{"version":3,"sources":["webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapGroup.vue?9287","webpack:///./node_modules/moment/locale/fo.js","webpack:///./src/hqapp/Views/Interviewer/Assignments.vue?be3d","webpack:///src/hqapp/Views/Interviewer/Assignments.vue","webpack:///./src/hqapp/Views/Interviewer/Assignments.vue?5411","webpack:///./src/hqapp/Views/Interviewer/Assignments.vue","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./src/hqapp/Views/HQ/Users/formatNumber.js","webpack:///./node_modules/bootstrap-select/dist/js/bootstrap-select.js","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Finish.vue?b078","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/Finish.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Finish.vue?916f","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Finish.vue","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewQuestionsFilters.vue?aa41","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapGroup.vue?93fa","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapRule.vue?7315","webpack:///src/hqapp/Views/HQ/Interviews/components/CustomBootstrapRule.vue","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapRule.vue?f8c0","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapRule.vue","webpack:///src/hqapp/Views/HQ/Interviews/components/CustomBootstrapGroup.vue","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapGroup.vue?5930","webpack:///./src/hqapp/Views/HQ/Interviews/components/CustomBootstrapGroup.vue?1761","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewFilter.vue?5382","webpack:///src/hqapp/Views/HQ/Interviews/InterviewFilter.vue","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewFilter.vue?2fe1","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewFilter.vue","webpack:///src/hqapp/Views/HQ/Interviews/InterviewQuestionsFilters.vue","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewQuestionsFilters.vue?4c98","webpack:///./src/hqapp/Views/HQ/Interviews/InterviewQuestionsFilters.vue","webpack:///./src/hqapp/router.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./src/hqapp/Views/Interviewer/calendarEventsHelper.js","webpack:///src/hqapp/Views/HQ/Maps/UserMapLinking.vue","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./src/webinterview/main.js","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/DeleteWorkspaceModal.vue?5aff","webpack:///src/hqapp/Views/HQ/ServerAdmin/Workspaces/DeleteWorkspaceModal.vue","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/DeleteWorkspaceModal.vue?9268","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/DeleteWorkspaceModal.vue","webpack:///./src/shared/plugins/http.js","webpack:///./src/hqapp/store.js","webpack:///./src/hqapp/components/Confirm.vue?6dcc","webpack:///./src/hqapp/components/Confirm.vue?7567","webpack:///./src/hqapp/components/Confirm.vue","webpack:///./src/hqapp/components/FilterBlock.vue?83b8","webpack:///src/hqapp/components/FilterBlock.vue","webpack:///./src/hqapp/components/FilterBlock.vue?b5e8","webpack:///./src/hqapp/components/FilterBlock.vue","webpack:///./src/hqapp/components/Filters.vue?c3d1","webpack:///src/hqapp/components/Filters.vue","webpack:///./src/hqapp/components/Filters.vue?53ff","webpack:///./src/hqapp/components/Filters.vue","webpack:///./src/hqapp/components/HqLayout.vue?8fbf","webpack:///./src/hqapp/components/HqLayout.vue?5649","webpack:///./src/hqapp/components/HqLayout.vue","webpack:///./src/hqapp/components/ModalFrame.vue?44dc","webpack:///./src/hqapp/components/ModalFrame.vue?7ca8","webpack:///./src/hqapp/components/ModalFrame.vue","webpack:///./src/hqapp/components/Typeahead.vue?1952","webpack:///./src/hqapp/components/Typeahead.vue?bd1e","webpack:///./src/hqapp/components/Typeahead.vue","webpack:///./src/hqapp/components/TextInput.vue?0657","webpack:///src/hqapp/components/TextInput.vue","webpack:///./src/hqapp/components/TextInput.vue?d016","webpack:///./src/hqapp/components/TextInput.vue","webpack:///./src/hqapp/components/Checkbox.vue?cb2a","webpack:///src/hqapp/components/Checkbox.vue","webpack:///./src/hqapp/components/Checkbox.vue?c54f","webpack:///./src/hqapp/components/Checkbox.vue","webpack:///./src/hqapp/components/Radio.vue?c04b","webpack:///src/hqapp/components/Radio.vue","webpack:///./src/hqapp/components/Radio.vue?a357","webpack:///./src/hqapp/components/Radio.vue","webpack:///./src/hqapp/components/DatePicker.vue?952d","webpack:///./src/hqapp/components/DatePicker.vue?c52d","webpack:///./src/hqapp/components/DatePicker.vue","webpack:///./src/hqapp/components/FormGroup.vue?9cfc","webpack:///src/hqapp/components/FormGroup.vue","webpack:///./src/hqapp/components/FormGroup.vue?ea25","webpack:///./src/hqapp/components/FormGroup.vue","webpack:///./src/hqapp/components/FilterInput.vue?344e","webpack:///src/hqapp/components/FilterInput.vue","webpack:///./src/hqapp/components/FilterInput.vue?0225","webpack:///./src/hqapp/components/FilterInput.vue","webpack:///./src/hqapp/components/InlineSelector.vue?84d0","webpack:///src/hqapp/components/InlineSelector.vue","webpack:///./src/hqapp/components/InlineSelector.vue?116b","webpack:///./src/hqapp/components/InlineSelector.vue","webpack:///./src/hqapp/components/index.js","webpack:///./src/hqapp/api/index.js","webpack:///./src/hqapp/api/graphql.js","webpack:///./src/hqapp/main.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./src/hqapp/Views/HQ/Export/ExportProcessCard.vue?d4ac","webpack:///src/hqapp/Views/HQ/Export/ExportProcessCard.vue","webpack:///./src/hqapp/Views/HQ/Export/ExportProcessCard.vue?ff3b","webpack:///./src/hqapp/Views/HQ/Export/ExportProcessCard.vue","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///src/hqapp/Views/HQ/Users/Interviewers.vue","webpack:///./src/webinterview/components/Cover.vue?d2bf","webpack:///src/webinterview/components/Cover.vue","webpack:///./src/webinterview/components/Cover.vue?e8da","webpack:///./src/webinterview/components/Cover.vue","webpack:///./src/shared/localStorage.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./src/webinterview/components/Breadcrumbs.vue?16ca","webpack:///src/webinterview/components/Breadcrumbs.vue","webpack:///./src/webinterview/components/Breadcrumbs.vue?8c1f","webpack:///./src/webinterview/components/Breadcrumbs.vue","webpack:///./src/webinterview/components/Layout.vue?df7d","webpack:///src/webinterview/components/Layout.vue","webpack:///./src/webinterview/components/Layout.vue?a18c","webpack:///./src/webinterview/components/Layout.vue","webpack:///./src/webinterview/components/Navbar.vue?366b","webpack:///./src/webinterview/components/Navbar.vue?5986","webpack:///./src/webinterview/components/Navbar.vue","webpack:///./src/webinterview/components/index.js","webpack:///./src/webinterview/components/questions/parts/index.js","webpack:///./src/webinterview/directives/BlurOnEnterKey.js","webpack:///./src/webinterview/directives/DateTimeFormatting.js","webpack:///./src/webinterview/directives/MultiSelectDirectives.js","webpack:///./node_modules/autonumeric/src/AutoNumericEnum.js","webpack:///./node_modules/autonumeric/src/AutoNumericHelper.js","webpack:///./node_modules/autonumeric/src/maths/Evaluator.js","webpack:///./node_modules/autonumeric/src/maths/ASTNode.js","webpack:///./node_modules/autonumeric/src/maths/Token.js","webpack:///./node_modules/autonumeric/src/maths/Lexer.js","webpack:///./node_modules/autonumeric/src/maths/Parser.js","webpack:///./node_modules/autonumeric/src/AutoNumeric.js","webpack:///./node_modules/autonumeric/src/AutoNumericEvents.js","webpack:///./node_modules/autonumeric/src/AutoNumericOptions.js","webpack:///./node_modules/autonumeric/src/AutoNumericDefaultSettings.js","webpack:///./node_modules/autonumeric/src/AutoNumericPredefinedOptions.js","webpack:///./node_modules/autonumeric/src/main.js","webpack:///./src/webinterview/directives/NumericFormatting.js","webpack:///./src/webinterview/directives/LinkToRoute.js","webpack:///./src/webinterview/IdleTimeout.vue?8625","webpack:///src/webinterview/IdleTimeout.vue","webpack:///./src/webinterview/IdleTimeout.vue?07f9","webpack:///./src/webinterview/IdleTimeout.vue","webpack:///./src/webinterview/componentsRegistry.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///src/hqapp/components/ModalFrame.vue","webpack:///src/hqapp/components/DatePicker.vue","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment-duration-format/lib/moment-duration-format.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Link.vue?6d98","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/Link.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Link.vue?2af5","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Link.vue","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///src/hqapp/components/Confirm.vue","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///src/hqapp/Views/Interviewer/Interviews.vue","webpack:///./node_modules/moment/locale/tet.js","webpack:///./src/hqapp/compatibility.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./src/webinterview/init.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./src/hqapp/Views/HQ/Admin/Settings.vue?8d9e","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./src/webinterview/misc/htmlPoly.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./src/shared/constants.js","webpack:///./src/webinterview/helpers.js","webpack:///./src/webinterview/store/store.actions.js","webpack:///./src/webinterview/store/store.connection.js","webpack:///./src/webinterview/store/store.fetch.js","webpack:///./src/webinterview/store/store.mutations.js","webpack:///./src/webinterview/store/store.sidebar.js","webpack:///./src/webinterview/store/index.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./src/hqapp/Views/HQ/Assignments/Layout.vue?7d52","webpack:///src/hqapp/Views/HQ/Assignments/Layout.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Layout.vue?1e7b","webpack:///./src/hqapp/Views/HQ/Assignments/Layout.vue","webpack:///./src/hqapp/Views/HQ/Assignments/HqAssignments.vue?2ce5","webpack:///./src/hqapp/Views/HQ/Assignments/HqAssignments.vue?95a1","webpack:///./src/hqapp/Views/HQ/Assignments/HqAssignments.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Details.vue?51e5","webpack:///src/hqapp/Views/HQ/Assignments/Details.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Details.vue?97a5","webpack:///./src/hqapp/Views/HQ/Assignments/Details.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Index.vue?a462","webpack:///src/hqapp/Views/HQ/Assignments/Upload/Index.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Index.vue?87a7","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Index.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Errors.vue?d87e","webpack:///src/hqapp/Views/HQ/Assignments/Upload/Errors.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Errors.vue?e013","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Errors.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Verification.vue?bd29","webpack:///src/hqapp/Views/HQ/Assignments/Upload/Verification.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Verification.vue?dabe","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Verification.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Progress.vue?34ea","webpack:///src/hqapp/Views/HQ/Assignments/Upload/Progress.vue","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Progress.vue?0b07","webpack:///./src/hqapp/Views/HQ/Assignments/Upload/Progress.vue","webpack:///./src/hqapp/Views/HQ/Assignments/store/takenew.js","webpack:///./src/hqapp/Views/HQ/Assignments/store/upload.js","webpack:///./src/hqapp/Views/HQ/Assignments/store/index.js","webpack:///./src/hqapp/Views/HQ/Assignments/index.js","webpack:///./src/hqapp/Views/HQ/Administration/index.js","webpack:///./src/hqapp/Views/HQ/Reports/InterviewersAndDevices.vue?5b4d","webpack:///src/hqapp/Views/HQ/Reports/InterviewersAndDevices.vue","webpack:///./src/hqapp/Views/HQ/Reports/InterviewersAndDevices.vue?4660","webpack:///./src/hqapp/Views/HQ/Reports/InterviewersAndDevices.vue","webpack:///./src/hqapp/Views/HQ/Reports/StatusDuration.vue?113b","webpack:///./src/hqapp/Views/HQ/Reports/StatusDuration.vue?62cc","webpack:///./src/hqapp/Views/HQ/Reports/StatusDuration.vue","webpack:///./src/hqapp/Views/HQ/Reports/MapReport.vue?5b3c","webpack:///./src/hqapp/Views/HQ/Reports/MapReport.vue?e3ca","webpack:///./src/hqapp/Views/HQ/Reports/MapReport.vue?f5fe","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatistics.vue?6dfb","webpack:///./src/hqapp/Views/HQ/Reports/QuestionDetail.vue?5599","webpack:///src/hqapp/Views/HQ/Reports/QuestionDetail.vue","webpack:///./src/hqapp/Views/HQ/Reports/QuestionDetail.vue?0ab5","webpack:///./src/hqapp/Views/HQ/Reports/QuestionDetail.vue","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatisticsFilter.vue?2ddb","webpack:///src/hqapp/Views/HQ/Reports/SurveyStatisticsFilter.vue","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatisticsFilter.vue?7ea2","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatisticsFilter.vue","webpack:///src/hqapp/Views/HQ/Reports/SurveyStatistics.vue","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatistics.vue?8b24","webpack:///./src/hqapp/Views/HQ/Reports/SurveyStatistics.vue","webpack:///./src/hqapp/Views/HQ/Reports/TeamsAndStatuses.vue?389e","webpack:///./src/hqapp/Views/HQ/Reports/TeamsAndStatuses.vue?d58d","webpack:///./src/hqapp/Views/HQ/Reports/TeamsAndStatuses.vue","webpack:///./src/hqapp/Views/HQ/Reports/CumulativeChartReport.vue?f874","webpack:///src/hqapp/Views/HQ/Reports/CumulativeChartReport.vue","webpack:///./src/hqapp/Views/HQ/Reports/CumulativeChartReport.vue?a355","webpack:///./src/hqapp/Views/HQ/Reports/CumulativeChartReport.vue","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatuses.vue?6740","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatuses.vue?4d21","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatuses.vue","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatusesForSv.vue?ee67","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatusesForSv.vue?93ee","webpack:///./src/hqapp/Views/HQ/Reports/SurveysAndStatusesForSv.vue","webpack:///./src/hqapp/Views/HQ/Reports/SpeedAndQuantity.vue?12e2","webpack:///src/hqapp/Views/HQ/Reports/SpeedAndQuantity.vue","webpack:///./src/hqapp/Views/HQ/Reports/SpeedAndQuantity.vue?323f","webpack:///./src/hqapp/Views/HQ/Reports/SpeedAndQuantity.vue","webpack:///./src/hqapp/Views/HQ/Reports/index.js","webpack:///./src/hqapp/Views/HQ/Interview/store/filters.js","webpack:///./src/hqapp/Views/HQ/Interview/store/flags.js","webpack:///./src/hqapp/Views/HQ/Interview/store/overview.js","webpack:///./src/hqapp/Views/HQ/Interview/store/index.js","webpack:///./src/hqapp/Views/HQ/Interview/index.js","webpack:///./src/hqapp/Views/HQ/Users/Headquarters.vue?c9cc","webpack:///src/hqapp/Views/HQ/Users/Headquarters.vue","webpack:///./src/hqapp/Views/HQ/Users/Headquarters.vue?99af","webpack:///./src/hqapp/Views/HQ/Users/Headquarters.vue","webpack:///./src/hqapp/Views/HQ/Users/Manage.vue?8c1f","webpack:///src/hqapp/Views/HQ/Users/Manage.vue","webpack:///./src/hqapp/Views/HQ/Users/Manage.vue?d64d","webpack:///./src/hqapp/Views/HQ/Users/Manage.vue","webpack:///./src/hqapp/Views/HQ/Users/UserWorkspaces.vue?959d","webpack:///src/hqapp/Views/HQ/Users/UserWorkspaces.vue","webpack:///./src/hqapp/Views/HQ/Users/UserWorkspaces.vue?ab1c","webpack:///./src/hqapp/Views/HQ/Users/UserWorkspaces.vue","webpack:///./src/hqapp/Views/HQ/Users/Observers.vue?7fc9","webpack:///src/hqapp/Views/HQ/Users/Observers.vue","webpack:///./src/hqapp/Views/HQ/Users/Observers.vue?8494","webpack:///./src/hqapp/Views/HQ/Users/Observers.vue","webpack:///./src/hqapp/Views/HQ/Users/ApiUsers.vue?8d51","webpack:///src/hqapp/Views/HQ/Users/ApiUsers.vue","webpack:///./src/hqapp/Views/HQ/Users/ApiUsers.vue?44a8","webpack:///./src/hqapp/Views/HQ/Users/ApiUsers.vue","webpack:///./src/hqapp/Views/HQ/Users/Create.vue?bf64","webpack:///src/hqapp/Views/HQ/Users/Create.vue","webpack:///./src/hqapp/Views/HQ/Users/Create.vue?c7e4","webpack:///./src/hqapp/Views/HQ/Users/Create.vue","webpack:///./src/hqapp/Views/HQ/Users/Supervisors.vue?4659","webpack:///src/hqapp/Views/HQ/Users/Supervisors.vue","webpack:///./src/hqapp/Views/HQ/Users/Supervisors.vue?9f24","webpack:///./src/hqapp/Views/HQ/Users/Supervisors.vue","webpack:///./src/hqapp/Views/HQ/Users/Interviewers.vue?9351","webpack:///./src/hqapp/Views/HQ/Users/Interviewers.vue?31a7","webpack:///./src/hqapp/Views/HQ/Users/Interviewers.vue","webpack:///./src/hqapp/Views/HQ/Users/TwoFactorAuthentication.vue?b9bf","webpack:///src/hqapp/Views/HQ/Users/TwoFactorAuthentication.vue","webpack:///./src/hqapp/Views/HQ/Users/TwoFactorAuthentication.vue?c81d","webpack:///./src/hqapp/Views/HQ/Users/TwoFactorAuthentication.vue","webpack:///./src/hqapp/Views/HQ/Users/SetupAuthenticator.vue?af7f","webpack:///src/hqapp/Views/HQ/Users/SetupAuthenticator.vue","webpack:///./src/hqapp/Views/HQ/Users/SetupAuthenticator.vue?8da3","webpack:///./src/hqapp/Views/HQ/Users/SetupAuthenticator.vue","webpack:///./src/hqapp/Views/HQ/Users/ResetAuthenticator.vue?7526","webpack:///src/hqapp/Views/HQ/Users/ResetAuthenticator.vue","webpack:///./src/hqapp/Views/HQ/Users/ResetAuthenticator.vue?468a","webpack:///./src/hqapp/Views/HQ/Users/ResetAuthenticator.vue","webpack:///./src/hqapp/Views/HQ/Users/ShowRecoveryCodes.vue?b3c9","webpack:///src/hqapp/Views/HQ/Users/ShowRecoveryCodes.vue","webpack:///./src/hqapp/Views/HQ/Users/ShowRecoveryCodes.vue?e2dd","webpack:///./src/hqapp/Views/HQ/Users/ShowRecoveryCodes.vue","webpack:///./src/hqapp/Views/HQ/Users/ResetRecoveryCodes.vue?583b","webpack:///src/hqapp/Views/HQ/Users/ResetRecoveryCodes.vue","webpack:///./src/hqapp/Views/HQ/Users/ResetRecoveryCodes.vue?cd2d","webpack:///./src/hqapp/Views/HQ/Users/ResetRecoveryCodes.vue","webpack:///./src/hqapp/Views/HQ/Users/Disable2fa.vue?f7c6","webpack:///src/hqapp/Views/HQ/Users/Disable2fa.vue","webpack:///./src/hqapp/Views/HQ/Users/Disable2fa.vue?dabe","webpack:///./src/hqapp/Views/HQ/Users/Disable2fa.vue","webpack:///./src/hqapp/Views/HQ/Users/ChangePassword.vue?a55f","webpack:///src/hqapp/Views/HQ/Users/ChangePassword.vue","webpack:///./src/hqapp/Views/HQ/Users/ChangePassword.vue?ff6f","webpack:///./src/hqapp/Views/HQ/Users/ChangePassword.vue","webpack:///./src/hqapp/Views/HQ/Users/ProfileLayout.vue?7085","webpack:///src/hqapp/Views/HQ/Users/ProfileLayout.vue","webpack:///./src/hqapp/Views/HQ/Users/ProfileLayout.vue?7294","webpack:///./src/hqapp/Views/HQ/Users/ProfileLayout.vue","webpack:///./src/hqapp/Views/HQ/Users/ApiTokens.vue?eb17","webpack:///src/hqapp/Views/HQ/Users/ApiTokens.vue","webpack:///./src/hqapp/Views/HQ/Users/ApiTokens.vue?8e7e","webpack:///./src/hqapp/Views/HQ/Users/ApiTokens.vue","webpack:///./src/hqapp/Views/HQ/Users/index.js","webpack:///./src/hqapp/Views/HQ/Maps/MapDetails.vue?8816","webpack:///src/hqapp/Views/HQ/Maps/MapDetails.vue","webpack:///./src/hqapp/Views/HQ/Maps/MapDetails.vue?121c","webpack:///./src/hqapp/Views/HQ/Maps/MapDetails.vue","webpack:///./src/hqapp/Views/HQ/Maps/UserMapLinking.vue?7fd7","webpack:///./src/hqapp/Views/HQ/Maps/UserMapLinking.vue?5cd9","webpack:///./src/hqapp/Views/HQ/Maps/UserMapLinking.vue","webpack:///./src/hqapp/Views/HQ/Maps/MapList.vue?1936","webpack:///./src/hqapp/Views/HQ/Maps/MapList.vue?346d","webpack:///./src/hqapp/Views/HQ/Maps/MapList.vue","webpack:///./src/hqapp/Views/HQ/Maps/UserMaps.vue?e624","webpack:///src/hqapp/Views/HQ/Maps/UserMaps.vue","webpack:///./src/hqapp/Views/HQ/Maps/UserMaps.vue?8174","webpack:///./src/hqapp/Views/HQ/Maps/UserMaps.vue","webpack:///./src/hqapp/Views/HQ/Maps/index.js","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Start.vue?c101","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Start.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Start.vue?ebc1","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Start.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Started.vue?74d2","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Started.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Started.vue?ea74","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Started.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings.vue?39d4","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings.vue?f45d","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitations.vue?7a1d","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/SendInvitations.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitations.vue?9eff","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitations.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitationsProgress.vue?c82a","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/SendInvitationsProgress.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitationsProgress.vue?ba2d","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/SendInvitationsProgress.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/index.js","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeAssignments.vue?e7ca","webpack:///src/hqapp/Views/HQ/SurveySetup/UpgradeAssignments.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeAssignments.vue?89e3","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeAssignments.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeProgress.vue?5b5b","webpack:///src/hqapp/Views/HQ/SurveySetup/UpgradeProgress.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeProgress.vue?bc9f","webpack:///./src/hqapp/Views/HQ/SurveySetup/UpgradeProgress.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/Questionnaires.vue?a04d","webpack:///src/hqapp/Views/HQ/SurveySetup/Questionnaires.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/Questionnaires.vue?7b81","webpack:///./src/hqapp/Views/HQ/SurveySetup/Questionnaires.vue","webpack:///./src/hqapp/Views/HQ/SurveySetup/index.js","webpack:///./src/hqapp/Views/HQ/Profile/Profile.vue?549d","webpack:///./src/hqapp/Views/HQ/Profile/Profile.vue?4c78","webpack:///./src/hqapp/Views/HQ/Profile/Profile.vue","webpack:///./src/hqapp/Views/HQ/Profile/InterviewerAuditLog.vue?adce","webpack:///src/hqapp/Views/HQ/Profile/InterviewerAuditLog.vue","webpack:///./src/hqapp/Views/HQ/Profile/InterviewerAuditLog.vue?5a0b","webpack:///./src/hqapp/Views/HQ/Profile/InterviewerAuditLog.vue","webpack:///./src/hqapp/Views/HQ/Profile/index.js","webpack:///./src/hqapp/Views/HQ/Admin/EmailProviders.vue?30ab","webpack:///./src/hqapp/Views/HQ/Admin/EmailProviders.vue?af31","webpack:///./src/hqapp/Views/HQ/Admin/EmailProviders.vue","webpack:///./src/hqapp/Views/HQ/Admin/TabletLogs.vue?a3db","webpack:///src/hqapp/Views/HQ/Admin/TabletLogs.vue","webpack:///./src/hqapp/Views/HQ/Admin/TabletLogs.vue?7d28","webpack:///./src/hqapp/Views/HQ/Admin/TabletLogs.vue","webpack:///./src/hqapp/Views/HQ/Admin/Settings.vue?2636","webpack:///src/hqapp/Views/HQ/Admin/Settings.vue","webpack:///./src/hqapp/Views/HQ/Admin/Settings.vue?7893","webpack:///./src/hqapp/Views/HQ/Admin/Settings.vue?1b39","webpack:///./src/hqapp/Views/HQ/Admin/AuditLog.vue?c8cd","webpack:///src/hqapp/Views/HQ/Admin/AuditLog.vue","webpack:///./src/hqapp/Views/HQ/Admin/AuditLog.vue?3dc9","webpack:///./src/hqapp/Views/HQ/Admin/AuditLog.vue","webpack:///./src/hqapp/Views/HQ/Admin/TabletInfos.vue?fd42","webpack:///src/hqapp/Views/HQ/Admin/TabletInfos.vue","webpack:///./src/hqapp/Views/HQ/Admin/TabletInfos.vue?0011","webpack:///./src/hqapp/Views/HQ/Admin/TabletInfos.vue","webpack:///./src/hqapp/Views/HQ/Admin/index.js","webpack:///./src/hqapp/Views/HQ/Export/Export.vue?d086","webpack:///./src/hqapp/Views/HQ/Export/Export.vue?232c","webpack:///./src/hqapp/Views/HQ/Export/Export.vue","webpack:///./src/hqapp/Views/HQ/Export/export.store.js","webpack:///./src/hqapp/Views/HQ/Export/index.js","webpack:///./src/hqapp/Views/HQ/Interviews/HqInterviews.vue?829d","webpack:///./src/hqapp/Views/HQ/Interviews/HqInterviews.vue?5d8e","webpack:///./src/hqapp/Views/HQ/Interviews/HqInterviews.vue","webpack:///./src/hqapp/Views/HQ/Interviews/index.js","webpack:///./src/hqapp/Views/HQ/Questionnaires/Details.vue?05f1","webpack:///src/hqapp/Views/HQ/Questionnaires/Details.vue","webpack:///./src/hqapp/Views/HQ/Questionnaires/Details.vue?9c5a","webpack:///./src/hqapp/Views/HQ/Questionnaires/Details.vue","webpack:///./src/hqapp/Views/HQ/Questionnaires/Clone.vue?66e5","webpack:///src/hqapp/Views/HQ/Questionnaires/Clone.vue","webpack:///./src/hqapp/Views/HQ/Questionnaires/Clone.vue?0bde","webpack:///./src/hqapp/Views/HQ/Questionnaires/Clone.vue","webpack:///./src/hqapp/Views/HQ/Questionnaires/ExposedVariables.vue?e56e","webpack:///./src/hqapp/Views/HQ/Questionnaires/ExposedVariables.vue?0eff","webpack:///./src/hqapp/Views/HQ/Questionnaires/ExposedVariables.vue","webpack:///./src/hqapp/Views/HQ/Questionnaires/index.js","webpack:///./src/hqapp/Views/HQ/Template/LoginToDesigner.vue?1f37","webpack:///src/hqapp/Views/HQ/Template/LoginToDesigner.vue","webpack:///./src/hqapp/Views/HQ/Template/LoginToDesigner.vue?4075","webpack:///./src/hqapp/Views/HQ/Template/LoginToDesigner.vue","webpack:///./src/hqapp/Views/HQ/Template/Import.vue?54d6","webpack:///src/hqapp/Views/HQ/Template/Import.vue","webpack:///./src/hqapp/Views/HQ/Template/Import.vue?9664","webpack:///./src/hqapp/Views/HQ/Template/Import.vue","webpack:///./src/hqapp/Views/HQ/Template/ImportMode.vue?8ac7","webpack:///src/hqapp/Views/HQ/Template/ImportMode.vue","webpack:///./src/hqapp/Views/HQ/Template/ImportMode.vue?b2c8","webpack:///./src/hqapp/Views/HQ/Template/ImportMode.vue","webpack:///./src/hqapp/Views/HQ/Template/index.js","webpack:///./src/hqapp/Views/HQ/Users/Upload/Layout.vue?404f","webpack:///src/hqapp/Views/HQ/Users/Upload/Layout.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/Layout.vue?93e4","webpack:///./src/hqapp/Views/HQ/Users/Upload/Layout.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/Upload.vue?369b","webpack:///src/hqapp/Views/HQ/Users/Upload/Upload.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/Upload.vue?c2a9","webpack:///./src/hqapp/Views/HQ/Users/Upload/Upload.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadVerification.vue?dbff","webpack:///src/hqapp/Views/HQ/Users/Upload/UploadVerification.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadVerification.vue?f2bf","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadVerification.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadProgress.vue?2f53","webpack:///src/hqapp/Views/HQ/Users/Upload/UploadProgress.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadProgress.vue?7cc7","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadProgress.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadComplete.vue?74de","webpack:///src/hqapp/Views/HQ/Users/Upload/UploadComplete.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadComplete.vue?d3f2","webpack:///./src/hqapp/Views/HQ/Users/Upload/UploadComplete.vue","webpack:///./src/hqapp/Views/HQ/Users/Upload/store/index.js","webpack:///./src/hqapp/Views/HQ/Users/Upload/index.js","webpack:///./src/hqapp/Views/HQ/ControlPanel/index.js","webpack:///./src/hqapp/Views/HQ/Download/Supervisor.vue?6b38","webpack:///src/hqapp/Views/HQ/Download/Supervisor.vue","webpack:///./src/hqapp/Views/HQ/Download/Supervisor.vue?0a3e","webpack:///./src/hqapp/Views/HQ/Download/Supervisor.vue","webpack:///./src/hqapp/Views/HQ/Download/Interviewer.vue?1d2b","webpack:///src/hqapp/Views/HQ/Download/Interviewer.vue","webpack:///./src/hqapp/Views/HQ/Download/Interviewer.vue?765d","webpack:///./src/hqapp/Views/HQ/Download/Interviewer.vue","webpack:///./src/hqapp/Views/HQ/Download/index.js","webpack:///./src/hqapp/Views/HQ/WebInterview/Start.vue?9a52","webpack:///./src/hqapp/Views/HQ/WebInterview/_StartOrResumeForm.vue?0c6a","webpack:///src/hqapp/Views/HQ/WebInterview/_StartOrResumeForm.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/_StartOrResumeForm.vue?2ed1","webpack:///./src/hqapp/Views/HQ/WebInterview/_StartOrResumeForm.vue","webpack:///src/hqapp/Views/HQ/WebInterview/Start.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Start.vue?0954","webpack:///./src/hqapp/Views/HQ/WebInterview/Start.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Finish.vue?a823","webpack:///src/hqapp/Views/HQ/WebInterview/Finish.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Finish.vue?bfb3","webpack:///./src/hqapp/Views/HQ/WebInterview/Finish.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Resume.vue?4d74","webpack:///src/hqapp/Views/HQ/WebInterview/Resume.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Resume.vue?7cbb","webpack:///./src/hqapp/Views/HQ/WebInterview/Resume.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Link.vue?6e3d","webpack:///src/hqapp/Views/HQ/WebInterview/Link.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Link.vue?91a6","webpack:///./src/hqapp/Views/HQ/WebInterview/Link.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/OutdatedBrowser.vue?8034","webpack:///src/hqapp/Views/HQ/WebInterview/OutdatedBrowser.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/OutdatedBrowser.vue?3a0e","webpack:///./src/hqapp/Views/HQ/WebInterview/OutdatedBrowser.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Error.vue?a600","webpack:///src/hqapp/Views/HQ/WebInterview/Error.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/Error.vue?153d","webpack:///./src/hqapp/Views/HQ/WebInterview/Error.vue","webpack:///./src/hqapp/Views/HQ/WebInterview/index.js","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/Workspaces.vue?f43f","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/Workspaces.vue?ca6c","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/Workspaces.vue","webpack:///./src/hqapp/Views/HQ/ServerAdmin/Workspaces/index.js","webpack:///./src/hqapp/Views/HQ/MapDashboard/MapDashboard.vue?7be8","webpack:///./src/hqapp/Views/HQ/MapDashboard/MapDashboard.vue?bdbe","webpack:///./src/hqapp/Views/HQ/MapDashboard/MapDashboard.vue?0350","webpack:///./src/hqapp/Views/HQ/MapDashboard/index.js","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/UsersManagement.vue?da3a","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/UsersManagement.vue?bd3b","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/UsersManagement.vue","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/index.js","webpack:///./src/hqapp/Views/HQ/index.js","webpack:///./src/hqapp/ComponentsProvider.js","webpack:///./src/hqapp/Views/progress.js","webpack:///./src/hqapp/Views/index.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Resume.vue?05fd","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/Resume.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Resume.vue?ad5a","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Resume.vue","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./src/hqapp/Views/Interviewer/Interviews.vue?5440","webpack:///./src/hqapp/Views/Interviewer/Interviews.vue?9760","webpack:///./src/hqapp/Views/Interviewer/Interviews.vue","webpack:///./node_modules/vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./src/hqapp/Views/HQ/Profile/ConnectionStats.vue?70db","webpack:///src/hqapp/Views/HQ/Profile/ConnectionStats.vue","webpack:///./src/hqapp/Views/HQ/Profile/ConnectionStats.vue?a7f3","webpack:///./src/hqapp/Views/HQ/Profile/ConnectionStats.vue","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///src/hqapp/Views/HQ/Reports/SurveysAndStatusesForSv.vue","webpack:///./node_modules/moment/locale/my.js","webpack:///src/hqapp/Views/HQ/Reports/TeamsAndStatuses.vue","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/WorkspaceManager.vue?c5d3","webpack:///src/hqapp/Views/HQ/Users/UsersManagment/WorkspaceManager.vue","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/WorkspaceManager.vue?2b18","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/WorkspaceManager.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Complete.vue?a457","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/Complete.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Complete.vue?6e24","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Complete.vue","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/InterviewersMoveToOtherTeam.vue?e30a","webpack:///src/hqapp/Views/HQ/Users/UsersManagment/InterviewersMoveToOtherTeam.vue","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/InterviewersMoveToOtherTeam.vue?5b9e","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/InterviewersMoveToOtherTeam.vue","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///src/hqapp/Views/HQ/Users/UsersManagment/UsersManagement.vue","webpack:///src/hqapp/Views/HQ/Interviews/HqInterviews.vue","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./src/shared/routeSync.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./src/hqapp/components/MdEditor.vue?c864","webpack:///src/hqapp/components/MdEditor.vue","webpack:///./src/hqapp/components/MdEditor.vue?948c","webpack:///./src/hqapp/components/MdEditor.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/_Logo.vue?0b4a","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/_Logo.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/_Logo.vue?05cc","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/_Logo.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/settingsMixin.js","webpack:///src/hqapp/components/HqLayout.vue","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./src/hqapp/Views/HQ/MapDashboard/MapDashboard.vue?e2da","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Welcome.vue?532e","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings/Welcome.vue","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Welcome.vue?8f52","webpack:///./src/hqapp/Views/HQ/WebInterviewSetup/Settings/Welcome.vue","webpack:///src/hqapp/Views/HQ/WebInterviewSetup/Settings.vue","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/AddInterviewerToWorkspace.vue?1faf","webpack:///src/hqapp/Views/HQ/Users/UsersManagment/AddInterviewerToWorkspace.vue","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/AddInterviewerToWorkspace.vue?b4df","webpack:///./src/hqapp/Views/HQ/Users/UsersManagment/AddInterviewerToWorkspace.vue","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/moment.js","webpack:///src/hqapp/Views/HQ/Export/Export.vue","webpack:///src/webinterview/components/Navbar.vue","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./src/hqapp/Views/HQ/Interviews/ChangeModeModal.vue?6d14","webpack:///src/hqapp/Views/HQ/Interviews/ChangeModeModal.vue","webpack:///./src/hqapp/Views/HQ/Interviews/ChangeModeModal.vue?698b","webpack:///./src/hqapp/Views/HQ/Interviews/ChangeModeModal.vue","webpack:///./src/webinterview/components/Section.vue?2be7","webpack:///./src/webinterview/components/SectionLoadProgress.vue?6290","webpack:///src/webinterview/components/SectionLoadProgress.vue","webpack:///./src/webinterview/components/SectionLoadProgress.vue?08e9","webpack:///./src/webinterview/components/SectionLoadProgress.vue","webpack:///src/webinterview/components/Section.vue","webpack:///./src/webinterview/components/Section.vue?b9fa","webpack:///./src/webinterview/components/Section.vue","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///src/hqapp/Views/HQ/Profile/Profile.vue","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./src/webinterview/components/Sidebar.vue?87fd","webpack:///./src/webinterview/components/SidebarPanel.vue?d5db","webpack:///src/webinterview/components/SidebarPanel.vue","webpack:///./src/webinterview/components/SidebarPanel.vue?3994","webpack:///./src/webinterview/components/SidebarPanel.vue","webpack:///src/webinterview/components/Sidebar.vue","webpack:///./src/webinterview/components/Sidebar.vue?5d1d","webpack:///./src/webinterview/components/Sidebar.vue","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./src/shared/modal.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///src/hqapp/Views/HQ/ServerAdmin/Workspaces/Workspaces.vue","webpack:///src/hqapp/Views/HQ/MapDashboard/MapDashboard.vue","webpack:///./src/webinterview/components/questions/index.js","webpack:///src/hqapp/Views/HQ/Reports/MapReport.vue","webpack:///src/hqapp/components/Typeahead.vue","webpack:///./src/shared/helpers.js","webpack:///src/hqapp/Views/HQ/Questionnaires/ExposedVariables.vue","webpack:///./node_modules/moment/locale/km.js","webpack:///./src/hqapp/Views/Interviewer/index.js","webpack:///./src/webinterview/errors.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///src/hqapp/Views/HQ/Maps/MapList.vue","webpack:///./node_modules/moment/locale/si.js","webpack:///./src/shared/config.js","webpack:///./src/webinterview/App.vue?d55c","webpack:///src/webinterview/App.vue","webpack:///./src/webinterview/App.vue?541f","webpack:///./src/webinterview/App.vue","webpack:///src/hqapp/Views/HQ/Reports/SurveysAndStatuses.vue","webpack:///./node_modules/moment/locale/pt.js","webpack:///./src/shared/plugins/locale.js","webpack:///./src/hqapp/Views/HQ/Reports/helpers.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./src/hqapp/Views/HQ/Reports/MapReport.vue?6128","webpack:///./src/webinterview/directives/MaskedText.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///src/hqapp/Views/HQ/Reports/StatusDuration.vue","webpack:///./node_modules/moment/locale/nl.js","webpack:///./src/webinterview/components/Complete.vue?c75c","webpack:///src/webinterview/components/Complete.vue","webpack:///./src/webinterview/components/Complete.vue?a0a1","webpack:///./src/webinterview/components/Complete.vue","webpack:///./src/webinterview/components/Splash.vue?2ff9","webpack:///src/webinterview/components/Splash.vue","webpack:///./src/webinterview/components/Splash.vue?ec02","webpack:///./src/webinterview/components/Splash.vue","webpack:///./src/webinterview/router/index.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///src/hqapp/Views/HQ/Admin/EmailProviders.vue","webpack:///src/hqapp/Views/HQ/Assignments/HqAssignments.vue","webpack:///./node_modules/moment/locale/se.js"],"names":["global","factory","this","moment","uzLatn","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","ml","monthsParseExact","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","cv","output","affix","exec","dayOfMonthOrdinalParse","ordinal","plural","n","translate","number","withoutSuffix","key","isFuture","result","is","fo","_vm","_h","$createElement","_c","_self","attrs","title","ref","tableOptions","contextMenuItems","$t","staticClass","datePickerConfig","selectedDate","_v","_s","_e","directives","name","rawName","value","expression","domProps","on","$event","target","composing","editCalendarComment","slot","saveDisabled","updateCalendarEvent","calendarEventId","deleteCalendarEvent","staticRenderFns","allowedTags","allowedAttributes","data","newCalendarStart","newCalendarStarTimezone","calendarAssinmentId","computed","dataTable","rowId","deferLoading","order","columns","ajax","url","type","contentType","select","style","selector","sDom","mode","enableTime","wrap","static","onChange","self","dateInPast","methods","reload","callback","className","getTableColumns","responsivePriority","width","class","orderable","searchable","render","row","defaultContent","hasComment","convertToLocal","workspace","editCalendarEvent","assignmentId","calendarEvent","keyboard","newStart","comment","startTimezone","variables","addAssignmentCalendarEvent","component","ja","eras","since","offset","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","input","match","parseInt","l","ll","lll","llll","isPM","now","period","monthsShortDot","monthsParse","monthsRegex","esDo","format","test","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","hours","w","ww","arMa","processRelativeTime","gomLatn","standalone","isFormat","formatNumber","undefined","language","navigator","languages","userLanguage","toLocaleString","root","window","a0","jQuery","$","DISALLOWED_ATTRIBUTES","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","toLowerCase","inArray","Boolean","nodeValue","regExp","filter","index","RegExp","length","sanitizeHtml","unsafeElements","whiteList","sanitizeFn","whitelistKeys","Object","keys","len","elements","querySelectorAll","j","len2","el","elName","indexOf","attributeList","slice","call","attributes","whitelistedAttributes","concat","k","len3","removeAttribute","parentNode","removeChild","document","createElement","view","classListProp","protoProp","elemCtrProto","Element","objCtr","classListGetter","$elem","add","classes","Array","prototype","arguments","join","addClass","remove","removeClass","toggle","force","toggleClass","contains","hasClass","defineProperty","classListPropDesc","get","enumerable","configurable","ex","__defineGetter__","testElement","classList","_add","DOMTokenList","_remove","forEach","bind","_toggle","token","isEqual","array1","array2","every","element","getSelectedOptions","ignoreDisabled","opt","selectedOptions","options","disabled","tagName","push","getSelectValues","multiple","String","startsWith","object","$defineProperty","error","toString","search","TypeError","string","stringLength","searchString","searchLength","position","pos","Number","start","Math","min","max","charCodeAt","o","r","hasOwnProperty","HTMLSelectElement","valHooks","useDefault","_set","set","elem","apply","changedArguments","EventIsSupported","Event","e","stringSearch","method","normalize","stringTypes","searchSuccess","stringType","replace","normalizeToBase","toUpperCase","toInteger","fn","triggerNative","eventName","event","dispatchEvent","bubbles","createEvent","initEvent","fireEvent","createEventObject","eventType","trigger","deburredLetters","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboMarksExtendedRange","rsComboMarksSupplementRange","rsComboRange","rsCombo","reComboMark","deburrLetter","escapeMap","createEscaper","map","escaper","source","testRegexp","replaceRegexp","htmlEscape","keyCodeMap","32","48","49","50","51","52","53","54","55","56","57","59","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","96","97","98","99","100","101","102","103","104","105","keyCodes","ESCAPE","ENTER","SPACE","TAB","ARROW_UP","ARROW_DOWN","version","success","major","full","dropdown","Constructor","VERSION","err","selectId","EVENT_KEY","classNames","DISABLED","DIVIDER","SHOW","DROPUP","MENU","MENURIGHT","MENULEFT","BUTTONCLASS","POPOVERHEADER","ICONBASE","TICKICON","Selector","elementTemplates","subtext","whitespace","createTextNode","fragment","createDocumentFragment","noResults","cloneNode","setAttribute","text","checkMark","REGEXP_ARROW","REGEXP_TAB_OR_ESCAPE","generateOption","content","optgroup","nodeType","appendChild","innerHTML","inline","insertAdjacentHTML","useFragment","subtextElement","iconElement","textElement","textContent","icon","iconBase","childNodes","label","display","showNoResults","searchMatch","searchValue","noneResultsText","$menuInner","firstChild","Selectpicker","that","$element","$newElement","$button","$menu","selectpicker","main","current","isSearching","keydown","keyHistory","resetKeyHistory","setTimeout","sizeInfo","winPad","windowPadding","val","refresh","setStyle","selectAll","deselectAll","destroy","show","hide","init","Plugin","option","args","_option","shift","BootstrapVersion","console","warn","toUpdate","DEFAULTS","tickIcon","chain","each","$this","dataAttributes","dataAttr","config","extend","defaults","template","Function","noneSelectedText","countSelectedText","numSelected","numTotal","maxOptionsText","numAll","numGroup","selectAllText","deselectAllText","doneButton","doneButtonText","multipleSeparator","styleBase","size","selectedTextFormat","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","liveSearchPlaceholder","liveSearchNormalize","liveSearchStyle","actionsBox","showTick","caret","maxOptions","mobile","selectOnTab","dropdownAlignRight","virtualScroll","sanitize","constructor","id","form","prop","autofocus","createDropdown","buildData","after","prependTo","children","$searchbox","find","checkDisabled","clickListener","liveSearchListener","focusedParent","setWidth","selectPosition","isVirtual","menuInner","emptyMenu","replaceChild","scrollTop","hasAttribute","off","validity","valid","buildList","multiselectable","inputGroup","parent","drop","searchbox","actionsbox","donebutton","setPositionData","canHighlight","firstHighlightIndex","height","dividerHeight","dropdownHeaderHeight","liHeight","posinset","createView","setSize","selected","prevActive","active","selectedIndex","liIndex","selectedData","menuInnerHeight","scroll","chunkSize","chunkCount","firstChunk","lastChunk","currentChunk","prevPositions","positionIsDifferent","previousElements","chunks","menuIsDifferent","ceil","round","endOfChunk","position0","position1","activeIndex","prevActiveIndex","defocusItem","visibleElements","setOptionStatus","marginTop","marginBottom","menuFragment","toSanitize","visibleElementsLen","elText","elementData","lastChild","sanitized","hasScrollBar","menuInnerInnerWidth","offsetWidth","totalMenuWidth","selectWidth","minWidth","actualMenuWidth","newActive","currentActive","focusItem","updateValue","noScroll","isActive","liData","noStyle","setPlaceholder","updateIndex","titleOption","selectTitleOption","titleNotAppended","selectedOption","navigation","performance","getEntriesByType","isNotBackForward","defaultSelected","insertBefore","readyState","addEventListener","displayedValue","optionSelector","mainData","optID","startIndex","selectOptions","addDivider","previousData","addOption","divider","getAttribute","cssText","inlineStyle","optionClass","optgroupClass","trim","tokens","addOptgroup","previous","next","headerIndex","lastIndex","item","selectData","mainElements","widestOptionLength","buildElement","liElement","combinedLength","widestOption","findLis","showCount","countMax","placeholderSelected","selectedCount","button","buttonInner","querySelector","titleFragment","hasContent","thisData","titleOptions","totalCount","tr8nText","filterExpand","clone","newStyle","status","buttonClass","newElement","previousElementSibling","nextElementSibling","menu","menuInnerInner","dropdownHeader","actions","firstOption","body","scrollBarWidth","offsetHeight","headerHeight","searchHeight","actionsHeight","doneButtonHeight","outerHeight","menuStyle","getComputedStyle","menuWidth","menuPadding","vert","paddingTop","css","paddingBottom","borderTopWidth","borderBottomWidth","horiz","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","menuExtras","marginLeft","marginRight","overflowY","selectHeight","getSelectPosition","containerPos","$window","$container","top","left","selectOffsetTop","selectOffsetBot","selectOffsetLeft","scrollLeft","selectOffsetRight","setMenuSize","isAuto","menuHeight","minHeight","_minHeight","maxHeight","menuInnerMinHeight","estimate","isDropup","divHeight","divLength","dropup","_popper","update","requestAnimationFrame","$selectClone","appendTo","btnWidth","outerWidth","$bsContainer","actualHeight","getPlacement","containerPosition","Default","isDisabled","append","detach","selectedOnly","setDisabled","setSelected","activeIndexIsSet","thisIsActive","keepActive","$document","setFocus","checkPopperExists","state","isCreated","keyCode","preventDefault","_menu","hoverLi","parentElement","hoverData","retainActive","clickedData","clickedIndex","prevValue","prevIndex","prevOption","triggerChange","stopPropagation","$option","$optgroup","$optgroupOptions","maxOptionsGrp","focus","maxReached","maxReachedGrp","maxOptionsArr","maxTxt","maxTxtGrp","$notify","currentTarget","tabindex","originalEvent","isTrusted","previousValue","q","cache","cacheArr","searchStyle","_searchStyle","normalizeSearch","cacheLen","liPrev","liSelectedIndex","changeAll","previousSelected","currentSelected","liActive","activeLi","isToggle","$parent","closest","$items","updateScroll","downOnTab","which","isArrowKey","lastIndexOf","liActiveIndex","scrollHeight","matches","cancel","clearTimeout","charAt","hasMatch","matchIndex","before","removeData","old","keydownHandler","bootstrapKeydown","_dataApiKeydownHandler","noConflict","$selectpicker","dummy","errors","has","webInterviewPageMessages","model","$$v","$set","first","isDirty","savePageTextEditMode","cancelPageTextEditMode","hasLogo","logoUrl","previewText","previewHtml","mixins","frCh","enAu","suffixes","1","5","8","2","7","20","3","4","6","9","10","30","60","tr","minutes","c","module","exports","default","cachedGuess","zones","links","countries","names","guesses","logError","momentVersion","minor","charCodeToInt","charCode","unpackBase60","num","parts","whole","fractional","multiplier","out","sign","arrayToInt","array","intToUntil","mapIndices","indices","unpack","offsets","untils","abbrs","population","Zone","packedString","Country","country_name","zone_names","OffsetAt","at","timeString","toTimeString","getTimezoneOffset","ZoneScore","zone","offsetScore","abbrScore","findChange","low","high","mid","diff","Date","userOffsets","change","startYear","getFullYear","last","sortZoneScores","localeCompare","addToGuesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","Intl","DateTimeFormat","resolvedOptions","timeZone","normalizeName","zoneScore","zoneScores","getZone","scoreOffsetAt","sort","guess","ignoreCache","addZone","packed","normalized","caller","link","getNames","getCountryNames","addLink","aliases","alias","normal0","normal1","addCountries","country_code","country_zones","getCountry","zonesForCountry","country","with_offset","zone_name","utcOffset","loadData","tz","dataVersion","zoneExists","didShowError","needsOffset","isUnixTimestamp","_f","_a","_tzm","message","utc","isMoment","parse","unpacked","_index","timestamp","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","mom","offsetAt","abs","_zones","_links","_names","_countries","load","abbrWrap","_z","resetZoneWrap","resetZoneWrap2","defaultZone","updateOffset","keepTime","_isUTC","_d","z","Error","zoneName","zoneAbbr","local","setDefault","momentProperties","da","tlPh","eu","th","$refs","questionsSelector","modal","_l","questionnaireItem","variable","isChecked","check","rules","labels","scopedSlots","_u","slotProps","_b","queryExposedVariables","saveExposedVariablesFilter","condition","itemFor","conditionChanged","isDynamicDisabled","questionsExposedSelector","depth","matchType","query","$$selectedVal","_value","removeGroup","selectedRule","rule","addRule","maxDepth","addGroup","$props","operands","operand","operators","operator","inputType","unaryOperatorSelected","textInputPlaceholder","tag","updateQuery","choice","isArray","_i","$$a","$$el","$$c","checked","$$i","_q","hasOptionGroups","option_key","sub_option","removeRule","extends","components","isSupported","fieldOptions","field","optionSelected","entityType","props","getTypeaheadValues","watch","to","logicalOperator","conditions","questionnaireItems","selectedQuestion","lastSavedQuery","questionnaireId","required","questionnaireVersion","questionsFilter","exposedValuesFilter","apollo","skip","mounted","changedCondition","handleGroup","group","handleRule","entity","eq","isEnabled","some","notAnsweredResult","identifyingData","none","singleCondition","leftOn","gte","rightOn","lte","and","leftNotOn","lt","rightNotOn","gt","or","getRuleMap","ruleType","valueName","unaryOperators","getOperatorMap","getDisplayTitle","questionnaireItemsList","questionnaireAllItemsList","transformQuery","InterviewFilter","VueQueryBuilder","QueryBuilderGroup","Vue","use","VueRouter","HqRouter","assign","base","CONFIG","basePath","scrollBehavior","x","translator","words","correctGrammaticalCase","wordKey","word","srCyrl","day","lastWeekDays","ocLnc","deleteCalendarEventMutation","gql","updateCalendarEventMutation","addAssignmentCalendarEventMutation","addInterviewCalendarEventMutation","executeMutation","addInterviewCalendarEvent","mutation","mutate","then","response","catch","toastr","statusMessage","actionsAlowed","updateStatus","newMessage","onFileChange","fd","xhr","statusupdater","processData","mt","symbolMap","0","pluralForm","plurals","pluralize","f","str","arLy","preparse","postformat","forms","relativeTimeWithPlural","be","ka","$0","$1","$2","ko","isUpper","numberMap","ku","bs","units","translateSeconds","translateSingular","special","escapeHtml","Vuex","VueTextareaAutosize","Popover","i18n","Vuei18n","initialize","browserLanguage","require","createRouter","store","Store","modules","webinterview","router","sync","App","box","_api","loading","workspaceTitle","draw","canDelete","consent","agree","inProgress","deleteWorkspace","counts","interviewers","supervisors","maps","consentsList","count","showModal","install","vue","axios","getters","confirm_title","_t","ok_class","disableOk","confirm","ok_title","tooltip","_m","mainClass","fixedWidth","hasRow","information","hasSearch","topicButtonRef","topicButton","subtitle","staticStyle","titleId","controlId","buttonId","placeholderText","iconClass","noSearch","inputId","searchTerm","updateOptionsList","_k","onSearchBoxDownKey","forceLoadingState","keyFunc","highlight","selectOption","onOptionUpKey","isLoading","noClear","clear","hasValue","_g","haserror","$attrs","inputListeners","clearFilter","inheritAttrs","canClear","vm","enabled","checkedChange","ev","radioGroup","placeholder","mutableValue","mandatory","keySelector","valueSelector","noEmpty","Confirm","FilterBlock","Filters","HqLayout","ModalFrame","Typeahead","TextInput","Checkbox","Radio","DatePicker","FormGroup","FilterInput","InlineSelector","QuestionnaireApi","http","details","params","limit","Offset","Questionnaires","post","questionnaireIdentity","SurveyStatistics","reportPath","baseURL","MapsReport","request","interviewId","Workspaces","userId","includeDisabled","userIds","workspaces","assignWorkspaces","supervisorId","supervisor","delete","Users","MapDashboard","InterviewsPublicApi","patch","responseData","responsibleId","Reports","from","templateId","templateVersion","AssignmentsApi","targetQuantity","headers","accept","WebInterviewSettingsApi","subject","passwordDescription","linkText","HttpUtil","getCsrfCookie","titleType","titleText","messageType","messageText","buttonType","buttonText","isEnabledSpamProtection","reminderAfterDaysIfNoResponse","reminderAfterDaysIfPartialResponse","singleResponse","emailOnComplete","attachAnswersInEmail","allowSwitchToCawiForInterviewer","spamProtection","ExportSettings","enableState","ControlPanel","AdminSettings","GlobalNotice","allowInterviewerUpdateProfile","isInterviewerAutomaticUpdatesEnabled","isDeviceNotificationsEnabled","isPartialSynchronizationEnabled","interviewerAutoUpdatesEnabled","notificationsEnabled","partialSynchronizationEnabled","allowEmails","decodedCookie","decodeURIComponent","cookie","ca","substring","HqApiClient","create","list","instance","$config","apiBasePath","createHttpLink","fetch","uri","logoutLink","onError","graphQLErrors","networkError","statusCode","location","extensions","InMemoryCache","ApolloClient","ApolloLink","VueApollo","poly","locale","hqApi","viewsProvider","Router","views","routes","$eventHub","apolloProvider","defaultClient","apolloClient","vi","me","isCompleted","date","endDate","beginDate","interviewStatus","interpolation","escapeValue","translation","isFailed","isSuccessfull","dataDestination","timeEstimation","dest","processStatus","progress","isRunning","hasFile","downloadFileUrl","dataFileLastUpdateDate","fileSize","canRegenerate","regenerate","af","uz","facet","archiveStatus","usersCount","selectedInterviewers","allInterviewers","onTableReload","supervisorSelected","facetSelected","archiveStatusSelected","refreshQueryString","addParamsToRequest","requestData","selectedInterviewersFullInfo","tdHtml","createdCell","createdRow","jqCell","responsive","coverStatusClass","showHumburger","$store","breadcrumbs","coverInfo","supervisorComment","commentedQuestions","commentsTitle","commentedQuestion","navigateTo","identity","getGpsUrl","answer","googleMapPosition","navigateToPrefilled","beforeMount","entities","hasSupervisorComment","hasBrokenPackage","info","hasError","question","sectionId","hash","localStorage","setItem","getItem","removeItem","enCa","enGb","relativeTimeMr","mr","ne","zhMo","hm","12","13","40","tg","breadcrumb","navigate","isRoster","hasCustomRosterTitle","getRosterTitle","rosterTitle","showBreadcrumbs","fetchBreadcrumbs","sidebarHidden","toFirstSection","interviewKey","hqLink","toCoverPage","reloadQuestionnaire","questionnaireTitle","currentLanguage","originalLanguageName","changeLanguage","OriginalLanguageName","emailPersonalLink","inWebTesterMode","saveScenarioUrl","showSaveScenario","designerCredentialsExpired","designerUrl","selectedSaveOption","newScenarioName","selectedScenarioOption","scenarioSaving","scenarioValid","saveScenario","hideScenarioSave","Layout","Navbar","Sidebar","Breadcrumbs","Cover","Section","directive","keypress","blur","timeElements","getElementsByTagName","timeElement","dateTimeAttr","dateTime","DateFormats","binding","forceDisabled","answerNotAllowed","maxAnswerReached","AutoNumericEnum","freeze","allowedTagList","writable","Backspace","Tab","Enter","Shift","Ctrl","Alt","Pause","CapsLock","Esc","Space","PageUp","PageDown","End","Home","LeftArrow","UpArrow","RightArrow","DownArrow","Insert","Delete","num0","num1","num2","num3","num4","num5","num6","num7","num8","num9","g","t","v","OSLeft","OSRight","ContextMenu","numpad0","numpad1","numpad2","numpad3","numpad4","numpad5","numpad6","numpad7","numpad8","numpad9","MultiplyNumpad","PlusNumpad","MinusNumpad","DotNumpad","SlashNumpad","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NumLock","ScrollLock","HyphenFirefox","MyComputer","MyCalculator","Semicolon","Equal","Comma","Hyphen","Dot","Slash","Backquote","LeftBracket","Backslash","RightBracket","Quote","Command","AltGraph","AndroidDefault","fromCharCodeKeyCode","16","17","18","19","27","33","34","35","36","37","38","39","45","46","91","92","93","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","144","145","173","182","183","186","187","188","189","190","191","192","219","220","221","222","224","225","keyName","Unidentified","AltGr","Fn","FnLock","Hyper","Meta","Super","Symbol","SymbolLock","Clear","Copy","CrSel","Cut","EraseEof","ExSel","Paste","Redo","Undo","Accept","Again","Attn","Cancel","Execute","Find","Finish","Help","Play","Props","Select","ZoomIn","ZoomOut","BrightnessDown","BrightnessUp","Eject","LogOff","Power","PowerOff","PrintScreen","Hibernate","Standby","WakeUp","Compose","Dead","Print","A","B","C","D","E","F","G","H","I","J","K","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Minus","Plus","LeftParenthesis","RightParenthesis","NumpadDot","NumpadDotAlt","NumpadMultiply","NumpadPlus","NumpadMinus","NumpadSubtract","NumpadSlash","NumpadDotObsoleteBrowsers","NumpadMultiplyObsoleteBrowsers","NumpadPlusObsoleteBrowsers","NumpadMinusObsoleteBrowsers","NumpadSlashObsoleteBrowsers","_allFnKeys","_someNonPrintableKeys","_directionKeys","AutoNumericHelper","lowercaseValue","reference","obj","isNaN","parseFloat","isFinite","char","latinConvertedNumber","arabicToLatinNumbers","isNumber","func","MSInputMethodContext","documentMode","needle","isString","isUndefined","arr","domElement","isElement","decimalPart","isSeleniumBot","keyCodeNumber","potentialResult","isUndefinedOrNullOrEmpty","fromCharCode","browser","tem","ua","userAgent","appName","appVersion","splice","webdriver","numberOrNumericString","negativeSignCharacter","checkEverywhere","isNegativeStrict","numericString","valueString","leftBracket","rightBracket","newCharacter","substr","settings","minimumValue","maximumValue","formattedNumberString","caretPosition","decimalCharacter","numberDotOrNegativeSign","numberDotAndNegativeSignCount","rawNumberString","caretPositionInRawValue","formattedNumberStringIndex","formattedNumberStringSize","rawNumberStringSize","rawNumberStringIndex","character","charCounter","characterCount","isSelectionStartUndefined","selectionStart","selection","getSelection","selectionInfo","getRangeAt","startOffset","end","endOffset","selectionEnd","isInputElement","setSelectionRange","isNull","range","createRange","setStart","setEnd","removeAllRanges","addRange","showWarning","WheelEvent","wheelEvent","isWheelEvent","deltaY","throwError","decimalPlaces","integerPart","stepPlace","isAddition","decimalPlacesRawValue","forceDecimalPlaces","absValue","rawValueMinimumOffset","pow","minimumOffsetFirstDecimalPlaceIndex","indexFirstNonZeroDecimalPlace","roundToNearest","lengthValue","decimalPlacesLimit","modifyAndRoundToNearestAuto","arabicNumbers","returnANumber","parseDecimalCharacter","parseThousandSeparator","resultAsNumber","detail","cancelable","CustomEvent","initCustomEvent","nL","xc","yc","xNeg","strLength","random","domElementOrSelector","setCustomValidity","separator","skipFirstWord","Node","ELEMENT_NODE","DOCUMENT_NODE","DOCUMENT_FRAGMENT_NODE","TEXT_NODE","excludedElements","isInArray","trimmedDecimalPart","hoveredElements","arrLength","Set","mapObjects","Map","reduce","as","entries","numericValue","NaN","isScientific","exponent","isNegative","isNegativeExponent","int","float","insertAt","repeat","Evaluator","ast","subtree","evaluate","right","ASTNode","node","Token","symbol","Lexer","textLength","_skipSpaces","isDigit","_getNumber","Parser","customDecimalCharacter","lexer","getNextToken","_exp","termNode","_term","exprNode","_moreExp","createNode","createLeaf","factorNode","_factor","termsNode","_moreTerms","factor","createUnaryNode","_match","expected","getIndex","AutoNumeric","arg1","arg2","arg3","_setArgumentsValues","initialValue","userOptions","defaultRawValue","_setSettings","_checkElement","savedCancellableValue","historyTable","historyTableIndex","onGoingRedo","parentForm","_getParentForm","runOnce","formatOnPageLoad","_formatDefaultValueOnPageLoad","valueToSet","emptyInputBehavior","zero","press","always","null","_setElementAndRawValue","hasEventListeners","isContentEditable","noEventListeners","_createEventListeners","_setWritePermissions","_saveInitialValues","sessionStorageAvailable","_storageTest","storageNamePrefix","_setPersistentStorageName","validState","isFocused","isDropEvent","isEditing","rawValueOnFocus","internalModification","attributeToWatch","_getAttributeToWatch","getterSetter","getOwnPropertyDescriptor","__proto__","_addWatcher","createLocalList","_createLocalList","_addToGlobalList","newValue","autoNumericLocalList","aNObject","setUnformatted","_executeCallback","getNumericString","getFormatted","getNumber","getLocalized","reformat","unformat","unformatLocalized","forcedOutputFormat","newOptions","isPristine","checkOnlyRawValue","forceClearAll","wipe","nuke","domElementOrAutoNumericObject","addObject","otherAutoNumericObject","getAutoNumericElement","_hasLocalList","mergedLocalLists","otherANLocalList","_getLocalList","mergeMaps","_addToLocalList","_setLocalList","removeObject","keepCurrentANObject","initialCompleteLocalList","empty","keepEachANObjectInItsOwnList","getList","reset","rawValue","defaultSettings","allowDecimalPadding","alwaysAllowDecimalCharacter","caretPositionOnFocus","_deleteLocalList","currencySymbol","currencySymbolPlacement","decimalCharacterAlternative","warning","showWarnings","decimalPlacesShownOnBlur","decimalPlacesShownOnFocus","defaultValueOverride","digitalGroupSpacing","digitGroupSeparator","divisorWhenUnfocused","eventBubbles","eventIsCancelable","failOnUnknownOption","formulaMode","historySize","invalidClass","isCancellable","leadingZero","modifyValueOnWheel","negativeBracketsTypeOnBlur","negativePositiveSignPlacement","noEvents","addEvents","_removeEventListeners","onInvalidPaste","outputFormat","overrideMinMaxLimits","positiveSignCharacter","rawValueDivisor","readOnly","roundingMethod","saveValueToSessionStorage","symbolWhenUnfocused","selectNumberOnly","selectOnFocus","serializeSpaces","showOnlyNumbersOnFocus","showPositiveSign","styleRules","suffixText","unformatOnHover","unformatOnSubmit","valuesToStrings","watchExternalChanges","wheelOn","wheelStep","_triggerEvent","events","initialized","getElementValue","newRawValue","aNElement","initialValueHtmlAttribute","scientificToDecimal","_onFocusInFunc","_onFocusIn","_onFocusInAndMouseEnterFunc","_onFocusInAndMouseEnter","_onFocusFunc","_onFocus","_onKeydownFunc","_onKeydown","_onKeypressFunc","_onKeypress","_onKeyupFunc","_onKeyup","_onFocusOutAndMouseLeaveFunc","_onFocusOutAndMouseLeave","_onPasteFunc","_onPaste","_onWheelFunc","_onWheel","_onDropFunc","_onDrop","_onKeydownGlobalFunc","_onKeydownGlobal","_onKeyupGlobalFunc","_onKeyupGlobal","_setupFormListener","_doesGlobalListExists","removeEventListener","_removeFormListener","_onFormSubmitFunc","_onFormSubmit","_onFormResetFunc","_onFormReset","_hasParentFormCounter","_incrementParentFormCounter","_initializeFormCounterToOne","_storeFormHandlerFunction","anCount","_getParentFormCounter","_getFormHandlerFunction","submitFn","resetFn","_removeFormDataSetInfo","_decrementParentFormCounter","dataset","formElement","_getFormElement","formElementToUse","_doesFormHandlerListExists","_createFormHandlerList","formHandlerName","randomString","anFormHandler","aNFormHandlerMap","_hasFormHandlerFunction","_getFormHandlerKey","useHtmlAttribute","_setReadOnly","_setReadWrite","setter","getter","isEmptyHistoryTable","_historyTableCurrentValueUsed","addNewHistoryState","nextHistoryStateIndex","arrayTrim","getElementSelection","_historyTableForget","undo","undoInfo","setElementSelection","_historyTableUndoOrRedo","numberOfEntriesToForget","shiftedAway","indexToUse","positive","_addCSSClass","_removeCSSClass","negative","ranges","userDefined","userObject","isFunction","callbackResult","userClass","isInt","cssClassName","originalSettings","cloneObject","optionsToUse","optionObject","_isPreDefinedOptionValid","_getOptionObject","_updateEventListeners","saveChangeToHistory","_saveValueToPersistentStorage","_toNumericValue","setValue","_checkIfInRangeWithOverrideOption","minTest","maxTest","_checkValuesToStrings","isZero","isZeroOrHasNoValue","forcedRawValue","_roundRawValue","_trimLeadingAndTrailingZeros","_getRawValueToFormat","_roundFormattedValueShownOnFocus","_roundFormattedValueShownOnBlur","_modifyNegativeSignAndDecimalCharacterForFormattedValue","_addGroupSeparators","_setValidOrInvalidState","_triggerRangeEvents","_removeValueFromPersistentStorage","strippedValue","_removeBrackets","normalizedValue","_stripAllNonNumberCharacters","_isWithinRangeWithOverrideOption","oldRawValue","_isUserManuallyEditingTheValue","rawValueModified","_parseStyleRules","_historyTableAdd","newElementValue","sendFormattedEvent","oldElementValue","setElementValue","formatted","oldValue","isBoolean","_setElementValue","_setRawValue","rawValueForTheElementValue","_checkValuesToStringsArray","valuesToStringsKeys","triggerEvent","trimPaddedZerosFromDecimalPlaces","_toLocale","outputFormatToUse","isEmptyString","keep","selectNumber","_defaultSelectAll","unformattedValue","valueLen","currencySymbolSize","negLen","suffixTextLen","suffix","prefix","isPositive","elementValue","decimalCount","domElementToDetach","otherAnElement","_removeFromLocalList","reFormat","valueOrElement","optionOverride","_formatOrUnformatOther","stringOrElement","isFormatting","valueOrStringOrElement","settingsToUse","_cloneAndMergeSettings","domElementOrArrayOrString","attached","returnASingleAutoNumericObject","domElementsArray","currentLocalList","autoNumericObjectsArray","originalCreateLocalListSetting","newAutoNumericElement","temporaryForcedOptions","_removeWatcher","_removeFromGlobalList","forceSearch","newParentForm","oldANChildren","_getFormAutoNumericChildren","inputList","isManagedByAutoNumeric","_serializeNumericString","_serializeFormatted","_serializeLocalized","_serializeNumericStringArray","_serializeFormattedArray","_serializeLocalizedArray","JSON","stringify","formArrayNumericString","formArrayFormatted","formArrayLocalized","inputs","_getChildANInputElement","formUnformat","submit","formReformat","formNumericString","formFormatted","formUnformatLocalized","formLocalized","formJsonNumericString","formJsonFormatted","formJsonLocalized","localList","autoNumericObject","newSettings","predefinedOption","_mergeSettings","_updatePredefinedOptions","getPredefinedOptions","French","NorthAmerican","British","Swiss","Japanese","Spanish","Chinese","Brazilian","htmlAttribute","camelize","isTrailingNegative","isNegativeSignAllowed","doNotSelect","isValueNegative","totalLength","valueSize","integerSize","hasDecimalChar","offsetDecimalChar","decimalLeft","decimalRight","signToUse","positiveNegativeSignSize","minRangeExceeded","maxRangeExceeded","setInvalidState","invalidValue","setValidState","correctedValue","invalid","minRangeOk","_isMinimumRangeRespected","maxRangeOk","_isMaximumRangeRespected","_setValidState","_setInvalidState","originalDigitGroupSeparator","originalCurrencySymbol","originalSuffixText","rawValueStorageName","sessionStorage","_readCookie","setTime","getTime","expires","toUTCString","altKey","_unformatAltHovered","hoveredWithAlt","_reformatAltHovered","elementValueToSet","rawValueToFormat","formattedValue","roundedValue","_roundFormattedValueShownOnFocusOrBlur","onlyNumbers","valueOnFocus","lastVal","isEmptyValue","_isElementValueEmptyOrOnlyTheNegativeSign","orderedValue","_orderValueCurrencySymbolAndSuffixText","orderedValueTest","_saveCancellableValue","_initialCaretPosition","formula","invalidFormula","validFormula","eventKey","getHoveredElement","_updateEventKeyInfo","keydownEventCounter","initialValueOnFirstKeydown","initialRawValueOnFirstKeydown","_exitFormulaMode","_acceptNonPrintableKeysInFormulaMode","_enterFormulaMode","processed","native","targetValue","_updateInternalProperties","_processNonPrintableKeysAndShortcuts","isDeletionAllowed","_processCharacterDeletion","_formatValue","throwInput","formulaChars","isCharacterInsertionAllowed","_processCharacterInsertion","ctrlKey","shiftKey","_historyTableRedo","_historyTableUndo","metaKey","cutNumber","_setCaretPosition","valuePartsBeforePaste","_saveRawValueForAndroid","_stripAllNonNumberCharactersExceptCustomDecimalChar","_convertToNumericString","isRawValueNull","elementValueIsAlreadySet","_roundValue","_modifyNegativeSignAndDecimalCharacterForRawValue","groupedValue","never","floats","_onBlur","rawPastedText","eventTarget","clipboardData","getData","explicitOriginalTarget","initialFormattedValue","selectionSize","untranslatedPastedText","_preparePastedText","pastedRawValue","isPasteNegative","pastedText","caretPositionOnInitialTextAfterPasting","isPasteNegativeAndInitialValueIsPositive","isInitialValueNegative","leftFormattedPart","rightFormattedPart","setRawNegativeSign","convertCharacterCountToIndexPosition","countNumberCharactersOnTheCaretLeftSide","leftPart","rightPart","leftPartContainedADot","negativePasteOnNegativeNumber","truncate","minParse","parseStr","maxParse","lastGoodKnownResult","pastedTextIndex","modifiedLeftPart","_checkIfInRange","lastGoodKnownResultIndex","lastGoodKnownResultSize","replaceCharAt","ignore","clamp","indexWherePastedTextHasBeenInserted","indexSelectionEndInRawValue","selectedText","countCharInText","valueHasBeenSet","valueHasBeenClamped","clampedValue","clampToRangeLimits","caretPositionInFormattedNumber","findCaretPositionInFormattedNumber","wheelAction","hover","scrollBy","currentUnformattedValue","isWheelUpEvent","isWheelDownEvent","step","addAndRoundToNearestAuto","subtractAndRoundToNearestAuto","_setSelection","isIE11","droppedText","dataTransfer","cleanedValue","unformatOther","inputElements","aNElements","_unformatOnSubmit","_getDefaultValue","hoveredElement","anElement","currentElementTag","_isElementTagSupported","_isInputElement","_isInputTypeSupported","currentValue","forcedInitialValue","unLocalizedCurrentValue","_getValueFromPersistentStorage","toStrip","maximumValueIntegerPart","minimumValueIntegerPart","mIntPos","mIntNeg","_convertOldOptionsToNewOnes","decimalPlacesRawValueInOptions","originalDecimalPlacesRawValue","decimalPlacesInOptions","originalDecimalPlaces","_calculateDecimalPlacesOnUpdate","getDefaultConfig","caretFix","_transformOptionsValuesToDefaultTypes","_runCallbacksFoundInTheSettingsObject","_correctNegativePositiveSignPlacementOption","_correctCaretPositionOnFocusAndSelectOnFocusOptions","_setNegativePositiveSignPermissions","_calculateDecimalPlacesOnInit","_calculateVMinAndVMaxIntegerSizes","_setTrailingNegativeSignInfo","regex","_cachesUsualRegularExpressions","_setBrackets","_calculateValuesToStringsKeys","isEmptyObj","validate","_keepAnOriginalSettingsCopy","_getLeftAndRightPartAroundTheSelection","stripZeros","deny","aNegRegAutoStrip","isPaste","_normalizeParts","normalizedLeft","normalizedRight","normalizedNewValue","roundedRawValue","_truncateDecimalPlaces","testValue","valueToSetOnEmpty","roundedValueToShow","currencySymbolLen","hasNeg","_getSignPosition","signPosition","currencySymbolPosition","oldParts","_setValueParts","_checkPaste","_shouldSkipEventKey","_expandSelectionOnSign","isValNegative","_getUnformattedLeftAndRightPartAroundTheSelection","_processCharacterDeletionIfTrailingNegativeSign","_isDecimalCharacterInsertionAllowed","eventNumber","subParts","negativeSign","leftReg","leftAr","signParts","escapeChr","escapedParts","miniParts","newLeft","isArg1Element","isArg1String","isArg2Object","isObject","isArg2Array","isArg2Number","isNumberOrArabic","isArg2PreDefinedOptionName","isArg2Null","isArg2EmptyString","isArg3Object","isArg3Array","isArg3Null","isArg3PreDefinedOptionName","mergeOptions","optionsArray","mergedOptions","optionObjectOrPredefinedOptionString","preDefinedOptionName","predefinedOptions","optionObjectOrPredefinedName","stringsArray","values","formNode","autoNumericInputs","_isInGlobalList","weakMapName","WeakMap","autoNumericGlobalListName","_createWeakMap","_createGlobalList","_getFromGlobalList","getSettings","shouldExtendDefaultOptions","originalOptions","isOriginalOptionAnObject","isTrueOrFalseString","testPositiveInteger","testNumericalCharacters","testFloatOrIntegerAndPossibleNegativeSign","testPositiveFloatOrInteger","doNoForceCaretPosition","comma","dot","normalSpace","thinSpace","narrowNoBreakSpace","noBreakSpace","noSeparator","apostrophe","arabicThousandsSeparator","dotAbove","privateUseTwo","two","twoScaled","three","four","middleDot","arabicDecimalSeparator","decimalSeparatorKeySymbol","ceiling","floor","_validateDecimalPlacesRawValue","halfUpSymmetric","halfUpAsymmetric","halfDownSymmetric","halfDownAsymmetric","halfEvenBankersRounding","upRoundAwayFromZero","downRoundTowardZero","toCeilingTowardPositiveInfinity","toFloorTowardNegativeInfinity","toNearest05","toNearest05Alt","upToNext05","downToNext05","parentheses","brackets","chevrons","curlyBraces","angleBrackets","japaneseQuotationMarks","halfBrackets","whiteSquareBrackets","quotationMarks","guillemets","allow","negativeDot","negativeComma","dotNegative","commaNegative","plus","percent","isValid","optionsResult","numericStringOrDomElement","_generateOptionsObjectFromOptionsArray","isPositiveSignAllowed","_checkValuesToStringsSettings","isNumberStrict","_checkStringsToValuesSettings","objectKeyLookup","firstBracket","lastBracket","unwantedCharacters","localizedValue","localize","_get","getFunction","_normalizeCurrencySuffixAndNegativeSignCharacters","allowedAutoStrip","numRegAutoStrip","modifiedIntegerPart","stripReg","_addBrackets","rearrangeSignsAndValueOrder","_mergeCurrencySignNegativePositiveSignAndValue","convertToNumber","temp","hyphen","signOnEmpty","inputValue","currentRawValue","isNegativeWithBrackets","digitalGroup","decimalPlacesToRoundTo","_toggleNegativeBracket","roundedInputValue","decimalPlacesNeeded","_roundCloseTo05","_prepareValueForRounding","preparedValue","temporaryDecimalPlacesOverride","decimalCharacterPosition","inputValueHasNoDot","hasDecimals","roundedStrLength","decimalPositionToUse","checkDecimalPlaces","inputValueRounded","zeros","_truncateZeros","odd","lastDigit","inputValueArray","_shouldRoundUp","modifiedDecimalPart","valParse","testMinMax","_cleanValueForRangeParse","nameEQ","mod","additionalDecimalPlacesRawValue","currentSettings","negativeSignReg","oldOptionsConverter","aSep","nSep","dGroup","aDec","altDec","aSign","pSign","pNeg","aSuffix","oLimits","vMax","vMin","mDec","eDec","scaleDecimal","aStor","mRound","aPad","nBracket","wEmpty","lZero","aForm","sNumber","anDefault","unSetOnSubmit","outputType","debug","parsedMinValue","parsedMaxValue","parsedValue","eventKeyName","isFnKeys","isOSKeys","isContextMenu","isSomeNonPrintableKeys","isOtherNonPrintableKeys","isUnrecognizableKeys","finalResult","intoAnArray","formatType","serializedSpaceCharacter","encodeURIComponent","valueResult","anObject","_serialize","rootElement","exclude","filterOut","isInitialValueArray","isInitialValueArrayAndNotEmpty","secondArgumentIsInitialValueArray","secondArgumentIsOptionArray","typeOfFirstArrayElement","isOptionsArrayAndNotEmpty","thirdArgumentIsOptionArray","initialValueArraySize","isInitialValueNumber","evt","freezeOptions","getOwnPropertyNames","optionName","vsProps","valuesToStringObjectName","alwaysAllow","doNotAllow","createList","doNotCreateList","currencySign","austral","australCentavo","baht","cedi","cent","colon","cruzeiro","dollar","dong","drachma","dram","european","euro","florin","franc","guarani","hryvnia","kip","att","lepton","lira","liraOld","lari","mark","mill","naira","peseta","peso","pfennig","pound","real","riel","ruble","rupee","rupeeOld","shekel","shekelAlt","taka","tenge","togrog","won","yen","one","five","six","doNotOverride","percentage","permille","basisPoint","doesNotBubble","isCancelable","isNotCancelable","fail","doNotFormat","verySmall","medium","large","veryLarge","insane","MAX_SAFE_INTEGER","cancellable","notCancellable","tenTrillions","oneBillion","modifyValue","doNothing","minus","heavyMinus","fullWidthHyphen","circledMinus","squaredMinus","triangleMinus","plusMinus","minusPlus","dotMinus","minusTilde","not","fullWidthPlus","heavyPlus","doublePlus","triplePlus","circledPlus","squaredPlus","trianglePlus","dotPlus","altHebrewPlus","readWrite","save","doNotSave","selectNumbersOnly","showAll","positiveNegative","range0To100With4Steps","evenOdd","rangeSmallAndZero","doNotUnformat","keepCurrentValue","zeroDash","oneAroundZero","doNotWatch","progressive","japanese","euroF","euroPos","euroNeg","euroSpace","euroSpacePos","euroSpaceNeg","percentageEU2dec","percentageEU2decPos","percentageEU2decNeg","percentageEU3dec","percentageEU3decPos","percentageEU3decNeg","dollarF","dollarPos","dollarNeg","dollarNegBrackets","percentageUS2dec","percentageUS2decPos","percentageUS2decNeg","percentageUS3dec","percentageUS3decPos","percentageUS3decNeg","turkish","Turkish","dotDecimalCharCommaSeparator","commaDecimalCharDotSeparator","integer","integerPos","integerNeg","floatPos","floatNeg","numeric","numericPos","numericNeg","vnode","context","autoNumericElement","_","href","defaultPrevented","linkTarget","URL","pathname","protocol","isTakeNewAssignment","includes","toPath","$router","path","lastActivity","setInterval","shown","onEscape","closeButton","buttons","ok","Idle","cs","ta","kn","useHtmlInTitle","canClose","Flatpickr","inputClass","withClear","clearLabel","fp","onReady","beforeDestroy","newConfig","arKw","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","firstDigit","lb","momentDurationFormatSetup","toLocaleStringWorks","toLocaleStringRoundingWorks","intlNumberFormatWorks","intlNumberFormatRoundingWorks","types","targets","stringIncludes","repeatZero","qty","stringRound","digits","digitsArray","reverse","carry","cachedNumberFormat","optionsString","cacheKey","NumberFormat","userLocale","numberString","integerString","fractionString","exponentString","useToLocaleString","useGrouping","grouping","maximumSignificantDigits","minimumIntegerDigits","fractionDigits","groupingSeparator","decimalSeparator","localeStringOptions","maximumFractionDigits","minimumFractionDigits","roundingOptions","toPrecision","toFixed","integerLength","fractionLength","digitCount","formattedString","durationLabelCompare","durationGetLabels","localeData","localeDataKey","labelType","labelKey","durationPluralKey","integerValue","decimalValue","engLocale","durationLabelsStandard","SS","durationLabelsShort","durationTimeTemplates","HMS","HM","MS","durationLabelTypes","findLast","ret","pluck","compact","unique","intersection","rest","initial","reversed","any","flatten","child","toLocaleStringSupportsLocales","featureTestFormatterRounding","formatter","featureTestFormatter","passed","durationsFormat","durations","arg","precision","returnMomentTypes","formattedDurations","dur","outputTypes","largest","durationFormat","asMilliseconds","asMonths","remainder","duration","remainderMonths","momentTokens","years","weeks","days","seconds","milliseconds","tokenDefs","escape","general","typeMap","tokenizer","stopTrim","_durationTimeTemplates","useLeftUnits","usePlural","forceLength","trunc","useSignificantDigits","significantDigits","significantDigitsCache","minValue","isMinValue","maxValue","isMaxValue","trimIncludes","rLarge","rSmall","rBoth","rMid","rAll","rFinal","trimLarge","trimSmall","trimMid","trimFinal","rawTokens","currentToken","momentTypes","momentType","isSmallest","isLargest","wholeValue","subtract","tokenLength","truncMethod","places","foundFirst","bubbled","formatValue","formatOptions","formattedValueEn","formattedValueMS","findType","bubbleTypes","bubble","bubbleMomentType","targetMomentType","pluralKey","autoLocalized","pluralizedLabels","_durationLabelTypes","defaultFormatTemplate","_data","firstType","lastType","updateLocale","toLocaleStringFormatter","intlNumberFormatFormatter","webpackContext","req","webpackContextResolve","__webpack_require__","resolve","az","zhHk","ga","okTitle","okClass","promt","ur","esUs","restart_comment","calendarInterviewId","calendarInterviewKey","where","whereQuery","in","pageLength","take","valueLowerCase","fetchPolicy","recordsTotal","recordsFiltered","questionnaireSelected","questionnaireVersionSelected","discardInterview","rowIndex","restartInterview","done","addFilteringParams","td","cellData","rowData","clearAssignmentFilter","tet","preventDoubleSubmission","$form","ajustNoticeHeight","ajustDetailsPanelHeight","panelDetails","click","parents","fadeToggle","animate","resize","dv","tk","weekEndings","hu","zhCn","te","sv","ugCn","msMy","eo","sd","relativeTimeWithMutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","mi","mk","last2Digits","FormData","fake","boundary","_fields","file","getAsBinary","nb","kk","arTn","RoleNames","INTERVIEWER","SUPERVISOR","HQ","API","ADMINISTRATOR","OBSERVER","forEachIfNeeded","section","batchedAction","fetchAction","queue","tick","debounce","nextTick","ctx","dispatch","ids","getAnswer","entityDetails","loadInterview","commit","rootState","$api","interview","hasCover","getLanguageInfo","languageInfo","fetchEntity","route","elementIds","uniq","lastActivityTimestamp","answerSingleOptionQuestion","storedAnswer","answerTextQuestion","answerMultiOptionQuestion","answerYesNoQuestion","answerIntegerQuestion","answerDoubleQuestion","answerGpsQuestion","answerDateQuestion","answerTextListQuestion","rows","answerLinkedSingleOptionQuestion","answerLinkedMultiOptionQuestion","answerLinkedToListMultiQuestion","answerLinkedToListSingleQuestion","answerMultimediaQuestion","upload","imageUploadUri","answerAudioQuestion","audioUploadUri","answerQRBarcodeQuestion","removeAnswer","tryResolveFetch","loadingProgress","sendNewComment","resolveComment","setAnswerAsNotSaved","clearAnswerValidity","reloadInterview","finishInterview","navigeToRoute","closeInterview","alert","shutDownInterview","interviewShutdown","close","refreshEntities","questions","isReviewMode","refreshReviewSearch","refreshSectionState","_refreshSectionState","fetchSectionEntities","isPrefilledSection","prefilledPageData","hasAnyQuestions","loc","firstSectionId","fetchSectionEnabledStatus","firstSectionLocation","crumps","fetchCompleteInfo","completeInfo","fetchInterviewStatus","interviewState","fetchCoverInfo","completeInterview","interviewCompleted","requestWebInterview","cleanUpEntity","stop","hub","changeSection","connectionStore","isReconnecting","isDisconnected","connectionSlow","preventDuplicates","tryingToReconnect","disconnected","mutations","IS_RECONNECTING","IS_DISCONNECTED","setFetchState","$id","hasInState","updateFetchProgress","requestInProgress","fetchState","uploaded","total","scrollState","fetchProgress","amount","sectionRequireScroll","uploadProgress","resetScroll","SET_UPLOAD_PROGRESS","SET_FETCH","SET_FETCH_IN_PROGRESS","SET_SCROLL_TARGET","SET_LOADING_PROGRESS","SET_ENTITIES_DETAILS","updatedAt","SET_ANSWER","SET_SECTION_DATA","sectionData","entitiesToDelete","differenceBy","CLEAR_ENTITIES","SET_ANSWER_NOT_SAVED","errorMessage","messages","CLEAR_ANSWER_VALIDITY","SET_BREADCRUMPS","SET_LANGUAGE_INFO","SET_INTERVIEW_INFO","interviewInfo","receivedByInterviewer","interviewCannotBeChanged","isCurrentUserObserving","doesBrokenPackageExist","canAddComments","SET_COVER_INFO","SET_COMPLETE_INFO","SET_INTERVIEW_STATUS","SET_INTERVIEW_SHUTDOWN","SET_HAS_COVER_PAGE","hasCoverPage","POSTING_COMMENT","questionId","postingComment","LOG_LAST_ACTIVITY","COMPLETE_INTERVIEW","CURRENT_SECTION","browserLocalStore","panels","facetHidden","searchResultsHidden","screenWidth","mediumScreenThreshold","fetchSidebar","sideBar","toggleSidebar","panel","collapsed","toggleSidebarPanel","newState","sidebarPanelNewState","panelBeingClosed","hideFacets","facetPanelNewState","hideSearchResults","showSearchResults","screenWidthChanged","newWidth","SET_SIDEBAR_STATE","byParentId","groupBy","groups","SET_SIDEBAR_TOGGLE","SET_SIDEBAR_HIDDEN","SET_FACET_HIDDEN","SET_SEARCH_RESULTS_HIDDEN","SET_SCREEN_WIDTH","hasSidebarData","rootSections","safeStore","sidebar","connection","entitiesWithComments","loadedCount","identifyingQuestions","isReadonly","addCommentsAllowed","it","itCh","enNz","isSupervisor","api","surveySetup","questionnaires","versions","responsibleParams","responsible","userSelected","ddlReceivedByTablet","receivedByTablet","receivedByTabletSelected","ddlShowArchive","showArchive","showArchiveSelected","showSelectors","cellClicked","selectedRows","totalRows","resetSelection","isHeadquarter","unarchiveSelected","assignSelected","closeSelected","archiveSelected","showWebModeReassignWarning","newResponsibleId","newResponsibleSelected","reassignComment","singleCloseMessage","isWebModeAssignmentSelected","editedRowId","editedAudioRecordingEnabled","upateAudioRecording","canEditQuantity","modifiers","updateQuantity","editedQuantity","$forceUpdate","webMode","invitationToken","webInterviewUrl","questionnaire","interviewerProfileUrl","quantity","interviewsUrl","interviewsProvided","isHeadquarters","interviewsCount","updatedDate","createdDate","isAudioRecordingEnabled","email","password","isReceivedByTablet","isWebMode","comments","calendarEventTime","calendarEventComment","isInterviewerResponsible","createdText","newResponsible","ordering","dataSrc","responseJson","hiddenQuestions","rosterSizeQuestions","showQuestions","caption","errorByResponsible","answered","responsiblesUrl","responsibleSelected","simpleTemplateDownloadUrl","userName","ownerOfCurrentUploadProcess","importedAssignmentsInPercents","estimatedTime","estimatedTimeToFinishCurrentProcess","hasUploadProcess","onSimpleFileSelected","uploadSimple","templateDownloadUrl","onAdvancedFileSelected","uploadAdvanced","manualModeDescription","timerId","currentUploadProcess","timeDiff","assignmentsInQueue","importedAssignmentsCount","totalAssignmentsToImportCount","setErrorByResponsible","uploadFileToServer","formData","assignmentsUploadUrl","fileName","verificationErrors","dataFile","isEmptyText","column","uploadInfo","verifiedCount","withErrorsCount","createdCount","processedCount","isInProgress","processedWithoutErrorsCount","invalidAssignmentsUrl","isLoaded","loadTakeNew","interviewDetails","Promise","all","SET_TAKENEW_RESPONSE","SET_INTERVIEW_DETAILS","pickLocationAllowed","setUploadFileName","setUploadVerificationErrors","setUploadStatus","setUploadCompleteStatus","SET_FILE_NAME","SET_VERIFICATION_ERRORS","SET_STATUS","takeNew","AssignmentsComponent","rootStore","Assignments","Details","Upload","beforeEnter","$http","importStatusUrl","isOwnerOfRunningProcess","isVerification","isImport","UploadErrors","UploadVerification","UploadProgress","VeeValidate","localStore","AdministrationLayout","Diagnostics","MapComponent","interviewersAndDevicesUrl","renderCell","hasIssue","getLinkToInterviewerProfile","getLinkToSupervisorProfile","questionnairesUrl","selectQuestionnaire","questionnaireVersionFetchUrl","isSupervisorMode","supervisorsParams","supervisorsUrl","selectSupervisor","selectedQuestionnaireId","selectedVersion","selectQuestionnaireVersion","gpsQuestions","selectGpsQuestion","showHeatmap","heatMapOptions","updateHeatMap","questionFilterChanged","changeExposedValuesFilter","reloadMarkersInBounds","selectedTooltip","interviewerName","supervisorName","lastStatus","lastUpdatedDate","GetInterviewDetailsUrl","Title","filterChanged","filtersLoaded","warnings","isPivot","Answers","Label","QuestionText","selectedQuestionnairePlaceholder","questionnaireList","selectedQuestionnaire","questionnaireVersionsList","selectedQuestionnaireVersion","selectedStatus","statuses","statusSelected","selectedQuestionPlaceholder","questionsList","selectQuestion","expandTeams","radioChanged","Type","max_value","MAX_VALUE","inputChange","min_value","MIN_VALUE","SupportConditions","conditionVariablesList","selectedCondition","selectCondition","pivot","pivotChanged","Answer","isSelectedAnswer","selectConditionAnswer","Text","routeSync","selectedAnswers","changesQueue","loadQuestionnaires","loadQuestions","selectQuestionnaireInt","conditionAnswerKey","conditionAnswers","queryString","conditionId","ans","orderBy","uniqWith","supportConditions","Id","SurveyStatisticsFilter","QuestionDetail","isFiltersLoaded","answers","lastRefresh","_timer","reloadTable","numericColumns","totalColumn","categoriesColumns","identifyingColumns","visible","tableColumns","reportName","templates","selectedDateRange","isSelectedRange","quickRange","relativeToData","hasData","chartTitle","chartUpdated","refreshData","base64Encoded","downloadAsImage","backgroundColor","LineChart","startDate","chartData","chart","maxDate","quickRanges","startOf","endOf","selectDateRange","queryChartData","datasets","finally","download","strFileName","strMimeType","blob","reader","defaultMime","mimeType","payload","anchor","myBlob","pop","saver","decoder","binData","mx","uiArr","selfUrl","selectResponsible","reportDescription","getSupervisorsUrl","reportTypeId","reportTypes","reportTypeSelected","overTheLast","overTheLasts","overTheLastSelected","periods","periodSelected","selectedQuestionnaireTitle","dateFormat","dateTimeRanges","report","loadReportData","routeUpdated","prepareColumns","updateDateColumnsInfo","renderQuantityValue","renderSpeedValue","getInterviewersUrl","reportType","columnCount","columnsCount","minDate","ReportComponent","InterviewersAndDevices","StatusDuration","TeamsAndStatuses","SurveysAndStatuses","SurveysAndStatusesForSv","CumulativeChart","MapReport","SpeedAndQuantity","detailedView","getSelectedFlags","flags","flag","capitalize","Flagged","NotFlagged","WithComments","Invalid","Valid","Answered","NotAnswered","ForSupervisor","ForInterviewer","stats","results","pageSize","needToClear","fetchSearchResults","res","applyFiltering","hasFilter","getStatusesHistory","resetAllFilters","refreshSearchResults","SET_SEARCH_RESULT","unionBy","sum","CHANGE_FILTERS","SEARCH_NEED_TO_CLEAR","RESET_FILTERS","filteringState","searchResult","flagged","setFlag","hasFlag","fetchFlags","SET_FLAG","SET_FLAGS","additionalInfo","loadAdditionalInfo","loadOverviewData","loadOverview","isLastPage","CLEAR_OVERVIEW","loaded","SET_OVERVIEW_RESPONSE","items","SET_ADDITIONAL_INFO","filters","overview","approve","reject","rejection","assignTo","review","Review","ReviewSection","Overview","ReviewComponent","coverPageId","createUrl","showContextMenu","userInfo","role","isOwnProfile","forceChangePassword","canChangePassword","currentTab","canGetApiToken","modelState","personName","phoneNumber","lockMessage","canBeLockedAsHeadquarters","isLockedByHeadquarters","canLockBySupervisor","isLockedBySupervisor","isObserving","updateAccount","referrerUrl","releaseLock","isLockedOut","successMessage","isInterviewer","lockedOutCanBeReleased","processModelState","Name","Assigned","DisabledAtUtc","DisplayName","allWorkspaces","userWorkspaces","updated","referrerTitle","uploadUri","workspacesUrl","workspaceSelected","roles","roleSelected","supervisorWorkspaceUrl","confirmPassword","createAccount","oldPassword","isObserver","isApiUser","user","selectedSupervisors","hasSelectedSupervisors","interviewerIssues","archiveStatuses","archive","archiveInterviewers","unarchiveInterviewers","moveToAnotherTeam","is2faEnabled","recoveryCodesLeft","getUrl","sharedKey","verificationCode","verify","authenticatorUri","QRCode","resetAuthenticator","hasAuthenticator","recoveryCodes","generateRecoveryCodes","disable2fa","updatePassword","showWorkspaces","canGenerateToken","isAdmin","tokenWasIssued","apiToken","canGenerate","deleteToken","generateApiKey","ProfileLayout","UsersComponent","Headquarters","Observers","Interviewers","ApiUsers","Supervisors","Manage","Create","TwoFactorAuthentication","SetupAuthenticator","ResetAuthenticator","ShowRecoveryCodes","ResetRecoveryCodes","Disable2fa","ChangePassword","UserWorkspaces","ApiTokens","mapsUrl","shapeType","maxScale","shapesCount","minScale","wkid","importDate","uploadedBy","duplicateMapLabels","mapPreviewUrl","mapDisclaimer","delinkUserFromMap","emptyTable","userMapsUrl","downloadAllUrl","fileExtension","userMapLinkingUrl","deleteDialogBody","errorList","progressStyle","users","MapDetails","UserMapLinking","UserMaps","MapList","surveySetupUrl","questionnaireFullName","setActive","textDescription","overriden","_n","defaultText","customToolbar","customText","submitting","updateMessages","updateFailed","updatedMessage","downloadAssignmentsUrl","assignmentsCount","editableStrings","color","VueEditor","setPageActive","emailTemplate","buttonTitle","clearField","isMessageSupportedInterviewData","refInFor","isPasswordSupported","isButtonSupported","saveEmailTemplate","cancelEditEmailTemplate","previewMessage","spamProtectionIsEnabled","singleResponseIsEnabled","emailOnCompleteIsEnabled","attachAnswersInEmailIsEnabled","allowSwitchToCawiForInterviewerEnabled","saveAdditionalSettings","cancelAdditionalSettings","started","startWebInterview","stopWebInterview","totalInvitationsCount","sentInvitationsCount","notSentInvitationsCount","emailProviderUrl","webSettingsUrl","$hq","Util","hasSetupError","emailProvider","created","emailProviderIsNotSetUp","isQueued","isStopped","exportErrorsLink","overallProgressPercent","responsibleName","isDone","isCanceled","WebInterviewSetupComponent","Start","Started","Settings","SendInvitations","SendInvitationsProgress","questionnaireName","migrateTo","migrateFrom","progressDetails","totalProcessedCount","totalAssignmentsToMigrate","errorCount","errorsCount","assignmentsMigratedSuccessfully","errorsExportUrl","assignmentsMigratedWithErrorCount","processId","questionnaireInfo","importQuestionnaireUrl","deletionWarnMsg","deletionApproveLabel","deletionQuestionnaireName","deleteBtnDisabled","deleteQuestionnaire","deletedQuestionnaireId","encodeURI","selectedRow","questionnaireGuid","receivedByInterviewerAtUtc","neq","interviewsQueryResult","receivedByTabletAtUtc","assignmentsQueryResult","receivedInterviews","receivedAssignments","Questionnaire","bInfo","footer","UpgradeAssignments","UpgradeProgress","authorizedUser","listUrl","fullModel","interviewer","fullName","phone","isArchived","manageUrl","unArchive","audioAuditLogUrl","qrCodeAsBase64String","newInterviewsOnDevice","rejectedInterviewsOnDevice","waitingInterviewsForApprovalCount","approvedInterviewsByHqCount","interviewDetailsUrl","markerExist","totalTrafficUsed","monthlyUsage","dailyUsage","upInPer","formatKb","up","downInPer","down","synchronizationActivity","syncDay","syncDayQuarter","idx","HasAnyActivity","failedSynchronizationsCount","synchronizationsWithoutChangesCount","deviceType","deviceManufacturer","deviceModel","deviceBuildNumber","interviewerAppVersion","hasUpdateForInterviewerApp","formatDate","deviceAssignmentDate","registredDevicesCount","totalNumberOfSuccessSynchronizations","totalNumberOfFailedSynchronizations","averageSyncSpeedBytesPerSecond","trafficUsed","lastSuccessfulSync","lastFailedSync","lastCommunicationDate","formatLastCommunication","syncDate","deviceId","deviceSerialNumber","deviceLanguage","androidVersion","surveySolutionsVersion","lastSurveySolutionsUpdatedDate","goolgeMapUrl","deviceLocationOrLastKnownLocationLat","deviceLocationOrLastKnownLocationLon","deviceOrientation","batteryStatus","power","batteryPowerSource","powerSaver","isPowerSaveMode","storageFreeInBytes","ouputBytes","storageTotalInBytes","ramFreeInBytes","ramTotalInBytes","databaseSizeInBytes","serverTimeAtTheBeginningOfSync","deviceHasWrongTime","tabletTimeAtTeBeginningOfSync","connectionType","connectionSubType","questionnairesReceived","assignmentsReceived","completedInterviewsReceivedFromInterviewer","assignmentsThatHaveBeenStarted","interviewersUrl","profileUrl","recordsByDate","downloadLogUrl","dateRecords","formatDateWithoutTime","record","time","formatTime","actionCssClass","description","action","ProfileComponent","Profile","InterviewerAuditLog","replaceAll","senderAddress","replyAddress","senderName","address","provider","awsAccessKeyId","awsSecretAccessKey","awsRegion","sendGridApiKey","isFormDirty","isFetchInProgress","providerSettingsResult","sendGridIsSetUp","awsIsSetUp","testEmailAddress","sendTestEmail","sendEmailResult","formatUtcDate","encryptionEnabled","changeEncryptionEnabled","encryptionPassword","regenPassword","globalNotice","updateMessage","clearMessage","isAllowInterviewerUpdateProfile","updateAllowInterviewerUpdateProfile","updateDeviceSettings","isEmailAllowed","updateWebInterviewEmailNotifications","updateLogoUrl","onLogoSubmit","invalidImage","changedFile","files","logoError","removeLogoUrl","globalNoticeUpdated","getFormData","globalNoticeResponse","profile","interviewerSettings","webInterviewSettings","InterviewPackages","AdminComponent","EmailProviders","TabletLogs","AuditLog","TabletInfos","exportServiceIsUnavailable","questionnaireFetchUrl","pageState","translations","questionnaireTranslation","translationSelected","hasBinaryData","dataType","hasInterviews","includeMeta","dataFormat","canExportExternally","queueExport","resetForm","exportResults","dateTimeInList","jobs","exportServiceInitializing","_exportStatusUpdateInProgres","getExportStatus","jobsToUpdate","statusUrl","existing","job","errorHandler","getJobsUpdate","chunk","exportStatusUrl","SET_SERVICE_STATE","SET_SERVICE_INITALIZED","ADD_JOB","isInitializing","findIndex","UPDATE_JOB","lastUpdateDate","fileDestination","humanize","REMOVE_JOB","SET_UPDATE_IN_PROGRESS","ExportComponent","Export","export","interviewMode","interviewModes","inteviewModeSelected","getFilteredToAssign","assignInterview","getFilteredToApprove","approveInterview","getFilteredToReject","rejectInterview","getFilteredToUnApprove","unapproveInterview","getFilteredToCapi","changeToCAPI","getFilteredToCawi","changeToCAWI","getFilteredToDelete","deleteInterview","status1","status2","status3","CountReceivedByInterviewerItems","isReassignReceivedByInterviewer","deleteInterviews","approveBySupervisorAllowedStatusesMessage","isApproveReceivedByInterviewer","statusChangeComment","approveInterviews","rejectToNewResponsible","rejectInterviews","unapproveInterviews","viewInterview","responsibleClass","responsibleLink","changeInterviewModeToCawi","changeInterviewModeToCapi","InterviewsComponent","Interviews","importDateUtc","importedBy","lastEntryDateUtc","creationDateUtc","audioAudit","recordAudioChanged","mainPdfUrl","getDefaultTranslationName","lang","pdfUrl","exposedVariablesUrl","sectionsCount","subSectionsCount","rostersCount","questionsCount","questionsWithConditionsCount","recordAudioSend","cancelSetAudio","backdrop","AudioAudit","originalTitle","tryClone","isCensus","validation","cellAllClicked","getEntityDisplayType","getVariableLabel","removeExposedClicked","saveVariables","changeExposedStatusSend","removeExposedVariable","Clone","ExposedVariables","backLink","trySignIn","invalidCredentials","validationResult","import","designerUserName","logoutFromDesigner","listOfMyQuestionnaires","createdAt","lastUpdatedAt","chaptersCount","groupsCount","startImport","newVersionNumber","questionnairesToUpgradeFrom","shouldMigrateAssignments","isImporting","progressText","progressPercent","dotsCount","currentStatus","timeout","ms","hasQuestionnaireInfo","Template","LoginToDesigner","Import","ImportMode","supervisorCreateUrl","interviewerCreateUrl","errorByWorkspace","importUsersTemplateUrl","importedUsersInPercents","allowedFileExtensions","importedUsersCount","totalUsersToImportCount","setErrorByWorkspace","hasLineAndColumn","line","recomendation","selectedFileName","selectFile","cancelUpload","supervisorsCount","interviewersCount","complete","SET_COMPLETE_STATUS","UploadComponent","importUsersStatusUrl","UploadComplete","ControlPanelLayout","AppUpdates","ReevaluateInterview","apkUrl","supervisorVersion","apkQRUrl","smallApkSelected","supportQRCodeGeneration","qrApkUrl","interviewerVersion","Interviewer","Supervisor","welcomeText","startNewButton","resumeButton","useCaptcha","serverUnderLoad","captchaErrors","captchaError","recaptchaSiteKey","hostedCaptchaHtml","isPasswordInvalid","resumeButtonTitle","VueRecaptcha","StartOrResumeForm","webSurveyHeader","finishInterviewHtml","surveyName","startedDate","completedDate","resumeWelcome","resumeInvitation","linkWelcome","linkInvitation","Resume","Link","OutdatedBrowser","createNewWorkspace","canManage","createWorkspace","newWorkspaceName","editedDisplayName","updateWorkspace","disableWorkspace","dict","custom","workspaceName","Validator","userRole","GetAssignmentDetailsUrl","isReassignReceivedByTablet","canClickAssign","MapDashboardComponent","selectedWorkspace","onWorkspaceSelected","selectedRole","onRoleSelected","selectedTeam","supervisorsUri","onTeamSelected","selectedFilter","onFilterSelected","selectedArchive","onArchiveStatusSelected","canManageUsers","filteredToAdd","addToWorkspace","removeFromWorkspace","archiveUsers","unarchiveUsers","isAnyInterviewerSelected","addWorkspacesSelected","removeWorkspacesSelected","addInterviewerWorkspace","UsersManagementComponent","UsersManagement","Administration","Maps","WebInterviewSetup","SurveySetup","Admin","QuestionnaireDetails","UsersUpload","Download","WebInterview","UsersManagment","ComponentsProvider","initialComponents","Component","_isInitialized","registerModule","flat","toFlatten","pendingHandle","pendingProgress","showProgress","hideProgress","SET_PROGRESS","visibility","SET_PROGRESS_TIMEOUT","handle","ViewProvider","Progress","monthsShortWithDots","monthsShortWithoutDots","fy","enIl","sw","isTextInput","isCheckboxOrRadioInput","isDateInput","getDataAttribute","isNaN$1","isNullOrUndefined","createFlags","untouched","touched","dirty","pristine","validated","pending","changed","lhs","rhs","getScope","scope","getForm","getPath","def","hasPath","previousPath","isValidPath","reducer","parseRule","wait","cancelled","later","appendRule","normalizeRules","prev","curr","parsedRule","createError","isCallable","reg","toArray","arrayLike","ensureArray","isEmptyArray","others","idTemplate","uniqId","newId","predicate","isBuiltInComponent","componentOptions","makeDelayObject","delay","delayConfig","deepParseInt","merge","obj$1","fillRulesFromElement","pattern","maxLength","minLength","timeFormat","parseSelector","collection","defineNonReactive","LOCALE","Dictionary","dictionary","prototypeAccessors","hasLocale","setDateFormat","getDateFormat","getMessage","hasMessage","_getDefaultMessage","getFieldMessage","_default","en","fallback","setMessage","attribute","defineProperties","drivers","currentDriver","DictionaryResolver","_checkDriverName","driver","setDriver","implementation","getDriver","ErrorBag","errorBag","vmId","iterator","this$1","_normalizeError","msg","filterFn","matchesScope","matchesVM","collect","isSingleField","groupErrors","_makeCandidateFilters","isPrimary","isAlt","collected","primary","alt","firstById","firstRule","firstByRule","firstNot","removeById","shouldRemove","matchesRule","matchesName","isLast","DEFAULT_CONFIG","errorBagName","fieldsBagName","inject","fastExit","aria","useConstraintAttrs","i18nRootKey","currentConfig","resolveConfig","selfConfig","getConfig","setConfig","newConf","findModel","extractChildren","extractVNodes","nodes","candidates","findModelConfig","Ctor","mergeVNodeListeners","handler","prevHandler","addNativeNodeListener","addComponentNodeListener","listeners","addVNodeListener","getInputEventName","lazy","normalizeSlots","slots","createRenderless","Resolver","generate","resolveModel","resolveName","listen","disable","bails","continues","resolveScope","componentInstance","resolveGetter","resolveEvents","resolveDelay","resolveRules","immediate","persist","resolveInitialValue","getCtorConfig","globalDelay","$options","watchable","boundGetter","els","checkbox","elm","RULES","RuleContainer","staticAccessors","paramNames","isImmediate","isRequireRule","computesRequired","isTargetRule","hasTarget","ruleName","getParamNames","getOptions","getValidatorMethod","isEvent","srcElement","normalizeEvents","evts","supportsPassive","detectPassiveSupport","opts","cb","passive","DEFAULT_OPTIONS","targetOf","Field","forceRequired","_cacheId","_delay","ctorConfig","prototypeAccessors$1","validator","isRequired","rejectsFalse","$validator","_alias","_bails","matchesComponentId","_veeValidateId","waitFor","pendingPromise","_waitingFor","isWaitingFor","promise","updateDependencies","addActionListeners","resetFlag","addValueListeners","updateClasses","updateAriaAttrs","_cancellationToken","updateCustomValidity","setFlags","negated","dependencies","fields","$el","ref$1","$watch","$vnode","unwatch","watchers","isReset","applyClasses","onBlur","inputEvent","onInput","$once","$off","blurEvent","checkValueChanged","_determineInputEvent","_determineEventList","defaultInputEvent","_resolveField","watchCtxVm","debouncedFn","$nextTick","_addComponentEventListener","_addHTMLEventListener","$on","addListener","applyAriaAttrs","FieldBag","itemsById","prototypeAccessors$2","matcher","findById","mapper","ScopedValidator","_uid","_base","_paused","prototypeAccessors$3","acc","attach","attachOpts","pause","resume","descriptor","validateAll","validateScopes","VALIDATOR","getValidator","setValidator","requestsValidator","injections","mixin","provide","beforeCreate","$__veeInject","$_veeValidate","requested","util","defineReactive","findField","inserted","unbind","validations","pluginContainer","_createFields","paused","$vee","$emit","prototypeAccessors$4","staticAccessors$1","hasChanged","_guardExtend","mergedOpts","_merge","fieldOpts","oldFieldMatcher","oldField","_validate","uid","fieldDescriptor","silent","matched","_handleFieldNotFound","validationPromise","_handleValidationResults","providedValues","targetRules","targetKey","ruleMap","failedRules","_getDateFormat","date_format","_formatErrorMessage","targetName","_getFieldDisplayName","_getLocalizedParams","_convertParamObjectToArray","paramName","localizedName","_convertParamArrayToObj","hasKeys","_test","isDate","allValid","_createFieldError","fieldScope","fieldName","matchers","allErrors","_shouldSkip","_shouldBail","requireRules","ruleOptions","promises","isExitEarly","normalizeValue","normalizeFormat","I18nDictionary","rootKey","prototypeAccessors$5","getDateTimeFormat","setDateTimeFormat","dataOptions","fallbackLocale","localeKey","mergeLocaleMessage","pendingPlugins","pluginInstance","aggressive","eager","modes","VeeValidate$1","_Vue","configure","_validator","_initVM","_initI18n","prototypeAccessors$6","i18nDriver","staticAccessors$2","setI18nDriver","cfg","setMode","plugin","Rules","onLocaleChanged","formatFileSize","threshold","log","isDefinedGlobally","inclusion","alpha","alpha_dash","alpha_num","alpha_spaces","between","confirmed","credit_card","date_between","decimal","decimals","dimensions","excluded","ext","image","included","ip","ip_or_fqdn","mimes","required_if","dirtyNumber","MILLISECONDS_IN_MINUTE","getTimezoneOffsetInMilliseconds","dirtyDate","baseTimezoneOffset","setSeconds","millisecondsPartOfTimezoneOffset","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE$1","DEFAULT_ADDITIONAL_DIGITS","patterns","dateTimeDelimeter","plainTime","timeZoneDelimeter","YY","YYY","YYYY","YYYYY","DDD","MMDD","Www","WwwD","HH","HHMM","HHMMSS","timezone","timezoneZ","timezoneHH","timezoneHHMM","toDate","argument","dirtyOptions","additionalDigits","RangeError","dateStrings","splitDateString","parseYearResult","parseYear","year","restDateString","parseDate","parseTime","parseTimezone","dateString","patternYYY","patternYYYYY","yearString","centuryString","setUTCFullYear","validateDate","dayOfYear","validateDayOfYearDate","validateWeekDate","dayOfISOWeekYear","dayOfWeek","validateTime","timezoneString","absoluteOffset","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","setUTCDate","getUTCDate","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","isLeapYear","addMilliseconds","dirtyAmount","formatDistanceLocale","lessThanXSeconds","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","dateFormats","long","short","timeFormats","dateTimeFormats","formatLong","formatRelativeLocale","yesterday","today","tomorrow","formatRelative","baseDate","buildLocalizeFn","dirtyIndex","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","eraValues","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","rem100","era","quarter","dayPeriod","defaulFormattingWidth","buildMatchPatternFn","dirtyString","matchResult","matchPattern","matchedString","parseResult","parsePattern","valueCallback","buildMatchFn","matchPatterns","defaultMatchWidth","parsePatterns","defaultParseWidth","findKey","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","locale$1","weekStartsOn","firstWeekContainsDate","MILLISECONDS_IN_DAY","getUTCDayOfYear","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","startOfUTCISOWeek","getUTCISOWeekYear","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","MILLISECONDS_IN_WEEK$1","getUTCWeek","dayPeriodEnum","formatters","signedYear","twoDigitYear","addLeadingZeros","unit","signedWeekYear","weekYear","getUTCMonth","isoWeek","dayOfMonth","localDayOfWeek","isoDayOfWeek","getUTCHours","dayPeriodEnumValue","getUTCMinutes","getUTCSeconds","numberOfDigits","getUTCMilliseconds","fractionalSeconds","originalDate","_originalDate","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","targetLength","dirtyDelimeter","delimeter","absOffset","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","dateTimeFormat","datePattern","timePattern","longFormatters","subMilliseconds","protectedTokens","isProtectedToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","dirtyFormatStr","formatStr","utcDate","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","awareOfUnicodeTokens","isAfter","dirtyDateToCompare","dateToCompare","isBefore","isEqual$1","dirtyLeftDate","dirtyRightDate","dateLeft","dateRight","setUTCDay","dirtyDay","currentDay","dayIndex","setUTCWeek","dirtyWeek","setUTCISODay","setUTCISOWeek","dirtyISOWeek","MILLISECONDS_IN_HOUR$1","MILLISECONDS_IN_MINUTE$2","MILLISECONDS_IN_SECOND","numericPatterns","hour23h","hour24h","hour11h","hour12h","second","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basic","basicOptionalSeconds","extended","extendedOptionalSeconds","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","enumValue","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","DAYS_IN_MONTH$1","DAYS_IN_MONTH_LEAP_YEAR$1","isLeapYearIndex$1","parsers","priority","isTwoDigitYear","normalizedTwoDigitYear","firstWeekOfYear","wholeWeekDays","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","TIMEZONE_UNIT_PRIORITY","formattingTokensRegExp$1","escapedStringRegExp$1","doubleQuoteRegExp$1","notWhitespaceRegExp","dirtyDateString","dirtyFormatString","dirtyBaseDate","formatString","subFnOptions","setters","dateToSystemTimezone","parser","cleanEscapedString$1","uniquePrioritySetters","setterArray","convertedDate","setFullYear","setHours","parseDate$1","format$1","parsed","afterValidator","de","es","fa","fr","nl","pl","pt","ru","sk","sr","uk","ar","alphaSpaces","alphanumeric","alphaDash","paramNames$1","alpha$1","validate$1","paramNames$2","validate$2","paramNames$3","validate$3","paramNames$4","validate$4","options$1","paramNames$5","validate$5","paramNames$6","validate$6","options$2","paramNames$7","unwrapExports","__esModule","createCommonjsModule","assertString_1","_typeof","assertString","invalidType","isCreditCard_1","isCreditCard","_assertString","_interopRequireDefault","creditCard","digit","tmpNum","shouldDouble","validate$7","validate$8","inclusivity","dateVal","options$3","paramNames$8","validate$9","options$4","paramNames$9","validate$a","regexPart","paramNames$a","validate$b","strVal","imageRegex","validateImage","webkitURL","Image","onerror","onload","src","createObjectURL","validate$c","images","merge_1","isByteLength_1","isByteLength","isFQDN_1","isFQDN","default_fqdn_options","require_tld","allow_underscores","allow_trailing_dot","tld","part","isIP_1","isIP","ipv4Maybe","ipv6Block","blocks","foundOmissionBlock","foundIPv4TransitionBlock","expectedNumberOfBlocks","isEmail_1","isEmail","_isByteLength","_isFQDN","_isIP","default_email_options","allow_display_name","require_display_name","allow_utf8_local_part","displayName","emailUserPart","gmailUserPart","quotedEmailUser","emailUserUtf8Part","quotedEmailUserUtf8","display_email","domain","lower_domain","domain_specific_validation","username","_user_parts","allow_ip_domain","endsWith","noBracketdomain","user_parts","objectWithoutProperties","validate$d","emailStr","validatorOptions","validate$e","validate$f","validate$g","validate$h","validate$i","validate$j","paramNames$b","validate$k","validate$l","validate$m","is_not","compare","validate$n","validate$o","validate$p","validate$q","validate$r","validate$s","validate$t","strValue","validate$u","paramNames$c","validate$v","invalidateFalse","validate$w","otherFieldVal","possibleVals","options$5","validate$x","nSize","isURL_1","isURL","default_url_options","protocols","require_protocol","require_host","require_valid_protocol","allow_protocol_relative_urls","wrapped_ipv6","isRegExp","checkHost","host","auth","hostname","port","port_str","ipv6","disallow_auth","ipv6_match","host_whitelist","host_blacklist","validate$y","combine","mapScope","deep","isScope","mapFields","PROVIDER_COUNTER","ValidationProvider","$_veeObserver","createObserver","vid","slim","oldVal","_needsValidation","isDeactivated","fieldDeps","depName","watchCrossFieldDep","normalizedEvents","computeModeSetting","_inputEventName","registerField","createValidationCtx","$scopedSlots","$slots","addListeners","unsubscribe","activated","subscribe","deactivated","syncValue","normalizeValue$1","_pendingValidation","validateSilent","applyResult","createValuesLookup","updateRenderingContextRefs","shouldValidate","_ignoreImmediate","compute","onRenderUpdate","validateNow","createCommonHandlers","onValidate","$veeHandler","$veeDebounce","providers","refs","withHooks","_veeWatchers","flagMergingStrategy","mergeFlags","strategy","stratName","OBSERVER_COUNTER","ValidationObserver","observers","persistedStore","thenable","errs","obsErrors","$listeners","subscriber","kind","restoreProviderState","removeProvider","obs","$delete","withValidation","ctxToProps","hoc","vctx","syncInfo","formatDuration","totalSyncDuration","totalConnectionSpeed","NetworkType","networkType","networkSubType","NetworkSubType","MobileOperator","totalUploadedBytes","downloaded","totalDownloadedBytes","yo","sl","numbersPast","numbersFuture","verbalNumber","fi","arSa","bg","getLinkToInterviews","my","onWatcherChange","startWatchers","watcher","addParamsToQueryString","loadQuestionnaireId","requestParams","formatedNumber","queryObject","formatGuid","guid","gl","invalidDate","isAdding","workspacesList","selectedWorkspaces","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsNominative","monthsSubjective","bn","zhTw","mn","ky","bnBd","formatNames","whatToDoWithAssignments","interviewersToStay","interviewersToStayNamesOnly","selectedSupervisor","interviewersToMove","interviewersToMoveNamesOnly","movingDialogTitle","interviewsProcessed","assignmentsProcessed","progressInterviewers","lastname","more","isEmpty","runMoveInterviewersProgress","progressItem","migarateInterviewer","interviewerId","newSupervisorId","moveResult","movingTitle","countInterviewersToMove","interviewersArray","archived","ro","cy","lookup","arrayFilter","WorkspaceManager","AddInterviewerToWorkspace","InterviewersMoveToOtherTeam","isVisibleArchive","isVisibleUnarchive","sortable","team","teamName","filteredToRemove","isAnyInterviewerOrSupervisorSelected","getUserProfileLink","getFilteredItems","filterPredicat","archiveUsersAsync","isArchive","conditionToQueryString","queryStringToCondition","queryStringArray","ChangeToCapi","selectedRowWithMenu","filteredCount","showArchived","showLocked","unactiveDateStart","unactiveDateEnd","isVisiblePrefilledColumns","interviewData","clientKey","responsibleNameLowerCase","supervisorNameLowerCase","dom","searchHighlight","value_part","value_filter","updateDateUtc","togglePrefield","isNeedShowAssignInterviewers","filteredItems","InterviewId","InterviewerId","SupervisorId","commands","command","cmd","Comment","rejectCommand","arrayMap","executeCommand","onSuccess","onDone","getCommand","commandName","Ids","confirmReceivedByInterviewer","changeInterviewMode","Mode","showStatusHistory","statusHistoryList","paging","searching","retrieve","resultString","table","reloadTableAndSaveRoute","loadResponsibleIdByName","responsibleQueryName","queryConditions","initPageFilters","arDz","wereEmpty","changes","applyChanges","updateRoute","newQuery","$route","intValue","bm","gomDeva","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","processHoursFunction","editorOptions","onEditorChange","mdEditor","supportHtml","usageStatistics","hideModeSwitch","toolbarItems","markDown","Logo","formName","html","marked","editTitleText","editDescriptionText","WebInterviewSettings","updatePageMessage","cancelText","editButtonText","hasHeader","lo","deAt","tzmLatn","jv","esMx","enSg","nn","relativeTimeWithSingular","relativeSeconds","lv","deCh","Welcome","Complete","LinkInterview","emailTemplates","maped","userTemplate","webInterviewPageText","enablePageTextEditMode","isEditModePageTextEditMode","onSupervisorSelected","tzm","hookCallback","hooks","setHookCallback","hasOwnProp","isObjectEmpty","arrLen","valueOf","createUTC","strict","createLocalOrUTC","defaultParsingFlags","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_offset","_locale","Moment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","stack","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","addUnitAlias","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","getPrioritizedUnits","unitsObj","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","set$1","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","createUTCDate","UTC","firstWeekOffset","fwd","fwdlw","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","localWeekday","weekOffset","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","GG","createLocal","gg","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","millisecond","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","prototypeMax","pickBy","moments","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","quarters","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","dontConvert","lengthDiff","diffs","offsetFromString","chunkOffset","cloneWithOffset","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","direction","tmp","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","toISOString","keepOffset","inspect","datetime","inputString","defaultFormatUtc","defaultFormat","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","dates","isDSTShifted","proto$1","get$1","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","monthsFromDays","monthsToDays","daysToMonths","valueOf$1","makeAs","asSeconds","asMinutes","asHours","asDays","asWeeks","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Tabular","Stata","Spss","Binary","Ddi","Paradata","dropbox","oneDrive","googleDrive","isUpdatingDataAvailability","externalStoragesSettings","jobsLoadingBatchCount","isDropboxSetUp","isOneDriveSetUp","isGoogleDriveSetUp","updateExportStatus","exportParams","$firstFieldWithError","redirectToExternalStorage","translationId","response_type","redirect_uri","client_id","getExportParams","statusOption","translationsResponse","resetDataAvalability","updateDataAvalability","ExportProcessCard","showEmailPersonalLink","scenarioText","designerScenarios","canChangeLanguage","getScenarioUrl","prompt","sendEmailWithPersonalLink","validateEmail","crossDomain","withCredentials","getScenarios","scenarioContentResponse","scenario","scenarioId","scenarioTitle","handleDesignerApiResponse","he","sq","confirmMessage","receivedByInterviewerItemsCount","modalId","internalConfirmReceivedByInterviewer","sectionClass","loadSection","SectionLoadingProgress","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","tlh","markerCluster","points","infoWindow","lines","selectedTooltips","colorMap","red","green","blue","minimumClusterSize","trafficUsage","maxDailyUsage","initializeTrafficUsage","isIE","showPointsOnMap","locations","fillColor","fillOpacity","strokeColor","strokeWeight","scale","opacity","zIndex","marker","markers","bounds","cluster","point","lat","lng","imagePath","enableRetinaIcons","averageCenter","google","addDetailsOnClick","drawLines","clustersMap","center","leftPoint","rightPoint","geodesic","strokeOpacity","loadPointDetails","interviewIds","InterviewIds","initializeMap","checkInPoints","targetLocations","mapOptions","zoom","mapTypeControl","mapTypeControlOptions","panControl","panControlOptions","zoomControl","zoomControlOptions","minZoom","scaleControl","streetViewControl","showMap","hasLastKnownLocation","ConnectionStats","bo","ptBr","fil","hyAm","answeredQuestionsCount","activeQuestionCount","showFoldbackButtonAsHamburger","coverSection","currentPanel","showComplete","splashScreen","completeSection","titleCss","isCollapsed","hasChild","childPanel","childPanels","behavior","fetchChild","SidebarPanel","showCover","sections","frCa","nlBe","hi","setLocale","addLocale","OK","CANCEL","CONFIRM","dialog","gu","enIe","DeleteWorkspaceModal","nameErrors","displayNameErrors","workspacePath","displayNameValidations","nameValidations","readyToUpdate","isMapReloaded","totalMarkers","canAssign","selectedVersionValue","openInterview","createInterview","approveSvInterview","approveHqInterview","rejectSvInterview","rejectHqInterview","refreshInterviewData","setMapCanvasStyle","getMapOptions","delayedMapReload","mapInitialized","dark","markerForm","interviewStyle","iconStyle","fontSize","mapZoomService","currentZoom","pixelOffset","east","north","west","south","extendBounds","maxZoom","QuestionnaireId","QuestionnaireVersion","ResponsibleId","AssignmentId","Zoom","MaxZoom","clientMapWidth","stillLoading","setMapData","toRemove","features","GroupStatus","Disabled","NotStarted","StartedInvalid","Completed","CompletedInvalid","ButtonType","Next","Parent","heatmap","radius","dissipating","gradient","maxIntensity","totalAnswers","questionnaireVersions","GpsQuestionsByQuestionnaire","expand","updateRouteAndreloadMarkersInBounds","featureCollection","totalPoint","interviewFilter","mapReport","feature","heatmapData","weight","generateHighlightedText","regions","nextUnhighlightedRegionStartingIndex","fetchUrl","ajaxParams","selectFirst","selectedKey","selectedValue","jqEl","focusTo","$firstOptionAnchor","fetchOptions","fetchLocalOptions","setOptions","selectByKey","selectByValue","getLocationHash","questionid","humanFileSize","bytes","si","thresh","startUtc","exposedVariables","initialSet","idToRemove","bsort","replaceSubstitutions","ChangeVariableExposeStatus","columnName","km","interviewerHqEndpoint","PNotify","responseStatus","InterviewerHqComponent","hqinterviewer","toastErr","verboseMode","isPromise","handleErrors","storeConfig","fieldToSafe","wrapFields","UNHANDLED_ERROR","Errors","errMessage","et","enIn","deleteMapName","reloader","confirmDeleteMap","hubName","nsSeparator","keySeparator","resources","saveMissing","missingKeyHandler","ns","fallbackValue","appendNamespaceToMissingKey","parseMissingKeyHandler","i18next","parseRes","paIn","mask","onComplete","gd","supervisorsList","renderAssignmentsUrl","urlParams","renderInterviewsUrl","encodeQueryData","hasInvalidQuestions","isAllAnswered","competeButtonTitle","hasAnsweredQuestions","answeredQuestionsCountString","hasUnansweredQuestions","unansweredQuestionsCountString","invalidQuestionsCountString","entitiesWithError","doesShowErrorsCommentWithCount","noteToSupervisor","switchToWeb","webLink","shouldCloseWindow","hasCompleteInfo","mayBeSwitchedToWebMode","entityWithError","Interview","NewRouter","virtualPath","Splash","SideBar","savedPosition","beforeEach","afterEach","hamburger","getElementById","offsetParent","subscribeAction","xPseudo","sendingErrors","isEmailFormDirty","wasInitialized","questionnaireParams","censusOnly","anyWebModeAssignmentSelected","quantityValidations","tableOptionsraw","if","columnDefs","getClass","se"],"mappings":"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AypG,2BACA,CAAAj6F,8BAAAxP,gEAAAypG,2BACA,CAAAj6F,8BAAAxP,gEAAAypG,2BACA,CAAAj6F,gCAAAxP,kEAAAypG,2BACA,CAAAj6F,gCAAAxP,kEAAAypG,4BAGe,IACftvF,iBACAgO,YAAAuhF,cAEA1jH,KAJA,WAKA,OACAuuC,aACAo1E,eACAC,eACAT,WACAI,mBACAM,WACAX,oBAIA9iH,UACAozB,MADA,WAEA,2BAGA4vF,WALA,WAMA,gBACA,iCACA,oCACA,iCAHA,aAKA,oGAIA3B,YAfA,WAgBA,2BAEA,CACA3iH,qBACA8X,2BACA67B,qBACA7P,mBAIA08E,sBA1BA,WA2BA,+CACA,KAGA,wCACAtgH,yBAIA4+G,gBApCA,WAqCA,uEAEA,uDACArgH,0BAIAwlH,kBA5CA,WA6CA,uDACA,yDAGAvkH,iBAjDA,WAiDA,WACA,OACA0C,aACA4iH,gBACA1iH,QACAE,yBACA,2BACA,uBAEA,kBACA,mBAAAmxC,OAAA7P,UAMAmhF,YAjEA,WAkEA,wDACA,OACA,CACApkG,cACAzhB,kFACAs0D,0CAEA,CACA7yC,kBACAzhB,sCACAs0D,OACA74D,OACAmnG,SAAA,UACAkjB,QAAA,WACArqH,OACAmnG,SAAA,UACAmjB,MAAA,aAGA,CACAtkG,eACAzhB,oFACAs0D,wCAEA,CACA7yC,mBACAzhB,uCACAs0D,OACA74D,OACAmnG,SAAA,WACAkjB,QAAA,SACArqH,OACAmnG,SAAA,WACAmjB,MAAA,WAGA,CACAtkG,eACAzhB,mCAAAqgG,SACA/rC,0CAEA,CACA7yC,gBACAzhB,mCAAAqgG,UACA/rC,2CAEA,CACA7yC,gBACAzhB,mCAAAqgG,UACA/rC,2CAEA,CACA7yC,WACAzhB,6EACAs0D,0BACA,kDACA,gBAMA7vB,OACA8+E,YADA,SACA7+E,EAAA6P,GACA,wBACA,4BAEA,qBAIAhxC,SACA47G,oBADA,SACA5hG,GACA,sCAEA,2BACAoV,4BACAA,YACAA,cAIAgtF,2BAXA,SAWApiG,GACA,2BACAoV,6BACAA,YACAA,cAIAqzF,gBAnBA,SAmBAllH,GAC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CAtsB,aACA1Y,cAIAuD,SACApD,iBADA,YACA,uBACA,IACA,KA0JA,OAzJAosH,QACA3rH,kCACA6C,uBACAyE,qBACA,wCACA,IACA6xH,8CAIA,eACA,gCACAxN,QACA3rH,wCACA6C,oBACAyE,qEAGAqkH,QACA3rH,4CACA6C,oBACAyE,gEAGAqkH,QACA3rH,6CACA6C,oBACAyE,qBACA,sCACA,IACA8xH,kBACA,YACAA,cAIA,4BACAzN,qBAIA,gCACA,cACAA,QACA3rH,4CACA6C,uBACA,sCACAyE,yEAIA,cACAqkH,QACA3rH,wCACA6C,uBACA,sCACAyE,qBACA,qDAIA,cACAqkH,QACA3rH,0CACA6C,uBACA,sCACAyE,qBACA,wDAMA,6BACAqkH,QACA3rH,6CACA6C,uBACAyE,qBACA,sCACA,IACA8xH,kBACA,YACAA,WAEA9pH,wBAEAq8G,QACA3rH,8CACA6C,oBAAA,gKACA,2DACA,2CACA,uCAEA,qBACA,+BACA,+CAEAw2H,EAAAD,kBATA,SAUA,iBACAh4F,SACAl9B,WACAwgG,OAAA9+D,KACA,CAAAxB,iBAAAa,0BACA,CAAAX,sBAAAW,oBACA,CAAAq0F,4BAAAC,aACA71H,sCAEAshG,6BAnBA,cAUAw0B,EAVA,iBAsBA,iBACAp4F,SACAl9B,WACAwgG,OACA9+D,KACA,CACAxB,iBACAvjB,IAAAokB,yBACAntB,SAAAmtB,qBAGA,CACAw0F,uBAAAF,aAGA71H,sCAEAshG,6BAvCA,QAsBA00B,EAtBA,OA2CAC,EAAAH,gCACAI,EAAAF,kCAEA,YACA,4DAAAC,qBAAAC,yBA/CA,iGAAA/2H,KAmDA8oH,QACA3rH,8CACA6C,uBACAyE,qBACA,uCACA,IACA8xH,kBACA,YACAA,WAEA9pH,yBAIA,GAEA2pH,oBA/JA,WA+JA,iKACA,yBADA,gCAEA,MACAY,cAAA,2EACAz3E,SAJA,OAEAzZ,EAFA,OAKA,eACA,+CAEA,gBARA,8CAWA66E,YA1KA,WA2KA,4CAGAliH,UACAhC,aADA,WAEA,WACA,OACAmC,eACAD,kBACA,8CAEAG,SACA,CACAT,aACA9B,iCA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AAS,MAETA,EAAS,OAGxBpB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO40K,M,iICxDI,QACf58I,gBACAn0B,KAFA,WAGA,OACAs0G,mBAGA7wE,QAPA,WAQA,gCACA,kBAAAlmC,QAAAyB,uCAGAyC,SACA8iG,mBADA,SACAvkG,GACA,mBACAA,0CAGA,uBACAA,yCAGAulH,kBAVA,SAUAvmH,GACA,mBACA,2BACA3D,mDAGAinH,YAhBA,WAiBA,wBACA,2BAGA0uD,oBArBA,SAqBAhxK,EAAAoC,EAAAonB,GACA,QACA,mCACA,mCACA,wOACA,uFAGAmZ,OACA2xE,YADA,WAEA,qBAGAl0G,UACAhC,aADA,WAEA,WACA,GACA,CACA4B,0BACA9B,oCACA0D,2CACA9C,0BACAqD,OALA,SAKAnC,EAAAY,EAAAwB,GACA,+BACA,EAGA,uBAFA,kCAKA,qIAGA,CACApC,+BACA4B,yBACA9C,+BACAZ,4CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,wBAGA,CACApC,gCACA4B,yBACA9C,gCACAZ,6CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,yBAGA,CACApC,sBACAlB,sBACA8C,yBACA1D,mCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,eAGA,CACApC,iCACAlB,iCACA8C,yBACA1D,8CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,0BAGA,CACApC,iCACAlB,iCACA8C,yBACA1D,8CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6CAGA,CACApC,mCACAlB,mCACA8C,yBACA1D,sCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,4BAGA,CACApC,mCACAlB,mCACA8C,yBACA1D,sCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6CAGA,CACApC,kBACAlB,kBACA8C,yBACA1D,8BACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,E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A,WACA,0LACAr5C,EADA,gCACA51F,wBADA,mGAIAqtH,kBA1JA,WA2JA,yCACA,+BAEA,6BACA,mE,+YC3GA,4BAAA9uH,eAAAC,wBAEA,qyBAsCA,SAAS21K,EAAuB5yI,GAChC,SAIA,OAHAA,uBACArlC,yFAEA,kBAGA,SAASk4K,EAAuBC,GAChC,SAWA,OAVAA,uBACA,mBACA,uBAEAn4K,QACAuhC,cACAsD,WACAtjC,yBAGA,EAGe,QACfmjC,YACAsD,uBACAowI,qBAGA71K,KANA,WAOA,OACAqjG,qBACAngE,qBACAE,0BACAmL,aACAymE,gBACA2vB,mBACAmxC,yBACA7gE,YAAA8gE,gBACA1qI,OACA3oC,kBACA6vC,mBACA8hE,mBAAA2hE,gBAAAC,eACAxgE,sBACA6wB,0BACAF,yBACA58G,YACAi2F,oBACAy2D,uBACAC,qBACAz2D,qCACAymB,kCACAH,mCACAowC,6BAEAtzI,cAEA8hG,iBAAArnI,WAAAyB,cAAA,CAAAzB,WAAAyB,eACAskC,2BAKAljC,UACA8lI,0CADA,WAEA,mDACA,4DACA,0DAEA,4DAAAN,UAAAC,UAAAC,aAEAphC,QARA,WASA,wEAGA2xE,cAZA,WAaA,6BACA,GAEA,iBAEAn5H,aAlBA,WAmBA,yEAEAypF,gBArBA,WAsBA,2CAEA,gFACA,YACA,uBACA,IACA,uCACA,KACA,yCACA,OACA,0CAEAD,iBAlCA,WAmCA,yGACA,UAGA9jB,aAvCA,WAwCA,WACA,OACA,CACA5iH,WACAlB,WACAZ,qCACA+D,aACAC,cACAJ,qBACAF,mCACAO,OARA,SAQAnC,EAAAY,EAAAwB,GACA,sFACA,qBACAb,4BADA,YACAa,KADA,aACApC,GADA,OACAkuB,EADA,QAEA,UAEA2rB,YAdA,SAcA2qD,EAAAC,EAAAC,EAAAtiG,EAAA4E,GACAT,yBAEAxE,cAEA,CACA/B,uBACA9B,kDACA0D,wFACAK,aACAC,cACAC,OANA,SAMAnC,GACA,WAEA,wGACA,yGAGA,4BACA,UAEA65C,YAhBA,SAgBA2qD,EAAAC,EAAAC,EAAAtiG,EAAA4E,GACAT,+BAGA,CACAv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BAAkB3a,OAAO,wBAClzJ/Y,EAAkB,G,YC8HP,GACfs0B,iBChI6Y,I,YCOzYjxB,EAAY,eACd,EACAf,EACAtC,GACA,EACA,KACA,KACA,MAIa,OAAAqD,E,wOC+jBA,QACfi/B,YAAA05I,eAAAxtC,cAAAytC,gBAAA/xH,cAAAgyH,sBAEA/7K,KAHA,WAIA,OACAg8K,kBACAzoJ,4BACAohG,2BACAC,2BACAC,4BACAC,iCACAC,0CACAG,WACArhF,gCACAC,qCACA9f,WACAD,aAIAinB,YApBA,WAsBA,WACAz5C,8DACAA,2DACAA,qCACAA,wDACAA,4DACAA,8DACAA,wEACAA,4FACAA,iFACAA,2FACAA,8DACAA,uFACAA,iGACAA,kEACAA,oEACAA,8EACAA,kGACAA,qCACAA,qCAEA,qCACA,0CACA,cACA,QACA,oCACA,+EACA,+EACA,+HACA,mFACA,OACAvC,QACAk1H,yBACAjhF,UACA7W,UACA8W,sBACAC,WACA3tB,sCAKA1S,kDACAvR,mDAGA,+CACA,iCACA,cACA,sCACA,IACA,+CACA,OACAvC,QACA4Z,OACAw6G,cACA2nD,iBAGA5kH,QAAA,cAEA,OADA8lH,aACA,IACA,IAEA16K,mCACAA,kCACAA,kCACAA,qCAGAE,SACAuxH,UADA,SACAiB,GACAnhH,kDACAqJ,iBAEA83G,cAEA,WACA,2BAAA1yH,2CAEAyyH,cAVA,SAUA1gF,EAAAE,GACA,2BACA,6CACAF,YAAAE,oBAKAihF,wBAlBA,SAkBAR,GACA,wDACA,6CACAA,uFACAA,uFACAA,mJACAA,4FACA,oDAGAO,kBA5BA,SA4BAP,GAAA,mKACA1yH,EAAA,EADA,SAEA,sDAFA,UAEA6nI,EAFA,QAGAA,EAHA,uBAKA7nI,kCALA,SAMA,+HACAimC,MAAA,YACA,0CACAjmC,4CAEA,8CACA26K,oBACAA,oBACAA,4CACAA,sBAEA36K,mDAEAmmC,OAAA,YACA9B,mCAEA4B,MAAA,WACAjmC,qCAvBA,8CA2BA46K,qBAvDA,SAuDAv7K,GACA,8CAEAw7K,uBA1DA,SA0DAx7K,GACA,gDAEAy7K,2BA7DA,SA6DAz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BAjEA,WAiEA,yKACAlsM,EAAA,EACAiwC,EAAA,8BACAw2J,EAAA,yBAHA,SAIA,4BAJA,OAIAvgK,EAJA,OAKAznC,EAAAynC,OAEA,UACAznC,mBACAA,cACAuB,oBAEAqkC,4BACArkC,gEAIAymM,iDAjBA,8CAoBA0F,kBArFA,WAsFAnnM,iCACA,yBACA,yCACAA,6CAGAs3G,2BA5FA,SA4FA7+G,GACA,4BACA,kEACA,8BAGAq+G,oBAlGA,SAkGAr+G,GACA,+BAEA,mDACA,sCAEA,2DAAAzB,+BAAA,MAEA,2BACAszB,yCAIA00F,kBA/GA,SA+GAlpD,GACA,qBACA,2BACAxrC,sCAEA,8BAGA8zE,sBAvHA,WAwHA,uBACA,8BAGAgpG,cA5HA,WA6HA,OACAjE,OACAC,kBACAC,uBACA7oM,qDACAsO,iDAEAw6L,cACAC,mBACAz6L,gDAEA06L,eACAC,oBACAjpM,yCACAsO,gDAEA46L,UACAC,gBACAC,uBAIAb,cAnJA,WAmJA,WACA,OAEA,wCACA,qDAEA,2CAEA,wCAGA,mBAKA,0BAJA,qBAKA,KAEA,KACA,8DACA,kDACA,EAIAsE,IAHAC,QAMA,oCACA,4BAEA,kBACA,CACA,uBACA,0BAEA,GACAh0L,MACAlZ,sCACAmtM,UAIA,KACA,KAEA,oBAGA,OAFAC,WAEA,GACA,cACA,0BACA,gBACApvE,WACA,MACA,2BACA,6BACAA,WACA,MACA,QACAA,aACA,WAIA,mBACA,UACA,gBACA,yBACAovE,UACApvE,WACA,MACA,6BACAovE,UACApvE,WACA,MACA,QACAovE,WACApvE,aACA,WAIA,oBACA,UACA,2BACAovE,aACApvE,WACA,MACA,+BACAovE,aACApvE,WACA,MACA,6BACAovE,aACApvE,aACA,MAEA,cACA,0BACA,gBACA,2BACAovE,WACApvE,aACA,MAEA,gBACA,yBACA,6BACAovE,UACApvE,aACA,MAEA,QACAovE,WACApvE,aACA,MAKA,OADAqvE,sEACA,EAEA,mBACA,CACA,uCACA,KACA,UACA,kBACAD,WACA,MACA,iBACAA,UACA,MACA,QACAA,aACA,MAEA,OACAl0L,MACAlZ,8DAIA,iBACA,OACAA,sCACAmtM,SAEA,yBACA,KACAG,wCACA,OACAA,wCACAA,WAEAA,MADA,MACAA,kCACA,MACAA,kCAEAA,kCAGA,qBACA,QAEA,4BAEA,KACA,SAIA,OAHAA,uCACAA,wCAEA,CACAj0L,OACAk0L,gBACAt1L,OACAk7G,4BAEAj6G,QAGA,YAGA,+MACAjZ,EAAA4Q,8BAEA5Q,aAHA,uBAMAutM,EAAA,+BACAC,EAAA,gBAPA,SAQAD,2CACA,cACA,+CACA,4CAEA,GACAv6E,mBACA7c,mBAGAx1G,oBAEAqkC,4BACArkC,0DACAA,mCACAA,yBACA8sM,0CAEA9sM,iCAIAA,mBACAA,yBA/BA,iCAmCAX,eAnCA,wBAqCA4wC,EAAAhgC,qCArCA,UAuCA,4BAvCA,QAuCAi2B,EAvCA,OAwCAznC,EAAAynC,OAEA,UAEAznC,mBACAA,sBAEAuB,oBAEAqkC,4BACArkC,4DACAA,mCACAA,yBACA8sM,0CAEA9sM,6BAvDA,2BA2DAX,gBA3DA,wBA6DA8B,EAAA8O,sCA7DA,UA+DA,uBA/DA,QA+DAi2B,EA/DA,OAgEAznC,EAAAynC,OACAznC,oBACAA,sBAEAuB,oBAEAqkC,4BACArkC,6DACAA,mCACAA,yBACA8sM,0CAEA9sM,4BA5EA,mGAiFAmnM,wDACA,oCACA,yCACA,GACAnnM,iBAIA,mDAEA,0BAGAwE,0CACA,YACAxE,iFAEA,WACAA,sBAPA,uBAaA88G,sBAtbA,WAubA,2BAEA,QACA,2CAEA,qBACA6pF,uBACAA,uBACAA,uBACAA,wBACA,IAKAX,gBAtcA,SAscA+G,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,yKACAhF,EAAAgF,qBAKAC,EAAA,GAEAp9J,EAAA,CACAq9J,0DACAC,4CACAC,8CACAC,4BACAC,OACAC,UACAX,OACAC,QACAC,OACAC,QACAS,2CAGA,EAEAC,GAAA,EAEAn5D,+BACA,yBACA,KA5BA,SA8BA,oBA9BA,OA8BAvuG,EA9BA,OAgCA,uBAEA0nK,KACA,eAnCA,+CAsCAC,WA5eA,SA4eApvM,EAAA0uM,GAAA,WACA,KAEA,gCAEA,+BACA,mCAEA,mCACAW,kBAGA,OACAC,YACA1uM,0BAiBA,GAdA0M,qCACA,kBACA,QAEA26L,sBAIA,4BAEA36L,iDACA,2BAGA,EACA,yBACA,wBACA,CACA,2DACA,uDACA,oCACA,sBACA,4B,0KCh6BAs4B,OAAI1iC,UAAU,SAAS,kBAAM,8CAC7B0iC,OAAI1iC,UAAU,oBAAoB,kBAAM,8CACxC0iC,OAAI1iC,UAAU,iBAAiB,kBAAM,8CACrC0iC,OAAI1iC,UAAU,qBAAqB,kBAAM,8CACzC0iC,OAAI1iC,UAAU,oBAAoB,kBAAM,8CACxC0iC,OAAI1iC,UAAU,YAAY,kBAAM,8CAChC0iC,OAAI1iC,UAAU,YAAY,kBAAM,8CAChC0iC,OAAI1iC,UAAU,UAAU,kBAAM,8CAC9B0iC,OAAI1iC,UAAU,OAAO,kBAAM,8CAC3B0iC,OAAI1iC,UAAU,SAAS,kBAAM,8CAC7B0iC,OAAI1iC,UAAU,cAAc,kBAAM,8CAClC0iC,OAAI1iC,UAAU,WAAW,kBAAM,8CAC/B0iC,OAAI1iC,UAAU,eAAe,kBAAM,8CACnC0iC,OAAI1iC,UAAU,gBAAgB,kBAAM,8CACpC0iC,OAAI1iC,UAAU,cAAc,kBAAM,8CAClC0iC,OAAI1iC,UAAU,oBAAoB,kBAAM,8CACxC0iC,OAAI1iC,UAAU,aAAa,kBAAM,8CACjC0iC,OAAI1iC,UAAU,cAAc,kBAAM,8CAClC0iC,OAAI1iC,UAAU,YAAY,kBAAM,8CAChC0iC,OAAI1iC,UAAU,gBAAgB,kBAAM,8CACpC0iC,OAAI1iC,UAAU,QAAQ,kBAAM,8CAC5B0iC,OAAI1iC,UAAU,YAAY,kBAAM,8CAChC0iC,OAAI1iC,UAAU,eAAe,kBAAM,kGACnC0iC,OAAI1iC,UAAU,gBAAgB,kBAAM,mGACpC0iC,OAAI1iC,UAAU,eAAe,kBAAM,8CAEnC0iC,OAAI1iC,UAAU,4BAA4B,kBAAM,kGAChD0iC,OAAI1iC,UAAU,uBAAuB,kBAAM,kGAC3C0iC,OAAI1iC,UAAU,sBAAsB,kBAAM,kGAC1C0iC,OAAI1iC,UAAU,2BAA2B,kBAAM,kGAE/C0iC,OAAI1iC,UAAU,kCAAkC,kBAAM,mGACtD0iC,OAAI1iC,UAAU,iCAAiC,kBAAM,mGACrD0iC,OAAI1iC,UAAU,4BAA4B,kBAAM,mGAEhD0iC,OAAI1iC,UAAU,eAAe,kBAAM,8CACnC0iC,OAAI1iC,UAAU,gBAAgB,kBAAM,8CACpC0iC,OAAI1iC,UAAU,gBAAgB,kBAAM,8CAE7B,IAAMqsM,EAAc,CACvBC,SAAU,WACVC,WAAY,aACZh5E,QAAS,UACTi5E,eAAgB,iBAChBC,UAAW,YACXC,iBAAkB,oBAGTC,EAAa,CACtBr5E,MAAO,QACPs5E,KAAM,OACNC,OAAQ,SACRj0B,SAAU,a,qUCwGd,GACA,CACAn7K,sCACAmtM,SAEA,CACAntM,sCACAmtM,SAEA,CACAntM,sCACAmtM,SAEA,CACAntM,sCACAmtM,SAEA,CACAntM,sCACAmtM,UAIA,62BAiCA,SAASp4B,EAAuB5yI,GAChC,SAIA,OAHAA,uBACArlC,yFAEA,kBAGA,SAASk4K,EAAuBC,GAChC,SAWA,OAVAA,uBACA,mBACA,uBAEAn4K,QACAuhC,cACAsD,WACAtjC,yBAGA,EAGe,QACfmjC,YACAsD,wBAEAtR,gBAEAn0B,KANA,WAOA,OACA89G,kBACA6oF,gBACAroF,mBACAwuF,iBAIAC,iBACAj6L,SACAk9L,aACAhyF,eACAzvE,aACA0vE,gBACAgyF,UACAC,eACAC,YACAC,mBAEAC,eAEAvtK,cACAQ,2BAIAX,OACAg7E,wBADA,SACA/6E,GACA,UACA,sBAIAg7E,gBAPA,SAOAh7E,GACA,UACA,sBAIAI,iBAbA,SAaAJ,GACA,UACA,qBAGA,uBACA,uBAIA,2CACA,wBAGAo7E,YA3BA,WA4BA,+BAIA59G,UACAozB,MADA,WAEA,2BAGA2gF,eALA,WAMA,kCAGAm8F,sBATA,WAUA,6CACA,uCAGApD,qBAdA,WAeA,iEAGAj5F,IAlBA,WAmBA,kCAGAwN,YAtBA,WAuBA,OACA3iH,qBACA8X,2BACA0kC,8BAOA,OAJA,2BACApb,iCAGA,GAGAy9E,wBApCA,WAqCA,+CACA,KAGA,6CACA3+G,yBAIA4+G,gBA9CA,WA+CA,yEAEA,yDACArgH,0BAIAylC,iBAtDA,WAuDA,+DACA,qCAAAzlC,2BAEAimG,MA1DA,WA2DA,SAKA,OAHA,mFACA,qGAEA,GAEAC,WAlEA,WAmEA,SACA,oDAGA,qCACA,kBAEA,OAAA3/D,QAAA9E,UAAA+E,iBACA,+DAEA,qBACA,KACA4yI,UACAC,UAEAlyI,QAAAP,iBAAAF,cASA,OAJA,gCACAS,iCAGA,IAKAjB,QAjKA,WAkKA,yBACA,qBAEA,iEACA,iDAEA,oCACA,uDAGA,8BACA,mEAIAhiC,SACA08G,sBADA,SACAr7E,GACA,kBACA,4CAEAs7E,0BALA,SAKA96E,GACA,2BACA,4CAEAoqK,kBATA,WAUAnnM,iCACA,yBACA,yCACAA,6CAGA23G,cAhBA,WAiBA,yBACA+xF,kCACAC,4CACAE,iDAIAvyF,2BAxBA,SAwBA7+G,GACA,4BACA,kEAEA,mBACA,4BAAA6jC,sBAAA1iB,aAEA,sBAGAk9F,oBAlCA,SAkCAr+G,GAAA,WACA,uBAEA,uEACA,2DAAAzB,+BAAA,MAEA,6BACA,qBAEA,2BACAszB,+BAGA,mBACA,4BAAAgS,sBAAA1iB,aAEA,wBACA,kGAGAkhG,cAtDA,WAsDA,WACA,8BAEA,gBACAkvF,4BAAA,oDACA/oK,MAAA,YACA,0CACAp+B,QAAA,qCACA0J,KAAA,YACA,OAAAvV,MAAAyB,YAEAA,QAEA,wBACA,uCAEA2oC,+DAKAo2E,kBA3EA,SA2EA/+G,GACA,qBACA,oEAGA2uM,cAhFA,WAiFA,OACAjE,OACAC,kBACAC,uBACA7oM,qDACAsO,iDAEAw6L,cACAC,mBACAz6L,gDAEA06L,eACAC,oBACAjpM,yCACAsO,gDAEA46L,UACAC,gBACAC,uBAIAb,cAvGA,WAuGA,WACA,OAEA,yFAEA,yDACAx2L,eAGA,2CAEA,wCACA,2BAIA,mBAKA,0BAJA,sBAKA,KAEA,KACA,8DACA,kDACA,EAIA86L,IAHAC,QAMA,oCACA,QACA,yBAEA,QACA,qBACA,eAEA,qCAEA,OAEA,IACA,KACA,WAIA,OAHA9sM,uCACAA,wCAEA,CACAiZ,OACAk0L,gBACAt1L,OACAk7G,4BAEAj6G,QAGA,YAGA,uMACArI,kCADA,gBAEAg/L,EAAAh/L,gCACAjQ,iBACAA,sBAJA,8BAMAiwC,EAAAhgC,qCANA,SAQA,4BARA,OAQAi2B,EARA,OASAznC,EAAAynC,OAEA,UAEAznC,mBAEAuB,oBAEAqkC,4BACArkC,mDACAA,mCACAA,yBACA8sM,0CAEA9sM,6BAvBA,mGA6BA,mDAEA,0BAGAwE,0CACA,YACAxE,iFAEA,WACAA,sBAPA,uBAaAkvM,oCApNA,WAqNA,6BACA,+BAGApyF,sBAzNA,WA0NA,2BAEA,QACA,2CAEA,qBACA6pF,uBACAA,uBACAA,uBACAA,wBACA,IAKA72B,uBAzOA,WA0OA,yCAEA,2CACA,mBAAAnxI,UACAwH,OAAA,gBAIA6/J,gBAlPA,SAkPA+G,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,yKACAhF,EAAAgF,qBAEA,0DAHA,uBAIA,cACAgC,qBACAC,eANA,iCAWApvM,EAAA,EAEAgwC,EAAA,CACAvS,gCACAkE,iEACAE,+FACAsmK,gCACA4E,OACAC,QACAC,OACAC,QACAS,0CACA1sM,sCAGA2sM,GAAA,EAEAn5D,+BACA,yBACA,KAIAxyC,EAAA,CACA9+D,kCAGA,iBACA6M,SAAAq/J,oBAvCA,UA0CA,iBACA1wK,QACAl9B,YACA8gG,6BA7CA,QA0CAuiB,EA1CA,OAgDAwqF,EAAAxqF,wBACA/4G,+DACA,0CACA,CACA,6BACAwjM,oDAIA,kBAEA3B,KACA,eA5DA,+CA+DAC,WAjTA,SAiTApvM,EAAA0uM,GAAA,WACA,KAEA,gCAEA,+BACA,mCACA,GAAA1uM,SAEA,mCAEA,wBAGA,OACAsvM,YACA1uM,0BAkCA,GA/BA0M,qCACA,kBACA,QAEA26L,mBAGA,6BACA,wBAEA8I,aACA36J,2CACA46J,cAIA,kBACA,mCACA,wBAGA,+BAEA,4BACA,0BAGA1jM,iDACA,2BAGA,EACA,yBACA,wBACA,CACA,sBAEA,yCACA,yCACA,oCACA,sBACA,4B,uNCreA,SAAS2jM,EACTr4L,EACAs4L,GAGA,IAFA1hM,EAEA,uDAFA,WACA0iD,EACA,uDADA,YAEA,eAEA,SACAi/I,IAgBA,OAdAD,uBACAj4L,GACA,GACAL,oBACApJ,EACAoJ,yBACAs5C,EAGAi/I,YAGAl4L,kBAEA,EAlQe,QACfna,iBAGA4lJ,eACA5lJ,gBAAA,wBAGA2jC,OACA2uK,gBACA5jK,WACA5sC,YACAuiC,aAEAnkC,aACAuwC,mBACA8hK,kBACAnjK,mBACAttC,aACA60B,YAEAmrD,aACAhzC,iBACAY,gBACApgC,UACAxN,aACA60B,YAEA67K,aACA1wM,aACA60B,YAEA87K,aACA3wM,YACA60B,cAEA+7K,eACA5wM,YACA60B,eAGAkN,OACAyuK,SADA,SACA31L,GACA,aACA,EACA,oBAGA,4CAGArN,SAVA,SAUAqN,GACA,EACA,aAEA,sBAGAzb,KA1DA,WA2DA,OACAmO,WACAogC,aACAT,gBAIA1tC,UACAytC,QADA,WAEA,oCAEAJ,SAJA,WAKA,6CAEAC,gBAPA,WAQA,oCAIAjK,QA9EA,WA8EA,WACA,cACA,mCAEAguK,qCACAC,UACA,oBAGAD,sCACA,mBAGA,wDAGAhwM,SACAwsC,mBADA,WAEA,iCACA5tB,KAAA,KACAsT,QACAg+K,WAEArjK,cAPA,SAOA98B,GACA,MAGA,IAFAjL,YACAib,SACAnY,QAEA,IACA,6BACAmI,sBAIAogM,aAnBA,SAmBA1xK,GACA,iBAKA,kBAEA,WACA,gBACA,kBAEA,sBACA,CAAAA,yBAAApP,UACA,iBAEA,kBACAlkB,IAAA,eAAAikC,WACArJ,MAAA,YACA,wBACAjmC,2CAEA,qBACA,QACAA,iBAEA,QACAA,mBAEA,8BACAA,oCAKAA,kBAEAmmC,OAAA,oCAnCA,0BAqCAmqK,kBA1DA,WA2DA,wBACA,oCACA,6FACA,qCAEA,0CAGA,uBACA,mCAEA,yBACA,uCAEA,oCACA,yCAGAC,WA7EA,SA6EAlxH,GAAA,iEACA,cAEA,6EACA,OACA74D,OACAuK,iBAEAtzB,SAGAyvC,MAxFA,WAyFA,2CACA,oBAEAJ,aA5FA,SA4FArvC,GACA,yCAEA+yM,YA/FA,SA+FAx0M,GACA,0EACA,SACA,2BAGAy0M,cArGA,SAqGAhzM,GACA,4EACA,SACA,2BAGA+uC,kBA3GA,SA2GAr9B,GACA,+BACA,qBAEA09B,UA/GA,SA+GAjyB,EAAA2xB,GACA,oBACA,wCAEA,MACA,wDACA,qBAEA,gCACA,0CAIA,SAEA,SACA3xB,aACAA,uBAIAgyB,QApIA,SAoIApmB,GACA,6C,qQChSawiB,EAAkBnkC,OAAO8/B,OAAOyQ,OAAOA,OAE7C,SAASs7J,EAAgBC,GAC5B,MAAO,OAASA,EAGb,IAAM5yJ,EAAc,CACvBD,SAAU,sBACV7H,KAAM,aACNwrF,eAAgB,sBAGb,SAASmvE,EAAcC,EAAOC,GACjC,IAAIC,EAASD,EAAK,IAAO,KACzB,GAAI5iM,KAAKwtB,IAAIm1K,GAASE,EAClB,OAAOF,EAAQ,KAEnB,IAAIxoK,EAAQyoK,EACN,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC3C,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACpD/pM,GAAK,EACT,GACI8pM,GAASE,IACPhqM,QACGmH,KAAKwtB,IAAIm1K,IAAUE,GAAUhqM,EAAIshC,EAAMrgC,OAAS,GACzD,OAAO6oM,EAAMv3G,QAAQ,GAAK,IAAMjxD,EAAMthC,GAGnC,SAAS/F,EAAegwM,EAAUxvM,GACrC,OAAmB,MAAZwvM,EACD,KACA54M,IAAO0iC,IAAIk2K,GACR52K,GAAG54B,GACHq7B,QACAz5B,OAAO26C,EAAY0jF,kB,4KCoGhC,4BAAAljI,eAAAC,wBAEe,QAEfC,KAFA,WAIA,OACAwyM,oBACAC,cACAC,kBAIAtyM,UACAozB,MADA,WAEA,2BAEAp1B,aAJA,WAKA,WACA,OACAmC,eACAE,SACA,CACAT,kBACAlB,kBACA,WACAk2K,YACA,uBACA,mCAGA,CACAh1K,gBACAlB,gBACA,YACAZ,qDACA82K,aAEA,CACAh1K,aACAlB,aACA,YACAZ,6DACA82K,YACA,uBACA,oDAKA10K,kBACA,aAEAI,MACAC,+EACAC,WACAC,gCAEA8xM,SACA34J,cACA,YACA/4C,kCACA64C,0BACA,oEACAvzC,6BAIA9G,aAvDA,WAwDA,yDACA,SAEA,yCAEA,uDACA,SAGA,WAGAgkC,QA/EA,WA+EA,WACA,sEACAulG,iBAAA,0CACAxhG,MAAA,YACA,mDACA,OACA7nB,QACAzhB,sDACA8gC,oBACAhlB,cACAwoB,4BAIA,oDAGA/gC,SACA+H,eACAopM,qBAFA,SAEA5zM,GACA,eACA,KACA,+BAGA4pI,cARA,WASA,qCAAAhmI,eAIA6lI,qBAbA,SAaA7nI,GACA,UACA,eACA,UACA,eACA,UACA,QACA,WAIAioI,wBAxBA,WAwBA,oKACA,6DACAgqE,2BAAA,0FAFA,cAGA,gDACA,yCAJA,8CAOArqE,eA/BA,SA+BAsqE,EAAAxyM,EAAAmkG,GACA,2BAEA,oCACA,wCAGA,qEACA,WACA,+EAEA,eACA,kCACA9kF,QACAzhB,4CACA8b,cACAglB,oBACAwD,0BAEApgC,wCAGAumI,qBArDA,SAqDAhpH,GAEA,kBACA,qCAAA/c,eAGAkmI,sBA3DA,WA2DA,WACA,4EACA,kCAEA,sDACA,SACA1mI,wCACA,6CAEAsmI,iBApEA,SAoEA1pG,GACA,6CACAA,kDAEAqG,gBAxEA,SAwEAnnC,GACA,uCACA,mD,4CChTE,SAAU1E,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI2uC,EAAY,CACR/T,EAAG,IACHG,EAAG,IACHG,EAAG,IACHC,EAAG,IACHN,EAAG,IACHO,EAAG,IACHJ,EAAG,IACHF,EAAG,IACHO,EAAG,IACHuT,EAAG,KAEPkB,EAAY,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAGTspK,EAAKp5M,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,yEAAyEC,MAC7E,KAEJC,YACI,yEAAyED,MACrE,KAERE,SAAU,iDAAiDF,MAAM,KACjEG,cAAe,oBAAoBH,MAAM,KACzCI,YAAa,oBAAoBJ,MAAM,KACvCoL,oBAAoB,EACpB/K,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,oBACLC,KAAM,2BAEV4B,cAAe,cACf8H,KAAM,SAAUP,GACZ,MAAiB,UAAVA,GAEXpH,SAAU,SAAUD,EAAME,EAAQC,GAC9B,OAAIH,EAAO,GACA,QAEA,SAGf7B,SAAU,CACNC,QAAS,oBACTC,QAAS,kBACTC,SAAU,iBACVC,QAAS,qBACTC,SAAU,8BACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,QACNC,EAAG,iBACHC,GAAI,YACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,UACHC,GAAI,UACJC,EAAG,QACHC,GAAI,QACJC,EAAG,WACHC,GAAI,YAERgB,uBAAwB,YACxBC,QAAS,OACT6rC,SAAU,SAAU75B,GAChB,OAAOA,EAAOgC,QAAQ,iBAAiB,SAAUnN,GAC7C,OAAO2lC,EAAU3lC,OAGzBilC,WAAY,SAAU95B,GAClB,OAAOA,EAAOgC,QAAQ,OAAO,SAAUnN,GACnC,OAAOwkC,EAAUxkC,OAGzB7H,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO42M,M,kLCzGLroK,EAAQ,CACV7b,MAAO,CACHmjH,cAAe,MAEnBhoH,QAAS,CACLojL,gBADK,WACyB1qM,GAAc,IAA1B6lG,EAA0B,EAA1BA,SACdA,EAAS,gBAAgB,GAEzBhiG,EAAE0qC,KACE,CACItwC,IAAKilC,OAAI8P,QAAQliB,MAAMw/K,sBAAwB,sBAAwBtwM,EACvEowC,QAAS,CACL,eAAgBlN,OAAI8vF,IAAIC,KAAKtiF,mBAIpCixD,MAAK,SAAUtkG,GACZuoG,EAAS,gBAAgB,GACzB,IAAM/2D,EAAcxxC,EAAKwxC,YACnBhvC,EAAYojC,OAAI8P,QAAQlzC,UACxB7B,EAAM,IAAH,OAAO6B,EAAP,yBAAiCgvC,EAAjC,UACTprC,OAAOgwC,SAAWz1C,KAErB+mC,OAAM,SAAA1nC,GACH,IAAIizM,IAAQ,CACR/0M,MAAO,2BACP0a,KAAM5Y,EAAKkzM,eACXtyM,KAAM,UAEV2nG,EAAS,mBAEZ/gE,MAAK,kBAAM+gE,EAAS,oBAE7B4kG,cA7BK,SA6BSp3G,EAASvkD,GACnBukD,EAAQwS,SAAS,gBAAgB,GACjCniG,OAAOgwC,SAAWxQ,OAAI8P,QAAQliB,MAAMw/K,sBAAwB,kBAAoBxhK,GAGpF2yD,iBAlCK,SAkCYpO,EAlCZ,GAkCgD,IAAzBp0F,EAAyB,EAAzBA,SAAU6vC,EAAe,EAAfA,YAClCjrC,EAAE7F,KAAK,CACHC,IAAKilC,OAAI8P,QAAQliB,MAAMw/K,sBAAwB,qBAAuBxhK,EACtE5wC,KAAM,SACNiW,QAASlV,EACTmxC,QAAS,CACL,eAAgBlN,OAAI8vF,IAAIC,KAAKtiF,sBAO5B8/J,E,WACjB,WAAYt3F,GAAW,uBACnBniH,KAAKmiH,UAAYA,E,2CAGrB,WACI,MAAO,CAAC,CACJjlB,KAAM,2BAA4B1zF,UAAW44G,QAC9C,CACCllB,KAAM,0BAA2B1zF,UAAW6jI,QAC7C,CACCnwC,KAAM,2BAA4B1zF,UAAW6jI,QAC9C,CACCnwC,KAAM,yBAA0B1zF,UAAW6jI,W,mBAInD,WAAgB,MAAO,CAAEqsE,cAAe1oK,O,+KCjD5C,SAAS2oK,EAASl8L,EAAKilB,GACfh2B,OAAO8/B,OAAOotK,aACd92L,QAAQ3N,MAAMutB,EAASjlB,GAG3BwwB,WAAavL,EAAS,QAAS,CAC3BuxE,mBAAmB,IAI3B,SAASvsG,EAAKtC,EAAM8R,EAAQm3F,GAExB,OAAO,WACH,IACI,GAAI3hG,OAAO8/B,OAAOotK,YAAa,CAC3B,IAAM3lD,EAA2B,MAAhB3hJ,UAAU,GAAa,KAAOoiE,KAAK7xC,MAAM6xC,KAAKC,UAAUriE,UAAU,KAC/E2hJ,GAAY9jJ,OAAOkC,UAAUgE,eAAetF,KAAKkjJ,EAAU,UAC3DnxI,QAAQouE,MAAM,OAAQmd,EAAS,OAAQ4lD,EAAS36I,OAAQlU,EAAM6uJ,GAE9DnxI,QAAQouE,MAAM,OAAQmd,EAASjpG,EAAM6uJ,GAG7C,IAAMlwJ,EAASmT,EAAON,MAAM5W,KAAMsS,WAElC,GAAIvO,EAAQ,CACR,IAAI81M,EAAkC,mBAAf91M,EAAO+pC,KAG1B+rK,GACA91M,EAAOiqC,OAAM,SAAAvwB,GACTqF,QAAQ3N,MAAM/P,EAAMqY,GACpBk8L,EAASl8L,EAAKrY,EAAO,KAAOqY,EAAIilB,YAK5C,OAAO3+B,EACT,MAAO0Z,GACLwwB,WAAaxwB,EAAIilB,SACjB5f,QAAQ3N,MAAM/P,EAAMqY,KAKhC,SAASq8L,EAAa7kM,EAAQo5F,GAC1B,IAAIn3F,EAEJ,IAAK,IAAM9R,KAAQ6P,EACa,oBAAjBA,EAAO7P,KACd8R,EAASjC,EAAO7P,GACG,oBAAf8R,EAAO9R,OACP6P,EAAO7P,GAAQsC,EAAKtC,EAAM8R,EAAQm3F,KAI9C,OAAOp5F,EAGJ,SAAS0kG,EAAUogG,GAAqD,IAAxCC,EAAwC,uDAA1B,CAAC,UAAW,aAE7D,SAASC,EAAWz2L,GAChB,IAAK,IAAMolB,KAASoxK,EAAa,CAC7B,IAAM3rL,EAAO2rL,EAAYpxK,GAErBz4B,OAAOkC,UAAUgE,eAAetF,KAAKyS,EAAQ6K,KAC7C7K,EAAO6K,GAAQyrL,EAAat2L,EAAO6K,GAAOA,KAgBtD,OAXA4rL,EAAWF,GAEP5pM,OAAOkC,UAAUgE,eAAetF,KAAKgpM,EAAa,YAClD5pM,OAAOC,KAAK2pM,EAAY7oK,SAASt9B,SAAQ,SAACioB,GAAD,OAAYo+K,EAAWF,EAAY7oK,QAAQrV,OAGxFk+K,EAAYzpL,QAAQ4pL,gBAAkB,SAACtrG,EAAKz5F,GACxC2N,QAAQ3N,MAAM/P,KAAM+P,GACpBwkM,EAASxkM,EAAOA,EAAMutB,UAGnBq3K,EAtGX7tK,OAAI1oB,OAAOumH,aAAe,SAAC50H,EAAOqgC,GAC9B,GAA2B,MAAvBrgC,EAAM44B,SAASznC,KAAc,CAC7B,IAAIA,EAAO6O,EAAM44B,SAASznC,KAG1B,GAAiB,qDAAbA,EAAKigH,KAA6D,CAClE,IAAI7jF,EAAU,GAQd,OAPAvyB,OAAOC,KAAK9J,EAAK6zM,QAAQvmM,SAAQ,SAAAzC,GAC7BuxB,GAAWvxB,EAAI,QACf7K,EAAK6zM,OAAOhpM,GAAGyC,SAAQ,SAAAwmM,GAAU,OAAI13K,GAAW,KAAO03K,EAAa,aAGxEt3L,QAAQ3N,MAAM7O,QACd2nC,WAAavL,EAASp8B,EAAK4+G,QAInCpiG,QAAQ3N,MAAMA,EAAOqgC,GACrBvH,WAAa94B,K,sBClBf,SAAUrV,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAI4wI,EAAK5wI,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,oFAAoFC,MACxF,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,6CAA6CF,MAAM,KAC7DG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,QACJC,IAAK,WACLC,EAAG,aACHC,GAAI,cACJC,IAAK,4BACLC,KAAM,mCAEV4B,cAAe,8BACfC,aAAc,SAAUC,EAAMC,GAI1B,OAHa,KAATD,IACAA,EAAO,GAEM,SAAbC,EACOD,EACa,cAAbC,EACAD,GAAQ,GAAKA,EAAOA,EAAO,GACd,WAAbC,GAAsC,UAAbA,EACzBD,EAAO,QADX,GAIXC,SAAU,SAAU2I,EAAOiwB,EAAS14B,GAChC,OAAIyI,EAAQ,GACD,OACAA,EAAQ,GACR,YACAA,EAAQ,GACR,SAEA,SAGfzK,SAAU,CACNC,QAAS,sBACTC,QAAS,kBACTC,SAAU,kBACVC,QAAS,sBACTC,SAAU,wBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,WACRC,KAAM,gBACNC,EAAG,gBACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,SACJC,EAAG,SACHC,GAAI,UACJC,EAAG,UACHC,GAAI,WACJC,EAAG,UACHC,GAAI,YAERC,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAOouI,M,sBC9ET,SAAU/wI,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;SAAS6L,EAAoBnI,EAAQC,EAAeC,EAAKC,GACrD,IAAImH,EAAS,CACTtJ,EAAG,CAAC,eAAgB,cAAe,iBACnCC,GAAI,CAAC+B,EAAS,UAAWA,EAAS,YAClC9B,EAAG,CAAC,aAAc,aAClBC,GAAI,CAAC6B,EAAS,UAAWA,EAAS,YAClC5B,EAAG,CAAC,YAAa,YAAa,YAC9BC,GAAI,CAAC2B,EAAS,SAAUA,EAAS,UACjC1B,EAAG,CAAC,YAAa,YACjBE,EAAG,CAAC,UAAW,WAAY,WAC3BC,GAAI,CAACuB,EAAS,OAAQA,EAAS,SAC/BtB,EAAG,CAAC,YAAa,QAAS,aAC1BC,GAAI,CAACqB,EAAS,SAAUA,EAAS,YAErC,OAAIC,EACOqH,EAAOpH,GAAK,GAAKoH,EAAOpH,GAAK,GAAKoH,EAAOpH,GAAK,GAElDC,EAAWmH,EAAOpH,GAAK,GAAKoH,EAAOpH,GAAK,GAGnD,IAAIw2M,EAAKp6M,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,6FAA6FC,MACjG,KAEJC,YACI,6DAA6DD,MAAM,KACvEE,SACI,iEAAiEF,MAC7D,KAERG,cAAe,gBAAgBH,MAAM,KACrCI,YAAa,gBAAgBJ,MAAM,KACnCK,eAAgB,CACZC,GAAI,OACJC,IAAK,UACLC,EAAG,aACHC,GAAI,eACJC,IAAK,oBACLC,KAAM,2BAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,qBACVC,QAAS,aACTC,SAAU,oBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,YACRC,KAAM,YACNC,EAAGmK,EACHlK,GAAIkK,EACJjK,EAAGiK,EACHhK,GAAIgK,EACJ/J,EAAG+J,EACH9J,GAAI8J,EACJ7J,EAAG6J,EACH5J,GAAI,WACJC,EAAG2J,EACH1J,GAAI0J,EACJzJ,EAAGyJ,EACHxJ,GAAIwJ,GAERxI,uBAAwB,YACxBC,QAAS,MACThB,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO43M,M,sBClFT,SAAUv6M,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAIzB;IAAIq6M,EAAOr6M,EAAOE,aAAa,QAAS,CACpCC,OAAQ,wFAAwFC,MAC5F,KAEJC,YAAa,kDAAkDD,MAAM,KACrEE,SAAU,2DAA2DF,MACjE,KAEJG,cAAe,8BAA8BH,MAAM,KACnDI,YAAa,uBAAuBJ,MAAM,KAC1CK,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,qBACLC,KAAM,4BAEVC,SAAU,CACNC,QAAS,gBACTC,QAAS,mBACTC,SAAU,eACVC,QAAS,oBACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,QACRC,KAAM,SACNC,EAAG,gBACHC,GAAI,aACJC,EAAG,WACHC,GAAI,aACJC,EAAG,UACHC,GAAI,WACJC,EAAG,QACHC,GAAI,UACJC,EAAG,UACHC,GAAI,YACJC,EAAG,SACHC,GAAI,YAERgB,uBAAwB,uBACxBC,QAAS,SAAUI,GACf,IAAIyJ,EAAIzJ,EAAS,GACbR,EACgC,OAAxBQ,EAAS,IAAO,IACd,KACM,IAANyJ,EACA,KACM,IAANA,EACA,KACM,IAANA,EACA,KACA,KACd,OAAOzJ,EAASR,GAEpBZ,KAAM,CACFC,IAAK,EACLC,IAAK,KAIb,OAAO63M,M,0LChBX,6VAYe,QACfh0M,gBACA,OACA4nC,iBACA2qF,aACA0hF,mBAGAxwK,QARA,WASA,eAEAhiC,SACAqmC,aADA,SACAC,EAAA1U,GACA,sDAEA,eADA,QACA,EAGA,IAEAm/F,cATA,WAUA,OACAzwH,8BAGAL,OAdA,WAeA,kBACA,2BAEAsmC,aAlBA,SAkBAt3B,GACA,2CAEA,aAIA,wBACA,cACA,iCACA,sCACA,wCACA,2CAEA,eACA,+BAEA,gCAEA,QACAy3B,MAIAF,mBAEA1hC,QACA5F,yCACAunC,IAFA,WAGA,2BAIA,OAHAA,gCACAC,6CAEA,GAEAnoC,OACAooC,eACAvnC,eACAD,YACAiW,oBACA,YAGAsxB,KAFAA,cAGA+rK,KAEArlM,kBACAs5B,QAGA,gCAGA9pC,iBAvEA,YAuEA,uBACA,OACA,OACA,CACAS,4BACA6C,oBAAA,+FAEA,CACA7C,wCACA6C,oBAAA,0CAIAwyM,iBApFA,SAoFAp6F,GACA,WACA,qBACA,6CACA,GACAx4G,kBACA+lC,6WAMAtkC,WACA,WACAR,wCAEAglC,MAAA,YACAjmC,0BACAmmC,OAAA,YACAlrB,iBACAmrB,yCAMAvnC,UACA8c,OADA,WAEA,2BAEA2qB,cAJA,WAKA,yDAEAzpC,aAPA,WAQA,WACA,OACAmC,eACAE,SACA,CACAT,gBACAlB,gBACAkD,cACA9D,wCAEA,CACA8B,gBACAlB,eACAkD,mBACA9D,uCACAiE,OALA,SAKAnC,GACA,6DACA,4DAGA,CACAA,YACAlB,YACAkD,mBACA9D,oCACAiE,OALA,SAKAnC,GACA,8BAGA,CACAA,qBACAlB,qBACAkD,aACA9D,uCACAiE,OALA,SAKAnC,GACA,WACAq8B,IAAAr8B,GACAo+B,QACAz5B,OAAA26C,0BAIAqkD,cACAjjG,KA1CA,SA0CAV,EAAA2B,EAAA+uD,GAAA,WACA,KACA,aACA,sBAEAlwD,8BAEA,OACAA,QACAgjC,aACAogE,cACAphG,sCAGA,GACAkiC,QAGA,iBAEA,UACA8+D,YAAAz+D,IACA,CAAAg1E,UAAArrG,kBAIA,iBACA1L,WAGAzB,iBACA2+B,QACAl9B,YACA8gG,6BACAt8D,MAAA,YACA,kBACAjmC,yBACAA,gCACAI,GACAoiG,0BACAC,gCACA34D,cACArrC,kBAEA0nC,OAAA,YACA/lC,GACAoiG,eACAC,kBACAhkG,QACA6O,qBAEA2N,iBACAmrB,qCAGAqS,cACAx5C,kBACAS,oCAGAqxH,iBA/GA,WAgHA,2CAAAx/G,8B,4CC7SE,SAAUtZ,EAAQC,GAEsBA,EAAQ,EAAQ,UAFzD,CAKCC,GAAM,SAAWC,GAAU;kCAKzB;IAAI04M,EAAK14M,EAAOE,aAAa,KAAM,CAC/BC,OAAQ,kGAAkGC,MACtG,KAEJC,YAAa,wDAAwDD,MACjE,KAEJE,SACI,gEAAgEF,MAC5D,KAERG,cAAe,gCAAgCH,MAAM,KACrDI,YAAa,qBAAqBJ,MAAM,KACxCoL,oBAAoB,EACpB/K,eAAgB,CACZC,GAAI,SACJC,IAAK,YACLC,EAAG,aACHC,GAAI,cACJC,IAAK,sBACLC,KAAM,sCAEVC,SAAU,CACNC,QAAS,aACTC,QAAS,cACTC,SAAU,aACVC,QAAS,cACTC,SAAU,sBACVC,SAAU,KAEdC,aAAc,CACVC,OAAQ,SACRC,KAAM,WACNC,EAAG,eACHC,GAAI,WACJC,EAAG,YACHC,GAAI,cACJC,EAAG,MACHC,GAAI,SACJC,EAAG,OACHC,GAAI,SACJC,EAAG,OACHC,GAAI,SACJC,EAAG,MACHC,GAAI,UAERgB,uBAAwB,eACxBC,QAAS,SAAUI,GACf,OAAOA,EAAS,SAEpBf,cAAe,4BACf8H,KAAM,SAAUP,GACZ,MAAiB,SAAVA,GAA8B,YAAVA,GAE/BpH,SAAU,SAAU2I,EAAOiwB,EAAS14B,GAChC,OAAIyI,EAAQ,GACDzI,EAAU,OAAS,UAEnBA,EAAU,QAAU,aAKvC,OAAO01M,M,mCC7EX,gBAAMn1L,EAAS1jB,EAAO0sC,OAGPr8B,cAAOm8B,OAAOxsC,EAAO0sC,QAAU,GAAI,CAC9CgG,QAD8C,SACtCtG,GAEJ1oB,EAAOk3L,QAAUl3L,EAAOk3L,SAAW,YAGnCvqM,OAAO6C,eAAek5B,EAAK,UAAW,CAClCh5B,IADkC,WAE9B,OAAOsQ,KAKfrT,OAAO6C,eAAek5B,EAAI75B,UAAW,UAAW,CAC5Ca,IAD4C,WAExC,OAAOsQ,U,+DClBvB,IAAI/a,EAAS,WAAa,IAAIvE,EAAIlE,KAASmE,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,UAAUuB,KAAK,WAAWzB,EAAG,MAAM,CAACQ,YAAY,MAAMN,MAAM,CAAC,KAAO,IAAIuB,KAAK,WAAW,CAACzB,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,aAAaF,EAAG,UAAU,CAACQ,YAAY,mCAAmC,CAACR,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO,UAAU,GAAGF,EAAG,uBAAuB,IAAI,IACnZ8B,EAAkB,GCkBP,G,oBAAA,CACff,aCpB6U,I,YCOzUoE,EAAY,eACd,EACAf,EACAtC,GACA,EACA,KACA,KACA,MAIa,aAAAqD,E,wICsBA,QACfixB,gBACAn0B,KAFA,WAGA,OACAs0G,mBAGA7wE,QAPA,WAQA,gCACA,kBAAAlmC,QAAAyB,uCAGAyC,SACA8iG,mBADA,SACAvkG,GACA,mBACAA,0CAGA,uBACAA,yCAGAulH,kBAVA,SAUAvmH,GACA,mBACA,2BACA3D,mDAGAinH,YAhBA,WAiBA,wBACA,2BAGA0uD,oBArBA,SAqBAhxK,EAAAoC,EAAAonB,GACA,6BACA,QACA,uBACA,mCACA,wOACA,kEAGAmZ,OACA2xE,YADA,WAEA,qBAGAl0G,UACAhC,aADA,WAEA,WACA,GACA,CACA4B,0BACA9B,oCACA0D,2CACA9C,0BACAqD,OALA,SAKAnC,EAAAY,EAAAwB,GACA,MACA,yCAGA,2BAEA,8BAGA,2BAOA,OANA,iBACAzB,OAEAA,OACAA,gDAEA,iEAGA,CACAX,+BACA4B,yBACA9C,+BACAZ,4CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,wBAGA,CACApC,gCACA4B,yBACA9C,gCACAZ,6CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,yBAGA,CACApC,sBACAlB,sBACA8C,yBACA1D,mCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,eAGA,CACApC,iCACAlB,iCACA8C,yBACA1D,8CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,0BAGA,CACApC,iCACAlB,iCACA8C,yBACA1D,8CACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,0BAGA,CACApC,mCACAlB,mCACA8C,yBACA1D,sCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,4BAGA,CACApC,mCACAlB,mCACA8C,yBACA1D,sCACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,4BAGA,CACApC,kBACAlB,kBACA8C,yBACA1D,8BACAiE,OALA,SAKAnC,EAAAY,EAAAwB,GACA,6BACApC,EACAoC,EACA,OAeA,OAVA,mBACA3B,aACA,CACAT,4BACAlB,4BACA8C,iDACA1D,2CAIA,CACAqC,eACAE,UACAC,MACAC,+BACAC,WACAC,gCAEAI,kCACAT,mBACAo4H,SACAC,UACA7+E,cACAF,uBACAvzC,KACA8Z,KAAA,YACA1X,KAAA,sBAIAu6B,gBA7JA,WA8JA,0CAEAu+E,YAhKA,WAiKA,OACAv+E,qCACAoxE,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T,iBACA9B,8BACA+D,aACAL,mBACAO,uBACA,qEACA,IAGA,CACAnC,+BACA4B,yBACA1D,4DACA+D,aACAE,uBACA,kDAGA,CACAnC,gCACA4B,yBACA1D,6DACA+D,aACAE,uBACA,mDAGA,CACAnC,sBACA4B,yBACA1D,mDACA+D,aACAE,uBACA,gDAGA,CACAnC,iCACA4B,yBACA1D,8DACA+D,aACAE,uBACA,2DAGA,CACAnC,iCACA4B,yBACA1D,8DACA+D,aACAE,uBACA,2DAGA,CACAnC,mCACA4B,yBACA1D,gEACA+D,aACAE,uBACA,6DAGA,CACAnC,mCACA4B,yBACA1D,gEACA+D,aACAE,uBACA,qCACA,wBACA,mCACA,8DAIAzB,MACAC,+BACAC,WACAC,gCAEAI,kCACAT,mBACAo4H,SACAC,UACA7+E,cACAF,uBACAvzC,KACA8Z,KAAA,YACA1X,KAAA,uBAKAlH,SACA6vK,oBADA,WACA,mKACApuI,EAAA,+BACAtsB,EAAA,2BACAA,gBAEAssB,MALA,wBAMAquI,EAAA,CAAArgI,8BAAApgB,UANA,SAOA,kDAAA+f,WAPA,UAOApJ,EAPA,QASAA,OATA,0CAUA,CACAvE,kBACAoa,gCACA1mC,yBAbA,yDAgBA,IAhBA,+CAmBAlV,OApBA,WAqBA,6CAGA27G,oBAxBA,SAwBAr+G,GACA,wBAEAklG,6BA3BA,SA2BAllG,GACA,6BAGA0+G,iBA/BA,SA+BA1+G,GACA,qBAGAulG,mBAnCA,SAmCAvkG,GACAA,iDACAA,2DACA,oBACAA,sCAEAA,2CAGAq1M,qBA5CA,SA4CAjzM,EAAApC,EAAAmvI,GACA,wBACA,wEAEA,SAEA,qCAMA,GAJAmmE,iBACAA,uBACAA,qBAEA,yBACA,iCACA,sCACAA,uBACAA,oBAGA,0DAEA,8BAEA,qGAGAC,oBAtEA,SAsEAnzM,EAAApC,EAAAwpB,GACA,wBACA,wEAEA,cAEA,0BACA8rL,oEACA,8FAGA,0DACA,+CAEAA,iCAEA,qEAEA,8BAEA,oGAGA5jC,WA7FA,SA6FAC,GACA,SAMA,OALAp7I,qBACAA,sBACAA,uBACAA,uBACAA,uBA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oBACAM,sBACAH,4BACAK,qBACAu3E,mBAGAzhF,QAjBA,WAkBA,WACAv0H,kCAEA,WACAqL,IAAA,oCACA46B,MAAA,YACA,iBACAjmC,gDACAA,gCACAA,kCACAA,0CACAA,wBACAA,kCACAA,0BACAA,8BACAA,oBAEAA,kCAEAmmC,OAAA,YACA9B,mCAEA4B,MAAA,WACAjmC,sCAGAnB,UACAq/H,YADA,WACA,WACA,+CACA,iGAEA+3E,iBALA,WAKA,WACA,gDACA,mGAEA53E,gBATA,WAUA,wHAEAC,WAZA,WAaA,MACA,0BACA,gDACA,4CACA,0CAGAH,kBApBA,WAqBA,oDAGA/8F,OACA88F,wBACA,IACA,iCACA,4BAGA+3E,6BACA,IACA,4BAGAp4E,qBACA,YACA,0CAIA39H,SACAs+H,cADA,WACA,mKACAx+H,EAAA,EACAA,uBAFA,SAIA,sCAJA,OAIA6nI,EAJA,OAKA,IACA7nI,kCAEA,QACA0vC,KAAA,mCAAAkmE,2BACA3vE,MAAA,YACAjmC,gCAEA,eACAA,sBAEAA,qBACA,0DAGAmmC,OAAA,YACAnmC,qBACAA,iEACAqkC,mCAEA4B,MAAA,WACAjmC,sCA1BA,8CA8BAsxF,KA/BA,WA+BA,yKACAtxF,EAAA,EADA,SAEA,qCAFA,OAEA6nI,EAFA,OAGA,GACA14E,EAAA,CACA0uE,oBACAJ,2CACAK,6CACAC,qDACAC,sBACAC,6CACAN,qCACAD,yCACAE,gCAEA59H,kCAEA,QACA0vC,KAAA,mCAAAyf,GACAlpB,MAAA,YACAjmC,+BACAA,kFACA,qBACAA,sFAGAmmC,OAAA,YACA9B,mCAEA4B,MAAA,WACAjmC,uCAGAA,8BACAsmJ,EAAA,wBACA87C,EAAAp9L,SACAo9L,WApCA,kD,+TCxNA,4BAAA7jM,eAAAC,wBAGe,QACfC,KADA,WAEA,OACAuyC,mBACArP,qBACAE,0BACAq0K,kBACApjG,mBAAA2hE,gBAAAC,eACAyhC,qBAAAC,eACAppK,aACAymE,gBACAC,YACAL,iBACAH,sBACAgB,sBACAE,qBACAG,iBACAM,oBACAL,iCACAE,qBACA/0G,YAIAd,UACAy1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","file":"js/chunk-common.78cae001.js","sourcesContent":["//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomBootstrapGroup.vue?vue&type=style&index=0&id=3f5fb600&prod&scoped=true&lang=css&\"","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.title}},[_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems}}),_c('ModalFrame',{ref:\"editCalendarModal\",attrs:{\"title\":_vm.$t('Common.EditCalendarEvent')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\"},[_c('DatePicker',{attrs:{\"config\":_vm.datePickerConfig,\"value\":_vm.selectedDate}}),(_vm.dateInPast)?_c('div',[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Assignments.DateFromPast\")))])]):_vm._e()],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"commentsId\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Comments\"))+\" \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editCalendarComment),expression:\"editCalendarComment\"}],staticClass:\"form-control\",attrs:{\"control-id\":\"commentsId\",\"placeholder\":_vm.$t('Assignments.EnterComments'),\"name\":\"comments\",\"rows\":\"6\",\"maxlength\":\"500\"},domProps:{\"value\":(_vm.editCalendarComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.editCalendarComment=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\"},on:{\"disable\":_vm.saveDisabled,\"click\":_vm.updateCalendarEvent}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))]),(_vm.calendarEventId != null)?_c('button',{staticClass:\"btn btn-danger pull-right\",attrs:{\"type\":\"button\",\"role\":\"delete\"},on:{\"click\":_vm.deleteCalendarEvent}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Delete\")))]):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Assignments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Assignments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Assignments.vue?vue&type=template&id=6c61c542&\"\nimport script from \"./Assignments.vue?vue&type=script&lang=js&\"\nexport * from \"./Assignments.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","export function formatNumber(value) {\r\n if (value == null || value == undefined)\r\n return value\r\n var language = navigator.languages && navigator.languages[0] ||\r\n navigator.language ||\r\n navigator.userLanguage\r\n return value.toLocaleString(language)\r\n}\r\n","/*!\r\n * Bootstrap-select v1.13.18 (https://developer.snapappointments.com/bootstrap-select)\r\n *\r\n * Copyright 2012-2020 SnapAppointments, LLC\r\n * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE)\r\n */\r\n\r\n(function (root, factory) {\r\n if (root === undefined && window !== undefined) root = window;\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module unless amdModuleId is set\r\n define([\"jquery\"], function (a0) {\r\n return (factory(a0));\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory(require(\"jquery\"));\r\n } else {\r\n factory(root[\"jQuery\"]);\r\n }\r\n}(this, function (jQuery) {\r\n\r\n(function ($) {\r\n 'use strict';\r\n\r\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\r\n\r\n var uriAttrs = [\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href'\r\n ];\r\n\r\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n var DefaultWhitelist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', 'tabindex', 'style', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: []\r\n }\r\n\r\n /**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\r\n\r\n /**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\r\n\r\n function allowedAttribute (attr, allowedAttributeList) {\r\n var attrName = attr.nodeName.toLowerCase()\r\n\r\n if ($.inArray(attrName, allowedAttributeList) !== -1) {\r\n if ($.inArray(attrName, uriAttrs) !== -1) {\r\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\r\n }\r\n\r\n return true\r\n }\r\n\r\n var regExp = $(allowedAttributeList).filter(function (index, value) {\r\n return value instanceof RegExp\r\n })\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (var i = 0, l = regExp.length; i < l; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n function sanitizeHtml (unsafeElements, whiteList, sanitizeFn) {\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeElements);\r\n }\r\n\r\n var whitelistKeys = Object.keys(whiteList);\r\n\r\n for (var i = 0, len = unsafeElements.length; i < len; i++) {\r\n var elements = unsafeElements[i].querySelectorAll('*');\r\n\r\n for (var j = 0, len2 = elements.length; j < len2; j++) {\r\n var el = elements[j];\r\n var elName = el.nodeName.toLowerCase();\r\n\r\n if (whitelistKeys.indexOf(elName) === -1) {\r\n el.parentNode.removeChild(el);\r\n\r\n continue;\r\n }\r\n\r\n var attributeList = [].slice.call(el.attributes);\r\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\r\n\r\n for (var k = 0, len3 = attributeList.length; k < len3; k++) {\r\n var attr = attributeList[k];\r\n\r\n if (!allowedAttribute(attr, whitelistedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Polyfill for browsers with no classList support\r\n // Remove in v2\r\n if (!('classList' in document.createElement('_'))) {\r\n (function (view) {\r\n if (!('Element' in view)) return;\r\n\r\n var classListProp = 'classList',\r\n protoProp = 'prototype',\r\n elemCtrProto = view.Element[protoProp],\r\n objCtr = Object,\r\n classListGetter = function () {\r\n var $elem = $(this);\r\n\r\n return {\r\n add: function (classes) {\r\n classes = Array.prototype.slice.call(arguments).join(' ');\r\n return $elem.addClass(classes);\r\n },\r\n remove: function (classes) {\r\n classes = Array.prototype.slice.call(arguments).join(' ');\r\n return $elem.removeClass(classes);\r\n },\r\n toggle: function (classes, force) {\r\n return $elem.toggleClass(classes, force);\r\n },\r\n contains: function (classes) {\r\n return $elem.hasClass(classes);\r\n }\r\n }\r\n };\r\n\r\n if (objCtr.defineProperty) {\r\n var classListPropDesc = {\r\n get: classListGetter,\r\n enumerable: true,\r\n configurable: true\r\n };\r\n try {\r\n objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n } catch (ex) { // IE 8 doesn't support enumerable:true\r\n // adding undefined to fight this issue https://github.com/eligrey/classList.js/issues/36\r\n // modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affected\r\n if (ex.number === undefined || ex.number === -0x7FF5EC54) {\r\n classListPropDesc.enumerable = false;\r\n objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\r\n }\r\n }\r\n } else if (objCtr[protoProp].__defineGetter__) {\r\n elemCtrProto.__defineGetter__(classListProp, classListGetter);\r\n }\r\n }(window));\r\n }\r\n\r\n var testElement = document.createElement('_');\r\n\r\n testElement.classList.add('c1', 'c2');\r\n\r\n if (!testElement.classList.contains('c2')) {\r\n var _add = DOMTokenList.prototype.add,\r\n _remove = DOMTokenList.prototype.remove;\r\n\r\n DOMTokenList.prototype.add = function () {\r\n Array.prototype.forEach.call(arguments, _add.bind(this));\r\n }\r\n\r\n DOMTokenList.prototype.remove = function () {\r\n Array.prototype.forEach.call(arguments, _remove.bind(this));\r\n }\r\n }\r\n\r\n testElement.classList.toggle('c3', false);\r\n\r\n // Polyfill for IE 10 and Firefox <24, where classList.toggle does not\r\n // support the second argument.\r\n if (testElement.classList.contains('c3')) {\r\n var _toggle = DOMTokenList.prototype.toggle;\r\n\r\n DOMTokenList.prototype.toggle = function (token, force) {\r\n if (1 in arguments && !this.contains(token) === !force) {\r\n return force;\r\n } else {\r\n return _toggle.call(this, token);\r\n }\r\n };\r\n }\r\n\r\n testElement = null;\r\n\r\n // shallow array comparison\r\n function isEqual (array1, array2) {\r\n return array1.length === array2.length && array1.every(function (element, index) {\r\n return element === array2[index];\r\n });\r\n };\r\n\r\n // \r\n if (!String.prototype.startsWith) {\r\n (function () {\r\n 'use strict'; // needed to support `apply`/`call` with `undefined`/`null`\r\n var defineProperty = (function () {\r\n // IE 8 only supports `Object.defineProperty` on DOM elements\r\n try {\r\n var object = {};\r\n var $defineProperty = Object.defineProperty;\r\n var result = $defineProperty(object, object, object) && $defineProperty;\r\n } catch (error) {\r\n }\r\n return result;\r\n }());\r\n var toString = {}.toString;\r\n var startsWith = function (search) {\r\n if (this == null) {\r\n throw new TypeError();\r\n }\r\n var string = String(this);\r\n if (search && toString.call(search) == '[object RegExp]') {\r\n throw new TypeError();\r\n }\r\n var stringLength = string.length;\r\n var searchString = String(search);\r\n var searchLength = searchString.length;\r\n var position = arguments.length > 1 ? arguments[1] : undefined;\r\n // `ToInteger`\r\n var pos = position ? Number(position) : 0;\r\n if (pos != pos) { // better `isNaN`\r\n pos = 0;\r\n }\r\n var start = Math.min(Math.max(pos, 0), stringLength);\r\n // Avoid the `indexOf` call if no match is possible\r\n if (searchLength + start > stringLength) {\r\n return false;\r\n }\r\n var index = -1;\r\n while (++index < searchLength) {\r\n if (string.charCodeAt(start + index) != searchString.charCodeAt(index)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n if (defineProperty) {\r\n defineProperty(String.prototype, 'startsWith', {\r\n 'value': startsWith,\r\n 'configurable': true,\r\n 'writable': true\r\n });\r\n } else {\r\n String.prototype.startsWith = startsWith;\r\n }\r\n }());\r\n }\r\n\r\n if (!Object.keys) {\r\n Object.keys = function (\r\n o, // object\r\n k, // key\r\n r // result array\r\n ) {\r\n // initialize object and result\r\n r = [];\r\n // iterate over object keys\r\n for (k in o) {\r\n // fill result array with non-prototypical keys\r\n r.hasOwnProperty.call(o, k) && r.push(k);\r\n }\r\n // return result\r\n return r;\r\n };\r\n }\r\n\r\n if (HTMLSelectElement && !HTMLSelectElement.prototype.hasOwnProperty('selectedOptions')) {\r\n Object.defineProperty(HTMLSelectElement.prototype, 'selectedOptions', {\r\n get: function () {\r\n return this.querySelectorAll(':checked');\r\n }\r\n });\r\n }\r\n\r\n function getSelectedOptions (select, ignoreDisabled) {\r\n var selectedOptions = select.selectedOptions,\r\n options = [],\r\n opt;\r\n\r\n if (ignoreDisabled) {\r\n for (var i = 0, len = selectedOptions.length; i < len; i++) {\r\n opt = selectedOptions[i];\r\n\r\n if (!(opt.disabled || opt.parentNode.tagName === 'OPTGROUP' && opt.parentNode.disabled)) {\r\n options.push(opt);\r\n }\r\n }\r\n\r\n return options;\r\n }\r\n\r\n return selectedOptions;\r\n }\r\n\r\n // much faster than $.val()\r\n function getSelectValues (select, selectedOptions) {\r\n var value = [],\r\n options = selectedOptions || select.selectedOptions,\r\n opt;\r\n\r\n for (var i = 0, len = options.length; i < len; i++) {\r\n opt = options[i];\r\n\r\n if (!(opt.disabled || opt.parentNode.tagName === 'OPTGROUP' && opt.parentNode.disabled)) {\r\n value.push(opt.value);\r\n }\r\n }\r\n\r\n if (!select.multiple) {\r\n return !value.length ? null : value[0];\r\n }\r\n\r\n return value;\r\n }\r\n\r\n // set data-selected on select element if the value has been programmatically selected\r\n // prior to initialization of bootstrap-select\r\n // * consider removing or replacing an alternative method *\r\n var valHooks = {\r\n useDefault: false,\r\n _set: $.valHooks.select.set\r\n };\r\n\r\n $.valHooks.select.set = function (elem, value) {\r\n if (value && !valHooks.useDefault) $(elem).data('selected', true);\r\n\r\n return valHooks._set.apply(this, arguments);\r\n };\r\n\r\n var changedArguments = null;\r\n\r\n var EventIsSupported = (function () {\r\n try {\r\n new Event('change');\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n })();\r\n\r\n $.fn.triggerNative = function (eventName) {\r\n var el = this[0],\r\n event;\r\n\r\n if (el.dispatchEvent) { // for modern browsers & IE9+\r\n if (EventIsSupported) {\r\n // For modern browsers\r\n event = new Event(eventName, {\r\n bubbles: true\r\n });\r\n } else {\r\n // For IE since it doesn't support Event constructor\r\n event = document.createEvent('Event');\r\n event.initEvent(eventName, true, false);\r\n }\r\n\r\n el.dispatchEvent(event);\r\n } else if (el.fireEvent) { // for IE8\r\n event = document.createEventObject();\r\n event.eventType = eventName;\r\n el.fireEvent('on' + eventName, event);\r\n } else {\r\n // fall back to jQuery.trigger\r\n this.trigger(eventName);\r\n }\r\n };\r\n // \r\n\r\n function stringSearch (li, searchString, method, normalize) {\r\n var stringTypes = [\r\n 'display',\r\n 'subtext',\r\n 'tokens'\r\n ],\r\n searchSuccess = false;\r\n\r\n for (var i = 0; i < stringTypes.length; i++) {\r\n var stringType = stringTypes[i],\r\n string = li[stringType];\r\n\r\n if (string) {\r\n string = string.toString();\r\n\r\n // Strip HTML tags. This isn't perfect, but it's much faster than any other method\r\n if (stringType === 'display') {\r\n string = string.replace(/<[^>]+>/g, '');\r\n }\r\n\r\n if (normalize) string = normalizeToBase(string);\r\n string = string.toUpperCase();\r\n\r\n if (method === 'contains') {\r\n searchSuccess = string.indexOf(searchString) >= 0;\r\n } else {\r\n searchSuccess = string.startsWith(searchString);\r\n }\r\n\r\n if (searchSuccess) break;\r\n }\r\n }\r\n\r\n return searchSuccess;\r\n }\r\n\r\n function toInteger (value) {\r\n return parseInt(value, 10) || 0;\r\n }\r\n\r\n // Borrowed from Lodash (_.deburr)\r\n /** Used to map Latin Unicode letters to basic Latin letters. */\r\n var deburredLetters = {\r\n // Latin-1 Supplement block.\r\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\r\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\r\n '\\xc7': 'C', '\\xe7': 'c',\r\n '\\xd0': 'D', '\\xf0': 'd',\r\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\r\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\r\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\r\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\r\n '\\xd1': 'N', '\\xf1': 'n',\r\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\r\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\r\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\r\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\r\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\r\n '\\xc6': 'Ae', '\\xe6': 'ae',\r\n '\\xde': 'Th', '\\xfe': 'th',\r\n '\\xdf': 'ss',\r\n // Latin Extended-A block.\r\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\r\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\r\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\r\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\r\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\r\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\r\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\r\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\r\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\r\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\r\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\r\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\r\n '\\u0134': 'J', '\\u0135': 'j',\r\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\r\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\r\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\r\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\r\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\r\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\r\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\r\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\r\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\r\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\r\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\r\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\r\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\r\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\r\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\r\n '\\u0174': 'W', '\\u0175': 'w',\r\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\r\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\r\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\r\n '\\u0132': 'IJ', '\\u0133': 'ij',\r\n '\\u0152': 'Oe', '\\u0153': 'oe',\r\n '\\u0149': \"'n\", '\\u017f': 's'\r\n };\r\n\r\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\r\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\r\n\r\n /** Used to compose unicode character classes. */\r\n var rsComboMarksRange = '\\\\u0300-\\\\u036f',\r\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\r\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\r\n rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff',\r\n rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff',\r\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange;\r\n\r\n /** Used to compose unicode capture groups. */\r\n var rsCombo = '[' + rsComboRange + ']';\r\n\r\n /**\r\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\r\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\r\n */\r\n var reComboMark = RegExp(rsCombo, 'g');\r\n\r\n function deburrLetter (key) {\r\n return deburredLetters[key];\r\n };\r\n\r\n function normalizeToBase (string) {\r\n string = string.toString();\r\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\r\n }\r\n\r\n // List of HTML entities for escaping.\r\n var escapeMap = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n '`': '`'\r\n };\r\n\r\n // Functions for escaping and unescaping strings to/from HTML interpolation.\r\n var createEscaper = function (map) {\r\n var escaper = function (match) {\r\n return map[match];\r\n };\r\n // Regexes for identifying a key that needs to be escaped.\r\n var source = '(?:' + Object.keys(map).join('|') + ')';\r\n var testRegexp = RegExp(source);\r\n var replaceRegexp = RegExp(source, 'g');\r\n return function (string) {\r\n string = string == null ? '' : '' + string;\r\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\r\n };\r\n };\r\n\r\n var htmlEscape = createEscaper(escapeMap);\r\n\r\n /**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\n var keyCodeMap = {\r\n 32: ' ',\r\n 48: '0',\r\n 49: '1',\r\n 50: '2',\r\n 51: '3',\r\n 52: '4',\r\n 53: '5',\r\n 54: '6',\r\n 55: '7',\r\n 56: '8',\r\n 57: '9',\r\n 59: ';',\r\n 65: 'A',\r\n 66: 'B',\r\n 67: 'C',\r\n 68: 'D',\r\n 69: 'E',\r\n 70: 'F',\r\n 71: 'G',\r\n 72: 'H',\r\n 73: 'I',\r\n 74: 'J',\r\n 75: 'K',\r\n 76: 'L',\r\n 77: 'M',\r\n 78: 'N',\r\n 79: 'O',\r\n 80: 'P',\r\n 81: 'Q',\r\n 82: 'R',\r\n 83: 'S',\r\n 84: 'T',\r\n 85: 'U',\r\n 86: 'V',\r\n 87: 'W',\r\n 88: 'X',\r\n 89: 'Y',\r\n 90: 'Z',\r\n 96: '0',\r\n 97: '1',\r\n 98: '2',\r\n 99: '3',\r\n 100: '4',\r\n 101: '5',\r\n 102: '6',\r\n 103: '7',\r\n 104: '8',\r\n 105: '9'\r\n };\r\n\r\n var keyCodes = {\r\n ESCAPE: 27, // KeyboardEvent.which value for Escape (Esc) key\r\n ENTER: 13, // KeyboardEvent.which value for Enter key\r\n SPACE: 32, // KeyboardEvent.which value for space key\r\n TAB: 9, // KeyboardEvent.which value for tab key\r\n ARROW_UP: 38, // KeyboardEvent.which value for up arrow key\r\n ARROW_DOWN: 40 // KeyboardEvent.which value for down arrow key\r\n }\r\n\r\n var version = {\r\n success: false,\r\n major: '3'\r\n };\r\n\r\n try {\r\n version.full = ($.fn.dropdown.Constructor.VERSION || '').split(' ')[0].split('.');\r\n version.major = version.full[0];\r\n version.success = true;\r\n } catch (err) {\r\n // do nothing\r\n }\r\n\r\n var selectId = 0;\r\n\r\n var EVENT_KEY = '.bs.select';\r\n\r\n var classNames = {\r\n DISABLED: 'disabled',\r\n DIVIDER: 'divider',\r\n SHOW: 'open',\r\n DROPUP: 'dropup',\r\n MENU: 'dropdown-menu',\r\n MENURIGHT: 'dropdown-menu-right',\r\n MENULEFT: 'dropdown-menu-left',\r\n // to-do: replace with more advanced template/customization options\r\n BUTTONCLASS: 'btn-default',\r\n POPOVERHEADER: 'popover-title',\r\n ICONBASE: 'glyphicon',\r\n TICKICON: 'glyphicon-ok'\r\n }\r\n\r\n var Selector = {\r\n MENU: '.' + classNames.MENU\r\n }\r\n\r\n var elementTemplates = {\r\n div: document.createElement('div'),\r\n span: document.createElement('span'),\r\n i: document.createElement('i'),\r\n subtext: document.createElement('small'),\r\n a: document.createElement('a'),\r\n li: document.createElement('li'),\r\n whitespace: document.createTextNode('\\u00A0'),\r\n fragment: document.createDocumentFragment()\r\n }\r\n\r\n elementTemplates.noResults = elementTemplates.li.cloneNode(false);\r\n elementTemplates.noResults.className = 'no-results';\r\n\r\n elementTemplates.a.setAttribute('role', 'option');\r\n elementTemplates.a.className = 'dropdown-item';\r\n\r\n elementTemplates.subtext.className = 'text-muted';\r\n\r\n elementTemplates.text = elementTemplates.span.cloneNode(false);\r\n elementTemplates.text.className = 'text';\r\n\r\n elementTemplates.checkMark = elementTemplates.span.cloneNode(false);\r\n\r\n var REGEXP_ARROW = new RegExp(keyCodes.ARROW_UP + '|' + keyCodes.ARROW_DOWN);\r\n var REGEXP_TAB_OR_ESCAPE = new RegExp('^' + keyCodes.TAB + '$|' + keyCodes.ESCAPE);\r\n\r\n var generateOption = {\r\n li: function (content, classes, optgroup) {\r\n var li = elementTemplates.li.cloneNode(false);\r\n\r\n if (content) {\r\n if (content.nodeType === 1 || content.nodeType === 11) {\r\n li.appendChild(content);\r\n } else {\r\n li.innerHTML = content;\r\n }\r\n }\r\n\r\n if (typeof classes !== 'undefined' && classes !== '') li.className = classes;\r\n if (typeof optgroup !== 'undefined' && optgroup !== null) li.classList.add('optgroup-' + optgroup);\r\n\r\n return li;\r\n },\r\n\r\n a: function (text, classes, inline) {\r\n var a = elementTemplates.a.cloneNode(true);\r\n\r\n if (text) {\r\n if (text.nodeType === 11) {\r\n a.appendChild(text);\r\n } else {\r\n a.insertAdjacentHTML('beforeend', text);\r\n }\r\n }\r\n\r\n if (typeof classes !== 'undefined' && classes !== '') a.classList.add.apply(a.classList, classes.split(/\\s+/));\r\n if (inline) a.setAttribute('style', inline);\r\n\r\n return a;\r\n },\r\n\r\n text: function (options, useFragment) {\r\n var textElement = elementTemplates.text.cloneNode(false),\r\n subtextElement,\r\n iconElement;\r\n\r\n if (options.content) {\r\n textElement.innerHTML = options.content;\r\n } else {\r\n textElement.textContent = options.text;\r\n\r\n if (options.icon) {\r\n var whitespace = elementTemplates.whitespace.cloneNode(false);\r\n\r\n // need to use for icons in the button to prevent a breaking change\r\n // note: switch to span in next major release\r\n iconElement = (useFragment === true ? elementTemplates.i : elementTemplates.span).cloneNode(false);\r\n iconElement.className = this.options.iconBase + ' ' + options.icon;\r\n\r\n elementTemplates.fragment.appendChild(iconElement);\r\n elementTemplates.fragment.appendChild(whitespace);\r\n }\r\n\r\n if (options.subtext) {\r\n subtextElement = elementTemplates.subtext.cloneNode(false);\r\n subtextElement.textContent = options.subtext;\r\n textElement.appendChild(subtextElement);\r\n }\r\n }\r\n\r\n if (useFragment === true) {\r\n while (textElement.childNodes.length > 0) {\r\n elementTemplates.fragment.appendChild(textElement.childNodes[0]);\r\n }\r\n } else {\r\n elementTemplates.fragment.appendChild(textElement);\r\n }\r\n\r\n return elementTemplates.fragment;\r\n },\r\n\r\n label: function (options) {\r\n var textElement = elementTemplates.text.cloneNode(false),\r\n subtextElement,\r\n iconElement;\r\n\r\n textElement.innerHTML = options.display;\r\n\r\n if (options.icon) {\r\n var whitespace = elementTemplates.whitespace.cloneNode(false);\r\n\r\n iconElement = elementTemplates.span.cloneNode(false);\r\n iconElement.className = this.options.iconBase + ' ' + options.icon;\r\n\r\n elementTemplates.fragment.appendChild(iconElement);\r\n elementTemplates.fragment.appendChild(whitespace);\r\n }\r\n\r\n if (options.subtext) {\r\n subtextElement = elementTemplates.subtext.cloneNode(false);\r\n subtextElement.textContent = options.subtext;\r\n textElement.appendChild(subtextElement);\r\n }\r\n\r\n elementTemplates.fragment.appendChild(textElement);\r\n\r\n return elementTemplates.fragment;\r\n }\r\n }\r\n\r\n function showNoResults (searchMatch, searchValue) {\r\n if (!searchMatch.length) {\r\n elementTemplates.noResults.innerHTML = this.options.noneResultsText.replace('{0}', '\"' + htmlEscape(searchValue) + '\"');\r\n this.$menuInner[0].firstChild.appendChild(elementTemplates.noResults);\r\n }\r\n }\r\n\r\n var Selectpicker = function (element, options) {\r\n var that = this;\r\n\r\n // bootstrap-select has been initialized - revert valHooks.select.set back to its original function\r\n if (!valHooks.useDefault) {\r\n $.valHooks.select.set = valHooks._set;\r\n valHooks.useDefault = true;\r\n }\r\n\r\n this.$element = $(element);\r\n this.$newElement = null;\r\n this.$button = null;\r\n this.$menu = null;\r\n this.options = options;\r\n this.selectpicker = {\r\n main: {},\r\n search: {},\r\n current: {}, // current changes if a search is in progress\r\n view: {},\r\n isSearching: false,\r\n keydown: {\r\n keyHistory: '',\r\n resetKeyHistory: {\r\n start: function () {\r\n return setTimeout(function () {\r\n that.selectpicker.keydown.keyHistory = '';\r\n }, 800);\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.sizeInfo = {};\r\n\r\n // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a\r\n // data-attribute)\r\n if (this.options.title === null) {\r\n this.options.title = this.$element.attr('title');\r\n }\r\n\r\n // Format window padding\r\n var winPad = this.options.windowPadding;\r\n if (typeof winPad === 'number') {\r\n this.options.windowPadding = [winPad, winPad, winPad, winPad];\r\n }\r\n\r\n // Expose public methods\r\n this.val = Selectpicker.prototype.val;\r\n this.render = Selectpicker.prototype.render;\r\n this.refresh = Selectpicker.prototype.refresh;\r\n this.setStyle = Selectpicker.prototype.setStyle;\r\n this.selectAll = Selectpicker.prototype.selectAll;\r\n this.deselectAll = Selectpicker.prototype.deselectAll;\r\n this.destroy = Selectpicker.prototype.destroy;\r\n this.remove = Selectpicker.prototype.remove;\r\n this.show = Selectpicker.prototype.show;\r\n this.hide = Selectpicker.prototype.hide;\r\n\r\n this.init();\r\n };\r\n\r\n Selectpicker.VERSION = '1.13.18';\r\n\r\n // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both.\r\n Selectpicker.DEFAULTS = {\r\n noneSelectedText: 'Nothing selected',\r\n noneResultsText: 'No results matched {0}',\r\n countSelectedText: function (numSelected, numTotal) {\r\n return (numSelected == 1) ? '{0} item selected' : '{0} items selected';\r\n },\r\n maxOptionsText: function (numAll, numGroup) {\r\n return [\r\n (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)',\r\n (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'\r\n ];\r\n },\r\n selectAllText: 'Select All',\r\n deselectAllText: 'Deselect All',\r\n doneButton: false,\r\n doneButtonText: 'Close',\r\n multipleSeparator: ', ',\r\n styleBase: 'btn',\r\n style: classNames.BUTTONCLASS,\r\n size: 'auto',\r\n title: null,\r\n selectedTextFormat: 'values',\r\n width: false,\r\n container: false,\r\n hideDisabled: false,\r\n showSubtext: false,\r\n showIcon: true,\r\n showContent: true,\r\n dropupAuto: true,\r\n header: false,\r\n liveSearch: false,\r\n liveSearchPlaceholder: null,\r\n liveSearchNormalize: false,\r\n liveSearchStyle: 'contains',\r\n actionsBox: false,\r\n iconBase: classNames.ICONBASE,\r\n tickIcon: classNames.TICKICON,\r\n showTick: false,\r\n template: {\r\n caret: ''\r\n },\r\n maxOptions: false,\r\n mobile: false,\r\n selectOnTab: false,\r\n dropdownAlignRight: false,\r\n windowPadding: 0,\r\n virtualScroll: 600,\r\n display: false,\r\n sanitize: true,\r\n sanitizeFn: null,\r\n whiteList: DefaultWhitelist\r\n };\r\n\r\n Selectpicker.prototype = {\r\n\r\n constructor: Selectpicker,\r\n\r\n init: function () {\r\n var that = this,\r\n id = this.$element.attr('id'),\r\n element = this.$element[0],\r\n form = element.form;\r\n\r\n selectId++;\r\n this.selectId = 'bs-select-' + selectId;\r\n\r\n element.classList.add('bs-select-hidden');\r\n\r\n this.multiple = this.$element.prop('multiple');\r\n this.autofocus = this.$element.prop('autofocus');\r\n\r\n if (element.classList.contains('show-tick')) {\r\n this.options.showTick = true;\r\n }\r\n\r\n this.$newElement = this.createDropdown();\r\n this.buildData();\r\n this.$element\r\n .after(this.$newElement)\r\n .prependTo(this.$newElement);\r\n\r\n // ensure select is associated with form element if it got unlinked after moving it inside newElement\r\n if (form && element.form === null) {\r\n if (!form.id) form.id = 'form-' + this.selectId;\r\n element.setAttribute('form', form.id);\r\n }\r\n\r\n this.$button = this.$newElement.children('button');\r\n this.$menu = this.$newElement.children(Selector.MENU);\r\n this.$menuInner = this.$menu.children('.inner');\r\n this.$searchbox = this.$menu.find('input');\r\n\r\n element.classList.remove('bs-select-hidden');\r\n\r\n if (this.options.dropdownAlignRight === true) this.$menu[0].classList.add(classNames.MENURIGHT);\r\n\r\n if (typeof id !== 'undefined') {\r\n this.$button.attr('data-id', id);\r\n }\r\n\r\n this.checkDisabled();\r\n this.clickListener();\r\n\r\n if (this.options.liveSearch) {\r\n this.liveSearchListener();\r\n this.focusedParent = this.$searchbox[0];\r\n } else {\r\n this.focusedParent = this.$menuInner[0];\r\n }\r\n\r\n this.setStyle();\r\n this.render();\r\n this.setWidth();\r\n if (this.options.container) {\r\n this.selectPosition();\r\n } else {\r\n this.$element.on('hide' + EVENT_KEY, function () {\r\n if (that.isVirtual()) {\r\n // empty menu on close\r\n var menuInner = that.$menuInner[0],\r\n emptyMenu = menuInner.firstChild.cloneNode(false);\r\n\r\n // replace the existing UL with an empty one - this is faster than $.empty() or innerHTML = ''\r\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\r\n menuInner.scrollTop = 0;\r\n }\r\n });\r\n }\r\n this.$menu.data('this', this);\r\n this.$newElement.data('this', this);\r\n if (this.options.mobile) this.mobile();\r\n\r\n this.$newElement.on({\r\n 'hide.bs.dropdown': function (e) {\r\n that.$element.trigger('hide' + EVENT_KEY, e);\r\n },\r\n 'hidden.bs.dropdown': function (e) {\r\n that.$element.trigger('hidden' + EVENT_KEY, e);\r\n },\r\n 'show.bs.dropdown': function (e) {\r\n that.$element.trigger('show' + EVENT_KEY, e);\r\n },\r\n 'shown.bs.dropdown': function (e) {\r\n that.$element.trigger('shown' + EVENT_KEY, e);\r\n }\r\n });\r\n\r\n if (element.hasAttribute('required')) {\r\n this.$element.on('invalid' + EVENT_KEY, function () {\r\n that.$button[0].classList.add('bs-invalid');\r\n\r\n that.$element\r\n .on('shown' + EVENT_KEY + '.invalid', function () {\r\n that.$element\r\n .val(that.$element.val()) // set the value to hide the validation message in Chrome when menu is opened\r\n .off('shown' + EVENT_KEY + '.invalid');\r\n })\r\n .on('rendered' + EVENT_KEY, function () {\r\n // if select is no longer invalid, remove the bs-invalid class\r\n if (this.validity.valid) that.$button[0].classList.remove('bs-invalid');\r\n that.$element.off('rendered' + EVENT_KEY);\r\n });\r\n\r\n that.$button.on('blur' + EVENT_KEY, function () {\r\n that.$element.trigger('focus').trigger('blur');\r\n that.$button.off('blur' + EVENT_KEY);\r\n });\r\n });\r\n }\r\n\r\n setTimeout(function () {\r\n that.buildList();\r\n that.$element.trigger('loaded' + EVENT_KEY);\r\n });\r\n },\r\n\r\n createDropdown: function () {\r\n // Options\r\n // If we are multiple or showTick option is set, then add the show-tick class\r\n var showTick = (this.multiple || this.options.showTick) ? ' show-tick' : '',\r\n multiselectable = this.multiple ? ' aria-multiselectable=\"true\"' : '',\r\n inputGroup = '',\r\n autofocus = this.autofocus ? ' autofocus' : '';\r\n\r\n if (version.major < 4 && this.$element.parent().hasClass('input-group')) {\r\n inputGroup = ' input-group-btn';\r\n }\r\n\r\n // Elements\r\n var drop,\r\n header = '',\r\n searchbox = '',\r\n actionsbox = '',\r\n donebutton = '';\r\n\r\n if (this.options.header) {\r\n header =\r\n '
' +\r\n '' +\r\n this.options.header +\r\n '
';\r\n }\r\n\r\n if (this.options.liveSearch) {\r\n searchbox =\r\n '
' +\r\n '' +\r\n '
';\r\n }\r\n\r\n if (this.multiple && this.options.actionsBox) {\r\n actionsbox =\r\n '
' +\r\n '
' +\r\n '' +\r\n '' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n if (this.multiple && this.options.doneButton) {\r\n donebutton =\r\n '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
';\r\n }\r\n\r\n drop =\r\n '
' +\r\n '' +\r\n '
' +\r\n header +\r\n searchbox +\r\n actionsbox +\r\n '
' +\r\n '
    ' +\r\n '
' +\r\n '
' +\r\n donebutton +\r\n '
' +\r\n '
';\r\n\r\n return $(drop);\r\n },\r\n\r\n setPositionData: function () {\r\n this.selectpicker.view.canHighlight = [];\r\n this.selectpicker.view.size = 0;\r\n this.selectpicker.view.firstHighlightIndex = false;\r\n\r\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\r\n var li = this.selectpicker.current.data[i],\r\n canHighlight = true;\r\n\r\n if (li.type === 'divider') {\r\n canHighlight = false;\r\n li.height = this.sizeInfo.dividerHeight;\r\n } else if (li.type === 'optgroup-label') {\r\n canHighlight = false;\r\n li.height = this.sizeInfo.dropdownHeaderHeight;\r\n } else {\r\n li.height = this.sizeInfo.liHeight;\r\n }\r\n\r\n if (li.disabled) canHighlight = false;\r\n\r\n this.selectpicker.view.canHighlight.push(canHighlight);\r\n\r\n if (canHighlight) {\r\n this.selectpicker.view.size++;\r\n li.posinset = this.selectpicker.view.size;\r\n if (this.selectpicker.view.firstHighlightIndex === false) this.selectpicker.view.firstHighlightIndex = i;\r\n }\r\n\r\n li.position = (i === 0 ? 0 : this.selectpicker.current.data[i - 1].position) + li.height;\r\n }\r\n },\r\n\r\n isVirtual: function () {\r\n return (this.options.virtualScroll !== false) && (this.selectpicker.main.elements.length >= this.options.virtualScroll) || this.options.virtualScroll === true;\r\n },\r\n\r\n createView: function (isSearching, setSize, refresh) {\r\n var that = this,\r\n scrollTop = 0,\r\n active = [],\r\n selected,\r\n prevActive;\r\n\r\n this.selectpicker.isSearching = isSearching;\r\n this.selectpicker.current = isSearching ? this.selectpicker.search : this.selectpicker.main;\r\n\r\n this.setPositionData();\r\n\r\n if (setSize) {\r\n if (refresh) {\r\n scrollTop = this.$menuInner[0].scrollTop;\r\n } else if (!that.multiple) {\r\n var element = that.$element[0],\r\n selectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\r\n\r\n if (typeof selectedIndex === 'number' && that.options.size !== false) {\r\n var selectedData = that.selectpicker.main.data[selectedIndex],\r\n position = selectedData && selectedData.position;\r\n\r\n if (position) {\r\n scrollTop = position - ((that.sizeInfo.menuInnerHeight + that.sizeInfo.liHeight) / 2);\r\n }\r\n }\r\n }\r\n }\r\n\r\n scroll(scrollTop, true);\r\n\r\n this.$menuInner.off('scroll.createView').on('scroll.createView', function (e, updateValue) {\r\n if (!that.noScroll) scroll(this.scrollTop, updateValue);\r\n that.noScroll = false;\r\n });\r\n\r\n function scroll (scrollTop, init) {\r\n var size = that.selectpicker.current.elements.length,\r\n chunks = [],\r\n chunkSize,\r\n chunkCount,\r\n firstChunk,\r\n lastChunk,\r\n currentChunk,\r\n prevPositions,\r\n positionIsDifferent,\r\n previousElements,\r\n menuIsDifferent = true,\r\n isVirtual = that.isVirtual();\r\n\r\n that.selectpicker.view.scrollTop = scrollTop;\r\n\r\n chunkSize = Math.ceil(that.sizeInfo.menuInnerHeight / that.sizeInfo.liHeight * 1.5); // number of options in a chunk\r\n chunkCount = Math.round(size / chunkSize) || 1; // number of chunks\r\n\r\n for (var i = 0; i < chunkCount; i++) {\r\n var endOfChunk = (i + 1) * chunkSize;\r\n\r\n if (i === chunkCount - 1) {\r\n endOfChunk = size;\r\n }\r\n\r\n chunks[i] = [\r\n (i) * chunkSize + (!i ? 0 : 1),\r\n endOfChunk\r\n ];\r\n\r\n if (!size) break;\r\n\r\n if (currentChunk === undefined && scrollTop - 1 <= that.selectpicker.current.data[endOfChunk - 1].position - that.sizeInfo.menuInnerHeight) {\r\n currentChunk = i;\r\n }\r\n }\r\n\r\n if (currentChunk === undefined) currentChunk = 0;\r\n\r\n prevPositions = [that.selectpicker.view.position0, that.selectpicker.view.position1];\r\n\r\n // always display previous, current, and next chunks\r\n firstChunk = Math.max(0, currentChunk - 1);\r\n lastChunk = Math.min(chunkCount - 1, currentChunk + 1);\r\n\r\n that.selectpicker.view.position0 = isVirtual === false ? 0 : (Math.max(0, chunks[firstChunk][0]) || 0);\r\n that.selectpicker.view.position1 = isVirtual === false ? size : (Math.min(size, chunks[lastChunk][1]) || 0);\r\n\r\n positionIsDifferent = prevPositions[0] !== that.selectpicker.view.position0 || prevPositions[1] !== that.selectpicker.view.position1;\r\n\r\n if (that.activeIndex !== undefined) {\r\n prevActive = that.selectpicker.main.elements[that.prevActiveIndex];\r\n active = that.selectpicker.main.elements[that.activeIndex];\r\n selected = that.selectpicker.main.elements[that.selectedIndex];\r\n\r\n if (init) {\r\n if (that.activeIndex !== that.selectedIndex) {\r\n that.defocusItem(active);\r\n }\r\n that.activeIndex = undefined;\r\n }\r\n\r\n if (that.activeIndex && that.activeIndex !== that.selectedIndex) {\r\n that.defocusItem(selected);\r\n }\r\n }\r\n\r\n if (that.prevActiveIndex !== undefined && that.prevActiveIndex !== that.activeIndex && that.prevActiveIndex !== that.selectedIndex) {\r\n that.defocusItem(prevActive);\r\n }\r\n\r\n if (init || positionIsDifferent) {\r\n previousElements = that.selectpicker.view.visibleElements ? that.selectpicker.view.visibleElements.slice() : [];\r\n\r\n if (isVirtual === false) {\r\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements;\r\n } else {\r\n that.selectpicker.view.visibleElements = that.selectpicker.current.elements.slice(that.selectpicker.view.position0, that.selectpicker.view.position1);\r\n }\r\n\r\n that.setOptionStatus();\r\n\r\n // if searching, check to make sure the list has actually been updated before updating DOM\r\n // this prevents unnecessary repaints\r\n if (isSearching || (isVirtual === false && init)) menuIsDifferent = !isEqual(previousElements, that.selectpicker.view.visibleElements);\r\n\r\n // if virtual scroll is disabled and not searching,\r\n // menu should never need to be updated more than once\r\n if ((init || isVirtual === true) && menuIsDifferent) {\r\n var menuInner = that.$menuInner[0],\r\n menuFragment = document.createDocumentFragment(),\r\n emptyMenu = menuInner.firstChild.cloneNode(false),\r\n marginTop,\r\n marginBottom,\r\n elements = that.selectpicker.view.visibleElements,\r\n toSanitize = [];\r\n\r\n // replace the existing UL with an empty one - this is faster than $.empty()\r\n menuInner.replaceChild(emptyMenu, menuInner.firstChild);\r\n\r\n for (var i = 0, visibleElementsLen = elements.length; i < visibleElementsLen; i++) {\r\n var element = elements[i],\r\n elText,\r\n elementData;\r\n\r\n if (that.options.sanitize) {\r\n elText = element.lastChild;\r\n\r\n if (elText) {\r\n elementData = that.selectpicker.current.data[i + that.selectpicker.view.position0];\r\n\r\n if (elementData && elementData.content && !elementData.sanitized) {\r\n toSanitize.push(elText);\r\n elementData.sanitized = true;\r\n }\r\n }\r\n }\r\n\r\n menuFragment.appendChild(element);\r\n }\r\n\r\n if (that.options.sanitize && toSanitize.length) {\r\n sanitizeHtml(toSanitize, that.options.whiteList, that.options.sanitizeFn);\r\n }\r\n\r\n if (isVirtual === true) {\r\n marginTop = (that.selectpicker.view.position0 === 0 ? 0 : that.selectpicker.current.data[that.selectpicker.view.position0 - 1].position);\r\n marginBottom = (that.selectpicker.view.position1 > size - 1 ? 0 : that.selectpicker.current.data[size - 1].position - that.selectpicker.current.data[that.selectpicker.view.position1 - 1].position);\r\n\r\n menuInner.firstChild.style.marginTop = marginTop + 'px';\r\n menuInner.firstChild.style.marginBottom = marginBottom + 'px';\r\n } else {\r\n menuInner.firstChild.style.marginTop = 0;\r\n menuInner.firstChild.style.marginBottom = 0;\r\n }\r\n\r\n menuInner.firstChild.appendChild(menuFragment);\r\n\r\n // if an option is encountered that is wider than the current menu width, update the menu width accordingly\r\n // switch to ResizeObserver with increased browser support\r\n if (isVirtual === true && that.sizeInfo.hasScrollBar) {\r\n var menuInnerInnerWidth = menuInner.firstChild.offsetWidth;\r\n\r\n if (init && menuInnerInnerWidth < that.sizeInfo.menuInnerInnerWidth && that.sizeInfo.totalMenuWidth > that.sizeInfo.selectWidth) {\r\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\r\n } else if (menuInnerInnerWidth > that.sizeInfo.menuInnerInnerWidth) {\r\n // set to 0 to get actual width of menu\r\n that.$menu[0].style.minWidth = 0;\r\n\r\n var actualMenuWidth = menuInner.firstChild.offsetWidth;\r\n\r\n if (actualMenuWidth > that.sizeInfo.menuInnerInnerWidth) {\r\n that.sizeInfo.menuInnerInnerWidth = actualMenuWidth;\r\n menuInner.firstChild.style.minWidth = that.sizeInfo.menuInnerInnerWidth + 'px';\r\n }\r\n\r\n // reset to default CSS styling\r\n that.$menu[0].style.minWidth = '';\r\n }\r\n }\r\n }\r\n }\r\n\r\n that.prevActiveIndex = that.activeIndex;\r\n\r\n if (!that.options.liveSearch) {\r\n that.$menuInner.trigger('focus');\r\n } else if (isSearching && init) {\r\n var index = 0,\r\n newActive;\r\n\r\n if (!that.selectpicker.view.canHighlight[index]) {\r\n index = 1 + that.selectpicker.view.canHighlight.slice(1).indexOf(true);\r\n }\r\n\r\n newActive = that.selectpicker.view.visibleElements[index];\r\n\r\n that.defocusItem(that.selectpicker.view.currentActive);\r\n\r\n that.activeIndex = (that.selectpicker.current.data[index] || {}).index;\r\n\r\n that.focusItem(newActive);\r\n }\r\n }\r\n\r\n $(window)\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + '.createView')\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + '.createView', function () {\r\n var isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (isActive) scroll(that.$menuInner[0].scrollTop);\r\n });\r\n },\r\n\r\n focusItem: function (li, liData, noStyle) {\r\n if (li) {\r\n liData = liData || this.selectpicker.main.data[this.activeIndex];\r\n var a = li.firstChild;\r\n\r\n if (a) {\r\n a.setAttribute('aria-setsize', this.selectpicker.view.size);\r\n a.setAttribute('aria-posinset', liData.posinset);\r\n\r\n if (noStyle !== true) {\r\n this.focusedParent.setAttribute('aria-activedescendant', a.id);\r\n li.classList.add('active');\r\n a.classList.add('active');\r\n }\r\n }\r\n }\r\n },\r\n\r\n defocusItem: function (li) {\r\n if (li) {\r\n li.classList.remove('active');\r\n if (li.firstChild) li.firstChild.classList.remove('active');\r\n }\r\n },\r\n\r\n setPlaceholder: function () {\r\n var that = this,\r\n updateIndex = false;\r\n\r\n if (this.options.title && !this.multiple) {\r\n if (!this.selectpicker.view.titleOption) this.selectpicker.view.titleOption = document.createElement('option');\r\n\r\n // this option doesn't create a new
  • element, but does add a new option at the start,\r\n // so startIndex should increase to prevent having to check every option for the bs-title-option class\r\n updateIndex = true;\r\n\r\n var element = this.$element[0],\r\n selectTitleOption = false,\r\n titleNotAppended = !this.selectpicker.view.titleOption.parentNode,\r\n selectedIndex = element.selectedIndex,\r\n selectedOption = element.options[selectedIndex],\r\n navigation = window.performance && window.performance.getEntriesByType('navigation'),\r\n // Safari doesn't support getEntriesByType('navigation') - fall back to performance.navigation\r\n isNotBackForward = (navigation && navigation.length) ? navigation[0].type !== 'back_forward' : window.performance.navigation.type !== 2;\r\n\r\n if (titleNotAppended) {\r\n // Use native JS to prepend option (faster)\r\n this.selectpicker.view.titleOption.className = 'bs-title-option';\r\n this.selectpicker.view.titleOption.value = '';\r\n\r\n // Check if selected or data-selected attribute is already set on an option. If not, select the titleOption option.\r\n // the selected item may have been changed by user or programmatically before the bootstrap select plugin runs,\r\n // if so, the select will have the data-selected attribute\r\n selectTitleOption = !selectedOption || (selectedIndex === 0 && selectedOption.defaultSelected === false && this.$element.data('selected') === undefined);\r\n }\r\n\r\n if (titleNotAppended || this.selectpicker.view.titleOption.index !== 0) {\r\n element.insertBefore(this.selectpicker.view.titleOption, element.firstChild);\r\n }\r\n\r\n // Set selected *after* appending to select,\r\n // otherwise the option doesn't get selected in IE\r\n // set using selectedIndex, as setting the selected attr to true here doesn't work in IE11\r\n if (selectTitleOption && isNotBackForward) {\r\n element.selectedIndex = 0;\r\n } else if (document.readyState !== 'complete') {\r\n // if navigation type is back_forward, there's a chance the select will have its value set by BFCache\r\n // wait for that value to be set, then run render again\r\n window.addEventListener('pageshow', function () {\r\n if (that.selectpicker.view.displayedValue !== element.value) that.render();\r\n });\r\n }\r\n }\r\n\r\n return updateIndex;\r\n },\r\n\r\n buildData: function () {\r\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"])',\r\n mainData = [],\r\n optID = 0,\r\n startIndex = this.setPlaceholder() ? 1 : 0; // append the titleOption if necessary and skip the first option in the loop\r\n\r\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\r\n\r\n var selectOptions = this.$element[0].querySelectorAll('select > *' + optionSelector);\r\n\r\n function addDivider (config) {\r\n var previousData = mainData[mainData.length - 1];\r\n\r\n // ensure optgroup doesn't create back-to-back dividers\r\n if (\r\n previousData &&\r\n previousData.type === 'divider' &&\r\n (previousData.optID || config.optID)\r\n ) {\r\n return;\r\n }\r\n\r\n config = config || {};\r\n config.type = 'divider';\r\n\r\n mainData.push(config);\r\n }\r\n\r\n function addOption (option, config) {\r\n config = config || {};\r\n\r\n config.divider = option.getAttribute('data-divider') === 'true';\r\n\r\n if (config.divider) {\r\n addDivider({\r\n optID: config.optID\r\n });\r\n } else {\r\n var liIndex = mainData.length,\r\n cssText = option.style.cssText,\r\n inlineStyle = cssText ? htmlEscape(cssText) : '',\r\n optionClass = (option.className || '') + (config.optgroupClass || '');\r\n\r\n if (config.optID) optionClass = 'opt ' + optionClass;\r\n\r\n config.optionClass = optionClass.trim();\r\n config.inlineStyle = inlineStyle;\r\n config.text = option.textContent;\r\n\r\n config.content = option.getAttribute('data-content');\r\n config.tokens = option.getAttribute('data-tokens');\r\n config.subtext = option.getAttribute('data-subtext');\r\n config.icon = option.getAttribute('data-icon');\r\n\r\n option.liIndex = liIndex;\r\n\r\n config.display = config.content || config.text;\r\n config.type = 'option';\r\n config.index = liIndex;\r\n config.option = option;\r\n config.selected = !!option.selected;\r\n config.disabled = config.disabled || !!option.disabled;\r\n\r\n mainData.push(config);\r\n }\r\n }\r\n\r\n function addOptgroup (index, selectOptions) {\r\n var optgroup = selectOptions[index],\r\n // skip placeholder option\r\n previous = index - 1 < startIndex ? false : selectOptions[index - 1],\r\n next = selectOptions[index + 1],\r\n options = optgroup.querySelectorAll('option' + optionSelector);\r\n\r\n if (!options.length) return;\r\n\r\n var config = {\r\n display: htmlEscape(optgroup.label),\r\n subtext: optgroup.getAttribute('data-subtext'),\r\n icon: optgroup.getAttribute('data-icon'),\r\n type: 'optgroup-label',\r\n optgroupClass: ' ' + (optgroup.className || '')\r\n },\r\n headerIndex,\r\n lastIndex;\r\n\r\n optID++;\r\n\r\n if (previous) {\r\n addDivider({ optID: optID });\r\n }\r\n\r\n config.optID = optID;\r\n\r\n mainData.push(config);\r\n\r\n for (var j = 0, len = options.length; j < len; j++) {\r\n var option = options[j];\r\n\r\n if (j === 0) {\r\n headerIndex = mainData.length - 1;\r\n lastIndex = headerIndex + len;\r\n }\r\n\r\n addOption(option, {\r\n headerIndex: headerIndex,\r\n lastIndex: lastIndex,\r\n optID: config.optID,\r\n optgroupClass: config.optgroupClass,\r\n disabled: optgroup.disabled\r\n });\r\n }\r\n\r\n if (next) {\r\n addDivider({ optID: optID });\r\n }\r\n }\r\n\r\n for (var len = selectOptions.length, i = startIndex; i < len; i++) {\r\n var item = selectOptions[i];\r\n\r\n if (item.tagName !== 'OPTGROUP') {\r\n addOption(item, {});\r\n } else {\r\n addOptgroup(i, selectOptions);\r\n }\r\n }\r\n\r\n this.selectpicker.main.data = this.selectpicker.current.data = mainData;\r\n },\r\n\r\n buildList: function () {\r\n var that = this,\r\n selectData = this.selectpicker.main.data,\r\n mainElements = [],\r\n widestOptionLength = 0;\r\n\r\n if ((that.options.showTick || that.multiple) && !elementTemplates.checkMark.parentNode) {\r\n elementTemplates.checkMark.className = this.options.iconBase + ' ' + that.options.tickIcon + ' check-mark';\r\n elementTemplates.a.appendChild(elementTemplates.checkMark);\r\n }\r\n\r\n function buildElement (item) {\r\n var liElement,\r\n combinedLength = 0;\r\n\r\n switch (item.type) {\r\n case 'divider':\r\n liElement = generateOption.li(\r\n false,\r\n classNames.DIVIDER,\r\n (item.optID ? item.optID + 'div' : undefined)\r\n );\r\n\r\n break;\r\n\r\n case 'option':\r\n liElement = generateOption.li(\r\n generateOption.a(\r\n generateOption.text.call(that, item),\r\n item.optionClass,\r\n item.inlineStyle\r\n ),\r\n '',\r\n item.optID\r\n );\r\n\r\n if (liElement.firstChild) {\r\n liElement.firstChild.id = that.selectId + '-' + item.index;\r\n }\r\n\r\n break;\r\n\r\n case 'optgroup-label':\r\n liElement = generateOption.li(\r\n generateOption.label.call(that, item),\r\n 'dropdown-header' + item.optgroupClass,\r\n item.optID\r\n );\r\n\r\n break;\r\n }\r\n\r\n item.element = liElement;\r\n mainElements.push(liElement);\r\n\r\n // count the number of characters in the option - not perfect, but should work in most cases\r\n if (item.display) combinedLength += item.display.length;\r\n if (item.subtext) combinedLength += item.subtext.length;\r\n // if there is an icon, ensure this option's width is checked\r\n if (item.icon) combinedLength += 1;\r\n\r\n if (combinedLength > widestOptionLength) {\r\n widestOptionLength = combinedLength;\r\n\r\n // guess which option is the widest\r\n // use this when calculating menu width\r\n // not perfect, but it's fast, and the width will be updating accordingly when scrolling\r\n that.selectpicker.view.widestOption = mainElements[mainElements.length - 1];\r\n }\r\n }\r\n\r\n for (var len = selectData.length, i = 0; i < len; i++) {\r\n var item = selectData[i];\r\n\r\n buildElement(item);\r\n }\r\n\r\n this.selectpicker.main.elements = this.selectpicker.current.elements = mainElements;\r\n },\r\n\r\n findLis: function () {\r\n return this.$menuInner.find('.inner > li');\r\n },\r\n\r\n render: function () {\r\n var that = this,\r\n element = this.$element[0],\r\n // ensure titleOption is appended and selected (if necessary) before getting selectedOptions\r\n placeholderSelected = this.setPlaceholder() && element.selectedIndex === 0,\r\n selectedOptions = getSelectedOptions(element, this.options.hideDisabled),\r\n selectedCount = selectedOptions.length,\r\n button = this.$button[0],\r\n buttonInner = button.querySelector('.filter-option-inner-inner'),\r\n multipleSeparator = document.createTextNode(this.options.multipleSeparator),\r\n titleFragment = elementTemplates.fragment.cloneNode(false),\r\n showCount,\r\n countMax,\r\n hasContent = false;\r\n\r\n button.classList.toggle('bs-placeholder', that.multiple ? !selectedCount : !getSelectValues(element, selectedOptions));\r\n\r\n if (!that.multiple && selectedOptions.length === 1) {\r\n that.selectpicker.view.displayedValue = getSelectValues(element, selectedOptions);\r\n }\r\n\r\n if (this.options.selectedTextFormat === 'static') {\r\n titleFragment = generateOption.text.call(this, { text: this.options.title }, true);\r\n } else {\r\n showCount = this.multiple && this.options.selectedTextFormat.indexOf('count') !== -1 && selectedCount > 1;\r\n\r\n // determine if the number of selected options will be shown (showCount === true)\r\n if (showCount) {\r\n countMax = this.options.selectedTextFormat.split('>');\r\n showCount = (countMax.length > 1 && selectedCount > countMax[1]) || (countMax.length === 1 && selectedCount >= 2);\r\n }\r\n\r\n // only loop through all selected options if the count won't be shown\r\n if (showCount === false) {\r\n if (!placeholderSelected) {\r\n for (var selectedIndex = 0; selectedIndex < selectedCount; selectedIndex++) {\r\n if (selectedIndex < 50) {\r\n var option = selectedOptions[selectedIndex],\r\n thisData = this.selectpicker.main.data[option.liIndex],\r\n titleOptions = {};\r\n\r\n if (this.multiple && selectedIndex > 0) {\r\n titleFragment.appendChild(multipleSeparator.cloneNode(false));\r\n }\r\n\r\n if (option.title) {\r\n titleOptions.text = option.title;\r\n } else if (thisData) {\r\n if (thisData.content && that.options.showContent) {\r\n titleOptions.content = thisData.content.toString();\r\n hasContent = true;\r\n } else {\r\n if (that.options.showIcon) {\r\n titleOptions.icon = thisData.icon;\r\n }\r\n if (that.options.showSubtext && !that.multiple && thisData.subtext) titleOptions.subtext = ' ' + thisData.subtext;\r\n titleOptions.text = option.textContent.trim();\r\n }\r\n }\r\n\r\n titleFragment.appendChild(generateOption.text.call(this, titleOptions, true));\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // add ellipsis\r\n if (selectedCount > 49) {\r\n titleFragment.appendChild(document.createTextNode('...'));\r\n }\r\n }\r\n } else {\r\n var optionSelector = ':not([hidden]):not([data-hidden=\"true\"]):not([data-divider=\"true\"])';\r\n if (this.options.hideDisabled) optionSelector += ':not(:disabled)';\r\n\r\n // If this is a multiselect, and selectedTextFormat is count, then show 1 of 2 selected, etc.\r\n var totalCount = this.$element[0].querySelectorAll('select > option' + optionSelector + ', optgroup' + optionSelector + ' option' + optionSelector).length,\r\n tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedCount, totalCount) : this.options.countSelectedText;\r\n\r\n titleFragment = generateOption.text.call(this, {\r\n text: tr8nText.replace('{0}', selectedCount.toString()).replace('{1}', totalCount.toString())\r\n }, true);\r\n }\r\n }\r\n\r\n if (this.options.title == undefined) {\r\n // use .attr to ensure undefined is returned if title attribute is not set\r\n this.options.title = this.$element.attr('title');\r\n }\r\n\r\n // If the select doesn't have a title, then use the default, or if nothing is set at all, use noneSelectedText\r\n if (!titleFragment.childNodes.length) {\r\n titleFragment = generateOption.text.call(this, {\r\n text: typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText\r\n }, true);\r\n }\r\n\r\n // strip all HTML tags and trim the result, then unescape any escaped tags\r\n button.title = titleFragment.textContent.replace(/<[^>]*>?/g, '').trim();\r\n\r\n if (this.options.sanitize && hasContent) {\r\n sanitizeHtml([titleFragment], that.options.whiteList, that.options.sanitizeFn);\r\n }\r\n\r\n buttonInner.innerHTML = '';\r\n buttonInner.appendChild(titleFragment);\r\n\r\n if (version.major < 4 && this.$newElement[0].classList.contains('bs3-has-addon')) {\r\n var filterExpand = button.querySelector('.filter-expand'),\r\n clone = buttonInner.cloneNode(true);\r\n\r\n clone.className = 'filter-expand';\r\n\r\n if (filterExpand) {\r\n button.replaceChild(clone, filterExpand);\r\n } else {\r\n button.appendChild(clone);\r\n }\r\n }\r\n\r\n this.$element.trigger('rendered' + EVENT_KEY);\r\n },\r\n\r\n /**\r\n * @param [style]\r\n * @param [status]\r\n */\r\n setStyle: function (newStyle, status) {\r\n var button = this.$button[0],\r\n newElement = this.$newElement[0],\r\n style = this.options.style.trim(),\r\n buttonClass;\r\n\r\n if (this.$element.attr('class')) {\r\n this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\\[.*\\]/gi, ''));\r\n }\r\n\r\n if (version.major < 4) {\r\n newElement.classList.add('bs3');\r\n\r\n if (newElement.parentNode.classList && newElement.parentNode.classList.contains('input-group') &&\r\n (newElement.previousElementSibling || newElement.nextElementSibling) &&\r\n (newElement.previousElementSibling || newElement.nextElementSibling).classList.contains('input-group-addon')\r\n ) {\r\n newElement.classList.add('bs3-has-addon');\r\n }\r\n }\r\n\r\n if (newStyle) {\r\n buttonClass = newStyle.trim();\r\n } else {\r\n buttonClass = style;\r\n }\r\n\r\n if (status == 'add') {\r\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\r\n } else if (status == 'remove') {\r\n if (buttonClass) button.classList.remove.apply(button.classList, buttonClass.split(' '));\r\n } else {\r\n if (style) button.classList.remove.apply(button.classList, style.split(' '));\r\n if (buttonClass) button.classList.add.apply(button.classList, buttonClass.split(' '));\r\n }\r\n },\r\n\r\n liHeight: function (refresh) {\r\n if (!refresh && (this.options.size === false || Object.keys(this.sizeInfo).length)) return;\r\n\r\n var newElement = elementTemplates.div.cloneNode(false),\r\n menu = elementTemplates.div.cloneNode(false),\r\n menuInner = elementTemplates.div.cloneNode(false),\r\n menuInnerInner = document.createElement('ul'),\r\n divider = elementTemplates.li.cloneNode(false),\r\n dropdownHeader = elementTemplates.li.cloneNode(false),\r\n li,\r\n a = elementTemplates.a.cloneNode(false),\r\n text = elementTemplates.span.cloneNode(false),\r\n header = this.options.header && this.$menu.find('.' + classNames.POPOVERHEADER).length > 0 ? this.$menu.find('.' + classNames.POPOVERHEADER)[0].cloneNode(true) : null,\r\n search = this.options.liveSearch ? elementTemplates.div.cloneNode(false) : null,\r\n actions = this.options.actionsBox && this.multiple && this.$menu.find('.bs-actionsbox').length > 0 ? this.$menu.find('.bs-actionsbox')[0].cloneNode(true) : null,\r\n doneButton = this.options.doneButton && this.multiple && this.$menu.find('.bs-donebutton').length > 0 ? this.$menu.find('.bs-donebutton')[0].cloneNode(true) : null,\r\n firstOption = this.$element.find('option')[0];\r\n\r\n this.sizeInfo.selectWidth = this.$newElement[0].offsetWidth;\r\n\r\n text.className = 'text';\r\n a.className = 'dropdown-item ' + (firstOption ? firstOption.className : '');\r\n newElement.className = this.$menu[0].parentNode.className + ' ' + classNames.SHOW;\r\n newElement.style.width = 0; // ensure button width doesn't affect natural width of menu when calculating\r\n if (this.options.width === 'auto') menu.style.minWidth = 0;\r\n menu.className = classNames.MENU + ' ' + classNames.SHOW;\r\n menuInner.className = 'inner ' + classNames.SHOW;\r\n menuInnerInner.className = classNames.MENU + ' inner ' + (version.major === '4' ? classNames.SHOW : '');\r\n divider.className = classNames.DIVIDER;\r\n dropdownHeader.className = 'dropdown-header';\r\n\r\n text.appendChild(document.createTextNode('\\u200b'));\r\n\r\n if (this.selectpicker.current.data.length) {\r\n for (var i = 0; i < this.selectpicker.current.data.length; i++) {\r\n var data = this.selectpicker.current.data[i];\r\n if (data.type === 'option') {\r\n li = data.element;\r\n break;\r\n }\r\n }\r\n } else {\r\n li = elementTemplates.li.cloneNode(false);\r\n a.appendChild(text);\r\n li.appendChild(a);\r\n }\r\n\r\n dropdownHeader.appendChild(text.cloneNode(true));\r\n\r\n if (this.selectpicker.view.widestOption) {\r\n menuInnerInner.appendChild(this.selectpicker.view.widestOption.cloneNode(true));\r\n }\r\n\r\n menuInnerInner.appendChild(li);\r\n menuInnerInner.appendChild(divider);\r\n menuInnerInner.appendChild(dropdownHeader);\r\n if (header) menu.appendChild(header);\r\n if (search) {\r\n var input = document.createElement('input');\r\n search.className = 'bs-searchbox';\r\n input.className = 'form-control';\r\n search.appendChild(input);\r\n menu.appendChild(search);\r\n }\r\n if (actions) menu.appendChild(actions);\r\n menuInner.appendChild(menuInnerInner);\r\n menu.appendChild(menuInner);\r\n if (doneButton) menu.appendChild(doneButton);\r\n newElement.appendChild(menu);\r\n\r\n document.body.appendChild(newElement);\r\n\r\n var liHeight = li.offsetHeight,\r\n dropdownHeaderHeight = dropdownHeader ? dropdownHeader.offsetHeight : 0,\r\n headerHeight = header ? header.offsetHeight : 0,\r\n searchHeight = search ? search.offsetHeight : 0,\r\n actionsHeight = actions ? actions.offsetHeight : 0,\r\n doneButtonHeight = doneButton ? doneButton.offsetHeight : 0,\r\n dividerHeight = $(divider).outerHeight(true),\r\n // fall back to jQuery if getComputedStyle is not supported\r\n menuStyle = window.getComputedStyle ? window.getComputedStyle(menu) : false,\r\n menuWidth = menu.offsetWidth,\r\n $menu = menuStyle ? null : $(menu),\r\n menuPadding = {\r\n vert: toInteger(menuStyle ? menuStyle.paddingTop : $menu.css('paddingTop')) +\r\n toInteger(menuStyle ? menuStyle.paddingBottom : $menu.css('paddingBottom')) +\r\n toInteger(menuStyle ? menuStyle.borderTopWidth : $menu.css('borderTopWidth')) +\r\n toInteger(menuStyle ? menuStyle.borderBottomWidth : $menu.css('borderBottomWidth')),\r\n horiz: toInteger(menuStyle ? menuStyle.paddingLeft : $menu.css('paddingLeft')) +\r\n toInteger(menuStyle ? menuStyle.paddingRight : $menu.css('paddingRight')) +\r\n toInteger(menuStyle ? menuStyle.borderLeftWidth : $menu.css('borderLeftWidth')) +\r\n toInteger(menuStyle ? menuStyle.borderRightWidth : $menu.css('borderRightWidth'))\r\n },\r\n menuExtras = {\r\n vert: menuPadding.vert +\r\n toInteger(menuStyle ? menuStyle.marginTop : $menu.css('marginTop')) +\r\n toInteger(menuStyle ? menuStyle.marginBottom : $menu.css('marginBottom')) + 2,\r\n horiz: menuPadding.horiz +\r\n toInteger(menuStyle ? menuStyle.marginLeft : $menu.css('marginLeft')) +\r\n toInteger(menuStyle ? menuStyle.marginRight : $menu.css('marginRight')) + 2\r\n },\r\n scrollBarWidth;\r\n\r\n menuInner.style.overflowY = 'scroll';\r\n\r\n scrollBarWidth = menu.offsetWidth - menuWidth;\r\n\r\n document.body.removeChild(newElement);\r\n\r\n this.sizeInfo.liHeight = liHeight;\r\n this.sizeInfo.dropdownHeaderHeight = dropdownHeaderHeight;\r\n this.sizeInfo.headerHeight = headerHeight;\r\n this.sizeInfo.searchHeight = searchHeight;\r\n this.sizeInfo.actionsHeight = actionsHeight;\r\n this.sizeInfo.doneButtonHeight = doneButtonHeight;\r\n this.sizeInfo.dividerHeight = dividerHeight;\r\n this.sizeInfo.menuPadding = menuPadding;\r\n this.sizeInfo.menuExtras = menuExtras;\r\n this.sizeInfo.menuWidth = menuWidth;\r\n this.sizeInfo.menuInnerInnerWidth = menuWidth - menuPadding.horiz;\r\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth;\r\n this.sizeInfo.scrollBarWidth = scrollBarWidth;\r\n this.sizeInfo.selectHeight = this.$newElement[0].offsetHeight;\r\n\r\n this.setPositionData();\r\n },\r\n\r\n getSelectPosition: function () {\r\n var that = this,\r\n $window = $(window),\r\n pos = that.$newElement.offset(),\r\n $container = $(that.options.container),\r\n containerPos;\r\n\r\n if (that.options.container && $container.length && !$container.is('body')) {\r\n containerPos = $container.offset();\r\n containerPos.top += parseInt($container.css('borderTopWidth'));\r\n containerPos.left += parseInt($container.css('borderLeftWidth'));\r\n } else {\r\n containerPos = { top: 0, left: 0 };\r\n }\r\n\r\n var winPad = that.options.windowPadding;\r\n\r\n this.sizeInfo.selectOffsetTop = pos.top - containerPos.top - $window.scrollTop();\r\n this.sizeInfo.selectOffsetBot = $window.height() - this.sizeInfo.selectOffsetTop - this.sizeInfo.selectHeight - containerPos.top - winPad[2];\r\n this.sizeInfo.selectOffsetLeft = pos.left - containerPos.left - $window.scrollLeft();\r\n this.sizeInfo.selectOffsetRight = $window.width() - this.sizeInfo.selectOffsetLeft - this.sizeInfo.selectWidth - containerPos.left - winPad[1];\r\n this.sizeInfo.selectOffsetTop -= winPad[0];\r\n this.sizeInfo.selectOffsetLeft -= winPad[3];\r\n },\r\n\r\n setMenuSize: function (isAuto) {\r\n this.getSelectPosition();\r\n\r\n var selectWidth = this.sizeInfo.selectWidth,\r\n liHeight = this.sizeInfo.liHeight,\r\n headerHeight = this.sizeInfo.headerHeight,\r\n searchHeight = this.sizeInfo.searchHeight,\r\n actionsHeight = this.sizeInfo.actionsHeight,\r\n doneButtonHeight = this.sizeInfo.doneButtonHeight,\r\n divHeight = this.sizeInfo.dividerHeight,\r\n menuPadding = this.sizeInfo.menuPadding,\r\n menuInnerHeight,\r\n menuHeight,\r\n divLength = 0,\r\n minHeight,\r\n _minHeight,\r\n maxHeight,\r\n menuInnerMinHeight,\r\n estimate,\r\n isDropup;\r\n\r\n if (this.options.dropupAuto) {\r\n // Get the estimated height of the menu without scrollbars.\r\n // This is useful for smaller menus, where there might be plenty of room\r\n // below the button without setting dropup, but we can't know\r\n // the exact height of the menu until createView is called later\r\n estimate = liHeight * this.selectpicker.current.elements.length + menuPadding.vert;\r\n\r\n isDropup = this.sizeInfo.selectOffsetTop - this.sizeInfo.selectOffsetBot > this.sizeInfo.menuExtras.vert && estimate + this.sizeInfo.menuExtras.vert + 50 > this.sizeInfo.selectOffsetBot;\r\n\r\n // ensure dropup doesn't change while searching (so menu doesn't bounce back and forth)\r\n if (this.selectpicker.isSearching === true) {\r\n isDropup = this.selectpicker.dropup;\r\n }\r\n\r\n this.$newElement.toggleClass(classNames.DROPUP, isDropup);\r\n this.selectpicker.dropup = isDropup;\r\n }\r\n\r\n if (this.options.size === 'auto') {\r\n _minHeight = this.selectpicker.current.elements.length > 3 ? this.sizeInfo.liHeight * 3 + this.sizeInfo.menuExtras.vert - 2 : 0;\r\n menuHeight = this.sizeInfo.selectOffsetBot - this.sizeInfo.menuExtras.vert;\r\n minHeight = _minHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\r\n menuInnerMinHeight = Math.max(_minHeight - menuPadding.vert, 0);\r\n\r\n if (this.$newElement.hasClass(classNames.DROPUP)) {\r\n menuHeight = this.sizeInfo.selectOffsetTop - this.sizeInfo.menuExtras.vert;\r\n }\r\n\r\n maxHeight = menuHeight;\r\n menuInnerHeight = menuHeight - headerHeight - searchHeight - actionsHeight - doneButtonHeight - menuPadding.vert;\r\n } else if (this.options.size && this.options.size != 'auto' && this.selectpicker.current.elements.length > this.options.size) {\r\n for (var i = 0; i < this.options.size; i++) {\r\n if (this.selectpicker.current.data[i].type === 'divider') divLength++;\r\n }\r\n\r\n menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding.vert;\r\n menuInnerHeight = menuHeight - menuPadding.vert;\r\n maxHeight = menuHeight + headerHeight + searchHeight + actionsHeight + doneButtonHeight;\r\n minHeight = menuInnerMinHeight = '';\r\n }\r\n\r\n this.$menu.css({\r\n 'max-height': maxHeight + 'px',\r\n 'overflow': 'hidden',\r\n 'min-height': minHeight + 'px'\r\n });\r\n\r\n this.$menuInner.css({\r\n 'max-height': menuInnerHeight + 'px',\r\n 'overflow-y': 'auto',\r\n 'min-height': menuInnerMinHeight + 'px'\r\n });\r\n\r\n // ensure menuInnerHeight is always a positive number to prevent issues calculating chunkSize in createView\r\n this.sizeInfo.menuInnerHeight = Math.max(menuInnerHeight, 1);\r\n\r\n if (this.selectpicker.current.data.length && this.selectpicker.current.data[this.selectpicker.current.data.length - 1].position > this.sizeInfo.menuInnerHeight) {\r\n this.sizeInfo.hasScrollBar = true;\r\n this.sizeInfo.totalMenuWidth = this.sizeInfo.menuWidth + this.sizeInfo.scrollBarWidth;\r\n }\r\n\r\n if (this.options.dropdownAlignRight === 'auto') {\r\n this.$menu.toggleClass(classNames.MENURIGHT, this.sizeInfo.selectOffsetLeft > this.sizeInfo.selectOffsetRight && this.sizeInfo.selectOffsetRight < (this.sizeInfo.totalMenuWidth - selectWidth));\r\n }\r\n\r\n if (this.dropdown && this.dropdown._popper) this.dropdown._popper.update();\r\n },\r\n\r\n setSize: function (refresh) {\r\n this.liHeight(refresh);\r\n\r\n if (this.options.header) this.$menu.css('padding-top', 0);\r\n\r\n if (this.options.size !== false) {\r\n var that = this,\r\n $window = $(window);\r\n\r\n this.setMenuSize();\r\n\r\n if (this.options.liveSearch) {\r\n this.$searchbox\r\n .off('input.setMenuSize propertychange.setMenuSize')\r\n .on('input.setMenuSize propertychange.setMenuSize', function () {\r\n return that.setMenuSize();\r\n });\r\n }\r\n\r\n if (this.options.size === 'auto') {\r\n $window\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize')\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize', function () {\r\n return that.setMenuSize();\r\n });\r\n } else if (this.options.size && this.options.size != 'auto' && this.selectpicker.current.elements.length > this.options.size) {\r\n $window.off('resize' + EVENT_KEY + '.' + this.selectId + '.setMenuSize' + ' scroll' + EVENT_KEY + '.' + this.selectId + '.setMenuSize');\r\n }\r\n }\r\n\r\n this.createView(false, true, refresh);\r\n },\r\n\r\n setWidth: function () {\r\n var that = this;\r\n\r\n if (this.options.width === 'auto') {\r\n requestAnimationFrame(function () {\r\n that.$menu.css('min-width', '0');\r\n\r\n that.$element.on('loaded' + EVENT_KEY, function () {\r\n that.liHeight();\r\n that.setMenuSize();\r\n\r\n // Get correct width if element is hidden\r\n var $selectClone = that.$newElement.clone().appendTo('body'),\r\n btnWidth = $selectClone.css('width', 'auto').children('button').outerWidth();\r\n\r\n $selectClone.remove();\r\n\r\n // Set width to whatever's larger, button title or longest option\r\n that.sizeInfo.selectWidth = Math.max(that.sizeInfo.totalMenuWidth, btnWidth);\r\n that.$newElement.css('width', that.sizeInfo.selectWidth + 'px');\r\n });\r\n });\r\n } else if (this.options.width === 'fit') {\r\n // Remove inline min-width so width can be changed from 'auto'\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', '').addClass('fit-width');\r\n } else if (this.options.width) {\r\n // Remove inline min-width so width can be changed from 'auto'\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', this.options.width);\r\n } else {\r\n // Remove inline min-width/width so width can be changed\r\n this.$menu.css('min-width', '');\r\n this.$newElement.css('width', '');\r\n }\r\n // Remove fit-width class if width is changed programmatically\r\n if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') {\r\n this.$newElement[0].classList.remove('fit-width');\r\n }\r\n },\r\n\r\n selectPosition: function () {\r\n this.$bsContainer = $('
    ');\r\n\r\n var that = this,\r\n $container = $(this.options.container),\r\n pos,\r\n containerPos,\r\n actualHeight,\r\n getPlacement = function ($element) {\r\n var containerPosition = {},\r\n // fall back to dropdown's default display setting if display is not manually set\r\n display = that.options.display || (\r\n // Bootstrap 3 doesn't have $.fn.dropdown.Constructor.Default\r\n $.fn.dropdown.Constructor.Default ? $.fn.dropdown.Constructor.Default.display\r\n : false\r\n );\r\n\r\n that.$bsContainer.addClass($element.attr('class').replace(/form-control|fit-width/gi, '')).toggleClass(classNames.DROPUP, $element.hasClass(classNames.DROPUP));\r\n pos = $element.offset();\r\n\r\n if (!$container.is('body')) {\r\n containerPos = $container.offset();\r\n containerPos.top += parseInt($container.css('borderTopWidth')) - $container.scrollTop();\r\n containerPos.left += parseInt($container.css('borderLeftWidth')) - $container.scrollLeft();\r\n } else {\r\n containerPos = { top: 0, left: 0 };\r\n }\r\n\r\n actualHeight = $element.hasClass(classNames.DROPUP) ? 0 : $element[0].offsetHeight;\r\n\r\n // Bootstrap 4+ uses Popper for menu positioning\r\n if (version.major < 4 || display === 'static') {\r\n containerPosition.top = pos.top - containerPos.top + actualHeight;\r\n containerPosition.left = pos.left - containerPos.left;\r\n }\r\n\r\n containerPosition.width = $element[0].offsetWidth;\r\n\r\n that.$bsContainer.css(containerPosition);\r\n };\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (that.isDisabled()) {\r\n return;\r\n }\r\n\r\n getPlacement(that.$newElement);\r\n\r\n that.$bsContainer\r\n .appendTo(that.options.container)\r\n .toggleClass(classNames.SHOW, !that.$button.hasClass(classNames.SHOW))\r\n .append(that.$menu);\r\n });\r\n\r\n $(window)\r\n .off('resize' + EVENT_KEY + '.' + this.selectId + ' scroll' + EVENT_KEY + '.' + this.selectId)\r\n .on('resize' + EVENT_KEY + '.' + this.selectId + ' scroll' + EVENT_KEY + '.' + this.selectId, function () {\r\n var isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (isActive) getPlacement(that.$newElement);\r\n });\r\n\r\n this.$element.on('hide' + EVENT_KEY, function () {\r\n that.$menu.data('height', that.$menu.height());\r\n that.$bsContainer.detach();\r\n });\r\n },\r\n\r\n setOptionStatus: function (selectedOnly) {\r\n var that = this;\r\n\r\n that.noScroll = false;\r\n\r\n if (that.selectpicker.view.visibleElements && that.selectpicker.view.visibleElements.length) {\r\n for (var i = 0; i < that.selectpicker.view.visibleElements.length; i++) {\r\n var liData = that.selectpicker.current.data[i + that.selectpicker.view.position0],\r\n option = liData.option;\r\n\r\n if (option) {\r\n if (selectedOnly !== true) {\r\n that.setDisabled(\r\n liData.index,\r\n liData.disabled\r\n );\r\n }\r\n\r\n that.setSelected(\r\n liData.index,\r\n option.selected\r\n );\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * @param {number} index - the index of the option that is being changed\r\n * @param {boolean} selected - true if the option is being selected, false if being deselected\r\n */\r\n setSelected: function (index, selected) {\r\n var li = this.selectpicker.main.elements[index],\r\n liData = this.selectpicker.main.data[index],\r\n activeIndexIsSet = this.activeIndex !== undefined,\r\n thisIsActive = this.activeIndex === index,\r\n prevActive,\r\n a,\r\n // if current option is already active\r\n // OR\r\n // if the current option is being selected, it's NOT multiple, and\r\n // activeIndex is undefined:\r\n // - when the menu is first being opened, OR\r\n // - after a search has been performed, OR\r\n // - when retainActive is false when selecting a new option (i.e. index of the newly selected option is not the same as the current activeIndex)\r\n keepActive = thisIsActive || (selected && !this.multiple && !activeIndexIsSet);\r\n\r\n liData.selected = selected;\r\n\r\n a = li.firstChild;\r\n\r\n if (selected) {\r\n this.selectedIndex = index;\r\n }\r\n\r\n li.classList.toggle('selected', selected);\r\n\r\n if (keepActive) {\r\n this.focusItem(li, liData);\r\n this.selectpicker.view.currentActive = li;\r\n this.activeIndex = index;\r\n } else {\r\n this.defocusItem(li);\r\n }\r\n\r\n if (a) {\r\n a.classList.toggle('selected', selected);\r\n\r\n if (selected) {\r\n a.setAttribute('aria-selected', true);\r\n } else {\r\n if (this.multiple) {\r\n a.setAttribute('aria-selected', false);\r\n } else {\r\n a.removeAttribute('aria-selected');\r\n }\r\n }\r\n }\r\n\r\n if (!keepActive && !activeIndexIsSet && selected && this.prevActiveIndex !== undefined) {\r\n prevActive = this.selectpicker.main.elements[this.prevActiveIndex];\r\n\r\n this.defocusItem(prevActive);\r\n }\r\n },\r\n\r\n /**\r\n * @param {number} index - the index of the option that is being disabled\r\n * @param {boolean} disabled - true if the option is being disabled, false if being enabled\r\n */\r\n setDisabled: function (index, disabled) {\r\n var li = this.selectpicker.main.elements[index],\r\n a;\r\n\r\n this.selectpicker.main.data[index].disabled = disabled;\r\n\r\n a = li.firstChild;\r\n\r\n li.classList.toggle(classNames.DISABLED, disabled);\r\n\r\n if (a) {\r\n if (version.major === '4') a.classList.toggle(classNames.DISABLED, disabled);\r\n\r\n if (disabled) {\r\n a.setAttribute('aria-disabled', disabled);\r\n a.setAttribute('tabindex', -1);\r\n } else {\r\n a.removeAttribute('aria-disabled');\r\n a.setAttribute('tabindex', 0);\r\n }\r\n }\r\n },\r\n\r\n isDisabled: function () {\r\n return this.$element[0].disabled;\r\n },\r\n\r\n checkDisabled: function () {\r\n if (this.isDisabled()) {\r\n this.$newElement[0].classList.add(classNames.DISABLED);\r\n this.$button.addClass(classNames.DISABLED).attr('aria-disabled', true);\r\n } else {\r\n if (this.$button[0].classList.contains(classNames.DISABLED)) {\r\n this.$newElement[0].classList.remove(classNames.DISABLED);\r\n this.$button.removeClass(classNames.DISABLED).attr('aria-disabled', false);\r\n }\r\n }\r\n },\r\n\r\n clickListener: function () {\r\n var that = this,\r\n $document = $(document);\r\n\r\n $document.data('spaceSelect', false);\r\n\r\n this.$button.on('keyup', function (e) {\r\n if (/(32)/.test(e.keyCode.toString(10)) && $document.data('spaceSelect')) {\r\n e.preventDefault();\r\n $document.data('spaceSelect', false);\r\n }\r\n });\r\n\r\n this.$newElement.on('show.bs.dropdown', function () {\r\n if (version.major > 3 && !that.dropdown) {\r\n that.dropdown = that.$button.data('bs.dropdown');\r\n that.dropdown._menu = that.$menu[0];\r\n }\r\n });\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (!that.$newElement.hasClass(classNames.SHOW)) {\r\n that.setSize();\r\n }\r\n });\r\n\r\n function setFocus () {\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$menuInner.trigger('focus');\r\n }\r\n }\r\n\r\n function checkPopperExists () {\r\n if (that.dropdown && that.dropdown._popper && that.dropdown._popper.state.isCreated) {\r\n setFocus();\r\n } else {\r\n requestAnimationFrame(checkPopperExists);\r\n }\r\n }\r\n\r\n this.$element.on('shown' + EVENT_KEY, function () {\r\n if (that.$menuInner[0].scrollTop !== that.selectpicker.view.scrollTop) {\r\n that.$menuInner[0].scrollTop = that.selectpicker.view.scrollTop;\r\n }\r\n\r\n if (version.major > 3) {\r\n requestAnimationFrame(checkPopperExists);\r\n } else {\r\n setFocus();\r\n }\r\n });\r\n\r\n // ensure posinset and setsize are correct before selecting an option via a click\r\n this.$menuInner.on('mouseenter', 'li a', function (e) {\r\n var hoverLi = this.parentElement,\r\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\r\n index = Array.prototype.indexOf.call(hoverLi.parentElement.children, hoverLi),\r\n hoverData = that.selectpicker.current.data[index + position0];\r\n\r\n that.focusItem(hoverLi, hoverData, true);\r\n });\r\n\r\n this.$menuInner.on('click', 'li a', function (e, retainActive) {\r\n var $this = $(this),\r\n element = that.$element[0],\r\n position0 = that.isVirtual() ? that.selectpicker.view.position0 : 0,\r\n clickedData = that.selectpicker.current.data[$this.parent().index() + position0],\r\n clickedIndex = clickedData.index,\r\n prevValue = getSelectValues(element),\r\n prevIndex = element.selectedIndex,\r\n prevOption = element.options[prevIndex],\r\n triggerChange = true;\r\n\r\n // Don't close on multi choice menu\r\n if (that.multiple && that.options.maxOptions !== 1) {\r\n e.stopPropagation();\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Don't run if the select is disabled\r\n if (!that.isDisabled() && !$this.parent().hasClass(classNames.DISABLED)) {\r\n var option = clickedData.option,\r\n $option = $(option),\r\n state = option.selected,\r\n $optgroup = $option.parent('optgroup'),\r\n $optgroupOptions = $optgroup.find('option'),\r\n maxOptions = that.options.maxOptions,\r\n maxOptionsGrp = $optgroup.data('maxOptions') || false;\r\n\r\n if (clickedIndex === that.activeIndex) retainActive = true;\r\n\r\n if (!retainActive) {\r\n that.prevActiveIndex = that.activeIndex;\r\n that.activeIndex = undefined;\r\n }\r\n\r\n if (!that.multiple) { // Deselect all others if not multi select box\r\n if (prevOption) prevOption.selected = false;\r\n option.selected = true;\r\n that.setSelected(clickedIndex, true);\r\n } else { // Toggle the one we have chosen if we are multi select.\r\n option.selected = !state;\r\n\r\n that.setSelected(clickedIndex, !state);\r\n that.focusedParent.focus();\r\n\r\n if (maxOptions !== false || maxOptionsGrp !== false) {\r\n var maxReached = maxOptions < getSelectedOptions(element).length,\r\n maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length;\r\n\r\n if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {\r\n if (maxOptions && maxOptions == 1) {\r\n element.selectedIndex = -1;\r\n option.selected = true;\r\n that.setOptionStatus(true);\r\n } else if (maxOptionsGrp && maxOptionsGrp == 1) {\r\n for (var i = 0; i < $optgroupOptions.length; i++) {\r\n var _option = $optgroupOptions[i];\r\n _option.selected = false;\r\n that.setSelected(_option.liIndex, false);\r\n }\r\n\r\n option.selected = true;\r\n that.setSelected(clickedIndex, true);\r\n } else {\r\n var maxOptionsText = typeof that.options.maxOptionsText === 'string' ? [that.options.maxOptionsText, that.options.maxOptionsText] : that.options.maxOptionsText,\r\n maxOptionsArr = typeof maxOptionsText === 'function' ? maxOptionsText(maxOptions, maxOptionsGrp) : maxOptionsText,\r\n maxTxt = maxOptionsArr[0].replace('{n}', maxOptions),\r\n maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp),\r\n $notify = $('
    ');\r\n // If {var} is set in array, replace it\r\n /** @deprecated */\r\n if (maxOptionsArr[2]) {\r\n maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]);\r\n maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]);\r\n }\r\n\r\n option.selected = false;\r\n\r\n that.$menu.append($notify);\r\n\r\n if (maxOptions && maxReached) {\r\n $notify.append($('
    ' + maxTxt + '
    '));\r\n triggerChange = false;\r\n that.$element.trigger('maxReached' + EVENT_KEY);\r\n }\r\n\r\n if (maxOptionsGrp && maxReachedGrp) {\r\n $notify.append($('
    ' + maxTxtGrp + '
    '));\r\n triggerChange = false;\r\n that.$element.trigger('maxReachedGrp' + EVENT_KEY);\r\n }\r\n\r\n setTimeout(function () {\r\n that.setSelected(clickedIndex, false);\r\n }, 10);\r\n\r\n $notify[0].classList.add('fadeOut');\r\n\r\n setTimeout(function () {\r\n $notify.remove();\r\n }, 1050);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!that.multiple || (that.multiple && that.options.maxOptions === 1)) {\r\n that.$button.trigger('focus');\r\n } else if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n }\r\n\r\n // Trigger select 'change'\r\n if (triggerChange) {\r\n if (that.multiple || prevIndex !== element.selectedIndex) {\r\n // $option.prop('selected') is current option state (selected/unselected). prevValue is the value of the select prior to being changed.\r\n changedArguments = [option.index, $option.prop('selected'), prevValue];\r\n that.$element\r\n .triggerNative('change');\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.$menu.on('click', 'li.' + classNames.DISABLED + ' a, .' + classNames.POPOVERHEADER + ', .' + classNames.POPOVERHEADER + ' :not(.close)', function (e) {\r\n if (e.currentTarget == this) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (that.options.liveSearch && !$(e.target).hasClass('close')) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n }\r\n });\r\n\r\n this.$menuInner.on('click', '.divider, .dropdown-header', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n });\r\n\r\n this.$menu.on('click', '.' + classNames.POPOVERHEADER + ' .close', function () {\r\n that.$button.trigger('click');\r\n });\r\n\r\n this.$searchbox.on('click', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n this.$menu.on('click', '.actions-btn', function (e) {\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n that.$button.trigger('focus');\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if ($(this).hasClass('bs-select-all')) {\r\n that.selectAll();\r\n } else {\r\n that.deselectAll();\r\n }\r\n });\r\n\r\n this.$button\r\n .on('focus' + EVENT_KEY, function (e) {\r\n var tabindex = that.$element[0].getAttribute('tabindex');\r\n\r\n // only change when button is actually focused\r\n if (tabindex !== undefined && e.originalEvent && e.originalEvent.isTrusted) {\r\n // apply select element's tabindex to ensure correct order is followed when tabbing to the next element\r\n this.setAttribute('tabindex', tabindex);\r\n // set element's tabindex to -1 to allow for reverse tabbing\r\n that.$element[0].setAttribute('tabindex', -1);\r\n that.selectpicker.view.tabindex = tabindex;\r\n }\r\n })\r\n .on('blur' + EVENT_KEY, function (e) {\r\n // revert everything to original tabindex\r\n if (that.selectpicker.view.tabindex !== undefined && e.originalEvent && e.originalEvent.isTrusted) {\r\n that.$element[0].setAttribute('tabindex', that.selectpicker.view.tabindex);\r\n this.setAttribute('tabindex', -1);\r\n that.selectpicker.view.tabindex = undefined;\r\n }\r\n });\r\n\r\n this.$element\r\n .on('change' + EVENT_KEY, function () {\r\n that.render();\r\n that.$element.trigger('changed' + EVENT_KEY, changedArguments);\r\n changedArguments = null;\r\n })\r\n .on('focus' + EVENT_KEY, function () {\r\n if (!that.options.mobile) that.$button[0].focus();\r\n });\r\n },\r\n\r\n liveSearchListener: function () {\r\n var that = this;\r\n\r\n this.$button.on('click.bs.dropdown.data-api', function () {\r\n if (!!that.$searchbox.val()) {\r\n that.$searchbox.val('');\r\n that.selectpicker.search.previousValue = undefined;\r\n }\r\n });\r\n\r\n this.$searchbox.on('click.bs.dropdown.data-api focus.bs.dropdown.data-api touchend.bs.dropdown.data-api', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n this.$searchbox.on('input propertychange', function () {\r\n var searchValue = that.$searchbox[0].value;\r\n\r\n that.selectpicker.search.elements = [];\r\n that.selectpicker.search.data = [];\r\n\r\n if (searchValue) {\r\n var i,\r\n searchMatch = [],\r\n q = searchValue.toUpperCase(),\r\n cache = {},\r\n cacheArr = [],\r\n searchStyle = that._searchStyle(),\r\n normalizeSearch = that.options.liveSearchNormalize;\r\n\r\n if (normalizeSearch) q = normalizeToBase(q);\r\n\r\n for (var i = 0; i < that.selectpicker.main.data.length; i++) {\r\n var li = that.selectpicker.main.data[i];\r\n\r\n if (!cache[i]) {\r\n cache[i] = stringSearch(li, q, searchStyle, normalizeSearch);\r\n }\r\n\r\n if (cache[i] && li.headerIndex !== undefined && cacheArr.indexOf(li.headerIndex) === -1) {\r\n if (li.headerIndex > 0) {\r\n cache[li.headerIndex - 1] = true;\r\n cacheArr.push(li.headerIndex - 1);\r\n }\r\n\r\n cache[li.headerIndex] = true;\r\n cacheArr.push(li.headerIndex);\r\n\r\n cache[li.lastIndex + 1] = true;\r\n }\r\n\r\n if (cache[i] && li.type !== 'optgroup-label') cacheArr.push(i);\r\n }\r\n\r\n for (var i = 0, cacheLen = cacheArr.length; i < cacheLen; i++) {\r\n var index = cacheArr[i],\r\n prevIndex = cacheArr[i - 1],\r\n li = that.selectpicker.main.data[index],\r\n liPrev = that.selectpicker.main.data[prevIndex];\r\n\r\n if (li.type !== 'divider' || (li.type === 'divider' && liPrev && liPrev.type !== 'divider' && cacheLen - 1 !== i)) {\r\n that.selectpicker.search.data.push(li);\r\n searchMatch.push(that.selectpicker.main.elements[index]);\r\n }\r\n }\r\n\r\n that.activeIndex = undefined;\r\n that.noScroll = true;\r\n that.$menuInner.scrollTop(0);\r\n that.selectpicker.search.elements = searchMatch;\r\n that.createView(true);\r\n showNoResults.call(that, searchMatch, searchValue);\r\n } else if (that.selectpicker.search.previousValue) { // for IE11 (#2402)\r\n that.$menuInner.scrollTop(0);\r\n that.createView(false);\r\n }\r\n\r\n that.selectpicker.search.previousValue = searchValue;\r\n });\r\n },\r\n\r\n _searchStyle: function () {\r\n return this.options.liveSearchStyle || 'contains';\r\n },\r\n\r\n val: function (value) {\r\n var element = this.$element[0];\r\n\r\n if (typeof value !== 'undefined') {\r\n var prevValue = getSelectValues(element);\r\n\r\n changedArguments = [null, null, prevValue];\r\n\r\n this.$element\r\n .val(value)\r\n .trigger('changed' + EVENT_KEY, changedArguments);\r\n\r\n if (this.$newElement.hasClass(classNames.SHOW)) {\r\n if (this.multiple) {\r\n this.setOptionStatus(true);\r\n } else {\r\n var liSelectedIndex = (element.options[element.selectedIndex] || {}).liIndex;\r\n\r\n if (typeof liSelectedIndex === 'number') {\r\n this.setSelected(this.selectedIndex, false);\r\n this.setSelected(liSelectedIndex, true);\r\n }\r\n }\r\n }\r\n\r\n this.render();\r\n\r\n changedArguments = null;\r\n\r\n return this.$element;\r\n } else {\r\n return this.$element.val();\r\n }\r\n },\r\n\r\n changeAll: function (status) {\r\n if (!this.multiple) return;\r\n if (typeof status === 'undefined') status = true;\r\n\r\n var element = this.$element[0],\r\n previousSelected = 0,\r\n currentSelected = 0,\r\n prevValue = getSelectValues(element);\r\n\r\n element.classList.add('bs-select-hidden');\r\n\r\n for (var i = 0, data = this.selectpicker.current.data, len = data.length; i < len; i++) {\r\n var liData = data[i],\r\n option = liData.option;\r\n\r\n if (option && !liData.disabled && liData.type !== 'divider') {\r\n if (liData.selected) previousSelected++;\r\n option.selected = status;\r\n if (status === true) currentSelected++;\r\n }\r\n }\r\n\r\n element.classList.remove('bs-select-hidden');\r\n\r\n if (previousSelected === currentSelected) return;\r\n\r\n this.setOptionStatus();\r\n\r\n changedArguments = [null, null, prevValue];\r\n\r\n this.$element\r\n .triggerNative('change');\r\n },\r\n\r\n selectAll: function () {\r\n return this.changeAll(true);\r\n },\r\n\r\n deselectAll: function () {\r\n return this.changeAll(false);\r\n },\r\n\r\n toggle: function (e) {\r\n e = e || window.event;\r\n\r\n if (e) e.stopPropagation();\r\n\r\n this.$button.trigger('click.bs.dropdown.data-api');\r\n },\r\n\r\n keydown: function (e) {\r\n var $this = $(this),\r\n isToggle = $this.hasClass('dropdown-toggle'),\r\n $parent = isToggle ? $this.closest('.dropdown') : $this.closest(Selector.MENU),\r\n that = $parent.data('this'),\r\n $items = that.findLis(),\r\n index,\r\n isActive,\r\n liActive,\r\n activeLi,\r\n offset,\r\n updateScroll = false,\r\n downOnTab = e.which === keyCodes.TAB && !isToggle && !that.options.selectOnTab,\r\n isArrowKey = REGEXP_ARROW.test(e.which) || downOnTab,\r\n scrollTop = that.$menuInner[0].scrollTop,\r\n isVirtual = that.isVirtual(),\r\n position0 = isVirtual === true ? that.selectpicker.view.position0 : 0;\r\n\r\n // do nothing if a function key is pressed\r\n if (e.which >= 112 && e.which <= 123) return;\r\n\r\n isActive = that.$newElement.hasClass(classNames.SHOW);\r\n\r\n if (\r\n !isActive &&\r\n (\r\n isArrowKey ||\r\n (e.which >= 48 && e.which <= 57) ||\r\n (e.which >= 96 && e.which <= 105) ||\r\n (e.which >= 65 && e.which <= 90)\r\n )\r\n ) {\r\n that.$button.trigger('click.bs.dropdown.data-api');\r\n\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n return;\r\n }\r\n }\r\n\r\n if (e.which === keyCodes.ESCAPE && isActive) {\r\n e.preventDefault();\r\n that.$button.trigger('click.bs.dropdown.data-api').trigger('focus');\r\n }\r\n\r\n if (isArrowKey) { // if up or down\r\n if (!$items.length) return;\r\n\r\n liActive = that.selectpicker.main.elements[that.activeIndex];\r\n index = liActive ? Array.prototype.indexOf.call(liActive.parentElement.children, liActive) : -1;\r\n\r\n if (index !== -1) {\r\n that.defocusItem(liActive);\r\n }\r\n\r\n if (e.which === keyCodes.ARROW_UP) { // up\r\n if (index !== -1) index--;\r\n if (index + position0 < 0) index += $items.length;\r\n\r\n if (!that.selectpicker.view.canHighlight[index + position0]) {\r\n index = that.selectpicker.view.canHighlight.slice(0, index + position0).lastIndexOf(true) - position0;\r\n if (index === -1) index = $items.length - 1;\r\n }\r\n } else if (e.which === keyCodes.ARROW_DOWN || downOnTab) { // down\r\n index++;\r\n if (index + position0 >= that.selectpicker.view.canHighlight.length) index = that.selectpicker.view.firstHighlightIndex;\r\n\r\n if (!that.selectpicker.view.canHighlight[index + position0]) {\r\n index = index + 1 + that.selectpicker.view.canHighlight.slice(index + position0 + 1).indexOf(true);\r\n }\r\n }\r\n\r\n e.preventDefault();\r\n\r\n var liActiveIndex = position0 + index;\r\n\r\n if (e.which === keyCodes.ARROW_UP) { // up\r\n // scroll to bottom and highlight last option\r\n if (position0 === 0 && index === $items.length - 1) {\r\n that.$menuInner[0].scrollTop = that.$menuInner[0].scrollHeight;\r\n\r\n liActiveIndex = that.selectpicker.current.elements.length - 1;\r\n } else {\r\n activeLi = that.selectpicker.current.data[liActiveIndex];\r\n offset = activeLi.position - activeLi.height;\r\n\r\n updateScroll = offset < scrollTop;\r\n }\r\n } else if (e.which === keyCodes.ARROW_DOWN || downOnTab) { // down\r\n // scroll to top and highlight first option\r\n if (index === that.selectpicker.view.firstHighlightIndex) {\r\n that.$menuInner[0].scrollTop = 0;\r\n\r\n liActiveIndex = that.selectpicker.view.firstHighlightIndex;\r\n } else {\r\n activeLi = that.selectpicker.current.data[liActiveIndex];\r\n offset = activeLi.position - that.sizeInfo.menuInnerHeight;\r\n\r\n updateScroll = offset > scrollTop;\r\n }\r\n }\r\n\r\n liActive = that.selectpicker.current.elements[liActiveIndex];\r\n\r\n that.activeIndex = that.selectpicker.current.data[liActiveIndex].index;\r\n\r\n that.focusItem(liActive);\r\n\r\n that.selectpicker.view.currentActive = liActive;\r\n\r\n if (updateScroll) that.$menuInner[0].scrollTop = offset;\r\n\r\n if (that.options.liveSearch) {\r\n that.$searchbox.trigger('focus');\r\n } else {\r\n $this.trigger('focus');\r\n }\r\n } else if (\r\n (!$this.is('input') && !REGEXP_TAB_OR_ESCAPE.test(e.which)) ||\r\n (e.which === keyCodes.SPACE && that.selectpicker.keydown.keyHistory)\r\n ) {\r\n var searchMatch,\r\n matches = [],\r\n keyHistory;\r\n\r\n e.preventDefault();\r\n\r\n that.selectpicker.keydown.keyHistory += keyCodeMap[e.which];\r\n\r\n if (that.selectpicker.keydown.resetKeyHistory.cancel) clearTimeout(that.selectpicker.keydown.resetKeyHistory.cancel);\r\n that.selectpicker.keydown.resetKeyHistory.cancel = that.selectpicker.keydown.resetKeyHistory.start();\r\n\r\n keyHistory = that.selectpicker.keydown.keyHistory;\r\n\r\n // if all letters are the same, set keyHistory to just the first character when searching\r\n if (/^(.)\\1+$/.test(keyHistory)) {\r\n keyHistory = keyHistory.charAt(0);\r\n }\r\n\r\n // find matches\r\n for (var i = 0; i < that.selectpicker.current.data.length; i++) {\r\n var li = that.selectpicker.current.data[i],\r\n hasMatch;\r\n\r\n hasMatch = stringSearch(li, keyHistory, 'startsWith', true);\r\n\r\n if (hasMatch && that.selectpicker.view.canHighlight[i]) {\r\n matches.push(li.index);\r\n }\r\n }\r\n\r\n if (matches.length) {\r\n var matchIndex = 0;\r\n\r\n $items.removeClass('active').find('a').removeClass('active');\r\n\r\n // either only one key has been pressed or they are all the same key\r\n if (keyHistory.length === 1) {\r\n matchIndex = matches.indexOf(that.activeIndex);\r\n\r\n if (matchIndex === -1 || matchIndex === matches.length - 1) {\r\n matchIndex = 0;\r\n } else {\r\n matchIndex++;\r\n }\r\n }\r\n\r\n searchMatch = matches[matchIndex];\r\n\r\n activeLi = that.selectpicker.main.data[searchMatch];\r\n\r\n if (scrollTop - activeLi.position > 0) {\r\n offset = activeLi.position - activeLi.height;\r\n updateScroll = true;\r\n } else {\r\n offset = activeLi.position - that.sizeInfo.menuInnerHeight;\r\n // if the option is already visible at the current scroll position, just keep it the same\r\n updateScroll = activeLi.position > scrollTop + that.sizeInfo.menuInnerHeight;\r\n }\r\n\r\n liActive = that.selectpicker.main.elements[searchMatch];\r\n\r\n that.activeIndex = matches[matchIndex];\r\n\r\n that.focusItem(liActive);\r\n\r\n if (liActive) liActive.firstChild.focus();\r\n\r\n if (updateScroll) that.$menuInner[0].scrollTop = offset;\r\n\r\n $this.trigger('focus');\r\n }\r\n }\r\n\r\n // Select focused option if \"Enter\", \"Spacebar\" or \"Tab\" (when selectOnTab is true) are pressed inside the menu.\r\n if (\r\n isActive &&\r\n (\r\n (e.which === keyCodes.SPACE && !that.selectpicker.keydown.keyHistory) ||\r\n e.which === keyCodes.ENTER ||\r\n (e.which === keyCodes.TAB && that.options.selectOnTab)\r\n )\r\n ) {\r\n if (e.which !== keyCodes.SPACE) e.preventDefault();\r\n\r\n if (!that.options.liveSearch || e.which !== keyCodes.SPACE) {\r\n that.$menuInner.find('.active a').trigger('click', true); // retain active class\r\n $this.trigger('focus');\r\n\r\n if (!that.options.liveSearch) {\r\n // Prevent screen from scrolling if the user hits the spacebar\r\n e.preventDefault();\r\n // Fixes spacebar selection of dropdown items in FF & IE\r\n $(document).data('spaceSelect', true);\r\n }\r\n }\r\n }\r\n },\r\n\r\n mobile: function () {\r\n // ensure mobile is set to true if mobile function is called after init\r\n this.options.mobile = true;\r\n this.$element[0].classList.add('mobile-device');\r\n },\r\n\r\n refresh: function () {\r\n // update options if data attributes have been changed\r\n var config = $.extend({}, this.options, this.$element.data());\r\n this.options = config;\r\n\r\n this.checkDisabled();\r\n this.buildData();\r\n this.setStyle();\r\n this.render();\r\n this.buildList();\r\n this.setWidth();\r\n\r\n this.setSize(true);\r\n\r\n this.$element.trigger('refreshed' + EVENT_KEY);\r\n },\r\n\r\n hide: function () {\r\n this.$newElement.hide();\r\n },\r\n\r\n show: function () {\r\n this.$newElement.show();\r\n },\r\n\r\n remove: function () {\r\n this.$newElement.remove();\r\n this.$element.remove();\r\n },\r\n\r\n destroy: function () {\r\n this.$newElement.before(this.$element).remove();\r\n\r\n if (this.$bsContainer) {\r\n this.$bsContainer.remove();\r\n } else {\r\n this.$menu.remove();\r\n }\r\n\r\n if (this.selectpicker.view.titleOption && this.selectpicker.view.titleOption.parentNode) {\r\n this.selectpicker.view.titleOption.parentNode.removeChild(this.selectpicker.view.titleOption);\r\n }\r\n\r\n this.$element\r\n .off(EVENT_KEY)\r\n .removeData('selectpicker')\r\n .removeClass('bs-select-hidden selectpicker');\r\n\r\n $(window).off(EVENT_KEY + '.' + this.selectId);\r\n }\r\n };\r\n\r\n // SELECTPICKER PLUGIN DEFINITION\r\n // ==============================\r\n function Plugin (option) {\r\n // get the args of the outer function..\r\n var args = arguments;\r\n // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them\r\n // to get lost/corrupted in android 2.3 and IE9 #715 #775\r\n var _option = option;\r\n\r\n [].shift.apply(args);\r\n\r\n // if the version was not set successfully\r\n if (!version.success) {\r\n // try to retreive it again\r\n try {\r\n version.full = ($.fn.dropdown.Constructor.VERSION || '').split(' ')[0].split('.');\r\n } catch (err) {\r\n // fall back to use BootstrapVersion if set\r\n if (Selectpicker.BootstrapVersion) {\r\n version.full = Selectpicker.BootstrapVersion.split(' ')[0].split('.');\r\n } else {\r\n version.full = [version.major, '0', '0'];\r\n\r\n console.warn(\r\n 'There was an issue retrieving Bootstrap\\'s version. ' +\r\n 'Ensure Bootstrap is being loaded before bootstrap-select and there is no namespace collision. ' +\r\n 'If loading Bootstrap asynchronously, the version may need to be manually specified via $.fn.selectpicker.Constructor.BootstrapVersion.',\r\n err\r\n );\r\n }\r\n }\r\n\r\n version.major = version.full[0];\r\n version.success = true;\r\n }\r\n\r\n if (version.major === '4') {\r\n // some defaults need to be changed if using Bootstrap 4\r\n // check to see if they have already been manually changed before forcing them to update\r\n var toUpdate = [];\r\n\r\n if (Selectpicker.DEFAULTS.style === classNames.BUTTONCLASS) toUpdate.push({ name: 'style', className: 'BUTTONCLASS' });\r\n if (Selectpicker.DEFAULTS.iconBase === classNames.ICONBASE) toUpdate.push({ name: 'iconBase', className: 'ICONBASE' });\r\n if (Selectpicker.DEFAULTS.tickIcon === classNames.TICKICON) toUpdate.push({ name: 'tickIcon', className: 'TICKICON' });\r\n\r\n classNames.DIVIDER = 'dropdown-divider';\r\n classNames.SHOW = 'show';\r\n classNames.BUTTONCLASS = 'btn-light';\r\n classNames.POPOVERHEADER = 'popover-header';\r\n classNames.ICONBASE = '';\r\n classNames.TICKICON = 'bs-ok-default';\r\n\r\n for (var i = 0; i < toUpdate.length; i++) {\r\n var option = toUpdate[i];\r\n Selectpicker.DEFAULTS[option.name] = classNames[option.className];\r\n }\r\n }\r\n\r\n var value;\r\n var chain = this.each(function () {\r\n var $this = $(this);\r\n if ($this.is('select')) {\r\n var data = $this.data('selectpicker'),\r\n options = typeof _option == 'object' && _option;\r\n\r\n if (!data) {\r\n var dataAttributes = $this.data();\r\n\r\n for (var dataAttr in dataAttributes) {\r\n if (Object.prototype.hasOwnProperty.call(dataAttributes, dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n }\r\n\r\n var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, dataAttributes, options);\r\n config.template = $.extend({}, Selectpicker.DEFAULTS.template, ($.fn.selectpicker.defaults ? $.fn.selectpicker.defaults.template : {}), dataAttributes.template, options.template);\r\n $this.data('selectpicker', (data = new Selectpicker(this, config)));\r\n } else if (options) {\r\n for (var i in options) {\r\n if (Object.prototype.hasOwnProperty.call(options, i)) {\r\n data.options[i] = options[i];\r\n }\r\n }\r\n }\r\n\r\n if (typeof _option == 'string') {\r\n if (data[_option] instanceof Function) {\r\n value = data[_option].apply(data, args);\r\n } else {\r\n value = data.options[_option];\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (typeof value !== 'undefined') {\r\n // noinspection JSUnusedAssignment\r\n return value;\r\n } else {\r\n return chain;\r\n }\r\n }\r\n\r\n var old = $.fn.selectpicker;\r\n $.fn.selectpicker = Plugin;\r\n $.fn.selectpicker.Constructor = Selectpicker;\r\n\r\n // SELECTPICKER NO CONFLICT\r\n // ========================\r\n $.fn.selectpicker.noConflict = function () {\r\n $.fn.selectpicker = old;\r\n return this;\r\n };\r\n\r\n // get Bootstrap's keydown event handler for either Bootstrap 4 or Bootstrap 3\r\n function keydownHandler () {\r\n if ($.fn.dropdown) {\r\n // wait to define until function is called in case Bootstrap isn't loaded yet\r\n var bootstrapKeydown = $.fn.dropdown.Constructor._dataApiKeydownHandler || $.fn.dropdown.Constructor.prototype.keydown;\r\n return bootstrapKeydown.apply(this, arguments);\r\n }\r\n }\r\n\r\n $(document)\r\n .off('keydown.bs.dropdown.data-api')\r\n .on('keydown.bs.dropdown.data-api', ':not(.bootstrap-select) > [data-toggle=\"dropdown\"]', keydownHandler)\r\n .on('keydown.bs.dropdown.data-api', ':not(.bootstrap-select) > .dropdown-menu', keydownHandler)\r\n .on('keydown' + EVENT_KEY, '.bootstrap-select [data-toggle=\"dropdown\"], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input', Selectpicker.prototype.keydown)\r\n .on('focusin.modal', '.bootstrap-select [data-toggle=\"dropdown\"], .bootstrap-select [role=\"listbox\"], .bootstrap-select .bs-searchbox input', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n // SELECTPICKER DATA-API\r\n // =====================\r\n $(window).on('load' + EVENT_KEY + '.data-api', function () {\r\n $('.selectpicker').each(function () {\r\n var $selectpicker = $(this);\r\n Plugin.call($selectpicker, $selectpicker.data());\r\n })\r\n });\r\n})(jQuery);\r\n\r\n\r\n}));\n//# sourceMappingURL=bootstrap-select.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane page-preview-block\",attrs:{\"role\":\"tabpanel\",\"id\":\"finish\"}},[_c('form',{attrs:{\"data-vv-scope\":'finishPage'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex f-row\"},[_c('div',{staticClass:\"costomization-block\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Title'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('finishPage.webSurveyHeader') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['webSurveyHeader'].text }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"webSurveyHeader\",staticClass:\"form-control js-elasticArea font-bold\",attrs:{\"data-vv-name\":\"webSurveyHeader\",\"min-height\":77,\"maxlength\":\"200\",\"placeholder\":\"Please enter the main text\"},model:{value:(_vm.webInterviewPageMessages['webSurveyHeader'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['webSurveyHeader'], \"text\", $$v)},expression:\"webInterviewPageMessages['webSurveyHeader'].text\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['webSurveyHeader'].text=''}}},[_c('span')]),(_vm.errors.first('finishPage.webSurveyHeader'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Description'))+\" \")]),_c('md-editor',{directives:[{name:\"validate\",rawName:\"v-validate\"}],ref:\"finishInterview\",attrs:{\"data-vv-name\":\"finishInterview\"},model:{value:(_vm.webInterviewPageMessages['finishInterview'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['finishInterview'], \"text\", $$v)},expression:\"webInterviewPageMessages['finishInterview'].text\"}})],1),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$finishPage')},on:{\"click\":function($event){return _vm.savePageTextEditMode('finishPage', 'webSurveyHeader', 'finishInterview' )}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$finishPage')},on:{\"click\":function($event){return _vm.cancelPageTextEditMode('finishPage', 'webSurveyHeader', 'finishInterview')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])]),_c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"browser-mockup mb-30\"},[_c('div',{staticClass:\"mockup-block d-flex f-row\"},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"text-example\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('Logo',{attrs:{\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl}})],1),_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['webSurveyHeader'].text))+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.previewHtml(_vm.webInterviewPageMessages['finishInterview'].text))}})])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Finish.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Finish.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Finish.vue?vue&type=template&id=2b96a8fe&\"\nimport script from \"./Finish.vue?vue&type=script&lang=js&\"\nexport * from \"./Finish.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment-timezone.js\n//! version : 0.5.34\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.34\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filters-container\",attrs:{\"id\":\"questionsFilters\"}},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.FiltersByQuestions\"))+\" \")]),_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"btnQuestionsFilter\",\"disabled\":_vm.isDisabled,\"title\":_vm.isDisabled ? _vm.$t('Interviews.QuestionsFilterNotAvailable'):''},on:{\"click\":function($event){return _vm.$refs.questionsSelector.modal()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.QuestionsSelector\"))+\" \")])]),_c('ModalFrame',{ref:\"questionsSelector\",attrs:{\"id\":\"modalQuestionsSelector\",\"title\":_vm.$t('Interviews.ChooseQuestionsTitle')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"action-container\"},[_c('div',_vm._l((_vm.questionnaireItemsList),function(questionnaireItem){return _c('Checkbox',{key:'cb_' + questionnaireItem.variable,attrs:{\"label\":(\"\" + (_vm.sanitizeHtml(questionnaireItem.title))),\"value\":_vm.isChecked(questionnaireItem),\"name\":'check_' + questionnaireItem.variable},on:{\"input\":function($event){return _vm.check(questionnaireItem)}}})}),1)])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"btnQuestionsSelectorOk\",\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Ok\")))])])]),_c('ModalFrame',{ref:\"questionsExposedSelector\",attrs:{\"id\":\"modalQuestionsExposedSelector\",\"title\":_vm.$t('Interviews.DynamicFilter')}},[_c('vue-query-builder',{attrs:{\"rules\":_vm.rules,\"maxDepth\":6,\"labels\":_vm.labels},scopedSlots:_vm._u([{key:\"default\",fn:function(slotProps){return [_c('query-builder-group',_vm._b({attrs:{\"query\":_vm.queryExposedVariables},on:{\"update:query\":function($event){_vm.queryExposedVariables=$event}}},'query-builder-group',slotProps,false))]}}]),model:{value:(_vm.queryExposedVariables),callback:function ($$v) {_vm.queryExposedVariables=$$v},expression:\"queryExposedVariables\"}}),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"btnQuestionsExposedSelectorOk\",\"type\":\"button\",\"disabled\":_vm.saveDisabled},on:{\"click\":_vm.saveExposedVariablesFilter}},[_vm._v(_vm._s(_vm.$t(\"Common.Apply\")))])])],1),_vm._l((_vm.conditions),function(condition){return _c('InterviewFilter',{key:'filter_' + condition.variable,attrs:{\"id\":'filter_' + condition.variable,\"item\":_vm.itemFor(condition),\"condition\":condition},on:{\"change\":_vm.conditionChanged}})}),_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"btnExposedQuestionsFilter\",\"disabled\":_vm.isDynamicDisabled,\"title\":_vm.isDynamicDisabled ? _vm.$t('Interviews.DynamicFilterNotAvailable'):''},on:{\"click\":function($event){return _vm.$refs.questionsExposedSelector.modal()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.AdvancedFilterSelector\"))+\" \")])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vqb-group card\",class:'depth-' + _vm.depth.toString()},[_c('div',{staticClass:\"vqb-group-heading card-header\"},[_c('div',{staticClass:\"match-type-container form-inline\"},[_c('label',{staticClass:\"mr-2\",attrs:{\"for\":\"vqb-match-type\"}},[_vm._v(\" \"+_vm._s(_vm.labels.matchType)+\" \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.logicalOperator),expression:\"query.logicalOperator\"}],staticClass:\"form-control\",attrs:{\"id\":\"vqb-match-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.query, \"logicalOperator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.labels.matchTypes),function(label){return _c('option',{key:label.id,domProps:{\"value\":label.id}},[_vm._v(\" \"+_vm._s(label.label)+\" \")])}),0),(_vm.depth > 1)?_c('button',{staticClass:\"close ml-auto\",attrs:{\"type\":\"button\"},domProps:{\"innerHTML\":_vm._s(_vm.labels.removeGroup)},on:{\"click\":_vm.remove}}):_vm._e()])]),_c('div',{staticClass:\"vqb-group-body card-body\"},[_c('div',{staticClass:\"rule-actions form-inline\"},[_c('div',{staticClass:\"form-group\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedRule),expression:\"selectedRule\"}],staticClass:\"form-control mr-2 mb-5\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedRule=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.rules),function(rule){return _c('option',{key:rule.id,domProps:{\"value\":rule}},[_vm._v(\" \"+_vm._s(rule.label)+\" \")])}),0),_c('button',{staticClass:\"btn btn-secondary mr-2 mb-5\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.addRule}},[_vm._v(\" \"+_vm._s(_vm.labels.addRule)+\" \")]),(_vm.depth < _vm.maxDepth)?_c('button',{staticClass:\"btn btn-secondary mb-5\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.addGroup}},[_vm._v(\" \"+_vm._s(_vm.labels.addGroup)+\" \")]):_vm._e()])]),_c('query-builder-children',_vm._b({},'query-builder-children',_vm.$props,false))],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vqb-rule card\"},[_c('div',{staticClass:\"form-inline\"},[_c('label',{staticClass:\"mr-5\"},[_vm._v(\" \"+_vm._s(_vm.rule.label)+\" \")]),(typeof _vm.rule.operands !== 'undefined')?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.operand),expression:\"query.operand\"}],staticClass:\"form-control mr-2 mb-5\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.query, \"operand\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.rule.operands),function(operand){return _c('option',{key:operand},[_vm._v(\" \"+_vm._s(operand)+\" \")])}),0):_vm._e(),(typeof _vm.rule.operators !== 'undefined' && _vm.rule.operators.length > 1)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.operator),expression:\"query.operator\"}],staticClass:\"form-control mr-2 mb-5\",on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.query, \"operator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.rule.operators),function(operator){return _c('option',{key:operator,domProps:{\"value\":operator}},[_vm._v(\" \"+_vm._s(operator)+\" \")])}),0):_vm._e(),(_vm.rule.inputType === 'text' && !_vm.unaryOperatorSelected)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-control mb-5\",attrs:{\"type\":\"text\",\"placeholder\":_vm.labels.textInputPlaceholder},domProps:{\"value\":(_vm.query.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.query, \"value\", $event.target.value)}}}):_vm._e(),(_vm.rule.inputType === 'number' && !_vm.unaryOperatorSelected)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-control mb-5\",attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.query.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.query, \"value\", $event.target.value)}}}):_vm._e(),(_vm.rule.inputType === 'date' && !_vm.unaryOperatorSelected)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-control mb-5\",attrs:{\"type\":\"date\"},domProps:{\"value\":(_vm.query.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.query, \"value\", $event.target.value)}}}):_vm._e(),(_vm.isCustomComponent)?_c('div',{staticClass:\"vqb-custom-component-wrap\"},[_c(_vm.rule.component,{tag:\"component\",attrs:{\"value\":_vm.query.value},on:{\"input\":_vm.updateQuery}})],1):_vm._e(),(_vm.rule.inputType === 'checkbox' && !_vm.unaryOperatorSelected)?_vm._l((_vm.rule.choices),function(choice){return _c('div',{key:choice.value,staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-check-input\",attrs:{\"id\":'depth' + _vm.depth + '-' + _vm.rule.id + '-' + _vm.index + '-' + choice.value,\"type\":\"checkbox\"},domProps:{\"value\":choice.value,\"checked\":Array.isArray(_vm.query.value)?_vm._i(_vm.query.value,choice.value)>-1:(_vm.query.value)},on:{\"change\":function($event){var $$a=_vm.query.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=choice.value,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.query, \"value\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.query, \"value\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.query, \"value\", $$c)}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":'depth' + _vm.depth + '-' + _vm.rule.id + '-' + _vm.index + '-' + choice.value}},[_vm._v(\" \"+_vm._s(choice.label)+\" \")])])}):_vm._e(),(_vm.rule.inputType === 'radio' && !_vm.unaryOperatorSelected)?_vm._l((_vm.rule.choices),function(choice){return _c('div',{key:choice.value,staticClass:\"form-check form-check-inline\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-check-input\",attrs:{\"id\":'depth' + _vm.depth + '-' + _vm.rule.id + '-' + _vm.index + '-' + choice.value,\"name\":'depth' + _vm.depth + '-' + _vm.rule.id + '-' + _vm.index,\"type\":\"radio\"},domProps:{\"value\":choice.value,\"checked\":_vm._q(_vm.query.value,choice.value)},on:{\"change\":function($event){return _vm.$set(_vm.query, \"value\", choice.value)}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":'depth' + _vm.depth + '-' + _vm.rule.id + '-' + _vm.index + '-' + choice.value}},[_vm._v(\" \"+_vm._s(choice.label)+\" \")])])}):_vm._e(),(_vm.rule.inputType === 'select' && !_vm.hasOptionGroups && !_vm.unaryOperatorSelected)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-control mb-5\",attrs:{\"multiple\":_vm.rule.type === 'multi-select'},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.query, \"value\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.selectOptions),function(option){return _c('option',{key:option.value,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])}),0):_vm._e(),(_vm.rule.inputType === 'select' && _vm.hasOptionGroups && !_vm.unaryOperatorSelected)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query.value),expression:\"query.value\"}],staticClass:\"form-control mb-5\",attrs:{\"multiple\":_vm.rule.type === 'multi-select'},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.query, \"value\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.selectOptions),function(option,option_key){return _c('optgroup',{key:option_key,attrs:{\"label\":option_key}},_vm._l((option),function(sub_option){return _c('option',{key:sub_option.value,domProps:{\"value\":sub_option.value}},[_vm._v(\" \"+_vm._s(sub_option.label)+\" \")])}),0)}),0):_vm._e(),_c('button',{staticClass:\"close ml-auto\",attrs:{\"type\":\"button\"},domProps:{\"innerHTML\":_vm._s(_vm.labels.removeRule)},on:{\"click\":_vm.remove}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ choice.label }}\r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {{ option.label }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ sub_option.label }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomBootstrapRule.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomBootstrapRule.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomBootstrapRule.vue?vue&type=template&id=470a3f98&\"\nimport script from \"./CustomBootstrapRule.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomBootstrapRule.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomBootstrapGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomBootstrapGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomBootstrapGroup.vue?vue&type=template&id=3f5fb600&scoped=true&\"\nimport script from \"./CustomBootstrapGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomBootstrapGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomBootstrapGroup.vue?vue&type=style&index=0&id=3f5fb600&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f5fb600\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.item != null && _vm.isSupported)?_c('div',{staticClass:\"block-filter\"},[_c('h5',{attrs:{\"title\":_vm.sanitizeHtml(_vm.item.label || _vm.item.title)}},[_vm._v(\" \"+_vm._s(_vm.sanitizeHtml(_vm.item.label || _vm.item.title))+\" \"),_c('div',[(_vm.fieldOptions != null)?_c('inline-selector',{attrs:{\"options\":_vm.fieldOptions,\"no-empty\":\"\",\"id\":(\"filter_selector_\" + (_vm.condition.variable))},model:{value:(_vm.field),callback:function ($$v) {_vm.field=$$v},expression:\"field\"}}):_vm._e()],1)]),(_vm.item.type == 'SINGLEOPTION')?_c('Typeahead',{attrs:{\"control-id\":'filter_input_' + _vm.condition.variable,\"placeholder\":_vm.$t('Common.SelectOption'),\"values\":_vm.options,\"value\":_vm.selectedOption},on:{\"selected\":_vm.optionSelected}}):_vm._e(),(_vm.item.type == 'TEXT' || _vm.item.entityType == 'VARIABLE')?_c('filter-input',{attrs:{\"value\":_vm.condition.value,\"id\":'filter_input_' + _vm.condition.variable},on:{\"input\":_vm.input}}):_vm._e(),(_vm.item.type == 'NUMERIC')?_c('filter-input',{attrs:{\"value\":_vm.condition.value,\"type\":\"number\",\"id\":'filter_input_' + _vm.condition.variable},on:{\"input\":_vm.input}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterviewFilter.vue?vue&type=template&id=c9e3c39a&\"\nimport script from \"./InterviewFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./InterviewFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewQuestionsFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewQuestionsFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterviewQuestionsFilters.vue?vue&type=template&id=67f201f4&\"\nimport script from \"./InterviewQuestionsFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./InterviewQuestionsFilters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport { assign } from 'lodash'\r\n\r\nVue.use(VueRouter)\r\n\r\nexport default class HqRouter {\r\n constructor(options) {\r\n this.options = assign({\r\n base: window.CONFIG.basePath,\r\n mode: 'history',\r\n scrollBehavior() {\r\n return { x: 0, y: 0 }\r\n },\r\n }, options)\r\n }\r\n\r\n get router() {\r\n return new VueRouter(this.options)\r\n }\r\n}\r\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","import gql from 'graphql-tag'\r\nimport * as toastr from 'toastr'\r\n\r\nconst deleteCalendarEventMutation =\r\n gql`mutation deleteCalendarEvent($workspace: String!, $publicKey: UUID!) {\r\n deleteCalendarEvent(workspace: $workspace, publicKey: $publicKey) {\r\n publicKey\r\n }\r\n }`\r\n\r\nconst updateCalendarEventMutation =\r\n gql`mutation updateCalendarEvent($workspace: String!, $publicKey: UUID!, $newStart: DateTime!, $comment: String, $startTimezone: String!) {\r\n updateCalendarEvent(workspace: $workspace, publicKey: $publicKey, newStart: $newStart, comment: $comment, startTimezone: $startTimezone) {\r\n publicKey\r\n }\r\n }`\r\n\r\nconst addAssignmentCalendarEventMutation =\r\n gql`mutation addAssignmentCalendarEvent($workspace: String!, $assignmentId: Int!, $newStart: DateTime!, $comment: String, $startTimezone: String!) {\r\n addAssignmentCalendarEvent(workspace: $workspace, assignmentId: $assignmentId, newStart: $newStart, comment: $comment, startTimezone: $startTimezone) {\r\n publicKey\r\n }\r\n }`\r\n\r\nconst addInterviewCalendarEventMutation =\r\n gql`mutation addInterviewCalendarEvent($workspace: String!, $interviewId: UUID!, $newStart: DateTime!, $comment: String, $startTimezone: String!) {\r\n addInterviewCalendarEvent(workspace: $workspace, interviewId: $interviewId, newStart: $newStart, comment: $comment, startTimezone: $startTimezone) {\r\n publicKey\r\n }\r\n }`\r\n\r\nexport function deleteCalendarEvent(apollo, variables, callback) {\r\n\r\n executeMutation(apollo, deleteCalendarEventMutation, variables, callback)\r\n}\r\n\r\nexport function addAssignmentCalendarEvent(apollo, variables, callback) {\r\n\r\n executeMutation(apollo, addAssignmentCalendarEventMutation, variables, callback)\r\n}\r\n\r\nexport function updateCalendarEvent(apollo, variables, callback) {\r\n\r\n executeMutation(apollo, updateCalendarEventMutation, variables, callback)\r\n}\r\nexport function addInterviewCalendarEvent(apollo, variables, callback) {\r\n\r\n executeMutation(apollo, addInterviewCalendarEventMutation, variables, callback)\r\n}\r\n\r\nfunction executeMutation(apollo, mutation, variables, callback) {\r\n apollo.mutate({\r\n mutation: mutation,\r\n variables: variables,\r\n }).then(response => {\r\n callback()\r\n }).catch(err => {\r\n console.error(err)\r\n toastr.error(err.message.toString())\r\n })\r\n}","\r\n\r\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nimport { sync } from 'vuex-router-sync'\r\n\r\nimport * as toastr from 'toastr'\r\ntoastr.options.escapeHtml = true\r\n\r\nVue.use(Vuex)\r\n\r\nimport config from '~/shared/config'\r\nVue.use(config)\r\n\r\nimport VueTextareaAutosize from 'vue-textarea-autosize'\r\nVue.use(VueTextareaAutosize)\r\n\r\nimport { Popover } from 'uiv'\r\nVue.component('popover', Popover)\r\n\r\nimport Vuei18n from '~/shared/plugins/locale'\r\nimport { browserLanguage } from '~/shared/helpers'\r\nconst i18n = Vuei18n.initialize(browserLanguage)\r\n\r\nimport './init'\r\nimport './errors'\r\nimport box from '@/shared/modal'\r\n\r\nrequire('./componentsRegistry')\r\n\r\nconst createRouter = require('./router').default\r\n\r\nconst store = new Vuex.Store({\r\n modules: {\r\n webinterview: require('./store').default,\r\n },\r\n})\r\n\r\nconst router = createRouter(store)\r\n\r\nsync(store, router)\r\n\r\nconst App = require('./App').default\r\n\r\n\r\nbox.init(i18n, browserLanguage)\r\n\r\nwindow._api = {\r\n store,\r\n router,\r\n}\r\n\r\nexport default new Vue({\r\n el: '#app',\r\n render: h => h(App),\r\n components: {\r\n App,\r\n },\r\n store,\r\n router,\r\n})\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalFrame',{ref:\"deleteWorkspaceModal\",attrs:{\"data-suso\":\"workspaces-delete-dialog\",\"useHtmlInTitle\":\"\",\"title\":_vm.$t('Workspaces.DeleteWorkspacePopupTitle', { name: '' + _vm.workspace + '' } )}},[(!_vm.loading)?_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[(_vm.canDelete)?_c('div',[_c('p',{attrs:{\"data-suso\":\"delete-explanation\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('Workspaces.DeleteExplanation', { name: _vm.workspaceTitle } ))}}),_vm._l((_vm.consentsList),function(c){return _c('Checkbox',{key:c.name + '_' + _vm.draw,attrs:{\"enabled\":_vm.canDelete,\"label\":c.label,\"name\":c.name},model:{value:(_vm.consent[c.name]),callback:function ($$v) {_vm.$set(_vm.consent, c.name, $$v)},expression:\"consent[c.name]\"}})})],2):_vm._e(),(!_vm.canDelete)?_c('p',{attrs:{\"data-suso\":\"cannot-delete-explanation\"}},[_vm._v(_vm._s(_vm.$t(\"Workspaces.CantDeleteExplanation\")))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-delete-ok\",\"disabled\":!(_vm.canDelete && _vm.agree && !_vm.inProgress)},on:{\"click\":_vm.deleteWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Common.Delete\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-cancel\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteWorkspaceModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteWorkspaceModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DeleteWorkspaceModal.vue?vue&type=template&id=39e5f20f&\"\nimport script from \"./DeleteWorkspaceModal.vue?vue&type=script&lang=js&\"\nexport * from \"./DeleteWorkspaceModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios'\r\n\r\n/* the Plugin */\r\nexport default {\r\n install: function (vue) {\r\n /* determine options */\r\n\r\n // /* expose a global API method */\r\n Object.defineProperty(vue, '$http', {\r\n get() {\r\n return axios\r\n },\r\n })\r\n\r\n /* expose a local API method */\r\n Object.defineProperty(vue.prototype, '$http', {\r\n get() {\r\n return axios\r\n },\r\n })\r\n },\r\n}\r\n\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n getters:{\r\n workspace(){\r\n return window.CONFIG.workspace\r\n },\r\n },\r\n})\r\n\r\nexport default store\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalFrame',{attrs:{\"id\":_vm.id,\"title\":_vm.confirm_title}},[_vm._t(\"default\"),_c('button',{class:_vm.ok_class,attrs:{\"slot\":\"actions\",\"type\":\"button\",\"disabled\":_vm.disableOk},on:{\"click\":_vm.confirm},slot:\"actions\"},[_vm._v(\" \"+_vm._s(_vm.ok_title)+\" \")]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"slot\":\"actions\",\"type\":\"button\"},on:{\"click\":_vm.cancel},slot:\"actions\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Cancel\"))+\" \")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Confirm.vue?vue&type=template&id=9f90c77c&\"\nimport script from \"./Confirm.vue?vue&type=script&lang=js&\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"block-filter\"},[(_vm.title != null)?_c('h5',{attrs:{\"title\":_vm.tooltip}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterBlock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterBlock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilterBlock.vue?vue&type=template&id=d153ae2c&\"\nimport script from \"./FilterBlock.vue?vue&type=script&lang=js&\"\nexport * from \"./FilterBlock.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('aside',{staticClass:\"filters\"},[_vm._m(0),_c('div',{staticClass:\"filters-container\"},[_c('h4',[_vm._v(_vm._s(_vm.title))]),_vm._t(\"default\")],2),_vm._t(\"additional\")],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"foldback-button\",attrs:{\"id\":\"hide-filters\"}},[_c('span',{staticClass:\"arrow\"}),_c('span',{staticClass:\"arrow\"}),_c('span',{staticClass:\"glyphicon glyphicon-tasks\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Filters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Filters.vue?vue&type=template&id=6033d26e&\"\nimport script from \"./Filters.vue?vue&type=script&lang=js&\"\nexport * from \"./Filters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',{class:_vm.mainClass,attrs:{\"data-suso\":_vm.tag}},[_c('div',{class:{ 'container' : _vm.fixedWidth, 'container-fluid': !_vm.fixedWidth }},[_c('div',{class:{ 'row' : _vm.hasRow }},[_vm._t(\"filters\"),_c('div',{class:_vm.information},[(_vm.hasHeader)?_c('div',{staticClass:\"page-header clearfix\"},[_c('div',{class:{'neighbor-block-to-search': _vm.hasSearch}},[_vm._t(\"headers\",function(){return [_c('div',{class:{'topic-with-button': _vm.topicButtonRef}},[_c('h1',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}),(_vm.topicButtonRef)?_c('a',{staticClass:\"btn btn-success\",attrs:{\"href\":_vm.topicButtonRef}},[_vm._v(\" \"+_vm._s(_vm.topicButton)+\" \")]):_vm._e()]),(_vm.subtitle)?_c('i',{domProps:{\"innerHTML\":_vm._s(_vm.subtitle)}}):_vm._e()]}),_vm._t(\"subtitle\")],2)]):_vm._e(),_vm._t(\"default\")],2)],2),_vm._t(\"modals\"),_c('ModalFrame',{ref:\"pending\",attrs:{\"id\":\"pendingProgress\",\"title\":_vm.$t('Common.Loading'),\"canClose\":false}},[_c('div',{staticClass:\"progress progress-striped active\",staticStyle:{\"margin-bottom\":\"0\"}},[_c('div',{staticClass:\"progress-bar\",staticStyle:{\"width\":\"100%\"}})])])],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HqLayout.vue?vue&type=template&id=4b3aadf9&\"\nimport script from \"./HqLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./HqLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal\",staticClass:\"modal fade\",attrs:{\"id\":_vm.id,\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":_vm.titleId}},[_c('div',{staticClass:\"modal-dialog\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[(_vm.canClose)?_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._t(\"title\",function(){return [(_vm.useHtmlInTitle)?_c('h2',{attrs:{\"id\":_vm.titleId},domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_c('h2',{attrs:{\"id\":_vm.titleId}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]})],2),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"modal-footer\"},[_vm._t(\"actions\")],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalFrame.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalFrame.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModalFrame.vue?vue&type=template&id=5e322d6e&\"\nimport script from \"./ModalFrame.vue?vue&type=script&lang=js&\"\nexport * from \"./ModalFrame.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"combo-box\",attrs:{\"title\":_vm.value == null ? '' : _vm.value.value,\"id\":_vm.controlId}},[_c('div',{staticClass:\"btn-group btn-input clearfix\"},[_c('button',{staticClass:\"btn dropdown-toggle\",attrs:{\"type\":\"button\",\"id\":_vm.buttonId,\"data-toggle\":\"dropdown\",\"disabled\":_vm.disabled}},[(_vm.value == null)?_c('span',{staticClass:\"gray-text\",attrs:{\"data-bind\":\"label\"}},[_vm._v(_vm._s(_vm.placeholderText))]):_c('span',{class:[_vm.value.iconClass],attrs:{\"data-bind\":\"label\"}},[_vm._v(_vm._s(_vm.value.value))])]),_c('ul',{ref:\"dropdownMenu\",staticClass:\"dropdown-menu\",attrs:{\"role\":\"menu\"}},[(!_vm.noSearch)?_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchTerm),expression:\"searchTerm\"}],ref:\"searchBox\",attrs:{\"type\":\"text\",\"id\":_vm.inputId,\"placeholder\":_vm.$t('Common.Search')},domProps:{\"value\":(_vm.searchTerm)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.searchTerm=$event.target.value},_vm.updateOptionsList],\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }return _vm.onSearchBoxDownKey.apply(null, arguments)}}})]):_vm._e(),(_vm.forceLoadingState)?_c('li',[_c('a',[_vm._v(_vm._s(_vm.$t(\"Common.Loading\")))])]):_vm._e(),(!_vm.forceLoadingState)?_vm._l((_vm.options),function(option){return _c('li',{key:_vm.keyFunc(option.item)},[_c('a',{class:[option.item.iconClass],attrs:{\"href\":\"javascript:void(0);\"},domProps:{\"innerHTML\":_vm._s(_vm.highlight(option, _vm.searchTerm))},on:{\"click\":function($event){return _vm.selectOption(option.item)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }return _vm.onOptionUpKey.apply(null, arguments)}}})])}):_vm._e(),(_vm.isLoading)?_c('li',[_c('a',[_vm._v(_vm._s(_vm.$t(\"Common.Loading\")))])]):_vm._e(),(!_vm.isLoading && _vm.options.length === 0)?_c('li',[_c('a',[_vm._v(_vm._s(_vm.$t(\"Common.NoResultsFound\")))])]):_vm._e()],2)]),(_vm.value != null && !_vm.noClear)?_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.clear}},[_c('span')]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Typeahead.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Typeahead.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Typeahead.vue?vue&type=template&id=5a6db37c&\"\nimport script from \"./Typeahead.vue?vue&type=script&lang=js&\"\nexport * from \"./Typeahead.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\",class:{'answered': _vm.hasValue === true}},[_c('input',_vm._g(_vm._b({ref:\"input\",staticClass:\"form-control with-clear-btn\",class:{'input-validation-error': _vm.haserror === true},attrs:{\"autocomplete\":\"new-password\"},domProps:{\"value\":_vm.value}},'input',_vm.$attrs,false),_vm.inputListeners)),(_vm.hasValue)?_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\",\"tabindex\":\"-1\"},on:{\"click\":_vm.clearFilter}},[_c('span')]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextInput.vue?vue&type=template&id=336db32c&\"\nimport script from \"./TextInput.vue?vue&type=script&lang=js&\"\nexport * from \"./TextInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"title\":_vm.tooltip}},[_c('input',{staticClass:\"checkbox-filter\",attrs:{\"id\":_vm.name,\"type\":\"checkbox\",\"disabled\":!_vm.enabled ? 'disabled': null,\"name\":_vm.name},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.checkedChange}}),_c('label',{class:_vm.classes,attrs:{\"for\":_vm.name}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.label))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=695bf092&\"\nimport script from \"./Checkbox.vue?vue&type=script&lang=js&\"\nexport * from \"./Checkbox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"radio\"},[_c('div',{staticClass:\"field\",attrs:{\"title\":_vm.tooltip}},[_c('input',{staticClass:\"wb-radio\",attrs:{\"type\":\"radio\",\"id\":_vm.name + '_' + _vm.radioGroup,\"disabled\":!_vm.enabled ? 'disabled': null,\"name\":_vm.name},domProps:{\"checked\":_vm.checked,\"value\":_vm.radioGroup},on:{\"change\":_vm.checkedChange}}),_c('label',{attrs:{\"for\":_vm.name + '_' + _vm.radioGroup}},[_c('span',{staticClass:\"tick\",staticStyle:{\"background-position-y\":\"0px\"}}),_vm._v(_vm._s(_vm.label))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Radio.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Radio.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Radio.vue?vue&type=template&id=3bf4f4bc&\"\nimport script from \"./Radio.vue?vue&type=script&lang=js&\"\nexport * from \"./Radio.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-date input-group\",attrs:{\"id\":\"dates-range\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mutableValue),expression:\"mutableValue\"}],staticClass:\"form-control flatpickr-input\",attrs:{\"type\":\"text\",\"id\":_vm.id,\"disabled\":_vm.disabled,\"readonly\":\"readonly\",\"name\":_vm.name,\"placeholder\":_vm.placeholder,\"required\":_vm.required,\"data-input\":\"\"},domProps:{\"value\":(_vm.mutableValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.mutableValue=$event.target.value}}}),_vm._m(0),_vm._m(1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"submit\"}},[_c('span')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"input-group-addon\",attrs:{\"data-toggle\":\"\"}},[_c('span',{staticClass:\"calendar\"})])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=397b1f36&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"block-filter\"},[(_vm.label !== undefined)?_c('label',{class:{ 'compulsory-field' : _vm.mandatory === true }},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.error !== undefined}},[_vm._t(\"default\"),(_vm.error !== undefined)?_c('span',{staticClass:\"help-block field-validation-error\"},[_c('span',[_vm._v(_vm._s(_vm.error))])]):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormGroup.vue?vue&type=template&id=3bcb411b&\"\nimport script from \"./FormGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./FormGroup.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-group\"},[_c('input',{staticClass:\"form-control with-clear-btn\",attrs:{\"placeholder\":_vm.placeholder,\"type\":_vm.type},domProps:{\"value\":_vm.value},on:{\"input\":_vm.input}}),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":_vm.remove}},[_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn btn-default\"},[_c('span',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilterInput.vue?vue&type=template&id=34ff4126&\"\nimport script from \"./FilterInput.vue?vue&type=script&lang=js&\"\nexport * from \"./FilterInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"dropdown\"},[_c('span',{staticStyle:{\"border-bottom\":\"1px dashed\"},attrs:{\"role\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"true\"}},[_vm._v(_vm._s(_vm.text))]),_c('ul',{staticClass:\"dropdown-menu\",staticStyle:{\"width\":\"auto\"}},_vm._l((_vm.options),function(item){return _c('li',{key:item[_vm.keySelector],on:{\"click\":function($event){return _vm.select(item)}}},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"},domProps:{\"innerHTML\":_vm._s(item[_vm.valueSelector])}})])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InlineSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InlineSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InlineSelector.vue?vue&type=template&id=08638ab2&\"\nimport script from \"./InlineSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./InlineSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\n\r\nimport Confirm from './Confirm'\r\n// import DataTables from \"./DataTables\"\r\nimport FilterBlock from './FilterBlock'\r\nimport Filters from './Filters'\r\nimport HqLayout from './HqLayout'\r\nimport ModalFrame from './ModalFrame'\r\nimport Typeahead from './Typeahead'\r\nimport TextInput from './TextInput'\r\nimport Checkbox from './Checkbox'\r\nimport Radio from './Radio'\r\nimport DatePicker from './DatePicker'\r\nimport FormGroup from './FormGroup'\r\nimport FilterInput from './FilterInput'\r\nimport InlineSelector from './InlineSelector'\r\n\r\nVue.component('Confirm', Confirm)\r\nVue.component('DataTables', () => import(/* webpackChunkName: \"datatables\" */'./DataTables'))\r\nVue.component('FilterBlock', FilterBlock)\r\nVue.component('Filters', Filters)\r\nVue.component('HqLayout', HqLayout)\r\nVue.component('ModalFrame', ModalFrame)\r\nVue.component('Typeahead', Typeahead)\r\nVue.component('TextInput', TextInput)\r\nVue.component('Checkbox', Checkbox)\r\nVue.component('Radio', Radio)\r\nVue.component('DatePicker', DatePicker)\r\nVue.component('form-group', FormGroup)\r\nVue.component('FilterInput', FilterInput)\r\nVue.component('InlineSelector', InlineSelector)\r\n\r\n// export default {\r\n// Confirm,\r\n// DataTables,\r\n// FilterBlock,\r\n// Filters,\r\n// HqLayout,\r\n// ModalFrame,\r\n// Typeahead,\r\n// TextInput,\r\n// Checkbox,\r\n// Radio,\r\n// DatePicker\r\n// }\r\n","import axios from 'axios'\r\nimport { map } from 'lodash'\r\n\r\nclass QuestionnaireApi {\r\n constructor(questionnaireId, version, http) {\r\n this.http = http\r\n this.base = '/api/v1/questionnaires/'\r\n this.details = this.base + `${questionnaireId}/${version}`\r\n this.questionnaireId = questionnaireId\r\n this.version = version\r\n }\r\n\r\n async List() {\r\n const result = []\r\n let offset = 1\r\n\r\n while (offset > 0) {\r\n const response = await this.http.get(this.base, {\r\n params: {\r\n limit: 40,\r\n offset,\r\n },\r\n })\r\n const data = response.data\r\n offset = data.Offset + 1\r\n\r\n data.Questionnaires.forEach(q => result.push(q))\r\n\r\n if (data.Questionnaires == null || data.Questionnaires.length == 0) break\r\n }\r\n\r\n return result\r\n }\r\n\r\n Delete() {\r\n var self = this\r\n return this.http.post('api/QuestionnairesApi/DeleteQuestionnaire', {\r\n questionnaireId: self.questionnaireId,\r\n version: self.version,\r\n })\r\n }\r\n\r\n AudioAudit(enabled) {\r\n const url = `${this.base}${this.questionnaireId}/${this.version}/recordAudio`\r\n return this.http.post(url, {\r\n enabled: enabled,\r\n })\r\n }\r\n\r\n async ExposedVariables(id) {\r\n const response = await this.http.get(`api/QuestionnairesApi/GetQuestionnaireExposedVariables?id=${id}`,\r\n {\r\n params: {\r\n limit: 100,\r\n },\r\n })\r\n return response.data\r\n }\r\n\r\n ChangeVariableExposeStatus(questionnaireIdentity, variables){\r\n return this.http.post('api/QuestionnairesApi/changeVariableExposeStatus', {\r\n questionnaireIdentity: questionnaireIdentity,\r\n variables: variables,\r\n })\r\n }\r\n\r\n}\r\n\r\nclass SurveyStatistics {\r\n constructor(http) {\r\n this.reportPath = 'api/v1/statistics'\r\n this.http = http\r\n }\r\n\r\n async Questions(questionnaireId, version) {\r\n return (await this.http.get(`${this.reportPath}/questions`, {\r\n params: {\r\n questionnaireId,\r\n version,\r\n },\r\n })).data\r\n }\r\n\r\n async Questionnaires() {\r\n return (await this.http.get(`${this.reportPath}/questionnaires`)).data\r\n }\r\n\r\n get Uri() {\r\n return this.http.defaults.baseURL + this.reportPath\r\n }\r\n}\r\n\r\nclass MapsReport {\r\n constructor(http) {\r\n this.http = http\r\n }\r\n\r\n async GpsQuestionsByQuestionnaire(questionnaireId, version) {\r\n return await this.http.get(`api/ReportDataApi/QuestionInfo/${questionnaireId}?version=${version}`)\r\n }\r\n\r\n async Report(request) {\r\n return await this.http.post('api/ReportDataApi/MapReport', request)\r\n }\r\n\r\n async InteriewSummaryUrl(interviewId) {\r\n var response = await this.http.post('api/InterviewApi/InterviewSummaryForMapPoint', {\r\n interviewId,\r\n })\r\n\r\n return response\r\n }\r\n\r\n GetInterviewDetailsUrl(interviewId) {\r\n return `${this.http.defaults.baseURL}Interview/Review/${interviewId}`\r\n }\r\n}\r\n\r\nclass Workspaces {\r\n constructor(http) {\r\n this.http = http\r\n }\r\n\r\n async List(userId, includeDisabled) {\r\n const response = await this.http.get('api/v1/workspaces',\r\n {\r\n params: {\r\n userId,\r\n includeDisabled,\r\n length: 1000,\r\n },\r\n })\r\n return response.data\r\n }\r\n\r\n Assign(userIds, workspaces, mode = 'Assign') {\r\n var assignWorkspaces = map(workspaces, w => {\r\n return {\r\n workspace: w,\r\n supervisorId: null,\r\n }\r\n })\r\n\r\n return this.http.post('api/v1/workspaces/assign',\r\n {\r\n userIds, workspaces: assignWorkspaces, mode,\r\n }\r\n )\r\n }\r\n\r\n AssignInterviewer(userIds, workspace, supervisor, mode = 'Add') {\r\n var assignWorkspaces = [{\r\n workspace: workspace,\r\n supervisorId: supervisor,\r\n }]\r\n\r\n return this.http.post('api/v1/workspaces/assign',\r\n {\r\n userIds, workspaces: assignWorkspaces, mode,\r\n }\r\n )\r\n }\r\n\r\n async Status(workspace) {\r\n return await this.http.get('api/v1/workspaces/status/' + workspace)\r\n }\r\n\r\n async Delete(workspace) {\r\n return await this.http.delete('api/v1/workspaces/' + workspace)\r\n }\r\n\r\n}\r\n\r\nclass Users {\r\n constructor(http) {\r\n this.http = http\r\n }\r\n\r\n async Supervisors(filter) {\r\n return (await this.http.get('api/v1/users/supervisors', {\r\n params: {\r\n filter,\r\n },\r\n })).data\r\n }\r\n\r\n get SupervisorsUri() {\r\n return this.http.defaults.baseURL + 'api/v1/users/supervisors'\r\n }\r\n}\r\n\r\nclass MapDashboard {\r\n constructor(http) {\r\n this.http = http\r\n }\r\n\r\n async GetMarkers(request) {\r\n return await this.http.post('api/MapDashboardApi/Markers', request)\r\n }\r\n\r\n async InteriewSummaryUrl(interviewId) {\r\n var response = await this.http.post('api/InterviewApi/InterviewSummaryForMapPoint', {\r\n interviewId,\r\n })\r\n\r\n return response\r\n }\r\n\r\n async AssignmentUrl(assignmentId) {\r\n var response = await this.http.post('api/AssignmentsApi/AssignmentMapPoint', {\r\n assignmentId,\r\n })\r\n\r\n return response\r\n }\r\n\r\n GetInterviewDetailsUrl(interviewId) {\r\n return `${this.http.defaults.baseURL}Interview/Review/${interviewId}`\r\n }\r\n\r\n GetAssignmentDetailsUrl(assignmentId) {\r\n return `${this.http.defaults.baseURL}Assignments/${assignmentId}`\r\n }\r\n}\r\n\r\nclass InterviewsPublicApi {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/v1/interviews'\r\n }\r\n\r\n async SvApprove(interviewId, comment) {\r\n var url = `${this.base}/${interviewId}/approve`\r\n\r\n const response = await this.http.patch(url, {\r\n comment,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async SvReject(interviewId, comment) {\r\n var url = `${this.base}/${interviewId}/reject`\r\n\r\n const response = await this.http.patch(url, {\r\n comment,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async HqApprove(interviewId, comment) {\r\n var url = `${this.base}/${interviewId}/hqapprove`\r\n\r\n const response = await this.http.patch(url, {\r\n comment,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async HqReject(interviewId, comment) {\r\n var url = `${this.base}/${interviewId}/hqreject`\r\n\r\n const response = await this.http.patch(url, {\r\n comment,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async HqUnapprove(interviewId, comment) {\r\n var url = `${this.base}/${interviewId}/hqunapprove`\r\n\r\n const response = await this.http.patch(url, {\r\n comment,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async SvAssign(interviewId, responsibleId) {\r\n var url = `${this.base}/${interviewId}/assignsupervisor`\r\n\r\n const response = await this.http.patch(url, {\r\n responsibleId,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n async Assign(interviewId, responsibleId) {\r\n var url = `${this.base}/${interviewId}/assign`\r\n\r\n const response = await this.http.patch(url, {\r\n responsibleId,\r\n })\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n}\r\n\r\n\r\nclass Reports {\r\n constructor(http, basePath) {\r\n this.http = http\r\n this.basePath = basePath\r\n }\r\n\r\n get SurveyStatistics() {\r\n return new SurveyStatistics(this.http)\r\n }\r\n\r\n get MapReport() {\r\n return new MapsReport(this.http)\r\n }\r\n\r\n Chart({\r\n questionnaireId,\r\n version,\r\n from,\r\n to,\r\n }) {\r\n return this.http.post('api/ReportDataApi/ChartStatistics', {\r\n templateId: questionnaireId,\r\n templateVersion: version,\r\n from,\r\n to,\r\n })\r\n }\r\n}\r\n\r\nclass AssignmentsApi {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/v1/assignments'\r\n }\r\n\r\n async audioSettings(assignmentId) {\r\n var url = `${this.base}/${assignmentId}/recordAudio`\r\n\r\n const response = await this.http.get(url)\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n setAudioSettings(assignmentId, isEnabled) {\r\n var url = `${this.base}/${assignmentId}/recordAudio`\r\n\r\n return this.http.patch(url, {\r\n enabled: isEnabled,\r\n })\r\n }\r\n\r\n async quantitySettings(assignmentId) {\r\n var url = `${this.base}/${assignmentId}/assignmentQuantitySettings`\r\n\r\n const response = await this.http.get(url)\r\n const responseData = response.data\r\n\r\n return responseData\r\n }\r\n\r\n changeQuantity(assignmentId, targetQuantity) {\r\n var url = `${this.base}/${assignmentId}/changeQuantity`\r\n return this.http({\r\n method: 'patch',\r\n url: url,\r\n data: targetQuantity,\r\n headers: {\r\n accept: 'text/plain',\r\n 'content-type': 'application/json',\r\n },\r\n })\r\n }\r\n\r\n changeMode(assignmentId, isEnabled) {\r\n var url = `${this.base}/${assignmentId}/changeMode`\r\n\r\n return this.http.patch(url, {\r\n enabled: isEnabled,\r\n })\r\n }\r\n}\r\n\r\nclass WebInterviewSettingsApi {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/v1/webInterviewSettings'\r\n }\r\n\r\n /*async fetchEmailTemplates(questionnaireId) {\r\n var url = `${this.base}/${questionnaireId}/emailTemplates`\r\n\r\n const response = await this.http.get(url)\r\n const responseData = response.data\r\n\r\n return responseData\r\n }*/\r\n\r\n updateEmailTemplate(questionnaireId, type, subject, message, passwordDescription, linkText) {\r\n var url = `${this.base}/${questionnaireId}/emailTemplate`\r\n return this.http(\r\n {\r\n method: 'post',\r\n url: url,\r\n data: {\r\n type: type,\r\n subject: subject,\r\n message: message,\r\n passwordDescription: passwordDescription,\r\n linkText: linkText},\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n\r\n updatePageMessage(questionnaireId, titleType, titleText, messageType, messageText, buttonType, buttonText) {\r\n var url = `${this.base}/${questionnaireId}/pageTemplate`\r\n return this.http(\r\n {\r\n method: 'post',\r\n url: url,\r\n data: {\r\n titleType: titleType,\r\n titleText: titleText,\r\n messageType: messageType,\r\n messageText: messageText,\r\n buttonType: buttonType,\r\n buttonText: buttonText},\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n\r\n /*updateReminderSettings(questionnaireId, reminderAfterDaysIfNoResponse, reminderAfterDaysIfPartialResponse) {\r\n var url = `${this.base}/${questionnaireId}/reminderSettings`;\r\n return this.http.post(url, { reminderAfterDaysIfNoResponse: reminderAfterDaysIfNoResponse, reminderAfterDaysIfPartialResponse: reminderAfterDaysIfPartialResponse });\r\n }\r\n\r\n updateSpamProtection(questionnaireId, isEnabled) {\r\n var url = `${this.base}/${questionnaireId}/spamProtection`;\r\n return this.http.post(url, { isEnabled: isEnabled });\r\n }*/\r\n\r\n updateAdditionalSettings(questionnaireId,\r\n isEnabledSpamProtection,\r\n reminderAfterDaysIfNoResponse,\r\n reminderAfterDaysIfPartialResponse,\r\n singleResponse,\r\n emailOnComplete,\r\n attachAnswersInEmail,\r\n allowSwitchToCawiForInterviewer) {\r\n var url = `${this.base}/${questionnaireId}/additionalSettings`\r\n return this.http(\r\n {\r\n method: 'post',\r\n url:url,\r\n data: {\r\n spamProtection: isEnabledSpamProtection,\r\n reminderAfterDaysIfNoResponse: reminderAfterDaysIfNoResponse,\r\n reminderAfterDaysIfPartialResponse: reminderAfterDaysIfPartialResponse,\r\n singleResponse: singleResponse,\r\n emailOnComplete: emailOnComplete,\r\n attachAnswersInEmail: attachAnswersInEmail,\r\n allowSwitchToCawiForInterviewer: allowSwitchToCawiForInterviewer},\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n\r\n startWebInterview(questionnaireId) {\r\n var url = `${this.base}/${questionnaireId}/start`\r\n\r\n return this.http(\r\n {\r\n url:url,\r\n method: 'post',\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n\r\n stopWebInterview(questionnaireId) {\r\n var url = `${this.base}/${questionnaireId}/stop`\r\n return this.http(\r\n {\r\n url:url,\r\n method: 'post',\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n}\r\n\r\nclass ExportSettings {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/ExportSettingsApi'\r\n }\r\n\r\n setEncryption(val) {\r\n const url = `${this.base}/ChangeState`\r\n return this.http(\r\n {\r\n method: 'post',\r\n url: url,\r\n data:{ enableState: val },\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n\r\n getEncryption() {\r\n return this.http.get(`${this.base}/ExportSettings`)\r\n }\r\n\r\n regenPassword() {\r\n return this.http(\r\n {\r\n method: 'post',\r\n url: `${this.base}/RegeneratePassword`,\r\n headers: {'X-CSRF-TOKEN': new HttpUtil().getCsrfCookie()},\r\n })\r\n }\r\n}\r\n\r\n// var $webInterviewSettingsUrl = '@Url.RouteUrl(\"DefaultApiWithAction\", new {httproute = \"\", controller = \"AdminSettings\", action = \"WebInterviewSettings\" })';\r\n\r\nclass ControlPanel {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/ControlPanelApi'\r\n }\r\n\r\n getConfiguration() {\r\n return this.http.get(`${this.base}/Configuration`)\r\n }\r\n\r\n getApkInfos() {\r\n return this.http.get(`${this.base}/AppUpdates`)\r\n }\r\n\r\n getHealthResult() {\r\n return this.http.get(`${this.base}/GetHealthResult`)\r\n }\r\n\r\n getMetricsState() {\r\n return this.http.get(`${this.base}/GetMetricsState`)\r\n }\r\n}\r\n\r\nclass AdminSettings {\r\n constructor(http) {\r\n this.http = http\r\n this.base = 'api/AdminSettings'\r\n }\r\n\r\n getGlobalNotice() {\r\n return this.http.get(`${this.base}/GlobalNoticeSettings`)\r\n }\r\n setGlobalNotice(val) {\r\n return this.http.post(`${this.base}/GlobalNoticeSettings`, {\r\n GlobalNotice: val,\r\n })\r\n }\r\n getProfileSettings() {\r\n return this.http.get(`${this.base}/ProfileSettings`)\r\n }\r\n setProfileSettings(allowInterviewerUpdateProfile) {\r\n return this.http.post(`${this.base}/ProfileSettings`, {\r\n allowInterviewerUpdateProfile: allowInterviewerUpdateProfile,\r\n })\r\n }\r\n setInterviewerSettings(isInterviewerAutomaticUpdatesEnabled, isDeviceNotificationsEnabled, isPartialSynchronizationEnabled) {\r\n return this.http.post(`${this.base}/InterviewerSettings`, {\r\n interviewerAutoUpdatesEnabled: isInterviewerAutomaticUpdatesEnabled,\r\n notificationsEnabled: isDeviceNotificationsEnabled,\r\n partialSynchronizationEnabled: isPartialSynchronizationEnabled,\r\n })\r\n }\r\n getInterviewerSettings() {\r\n return this.http.get(`${this.base}/InterviewerSettings`)\r\n }\r\n getWebInterviewSettings() {\r\n return this.http.get(`${this.base}/WebInterviewSettings`)\r\n }\r\n setWebInterviewSettings(allowEmails) {\r\n return this.http.post(`${this.base}/WebInterviewSettings`, {\r\n allowEmails: allowEmails,\r\n })\r\n }\r\n}\r\n\r\nclass HttpUtil {\r\n getCsrfCookie() {\r\n var name = 'CSRF-TOKEN='\r\n var decodedCookie = decodeURIComponent(document.cookie)\r\n var ca = decodedCookie.split(';')\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i]\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1)\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length)\r\n }\r\n }\r\n return ''\r\n }\r\n}\r\n\r\nclass HqApiClient {\r\n constructor(basePath, workspace) {\r\n this.basePath = basePath\r\n this.workspace = workspace\r\n this.http = axios.create({\r\n baseURL: basePath,\r\n })\r\n }\r\n\r\n Questionnaire(questionnaireId, version) {\r\n return new QuestionnaireApi(questionnaireId, version, this.http)\r\n }\r\n\r\n get Report() {\r\n return new Reports(this.http)\r\n }\r\n\r\n get Users() {\r\n return new Users(this.http)\r\n }\r\n\r\n get Assignments() {\r\n return new AssignmentsApi(this.http)\r\n }\r\n\r\n get MapDashboard() {\r\n return new MapDashboard(this.http)\r\n }\r\n\r\n get WebInterviewSettings() {\r\n return new WebInterviewSettingsApi(this.http)\r\n }\r\n\r\n get ExportSettings() {\r\n return new ExportSettings(this.http)\r\n }\r\n\r\n get AdminSettings() {\r\n return new AdminSettings(this.http)\r\n }\r\n\r\n get ControlPanel() {\r\n return new ControlPanel(this.http)\r\n }\r\n\r\n get Util() {\r\n return new HttpUtil()\r\n }\r\n\r\n get Workspaces() {\r\n return new Workspaces(this.http)\r\n }\r\n\r\n get InterviewsPublicApi() {\r\n return new InterviewsPublicApi(this.http)\r\n }\r\n\r\n get UsersManagement() {\r\n var self = this\r\n return {\r\n list() {\r\n return self.basePath + 'UsersManagement/List'\r\n },\r\n }\r\n }\r\n\r\n workspacePath(workspace) {\r\n return this.basePath.replace(this.workspace, workspace)\r\n }\r\n}\r\n\r\n/* the Plugin */\r\nexport default {\r\n install: function (vue) {\r\n const instance = new HqApiClient(vue.$config.apiBasePath || vue.$config.basePath, vue.$config.workspace)\r\n\r\n // /* expose a global API method */\r\n Object.defineProperty(vue, '$hq', {\r\n get() {\r\n return instance\r\n },\r\n })\r\n\r\n /* expose a local API method */\r\n Object.defineProperty(vue.prototype, '$hq', {\r\n get() {\r\n return instance\r\n },\r\n })\r\n },\r\n}","import { ApolloClient } from 'apollo-client'\r\nimport { ApolloLink } from 'apollo-link'\r\nimport { createHttpLink } from 'apollo-link-http'\r\nimport { onError } from 'apollo-link-error'\r\nimport { InMemoryCache } from 'apollo-cache-inmemory'\r\nimport fetch from 'isomorphic-unfetch'\r\n\r\nconst link = createHttpLink({\r\n fetch,\r\n uri: '/graphql',\r\n})\r\n\r\nconst logoutLink = onError(({ graphQLErrors, networkError }) => {\r\n\r\n //not enough, sometimes errors are returned as graphQLErrors\r\n if (networkError && networkError.statusCode === 401)\r\n location.reload()\r\n\r\n if (graphQLErrors)\r\n graphQLErrors.forEach(({ extensions }) => {\r\n if (extensions && extensions.code && extensions.code === 'AUTH_NOT_AUTHENTICATED')\r\n location.reload()\r\n })\r\n})\r\n\r\nconst cache = new InMemoryCache()\r\n\r\nexport default new ApolloClient({\r\n link: ApolloLink.from([logoutLink, link]),\r\n cache,\r\n})","import 'bootstrap'\r\nimport 'bootstrap-select'\r\n\r\nimport '../assets/css/markup.scss'\r\nimport '../assets/css/markup-specific.scss'\r\n\r\nimport Vue from 'vue'\r\nimport VueApollo from 'vue-apollo'\r\n\r\nVue.use(VueApollo)\r\nimport { sync } from 'vuex-router-sync'\r\nimport Vuei18n from '~/shared/plugins/locale'\r\nimport http from '~/shared/plugins/http'\r\nimport config from '~/shared/config'\r\nimport store from './store'\r\nimport moment from 'moment'\r\n\r\nimport './components'\r\nimport './compatibility.js'\r\nimport '~/webinterview/componentsRegistry'\r\n\r\nimport VueTextareaAutosize from 'vue-textarea-autosize'\r\nVue.use(VueTextareaAutosize)\r\n\r\nimport { Popover } from 'uiv'\r\nVue.component('popover', Popover)\r\n\r\nimport box from '@/shared/modal'\r\nimport 'flatpickr/dist/flatpickr.css'\r\nimport 'toastr/build/toastr.css'\r\nimport * as toastr from 'toastr'\r\ntoastr.options.escapeHtml = true\r\n\r\nimport * as poly from 'smoothscroll-polyfill'\r\npoly.polyfill()\r\n\r\nimport hqApi from './api'\r\nimport apolloClient from './api/graphql'\r\n\r\nimport { browserLanguage } from '~/shared/helpers'\r\nmoment.locale(browserLanguage)\r\n\r\nconst i18n = Vuei18n.initialize(browserLanguage)\r\n\r\nVue.use(config)\r\nVue.use(http)\r\nVue.use(hqApi)\r\n\r\nconst viewsProvider = require('./Views').default\r\nconst Router = require('./router').default\r\n\r\nconst views = viewsProvider(store)\r\n\r\nconst router = new Router({\r\n routes: views.routes,\r\n}).router\r\n\r\nsync(store, router)\r\n\r\nbox.init(i18n, browserLanguage)\r\n\r\nVue.prototype.$eventHub = new Vue()\r\n\r\nexport default new Vue({\r\n el: '#vueApp',\r\n render: h => h('router-view'),\r\n store,\r\n router,\r\n apolloProvider: new VueApollo({\r\n defaultClient: apolloClient,\r\n }),\r\n})\r\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"export-card\"},[_c('div',{staticClass:\"top-row\"},[_c('div',{staticClass:\"format-data\",class:_vm.data.format},[_c('div',{staticClass:\"gray-text-row\"},[_c('b',[_vm._v(\"#\"+_vm._s(_vm.data.id)+\" \")]),(!_vm.isCompleted)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_QueuedOn', { date: _vm.data.beginDate })))]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_CompletedOn', { date: _vm.data.endDate })))])]),(_vm.data.questionnaireIdentity != null)?_c('div',{staticClass:\"h3 mb-05\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_QuestionnaireWithVersion', { title: _vm.data.title, version: _vm.data.questionnaireIdentity.version}))+\" \")]):_vm._e(),_c('p',{staticClass:\"mb-0 font-regular\"},[_c('u',{staticClass:\"font-bold\"},[_vm._v(_vm._s(_vm.data.format))]),_vm._v(\" format. \"),(_vm.data.format !='DDI' && _vm.data.interviewStatus != null)?_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_InterviewsStatus', { status: _vm.$t('DataExport.'+ _vm.data.interviewStatus) , interpolation: {escapeValue: false} }))+\" \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.translation)+\" \")])])])]),_c('div',{staticClass:\"bottom-row\",class:{'is-failed': _vm.isFailed, 'is-successful': _vm.isSuccessfull }},[_c('div',{staticClass:\"export-destination\",class:_vm.data.dataDestination,attrs:{\"title\":_vm.data.timeEstimation}},[_c('p',[(_vm.data.dataDestination != null)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_Destination', { dest: _vm.$t((\"DataExport.DataExport_Destination_\" + (_vm.data.dataDestination)))}))+\" \")]):_vm._e()]),(_vm.data.isRunning)?_c('div',{staticClass:\"d-flex ai-center\"},[_c('span',{staticClass:\"success-text status\"},[_vm._v(_vm._s(_vm.data.processStatus))]),_c('div',{staticClass:\"cancelable-progress\"},[(_vm.isRunning)?_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: _vm.data.progress + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"0\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})]):_vm._e()]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(_vm._s(_vm.$t('Strings.Cancel')))])]):_c('div',{staticClass:\"d-flex ai-center\"},[(!_vm.data.isRunning && _vm.data.hasFile && _vm.data.dataDestination == 'File')?_c('a',{staticClass:\"btn btn-primary btn-lg\",attrs:{\"href\":_vm.downloadFileUrl}},[_vm._v(_vm._s(_vm.$t('DataExport.Download')))]):_vm._e(),(_vm.data.hasFile)?_c('div',{staticClass:\"file-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_FileLastUpdate', { date: _vm.data.dataFileLastUpdateDate }))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_FileSize', { size: _vm.data.fileSize }))+\" \")]):_vm._e(),(!_vm.data.hasFile && !_vm.isFailed)?_c('div',{staticClass:\"file-info\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataExport_FileWasRegenerated')))]):_vm._e(),(_vm.isFailed)?_c('div',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.data.error)+\" \")]):_vm._e()])])]),(!_vm.data.isRunning && _vm.canRegenerate)?_c('div',{staticClass:\"dropdown aside-menu\"},[_vm._m(0),_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.regenerate}},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_Regenerate'))+\" \"),_c('br'),_c('small',[_vm._v(_vm._s(_vm.$t('DataExport.DataExport_RegenerateDesc')))])])])])]):_vm._e(),(_vm.data.isInitializing)?_c('div',{staticClass:\"card-loading\",staticStyle:{\"display\":\"block\"}},[_vm._m(1),_vm._m(2)]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"}},[_c('span')])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-row-loading\"},[_c('div',{staticClass:\"animated-background\"},[_c('div',{staticClass:\"background-masker mask-top-left\"}),_c('div',{staticClass:\"background-masker mask-top-right\"}),_c('div',{staticClass:\"background-masker mask-left\"}),_c('div',{staticClass:\"background-masker submask-top\"}),_c('div',{staticClass:\"background-masker submask-top-right\"}),_c('div',{staticClass:\"background-masker submask-bottom-right\"}),_c('div',{staticClass:\"background-masker submask-bottom\"}),_c('div',{staticClass:\"background-masker mask-bottom-left\"})])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bottom-row-loading\"},[_c('div',{staticClass:\"animated-background\"},[_c('div',{staticClass:\"background-masker mask-top-left\"}),_c('div',{staticClass:\"background-masker mask-left\"}),_c('div',{staticClass:\"background-masker mask-top-right\"}),_c('div',{staticClass:\"background-masker mask-bottom-left\"}),_c('div',{staticClass:\"background-masker submask-top\"}),_c('div',{staticClass:\"background-masker submask-left\"}),_c('div',{staticClass:\"background-masker submask-top-right\"}),_c('div',{staticClass:\"background-masker submask-bottom\"}),_c('div',{staticClass:\"background-masker submask-bottom-right\"})])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExportProcessCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExportProcessCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExportProcessCard.vue?vue&type=template&id=bebb4e60&\"\nimport script from \"./ExportProcessCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ExportProcessCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"unit-section\",class:_vm.coverStatusClass},[_c('div',{staticClass:\"unit-title\"},[_c('wb-humburger',{attrs:{\"showFoldbackButtonAsHamburger\":_vm.showHumburger}}),_c('h3',{attrs:{\"id\":\"cover-title\"}},[_vm._v(\" \"+_vm._s(this.$store.state.webinterview.breadcrumbs.title || this.$store.state.webinterview.coverInfo.title || _vm.$t(\"WebInterviewUI.Cover\"))+\" \")])],1),_c('div',{staticClass:\"wrapper-info error\"},[(_vm.hasBrokenPackage)?_c('div',{staticClass:\"container-info\"},[_c('h4',{staticClass:\"error-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"WebInterviewUI.CoverBrokenPackegeTitle\"))+\" \")]),_c('p',{staticClass:\"error-text\"},[_c('i',{domProps:{\"innerHTML\":_vm._s(_vm.$t('WebInterviewUI.CoverBrokenPackegeText'))}})])]):_vm._e(),_c('div',{staticClass:\"container-info\"},[_c('h2',[_vm._v(_vm._s(_vm.title))])])]),(_vm.hasSupervisorComment)?_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('h4',{staticClass:\"gray-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"WebInterviewUI.CoverSupervisorNote\"))+\" \")]),_c('p',[_c('b',[_vm._v(_vm._s(_vm.supervisorComment))])])])]):_vm._e(),(_vm.commentedQuestions.length > 0)?_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('h4',{staticClass:\"gray-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.commentsTitle)+\" \")]),_c('ul',{staticClass:\"list-unstyled marked-questions\"},_vm._l((_vm.commentedQuestions),function(commentedQuestion){return _c('li',{key:commentedQuestion.id},[_c('a',{attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){return _vm.navigateTo(commentedQuestion)}}},[_vm._v(_vm._s(commentedQuestion.title))])])}),0)])]):_vm._e(),_vm._l((_vm.entities),function(entity){return [(entity.isReadonly)?_c('div',{key:entity.identity,staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\",attrs:{\"id\":entity.identity}},[_c('h5',{domProps:{\"innerHTML\":_vm._s(entity.title)}}),_c('p',[(entity.entityType == 'Gps')?_c('b',[_c('a',{attrs:{\"href\":_vm.getGpsUrl(entity),\"target\":\"_blank\"}},[_vm._v(_vm._s(entity.answer))]),_c('br'),_c('img',{attrs:{\"src\":_vm.googleMapPosition(entity.answer),\"draggable\":\"false\"}})]):(entity.entityType == 'DateTime')?_c('b',{directives:[{name:\"dateTimeFormatting\",rawName:\"v-dateTimeFormatting\"}],domProps:{\"innerHTML\":_vm._s(entity.answer)}}):_c('b',[_vm._v(_vm._s(entity.answer))])])])]):_c(entity.entityType,{key:((entity.identity) + \"-\" + (entity.entityType)),tag:\"component\",attrs:{\"id\":entity.identity}})]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cover.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cover.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cover.vue?vue&type=template&id=79842747&\"\nimport script from \"./Cover.vue?vue&type=script&lang=js&\"\nexport * from \"./Cover.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default class {\r\n constructor() {\r\n this.store = window.localStorage\r\n }\r\n\r\n setItem(key, value) {\r\n if (this.store) {\r\n try {\r\n localStorage.setItem(key, value)\r\n }\r\n catch {\r\n /* empty */\r\n }\r\n }\r\n }\r\n\r\n getItem(key) {\r\n if (this.store) {\r\n try {\r\n var result = localStorage.getItem(key)\r\n }\r\n catch {\r\n return null\r\n }\r\n return result\r\n }\r\n }\r\n\r\n remove(key) {\r\n if (this.store) {\r\n try {\r\n localStorage.removeItem(key)\r\n }\r\n catch {\r\n /* empty */\r\n }\r\n }\r\n }\r\n}","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showBreadcrumbs)?_c('div',{staticClass:\"unit-title break-line\"},[_c('ol',{staticClass:\"breadcrumb\"},_vm._l((_vm.entities),function(breadcrumb){return _c('li',{key:breadcrumb.target},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return _vm.navigate(breadcrumb)}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(breadcrumb.title)}}),(breadcrumb.isRoster && !breadcrumb.hasCustomRosterTitle)?_c('span',[_vm._v(\" - \"),_c('i',[_vm._v(_vm._s(_vm.getRosterTitle(breadcrumb.rosterTitle)))])]):_vm._e()])])}),0),_c('h3',{domProps:{\"innerHTML\":_vm._s(_vm.title)}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=e43be974&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"root\"}},[_c('header',[_vm._t(\"header\")],2),_c('main',{staticClass:\"web-interview\",class:{'fullscreen-hidden-content': _vm.sidebarHidden}},[_c('div',{staticClass:\"container-fluid\"},[_vm._t(\"default\")],2)]),_c('footer',{class:{'footer-adaptive-content': _vm.sidebarHidden}},[_vm._t(\"footer\")],2),_c('span',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"loadingPixel\",\"data-loading\":_vm.isLoading}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=df68d29e&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"navbar navbar-inverse navbar-fixed-top navbar-web-interview\",attrs:{\"role\":\"navigation\"}},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"navbar-header\"},[(_vm.$store.state.webinterview.firstSectionId)?_c('router-link',{staticClass:\"interview-ID\",attrs:{\"active-class\":\"\",\"to\":_vm.toFirstSection}},[_vm._v(_vm._s(_vm.interviewKey))]):_vm._e(),_c('button',{staticClass:\"navbar-toggle collapsed\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#navbar\",\"aria-expanded\":\"false\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.$t('WebInterviewUI.ToggleNavigation')))]),_c('span',{staticClass:\"icon-bar top-menu\"}),_c('span',{staticClass:\"icon-bar mid-menu\"}),_c('span',{staticClass:\"icon-bar bottom-menu\"})]),_c('div',{staticClass:\"navbar-brand\"},[(_vm.hqLink == null)?_c('router-link',{staticClass:\"logo\",attrs:{\"to\":_vm.toCoverPage}}):_vm._e(),(_vm.hqLink != null)?_c('a',{staticClass:\"logo\",attrs:{\"href\":_vm.hqLink}}):_vm._e()],1),(this.$config.inWebTesterMode)?_c('button',{staticClass:\"btn btn-default btn-link btn-icon\",attrs:{\"type\":\"button\",\"title\":_vm.$t('WebInterviewUI.ReloadQuestionnaire')},on:{\"click\":_vm.reloadQuestionnaire}},[_c('span',{staticClass:\"glyphicon glyphicon-sort\"})]):_vm._e()],1),_c('div',{staticClass:\"collapse navbar-collapse\",attrs:{\"id\":\"navbar\"}},[_c('ul',{staticClass:\"nav navbar-nav navbar-left\"},[_c('li',[(_vm.$store.state.webinterview.firstSectionId)?_c('router-link',{staticClass:\"interview-ID\",attrs:{\"active-class\":\"\",\"to\":_vm.toFirstSection}},[_vm._v(_vm._s(_vm.interviewKey))]):_vm._e()],1)]),_c('p',{staticClass:\"navbar-text pull-left\"},[_vm._v(_vm._s(_vm.questionnaireTitle))]),_c('ul',{staticClass:\"nav navbar-nav navbar-right\"},[_c('li',{staticClass:\"help-link\"},[_c('a',{attrs:{\"href\":\"https://support.mysurvey.solutions/getting-started/web-interview\",\"title\":_vm.$t('WebInterviewUI.Help')}},[_vm._v(_vm._s(_vm.$t('WebInterviewUI.Help')))])]),_c('li',{staticClass:\"dropdown language\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"javascript:void(0);\",\"data-toggle\":\"dropdown\",\"role\":\"button\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\",\"title\":_vm.currentLanguage}},[_vm._v(\" \"+_vm._s(_vm.currentLanguage)+\" \"),(_vm.canChangeLanguage)?_c('span',{staticClass:\"caret\"}):_vm._e()]),(_vm.canChangeLanguage)?_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.currentLanguage != _vm.$store.state.webinterview.originalLanguageName)?_c('li',[_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return _vm.changeLanguage()}}},[_vm._v(_vm._s(_vm.$store.state.webinterview.originalLanguageName))])]):_vm._e(),_vm._l((_vm.languages),function(language){return _c('li',{key:language.OriginalLanguageName},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":function($event){return _vm.changeLanguage(language)}}},[_vm._v(_vm._s(language))])])})],2):_vm._e()]),(_vm.showEmailPersonalLink)?_c('li',[_c('a',{attrs:{\"href\":\"#\",\"title\":_vm.$t('WebInterviewUI.EmailLink_EmailResumeLink')},on:{\"click\":_vm.emailPersonalLink}},[_vm._v(_vm._s(_vm.$t('WebInterviewUI.EmailLink_EmailResumeLink')))])]):_vm._e(),(this.$config.inWebTesterMode)?_c('li',[_c('button',{staticClass:\"btn btn-default btn-link btn-icon\",attrs:{\"type\":\"button\",\"title\":_vm.$t('WebInterviewUI.ReloadQuestionnaire')},on:{\"click\":_vm.reloadQuestionnaire}},[_c('span',{staticClass:\"glyphicon glyphicon-sort\"})])]):_vm._e(),(this.$config.inWebTesterMode && this.$config.saveScenarioUrl)?_c('li',[_c('button',{staticClass:\"btn btn-default btn-link btn-icon\",attrs:{\"type\":\"button\",\"title\":_vm.$t('WebInterviewUI.SaveScenario')},on:{\"click\":_vm.showSaveScenario}},[_c('span',{staticClass:\"glyphicon glyphicon-floppy-disk\"})]),_c('div',{ref:\"saveScenarioModalRef\",staticClass:\"modal fade\",attrs:{\"id\":\"saveScenarioModal\",\"tabindex\":\"-1\",\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-dialog\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h2',[_vm._v(_vm._s(this.$t('WebInterviewUI.SaveScenario')))])]),_c('div',{staticClass:\"modal-body\"},[(!this.designerCredentialsExpired)?_c('form',{staticClass:\"panel-group\",attrs:{\"onsubmit\":\"return false;\",\"action\":\"javascript:void(0)\"}},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"radio mb-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedSaveOption),expression:\"selectedSaveOption\"}],staticClass:\"wb-radio\",attrs:{\"name\":\"rbScenarioSaveOption\",\"type\":\"radio\",\"id\":\"rbScenarioSaveNew\",\"value\":\"saveNew\"},domProps:{\"checked\":_vm._q(_vm.selectedSaveOption,\"saveNew\")},on:{\"change\":function($event){_vm.selectedSaveOption=\"saveNew\"}}}),_c('label',{attrs:{\"for\":\"rbScenarioSaveNew\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(this.$t('WebInterviewUI.SaveScenarioOptions_SaveNew'))+\" \")])])]),(_vm.selectedSaveOption === 'saveNew')?_c('div',{staticClass:\"panel-body\"},[(_vm.selectedSaveOption === 'saveNew')?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"txtScenarioName\"}},[_vm._v(_vm._s(this.$t('WebInterviewUI.SaveScenarioName')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newScenarioName),expression:\"newScenarioName\"}],staticClass:\"form-control\",attrs:{\"maxlength\":\"32\",\"id\":\"txtScenarioName\"},domProps:{\"value\":(_vm.newScenarioName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newScenarioName=$event.target.value}}})]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"radio mb-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedSaveOption),expression:\"selectedSaveOption\"}],staticClass:\"wb-radio\",attrs:{\"name\":\"rbScenarioSaveOption\",\"type\":\"radio\",\"id\":\"rbScenarioUpdateExisting\",\"value\":\"updateExisting\"},domProps:{\"checked\":_vm._q(_vm.selectedSaveOption,\"updateExisting\")},on:{\"change\":function($event){_vm.selectedSaveOption=\"updateExisting\"}}}),_c('label',{attrs:{\"for\":\"rbScenarioUpdateExisting\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(this.$t('WebInterviewUI.SaveScenarioOptions_ReplaceExisting'))+\" \")])])]),(_vm.selectedSaveOption === 'updateExisting')?_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"slScenarioSaveOption\"}},[_vm._v(_vm._s(this.$t('WebInterviewUI.SaveScenarioOptions')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedScenarioOption),expression:\"selectedScenarioOption\"}],staticClass:\"form-control\",attrs:{\"id\":\"slScenarioSaveOption\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedScenarioOption=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.designerScenarios),function(s){return _c('option',{key:s.id,domProps:{\"value\":s.id}},[_vm._v(_vm._s(s.title))])}),0)])]):_vm._e()])]):_c('div',[_c('p',[_vm._v(_vm._s(this.$t('WebInterviewUI.SaveScenarioDesignerLogin')))]),_c('a',{attrs:{\"href\":this.$config.designerUrl,\"target\":\"_blank\"}},[_vm._v(_vm._s(this.$t('WebInterviewUI.SaveScenarioGoToDesigner')))])])]),(!this.designerCredentialsExpired)?_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":_vm.scenarioSaving || !_vm.scenarioValid},on:{\"click\":_vm.saveScenario}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.hideScenarioSave}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])]):_vm._e()])])])]):_vm._e()])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=262de35f&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\n\r\nimport Breadcrumbs from './Breadcrumbs'\r\nimport Cover from './Cover'\r\nimport Layout from './Layout'\r\nimport Navbar from './Navbar'\r\nimport Section from './Section'\r\nimport Sidebar from './Sidebar'\r\n\r\nVue.component('Layout', Layout)\r\nVue.component('Navbar', Navbar)\r\nVue.component('Sidebar', Sidebar)\r\nVue.component('Breadcrumbs', Breadcrumbs)\r\nVue.component('Cover', Cover)\r\nVue.component('Section', Section)\r\n","import Vue from 'vue'\r\n\r\nVue.component('wb-comments', () => import(/* webpackChunkName: \"questions\" */ './Comments'))\r\nVue.component('wb-comment-item', () => import(/* webpackChunkName: \"questions\" */ './CommentItem'))\r\nVue.component('wb-instructions', () => import(/* webpackChunkName: \"questions\" */ './Instructions'))\r\nVue.component('wb-title', () => import(/* webpackChunkName: \"questions\" */ './Title'))\r\nVue.component('wb-validation', () => import(/* webpackChunkName: \"questions\" */ './Validation'))\r\nVue.component('wb-warnings', () => import(/* webpackChunkName: \"questions\" */ './Warnings'))\r\nVue.component('wb-remove-answer', () => import(/* webpackChunkName: \"questions\" */ './RemoveAnswer'))\r\nVue.component('wb-progress', () => import(/* webpackChunkName: \"questions\" */ './Progress'))\r\nVue.component('wb-attachment', () => import(/* webpackChunkName: \"questions\" */ './Attachment'))\r\nVue.component('wb-lock', () => import(/* webpackChunkName: \"questions\" */ './Lock'))\r\nVue.component('wb-flag', () => import(/* webpackChunkName: \"questions\" */ './Flag'))\r\n","import * as $ from 'jquery'\r\nimport Vue from 'vue'\r\n\r\nVue.directive('blurOnEnterKey', (el) => {\r\n $(el).keypress((e) => {\r\n if (e.which === 13) {\r\n $(el).blur()\r\n }\r\n })\r\n})\r\n","// import * as forEach from \"lodash/foreach\"\r\nimport Vue from 'vue'\r\nimport { DateFormats } from '~/shared/helpers'\r\nimport { forEach } from 'lodash'\r\nimport moment from 'moment'\r\n\r\nVue.directive('dateTimeFormatting', (el) => {\r\n const timeElements = el.getElementsByTagName('time')\r\n\r\n forEach(timeElements, timeElement => {\r\n const dateTimeAttr = timeElement.getAttribute('datetime')\r\n\r\n if (dateTimeAttr) {\r\n const dateTime = new Date(dateTimeAttr)\r\n timeElement.innerHTML = moment(dateTime).format(DateFormats.dateTime)\r\n }\r\n else {\r\n const date = timeElement.getAttribute('date')\r\n timeElement.innerHTML = moment(date).format(DateFormats.date)\r\n }\r\n })\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.directive('disabledWhenUnchecked', {\r\n bind: (el, binding) => {\r\n if(el.disabled) return\r\n\r\n if(binding.value.forceDisabled){\r\n if(el.disabled) return\r\n\r\n el.disabled = true\r\n return\r\n }\r\n\r\n if(binding.value.answerNotAllowed){\r\n el.disabled = true\r\n return\r\n }\r\n el.disabled = binding.value.maxAnswerReached && !el.checked\r\n },\r\n update: (el, binding) => {\r\n\r\n if(binding.value.forceDisabled){\r\n if(el.disabled) return\r\n\r\n el.disabled = true\r\n return\r\n }\r\n\r\n if(binding.value.answerNotAllowed){\r\n el.disabled = true\r\n return\r\n }\r\n el.disabled = binding.value.maxAnswerReached && !el.checked\r\n },\r\n})\r\n","/**\n * Enumerations for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * Object that store the helper enumerations\n * @type {{ allowedTagList: [string], keyCode: {}, fromCharCodeKeyCode: [string], keyName: {} }}\n */\nconst AutoNumericEnum = {};\n\n/**\n * List of allowed tag on which autoNumeric can be used.\n */\nAutoNumericEnum.allowedTagList = [\n 'b',\n 'caption',\n 'cite',\n 'code',\n 'const',\n 'dd',\n 'del',\n 'div',\n 'dfn',\n 'dt',\n 'em',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'input',\n 'ins',\n 'kdb',\n 'label',\n 'li',\n 'option',\n 'output',\n 'p',\n 'q',\n 's',\n 'sample',\n 'span',\n 'strong',\n 'td',\n 'th',\n 'u',\n];\nObject.freeze(AutoNumericEnum.allowedTagList);\nObject.defineProperty(AutoNumericEnum, 'allowedTagList', { configurable: false, writable: false });\n\n/**\n * Wrapper variable that hold named keyboard keys with their respective keyCode as seen in DOM events.\n * cf. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n *\n * This deprecated information is used for obsolete browsers.\n * @deprecated\n */\nAutoNumericEnum.keyCode = {\n Backspace : 8,\n Tab : 9,\n // No 10, 11\n // 12 === NumpadEqual on Windows\n // 12 === NumLock on Mac\n Enter : 13,\n // 14 reserved, but not used\n // 15 does not exists\n Shift : 16,\n Ctrl : 17,\n Alt : 18,\n Pause : 19,\n CapsLock : 20,\n // 21, 22, 23, 24, 25 : Asiatic key codes\n // 26 does not exists\n Esc : 27,\n // 28, 29, 30, 31 : Convert, NonConvert, Accept and ModeChange keys\n Space : 32,\n PageUp : 33,\n PageDown : 34,\n End : 35,\n Home : 36,\n LeftArrow : 37,\n UpArrow : 38,\n RightArrow : 39,\n DownArrow : 40,\n Insert : 45,\n Delete : 46,\n num0 : 48,\n num1 : 49,\n num2 : 50,\n num3 : 51,\n num4 : 52,\n num5 : 53,\n num6 : 54,\n num7 : 55,\n num8 : 56,\n num9 : 57,\n a : 65,\n b : 66,\n c : 67,\n d : 68,\n e : 69,\n f : 70,\n g : 71,\n h : 72,\n i : 73,\n j : 74,\n k : 75,\n l : 76,\n m : 77,\n n : 78,\n o : 79,\n p : 80,\n q : 81,\n r : 82,\n s : 83,\n t : 84,\n u : 85,\n v : 86,\n w : 87,\n x : 88,\n y : 89,\n z : 90,\n OSLeft : 91,\n OSRight : 92,\n ContextMenu : 93,\n numpad0 : 96,\n numpad1 : 97,\n numpad2 : 98,\n numpad3 : 99,\n numpad4 : 100,\n numpad5 : 101,\n numpad6 : 102,\n numpad7 : 103,\n numpad8 : 104,\n numpad9 : 105,\n MultiplyNumpad: 106,\n PlusNumpad : 107,\n MinusNumpad : 109,\n DotNumpad : 110,\n SlashNumpad : 111,\n F1 : 112,\n F2 : 113,\n F3 : 114,\n F4 : 115,\n F5 : 116,\n F6 : 117,\n F7 : 118,\n F8 : 119,\n F9 : 120,\n F10 : 121,\n F11 : 122,\n F12 : 123,\n NumLock : 144,\n ScrollLock : 145,\n HyphenFirefox : 173, // On the latest Linux and Windows OS, cf. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode and https://bugzilla.mozilla.org/show_bug.cgi?id=787504 and https://stackoverflow.com/a/35473259/2834898\n MyComputer : 182,\n MyCalculator : 183,\n Semicolon : 186,\n Equal : 187,\n Comma : 188,\n Hyphen : 189,\n Dot : 190,\n Slash : 191,\n Backquote : 192,\n LeftBracket : 219,\n Backslash : 220,\n RightBracket : 221,\n Quote : 222,\n Command : 224,\n AltGraph : 225,\n AndroidDefault: 229, // Android Chrome returns the same keycode number 229 for all keys pressed\n};\nObject.freeze(AutoNumericEnum.keyCode);\nObject.defineProperty(AutoNumericEnum, 'keyCode', { configurable: false, writable: false });\n\n/**\n * This object is the reverse of `keyCode`, and is used to translate the key code to named keys when no valid characters can be obtained by `String.fromCharCode`.\n * This object keys correspond to the `event.keyCode` number, and returns the corresponding key name (à la event.key)\n */\nAutoNumericEnum.fromCharCodeKeyCode = {\n 0 : 'LaunchCalculator',\n 8 : 'Backspace',\n 9 : 'Tab',\n 13 : 'Enter',\n 16 : 'Shift',\n 17 : 'Ctrl',\n 18 : 'Alt',\n 19 : 'Pause',\n 20 : 'CapsLock',\n 27 : 'Escape',\n 32 : ' ',\n 33 : 'PageUp',\n 34 : 'PageDown',\n 35 : 'End',\n 36 : 'Home',\n 37 : 'ArrowLeft',\n 38 : 'ArrowUp',\n 39 : 'ArrowRight',\n 40 : 'ArrowDown',\n 45 : 'Insert',\n 46 : 'Delete',\n 48 : '0',\n 49 : '1',\n 50 : '2',\n 51 : '3',\n 52 : '4',\n 53 : '5',\n 54 : '6',\n 55 : '7',\n 56 : '8',\n 57 : '9',\n // 65: 'a',\n // 66: 'b',\n // 67: 'c',\n // 68: 'd',\n // 69: 'e',\n // 70: 'f',\n // 71: 'g',\n // 72: 'h',\n // 73: 'i',\n // 74: 'j',\n // 75: 'k',\n // 76: 'l',\n // 77: 'm',\n // 78: 'n',\n // 79: 'o',\n // 80: 'p',\n // 81: 'q',\n // 82: 'r',\n // 83: 's',\n // 84: 't',\n // 85: 'u',\n // 86: 'v',\n // 87: 'w',\n // 88: 'x',\n // 89: 'y',\n // 90: 'z',\n 91 : 'OS', // Note: Firefox and Chrome reports 'OS' instead of 'OSLeft'\n 92 : 'OSRight',\n 93 : 'ContextMenu',\n 96 : '0',\n 97 : '1',\n 98 : '2',\n 99 : '3',\n 100: '4',\n 101: '5',\n 102: '6',\n 103: '7',\n 104: '8',\n 105: '9',\n 106: '*',\n 107: '+',\n 109: '-', // The 'NumpadSubtract' code\n 110: '.',\n 111: '/',\n 112: 'F1',\n 113: 'F2',\n 114: 'F3',\n 115: 'F4',\n 116: 'F5',\n 117: 'F6',\n 118: 'F7',\n 119: 'F8',\n 120: 'F9',\n 121: 'F10',\n 122: 'F11',\n 123: 'F12',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 173: '-', // The 'Minus' sign on Firefox. This is only needed when using the Selenium bot though.\n 182: 'MyComputer',\n 183: 'MyCalculator',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-', // The 'Minus' sign on all other browsers\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\'',\n 224: 'Meta',\n 225: 'AltGraph',\n};\nObject.freeze(AutoNumericEnum.fromCharCodeKeyCode);\nObject.defineProperty(AutoNumericEnum, 'fromCharCodeKeyCode', { configurable: false, writable: false });\n\n/**\n * Wrapper variable that hold named keyboard keys with their respective key name (as set in KeyboardEvent.key).\n * Those names are listed here :\n * @link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\n */\nAutoNumericEnum.keyName = {\n // Special values\n Unidentified : 'Unidentified',\n AndroidDefault: 'AndroidDefault',\n\n // Modifier keys\n Alt : 'Alt',\n AltGr : 'AltGraph',\n CapsLock : 'CapsLock', // Under Chrome, e.key is empty for CapsLock\n Ctrl : 'Control',\n Fn : 'Fn',\n FnLock : 'FnLock',\n Hyper : 'Hyper', // 'OS' under Firefox\n Meta : 'Meta',\n OSLeft : 'OS',\n OSRight : 'OS',\n Command : 'OS',\n NumLock : 'NumLock',\n ScrollLock: 'ScrollLock',\n Shift : 'Shift',\n Super : 'Super', // 'OS' under Firefox\n Symbol : 'Symbol',\n SymbolLock: 'SymbolLock',\n\n // Whitespace keys\n Enter: 'Enter',\n Tab : 'Tab',\n Space: ' ', // 'Spacebar' for Firefox <37, and IE9\n\n // Navigation keys\n LeftArrow : 'ArrowLeft', // 'Left' for Firefox <=36, and IE9\n UpArrow : 'ArrowUp', // 'Up' for Firefox <=36, and IE9\n RightArrow: 'ArrowRight', // 'Right' for Firefox <=36, and IE9\n DownArrow : 'ArrowDown', // 'Down' for Firefox <=36, and IE9\n End : 'End',\n Home : 'Home',\n PageUp : 'PageUp',\n PageDown : 'PageDown',\n\n // Editing keys\n Backspace: 'Backspace',\n Clear : 'Clear',\n Copy : 'Copy',\n CrSel : 'CrSel', // 'Crsel' for Firefox <=36, and IE9\n Cut : 'Cut',\n Delete : 'Delete', // 'Del' for Firefox <=36, and IE9\n EraseEof : 'EraseEof',\n ExSel : 'ExSel', // 'Exsel' for Firefox <=36, and IE9\n Insert : 'Insert',\n Paste : 'Paste',\n Redo : 'Redo',\n Undo : 'Undo',\n\n // UI keys\n Accept : 'Accept',\n Again : 'Again',\n Attn : 'Attn', // 'Unidentified' for Firefox, Chrome, and IE9 ('KanaMode' when using the Japanese keyboard layout)\n Cancel : 'Cancel',\n ContextMenu: 'ContextMenu', // 'Apps' for Firefox <=36, and IE9\n Esc : 'Escape', // 'Esc' for Firefox <=36, and IE9\n Execute : 'Execute',\n Find : 'Find',\n Finish : 'Finish', // 'Unidentified' for Firefox, Chrome, and IE9 ('Katakana' when using the Japanese keyboard layout)\n Help : 'Help',\n Pause : 'Pause',\n Play : 'Play',\n Props : 'Props',\n Select : 'Select',\n ZoomIn : 'ZoomIn',\n ZoomOut : 'ZoomOut',\n\n // Device keys\n BrightnessDown: 'BrightnessDown',\n BrightnessUp : 'BrightnessUp',\n Eject : 'Eject',\n LogOff : 'LogOff',\n Power : 'Power',\n PowerOff : 'PowerOff',\n PrintScreen : 'PrintScreen',\n Hibernate : 'Hibernate', // 'Unidentified' for Firefox <=37\n Standby : 'Standby', // 'Unidentified' for Firefox <=36, and IE9\n WakeUp : 'WakeUp',\n\n // IME and composition keys\n Compose: 'Compose',\n Dead : 'Dead',\n\n // Function keys\n F1 : 'F1',\n F2 : 'F2',\n F3 : 'F3',\n F4 : 'F4',\n F5 : 'F5',\n F6 : 'F6',\n F7 : 'F7',\n F8 : 'F8',\n F9 : 'F9',\n F10: 'F10',\n F11: 'F11',\n F12: 'F12',\n\n // Document keys\n Print: 'Print',\n\n // 'Normal' keys\n num0 : '0',\n num1 : '1',\n num2 : '2',\n num3 : '3',\n num4 : '4',\n num5 : '5',\n num6 : '6',\n num7 : '7',\n num8 : '8',\n num9 : '9',\n a : 'a',\n b : 'b',\n c : 'c',\n d : 'd',\n e : 'e',\n f : 'f',\n g : 'g',\n h : 'h',\n i : 'i',\n j : 'j',\n k : 'k',\n l : 'l',\n m : 'm',\n n : 'n',\n o : 'o',\n p : 'p',\n q : 'q',\n r : 'r',\n s : 's',\n t : 't',\n u : 'u',\n v : 'v',\n w : 'w',\n x : 'x',\n y : 'y',\n z : 'z',\n A : 'A',\n B : 'B',\n C : 'C',\n D : 'D',\n E : 'E',\n F : 'F',\n G : 'G',\n H : 'H',\n I : 'I',\n J : 'J',\n K : 'K',\n L : 'L',\n M : 'M',\n N : 'N',\n O : 'O',\n P : 'P',\n Q : 'Q',\n R : 'R',\n S : 'S',\n T : 'T',\n U : 'U',\n V : 'V',\n W : 'W',\n X : 'X',\n Y : 'Y',\n Z : 'Z',\n Semicolon : ';',\n Equal : '=',\n Comma : ',',\n Hyphen : '-',\n Minus : '-',\n Plus : '+',\n Dot : '.',\n Slash : '/',\n Backquote : '`',\n LeftParenthesis : '(',\n RightParenthesis: ')',\n LeftBracket : '[',\n RightBracket : ']',\n Backslash : '\\\\',\n Quote : '\\'',\n\n // Numeric keypad keys\n numpad0 : '0',\n numpad1 : '1',\n numpad2 : '2',\n numpad3 : '3',\n numpad4 : '4',\n numpad5 : '5',\n numpad6 : '6',\n numpad7 : '7',\n numpad8 : '8',\n numpad9 : '9',\n NumpadDot : '.',\n NumpadDotAlt : ',', // Modern browsers automatically adapt the character sent by this key to the decimal character of the current language\n NumpadMultiply : '*',\n NumpadPlus : '+',\n NumpadMinus : '-',\n NumpadSubtract : '-',\n NumpadSlash : '/',\n NumpadDotObsoleteBrowsers : 'Decimal',\n NumpadMultiplyObsoleteBrowsers: 'Multiply',\n NumpadPlusObsoleteBrowsers : 'Add',\n NumpadMinusObsoleteBrowsers : 'Subtract',\n NumpadSlashObsoleteBrowsers : 'Divide',\n\n // Special arrays for quicker tests\n _allFnKeys : ['F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12'],\n _someNonPrintableKeys: ['Tab', 'Enter', 'Shift', 'ShiftLeft', 'ShiftRight', 'Control', 'ControlLeft', 'ControlRight', 'Alt', 'AltLeft', 'AltRight', 'Pause', 'CapsLock', 'Escape'],\n _directionKeys : ['PageUp', 'PageDown', 'End', 'Home', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'],\n};\nObject.freeze(AutoNumericEnum.keyName._allFnKeys);\nObject.freeze(AutoNumericEnum.keyName._someNonPrintableKeys);\nObject.freeze(AutoNumericEnum.keyName._directionKeys);\nObject.freeze(AutoNumericEnum.keyName);\nObject.defineProperty(AutoNumericEnum, 'keyName', { configurable: false, writable: false });\n\nObject.freeze(AutoNumericEnum);\n\nexport default AutoNumericEnum;\n","/**\n * Helper functions for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumericEnum from './AutoNumericEnum';\n\n/**\n * Static class that holds all the helper functions autoNumeric uses.\n * Note : none of the functions in there are aware of any autoNumeric internals (which means there are no references to autoNumeric-specific info like options names or data structures).\n */\nexport default class AutoNumericHelper {\n /**\n * Return `true` if the `value` is null\n *\n * @static\n * @param {*} value The value to test\n * @returns {boolean} Return `true` if the `value` is null, FALSE otherwise\n */\n static isNull(value) {\n return value === null;\n }\n\n /**\n * Return `true` if the `value` is undefined\n *\n * @static\n * @param {*} value The value to test\n * @returns {boolean} Return `true` if the `value` is undefined, FALSE otherwise\n */\n static isUndefined(value) {\n return value === void(0);\n }\n\n /**\n * Return `true` if the `value` is undefined, null or empty\n *\n * @param {*} value\n * @returns {boolean}\n */\n static isUndefinedOrNullOrEmpty(value) {\n return value === null || value === void(0) || '' === value;\n }\n\n /**\n * Return `true` if the given parameter is a String\n *\n * @param {*} str\n * @returns {boolean}\n */\n static isString(str) {\n return (typeof str === 'string' || str instanceof String);\n }\n /**\n * Return `true` if the `value` is an empty string ''\n *\n * @static\n * @param {*} value The value to test\n * @returns {boolean} Return `true` if the `value` is an empty string '', FALSE otherwise\n */\n static isEmptyString(value) {\n return value === '';\n }\n\n /**\n * Return `true` if the parameter is a boolean\n *\n * @static\n * @param {*} value\n * @returns {boolean}\n */\n static isBoolean(value) {\n return typeof(value) === 'boolean';\n }\n\n /**\n * Return `true` if the parameter is a string 'true' or 'false'\n *\n * This function accepts any cases for those strings.\n * @param {string} value\n * @returns {boolean}\n */\n static isTrueOrFalseString(value) {\n const lowercaseValue = String(value).toLowerCase();\n return lowercaseValue === 'true' || lowercaseValue === 'false';\n }\n\n /**\n * Return `true` if the parameter is an object\n *\n * @param {*} reference\n * @returns {boolean}\n */\n static isObject(reference) {\n return typeof reference === 'object' && reference !== null && !Array.isArray(reference);\n }\n\n /**\n * Return `true` if the given object is empty\n * cf. http://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object and http://jsperf.com/empty-object-test\n *\n * @param {object} obj\n * @returns {boolean}\n */\n static isEmptyObj(obj) {\n for (const prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Return `true` if the parameter is a real number (and not a numeric string).\n *\n * @param {*} n\n * @returns {boolean}\n */\n static isNumberStrict(n) {\n return typeof n === 'number';\n }\n\n /**\n * Return `true` if the parameter is a number (or a number written as a string).\n *\n * @param {*} n\n * @returns {boolean}\n */\n static isNumber(n) {\n return !this.isArray(n) && !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n /**\n * Return `true` if the given character is a number (0 to 9)\n *\n * @param {char} char\n * @returns {boolean}\n */\n static isDigit(char) {\n return /\\d/.test(char);\n }\n\n /**\n * Return `true` if the parameter is a number (or a number written as a string).\n * This version also accepts Arabic and Persian numbers.\n *\n * @param {*} n\n * @returns {boolean}\n */\n static isNumberOrArabic(n) {\n const latinConvertedNumber = this.arabicToLatinNumbers(n, false, true, true);\n return this.isNumber(latinConvertedNumber);\n }\n\n /**\n * Return `true` if the parameter is an integer (and not a float).\n *\n * @param {*} n\n * @returns {boolean}\n */\n static isInt(n) {\n return typeof n === 'number' && parseFloat(n) === parseInt(n, 10) && !isNaN(n);\n }\n\n /**\n * Return `true` if the parameter is a function.\n *\n * @param {function} func\n * @returns {boolean}\n */\n static isFunction(func) {\n return typeof func === 'function';\n }\n\n /**\n * Return `true` if the current browser is the obsolete Internet Explorer 11 (IE11) one\n * cf. https://stackoverflow.com/a/21825207/2834898\n *\n * @returns {boolean}\n */\n static isIE11() {\n // noinspection JSUnresolvedVariable\n return typeof window !== 'undefined' && !!window.MSInputMethodContext && !!document.documentMode;\n }\n\n /**\n * Return `true` is the string `str` contains the string `needle`\n * Note: this function does not coerce the parameters types\n *\n * @param {string} str\n * @param {string} needle\n * @returns {boolean}\n */\n static contains(str, needle) {\n //TODO Use `Array.prototype.includes()` when available (cf. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)\n if (!this.isString(str) || !this.isString(needle) || str === '' || needle === '') {\n return false;\n }\n\n return str.indexOf(needle) !== -1;\n }\n\n /**\n * Return `true` if the `needle` is in the array\n *\n * @param {*} needle\n * @param {Array} array\n * @returns {boolean}\n */\n static isInArray(needle, array) {\n if (!this.isArray(array) || array === [] || this.isUndefined(needle)) {\n return false;\n }\n\n return array.indexOf(needle) !== -1;\n }\n\n /**\n * Return `true` if the parameter is an Array\n * //TODO Replace this by the default `Array.isArray()` function?\n *\n * @param {*} arr\n * @throws Error\n * @returns {*|boolean}\n */\n static isArray(arr) {\n if (Object.prototype.toString.call([]) === '[object Array]') { // Make sure an array has a class attribute of [object Array]\n // Test passed, now check if is an Array\n return Array.isArray(arr) || (typeof arr === 'object' && Object.prototype.toString.call(arr) === '[object Array]');\n }\n else {\n throw new Error('toString message changed for Object Array'); // Verify that the string returned by `toString` does not change in the future (cf. http://stackoverflow.com/a/8365215)\n }\n }\n\n /**\n * Return `true` if the parameter is a DOM element\n * cf. http://stackoverflow.com/a/4754104/2834898\n *\n * @param {*} obj\n * @returns {boolean}\n */\n static isElement(obj) {\n // return !!(obj && obj.nodeName);\n // return obj && 'nodeType' in obj;\n // return obj instanceof Element || obj instanceof HTMLInputElement || obj instanceof HTMLElement;\n if (typeof Element === 'undefined') {\n // This test is needed in environnements where the Element object does not exist (ie. in web workers)\n return false;\n }\n\n return obj instanceof Element;\n }\n\n /**\n * Return `true` in the given DOM element is an .\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @returns {boolean}\n * @private\n */\n static isInputElement(domElement) {\n return this.isElement(domElement) && domElement.tagName.toLowerCase() === 'input';\n }\n\n /**\n * Return `true` if the parameter is a string that represents a float number, and that number has a decimal part\n *\n * @param {string} str\n * @returns {boolean}\n */\n // static hasDecimals(str) {\n // const [, decimalPart] = str.split('.');\n // return !isUndefined(decimalPart);\n // }\n\n /**\n * Return the number of decimal places if the parameter is a string that represents a float number, and that number has a decimal part.\n *\n * @param {string} str\n * @returns {int}\n */\n static decimalPlaces(str) {\n const [, decimalPart] = str.split('.');\n if (!this.isUndefined(decimalPart)) {\n return decimalPart.length;\n }\n\n return 0;\n }\n\n /**\n * Return the index of the first non-zero decimal place in the given value.\n * The index starts after the decimal point, if any, and begins at '1'.\n * If no decimal places are found in the value, this function returns `0`.\n *\n * @example\n * indexFirstNonZeroDecimalPlace('0.00') -> 0\n * indexFirstNonZeroDecimalPlace('1.00') -> 0\n * indexFirstNonZeroDecimalPlace('0.12') -> 1\n * indexFirstNonZeroDecimalPlace('0.1234') -> 1\n * indexFirstNonZeroDecimalPlace('0.01234') -> 2\n * indexFirstNonZeroDecimalPlace('0.001234') -> 3\n * indexFirstNonZeroDecimalPlace('0.0001234') -> 4\n *\n * @param {number} value\n * @returns {Number|number}\n */\n static indexFirstNonZeroDecimalPlace(value) {\n const [, decimalPart] = String(Math.abs(value)).split('.');\n\n if (this.isUndefined(decimalPart)) {\n return 0;\n }\n\n let result = decimalPart.lastIndexOf('0');\n if (result === -1) {\n result = 0;\n } else {\n result += 2;\n }\n\n return result;\n }\n\n /**\n * Return the code for the key used to generate the given event.\n *\n * @param {Event} event\n * @returns {string|Number}\n */\n static keyCodeNumber(event) {\n // `event.keyCode` and `event.which` are deprecated, `KeyboardEvent.key` (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) must be used now\n // Also, do note that Firefox generate a 'keypress' event (e.keyCode === 0) for the keys that do not print a character (ie. 'Insert', 'Delete', 'Fn' keys, 'PageUp', 'PageDown' etc.). 'Shift' on the other hand does not generate a keypress event.\n return (typeof event.which === 'undefined')?event.keyCode:event.which;\n }\n\n /**\n * Return the character from the event key code.\n * If the KeyboardEvent does not represent a printable character, then the key name is used (ie. 'Meta', 'Shift', 'F1', etc.)\n * @example character(50) => '2'\n *\n * @param {KeyboardEvent} event\n * @returns {string}\n */\n static character(event) {\n let result;\n if (event.key === 'Unidentified' || event.key === void(0) || this.isSeleniumBot()) {\n //XXX The selenium geckodriver does not understand `event.key`, hence when using it, we need to rely on the old deprecated `keyCode` attribute, cf. upstream issue https://github.com/mozilla/geckodriver/issues/440\n // Use the old deprecated keyCode property, if the new `key` one is not supported\n const keyCode = this.keyCodeNumber(event);\n if (keyCode === AutoNumericEnum.keyCode.AndroidDefault) {\n return AutoNumericEnum.keyName.AndroidDefault;\n }\n\n const potentialResult = AutoNumericEnum.fromCharCodeKeyCode[keyCode];\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(potentialResult)) {\n // Since `String.fromCharCode` do not return named keys for some keys ('Escape' and 'Enter' for instance), we convert the characters to the key names\n result = potentialResult;\n } else {\n result = String.fromCharCode(keyCode);\n }\n } else {\n let browser;\n switch (event.key) {\n // Manages all the special cases for obsolete browsers that return the non-standard names\n case 'Add':\n result = AutoNumericEnum.keyName.NumpadPlus;\n break;\n case 'Apps':\n result = AutoNumericEnum.keyName.ContextMenu;\n break;\n case 'Crsel':\n result = AutoNumericEnum.keyName.CrSel;\n break;\n case 'Decimal':\n if (event.char) {\n // this fixes #602\n result = event.char;\n } else {\n result = AutoNumericEnum.keyName.NumpadDot;\n }\n break;\n case 'Del':\n browser = this.browser();\n if ((browser.name === 'firefox' && browser.version <= 36) ||\n (browser.name === 'ie' && browser.version <= 9)) {\n // Special workaround for the obsolete browser IE11 which output a 'Delete' key when using the numpad 'dot' one! This fixes issue #401\n // This workaround break the usage of the 'Delete' key for Firefox <=36, and IE9, since those browser send 'Del' instead of 'Delete', therefore we only use it for those obsolete browsers\n result = AutoNumericEnum.keyName.Dot;\n } else {\n result = AutoNumericEnum.keyName.Delete;\n }\n break;\n case 'Divide':\n result = AutoNumericEnum.keyName.NumpadSlash;\n break;\n case 'Down':\n result = AutoNumericEnum.keyName.DownArrow;\n break;\n case 'Esc':\n result = AutoNumericEnum.keyName.Esc;\n break;\n case 'Exsel':\n result = AutoNumericEnum.keyName.ExSel;\n break;\n case 'Left':\n result = AutoNumericEnum.keyName.LeftArrow;\n break;\n case 'Meta':\n case 'Super':\n result = AutoNumericEnum.keyName.OSLeft;\n break;\n case 'Multiply':\n result = AutoNumericEnum.keyName.NumpadMultiply;\n break;\n case 'Right':\n result = AutoNumericEnum.keyName.RightArrow;\n break;\n case 'Spacebar':\n result = AutoNumericEnum.keyName.Space;\n break;\n case 'Subtract':\n result = AutoNumericEnum.keyName.NumpadMinus;\n break;\n case 'Up':\n result = AutoNumericEnum.keyName.UpArrow;\n break;\n default:\n // The normal case\n result = event.key;\n }\n }\n\n return result;\n }\n\n /**\n * Return an object containing the name and version of the current browser.\n * @example `browserVersion()` => { name: 'Firefox', version: '42' }\n * Based on http://stackoverflow.com/a/38080051/2834898\n *\n * @returns {{ name: string, version: string }}\n */\n static browser() {\n const ua = navigator.userAgent;\n let tem;\n let M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n\n if (/trident/i.test(M[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return { name: 'ie', version: (tem[1] || '') };\n }\n\n if (M[1] === 'Chrome') {\n tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if (tem !== null) {\n return { name: tem[1].replace('OPR', 'opera'), version: tem[2] };\n }\n }\n\n M = M[2]?[M[1], M[2]]:[navigator.appName, navigator.appVersion, '-?'];\n if ((tem = ua.match(/version\\/(\\d+)/i)) !== null) {\n M.splice(1, 1, tem[1]);\n }\n\n return { name: M[0].toLowerCase(), version: M[1] };\n }\n\n /**\n * Check if the browser is controlled by Selenium.\n * Note: This only works within the geckodriver.\n * cf. http://stackoverflow.com/questions/33225947/can-a-website-detect-when-you-are-using-selenium-with-chromedriver\n *\n * @returns {boolean}\n */\n static isSeleniumBot() {\n // noinspection JSUnresolvedVariable\n return window.navigator.webdriver === true;\n }\n\n /**\n * Return `true` if the given number is negative, or if the given string contains a negative sign :\n * - everywhere in the string (by default), or\n * - on the first character only if the `checkEverywhere` parameter is set to `false`.\n *\n * Note: `-0` is not a negative number since it's equal to `0`.\n *\n * @param {number|string} numberOrNumericString A Number, or a number represented by a string\n * @param {string} negativeSignCharacter The single character that represent the negative sign\n * @param {boolean} checkEverywhere If TRUE, then the negative sign is search everywhere in the numeric string (this is needed for instance if the string is '1234.56-')\n * @returns {boolean}\n */\n static isNegative(numberOrNumericString, negativeSignCharacter = '-', checkEverywhere = true) {\n if (numberOrNumericString === negativeSignCharacter) {\n return true;\n }\n\n if (numberOrNumericString === '') {\n return false;\n }\n\n if (AutoNumericHelper.isNumber(numberOrNumericString)) {\n return numberOrNumericString < 0;\n }\n\n if (checkEverywhere) {\n return this.contains(numberOrNumericString, negativeSignCharacter);\n }\n\n return this.isNegativeStrict(numberOrNumericString, negativeSignCharacter);\n }\n\n /**\n * Return `true` if the given string contains a negative sign on the first character (on the far left).\n *\n * @example isNegativeStrict('1234.56') => false\n * @example isNegativeStrict('1234.56-') => false\n * @example isNegativeStrict('-1234.56') => true\n * @example isNegativeStrict('-1,234.56 €') => true\n *\n * @param {string} numericString\n * @param {string} negativeSignCharacter The single character that represent the negative sign\n * @returns {boolean}\n */\n static isNegativeStrict(numericString, negativeSignCharacter = '-') {\n return numericString.charAt(0) === negativeSignCharacter;\n }\n\n /**\n * Return `true` if the very first character is the opening bracket, and if the rest of the `valueString` also has the closing bracket.\n *\n * @param {string} valueString\n * @param {string} leftBracket\n * @param {string} rightBracket\n * @returns {boolean}\n */\n static isNegativeWithBrackets(valueString, leftBracket, rightBracket) {\n return valueString.charAt(0) === leftBracket && this.contains(valueString, rightBracket);\n }\n\n /**\n * Return `true` if the formatted or unformatted numeric string represent the value 0 (ie. '0,00 €'), or is empty (' €').\n * This works since we test if there are any numbers from 1 to 9 in the string. If there is none, then the number is zero (or the string is empty).\n *\n * @param {string} numericString\n * @returns {boolean}\n */\n static isZeroOrHasNoValue(numericString) {\n return !(/[1-9]/g).test(numericString);\n }\n\n /**\n * Return the negative version of the value (represented as a string) given as a parameter.\n * The numeric string is a valid Javascript number when typecast to a `Number`.\n *\n * @param {string} value\n * @returns {*}\n */\n static setRawNegativeSign(value) {\n if (!this.isNegativeStrict(value, '-')) {\n return `-${value}`;\n }\n\n return value;\n }\n\n /**\n * Replace the character at the position `index` in the string `string` by the character(s) `newCharacter`.\n *\n * @param {string} string\n * @param {int} index\n * @param {string} newCharacter\n * @returns {string}\n */\n static replaceCharAt(string, index, newCharacter) {\n return `${string.substr(0, index)}${newCharacter}${string.substr(index + newCharacter.length)}`;\n }\n\n /**\n * Return the value clamped to the nearest minimum/maximum value, as defined in the settings.\n *\n * @param {string|number} value\n * @param {object} settings\n * @returns {number}\n */\n static clampToRangeLimits(value, settings) {\n //XXX This function always assume `settings.minimumValue` is lower than `settings.maximumValue`\n return Math.max(settings.minimumValue, Math.min(settings.maximumValue, value));\n }\n\n /**\n * Return the number of number or dot characters on the left side of the caret, in a formatted number.\n *\n * @param {string} formattedNumberString\n * @param {int} caretPosition This must be a positive integer\n * @param {string} decimalCharacter\n * @returns {number}\n */\n static countNumberCharactersOnTheCaretLeftSide(formattedNumberString, caretPosition, decimalCharacter) {\n // Here we count the dot and report it as a number character too, since it will 'stay' in the Javascript number when unformatted\n const numberDotOrNegativeSign = new RegExp(`[0-9${decimalCharacter}-]`); // No need to escape the decimal character here, since it's in `[]`\n\n let numberDotAndNegativeSignCount = 0;\n for (let i = 0; i < caretPosition; i++) {\n // Test if the character is a number, a dot or an hyphen. If it is, count it, otherwise ignore it\n if (numberDotOrNegativeSign.test(formattedNumberString[i])) {\n numberDotAndNegativeSignCount++;\n }\n }\n\n return numberDotAndNegativeSignCount;\n }\n\n /**\n * Walk the `formattedNumberString` from left to right, one char by one, counting the `formattedNumberStringIndex`.\n * If the char is in the `rawNumberString` (starting at index 0), then `rawNumberStringIndex++`, and continue until\n * there is no more characters in `rawNumberString`) or that `rawNumberStringIndex === caretPositionInRawValue`.\n * When you stop, the `formattedNumberStringIndex` is the position where the caret should be set.\n *\n * @example\n * 1234567|89.01 : position 7 (rawNumberString)\n * 123.456.7|89,01 : position 9 (formattedNumberString)\n *\n * @param {string} rawNumberString\n * @param {int} caretPositionInRawValue\n * @param {string} formattedNumberString\n * @param {string} decimalCharacter\n * @returns {*}\n */\n static findCaretPositionInFormattedNumber(rawNumberString, caretPositionInRawValue, formattedNumberString, decimalCharacter) {\n const formattedNumberStringSize = formattedNumberString.length;\n const rawNumberStringSize = rawNumberString.length;\n\n let formattedNumberStringIndex;\n let rawNumberStringIndex = 0;\n for (formattedNumberStringIndex = 0;\n formattedNumberStringIndex < formattedNumberStringSize &&\n rawNumberStringIndex < rawNumberStringSize &&\n rawNumberStringIndex < caretPositionInRawValue;\n formattedNumberStringIndex++) {\n if (rawNumberString[rawNumberStringIndex] === formattedNumberString[formattedNumberStringIndex] ||\n (rawNumberString[rawNumberStringIndex] === '.' && formattedNumberString[formattedNumberStringIndex] === decimalCharacter)) {\n rawNumberStringIndex++;\n }\n }\n\n return formattedNumberStringIndex;\n }\n\n /**\n * Count the number of occurrence of the given character, in the given text.\n *\n * @param {string} character\n * @param {string} text\n * @returns {number}\n */\n static countCharInText(character, text) {\n let charCounter = 0;\n for (let i = 0; i < text.length; i++) {\n if (text[i] === character) {\n charCounter++;\n }\n }\n\n return charCounter;\n }\n\n /**\n * Return the index that can be used to set the caret position.\n * This takes into account that the position is starting at '0', not 1.\n *\n * @param {int} characterCount\n * @returns {number}\n */\n static convertCharacterCountToIndexPosition(characterCount) {\n return Math.max(characterCount, characterCount - 1);\n }\n\n /**\n * Cross browser routine for getting selected range/cursor position.\n * Note: this also works with edge cases like contenteditable-enabled elements, and hidden inputs.\n *\n * @param {HTMLInputElement|EventTarget} element\n * @returns {{}}\n */\n static getElementSelection(element) {\n const position = {};\n\n let isSelectionStartUndefined;\n try {\n isSelectionStartUndefined = this.isUndefined(element.selectionStart);\n } catch (error) {\n isSelectionStartUndefined = false;\n }\n\n try {\n if (isSelectionStartUndefined) {\n const selection = window.getSelection();\n const selectionInfo = selection.getRangeAt(0);\n position.start = selectionInfo.startOffset;\n position.end = selectionInfo.endOffset;\n position.length = position.end - position.start;\n } else {\n position.start = element.selectionStart;\n position.end = element.selectionEnd;\n position.length = position.end - position.start;\n }\n } catch (error) {\n // Manages the cases where :\n // - the 'contenteditable' elements that have no selections\n // - the element is of type 'hidden'\n position.start = 0;\n position.end = 0;\n position.length = 0;\n }\n\n return position;\n }\n\n /**\n * Cross browser routine for setting selected range/cursor position\n *\n * @param {HTMLInputElement|EventTarget} element\n * @param {int} start\n * @param {int|null} end\n */\n static setElementSelection(element, start, end = null) {\n if (this.isUndefinedOrNullOrEmpty(end)) {\n end = start;\n }\n\n if (this.isInputElement(element)) {\n element.setSelectionRange(start, end);\n } else if (!AutoNumericHelper.isNull(element.firstChild)) {\n const range = document.createRange();\n range.setStart(element.firstChild, start);\n range.setEnd(element.firstChild, end);\n const selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /**\n * Function that throw error messages\n *\n * @param {string} message\n * @throws\n */\n static throwError(message) {\n throw new Error(message);\n }\n\n /**\n * Function that display a warning messages, according to the debug level.\n *\n * @param {string} message\n * @param {boolean} showWarning If FALSE, then the warning message is not displayed\n */\n static warning(message, showWarning = true) {\n if (showWarning) {\n /* eslint no-console: 0 */\n console.warn(`Warning: ${message}`);\n }\n }\n\n /**\n * Return `true` if the given event is an instance of WheelEvent\n *\n * @static\n * @param {event} event The event to test\n * @returns {boolean} Return `true` if the event is an instance of WheelEvent, FALSE otherwise\n */\n static isWheelEvent(event) {\n return event instanceof WheelEvent;\n }\n\n /**\n * Return `true` if the given event is a wheelup event\n *\n * @param {WheelEvent} wheelEvent\n * @returns {boolean}\n */\n static isWheelUpEvent(wheelEvent) {\n if (!this.isWheelEvent(wheelEvent) || this.isUndefinedOrNullOrEmpty(wheelEvent.deltaY)) {\n this.throwError(`The event passed as a parameter is not a valid wheel event, '${wheelEvent.type}' given.`);\n }\n\n return wheelEvent.deltaY < 0;\n }\n\n /**\n * Return `true` if the given event is a wheeldown event\n *\n * @param {WheelEvent} wheelEvent\n * @returns {boolean}\n */\n static isWheelDownEvent(wheelEvent) {\n if (!this.isWheelEvent(wheelEvent) || this.isUndefinedOrNullOrEmpty(wheelEvent.deltaY)) {\n this.throwError(`The event passed as a parameter is not a valid wheel event, '${wheelEvent.type}' given.`);\n }\n\n return wheelEvent.deltaY > 0;\n }\n\n /**\n * Return the given raw value truncated at the given number of decimal places `decimalPlaces`.\n * This function does not round the value.\n *\n * @example\n * forceDecimalPlaces(123.45678, 0) -> '123.45678'\n * forceDecimalPlaces(123.45678, 1) -> '123.4'\n * forceDecimalPlaces(123.45678, 2) -> '123.45'\n * forceDecimalPlaces(123.45678, 3) -> '123.456'\n *\n * @param {number} value\n * @param {int} decimalPlaces\n * @returns {number|string}\n */\n static forceDecimalPlaces(value, decimalPlaces) {\n // We could make sure `decimalPlaces` is an integer and positive, but we'll leave that to the dev calling this function.\n const [integerPart, decimalPart] = String(value).split('.');\n if (!decimalPart) {\n return value;\n }\n\n return `${integerPart}.${decimalPart.substr(0, decimalPlaces)}`;\n }\n\n /**\n * Return the 'nearest rounded' value, according to the given step size.\n * @example roundToNearest(264789, 10000)) => 260000\n *\n * @param {number} value\n * @param {number} stepPlace\n * @returns {*}\n */\n static roundToNearest(value, stepPlace = 1000) {\n if (0 === value) {\n return 0;\n }\n\n if (stepPlace === 0) {\n this.throwError('The `stepPlace` used to round is equal to `0`. This value must not be equal to zero.');\n }\n\n return Math.round(value / stepPlace) * stepPlace;\n }\n\n /**\n * Return the 'nearest rounded' value by automatically adding or subtracting the calculated offset to the initial value.\n * This is done without having to pass a step to this function, and based on the size of the given `value`.\n *\n * @example Calculated offset\n * 1 -> 1 (1)\n * 14 -> 10 (10)\n * 143 -> 140 (10)\n * 1.278 -> 1.300 (100)\n * 28.456 -> 28.500 (100)\n * 276.345 -> 276.000 (1.000)\n * 4.534.061 -> 4.530.000 (10.000)\n * 66.723.844 -> 66.700.000 (100.000)\n * 257.833.411 -> 258.000.000 (1.000.000)\n *\n * Initial Added Offset\n * 2 decimalPlacesRawValue : 1.12 -> 2.00 (1)\n * 3 decimalPlacesRawValue : 1.123 -> 2.000 (1)\n *\n * Special case when the `value` to round is between -1 and 1, excluded :\n * @example\n * Number of Initial Result Calculated\n * decimal places value (add) offset\n * 2 decimalPlacesRawValue : 0.12 -> 0.13 (0.01) : Math.pow(10, -2)\n * 2 decimalPlacesRawValue : 0.01 -> 0.02 (0.01)\n * 2 decimalPlacesRawValue : 0.00 -> 0.01 (0.01)\n *\n * 3 decimalPlacesRawValue : 0.123 -> 0.133 (0.01) : Math.pow(10, -2)\n * 3 decimalPlacesRawValue : 0.012 -> 0.013 (0.001) : Math.pow(10, -3)\n * 3 decimalPlacesRawValue : 0.001 -> 0.001 (0.001)\n * 3 decimalPlacesRawValue : 0.000 -> 0.001 (0.001)\n *\n * 4 decimalPlacesRawValue : 0.4123 -> 0.4200 (0.01) : Math.pow(10, -2)\n * 4 decimalPlacesRawValue : 0.0412 -> 0.0420 (0.001) : Math.pow(10, -3)\n * 4 decimalPlacesRawValue : 0.0041 -> 0.0042 (0.0001) : Math.pow(10, -4)\n * 4 decimalPlacesRawValue : 0.0004 -> 0.0005 (0.0001)\n * 4 decimalPlacesRawValue : 0.0000 -> 0.0001 (0.0001)\n *\n * @param {number} value\n * @param {boolean} isAddition\n * @param {int} decimalPlacesRawValue The precision needed by the `rawValue`\n * @returns {*}\n */\n static modifyAndRoundToNearestAuto(value, isAddition, decimalPlacesRawValue) {\n value = Number(this.forceDecimalPlaces(value, decimalPlacesRawValue)); // Make sure that '0.13000000001' is converted to the number of rawValue decimal places '0.13'\n\n const absValue = Math.abs(value);\n if (absValue >= 0 && absValue < 1) {\n const rawValueMinimumOffset = Math.pow(10, -decimalPlacesRawValue);\n if (value === 0) {\n // 4 decimalPlacesRawValue : 0.0000 -> 0.0001 (0.0001)\n return (isAddition)?rawValueMinimumOffset:-rawValueMinimumOffset;\n }\n\n let offset;\n const minimumOffsetFirstDecimalPlaceIndex = decimalPlacesRawValue;\n // Find where is the first non-zero decimal places\n const indexFirstNonZeroDecimalPlace = this.indexFirstNonZeroDecimalPlace(value);\n if (indexFirstNonZeroDecimalPlace >= minimumOffsetFirstDecimalPlaceIndex - 1) {\n /* 4 decimalPlacesRawValue : 0.0041 -> 0.0042 (0.0001) : Math.pow(10, -4)\n * 4 decimalPlacesRawValue : 0.0004 -> 0.0005 (0.0001)\n */\n offset = rawValueMinimumOffset;\n } else {\n offset = Math.pow(10, -(indexFirstNonZeroDecimalPlace + 1));\n }\n\n let result;\n if (isAddition) {\n result = value + offset;\n } else {\n result = value - offset;\n }\n\n return this.roundToNearest(result, offset);\n } else {\n // For values >= 1\n value = parseInt(value, 10);\n const lengthValue = Math.abs(value).toString().length; // `Math.abs()` is needed here to omit the negative sign '-' in case of a negative value\n\n let pow;\n switch (lengthValue) {\n // Special cases for small numbers\n case 1:\n pow = 0;\n break;\n case 2:\n case 3:\n pow = 1;\n break;\n case 4:\n case 5:\n pow = 2;\n break;\n // Default behavior\n default:\n pow = lengthValue - 3;\n }\n const offset = Math.pow(10, pow);\n\n let result;\n if (isAddition) {\n result = value + offset;\n } else {\n result = value - offset;\n }\n\n if (result <= 10 && result >= -10) {\n return result;\n }\n\n return this.roundToNearest(result, offset);\n }\n }\n\n /**\n * Return the 'nearest rounded' value automatically by adding the calculated offset to the initial value.\n * This will limit the result to the given number of decimal places `decimalPlacesLimit`.\n *\n * @param {number} value\n * @param {int} decimalPlacesLimit\n * @returns {*}\n */\n static addAndRoundToNearestAuto(value, decimalPlacesLimit) {\n return this.modifyAndRoundToNearestAuto(value, true, decimalPlacesLimit);\n }\n\n /**\n * Return the 'nearest rounded' value automatically by subtracting the calculated offset to the initial value.\n * This will limit the result to the given number of decimal places `decimalPlacesLimit`.\n *\n * @param {number} value\n * @param {int} decimalPlacesLimit\n * @returns {*}\n */\n static subtractAndRoundToNearestAuto(value, decimalPlacesLimit) {\n return this.modifyAndRoundToNearestAuto(value, false, decimalPlacesLimit);\n }\n\n /**\n * Take an arabic number as a string and return a javascript number.\n * By default, this function does not try to convert the arabic decimal and thousand separator characters.\n * This returns `NaN` is the conversion is not possible.\n * Based on http://stackoverflow.com/a/17025392/2834898\n *\n * @param {string} arabicNumbers\n * @param {boolean} returnANumber If `true`, return a Number, otherwise return a String\n * @param {boolean} parseDecimalCharacter\n * @param {boolean} parseThousandSeparator\n * @returns {string|number|NaN}\n */\n static arabicToLatinNumbers(arabicNumbers, returnANumber = true, parseDecimalCharacter = false, parseThousandSeparator = false) {\n if (this.isNull(arabicNumbers)) {\n return arabicNumbers;\n }\n\n let result = arabicNumbers.toString();\n if (result === '') {\n return arabicNumbers;\n }\n\n if (result.match(/[٠١٢٣٤٥٦٧٨٩۴۵۶]/g) === null) {\n // If no Arabic/Persian numbers are found, return the numeric string or number directly\n if (returnANumber) {\n result = Number(result);\n }\n\n return result;\n }\n\n if (parseDecimalCharacter) {\n result = result.replace(/٫/, '.'); // Decimal character\n }\n\n if (parseThousandSeparator) {\n result = result.replace(/٬/g, ''); // Thousand separator\n }\n\n // Replace the numbers only\n result = result.replace(/[٠١٢٣٤٥٦٧٨٩]/g, d => d.charCodeAt(0) - 1632) // Arabic numbers\n .replace(/[۰۱۲۳۴۵۶۷۸۹]/g, d => d.charCodeAt(0) - 1776); // Persian numbers\n\n // `NaN` has precedence over the string `'NaN'`\n const resultAsNumber = Number(result);\n if (isNaN(resultAsNumber)) {\n return resultAsNumber;\n }\n\n if (returnANumber) {\n result = resultAsNumber;\n }\n\n return result;\n }\n\n /**\n * Create a custom event and immediately sent it from the given element.\n * By default, if no element is given, the event is thrown from `document`.\n *\n * @param {string} eventName\n * @param {HTMLElement|HTMLDocument|EventTarget} element\n * @param {object} detail\n * @param {boolean} bubbles Set to `true` if the event must bubble up\n * @param {boolean} cancelable Set to `true` if the event must be cancelable\n */\n static triggerEvent(eventName, element = document, detail = null, bubbles = true, cancelable = true) {\n let event;\n if (window.CustomEvent) {\n event = new CustomEvent(eventName, { detail, bubbles , cancelable }); // This is not supported by default by IE ; We use the polyfill for IE9 and later.\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, bubbles, cancelable, { detail });\n }\n\n element.dispatchEvent(event);\n }\n\n /**\n * Function to parse minimumValue, maximumValue & the input value to prepare for testing to determine if the value falls within the min / max range.\n * Return an object example: minimumValue: \"999999999999999.99\" returns the following \"{s: -1, e: 12, c: Array[15]}\".\n *\n * This function is adapted from Big.js https://github.com/MikeMcl/big.js/. Many thanks to Mike.\n *\n * @param {number|string} n A numeric value.\n * @returns {{}}\n */\n static parseStr(n) {\n const x = {}; // A Big number instance.\n let e;\n let i;\n let nL;\n let j;\n\n // Minus zero?\n if (n === 0 && 1 / n < 0) {\n n = '-0';\n }\n\n // Determine sign. 1 positive, -1 negative\n n = n.toString();\n if (this.isNegativeStrict(n, '-')) {\n n = n.slice(1);\n x.s = -1;\n } else {\n x.s = 1;\n }\n\n // Decimal point?\n e = n.indexOf('.');\n if (e > -1) {\n n = n.replace('.', '');\n }\n\n // Length of string if no decimal character\n if (e < 0) {\n // Integer\n e = n.length;\n }\n\n // Determine leading zeros\n i = (n.search(/[1-9]/i) === -1) ? n.length : n.search(/[1-9]/i);\n nL = n.length;\n if (i === nL) {\n // Zero\n x.e = 0;\n x.c = [0];\n } else {\n // Determine trailing zeros\n for (j = nL - 1; n.charAt(j) === '0'; j -= 1) {\n nL -= 1;\n }\n nL -= 1;\n\n // Decimal location\n x.e = e - i - 1;\n x.c = [];\n\n // Convert string to array of digits without leading/trailing zeros\n for (e = 0; i <= nL; i += 1) {\n x.c[e] = +n.charAt(i);\n e += 1;\n }\n }\n\n return x;\n }\n\n /**\n * Function to test if the input value falls with the Min / Max settings.\n * This uses the parsed strings for the above parseStr function.\n *\n * This function is adapted from Big.js https://github.com/MikeMcl/big.js/. Many thanks to Mike.\n *\n * @param {object} y Big number instance\n * @param {object} x Big number instance\n * @returns {*}\n */\n static testMinMax(y, x) {\n const xc = x.c;\n const yc = y.c;\n let i = x.s;\n let j = y.s;\n let k = x.e;\n let l = y.e;\n\n // Either zero?\n if (!xc[0] || !yc[0]) {\n let result;\n if (!xc[0]) {\n result = !yc[0]?0:-j;\n } else {\n result = i;\n }\n return result;\n }\n\n // Signs differ?\n if (i !== j) {\n return i;\n }\n const xNeg = i < 0;\n\n // Compare exponents\n if (k !== l) {\n return (k > l ^ xNeg)?1:-1;\n }\n i = -1;\n k = xc.length;\n l = yc.length;\n j = (k < l) ? k : l;\n\n // Compare digit by digit\n for (i += 1; i < j; i += 1) {\n if (xc[i] !== yc[i]) {\n return (xc[i] > yc[i] ^ xNeg)?1:-1;\n }\n }\n\n // Compare lengths\n let result;\n if (k === l) {\n result = 0;\n } else {\n result = (k > l ^ xNeg)?1:-1;\n }\n\n return result;\n }\n\n /**\n * Generate a random string.\n * cf. http://stackoverflow.com/a/8084248/2834898\n *\n * @param {Number} strLength Length of the generated string (in character count)\n * @returns {string}\n */\n static randomString(strLength = 5) {\n return Math.random()\n .toString(36)\n .substr(2, strLength);\n }\n\n /**\n * Return the DOM element when passed either a DOM element or a selector string.\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @returns {HTMLElement}\n */\n static domElement(domElementOrSelector) {\n let domElement;\n if (AutoNumericHelper.isString(domElementOrSelector)) {\n domElement = document.querySelector(domElementOrSelector);\n } else {\n domElement = domElementOrSelector;\n }\n\n return domElement;\n }\n\n /**\n * Retrieve the current element value.\n *\n * @param {HTMLElement|HTMLInputElement|EventTarget} element\n * @returns {number|string|null}\n */\n static getElementValue(element) {\n if (element.tagName.toLowerCase() === 'input') {\n return element.value;\n }\n\n return this.text(element);\n }\n\n /**\n * Modify the element value directly.\n *\n * @param {HTMLElement|HTMLInputElement} element\n * @param {number|string|null} value\n */\n static setElementValue(element, value = null) {\n if (element.tagName.toLowerCase() === 'input') {\n element.value = value;\n } else {\n element.textContent = value;\n }\n }\n\n /**\n * Set the invalid state for the given element.\n * A custom message can be passed as the second argument.\n * Note: This does not work with contenteditable elements\n *\n * @param {HTMLElement|HTMLInputElement} element\n * @param {string|null} message\n * @throws Error\n */\n static setInvalidState(element, message = 'Invalid') {\n if (message === '' || this.isNull(message)) this.throwError('Cannot set the invalid state with an empty message.');\n\n element.setCustomValidity(message);\n }\n\n /**\n * Set the valid state for the given element.\n * Note: This does not work with contenteditable elements\n *\n * @param {HTMLElement|HTMLInputElement} element\n */\n static setValidState(element) {\n element.setCustomValidity('');\n }\n\n /**\n * This clone the given object, and return it.\n * WARNING: This does not do a deep cloning.\n * cf. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Examples\n * //TODO Add a `deep` option to clone object with more than one depth\n *\n * @param {object} obj\n * @returns {object}\n */\n static cloneObject(obj) {\n return Object.assign({}, obj);\n }\n\n /**\n * Return a 'camelized' version of the given string.\n * By default, this assume that :\n * - the separators are hyphens '-',\n * - the 'data-' string should be removed, and\n * - that the very first word should not be capitalized.\n *\n * @example camelize('data-currency-symbol') => 'currencySymbol'\n *\n * @param {string} str Text to camelize\n * @param {string} separator Character that separate each word\n * @param {boolean} removeData If set to `true`, remove the `data-` part that you can find on some html attributes\n * @param {boolean} skipFirstWord If set to `true`, do not capitalize the very first word\n * @returns {string|null}\n */\n static camelize(str, separator = '-', removeData = true, skipFirstWord = true) {\n if (this.isNull(str)) {\n return null;\n }\n\n if (removeData) {\n str = str.replace(/^data-/, '');\n }\n\n // Cut the string into words\n const words = str.split(separator);\n\n // Capitalize each word\n let result = words.map(word => `${word.charAt(0).toUpperCase()}${word.slice(1)}`);\n\n // Then concatenate them back\n result = result.join('');\n\n if (skipFirstWord) {\n // Skip the very first letter\n result = `${result.charAt(0).toLowerCase()}${result.slice(1)}`;\n }\n\n return result;\n }\n\n /**\n * Return the text component of the given DOM element.\n *\n * @param {Element} domElement\n * @returns {string}\n */\n static text(domElement) {\n const nodeType = domElement.nodeType;\n\n let result;\n // cf. https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n if (nodeType === Node.ELEMENT_NODE ||\n nodeType === Node.DOCUMENT_NODE ||\n nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n result = domElement.textContent;\n } else if (nodeType === Node.TEXT_NODE) {\n result = domElement.nodeValue;\n } else {\n result = '';\n }\n\n return result;\n }\n\n /**\n * Set the text content of the given DOM element.\n * @param {Element} domElement\n * @param {string} text\n */\n static setText(domElement, text) {\n const nodeType = domElement.nodeType;\n if (nodeType === Node.ELEMENT_NODE ||\n nodeType === Node.DOCUMENT_NODE ||\n nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n domElement.textContent = text;\n }\n //TODO Display a warning if that function does not do anything?\n }\n\n /**\n * Filter out the given `arr` array with the elements found in `excludedElements`.\n * This returns a new array and does not modify the source.\n * cf. verification here : http://codepen.io/AnotherLinuxUser/pen/XpvrMg?editors=0012\n *\n * @param {Array} arr\n * @param {Array} excludedElements\n * @returns {*|Array.}\n */\n static filterOut(arr, excludedElements) {\n return arr.filter(element => !this.isInArray(element, excludedElements));\n }\n\n /**\n * Remove the trailing zeros in the decimal part of a number.\n *\n * @param {string} numericString\n * @returns {*}\n */\n static trimPaddedZerosFromDecimalPlaces(numericString) {\n numericString = String(numericString);\n if (numericString === '') {\n return '';\n }\n\n const [integerPart, decimalPart] = numericString.split('.');\n if (this.isUndefinedOrNullOrEmpty(decimalPart)) {\n return integerPart;\n }\n\n const trimmedDecimalPart = decimalPart.replace(/0+$/g, '');\n\n let result;\n if (trimmedDecimalPart === '') {\n result = integerPart;\n } else {\n result = `${integerPart}.${trimmedDecimalPart}`;\n }\n\n return result;\n }\n\n /**\n * Return the top-most hovered item by the mouse cursor.\n *\n * @returns {*}\n */\n static getHoveredElement() {\n const hoveredElements = [...document.querySelectorAll(':hover')];\n return hoveredElements[hoveredElements.length - 1];\n }\n\n /**\n * Return the given array trimmed to the given length.\n * @example arrayTrim([1, 2, 3, 4], 2) -> [1, 2]\n *\n * @param {Array} array\n * @param {Number} length\n * @returns {*}\n */\n static arrayTrim(array, length) {\n const arrLength = array.length;\n if (arrLength === 0 || length > arrLength) {\n // Also manage the case where `length` is higher than the current length\n return array;\n }\n\n if (length < 0) {\n return [];\n }\n\n array.length = parseInt(length, 10);\n\n return array;\n }\n\n /**\n * Merge all the given arrays by keeping only unique elements, and return an array with de-duplicated values.\n * cf. http://stackoverflow.com/a/27664971/2834898\n *\n * @param {...array} arrays\n * @returns {[*]}\n */\n static arrayUnique(...arrays) { //FIXME à tester\n return [...new Set([].concat(...arrays))];\n }\n\n /**\n * Merge all the given Maps by keeping only unique elements, and return a new Map with de-duplicated keys.\n *\n * @param {...Map} mapObjects\n * @returns {Map}\n */\n static mergeMaps(...mapObjects) {\n return new Map(mapObjects.reduce((as, b) => as.concat([...b]), []));\n }\n\n /**\n * Search the given `value` in the object `obj`, and return the very first key it finds\n *\n * @param {object} obj\n * @param {string|number} value\n * @returns {*|null}\n */\n static objectKeyLookup(obj, value) {\n const result = Object.entries(obj).find(array => array[1] === value);\n let key = null;\n if (result !== void(0)) {\n key = result[0];\n }\n\n return key;\n }\n\n /**\n * Insert the single character `char` in the string `str` at the given position `index`\n *\n * @param {string} str\n * @param {string} char\n * @param {int} index\n * @returns {string}\n */\n static insertAt(str, char, index) {\n str = String(str);\n\n if (index > str.length) {\n throw new Error(`The given index is out of the string range.`);\n }\n\n if (char.length !== 1) {\n throw new Error('The given string `char` should be only one character long.');\n }\n\n if (str === '' && index === 0) {\n return char;\n }\n\n return `${str.slice(0, index)}${char}${str.slice(index)}`;\n }\n\n /**\n * Convert the given scientific notation to the 'expanded' decimal notation\n *\n * @example scientificToDecimal('-123.4567e-6') returns '-0.0001234567'\n *\n * @param {number|string} val\n * @returns {number|string}\n */\n static scientificToDecimal(val) {\n // Check that the val is a Number\n const numericValue = Number(val);\n if (isNaN(numericValue)) {\n return NaN;\n }\n\n // Check if the number is in a scientific notation\n val = String(val);\n const isScientific = this.contains(val, 'e') || this.contains(val, 'E');\n\n if (!isScientific) {\n return val;\n }\n\n // Convert the scientific notation to a numeric string\n let [value, exponent] = val.split(/e/i);\n const isNegative = value < 0;\n if (isNegative) {\n value = value.replace('-', '');\n }\n\n const isNegativeExponent = +exponent < 0;\n if (isNegativeExponent) {\n exponent = exponent.replace('-', ''); // Remove the negative sign\n }\n\n const [int, float] = value.split(/\\./);\n\n let result;\n if (isNegativeExponent) {\n if (int.length > exponent) {\n // Place the decimal point at the int length count minus exponent\n result = this.insertAt(int, '.', int.length - exponent);\n } else {\n // If that decimal point is greater than the int length, pad with zeros (ie. Number('-123.4567e-6') --> -0.0001234567)\n result = `0.${'0'.repeat(exponent - int.length)}${int}`;\n }\n\n result = `${result}${float?float:''}`;\n } else { // Positive exponent\n if (float) {\n value = `${int}${float}`; // Remove the '.', if any\n if (exponent < float.length) {\n result = this.insertAt(value, '.', +exponent + int.length);\n } else {\n result = `${value}${'0'.repeat(exponent - float.length)}`;\n }\n } else {\n value = value.replace('.', ''); // Single case where val is '1.e4'\n result = `${value}${'0'.repeat(Number(exponent))}`;\n }\n }\n\n if (isNegative) {\n // Put back the negative sign, if any\n result = `-${result}`;\n }\n\n return result;\n }\n}\n","/**\n * Math expression tokenizer/parser/evaluator functions for autoNumeric.js\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * Recursively evaluate the abstract syntax tree (AST) and return the result for the given sub-tree\n */\nexport default class Evaluator {\n constructor(ast) {\n if (ast === null) {\n throw new Error(`Invalid AST`);\n }\n\n // return this.evaluate(ast);\n }\n\n evaluate(subtree) {\n if (subtree === void(0) || subtree === null) {\n throw new Error(`Invalid AST sub-tree`);\n }\n\n if (subtree.type === 'number') {\n return subtree.value;\n } else if (subtree.type === 'unaryMinus') {\n return -this.evaluate(subtree.left);\n } else {\n const left = this.evaluate(subtree.left);\n const right = this.evaluate(subtree.right);\n\n switch (subtree.type) {\n case 'op_+':\n return Number(left) + Number(right);\n case 'op_-':\n return left - right;\n case 'op_*':\n return left * right;\n case 'op_/':\n return left / right;\n default :\n throw new Error(`Invalid operator '${subtree.type}'`);\n }\n }\n }\n}\n","/**\n * Math expression tokenizer/parser/evaluator functions for autoNumeric.js\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * The Abstract Syntax Tree node\n *\n * Each node carries the node information such as type (operator type), value (if it's a leaf), and the left and right branches\n */\nexport default class ASTNode {\n /*\n constructor() {\n // this.type = void(0);\n // this.value = 0;\n // this.left = null;\n // this.right = null;\n }\n */\n\n static createNode(type, left, right) {\n const node = new ASTNode();\n node.type = type;\n node.left = left;\n node.right = right;\n\n return node;\n }\n\n static createUnaryNode(left) {\n const node = new ASTNode();\n node.type = 'unaryMinus';\n node.left = left;\n node.right = null;\n\n return node;\n }\n\n static createLeaf(value) {\n const node = new ASTNode();\n node.type = 'number';\n node.value = value;\n\n return node;\n }\n}\n","/**\n * Math expression tokenizer/parser/evaluator functions for autoNumeric.js\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/**\n * Data structure used by the Lexer and Parser classes\n */\nexport default class Token {\n constructor(type, value, symbol) {\n this.type = type;\n this.value = value;\n this.symbol = symbol;\n }\n}\n","/**\n * Math expression tokenizer/parser/evaluator functions for autoNumeric.js\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumericHelper from '../AutoNumericHelper';\nimport Token from './Token';\n\nexport default class Lexer {\n constructor(text) {\n this.text = text;\n this.textLength = text.length;\n this.index = 0;\n this.token = new Token('Error', 0, 0);\n }\n\n /**\n * Ignore white spaces and increment the index count until a non-space character is found\n * @private\n */\n _skipSpaces() {\n while (this.text[this.index] === ' ' && this.index <= this.textLength) {\n this.index++;\n }\n }\n\n /**\n * Return the current index\n *\n * @returns {number}\n */\n getIndex() {\n return this.index;\n }\n\n /**\n * Return the next token object\n *\n * @param {string} decimalCharacter The decimal character to use in the float numbers\n * @returns {Token}\n */\n getNextToken(decimalCharacter = '.') {\n this._skipSpaces();\n\n // Test for the end of text\n if (this.textLength === this.index) {\n this.token.type = 'EOT'; // End of text\n\n return this.token;\n }\n\n // If the current character is a digit read a number\n if (AutoNumericHelper.isDigit(this.text[this.index])) {\n this.token.type = 'num';\n this.token.value = this._getNumber(decimalCharacter);\n\n return this.token;\n }\n\n // Check if the current character is an operator or parentheses\n this.token.type = 'Error';\n switch (this.text[this.index]) {\n case '+': this.token.type = '+'; break;\n case '-': this.token.type = '-'; break;\n case '*': this.token.type = '*'; break;\n case '/': this.token.type = '/'; break;\n case '(': this.token.type = '('; break;\n case ')': this.token.type = ')'; break;\n }\n\n if (this.token.type !== 'Error') {\n this.token.symbol = this.text[this.index];\n this.index++;\n } else {\n throw new Error(`Unexpected token '${this.token.symbol}' at position '${this.token.index}' in the token function`);\n }\n\n return this.token;\n }\n\n /**\n * Return the integer or float number starting from the `this.index` string index\n *\n * @param {string} decimalCharacter The decimal character to use in the float numbers\n *\n * @returns {string}\n * @private\n */\n _getNumber(decimalCharacter) {\n this._skipSpaces();\n\n const startIndex = this.index;\n while (this.index <= this.textLength && AutoNumericHelper.isDigit(this.text[this.index])) { // Integer part\n this.index++;\n }\n\n if (this.text[this.index] === decimalCharacter) {\n this.index++;\n }\n\n while (this.index <= this.textLength && AutoNumericHelper.isDigit(this.text[this.index])) { // Decimal part, if any\n this.index++;\n }\n\n if (this.index === startIndex) {\n throw new Error(`No number has been found while it was expected`);\n }\n\n // Convert the localized float number to a Javascript number\n return this.text.substring(startIndex, this.index).replace(decimalCharacter, '.');\n }\n}\n","/**\n * Math expression tokenizer/parser/evaluator functions for autoNumeric.js\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport ASTNode from './ASTNode';\nimport Lexer from './Lexer';\n\n/**\n * Math expression parser using the shunting-yard algorithm\n *\n * This implements the following BNF grammar:\n * EXP -> TERM MORE_EXP\n * MORE_EXP -> + TERM MORE_EXP |\n * - TERM MORE_EXP |\n * epsilon\n * TERM -> FACTOR MORE_TERM\n * MORE_TERM -> * FACTOR MORE_TERM |\n * / FACTOR MORE_TERM |\n * epsilon\n * FACTOR -> number |\n * ( EXP ) |\n * - FACTOR\n */\nexport default class Parser {\n /**\n * Parse the given string, and generate an abstract syntax tree (AST) from the math expression\n *\n * @param {string} text\n * @param {string} customDecimalCharacter The custom decimal character to use in floats\n * @returns {ASTNode}\n */\n constructor(text, customDecimalCharacter = '.') {\n this.text = text;\n this.decimalCharacter = customDecimalCharacter;\n this.lexer = new Lexer(text);\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n\n return this._exp();\n }\n\n _exp() {\n const termNode = this._term();\n const exprNode = this._moreExp();\n\n //TODO Do not create an 'empty' node where this is added to 0\n return ASTNode.createNode('op_+', termNode, exprNode);\n }\n\n _moreExp() {\n let termNode;\n let exprNode;\n switch (this.token.type) {\n case '+':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n termNode = this._term();\n exprNode = this._moreExp();\n\n return ASTNode.createNode('op_+', exprNode, termNode);\n case '-':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n termNode = this._term();\n exprNode = this._moreExp();\n\n return ASTNode.createNode('op_-', exprNode, termNode);\n }\n\n return ASTNode.createLeaf(0);\n }\n\n _term() {\n const factorNode = this._factor();\n const termsNode = this._moreTerms();\n\n //TODO Do not create an 'empty' node where this is multiplied by 1\n return ASTNode.createNode('op_*', factorNode, termsNode);\n }\n\n _moreTerms() {\n let factorNode;\n let termsNode;\n switch (this.token.type) {\n case '*':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n factorNode = this._factor();\n termsNode = this._moreTerms();\n\n return ASTNode.createNode('op_*', termsNode, factorNode);\n case '/':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n factorNode = this._factor();\n termsNode = this._moreTerms();\n\n return ASTNode.createNode('op_/', termsNode, factorNode);\n }\n\n return ASTNode.createLeaf(1);\n }\n\n _factor() {\n let expression;\n let factor;\n let value;\n switch (this.token.type) {\n case 'num':\n value = this.token.value;\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n\n return ASTNode.createLeaf(value);\n case '-':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n factor = this._factor();\n\n return ASTNode.createUnaryNode(factor);\n case '(':\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n expression = this._exp();\n this._match(')');\n\n return expression;\n default: {\n throw new Error(`Unexpected token '${this.token.symbol}' with type '${this.token.type}' at position '${this.token.index}' in the factor function`);\n }\n }\n }\n\n _match(expected) {\n const index = this.lexer.getIndex() - 1;\n if (this.text[index] === expected) {\n this.token = this.lexer.getNextToken(this.decimalCharacter);\n } else {\n throw new Error(`Unexpected token '${this.token.symbol}' at position '${index}' in the match function`);\n }\n }\n}\n","/**\n * AutoNumeric.js\n *\n * @version 4.6.0\n * @date 2020-04-26 UTC 10:45\n *\n * @authors Bob Knothe, Alexandre Bonneau\n * @contributors Sokolov Yura and others, cf. AUTHORS\n * @copyright 2009 Robert J. Knothe\n * @since 2009-08-09\n *\n * @summary autoNumeric is a standalone Javascript library\n * that provides live *as-you-type* formatting for\n * international numbers and currencies.\n *\n * @link http://autonumeric.org\n *\n * Note : Some functions are borrowed from big.js\n * @see https://github.com/MikeMcl/big.js/\n *\n * Please report any bugs to https://github.com/autoNumeric/autoNumeric\n *\n * @license Released under the MIT License\n * @link http://www.opensource.org/licenses/mit-license.php\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\n//TODO Prevent having to enter relative path in the js files (ie. using `./AutoNumericHelper` instead of just `AutoNumericHelper`) (cf. http://moduscreate.com/es6-es2015-import-no-relative-path-webpack/)\nimport AutoNumericHelper from './AutoNumericHelper';\nimport AutoNumericEnum from './AutoNumericEnum';\nimport Evaluator from './maths/Evaluator';\nimport Parser from './maths/Parser';\n\n/**\n * Class declaration for the AutoNumeric object.\n *\n * An AutoNumeric element is an object wrapper that keeps a reference to the DOM element it manages (usually an one), and provides autoNumeric-specific variables and functions.\n */\nexport default class AutoNumeric {\n /**\n * Initialize the AutoNumeric object onto the given DOM element, and attach the settings and related event listeners to it.\n * The options passed as a parameter is an object that contains the settings (ie. {digitGroupSeparator: \".\", decimalCharacter: \",\", currencySymbol: '€ '})\n *\n * @example\n * anElement = new AutoNumeric(domElement); // With the default options\n * anElement = new AutoNumeric(domElement, { options }); // With one option object\n * anElement = new AutoNumeric(domElement, 'euroPos'); // With a named pre-defined string\n * anElement = new AutoNumeric(domElement, [{ options1 }, 'euroPos', { options2 }]); // With multiple option objects (the latest option overwriting the previous ones)\n * anElement = new AutoNumeric(domElement, null, { options }); // With one option object, and a failed initial value\n * anElement = new AutoNumeric(domElement).french(); // With one pre-defined language object\n * anElement = new AutoNumeric(domElement).french({ options });// With one pre-defined language object and additional options that will override the defaults\n *\n * // ...or init and set the value in one call :\n * anElement = new AutoNumeric(domElement, 12345.789); // With the default options, and an initial value\n * anElement = new AutoNumeric(domElement, 12345.789, { options });\n * anElement = new AutoNumeric(domElement, '12345.789', { options });\n * anElement = new AutoNumeric(domElement, 12345.789, 'euroPos');\n * anElement = new AutoNumeric(domElement, 12345.789, [{ options1 }, 'euroPos', { options2 }]);\n * anElement = new AutoNumeric(domElement, 12345.789).french({ options });\n * anElement = new AutoNumeric(domElement, 12345.789, { options }).french({ options }); // Not really helpful, but possible\n *\n * // The AutoNumeric constructor class can also accept a string as a css selector. Under the hood this use `QuerySelector` and limit itself to only the first element it finds.\n * anElement = new AutoNumeric('.myCssClass > input');\n * anElement = new AutoNumeric('.myCssClass > input', { options });\n * anElement = new AutoNumeric('.myCssClass > input', 'euroPos');\n * anElement = new AutoNumeric('.myCssClass > input', [{ options1 }, 'euroPos', { options2 }]);\n * anElement = new AutoNumeric('.myCssClass > input', 12345.789);\n * anElement = new AutoNumeric('.myCssClass > input', 12345.789, { options });\n * anElement = new AutoNumeric('.myCssClass > input', 12345.789, 'euroPos');\n * anElement = new AutoNumeric('.myCssClass > input', 12345.789, [{ options1 }, 'euroPos', { options2 }]);\n * anElement = new AutoNumeric('.myCssClass > input', null, { options }); // With a failed initial value\n * anElement = new AutoNumeric('.myCssClass > input', 12345.789).french({ options });\n *\n * @param {object|Array|number|string} arg1\n * @param {object|Array|number|string|null} arg2\n * @param {object|Array|number|string|null} arg3\n * @throws\n */\n constructor(arg1 = null, arg2 = null, arg3 = null) {\n // --------------------------------------------------------\n // -------------- Initialization\n // Initialize the arguments\n const { domElement, initialValue, userOptions } = AutoNumeric._setArgumentsValues(arg1, arg2, arg3);\n\n // Initialize the element\n this.domElement = domElement;\n\n // Generate the settings\n this.defaultRawValue = ''; // The default raw value to set when initializing an AutoNumeric object\n this._setSettings(userOptions, false);\n //TODO If `styleRules` is not null, add by default a class 'autoNumeric' that adds transition to color, background-color, border-color properties\n // Check if the DOM element is supported\n this._checkElement();\n\n // Store the additional attributes inside the AutoNumeric object\n // Note: This variable is needed and not a duplicate of `initialValueOnFirstKeydown` nor `valueOnFocus` since it serves a different purpose and has a different lifecycle\n this.savedCancellableValue = null;\n\n // Initialize the undo/redo variables\n this.historyTable = []; // Keep track of *all* valid states of the element value\n this.historyTableIndex = -1; // Pointer to the current undo/redo state. This will be set to '0' during initialization since it first adds itself.\n this.onGoingRedo = false; // Variable that keeps track if a 'redo' is ongoing (in order to prevent an 'undo' to be launch when releasing the shift key before the ctrl key after a 'redo' shortcut)\n\n // Initialize the parent form element, if any\n this.parentForm = this._getParentForm();\n\n // Set the initial value if it exists and if the `formatOnPageLoad` option will allow it\n if (!this.runOnce && this.settings.formatOnPageLoad) {\n // Format the element value if needed\n this._formatDefaultValueOnPageLoad(initialValue);\n } else {\n // Otherwise set the `rawValue` and the element value, but do not format the latter yet\n let valueToSet;\n if (AutoNumericHelper.isNull(initialValue)) {\n switch (this.settings.emptyInputBehavior) {\n case AutoNumeric.options.emptyInputBehavior.min:\n valueToSet = this.settings.minimumValue;\n break;\n case AutoNumeric.options.emptyInputBehavior.max:\n valueToSet = this.settings.maximumValue;\n break;\n case AutoNumeric.options.emptyInputBehavior.zero:\n valueToSet = '0';\n break;\n // In order to stay consistent when `formatOnPageLoad` is set to `true`, it's still impossible to set the `null` value as the initial value\n case AutoNumeric.options.emptyInputBehavior.focus:\n case AutoNumeric.options.emptyInputBehavior.press:\n case AutoNumeric.options.emptyInputBehavior.always:\n case AutoNumeric.options.emptyInputBehavior.null:\n valueToSet = '';\n break;\n // When `emptyInputBehavior` is a number or a string representing a number\n default :\n valueToSet = this.settings.emptyInputBehavior;\n }\n } else {\n valueToSet = initialValue;\n }\n\n this._setElementAndRawValue(valueToSet);\n }\n\n this.runOnce = true;\n\n // Add the events listeners only on input or editable elements\n this.hasEventListeners = false;\n if (this.isInputElement || this.isContentEditable) {\n if (!this.settings.noEventListeners) {\n //XXX Here we make sure the global list is created after creating the event listeners, to only create the event listeners on `document` once\n this._createEventListeners();\n }\n\n this._setWritePermissions(true);\n }\n\n // Save the initial values (html attribute + element.value) for the pristine test\n this._saveInitialValues(initialValue);\n \n // Setup the data for the persistent storage solution (ie. sessionStorage or cookies)\n this.sessionStorageAvailable = this.constructor._storageTest();\n this.storageNamePrefix = 'AUTO_'; // The prefix for the raw value storage name variable can be modified here\n this._setPersistentStorageName();\n\n // --------------------------------------------------------\n // -------------- Tracking\n this.validState = true; // Keep track if the element is in the valid state\n this.isFocused = false; // Keep track if the element is currently focused\n this.isWheelEvent = false; // Keep track if a mouse wheel event is currently ongoing\n this.isDropEvent = false; // Keep track if a drop event is currently ongoing\n this.isEditing = false; // Keep track if the user is currently editing the element\n this.rawValueOnFocus = void(0); // Keep track of the rawValue (needed to define if a change event must be sent on blur or enter key)\n // Watch any external changes to the element value/textContent/nodeValue and `set()` the new value so that it gets formatted/saved in the history\n this.internalModification = false; // This is temporarily set to `true` only when the AutoNumeric object does update the element value\n this.attributeToWatch = this._getAttributeToWatch();\n this.getterSetter = Object.getOwnPropertyDescriptor(this.domElement.__proto__, this.attributeToWatch);\n this._addWatcher();\n\n if (this.settings.createLocalList) {\n // Keep track of every AutoNumeric elements that this object initialized\n this._createLocalList();\n }\n\n // Keep track of all AutoNumeric elements in the current web page\n this.constructor._addToGlobalList(this);\n\n // --------------------------------------------------------\n // -------------- Methods\n // Create the global functions\n this.global = {\n /**\n * Set the same given element value for each elements in the local AutoNumeric element list, and format those elements immediately\n *\n * @param {number|string} newValue The value must be a number or a numeric string\n * @param {object} options A settings object that will override the current settings. Note: the update is done only if the `newValue` is defined.\n */\n set: (newValue, options = null) => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.set(newValue, options);\n });\n },\n\n /**\n * Set the value given value directly as the DOM element value, without formatting it beforehand.\n * This sets the same unformatted value for each elements in the local AutoNumeric element list.\n *\n * @param {number|string} value\n * @param {object} options\n */\n setUnformatted: (value, options = null) => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.setUnformatted(value, options);\n });\n },\n\n /**\n * This is an alias of the `getNumericString()` function, and should not be used anymore.\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @returns {Array}\n * @deprecated\n */\n get: (callback = null) => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.get());\n });\n this._executeCallback(result, callback);\n\n return result;\n },\n\n /**\n * Return an array of the unformatted values (as a string) of each AutoNumeric element of the local AutoNumeric element list\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @returns {Array}\n */\n getNumericString: (callback = null) => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.getNumericString());\n });\n this._executeCallback(result, callback);\n\n return result;\n },\n\n /**\n * Return an array of the current formatted values (as a string) of each AutoNumeric element of the local AutoNumeric element list\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @returns {Array}\n */\n getFormatted: (callback = null) => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.getFormatted());\n });\n this._executeCallback(result, callback);\n\n return result;\n },\n\n /**\n * Return an array of the element unformatted values (as a real Javascript number), for each element of the local AutoNumeric element list\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @returns {Array}\n */\n getNumber: (callback = null) => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.getNumber());\n });\n this._executeCallback(result, callback);\n\n return result;\n },\n\n /**\n * Returns the unformatted values (following the `outputFormat` setting) of each element of the local AutoNumeric element list into an array\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @returns {Array}\n */\n getLocalized: (callback = null) => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.getLocalized());\n });\n this._executeCallback(result, callback);\n\n return result;\n },\n\n /**\n * Force each element of the local AutoNumeric element list to reformat its value\n */\n reformat: () => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.reformat();\n });\n },\n\n /**\n * Remove the formatting and keep only the raw unformatted value (as a numericString) in each elements of the local AutoNumeric element list\n */\n unformat: () => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.unformat();\n });\n },\n\n /**\n * Remove the formatting and keep only the localized unformatted value in the element, with the option to override the default outputFormat if needed\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n */\n unformatLocalized: (forcedOutputFormat = null) => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.unformatLocalized(forcedOutputFormat);\n });\n },\n\n /**\n * Updates the AutoNumeric settings, and immediately format the elements accordingly, for each elements of the local AutoNumeric element list\n *\n * @param {object} newOptions This can be either one or more option objects\n */\n update: (...newOptions) => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.update(...newOptions);\n });\n },\n\n /**\n * Return `true` if *all* the autoNumeric-managed elements are pristine, if their raw value hasn't changed.\n * By default, this returns `true` if the raw unformatted value is still the same even if the formatted one has changed (due to a configuration update for instance).\n *\n * @param {boolean} checkOnlyRawValue If set to `true`, the pristine value is done on the raw unformatted value, not the formatted one. If set to `false`, this also checks that the formatted value hasn't changed.\n * @returns {boolean}\n */\n isPristine: (checkOnlyRawValue = true) => {\n let isPristine = true;\n this.autoNumericLocalList.forEach(aNObject => {\n if (isPristine && !aNObject.isPristine(checkOnlyRawValue)) {\n isPristine = false;\n }\n });\n\n return isPristine;\n },\n\n /**\n * Execute the `clear()` method on each AutoNumeric object in the local AutoNumeric element list\n *\n * @param {boolean} forceClearAll\n */\n clear: (forceClearAll = false) => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.clear(forceClearAll);\n });\n },\n\n /**\n * Execute the `remove()` method on each AutoNumeric object in the local AutoNumeric element list\n */\n remove: () => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.remove();\n });\n },\n\n /**\n * Execute the `wipe()` method on each AutoNumeric object in the local AutoNumeric element list\n */\n wipe: () => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.wipe();\n });\n },\n\n /**\n * Execute the `nuke()` method on each AutoNumeric object in the local AutoNumeric element list\n */\n nuke: () => {\n this.autoNumericLocalList.forEach(aNObject => {\n aNObject.nuke();\n });\n },\n\n /**\n * Return `true` if the given AutoNumeric object (or DOM element) is in the local AutoNumeric element list\n *\n * @param {HTMLElement|HTMLInputElement|AutoNumeric} domElementOrAutoNumericObject\n * @returns {*}\n */\n has: domElementOrAutoNumericObject => {\n let result;\n if (domElementOrAutoNumericObject instanceof AutoNumeric) {\n result = this.autoNumericLocalList.has(domElementOrAutoNumericObject.node());\n } else {\n result = this.autoNumericLocalList.has(domElementOrAutoNumericObject);\n }\n\n return result;\n },\n\n /**\n * Add an existing AutoNumeric object (or DOM element) to the local AutoNumeric element list, using the DOM element as the key.\n * This manages the case where `addObject` is used on an AutoNumeric object that already has multiple elements in its local list.\n *\n * @param {HTMLElement|HTMLInputElement|AutoNumeric} domElementOrAutoNumericObject\n */\n addObject: domElementOrAutoNumericObject => {\n // Start with the same data, whatever the user passed as arguments\n let domElement;\n let otherAutoNumericObject;\n if (domElementOrAutoNumericObject instanceof AutoNumeric) {\n domElement = domElementOrAutoNumericObject.node();\n otherAutoNumericObject = domElementOrAutoNumericObject;\n } else {\n domElement = domElementOrAutoNumericObject;\n otherAutoNumericObject = AutoNumeric.getAutoNumericElement(domElement);\n }\n\n // Check if the current autoNumeric object has a local list\n if (!this._hasLocalList()) {\n this._createLocalList();\n }\n\n // Check if the other autoNumeric object has a local list...\n let otherANLocalList = otherAutoNumericObject._getLocalList();\n if (otherANLocalList.size === 0) {\n // Special case if the other AutoNumeric object has an empty local list, then populate itself to it\n otherAutoNumericObject._createLocalList();\n otherANLocalList = otherAutoNumericObject._getLocalList(); // Update the other local list\n }\n\n let mergedLocalLists;\n if (otherANLocalList instanceof Map) {\n // ...If it does, merge the local lists together\n mergedLocalLists = AutoNumericHelper.mergeMaps(this._getLocalList(), otherANLocalList);\n } else {\n // ...If not, just set the current local list onto the other AutoNumeric object\n // We need to specify the AutoNumeric object, otherwise the `_addToLocalList` function would not correctly add the AutoNumeric object since we would not have a reference to it, but a reference to the current AutoNumeric object on which is called this method.\n this._addToLocalList(domElement, otherAutoNumericObject);\n mergedLocalLists = this._getLocalList();\n }\n\n // Update the resulting list, on all the objects of that local list (so that we can indifferently use `init()` on any object belonging to that list)\n mergedLocalLists.forEach(aNObject => {\n aNObject._setLocalList(mergedLocalLists);\n });\n },\n\n /**\n * Remove the given AutoNumeric object (or DOM element) from the local AutoNumeric element list, using the DOM element as the key.\n * If this function attempts to remove the current AutoNumeric object from the local list, a warning is shown, but the deletion is still done.\n *\n * Special cases :\n * - If the current object removes itself, then it's removed from the shared local list, then a new empty local list is used/created\n * - If another object remove this object, then a local list with only this object is used/created\n *\n * @param {HTMLElement|HTMLInputElement|AutoNumeric} domElementOrAutoNumericObject\n * @param {boolean} keepCurrentANObject If set to `false`, then the function will also remove the current AutoNumeric object if asked, otherwise it will ignore it and print a warning message\n */\n removeObject: (domElementOrAutoNumericObject, keepCurrentANObject = false) => {\n // Start with the same data, whatever the user passed as arguments\n let domElement;\n let otherAutoNumericObject;\n if (domElementOrAutoNumericObject instanceof AutoNumeric) {\n domElement = domElementOrAutoNumericObject.node();\n otherAutoNumericObject = domElementOrAutoNumericObject;\n } else {\n domElement = domElementOrAutoNumericObject;\n otherAutoNumericObject = AutoNumeric.getAutoNumericElement(domElement);\n }\n\n // Remove the other object from the local list\n const initialCompleteLocalList = this.autoNumericLocalList;\n this.autoNumericLocalList.delete(domElement);\n\n // Update the local list for all objects in it\n initialCompleteLocalList.forEach(aNObject => {\n aNObject._setLocalList(this.autoNumericLocalList);\n });\n\n if (!keepCurrentANObject && domElement === this.node()) {\n // This object is removed by itself\n // Empty the object local list\n otherAutoNumericObject._setLocalList(new Map);\n } else {\n // This object is removed by another object\n // Set the local list for the removed object, with only this object in it\n otherAutoNumericObject._createLocalList();\n }\n },\n\n /**\n * Remove all elements from the shared list, effectively emptying it.\n * This is the equivalent of calling `detach()` on each of its elements.\n *\n * @param {boolean} keepEachANObjectInItsOwnList If set to `true`, then instead of completely emptying the local list of each AutoNumeric objects, each one of those keeps itself in its own local list\n */\n empty: (keepEachANObjectInItsOwnList = false) => {\n const initialCompleteLocalList = this.autoNumericLocalList;\n\n // Update the local list for all objects in it\n initialCompleteLocalList.forEach(aNObject => {\n if (keepEachANObjectInItsOwnList) {\n aNObject._createLocalList();\n } else {\n aNObject._setLocalList(new Map);\n }\n });\n },\n\n /**\n * Return an array containing all the AutoNumeric DOM elements that have been initialized by each other\n *\n * @returns {Array}\n */\n elements: () => {\n const result = [];\n this.autoNumericLocalList.forEach(aNObject => {\n result.push(aNObject.node());\n });\n\n return result;\n },\n\n /**\n * Return the `Map` object directly\n * @returns {Map}\n */\n getList: () => this.autoNumericLocalList,\n\n /**\n * Return the number of element in the local AutoNumeric element list\n * @returns {number}\n */\n size: () => this.autoNumericLocalList.size,\n };\n\n // Create the functions that will allow to change each setting one by one\n /**\n * For each options, we define if we need to reformat the element content (does changing the options should change the way its value is displayed?).\n * If yes, then we use the `update()` for force a reformat, otherwise, we just update the `settings` object.\n */\n this.options = {\n /**\n * Reset any options set previously, by overwriting them with the default settings\n *\n * @returns {AutoNumeric}\n */\n reset : () => {\n //TODO Add a `settings` parameter so that the user can reset to a specific set of settings. This is different than update since it drops any non-default settings before using those new settings.\n this.settings = { rawValue : this.defaultRawValue }; // Here we pass the default rawValue in order to prevent showing a warning that we try to set an `undefined` value\n this.update(AutoNumeric.defaultSettings);\n\n return this;\n },\n allowDecimalPadding : allowDecimalPadding => {\n this.update({ allowDecimalPadding });\n\n return this;\n },\n alwaysAllowDecimalCharacter : alwaysAllowDecimalCharacter => { //FIXME Test this\n this.update({ alwaysAllowDecimalCharacter });\n\n return this;\n },\n caretPositionOnFocus : caretPositionOnFocus => { //FIXME test this\n this.settings.caretPositionOnFocus = caretPositionOnFocus;\n\n return this;\n },\n createLocalList : createLocalList => {\n this.settings.createLocalList = createLocalList;\n\n // Delete the local list when this is set to `false`, create it if this is set to `true` and there is not pre-existing list\n if (this.settings.createLocalList) {\n if (!this._hasLocalList()) {\n this._createLocalList();\n }\n } else {\n this._deleteLocalList();\n }\n\n return this;\n },\n currencySymbol : currencySymbol => {\n this.update({ currencySymbol });\n\n return this;\n },\n currencySymbolPlacement : currencySymbolPlacement => {\n this.update({ currencySymbolPlacement });\n\n return this;\n },\n decimalCharacter : decimalCharacter => {\n this.update({ decimalCharacter });\n\n return this;\n },\n decimalCharacterAlternative : decimalCharacterAlternative => {\n this.settings.decimalCharacterAlternative = decimalCharacterAlternative;\n\n return this;\n },\n /**\n * Update the decimal places globally, which means this override any previously set number of decimal shown on focus, on blur, or in the raw value.\n *\n * @param {int} decimalPlaces\n * @returns {AutoNumeric}\n */\n decimalPlaces : decimalPlaces => {\n AutoNumericHelper.warning('Using `options.decimalPlaces()` instead of calling the specific `options.decimalPlacesRawValue()`, `options.decimalPlacesShownOnFocus()` and `options.decimalPlacesShownOnBlur()` methods will reset those options.\\nPlease call the specific methods if you do not want to reset those.', this.settings.showWarnings);\n this.update({ decimalPlaces });\n\n return this;\n },\n decimalPlacesRawValue : decimalPlacesRawValue => { //FIXME test this\n this.update({ decimalPlacesRawValue });\n\n return this;\n },\n decimalPlacesShownOnBlur : decimalPlacesShownOnBlur => {\n this.update({ decimalPlacesShownOnBlur });\n\n return this;\n },\n decimalPlacesShownOnFocus : decimalPlacesShownOnFocus => {\n this.update({ decimalPlacesShownOnFocus });\n\n return this;\n },\n defaultValueOverride : defaultValueOverride => {\n this.update({ defaultValueOverride });\n\n return this;\n },\n digitalGroupSpacing : digitalGroupSpacing => {\n this.update({ digitalGroupSpacing });\n\n return this;\n },\n digitGroupSeparator : digitGroupSeparator => {\n this.update({ digitGroupSeparator });\n\n return this;\n },\n divisorWhenUnfocused : divisorWhenUnfocused => {\n this.update({ divisorWhenUnfocused });\n\n return this;\n },\n emptyInputBehavior : emptyInputBehavior => {\n if (this.rawValue === null && emptyInputBehavior !== AutoNumeric.options.emptyInputBehavior.null) {\n // Special case : if the current `rawValue` is `null` and the `emptyInputBehavior` is changed to something else than `'null'`, then it makes that `rawValue` invalid.\n // Here we can either prevent the option update and throw an error, or still accept the option update and update the value from `null` to `''`.\n // We cannot keep `rawValue` to `null` since if `emptyInputBehavior` is not set to `null`, lots of function assume `rawValue` is a string.\n AutoNumericHelper.warning(`You are trying to modify the \\`emptyInputBehavior\\` option to something different than \\`'null'\\` (${emptyInputBehavior}), but the element raw value is currently set to \\`null\\`. This would result in an invalid \\`rawValue\\`. In order to fix that, the element value has been changed to the empty string \\`''\\`.`, this.settings.showWarnings);\n this.rawValue = '';\n }\n\n this.update({ emptyInputBehavior });\n\n return this;\n },\n eventBubbles : eventBubbles => {\n this.settings.eventBubbles = eventBubbles;\n\n return this;\n },\n eventIsCancelable : eventIsCancelable => {\n this.settings.eventIsCancelable = eventIsCancelable;\n\n return this;\n },\n failOnUnknownOption : failOnUnknownOption => {\n this.settings.failOnUnknownOption = failOnUnknownOption; //TODO test this with unit tests\n\n return this;\n },\n formatOnPageLoad : formatOnPageLoad => {\n this.settings.formatOnPageLoad = formatOnPageLoad; //TODO test this with unit tests\n\n return this;\n },\n formulaMode : formulaMode => {\n this.settings.formulaMode = formulaMode; //TODO test this with unit tests\n\n return this;\n },\n historySize : historySize => {\n this.settings.historySize = historySize;\n\n return this;\n },\n invalidClass : invalidClass => {\n this.settings.invalidClass = invalidClass; //TODO test this with unit tests\n\n return this;\n },\n isCancellable : isCancellable => {\n this.settings.isCancellable = isCancellable; //TODO test this with unit tests\n\n return this;\n },\n leadingZero : leadingZero => {\n this.update({ leadingZero });\n\n return this;\n },\n maximumValue : maximumValue => {\n this.update({ maximumValue });\n\n return this;\n },\n minimumValue : minimumValue => {\n this.update({ minimumValue });\n\n return this;\n },\n modifyValueOnWheel : modifyValueOnWheel => {\n this.settings.modifyValueOnWheel = modifyValueOnWheel; //TODO test this with unit tests\n\n return this;\n },\n negativeBracketsTypeOnBlur : negativeBracketsTypeOnBlur => {\n this.update({ negativeBracketsTypeOnBlur });\n\n return this;\n },\n negativePositiveSignPlacement: negativePositiveSignPlacement => {\n this.update({ negativePositiveSignPlacement });\n\n return this;\n },\n negativeSignCharacter : negativeSignCharacter => {\n this.update({ negativeSignCharacter });\n\n return this;\n },\n noEventListeners : noEventListeners => { //TODO test this with unit tests\n if (noEventListeners === AutoNumeric.options.noEventListeners.noEvents && this.settings.noEventListeners === AutoNumeric.options.noEventListeners.addEvents) {\n // Remove the events once\n this._removeEventListeners();\n }\n\n this.update({ noEventListeners });\n\n return this;\n },\n onInvalidPaste : onInvalidPaste => {\n this.settings.onInvalidPaste = onInvalidPaste; //TODO test this with unit tests\n\n return this;\n },\n outputFormat : outputFormat => {\n this.settings.outputFormat = outputFormat;\n\n return this;\n },\n overrideMinMaxLimits : overrideMinMaxLimits => {\n this.update({ overrideMinMaxLimits });\n\n return this;\n },\n positiveSignCharacter : positiveSignCharacter => {\n this.update({ positiveSignCharacter });\n\n return this;\n },\n rawValueDivisor : rawValueDivisor => {\n this.update({ rawValueDivisor });\n\n return this;\n },\n readOnly : readOnly => {\n // When changing the readOnly attribute, the raw and formatted values do not change, so no need to call the costly 'update()` method\n this.settings.readOnly = readOnly;\n this._setWritePermissions();\n\n return this;\n },\n roundingMethod : roundingMethod => {\n this.update({ roundingMethod });\n\n return this;\n },\n saveValueToSessionStorage : saveValueToSessionStorage => {\n this.update({ saveValueToSessionStorage });\n\n return this;\n },\n symbolWhenUnfocused : symbolWhenUnfocused => {\n this.update({ symbolWhenUnfocused });\n\n return this;\n },\n selectNumberOnly : selectNumberOnly => {\n this.settings.selectNumberOnly = selectNumberOnly; //TODO test this with unit tests\n\n return this;\n },\n selectOnFocus : selectOnFocus => {\n this.settings.selectOnFocus = selectOnFocus; //TODO test this with unit tests\n\n return this;\n },\n serializeSpaces : serializeSpaces => {\n this.settings.serializeSpaces = serializeSpaces; //TODO test this with unit tests\n\n return this;\n },\n showOnlyNumbersOnFocus : showOnlyNumbersOnFocus => {\n this.update({ showOnlyNumbersOnFocus });\n\n return this;\n },\n showPositiveSign : showPositiveSign => {\n this.update({ showPositiveSign });\n\n return this;\n },\n showWarnings : showWarnings => {\n this.settings.showWarnings = showWarnings; //TODO test this with unit tests\n\n return this;\n },\n styleRules : styleRules => {\n this.update({ styleRules });\n\n return this;\n },\n suffixText : suffixText => {\n this.update({ suffixText });\n\n return this;\n },\n unformatOnHover : unformatOnHover => {\n this.settings.unformatOnHover = unformatOnHover; //TODO test this with unit tests\n\n return this;\n },\n unformatOnSubmit : unformatOnSubmit => {\n this.settings.unformatOnSubmit = unformatOnSubmit; //TODO test this with unit tests\n\n return this;\n },\n valuesToStrings : valuesToStrings => {\n this.update({ valuesToStrings });\n\n return this;\n },\n watchExternalChanges : watchExternalChanges => { //TODO test this with unit tests\n this.update({ watchExternalChanges });\n\n return this;\n },\n wheelOn : wheelOn => {\n this.settings.wheelOn = wheelOn; //TODO test this with unit tests\n\n return this;\n },\n wheelStep : wheelStep => {\n this.settings.wheelStep = wheelStep; //TODO test this with unit tests\n\n return this;\n },\n };\n\n // Once the autoNumeric element has been initialized, broadcast that message with additional info.\n // Note: When using `AutoNumeric.multiple()`, one event is sent *per* element initialized\n this._triggerEvent(AutoNumeric.events.initialized, this.domElement, {\n newValue : AutoNumericHelper.getElementValue(this.domElement),\n newRawValue: this.rawValue,\n error : null,\n aNElement : this,\n });\n }\n\n /**\n * Return the autoNumeric version number (for debugging purpose)\n *\n * @returns {string}\n */\n static version() {\n return '4.6.0';\n }\n\n /**\n * Take the parameters given to the AutoNumeric object, and output the three variables that are needed to finish initializing it :\n * - domElement : The target DOM element\n * - initialValue : The initial value, or `null` if none is given\n * - userOptions : The option object\n *\n * @param {object|Array|number|string} arg1\n * @param {object|Array|number|string|null} arg2\n * @param {object|Array|number|string|null} arg3\n * @returns {{domElement: *, initialValue: *, userOptions: *}}\n * @throws\n * @private\n */\n static _setArgumentsValues(arg1, arg2, arg3) {\n // Basic check on the argument count\n if (AutoNumericHelper.isNull(arg1)) {\n AutoNumericHelper.throwError('At least one valid parameter is needed in order to initialize an AutoNumeric object');\n }\n\n // Prepare the arguments in order to create the AutoNumeric object with the right values\n // Test the argument types\n const isArg1Element = AutoNumericHelper.isElement(arg1);\n const isArg1String = AutoNumericHelper.isString(arg1);\n\n const isArg2Object = AutoNumericHelper.isObject(arg2);\n const isArg2Array = Array.isArray(arg2) && arg2.length > 0;\n const isArg2Number = AutoNumericHelper.isNumberOrArabic(arg2) || arg2 === '';\n const isArg2PreDefinedOptionName = this._isPreDefinedOptionValid(arg2);\n const isArg2Null = AutoNumericHelper.isNull(arg2);\n const isArg2EmptyString = AutoNumericHelper.isEmptyString(arg2);\n\n const isArg3Object = AutoNumericHelper.isObject(arg3);\n const isArg3Array = Array.isArray(arg3) && arg3.length > 0;\n const isArg3Null = AutoNumericHelper.isNull(arg3);\n const isArg3PreDefinedOptionName = this._isPreDefinedOptionValid(arg3);\n\n // Given the parameters passed, sort the data and return a stable state before the initialization\n let domElement;\n let userOptions;\n let initialValue;\n\n //TODO Simplify those tests -->\n if (isArg1Element && isArg2Null && isArg3Null) {\n // new AutoNumeric(domElement); // With the default options\n domElement = arg1;\n initialValue = null;\n userOptions = null;\n } else if (isArg1Element && isArg2Number && isArg3Null) {\n // new AutoNumeric(domElement, 12345.789); // With the default options, and an initial value\n // new AutoNumeric(domElement, '12345.789');\n domElement = arg1;\n initialValue = arg2;\n userOptions = null;\n } else if (isArg1Element && isArg2Object && isArg3Null) {\n // new AutoNumeric(domElement, { options }); // With one option object\n domElement = arg1;\n initialValue = null;\n userOptions = arg2;\n } else if (isArg1Element && isArg2PreDefinedOptionName && isArg3Null) {\n // new AutoNumeric(domElement, 'euroPos'); // With one pre-defined option name\n domElement = arg1;\n initialValue = null;\n userOptions = this._getOptionObject(arg2);\n } else if (isArg1Element && isArg2Array && isArg3Null) {\n // new AutoNumeric(domElement, [{ options1 }, { options2 }]); // With multiple option objects (the latest option overwriting the previous ones)\n domElement = arg1;\n initialValue = null;\n userOptions = this.mergeOptions(arg2);\n } else if (isArg1Element && (isArg2Null || isArg2EmptyString) && isArg3Object) {\n // new AutoNumeric(domElement, null, { options }); // With one option object\n domElement = arg1;\n initialValue = null;\n userOptions = arg3;\n } else if (isArg1Element && (isArg2Null || isArg2EmptyString) && isArg3Array) {\n // new AutoNumeric(domElement, null, [{ options1 }, { options2 }]); // With multiple option objects\n domElement = arg1;\n initialValue = null;\n userOptions = this.mergeOptions(arg3);\n } else if (isArg1String && isArg2Null && isArg3Null) {\n // new AutoNumeric('.myCssClass > input');\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = null;\n } else if (isArg1String && isArg2Object && isArg3Null) {\n // new AutoNumeric('.myCssClass > input', { options });\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = arg2;\n } else if (isArg1String && isArg2PreDefinedOptionName && isArg3Null) {\n // new AutoNumeric('.myCssClass > input', 'euroPos');\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = this._getOptionObject(arg2);\n } else if (isArg1String && isArg2Array && isArg3Null) {\n // new AutoNumeric('.myCssClass > input', [{ options1 }, { options2 }]); // With multiple option objects\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = this.mergeOptions(arg2);\n } else if (isArg1String && (isArg2Null || isArg2EmptyString) && isArg3Object) {\n // new AutoNumeric('.myCssClass > input', null, { options });\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = arg3;\n } else if (isArg1String && (isArg2Null || isArg2EmptyString) && isArg3Array) {\n // new AutoNumeric('.myCssClass > input', null, [{ options1 }, { options2 }]); // With multiple option objects\n domElement = document.querySelector(arg1);\n initialValue = null;\n userOptions = this.mergeOptions(arg3);\n } else if (isArg1String && isArg2Number && isArg3Null) {\n // new AutoNumeric('.myCssClass > input', 12345.789);\n // new AutoNumeric('.myCssClass > input', '12345.789');\n // new AutoNumeric('.myCssClass > input', '');\n domElement = document.querySelector(arg1);\n initialValue = arg2;\n userOptions = null;\n } else if (isArg1String && isArg2Number && isArg3Object) {\n // new AutoNumeric('.myCssClass > input', 12345.789, { options });\n // new AutoNumeric('.myCssClass > input', '12345.789', { options });\n // new AutoNumeric('.myCssClass > input', '', { options });\n domElement = document.querySelector(arg1);\n initialValue = arg2;\n userOptions = arg3;\n } else if (isArg1String && isArg2Number && isArg3PreDefinedOptionName) {\n // new AutoNumeric('.myCssClass > input', 12345.789, 'euroPos');\n // new AutoNumeric('.myCssClass > input', '12345.789', 'euroPos');\n // new AutoNumeric('.myCssClass > input', '', 'euroPos');\n domElement = document.querySelector(arg1);\n initialValue = arg2;\n userOptions = this._getOptionObject(arg3);\n } else if (isArg1String && isArg2Number && isArg3Array) {\n // new AutoNumeric('.myCssClass > input', 12345.789, [{ options1 }, 'euroPos', { options2 }]);\n // new AutoNumeric('.myCssClass > input', '12345.789', [{ options1 }, 'euroPos', { options2 }]);\n // new AutoNumeric('.myCssClass > input', '', [{ options1 }, 'euroPos', { options2 }]);\n domElement = document.querySelector(arg1);\n initialValue = arg2;\n userOptions = this.mergeOptions(arg3);\n } else if (isArg1Element && isArg2Number && isArg3Object) {\n // new AutoNumeric(domElement, 12345.789, { options });\n // new AutoNumeric(domElement, '12345.789', { options });\n // new AutoNumeric(domElement, '', { options });\n domElement = arg1;\n initialValue = arg2;\n userOptions = arg3;\n } else if (isArg1Element && isArg2Number && isArg3PreDefinedOptionName) {\n // new AutoNumeric(domElement, 12345.789, 'euroPos');\n // new AutoNumeric(domElement, '12345.789', 'euroPos');\n // new AutoNumeric(domElement, '', 'euroPos');\n domElement = arg1;\n initialValue = arg2;\n userOptions = this._getOptionObject(arg3);\n } else if (isArg1Element && isArg2Number && isArg3Array) {\n // new AutoNumeric(domElement, 12345.789, [{ options1 }, { options2 }]);\n // new AutoNumeric(domElement, '12345.789', [{ options1 }, { options2 }]);\n // new AutoNumeric(domElement, '', [{ options1 }, { options2 }]);\n domElement = arg1;\n initialValue = arg2;\n userOptions = this.mergeOptions(arg3);\n } else {\n AutoNumericHelper.throwError(`The parameters given to the AutoNumeric object are not valid, '${arg1}', '${arg2}' and '${arg3}' given.`);\n }\n\n if (AutoNumericHelper.isNull(domElement)) {\n AutoNumericHelper.throwError(`The selector '${arg1}' did not select any valid DOM element. Please check on which element you called AutoNumeric.`);\n }\n\n return { domElement, initialValue, userOptions };\n }\n\n /**\n * Merge the option objects found in the given array `optionsArray`.\n * If a `string` is found, then we try to get the related pre-defined option using that string as its name.\n * When merging the options, the latest option overwrite any previously set. This allows to fine tune a pre-defined option for instance.\n *\n * @param {Array} optionsArray\n * @returns {{}}\n */\n static mergeOptions(optionsArray) {\n // This allows the user to use multiple options (strings or objects) in an array, and overwrite the previous one with the next option element ; this is useful to tune the wanted format\n const mergedOptions = {};\n optionsArray.forEach(optionObjectOrPredefinedOptionString => {\n Object.assign(mergedOptions, this._getOptionObject(optionObjectOrPredefinedOptionString));\n });\n\n return mergedOptions;\n }\n\n /**\n * Return `true` if the given pre-defined option name is an attribute of the `AutoNumeric.predefinedOptions` object\n *\n * @param {string} preDefinedOptionName\n * @returns {boolean}\n * @private\n */\n static _isPreDefinedOptionValid(preDefinedOptionName) {\n return Object.prototype.hasOwnProperty.call(AutoNumeric.predefinedOptions, preDefinedOptionName);\n }\n\n /**\n * Return an option object based on the given parameter.\n * If `optionObjectOrPredefinedName` is as string, then we retrieve the pre-defined option object, if it's an object, we use it as is.\n *\n * @param {object|string} optionObjectOrPredefinedName\n * @returns {object}\n */\n static _getOptionObject(optionObjectOrPredefinedName) {\n let options;\n if (AutoNumericHelper.isString(optionObjectOrPredefinedName)) {\n options = AutoNumeric.getPredefinedOptions()[optionObjectOrPredefinedName];\n if (options === void(0) || options === null) {\n // If the given pre-defined name does not exist, warn that something is wrong, and continue the execution of the initialization\n AutoNumericHelper.warning(`The given pre-defined option [${optionObjectOrPredefinedName}] is not recognized by autoNumeric. Please check that pre-defined option name.`, true);\n }\n } else { // A `settings` object\n options = optionObjectOrPredefinedName;\n }\n\n return options;\n }\n\n /**\n * Save the initial element values for later use in the pristine test.\n * Those values are :\n * - the html attribute (ie. ), and\n * - the script `value` (ie. `let domElement.value`)\n *\n * @param {null|number|string} initialValue\n * @private\n */\n _saveInitialValues(initialValue) {\n // Keep the very first initial values (in the html attribute and set by the script). This is needed to check if the element is pristine.\n // Save the html attribute 'value'\n this.initialValueHtmlAttribute = AutoNumericHelper.scientificToDecimal(this.domElement.getAttribute('value'));\n if (AutoNumericHelper.isNull(this.initialValueHtmlAttribute)) {\n // Set the default empty value attribute instead of `null`, since if the initial value is null, the empty string is used\n this.initialValueHtmlAttribute = '';\n }\n\n // Save the 'script' value\n this.initialValue = initialValue;\n if (AutoNumericHelper.isNull(this.initialValue)) {\n // Same as above\n this.initialValue = '';\n }\n }\n\n /**\n * Generate all the event listeners for the given DOM element\n * @private\n */\n _createEventListeners() {\n this.formulaMode = false;\n // Create references to the event handler functions, so we can then cleanly removes those listeners if needed\n // That would not be possible if we used closures directly in the event handler declarations\n this._onFocusInFunc = e => { this._onFocusIn(e); };\n this._onFocusInAndMouseEnterFunc = e => { this._onFocusInAndMouseEnter(e); };\n this._onFocusFunc = () => { this._onFocus(); };\n this._onKeydownFunc = e => { this._onKeydown(e); };\n this._onKeypressFunc = e => { this._onKeypress(e); };\n this._onKeyupFunc = e => { this._onKeyup(e); };\n this._onFocusOutAndMouseLeaveFunc = e => { this._onFocusOutAndMouseLeave(e); };\n this._onPasteFunc = e => { this._onPaste(e); };\n this._onWheelFunc = e => { this._onWheel(e); };\n this._onDropFunc = e => { this._onDrop(e); };\n this._onKeydownGlobalFunc = e => { this._onKeydownGlobal(e); };\n this._onKeyupGlobalFunc = e => { this._onKeyupGlobal(e); };\n\n // Add the event listeners\n this.domElement.addEventListener('focusin', this._onFocusInFunc, false);\n this.domElement.addEventListener('focus', this._onFocusInAndMouseEnterFunc, false);\n this.domElement.addEventListener('focus', this._onFocusFunc, false);\n this.domElement.addEventListener('mouseenter', this._onFocusInAndMouseEnterFunc, false);\n this.domElement.addEventListener('keydown', this._onKeydownFunc, false);\n this.domElement.addEventListener('keypress', this._onKeypressFunc, false);\n this.domElement.addEventListener('keyup', this._onKeyupFunc, false);\n this.domElement.addEventListener('blur', this._onFocusOutAndMouseLeaveFunc, false);\n this.domElement.addEventListener('mouseleave', this._onFocusOutAndMouseLeaveFunc, false);\n this.domElement.addEventListener('paste', this._onPasteFunc, false);\n this.domElement.addEventListener('wheel', this._onWheelFunc, false);\n this.domElement.addEventListener('drop', this._onDropFunc, false);\n this._setupFormListener();\n\n // Keep track if the event listeners have been initialized on this object\n this.hasEventListeners = true;\n\n // Create one global event listener for the keyup event on the document object, which will be shared by all the autoNumeric elements\n if (!AutoNumeric._doesGlobalListExists()) {\n document.addEventListener('keydown', this._onKeydownGlobalFunc, false);\n document.addEventListener('keyup', this._onKeyupGlobalFunc, false);\n }\n }\n\n /**\n * Remove all the autoNumeric-related event listeners for the given DOM element\n * @private\n */\n _removeEventListeners() {\n this.domElement.removeEventListener('focusin', this._onFocusInFunc, false);\n this.domElement.removeEventListener('focus', this._onFocusInAndMouseEnterFunc, false);\n this.domElement.removeEventListener('focus', this._onFocusFunc, false);\n this.domElement.removeEventListener('mouseenter', this._onFocusInAndMouseEnterFunc, false);\n this.domElement.removeEventListener('blur', this._onFocusOutAndMouseLeaveFunc, false);\n this.domElement.removeEventListener('mouseleave', this._onFocusOutAndMouseLeaveFunc, false);\n this.domElement.removeEventListener('keydown', this._onKeydownFunc, false);\n this.domElement.removeEventListener('keypress', this._onKeypressFunc, false);\n this.domElement.removeEventListener('keyup', this._onKeyupFunc, false);\n this.domElement.removeEventListener('paste', this._onPasteFunc, false);\n this.domElement.removeEventListener('wheel', this._onWheelFunc, false);\n this.domElement.removeEventListener('drop', this._onDropFunc, false);\n this._removeFormListener();\n\n // Keep track if the event listeners have been initialized on this object\n this.hasEventListeners = false;\n\n document.removeEventListener('keydown', this._onKeydownGlobalFunc, false);\n document.removeEventListener('keyup', this._onKeyupGlobalFunc, false);\n }\n\n /**\n * Toggle the event listeners according to the `noEventListeners` option, if those were not activated/deactivated before\n * @private\n */\n _updateEventListeners() {\n if (!this.settings.noEventListeners && !this.hasEventListeners) {\n // Special case where an update is done on an element that did not activate its event listeners in the first place\n // ie. when an element is first created with `contenteditable=\"false\"`, then an update is done with `anElement.french()`\n this._createEventListeners();\n }\n\n if (this.settings.noEventListeners && this.hasEventListeners) {\n this._removeEventListeners();\n }\n }\n\n /**\n * Mark the parent
    so that other AutoNumeric object will not add more listeners.\n * Add a counter so that when removing the AutoNumeric object, we only remove the submit listener if that count is equal to 0.\n * Also keep a reference to the 'submit' event handler function to be able to remove that handler later if the `_removeFormListener()` function is called from another AutoNumeric object.\n *\n * @private\n */\n _setupFormListener() {\n if (!AutoNumericHelper.isNull(this.parentForm)) {\n // Setup the handler function\n this._onFormSubmitFunc = () => { this._onFormSubmit(); };\n this._onFormResetFunc = () => { this._onFormReset(); };\n\n // Check if the parent form already has the AutoNumeric mark\n if (this._hasParentFormCounter()) {\n this._incrementParentFormCounter();\n } else {\n // If not, add the counter\n this._initializeFormCounterToOne();\n // And add the submit and reset event listeners\n this.parentForm.addEventListener('submit', this._onFormSubmitFunc, false);\n this.parentForm.addEventListener('reset', this._onFormResetFunc, false);\n // Also keep a reference to the handler function so that we can remove it later\n this._storeFormHandlerFunction();\n }\n }\n }\n\n /**\n * Remove the form 'submit' event listener, as well as the `dataset` info (`anCount` and `anFormHandler`) from the parent form, only when there are only one AutoNumeric child element left in that .\n * Otherwise decrement the `anCount`.\n *\n * @private\n */\n _removeFormListener() {\n if (!AutoNumericHelper.isNull(this.parentForm)) {\n // Check the parent form counter value\n const anCount = this._getParentFormCounter();\n\n if (anCount === 1) {\n // If it's 1, remove the listeners\n this.parentForm.removeEventListener('submit', this._getFormHandlerFunction().submitFn, false);\n this.parentForm.removeEventListener('reset', this._getFormHandlerFunction().resetFn, false);\n // Also remove the dataset info\n this._removeFormDataSetInfo();\n } else if (anCount > 1) {\n // Otherwise if it's >1 decrement the counter\n this._decrementParentFormCounter();\n } else {\n // If it's <1, throw an error\n AutoNumericHelper.throwError(`The AutoNumeric object count on the form is incoherent.`);\n }\n }\n }\n\n /**\n * Return `true` if the parent form has the form counter attribute\n *\n * @returns {boolean}\n * @private\n */\n _hasParentFormCounter() {\n return 'anCount' in this.parentForm.dataset;\n }\n\n /**\n * Return the count of AutoNumeric form children\n *\n * @returns {number}\n * @private\n */\n _getParentFormCounter() {\n return Number(this.parentForm.dataset.anCount);\n }\n\n /**\n * Set the count of AutoNumeric form children to 1 for the given form element, or if none are passed, the current `this.parentForm` one.\n *\n * @param {HTMLFormElement|null} formElement\n * @private\n */\n _initializeFormCounterToOne(formElement = null) {\n this._getFormElement(formElement).dataset.anCount = 1;\n }\n\n /**\n * Increment the AutoNumeric form children count for the given form element, or if none are passed, the current `this.parentForm` one.\n *\n * @param {HTMLFormElement|null} formElement\n * @private\n */\n _incrementParentFormCounter(formElement = null) {\n this._getFormElement(formElement).dataset.anCount++;\n }\n\n /**\n * Decrement the AutoNumeric form children count for the current `this.parentForm` form element.\n *\n * @private\n */\n _decrementParentFormCounter() {\n this.parentForm.dataset.anCount--;\n }\n\n /**\n * Return `true` if the global form handler list exists on the `window` object.\n *\n * @returns {boolean}\n * @private\n */\n static _doesFormHandlerListExists() {\n const type = typeof window.aNFormHandlerMap;\n\n return type !== 'undefined' && type === 'object';\n }\n\n /**\n * Create the global form handler list on the `window` object.\n *\n * @private\n */\n static _createFormHandlerList() {\n window.aNFormHandlerMap = new Map(); // I would have used a `WeakMap` here, but that does not allow using non-object for keys\n }\n\n /**\n * Return `true` if the given form element, or if none are passed, the current `this.parentForm` one has a form handler name.\n *\n * @param {HTMLFormElement|null} formElement\n * @returns {boolean}\n * @private\n */\n _hasFormHandlerFunction(formElement = null) {\n return 'anFormHandler' in this._getFormElement(formElement).dataset;\n }\n\n /**\n * Return the given form element, or defaults to `this.parentForm` if no argument is passed.\n *\n * @param {HTMLFormElement|null} formElement\n * @returns {*}\n * @private\n */\n _getFormElement(formElement = null) {\n let formElementToUse;\n if (!AutoNumericHelper.isNull(formElement)) {\n formElementToUse = formElement;\n } else {\n formElementToUse = this.parentForm;\n }\n\n return formElementToUse;\n }\n\n /**\n * Generate a form handler unique name and store it in the global form handler list.\n * This also save that name in the dataset of the given form element.\n *\n * @param {HTMLFormElement|null} formElement\n * @private\n */\n _storeFormHandlerFunction(formElement = null) {\n // Create the weakMap if it does not exist\n if (!this.constructor._doesFormHandlerListExists()) {\n this.constructor._createFormHandlerList();\n }\n\n // Generate a unique name and save it in the form dataset\n const formHandlerName = AutoNumericHelper.randomString();\n this._getFormElement(formElement).dataset.anFormHandler = formHandlerName;\n\n // Add the form handler name and handle function reference to the WeakMap\n window.aNFormHandlerMap.set(formHandlerName, { submitFn: this._onFormSubmitFunc, resetFn: this._onFormResetFunc });\n }\n\n /**\n * Return the form handler key name from the parent form element, for the global form handler list.\n *\n * @returns {string|*}\n * @private\n */\n _getFormHandlerKey() {\n if (!this._hasFormHandlerFunction()) {\n AutoNumericHelper.throwError(`Unable to retrieve the form handler name`);\n }\n\n const formHandlerName = this.parentForm.dataset.anFormHandler;\n if (formHandlerName === '') {\n AutoNumericHelper.throwError(`The form handler name is invalid`);\n }\n\n return formHandlerName;\n }\n\n /**\n * Return the 'submit' event handler function used for the parent form.\n *\n * @returns {function}\n * @private\n */\n _getFormHandlerFunction() {\n const formHandlerName = this._getFormHandlerKey();\n\n return window.aNFormHandlerMap.get(formHandlerName);\n }\n\n /**\n * Remove the dataset attributes `data-an-count` and `data-an-form-handler` from the parent form element.\n *\n * @private\n */\n _removeFormDataSetInfo() {\n // Just in case, set the counter to 0\n this._decrementParentFormCounter();\n // Remove the form handler function from the FormHandlerFunction Map\n window.aNFormHandlerMap.delete(this._getFormHandlerKey());\n // Lastly, remove the dataset attributes\n this.parentForm.removeAttribute('data-an-count');\n this.parentForm.removeAttribute('data-an-form-handler');\n }\n\n /**\n * Set the DOM element write permissions according to the current settings, by setting the `readonly` or `contenteditable` attributes depending of its tag type.\n * If the `useHtmlAttribute` parameter is set to `true`, then the `readonly` html attribute is used and has precedence over the `readOnly` option to set the element as read-only.\n *\n * @param {boolean} useHtmlAttribute If set to `true`, then the write permissions are set by taking into account the html 'readonly' attribute, even if the `readOnly` option is set to false\n * @private\n */\n _setWritePermissions(useHtmlAttribute = false) {\n if ((useHtmlAttribute && this.domElement.readOnly) || this.settings.readOnly) {\n this._setReadOnly();\n } else {\n this._setReadWrite();\n }\n }\n\n /**\n * Set the element to be read-only.\n * If the DOM element tag is not an `input`, then it `contenteditable` attribute is set to `false`.\n *\n * @private\n */\n _setReadOnly() {\n if (this.isInputElement) {\n this.domElement.readOnly = true;\n } else {\n this.domElement.setAttribute('contenteditable', false);\n }\n }\n\n /**\n * Set the element to be read-write.\n *\n * @private\n */\n _setReadWrite() {\n if (this.isInputElement) {\n this.domElement.readOnly = false;\n } else {\n this.domElement.setAttribute('contenteditable', true);\n }\n }\n\n /**\n * Add a watcher so that any external change to the AutoNumeric-managed element would be detected.\n * As soon as such change is detected, AutoNumeric then tries to `set()` the value so that it gets formatted and stored in the history.\n * //XXX For now, this only works when watching the `value` attribute, not the `textContent` one\n * @private\n */\n _addWatcher() {\n // `getterSetter` can be undefined when a non-input element is used\n if (!AutoNumericHelper.isUndefined(this.getterSetter)) {\n const { set: setter, get: getter } = this.getterSetter;\n Object.defineProperty(this.domElement, this.attributeToWatch, {\n configurable: true, // This is needed in some rare cases\n get : () => getter.call(this.domElement),\n set : val => {\n setter.call(this.domElement, val);\n // Only `set()` the value if the modification comes from an external source\n if (this.settings.watchExternalChanges && !this.internalModification) {\n this.set(val);\n }\n },\n });\n }\n\n //FIXME The code above fails for the `textContent` attribute since `this.getterSetter` is undefined when using `getOwnPropertyDescriptor()`\n /* //XXX The code below *almost* work for the textContent, but breaks some unit tests\n this.valueWatched = this.domElement[this.attributeToWatch];\n Object.defineProperty(this.domElement, this.attributeToWatch, {\n configurable: true, // This is needed in some rare cases\n get : () => this.valueWatched,\n set : val => {\n this.valueWatched = val;\n // Only `set()` the value if the modification comes from an external source\n if (this.settings.watchExternalChanges && !this.internalModification) {\n this.set(val);\n }\n },\n });\n */\n }\n\n /**\n * Remove the watcher on the AutoNumeric-managed element\n * Note: This needs to be called when the AutoNumeric element is 'removed', otherwise the getter/setter stays on the DOM element and that can lead to problem if the user initialize another AutoNumeric object on it.\n * @private\n */\n _removeWatcher() {\n // `getterSetter` can be undefined when a non-input element is used\n if (!AutoNumericHelper.isUndefined(this.getterSetter)) {\n const { set: setter, get: getter } = this.getterSetter;\n Object.defineProperty(this.domElement, this.attributeToWatch, {\n configurable: true, // This is needed in some rare cases\n get : () => getter.call(this.domElement),\n set : val => {\n setter.call(this.domElement, val);\n },\n });\n }\n\n //FIXME The code above fails for the `textContent` attribute since `this.getterSetter` is undefined when using `getOwnPropertyDescriptor()`\n /* //XXX The code below *almost* work for the textContent, but breaks some unit tests\n this.valueWatched = this.domElement[this.attributeToWatch];\n Object.defineProperty(this.domElement, this.attributeToWatch, {\n configurable: true, // This is needed in some rare cases\n get : () => this.valueWatched,\n set : val => {\n this.valueWatched = val;\n },\n });\n */\n }\n\n /**\n * Return the name of the object attribute that store the current formatted data in the DOM element.\n *\n * @returns {string}\n * @private\n */\n _getAttributeToWatch() {\n let attributeToWatch;\n if (this.isInputElement) {\n attributeToWatch = 'value';\n } else {\n const nodeType = this.domElement.nodeType;\n if (nodeType === Node.ELEMENT_NODE ||\n nodeType === Node.DOCUMENT_NODE ||\n nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n attributeToWatch = 'textContent';\n } else if (nodeType === Node.TEXT_NODE) {\n attributeToWatch = 'nodeValue';\n }\n }\n\n return attributeToWatch;\n }\n\n /**\n * Save the current raw value into the history table, along with the selection information.\n *\n * If the user has done some undos and tries to enter:\n * - a new and different number than the 'next' state, this drops the rest of the history table\n * - the very same number that result in the same rawValue than the 'next' state, we only move the history table pointer to the next state\n *\n * @private\n */\n _historyTableAdd() {\n //TODO Add a `this.settings.saveSelectionsIntoHistory` option to prevent saving the selections (in order to gain performance)\n const isEmptyHistoryTable = this.historyTable.length === 0;\n // Only add a new value if it's different than the previous one (to prevent infinitely adding values on mouseover for instance)\n if (isEmptyHistoryTable || this.rawValue !== this._historyTableCurrentValueUsed()) {\n // Trim the history table if the user changed the value of an intermediary state\n let addNewHistoryState = true;\n if (!isEmptyHistoryTable) {\n // If some undo has been done and the user type the exact same data than the next entry after the current history pointer, do no drop the rest of the 'redo' list, and just advance the historyTableIndex\n const nextHistoryStateIndex = this.historyTableIndex + 1;\n if (nextHistoryStateIndex < this.historyTable.length && this.rawValue === this.historyTable[nextHistoryStateIndex].value) {\n // If the character input result in the same state than the next one, do not remove the next history states nor add a new one\n addNewHistoryState = false;\n } else {\n // First remove anything that is after the current index\n AutoNumericHelper.arrayTrim(this.historyTable, this.historyTableIndex + 1);\n }\n }\n\n // Update the history pointer\n this.historyTableIndex++;\n\n // Add the new history state, if needed\n if (addNewHistoryState) {\n // Save the selection info\n const selection = AutoNumericHelper.getElementSelection(this.domElement);\n this.selectionStart = selection.start;\n this.selectionEnd = selection.end;\n\n // Then add the new raw value\n this.historyTable.push({\n // Save the rawValue and selection start/end\n value: this.rawValue,\n // The selection for this element is temporary, and will be updated when the next history state will be recorded.\n // That way, we are always sure we save the last caret or selection positions just before the value is changed. Otherwise we would only save those positions when the value is first changed, and would not take into account that the user could move the caret around afterward.\n // For instance, this is needed if the user change the element value, and immediately undo it ; if he then does a redo, he'll see the value and the right selection\n // To sum up; The selection position are not always +1 character, since it could also be '2' if a group separator is added when entering one character. That's why the current history state caret/selection position is updated on each `keyup` event.\n start: this.selectionStart + 1, // Here we add one since the user added one character too\n end : this.selectionEnd + 1,\n });\n\n // Update the selection in the previous entry, in order to keep track of the updated caret/selection positions\n if (this.historyTable.length > 1) {\n this.historyTable[this.historyTableIndex - 1].start = this.selectionStart;\n this.historyTable[this.historyTableIndex - 1].end = this.selectionEnd;\n }\n }\n\n // Limit the history table size according to the `historySize` option\n if (this.historyTable.length > this.settings.historySize) {\n this._historyTableForget();\n }\n }\n }\n\n /**\n * Debug function for the history table\n * @private\n */\n /*\n _debugHistoryTable() {\n let i = 0;\n let mark;\n this.historyTable.forEach(history => {\n if (this.historyTableIndex === i) {\n mark = '> ';\n } else {\n mark = '';\n }\n console.log(`${mark}${i++}: ${history.value} ${history.start}|${history.end} [onGoingRedo: ${this.onGoingRedo}]`); //DEBUG\n });\n }\n */\n\n /**\n * 'Undo' or 'Redo' the last/next user entry in the history table.\n * This does not modify the history table, only the pointer to the current state.\n *\n * @param {boolean} undo If set to `true`, then this function does an 'Undo', otherwise it does a 'Redo'\n * @private\n */\n _historyTableUndoOrRedo(undo = true) {\n let check;\n if (undo) {\n // Only 'undo' if there are some info to undo\n check = this.historyTableIndex > 0;\n if (check) {\n this.historyTableIndex--;\n }\n } else {\n // Only 'redo' if there are some info to redo at the end of the history table\n check = this.historyTableIndex + 1 < this.historyTable.length;\n if (check) {\n this.historyTableIndex++;\n }\n }\n\n if (check) {\n // Set the value back\n const undoInfo = this.historyTable[this.historyTableIndex];\n this.set(undoInfo.value, null, false); // next or previous raw value\n\n // Set the selection back\n AutoNumericHelper.setElementSelection(this.domElement, undoInfo.start, undoInfo.end);\n }\n }\n\n /**\n * 'Undo' the last user entry by going back one entry in the history table.\n * This keeps the following entries in order to allow for a 'redo'.\n * This does not modify the history table, only the pointer to the current state.\n * @private\n */\n _historyTableUndo() {\n this._historyTableUndoOrRedo(true);\n }\n\n /**\n * 'Redo' the next user entry in the history table.\n * This does not modify the history table, only the pointer to the current state.\n * @private\n */\n _historyTableRedo() {\n this._historyTableUndoOrRedo(false);\n }\n\n /**\n * Reset the history table to its initial state, and select the value.\n * @private\n */\n /*\n resetHistoryTable() { //FIXME Test this\n this.set(this.rawValue, null, false);\n this.select();\n const selection = AutoNumericHelper.getElementSelection(this.domElement);\n this.historyTableIndex = 0;\n this.historyTable = [{\n // Save the rawValue and selection start/end\n value: this.rawValue,\n start: selection.start,\n end : selection.end,\n }];\n }\n */\n\n /**\n * Make the history table forget its first N elements, shifting its indexes in the process.\n * `N` being given as the `numberOfEntriesToForget` parameter.\n *\n * @param {Number} numberOfEntriesToForget\n * @returns {object|Array} The discarded objects, in an Array.\n * @private\n */\n _historyTableForget(numberOfEntriesToForget = 1) {\n const shiftedAway = [];\n for (let i = 0; i < numberOfEntriesToForget; i++) {\n shiftedAway.push(this.historyTable.shift());\n // Update the history table index accordingly\n this.historyTableIndex--;\n if (this.historyTableIndex < 0) {\n // In case this function is called more times than there is states in the history table\n this.historyTableIndex = 0;\n }\n }\n\n if (shiftedAway.length === 1) {\n return shiftedAway[0];\n }\n\n return shiftedAway;\n }\n\n /**\n * Return the currently used value from the history table.\n *\n * @returns {string|number}\n * @private\n */\n _historyTableCurrentValueUsed() {\n let indexToUse = this.historyTableIndex;\n if (indexToUse < 0) {\n indexToUse = 0;\n }\n\n let result;\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(this.historyTable[indexToUse])) {\n result = '';\n } else {\n result = this.historyTable[indexToUse].value;\n }\n\n return result;\n }\n\n /**\n * Parse the `styleRules` option and run the test for each given rules, either pre-defined ones like `positive`, `negative` and `ranges`, or user defined callbacks within the `userDefined` attribute.\n * @private\n */\n _parseStyleRules() {\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(this.settings.styleRules) || this.rawValue === '') {\n return;\n }\n\n // 'positive' attribute\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(this.settings.styleRules.positive)) {\n if (this.rawValue >= 0) {\n this._addCSSClass(this.settings.styleRules.positive);\n } else {\n this._removeCSSClass(this.settings.styleRules.positive);\n }\n }\n\n // 'negative' attribute\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(this.settings.styleRules.negative)) {\n if (this.rawValue < 0) {\n this._addCSSClass(this.settings.styleRules.negative);\n } else {\n this._removeCSSClass(this.settings.styleRules.negative);\n }\n }\n\n // 'ranges' attribute\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(this.settings.styleRules.ranges) && this.settings.styleRules.ranges.length !== 0) {\n this.settings.styleRules.ranges.forEach(range => {\n if (this.rawValue >= range.min && this.rawValue < range.max) {\n this._addCSSClass(range.class);\n } else {\n this._removeCSSClass(range.class);\n }\n });\n }\n\n // 'userDefined' attribute\n //TODO Also pass the old raw value as a parameter, and not only the new raw value\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(this.settings.styleRules.userDefined) && this.settings.styleRules.userDefined.length !== 0) {\n this.settings.styleRules.userDefined.forEach(userObject => {\n if (AutoNumericHelper.isFunction(userObject.callback)) {\n // Test for the type of the `classes` attribute, which changes the function behavior\n if (AutoNumericHelper.isString(userObject.classes)) {\n // If 'classes' is a string, set it if `true`, remove it if `false`\n if (userObject.callback(this.rawValue)) {\n this._addCSSClass(userObject.classes);\n } else {\n this._removeCSSClass(userObject.classes);\n }\n } else if (AutoNumericHelper.isArray(userObject.classes)) {\n if (userObject.classes.length === 2) {\n // If 'classes' is an array with only 2 elements, set the first class if `true`, the second if `false`\n if (userObject.callback(this.rawValue)) {\n this._addCSSClass(userObject.classes[0]);\n this._removeCSSClass(userObject.classes[1]);\n } else {\n this._removeCSSClass(userObject.classes[0]);\n this._addCSSClass(userObject.classes[1]);\n }\n } else if (userObject.classes.length > 2) {\n // The callback returns an array of indexes to use on the `classes` array\n const callbackResult = userObject.callback(this.rawValue);\n if (AutoNumericHelper.isArray(callbackResult)) {\n // If multiple indexes are returned\n userObject.classes.forEach((userClass, index) => {\n if (AutoNumericHelper.isInArray(index, callbackResult)) {\n this._addCSSClass(userClass);\n } else {\n this._removeCSSClass(userClass);\n }\n });\n } else if (AutoNumericHelper.isInt(callbackResult)) {\n // If only one index is returned\n userObject.classes.forEach((userClass, index) => {\n if (index === callbackResult) {\n this._addCSSClass(userClass);\n } else {\n this._removeCSSClass(userClass);\n }\n });\n } else if (AutoNumericHelper.isNull(callbackResult)) {\n // Remove all the classes\n userObject.classes.forEach(userClass => {\n this._removeCSSClass(userClass);\n });\n } else {\n AutoNumericHelper.throwError(`The callback result is not an array nor a valid array index, ${typeof callbackResult} given.`);\n }\n } else {\n AutoNumericHelper.throwError('The classes attribute is not valid for the `styleRules` option.');\n }\n } else if (AutoNumericHelper.isUndefinedOrNullOrEmpty(userObject.classes)) {\n // If 'classes' is `undefined` or `null`, then the callback is called with the AutoNumeric object passed as a parameter\n userObject.callback(this);\n } else {\n AutoNumericHelper.throwError('The callback/classes structure is not valid for the `styleRules` option.');\n }\n } else {\n AutoNumericHelper.warning(`The given \\`styleRules\\` callback is not a function, ${typeof callback} given.`, this.settings.showWarnings);\n }\n });\n }\n }\n\n /**\n * Add the given CSS class to the DOM element.\n *\n * @param {string} cssClassName\n * @private\n */\n _addCSSClass(cssClassName) {\n this.domElement.classList.add(cssClassName);\n }\n\n /**\n * Remove the given CSS class from the DOM element.\n *\n * @param {string} cssClassName\n * @private\n */\n _removeCSSClass(cssClassName) {\n this.domElement.classList.remove(cssClassName);\n }\n\n // This are the public function available on each autoNumeric-managed element\n\n /**\n * Method that updates the AutoNumeric settings, and immediately format the element accordingly.\n * The options passed as parameter(s) is either one or many objects that each contains some settings, ie. :\n * {\n * digitGroupSeparator: \".\",\n * decimalCharacter: \",\",\n * currencySymbol: '€ ',\n * }\n * If multiple options are passed, the latter overwrite the previous ones.\n *\n * Note: If the new settings are not validated, or the call to `set()` fails, then the previous valid settings are reverted back to.\n *\n * @example anElement.update({ options }) // Updates the settings\n * @example anElement.update({ options1 }, { options2 }) // Updates the settings with multiple option objects\n * @example anElement.update([{ options1 }, { options2 }]) // Updates the settings with multiple option objects in a single array\n *\n * @param {object|string|array} newOptions\n * @returns {AutoNumeric}\n */\n update(...newOptions) {\n if (Array.isArray(newOptions) && Array.isArray(newOptions[0])) {\n // Allows to pass a single array of options\n newOptions = newOptions[0];\n }\n\n // Keep a copy of the original settings before changing them, in case they do not validate correctly, so we can switch back to them\n const originalSettings = AutoNumericHelper.cloneObject(this.settings); //TODO Check that the `styleRules` option is correctly cloned (due to depth cloning limitation)\n\n // Store the current unformatted input value\n const numericString = this.rawValue;\n\n // Generate a single option object with the settings from the latter overwriting those from the former\n let optionsToUse = {};\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(newOptions) || newOptions.length === 0) {\n optionsToUse = null;\n } else if (newOptions.length >= 1) {\n newOptions.forEach(optionObject => {\n if (this.constructor._isPreDefinedOptionValid(optionObject)) {\n // The option object is a predefined option name (ie. 'euro')\n optionObject = this.constructor._getOptionObject(optionObject);\n }\n\n Object.assign(optionsToUse, optionObject);\n });\n }\n\n // Update the settings\n try {\n this._setSettings(optionsToUse, true);\n this._setWritePermissions(); // Update the read/write permissions\n this._updateEventListeners();\n\n // Reformat the input value with the new settings\n // Note: we always `set`, even when `numericString` is the empty string '', since `emptyInputBehavior` (set to `always` or `zero`) can change how the empty input is formatted\n this.set(numericString);\n } catch (error) {\n // If the settings validation fails, then we switch back to the previous valid settings\n this._setSettings(originalSettings, true); // `_setSettings()` is used here instead of directly doing `this.settings = originalSettings;` since lots of side variables are calculated from the settings, and we need to get those back to their previous state. Note: `_setSettings()` is called in the 'update' mode in order to correctly set back the `originalDecimalPlacesRawValue` value.\n AutoNumericHelper.throwError(`Unable to update the settings, those are invalid: [${error}]`);\n\n return this;\n }\n\n return this;\n }\n\n /**\n * Return the options object containing all the current autoNumeric settings in effect.\n * You can then directly access each option by using its name : `anElement.getSettings().optionNameAutoCompleted`.\n *\n * @example\n * anElement.getSettings()\n * anElement.getSettings().decimalCharacter // Return the decimalCharacter setting as a string - any valid option name can be used\n *\n * @returns {object}\n */\n getSettings() {\n return this.settings;\n }\n\n /**\n * Set the given element value, and format it immediately.\n * Additionally, this `set()` method can accept options that will be merged into the current AutoNumeric element, taking precedence over any previous settings.\n *\n * @example anElement.set('12345.67') // Formats the value\n * @example anElement.set(12345.67) // Formats the value\n * @example anElement.set(12345.67, { decimalCharacter : ',' }) // Update the settings and formats the value in one go\n * @example anElement.northAmerican().set('$12,345.67') // Set an already formatted value (this does not _exactly_ respect the currency symbol/negative placements, but only remove all non-numbers characters, according to the ones given in the settings)\n * @example anElement.set(null) // Set the rawValue and element value to `null`\n *\n * @param {number|string|null} newValue The value must be a Number, a numeric string or `null` (if `emptyInputBehavior` is set to `'null'`)\n * @param {object} options A settings object that will override the current settings. Note: the update is done only if the `newValue` is defined.\n * @param {boolean} saveChangeToHistory If set to `true`, then the change is recorded in the history table\n * @returns {AutoNumeric}\n * @throws\n */\n set(newValue, options = null, saveChangeToHistory = true) {\n //TODO Add the `saveSettings` options. If `true`, then when `options` is passed, then it overwrite the current `this.settings`. If `false` the `options` are only used once and `this.settings` is not modified\n if (AutoNumericHelper.isUndefined(newValue)) {\n AutoNumericHelper.warning(`You are trying to set an 'undefined' value ; an error could have occurred.`, this.settings.showWarnings);\n return this;\n }\n\n // The options update is done only if the `newValue` is not `undefined`\n if (!AutoNumericHelper.isNull(options)) {\n this._setSettings(options, true); // We do not call `update` here since this would call `set` too\n }\n\n if (newValue === null && this.settings.emptyInputBehavior !== AutoNumeric.options.emptyInputBehavior.null) {\n AutoNumericHelper.warning(`You are trying to set the \\`null\\` value while the \\`emptyInputBehavior\\` option is set to ${this.settings.emptyInputBehavior}. If you want to be able to set the \\`null\\` value, you need to change the 'emptyInputBehavior' option to \\`'null'\\`.`, this.settings.showWarnings);\n return this;\n }\n\n let value;\n if (newValue === null) {\n //TODO Merge this into a global `if (newValue === null) {` test, with the test above\n // Here this.settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.null\n this._setElementAndRawValue(null, null, saveChangeToHistory);\n this._saveValueToPersistentStorage();\n\n return this;\n }\n\n value = this.constructor._toNumericValue(newValue, this.settings);\n if (isNaN(Number(value))) {\n //TODO Do not modify the element value if the newValue results in `NaN`. Make sure the settings, if modified, are revert back too.\n AutoNumericHelper.warning(`The value you are trying to set results in \\`NaN\\`. The element value is set to the empty string instead.`, this.settings.showWarnings);\n this.setValue('', saveChangeToHistory);\n\n return this;\n }\n\n if (value === '') {\n switch (this.settings.emptyInputBehavior) {\n case AutoNumeric.options.emptyInputBehavior.zero:\n value = 0;\n break;\n case AutoNumeric.options.emptyInputBehavior.min:\n value = this.settings.minimumValue;\n break;\n case AutoNumeric.options.emptyInputBehavior.max:\n value = this.settings.maximumValue;\n break;\n default:\n if (AutoNumericHelper.isNumber(this.settings.emptyInputBehavior)) {\n value = Number(this.settings.emptyInputBehavior);\n }\n }\n }\n\n if (value !== '') {\n const [minTest, maxTest] = this.constructor._checkIfInRangeWithOverrideOption(value, this.settings);\n\n // Modify the formatted value if the rawValue is found in the `valuesToStrings` option\n if (minTest && maxTest && this.settings.valuesToStrings && this._checkValuesToStrings(value)) {\n // Set the raw value normally, and the formatted value with the corresponding string\n this._setElementAndRawValue(this.settings.valuesToStrings[value], value, saveChangeToHistory);\n this._saveValueToPersistentStorage();\n\n return this;\n }\n\n // This test is needed by the `showPositiveSign` option\n const isZero = AutoNumericHelper.isZeroOrHasNoValue(value);\n if (isZero) {\n value = '0';\n }\n\n if (minTest && maxTest) {\n let forcedRawValue = this.constructor._roundRawValue(value, this.settings);\n forcedRawValue = this._trimLeadingAndTrailingZeros(forcedRawValue.replace(this.settings.decimalCharacter, '.')); // Move the `setRawValue` call after the `setElementValue` one\n value = this._getRawValueToFormat(value); // Multiply the raw value to obtain the formatted value\n\n // Round the given value according to the object state (focused/unfocused)\n if (this.isFocused) {\n value = this.constructor._roundFormattedValueShownOnFocus(value, this.settings);\n } else {\n if (this.settings.divisorWhenUnfocused) {\n value = value / this.settings.divisorWhenUnfocused;\n value = value.toString();\n }\n\n value = this.constructor._roundFormattedValueShownOnBlur(value, this.settings);\n }\n\n value = this.constructor._modifyNegativeSignAndDecimalCharacterForFormattedValue(value, this.settings);\n value = this.constructor._addGroupSeparators(value, this.settings, this.isFocused, this.rawValue, forcedRawValue);\n if (!this.isFocused && this.settings.symbolWhenUnfocused) {\n value = `${value}${this.settings.symbolWhenUnfocused}`;\n }\n\n if (this.settings.decimalPlacesShownOnFocus || this.settings.divisorWhenUnfocused) {\n this._saveValueToPersistentStorage();\n }\n\n this._setElementAndRawValue(value, forcedRawValue, saveChangeToHistory);\n\n // Special case when the user is allowed to enter invalid numbers outside of the min/max range\n this._setValidOrInvalidState(forcedRawValue);\n\n return this;\n } else {\n this._triggerRangeEvents(minTest, maxTest);\n AutoNumericHelper.throwError(`The value [${value}] being set falls outside of the minimumValue [${this.settings.minimumValue}] and maximumValue [${this.settings.maximumValue}] range set for this element`);\n\n this._removeValueFromPersistentStorage();\n this.setValue('', saveChangeToHistory); //TODO Shouldn't we just drop that faulty newValue and keep the previous one? This is behind a `throwError()` call anyway..\n\n return this;\n }\n } else {\n // Here, `value` equal the empty string `''`\n let result;\n if (this.settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.always) {\n // Keep the currency symbol as per emptyInputBehavior\n result = this.settings.currencySymbol;\n } else {\n result = '';\n }\n\n this._setElementAndRawValue(result, '', saveChangeToHistory);\n\n return this;\n }\n }\n\n /**\n * Set the given value directly as the DOM element value, without formatting it beforehand.\n * You can also set the value and update the setting in one go (the value will again not be formatted immediately).\n *\n * @param {number|string} value\n * @param {object} options\n * @returns {AutoNumeric}\n * @throws\n */\n setUnformatted(value, options = null) {\n //TODO Should we use `AutoNumeric.unformat()` here and set the unformatted result in case `value` is formatted?\n if (value === null || AutoNumericHelper.isUndefined(value)) {\n return this;\n }\n\n // The options update is done only if the `value` is not null\n if (!AutoNumericHelper.isNull(options)) {\n this._setSettings(options, true); // We do not call `update` here since this would call `set` too\n }\n\n const strippedValue = this.constructor._removeBrackets(value, this.settings);\n const normalizedValue = this.constructor._stripAllNonNumberCharacters(strippedValue, this.settings, true, this.isFocused);\n if (!AutoNumericHelper.isNumber(normalizedValue)) {\n AutoNumericHelper.throwError(`The value is not a valid one, it's not a numeric string nor a recognized currency.`);\n }\n\n if (this.constructor._isWithinRangeWithOverrideOption(normalizedValue, this.settings)) {\n // If the `normalizedValue` is in the range\n this.setValue(value);\n } else {\n AutoNumericHelper.throwError(`The value is out of the range limits [${this.settings.minimumValue}, ${this.settings.maximumValue}].`);\n }\n\n return this;\n }\n\n /**\n * Set the given value directly as the DOM element value, without formatting it beforehand, and without checking its validity.\n * This also updates the `rawValue` with the given `newValue`, without checking it too ; if it's not formatted like a number recognized by Javascript, this *will* likely make other AutoNumeric methods fail.\n *\n * @param {string|number|null} newValue The new value to set on the element\n * @param {boolean} saveChangeToHistory If set to `true`, then the change is recorded in the history array, otherwise it is not\n * @returns {AutoNumeric}\n */\n setValue(newValue, saveChangeToHistory = true) {\n this._setElementAndRawValue(newValue, saveChangeToHistory);\n\n return this;\n }\n\n /**\n * Save the raw value inside the AutoNumeric object.\n *\n * @param {number|string|null} rawValue The numeric value as understood by Javascript like a `Number`\n * @param {boolean} saveChangeToHistory If set to `true`, then the change is recorded in the history array, otherwise it is not\n * @private\n */\n _setRawValue(rawValue, saveChangeToHistory = true) {\n // Only set the raw value if the given value is different than the current one\n if (this.rawValue !== rawValue) { //TODO Manage the case where one value is a string while the other is a number?\n const oldRawValue = this.rawValue;\n // Update the raw value\n this.rawValue = rawValue; // By default, if the `rawValue` is changed programmatically\n\n if ((!AutoNumericHelper.isNull(this.settings.rawValueDivisor) && this.settings.rawValueDivisor !== 0) && // Only divide if the `rawValueDivisor` option is set\n rawValue !== '' && rawValue !== null && // Do not modify the `rawValue` if it's an empty string or null\n this._isUserManuallyEditingTheValue()) { // If the user is manually changing the element value\n this.rawValue /= this.settings.rawValueDivisor;\n }\n\n // Broadcast the `rawValueModified` event since the `rawValue` has been modified\n this._triggerEvent(AutoNumeric.events.rawValueModified, this.domElement, {\n oldRawValue,\n newRawValue: this.rawValue,\n isPristine : this.isPristine(true),\n error : null,\n aNElement : this,\n });\n\n // Change the element style or use the relevant callbacks\n this._parseStyleRules();\n\n if (saveChangeToHistory) {\n // Save in the history the last known raw value and formatted result selection\n this._historyTableAdd();\n }\n }\n }\n\n /**\n * Set the given value on the DOM element, without affecting the `rawValue`.\n * This send an 'autoNumeric:formatted' event if the new value is different than the old one.\n *\n * @param {number|string} newElementValue\n * @param {boolean} sendFormattedEvent If set to `true`, then the `AutoNumeric.events.formatted` event is sent if the value has changed\n * @returns {AutoNumeric}\n * @private\n */\n _setElementValue(newElementValue, sendFormattedEvent = true) {\n //TODO Use an internal attribute to track the current value of the element `formattedValue` (like its counterpart `rawValue`). This would allow us to avoid calling `getElementValue` many times\n const oldElementValue = AutoNumericHelper.getElementValue(this.domElement);\n\n // Only update the value if it's different from the current one\n if (newElementValue !== oldElementValue) {\n this.internalModification = true;\n AutoNumericHelper.setElementValue(this.domElement, newElementValue);\n this.internalModification = false;\n\n if (sendFormattedEvent) {\n this._triggerEvent(AutoNumeric.events.formatted, this.domElement, {\n oldValue : oldElementValue,\n newValue : newElementValue,\n oldRawValue: this.rawValue,\n newRawValue: this.rawValue,\n isPristine : this.isPristine(false),\n error : null,\n aNElement : this,\n });\n }\n }\n\n return this;\n }\n\n /**\n * Set the given value on the DOM element, and the raw value on `this.rawValue`, if both are given.\n * If only one value is given, then both the DOM element value and the raw value are set with that value.\n * The third argument `saveChangeToHistory` defines if the change should be recorded in the history array.\n * Note: if the second argument `rawValue` is a boolean, we consider that is really is the `saveChangeToHistory` argument.\n *\n * @param {number|string|null} newElementValue\n * @param {number|string|null|boolean} rawValue\n * @param {boolean} saveChangeToHistory\n * @returns {AutoNumeric}\n * @private\n */\n _setElementAndRawValue(newElementValue, rawValue = null, saveChangeToHistory = true) {\n if (AutoNumericHelper.isNull(rawValue)) {\n rawValue = newElementValue;\n } else if (AutoNumericHelper.isBoolean(rawValue)) {\n saveChangeToHistory = rawValue;\n rawValue = newElementValue;\n }\n\n //XXX The order here is important ; the value should first be set on the element, then and only then we should update the raw value\n // In the `set()` function, we make sure to call `_setRawValue` *after* `setElementValue` so that if `_setRawValue` calls a callback that modify the `rawValue`, then the new value is set correctly (after `setElementValue` briefly set its value first)\n this._setElementValue(newElementValue);\n this._setRawValue(rawValue, saveChangeToHistory);\n\n return this;\n }\n\n /**\n * Return the multiplied raw value with the `rawValueDivisor`.\n * This is used to display different values between the raw and formatted values.\n *\n * @param {number|string|null} rawValue The numeric value as understood by Javascript like a `Number`\n * @returns {number|string|null}\n * @private\n */\n _getRawValueToFormat(rawValue) {\n let rawValueForTheElementValue;\n if ((!AutoNumericHelper.isNull(this.settings.rawValueDivisor) && this.settings.rawValueDivisor !== 0) && // Only multiply if the `rawValueDivisor` option is set\n rawValue !== '' && rawValue !== null) { // Do not modify the `rawValue` if it's an empty string or null\n // !this._isUserManuallyEditingTheValue()) { // If the user is NOT manually changing the element value, but that is done programmatically\n rawValueForTheElementValue = rawValue * this.settings.rawValueDivisor;\n } else {\n rawValueForTheElementValue = rawValue;\n }\n\n return rawValueForTheElementValue;\n }\n\n /**\n * Check if the given value has a corresponding key in the `valuesToStrings` option object.\n *\n * @param {number|string} value\n * @returns {boolean} Returns `true` if such a key is found.\n * @private\n */\n _checkValuesToStrings(value) {\n return this.constructor._checkValuesToStringsArray(value, this.valuesToStringsKeys);\n }\n\n /**\n * Check if the given value has a corresponding key in the `stringsArray` array.\n *\n * @param {number|string} key\n * @param {array} stringsArray Array where the `key` is checked against its keys\n * @returns {boolean} Returns `true` if such a key is found.\n * @private\n */\n static _checkValuesToStringsArray(key, stringsArray) {\n return AutoNumericHelper.isInArray(String(key), stringsArray);\n }\n\n /**\n * Static helper for checking if the given `key` is found in the settings' `valuesToStrings` option object.\n *\n * @param {number|string} key\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _checkValuesToStringsSettings(key, settings) {\n return this._checkValuesToStringsArray(key, Object.keys(settings.valuesToStrings));\n }\n\n /**\n * Static helper for checking if the given `value` is found in the settings' `valuesToStrings` option object.\n *\n * @param {number|string} value\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _checkStringsToValuesSettings(value, settings) {\n return this._checkValuesToStringsArray(value, Object.values(settings.valuesToStrings));\n }\n\n /**\n * Return `true` if the user is currently modifying the element value manually.\n *\n * @returns {boolean}\n * @private\n */\n _isUserManuallyEditingTheValue() {\n // return (this.isFocused && this.isEditing) || this.isWheelEvent || this.isDropEvent;\n return (this.isFocused && this.isEditing) || this.isDropEvent;\n }\n\n /**\n * Execute the given callback function using the given result as its first parameter, and the AutoNumeric object as its second.\n *\n * @param {number|string|Array|null} result\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n * @private\n */\n _executeCallback(result, callback) {\n if (!AutoNumericHelper.isNull(callback) && AutoNumericHelper.isFunction(callback)) {\n callback(result, this);\n }\n }\n\n /**\n * Trigger the given event on the given element with the given detail.\n * This takes into account the `eventBubbles` and `eventIsCancelable` options.\n *\n * @param {string} eventName\n * @param {HTMLElement|HTMLDocument|EventTarget} element\n * @param {object} detail\n * @private\n */\n _triggerEvent(eventName, element = document, detail = null) {\n AutoNumericHelper.triggerEvent(eventName, element, detail, this.settings.eventBubbles, this.settings.eventIsCancelable);\n }\n\n /**\n * Alias of the `getNumericString()` function.\n * Developers should use one of the more explicit function names to get what they want :\n * - a numeric string : `getNumericString()`\n * - a formatted string : `getFormatted()`\n * - a number : `getNumber()`, or\n * - a localized numeric string : `getLocalized()`\n *\n * @usage anElement.get();\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n *\n * @deprecated\n * @returns {string|null}\n */\n get(callback = null) {\n return this.getNumericString(callback);\n }\n\n /**\n * Return the unformatted value as a string.\n * This can also return `null` if `rawValue` is null.\n *\n * @usage anElement.getNumericString();\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n *\n * @returns {string|null}\n */\n getNumericString(callback = null) {\n let result;\n if (AutoNumericHelper.isNull(this.rawValue)) {\n result = null;\n } else {\n // Always return a numeric string\n // The following statement gets rid of the trailing zeros in the decimal places since the current method does not pad decimals\n result = AutoNumericHelper.trimPaddedZerosFromDecimalPlaces(this.rawValue);\n }\n\n this._executeCallback(result, callback);\n\n return result;\n }\n\n /**\n * Return the current formatted value of the AutoNumeric element as a string\n *\n * @usage anElement.getFormatted()\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n *\n * @returns {string}\n */\n getFormatted(callback = null) {\n if (!('value' in this.domElement || 'textContent' in this.domElement)) {\n // Make sure `.value` or `.textContent' exists before trying to access those properties\n AutoNumericHelper.throwError('Unable to get the formatted string from the element.');\n }\n\n const result = AutoNumericHelper.getElementValue(this.domElement);\n this._executeCallback(result, callback);\n\n return result;\n }\n\n /**\n * Return the element unformatted value as a real Javascript number.\n * Warning: This can lead to precision problems with big numbers that should be stored as strings.\n *\n * @usage anElement.getNumber()\n *\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n *\n * @returns {number|null}\n */\n getNumber(callback = null) {\n let result;\n if (this.rawValue === null) {\n result = null;\n } else {\n result = this.constructor._toLocale(this.getNumericString(), 'number', this.settings);\n }\n\n this._executeCallback(result, callback);\n\n return result;\n }\n\n /**\n * Returns the unformatted value, but following the `outputFormat` setting, which means the output can either be :\n * - a string (that could or could not represent a number (ie. \"12345,67-\")), or\n * - a plain number (if the setting 'number' is used).\n *\n * By default the returned values are an ISO numeric string \"1234.56\" or \"-1234.56\" where the decimal character is a period.\n * Check the \"outputFormat\" option definition for more details.\n *\n * @usage anElement.getLocalized();\n *\n * @param {null|string|function} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @param {function|null} callback If a callback is passed, then the result is passed to it as its first argument, and the AutoNumeric object has its second\n *\n * @returns {*}\n */\n getLocalized(forcedOutputFormat = null, callback = null) {\n // First, check if only a callback has been passed, and if so, sanitize the parameters\n if (AutoNumericHelper.isFunction(forcedOutputFormat) && AutoNumericHelper.isNull(callback)) {\n callback = forcedOutputFormat;\n forcedOutputFormat = null;\n }\n\n // Then get the localized value\n let value;\n if (AutoNumericHelper.isEmptyString(this.rawValue)) {\n value = '';\n } else {\n // Here I use `this.rawValue` instead of `this.getNumericString()` since the current input value could be unformatted with a localization (ie. '1234567,89-').\n // I also convert the rawValue to a number, then back to a string in order to drop the decimal part if the rawValue is an integer.\n value = ''+Number(this.rawValue);\n }\n\n if (value !== '' && Number(value) === 0 && this.settings.leadingZero !== AutoNumeric.options.leadingZero.keep) {\n value = '0';\n }\n\n let outputFormatToUse;\n if (AutoNumericHelper.isNull(forcedOutputFormat)) {\n outputFormatToUse = this.settings.outputFormat;\n } else {\n outputFormatToUse = forcedOutputFormat;\n }\n\n const result = this.constructor._toLocale(value, outputFormatToUse, this.settings);\n this._executeCallback(result, callback);\n\n return result;\n }\n\n /**\n * Force the element to reformat its value again (just in case the formatting has been lost).\n * This can be used right after a form submission for instance (after a previous call to `unformat`).\n *\n * @example anElement.reformat()\n *\n * @returns {AutoNumeric}\n */\n reformat() {\n // `this.rawValue` is used instead of `this.domElement.value` because when the content is `unformatLocalized`, it can become a string that cannot be converted to a number easily\n this.set(this.rawValue);\n\n return this;\n }\n\n /**\n * Remove the formatting and keep only the raw unformatted value in the element (as a numericString)\n * Note: this is loosely based on the previous 'unSet()' function\n *\n * By default, values are returned as ISO numeric strings (ie. \"1234.56\" or \"-1234.56\"), where the decimal character is a period.\n * @example anElement.unformat()\n *\n * @returns {AutoNumeric}\n */\n unformat() {\n this._setElementValue(this.getNumericString());\n\n return this;\n }\n\n /**\n * Remove the formatting and keep only the localized unformatted value in the element, with the option to override the default outputFormat if needed\n *\n * Locale formats are supported \"1234.56-\" or \"1234,56\" or \"-1234,56 or \"1234,56-\", or even plain numbers.\n * Take a look at the `outputFormat` option definition in the default settings for more details.\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {AutoNumeric}\n */\n unformatLocalized(forcedOutputFormat = null) {\n this._setElementValue(this.getLocalized(forcedOutputFormat));\n\n return this;\n }\n\n /**\n * Return `true` if the current value is the same as when the element got initialized.\n * Note: By default, this returns `true` if the raw unformatted value is still the same even if the formatted one has changed (due to a configuration update for instance).\n * In order to test if the formatted value is the same (which means neither the raw value nor the settings have been changed), then you must pass `false` as its argument.\n *\n * @param {boolean} checkOnlyRawValue If set to `true`, the pristine value is done on the raw unformatted value, not the formatted one. If set to `false`, this also checks that the formatted value hasn't changed.\n * @returns {boolean}\n */\n isPristine(checkOnlyRawValue = true) {\n let result;\n if (checkOnlyRawValue) {\n result = this.initialValue === this.getNumericString();\n } else {\n result = this.initialValueHtmlAttribute === this.getFormatted();\n }\n\n return result;\n }\n\n /**\n * Select the formatted element content, based on the `selectNumberOnly` option\n *\n * @returns {AutoNumeric}\n */\n select() {\n if (this.settings.selectNumberOnly) {\n this.selectNumber();\n } else {\n this._defaultSelectAll();\n }\n\n return this;\n }\n\n /**\n * Select the whole element content (including the currency symbol).\n * @private\n */\n _defaultSelectAll() {\n AutoNumericHelper.setElementSelection(this.domElement, 0, AutoNumericHelper.getElementValue(this.domElement).length);\n }\n\n /**\n * Select only the numbers in the formatted element content, leaving out the currency symbol, whatever the value of the `selectNumberOnly` option\n *\n * @returns {AutoNumeric}\n */\n selectNumber() {\n //TODO Make sure the selection is ok when showPositiveSign is set to `true` (select the negative sign, but not the positive one)\n const unformattedValue = AutoNumericHelper.getElementValue(this.domElement);\n const valueLen = unformattedValue.length;\n const currencySymbolSize = this.settings.currencySymbol.length;\n const currencySymbolPlacement = this.settings.currencySymbolPlacement;\n const negLen = (!AutoNumericHelper.isNegative(unformattedValue, this.settings.negativeSignCharacter))?0:1;\n const suffixTextLen = this.settings.suffixText.length;\n\n let start;\n if (currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n start = 0;\n } else if (this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.left &&\n negLen === 1 && currencySymbolSize > 0) {\n start = currencySymbolSize + 1;\n } else {\n start = currencySymbolSize;\n }\n\n let end;\n if (currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n end = valueLen - suffixTextLen;\n } else {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.left:\n end = valueLen - (suffixTextLen + currencySymbolSize);\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.right:\n if (currencySymbolSize > 0) {\n end = valueLen - (currencySymbolSize + negLen + suffixTextLen);\n } else {\n end = valueLen - (currencySymbolSize + suffixTextLen);\n }\n break;\n default :\n end = valueLen - (currencySymbolSize + suffixTextLen);\n }\n }\n\n AutoNumericHelper.setElementSelection(this.domElement, start, end);\n\n return this;\n }\n\n /**\n * Select only the integer part in the formatted element content, whatever the value of `selectNumberOnly`\n *\n * @returns {AutoNumeric}\n */\n selectInteger() {\n let start = 0;\n const isPositive = this.rawValue >= 0;\n\n // Negative or positive sign, if any\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix ||\n (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix &&\n (this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.prefix ||\n this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.none))) {\n if ((this.settings.showPositiveSign && isPositive) || // This only exclude the positive sign from being selected\n (!isPositive && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix && this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.left)) { // And this exclude the negative sign from being selected in this special case : '-€ 1.234,57suffixText'\n start = start + 1;\n }\n }\n\n // Currency symbol\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n start = start + this.settings.currencySymbol.length;\n }\n\n // Calculate the selection end position\n const elementValue = AutoNumericHelper.getElementValue(this.domElement);\n let end = elementValue.indexOf(this.settings.decimalCharacter);\n if (end === -1) {\n // No decimal character found\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n end = elementValue.length - this.settings.currencySymbol.length;\n } else {\n end = elementValue.length;\n }\n\n // Trailing negative sign\n if (!isPositive &&\n (this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix ||\n this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix)) {\n end = end - 1;\n }\n\n // Avoid selecting the suffix test\n end = end - this.settings.suffixText.length;\n }\n\n AutoNumericHelper.setElementSelection(this.domElement, start, end);\n\n return this;\n }\n\n /**\n * Select only the decimal part in the formatted element content, whatever the value of `selectNumberOnly`\n * Multiple cases are possible :\n * +1.234,57suffixText\n *\n * € +1.234,57suffixText\n * +€ 1.234,57suffixText\n * € 1.234,57+suffixText\n *\n * 1.234,57+ €suffixText\n * 1.234,57 €+suffixText\n * +1.234,57 €suffixText\n *\n * @returns {AutoNumeric}\n */\n selectDecimal() {\n let start = AutoNumericHelper.getElementValue(this.domElement).indexOf(this.settings.decimalCharacter);\n let end;\n\n if (start === -1) {\n // The decimal character has not been found, we deselect all\n start = 0;\n end = 0;\n } else {\n // A decimal character has been found\n start = start + 1; // We add 1 to exclude the decimal character from the selection\n\n let decimalCount;\n if (this.isFocused) {\n decimalCount = this.settings.decimalPlacesShownOnFocus;\n } else {\n decimalCount = this.settings.decimalPlacesShownOnBlur;\n }\n\n end = start + Number(decimalCount);\n }\n\n AutoNumericHelper.setElementSelection(this.domElement, start, end);\n\n return this;\n }\n\n /**\n * Return the DOM element reference of the autoNumeric-managed element\n *\n * @returns {HTMLElement|HTMLInputElement}\n */\n node() {\n return this.domElement;\n }\n\n /**\n * Return the DOM element reference of the parent node of the autoNumeric-managed element\n *\n * @returns {HTMLElement|HTMLInputElement|Node}\n */\n parent() {\n return this.domElement.parentNode;\n }\n\n /**\n * Detach the current AutoNumeric element from the shared local 'init' list.\n * This means any changes made on that local shared list will not be transmitted to that element anymore.\n * Note : The user can provide another AutoNumeric element, and detach this one instead of the current one.\n *\n * @param {AutoNumeric} otherAnElement\n * @returns {AutoNumeric}\n */\n detach(otherAnElement = null) { //FIXME test this\n let domElementToDetach;\n if (!AutoNumericHelper.isNull(otherAnElement)) {\n domElementToDetach = otherAnElement.node();\n } else {\n domElementToDetach = this.domElement;\n }\n\n this._removeFromLocalList(domElementToDetach); //FIXME What happens if the selected dom element does not exist in the list?\n\n return this;\n }\n\n /**\n * Attach the given AutoNumeric element to the shared local 'init' list.\n * When doing that, by default the DOM content is left untouched.\n * The user can force a reformat with the new shared list options by passing a second argument to `true`.\n *\n * @param {AutoNumeric} otherAnElement\n * @param {boolean} reFormat\n * @returns {AutoNumeric}\n */\n attach(otherAnElement, reFormat = true) { //FIXME test this\n this._addToLocalList(otherAnElement.node()); //FIXME Should we make sure the element is not already in the list?\n if (reFormat) {\n otherAnElement.update(this.settings);\n }\n\n return this;\n }\n\n /**\n * Format and return the given value, or set the formatted value into the given DOM element if one is passed as an argument.\n * By default, this use the current element settings.\n * The user can override any option of its choosing by passing an option object.\n *\n * @param {number|HTMLElement|HTMLInputElement} valueOrElement\n * @param {null|object} optionOverride\n * @returns {string|null}\n */\n formatOther(valueOrElement, optionOverride = null) { //FIXME test this\n return this._formatOrUnformatOther(true, valueOrElement, optionOverride);\n }\n\n /**\n * Unformat and return the raw numeric string corresponding to the given value, or directly set the unformatted value into the given DOM element if one is passed as an argument.\n * By default, this use the current element settings.\n * The user can override any option of its choosing by passing an option object.\n\n * @param {string|HTMLElement|HTMLInputElement} stringOrElement\n * @param {null|object} optionOverride\n * @returns {string|null}\n */\n unformatOther(stringOrElement, optionOverride = null) { //FIXME test this\n return this._formatOrUnformatOther(false, stringOrElement, optionOverride);\n }\n\n /**\n * Method that either format or unformat the value of another element.\n *\n * - Format and return the given value, or set the formatted value into the given DOM element if one is passed as an argument.\n * - Unformat and return the raw numeric string corresponding to the given value, or directly set the unformatted value into the given DOM element if one is passed as an argument.\n *\n * By default, this use the current element settings.\n * The user can override any option of its choosing by passing an option object.\n *\n * @param {boolean} isFormatting If set to `true`, then the method formats, otherwise if set to `false`, it unformats\n * @param {number|string|HTMLElement|HTMLInputElement} valueOrStringOrElement\n * @param {null|object} optionOverride\n * @returns {string|null}\n * @private\n */\n _formatOrUnformatOther(isFormatting, valueOrStringOrElement, optionOverride = null) { //FIXME test this\n // If the user wants to override the current element settings temporarily\n let settingsToUse;\n if (!AutoNumericHelper.isNull(optionOverride)) {\n settingsToUse = this._cloneAndMergeSettings(optionOverride);\n } else {\n settingsToUse = this.settings;\n }\n\n // Then the unformatting is done...\n let result;\n if (AutoNumericHelper.isElement(valueOrStringOrElement)) {\n // ...either directly on the DOM element value\n const elementValue = AutoNumericHelper.getElementValue(valueOrStringOrElement);\n if (isFormatting) {\n result = AutoNumeric.format(elementValue, settingsToUse);\n }\n else {\n result = AutoNumeric.unformat(elementValue, settingsToUse);\n }\n\n AutoNumericHelper.setElementValue(valueOrStringOrElement, result); //TODO Use `unformatAndSet` and `formatAndSet`instead\n\n return null;\n }\n\n // ...or on the given value\n if (isFormatting) {\n result = AutoNumeric.format(valueOrStringOrElement, settingsToUse);\n }\n else {\n result = AutoNumeric.unformat(valueOrStringOrElement, settingsToUse);\n }\n\n return result;\n }\n\n /**\n * Use the current AutoNumeric element settings to initialize the DOM element(s) given as a parameter.\n * Doing so will *link* the AutoNumeric elements together since they will share the same local AutoNumeric element list.\n * (cf. prototype pattern : https://en.wikipedia.org/wiki/Prototype_pattern)\n *\n * You can `init` either a single DOM element (in that case an AutoNumeric object will be returned), or an array of DOM elements or a string that will be used as a CSS selector. In the latter cases, an array of AutoNumeric objects will then be returned (or an empty array if nothing gets selected by the CSS selector).\n *\n * Use case : Once you have an AutoNumeric element already setup correctly with the right options, you can use it as many times you want to initialize as many other DOM elements as needed.\n * Note : this works only on elements that can be managed by autoNumeric.\n *\n * @param {HTMLElement|HTMLInputElement|Array|string} domElementOrArrayOrString\n * @param {boolean} attached If set to `false`, then the newly generated AutoNumeric element will not share the same local element list\n * @returns {AutoNumeric|[AutoNumeric]}\n */\n init(domElementOrArrayOrString, attached = true) {\n let returnASingleAutoNumericObject = false; // By default, this function returns an array of AutoNumeric objects\n let domElementsArray = [];\n if (AutoNumericHelper.isString(domElementOrArrayOrString)) {\n domElementsArray = [... document.querySelectorAll(domElementOrArrayOrString)]; // Convert a NodeList to an Array\n } else if (AutoNumericHelper.isElement(domElementOrArrayOrString)) {\n domElementsArray.push(domElementOrArrayOrString);\n returnASingleAutoNumericObject = true; // Special case when only one DOM element is passed as a parameter\n } else if (AutoNumericHelper.isArray(domElementOrArrayOrString)) {\n domElementsArray = domElementOrArrayOrString;\n } else {\n AutoNumericHelper.throwError(`The given parameters to the 'init' function are invalid.`);\n }\n\n if (domElementsArray.length === 0) {\n AutoNumericHelper.warning(`No valid DOM elements were given hence no AutoNumeric object were instantiated.`, true);\n\n return [];\n }\n\n const currentLocalList = this._getLocalList();\n const autoNumericObjectsArray = [];\n\n // Instantiate (and link depending on `attached`) each AutoNumeric objects\n domElementsArray.forEach(domElement => {\n // Initialize the new AutoNumeric element\n const originalCreateLocalListSetting = this.settings.createLocalList;\n if (attached) {\n // Temporary variable to know if we should create the local list during the initialization (since we'll remove it afterwards)\n this.settings.createLocalList = false;\n }\n\n const newAutoNumericElement = new AutoNumeric(domElement, AutoNumericHelper.getElementValue(domElement), this.settings);\n\n // Set the common shared local list if needed\n // If the user wants to create a detached new AutoNumeric element, then skip the following step that bind the two elements together by default\n if (attached) {\n // 1) Set the local list reference to point to the initializer's one\n newAutoNumericElement._setLocalList(currentLocalList);\n\n // 2) Add the new element to that existing list\n this._addToLocalList(domElement, newAutoNumericElement); // Here we use the *new* AutoNumeric object reference to add to the local list, since we'll need the reference to `this` in the methods to points to that new AutoNumeric object.\n this.settings.createLocalList = originalCreateLocalListSetting;\n }\n\n autoNumericObjectsArray.push(newAutoNumericElement);\n });\n\n if (returnASingleAutoNumericObject) {\n // If a single DOM element was used as the parameter, then we return an AutoNumeric object directly\n return autoNumericObjectsArray[0];\n }\n\n // ...otherwise we return an Array of AutoNumeric objects\n return autoNumericObjectsArray;\n }\n\n /**\n * Reset the element value either to the empty string '', or the currency sign, depending on the `emptyInputBehavior` option value.\n * If you set the `forceClearAll` argument to `true`, then the `emptyInputBehavior` option is overridden and the whole input is clear, including any currency sign.\n *\n * @param {boolean} forceClearAll\n * @returns {AutoNumeric}\n */\n clear(forceClearAll = false) {\n if (forceClearAll) {\n const temporaryForcedOptions = {\n emptyInputBehavior: AutoNumeric.options.emptyInputBehavior.focus,\n };\n this.set('', temporaryForcedOptions);\n } else {\n this.set('');\n }\n\n return this;\n }\n\n /**\n * Remove the autoNumeric data and event listeners from the element, but keep the element content intact.\n * This also clears the value from sessionStorage (or cookie, depending on browser supports).\n * Note: this does not remove the formatting.\n *\n * @example anElement.remove()\n */\n remove() {\n this._removeValueFromPersistentStorage();\n this._removeEventListeners();\n this._removeWatcher();\n\n // Also remove the element from the local AutoNumeric list\n this._removeFromLocalList(this.domElement);\n // Also remove the element from the global AutoNumeric list\n this.constructor._removeFromGlobalList(this);\n }\n\n /**\n * Remove the autoNumeric data and event listeners from the element, and reset its value to the empty string ''.\n * This also clears the value from sessionStorage (or cookie, depending on browser supports).\n *\n * @example anElement.wipe()\n */\n wipe() {\n this._setElementValue('', false); // Do not send the 'AutoNumeric.events.formatted' event when wiping an AutoNumeric object\n this.remove();\n }\n\n /**\n * Remove the autoNumeric data and event listeners from the element, and delete the DOM element altogether\n */\n nuke() {\n this.remove();\n // Remove the element from the DOM\n this.domElement.parentNode.removeChild(this.domElement);\n }\n\n\n // Special functions that really work on the parent element, instead of the element itself\n\n /**\n * Return a reference to the parent element if it exists, otherwise return `null`.\n * If the parent form element as already been found, this directly return a reference to it.\n * However, you can force AutoNumeric to search again for its reference by passing `true` as a parameter to this method.\n * This method updates the `this.parentForm` attribute.\n *\n * In either case, whenever a new parent form is set for the current AutoNumeric element, we make sure to update the anCount and anFormHandler attributes on both the old form and the new one (for instance in case the user moved the input elements with `appendChild()` since AutoNumeric cannot not detect that).\n *\n * @param {boolean} forceSearch If set to `true`, the parent form is searched again, even if `this.parentForm` is already set.\n *\n * @returns {HTMLFormElement|null}\n */\n form(forceSearch = false) {\n if (forceSearch || AutoNumericHelper.isUndefinedOrNullOrEmpty(this.parentForm)) {\n const newParentForm = this._getParentForm();\n if (!AutoNumericHelper.isNull(newParentForm) && newParentForm !== this.parentForm) {\n // If the current parent form exists and is different from the previous parent form\n\n // Search for all the AutoNumeric elements in the old parent form\n const oldANChildren = this._getFormAutoNumericChildren(this.parentForm);\n // Update the anCount with the correct number of AutoNumeric elements\n this.parentForm.dataset.anCount = oldANChildren.length;\n\n // Check if the new parent form already has a anFormHandler name\n if (this._hasFormHandlerFunction(newParentForm)) {\n this._incrementParentFormCounter(newParentForm); // Increment its counter\n } else {\n // Create one and set the anCount to 1\n this._storeFormHandlerFunction(newParentForm);\n this._initializeFormCounterToOne(newParentForm);\n }\n }\n\n this.parentForm = newParentForm;\n }\n\n return this.parentForm;\n }\n\n /**\n * Return an array of the AutoNumeric-managed elements for the given form element is passed, otherwise for the current `this.parentForm` element.\n *\n * @param {HTMLFormElement|null} formElement\n *\n * @returns {Array.}\n * @private\n */\n _getFormAutoNumericChildren(formElement) {\n // Search for all the child AutoNumeric elements in that parent form\n //TODO This only search for elements, not contenteditable non-input tag ones, for now. Add a parameter to allow this function to search on every tags.\n const inputList = [... formElement.querySelectorAll('input')];\n\n return inputList.filter(input => this.constructor.isManagedByAutoNumeric(input));\n }\n\n /**\n * Return a reference to the parent element if it exists, otherwise return `null`.\n *\n * @returns {HTMLFormElement|null}\n * @private\n */\n _getParentForm() {\n if (this.domElement.tagName.toLowerCase() === 'body') {\n return null;\n }\n\n let node = this.domElement;\n let tagName;\n do {\n node = node.parentNode;\n if (AutoNumericHelper.isNull(node)) {\n // Special case when using templates with frameworks like Vue.js, where the input element can be 'detached' when initializing the DOM structure\n return null;\n }\n\n if (node.tagName) {\n tagName = node.tagName.toLowerCase();\n } else {\n tagName = '';\n }\n\n if (tagName === 'body') {\n // Get out of the loop if we get up to the `` element\n break;\n }\n } while (tagName !== 'form');\n\n if (tagName === 'form') {\n return node;\n } else {\n return null;\n }\n }\n\n /**\n * Return a string in standard URL-encoded notation with the form input values being unformatted.\n * This string can be used as a query for instance.\n *\n * @returns {string}\n */\n formNumericString() {\n return this.constructor._serializeNumericString(this.form(), this.settings.serializeSpaces);\n }\n\n /**\n * Return a string in standard URL-encoded notation with the form input values being formatted.\n *\n * @returns {string}\n */\n formFormatted() {\n return this.constructor._serializeFormatted(this.form(), this.settings.serializeSpaces);\n }\n\n /**\n * Return a string in standard URL-encoded notation with the form input values, with localized values.\n * The default output format can be overridden by passing the option as a parameter.\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {string}\n */\n formLocalized(forcedOutputFormat = null) {\n let outputFormatToUse;\n if (AutoNumericHelper.isNull(forcedOutputFormat)) {\n outputFormatToUse = this.settings.outputFormat;\n } else {\n outputFormatToUse = forcedOutputFormat;\n }\n\n return this.constructor._serializeLocalized(this.form(), this.settings.serializeSpaces, outputFormatToUse);\n }\n\n /**\n * Return an array containing an object for each form element.\n * Those objects are of the following structure `{ name: foo, value: '42' }`, where the `name` is the DOM element name, and the `value` is an unformatted numeric string.\n *\n * @returns {Array}\n */\n formArrayNumericString() {\n return this.constructor._serializeNumericStringArray(this.form(), this.settings.serializeSpaces);\n }\n\n /**\n * Return an array containing an object for each form element.\n * Those objects are of the following structure `{ name: foo, value: '42' }`, where the `name` is the DOM element name, and the `value` is the formatted string.\n *\n * @returns {Array}\n */\n formArrayFormatted() {\n return this.constructor._serializeFormattedArray(this.form(), this.settings.serializeSpaces);\n }\n\n /**\n * Return an array containing an object for each form element.\n * Those objects are of the following structure `{ name: foo, value: '42' }`, where the `name` is the DOM element name, and the `value` is the localized numeric string.\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {Array}\n */\n formArrayLocalized(forcedOutputFormat = null) {\n let outputFormatToUse;\n if (AutoNumericHelper.isNull(forcedOutputFormat)) {\n outputFormatToUse = this.settings.outputFormat;\n } else {\n outputFormatToUse = forcedOutputFormat;\n }\n\n return this.constructor._serializeLocalizedArray(this.form(), this.settings.serializeSpaces, outputFormatToUse);\n }\n\n /**\n * Return a JSON string containing an object representing the form input values.\n * This is based on the result of the `formArrayNumericString()` function.\n *\n * @returns {string}\n */\n formJsonNumericString() {\n return JSON.stringify(this.formArrayNumericString());\n }\n\n /**\n * Return a JSON string containing an object representing the form input values.\n * This is based on the result of the `formArrayFormatted()` function.\n *\n * @returns {string}\n */\n formJsonFormatted() {\n return JSON.stringify(this.formArrayFormatted());\n }\n\n /**\n * Return a JSON string containing an object representing the form input values.\n * This is based on the result of the `formArrayLocalized()` function.\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {string}\n */\n formJsonLocalized(forcedOutputFormat = null) {\n return JSON.stringify(this.formArrayLocalized(forcedOutputFormat));\n }\n\n /**\n * Unformat all the autoNumeric-managed elements that are a child of the parent element of this DOM element, to numeric strings\n *\n * @returns {AutoNumeric}\n */\n formUnformat() { //FIXME test this\n const inputs = this.constructor._getChildANInputElement(this.form());\n inputs.forEach(input => {\n AutoNumeric.getAutoNumericElement(input).unformat();\n });\n\n return this;\n }\n\n /**\n * Unformat all the autoNumeric-managed elements that are a child of the parent element of this DOM element, to localized strings\n *\n * @returns {AutoNumeric}\n */\n formUnformatLocalized() { //FIXME test this\n const inputs = this.constructor._getChildANInputElement(this.form());\n inputs.forEach(input => {\n AutoNumeric.getAutoNumericElement(input).unformatLocalized();\n });\n\n return this;\n }\n\n /**\n * Reformat all the autoNumeric-managed elements that are a child of the parent element of this DOM element\n *\n * @returns {AutoNumeric}\n */\n formReformat() { //FIXME test this\n const inputs = this.constructor._getChildANInputElement(this.form());\n inputs.forEach(input => {\n AutoNumeric.getAutoNumericElement(input).reformat();\n });\n\n return this;\n }\n\n /**\n * Convert the input values to numeric strings, submit the form, then reformat those back.\n * The function can either take a callback, or not. If it doesn't, the default `form.submit()` function will be called.\n * Otherwise, it runs `callback(value)` with `value` being equal to the result of `formNumericString()`.\n *\n * @param {function|null} callback\n * @returns {AutoNumeric}\n */\n formSubmitNumericString(callback = null) { //FIXME test this\n if (AutoNumericHelper.isNull(callback)) {\n this.formUnformat();\n this.form().submit();\n this.formReformat();\n } else if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formNumericString());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Submit the form with the current formatted values.\n * The function can either take a callback, or not. If it doesn't, the default `form.submit()` function will be called.\n * Otherwise, it runs `callback(value)` with `value` being equal to the result of `formFormatted()`.\n *\n * @param {function|null} callback\n * @returns {AutoNumeric}\n */\n formSubmitFormatted(callback = null) { //FIXME test this\n if (AutoNumericHelper.isNull(callback)) {\n this.form().submit();\n } else if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formFormatted());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Convert the input values to localized strings, submit the form, then reformat those back.\n * The function can either take a callback, or not. If it doesn't, the default `form.submit()` function will be called.\n * Otherwise, it runs `callback(value)` with `value` being equal to the result of `formLocalized()`.\n *\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @param {function|null} callback\n * @returns {AutoNumeric}\n */\n formSubmitLocalized(forcedOutputFormat = null, callback = null) { //FIXME test this\n if (AutoNumericHelper.isNull(callback)) {\n this.formUnformatLocalized();\n this.form().submit();\n this.formReformat();\n } else if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formLocalized(forcedOutputFormat));\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate an array of numeric strings from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formArrayNumericString()`.\n *\n * @param {function} callback\n * @returns {AutoNumeric}\n */\n formSubmitArrayNumericString(callback) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formArrayNumericString());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate an array of the current formatted values from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formArrayFormatted()`.\n *\n * @param {function} callback\n * @returns {AutoNumeric}\n */\n formSubmitArrayFormatted(callback) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formArrayFormatted());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate an array of localized strings from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formArrayLocalized()`.\n *\n * @param {function} callback\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {AutoNumeric}\n */\n formSubmitArrayLocalized(callback, forcedOutputFormat = null) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formArrayLocalized(forcedOutputFormat));\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate a JSON string with the numeric strings values from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formJsonNumericString()`.\n *\n * @param {function} callback\n * @returns {AutoNumeric}\n */\n formSubmitJsonNumericString(callback) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formJsonNumericString());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate a JSON string with the current formatted values from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formJsonFormatted()`.\n *\n * @param {function} callback\n * @returns {AutoNumeric}\n */\n formSubmitJsonFormatted(callback) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formJsonFormatted());\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Generate a JSON string with the localized strings values from the `` elements, and pass it to the given callback.\n * Under the hood, the array is generated via a call to `formJsonLocalized()`.\n *\n * @param {function} callback\n * @param {null|string} forcedOutputFormat If set to something different than `null`, then this is used as an overriding outputFormat option\n * @returns {AutoNumeric}\n */\n formSubmitJsonLocalized(callback, forcedOutputFormat = null) { //FIXME test this\n if (AutoNumericHelper.isFunction(callback)) {\n callback(this.formJsonLocalized(forcedOutputFormat));\n } else {\n AutoNumericHelper.throwError(`The given callback is not a function.`);\n }\n\n return this;\n }\n\n /**\n * Unformat the given AutoNumeric element, and update the `hoveredWithAlt` variable.\n *\n * @param {AutoNumeric} anElement\n * @private\n */\n static _unformatAltHovered(anElement) {\n anElement.hoveredWithAlt = true;\n anElement.unformat();\n }\n\n /**\n * Reformat the given AutoNumeric element, and update the `hoveredWithAlt` variable.\n *\n * @param {AutoNumeric} anElement\n * @private\n */\n static _reformatAltHovered(anElement) {\n anElement.hoveredWithAlt = false;\n anElement.reformat();\n }\n\n /**\n * Return an array of autoNumeric elements, child of the element passed as a parameter.\n *\n * @param {HTMLElement} formNode\n * @returns {Array}\n * @private\n */\n static _getChildANInputElement(formNode) { //FIXME test this\n const inputList = formNode.getElementsByTagName('input');\n\n // Loop this list and keep only the inputs that are managed by AutoNumeric\n const autoNumericInputs = [];\n const inputElements = Array.prototype.slice.call(inputList, 0);\n inputElements.forEach(input => {\n if (this.test(input)) {\n autoNumericInputs.push(input);\n }\n });\n\n return autoNumericInputs;\n }\n\n // Static methods\n /**\n * Test if the given DOM element, or the element selected by the given selector string is already managed by AutoNumeric (if it has been initialized on the current page).\n *\n * @param {HTMLElement|string} domElementOrSelector Accepts either directly a DOM element to test, or a string selector (that will return one and only one element, if any)\n * @returns {boolean}\n */\n static test(domElementOrSelector) {\n return this._isInGlobalList(AutoNumericHelper.domElement(domElementOrSelector));\n }\n\n /**\n * Create a WeakMap with the given name.\n *\n * @param {string} weakMapName\n * @private\n */\n static _createWeakMap(weakMapName) {\n window[weakMapName] = new WeakMap();\n }\n\n /**\n * Create a list of all the AutoNumeric elements that are initialized on the current page.\n * This is needed in order to determine if a given dom element is already managed by autoNumeric.\n * This uses a WeakMap in order to limit potential garbage collection problems.\n * (cf. my tests on http://codepen.io/AnotherLinuxUser/pen/pRQGaM?editors=1011)\n * @private\n */\n static _createGlobalList() {\n // The check that this global list does not exists already is done in the add and remove functions already\n this.autoNumericGlobalListName = 'autoNumericGlobalList'; //XXX This looks weird to set a variable on `this.` in a static method, but that really declare that variable like a static property\n // Note: I should not get any memory leaks for referencing the DOM element in the `value`, this DOM element also being the `key`, according to the spec : http://www.ecma-international.org/ecma-262/6.0/#sec-weakmap-objects\n this._createWeakMap(this.autoNumericGlobalListName);\n }\n\n /**\n * Return `true` if the global AutoNumeric element list exists.\n *\n * @returns {boolean}\n * @private\n */\n static _doesGlobalListExists() {\n const type = typeof window[this.autoNumericGlobalListName];\n return type !== 'undefined' &&\n type === 'object';\n }\n\n /**\n * Add the given object to the global AutoNumeric element list.\n *\n * @param {AutoNumeric} autoNumericObject\n * @private\n */\n static _addToGlobalList(autoNumericObject) {\n if (!this._doesGlobalListExists()) {\n this._createGlobalList();\n }\n\n const domElement = autoNumericObject.node();\n // This checks if the object is not already in the global list before adding it.\n // This could happen if an AutoNumeric element is initialized, then the DOM element is removed directly via `removeChild` (hence the reference does not get removed from the global list), then it get recreated and initialized again\n if (this._isInGlobalList(domElement)) {\n if (this._getFromGlobalList(domElement) === this) {\n // Do not add this AutoNumeric object again since it's already in that global list\n return;\n } else {\n // Print a warning to warn that the domElement already has a reference in the global map (but we cannot for sure starts deleting those old references since they could still be used by another AutoNumeric object)\n AutoNumericHelper.warning(`A reference to the DOM element you just initialized already exists in the global AutoNumeric element list. Please make sure to not initialize the same DOM element multiple times.`, autoNumericObject.getSettings().showWarnings);\n }\n }\n\n window[this.autoNumericGlobalListName].set(domElement, autoNumericObject);\n }\n\n /**\n * Remove the given object from the global AutoNumeric element list.\n *\n * @param {AutoNumeric} autoNumericObject\n * @private\n */\n static _removeFromGlobalList(autoNumericObject) { //FIXME test this\n if (this._doesGlobalListExists()) {\n window[this.autoNumericGlobalListName].delete(autoNumericObject.node());\n }\n }\n\n /**\n * Return the value associated to the key `domElement` passed as a parameter.\n * The value is the AutoNumeric object that manages the DOM element `domElement`.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @returns {null|AutoNumeric}\n * @private\n */\n static _getFromGlobalList(domElement) { //FIXME test this\n if (this._doesGlobalListExists()) {\n return window[this.autoNumericGlobalListName].get(domElement);\n }\n\n return null;\n }\n\n /**\n * Check if the given DOM element is in the global AutoNumeric element list.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @returns {boolean}\n * @private\n */\n static _isInGlobalList(domElement) { //FIXME test this\n if (!this._doesGlobalListExists()) {\n return false;\n }\n\n return window[this.autoNumericGlobalListName].has(domElement);\n }\n\n /**\n * Create a `Map` that will stores all the autoNumeric elements that are initialized from this current element.\n * @private\n */\n _createLocalList() {\n this.autoNumericLocalList = new Map();\n this._addToLocalList(this.domElement);\n }\n\n /**\n * In some rare cases, you could want to delete the local list generated during the element initialization (in order to use another one instead for instance).\n * @private\n */\n _deleteLocalList() {\n delete this.autoNumericLocalList;\n }\n\n /**\n * Set the local list with the given Map object.\n *\n * @param {Map} localList\n * @private\n */\n _setLocalList(localList) {\n this.autoNumericLocalList = localList;\n }\n\n /**\n * Return the local list Map object.\n *\n * @returns {*|Map}\n * @private\n */\n _getLocalList() {\n return this.autoNumericLocalList;\n }\n\n /**\n * Return `true` if the AutoNumeric object has a local list defined already and has at least one element in it (itself usually).\n *\n * @returns {boolean}\n * @private\n */\n _hasLocalList() {\n return this.autoNumericLocalList instanceof Map && this.autoNumericLocalList.size !== 0;\n }\n\n /**\n * Add the given object to the local autoNumeric element list.\n * Note: in order to keep a coherent list, we only add DOM elements in it, not the autoNumeric object.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @param {AutoNumeric} autoNumericObject A reference to the AutoNumeric object that manage the given DOM element\n * @throws\n * @private\n */\n _addToLocalList(domElement, autoNumericObject = null) {\n if (AutoNumericHelper.isNull(autoNumericObject)) {\n autoNumericObject = this;\n }\n\n if (!AutoNumericHelper.isUndefined(this.autoNumericLocalList)) {\n this.autoNumericLocalList.set(domElement, autoNumericObject); // Use the DOM element as key, and the AutoNumeric object as the value\n } else {\n AutoNumericHelper.throwError(`The local list provided does not exists when trying to add an element. [${this.autoNumericLocalList}] given.`);\n }\n }\n\n /**\n * Remove the given object from the local autoNumeric element list.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @private\n */\n _removeFromLocalList(domElement) {\n if (!AutoNumericHelper.isUndefined(this.autoNumericLocalList)) {\n this.autoNumericLocalList.delete(domElement);\n } else if (this.settings.createLocalList) {\n AutoNumericHelper.throwError(`The local list provided does not exists when trying to remove an element. [${this.autoNumericLocalList}] given.`);\n }\n }\n\n /**\n * Merge the `newSettings` given as parameters into the current element settings.\n *\n * WARNING: Using `Object.assign()` here means the merge is not recursive and only one depth is merged.\n * cf. http://stackoverflow.com/a/39188108/2834898\n * cf. tests on http://codepen.io/AnotherLinuxUser/pen/KaJORq?editors=0011\n *\n * @param {object} newSettings\n * @private\n */\n _mergeSettings(...newSettings) {\n Object.assign(this.settings, ...newSettings);\n }\n\n /**\n * Return a new object with the current element settings merged with the new settings.\n *\n * @param {object} newSettings\n * @returns {object}\n * @private\n */\n _cloneAndMergeSettings(...newSettings) {\n const result = {};\n Object.assign(result, this.settings, ...newSettings);\n\n return result;\n }\n\n /**\n * Validate the given option object.\n * If the options are valid, this function returns nothing, otherwise if the options are invalid, this function throws an error.\n *\n * This tests if the options are not conflicting and are well formatted.\n * This function is lenient since it only tests the settings properties ; it ignores any other properties the options object could have.\n *\n * @param {*} userOptions\n * @param {Boolean} shouldExtendDefaultOptions If `true`, then this function will extends the `userOptions` passed by the user, with the default options.\n * @param {object|null} originalOptions The user can pass the original options (and not the one that are generated from the default settings and the various usability corrections), in order to add compatibility and conflicts checks.\n * @throws Error This throws if the `userOptions` are not valid\n */\n static validate(userOptions, shouldExtendDefaultOptions = true, originalOptions = null) {\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(userOptions) || !AutoNumericHelper.isObject(userOptions)) {\n AutoNumericHelper.throwError(`The userOptions are invalid ; it should be a valid object, [${userOptions}] given.`);\n }\n\n const isOriginalOptionAnObject = AutoNumericHelper.isObject(originalOptions);\n if (!isOriginalOptionAnObject && !AutoNumericHelper.isNull(originalOptions)) {\n AutoNumericHelper.throwError(`The 'originalOptions' parameter is invalid ; it should either be a valid option object or \\`null\\`, [${userOptions}] given.`);\n }\n\n // If the user used old options, we convert them to new ones\n if (!AutoNumericHelper.isNull(userOptions)) {\n this._convertOldOptionsToNewOnes(userOptions);\n }\n\n // The user can choose if the `userOptions` has already been extended with the default options, or not\n let options;\n if (shouldExtendDefaultOptions) {\n options = Object.assign({}, this.getDefaultConfig(), userOptions);\n } else {\n options = userOptions;\n }\n\n // First things first, we test that the `showWarnings` option is valid\n if (!AutoNumericHelper.isTrueOrFalseString(options.showWarnings) && !AutoNumericHelper.isBoolean(options.showWarnings)) {\n AutoNumericHelper.throwError(`The debug option 'showWarnings' is invalid ; it should be either 'true' or 'false', [${options.showWarnings}] given.`);\n }\n\n // Define the regular expressions needed for the following tests\n const testPositiveInteger = /^[0-9]+$/;\n const testNumericalCharacters = /[0-9]+/;\n // const testFloatAndPossibleNegativeSign = /^-?[0-9]+(\\.?[0-9]+)$/;\n const testFloatOrIntegerAndPossibleNegativeSign = /^-?[0-9]+(\\.?[0-9]+)?$/;\n const testPositiveFloatOrInteger = /^[0-9]+(\\.?[0-9]+)?$/;\n\n // Then tests the options individually\n if (!AutoNumericHelper.isTrueOrFalseString(options.allowDecimalPadding) &&\n !AutoNumericHelper.isBoolean(options.allowDecimalPadding) &&\n options.allowDecimalPadding !== AutoNumeric.options.allowDecimalPadding.floats) {\n AutoNumericHelper.throwError(`The decimal padding option 'allowDecimalPadding' is invalid ; it should either be \\`false\\`, \\`true\\` or \\`'floats'\\`, [${options.allowDecimalPadding}] given.`);\n }\n\n if ((options.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.never ||\n options.allowDecimalPadding === 'false') &&\n (options.decimalPlaces !== AutoNumeric.options.decimalPlaces.none ||\n options.decimalPlacesShownOnBlur !== AutoNumeric.options.decimalPlacesShownOnBlur.none ||\n options.decimalPlacesShownOnFocus !== AutoNumeric.options.decimalPlacesShownOnFocus.none)) {\n AutoNumericHelper.warning(`Setting 'allowDecimalPadding' to [${options.allowDecimalPadding}] will override the current 'decimalPlaces*' settings [${options.decimalPlaces}, ${options.decimalPlacesShownOnBlur} and ${options.decimalPlacesShownOnFocus}].`, options.showWarnings);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.alwaysAllowDecimalCharacter) &&\n !AutoNumericHelper.isBoolean(options.alwaysAllowDecimalCharacter)) {\n AutoNumericHelper.throwError(`The option 'alwaysAllowDecimalCharacter' is invalid ; it should either be \\`true\\` or \\`false\\`, [${options.alwaysAllowDecimalCharacter}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.caretPositionOnFocus) && !AutoNumericHelper.isInArray(options.caretPositionOnFocus, [\n AutoNumeric.options.caretPositionOnFocus.start,\n AutoNumeric.options.caretPositionOnFocus.end,\n AutoNumeric.options.caretPositionOnFocus.decimalLeft,\n AutoNumeric.options.caretPositionOnFocus.decimalRight,\n ])) {\n AutoNumericHelper.throwError(`The display on empty string option 'caretPositionOnFocus' is invalid ; it should either be \\`null\\`, 'focus', 'press', 'always' or 'zero', [${options.caretPositionOnFocus}] given.`);\n }\n\n // Special case here for `caretPositionOnFocus` and `selectOnFocus` where we need to check the original non-tempered version of the options in order to check for conflicts, since using the default settings remove those and would prevent us warning the user that his option object is not correct.\n let optionsToUse;\n if (isOriginalOptionAnObject) {\n optionsToUse = originalOptions;\n } else {\n optionsToUse = this._correctCaretPositionOnFocusAndSelectOnFocusOptions(userOptions);\n }\n\n if (!AutoNumericHelper.isNull(optionsToUse) &&\n ((optionsToUse.caretPositionOnFocus !== AutoNumeric.options.caretPositionOnFocus.doNoForceCaretPosition &&\n optionsToUse.selectOnFocus === AutoNumeric.options.selectOnFocus.select))) {\n AutoNumericHelper.warning(`The 'selectOnFocus' option is set to 'select', which is in conflict with the 'caretPositionOnFocus' which is set to '${optionsToUse.caretPositionOnFocus}'. As a result, if this has been called when instantiating an AutoNumeric object, the 'selectOnFocus' option is forced to 'doNotSelect'.`, options.showWarnings);\n }\n\n if (!AutoNumericHelper.isInArray(options.digitGroupSeparator, [\n AutoNumeric.options.digitGroupSeparator.comma,\n AutoNumeric.options.digitGroupSeparator.dot,\n AutoNumeric.options.digitGroupSeparator.normalSpace,\n AutoNumeric.options.digitGroupSeparator.thinSpace,\n AutoNumeric.options.digitGroupSeparator.narrowNoBreakSpace,\n AutoNumeric.options.digitGroupSeparator.noBreakSpace,\n AutoNumeric.options.digitGroupSeparator.noSeparator,\n AutoNumeric.options.digitGroupSeparator.apostrophe,\n AutoNumeric.options.digitGroupSeparator.arabicThousandsSeparator,\n AutoNumeric.options.digitGroupSeparator.dotAbove,\n AutoNumeric.options.digitGroupSeparator.privateUseTwo,\n ])) {\n AutoNumericHelper.throwError(`The thousand separator character option 'digitGroupSeparator' is invalid ; it should be ',', '.', '٬', '˙', \"'\", '\\u0092', ' ', '\\u2009', '\\u202f', '\\u00a0' or empty (''), [${options.digitGroupSeparator}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.showOnlyNumbersOnFocus) && !AutoNumericHelper.isBoolean(options.showOnlyNumbersOnFocus)) {\n AutoNumericHelper.throwError(`The 'showOnlyNumbersOnFocus' option is invalid ; it should be either 'true' or 'false', [${options.showOnlyNumbersOnFocus}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.digitalGroupSpacing, [\n AutoNumeric.options.digitalGroupSpacing.two,\n AutoNumeric.options.digitalGroupSpacing.twoScaled,\n AutoNumeric.options.digitalGroupSpacing.three,\n AutoNumeric.options.digitalGroupSpacing.four,\n ]) && !(options.digitalGroupSpacing >= 2 && options.digitalGroupSpacing <= 4)) {\n AutoNumericHelper.throwError(`The grouping separator option for thousands 'digitalGroupSpacing' is invalid ; it should be '2', '2s', '3', or '4', [${options.digitalGroupSpacing}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.decimalCharacter, [\n AutoNumeric.options.decimalCharacter.comma,\n AutoNumeric.options.decimalCharacter.dot,\n AutoNumeric.options.decimalCharacter.middleDot,\n AutoNumeric.options.decimalCharacter.arabicDecimalSeparator,\n AutoNumeric.options.decimalCharacter.decimalSeparatorKeySymbol,\n ])) {\n AutoNumericHelper.throwError(`The decimal separator character option 'decimalCharacter' is invalid ; it should be '.', ',', '·', '⎖' or '٫', [${options.decimalCharacter}] given.`);\n }\n\n // Checks if the decimal and thousand characters are the same\n if (options.decimalCharacter === options.digitGroupSeparator) {\n AutoNumericHelper.throwError(`autoNumeric will not function properly when the decimal character 'decimalCharacter' [${options.decimalCharacter}] and the thousand separator 'digitGroupSeparator' [${options.digitGroupSeparator}] are the same character.`);\n }\n\n if (!AutoNumericHelper.isNull(options.decimalCharacterAlternative) && !AutoNumericHelper.isString(options.decimalCharacterAlternative)) {\n AutoNumericHelper.throwError(`The alternate decimal separator character option 'decimalCharacterAlternative' is invalid ; it should be a string, [${options.decimalCharacterAlternative}] given.`);\n }\n\n if (options.currencySymbol !== '' && !AutoNumericHelper.isString(options.currencySymbol)) {\n AutoNumericHelper.throwError(`The currency symbol option 'currencySymbol' is invalid ; it should be a string, [${options.currencySymbol}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.currencySymbolPlacement, [\n AutoNumeric.options.currencySymbolPlacement.prefix,\n AutoNumeric.options.currencySymbolPlacement.suffix,\n ])) {\n AutoNumericHelper.throwError(`The placement of the currency sign option 'currencySymbolPlacement' is invalid ; it should either be 'p' (prefix) or 's' (suffix), [${options.currencySymbolPlacement}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.negativePositiveSignPlacement, [\n AutoNumeric.options.negativePositiveSignPlacement.prefix,\n AutoNumeric.options.negativePositiveSignPlacement.suffix,\n AutoNumeric.options.negativePositiveSignPlacement.left,\n AutoNumeric.options.negativePositiveSignPlacement.right,\n AutoNumeric.options.negativePositiveSignPlacement.none,\n ])) {\n AutoNumericHelper.throwError(`The placement of the negative sign option 'negativePositiveSignPlacement' is invalid ; it should either be 'p' (prefix), 's' (suffix), 'l' (left), 'r' (right) or 'null', [${options.negativePositiveSignPlacement}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.showPositiveSign) && !AutoNumericHelper.isBoolean(options.showPositiveSign)) {\n AutoNumericHelper.throwError(`The show positive sign option 'showPositiveSign' is invalid ; it should be either 'true' or 'false', [${options.showPositiveSign}] given.`);\n }\n\n if (!AutoNumericHelper.isString(options.suffixText) || (options.suffixText !== '' && (AutoNumericHelper.isNegative(options.suffixText, options.negativeSignCharacter) || testNumericalCharacters.test(options.suffixText)))) {\n AutoNumericHelper.throwError(`The additional suffix option 'suffixText' is invalid ; it should not contains the negative sign '${options.negativeSignCharacter}' nor any numerical characters, [${options.suffixText}] given.`);\n }\n\n if (!AutoNumericHelper.isString(options.negativeSignCharacter) ||\n options.negativeSignCharacter.length !== 1 ||\n AutoNumericHelper.isUndefinedOrNullOrEmpty(options.negativeSignCharacter) ||\n testNumericalCharacters.test(options.negativeSignCharacter)) {\n AutoNumericHelper.throwError(`The negative sign character option 'negativeSignCharacter' is invalid ; it should be a single character, and cannot be any numerical characters, [${options.negativeSignCharacter}] given.`);\n }\n\n if (!AutoNumericHelper.isString(options.positiveSignCharacter) ||\n options.positiveSignCharacter.length !== 1 ||\n AutoNumericHelper.isUndefinedOrNullOrEmpty(options.positiveSignCharacter) ||\n testNumericalCharacters.test(options.positiveSignCharacter)) {\n AutoNumericHelper.throwError(`The positive sign character option 'positiveSignCharacter' is invalid ; it should be a single character, and cannot be any numerical characters, [${options.positiveSignCharacter}] given.\\nIf you want to hide the positive sign character, you need to set the \\`showPositiveSign\\` option to \\`true\\`.`);\n }\n\n if (options.negativeSignCharacter === options.positiveSignCharacter) {\n AutoNumericHelper.throwError(`The positive 'positiveSignCharacter' and negative 'negativeSignCharacter' sign characters cannot be identical ; [${options.negativeSignCharacter}] given.`);\n }\n\n const [leftBracket, rightBracket] = AutoNumericHelper.isNull(options.negativeBracketsTypeOnBlur)?['', '']:options.negativeBracketsTypeOnBlur.split(',');\n if (AutoNumericHelper.contains(options.digitGroupSeparator, options.negativeSignCharacter) ||\n AutoNumericHelper.contains(options.decimalCharacter, options.negativeSignCharacter) ||\n AutoNumericHelper.contains(options.decimalCharacterAlternative, options.negativeSignCharacter) ||\n AutoNumericHelper.contains(leftBracket, options.negativeSignCharacter) ||\n AutoNumericHelper.contains(rightBracket, options.negativeSignCharacter) ||\n AutoNumericHelper.contains(options.suffixText, options.negativeSignCharacter)) {\n AutoNumericHelper.throwError(`The negative sign character option 'negativeSignCharacter' is invalid ; it should not be equal or a part of the digit separator, the decimal character, the decimal character alternative, the negative brackets or the suffix text, [${options.negativeSignCharacter}] given.`);\n }\n\n if (AutoNumericHelper.contains(options.digitGroupSeparator, options.positiveSignCharacter) ||\n AutoNumericHelper.contains(options.decimalCharacter, options.positiveSignCharacter) ||\n AutoNumericHelper.contains(options.decimalCharacterAlternative, options.positiveSignCharacter) ||\n AutoNumericHelper.contains(leftBracket, options.positiveSignCharacter) ||\n AutoNumericHelper.contains(rightBracket, options.positiveSignCharacter) ||\n AutoNumericHelper.contains(options.suffixText, options.positiveSignCharacter)) {\n AutoNumericHelper.throwError(`The positive sign character option 'positiveSignCharacter' is invalid ; it should not be equal or a part of the digit separator, the decimal character, the decimal character alternative, the negative brackets or the suffix text, [${options.positiveSignCharacter}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.overrideMinMaxLimits) && !AutoNumericHelper.isInArray(options.overrideMinMaxLimits, [\n AutoNumeric.options.overrideMinMaxLimits.ceiling,\n AutoNumeric.options.overrideMinMaxLimits.floor,\n AutoNumeric.options.overrideMinMaxLimits.ignore,\n AutoNumeric.options.overrideMinMaxLimits.invalid,\n ])) {\n AutoNumericHelper.throwError(`The override min & max limits option 'overrideMinMaxLimits' is invalid ; it should either be 'ceiling', 'floor', 'ignore' or 'invalid', [${options.overrideMinMaxLimits}] given.`);\n }\n\n if ((options.overrideMinMaxLimits !== AutoNumeric.options.overrideMinMaxLimits.invalid && options.overrideMinMaxLimits !== AutoNumeric.options.overrideMinMaxLimits.ignore) &&\n (options.minimumValue > 0 || options.maximumValue < 0)) {\n AutoNumericHelper.warning(`You've set a \\`minimumValue\\` or a \\`maximumValue\\` excluding the value \\`0\\`. AutoNumeric will force the users to always have a valid value in the input, hence preventing them to clear the field. If you want to allow for temporary invalid values (ie. out-of-range), you should use the 'invalid' option for the 'overrideMinMaxLimits' setting.`);\n }\n\n if (!AutoNumericHelper.isString(options.maximumValue) || !testFloatOrIntegerAndPossibleNegativeSign.test(options.maximumValue)) {\n AutoNumericHelper.throwError(`The maximum possible value option 'maximumValue' is invalid ; it should be a string that represents a positive or negative number, [${options.maximumValue}] given.`);\n }\n\n if (!AutoNumericHelper.isString(options.minimumValue) || !testFloatOrIntegerAndPossibleNegativeSign.test(options.minimumValue)) {\n AutoNumericHelper.throwError(`The minimum possible value option 'minimumValue' is invalid ; it should be a string that represents a positive or negative number, [${options.minimumValue}] given.`);\n }\n\n if (parseFloat(options.minimumValue) > parseFloat(options.maximumValue)) {\n AutoNumericHelper.throwError(`The minimum possible value option is greater than the maximum possible value option ; 'minimumValue' [${options.minimumValue}] should be smaller than 'maximumValue' [${options.maximumValue}].`);\n }\n\n if (!((AutoNumericHelper.isInt(options.decimalPlaces) && options.decimalPlaces >= 0) || // If integer option\n (AutoNumericHelper.isString(options.decimalPlaces) && testPositiveInteger.test(options.decimalPlaces))) // If string option\n ) {\n AutoNumericHelper.throwError(`The number of decimal places option 'decimalPlaces' is invalid ; it should be a positive integer, [${options.decimalPlaces}] given.`);\n }\n\n if (!(AutoNumericHelper.isNull(options.decimalPlacesRawValue) ||\n (AutoNumericHelper.isInt(options.decimalPlacesRawValue) && options.decimalPlacesRawValue >= 0) || // If integer option\n (AutoNumericHelper.isString(options.decimalPlacesRawValue) && testPositiveInteger.test(options.decimalPlacesRawValue))) // If string option\n ) {\n AutoNumericHelper.throwError(`The number of decimal places for the raw value option 'decimalPlacesRawValue' is invalid ; it should be a positive integer or \\`null\\`, [${options.decimalPlacesRawValue}] given.`);\n }\n\n // Checks if the number of decimal places for the raw value is lower than the `decimalPlaces`, `decimalPlacesShownOnFocus` and/or `decimalPlacesShownOnBlur` options\n this._validateDecimalPlacesRawValue(options);\n\n if (!AutoNumericHelper.isNull(options.decimalPlacesShownOnFocus) &&\n !testPositiveInteger.test(String(options.decimalPlacesShownOnFocus))) {\n AutoNumericHelper.throwError(`The number of expanded decimal places option 'decimalPlacesShownOnFocus' is invalid ; it should be a positive integer or \\`null\\`, [${options.decimalPlacesShownOnFocus}] given.`);\n }\n\n // Checks if the extended decimal places \"decimalPlacesShownOnFocus\" is greater than the decimal places number `decimalPlaces`\n if (!AutoNumericHelper.isNull(options.decimalPlacesShownOnFocus) && Number(options.decimalPlaces) > Number(options.decimalPlacesShownOnFocus)) {\n AutoNumericHelper.warning(`The extended decimal places 'decimalPlacesShownOnFocus' [${options.decimalPlacesShownOnFocus}] should be greater than the 'decimalPlaces' [${options.decimalPlaces}] value. Currently, this will limit the ability of your user to manually change some of the decimal places. Do you really want to do that?`, options.showWarnings);\n }\n\n if (!AutoNumericHelper.isNull(options.divisorWhenUnfocused) &&\n !testPositiveFloatOrInteger.test(options.divisorWhenUnfocused) ||\n options.divisorWhenUnfocused === 0 || options.divisorWhenUnfocused === '0' ||\n options.divisorWhenUnfocused === 1 || options.divisorWhenUnfocused === '1') {\n AutoNumericHelper.throwError(`The divisor option 'divisorWhenUnfocused' is invalid ; it should be a positive number higher than one, preferably an integer, [${options.divisorWhenUnfocused}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.decimalPlacesShownOnBlur) && !testPositiveInteger.test(options.decimalPlacesShownOnBlur)) {\n AutoNumericHelper.throwError(`The number of decimals shown when unfocused option 'decimalPlacesShownOnBlur' is invalid ; it should be a positive integer or \\`null\\`, [${options.decimalPlacesShownOnBlur}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.symbolWhenUnfocused) && !AutoNumericHelper.isString(options.symbolWhenUnfocused)) {\n AutoNumericHelper.throwError(`The symbol to show when unfocused option 'symbolWhenUnfocused' is invalid ; it should be a string, [${options.symbolWhenUnfocused}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.saveValueToSessionStorage) && !AutoNumericHelper.isBoolean(options.saveValueToSessionStorage)) {\n AutoNumericHelper.throwError(`The save to session storage option 'saveValueToSessionStorage' is invalid ; it should be either 'true' or 'false', [${options.saveValueToSessionStorage}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.onInvalidPaste, [\n AutoNumeric.options.onInvalidPaste.error,\n AutoNumeric.options.onInvalidPaste.ignore,\n AutoNumeric.options.onInvalidPaste.clamp,\n AutoNumeric.options.onInvalidPaste.truncate,\n AutoNumeric.options.onInvalidPaste.replace,\n ])) {\n AutoNumericHelper.throwError(`The paste behavior option 'onInvalidPaste' is invalid ; it should either be 'error', 'ignore', 'clamp', 'truncate' or 'replace' (cf. documentation), [${options.onInvalidPaste}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.roundingMethod, [\n AutoNumeric.options.roundingMethod.halfUpSymmetric,\n AutoNumeric.options.roundingMethod.halfUpAsymmetric,\n AutoNumeric.options.roundingMethod.halfDownSymmetric,\n AutoNumeric.options.roundingMethod.halfDownAsymmetric,\n AutoNumeric.options.roundingMethod.halfEvenBankersRounding,\n AutoNumeric.options.roundingMethod.upRoundAwayFromZero,\n AutoNumeric.options.roundingMethod.downRoundTowardZero,\n AutoNumeric.options.roundingMethod.toCeilingTowardPositiveInfinity,\n AutoNumeric.options.roundingMethod.toFloorTowardNegativeInfinity,\n AutoNumeric.options.roundingMethod.toNearest05,\n AutoNumeric.options.roundingMethod.toNearest05Alt,\n AutoNumeric.options.roundingMethod.upToNext05,\n AutoNumeric.options.roundingMethod.downToNext05,\n ])) {\n AutoNumericHelper.throwError(`The rounding method option 'roundingMethod' is invalid ; it should either be 'S', 'A', 's', 'a', 'B', 'U', 'D', 'C', 'F', 'N05', 'CHF', 'U05' or 'D05' (cf. documentation), [${options.roundingMethod}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.negativeBracketsTypeOnBlur) && !AutoNumericHelper.isInArray(options.negativeBracketsTypeOnBlur, [\n AutoNumeric.options.negativeBracketsTypeOnBlur.parentheses,\n AutoNumeric.options.negativeBracketsTypeOnBlur.brackets,\n AutoNumeric.options.negativeBracketsTypeOnBlur.chevrons,\n AutoNumeric.options.negativeBracketsTypeOnBlur.curlyBraces,\n AutoNumeric.options.negativeBracketsTypeOnBlur.angleBrackets,\n AutoNumeric.options.negativeBracketsTypeOnBlur.japaneseQuotationMarks,\n AutoNumeric.options.negativeBracketsTypeOnBlur.halfBrackets,\n AutoNumeric.options.negativeBracketsTypeOnBlur.whiteSquareBrackets,\n AutoNumeric.options.negativeBracketsTypeOnBlur.quotationMarks,\n AutoNumeric.options.negativeBracketsTypeOnBlur.guillemets,\n ])) {\n AutoNumericHelper.throwError(`The brackets for negative values option 'negativeBracketsTypeOnBlur' is invalid ; it should either be '(,)', '[,]', '<,>', '{,}', '〈,〉', '「,」', '⸤,⸥', '⟦,⟧', '‹,›' or '«,»', [${options.negativeBracketsTypeOnBlur}] given.`);\n }\n\n if (!(AutoNumericHelper.isString(options.emptyInputBehavior) || AutoNumericHelper.isNumber(options.emptyInputBehavior)) ||\n !(AutoNumericHelper.isInArray(options.emptyInputBehavior, [\n AutoNumeric.options.emptyInputBehavior.focus,\n AutoNumeric.options.emptyInputBehavior.press,\n AutoNumeric.options.emptyInputBehavior.always,\n AutoNumeric.options.emptyInputBehavior.min,\n AutoNumeric.options.emptyInputBehavior.max,\n AutoNumeric.options.emptyInputBehavior.zero,\n AutoNumeric.options.emptyInputBehavior.null,\n ]) || testFloatOrIntegerAndPossibleNegativeSign.test(options.emptyInputBehavior))) {\n AutoNumericHelper.throwError(`The display on empty string option 'emptyInputBehavior' is invalid ; it should either be 'focus', 'press', 'always', 'min', 'max', 'zero', 'null', a number, or a string that represents a number, [${options.emptyInputBehavior}] given.`);\n }\n\n if (options.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.zero &&\n (options.minimumValue > 0 || options.maximumValue < 0)) {\n AutoNumericHelper.throwError(`The 'emptyInputBehavior' option is set to 'zero', but this value is outside of the range defined by 'minimumValue' and 'maximumValue' [${options.minimumValue}, ${options.maximumValue}].`);\n }\n\n if (testFloatOrIntegerAndPossibleNegativeSign.test(String(options.emptyInputBehavior))) {\n if (!this._isWithinRangeWithOverrideOption(options.emptyInputBehavior, options)) {\n AutoNumericHelper.throwError(`The 'emptyInputBehavior' option is set to a number or a string that represents a number, but its value [${options.emptyInputBehavior}] is outside of the range defined by the 'minimumValue' and 'maximumValue' options [${options.minimumValue}, ${options.maximumValue}].`);\n }\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.eventBubbles) && !AutoNumericHelper.isBoolean(options.eventBubbles)) {\n AutoNumericHelper.throwError(`The event bubbles option 'eventBubbles' is invalid ; it should be either 'true' or 'false', [${options.eventBubbles}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.eventIsCancelable) && !AutoNumericHelper.isBoolean(options.eventIsCancelable)) {\n AutoNumericHelper.throwError(`The event is cancelable option 'eventIsCancelable' is invalid ; it should be either 'true' or 'false', [${options.eventIsCancelable}] given.`);\n }\n\n if (AutoNumericHelper.isBoolean(options.invalidClass) || !/^-?[_a-zA-Z]+[_a-zA-Z0-9-]*$/.test(options.invalidClass)) { //TODO Make sure this covers all the CSS class names\n AutoNumericHelper.throwError(`The name of the 'invalidClass' option is not a valid CSS class name ; it should not be empty, and should follow the '^-?[_a-zA-Z]+[_a-zA-Z0-9-]*$' regex, [${options.invalidClass}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.leadingZero, [\n AutoNumeric.options.leadingZero.allow,\n AutoNumeric.options.leadingZero.deny,\n AutoNumeric.options.leadingZero.keep,\n ])) {\n AutoNumericHelper.throwError(`The leading zero behavior option 'leadingZero' is invalid ; it should either be 'allow', 'deny' or 'keep', [${options.leadingZero}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.formatOnPageLoad) && !AutoNumericHelper.isBoolean(options.formatOnPageLoad)) {\n AutoNumericHelper.throwError(`The format on initialization option 'formatOnPageLoad' is invalid ; it should be either 'true' or 'false', [${options.formatOnPageLoad}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.formulaMode) && !AutoNumericHelper.isBoolean(options.formulaMode)) {\n AutoNumericHelper.throwError(`The formula mode option 'formulaMode' is invalid ; it should be either 'true' or 'false', [${options.formulaMode}] given.`);\n }\n\n if (!testPositiveInteger.test(options.historySize) || options.historySize === 0) {\n AutoNumericHelper.throwError(`The history size option 'historySize' is invalid ; it should be a positive integer, [${options.historySize}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.selectNumberOnly) && !AutoNumericHelper.isBoolean(options.selectNumberOnly)) {\n AutoNumericHelper.throwError(`The select number only option 'selectNumberOnly' is invalid ; it should be either 'true' or 'false', [${options.selectNumberOnly}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.selectOnFocus) && !AutoNumericHelper.isBoolean(options.selectOnFocus)) {\n AutoNumericHelper.throwError(`The select on focus option 'selectOnFocus' is invalid ; it should be either 'true' or 'false', [${options.selectOnFocus}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.defaultValueOverride) && (options.defaultValueOverride !== '' && !testFloatOrIntegerAndPossibleNegativeSign.test(options.defaultValueOverride))) {\n AutoNumericHelper.throwError(`The unformatted default value option 'defaultValueOverride' is invalid ; it should be a string that represents a positive or negative number, [${options.defaultValueOverride}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.unformatOnSubmit) && !AutoNumericHelper.isBoolean(options.unformatOnSubmit)) {\n AutoNumericHelper.throwError(`The remove formatting on submit option 'unformatOnSubmit' is invalid ; it should be either 'true' or 'false', [${options.unformatOnSubmit}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.valuesToStrings) &&\n !(AutoNumericHelper.isObject(options.valuesToStrings))) {\n AutoNumericHelper.throwError(`The option 'valuesToStrings' is invalid ; it should be an object, ideally with 'key -> value' entries, [${options.valuesToStrings}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.outputFormat) && !AutoNumericHelper.isInArray(options.outputFormat, [\n AutoNumeric.options.outputFormat.string,\n AutoNumeric.options.outputFormat.number,\n AutoNumeric.options.outputFormat.dot,\n AutoNumeric.options.outputFormat.negativeDot,\n AutoNumeric.options.outputFormat.comma,\n AutoNumeric.options.outputFormat.negativeComma,\n AutoNumeric.options.outputFormat.dotNegative,\n AutoNumeric.options.outputFormat.commaNegative,\n ])) {\n AutoNumericHelper.throwError(`The custom locale format option 'outputFormat' is invalid ; it should either be null, 'string', 'number', '.', '-.', ',', '-,', '.-' or ',-', [${options.outputFormat}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.isCancellable) && !AutoNumericHelper.isBoolean(options.isCancellable)) {\n AutoNumericHelper.throwError(`The cancellable behavior option 'isCancellable' is invalid ; it should be either 'true' or 'false', [${options.isCancellable}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.modifyValueOnWheel) && !AutoNumericHelper.isBoolean(options.modifyValueOnWheel)) {\n AutoNumericHelper.throwError(`The increment/decrement on mouse wheel option 'modifyValueOnWheel' is invalid ; it should be either 'true' or 'false', [${options.modifyValueOnWheel}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.watchExternalChanges) && !AutoNumericHelper.isBoolean(options.watchExternalChanges)) {\n AutoNumericHelper.throwError(`The option 'watchExternalChanges' is invalid ; it should be either 'true' or 'false', [${options.watchExternalChanges}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.wheelOn, [\n AutoNumeric.options.wheelOn.focus,\n AutoNumeric.options.wheelOn.hover,\n ])) {\n AutoNumericHelper.throwError(`The wheel behavior option 'wheelOn' is invalid ; it should either be 'focus' or 'hover', [${options.wheelOn}] given.`);\n }\n\n if (!(AutoNumericHelper.isString(options.wheelStep) || AutoNumericHelper.isNumber(options.wheelStep)) ||\n (options.wheelStep !== 'progressive' && !testPositiveFloatOrInteger.test(options.wheelStep)) ||\n Number(options.wheelStep) === 0) {\n // A step equal to '0' is rejected\n AutoNumericHelper.throwError(`The wheel step value option 'wheelStep' is invalid ; it should either be the string 'progressive', or a number or a string that represents a positive number (excluding zero), [${options.wheelStep}] given.`);\n }\n\n if (!AutoNumericHelper.isInArray(options.serializeSpaces, [\n AutoNumeric.options.serializeSpaces.plus,\n AutoNumeric.options.serializeSpaces.percent,\n ])) {\n AutoNumericHelper.throwError(`The space replacement character option 'serializeSpaces' is invalid ; it should either be '+' or '%20', [${options.serializeSpaces}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.noEventListeners) && !AutoNumericHelper.isBoolean(options.noEventListeners)) {\n AutoNumericHelper.throwError(`The option 'noEventListeners' that prevent the creation of event listeners is invalid ; it should be either 'true' or 'false', [${options.noEventListeners}] given.`);\n }\n\n if (!AutoNumericHelper.isNull(options.styleRules) &&\n !(AutoNumericHelper.isObject(options.styleRules) &&\n ((Object.prototype.hasOwnProperty.call(options.styleRules, 'positive') ||\n Object.prototype.hasOwnProperty.call(options.styleRules, 'negative') ||\n Object.prototype.hasOwnProperty.call(options.styleRules, 'ranges') ||\n Object.prototype.hasOwnProperty.call(options.styleRules, 'userDefined'))))) {\n AutoNumericHelper.throwError(`The option 'styleRules' is invalid ; it should be a correctly structured object, with one or more 'positive', 'negative', 'ranges' or 'userDefined' attributes, [${options.styleRules}] given.`);\n }\n\n // Deeper tests of the `styleRules` object : Check that the callback, if defined, is a function\n if (!AutoNumericHelper.isNull(options.styleRules) &&\n Object.prototype.hasOwnProperty.call(options.styleRules, 'userDefined') &&\n !AutoNumericHelper.isNull(options.styleRules.userDefined)) {\n options.styleRules.userDefined.forEach(rule => {\n if (Object.prototype.hasOwnProperty.call(rule, 'callback') && !AutoNumericHelper.isFunction(rule.callback)) {\n AutoNumericHelper.throwError(`The callback defined in the \\`userDefined\\` attribute is not a function, ${typeof rule.callback} given.`);\n }\n });\n }\n\n if (!AutoNumericHelper.isNull(options.rawValueDivisor) &&\n !testPositiveFloatOrInteger.test(options.rawValueDivisor) ||\n options.rawValueDivisor === 0 || options.rawValueDivisor === '0' ||\n options.rawValueDivisor === 1 || options.rawValueDivisor === '1') {\n AutoNumericHelper.throwError(`The raw value divisor option 'rawValueDivisor' is invalid ; it should be a positive number higher than one, preferably an integer, [${options.rawValueDivisor}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.readOnly) && !AutoNumericHelper.isBoolean(options.readOnly)) {\n AutoNumericHelper.throwError(`The option 'readOnly' is invalid ; it should be either 'true' or 'false', [${options.readOnly}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.unformatOnHover) && !AutoNumericHelper.isBoolean(options.unformatOnHover)) {\n AutoNumericHelper.throwError(`The option 'unformatOnHover' is invalid ; it should be either 'true' or 'false', [${options.unformatOnHover}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.failOnUnknownOption) && !AutoNumericHelper.isBoolean(options.failOnUnknownOption)) {\n AutoNumericHelper.throwError(`The debug option 'failOnUnknownOption' is invalid ; it should be either 'true' or 'false', [${options.failOnUnknownOption}] given.`);\n }\n\n if (!AutoNumericHelper.isTrueOrFalseString(options.createLocalList) && !AutoNumericHelper.isBoolean(options.createLocalList)) {\n AutoNumericHelper.throwError(`The debug option 'createLocalList' is invalid ; it should be either 'true' or 'false', [${options.createLocalList}] given.`);\n }\n }\n\n /**\n * Check the `decimalPlaces*` options and output the relevant warnings if some of those will get overwritten during the initialization or settings update.\n *\n * @param {object} options\n * @private\n */\n static _validateDecimalPlacesRawValue(options) {\n // Checks if the number of decimal places for the raw value is lower than the `decimalPlaces`, `decimalPlacesShownOnFocus` and/or `decimalPlacesShownOnBlur` options\n if (!AutoNumericHelper.isNull(options.decimalPlacesRawValue)) {\n if (options.decimalPlacesRawValue < options.decimalPlaces) {\n AutoNumericHelper.warning(`The number of decimal places to store in the raw value [${options.decimalPlacesRawValue}] is lower than the ones to display [${options.decimalPlaces}]. This will likely confuse your users.\nTo solve that, you'd need to either set \\`decimalPlacesRawValue\\` to \\`null\\`, or set a number of decimal places for the raw value equal of bigger than \\`decimalPlaces\\`.`, options.showWarnings);\n }\n\n if (options.decimalPlacesRawValue < options.decimalPlacesShownOnFocus) {\n AutoNumericHelper.warning(`The number of decimal places to store in the raw value [${options.decimalPlacesRawValue}] is lower than the ones shown on focus [${options.decimalPlacesShownOnFocus}]. This will likely confuse your users.\nTo solve that, you'd need to either set \\`decimalPlacesRawValue\\` to \\`null\\`, or set a number of decimal places for the raw value equal of bigger than \\`decimalPlacesShownOnFocus\\`.`, options.showWarnings);\n }\n\n if (options.decimalPlacesRawValue < options.decimalPlacesShownOnBlur) {\n AutoNumericHelper.warning(`The number of decimal places to store in the raw value [${options.decimalPlacesRawValue}] is lower than the ones shown when unfocused [${options.decimalPlacesShownOnBlur}]. This will likely confuse your users.\nTo solve that, you'd need to either set \\`decimalPlacesRawValue\\` to \\`null\\`, or set a number of decimal places for the raw value equal of bigger than \\`decimalPlacesShownOnBlur\\`.`, options.showWarnings);\n }\n }\n }\n\n /**\n * Return `true` if the settings/options are valid, `false` otherwise.\n *\n * @param {object} options\n * @returns {boolean}\n */\n static areSettingsValid(options) {\n let isValid = true;\n try {\n this.validate(options, true);\n } catch (error) {\n isValid = false;\n }\n\n return isValid;\n }\n\n /**\n * Return the default autoNumeric settings.\n *\n * @returns {object}\n */\n static getDefaultConfig() {\n return AutoNumeric.defaultSettings;\n }\n\n /**\n * Return all the predefined language options in one object.\n * You can also access a specific language object directly by using `AutoNumeric.getPredefinedOptions().French` for instance.\n *\n * @returns {object}\n */\n static getPredefinedOptions() {\n return AutoNumeric.predefinedOptions;\n }\n\n /**\n * Analyse the given array `options` and return a single 'merged' option objet.\n * `options` can be `null`, or an array of an option objects, or an array containing another array of option objects / strings (pre-defined option names)\n *\n * @param {null|Array>} options\n * @returns {null|object}\n * @private\n */\n static _generateOptionsObjectFromOptionsArray(options) {\n let optionsResult;\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(options) || options.length === 0) {\n optionsResult = null;\n } else {\n optionsResult = {};\n if (options.length === 1 && Array.isArray(options[0])) {\n options[0].forEach(optionObject => {\n // Using `_getOptionObject()` allows using pre-defined names in the `options` array\n Object.assign(optionsResult, this._getOptionObject(optionObject));\n });\n } else if (options.length >= 1) {\n options.forEach(optionObject => {\n Object.assign(optionsResult, this._getOptionObject(optionObject));\n });\n }\n }\n\n return optionsResult;\n }\n\n /**\n * Format the given number (or numeric string) with the given options. This returns the formatted value as a string.\n * This can also format the given DOM element value with the given options and returns the formatted value as a string.\n * Note : This function does *not* update that element value with the newly formatted value.\n * This basically allows to get the formatted value without first having to initialize an AutoNumeric object.\n *\n * @param {number|string|HTMLElement|HTMLInputElement} numericStringOrDomElement A number, or a string that represent a javascript number, or a DOM element\n * @param {object|null} options Multiple objects can be passed, the latter overwriting the settings from the former ones\n * @returns {string|null}\n */\n static format(numericStringOrDomElement, ...options) {\n if (AutoNumericHelper.isUndefined(numericStringOrDomElement) || numericStringOrDomElement === null) {\n return null;\n }\n\n // Retrieve the value to format\n let value;\n if (AutoNumericHelper.isElement(numericStringOrDomElement)) {\n value = AutoNumericHelper.getElementValue(numericStringOrDomElement);\n } else {\n value = numericStringOrDomElement;\n }\n\n if (!AutoNumericHelper.isString(value) && !AutoNumericHelper.isNumber(value)) {\n AutoNumericHelper.throwError(`The value \"${value}\" being \"set\" is not numeric and therefore cannot be used appropriately.`);\n }\n\n // Manage options\n const optionsToUse = this._generateOptionsObjectFromOptionsArray(options);\n\n // Initiate a very basic settings object\n const settings = Object.assign({}, this.getDefaultConfig(), optionsToUse);\n settings.isNegativeSignAllowed = value < 0;\n settings.isPositiveSignAllowed = value >= 0;\n this._setBrackets(settings);\n\n const regex = {};\n this._cachesUsualRegularExpressions(settings, regex); // This is needed by `_stripAllNonNumberCharactersExceptCustomDecimalChar` that uses those regex\n\n // Check the validity of the `value` parameter\n // Convert the value to a numeric string, stripping unnecessary characters in the process\n let valueString = this._toNumericValue(value, settings);\n if (isNaN(Number(valueString))) {\n AutoNumericHelper.throwError(`The value [${valueString}] that you are trying to format is not a recognized number.`);\n }\n\n // Check if the given valueString is valid\n if (!this._isWithinRangeWithOverrideOption(valueString, settings)) {\n // Throw a custom event\n AutoNumericHelper.triggerEvent(AutoNumeric.events.formatted, document, {\n oldValue : null,\n newValue : null,\n oldRawValue: null,\n newRawValue: null,\n isPristine : null,\n error : 'Range test failed',\n aNElement : null,\n }, true, true);\n AutoNumericHelper.throwError(`The value [${valueString}] being set falls outside of the minimumValue [${settings.minimumValue}] and maximumValue [${settings.maximumValue}] range set for this element`);\n }\n\n // Directly format any `valuesToStrings` values, if found\n if (settings.valuesToStrings && this._checkValuesToStringsSettings(value, settings)) {\n return settings.valuesToStrings[value];\n }\n\n // Generate the `negativePositiveSignPlacement` option as needed\n this._correctNegativePositiveSignPlacementOption(settings);\n // Calculate the needed decimal places\n this._calculateDecimalPlacesOnInit(settings);\n\n // Multiply the raw value with `rawValueDivisor` if defined\n if ((!AutoNumericHelper.isUndefinedOrNullOrEmpty(settings.rawValueDivisor) && settings.rawValueDivisor !== 0) && // Only divide if the `rawValueDivisor` option is set\n valueString !== '' && valueString !== null) { // Do not modify the `valueString` if it's an empty string or null\n valueString *= settings.rawValueDivisor;\n }\n\n // Everything is ok, proceed to rounding, formatting and grouping\n valueString = this._roundFormattedValueShownOnFocus(valueString, settings);\n valueString = this._modifyNegativeSignAndDecimalCharacterForFormattedValue(valueString, settings);\n valueString = this._addGroupSeparators(valueString, settings, false, valueString);\n\n return valueString;\n }\n\n /**\n * Format the given DOM element value, and set the resulting value back as the element value.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @param {object} options\n * @returns {string|null}\n */\n static formatAndSet(domElement, options = null) { //FIXME test this\n const formattedValue = this.format(domElement, options);\n AutoNumericHelper.setElementValue(domElement, formattedValue);\n\n return formattedValue;\n }\n\n /**\n * Unformat the given formatted string with the given options. This returns a numeric string.\n * It can also unformat the given DOM element value with the given options and returns the unformatted numeric string.\n * Note: This does *not* update that element value.\n * This basically allows to get the unformatted value without first having to initialize an AutoNumeric object.\n *\n * @param {string|number|HTMLElement|HTMLInputElement} numericStringOrDomElement A number, or a string that represent a javascript number, or a DOM element\n * @param {object|null} options Multiple objects can be passed, the latter overwriting the settings from the former ones\n * @returns {string|number|NaN}\n */\n static unformat(numericStringOrDomElement, ...options) {\n if (AutoNumericHelper.isNumberStrict(numericStringOrDomElement)) {\n // Giving an unformatted value should return the same unformatted value, whatever the options passed as a parameter\n return numericStringOrDomElement;\n }\n\n // Retrieve the value to unformat\n let value;\n if (AutoNumericHelper.isElement(numericStringOrDomElement)) {\n value = AutoNumericHelper.getElementValue(numericStringOrDomElement);\n } else {\n value = numericStringOrDomElement;\n }\n\n if (value === '') {\n // This allows to be coherent when serializing forms with empty inputs. Fix issue #512.\n return '';\n }\n\n if (AutoNumericHelper.isUndefined(value) || value === null) {\n return null;\n }\n\n if (AutoNumericHelper.isArray(value) || AutoNumericHelper.isObject(value)) {\n // Check the validity of the `value` parameter\n AutoNumericHelper.throwError(`A number or a string representing a number is needed to be able to unformat it, [${value}] given.`);\n }\n\n // Manage options\n const optionsToUse = this._generateOptionsObjectFromOptionsArray(options);\n\n // Generate the settings\n const settings = Object.assign({}, this.getDefaultConfig(), optionsToUse);\n settings.isNegativeSignAllowed = false;\n settings.isPositiveSignAllowed = true;\n value = value.toString();\n\n // Directly unformat any `valuesToStrings` values, if found\n if (settings.valuesToStrings && this._checkStringsToValuesSettings(value, settings)) {\n return AutoNumericHelper.objectKeyLookup(settings.valuesToStrings, value);\n }\n\n // This checks if a negative sign is anywhere in the `value`, not just on the very first character (ie. '12345.67-')\n if (AutoNumericHelper.isNegative(value, settings.negativeSignCharacter)) {\n settings.isNegativeSignAllowed = true;\n settings.isPositiveSignAllowed = false;\n } else if (!AutoNumericHelper.isNull(settings.negativeBracketsTypeOnBlur)) {\n [settings.firstBracket, settings.lastBracket] = settings.negativeBracketsTypeOnBlur.split(',');\n if (value.charAt(0) === settings.firstBracket &&\n value.charAt(value.length - 1) === settings.lastBracket) {\n settings.isNegativeSignAllowed = true;\n settings.isPositiveSignAllowed = false;\n value = this._removeBrackets(value, settings, false);\n }\n }\n\n value = this._convertToNumericString(value, settings);\n const unwantedCharacters = new RegExp(`[^+-0123456789.]`, 'gi');\n if (unwantedCharacters.test(value)) {\n return NaN;\n }\n\n // Generate the `negativePositiveSignPlacement` option as needed\n this._correctNegativePositiveSignPlacementOption(settings);\n // Calculate the needed decimal places\n if (settings.decimalPlacesRawValue) { // `originalDecimalPlacesRawValue` needs to be defined\n settings.originalDecimalPlacesRawValue = settings.decimalPlacesRawValue;\n } else {\n settings.originalDecimalPlacesRawValue = settings.decimalPlaces;\n }\n\n this._calculateDecimalPlacesOnInit(settings);\n\n // Divide the raw value with `rawValueDivisor` if defined\n if ((!AutoNumericHelper.isUndefinedOrNullOrEmpty(settings.rawValueDivisor) && settings.rawValueDivisor !== 0) && // Only divide if the `rawValueDivisor` option is set\n value !== '' && value !== null) { // Do not modify the `value` if it's an empty string or null\n value /= settings.rawValueDivisor;\n }\n\n value = this._roundRawValue(value, settings);\n value = value.replace(settings.decimalCharacter, '.'); // Here we need to convert back the decimal character to a period since `_roundValue` adds it in some cases\n value = this._toLocale(value, settings.outputFormat, settings);\n\n return value;\n }\n\n /**\n * Unformat the given DOM element value, and set the resulting value back as the element value.\n *\n * @param {HTMLElement|HTMLInputElement} domElement\n * @param {object} options\n * @returns {*}\n */\n static unformatAndSet(domElement, options = null) { //FIXME test this\n const unformattedValue = this.unformat(domElement, options);\n AutoNumericHelper.setElementValue(domElement, unformattedValue);\n\n return unformattedValue;\n }\n\n /**\n * Unformat and localize the given formatted string with the given options. This returns a numeric string.\n * It can also unformat and localize the given DOM element value with the given options and returns the unformatted numeric string.\n * Note: This does *not* update that element value.\n * This basically allows to get the localized value without first having to initialize an AutoNumeric object.\n *\n * @param {string|number|HTMLElement|HTMLInputElement} numericStringOrDomElement\n * @param {object} settings\n * @returns {*}\n */\n static localize(numericStringOrDomElement, settings = null) {\n let value;\n if (AutoNumericHelper.isElement(numericStringOrDomElement)) {\n value = AutoNumericHelper.getElementValue(numericStringOrDomElement);\n } else {\n value = numericStringOrDomElement;\n }\n\n if (value === '') {\n // This allows to be coherent when serializing forms with empty inputs. Fix issue #512.\n return '';\n }\n\n if (AutoNumericHelper.isNull(settings)) {\n settings = AutoNumeric.defaultSettings;\n }\n\n value = this.unformat(value, settings);\n\n //XXX The following code is pretty close to the one you can find in `getLocalized()`, but different enough so we won't refactor it.\n if (Number(value) === 0 && settings.leadingZero !== AutoNumeric.options.leadingZero.keep) {\n value = '0';\n }\n\n let outputFormatToUse;\n if (AutoNumericHelper.isNull(settings)) {\n outputFormatToUse = settings.outputFormat;\n } else {\n outputFormatToUse = AutoNumeric.defaultSettings.outputFormat;\n }\n\n return this._toLocale(value, outputFormatToUse, settings);\n }\n\n static localizeAndSet(domElement, options = null) { //FIXME test this\n const localizedValue = this.localize(domElement, options);\n AutoNumericHelper.setElementValue(domElement, localizedValue);\n\n return localizedValue;\n }\n\n /**\n * Return `true` if the given DOM element has an AutoNumeric object that manages it.\n * This function also accepts a selector string.\n *\n * @param {HTMLElement|string} domElementOrSelector Accepts either directly a DOM element to test, or a string selector (that will return one and only one element, if any)\n * @returns {boolean}\n */\n static isManagedByAutoNumeric(domElementOrSelector) { //FIXME test this\n return this._isInGlobalList(AutoNumericHelper.domElement(domElementOrSelector));\n }\n\n /**\n * Return the AutoNumeric object that manages the given DOM element.\n * This function also accepts a selector string.\n *\n * @param {HTMLElement|string} domElementOrSelector Accepts either directly a DOM element to test, or a string selector (that will return one and only one element, if any)\n * @returns {null|AutoNumeric}\n */\n static getAutoNumericElement(domElementOrSelector) {\n const domElement = AutoNumericHelper.domElement(domElementOrSelector);\n\n if (!this.isManagedByAutoNumeric(domElement)) {\n return null;\n }\n\n return this._getFromGlobalList(domElement);\n }\n\n /**\n * Set the given element value, and format it immediately.\n * Return `null` if no AutoNumeric object is found, else, return the AutoNumeric object.\n *\n * @param {HTMLElement|string} domElementOrSelector Either a DOM element reference, or a selector string can be used\n * @param {number|string|null} newValue The value must be a Number, a numeric string or `null` (if `emptyInputBehavior` is set to `'null'`)\n * @param {object} options A settings object that will override the current settings. Note: the update is done only if the `newValue` is defined.\n * @param {boolean} saveChangeToHistory If set to `true`, then the change is recorded in the history table\n * @returns {AutoNumeric|null}\n */\n static set(domElementOrSelector, newValue, options = null, saveChangeToHistory = true) {\n const domElement = AutoNumericHelper.domElement(domElementOrSelector);\n\n if (!this.isManagedByAutoNumeric(domElement)) {\n let showWarnings;\n if (!AutoNumericHelper.isNull(options) && Object.prototype.hasOwnProperty.call(options, 'showWarnings')) {\n showWarnings = options.showWarnings;\n } else {\n showWarnings = true;\n }\n\n AutoNumericHelper.warning(`Impossible to find an AutoNumeric object for the given DOM element or selector.`, showWarnings);\n\n return null;\n }\n\n return this.getAutoNumericElement(domElement).set(newValue, options, saveChangeToHistory);\n }\n\n /**\n * Return the unformatted value as a string from the given DOM element or query selector.\n * This can also return `null` if `rawValue` is null.\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @param {function|null} callback\n * @returns {string|null}\n */\n static getNumericString(domElementOrSelector, callback = null) {\n return this._get(domElementOrSelector, 'getNumericString', callback);\n }\n\n /**\n * Return the current formatted value of the AutoNumeric element as a string, from the given DOM element or query selector.\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @param {function|null} callback\n * @returns {string}\n */\n static getFormatted(domElementOrSelector, callback = null) {\n return this._get(domElementOrSelector, 'getFormatted', callback);\n }\n\n /**\n * Return the element unformatted value as a real Javascript number, from the given DOM element or query selector.\n * Warning: This can lead to precision problems with big numbers that should be stored as strings.\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @param {function|null} callback\n * @returns {number|null}\n */\n static getNumber(domElementOrSelector, callback = null) {\n return this._get(domElementOrSelector, 'getNumber', callback);\n }\n\n /**\n * DRY the code between the static `get*` functions\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @param {string} getFunction The name of the non-static `get*` function as a string\n * @param {function|null} callback\n * @returns {*}\n * @private\n */\n static _get(domElementOrSelector, getFunction, callback = null) {\n const domElement = AutoNumericHelper.domElement(domElementOrSelector);\n\n if (!this.isManagedByAutoNumeric(domElement)) {\n AutoNumericHelper.throwError(`Impossible to find an AutoNumeric object for the given DOM element or selector.`);\n }\n\n return this.getAutoNumericElement(domElement)[getFunction](callback);\n }\n\n /**\n * Returns the unformatted value following the `outputFormat` setting, from the given DOM element or query selector.\n * See the non-static `getLocalized()` method documentation for more details.\n *\n * @param {HTMLElement|string} domElementOrSelector\n * @param {null|string|function} forcedOutputFormat\n * @param {function|null} callback\n * @returns {*}\n */\n static getLocalized(domElementOrSelector, forcedOutputFormat = null, callback = null) {\n const domElement = AutoNumericHelper.domElement(domElementOrSelector);\n\n if (!this.isManagedByAutoNumeric(domElement)) {\n AutoNumericHelper.throwError(`Impossible to find an AutoNumeric object for the given DOM element or selector.`);\n }\n\n return this.getAutoNumericElement(domElement).getLocalized(forcedOutputFormat, callback);\n }\n\n // Pre-defined options can be called to update the current default options with their specificities\n //XXX A better way would be to not initialize first, but that's not possible since `new` is called first and we do not pass the language options (ie. `French`) to the constructor\n\n /**\n * Update the AutoNumeric object with the predefined options, and possibly some option overrides.\n *\n * @param {object} predefinedOption\n * @param {object} optionOverride\n * @private\n * @returns {AutoNumeric}\n */\n _updatePredefinedOptions(predefinedOption, optionOverride = null) {\n if (!AutoNumericHelper.isNull(optionOverride)) {\n this._mergeSettings(predefinedOption, optionOverride);\n this.update(this.settings);\n } else {\n this.update(predefinedOption);\n }\n\n return this;\n }\n\n /**\n * Update the settings to use the French pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n french(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().French, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the North American pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n northAmerican(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().NorthAmerican, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the British pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n british(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().British, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the Swiss pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n swiss(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().Swiss, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the Japanese pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n japanese(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().Japanese, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the Spanish pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n spanish(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().Spanish, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the Chinese pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n chinese(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().Chinese, optionOverride);\n\n return this;\n }\n\n /**\n * Update the settings to use the Brazilian pre-defined language options.\n * Those pre-defined options can be overridden by passing an option object as a parameter.\n *\n * @param {object} optionOverride\n * @returns {AutoNumeric}\n */\n brazilian(optionOverride = null) {\n this._updatePredefinedOptions(AutoNumeric.getPredefinedOptions().Brazilian, optionOverride);\n\n return this;\n }\n\n\n // Internal private functions\n /**\n * Run any callbacks found in the settings object in order to set the settings value back.\n * Any parameter can have a callback defined.\n * The callback takes the current AutoNumeric element as the first argument, and the key name as the second.\n * @example callback(this, 'currencySymbol')\n */\n _runCallbacksFoundInTheSettingsObject() { //FIXME test this\n // Loops through the this.settings object (option array) to find the following\n for (const key in this.settings) {\n if (Object.prototype.hasOwnProperty.call(this.settings, key)) {\n const value = this.settings[key];\n\n if (typeof value === 'function') {\n this.settings[key] = value(this, key);\n } else {\n // Calls the attached function from the html5 data. For instance: \n let htmlAttribute = this.domElement.getAttribute(key); //TODO Use `dataset` instead of `getAttribute` when we won't need to support obsolete browsers\n htmlAttribute = AutoNumericHelper.camelize(htmlAttribute);\n if (typeof this.settings[htmlAttribute] === 'function') {\n this.settings[key] = htmlAttribute(this, key);\n }\n }\n }\n }\n }\n\n /**\n * Keep track if the settings configuration leads to a trailing negative sign (only when the raw value is negative), so we do not have to test the settings values every time we need to know that.\n * `isTrailingNegative` is set to `true` if the settings result in a trailing negative character, `false` otherwise.\n * Note: This returns `true` even if the raw value is positive.\n * @private\n */\n _setTrailingNegativeSignInfo() {\n this.isTrailingNegative = (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix && this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix) ||\n (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix &&\n (this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.left || this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.right));\n }\n\n /**\n * Strip all the unwanted non-number characters.\n * However it does not reorder the localized negative sign.\n *\n * @param {string} s\n * @param {object} settings\n * @param {boolean} stripZeros If set to `false`, then the leading zero(s) are not stripped, otherwise if set to `true`, the `leadingZero` option is followed\n * @param {boolean} isFocused If the element is focused, then this is `true`\n * @returns {string}\n * @private\n */\n static _stripAllNonNumberCharacters(s, settings, stripZeros, isFocused) {\n return this._stripAllNonNumberCharactersExceptCustomDecimalChar(s, settings, stripZeros, isFocused).replace(settings.decimalCharacter, '.');\n }\n\n /**\n * Strip all unwanted non-number characters except the custom decimal character.\n *\n * It converts the custom negative sign and removes the positive sign (custom or not).\n * This keeps :\n * - the numbers,\n * - the normal negative sign '-' if any,\n * - and the *custom* decimal character.\n *\n * @param {string} s\n * @param {object} settings\n * @param {boolean} stripZeros If set to `false`, then the leading zero(s) are not stripped, otherwise if set to `true`, the `leadingZero` option is followed\n * @param {boolean} isFocused If the element is focused, then this is `true`\n * @returns {string|*}\n */\n static _stripAllNonNumberCharactersExceptCustomDecimalChar(s, settings, stripZeros, isFocused) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n //TODO This function is called 10 times (sic!) on each key input, couldn't we lower that number? cf. issue #325\n s = this._normalizeCurrencySuffixAndNegativeSignCharacters(s, settings);\n\n // Then remove all the characters that are not numbers, the normal negative sign '-', or the custom decimal character (note: this also remove any custom positive sign)\n s = s.replace(settings.allowedAutoStrip, '');\n\n // Get only number string\n const m = s.match(settings.numRegAutoStrip);\n s = m ? [m[1], m[2], m[3]].join('') : '';\n\n if (settings.leadingZero === AutoNumeric.options.leadingZero.allow || settings.leadingZero === AutoNumeric.options.leadingZero.keep) {\n let negativeSign = '';\n const [integerPart, decimalPart] = s.split(settings.decimalCharacter);\n let modifiedIntegerPart = integerPart;\n if (AutoNumericHelper.contains(modifiedIntegerPart, settings.negativeSignCharacter)) {\n negativeSign = settings.negativeSignCharacter;\n modifiedIntegerPart = modifiedIntegerPart.replace(settings.negativeSignCharacter, '');\n }\n\n // Strip leading zero on positive value if needed\n if (negativeSign === '' && modifiedIntegerPart.length > settings.mIntPos && modifiedIntegerPart.charAt(0) === '0') {\n modifiedIntegerPart = modifiedIntegerPart.slice(1);\n }\n\n // Strip leading zero on negative value if needed\n if (negativeSign !== '' && modifiedIntegerPart.length > settings.mIntNeg && modifiedIntegerPart.charAt(0) === '0') {\n modifiedIntegerPart = modifiedIntegerPart.slice(1);\n }\n\n s = `${negativeSign}${modifiedIntegerPart}${AutoNumericHelper.isUndefined(decimalPart)?'':settings.decimalCharacter + decimalPart}`;\n }\n\n if ((stripZeros && settings.leadingZero === AutoNumeric.options.leadingZero.deny) ||\n (!isFocused && settings.leadingZero === AutoNumeric.options.leadingZero.allow)) {\n s = s.replace(settings.stripReg, '$1$2');\n }\n\n return s;\n }\n\n /**\n * Sets or removes brackets on negative values, depending on the focus state, which is passed as `isFocused`.\n * The focus state is 'stored' in that object property.\n *\n * @param {string} value\n * @param {object} settings\n * @param {boolean} isFocused\n * @returns {*}\n */\n static _toggleNegativeBracket(value, settings, isFocused) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n let result;\n if (isFocused) {\n result = this._removeBrackets(value, settings);\n } else {\n result = this._addBrackets(value, settings);\n }\n\n return result;\n }\n\n /**\n * Add the bracket types specified in the `settings` object, to the given string `value`.\n *\n * @param {string} value\n * @param {object} settings\n * @returns {string}\n * @private\n */\n static _addBrackets(value, settings) {\n if (AutoNumericHelper.isNull(settings.negativeBracketsTypeOnBlur)) {\n return value;\n }\n\n return `${settings.firstBracket}${value.replace(settings.negativeSignCharacter, '')}${settings.lastBracket}`;\n }\n\n /**\n * Remove the bracket types specified in the `settings` object, from the given string `value`.\n *\n * @param {string} value\n * @param {object} settings\n * @param {boolean} rearrangeSignsAndValueOrder If set to `true`, then only the brackets are remove and a negative sign is added, without reordering the negative sign, currency symbol and value according to the settings.\n * @returns {string}\n * @private\n */\n static _removeBrackets(value, settings, rearrangeSignsAndValueOrder = true) {\n let result;\n if (!AutoNumericHelper.isNull(settings.negativeBracketsTypeOnBlur) && value.charAt(0) === settings.firstBracket) {\n // Remove the brackets if they are present\n result = value.replace(settings.firstBracket, '');\n result = result.replace(settings.lastBracket, '');\n\n // Add back the negative sign at the right place\n if (rearrangeSignsAndValueOrder) {\n // First we need to remove the currency symbol from the value, since we want to be able to add back the negative sign at the right place (including between the value and the currency sign)\n result = result.replace(settings.currencySymbol, '');\n result = this._mergeCurrencySignNegativePositiveSignAndValue(result, settings, true, false); //TODO This assume the value is negative and non-empty. Is this always the case?\n } else {\n // Here we only want to add the negative sign since we removed the brackets, without reordering\n result = `${settings.negativeSignCharacter}${result}`;\n }\n } else {\n result = value;\n }\n\n return result;\n }\n\n /**\n * Analyze the `negativeBracketsTypeOnBlur` options and keep track of the first and last bracket characters to use.\n *\n * @param {object} settings\n * @private\n */\n static _setBrackets(settings) {\n if (AutoNumericHelper.isNull(settings.negativeBracketsTypeOnBlur)) {\n settings.firstBracket = '';\n settings.lastBracket = '';\n } else {\n // Use temporary variables to fix the MS Edge destructuring issue (see pull request #564)\n const [firstBracket, lastBracket] = settings.negativeBracketsTypeOnBlur.split(',');\n settings.firstBracket = firstBracket;\n settings.lastBracket = lastBracket;\n }\n }\n\n /**\n * Return a number as a numeric string that can be typecast to a Number that Javascript will understand.\n *\n * This function returns the given string by stripping:\n * - the currency sign (currencySymbol),\n * - the grouping separators (digitalGroupSpacing),\n * - the suffix text (suffixText),\n * - the positive sign (positiveSignCharacter),\n * - the brackets if any,\n * - by replacing the negative sign character with an hyphen,\n * - and by replacing the decimal character (decimalCharacter) by a dot.\n *\n * Lastly, it also put the negative sign back to its normal position if needed.\n * Bonus; it converts any arabic numbers found to the latin ones.\n *\n * @param {string} s\n * @param {object} settings\n * @returns {string|void|*}\n */\n static _convertToNumericString(s, settings) {\n // Remove the custom brackets\n s = this._removeBrackets(s, settings, false);\n s = this._normalizeCurrencySuffixAndNegativeSignCharacters(s, settings);\n\n // Remove the grouping separators (thousands separators usually)\n s = s.replace(new RegExp(`[${settings.digitGroupSeparator}]`, 'g'), '');\n\n // Replace the decimal character by a dot\n if (settings.decimalCharacter !== '.') {\n s = s.replace(settings.decimalCharacter, '.');\n }\n\n // Move the trailing negative sign, if any, to the usual leftmost position\n if (AutoNumericHelper.isNegative(s) && s.lastIndexOf('-') === s.length - 1) {\n s = s.replace('-', '');\n s = `-${s}`;\n }\n\n // Replace the custom positive sign\n if (settings.showPositiveSign) {\n s = s.replace(settings.positiveSignCharacter, '');\n }\n\n // Convert arabic numbers to latin ones, if any\n const convertToNumber = settings.leadingZero !== AutoNumeric.options.leadingZero.keep;\n const temp = AutoNumericHelper.arabicToLatinNumbers(s, convertToNumber, false, false);\n if (!isNaN(temp)) {\n s = temp.toString();\n }\n\n return s;\n }\n\n /**\n * Removes the currency symbol and the suffix text from the given string, and replace the custom negative sign with an hyphen.\n *\n * @param {string} s\n * @param {object} settings\n * @returns {string | *}\n * @private\n */\n static _normalizeCurrencySuffixAndNegativeSignCharacters(s, settings) {\n s = String(s); // Typecast to to a string, in case that the given value is a number\n\n // Remove the currency symbol\n if (settings.currencySymbol !== AutoNumeric.options.currencySymbol.none) {\n s = s.replace(settings.currencySymbol, '');\n }\n\n // Remove the suffixText\n if (settings.suffixText !== AutoNumeric.options.suffixText.none) {\n s = s.replace(settings.suffixText, '');\n }\n\n // Replace the custom negative sign with an hyphen\n if (settings.negativeSignCharacter !== AutoNumeric.options.negativeSignCharacter.hyphen) {\n s = s.replace(settings.negativeSignCharacter, '-');\n }\n\n return s;\n }\n\n /**\n * Converts the ISO numeric string to the locale decimal and minus sign placement.\n * See the \"outputFormat\" option definition for more details.\n * Note: If the `outputFormat` is set to a number, the custom `negativeSignCharacter` is ignored.\n *\n * @param {string|null} value The unformatted value\n * @param {string|null} locale\n * @param {object} settings\n * @returns {*}\n */\n static _toLocale(value, locale, settings) {\n if (AutoNumericHelper.isNull(locale) || locale === AutoNumeric.options.outputFormat.string) {\n return value;\n }\n\n let result;\n switch (locale) {\n case AutoNumeric.options.outputFormat.number:\n result = Number(value);\n break;\n case AutoNumeric.options.outputFormat.dotNegative:\n result = AutoNumericHelper.isNegative(value) ? value.replace('-', '') + '-' : value;\n break;\n case AutoNumeric.options.outputFormat.comma:\n case AutoNumeric.options.outputFormat.negativeComma:\n result = value.replace('.', ',');\n break;\n case AutoNumeric.options.outputFormat.commaNegative:\n result = value.replace('.', ',');\n result = AutoNumericHelper.isNegative(result) ? result.replace('-', '') + '-' : result;\n break;\n // The default case\n case AutoNumeric.options.outputFormat.dot:\n case AutoNumeric.options.outputFormat.negativeDot:\n result = value;\n break;\n default :\n AutoNumericHelper.throwError(`The given outputFormat [${locale}] option is not recognized.`);\n }\n\n if (locale !== AutoNumeric.options.outputFormat.number && settings.negativeSignCharacter !== '-') {\n // Modify the default minus sign with the custom one, if any\n result = result.replace('-', settings.negativeSignCharacter);\n }\n\n return result;\n }\n\n /**\n * Modify the negative sign and the decimal character of the given string value to an hyphen (-) and a dot (.) in order to make that value 'typecastable' to a real number.\n *\n * @param {string} s The formatted value\n * @returns {string} The value with the 'normal' minus sign and decimal character\n */\n _modifyNegativeSignAndDecimalCharacterForRawValue(s) {\n if (this.settings.decimalCharacter !== '.') {\n s = s.replace(this.settings.decimalCharacter, '.');\n }\n\n if (this.settings.negativeSignCharacter !== '-' && this.settings.isNegativeSignAllowed) {\n s = s.replace(this.settings.negativeSignCharacter, '-');\n }\n\n if (!s.match(/\\d/)) {\n // The default value returned by `get` is not formatted with decimals\n s += '0';\n }\n\n return s;\n }\n\n /**\n * Modify the negative sign and the decimal character to use those defined in the settings.\n *\n * @param {string} s\n * @param {object} settings\n * @returns {string}\n */\n static _modifyNegativeSignAndDecimalCharacterForFormattedValue(s, settings) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n if (settings.negativeSignCharacter !== '-') {\n s = s.replace('-', settings.negativeSignCharacter);\n }\n\n if (settings.decimalCharacter !== '.') {\n s = s.replace('.', settings.decimalCharacter);\n }\n\n return s;\n }\n\n /**\n * Return `true` if the given value is empty or is equal to the negative sign character defined in the given settings.\n *\n * @param {string} value\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _isElementValueEmptyOrOnlyTheNegativeSign(value, settings) {\n return value === '' || value === settings.negativeSignCharacter;\n }\n\n /**\n * Return the value with the currency symbol and the suffix text ordered according to the given settings.\n *\n * @param {string} value\n * @param {object} settings\n * @param {boolean} signOnEmpty\n * @returns {*}\n * @private\n */\n static _orderValueCurrencySymbolAndSuffixText(value, settings, signOnEmpty) {\n let result;\n if (settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.always || signOnEmpty) {\n switch (settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.left:\n case AutoNumeric.options.negativePositiveSignPlacement.prefix:\n case AutoNumeric.options.negativePositiveSignPlacement.none:\n result = value + settings.currencySymbol + settings.suffixText;\n break;\n default :\n result = settings.currencySymbol + value + settings.suffixText;\n }\n } else {\n result = value;\n }\n\n return result;\n }\n\n /**\n * Modify the input value by adding the group separators, as defined in the settings, and the negative brackets if needed.\n *\n * @param {string} inputValue The formatted value (ie. with the `decimalCharacter` defined in the settings, not the raw value)\n * @param {object} settings\n * @param {boolean} isFocused\n * @param {number|string|null} currentRawValue The object current raw value (`this.rawValue`)\n * @param {number|string|null} forcedRawValue If this is set, then this rawValue is used instead of the one passed through the `settings` object. This is useful is some very specific cases where we need to set the raw value *after* settings the formatted value, using the `_addGroupSeparators()` method.\n * @returns {*}\n */\n static _addGroupSeparators(inputValue, settings, isFocused, currentRawValue, forcedRawValue = null) {\n //TODO Test if `inputValue` === '', and return '' directly if that's the case,\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n let isValueNegative;\n if (!AutoNumericHelper.isNull(forcedRawValue)) {\n // Prefer directly testing if the raw value is negative in order for the test to be more performant than manipulating the formatted value\n isValueNegative = forcedRawValue < 0;\n } else {\n isValueNegative = AutoNumericHelper.isNegative(inputValue, settings.negativeSignCharacter) || AutoNumericHelper.isNegativeWithBrackets(inputValue, settings.firstBracket, settings.lastBracket); // Test if the value is negative before removing the negative sign\n }\n\n inputValue = this._stripAllNonNumberCharactersExceptCustomDecimalChar(inputValue, settings, false, isFocused);\n\n if (this._isElementValueEmptyOrOnlyTheNegativeSign(inputValue, settings)) {\n return this._orderValueCurrencySymbolAndSuffixText(inputValue, settings, true);\n }\n\n const isZeroOrHasNoValue = AutoNumericHelper.isZeroOrHasNoValue(inputValue);\n\n // Temporarily remove the negative sign if present\n if (isValueNegative) {\n inputValue = inputValue.replace('-', ''); // At this point the `inputValue` has been normalized with a 'normal' negative sign `'-'` //TODO Check that comment validity, since `_stripAllNonNumberCharactersExceptCustomDecimalChar` *does not* convert the negative sign\n }\n\n settings.digitalGroupSpacing = settings.digitalGroupSpacing.toString();\n let digitalGroup;\n switch (settings.digitalGroupSpacing) {\n case AutoNumeric.options.digitalGroupSpacing.two:\n digitalGroup = /(\\d)((\\d)(\\d{2}?)+)$/;\n break;\n case AutoNumeric.options.digitalGroupSpacing.twoScaled:\n digitalGroup = /(\\d)((?:\\d{2}){0,2}\\d{3}(?:(?:\\d{2}){2}\\d{3})*?)$/;\n break;\n case AutoNumeric.options.digitalGroupSpacing.four:\n digitalGroup = /(\\d)((\\d{4}?)+)$/;\n break;\n case AutoNumeric.options.digitalGroupSpacing.three:\n default :\n digitalGroup = /(\\d)((\\d{3}?)+)$/;\n }\n\n // Splits the string at the decimal string\n let [integerPart, decimalPart] = inputValue.split(settings.decimalCharacter);\n if (settings.decimalCharacterAlternative && AutoNumericHelper.isUndefined(decimalPart)) {\n [integerPart, decimalPart] = inputValue.split(settings.decimalCharacterAlternative);\n }\n\n if (settings.digitGroupSeparator !== '') {\n // Re-inserts the thousand separator via a regular expression\n while (digitalGroup.test(integerPart)) {\n integerPart = integerPart.replace(digitalGroup, `$1${settings.digitGroupSeparator}$2`);\n }\n }\n\n // Find out how many decimal places should be kept, depending on the object state (isFocused)\n let decimalPlacesToRoundTo;\n if (isFocused) {\n decimalPlacesToRoundTo = settings.decimalPlacesShownOnFocus;\n } else {\n decimalPlacesToRoundTo = settings.decimalPlacesShownOnBlur;\n }\n\n if (decimalPlacesToRoundTo !== 0 && !AutoNumericHelper.isUndefined(decimalPart)) {\n if (decimalPart.length > decimalPlacesToRoundTo) {\n // Trim the excessive number of decimal places\n decimalPart = decimalPart.substring(0, decimalPlacesToRoundTo);\n }\n\n // Joins the whole number with the decimal value\n inputValue = `${integerPart}${settings.decimalCharacter}${decimalPart}`;\n } else {\n // Otherwise if it's an integer\n inputValue = integerPart;\n }\n\n // Add back the negative/positive sign and the currency symbol, at the right positions\n inputValue = AutoNumeric._mergeCurrencySignNegativePositiveSignAndValue(inputValue, settings, isValueNegative, isZeroOrHasNoValue); //TODO this function is called again in `_toggleNegativeBracket` if the brackets are removed; let's DRY this\n\n if (AutoNumericHelper.isNull(forcedRawValue)) {\n // If the raw value is not forced, use the default one from the settings object\n forcedRawValue = currentRawValue;\n }\n\n // Toggle the negative sign and brackets\n if (settings.negativeBracketsTypeOnBlur !== null && (forcedRawValue < 0 || AutoNumericHelper.isNegativeStrict(inputValue, settings.negativeSignCharacter))) {\n inputValue = this._toggleNegativeBracket(inputValue, settings, isFocused);\n }\n\n let result;\n if (settings.suffixText) {\n result = `${inputValue}${settings.suffixText}`;\n } else {\n result = inputValue;\n }\n\n return result;\n }\n\n /**\n * Return a semi-formatted string where the input value, the negative or positive sign, and the currency symbol are stitched together at the right positions, using the options set in the `settings` object.\n * Note : the `inputValue` is usually not a numeric string since the grouping symbols are already added to it at this point.\n *\n * @param {string} inputValue\n * @param {object} settings\n * @param {boolean} isValueNegative\n * @param {boolean} isZeroOrHasNoValue\n * @returns {*}\n * @throws\n * @private\n */\n static _mergeCurrencySignNegativePositiveSignAndValue(inputValue, settings, isValueNegative, isZeroOrHasNoValue) {\n let signToUse = '';\n if (isValueNegative) {\n signToUse = settings.negativeSignCharacter;\n } else if (settings.showPositiveSign && !isZeroOrHasNoValue) {\n signToUse = settings.positiveSignCharacter;\n }\n\n let result;\n if (settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n if (settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.prefix:\n case AutoNumeric.options.negativePositiveSignPlacement.left:\n result = `${signToUse}${settings.currencySymbol}${inputValue}`;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.right:\n result = `${settings.currencySymbol}${signToUse}${inputValue}`;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.suffix:\n result = `${settings.currencySymbol}${inputValue}${signToUse}`;\n break;\n }\n } else {\n result = settings.currencySymbol + inputValue;\n }\n } else if (settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n if (settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.suffix:\n case AutoNumeric.options.negativePositiveSignPlacement.right:\n result = `${inputValue}${settings.currencySymbol}${signToUse}`;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.left:\n result = `${inputValue}${signToUse}${settings.currencySymbol}`;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.prefix:\n result = `${signToUse}${inputValue}${settings.currencySymbol}`;\n break;\n }\n } else {\n result = inputValue + settings.currencySymbol;\n }\n }\n\n return result;\n }\n\n /**\n * Calculate where to put the caret position on focus if the element content is not selected.\n * This calculation is affected by the `caretPositionOnFocus` option which can be either `null`, `'start'`, `'end'`, `'decimalLeft'` or 'decimalRight'`, and will decide where to put the caret (on the left or right of the value or the decimal character, respectively) :\n * - `null` : the caret position is not forced\n * - `'start'` : the caret is positioned on the left hand side of the value\n * - `'end'` : the caret is positioned on the right hand side of the value\n * - `'decimalLeft'` : the caret is positioned on the left side of the decimal character\n * - `'decimalRight'` : the caret is positioned on the right side of the decimal character\n *\n * @param {string} value The formatted string stripped of the currency symbol and negative/positive sign\n * @returns {number}\n * @throws\n * @private\n */\n _initialCaretPosition(value) {\n if (AutoNumericHelper.isNull(this.settings.caretPositionOnFocus) &&\n this.settings.selectOnFocus === AutoNumeric.options.selectOnFocus.doNotSelect) {\n AutoNumericHelper.throwError('`_initialCaretPosition()` should never be called when the `caretPositionOnFocus` option is `null`.');\n }\n\n const isValueNegative = this.rawValue < 0;\n const isZeroOrHasNoValue = AutoNumericHelper.isZeroOrHasNoValue(value);\n const totalLength = value.length;\n\n let valueSize = 0;\n let integerSize = 0;\n let hasDecimalChar = false;\n let offsetDecimalChar = 0;\n if (this.settings.caretPositionOnFocus !== AutoNumeric.options.caretPositionOnFocus.start) {\n value = value.replace(this.settings.negativeSignCharacter, '');\n value = value.replace(this.settings.positiveSignCharacter, '');\n value = value.replace(this.settings.currencySymbol, '');\n valueSize = value.length;\n hasDecimalChar = AutoNumericHelper.contains(value, this.settings.decimalCharacter);\n\n if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalLeft ||\n this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalRight) {\n if (hasDecimalChar) {\n integerSize = value.indexOf(this.settings.decimalCharacter);\n offsetDecimalChar = this.settings.decimalCharacter.length;\n } else {\n integerSize = valueSize;\n offsetDecimalChar = 0;\n }\n }\n }\n\n let signToUse = '';\n if (isValueNegative) {\n signToUse = this.settings.negativeSignCharacter;\n } else if (this.settings.showPositiveSign && !isZeroOrHasNoValue) {\n signToUse = this.settings.positiveSignCharacter;\n }\n\n const positiveNegativeSignSize = signToUse.length;\n const currencySymbolSize = this.settings.currencySymbol.length;\n\n // Calculate the caret position based on `currencySymbolPlacement`, `negativePositiveSignPlacement` and `caretPositionOnFocus`\n let caretPosition;\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.start) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +€|12.34\n case AutoNumeric.options.negativePositiveSignPlacement.left: // +€|12.34\n case AutoNumeric.options.negativePositiveSignPlacement.right: // €+|12.34\n caretPosition = positiveNegativeSignSize + currencySymbolSize;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // €|12.34+\n caretPosition = currencySymbolSize;\n break;\n }\n } else { // €|12.34\n caretPosition = currencySymbolSize;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.end) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +€12.34|\n case AutoNumeric.options.negativePositiveSignPlacement.left: // +€12.34|\n case AutoNumeric.options.negativePositiveSignPlacement.right: // €+12.34|\n caretPosition = totalLength;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // €12.34|+\n caretPosition = currencySymbolSize + valueSize;\n break;\n }\n } else { // €12.34|\n caretPosition = totalLength;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalLeft) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +€12|.34\n case AutoNumeric.options.negativePositiveSignPlacement.left: // +€12|.34\n case AutoNumeric.options.negativePositiveSignPlacement.right: // €+12|.34\n caretPosition = positiveNegativeSignSize + currencySymbolSize + integerSize;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // €12|.34+\n caretPosition = currencySymbolSize + integerSize;\n break;\n }\n } else { // €12|.34\n caretPosition = currencySymbolSize + integerSize;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalRight) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +€12.|34\n case AutoNumeric.options.negativePositiveSignPlacement.left: // +€12.|34\n case AutoNumeric.options.negativePositiveSignPlacement.right: // €+12.|34\n caretPosition = positiveNegativeSignSize + currencySymbolSize + integerSize + offsetDecimalChar;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // €12.|34+\n caretPosition = currencySymbolSize + integerSize + offsetDecimalChar;\n break;\n }\n } else { // €12.|34\n caretPosition = currencySymbolSize + integerSize + offsetDecimalChar;\n }\n }\n } else if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.start) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // |12.34€+\n case AutoNumeric.options.negativePositiveSignPlacement.right: // |12.34€+\n case AutoNumeric.options.negativePositiveSignPlacement.left: // |12.34+€\n caretPosition = 0;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +|12.34€\n caretPosition = positiveNegativeSignSize;\n break;\n }\n } else { // |12.34€\n caretPosition = 0;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.end) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // 12.34|€+\n case AutoNumeric.options.negativePositiveSignPlacement.right: // 12.34|€+\n case AutoNumeric.options.negativePositiveSignPlacement.left: // 12.34|+€\n caretPosition = valueSize;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +12.34|€\n caretPosition = positiveNegativeSignSize + valueSize;\n break;\n }\n } else { // 12.34|€\n caretPosition = valueSize;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalLeft) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // 12|.34€+\n case AutoNumeric.options.negativePositiveSignPlacement.right: // 12|.34€+\n case AutoNumeric.options.negativePositiveSignPlacement.left: // 12|.34+€\n caretPosition = integerSize;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +12|.34€\n caretPosition = positiveNegativeSignSize + integerSize;\n break;\n }\n } else { // 12|.34€\n caretPosition = integerSize;\n }\n } else if (this.settings.caretPositionOnFocus === AutoNumeric.options.caretPositionOnFocus.decimalRight) {\n if (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.none &&\n (isValueNegative || (!isValueNegative && this.settings.showPositiveSign && !isZeroOrHasNoValue))) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.suffix: // 12.|34€+\n case AutoNumeric.options.negativePositiveSignPlacement.right: // 12.|34€+\n case AutoNumeric.options.negativePositiveSignPlacement.left: // 12.|34+€\n caretPosition = integerSize + offsetDecimalChar;\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.prefix: // +12.|34€\n caretPosition = positiveNegativeSignSize + integerSize + offsetDecimalChar;\n break;\n }\n } else { // 12.|34€\n caretPosition = integerSize + offsetDecimalChar;\n }\n }\n }\n\n return caretPosition;\n }\n\n /**\n * Truncate the trailing zeroes to the given number of decimal places\n *\n * @param {string} roundedInputValue\n * @param {int} decimalPlacesNeeded The number of decimal places to keep\n * @returns {string}\n */\n static _truncateZeros(roundedInputValue, decimalPlacesNeeded) {\n let regex;\n switch (decimalPlacesNeeded) {\n case 0:\n // Prevents padding - removes trailing zeros until the first significant digit is encountered\n regex = /(\\.(?:\\d*[1-9])?)0*$/;\n break;\n case 1:\n // Allows padding when decimalPlacesNeeded equals one - leaves one zero trailing the decimal character\n regex = /(\\.\\d(?:\\d*[1-9])?)0*$/;\n break;\n default :\n // Removes superfluous zeros after the decimalPlacesNeeded length\n regex = new RegExp(`(\\\\.\\\\d{${decimalPlacesNeeded}}(?:\\\\d*[1-9])?)0*`);\n }\n\n // If there are no decimal places, we don't need a decimal point at the end\n roundedInputValue = roundedInputValue.replace(regex, '$1');\n if (decimalPlacesNeeded === 0) {\n roundedInputValue = roundedInputValue.replace(/\\.$/, '');\n }\n\n return roundedInputValue;\n }\n\n /**\n * Round the given `value` with the number of decimal places to keep for the raw value.\n *\n * @param {string|null} value An unformatted numeric value\n * @param {object} settings\n * @returns {*}\n * @private\n */\n static _roundRawValue(value, settings) {\n return this._roundValue(value, settings, settings.decimalPlacesRawValue);\n }\n\n /**\n * Round the given `value` with the number of decimal places to show for the element if focused.\n *\n * @param {string|null} value An unformatted numeric value\n * @param {object} settings\n * @returns {*}\n * @private\n */\n static _roundFormattedValueShownOnFocus(value, settings) {\n return this._roundValue(value, settings, Number(settings.decimalPlacesShownOnFocus));\n }\n\n /**\n * Round the given `value` with the number of decimal places to show for the element if unfocused.\n *\n * @param {string|null} value An unformatted numeric value\n * @param {object} settings\n * @returns {*}\n * @private\n */\n static _roundFormattedValueShownOnBlur(value, settings) {\n return this._roundValue(value, settings, Number(settings.decimalPlacesShownOnBlur));\n }\n\n /**\n * Round the given `value` with the number of decimal places to show for the element based on the value of isFocused.\n *\n * @param {string|null} value An unformatted numeric value\n * @param {object} settings\n * @param {boolean} isFocused\n * @returns {*}\n * @private\n */\n static _roundFormattedValueShownOnFocusOrBlur(value, settings, isFocused) {\n if (isFocused) {\n return this._roundFormattedValueShownOnFocus(value, settings);\n } else {\n return this._roundFormattedValueShownOnBlur(value, settings);\n }\n }\n\n /**\n * Round the input value using the rounding method defined in the settings.\n * This function accepts multiple rounding methods. See the documentation for more details about those.\n *\n * Note : This is handled as text since JavaScript math functions can return inaccurate values.\n *\n * @param {string|null} inputValue An unformatted numeric value\n * @param {object} settings\n * @param {int} decimalPlacesToRoundTo\n * @returns {*}\n */\n static _roundValue(inputValue, settings, decimalPlacesToRoundTo) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n if (AutoNumericHelper.isNull(inputValue)) {\n // Prevent rounding a `null` value\n return inputValue;\n }\n\n //TODO Divide this function to make it easier to understand\n inputValue = (inputValue === '') ? '0' : inputValue.toString();\n if (settings.roundingMethod === AutoNumeric.options.roundingMethod.toNearest05 ||\n settings.roundingMethod === AutoNumeric.options.roundingMethod.toNearest05Alt ||\n settings.roundingMethod === AutoNumeric.options.roundingMethod.upToNext05 ||\n settings.roundingMethod === AutoNumeric.options.roundingMethod.downToNext05) {\n return this._roundCloseTo05(inputValue, settings);\n }\n\n const [negativeSign, preparedValue] = AutoNumeric._prepareValueForRounding(inputValue, settings);\n inputValue = preparedValue;\n\n const decimalCharacterPosition = inputValue.lastIndexOf('.');\n const inputValueHasNoDot = decimalCharacterPosition === -1; // No dot character is found in the `inputValue`\n const [integerPart, decimalPart] = inputValue.split('.'); // Here the decimal character is always a period '.'\n const hasDecimals = decimalPart > 0;\n\n // If no decimals are detected\n if (!hasDecimals &&\n (settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.never ||\n settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.floats)) {\n // If the value decimalPart is only one or more zeroes, then it needs to be removed from the resulting string (cf. issue #652)\n return (Number(inputValue) === 0) ? integerPart : `${negativeSign}${integerPart}`;\n }\n\n // Else there are some decimal places that may need to be rounded\n // Sets the truncate zero method\n let temporaryDecimalPlacesOverride;\n if (settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.always ||\n settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.floats) {\n temporaryDecimalPlacesOverride = decimalPlacesToRoundTo;\n } else {\n temporaryDecimalPlacesOverride = 0;\n }\n\n // Define the decimal position to use (use the very last position if there are no dot in the initial inputValue)\n const decimalPositionToUse = inputValueHasNoDot ? inputValue.length - 1 : decimalCharacterPosition;\n // Checks decimal places to determine if rounding is required\n let checkDecimalPlaces = (inputValue.length - 1) - decimalPositionToUse;\n let inputValueRounded = '';\n\n // Check if no rounding is required\n if (checkDecimalPlaces <= decimalPlacesToRoundTo) {\n // Check if we need to pad with zeros\n inputValueRounded = inputValue;\n if (checkDecimalPlaces < temporaryDecimalPlacesOverride) {\n if (inputValueHasNoDot) {\n inputValueRounded = `${inputValueRounded}${settings.decimalCharacter}`;\n }\n\n let zeros = '000000'; //TODO Change that string with a longer one to prevent having to loop numerous times in the next `while` statement?\n while (checkDecimalPlaces < temporaryDecimalPlacesOverride) {\n zeros = zeros.substring(0, temporaryDecimalPlacesOverride - checkDecimalPlaces);\n inputValueRounded += zeros;\n checkDecimalPlaces += zeros.length;\n }\n } else if (checkDecimalPlaces > temporaryDecimalPlacesOverride) {\n inputValueRounded = this._truncateZeros(inputValueRounded, temporaryDecimalPlacesOverride);\n } else if (checkDecimalPlaces === 0 && temporaryDecimalPlacesOverride === 0) {\n // Remove any trailing dot, if any\n inputValueRounded = inputValueRounded.replace(/\\.$/, '');\n }\n\n return (Number(inputValueRounded) === 0) ? inputValueRounded : `${negativeSign}${inputValueRounded}`;\n }\n\n // Rounded length of the string after rounding\n let roundedStrLength;\n if (inputValueHasNoDot) {\n roundedStrLength = decimalPlacesToRoundTo - 1;\n } else {\n roundedStrLength = Number(decimalPlacesToRoundTo) + Number(decimalCharacterPosition);\n }\n\n const lastDigit = Number(inputValue.charAt(roundedStrLength + 1));\n let inputValueArray = inputValue.substring(0, roundedStrLength + 1).split('');\n let odd;\n if (inputValue.charAt(roundedStrLength) === '.') {\n odd = inputValue.charAt(roundedStrLength - 1) % 2;\n } else {\n odd = inputValue.charAt(roundedStrLength) % 2;\n }\n\n if (this._shouldRoundUp(lastDigit, settings, negativeSign, odd)) {\n // Round up the last digit if required, and continue until no more 9's are found\n for (let i = (inputValueArray.length - 1); i >= 0; i -= 1) {\n if (inputValueArray[i] !== '.') {\n inputValueArray[i] = +inputValueArray[i] + 1;\n if (inputValueArray[i] < 10) {\n break;\n }\n\n if (i > 0) {\n inputValueArray[i] = '0';\n }\n }\n }\n }\n\n // Reconstruct the string, converting any 10's to 0's\n inputValueArray = inputValueArray.slice(0, roundedStrLength + 1);\n\n // Return the rounded value\n inputValueRounded = this._truncateZeros(inputValueArray.join(''), temporaryDecimalPlacesOverride);\n\n return (Number(inputValueRounded) === 0) ? inputValueRounded : `${negativeSign}${inputValueRounded}`;\n }\n\n /**\n * Round the `value` when the rounding method deals with '.05'\n *\n * @param {string} value\n * @param {object} settings\n * @returns {string}\n * @private\n */\n static _roundCloseTo05(value, settings) {\n switch (settings.roundingMethod) {\n case AutoNumeric.options.roundingMethod.toNearest05:\n case AutoNumeric.options.roundingMethod.toNearest05Alt:\n value = (Math.round(value * 20) / 20).toString();\n break;\n case AutoNumeric.options.roundingMethod.upToNext05:\n value = (Math.ceil(value * 20) / 20).toString();\n break;\n default :\n value = (Math.floor(value * 20) / 20).toString();\n }\n\n let result;\n if (!AutoNumericHelper.contains(value, '.')) {\n result = value + '.00';\n } else if (value.length - value.indexOf('.') < 3) {\n result = value + '0';\n } else {\n result = value;\n }\n\n return result;\n }\n\n /**\n * Modify the given `value` in order to make it usable for the rest of the rounding function.\n * This convert the `value` to a positive one, trim any leading zeros and make sure it does not starts with a leading dot.\n *\n * @param {string} value The unformatted value\n * @param {object} settings\n * @returns {[string, string]}\n * @private\n */\n static _prepareValueForRounding(value, settings) {\n // Checks if `inputValue` is a negative value\n let negativeSign = '';\n if (AutoNumericHelper.isNegativeStrict(value, '-')) { // The value being unformatted, we check for the minus sign\n negativeSign = '-';\n\n // Removes the negative sign that will be added back later if required\n value = value.replace('-', '');\n }\n\n // Append a zero if the first character is not a digit (then it is likely a dot)\n if (!value.match(/^\\d/)) {\n value = `0${value}`;\n }\n\n // Determines if the value is equal to zero. If it is, remove the negative sign\n if (Number(value) === 0) {\n negativeSign = '';\n }\n\n // Trims leading zero's as needed\n if ((Number(value) > 0 && settings.leadingZero !== AutoNumeric.options.leadingZero.keep) ||\n (value.length > 0 && settings.leadingZero === AutoNumeric.options.leadingZero.allow)) {\n value = value.replace(/^0*(\\d)/, '$1');\n }\n\n return [negativeSign, value];\n }\n\n /**\n * Return `true` if a round up should be done given the last digit, the settings and other information about the value.\n *\n * @param {number} lastDigit\n * @param {object} settings\n * @param {string} negativeSign This variable comes from `_prepareValueForRounding()`, which return `'-'` if the initial value was negative\n * @param {number} odd\n * @returns {boolean}\n * @private\n */\n static _shouldRoundUp(lastDigit, settings, negativeSign, odd) {\n return (lastDigit > 4 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfUpSymmetric) || // Round half up symmetric\n (lastDigit > 4 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfUpAsymmetric && negativeSign === '') || // Round half up asymmetric positive values\n (lastDigit > 5 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfUpAsymmetric && negativeSign === '-') || // Round half up asymmetric negative values\n (lastDigit > 5 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfDownSymmetric) || // Round half down symmetric\n (lastDigit > 5 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfDownAsymmetric && negativeSign === '') || // Round half down asymmetric positive values\n (lastDigit > 4 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfDownAsymmetric && negativeSign === '-') || // Round half down asymmetric negative values\n (lastDigit > 5 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfEvenBankersRounding) ||\n (lastDigit === 5 && settings.roundingMethod === AutoNumeric.options.roundingMethod.halfEvenBankersRounding && odd === 1) ||\n (lastDigit > 0 && settings.roundingMethod === AutoNumeric.options.roundingMethod.toCeilingTowardPositiveInfinity && negativeSign === '') ||\n (lastDigit > 0 && settings.roundingMethod === AutoNumeric.options.roundingMethod.toFloorTowardNegativeInfinity && negativeSign === '-') ||\n (lastDigit > 0 && settings.roundingMethod === AutoNumeric.options.roundingMethod.upRoundAwayFromZero); // Round up away from zero\n }\n\n /**\n * Truncates the decimal part of a number to the given number of decimal places `decimalPlacesToRoundTo`.\n *\n * @param {string} value\n * @param {object} settings\n * @param {boolean} isPaste\n * @param {int} decimalPlacesToRoundTo\n * @returns {*}\n */\n static _truncateDecimalPlaces(value, settings, isPaste, decimalPlacesToRoundTo) {\n if (isPaste) {\n value = this._roundFormattedValueShownOnFocus(value, settings);\n }\n\n const [integerPart, decimalPart] = value.split(settings.decimalCharacter);\n\n // Truncate the decimal part to the satisfying length since we would round it anyway\n if (decimalPart && decimalPart.length > decimalPlacesToRoundTo) {\n if (decimalPlacesToRoundTo > 0) {\n const modifiedDecimalPart = decimalPart.substring(0, decimalPlacesToRoundTo);\n value = `${integerPart}${settings.decimalCharacter}${modifiedDecimalPart}`;\n } else {\n value = integerPart;\n }\n }\n\n return value;\n }\n\n /**\n * Check if the given value is within the `minimumValue` and `maximumValue` range, while using the override options set with `overrideMinMaxLimits`.\n * The minimum and maximum limit test results are returned in a array like `[isMinimumLimitRespected, isMaximumLimitRespected]`.\n *\n * @param {string} value\n * @param {object} settings\n * @returns {[boolean, boolean]}\n */\n static _checkIfInRangeWithOverrideOption(value, settings) {\n if ((AutoNumericHelper.isNull(value) && settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.null) || // When the `null` value is accepted as the `rawValue`, the limits are ignored\n settings.overrideMinMaxLimits === AutoNumeric.options.overrideMinMaxLimits.ignore ||\n settings.overrideMinMaxLimits === AutoNumeric.options.overrideMinMaxLimits.invalid) {\n return [true, true];\n }\n\n value = value.toString();\n value = value.replace(',', '.');\n const minParse = AutoNumericHelper.parseStr(settings.minimumValue);\n const maxParse = AutoNumericHelper.parseStr(settings.maximumValue);\n const valParse = AutoNumericHelper.parseStr(value);\n\n let result;\n switch (settings.overrideMinMaxLimits) {\n case AutoNumeric.options.overrideMinMaxLimits.floor:\n result = [AutoNumericHelper.testMinMax(minParse, valParse) > -1, true];\n break;\n case AutoNumeric.options.overrideMinMaxLimits.ceiling:\n result = [true, AutoNumericHelper.testMinMax(maxParse, valParse) < 1];\n break;\n default:\n result = [AutoNumericHelper.testMinMax(minParse, valParse) > -1, AutoNumericHelper.testMinMax(maxParse, valParse) < 1];\n }\n\n return result;\n }\n\n /**\n * Returns `true` if the given value is within the `minimumValue` and `maximumValue` limits, while using the override options set with `overrideMinMaxLimits`, `false` otherwise\n *\n * @param {string} value\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _isWithinRangeWithOverrideOption(value, settings) {\n const [minTest, maxTest] = this._checkIfInRangeWithOverrideOption(value, settings);\n\n return minTest && maxTest;\n }\n\n /**\n * Helper function that prepares the value string for the min/max test\n *\n * @param {string} value\n * @returns {{}}\n * @private\n */\n static _cleanValueForRangeParse(value) {\n value = value.toString().replace(',', '.');\n\n return AutoNumericHelper.parseStr(value);\n }\n\n /**\n * Returns `true` is the value is superior or equal to the `minimumValue` limit, discarding any override options\n *\n * @param {string} value\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _isMinimumRangeRespected(value, settings) {\n return AutoNumericHelper.testMinMax(AutoNumericHelper.parseStr(settings.minimumValue), this._cleanValueForRangeParse(value)) > -1;\n }\n\n /**\n * Returns `true` is the value is inferior or equal to the `maximumValue` limit, discarding any override options\n *\n * @param {string} value\n * @param {object} settings\n * @returns {boolean}\n * @private\n */\n static _isMaximumRangeRespected(value, settings) {\n return AutoNumericHelper.testMinMax(AutoNumericHelper.parseStr(settings.maximumValue), this._cleanValueForRangeParse(value)) < 1;\n }\n\n /**\n * Helper function that triggers the range events if they are needed\n *\n * @param {boolean} minTest\n * @param {boolean} maxTest\n * @private\n */\n _triggerRangeEvents(minTest, maxTest) {\n if (!minTest) {\n this._triggerEvent(AutoNumeric.events.minRangeExceeded, this.domElement);\n }\n\n if (!maxTest) {\n this._triggerEvent(AutoNumeric.events.maxRangeExceeded, this.domElement);\n }\n }\n\n /**\n * Set the invalid state on the AutoNumeric element.\n * If the element is not an input, and therefore a contenteditable-enabled element, its validity state cannot be changed.\n * In that case, the invalid css class defined with the `settings.invalidClass` option is added to the element.\n * The 'autoNumeric:invalidValue' event is always sent when this function is called.\n *\n * @private\n */\n _setInvalidState() {\n if (this.isInputElement) {\n AutoNumericHelper.setInvalidState(this.domElement);\n } else {\n this._addCSSClass(this.settings.invalidClass);\n }\n\n this._triggerEvent(AutoNumeric.events.invalidValue, this.domElement);\n this.validState = false;\n }\n\n /**\n * Set the valid state on the AutoNumeric element.\n * If the element is not an input, and therefore a contenteditable-enabled element, its validity state cannot be changed.\n * In that case, the invalid css class defined with the `settings.invalidClass` option is removed.\n * The 'autoNumeric:correctedValue' event is sent if the element state is invalid when this is called.\n *\n * @private\n */\n _setValidState() {\n if (this.isInputElement) {\n AutoNumericHelper.setValidState(this.domElement);\n } else {\n this._removeCSSClass(this.settings.invalidClass);\n }\n\n if (!this.validState) {\n this._triggerEvent(AutoNumeric.events.correctedValue, this.domElement);\n }\n\n this.validState = true;\n }\n\n /**\n * Sets the valid or invalid state on the DOM element, if the value is within the range set by the minimum and maximum value\n *\n * @param {string} value\n * @private\n */\n _setValidOrInvalidState(value) {\n if (this.settings.overrideMinMaxLimits === AutoNumeric.options.overrideMinMaxLimits.invalid) {\n const minRangeOk = this.constructor._isMinimumRangeRespected(value, this.settings);\n const maxRangeOk = this.constructor._isMaximumRangeRespected(value, this.settings);\n\n if (minRangeOk && maxRangeOk) {\n this._setValidState();\n } else {\n this._setInvalidState();\n }\n\n this._triggerRangeEvents(minRangeOk, maxRangeOk);\n }\n }\n\n /**\n * Original settings saved for use when the `decimalPlacesShownOnFocus` and `showOnlyNumbersOnFocus` options are used.\n * Those original settings are used exclusively in the `focusin` and `focusout` event handlers.\n */\n _keepAnOriginalSettingsCopy() {\n this.originalDigitGroupSeparator = this.settings.digitGroupSeparator;\n this.originalCurrencySymbol = this.settings.currencySymbol;\n this.originalSuffixText = this.settings.suffixText;\n }\n\n /**\n * Original settings saved for use when `decimalPlacesShownOnFocus` & `showOnlyNumbersOnFocus` options are being used.\n * This is taken from Quirksmode.\n *\n * @param {string} name\n * @returns {*}\n */\n static _readCookie(name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n let c = '';\n for (let i = 0; i < ca.length; i += 1) {\n c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) {\n return c.substring(nameEQ.length, c.length);\n }\n }\n\n return null;\n }\n\n /**\n * Test if sessionStorage is supported.\n * This is taken from Modernizr.\n *\n * @returns {boolean}\n */\n static _storageTest() {\n const mod = 'modernizr';\n try {\n sessionStorage.setItem(mod, mod);\n sessionStorage.removeItem(mod);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n /**\n * Removes any zeros in excess in the front and back of the given `value`, according to the `settings`.\n * This also manages the cases where the decimal point is on the far left or far right of the `value`.\n *\n * @param {string} value\n * @returns {string|null}\n */\n _trimLeadingAndTrailingZeros(value) {\n // Return the empty string is the value is already empty. This prevent converting that value to '0'.\n if (value === '' || value === null) {\n return value;\n }\n\n if (this.settings.leadingZero !== AutoNumeric.options.leadingZero.keep) {\n if (Number(value) === 0) {\n // Return '0' if the value is zero\n return '0';\n }\n\n // Trim the leading zeros, while leaving one zero to the left of the decimal point if needed\n value = value.replace(/^(-)?0+(?=\\d)/g,'$1');\n }\n\n //TODO remove this from that function and use `trimPaddedZerosFromDecimalPlaces()` instead\n // Trim the trailing zeros after the last decimal place not being a zero (ie. 1.2300 -> 1.23)\n if (AutoNumericHelper.contains(value, '.')) {\n value = value.replace(/(\\.[0-9]*?)0+$/, '$1');\n }\n\n // Remove any trailing decimal point\n value = value.replace(/\\.$/, '');\n\n return value;\n }\n\n /**\n * Generate the name for the persistent stored data variable\n * @private\n */\n _setPersistentStorageName() {\n if (this.settings.saveValueToSessionStorage) {\n if (this.domElement.name !== '' && !AutoNumericHelper.isUndefined(this.domElement.name)) {\n this.rawValueStorageName = `${this.storageNamePrefix}${decodeURIComponent(this.domElement.name)}`;\n } else {\n this.rawValueStorageName = `${this.storageNamePrefix}${this.domElement.id}`;\n }\n }\n }\n\n /**\n * Save the raw Value into sessionStorage or a cookie depending on what the browser is supporting.\n * @private\n */\n _saveValueToPersistentStorage() {\n if (this.settings.saveValueToSessionStorage) {\n if (this.sessionStorageAvailable) {\n sessionStorage.setItem(this.rawValueStorageName, this.rawValue);\n } else {\n // Use cookies for obsolete browsers that do not support sessionStorage (ie. IE 6 & 7)\n document.cookie = `${this.rawValueStorageName}=${this.rawValue}; expires= ; path=/`;\n }\n }\n }\n\n /**\n * Retrieve the raw value from sessionStorage or the cookie depending on what the browser is supporting.\n *\n * @returns {*}\n * @private\n */\n _getValueFromPersistentStorage() {\n if (this.settings.saveValueToSessionStorage) {\n let result;\n if (this.sessionStorageAvailable) {\n result = sessionStorage.getItem(this.rawValueStorageName);\n } else {\n result = this.constructor._readCookie(this.rawValueStorageName);\n }\n\n return result;\n }\n\n AutoNumericHelper.warning('`_getValueFromPersistentStorage()` is called but `settings.saveValueToSessionStorage` is false. There must be an error that needs fixing.', this.settings.showWarnings);\n\n return null;\n }\n\n /**\n * Remove the raw value data from sessionStorage or the cookie depending on what the browser is supporting.\n * @private\n */\n _removeValueFromPersistentStorage() {\n if (this.settings.saveValueToSessionStorage) {\n if (this.sessionStorageAvailable) {\n sessionStorage.removeItem(this.rawValueStorageName);\n } else {\n const date = new Date();\n date.setTime(date.getTime() - 86400000); // -86400000 === -1 * 24 * 60 * 60 * 1000\n const expires = `; expires=${date.toUTCString()}`;\n document.cookie = `${this.rawValueStorageName}='' ;${expires}; path=/`;\n }\n }\n }\n\n /**\n * Get the default value from the html `value` attribute.\n * Return the empty string if such attribute is not found.\n *\n * @param {HTMLElement} domElement\n *\n * @returns {string}\n * @private\n */\n _getDefaultValue(domElement) {\n // Get the default html value\n // Note: we do not use the simpler `return domElement.defaultValue;` code since the given domElement can sometime be a `contenteditable` element which does not support the `defaultValue` attribute.\n const value = domElement.getAttribute('value');\n\n if (AutoNumericHelper.isNull(value)) {\n return '';\n }\n\n return value;\n }\n\n /**\n * Handler for 'focusin' and 'mouseenter' events\n * On focusin, multiple things happens :\n * - If `Alt` is pressed, unformat\n * - Remove the separators if `showOnlyNumbersOnFocus` is set\n * - Depending on `emptyInputBehavior`, reformat the empty formatted value\n * - Display the correct number of decimal places (on focus/blur)\n * - Place the caret correctly if the element is empty\n *\n * Note: On focusin, the `rawValue` is never changed. Only the formatted value can be modified.\n *\n * @param {KeyboardEvent|MouseEvent} e\n * @private\n */\n _onFocusInAndMouseEnter(e) {\n //TODO Create separate handlers for the focus and mouseenter events\n this.isEditing = false; // Just in case no `keyUp` event have been sent (ie. if the user lost the focus from the current window while typing)\n\n if (!this.formulaMode && this.settings.unformatOnHover && e.type === 'mouseenter' && e.altKey) {\n this.constructor._unformatAltHovered(this);\n\n return;\n }\n\n if (e.type === 'focus') { //TODO Move that back to the 'focus' event handler when the separation between the 'focus' and 'mouseenter' handler will be done\n // Keep track if the element is currently focused\n this.isFocused = true;\n this.rawValueOnFocus = this.rawValue; // Keep track of the initial rawValue. This is needed to define if a change event must be dispatched later\n }\n\n if (e.type === 'focus' && this.settings.unformatOnHover && this.hoveredWithAlt) {\n this.constructor._reformatAltHovered(this);\n }\n\n if (e.type === 'focus' || e.type === 'mouseenter' && !this.isFocused) {\n let elementValueToSet = null; // Store the value we want to set on the element, and only call `_setElementValue()` once\n\n if (this.settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.focus &&\n this.rawValue < 0 && this.settings.negativeBracketsTypeOnBlur !== null && this.settings.isNegativeSignAllowed) { //FIXME this is called a second time in _addGroupSeparators too. Prevent this, if possible.\n // Only remove the brackets if the value is negative\n elementValueToSet = this.constructor._removeBrackets(AutoNumericHelper.getElementValue(this.domElement), this.settings);\n //FIXME The element value is set here, why continue and set it again later in that same parent logic block?\n }\n\n // Use the `rawValue`, multiplied by `rawValueDivisor` if defined\n const rawValueToFormat = this._getRawValueToFormat(this.rawValue);\n\n // Modify the element value according to the number of decimal places to show on focus or the `showOnlyNumbersOnFocus` option\n if (rawValueToFormat !== '') {\n // Round the given value according to the object state (focus/unfocused)\n const roundedValue = this.constructor._roundFormattedValueShownOnFocusOrBlur(rawValueToFormat, this.settings, this.isFocused);\n\n if (this.settings.showOnlyNumbersOnFocus === AutoNumeric.options.showOnlyNumbersOnFocus.onlyNumbers) {\n //TODO Use a `this.settingsOverride` object instead of modifying the `this.settings` object\n this.settings.digitGroupSeparator = '';\n this.settings.currencySymbol = '';\n this.settings.suffixText = '';\n elementValueToSet = roundedValue.replace('.', this.settings.decimalCharacter);\n } else {\n let formattedValue;\n if (AutoNumericHelper.isNull(roundedValue)) {\n formattedValue = '';\n } else {\n formattedValue = this.constructor._addGroupSeparators(roundedValue.replace('.', this.settings.decimalCharacter), this.settings, this.isFocused, rawValueToFormat);\n }\n\n elementValueToSet = formattedValue;\n }\n }\n\n // In order to send a 'native' change event when blurring the input, we need to first store the initial input value on focus.\n if (AutoNumericHelper.isNull(elementValueToSet)) {\n this.valueOnFocus = '';\n } else {\n this.valueOnFocus = elementValueToSet;\n }\n\n this.lastVal = this.valueOnFocus;\n const isEmptyValue = this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(this.valueOnFocus, this.settings);\n const orderedValue = this.constructor._orderValueCurrencySymbolAndSuffixText(this.valueOnFocus, this.settings, true); // This displays the currency sign on hover even if the rawValue is empty\n const orderedValueTest = (isEmptyValue && orderedValue !== '') && this.settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.focus;\n if (orderedValueTest) {\n elementValueToSet = orderedValue;\n }\n\n if (!AutoNumericHelper.isNull(elementValueToSet)) {\n this._setElementValue(elementValueToSet);\n }\n\n if (orderedValueTest && orderedValue === this.settings.currencySymbol && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n // If there is a currency symbol and its on the right hand side, then we place the caret accordingly on the far left side\n AutoNumericHelper.setElementSelection(e.target, 0);\n }\n }\n }\n\n /**\n * Handler for the 'focus' event.\n * We update the info of the focused state in the `this.isFocused` variable when the element gets focused.\n * @private\n */\n _onFocus() {\n if (this.settings.isCancellable) {\n // Save the current unformatted value for later use by the 'cancellable' feature\n this._saveCancellableValue();\n }\n }\n\n /**\n * Handler for the 'focusin' event.\n * This is called before the 'focus' event, and is necessary to change the selection on focus under Firefox for instance.\n *\n * @param {Event} e\n * @private\n */\n _onFocusIn(e) {\n if (this.settings.selectOnFocus) {\n // The whole input content is selected on focus (following the `selectOnFocus` and `selectNumberOnly` options)\n //XXX Firefox <47 does not respect this selection...Oh well.\n this.select();\n } else {\n // Or we decide where to put the caret using the `caretPositionOnFocus` option\n if (!AutoNumericHelper.isNull(this.settings.caretPositionOnFocus)) {\n AutoNumericHelper.setElementSelection(e.target, this._initialCaretPosition(AutoNumericHelper.getElementValue(this.domElement)));\n }\n }\n }\n\n /**\n * Enter the special 'formula mode' where users can enter a math expression that will be evaluated on blur and `enter`\n * @private\n */\n _enterFormulaMode() {\n if (this.settings.formulaMode) {\n this.formulaMode = true; // 'Deactivate' the normal event listeners behavior\n // Clear the input and add a '=' sign to it\n AutoNumericHelper.setElementValue(this.domElement, '=');\n // Put the caret after the `=` character\n AutoNumericHelper.setElementSelection(this.domElement, 1);\n }\n }\n\n /**\n * Exit the formula mode\n * Tries to parse and evaluate the math expression, then `set()` the result if it's correct, otherwise reformat with the previous `rawValue`\n * @private\n */\n _exitFormulaMode() {\n // Parse the formula\n let formula = AutoNumericHelper.getElementValue(this.domElement);\n formula = formula.replace(/^\\s*=/, ''); // Remove all the leading whitespaces and the equal sign from the formula\n let result;\n try {\n const ast = new Parser(formula, this.settings.decimalCharacter);\n result = (new Evaluator()).evaluate(ast);\n } catch (e) {\n // Error when parsing the math expression\n this._triggerEvent(AutoNumeric.events.invalidFormula, this.domElement, {\n formula,\n aNElement: this,\n });\n this.reformat();\n this.formulaMode = false;\n\n return;\n }\n\n // The math expression is correctly parsed\n this._triggerEvent(AutoNumeric.events.validFormula, this.domElement, {\n formula,\n result,\n aNElement: this,\n });\n this.set(result); // Note: we can have a valid formula, but an invalid value (ie. out of the min/max range)\n this.formulaMode = false;\n }\n\n /**\n * Returns `true` if the non printable key is accepted in formula mode\n *\n * @returns {boolean}\n * @private\n */\n _acceptNonPrintableKeysInFormulaMode() {\n return this.eventKey === AutoNumericEnum.keyName.Backspace || this.eventKey === AutoNumericEnum.keyName.Delete ||\n this.eventKey === AutoNumericEnum.keyName.LeftArrow || this.eventKey === AutoNumericEnum.keyName.RightArrow ||\n this.eventKey === AutoNumericEnum.keyName.Home || this.eventKey === AutoNumericEnum.keyName.End;\n }\n\n /**\n * Handler for 'keydown' events.\n * The user just started pushing any key, hence one event is sent.\n *\n * Note :\n * By default a 'normal' input output those events in the right order when inputting a character key (ie. 'a') :\n * - keydown\n * - keypress\n * - input\n * - keyup\n *\n * ...when inputting a modifier key (ie. 'ctrl') :\n * - keydown\n * - keyup\n *\n * If 'delete' or 'backspace' are entered 'normally', the following events are sent :\n * - keydown\n * - input\n * - keyup\n *\n * If 'delete' or 'backspace' are entered continuously (with the key still pressed), the following events are sent :\n * - keydown\n * - input\n * [- keydown\n * - input] x times\n * - keyup\n *\n * If 'enter' is entered and the value has not changed, the following events are sent :\n * - keydown\n * - keypress\n * - keyup\n *\n * If 'enter' is entered and the value has been changed, the following events are sent :\n * - keydown\n * - keypress\n * - change\n * - keyup\n *\n * When a paste is done, the following events are sent :\n * - input (if paste is done with the mouse)\n *\n * - keydown (if paste is done with ctrl+v)\n * - keydown\n * - input\n * - keyup\n * - keyup\n *\n * @param {KeyboardEvent} e\n */\n _onKeydown(e) {\n this.formatted = false; // Keep track if the element has been formatted already. If that's the case, prevent further format calculations.\n this.isEditing = true; // Keep track if the user is currently editing the element manually\n\n if (!this.formulaMode && !this.isFocused && this.settings.unformatOnHover && e.altKey && this.domElement === AutoNumericHelper.getHoveredElement()) {\n // Here I prevent calling _unformatAltHovered if the element is already focused, since the global 'keydown' listener will pick it up as well\n this.constructor._unformatAltHovered(this);\n\n return;\n }\n\n this._updateEventKeyInfo(e);\n\n this.keydownEventCounter += 1; // Every time the keydown event is caught, increment the counter to keep track if the key is continuously pressed\n if (this.keydownEventCounter === 1) {\n this.initialValueOnFirstKeydown = AutoNumericHelper.getElementValue(e.target); // This is needed in `onKeyup()` to check if the value as changed during the key press\n this.initialRawValueOnFirstKeydown = this.rawValue;\n }\n\n if (this.formulaMode) {\n if (this.eventKey === AutoNumericEnum.keyName.Esc) { // Cancel the formula\n this.formulaMode = false;\n this.reformat();\n\n return;\n }\n\n if (this.eventKey === AutoNumericEnum.keyName.Enter) { // Calculate the formula\n this._exitFormulaMode();\n\n return;\n }\n\n // Accept the backspace, delete, arrow, home and end keys\n if (this._acceptNonPrintableKeysInFormulaMode()) {\n return;\n }\n\n //TODO Manage the undo/redo events *while* editing a math expression\n //TODO Manage the cut/paste events *while* editing a math expression\n } else if (this.eventKey === AutoNumericEnum.keyName.Equal) {\n this._enterFormulaMode();\n\n return;\n }\n\n if (this.domElement.readOnly || this.settings.readOnly || this.domElement.disabled) {\n this.processed = true;\n\n return;\n }\n\n if (this.eventKey === AutoNumericEnum.keyName.Esc) {\n //XXX The default 'Escape' key behavior differs between Firefox and Chrome, Firefox already having a built-in 'cancellable-like' feature. This is why we call `e.preventDefault()` here instead of just when `isCancellable` is set to `true`. This allow us to keep the same behavior across browsers.\n e.preventDefault();\n\n if (this.settings.isCancellable) {\n // If the user wants to cancel his modifications:\n // We set back the saved value\n if (this.rawValue !== this.savedCancellableValue) {\n // Do not set the value again if it has not changed\n this.set(this.savedCancellableValue);\n // And we need to send an 'input' event when setting back the initial value in order to make other scripts aware of the value change...\n this._triggerEvent(AutoNumeric.events.native.input, e.target);\n }\n }\n\n // ..and lastly we update the caret selection, even if the option `isCancellable` is false\n this.select();\n //TODO Add an option to select either the integer or decimal part with `Esc`\n }\n\n // The \"enter\" key throws a `change` event if the raw value has changed since the `focus` event\n let targetValue = AutoNumericHelper.getElementValue(e.target);\n if (this.eventKey === AutoNumericEnum.keyName.Enter && this.rawValue !== this.rawValueOnFocus) {\n this._triggerEvent(AutoNumeric.events.native.change, e.target);\n this.valueOnFocus = targetValue;\n this.rawValueOnFocus = this.rawValue;\n\n if (this.settings.isCancellable) {\n // If the user activated the 'cancellable' feature, we save the validated value when 'Enter' is hit\n this._saveCancellableValue();\n }\n }\n\n this._updateInternalProperties(e);\n\n if (this._processNonPrintableKeysAndShortcuts(e)) {\n this.processed = true;\n\n return;\n }\n\n // Check if the key is a delete/backspace key\n if (this.eventKey === AutoNumericEnum.keyName.Backspace || this.eventKey === AutoNumericEnum.keyName.Delete) {\n const isDeletionAllowed = this._processCharacterDeletion(); // Because backspace and delete only triggers keydown and keyup events, not keypress\n this.processed = true;\n if (!isDeletionAllowed) {\n // Prevent the deletion if `overrideMinMaxLimits` option is `doNotOverride` and the result goes out of the allowed range\n e.preventDefault();\n\n return;\n }\n\n this._formatValue(e);\n\n // If and only if the resulting value has changed after that backspace/delete, then we have to send an 'input' event like browsers normally do.\n targetValue = AutoNumericHelper.getElementValue(e.target); // Update the value since it could have been changed during the deletion\n if ((targetValue !== this.lastVal) && this.throwInput) {\n // Throw an input event when a character deletion is detected\n this._triggerEvent(AutoNumeric.events.native.input, e.target);\n e.preventDefault(); // ...and immediately prevent the browser to delete a second character\n }\n\n this.lastVal = targetValue;\n this.throwInput = true;\n }\n }\n\n /**\n * Handler for 'keypress' events.\n * The user is still pressing the key, which will output a character (ie. '2') continuously until he releases the key.\n * Note: 'keypress' events are not sent for delete keys like Backspace/Delete.\n *\n * @param {KeyboardEvent} e\n */\n _onKeypress(e) {\n if (this.formulaMode) {\n // Accept the backspace, delete, arrow, home and end keys\n if (this._acceptNonPrintableKeysInFormulaMode()) {\n return;\n }\n\n //TODO Prevent keys to be entered on the left-hand side of the '=' sign?...Or just let the user see what they are wrongly doing?\n if (this.settings.formulaChars.test(this.eventKey)) { // Accept the custom decimal character too\n return; // Accept the key in the formula (and do not accept the '=' character here again)\n } else {\n e.preventDefault(); // Reject the key\n }\n\n return;\n }\n\n if (this.eventKey === AutoNumericEnum.keyName.Insert) {\n return;\n }\n\n const processed = this.processed;\n this._updateInternalProperties(e);\n\n if (this._processNonPrintableKeysAndShortcuts(e)) {\n return;\n }\n\n if (processed) {\n e.preventDefault();\n\n return;\n }\n\n const isCharacterInsertionAllowed = this._processCharacterInsertion();\n if (isCharacterInsertionAllowed) {\n this._formatValue(e);\n const targetValue = AutoNumericHelper.getElementValue(e.target);\n if ((targetValue !== this.lastVal) && this.throwInput) {\n // Throws input event on adding a character\n this._triggerEvent(AutoNumeric.events.native.input, e.target);\n e.preventDefault(); // ...and immediately prevent the browser to add a second character\n } else {\n if ((this.eventKey === this.settings.decimalCharacter || this.eventKey === this.settings.decimalCharacterAlternative) &&\n (AutoNumericHelper.getElementSelection(e.target).start === AutoNumericHelper.getElementSelection(e.target).end) &&\n AutoNumericHelper.getElementSelection(e.target).start === targetValue.indexOf(this.settings.decimalCharacter)) {\n const position = AutoNumericHelper.getElementSelection(e.target).start + 1;\n AutoNumericHelper.setElementSelection(e.target, position);\n }\n\n e.preventDefault();\n }\n\n this.lastVal = AutoNumericHelper.getElementValue(e.target);\n this.throwInput = true;\n\n this._setValidOrInvalidState(this.rawValue); // Updates the valid state as soon as the number is entered (in the case where the user keeps pressing the number key)\n\n return;\n }\n\n e.preventDefault();\n }\n\n /**\n * Handler for 'keyup' events.\n * The user just released any key, hence one event is sent.\n *\n * @param {KeyboardEvent} e\n */\n _onKeyup(e) {\n this.isEditing = false;\n this.keydownEventCounter = 0; // Reset the keydown events counter\n\n if (this.formulaMode) {\n return;\n }\n\n if (this.settings.isCancellable && this.eventKey === AutoNumericEnum.keyName.Esc) {\n // If the user wants to cancel its modifications, we drop the 'keyup' event for the Esc key\n e.preventDefault();\n\n return;\n }\n\n // Manage the undo/redo events\n if (this.eventKey === AutoNumericEnum.keyName.Z || this.eventKey === AutoNumericEnum.keyName.z) {\n if (e.ctrlKey && e.shiftKey) {\n // Redo\n e.preventDefault();\n this._historyTableRedo();\n this.onGoingRedo = true;\n\n return;\n } else if (e.ctrlKey && !e.shiftKey) {\n if (this.onGoingRedo) {\n // Prevent an 'undo' to be launch when releasing the shift key before the ctrl key after a 'redo' shortcut\n this.onGoingRedo = false;\n } else {\n e.preventDefault();\n // Undo\n this._historyTableUndo();\n\n return;\n }\n }\n }\n\n if (this.onGoingRedo && (e.ctrlKey || e.shiftKey)) {\n // Special case where if the user has entered `Control+Shift+z`, then release `z`, keeping `Control` or `Shift` pressed, then `this.onGoingRedo` is never changed back to `false` when the user release `Control` or `Shift`\n this.onGoingRedo = false;\n }\n\n // Manage the Cut event\n if ((e.ctrlKey || e.metaKey) && this.eventKey === AutoNumericEnum.keyName.x) {\n // Save the caret position at the start of the selection\n const caretPosition = AutoNumericHelper.getElementSelection(this.domElement).start;\n // Convert the remaining 'formatted' numbers in a Js number\n const cutNumber = this.constructor._toNumericValue(AutoNumericHelper.getElementValue(e.target), this.settings);\n // Try to set that value with `set()`\n this.set(cutNumber);\n // Set back the initial caret position\n this._setCaretPosition(caretPosition);\n }\n\n // Manage the reformat when hovered with the Alt key pressed\n if (this.eventKey === AutoNumericEnum.keyName.Alt && this.settings.unformatOnHover && this.hoveredWithAlt) {\n this.constructor._reformatAltHovered(this);\n\n return;\n }\n\n // Manage the Backspace and Delete keys when used in combination with the control key (fix #656)\n if ((e.ctrlKey || e.metaKey) && (this.eventKey === AutoNumericEnum.keyName.Backspace || this.eventKey === AutoNumericEnum.keyName.Delete)) {\n const targetValue = AutoNumericHelper.getElementValue(e.target);\n this._setRawValue(this._formatOrUnformatOther(false, targetValue));\n\n return;\n }\n\n this._updateInternalProperties(e);\n\n const skip = this._processNonPrintableKeysAndShortcuts(e);\n delete this.valuePartsBeforePaste;\n const targetValue = AutoNumericHelper.getElementValue(e.target);\n if (skip || targetValue === '' && this.initialValueOnFirstKeydown === '') { // If the user enters skippable keys, or keeps deleting/backspacing into the empty input, no 'formatted' event are sent (cf. issue #621)\n return;\n }\n\n // Added to properly place the caret when only the currency sign is present\n if (targetValue === this.settings.currencySymbol) {\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n AutoNumericHelper.setElementSelection(e.target, 0);\n } else {\n AutoNumericHelper.setElementSelection(e.target, this.settings.currencySymbol.length);\n }\n } else if (this.eventKey === AutoNumericEnum.keyName.Tab) {\n AutoNumericHelper.setElementSelection(e.target, 0, targetValue.length);\n }\n\n if ((targetValue === this.settings.suffixText) ||\n (this.rawValue === '' && this.settings.currencySymbol !== '' && this.settings.suffixText !== '')) {\n AutoNumericHelper.setElementSelection(e.target, 0);\n }\n\n // Saves the extended decimal to preserve the data when navigating away from the page\n if (this.settings.decimalPlacesShownOnFocus !== null) {\n this._saveValueToPersistentStorage();\n }\n\n if (!this.formatted) { //TODO Is this line needed? Considering that onKeydown and onKeypress both finish by setting it to false...\n this._formatValue(e);\n }\n\n this._setValidOrInvalidState(this.rawValue);\n\n // Force the `rawValue` update on Android Chrome\n this._saveRawValueForAndroid();\n\n // If the input value has changed during the key press event chain, an event is sent to alert that a formatting has been done (cf. Issue #187)\n if (targetValue !== this.initialValueOnFirstKeydown) { // Checking the value that were saved after the very first keydown event ensure that the 'formatted' event will be sent even if the user continuously press the Delete/Backspace key\n this._triggerEvent(AutoNumeric.events.formatted, e.target, {\n oldValue : this.initialValueOnFirstKeydown,\n newValue : targetValue,\n oldRawValue: this.initialRawValueOnFirstKeydown,\n newRawValue: this.rawValue,\n isPristine : this.isPristine(false),\n error : null,\n aNElement : this,\n });\n }\n\n // Update the selection of the current element of the history table\n if (this.historyTable.length > 1) {\n const selection = AutoNumericHelper.getElementSelection(this.domElement);\n this.selectionStart = selection.start;\n this.selectionEnd = selection.end;\n this.historyTable[this.historyTableIndex].start = this.selectionStart;\n this.historyTable[this.historyTableIndex].end = this.selectionEnd;\n }\n }\n\n /**\n * On Android Chrome, the `rawValue` is not updated when the user changes the input value.\n * This function updates the `rawValue` accordingly.\n * @private\n */\n _saveRawValueForAndroid() {\n if (this.eventKey === AutoNumericEnum.keyName.AndroidDefault) {\n let normalizedValue = this.constructor._stripAllNonNumberCharactersExceptCustomDecimalChar(this.getFormatted(), this.settings, true, this.isFocused);\n normalizedValue = this.constructor._convertToNumericString(normalizedValue, this.settings);\n\n this._setRawValue(normalizedValue);\n }\n }\n\n /**\n * Handler for 'focusout' events\n * On focusout, multiple things happens :\n * - The element value is formatted back if the `Alt` key was pressed,\n * - The element value is formatted back if `showOnlyNumbersOnFocus` was set to only show numbers,\n * - The element value is multiplied by `rawValueDivisor` on `blur`\n *\n * Note: On focusout, the `rawValue` is never changed. Only the formatted value can be modified.\n *\n * @param {Event} e\n */\n _onFocusOutAndMouseLeave(e) {\n //TODO Create separate handlers for blur and mouseleave\n this.isEditing = false; // Just in case no `keyUp` event have been sent (if the user lost the focus on the window while typing)\n\n if (e.type === 'mouseleave' && this.formulaMode) {\n return;\n }\n\n //FIXME Do not call `set()` if the current raw value is the same as the one we are trying to set (currently, on focus out, `set()` is always called, even if the value has not changed\n if (this.settings.unformatOnHover && e.type === 'mouseleave' && this.hoveredWithAlt) {\n this.constructor._reformatAltHovered(this);\n\n return;\n }\n\n if ((e.type === 'mouseleave' && !this.isFocused) || e.type === 'blur') {\n if (e.type === 'blur' && this.formulaMode) {\n this._exitFormulaMode();\n }\n\n this._saveValueToPersistentStorage();\n if (this.settings.showOnlyNumbersOnFocus === AutoNumeric.options.showOnlyNumbersOnFocus.onlyNumbers) {\n this.settings.digitGroupSeparator = this.originalDigitGroupSeparator;\n this.settings.currencySymbol = this.originalCurrencySymbol;\n this.settings.suffixText = this.originalSuffixText;\n }\n\n // Use the rawValue, multiplied by `rawValueDivisor` if defined\n const rawValueToFormat = this._getRawValueToFormat(this.rawValue);\n const isRawValueNull = AutoNumericHelper.isNull(rawValueToFormat);\n const [minTest, maxTest] = this.constructor._checkIfInRangeWithOverrideOption(rawValueToFormat, this.settings);\n\n // Directly set the formatted value if the `rawValue` is found in `valuesToStrings`\n let elementValueIsAlreadySet = false;\n if (rawValueToFormat !== '' && !isRawValueNull) {\n this._triggerRangeEvents(minTest, maxTest);\n\n if (this.settings.valuesToStrings && this._checkValuesToStrings(rawValueToFormat)) {\n // Set the formatted value with the corresponding string\n this._setElementValue(this.settings.valuesToStrings[rawValueToFormat]);\n elementValueIsAlreadySet = true;\n }\n }\n\n // Only generate the formatted value if no `valuesToStrings` have been found\n if (!elementValueIsAlreadySet) {\n let value;\n if (isRawValueNull || rawValueToFormat === '') {\n value = rawValueToFormat;\n } else {\n value = String(rawValueToFormat);\n }\n\n if (rawValueToFormat !== '' && !isRawValueNull) {\n if (minTest && maxTest && !this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(rawValueToFormat, this.settings)) {\n value = this._modifyNegativeSignAndDecimalCharacterForRawValue(value);\n\n if (this.settings.divisorWhenUnfocused && !AutoNumericHelper.isNull(value)) {\n value = value / this.settings.divisorWhenUnfocused;\n value = value.toString();\n }\n\n value = this.constructor._roundFormattedValueShownOnBlur(value, this.settings);\n value = this.constructor._modifyNegativeSignAndDecimalCharacterForFormattedValue(value, this.settings);\n } else {\n this._triggerRangeEvents(minTest, maxTest);\n }\n } else if (rawValueToFormat === '') {\n switch (this.settings.emptyInputBehavior) {\n case AutoNumeric.options.emptyInputBehavior.zero:\n this._setRawValue('0');\n value = this.constructor._roundValue('0', this.settings, 0); \n break;\n case AutoNumeric.options.emptyInputBehavior.min:\n this._setRawValue(this.settings.minimumValue);\n value = this.constructor._roundFormattedValueShownOnFocusOrBlur(this.settings.minimumValue, this.settings, this.isFocused); \n break;\n case AutoNumeric.options.emptyInputBehavior.max:\n this._setRawValue(this.settings.maximumValue);\n value = this.constructor._roundFormattedValueShownOnFocusOrBlur(this.settings.maximumValue, this.settings, this.isFocused); \n break;\n default:\n if (AutoNumericHelper.isNumber(this.settings.emptyInputBehavior)) {\n this._setRawValue(this.settings.emptyInputBehavior);\n value = this.constructor._roundFormattedValueShownOnFocusOrBlur(this.settings.emptyInputBehavior, this.settings, this.isFocused);\n }\n }\n }\n\n let groupedValue = this.constructor._orderValueCurrencySymbolAndSuffixText(value, this.settings, false);\n if (!(this.constructor._isElementValueEmptyOrOnlyTheNegativeSign(value, this.settings) ||\n (isRawValueNull && this.settings.emptyInputBehavior === AutoNumeric.options.emptyInputBehavior.null))) {\n groupedValue = this.constructor._addGroupSeparators(value, this.settings, false, rawValueToFormat);\n }\n\n // Testing for `allowDecimalPadding.never` or `allowDecimalPadding.floats` is needed to make sure we do not keep a trailing decimalCharacter (like '500.') in the element, since the raw value would still be a correctly formatted integer ('500')\n if (groupedValue !== rawValueToFormat ||\n rawValueToFormat === '' || // This make sure we get rid on any currency symbol or suffix that might have been added on focus\n this.settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.never ||\n this.settings.allowDecimalPadding === AutoNumeric.options.allowDecimalPadding.floats) {\n if (this.settings.symbolWhenUnfocused && rawValueToFormat !== '' && rawValueToFormat !== null) {\n groupedValue = `${groupedValue}${this.settings.symbolWhenUnfocused}`;\n }\n\n this._setElementValue(groupedValue);\n }\n }\n\n this._setValidOrInvalidState(this.rawValue);\n\n if (e.type === 'blur') {\n //TODO Create separate handlers for blur and mouseleave, really.\n this._onBlur(e);\n }\n }\n }\n\n /**\n * Handler for 'paste' event\n *\n * @param {Event|ClipboardEvent} e\n */\n _onPaste(e) {\n //FIXME When pasting '000' on a thousand group selection, the whole selection gets deleted, and only one '0' is pasted (cf. issue #302)\n // The event is prevented by default, since otherwise the user would be able to paste invalid characters into the input\n e.preventDefault();\n\n if (this.settings.readOnly || this.domElement.readOnly || this.domElement.disabled) {\n // Do not allow pasting in a readonly element (fix issue #505)\n return;\n }\n\n let rawPastedText;\n if (window.clipboardData && window.clipboardData.getData) {\n // Special case for the obsolete and non-standard IE browsers 10 and 11\n rawPastedText = window.clipboardData.getData('Text');\n } else if (e.clipboardData && e.clipboardData.getData) {\n // Normal case with modern browsers\n rawPastedText = e.clipboardData.getData('text/plain');\n } else {\n AutoNumericHelper.throwError('Unable to retrieve the pasted value. Please use a modern browser (ie. Firefox or Chromium).');\n }\n\n // Fix for firefox paste handling on `contenteditable` elements where `e.target` is the the text node, not the element\n let eventTarget;\n if (!e.target.tagName) {\n eventTarget = e.explicitOriginalTarget;\n } else {\n eventTarget = e.target;\n }\n\n // 0. Special case if the user has selected all the input text before pasting\n const initialFormattedValue = AutoNumericHelper.getElementValue(eventTarget);\n const selectionStart = eventTarget.selectionStart || 0;\n const selectionEnd = eventTarget.selectionEnd || 0;\n const selectionSize = selectionEnd - selectionStart;\n\n if (selectionSize === initialFormattedValue.length) { // If all the element text is selected\n //TODO Refactor this with the tests below\n // Since the whole element content will be replaced, no need to complicate things and directly test for the validity of the pasted content, then set the `rawValue` and caret position (fix issue #482)\n // 1. Strip all thousand separators, brackets and currency sign, and convert the decimal character to a dot\n const untranslatedPastedText = this._preparePastedText(rawPastedText);\n const pastedRawValue = AutoNumericHelper.arabicToLatinNumbers(untranslatedPastedText, false, false, false); // Allow pasting arabic numbers\n\n // 2. Check that the paste is a valid number once it has been normalized to a raw value\n if (pastedRawValue === '.' || pastedRawValue === '' || (pastedRawValue !== '.' && !AutoNumericHelper.isNumber(pastedRawValue))) {\n this.formatted = true; // This prevent the `keyup` event on the `v` key during a paste to try to format an empty value.\n // If the user tries to paste a single decimal character (that has been translated to '.' already) or the empty value, ignore the paste\n if (this.settings.onInvalidPaste === AutoNumeric.options.onInvalidPaste.error) {\n AutoNumericHelper.throwError(`The pasted value '${rawPastedText}' is not a valid paste content.`);\n }\n\n return;\n }\n\n // 3. Then try to set it as the new value. The `set()` method will run the additional tests (ie. limits) as needed.\n this.set(pastedRawValue);\n this.formatted = true;\n\n // 4. On a 'normal' non-autoNumeric input, an `input` event is sent when a paste is done. We mimic that.\n this._triggerEvent(AutoNumeric.events.native.input, eventTarget);\n\n // 5. Return since the job is done\n return;\n }\n\n // 1. Check if the paste has a negative sign (only if it's the first character), and store that information for later use\n const isPasteNegative = AutoNumericHelper.isNegativeStrict(rawPastedText, this.settings.negativeSignCharacter);\n if (isPasteNegative) {\n // 1a. Remove the negative sign from the pasted text\n rawPastedText = rawPastedText.slice(1, rawPastedText.length);\n }\n\n // 2. Strip all thousand separators, brackets and currency sign, and convert the decimal character to a dot\n const untranslatedPastedText = this._preparePastedText(rawPastedText);\n\n let pastedText;\n if (untranslatedPastedText === '.') {\n // Special case : If the user tries to paste a single decimal character (that has been translated to '.' already)\n pastedText = '.';\n } else {\n // Normal case\n // Allow pasting arabic numbers\n pastedText = AutoNumericHelper.arabicToLatinNumbers(untranslatedPastedText, false, false, false);\n }\n\n // 3. Test if the paste is valid (only has numbers and eventually a decimal character). If it's not valid, stop here.\n if (pastedText !== '.' && (!AutoNumericHelper.isNumber(pastedText) || pastedText === '')) {\n this.formatted = true; // This prevent the `keyup` event on the `v` key during a paste to try to format an empty value (fix issue #484)\n if (this.settings.onInvalidPaste === AutoNumeric.options.onInvalidPaste.error) {\n AutoNumericHelper.throwError(`The pasted value '${rawPastedText}' is not a valid paste content.`);\n }\n\n return;\n }\n\n // 4. Calculate the paste result\n let caretPositionOnInitialTextAfterPasting;\n let isInitialValueNegative = AutoNumericHelper.isNegativeStrict(this.getNumericString(), this.settings.negativeSignCharacter);\n let isPasteNegativeAndInitialValueIsPositive;\n let result;\n\n // If the pasted content is negative, then the result will be negative too\n if (isPasteNegative && !isInitialValueNegative) {\n isInitialValueNegative = true;\n isPasteNegativeAndInitialValueIsPositive = true;\n }\n else {\n isPasteNegativeAndInitialValueIsPositive = false;\n }\n\n // 1. Generate the unformatted result\n const leftFormattedPart = initialFormattedValue.slice(0, selectionStart);\n const rightFormattedPart = initialFormattedValue.slice(selectionEnd, initialFormattedValue.length);\n\n if (selectionStart !== selectionEnd) {\n // a. If there is a selection, remove the selected part, and return the left and right part\n result = this._preparePastedText(leftFormattedPart + rightFormattedPart);\n } else {\n // b. Else if this is only one caret (and therefore no selection), then return the left and right part\n result = this._preparePastedText(initialFormattedValue);\n }\n\n // Add back the negative sign if needed\n if (isInitialValueNegative) {\n result = AutoNumericHelper.setRawNegativeSign(result);\n }\n\n // Build the unformatted result string\n caretPositionOnInitialTextAfterPasting = AutoNumericHelper.convertCharacterCountToIndexPosition(AutoNumericHelper.countNumberCharactersOnTheCaretLeftSide(initialFormattedValue, selectionStart, this.settings.decimalCharacter));\n if (isPasteNegativeAndInitialValueIsPositive) {\n // If the initial paste is negative and the initial value is not, then I must offset the caret position by one place to the right to take the additional hyphen into account\n caretPositionOnInitialTextAfterPasting++;\n //TODO Quid if the negative sign is not on the left (negativePositiveSignPlacement and currencySymbolPlacement)?\n //TODO Quid if the positive sign is shown?\n }\n\n let leftPart = result.slice(0, caretPositionOnInitialTextAfterPasting);\n let rightPart = result.slice(caretPositionOnInitialTextAfterPasting, result.length);\n let leftPartContainedADot = false;\n if (pastedText === '.') {\n if (AutoNumericHelper.contains(leftPart, '.')) {\n // If I remove a dot here, then I need to update the caret position (decrement it by 1) when positioning it\n // To do so, we keep that info in order to modify the caret position later\n leftPartContainedADot = true;\n leftPart = leftPart.replace('.', '');\n }\n\n rightPart = rightPart.replace('.', '');\n }\n\n // Manage the case where a negative number is pasted onto another negative number that is entirely selected (cf. issue #593)\n let negativePasteOnNegativeNumber = false;\n if (leftPart === '' && rightPart === '-') {\n leftPart = '-';\n rightPart = '';\n // When pasting a negative number on a negative number, we need to offset the caret position one place to the right to take into account the negative sign\n negativePasteOnNegativeNumber = true;\n }\n\n // -- Here, we are good to go to continue on the same basis for each value of the `onInvalidPaste` option\n\n switch (this.settings.onInvalidPaste) {\n /* 4a. Truncate paste behavior:\n * Insert as many numbers as possible on the right hand side of the caret from the pasted text content, until the input reach its range limit.\n * If there is more characters in the clipboard once a limit is reached, drop the extraneous characters.\n * Otherwise paste all the numbers from the clipboard.\n * While doing so, we check if the result is within the minimum and maximum values allowed, and stop as soon as we encounter one of those.\n *\n * 4b. Replace paste behavior:\n * Idem than the 'truncate' paste behavior, except that when a range limit is hit, we try to replace the subsequent initial numbers with the pasted ones, until we hit the range limit a second (and last) time, or we run out of numbers to paste\n */\n /* eslint no-case-declarations: 0 */\n case AutoNumeric.options.onInvalidPaste.truncate:\n case AutoNumeric.options.onInvalidPaste.replace:\n // c. Add numbers one by one at the caret position, while testing if the result is valid and within the range of the minimum and maximum value\n // Continue until you either run out of numbers to paste, or that you get out of the range limits\n const minParse = AutoNumericHelper.parseStr(this.settings.minimumValue);\n const maxParse = AutoNumericHelper.parseStr(this.settings.maximumValue);\n let lastGoodKnownResult = result; // This is set as the default, in case we do not add even one number\n let pastedTextIndex = 0;\n let modifiedLeftPart = leftPart;\n\n while (pastedTextIndex < pastedText.length) {\n // Modify the result with another pasted character\n modifiedLeftPart += pastedText[pastedTextIndex];\n result = modifiedLeftPart + rightPart;\n\n // Check the range limits\n if (!this.constructor._checkIfInRange(result, minParse, maxParse)) {\n // The result is out of the range limits, stop the loop here\n break;\n }\n\n // Save the last good known result\n lastGoodKnownResult = result;\n\n // Update the local variables for the next loop\n pastedTextIndex++;\n }\n\n // Update the last caret position where to insert a new number\n caretPositionOnInitialTextAfterPasting += pastedTextIndex;\n if (negativePasteOnNegativeNumber) caretPositionOnInitialTextAfterPasting++;\n\n //XXX Here we have the result for the `truncate` option\n if (this.settings.onInvalidPaste === AutoNumeric.options.onInvalidPaste.truncate) {\n //TODO If the user as defined a truncate callback and there are still some numbers (that will be dropped), then call this callback with the initial paste as well as the remaining numbers\n result = lastGoodKnownResult;\n\n if (leftPartContainedADot) {\n // If a dot has been removed for the part on the left of the caret, we decrement the caret index position\n caretPositionOnInitialTextAfterPasting--;\n }\n break;\n }\n //XXX ...else we need to continue modifying the result for the 'replace' option\n\n // d. Until there are numbers to paste, replace the initial numbers one by one, and still do the range test.\n // Stop when you have no more numbers to paste, or if you are out of the range limits.\n // If you do get to the range limits, use the previous known good value within those limits.\n // Note: The numbers are replaced one by one, in the integer then decimal part, while ignoring the decimal character\n //TODO What should happen if the user try to paste a decimal number? Should we override the current initial decimal character in favor of this new one? If we do, then we have to recalculate the vMin/vMax from the start in order to take into account this new decimal character position..\n let lastGoodKnownResultIndex = caretPositionOnInitialTextAfterPasting;\n const lastGoodKnownResultSize = lastGoodKnownResult.length;\n\n while (pastedTextIndex < pastedText.length && lastGoodKnownResultIndex < lastGoodKnownResultSize) {\n if (lastGoodKnownResult[lastGoodKnownResultIndex] === '.') {\n // We skip the decimal character 'replacement'. That way, we do not change the decimal character position regarding the remaining numbers.\n lastGoodKnownResultIndex++;\n continue;\n }\n\n // This replace one character at a time\n result = AutoNumericHelper.replaceCharAt(lastGoodKnownResult, lastGoodKnownResultIndex, pastedText[pastedTextIndex]);\n\n // Check the range limits\n if (!this.constructor._checkIfInRange(result, minParse, maxParse)) {\n // The result is out of the range limits, stop the loop here\n break;\n }\n\n // Save the last good known result\n lastGoodKnownResult = result;\n\n // Update the local variables for the next loop\n pastedTextIndex++;\n lastGoodKnownResultIndex++;\n }\n\n // Update the last caret position where to insert a new number\n caretPositionOnInitialTextAfterPasting = lastGoodKnownResultIndex;\n\n if (leftPartContainedADot) {\n // If a dot has been removed for the part on the left of the caret, we decrement the caret index position\n caretPositionOnInitialTextAfterPasting--;\n }\n\n result = lastGoodKnownResult;\n\n break;\n /* 4c. Normal paste behavior:\n * Insert the pasted number inside the current unformatted text, at the correct caret position or selection\n */\n case AutoNumeric.options.onInvalidPaste.error:\n case AutoNumeric.options.onInvalidPaste.ignore:\n case AutoNumeric.options.onInvalidPaste.clamp:\n default:\n // Generate the unformatted result\n result = `${leftPart}${pastedText}${rightPart}`;\n\n // 2. Calculate the caret position in the unformatted value, for later use\n if (selectionStart === selectionEnd) {\n // There is no selection, then the caret position is set after the pasted text\n const indexWherePastedTextHasBeenInserted = AutoNumericHelper.convertCharacterCountToIndexPosition(AutoNumericHelper.countNumberCharactersOnTheCaretLeftSide(initialFormattedValue, selectionStart, this.settings.decimalCharacter));\n caretPositionOnInitialTextAfterPasting = indexWherePastedTextHasBeenInserted + pastedText.length; // I must not count the characters that have been removed from the pasted text (ie. '.')\n } else if (rightPart === '') {\n // If the user selected from the caret position to the end of the input (on the far right)\n caretPositionOnInitialTextAfterPasting = AutoNumericHelper.convertCharacterCountToIndexPosition(AutoNumericHelper.countNumberCharactersOnTheCaretLeftSide(initialFormattedValue, selectionStart, this.settings.decimalCharacter)) + pastedText.length;\n if (negativePasteOnNegativeNumber) caretPositionOnInitialTextAfterPasting++;\n } else {\n // Usual case\n const indexSelectionEndInRawValue = AutoNumericHelper.convertCharacterCountToIndexPosition(AutoNumericHelper.countNumberCharactersOnTheCaretLeftSide(initialFormattedValue, selectionEnd, this.settings.decimalCharacter));\n\n // Here I must not count the characters that have been removed from the pasted text (ie. '.'), or the thousand separators in the initial selected text\n const selectedText = AutoNumericHelper.getElementValue(eventTarget).slice(selectionStart, selectionEnd);\n caretPositionOnInitialTextAfterPasting = indexSelectionEndInRawValue - selectionSize + AutoNumericHelper.countCharInText(this.settings.digitGroupSeparator, selectedText) + pastedText.length;\n }\n\n // Modify the caret position for special cases, only if the whole input has not been selected\n if (isPasteNegativeAndInitialValueIsPositive) {\n // If the pasted value has a negative sign ('-'), but the initial value does not, offset the index by one\n caretPositionOnInitialTextAfterPasting++;\n }\n\n if (leftPartContainedADot) {\n // If a dot has been removed for the part on the left of the caret, we decrement the caret index position\n caretPositionOnInitialTextAfterPasting--;\n }\n }\n\n // 5. Check if the result is a valid number, if not, drop the paste and do nothing.\n if (!AutoNumericHelper.isNumber(result) || result === '') {\n if (this.settings.onInvalidPaste === AutoNumeric.options.onInvalidPaste.error) {\n AutoNumericHelper.throwError(`The pasted value '${rawPastedText}' would result into an invalid content '${result}'.`); //TODO Should we send a warning instead of throwing an error?\n //TODO This is not DRY ; refactor with above\n }\n return;\n }\n\n // 6. If it's a valid number, check if it falls inside the minimum and maximum value. If this fails, modify the value following this procedure :\n /*\n * If 'error' (this is the default) :\n * - Normal paste behavior.\n * - Try to set the new value, if it fails, then throw an error in the console.\n * - Do not change the input value, do not change the current selection.\n * If 'ignore' :\n * - Normal paste behavior.\n * - Try to set the new value, if it fails, do nothing more.\n * - Do not change the input value, do not change the current selection.\n * If 'clamp' :\n * - Normal paste behavior.\n * - Try to set the new value, if it fails, set the value to the minimum or maximum limit, whichever is closest to the\n * paste result.\n * - Change the caret position to be positioned on the left hand side of the decimal character.\n * If 'truncate' :\n * - Truncate paste behavior.\n * - Try to set the new value, until it fails (if the result is out of the min and max value limits).\n * - Drop the remaining non-pasted numbers, and keep the last known non-failing result.\n * - Change the caret position to be positioned after the last pasted character.\n * If 'replace' :\n * - Replace paste behavior.\n * - Try to set the new value, until it fails (if the result is out of the min and max value limits).\n * - Then try to replace as many numbers as possible with the pasted ones. Once it fails, keep the last known non-failing result.\n * - Change the caret position to be positioned after the last pasted character.\n */\n let valueHasBeenSet = false;\n let valueHasBeenClamped = false;\n try {\n this.set(result);\n valueHasBeenSet = true;\n } catch (error) {\n let clampedValue;\n switch (this.settings.onInvalidPaste) {\n case AutoNumeric.options.onInvalidPaste.clamp:\n clampedValue = AutoNumericHelper.clampToRangeLimits(result, this.settings);\n try {\n this.set(clampedValue);\n } catch (error) {\n AutoNumericHelper.throwError(`Fatal error: Unable to set the clamped value '${clampedValue}'.`);\n }\n\n valueHasBeenClamped = true;\n valueHasBeenSet = true;\n result = clampedValue; // This is used only for setting the caret position later\n break;\n case AutoNumeric.options.onInvalidPaste.error:\n case AutoNumeric.options.onInvalidPaste.truncate:\n case AutoNumeric.options.onInvalidPaste.replace:\n // Throw an error message\n AutoNumericHelper.throwError(`The pasted value '${rawPastedText}' results in a value '${result}' that is outside of the minimum [${this.settings.minimumValue}] and maximum [${this.settings.maximumValue}] value range.`);\n // falls through\n case AutoNumeric.options.onInvalidPaste.ignore:\n // Do nothing\n // falls through\n default :\n return; // ...and nothing else should be changed\n }\n }\n\n // 7. Then lastly, set the caret position at the right logical place\n const targetValue = AutoNumericHelper.getElementValue(eventTarget);\n let caretPositionInFormattedNumber;\n if (valueHasBeenSet) {\n switch (this.settings.onInvalidPaste) {\n case AutoNumeric.options.onInvalidPaste.clamp:\n if (valueHasBeenClamped) {\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n AutoNumericHelper.setElementSelection(eventTarget, targetValue.length - this.settings.currencySymbol.length); // This puts the caret on the right of the last decimal place\n } else {\n AutoNumericHelper.setElementSelection(eventTarget, targetValue.length); // ..and this on the far right\n }\n\n break;\n } // else if the value has not been clamped, the default behavior is used...\n // falls through\n case AutoNumeric.options.onInvalidPaste.error:\n case AutoNumeric.options.onInvalidPaste.ignore:\n case AutoNumeric.options.onInvalidPaste.truncate:\n case AutoNumeric.options.onInvalidPaste.replace:\n default :\n // Whenever one or multiple characters are pasted, this means we have to manage the potential thousand separators that could be added by the formatting\n caretPositionInFormattedNumber = AutoNumericHelper.findCaretPositionInFormattedNumber(result, caretPositionOnInitialTextAfterPasting, targetValue, this.settings.decimalCharacter);\n AutoNumericHelper.setElementSelection(eventTarget, caretPositionInFormattedNumber);\n }\n }\n\n // 8. We make sure we send an input event only if the result is different than the initial value before the paste\n if (valueHasBeenSet && initialFormattedValue !== targetValue) {\n // On a 'normal' non-autoNumeric input, an `input` event is sent when a paste is done. We mimic that.\n this._triggerEvent(AutoNumeric.events.native.input, eventTarget);\n }\n }\n\n /**\n * When focusing out of the input, we check if the value has changed, and if it has, then we send a `change` event (since the native one would have been prevented by `e.preventDefault()` called in the other event listeners).\n * We also update the info of the focused state in the `this.isFocused` variable.\n *\n * @param {Event} e\n */\n _onBlur(e) {\n // Keep track if the element is currently focused\n this.isFocused = false;\n // Keep track if the user is currently editing the element\n this.isEditing = false;\n\n // Send a `change` event if the raw value has been changed since the last focus or 'enter' validation\n if (this.rawValue !== this.rawValueOnFocus) {\n this._triggerEvent(AutoNumeric.events.native.change, e.target);\n }\n\n this.rawValueOnFocus = void(0); // Reset the tracker\n }\n\n /**\n * Handler for 'wheel' event\n *\n * @param {WheelEvent} e\n */\n _onWheel(e) {\n if (this.formulaMode) {\n return;\n }\n\n if (this.settings.readOnly || this.domElement.readOnly || this.domElement.disabled) {\n // Do not allow scrolling in a readonly element (fix issue #541)\n return;\n }\n\n if (this.settings.modifyValueOnWheel) {\n if (this.settings.wheelOn === AutoNumeric.options.wheelOn.focus) {\n if (this.isFocused) {\n if (!e.shiftKey) {\n this.wheelAction(e);\n }\n } else if (e.shiftKey) {\n this.wheelAction(e);\n }\n } else if (this.settings.wheelOn === AutoNumeric.options.wheelOn.hover) {\n if (!e.shiftKey) {\n this.wheelAction(e);\n } else {\n // Note: When not `defaultPrevented`, Shift + mouse wheel is reserved by the browsers for horizontal scrolling.\n // Hence, using the Shift key with the `wheelOn` 'hover' option will only scroll the page if we prevent the default behavior\n e.preventDefault(); // Do not scroll horizontally\n\n // Scroll vertically\n window.scrollBy(0, AutoNumericHelper.isNegativeStrict(String(e.deltaY))?-50:50); // `e.deltaY` is usually too small compared to how the page is scrolled. That's why we use a fixed offset.\n }\n } else {\n AutoNumericHelper.throwError('Unknown `wheelOn` option.');\n }\n }\n }\n\n /**\n * Increment or decrement the element value according to the `wheelStep` option chosen\n *\n * @param {WheelEvent} e The `wheel` event\n */\n wheelAction(e) {\n this.isWheelEvent = true; // Keep the info that we are currently managing a mouse wheel event\n\n // 0) First, save the caret position so we can set it back once the value has been changed\n const selectionStart = e.target.selectionStart || 0;\n const selectionEnd = e.target.selectionEnd || 0;\n\n // 1) Get the unformatted value\n const currentUnformattedValue = this.rawValue;\n\n let result;\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(currentUnformattedValue)) {\n // If by default the input is empty, start at '0'\n if (this.settings.minimumValue > 0 || this.settings.maximumValue < 0) {\n // or if '0' is not between min and max value, 'minimumValue' if the user does a wheelup, 'maximumValue' if the user does a wheeldown\n if (AutoNumericHelper.isWheelUpEvent(e)) {\n result = this.settings.minimumValue;\n } else if (AutoNumericHelper.isWheelDownEvent(e)) {\n result = this.settings.maximumValue;\n } else {\n AutoNumericHelper.throwError(`The event is not a 'wheel' event.`);\n }\n } else {\n result = 0;\n }\n } else {\n result = currentUnformattedValue;\n }\n\n result = +result; // Typecast to a number needed for the following addition/subtraction\n\n // 2) Increment/Decrement the value\n // But first, choose the increment/decrement method ; fixed or progressive\n if (AutoNumericHelper.isNumber(this.settings.wheelStep)) {\n const step = +this.settings.wheelStep; // Typecast to a number needed for the following addition/subtraction\n // Fixed method\n // This is the simplest method, where a fixed offset in added/subtracted from the current value\n if (AutoNumericHelper.isWheelUpEvent(e)) { // Increment\n result += step;\n } else if (AutoNumericHelper.isWheelDownEvent(e)) { // Decrement\n result -= step;\n }\n } else {\n // Progressive method\n // For this method, we calculate an offset that is in relation to the size of the current number (using only the integer part size).\n // The bigger the number, the bigger the offset (usually the number count in the integer part minus 3, except for small numbers where a different behavior is better for the user experience).\n //TODO Known limitation : The progressive method does not play well with numbers between 0 and 1 where to modify the decimal places the rawValue first has to go from '1' to '0'\n if (AutoNumericHelper.isWheelUpEvent(e)) { // Increment\n result = AutoNumericHelper.addAndRoundToNearestAuto(result, this.settings.decimalPlacesRawValue);\n } else if (AutoNumericHelper.isWheelDownEvent(e)) { // Decrement\n result = AutoNumericHelper.subtractAndRoundToNearestAuto(result, this.settings.decimalPlacesRawValue);\n }\n }\n\n // 3) Set the new value so it gets formatted\n // First clamp the result if needed\n result = AutoNumericHelper.clampToRangeLimits(result, this.settings);\n if (result !== +currentUnformattedValue) {\n // Only 'set' the value if it has changed. For instance 'set' should not happen if the user hits a limit and continue to try to go past it since we clamp the value.\n this.set(result);\n\n // Since we changed the input value, we send a native `input` event\n this._triggerEvent(AutoNumeric.events.native.input, e.target);\n }\n\n //XXX Do not prevent if the value is not modified? From a UX point of view, preventing the wheel event when the user use it on top of an autoNumeric element should always be done, even if the value does not change. Perhaps that could affect other scripts relying on this event to be sent though.\n e.preventDefault(); // We prevent the page to scroll while we increment/decrement the value\n\n // 4) Finally, we set back the caret position/selection\n // There is no need to take into account the fact that the number count could be different at the end of the wheel event ; it would be too complex and most of the time unreliable\n this._setSelection(selectionStart, selectionEnd);\n\n this.isWheelEvent = false; // Set back the mouse wheel indicator to its default\n }\n\n /**\n * Handler for 'drop' event\n *\n * @param {DragEvent} e\n */\n _onDrop(e) {\n if (this.formulaMode) { // Dropping while in formula mode shouldn't be possible. This is done 'just in case'\n return;\n }\n\n // Note: by default browsers already prevent the drop on readOnly and disabled elements\n this.isDropEvent = true;\n e.preventDefault();\n let format;\n if (AutoNumericHelper.isIE11()) {\n format = 'text';\n } else {\n format = 'text/plain';\n }\n\n const droppedText = e.dataTransfer.getData(format);\n const cleanedValue = this.unformatOther(droppedText);\n this.set(cleanedValue);\n this.isDropEvent = false;\n }\n\n /**\n * Handler for 'submit' events happening on the parent element.\n * If `unformatOnSubmit` is set to `true`, the element value is first unformatted before the form is submitted.\n *\n * @returns {boolean}\n */\n _onFormSubmit() {\n // Search for all the AutoNumeric children of the form element and call the `_unformatOnSubmit()` function\n const inputElements = this._getFormAutoNumericChildren(this.parentForm);\n const aNElements = inputElements.map(aNElement => this.constructor.getAutoNumericElement(aNElement));\n aNElements.forEach(aNElement => aNElement._unformatOnSubmit());\n\n return true;\n }\n\n /**\n * Handler for 'reset' events caught on the parent element.\n * When such event is detected, then every child AutoNumeric elements must format their default value that the browser is forcing upon them.\n *\n * @private\n */\n _onFormReset() {\n const inputElements = this._getFormAutoNumericChildren(this.parentForm);\n const aNElements = inputElements.map(aNElement => this.constructor.getAutoNumericElement(aNElement));\n // Tell all the AutoNumeric children to format their default value\n aNElements.forEach(aNElement => {\n const val = this._getDefaultValue(aNElement.node());\n // aNElement.set(val); //XXX If I use that line, the format is first correctly done, but the form reset is still not finished and will overwrite the formatting. This is why we need to use the following setTimeout line.\n setTimeout(() => aNElement.set(val), 0); //XXX This is an ugly hack, but it seems to be the accepted answer to this problem (https://stackoverflow.com/a/8152960/2834898). This is sad. Do note that I use '0ms' here since using `setTimeout` will push that code on the event stack, and as soon as the reset will be finished, this will be run (see https://stackoverflow.com/a/23987283/2834898).\n });\n }\n\n /**\n * Unformat the element value according to the `unformatOnSubmit` option\n *\n * @private\n */\n _unformatOnSubmit() {\n if (this.settings.unformatOnSubmit) {\n this._setElementValue(this.rawValue);\n }\n }\n\n /**\n * Listen for the `alt` key keydown event globally, and if the event is caught, unformat the AutoNumeric element that is hovered by the mouse.\n *\n * @param {KeyboardEvent} e\n * @private\n */\n _onKeydownGlobal(e) {\n //TODO Find a way to keep the caret position between the alt keyup/keydown states\n if (AutoNumericHelper.character(e) === AutoNumericEnum.keyName.Alt) {\n const hoveredElement = AutoNumericHelper.getHoveredElement();\n if (AutoNumeric.isManagedByAutoNumeric(hoveredElement)) {\n const anElement = AutoNumeric.getAutoNumericElement(hoveredElement);\n if (!anElement.formulaMode && anElement.settings.unformatOnHover) {\n this.constructor._unformatAltHovered(anElement);\n }\n }\n }\n }\n\n /**\n * Listen for the `alt` key keyup event globally, and if the event is caught, reformat the AutoNumeric element that is hovered by the mouse.\n *\n * @param {KeyboardEvent} e\n * @private\n */\n _onKeyupGlobal(e) {\n if (AutoNumericHelper.character(e) === AutoNumericEnum.keyName.Alt) {\n const hoveredElement = AutoNumericHelper.getHoveredElement();\n if (AutoNumeric.isManagedByAutoNumeric(hoveredElement)) {\n const anElement = AutoNumeric.getAutoNumericElement(hoveredElement);\n if (anElement.formulaMode || !anElement.settings.unformatOnHover) {\n return;\n }\n\n this.constructor._reformatAltHovered(anElement);\n }\n }\n }\n\n /**\n * Return `true` if the DOM element is supported by autoNumeric.\n * A supported element is an element whitelisted in the `allowedTagList`.\n *\n * @returns {boolean}\n * @private\n */\n _isElementTagSupported() {\n if (!AutoNumericHelper.isElement(this.domElement)) {\n AutoNumericHelper.throwError(`The DOM element is not valid, ${this.domElement} given.`);\n }\n\n return AutoNumericHelper.isInArray(this.domElement.tagName.toLowerCase(), this.allowedTagList);\n }\n\n /**\n * Return `true` in the DOM element is an .\n *\n * @returns {boolean}\n * @private\n */\n _isInputElement() {\n return this.domElement.tagName.toLowerCase() === 'input';\n }\n\n /**\n * Return `true` if the input type is supported by AutoNumeric\n *\n * @returns {boolean}\n * @throws\n */\n _isInputTypeSupported() {\n return (this.domElement.type === 'text' ||\n this.domElement.type === 'hidden' ||\n this.domElement.type === 'tel' ||\n AutoNumericHelper.isUndefinedOrNullOrEmpty(this.domElement.type));\n }\n\n /**\n * Check if the DOM element is supported by autoNumeric.\n * A supported element is either an element with the correct 'type' attribute, or a tag whitelisted in the `allowedTagList` array.\n * If the check fails, this method throws.\n * This function also sets the info `this.isInputElement` which keep tracks if the DOM element is an or not, and the `this.isContentEditable` if the element has the `contenteditable` attribute set to `true` initially.\n *\n * @throws\n * @private\n */\n _checkElement() {\n const currentElementTag = this.domElement.tagName.toLowerCase();\n\n if (!this._isElementTagSupported()) {\n AutoNumericHelper.throwError(`The <${currentElementTag}> tag is not supported by autoNumeric`);\n }\n\n if (this._isInputElement()) {\n if (!this._isInputTypeSupported()) {\n AutoNumericHelper.throwError(`The input type \"${this.domElement.type}\" is not supported by autoNumeric`);\n }\n\n this.isInputElement = true;\n } else {\n this.isInputElement = false;\n this.isContentEditable = this.domElement.hasAttribute('contenteditable') && this.domElement.getAttribute('contenteditable') === 'true';\n }\n }\n\n /**\n * Formats the default value on page load.\n * This is called only if the `formatOnPageLoad` option is set to `true`.\n *\n * @param {number|string|null} forcedInitialValue The value that should be used for initialization, in place on the eventual html one\n */\n _formatDefaultValueOnPageLoad(forcedInitialValue = null) {\n let setValue = true;\n let currentValue;\n if (!AutoNumericHelper.isNull(forcedInitialValue)) {\n currentValue = forcedInitialValue;\n } else {\n // Make sure the initial value does not have any superfluous whitespaces around it (Fix issue #479)\n currentValue = AutoNumericHelper.getElementValue(this.domElement).trim();\n // Correct the DOM attribute in case some whitespaces were present\n this.domElement.setAttribute('value', currentValue);\n }\n\n if (this.isInputElement || this.isContentEditable) {\n /*\n * If the input value has been set by the dev, but not directly as an attribute in the html, then it takes\n * precedence and should get formatted during the initialization (if this input value is a valid number and that the\n * developer wants it formatted on init (cf. the `settings.formatOnPageLoad` option)).\n * Note; this is true whatever the developer has set for `data-default-value-override` in the html (asp.net users).\n *\n * In other words : if `defaultValueOverride` is not null, it means the developer is trying to prevent postback problems.\n * But if `input.value` is set to a number, and the html `value` attribute is not set, then it means the dev has\n * changed the input value, and then it means we should not overwrite his own decision to do so.\n * Hence, if `defaultValueOverride` is not null, but `input.value` is a number and `this.domElement.hasAttribute('value')`\n * is false, we should ignore `defaultValueOverride` altogether.\n */\n const unLocalizedCurrentValue = this.constructor._toNumericValue(currentValue, this.settings); // This allows to use a localized value on startup\n if (!this.domElement.hasAttribute('value') || this.domElement.getAttribute('value') === '') {\n // Check if the `value` is valid or not\n if (!isNaN(Number(unLocalizedCurrentValue)) && Infinity !== unLocalizedCurrentValue) {\n this.set(unLocalizedCurrentValue);\n setValue = false;\n } else {\n // If not, inform the developer that nothing usable has been provided\n AutoNumericHelper.throwError(`The value [${currentValue}] used in the input is not a valid value autoNumeric can work with.`);\n }\n } else {\n /* Checks for :\n * - page reload from back button, and\n * - ASP.net form post back\n * The following HTML data attribute is REQUIRED (data-an-default=\"same value as the value attribute\")\n * example: \n */\n if ((this.settings.defaultValueOverride !== null && this.settings.defaultValueOverride.toString() !== currentValue) ||\n (this.settings.defaultValueOverride === null && currentValue !== '' && currentValue !== this.domElement.getAttribute('value')) ||\n (currentValue !== '' && this.domElement.getAttribute('type') === 'hidden' && !AutoNumericHelper.isNumber(unLocalizedCurrentValue))) {\n if (this.settings.saveValueToSessionStorage && (this.settings.decimalPlacesShownOnFocus !== null || this.settings.divisorWhenUnfocused)) {\n this._setRawValue(this._getValueFromPersistentStorage());\n }\n\n // If the decimalPlacesShownOnFocus value should NOT be saved in sessionStorage\n if (!this.settings.saveValueToSessionStorage) {\n const toStrip = this.constructor._removeBrackets(currentValue, this.settings);\n if ((this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix ||\n (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.prefix && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix)) &&\n this.settings.negativeSignCharacter !== '' &&\n AutoNumericHelper.isNegative(currentValue, this.settings.negativeSignCharacter)) {\n this._setRawValue(`-${this.constructor._stripAllNonNumberCharacters(toStrip, this.settings, true, this.isFocused)}`);\n } else {\n this._setRawValue(this.constructor._stripAllNonNumberCharacters(toStrip, this.settings, true, this.isFocused));\n }\n }\n\n setValue = false;\n }\n }\n\n if (currentValue === '') {\n switch (this.settings.emptyInputBehavior) {\n case AutoNumeric.options.emptyInputBehavior.focus:\n case AutoNumeric.options.emptyInputBehavior.null:\n case AutoNumeric.options.emptyInputBehavior.press:\n break;\n case AutoNumeric.options.emptyInputBehavior.always:\n this._setElementValue(this.settings.currencySymbol);\n break;\n case AutoNumeric.options.emptyInputBehavior.min:\n this.set(this.settings.minimumValue);\n break;\n case AutoNumeric.options.emptyInputBehavior.max:\n this.set(this.settings.maximumValue);\n break;\n case AutoNumeric.options.emptyInputBehavior.zero:\n this.set('0');\n break;\n // When `emptyInputBehavior` is a number or a string representing a number\n default:\n this.set(this.settings.emptyInputBehavior);\n }\n } else if (setValue && currentValue === this.domElement.getAttribute('value')) {\n this.set(currentValue);\n }\n } else if (this.settings.defaultValueOverride === null ||\n this.settings.defaultValueOverride === currentValue) {\n this.set(currentValue);\n }\n }\n\n /**\n * Enhance the user experience by modifying the default `negativePositiveSignPlacement` option depending on `currencySymbol` and `currencySymbolPlacement`.\n *\n * If the user has not set the placement of the negative sign (`negativePositiveSignPlacement`), but has set a currency symbol (`currencySymbol`),\n * then we modify the default value of `negativePositiveSignPlacement` in order to keep the resulting output logical by default :\n * - \"$-1,234.56\" instead of \"-$1,234.56\" ({currencySymbol: \"$\", negativePositiveSignPlacement: \"r\"})\n * - \"-1,234.56$\" instead of \"1,234.56-$\" ({currencySymbol: \"$\", currencySymbolPlacement: \"s\", negativePositiveSignPlacement: \"p\"})\n *\n * @param {object} settings\n */\n static _correctNegativePositiveSignPlacementOption(settings) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n // If negativePositiveSignPlacement is already set, we do not overwrite it\n if (!AutoNumericHelper.isNull(settings.negativePositiveSignPlacement)) {\n return;\n }\n\n if (!AutoNumericHelper.isUndefined(settings) &&\n AutoNumericHelper.isUndefinedOrNullOrEmpty(settings.negativePositiveSignPlacement) &&\n !AutoNumericHelper.isUndefinedOrNullOrEmpty(settings.currencySymbol)) {\n switch (settings.currencySymbolPlacement) {\n case AutoNumeric.options.currencySymbolPlacement.suffix:\n settings.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix; // Default -1,234.56 €\n break;\n case AutoNumeric.options.currencySymbolPlacement.prefix:\n settings.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.left; // Default -$1,234.56\n break;\n default :\n //\n }\n } else {\n // Sets the default value if `negativePositiveSignPlacement` is `null`\n settings.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.left;\n }\n }\n\n /**\n * Correct the `caretPositionOnFocus` and `selectOnFocus` options, since setting both leads to a conflict.\n * This method directly modifies the `options` object passed as a parameter, then returns it.\n * It returns `null` if the given option is `null`.\n *\n * @param {object} options The options passed as an argument by the user\n * @returns {object|null}\n * @private\n */\n static _correctCaretPositionOnFocusAndSelectOnFocusOptions(options) {\n if (AutoNumericHelper.isNull(options)) {\n return null;\n }\n\n // If the user has set the `caretPositionOnFocus` option, do not set `selectOnFocus` to `true` by default\n if (!AutoNumericHelper.isUndefinedOrNullOrEmpty(options.caretPositionOnFocus) && AutoNumericHelper.isUndefinedOrNullOrEmpty(options.selectOnFocus)) {\n options.selectOnFocus = AutoNumeric.options.selectOnFocus.doNotSelect;\n }\n\n // If the user has set the `selectOnFocus` option to `true`, set `caretPositionOnFocus` to `doNoForceCaretPosition`\n if (AutoNumericHelper.isUndefinedOrNullOrEmpty(options.caretPositionOnFocus) && !AutoNumericHelper.isUndefinedOrNullOrEmpty(options.selectOnFocus) && options.selectOnFocus === AutoNumeric.options.selectOnFocus.select) {\n options.caretPositionOnFocus = AutoNumeric.options.caretPositionOnFocus.doNoForceCaretPosition;\n }\n\n return options;\n }\n\n /**\n * Calculate the number de decimal places to be used by the AutoNumeric object, for each of its state, and for its formatted and raw value.\n * By default, the `rawValue` precision is the same as the formatted value one.\n *\n * This method is called during the AutoNumeric object initialization. This assumes some internal variable state.\n *\n * This methods set the following options accordingly to their own value and the mandatory `decimalPlaces` option:\n * - decimalPlacesRawValue (nullable)\n * - decimalPlacesShownOnBlur (nullable)\n * - decimalPlacesShownOnFocus (nullable)\n *\n * Note: the `decimalPlaces` option is only used here and only serve to define those three previous options value.\n * AutoNumeric will then *only* use `decimalPlacesRawValue`, `decimalPlacesShownOnBlur` and `decimalPlacesShownOnFocus` from there.\n *\n * This methods directly modifies the `settings` object passed as a parameter.\n *\n * @param {object} settings This is an object with the new settings to use.\n * @private\n */\n static _calculateDecimalPlacesOnInit(settings) {\n // Check the `decimalPlaces*` options and output any warnings as needed, before modifying those options\n this._validateDecimalPlacesRawValue(settings);\n\n // Initialization phase\n //XXX This assumes at this stage, `settings.decimalPlaces` as been set from the default options\n\n // Overwrite the `decimalPlaces*` values if the `decimalPlaces*` options are not set in the `settings`\n // Sets `decimalPlacesShownOnBlur` (previously known as `scaleDecimalPlaces`)\n if (settings.decimalPlacesShownOnFocus === AutoNumeric.options.decimalPlacesShownOnFocus.useDefault) {\n settings.decimalPlacesShownOnFocus = settings.decimalPlaces;\n }\n\n if (settings.decimalPlacesShownOnBlur === AutoNumeric.options.decimalPlacesShownOnBlur.useDefault) {\n settings.decimalPlacesShownOnBlur = settings.decimalPlaces;\n }\n\n if (settings.decimalPlacesRawValue === AutoNumeric.options.decimalPlacesRawValue.useDefault) {\n settings.decimalPlacesRawValue = settings.decimalPlaces;\n }\n\n // Add the additional decimal places to the raw value\n let additionalDecimalPlacesRawValue = 0;\n if (settings.rawValueDivisor && settings.rawValueDivisor !== AutoNumeric.options.rawValueDivisor.none) {\n additionalDecimalPlacesRawValue = String(settings.rawValueDivisor).length - 1; // ie. Dividing by '100' adds 2 decimal places to the needed precision\n if (additionalDecimalPlacesRawValue < 0) {\n additionalDecimalPlacesRawValue = 0;\n }\n }\n\n settings.decimalPlacesRawValue = Math.max(\n Math.max(settings.decimalPlacesShownOnBlur, settings.decimalPlacesShownOnFocus) + additionalDecimalPlacesRawValue,\n Number(settings.originalDecimalPlacesRawValue) + additionalDecimalPlacesRawValue,\n );\n }\n\n /**\n * Recalculate the number de decimal places to be used by the AutoNumeric object, for each of its state, and for its formatted and raw value.\n * By default, the `rawValue` precision is the same as the formatted value one.\n *\n * This method is close to the one called during initialization, `_calculateDecimalPlacesOnInit()`, but with slight difference so that the `decimalPlaces*` options are correctly updated as needed.\n *\n * This methods set the following options accordingly to their own value and the mandatory `decimalPlaces` option:\n * - decimalPlacesRawValue (nullable)\n * - decimalPlacesShownOnBlur (nullable)\n * - decimalPlacesShownOnFocus (nullable)\n *\n * Note: the `decimalPlaces` option is only used here and only serve to define those three previous options value.\n * AutoNumeric will then *only* use `decimalPlacesRawValue`, `decimalPlacesShownOnBlur` and `decimalPlacesShownOnFocus` from there.\n *\n * This methods directly modifies the `settings` object passed as a parameter.\n *\n * @param {object} settings This is an object with the new settings to use.\n * @param {object} currentSettings This is the current settings (`this.settings`) used by the element.\n * @private\n */\n static _calculateDecimalPlacesOnUpdate(settings, currentSettings = null) {\n // Check the `decimalPlaces*` options and output any warnings as needed, before modifying those options\n this._validateDecimalPlacesRawValue(settings);\n\n // Update phase\n if (AutoNumericHelper.isNull(currentSettings)) {\n AutoNumericHelper.throwError(`When updating the settings, the previous ones should be passed as an argument.`);\n }\n\n const decimalPlacesInOptions = 'decimalPlaces' in settings;\n if (!(decimalPlacesInOptions ||\n 'decimalPlacesRawValue' in settings ||\n 'decimalPlacesShownOnFocus' in settings ||\n 'decimalPlacesShownOnBlur' in settings ||\n 'rawValueDivisor' in settings)) {\n // Do Nothing if no decimal places-related options are modified\n return;\n }\n\n // Overwrite the `decimalPlaces*` values if the `decimalPlaces*` options are not set in the `settings`\n if (decimalPlacesInOptions) {\n if (!('decimalPlacesShownOnFocus' in settings) ||\n settings.decimalPlacesShownOnFocus === AutoNumeric.options.decimalPlacesShownOnFocus.useDefault) {\n settings.decimalPlacesShownOnFocus = settings.decimalPlaces;\n }\n\n if (!('decimalPlacesShownOnBlur' in settings) ||\n settings.decimalPlacesShownOnBlur === AutoNumeric.options.decimalPlacesShownOnBlur.useDefault) {\n settings.decimalPlacesShownOnBlur = settings.decimalPlaces;\n }\n\n if (!('decimalPlacesRawValue' in settings) ||\n settings.decimalPlacesRawValue === AutoNumeric.options.decimalPlacesRawValue.useDefault) {\n settings.decimalPlacesRawValue = settings.decimalPlaces;\n }\n } else {\n if (AutoNumericHelper.isUndefined(settings.decimalPlacesShownOnFocus)) {\n settings.decimalPlacesShownOnFocus = currentSettings.decimalPlacesShownOnFocus;\n }\n\n if (AutoNumericHelper.isUndefined(settings.decimalPlacesShownOnBlur)) {\n settings.decimalPlacesShownOnBlur = currentSettings.decimalPlacesShownOnBlur;\n }\n }\n\n // Add the additional decimal places to the raw value\n let additionalDecimalPlacesRawValue = 0;\n if (settings.rawValueDivisor && settings.rawValueDivisor !== AutoNumeric.options.rawValueDivisor.none) {\n additionalDecimalPlacesRawValue = String(settings.rawValueDivisor).length - 1; // ie. Dividing by '100' adds 2 decimal places to the needed precision\n if (additionalDecimalPlacesRawValue < 0) {\n additionalDecimalPlacesRawValue = 0;\n }\n }\n\n if (!settings.decimalPlaces && !settings.decimalPlacesRawValue) {\n settings.decimalPlacesRawValue = Math.max(\n Math.max(settings.decimalPlacesShownOnBlur, settings.decimalPlacesShownOnFocus) + additionalDecimalPlacesRawValue,\n Number(currentSettings.originalDecimalPlacesRawValue) + additionalDecimalPlacesRawValue,\n );\n } else {\n settings.decimalPlacesRawValue = Math.max(\n Math.max(settings.decimalPlacesShownOnBlur, settings.decimalPlacesShownOnFocus) + additionalDecimalPlacesRawValue,\n Number(settings.decimalPlacesRawValue) + additionalDecimalPlacesRawValue,\n );\n }\n }\n\n /**\n * Analyze and save the minimumValue and maximumValue integer size for later uses\n * @private\n */\n _calculateVMinAndVMaxIntegerSizes() {\n let [maximumValueIntegerPart] = this.settings.maximumValue.toString().split('.');\n let [minimumValueIntegerPart] = (!this.settings.minimumValue && this.settings.minimumValue !== 0)?[]:this.settings.minimumValue.toString().split('.');\n maximumValueIntegerPart = maximumValueIntegerPart.replace(this.settings.negativeSignCharacter, '');\n minimumValueIntegerPart = minimumValueIntegerPart.replace(this.settings.negativeSignCharacter, '');\n\n this.settings.mIntPos = Math.max(maximumValueIntegerPart.length, 1);\n this.settings.mIntNeg = Math.max(minimumValueIntegerPart.length, 1);\n }\n\n /**\n * Calculate once what are the `valuesToStrings` option keys.\n * @private\n */\n _calculateValuesToStringsKeys() {\n if (this.settings.valuesToStrings) {\n this.valuesToStringsKeys = Object.keys(this.settings.valuesToStrings);\n } else {\n this.valuesToStringsKeys = [];\n }\n }\n\n /**\n * Caches regular expressions for _stripAllNonNumberCharactersExceptCustomDecimalChar\n *\n * @param {object} settings\n * @param {object} regex\n */\n static _cachesUsualRegularExpressions(settings, regex) {\n // Test if there is a negative character in the string\n let negativeSignReg;\n if (settings.negativeSignCharacter !== AutoNumeric.options.negativeSignCharacter.hyphen) {\n negativeSignReg = `([-\\\\${settings.negativeSignCharacter}]?)`;\n } else {\n negativeSignReg = '(-?)';\n }\n\n regex.aNegRegAutoStrip = negativeSignReg;\n settings.allowedAutoStrip = new RegExp(`[^-0123456789\\\\${settings.decimalCharacter}]`, 'g');\n settings.numRegAutoStrip = new RegExp(`${negativeSignReg}(?:\\\\${settings.decimalCharacter}?([0-9]+\\\\${settings.decimalCharacter}[0-9]+)|([0-9]*(?:\\\\${settings.decimalCharacter}[0-9]*)?))`);\n\n // Using this regex version `^${regex.aNegRegAutoStrip}0*(\\\\d|$)` entirely clear the input on blur\n settings.stripReg = new RegExp(`^${regex.aNegRegAutoStrip}0*([0-9])`);\n\n // All the characters that are accepted during the formula mode\n settings.formulaChars = new RegExp(`[0-9${settings.decimalCharacter}+\\\\-*/() ]`);\n }\n\n /**\n * Modify the user settings to make them 'exploitable' later.\n */\n _transformOptionsValuesToDefaultTypes() {\n for (const key in this.settings) {\n if (Object.prototype.hasOwnProperty.call(this.settings, key)) {\n const value = this.settings[key];\n\n // Convert the strings 'true' and 'false' to booleans\n if (value === 'true' || value === 'false') {\n this.settings[key] = value === 'true';\n }\n\n // Convert numbers in options to strings\n //TODO Only transform the values of type 'Number' to 'String' if it's a currency number (so that we can have big numbers). Do not convert other numbers (ie. `historySize`)\n if (typeof value === 'number') {\n this.settings[key] = value.toString();\n }\n }\n }\n }\n\n /**\n * Convert the old settings options name to new ones.\n *\n * @param {object} options\n */\n static _convertOldOptionsToNewOnes(options) {\n //TODO Delete this function once the old options are not used anymore\n const oldOptionsConverter = {\n // Old option names, with their corresponding new names\n aSep : 'digitGroupSeparator',\n nSep : 'showOnlyNumbersOnFocus',\n dGroup : 'digitalGroupSpacing',\n aDec : 'decimalCharacter',\n altDec : 'decimalCharacterAlternative',\n aSign : 'currencySymbol',\n pSign : 'currencySymbolPlacement',\n pNeg : 'negativePositiveSignPlacement',\n aSuffix : 'suffixText',\n oLimits : 'overrideMinMaxLimits',\n vMax : 'maximumValue',\n vMin : 'minimumValue',\n mDec : 'decimalPlacesOverride',\n eDec : 'decimalPlacesShownOnFocus',\n scaleDecimal : 'decimalPlacesShownOnBlur',\n aStor : 'saveValueToSessionStorage',\n mRound : 'roundingMethod',\n aPad : 'allowDecimalPadding',\n nBracket : 'negativeBracketsTypeOnBlur',\n wEmpty : 'emptyInputBehavior',\n lZero : 'leadingZero',\n aForm : 'formatOnPageLoad',\n sNumber : 'selectNumberOnly',\n anDefault : 'defaultValueOverride',\n unSetOnSubmit : 'unformatOnSubmit',\n outputType : 'outputFormat',\n debug : 'showWarnings',\n\n // Current options :\n allowDecimalPadding : true,\n alwaysAllowDecimalCharacter : true,\n caretPositionOnFocus : true,\n createLocalList : true,\n currencySymbol : true,\n currencySymbolPlacement : true,\n decimalCharacter : true,\n decimalCharacterAlternative : true,\n decimalPlaces : true,\n decimalPlacesRawValue : true,\n decimalPlacesShownOnBlur : true,\n decimalPlacesShownOnFocus : true,\n defaultValueOverride : true,\n digitalGroupSpacing : true,\n digitGroupSeparator : true,\n divisorWhenUnfocused : true,\n emptyInputBehavior : true,\n eventBubbles : true,\n eventIsCancelable : true,\n failOnUnknownOption : true,\n formatOnPageLoad : true,\n formulaMode : true,\n historySize : true,\n isCancellable : true,\n leadingZero : true,\n maximumValue : true,\n minimumValue : true,\n modifyValueOnWheel : true,\n negativeBracketsTypeOnBlur : true,\n negativePositiveSignPlacement : true,\n negativeSignCharacter : true,\n noEventListeners : true,\n onInvalidPaste : true,\n outputFormat : true,\n overrideMinMaxLimits : true,\n positiveSignCharacter : true,\n rawValueDivisor : true,\n readOnly : true,\n roundingMethod : true,\n saveValueToSessionStorage : true,\n selectNumberOnly : true,\n selectOnFocus : true,\n serializeSpaces : true,\n showOnlyNumbersOnFocus : true,\n showPositiveSign : true,\n showWarnings : true,\n styleRules : true,\n suffixText : true,\n symbolWhenUnfocused : true,\n unformatOnHover : true,\n unformatOnSubmit : true,\n valuesToStrings : true,\n watchExternalChanges : true,\n wheelOn : true,\n wheelStep : true,\n\n // Additional information that are added to the `settings` object :\n //TODO Find a way to exclude those internal data from the settings object (ideally by using another object, or better yet, class attributes) -->\n allowedAutoStrip : true,\n formulaChars : true,\n isNegativeSignAllowed : true,\n isPositiveSignAllowed : true,\n mIntNeg : true,\n mIntPos : true,\n numRegAutoStrip : true,\n originalDecimalPlaces : true,\n originalDecimalPlacesRawValue : true,\n stripReg : true,\n };\n\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option)) {\n if (oldOptionsConverter[option] === true) {\n // If the option is a 'new' option, we continue looping\n continue;\n }\n\n if (Object.prototype.hasOwnProperty.call(oldOptionsConverter, option)) {\n // Else we have an 'old' option name\n AutoNumericHelper.warning(`You are using the deprecated option name '${option}'. Please use '${oldOptionsConverter[option]}' instead from now on. The old option name will be dropped very soon™.`, true);\n\n // Then we modify the initial option object to use the new options instead of the old ones\n options[oldOptionsConverter[option]] = options[option];\n delete options[option];\n } else if (options.failOnUnknownOption) {\n // ...or the option name is unknown. This means there is a problem with the options object, therefore we throw an error.\n AutoNumericHelper.throwError(`Option name '${option}' is unknown. Please fix the options passed to autoNumeric`);\n }\n }\n }\n\n if ('mDec' in options) {\n AutoNumericHelper.warning('The old `mDec` option has been deprecated in favor of more accurate options ; `decimalPlaces`, `decimalPlacesRawValue`, `decimalPlacesShownOnFocus` and `decimalPlacesShownOnBlur`.', true);\n }\n }\n\n /**\n * Analyse the settings/options passed by the user, validate and clean them, then set them into `this.settings`.\n * Note: This sets the settings to `null` if somehow the settings objet is undefined or empty\n * If only `decimalPlaces` is defined in the option, overwrite the other decimalPlaces* options, otherwise, use those options\n *\n * @param {object} options\n * @param {boolean} update - If set to `true`, then the settings already exists and this function only updates them instead of recreating them from scratch\n * @throws\n */\n _setSettings(options, update = false) {\n // If the user used old options, we convert them to new ones\n if (update || !AutoNumericHelper.isNull(options)) {\n this.constructor._convertOldOptionsToNewOnes(options);\n }\n\n if (update) {\n // The settings are updated\n // Update the original data, if it has changed\n const decimalPlacesRawValueInOptions = 'decimalPlacesRawValue' in options;\n if (decimalPlacesRawValueInOptions) {\n this.settings.originalDecimalPlacesRawValue = options.decimalPlacesRawValue;\n }\n\n const decimalPlacesInOptions = 'decimalPlaces' in options;\n if (decimalPlacesInOptions) {\n this.settings.originalDecimalPlaces = options.decimalPlaces;\n }\n\n // Then update all the `decimalPlaces*` options\n this.constructor._calculateDecimalPlacesOnUpdate(options, this.settings);\n\n // Finally generate the updated settings object to use\n this._mergeSettings(options); //TODO Check that the `styleRules` option is correctly cloned (due to depth cloning limitation)\n } else {\n // The settings are generated for the first time\n this.settings = {};\n // If we couldn't grab any settings, create them from the default ones and combine them with the options passed as a parameter as well as with the HTML5 `data-*` info (via `this.domElement.dataset`), if any.\n this._mergeSettings(this.constructor.getDefaultConfig(), this.domElement.dataset, options, { rawValue : this.defaultRawValue });\n this.caretFix = false;\n this.throwInput = true; // Throw input event\n this.allowedTagList = AutoNumericEnum.allowedTagList;\n this.runOnce = false;\n this.hoveredWithAlt = false; // Keep tracks if the current AutoNumeric element is hovered by the mouse cursor while `Alt` is pressed\n }\n\n // Modify the user settings to make them 'exploitable'\n this._transformOptionsValuesToDefaultTypes();\n\n // Immediately run the callbacks that could update the settings object\n this._runCallbacksFoundInTheSettingsObject();\n\n // Improve the `negativePositiveSignPlacement` option if needed\n this.constructor._correctNegativePositiveSignPlacementOption(this.settings);\n\n // Set the `caretPositionOnFocus` and `selectOnFocus` options so that they do not conflict, if one of those have been set manually by the user.\n // If order to check that, we take a look at the original options the user passed as an argument, not `this.settings` that have been merged with the default settings. //TODO Check the validity of that comment\n this.constructor._correctCaretPositionOnFocusAndSelectOnFocusOptions(this.settings);\n\n // Define if the negative or positive signs are allowed\n this.constructor._setNegativePositiveSignPermissions(this.settings);\n\n // Calculate the number of decimal places (during the element initialization)\n if (!update) {\n // Make sure the `originalDecimalPlaces` info is set\n if (AutoNumericHelper.isNull(options) || !options.decimalPlaces) {\n this.settings.originalDecimalPlaces = null;\n } else {\n this.settings.originalDecimalPlaces = options.decimalPlaces;\n }\n\n // Save the `originalDecimalPlacesRawValue` info\n this.settings.originalDecimalPlacesRawValue = this.settings.decimalPlacesRawValue;\n\n // Then update all the `decimalPlaces*` options\n this.constructor._calculateDecimalPlacesOnInit(this.settings);\n }\n\n // Additional changes to the settings object\n this._calculateVMinAndVMaxIntegerSizes();\n this._setTrailingNegativeSignInfo();\n this.regex = {}; // Create the object that will store the regular expressions\n this.constructor._cachesUsualRegularExpressions(this.settings, this.regex);\n this.constructor._setBrackets(this.settings);\n this._calculateValuesToStringsKeys();\n\n // Validate the settings. Both tests throws if necessary.\n if (AutoNumericHelper.isEmptyObj(this.settings)) {\n AutoNumericHelper.throwError('Unable to set the settings, those are invalid ; an empty object was given.');\n }\n\n this.constructor.validate(this.settings, false, options);\n\n // Original settings saved for use when decimalPlacesShownOnFocus, divisorWhenUnfocused & showOnlyNumbersOnFocus options are being used\n this._keepAnOriginalSettingsCopy();\n }\n\n /**\n * Define if the negative or positive signs are allowed, and update the given settings object directly.\n *\n * @param {object} settings\n * @private\n */\n static _setNegativePositiveSignPermissions(settings) {\n settings.isNegativeSignAllowed = settings.minimumValue < 0;\n settings.isPositiveSignAllowed = settings.maximumValue >= 0;\n }\n\n /**\n * Convert the `value` parameter that can either be :\n * - a real number,\n * - a number represented in the scientific notation (ie. -123.4567e-6)\n * - a string representing a real number, or\n * - a string representing a localized number (with specific group separators and decimal character),\n * ...to a string representing a real 'javascript' number (ie. '1234' or '1234.567').\n *\n * This function returns `NaN` if such conversion fails.\n *\n * @param {int|float|string} value\n * @param {object} settings\n * @returns {string|NaN}\n */\n static _toNumericValue(value, settings) {\n //XXX Note; this function is static since we need to pass a `settings` object when calling the static `AutoNumeric.format()` method\n let result;\n if (AutoNumericHelper.isNumber(Number(value))) { // if (settings.decimalCharacter === '.' && AutoNumericHelper.isNumber(Number(value))) {\n // The value has either already been stripped, or a 'real' javascript number is passed as a parameter\n result = AutoNumericHelper.scientificToDecimal(value);\n } else {\n // Else if it's a string that `Number()` cannot typecast, then we try to convert the localized numeric string to a numeric one\n // Convert the value to a numeric string, stripping unnecessary characters in the process\n result = this._convertToNumericString(value.toString(), settings);\n\n // If the result is still not a numeric string, then we throw a warning\n if (!AutoNumericHelper.isNumber(Number(result))) {\n AutoNumericHelper.warning(`The given value \"${value}\" cannot be converted to a numeric one and therefore cannot be used appropriately.`, settings.showWarnings);\n result = NaN;\n }\n }\n\n return result;\n }\n\n /**\n * Return the pasted text that will be used, by stripping most non-numeric characters\n *\n * @param {string} text\n * @returns {string}\n */\n _preparePastedText(text) {\n return this.constructor._stripAllNonNumberCharacters(text, this.settings, true, this.isFocused);\n }\n\n /**\n * Return TRUE if the given value (a number as a string) is within the range set in the settings `minimumValue` and `maximumValue`, FALSE otherwise.\n *\n * @param {string} value\n * @param {object} parsedMinValue Parsed via the `parseStr()` function\n * @param {object} parsedMaxValue Parsed via the `parseStr()` function\n * @returns {boolean}\n */\n static _checkIfInRange(value, parsedMinValue, parsedMaxValue) {\n const parsedValue = AutoNumericHelper.parseStr(value);\n return AutoNumericHelper.testMinMax(parsedMinValue, parsedValue) > -1 && AutoNumericHelper.testMinMax(parsedMaxValue, parsedValue) < 1;\n }\n\n /**\n * Update the selection values as well as resets the internal state of the current AutoNumeric object.\n * This keeps tracks of the current selection and resets the 'processed' state.\n *\n * Note : This state can change between the keydown, keypress and keyup events, that's why\n * this function is called on each event handler.\n *\n * @private\n */\n _updateInternalProperties() {\n this.selection = AutoNumericHelper.getElementSelection(this.domElement);\n this.processed = false;\n }\n\n /**\n * Update the `event.key` attribute that triggered the given event.\n *\n * `event.key` describes:\n * - the key name (if a non-printable character),\n * - or directly the character that result from the key press used to trigger the event.\n *\n * @link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key\n * The key list is described here:\n * @link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\n *\n * @param {Event|KeyboardEvent} e\n * @private\n */\n _updateEventKeyInfo(e) {\n this.eventKey = AutoNumericHelper.character(e);\n }\n\n /**\n * Save the unformatted element value.\n * This is used in the 'cancellable' feature where the element value is saved on focus and input validation, to be used if the user wants to cancel his modifications by hitting the 'Escape' key.\n *\n * @private\n */\n _saveCancellableValue() {\n this.savedCancellableValue = this.rawValue;\n }\n\n /**\n * Set the text selection inside the input with the given start and end position.\n *\n * @param {int} start\n * @param {int} end\n * @private\n */\n _setSelection(start, end) {\n //TODO use this function to replace the direct calls to `setElementSelection()`, wherever possible\n start = Math.max(start, 0);\n end = Math.min(end, AutoNumericHelper.getElementValue(this.domElement).length);\n this.selection = {\n start,\n end,\n length: end - start,\n };\n\n AutoNumericHelper.setElementSelection(this.domElement, start, end);\n }\n\n /**\n * Set the caret position inside the input at the given position.\n *\n * @param {int} position\n * @private\n */\n _setCaretPosition(position) {\n this._setSelection(position, position);\n }\n\n /**\n * Return an array containing the string parts located on the left and right side of the caret or selection.\n * Those parts are left 'untouched', ie. formatted by autoNumeric.\n *\n * @returns {[string, string]} The parts on the left and right of the caret or selection\n * @private\n */\n _getLeftAndRightPartAroundTheSelection() {\n const value = AutoNumericHelper.getElementValue(this.domElement);\n const left = value.substring(0, this.selection.start);\n const right = value.substring(this.selection.end, value.length);\n\n return [left, right];\n }\n\n /**\n * Return an array containing the string parts located on the left and right side of the caret or selection.\n * Those parts are unformatted (stripped) of any non-numbers characters, and any trailing negative character is put back on the left hand side of the number.\n *\n * @returns {[string, string]} The parts on the left and right of the caret or selection, unformatted.\n * @private\n */\n _getUnformattedLeftAndRightPartAroundTheSelection() {\n let [left, right] = this._getLeftAndRightPartAroundTheSelection();\n if (left === '' && right === '') {\n return ['', ''];\n }\n\n // If changing the sign and `left` is equal to the number zero, prevent stripping the leading zero(s)\n let stripZeros = true;\n if ((this.eventKey === AutoNumericEnum.keyName.Hyphen || this.eventKey === AutoNumericEnum.keyName.Minus) && Number(left) === 0) {\n stripZeros = false;\n }\n\n //TODO DRY that with `_normalizeParts()` -->\n if (this.isTrailingNegative &&\n ((AutoNumericHelper.isNegative(right, this.settings.negativeSignCharacter) && // The caret is placed on the left of the negative sign\n !AutoNumericHelper.isNegative(left, this.settings.negativeSignCharacter)) ||\n (right === '' && // ..or the caret is placed on the far right of the input (Fix issue #481)\n AutoNumericHelper.isNegative(left, this.settings.negativeSignCharacter, true)))) {\n left = left.replace(this.settings.negativeSignCharacter, '');\n right = right.replace(this.settings.negativeSignCharacter, '');\n // This is done here because `_getUnformattedLeftAndRightPartAroundTheSelection()` is called multiple times during the same key event, and at one point the left/right value has been normalized already..\n left = left.replace('-', '');\n right = right.replace('-', '');\n\n // Then finally set back the normalized minus character at the right place\n left = `-${left}`;\n }\n\n left = AutoNumeric._stripAllNonNumberCharactersExceptCustomDecimalChar(left, this.settings, stripZeros, this.isFocused);\n right = AutoNumeric._stripAllNonNumberCharactersExceptCustomDecimalChar(right, this.settings, false, this.isFocused);\n\n return [left, right];\n }\n\n /**\n * Strip parts from excess characters and leading zeros.\n *\n * @param {string} left\n * @param {string} right\n * @returns {[*,*,*]}\n * @private\n */\n _normalizeParts(left, right) {\n //TODO Refactor with `_getUnformattedLeftAndRightPartAroundTheSelection` which share a lot of similar code\n // If changing the sign and left is equal to the number zero - prevents stripping the leading zeros\n let stripZeros = true;\n if ((this.eventKey === AutoNumericEnum.keyName.Hyphen || this.eventKey === AutoNumericEnum.keyName.Minus) && Number(left) === 0) {\n stripZeros = false;\n }\n\n if (this.isTrailingNegative &&\n AutoNumericHelper.isNegative(right, this.settings.negativeSignCharacter) &&\n !AutoNumericHelper.isNegative(left, this.settings.negativeSignCharacter)) {\n // Only set the negative sign if the value is negative\n left = `-${left}`;\n right = right.replace(this.settings.negativeSignCharacter, '');\n }\n\n left = AutoNumeric._stripAllNonNumberCharactersExceptCustomDecimalChar(left, this.settings, stripZeros, this.isFocused);\n right = AutoNumeric._stripAllNonNumberCharactersExceptCustomDecimalChar(right, this.settings, false, this.isFocused);\n\n // Prevents multiple leading zeros from being entered\n if (this.settings.leadingZero === AutoNumeric.options.leadingZero.deny &&\n (this.eventKey === AutoNumericEnum.keyName.num0 || this.eventKey === AutoNumericEnum.keyName.numpad0) &&\n Number(left) === 0 &&\n // If `right` is not empty and the first character is not `decimalCharacter`\n !AutoNumericHelper.contains(left, this.settings.decimalCharacter) && right !== '') {\n left = left.substring(0, left.length - 1);\n }\n\n // Insert zero there is a leading dot\n let newValue = left + right;\n if (this.settings.decimalCharacter) {\n const m = newValue.match(new RegExp(`^${this.regex.aNegRegAutoStrip}\\\\${this.settings.decimalCharacter}`));\n if (m) {\n left = left.replace(m[1], m[1] + '0');\n newValue = left + right;\n }\n }\n\n return [left, right, newValue];\n }\n\n /**\n * Set the formatted element value as well as the `rawValue`.\n * This returns `true` if the element and raw value have been modified, `false` otherwise.\n * This method also adjust the caret position according to the `leadingZero` option and the normalized value. //TODO What about the cursor *selection*?\n *\n * @param {string} left\n * @param {string} right\n * @param {boolean} isPaste\n * @returns {boolean}\n * @private\n */\n _setValueParts(left, right, isPaste = false) {\n const [normalizedLeft, normalizedRight, normalizedNewValue] = this._normalizeParts(left, right);\n const [minTest, maxTest] = AutoNumeric._checkIfInRangeWithOverrideOption(normalizedNewValue, this.settings);\n\n if (minTest && maxTest) {\n // First, set the raw value\n const roundedRawValue = AutoNumeric._truncateDecimalPlaces(normalizedNewValue, this.settings, isPaste, this.settings.decimalPlacesRawValue);\n const testValue = roundedRawValue.replace(this.settings.decimalCharacter, '.');\n\n if (testValue === '' || testValue === this.settings.negativeSignCharacter) {\n let valueToSetOnEmpty;\n switch (this.settings.emptyInputBehavior) {\n case AutoNumeric.options.emptyInputBehavior.focus:\n case AutoNumeric.options.emptyInputBehavior.press:\n case AutoNumeric.options.emptyInputBehavior.always:\n valueToSetOnEmpty = '';\n break;\n case AutoNumeric.options.emptyInputBehavior.min:\n valueToSetOnEmpty = this.settings.minimumValue;\n break;\n case AutoNumeric.options.emptyInputBehavior.max:\n valueToSetOnEmpty = this.settings.maximumValue;\n break;\n case AutoNumeric.options.emptyInputBehavior.zero:\n valueToSetOnEmpty = '0';\n break;\n case AutoNumeric.options.emptyInputBehavior.null:\n valueToSetOnEmpty = null;\n break;\n // When `emptyInputBehavior` is a number or a string representing a number\n default:\n valueToSetOnEmpty = this.settings.emptyInputBehavior;\n }\n\n this._setRawValue(valueToSetOnEmpty);\n } else {\n this._setRawValue(this._trimLeadingAndTrailingZeros(testValue));\n }\n\n // Then set the formatted value\n const roundedValueToShow = AutoNumeric._truncateDecimalPlaces(normalizedNewValue, this.settings, isPaste, this.settings.decimalPlacesShownOnFocus);\n let position = normalizedLeft.length;\n if (position > roundedValueToShow.length) {\n position = roundedValueToShow.length;\n }\n\n // Make sure when the user enter a '0' on the far left with a leading zero option set to 'deny', that the caret does not moves since the input is dropped (fix issue #283)\n if (position === 1 && normalizedLeft === '0' && this.settings.leadingZero === AutoNumeric.options.leadingZero.deny) {\n // If the user enter `0`, then the caret is put on the right side of it (Fix issue #299)\n if (normalizedRight === '' || normalizedLeft === '0' && normalizedRight !== '') {\n position = 1;\n } else {\n position = 0;\n }\n }\n\n this._setElementValue(roundedValueToShow, false);\n this._setCaretPosition(position);\n\n return true;\n }\n\n this._triggerRangeEvents(minTest, maxTest);\n\n return false;\n }\n\n /**\n * Helper function for `_expandSelectionOnSign()`.\n *\n * @returns {Array} Array containing [signPosition, currencySymbolPosition] of a formatted value\n * @private\n */\n _getSignPosition() {\n let result;\n if (this.settings.currencySymbol) {\n const currencySymbolLen = this.settings.currencySymbol.length;\n const value = AutoNumericHelper.getElementValue(this.domElement);\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n const hasNeg = this.settings.negativeSignCharacter && value && value.charAt(0) === this.settings.negativeSignCharacter;\n if (hasNeg) {\n result = [1, currencySymbolLen + 1];\n } else {\n result = [0, currencySymbolLen];\n }\n } else {\n const valueLen = value.length;\n result = [valueLen - currencySymbolLen, valueLen];\n }\n } else {\n result = [1000, -1];\n }\n\n return result;\n }\n\n /**\n * Expands selection to cover whole sign\n * Prevents partial deletion/copying/overwriting of a sign\n * @private\n */\n _expandSelectionOnSign() {\n const [signPosition, currencySymbolPosition] = this._getSignPosition();\n const selection = this.selection;\n\n // If selection catches something except sign and catches only space from sign\n if (selection.start < currencySymbolPosition && selection.end > signPosition) {\n // Then select without empty space\n if ((selection.start < signPosition || selection.end > currencySymbolPosition) &&\n AutoNumericHelper.getElementValue(this.domElement).substring(Math.max(selection.start, signPosition), Math.min(selection.end, currencySymbolPosition))\n .match(/^\\s*$/)) {\n if (selection.start < signPosition) {\n this._setSelection(selection.start, signPosition);\n } else {\n this._setSelection(currencySymbolPosition, selection.end);\n }\n } else {\n // Else select with whole sign\n this._setSelection(Math.min(selection.start, signPosition), Math.max(selection.end, currencySymbolPosition));\n }\n }\n }\n\n /**\n * Try to strip pasted value to digits\n */\n _checkPaste() {\n // Do not process anything if the value has already been formatted\n if (this.formatted) {\n return;\n }\n\n if (!AutoNumericHelper.isUndefined(this.valuePartsBeforePaste)) {\n const oldParts = this.valuePartsBeforePaste;\n const [left, right] = this._getLeftAndRightPartAroundTheSelection();\n\n // Try to strip the pasted value first\n delete this.valuePartsBeforePaste;\n\n const modifiedLeftPart = left.substr(0, oldParts[0].length) + AutoNumeric._stripAllNonNumberCharactersExceptCustomDecimalChar(left.substr(oldParts[0].length), this.settings, true, this.isFocused);\n if (!this._setValueParts(modifiedLeftPart, right, true)) {\n this._setElementValue(oldParts.join(''), false);\n this._setCaretPosition(oldParts[0].length);\n }\n }\n }\n\n /**\n * Return `true` if the given key should be ignored or not.\n *\n * @param {string} eventKeyName\n * @returns {boolean}\n * @private\n */\n static _shouldSkipEventKey(eventKeyName) {\n const isFnKeys = AutoNumericHelper.isInArray(eventKeyName, AutoNumericEnum.keyName._allFnKeys);\n const isOSKeys = eventKeyName === AutoNumericEnum.keyName.OSLeft || eventKeyName === AutoNumericEnum.keyName.OSRight;\n const isContextMenu = eventKeyName === AutoNumericEnum.keyName.ContextMenu;\n const isSomeNonPrintableKeys = AutoNumericHelper.isInArray(eventKeyName, AutoNumericEnum.keyName._someNonPrintableKeys);\n const isOtherNonPrintableKeys = eventKeyName === AutoNumericEnum.keyName.NumLock ||\n eventKeyName === AutoNumericEnum.keyName.ScrollLock ||\n eventKeyName === AutoNumericEnum.keyName.Insert ||\n eventKeyName === AutoNumericEnum.keyName.Command;\n const isUnrecognizableKeys = eventKeyName === AutoNumericEnum.keyName.Unidentified;\n\n return isFnKeys || isOSKeys || isContextMenu || isSomeNonPrintableKeys || isUnrecognizableKeys || isOtherNonPrintableKeys;\n }\n\n /**\n * Process copying, cutting and pasting, as well as undo/redoing and cursor moving.\n * Return `true` if further processing should not be performed.\n *\n * @param {KeyboardEvent} e\n * @returns {boolean}\n * @private\n */\n _processNonPrintableKeysAndShortcuts(e) {\n // Catch the ctrl up on ctrl-v\n if (((e.ctrlKey || e.metaKey) && e.type === 'keyup' && !AutoNumericHelper.isUndefined(this.valuePartsBeforePaste)) || (e.shiftKey && this.eventKey === AutoNumericEnum.keyName.Insert)) {\n //TODO Move this test inside the `onKeyup` handler\n this._checkPaste();\n\n return false;\n }\n\n // Skip all function keys (F1-F12), Windows keys, tab and other special keys\n if (this.constructor._shouldSkipEventKey(this.eventKey)) {\n return true;\n }\n\n // If a \"Select all\" keyboard shortcut is detected (ctrl + a)\n if ((e.ctrlKey || e.metaKey) && this.eventKey === AutoNumericEnum.keyName.a) {\n if (this.settings.selectNumberOnly) {\n // `preventDefault()` is used here to prevent the browser to first select all the input text (including the currency sign), otherwise we would see that whole selection first in a flash, then the selection with only the number part without the currency sign.\n e.preventDefault();\n //TODO replace `selectNumber` by `select`?\n this.selectNumber();\n }\n\n return true;\n }\n\n // If a \"Copy\", \"Paste\" or \"Cut\" keyboard shortcut is detected (respectively 'ctrl + c', 'ctrl + v' or 'ctrl + x')\n if ((e.ctrlKey || e.metaKey) &&\n (this.eventKey === AutoNumericEnum.keyName.c ||\n this.eventKey === AutoNumericEnum.keyName.v ||\n this.eventKey === AutoNumericEnum.keyName.x)) {\n if (e.type === 'keydown') {\n this._expandSelectionOnSign();\n }\n\n // Try to prevent wrong paste\n if (this.eventKey === AutoNumericEnum.keyName.v || this.eventKey === AutoNumericEnum.keyName.Insert) {\n if (e.type === 'keydown' || e.type === 'keypress') {\n if (AutoNumericHelper.isUndefined(this.valuePartsBeforePaste)) {\n this.valuePartsBeforePaste = this._getLeftAndRightPartAroundTheSelection();\n }\n } else {\n this._checkPaste();\n }\n }\n\n return e.type === 'keydown' || e.type === 'keypress' || this.eventKey === AutoNumericEnum.keyName.c;\n }\n\n\n // If the ctrl/meta key is used (during the undo shortcut for instance)\n if (e.ctrlKey || e.metaKey) {\n return !(this.eventKey === AutoNumericEnum.keyName.Z || this.eventKey === AutoNumericEnum.keyName.z);\n }\n\n // Jump over the thousand separator\n //TODO Move this test inside the `onKeydown` handler\n if (this.eventKey === AutoNumericEnum.keyName.LeftArrow || this.eventKey === AutoNumericEnum.keyName.RightArrow) {\n if (e.type === 'keydown' && !e.shiftKey) {\n const value = AutoNumericHelper.getElementValue(this.domElement);\n if (this.eventKey === AutoNumericEnum.keyName.LeftArrow &&\n (value.charAt(this.selection.start - 2) === this.settings.digitGroupSeparator ||\n value.charAt(this.selection.start - 2) === this.settings.decimalCharacter)) {\n this._setCaretPosition(this.selection.start - 1);\n } else if (this.eventKey === AutoNumericEnum.keyName.RightArrow &&\n (value.charAt(this.selection.start + 1) === this.settings.digitGroupSeparator ||\n value.charAt(this.selection.start + 1) === this.settings.decimalCharacter)) {\n this._setCaretPosition(this.selection.start + 1);\n }\n }\n\n return true;\n }\n\n return AutoNumericHelper.isInArray(this.eventKey, AutoNumericEnum.keyName._directionKeys);\n }\n\n /**\n * Process deletion of characters when the minus sign is to the right of the numeric characters.\n *\n * @param {string[]} leftAndRight The parts on the left and on the right of the caret or selection as an array with [left, right]\n * @returns {string[]} Processed left and right as an array with [left, right]\n * @private\n */\n _processCharacterDeletionIfTrailingNegativeSign([left, right]) {\n const value = AutoNumericHelper.getElementValue(this.domElement);\n const isValNegative = AutoNumericHelper.isNegative(value, this.settings.negativeSignCharacter);\n\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix && this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix) {\n if (this.eventKey === AutoNumericEnum.keyName.Backspace) {\n this.caretFix = (this.selection.start >= value.indexOf(this.settings.suffixText) && this.settings.suffixText !== '');\n if (value.charAt(this.selection.start - 1) === '-') {\n left = left.substring(1);\n } else if (this.selection.start <= value.length - this.settings.suffixText.length) {\n left = left.substring(0, left.length - 1);\n }\n } else {\n this.caretFix = (this.selection.start >= value.indexOf(this.settings.suffixText) && this.settings.suffixText !== '');\n if (this.selection.start >= value.indexOf(this.settings.currencySymbol) + this.settings.currencySymbol.length) {\n right = right.substring(1, right.length);\n }\n if (AutoNumericHelper.isNegative(left, this.settings.negativeSignCharacter) && value.charAt(this.selection.start) === '-') {\n left = left.substring(1);\n }\n }\n }\n\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n switch (this.settings.negativePositiveSignPlacement) {\n case AutoNumeric.options.negativePositiveSignPlacement.left:\n this.caretFix = (this.selection.start >= value.indexOf(this.settings.negativeSignCharacter) + this.settings.negativeSignCharacter.length);\n if (this.eventKey === AutoNumericEnum.keyName.Backspace) {\n if (this.selection.start === (value.indexOf(this.settings.negativeSignCharacter) + this.settings.negativeSignCharacter.length) && isValNegative) {\n left = left.substring(1);\n } else if (left !== '-' && ((this.selection.start <= value.indexOf(this.settings.negativeSignCharacter)) || !isValNegative)) {\n left = left.substring(0, left.length - 1);\n }\n } else {\n if (left[0] === '-') {\n right = right.substring(1);\n }\n if (this.selection.start === value.indexOf(this.settings.negativeSignCharacter) && isValNegative) {\n left = left.substring(1);\n }\n }\n break;\n case AutoNumeric.options.negativePositiveSignPlacement.right:\n this.caretFix = (this.selection.start >= value.indexOf(this.settings.negativeSignCharacter) + this.settings.negativeSignCharacter.length);\n if (this.eventKey === AutoNumericEnum.keyName.Backspace) {\n if (this.selection.start === (value.indexOf(this.settings.negativeSignCharacter) + this.settings.negativeSignCharacter.length)) {\n left = left.substring(1);\n } else if (left !== '-' && this.selection.start <= (value.indexOf(this.settings.negativeSignCharacter) - this.settings.currencySymbol.length)) {\n left = left.substring(0, left.length - 1);\n } else if (left !== '' && !isValNegative) {\n left = left.substring(0, left.length - 1);\n }\n } else {\n this.caretFix = (this.selection.start >= value.indexOf(this.settings.currencySymbol) && this.settings.currencySymbol !== '');\n if (this.selection.start === value.indexOf(this.settings.negativeSignCharacter)) {\n left = left.substring(1);\n }\n\n right = right.substring(1);\n }\n break;\n }\n }\n\n return [left, right];\n }\n\n /**\n * Process the deletion of characters.\n * Returns `true` if the deletion is allowed (within the min and max range, according to the `overrideMinMaxLimits` option, `false` otherwise.\n *\n * @returns {boolean}\n */\n _processCharacterDeletion() {\n let left;\n let right;\n\n if (!this.selection.length) {\n [left, right] = this._getUnformattedLeftAndRightPartAroundTheSelection();\n if (left === '' && right === '') {\n this.throwInput = false;\n }\n\n if (this.isTrailingNegative && AutoNumericHelper.isNegative(AutoNumericHelper.getElementValue(this.domElement), this.settings.negativeSignCharacter)) {\n [left, right] = this._processCharacterDeletionIfTrailingNegativeSign([left, right]);\n } else {\n if (this.eventKey === AutoNumericEnum.keyName.Backspace) {\n left = left.substring(0, left.length - 1);\n } else {\n right = right.substring(1, right.length);\n }\n }\n } else {\n this._expandSelectionOnSign();\n [left, right] = this._getUnformattedLeftAndRightPartAroundTheSelection();\n }\n\n if (!this.constructor._isWithinRangeWithOverrideOption(`${left}${right}`, this.settings)) {\n // If the result with the deletion would be out of the range, we prevent it\n return false;\n }\n\n this._setValueParts(left, right);\n\n return true;\n }\n\n /**\n * Return `true` if a decimal character is allowed to be typed.\n * If the number of decimal places shown on focus is zero, then the decimal character is not allowed.\n *\n * @returns {boolean}\n * @private\n */\n _isDecimalCharacterInsertionAllowed() {\n return String(this.settings.decimalPlacesShownOnFocus) !== String(AutoNumeric.options.decimalPlacesShownOnFocus.none) &&\n String(this.settings.decimalPlaces) !== String(AutoNumeric.options.decimalPlaces.none);\n }\n\n /**\n * Return `true` if the key is allowed.\n * This function decides if the key pressed should be dropped or accepted, and modify the value 'on-the-fly' accordingly.\n * //TODO This should use another function in order to separate the test and the modification\n *\n * @returns {boolean}\n */\n _processCharacterInsertion() {\n let [left, right] = this._getUnformattedLeftAndRightPartAroundTheSelection();\n if (this.eventKey !== AutoNumericEnum.keyName.AndroidDefault) {\n this.throwInput = true;\n }\n\n // Start rules when the decimal character key is pressed always use numeric pad dot to insert decimal separator\n // Do not allow decimal character if no decimal part allowed\n if (this.eventKey === this.settings.decimalCharacter ||\n (this.settings.decimalCharacterAlternative && this.eventKey === this.settings.decimalCharacterAlternative)) {\n if (!this._isDecimalCharacterInsertionAllowed() || !this.settings.decimalCharacter) {\n return false;\n }\n\n if (this.settings.alwaysAllowDecimalCharacter) {\n // Remove any previous decimal character\n left = left.replace(this.settings.decimalCharacter, '');\n right = right.replace(this.settings.decimalCharacter, '');\n } else {\n // Do not allow a decimal character if another decimal character is already present\n if (AutoNumericHelper.contains(left, this.settings.decimalCharacter)) {\n return true;\n }\n\n // Prevent adding a decimal character at the far right of the number\n if (right.indexOf(this.settings.decimalCharacter) > 0) {\n return true;\n }\n\n // Remove the decimal character is found on the far left of the right part\n if (right.indexOf(this.settings.decimalCharacter) === 0) {\n right = right.substr(1);\n }\n }\n\n // If the user is trying to add a decimal character on the far left of the number, we allow it\n if (this.settings.negativeSignCharacter && AutoNumericHelper.contains(right, this.settings.negativeSignCharacter)) {\n // We need however to move the negative sign from the right to the left part\n left = `${this.settings.negativeSignCharacter}${left}`;\n right = right.replace(this.settings.negativeSignCharacter, '');\n }\n\n this._setValueParts(left + this.settings.decimalCharacter, right);\n\n return true;\n }\n\n // Prevent entering the minus sign if it's not allowed (Note: `this.settings.isNegativeSignAllowed` is only set to `true` if the minimumValue is lower than zero, allowing negative numbers to be entered)\n if ((this.eventKey === '-' || this.eventKey === '+') && this.settings.isNegativeSignAllowed) {\n // Here, the left and right parts have been normalized already, hence the minus sign usage\n if (left === '' && AutoNumericHelper.contains(right, '-')) {\n // The value is originally negative (with a trailing negative sign)\n right = right.replace('-', '');\n } else if (AutoNumericHelper.isNegativeStrict(left, '-')) {\n // The value is originally negative (with a leading negative sign)\n // Remove the negative sign, effectively converting the value to a positive one\n left = left.replace('-', ''); //TODO replace with '+' if `showPositiveSign` too?\n } else {\n // The value is originally positive, so we toggle the state to a negative one (unformatted, which means even with a trailing negative sign, we add the minus sign on the far left)\n left = `${this.settings.negativeSignCharacter}${left}`;\n }\n\n this._setValueParts(left, right);\n\n return true;\n }\n\n const eventNumber = Number(this.eventKey);\n if (eventNumber >= 0 && eventNumber <= 9) {\n // If the user tries to insert a digit\n if (this.settings.isNegativeSignAllowed && left === '' && AutoNumericHelper.contains(right, '-')) {\n // ...and that digit is before the minus sign\n left = '-';\n right = right.substring(1, right.length);\n }\n\n if (this.settings.maximumValue <= 0 &&\n this.settings.minimumValue < this.settings.maximumValue &&\n !AutoNumericHelper.contains(AutoNumericHelper.getElementValue(this.domElement), this.settings.negativeSignCharacter) &&\n this.eventKey !== '0') {\n left = `-${left}`;\n }\n\n this._setValueParts(`${left}${this.eventKey}`, right);\n\n return true;\n }\n\n // Prevent any other characters\n this.throwInput = false;\n\n return false;\n }\n\n /**\n * Formatting of just processed value while keeping the cursor position\n *\n * @param {Event} e\n * @private\n */\n _formatValue(e) {\n //TODO Break apart and simplify this really long function\n const elementValue = AutoNumericHelper.getElementValue(this.domElement);\n let [left] = this._getUnformattedLeftAndRightPartAroundTheSelection();\n\n // No grouping separator and no currency sign\n if ((this.settings.digitGroupSeparator === '' || (this.settings.digitGroupSeparator !== '' && !AutoNumericHelper.contains(elementValue, this.settings.digitGroupSeparator))) &&\n (this.settings.currencySymbol === '' || (this.settings.currencySymbol !== '' && !AutoNumericHelper.contains(elementValue, this.settings.currencySymbol)))) {\n let [subParts] = elementValue.split(this.settings.decimalCharacter);\n let negativeSign = '';\n if (AutoNumericHelper.isNegative(subParts, this.settings.negativeSignCharacter)) {\n negativeSign = this.settings.negativeSignCharacter;\n subParts = subParts.replace(this.settings.negativeSignCharacter, '');\n left = left.replace('-', ''); // Here we modify the unformatted value (with the 'normal' minus sign)\n }\n\n // Strip leading zero on positive value if needed\n if (negativeSign === '' && subParts.length > this.settings.mIntPos && left.charAt(0) === '0') {\n left = left.slice(1);\n }\n\n // Strip leading zero on negative value if needed\n if (negativeSign === this.settings.negativeSignCharacter && subParts.length > this.settings.mIntNeg && left.charAt(0) === '0') {\n left = left.slice(1);\n }\n\n if (!this.isTrailingNegative) { // Only add the minus sign if it's needed on that side of the numbers\n left = `${negativeSign}${left}`;\n }\n }\n\n const value = this.constructor._addGroupSeparators(elementValue, this.settings, this.isFocused, this.rawValue);\n let position = value.length;\n if (value) {\n // Prepare regexp which searches for cursor position from unformatted left part\n const leftAr = left.split('');\n\n // Fixes caret position with trailing minus sign\n if ((this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix ||\n (this.settings.negativePositiveSignPlacement !== AutoNumeric.options.negativePositiveSignPlacement.prefix && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix)) &&\n leftAr[0] === this.settings.negativeSignCharacter && !this.settings.isNegativeSignAllowed) {\n leftAr.shift(); // Remove the negative sign character\n\n if ((this.eventKey === AutoNumericEnum.keyName.Backspace || this.eventKey === AutoNumericEnum.keyName.Delete) &&\n this.caretFix) {\n if ((this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix && this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.left) ||\n (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix && this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.suffix)) {\n leftAr.push(this.settings.negativeSignCharacter);\n this.caretFix = e.type === 'keydown';\n }\n\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix &&\n this.settings.negativePositiveSignPlacement === AutoNumeric.options.negativePositiveSignPlacement.right) {\n const signParts = this.settings.currencySymbol.split('');\n const escapeChr = ['\\\\', '^', '$', '.', '|', '?', '*', '+', '(', ')', '['];\n const escapedParts = [];\n signParts.forEach((i, miniParts) => {\n miniParts = signParts[i];\n if (AutoNumericHelper.isInArray(miniParts, escapeChr)) {\n escapedParts.push('\\\\' + miniParts);\n } else {\n escapedParts.push(miniParts);\n }\n });\n\n if (this.eventKey === AutoNumericEnum.keyName.Backspace && this.settings.negativeSignCharacter === '-') {\n escapedParts.push('-');\n }\n\n // Pushing the escaped sign\n leftAr.push(escapedParts.join(''));\n this.caretFix = e.type === 'keydown';\n }\n }\n }\n\n for (let i = 0; i < leftAr.length; i++) {\n if (!leftAr[i].match('\\\\d')) {\n leftAr[i] = '\\\\' + leftAr[i];\n }\n }\n\n let leftReg;\n if (this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n leftReg = new RegExp(`^.*?${leftAr.join('.*?')}`);\n } else { // prefix is assumed\n leftReg = new RegExp(`^.*?${this.settings.currencySymbol}${leftAr.join('.*?')}`); // Fixes issue #647 when using a currency that has some characters in it that matches the value we just entered (ie. numbers in the currency)\n }\n\n // Search cursor position in formatted value\n const newLeft = value.match(leftReg);\n if (newLeft) {\n position = newLeft[0].length;\n\n // If the positive sign is shown, calculate the caret position accordingly\n if (this.settings.showPositiveSign) {\n if (position === 0 && newLeft.input.charAt(0) === this.settings.positiveSignCharacter) {\n position = (newLeft.input.indexOf(this.settings.currencySymbol) === 1) ? this.settings.currencySymbol.length + 1 : 1;\n }\n\n if (position === 0 && newLeft.input.charAt(this.settings.currencySymbol.length) === this.settings.positiveSignCharacter) {\n position = this.settings.currencySymbol.length + 1;\n }\n }\n\n // If we are just before the sign which is in prefix position\n if (((position === 0 && value.charAt(0) !== this.settings.negativeSignCharacter) || (position === 1 && value.charAt(0) === this.settings.negativeSignCharacter)) && this.settings.currencySymbol && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.prefix) {\n // Place caret after prefix sign\n //TODO Should the test be 'isNegative' instead of 'isNegativeStrict' in order to search for '-' everywhere in the string?\n position = this.settings.currencySymbol.length + (AutoNumericHelper.isNegativeStrict(value, this.settings.negativeSignCharacter) ? 1 : 0);\n }\n } else {\n if (this.settings.currencySymbol && this.settings.currencySymbolPlacement === AutoNumeric.options.currencySymbolPlacement.suffix) {\n // If we could not find a place for cursor and have a sign as a suffix\n // Place caret before suffix currency sign\n position -= this.settings.currencySymbol.length;\n }\n\n if (this.settings.suffixText) {\n // If we could not find a place for cursor and have a suffix\n // Place caret before suffix\n position -= this.settings.suffixText.length;\n }\n }\n }\n\n // Only update the value if it has changed. This prevents modifying the selection, if any.\n if (value !== elementValue) {\n this._setElementValue(value, false);\n this._setCaretPosition(position);\n }\n\n this.formatted = true; //TODO Rename `this.formatted` to `this._formatExecuted`, since it's possible this function does not need to format anything (in the case where the keycode is dropped for instance)\n }\n\n /**\n * Serialize the form child element values to a string, or an Array.\n * The output format is defined with the `formatType` argument.\n * This is loosely based upon http://stackoverflow.com/a/40705993/2834898.\n *\n * @param {HTMLFormElement} form\n * @param {boolean} intoAnArray If `true`, instead of generating a string, it generates an Array.\n * @param {string} formatType If `'unformatted'`, then the AutoNumeric elements values are unformatted, if `'localized'`, then the AutoNumeric elements values are localized, and if `'formatted'`, then the AutoNumeric elements values are kept formatted. In either way, this function does not modify the value of each DOM element, but only affect the value that is returned by that serialize function.\n * @param {string} serializedSpaceCharacter Can either be the '+' character, or the '%20' string.\n * @param {string|null} forcedOutputFormat If set, then this is the format that is used for the localization, instead of the default `outputFormat` option.\n * @returns {string|Array}\n * @private\n */\n static _serialize(form, intoAnArray = false, formatType = 'unformatted', serializedSpaceCharacter = '+', forcedOutputFormat = null) {\n const result = [];\n\n if (typeof form === 'object' && form.nodeName.toLowerCase() === 'form') {\n Array.prototype.slice.call(form.elements).forEach(element => {\n if (element.name &&\n !element.disabled &&\n ['file', 'reset', 'submit', 'button'].indexOf(element.type) === -1) {\n if (element.type === 'select-multiple') {\n Array.prototype.slice.call(element.options).forEach(option => {\n if (option.selected) {\n //TODO Should we unformat/format/localize the selection option (which be default should be read-only)?\n if (intoAnArray) {\n result.push({ name: element.name, value: option.value });\n } else { // into a string\n result.push(`${encodeURIComponent(element.name)}=${encodeURIComponent(option.value)}`);\n }\n }\n });\n } else if (['checkbox', 'radio'].indexOf(element.type) === -1 || element.checked) {\n let valueResult;\n if (this.isManagedByAutoNumeric(element)) {\n let anObject;\n switch (formatType) {\n case 'unformatted':\n anObject = this.getAutoNumericElement(element);\n if (!AutoNumericHelper.isNull(anObject)) {\n valueResult = this.unformat(element, anObject.getSettings());\n }\n\n break;\n case 'localized':\n anObject = this.getAutoNumericElement(element);\n if (!AutoNumericHelper.isNull(anObject)) {\n // Here I need to clone the setting object, otherwise I would modify it when changing the `outputFormat` option value\n const currentSettings = AutoNumericHelper.cloneObject(anObject.getSettings());\n if (!AutoNumericHelper.isNull(forcedOutputFormat)) {\n currentSettings.outputFormat = forcedOutputFormat;\n }\n\n valueResult = this.localize(element, currentSettings);\n }\n\n break;\n case 'formatted':\n default:\n valueResult = element.value;\n }\n } else {\n valueResult = element.value;\n }\n\n if (AutoNumericHelper.isUndefined(valueResult)) {\n AutoNumericHelper.throwError('This error should never be hit. If it has, something really wrong happened!');\n }\n\n if (intoAnArray) {\n result.push({ name: element.name, value: valueResult });\n } else { // into a string\n result.push(`${encodeURIComponent(element.name)}=${encodeURIComponent(valueResult)}`);\n }\n }\n }\n });\n }\n\n let finalResult;\n\n if (intoAnArray) {\n // Result as an Array\n // Note: `serializedSpaceCharacter` does not affect the array result since we do not change the space character for this one\n finalResult = result;\n } else {\n // Result as a string\n finalResult = result.join('&');\n\n if ('+' === serializedSpaceCharacter) {\n finalResult = finalResult.replace(/%20/g, '+');\n }\n }\n\n return finalResult;\n }\n\n /**\n * Serialize the form values to a string, outputting numeric strings for each AutoNumeric-managed element values.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @returns {string}\n */\n static _serializeNumericString(form, serializedSpaceCharacter = '+') {\n return this._serialize(form, false, 'unformatted', serializedSpaceCharacter);\n }\n\n /**\n * Serialize the form values to a string, outputting the formatted value as strings for each AutoNumeric-managed elements.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @returns {string}\n */\n static _serializeFormatted(form, serializedSpaceCharacter = '+') {\n return this._serialize(form, false, 'formatted', serializedSpaceCharacter);\n }\n\n /**\n * Serialize the form values to a string, outputting localized strings for each AutoNumeric-managed element values.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @param {string|null} forcedOutputFormat If set, then this is the format that is used for the localization, instead of the default `outputFormat` option.\n * @returns {string}\n */\n static _serializeLocalized(form, serializedSpaceCharacter = '+', forcedOutputFormat = null) {\n return this._serialize(form, false, 'localized', serializedSpaceCharacter, forcedOutputFormat);\n }\n\n /**\n * Generate an Array with the form values, outputting numeric strings for each AutoNumeric-managed element values.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @returns {Array}\n */\n static _serializeNumericStringArray(form, serializedSpaceCharacter = '+') {\n return this._serialize(form, true, 'unformatted', serializedSpaceCharacter);\n }\n\n /**\n * Generate an Array with the form values, outputting the formatted value as strings for each AutoNumeric-managed elements.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @returns {Array}\n */\n static _serializeFormattedArray(form, serializedSpaceCharacter = '+') {\n return this._serialize(form, true, 'formatted', serializedSpaceCharacter);\n }\n\n /**\n * Generate an Array with the form values, outputting localized strings for each AutoNumeric-managed element values.\n *\n * @param {HTMLFormElement} form\n * @param {string} serializedSpaceCharacter\n * @param {string|null} forcedOutputFormat If set, then this is the format that is used for the localization, instead of the default `outputFormat` option.\n * @returns {Array}\n */\n static _serializeLocalizedArray(form, serializedSpaceCharacter = '+', forcedOutputFormat = null) {\n return this._serialize(form, true, 'localized', serializedSpaceCharacter, forcedOutputFormat);\n }\n}\n\n/**\n * Initialize multiple DOM elements in one call (and possibly pass multiple values that will be mapped to each DOM element).\n *\n * @example\n * // Init multiple DOM elements in one call (and possibly pass multiple values that will be mapped to each DOM element)\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple([domElement1, domElement2, domElement3], { options });\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple([domElement1, domElement2, domElement3], [{ options }, 'euroPos']);\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple([domElement1, domElement2, domElement3], 12345.789, { options });\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple([domElement1, domElement2, domElement3], 12345.789, [{ options }, 'euroPos']);\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple.french([domElement1, domElement2, domElement3], [12345.789, 234.78, null], { options });\n * [anElement1, anElement2, anElement3] = AutoNumeric.multiple.french([domElement1, domElement2, domElement3], [12345.789, 234.78, null], [{ options }, 'euroPos']);\n *\n * // Special case, if a element is passed (or any other 'parent' (or 'root') DOM element), then autoNumeric will initialize each child `` elements recursively, ignoring those referenced in the `exclude` attribute\n * [anElement1, anElement2] = AutoNumeric.multiple({ rootElement: formElement }, { options });\n * [anElement1, anElement2] = AutoNumeric.multiple({ rootElement: formElement, exclude : [hiddenElement, tokenElement] }, { options });\n * [anElement1, anElement2] = AutoNumeric.multiple({ rootElement: formElement, exclude : [hiddenElement, tokenElement] }, [12345.789, null], { options });\n *\n * // If you want to select multiple elements via a css selector, then you must use the `multiple` function. Under the hood `QuerySelectorAll` is used.\n * [anElement1, anElement2] = AutoNumeric.multiple('.myCssClass > input', { options }); // This always return an Array, even if there is only one element selected\n * [anElement1, anElement2] = AutoNumeric.multiple('.myCssClass > input', [null, 12345.789], { options }); // Idem above, but with passing the initial values too\n *\n * @param {string|Array|{ rootElement: HTMLElement }|{ rootElement: HTMLElement, exclude: Array}} arg1\n * @param {number|Array|object|null} initialValue\n * @param {object|Array|null} options\n * @returns {Array}\n */\nAutoNumeric.multiple = (arg1, initialValue = null, options = null) => {\n const result = [];\n\n // Analyze the arguments and transform them to make them exploitable\n if (AutoNumericHelper.isObject(initialValue)) {\n // If the user gave an option object as the second argument, instead of the initial values\n options = initialValue;\n initialValue = null;\n }\n\n if (AutoNumericHelper.isString(arg1)) {\n arg1 = [... document.querySelectorAll(arg1)]; // Convert a NodeList to an Array (cf. http://stackoverflow.com/a/37297292/2834898)\n } else if (AutoNumericHelper.isObject(arg1)) {\n if (!Object.prototype.hasOwnProperty.call(arg1, 'rootElement')) {\n AutoNumericHelper.throwError(`The object passed to the 'multiple' function is invalid ; no 'rootElement' attribute found.`);\n }\n\n // Retrieve the DOM element list from the given element\n const elements = [... arg1.rootElement.querySelectorAll('input')];\n if (Object.prototype.hasOwnProperty.call(arg1, 'exclude')) {\n if (!Array.isArray(arg1.exclude)) {\n AutoNumericHelper.throwError(`The 'exclude' array passed to the 'multiple' function is invalid.`);\n }\n\n // Filter out the excluded elements\n arg1 = AutoNumericHelper.filterOut(elements, arg1.exclude);\n } else {\n arg1 = elements;\n }\n } else if (!AutoNumericHelper.isArray(arg1)) {\n AutoNumericHelper.throwError(`The given parameters to the 'multiple' function are invalid.`);\n }\n\n if (arg1.length === 0) {\n let showWarnings = true;\n if (!AutoNumericHelper.isNull(options) && AutoNumericHelper.isBoolean(options.showWarnings)) {\n showWarnings = options.showWarnings;\n }\n\n AutoNumericHelper.warning(`No valid DOM elements were given hence no AutoNumeric objects were instantiated.`, showWarnings);\n\n return [];\n }\n\n // At this point, we know `arg1` is an array of DOM elements\n\n // This function can be initialized with two types of array, one for the initial values, and/or one for the options.\n // So we need to find out if an array is detected if the user passed an array of initial values, or an array of options\n // Therefore, we analyze the content of the arrays for the second and third arguments\n // ...for the second parameter :\n const isInitialValueArray = AutoNumericHelper.isArray(initialValue);\n const isInitialValueArrayAndNotEmpty = isInitialValueArray && initialValue.length >= 1;\n let secondArgumentIsInitialValueArray = false;\n let secondArgumentIsOptionArray = false;\n // Any of the arrays can be either an array of initial values, or an array of option object/pre-defined option names\n if (isInitialValueArrayAndNotEmpty) {\n const typeOfFirstArrayElement = typeof Number(initialValue[0]);\n // First we test the second argument\n secondArgumentIsInitialValueArray = typeOfFirstArrayElement === 'number' && !isNaN(Number(initialValue[0]));\n\n if (!secondArgumentIsInitialValueArray) {\n // If the second argument is an array, but not an array of values, check if it's instead an array of options/pre-defined option names\n if (typeOfFirstArrayElement === 'string' || isNaN(typeOfFirstArrayElement) || typeOfFirstArrayElement === 'object') {\n secondArgumentIsOptionArray = true;\n }\n }\n }\n\n // ...for the third parameter :\n const isOptionsArrayAndNotEmpty = AutoNumericHelper.isArray(options) && options.length >= 1;\n let thirdArgumentIsOptionArray = false;\n if (isOptionsArrayAndNotEmpty) {\n const typeOfFirstArrayElement = typeof options[0];\n if (typeOfFirstArrayElement === 'string' || typeOfFirstArrayElement === 'object') {\n // If the third argument is an array of options/pre-defined option names\n thirdArgumentIsOptionArray = true;\n }\n }\n\n // Depending of our findings, we generate the options variable to use `optionsToUse`, either directly, or merged\n let optionsToUse;\n if (secondArgumentIsOptionArray) {\n optionsToUse = AutoNumeric.mergeOptions(initialValue);\n } else if (thirdArgumentIsOptionArray) {\n optionsToUse = AutoNumeric.mergeOptions(options);\n } else {\n optionsToUse = options;\n }\n\n\n // Initialize the initial values\n const isInitialValueNumber = AutoNumericHelper.isNumber(initialValue);\n let initialValueArraySize;\n if (secondArgumentIsInitialValueArray) {\n initialValueArraySize = initialValue.length;\n }\n\n // Instantiate each AutoNumeric objects\n arg1.forEach((domElement, index) => {\n if (isInitialValueNumber) {\n // We set the same value for each elements\n result.push(new AutoNumeric(domElement, initialValue, optionsToUse));\n } else if (secondArgumentIsInitialValueArray && index <= initialValueArraySize) {\n result.push(new AutoNumeric(domElement, initialValue[index], optionsToUse));\n } else {\n result.push(new AutoNumeric(domElement, null, optionsToUse));\n }\n });\n\n return result;\n};\n\n/**\n * Polyfill for obsolete browsers like IE\n */\n(function() {\n// Polyfill for `Array.from()` (Fix issue #495)\nif (!Array.from) {\n Array.from = object => [].slice.call(object);\n}\n\n// Polyfill for `CustomEvent` (cf. https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent)\nif (typeof window === 'undefined' || typeof window.CustomEvent === 'function') {\n return false;\n}\n\nfunction CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: void(0) };\n const evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n}\n\nCustomEvent.prototype = window.Event.prototype;\nwindow.CustomEvent = CustomEvent;\n})();\n","/**\n * Options for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumeric from './AutoNumeric';\n\n/**\n * Event list managed by AutoNumeric\n *\n * @type {{correctedValue: string, initialized: string, invalidFormula: string, invalidValue: string, formatted: string, rawValueModified: string, minRangeExceeded: string, maxRangeExceeded: string, native: {input: string, change: string}, validFormula: string}}\n */\nAutoNumeric.events = {\n correctedValue : 'autoNumeric:correctedValue',\n initialized : 'autoNumeric:initialized',\n invalidFormula : 'autoNumeric:invalidFormula',\n invalidValue : 'autoNumeric:invalidValue',\n formatted : 'autoNumeric:formatted',\n rawValueModified: 'autoNumeric:rawValueModified',\n minRangeExceeded: 'autoNumeric:minExceeded',\n maxRangeExceeded: 'autoNumeric:maxExceeded',\n native : {\n input : 'input',\n change: 'change',\n },\n validFormula : 'autoNumeric:validFormula',\n};\n\nObject.freeze(AutoNumeric.events.native);\nObject.freeze(AutoNumeric.events);\nObject.defineProperty(AutoNumeric, 'events', { configurable: false, writable: false });\n","/**\n * Options for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumeric from './AutoNumeric';\nimport AutoNumericHelper from './AutoNumericHelper';\n\n/**\n * Options values enumeration\n */\nAutoNumeric.options = {\n /* Defines if the decimal places should be padded with zeroes\n * `true` : always pad decimals with zeros (ie. '12.3400')\n * `false` : never pad with zeros (ie. '12.34')\n * `'floats'` : pad with zeroes only when there are decimals (ie. '12' and '12.3400')\n * Note: setting allowDecimalPadding to 'false' will override the 'decimalPlaces' setting.\n */\n allowDecimalPadding: {\n always: true,\n never : false,\n floats: 'floats',\n },\n\n /* Defines if the decimal character or decimal character alternative should be accepted when there is already a decimal character shown in the element.\n * If set to `true`, any decimal character input will be accepted and will subsequently modify the decimal character position, as well as the `rawValue`.\n * If set to `false`, the decimal character and its alternative key will be dropped as before. This is the default setting.\n */\n alwaysAllowDecimalCharacter: {\n alwaysAllow: true,\n doNotAllow: false,\n },\n\n /* Defines where should be positioned the caret on focus\n * null : Do not enforce any caret positioning on focus (this is needed when using `selectOnFocus`)\n * `'start'` : put the caret of the far left side of the value (excluding the positive/negative sign and currency symbol, if any)\n * `'end'` : put the caret of the far right side of the value (excluding the positive/negative sign and currency symbol, if any)\n * `'decimalLeft'` : put the caret of the left of the decimal character if any\n * `'decimalRight'` : put the caret of the right of the decimal character if any\n */\n caretPositionOnFocus: {\n start : 'start',\n end : 'end',\n decimalLeft : 'decimalLeft',\n decimalRight : 'decimalRight',\n doNoForceCaretPosition: null,\n },\n\n /* Defines if a local list of AutoNumeric objects should be kept when initializing this object.\n * This list is used by the `global.*` functions.\n */\n createLocalList: {\n createList : true,\n doNotCreateList: false,\n },\n\n /* Defines the currency symbol string.\n * It can be a string of more than one character (allowing for instance to use a space on either side of it, example: '$ ' or ' $')\n * cf. https://en.wikipedia.org/wiki/Currency_symbol\n */\n currencySymbol: {\n none : '',\n currencySign : '¤',\n austral : '₳', // ARA\n australCentavo: '¢',\n baht : '฿', // THB\n cedi : '₵', // GHS\n cent : '¢',\n colon : '₡', // CRC\n cruzeiro : '₢', // BRB - Not used anymore since 1993\n dollar : '$',\n dong : '₫', // VND\n drachma : '₯', // GRD (or 'Δρχ.' or 'Δρ.')\n dram : '​֏', // AMD\n european : '₠', // XEU (old currency before the Euro)\n euro : '€', // EUR\n florin : 'ƒ',\n franc : '₣', // FRF\n guarani : '₲', // PYG\n hryvnia : '₴', // грн\n kip : '₭', // LAK\n att : 'ອັດ', // cents of the Kip\n lepton : 'Λ.', // cents of the Drachma\n lira : '₺', // TRY\n liraOld : '₤',\n lari : '₾', // GEL\n mark : 'ℳ',\n mill : '₥',\n naira : '₦', // NGN\n peseta : '₧',\n peso : '₱', // PHP\n pfennig : '₰', // cents of the Mark\n pound : '£',\n real : 'R$', // Brazilian real\n riel : '៛', // KHR\n ruble : '₽', // RUB\n rupee : '₹', // INR\n rupeeOld : '₨',\n shekel : '₪',\n shekelAlt : 'ש״ח‎‎',\n taka : '৳', // BDT\n tenge : '₸', // KZT\n togrog : '₮', // MNT\n won : '₩',\n yen : '¥',\n },\n\n /* Defines where the currency symbol should be placed (before of after the numbers)\n * for prefix currencySymbolPlacement: \"p\" (default)\n * for suffix currencySymbolPlacement: \"s\"\n */\n currencySymbolPlacement: {\n prefix: 'p',\n suffix: 's',\n },\n\n /* Defines what decimal separator character is used\n */\n decimalCharacter: {\n comma : ',',\n dot : '.',\n middleDot : '·',\n arabicDecimalSeparator : '٫',\n decimalSeparatorKeySymbol: '⎖',\n },\n\n /* Allow to declare an alternative decimal separator which is automatically replaced by `decimalCharacter` when typed.\n * This is used by countries that use a comma ',' as the decimal character and have keyboards with a numeric pads that have\n * a period 'full stop' as the decimal character (France or Spain for instance).\n */\n decimalCharacterAlternative: {\n none : null,\n comma: ',',\n dot : '.',\n },\n\n /* Defines the default number of decimal places to show on the formatted value, and keep for the precision.\n * Incidentally, since we need to be able to show that many decimal places, this also defines the raw value precision by default.\n */\n decimalPlaces: {\n none : 0,\n one : 1,\n two : 2,\n three: 3,\n four : 4,\n five : 5,\n six : 6,\n },\n\n /* Defines how many decimal places should be kept for the raw value (ie. This is the precision for float values).\n *\n * If this option is set to `null` (which is the default), then the value of `decimalPlaces` is used for `decimalPlacesRawValue` as well.\n * Note: Setting this to a lower number of decimal places than the one to be shown will lead to confusion for the users.\n */\n decimalPlacesRawValue: {\n useDefault: null,\n none : 0,\n one : 1,\n two : 2,\n three : 3,\n four : 4,\n five : 5,\n six : 6,\n },\n\n /* Defines how many decimal places should be visible when the element is unfocused.\n * If this is set to `null`, then this option is ignored, and the `decimalPlaces` option value will be used instead.\n * This means this is optional ; if omitted the decimal places will be the same when the input has the focus.\n *\n * This option can be used in conjonction with the two other `scale*` options, which allows to display a different formatted value when the element is unfocused, while another formatted value is shown when focused.\n * For those `scale*` options to have any effect, `divisorWhenUnfocused` must not be `null`.\n */\n decimalPlacesShownOnBlur: {\n useDefault: null,\n none : 0,\n one : 1,\n two : 2,\n three : 3,\n four : 4,\n five : 5,\n six : 6,\n },\n\n /* Defines how many decimal places should be visible when the element has the focus.\n * If this is set to `null`, then this option is ignored, and the `decimalPlaces` option value will be used instead.\n *\n * Example:\n * For instance if `decimalPlacesShownOnFocus` is set to `5` and the default number of decimal places is `2`, then on focus `1,000.12345` will be shown, while without focus `1,000.12` will be set back.\n * Note 1: the results depends on the rounding method used.\n * Note 2: the `getNumericString()` method returns the extended decimal places\n */\n decimalPlacesShownOnFocus: {\n useDefault: null,\n none : 0,\n one : 1,\n two : 2,\n three : 3,\n four : 4,\n five : 5,\n six : 6,\n },\n\n /* Helper option for ASP.NET postback\n * This should be set as the value of the unformatted default value\n * examples:\n * no default value=\"\" {defaultValueOverride: \"\"}\n * value=1234.56 {defaultValueOverride: '1234.56'}\n */\n defaultValueOverride: {\n doNotOverride: null,\n },\n\n /* Defines how many numbers should be grouped together (usually for the thousand separator)\n * - \"2\", results in 99,99,99,999 India's lakhs\n * - \"2s\", results in 99,999,99,99,999 India's lakhs scaled\n * - \"3\", results in 999,999,999 (default)\n * - \"4\", results in 9999,9999,9999 used in some Asian countries\n * Note: This option does not accept other grouping choice.\n */\n digitalGroupSpacing: {\n two : '2',\n twoScaled: '2s',\n three : '3',\n four : '4',\n },\n\n /* Defines the thousand grouping separator character\n * Example : If `'.'` is set, then you'll get `'1.234.567'`\n */\n digitGroupSeparator: {\n comma : ',',\n dot : '.',\n normalSpace : ' ',\n thinSpace : '\\u2009',\n narrowNoBreakSpace : '\\u202f',\n noBreakSpace : '\\u00a0',\n noSeparator : '',\n apostrophe : `'`,\n arabicThousandsSeparator: '٬',\n dotAbove : '˙',\n privateUseTwo : '’', // \\u0092\n },\n\n /* The `divisorWhenUnfocused` divide the element value on focus.\n * On blur, the element value is multiplied back.\n *\n * Example : Display percentages using { divisorWhenUnfocused: 100 } (or directly in the Html with ``)\n * The divisor value does not need to be an integer, but please understand that Javascript has limited accuracy in math ; use with caution.\n * Note: The `getNumericString` method returns the full value, including the 'hidden' decimals.\n */\n divisorWhenUnfocused: {\n none : null,\n percentage: 100,\n permille : 1000,\n basisPoint: 10000,\n },\n\n /* Defines what should be displayed in the element if the raw value is an empty string ('').\n * - 'focus' : The currency sign is displayed when the input receives focus (default)\n * - 'press' : The currency sign is displayed whenever a key is being pressed\n * - 'always' : The currency sign is always displayed\n * - 'zero' : A zero is displayed ('rounded' with or without a currency sign) if the input has no value on focus out\n * - 'min' : The minimum value is displayed if the input has no value on focus out\n * - 'max' : The maximum value is displayed if the input has no value on focus out\n * - 'null' : When the element is empty, the `rawValue` and the element value/text is set to `null`. This also allows to set the value to `null` using `anElement.set(null)`.\n */\n emptyInputBehavior: {\n focus : 'focus',\n press : 'press',\n always: 'always',\n zero : 'zero',\n min : 'min',\n max : 'max',\n null : 'null',\n },\n\n /* Defines if the custom and native events triggered by AutoNumeric should bubble up or not.\n */\n eventBubbles: {\n bubbles: true,\n doesNotBubble: false,\n },\n\n /* Defines if the custom and native events triggered by AutoNumeric should be cancelable.\n */\n eventIsCancelable: {\n isCancelable: true,\n isNotCancelable: false,\n },\n\n /* This option is the 'strict mode' (aka 'debug' mode), which allows autoNumeric to strictly analyse the options passed, and fails if an unknown options is used in the settings object.\n * You should set that to `true` if you want to make sure you are only using 'pure' autoNumeric settings objects in your code.\n * If you see uncaught errors in the console and your code starts to fail, this means somehow those options gets polluted by another program (which usually happens when using frameworks).\n */\n failOnUnknownOption: {\n fail : true,\n ignore: false,\n },\n\n /* Determine if the default value will be formatted on initialization.\n */\n formatOnPageLoad: {\n format : true, // automatically formats the default value on initialization\n doNotFormat: false, // will not format the default value on initialization\n },\n\n /* Defines if the 'formula mode' can be activated by the user.\n * If set to `true`, then the user can enter the formula mode by entering the '=' character.\n * He will then be allowed to enter any simple math formula using numeric characters as well as the following operators +, -, *, /, ( and ).\n * The formula mode is closed when the user either validate their math expression using the `Enter` key, or when the element is blurred.\n * If the formula is invalid, the previous valid `rawValue` is set back, and the `autoNumeric:invalidFormula` event is sent.\n * When a valid formula is accepted, then its result is `set()`, and the `autoNumeric:validFormula` event is sent.\n *\n * By default, this mode is disabled.\n */\n formulaMode: {\n enabled : true,\n disabled: false,\n },\n\n /* Set the undo/redo history table size.\n * Each record keeps the raw value as well and the last known caret/selection positions.\n */\n historySize: {\n verySmall: 5,\n small : 10,\n medium : 20,\n large : 50,\n veryLarge: 100,\n insane : Number.MAX_SAFE_INTEGER,\n },\n\n /* Defines the name of the CSS class to use on contenteditable-enabled elements when the value is invalid\n * This is not used when the HTML element used is an input.\n */\n invalidClass: 'an-invalid',\n\n /* Allow the user to 'cancel' and undo the changes he made to the given autonumeric-managed element, by pressing the 'Escape' key.\n * Whenever the user 'validate' the input (either by hitting 'Enter', or blurring the element), the new value is saved for subsequent 'cancellation'.\n *\n * The process :\n * - save the input value on focus\n * - if the user change the input value, and hit `Escape`, then the initial value saved on focus is set back\n * - on the other hand if the user either have used `Enter` to validate (`Enter` throws a change event) his entries, or if the input value has been changed by another script in the mean time, then we save the new input value\n * - on a successful 'cancel', select the whole value (while respecting the `selectNumberOnly` option)\n * - bonus; if the value has not changed, hitting 'Esc' just select all the input value (while respecting the `selectNumberOnly` option)\n */\n isCancellable: {\n cancellable : true,\n notCancellable: false,\n },\n\n /* Controls the leading zero behavior\n * - 'allow' : allows leading zeros to be entered. Zeros will be truncated when entering additional digits. On focusout zeros will be deleted\n * - 'deny' : allows only one leading zero on values that are between 1 and -1\n * - 'keep' : allows leading zeros to be entered. on focusout zeros will be retained\n */\n leadingZero: {\n allow: 'allow',\n deny : 'deny',\n keep : 'keep',\n },\n\n /* Defines the maximum possible value a user can enter.\n * Notes:\n * - this value must be a string and use the period for the decimal point\n * - this value needs to be larger than `minimumValue`\n */\n maximumValue: {\n tenTrillions : '10000000000000', // 10000 billions\n oneBillion : '1000000000',\n zero : '0',\n },\n\n /* Defines the minimum possible value a user can enter.\n * Notes:\n * - this value must be a string and use the period for the decimal point\n * - this value needs to be smaller than `maximumValue`\n * - if this is superior to 0, then you'll effectively prevent your user to entirely delete the content of your element\n */\n minimumValue: {\n tenTrillions : '-10000000000000', // 10000 billions\n oneBillion : '-1000000000',\n zero : '0',\n },\n\n /* Allows the user to increment or decrement the element value with the mouse wheel.\n * The wheel behavior can be modified by the `wheelStep` option.\n * This `wheelStep` option can be used in two ways, either by setting:\n * - a 'fixed' step value (`wheelStep : 1000`), or\n * - the 'progressive' string (`wheelStep : 'progressive'`), which will then activate a special mode where the step is automatically calculated based on the element value size.\n *\n * Note :\n * You can activate/deactivate the wheel event for each `wheelOn` option value by using the 'Shift' modifier key while using the mouse wheel.\n */\n modifyValueOnWheel: {\n modifyValue: true,\n doNothing : false,\n },\n\n /* Adds brackets on negative values (ie. transforms '-$ 999.99' to '($999.99)')\n * Those brackets are visible only when the field does NOT have the focus.\n * The left and right symbols should be enclosed in quotes and separated by a comma.\n */\n negativeBracketsTypeOnBlur: {\n parentheses : '(,)',\n brackets : '[,]',\n chevrons : '<,>',\n curlyBraces : '{,}',\n angleBrackets : '〈,〉',\n japaneseQuotationMarks: '「,」',\n halfBrackets : '⸤,⸥',\n whiteSquareBrackets : '⟦,⟧',\n quotationMarks : '‹,›',\n guillemets : '«,»',\n none : null, // This is the default value, which deactivate this feature\n },\n\n /* Placement of the negative/positive sign relative to the `currencySymbol` option.\n *\n * Example:\n * // Default values\n * -1,234.56 => default no options required\n * $-1,234.56 => {currencySymbol: \"$\", negativePositiveSignPlacement: \"r\"} // Default if negativePositiveSignPlacement is 'null' and currencySymbol is not empty\n *\n * // Sign on the left hand side of the whole number\n * -$1,234.56 => {currencySymbol: \"$\"} or {currencySymbol: \"$\", negativePositiveSignPlacement: \"l\"}\n * -1,234.56$ => {currencySymbol: \"$\", currencySymbolPlacement: \"s\", negativePositiveSignPlacement: \"p\"} // Default if negativePositiveSignPlacement is 'null' and currencySymbol is not empty\n *\n * // Sign on the right hand side of the whole number\n * 1,234.56- => {negativePositiveSignPlacement: \"s\"}\n * $1,234.56- => {currencySymbol: \"$\", negativePositiveSignPlacement: \"s\"}\n * 1,234.56-$ => {currencySymbol: \"$\", currencySymbolPlacement: \"s\"}\n * 1,234.56$- => {currencySymbol: \"$\", currencySymbolPlacement: \"s\", negativePositiveSignPlacement: \"r\"}\n */\n negativePositiveSignPlacement: {\n prefix: 'p',\n suffix: 's',\n left : 'l',\n right : 'r',\n none : null,\n },\n\n /* Defines the negative sign symbol.\n * It can be a string of only one character.\n */\n negativeSignCharacter: {\n hyphen : '-',\n minus : '−',\n heavyMinus : '➖',\n fullWidthHyphen: '-',\n circledMinus : '⊖',\n squaredMinus : '⊟',\n triangleMinus : '⨺',\n plusMinus : '±',\n minusPlus : '∓',\n dotMinus : '∸',\n minusTilde : '≂',\n not : '¬',\n },\n\n /* Defines if the element should have event listeners activated on it.\n * By default, those event listeners are only added to elements and html element with the `contenteditable` attribute set to `true`, but not on the other html tags.\n * This allows to initialize elements without any event listeners.\n * Warning: Since AutoNumeric will not check the input content after its initialization, using some autoNumeric methods afterwards *will* probably leads to formatting problems.\n */\n noEventListeners: {\n noEvents : true,\n addEvents: false,\n },\n\n /* Manage how autoNumeric react when the user tries to paste an invalid number.\n * - 'error' : (This is the default behavior) The input value is not changed and an error is output in the console.\n * - 'ignore' : idem than 'error', but fail silently without outputting any error/warning in the console.\n * - 'clamp' : if the pasted value is either too small or too big regarding the minimumValue and maximumValue range, then the result is clamped to those limits.\n * - 'truncate' : autoNumeric will insert as many pasted numbers it can at the initial caret/selection, until everything is pasted, or the range limit is hit.\n * The non-pasted numbers are dropped and therefore not used at all.\n * - 'replace' : autoNumeric will first insert as many pasted numbers it can at the initial caret/selection, then if the range limit is hit, it will try\n * to replace one by one the remaining initial numbers (on the right side of the caret) with the rest of the pasted numbers.\n *\n * Note 1 : A paste content starting with a negative sign '-' will be accepted anywhere in the input, and will set the resulting value as a negative number\n * Note 2 : A paste content starting with a number will be accepted, even if the rest is gibberish (ie. '123foobar456').\n * Only the first number will be used (here '123').\n * Note 3 : The paste event works with the `decimalPlacesShownOnFocus` option too.\n */\n onInvalidPaste: {\n error : 'error',\n ignore : 'ignore',\n clamp : 'clamp',\n truncate: 'truncate',\n replace : 'replace',\n },\n\n /* Defines how the value should be formatted when wanting a 'localized' version of it.\n * - null or 'string' => 'nnnn.nn' or '-nnnn.nn' as text type. This is the default behavior.\n * - 'number' => nnnn.nn or -nnnn.nn as a Number (Warning: this works only for integers inferior to Number.MAX_SAFE_INTEGER)\n * - ',' or '-,' => 'nnnn,nn' or '-nnnn,nn'\n * - '.-' => 'nnnn.nn' or 'nnnn.nn-'\n * - ',-' => 'nnnn,nn' or 'nnnn,nn-'\n *\n * Note: The hyphen '-' is translated to the custom negative sign defined in `negativeSignCharacter`\n */\n outputFormat: {\n string : 'string',\n number : 'number',\n dot : '.',\n negativeDot : '-.',\n comma : ',',\n negativeComma: '-,',\n dotNegative : '.-',\n commaNegative: ',-',\n none : null,\n },\n\n /* Defines if AutoNumeric should let the user override the minimum and/or maximum limits when he types numbers in the element.\n * - 'ceiling' Strictly adheres to `maximumValue` and ignores the `minimumValue` settings\n * It allows the user to enter anything between -∞ `and maximumValue`\n * If `maximumValue` is less than 0, then it will prevent the user emptying the field or typing value above `maximumValue`, making sure the value entered is always valid\n * - 'floor' Strictly adheres to `minimumValue` and ignores the `maximumValue` settings\n * It allows the user to enter anything between `minimumValue` and +∞\n * If `minimumValue` is higher than 0, then it will prevent the user emptying the field or typing value below `minimumValue`, making sure the value entered is always valid\n * - 'ignore' Ignores both the `minimumValue` and `maximumValue` settings\n * When using this option, the field will always be valid range-wise\n * - 'invalid' The user can temporarily type out-of-bound values. In doing so, the invalid state is set on the field.\n * Whenever an invalid value is typed, an 'autoNumeric:invalidValue' event is sent\n * When the value is correctly set back within the limit boundaries, the invalid state is removed, and the 'autoNumeric:correctedValue' event is sent\n * - 'doNotOverride' Strictly adheres to the `maximumValue` and `minimumValue` settings\n * This is the default behavior\n * If `0` is out of the min/max range, this will prevent the user clearing the input field, making sure the value entered is always valid\n */\n overrideMinMaxLimits: {\n ceiling : 'ceiling',\n floor : 'floor',\n ignore : 'ignore',\n invalid : 'invalid',\n doNotOverride: null,\n },\n\n /* Defines the positive sign symbol.\n * It can be a string of only one character.\n * This is shown only if `showPositiveSign` is set to `true`.\n */\n positiveSignCharacter: {\n plus : '+',\n fullWidthPlus : '+',\n heavyPlus : '➕',\n doublePlus : '⧺',\n triplePlus : '⧻',\n circledPlus : '⊕',\n squaredPlus : '⊞',\n trianglePlus : '⨹',\n plusMinus : '±',\n minusPlus : '∓',\n dotPlus : '∔',\n altHebrewPlus : '﬩',\n normalSpace : ' ',\n thinSpace : '\\u2009',\n narrowNoBreakSpace: '\\u202f',\n noBreakSpace : '\\u00a0',\n },\n\n /* The `rawValueDivisor` divides the formatted value shown in the AutoNumeric element and store the result in `rawValue`.\n * @example { rawValueDivisor: '100' } or \n * Given the `0.01234` raw value, the formatted value will be displayed as `'1.234'`.\n * This is useful when displaying percentage for instance, and avoid the need to divide/multiply by 100 between the number shown and the raw value.\n */\n rawValueDivisor: {\n none : null,\n percentage: 100,\n permille : 1000,\n basisPoint: 10000,\n },\n\n /* Defines if the element (`` or another allowed html tag) should be set as read-only on initialization.\n * When set to `true`, then:\n * - the `readonly` html property is added to the element on initialization, or\n * - the `contenteditable` attribute is set to `false` on non-input elements.\n */\n readOnly: {\n readOnly : true,\n readWrite: false,\n },\n\n /* Defines the rounding method to use.\n * roundingMethod: \"S\", Round-Half-Up Symmetric (default)\n * roundingMethod: \"A\", Round-Half-Up Asymmetric\n * roundingMethod: \"s\", Round-Half-Down Symmetric (lower case s)\n * roundingMethod: \"a\", Round-Half-Down Asymmetric (lower case a)\n * roundingMethod: \"B\", Round-Half-Even \"Bankers Rounding\"\n * roundingMethod: \"U\", Round Up \"Round-Away-From-Zero\"\n * roundingMethod: \"D\", Round Down \"Round-Toward-Zero\" - same as truncate\n * roundingMethod: \"C\", Round to Ceiling \"Toward Positive Infinity\"\n * roundingMethod: \"F\", Round to Floor \"Toward Negative Infinity\"\n * roundingMethod: \"N05\" Rounds to the nearest .05 => same as \"CHF\" used in 1.9X and still valid\n * roundingMethod: \"U05\" Rounds up to next .05\n * roundingMethod: \"D05\" Rounds down to next .05\n */\n roundingMethod: {\n halfUpSymmetric : 'S',\n halfUpAsymmetric : 'A',\n halfDownSymmetric : 's',\n halfDownAsymmetric : 'a',\n halfEvenBankersRounding : 'B',\n upRoundAwayFromZero : 'U',\n downRoundTowardZero : 'D',\n toCeilingTowardPositiveInfinity: 'C',\n toFloorTowardNegativeInfinity : 'F',\n toNearest05 : 'N05',\n toNearest05Alt : 'CHF',\n upToNext05 : 'U05',\n downToNext05 : 'D05',\n },\n\n /* Set to `true` to allow the `decimalPlacesShownOnFocus` value to be saved with sessionStorage\n * If IE 6 or 7 is detected, the value will be saved as a session cookie.\n */\n saveValueToSessionStorage: {\n save : true,\n doNotSave: false,\n },\n\n /* Determine if the select all keyboard command will select the complete input text, or only the input numeric value\n * Note : If the currency symbol is between the numeric value and the negative sign, only the numeric value will be selected\n */\n selectNumberOnly: {\n selectNumbersOnly: true,\n selectAll : false,\n },\n\n /* Defines if the element value should be selected on focus.\n * Note: The selection is done using the `selectNumberOnly` option.\n */\n selectOnFocus: {\n select : true,\n doNotSelect: false,\n },\n\n /* Defines how the serialize functions should treat the spaces.\n * Those spaces ' ' can either be converted to the plus sign '+', which is the default, or to '%20'.\n * Both values being valid per the spec (http://www.w3.org/Addressing/URL/uri-spec.html).\n * Also see the summed up answer on http://stackoverflow.com/a/33939287.\n *\n * tl;dr : Spaces should be converted to '%20' before the '?' sign, then converted to '+' after.\n * In our case since we serialize the query, we use '+' as the default (but allow the user to get back the old *wrong* behavior).\n */\n serializeSpaces: {\n plus : '+',\n percent: '%20',\n },\n\n /* Defines if the element value should be converted to the raw value on focus (and back to the formatted on blur).\n * If set to `true`, then autoNumeric remove the thousand separator, currency symbol and suffix on focus.\n * Example:\n * If the input value is '$ 1,999.88 suffix', on focus it becomes '1999.88' and back to '$ 1,999.88 suffix' on blur.\n */\n showOnlyNumbersOnFocus: {\n onlyNumbers: true,\n showAll : false,\n },\n\n /* Allow the positive sign symbol `+` to be displayed for positive numbers.\n * By default, this positive sign is not shown.\n * The sign placement is controlled by the 'negativePositiveSignPlacement' option, mimicking the negative sign placement rules.\n */\n showPositiveSign: {\n show: true,\n hide: false,\n },\n\n /* Defines if warnings should be shown in the console.\n * Those warnings can be ignored, but are usually printed when something could be improved by the user (ie. option conflicts).\n */\n showWarnings: {\n show: true, // All warning are shown\n hide: false, // No warnings are shown, only the thrown errors\n },\n\n /* Defines the rules that calculate the CSS class(es) to apply on the element, based on the raw unformatted value.\n * This can also be used to call callbacks whenever the `rawValue` is updated.\n * Important: all callbacks must return `null` if no ranges/userDefined classes are selected\n * @example\n * {\n * positive : 'autoNumeric-positive', // Or `null` to not use it\n * negative : 'autoNumeric-negative',\n * ranges : [\n * { min: 0, max: 25, class: 'autoNumeric-red' },\n * { min: 25, max: 50, class: 'autoNumeric-orange' },\n * { min: 50, max: 75, class: 'autoNumeric-yellow' },\n * { min: 75, max: Number.MAX_SAFE_INTEGER, class: 'autoNumeric-green' },\n * ],\n * userDefined: [\n * // If 'classes' is a string, set it if `true`, remove it if `false`\n * { callback: rawValue => { return true; }, classes: 'thisIsTrue' },\n * // If 'classes' is an array with only 2 elements, set the first class if `true`, the second if `false`\n * { callback: rawValue => rawValue % 2 === 0, classes: ['autoNumeric-even', 'autoNumeric-odd'] },\n * // Return only one index to use on the `classes` array (here, 'class3')\n * { callback: rawValue => { return 2; }, classes: ['class1', 'class2', 'class3'] },\n * // Return an array of indexes to use on the `classes` array (here, 'class1' and 'class3')\n * { callback: rawValue => { return [0, 2]; }, classes: ['class1', 'class2', 'class3'] },\n * // If 'classes' is `undefined` or `null`, then the callback is called with the AutoNumeric object passed as a parameter\n * { callback: anElement => { return anElement.getFormatted(); } },\n * ],\n * }\n */\n styleRules: {\n none : null,\n positiveNegative : {\n positive: 'autoNumeric-positive',\n negative: 'autoNumeric-negative',\n },\n range0To100With4Steps: {\n ranges: [\n { min: 0, max: 25, class: 'autoNumeric-red' },\n { min: 25, max: 50, class: 'autoNumeric-orange' },\n { min: 50, max: 75, class: 'autoNumeric-yellow' },\n { min: 75, max: 100, class: 'autoNumeric-green' },\n ],\n },\n evenOdd : {\n userDefined: [\n { callback: rawValue => rawValue % 2 === 0, classes: ['autoNumeric-even', 'autoNumeric-odd'] },\n ],\n },\n rangeSmallAndZero : {\n userDefined: [\n {\n callback : rawValue => {\n if (rawValue >= -1 && rawValue < 0) {\n return 0;\n }\n if (Number(rawValue) === 0) {\n return 1;\n }\n if (rawValue > 0 && rawValue <= 1) {\n return 2;\n }\n\n return null; // In case the rawValue is outside those ranges\n },\n classes: [\n 'autoNumeric-small-negative',\n 'autoNumeric-zero',\n 'autoNumeric-small-positive',\n ],\n },\n ],\n },\n },\n\n /* Add a text on the right hand side of the element value.\n * This suffix text can have any characters in its string, except numeric characters and the negative/positive sign.\n * Example: ' dollars'\n */\n suffixText: {\n none : '',\n percentage: '%',\n permille : '‰',\n basisPoint: '‱',\n },\n\n /* The three options (divisorWhenUnfocused, decimalPlacesShownOnBlur & symbolWhenUnfocused) handle scaling of the input when the input does not have focus\n * Please note that the non-scaled value is held in data and it is advised that you use the `saveValueToSessionStorage` option to ensure retaining the value\n * [\"divisor\", \"decimal places\", \"symbol\"]\n * Example: with the following options set {divisorWhenUnfocused: '1000', decimalPlacesShownOnBlur: '1', symbolWhenUnfocused: ' K'}\n * Example: focusin value \"1,111.11\" focusout value \"1.1 K\"\n */\n\n /* The `symbolWhenUnfocused` option is a symbol placed as a suffix when not in focus.\n * This is optional too.\n */\n symbolWhenUnfocused: {\n none : null,\n percentage: '%',\n permille : '‰',\n basisPoint: '‱',\n },\n\n /* Defines if the element value should be unformatted when the user hover his mouse over it while holding the `Alt` key.\n * Unformatting there means that this removes any non-number characters and displays the *raw* value, as understood by Javascript (ie. `12.34` is a valid number, while `12,34` is not).\n *\n * We reformat back before anything else if :\n * - the user focus on the element by tabbing or clicking into it,\n * - the user releases the `Alt` key, and\n * - if we detect a mouseleave event.\n *\n * We unformat again if :\n * - while the mouse is over the element, the user hit `Alt` again\n */\n unformatOnHover: {\n unformat : true,\n doNotUnformat: false, //TODO Rename to `keepFormat`\n },\n\n /* Removes the formatting and use the raw value in each autoNumeric elements of the parent form element, on the form `submit` event.\n * The output format is a numeric string (nnnn.nn or -nnnn.nn).\n */\n unformatOnSubmit: {\n unformat : true,\n keepCurrentValue: false,\n },\n\n /* Provides a way for automatically replacing the formatted value with a pre-defined string, when the raw value is equal to a specific value\n * Here you can specify as many 'conversion' as needed.\n */\n valuesToStrings: {\n none : null,\n zeroDash : {\n 0: '-',\n },\n oneAroundZero: {\n '-1': 'Min',\n 1 : 'Max',\n },\n },\n\n /* Defines if the AutoNumeric element should watch external changes made without using `.set()`, but by using the basic `aNElement.node().value = 42` notation.\n * If set to `watch`, then AutoNumeric will format the new value using `.set()` internally.\n * Otherwise it will neither format it, nor save it in the history.\n */\n watchExternalChanges: {\n watch : true,\n doNotWatch: false,\n },\n\n /* Defines when the wheel event will increment or decrement the element value.\n * When set to `'focus'`, the AutoNumeric-managed element needs to be focused for the wheel event to change the value.\n * When set to `'hover'`, using the wheel event while the mouse is hovering the element is sufficient (no focus needed).\n *\n * Note :\n * When `wheelOn` is set to `'focus'`, you can use the 'Shift' modifier key while using the mouse wheel in order to temporarily activate the increment/decrement feature even if the element is not focused.\n * When `wheelOn` is set to `'hover'`, you can use the 'Shift' modifier key while using the mouse wheel in order to temporarily disable the increment/decrement feature even if the element is not hovered.\n */\n wheelOn: {\n focus: 'focus',\n hover: 'hover',\n },\n\n /* That option is linked to the `modifyValueOnWheel` one and will only be used if the latter is set to `true`.\n * This option will modify the wheel behavior and can be used in two ways, either by setting :\n * - a 'fixed' step value (a positive float or integer number `1000`), or\n * - the `'progressive'` string.\n *\n * The 'fixed' mode always increment/decrement the element value by that amount, while respecting the `minimumValue` and `maximumValue` settings.\n * The 'progressive' mode will increment/decrement the element value based on its current value. The bigger the number, the bigger the step, and vice versa.\n */\n wheelStep: {\n progressive: 'progressive',\n },\n};\n\n/**\n * Simple function that will semi-deep freeze the `AutoNumeric.options` object.\n * By 'semi' it means the nested objects in the `styleRules` option are not frozen.\n * The ones in the `valuesToStrings` are though, since they are much more simple.\n *\n * @param {object} options\n * @returns {ReadonlyArray}\n */\nfunction freezeOptions(options) {\n // Freeze each property objects\n Object.getOwnPropertyNames(options).forEach(optionName => {\n if (optionName === 'valuesToStrings') {\n const vsProps = Object.getOwnPropertyNames(options.valuesToStrings);\n vsProps.forEach(valuesToStringObjectName => {\n if (!AutoNumericHelper.isIE11() && options.valuesToStrings[valuesToStringObjectName] !== null) {\n Object.freeze(options.valuesToStrings[valuesToStringObjectName]);\n }\n });\n } else if (optionName !== 'styleRules') {\n if (!AutoNumericHelper.isIE11() && options[optionName] !== null) {\n Object.freeze(options[optionName]);\n }\n }\n });\n\n // Then freeze the options object globally\n return Object.freeze(options);\n}\n\nfreezeOptions(AutoNumeric.options);\nObject.defineProperty(AutoNumeric, 'options', { configurable: false, writable: false });\n","/**\n * Default settings for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumeric from './AutoNumeric';\nimport AutoNumericOptions from './AutoNumericOptions';\n\n/* eslint no-unused-vars: 0 */\n\n/**\n * The defaults options.\n * These can be overridden by the following methods:\n * - HTML5 data attributes (ie. ``)\n * - Options passed to the `update` method (ie. `anElement.update({ currencySymbol: ' €' });`), or simply during the initialization (ie. `new AutoNumeric(domElement, { options });`)\n */\nAutoNumeric.defaultSettings = {\n allowDecimalPadding : AutoNumeric.options.allowDecimalPadding.always,\n alwaysAllowDecimalCharacter : AutoNumeric.options.alwaysAllowDecimalCharacter.doNotAllow,\n caretPositionOnFocus : AutoNumeric.options.caretPositionOnFocus.doNoForceCaretPosition,\n createLocalList : AutoNumeric.options.createLocalList.createList,\n currencySymbol : AutoNumeric.options.currencySymbol.none,\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n decimalCharacterAlternative : AutoNumeric.options.decimalCharacterAlternative.none,\n decimalPlaces : AutoNumeric.options.decimalPlaces.two,\n decimalPlacesRawValue : AutoNumeric.options.decimalPlacesRawValue.useDefault,\n decimalPlacesShownOnBlur : AutoNumeric.options.decimalPlacesShownOnBlur.useDefault,\n decimalPlacesShownOnFocus : AutoNumeric.options.decimalPlacesShownOnFocus.useDefault,\n defaultValueOverride : AutoNumeric.options.defaultValueOverride.doNotOverride,\n digitalGroupSpacing : AutoNumeric.options.digitalGroupSpacing.three,\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.comma,\n divisorWhenUnfocused : AutoNumeric.options.divisorWhenUnfocused.none,\n emptyInputBehavior : AutoNumeric.options.emptyInputBehavior.focus,\n eventBubbles : AutoNumeric.options.eventBubbles.bubbles,\n eventIsCancelable : AutoNumeric.options.eventIsCancelable.isCancelable,\n failOnUnknownOption : AutoNumeric.options.failOnUnknownOption.ignore,\n formatOnPageLoad : AutoNumeric.options.formatOnPageLoad.format,\n formulaMode : AutoNumeric.options.formulaMode.disabled,\n historySize : AutoNumeric.options.historySize.medium,\n invalidClass : AutoNumeric.options.invalidClass,\n isCancellable : AutoNumeric.options.isCancellable.cancellable,\n leadingZero : AutoNumeric.options.leadingZero.deny,\n maximumValue : AutoNumeric.options.maximumValue.tenTrillions,\n minimumValue : AutoNumeric.options.minimumValue.tenTrillions,\n modifyValueOnWheel : AutoNumeric.options.modifyValueOnWheel.modifyValue,\n negativeBracketsTypeOnBlur : AutoNumeric.options.negativeBracketsTypeOnBlur.none,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.none,\n negativeSignCharacter : AutoNumeric.options.negativeSignCharacter.hyphen,\n noEventListeners : AutoNumeric.options.noEventListeners.addEvents,\n //TODO Shouldn't we use `truncate` as the default value?\n onInvalidPaste : AutoNumeric.options.onInvalidPaste.error,\n outputFormat : AutoNumeric.options.outputFormat.none,\n overrideMinMaxLimits : AutoNumeric.options.overrideMinMaxLimits.doNotOverride,\n positiveSignCharacter : AutoNumeric.options.positiveSignCharacter.plus,\n rawValueDivisor : AutoNumeric.options.rawValueDivisor.none,\n readOnly : AutoNumeric.options.readOnly.readWrite,\n roundingMethod : AutoNumeric.options.roundingMethod.halfUpSymmetric,\n saveValueToSessionStorage : AutoNumeric.options.saveValueToSessionStorage.doNotSave,\n selectNumberOnly : AutoNumeric.options.selectNumberOnly.selectNumbersOnly,\n selectOnFocus : AutoNumeric.options.selectOnFocus.select,\n serializeSpaces : AutoNumeric.options.serializeSpaces.plus,\n showOnlyNumbersOnFocus : AutoNumeric.options.showOnlyNumbersOnFocus.showAll,\n showPositiveSign : AutoNumeric.options.showPositiveSign.hide,\n showWarnings : AutoNumeric.options.showWarnings.show,\n styleRules : AutoNumeric.options.styleRules.none,\n suffixText : AutoNumeric.options.suffixText.none,\n symbolWhenUnfocused : AutoNumeric.options.symbolWhenUnfocused.none,\n unformatOnHover : AutoNumeric.options.unformatOnHover.unformat,\n unformatOnSubmit : AutoNumeric.options.unformatOnSubmit.keepCurrentValue,\n valuesToStrings : AutoNumeric.options.valuesToStrings.none,\n watchExternalChanges : AutoNumeric.options.watchExternalChanges.doNotWatch,\n wheelOn : AutoNumeric.options.wheelOn.focus,\n wheelStep : AutoNumeric.options.wheelStep.progressive,\n};\n\nObject.freeze(AutoNumeric.defaultSettings);\nObject.defineProperty(AutoNumeric, 'defaultSettings', { configurable: false, writable: false });\n","/**\n * Pre-defined options for autoNumeric.js\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumeric from './AutoNumeric';\nimport AutoNumericHelper from './AutoNumericHelper';\n\nconst euro = { // Français\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.dot, // or '\\u202f'\n decimalCharacter : AutoNumeric.options.decimalCharacter.comma,\n decimalCharacterAlternative : AutoNumeric.options.decimalCharacterAlternative.dot,\n currencySymbol : '\\u202f€',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix,\n};\n\nconst dollar = {\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.comma,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.dollar,\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right,\n};\n\nconst japanese = { // 日本語\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.comma,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.yen,\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right,\n};\n\n\n// Here we need to clone the initial objects in order to be able to edit the clones without affecting the originals\nconst euroF = AutoNumericHelper.cloneObject(euro);\neuroF.formulaMode = AutoNumeric.options.formulaMode.enabled;\nconst euroPos = AutoNumericHelper.cloneObject(euro);\neuroPos.minimumValue = 0;\nconst euroNeg = AutoNumericHelper.cloneObject(euro);\neuroNeg.maximumValue = 0;\neuroNeg.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix;\n\nconst euroSpace = AutoNumericHelper.cloneObject(euro);\neuroSpace.digitGroupSeparator = AutoNumeric.options.digitGroupSeparator.normalSpace;\nconst euroSpacePos = AutoNumericHelper.cloneObject(euroSpace);\neuroSpacePos.minimumValue = 0;\nconst euroSpaceNeg = AutoNumericHelper.cloneObject(euroSpace);\neuroSpaceNeg.maximumValue = 0;\neuroSpaceNeg.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix;\n\nconst percentageEU2dec = AutoNumericHelper.cloneObject(euro);\npercentageEU2dec.currencySymbol = AutoNumeric.options.currencySymbol.none;\npercentageEU2dec.suffixText = `\\u202f${AutoNumeric.options.suffixText.percentage}`;\npercentageEU2dec.wheelStep = 0.0001; // This targets the `rawValue`, not the formatted one\npercentageEU2dec.rawValueDivisor = AutoNumeric.options.rawValueDivisor.percentage;\nconst percentageEU2decPos = AutoNumericHelper.cloneObject(percentageEU2dec);\npercentageEU2decPos.minimumValue = 0;\nconst percentageEU2decNeg = AutoNumericHelper.cloneObject(percentageEU2dec);\npercentageEU2decNeg.maximumValue = 0;\npercentageEU2decNeg.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix;\n\nconst percentageEU3dec = AutoNumericHelper.cloneObject(percentageEU2dec);\npercentageEU3dec.decimalPlaces = 3;\nconst percentageEU3decPos = AutoNumericHelper.cloneObject(percentageEU2decPos);\npercentageEU3decPos.decimalPlaces = 3;\nconst percentageEU3decNeg = AutoNumericHelper.cloneObject(percentageEU2decNeg);\npercentageEU3decNeg.decimalPlaces = 3;\n\nconst dollarF = AutoNumericHelper.cloneObject(dollar);\ndollarF.formulaMode = AutoNumeric.options.formulaMode.enabled;\nconst dollarPos = AutoNumericHelper.cloneObject(dollar);\ndollarPos.minimumValue = 0;\nconst dollarNeg = AutoNumericHelper.cloneObject(dollar);\ndollarNeg.maximumValue = 0;\ndollarNeg.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix;\nconst dollarNegBrackets = AutoNumericHelper.cloneObject(dollarNeg);\ndollarNegBrackets.negativeBracketsTypeOnBlur = AutoNumeric.options.negativeBracketsTypeOnBlur.parentheses;\n\nconst percentageUS2dec = AutoNumericHelper.cloneObject(dollar);\npercentageUS2dec.currencySymbol = AutoNumeric.options.currencySymbol.none;\npercentageUS2dec.suffixText = AutoNumeric.options.suffixText.percentage;\npercentageUS2dec.wheelStep = 0.0001;\npercentageUS2dec.rawValueDivisor = AutoNumeric.options.rawValueDivisor.percentage;\nconst percentageUS2decPos = AutoNumericHelper.cloneObject(percentageUS2dec);\npercentageUS2decPos.minimumValue = 0;\nconst percentageUS2decNeg = AutoNumericHelper.cloneObject(percentageUS2dec);\npercentageUS2decNeg.maximumValue = 0;\npercentageUS2decNeg.negativePositiveSignPlacement = AutoNumeric.options.negativePositiveSignPlacement.prefix;\n\nconst percentageUS3dec = AutoNumericHelper.cloneObject(percentageUS2dec);\npercentageUS3dec.decimalPlaces = 3;\nconst percentageUS3decPos = AutoNumericHelper.cloneObject(percentageUS2decPos);\npercentageUS3decPos.decimalPlaces = 3;\nconst percentageUS3decNeg = AutoNumericHelper.cloneObject(percentageUS2decNeg);\npercentageUS3decNeg.decimalPlaces = 3;\n\nconst turkish = AutoNumericHelper.cloneObject(euro);\nturkish.currencySymbol = AutoNumeric.options.currencySymbol.lira;\n\n/**\n * Predefined options for the most common languages\n */\nAutoNumeric.predefinedOptions = {\n euro,\n euroPos,\n euroNeg,\n euroSpace,\n euroSpacePos,\n euroSpaceNeg,\n percentageEU2dec,\n percentageEU2decPos,\n percentageEU2decNeg,\n percentageEU3dec,\n percentageEU3decPos,\n percentageEU3decNeg,\n dollar,\n dollarPos,\n dollarNeg,\n dollarNegBrackets,\n percentageUS2dec,\n percentageUS2decPos,\n percentageUS2decNeg,\n percentageUS3dec,\n percentageUS3decPos,\n percentageUS3decNeg,\n French : euro, // Français\n Spanish : euro, // Español\n NorthAmerican : dollar,\n British : {\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.comma,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.pound,\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right,\n },\n Swiss : { // Suisse\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.apostrophe,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : '\\u202fCHF',\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.suffix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.prefix,\n },\n Japanese : japanese, // 日本語\n Chinese : japanese, // 中国語 (Chinese)\n Brazilian : {\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.dot,\n decimalCharacter : AutoNumeric.options.decimalCharacter.comma,\n currencySymbol : AutoNumeric.options.currencySymbol.real,\n currencySymbolPlacement : AutoNumeric.options.currencySymbolPlacement.prefix,\n negativePositiveSignPlacement: AutoNumeric.options.negativePositiveSignPlacement.right,\n },\n Turkish : turkish,\n dotDecimalCharCommaSeparator: {\n digitGroupSeparator: AutoNumeric.options.digitGroupSeparator.comma,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n },\n commaDecimalCharDotSeparator: {\n digitGroupSeparator : AutoNumeric.options.digitGroupSeparator.dot,\n decimalCharacter : AutoNumeric.options.decimalCharacter.comma,\n decimalCharacterAlternative: AutoNumeric.options.decimalCharacterAlternative.dot,\n },\n integer : {\n decimalPlaces: 0,\n },\n integerPos : {\n minimumValue : AutoNumeric.options.minimumValue.zero,\n decimalPlaces: 0,\n },\n integerNeg : {\n maximumValue : AutoNumeric.options.maximumValue.zero,\n decimalPlaces: 0,\n },\n float : {\n allowDecimalPadding: AutoNumeric.options.allowDecimalPadding.never,\n },\n floatPos : {\n allowDecimalPadding: AutoNumeric.options.allowDecimalPadding.never,\n minimumValue : AutoNumeric.options.minimumValue.zero,\n maximumValue : AutoNumeric.options.maximumValue.tenTrillions,\n },\n floatNeg : {\n allowDecimalPadding: AutoNumeric.options.allowDecimalPadding.never,\n minimumValue : AutoNumeric.options.minimumValue.tenTrillions,\n maximumValue : AutoNumeric.options.maximumValue.zero,\n },\n numeric : {\n digitGroupSeparator: AutoNumeric.options.digitGroupSeparator.noSeparator,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.none,\n },\n numericPos : {\n digitGroupSeparator: AutoNumeric.options.digitGroupSeparator.noSeparator,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.none,\n minimumValue : AutoNumeric.options.minimumValue.zero,\n maximumValue : AutoNumeric.options.maximumValue.tenTrillions,\n },\n numericNeg : {\n digitGroupSeparator: AutoNumeric.options.digitGroupSeparator.noSeparator,\n decimalCharacter : AutoNumeric.options.decimalCharacter.dot,\n currencySymbol : AutoNumeric.options.currencySymbol.none,\n minimumValue : AutoNumeric.options.minimumValue.tenTrillions,\n maximumValue : AutoNumeric.options.maximumValue.zero,\n },\n};\n\nObject.getOwnPropertyNames(AutoNumeric.predefinedOptions).forEach(optionName => {\n Object.freeze(AutoNumeric.predefinedOptions[optionName]);\n});\nObject.freeze(AutoNumeric.predefinedOptions);\nObject.defineProperty(AutoNumeric, 'predefinedOptions', { configurable: false, writable: false });\n","/**\n * Babel + Webpack workaround for autoNumeric\n *\n * @author Alexandre Bonneau \n * @copyright © 2019 Alexandre Bonneau\n *\n * The MIT License (http://www.opensource.org/licenses/mit-license.php)\n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sub license, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport AutoNumeric from './AutoNumeric';\nimport AutoNumericEvents from './AutoNumericEvents';\nimport AutoNumericOptions from './AutoNumericOptions';\nimport AutoNumericDefaultSettings from './AutoNumericDefaultSettings';\nimport AutoNumericPredefinedOptions from './AutoNumericPredefinedOptions';\n\n/* eslint no-unused-vars: 0 */\n\n/**\n * This file serve as the main entry point to the library.\n *\n * This is needed since if the Webpack entrypoint is set to `./src/AutoNumeric.js`, then the AutoNumericEvents, AutoNumericOptions, AutoNumericDefaultSettings and AutoNumericPredefinedOptions files are not included in the bundle and therefore cannot be used.\n *\n * @type {AutoNumeric}\n */\nexport default AutoNumeric;\n","import Vue from 'vue'\r\nimport AutoNumeric from 'autonumeric/src/main'\r\nimport { assign } from 'lodash'\r\n\r\nconst defaults = {\r\n digitGroupSeparator: '',\r\n decimalPlaces: 0,\r\n selectOnFocus: false,\r\n unformatOnHover: false,\r\n unformatOnSubmit: false,\r\n watchExternalChanges: true,\r\n}\r\n\r\nVue.directive('numericFormatting', {\r\n bind: (el, binding, vnode) => {\r\n const settings = assign(defaults, binding.value)\r\n vnode.context.autoNumericElement = new AutoNumeric(el, settings)\r\n el.addEventListener('autoNumeric:rawValueModified', (e) => {\r\n e.target.setAttribute('numeric-string', AutoNumeric.getNumericString(e.target))\r\n })\r\n },\r\n})\r\n","import Vue from 'vue'\r\n\r\nVue.directive('linkToRoute', {\r\n bind: (el, _, vnode) => {\r\n el.addEventListener('click', event => {\r\n // ensure we use the link, in case the click has been received by a subelement\r\n let { target } = event\r\n while (target && target.tagName !== 'A') target = target.parentNode\r\n // handle only links that do not reference external resources\r\n if (target && target.matches('a:not([href*=\\'://\\'])') && target.href) {\r\n // some sanity checks taken from vue-router:\r\n // https://github.com/vuejs/vue-router/blob/dev/src/components/link.js#L106\r\n const { altKey, ctrlKey, metaKey, shiftKey, button, defaultPrevented } = event\r\n // don't handle with control keys\r\n if (metaKey || altKey || ctrlKey || shiftKey) return\r\n // don't handle when preventDefault called\r\n if (defaultPrevented) return\r\n // don't handle right clicks\r\n if (button !== undefined && button !== 0) return\r\n // don't handle if `target=\"_blank\"`\r\n if (target && target.getAttribute) {\r\n const linkTarget = target.getAttribute('target')\r\n if (/\\b_blank\\b/i.test(linkTarget)) return\r\n }\r\n // don't handle same page links/anchors\r\n const url = new URL(target.href)\r\n const to = url.pathname\r\n\r\n if (url.protocol !== 'mailto:' && url.protocol !== 'tel:') {\r\n if (window.location.pathname !== to && event.preventDefault) {\r\n event.preventDefault()\r\n\r\n // do not go into interview from take new page\r\n if (vnode.context.$store.getters.isTakeNewAssignment === true || to.includes('void(0)'))\r\n return\r\n\r\n var toPath = vnode.context.$router.options.base == '/'\r\n ? to\r\n : to.replace(vnode.context.$router.options.base, '')\r\n vnode.context.$router.push({ path: toPath })\r\n }\r\n }\r\n }\r\n })\r\n },\r\n})","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticStyle:{\"display\":\"none\"},attrs:{\"lastActivity\":_vm.lastActivity}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdleTimeout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IdleTimeout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IdleTimeout.vue?vue&type=template&id=2f9147a1&\"\nimport script from \"./IdleTimeout.vue?vue&type=script&lang=js&\"\nexport * from \"./IdleTimeout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './components'\r\nimport './components/questions'\r\nimport './components/questions/parts'\r\nimport './directives'\r\n\r\nimport 'jquery-mask-plugin'\r\nimport './misc/htmlPoly.js'\r\n\r\nimport Vue from 'vue'\r\nimport Idle from './IdleTimeout'\r\n\r\nVue.component('IdleTimeoutService', Idle)\r\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","/*! Moment Duration Format v2.2.2\n * https://github.com/jsmreese/moment-duration-format\n * Date: 2018-02-16\n *\n * Duration format plugin function for the Moment.js library\n * http://momentjs.com/\n *\n * Copyright 2018 John Madhavan-Reese\n * Released under the MIT license\n */\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['moment'], factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but only CommonJS-like\n // enviroments that support module.exports, like Node.\n try {\n module.exports = factory(require('moment'));\n } catch (e) {\n // If moment is not available, leave the setup up to the user.\n // Like when using moment-timezone or similar moment-based package.\n module.exports = factory;\n }\n }\n\n if (root) {\n // Globals.\n root.momentDurationFormatSetup = root.moment ? factory(root.moment) : factory;\n }\n})(this, function (moment) {\n // `Number#tolocaleString` is tested on plugin initialization.\n // If the feature test passes, `toLocaleStringWorks` will be set to `true` and the\n // native function will be used to generate formatted output. If the feature\n // test fails, the fallback format function internal to this plugin will be\n // used.\n var toLocaleStringWorks = false;\n\n // `Number#toLocaleString` rounds incorrectly for select numbers in Microsoft\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\n // If the rounding test fails and `toLocaleString` will be used for formatting,\n // the plugin will \"pre-round\" number values using the fallback number format\n // function before passing them to `toLocaleString` for final formatting.\n var toLocaleStringRoundingWorks = false;\n\n // `Intl.NumberFormat#format` is tested on plugin initialization.\n // If the feature test passes, `intlNumberFormatRoundingWorks` will be set to\n // `true` and the native function will be used to generate formatted output.\n // If the feature test fails, either `Number#tolocaleString` (if\n // `toLocaleStringWorks` is `true`), or the fallback format function internal\n // to this plugin will be used.\n var intlNumberFormatWorks = false;\n\n // `Intl.NumberFormat#format` rounds incorrectly for select numbers in Microsoft\n // environments (Edge, IE11, Windows Phone) and possibly other environments.\n // If the rounding test fails and `Intl.NumberFormat#format` will be used for\n // formatting, the plugin will \"pre-round\" number values using the fallback number\n // format function before passing them to `Intl.NumberFormat#format` for final\n // formatting.\n var intlNumberFormatRoundingWorks = false;\n\n // Token type names in order of descending magnitude.\n var types = \"escape years months weeks days hours minutes seconds milliseconds general\".split(\" \");\n\n var bubbles = [\n {\n type: \"seconds\",\n targets: [\n { type: \"minutes\", value: 60 },\n { type: \"hours\", value: 3600 },\n { type: \"days\", value: 86400 },\n { type: \"weeks\", value: 604800 },\n { type: \"months\", value: 2678400 },\n { type: \"years\", value: 31536000 }\n ]\n },\n {\n type: \"minutes\",\n targets: [\n { type: \"hours\", value: 60 },\n { type: \"days\", value: 1440 },\n { type: \"weeks\", value: 10080 },\n { type: \"months\", value: 44640 },\n { type: \"years\", value: 525600 }\n ]\n },\n {\n type: \"hours\",\n targets: [\n { type: \"days\", value: 24 },\n { type: \"weeks\", value: 168 },\n { type: \"months\", value: 744 },\n { type: \"years\", value: 8760 }\n ]\n },\n {\n type: \"days\",\n targets: [\n { type: \"weeks\", value: 7 },\n { type: \"months\", value: 31 },\n { type: \"years\", value: 365 }\n ]\n },\n {\n type: \"months\",\n targets: [\n { type: \"years\", value: 12 }\n ]\n }\n ];\n\n // stringIncludes\n function stringIncludes(str, search) {\n if (search.length > str.length) {\n return false;\n }\n\n return str.indexOf(search) !== -1;\n }\n\n // repeatZero(qty)\n // Returns \"0\" repeated `qty` times.\n // `qty` must be a integer >= 0.\n function repeatZero(qty) {\n var result = \"\";\n\n while (qty) {\n result += \"0\";\n qty -= 1;\n }\n\n return result;\n }\n\n function stringRound(digits) {\n var digitsArray = digits.split(\"\").reverse();\n var i = 0;\n var carry = true;\n\n while (carry && i < digitsArray.length) {\n if (i) {\n if (digitsArray[i] === \"9\") {\n digitsArray[i] = \"0\";\n } else {\n digitsArray[i] = (parseInt(digitsArray[i], 10) + 1).toString();\n carry = false;\n }\n } else {\n if (parseInt(digitsArray[i], 10) < 5) {\n carry = false;\n }\n\n digitsArray[i] = \"0\";\n }\n\n i += 1;\n }\n\n if (carry) {\n digitsArray.push(\"1\");\n }\n\n return digitsArray.reverse().join(\"\");\n }\n\n // cachedNumberFormat\n // Returns an `Intl.NumberFormat` instance for the given locale and configuration.\n // On first use of a particular configuration, the instance is cached for fast\n // repeat access.\n function cachedNumberFormat(locale, options) {\n // Create a sorted, stringified version of `options`\n // for use as part of the cache key\n var optionsString = map(\n keys(options).sort(),\n function(key) {\n return key + ':' + options[key];\n }\n ).join(',');\n\n // Set our cache key\n var cacheKey = locale + '+' + optionsString;\n\n // If we don't have this configuration cached, configure and cache it\n if (!cachedNumberFormat.cache[cacheKey]) {\n cachedNumberFormat.cache[cacheKey] = Intl.NumberFormat(locale, options);\n }\n\n // Return the cached version of this configuration\n return cachedNumberFormat.cache[cacheKey];\n }\n cachedNumberFormat.cache = {};\n\n // formatNumber\n // Formats any number greater than or equal to zero using these options:\n // - userLocale\n // - useToLocaleString\n // - useGrouping\n // - grouping\n // - maximumSignificantDigits\n // - minimumIntegerDigits\n // - fractionDigits\n // - groupingSeparator\n // - decimalSeparator\n //\n // `useToLocaleString` will use `Intl.NumberFormat` or `toLocaleString` for formatting.\n // `userLocale` option is passed through to the formatting function.\n // `fractionDigits` is passed through to `maximumFractionDigits` and `minimumFractionDigits`\n // Using `maximumSignificantDigits` will override `minimumIntegerDigits` and `fractionDigits`.\n function formatNumber(number, options, userLocale) {\n var useToLocaleString = options.useToLocaleString;\n var useGrouping = options.useGrouping;\n var grouping = useGrouping && options.grouping.slice();\n var maximumSignificantDigits = options.maximumSignificantDigits;\n var minimumIntegerDigits = options.minimumIntegerDigits || 1;\n var fractionDigits = options.fractionDigits || 0;\n var groupingSeparator = options.groupingSeparator;\n var decimalSeparator = options.decimalSeparator;\n\n if (useToLocaleString && userLocale) {\n var localeStringOptions = {\n minimumIntegerDigits: minimumIntegerDigits,\n useGrouping: useGrouping\n };\n\n if (fractionDigits) {\n localeStringOptions.maximumFractionDigits = fractionDigits;\n localeStringOptions.minimumFractionDigits = fractionDigits;\n }\n\n // toLocaleString output is \"0.0\" instead of \"0\" for HTC browsers\n // when maximumSignificantDigits is set. See #96.\n if (maximumSignificantDigits && number > 0) {\n localeStringOptions.maximumSignificantDigits = maximumSignificantDigits;\n }\n\n if (intlNumberFormatWorks) {\n if (!intlNumberFormatRoundingWorks) {\n var roundingOptions = extend({}, options);\n roundingOptions.useGrouping = false;\n roundingOptions.decimalSeparator = \".\";\n number = parseFloat(formatNumber(number, roundingOptions), 10);\n }\n\n return cachedNumberFormat(userLocale, localeStringOptions).format(number);\n } else {\n if (!toLocaleStringRoundingWorks) {\n var roundingOptions = extend({}, options);\n roundingOptions.useGrouping = false;\n roundingOptions.decimalSeparator = \".\";\n number = parseFloat(formatNumber(number, roundingOptions), 10);\n }\n\n return number.toLocaleString(userLocale, localeStringOptions);\n }\n }\n\n var numberString;\n\n // Add 1 to digit output length for floating point errors workaround. See below.\n if (maximumSignificantDigits) {\n numberString = number.toPrecision(maximumSignificantDigits + 1);\n } else {\n numberString = number.toFixed(fractionDigits + 1);\n }\n\n var integerString;\n var fractionString;\n var exponentString;\n\n var temp = numberString.split(\"e\");\n\n exponentString = temp[1] || \"\";\n\n temp = temp[0].split(\".\");\n\n fractionString = temp[1] || \"\";\n integerString = temp[0] || \"\";\n\n // Workaround for floating point errors in `toFixed` and `toPrecision`.\n // (3.55).toFixed(1); --> \"3.5\"\n // (123.55 - 120).toPrecision(2); --> \"3.5\"\n // (123.55 - 120); --> 3.549999999999997\n // (123.55 - 120).toFixed(2); --> \"3.55\"\n // Round by examing the string output of the next digit.\n\n // *************** Implement String Rounding here ***********************\n // Check integerString + fractionString length of toPrecision before rounding.\n // Check length of fractionString from toFixed output before rounding.\n var integerLength = integerString.length;\n var fractionLength = fractionString.length;\n var digitCount = integerLength + fractionLength;\n var digits = integerString + fractionString;\n\n if (maximumSignificantDigits && digitCount === (maximumSignificantDigits + 1) || !maximumSignificantDigits && fractionLength === (fractionDigits + 1)) {\n // Round digits.\n digits = stringRound(digits);\n\n if (digits.length === digitCount + 1) {\n integerLength = integerLength + 1;\n }\n\n // Discard final fractionDigit.\n if (fractionLength) {\n digits = digits.slice(0, -1);\n }\n\n // Separate integer and fraction.\n integerString = digits.slice(0, integerLength);\n fractionString = digits.slice(integerLength);\n }\n\n // Trim trailing zeroes from fractionString because toPrecision outputs\n // precision, not significant digits.\n if (maximumSignificantDigits) {\n fractionString = fractionString.replace(/0*$/, \"\");\n }\n\n // Handle exponent.\n var exponent = parseInt(exponentString, 10);\n\n if (exponent > 0) {\n if (fractionString.length <= exponent) {\n fractionString = fractionString + repeatZero(exponent - fractionString.length);\n\n integerString = integerString + fractionString;\n fractionString = \"\";\n } else {\n integerString = integerString + fractionString.slice(0, exponent);\n fractionString = fractionString.slice(exponent);\n }\n } else if (exponent < 0) {\n fractionString = (repeatZero(Math.abs(exponent) - integerString.length) + integerString + fractionString);\n\n integerString = \"0\";\n }\n\n if (!maximumSignificantDigits) {\n // Trim or pad fraction when not using maximumSignificantDigits.\n fractionString = fractionString.slice(0, fractionDigits);\n\n if (fractionString.length < fractionDigits) {\n fractionString = fractionString + repeatZero(fractionDigits - fractionString.length);\n }\n\n // Pad integer when using minimumIntegerDigits\n // and not using maximumSignificantDigits.\n if (integerString.length < minimumIntegerDigits) {\n integerString = repeatZero(minimumIntegerDigits - integerString.length) + integerString;\n }\n }\n\n var formattedString = \"\";\n\n // Handle grouping.\n if (useGrouping) {\n temp = integerString;\n var group;\n\n while (temp.length) {\n if (grouping.length) {\n group = grouping.shift();\n }\n\n if (formattedString) {\n formattedString = groupingSeparator + formattedString;\n }\n\n formattedString = temp.slice(-group) + formattedString;\n\n temp = temp.slice(0, -group);\n }\n } else {\n formattedString = integerString;\n }\n\n // Add decimalSeparator and fraction.\n if (fractionString) {\n formattedString = formattedString + decimalSeparator + fractionString;\n }\n\n return formattedString;\n }\n\n // durationLabelCompare\n function durationLabelCompare(a, b) {\n if (a.label.length > b.label.length) {\n return -1;\n }\n\n if (a.label.length < b.label.length) {\n return 1;\n }\n\n // a must be equal to b\n return 0;\n }\n\n // durationGetLabels\n function durationGetLabels(token, localeData) {\n var labels = [];\n\n each(keys(localeData), function (localeDataKey) {\n if (localeDataKey.slice(0, 15) !== \"_durationLabels\") {\n return;\n }\n\n var labelType = localeDataKey.slice(15).toLowerCase();\n\n each(keys(localeData[localeDataKey]), function (labelKey) {\n if (labelKey.slice(0, 1) === token) {\n labels.push({\n type: labelType,\n key: labelKey,\n label: localeData[localeDataKey][labelKey]\n });\n }\n });\n });\n\n return labels;\n }\n\n // durationPluralKey\n function durationPluralKey(token, integerValue, decimalValue) {\n // Singular for a value of `1`, but not for `1.0`.\n if (integerValue === 1 && decimalValue === null) {\n return token;\n }\n\n return token + token;\n }\n\n var engLocale = {\n durationLabelsStandard: {\n S: 'millisecond',\n SS: 'milliseconds',\n s: 'second',\n ss: 'seconds',\n m: 'minute',\n mm: 'minutes',\n h: 'hour',\n hh: 'hours',\n d: 'day',\n dd: 'days',\n w: 'week',\n ww: 'weeks',\n M: 'month',\n MM: 'months',\n y: 'year',\n yy: 'years'\n },\n durationLabelsShort: {\n S: 'msec',\n SS: 'msecs',\n s: 'sec',\n ss: 'secs',\n m: 'min',\n mm: 'mins',\n h: 'hr',\n hh: 'hrs',\n d: 'dy',\n dd: 'dys',\n w: 'wk',\n ww: 'wks',\n M: 'mo',\n MM: 'mos',\n y: 'yr',\n yy: 'yrs'\n },\n durationTimeTemplates: {\n HMS: 'h:mm:ss',\n HM: 'h:mm',\n MS: 'm:ss'\n },\n durationLabelTypes: [\n { type: \"standard\", string: \"__\" },\n { type: \"short\", string: \"_\" }\n ],\n durationPluralKey: durationPluralKey\n };\n\n // isArray\n function isArray(array) {\n return Object.prototype.toString.call(array) === \"[object Array]\";\n }\n\n // isObject\n function isObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n\n // findLast\n function findLast(array, callback) {\n var index = array.length;\n\n while (index -= 1) {\n if (callback(array[index])) { return array[index]; }\n }\n }\n\n // find\n function find(array, callback) {\n var index = 0;\n\n var max = array && array.length || 0;\n\n var match;\n\n if (typeof callback !== \"function\") {\n match = callback;\n callback = function (item) {\n return item === match;\n };\n }\n\n while (index < max) {\n if (callback(array[index])) { return array[index]; }\n index += 1;\n }\n }\n\n // each\n function each(array, callback) {\n var index = 0,\n max = array.length;\n\n if (!array || !max) { return; }\n\n while (index < max) {\n if (callback(array[index], index) === false) { return; }\n index += 1;\n }\n }\n\n // map\n function map(array, callback) {\n var index = 0,\n max = array.length,\n ret = [];\n\n if (!array || !max) { return ret; }\n\n while (index < max) {\n ret[index] = callback(array[index], index);\n index += 1;\n }\n\n return ret;\n }\n\n // pluck\n function pluck(array, prop) {\n return map(array, function (item) {\n return item[prop];\n });\n }\n\n // compact\n function compact(array) {\n var ret = [];\n\n each(array, function (item) {\n if (item) { ret.push(item); }\n });\n\n return ret;\n }\n\n // unique\n function unique(array) {\n var ret = [];\n\n each(array, function (_a) {\n if (!find(ret, _a)) { ret.push(_a); }\n });\n\n return ret;\n }\n\n // intersection\n function intersection(a, b) {\n var ret = [];\n\n each(a, function (_a) {\n each(b, function (_b) {\n if (_a === _b) { ret.push(_a); }\n });\n });\n\n return unique(ret);\n }\n\n // rest\n function rest(array, callback) {\n var ret = [];\n\n each(array, function (item, index) {\n if (!callback(item)) {\n ret = array.slice(index);\n return false;\n }\n });\n\n return ret;\n }\n\n // initial\n function initial(array, callback) {\n var reversed = array.slice().reverse();\n\n return rest(reversed, callback).reverse();\n }\n\n // extend\n function extend(a, b) {\n for (var key in b) {\n if (b.hasOwnProperty(key)) { a[key] = b[key]; }\n }\n\n return a;\n }\n\n // keys\n function keys(a) {\n var ret = [];\n\n for (var key in a) {\n if (a.hasOwnProperty(key)) { ret.push(key); }\n }\n\n return ret;\n }\n\n // any\n function any(array, callback) {\n var index = 0,\n max = array.length;\n\n if (!array || !max) { return false; }\n\n while (index < max) {\n if (callback(array[index], index) === true) { return true; }\n index += 1;\n }\n\n return false;\n }\n\n // flatten\n function flatten(array) {\n var ret = [];\n\n each(array, function(child) {\n ret = ret.concat(child);\n });\n\n return ret;\n }\n\n function toLocaleStringSupportsLocales() {\n var number = 0;\n try {\n number.toLocaleString('i');\n } catch (e) {\n return e.name === 'RangeError';\n }\n return false;\n }\n\n function featureTestFormatterRounding(formatter) {\n return formatter(3.55, \"en\", {\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n }) === \"3.6\";\n }\n\n function featureTestFormatter(formatter) {\n var passed = true;\n\n // Test minimumIntegerDigits.\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 1 }) === \"1\";\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 2 }) === \"01\";\n passed = passed && formatter(1, \"en\", { minimumIntegerDigits: 3 }) === \"001\";\n if (!passed) { return false; }\n\n // Test maximumFractionDigits and minimumFractionDigits.\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 0, minimumFractionDigits: 0 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 1, minimumFractionDigits: 1 }) === \"100.0\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 2, minimumFractionDigits: 2 }) === \"99.99\";\n passed = passed && formatter(99.99, \"en\", { maximumFractionDigits: 3, minimumFractionDigits: 3 }) === \"99.990\";\n if (!passed) { return false; }\n\n // Test maximumSignificantDigits.\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 1 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 2 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 3 }) === \"100\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 4 }) === \"99.99\";\n passed = passed && formatter(99.99, \"en\", { maximumSignificantDigits: 5 }) === \"99.99\";\n if (!passed) { return false; }\n\n // Test grouping.\n passed = passed && formatter(1000, \"en\", { useGrouping: true }) === \"1,000\";\n passed = passed && formatter(1000, \"en\", { useGrouping: false }) === \"1000\";\n if (!passed) { return false; }\n\n return true;\n }\n\n // durationsFormat(durations [, template] [, precision] [, settings])\n function durationsFormat() {\n var args = [].slice.call(arguments);\n var settings = {};\n var durations;\n\n // Parse arguments.\n each(args, function (arg, index) {\n if (!index) {\n if (!isArray(arg)) {\n throw \"Expected array as the first argument to durationsFormat.\";\n }\n\n durations = arg;\n }\n\n if (typeof arg === \"string\" || typeof arg === \"function\") {\n settings.template = arg;\n return;\n }\n\n if (typeof arg === \"number\") {\n settings.precision = arg;\n return;\n }\n\n if (isObject(arg)) {\n extend(settings, arg);\n }\n });\n\n if (!durations || !durations.length) {\n return [];\n }\n\n settings.returnMomentTypes = true;\n\n var formattedDurations = map(durations, function (dur) {\n return dur.format(settings);\n });\n\n // Merge token types from all durations.\n var outputTypes = intersection(types, unique(pluck(flatten(formattedDurations), \"type\")));\n\n var largest = settings.largest;\n\n if (largest) {\n outputTypes = outputTypes.slice(0, largest);\n }\n\n settings.returnMomentTypes = false;\n settings.outputTypes = outputTypes;\n\n return map(durations, function (dur) {\n return dur.format(settings);\n });\n }\n\n // durationFormat([template] [, precision] [, settings])\n function durationFormat() {\n\n var args = [].slice.call(arguments);\n var settings = extend({}, this.format.defaults);\n\n // Keep a shadow copy of this moment for calculating remainders.\n // Perform all calculations on positive duration value, handle negative\n // sign at the very end.\n var asMilliseconds = this.asMilliseconds();\n var asMonths = this.asMonths();\n\n // Treat invalid durations as having a value of 0 milliseconds.\n if (typeof this.isValid === \"function\" && this.isValid() === false) {\n asMilliseconds = 0;\n asMonths = 0;\n }\n\n var isNegative = asMilliseconds < 0;\n\n // Two shadow copies are needed because of the way moment.js handles\n // duration arithmetic for years/months and for weeks/days/hours/minutes/seconds.\n var remainder = moment.duration(Math.abs(asMilliseconds), \"milliseconds\");\n var remainderMonths = moment.duration(Math.abs(asMonths), \"months\");\n\n // Parse arguments.\n each(args, function (arg) {\n if (typeof arg === \"string\" || typeof arg === \"function\") {\n settings.template = arg;\n return;\n }\n\n if (typeof arg === \"number\") {\n settings.precision = arg;\n return;\n }\n\n if (isObject(arg)) {\n extend(settings, arg);\n }\n });\n\n var momentTokens = {\n years: \"y\",\n months: \"M\",\n weeks: \"w\",\n days: \"d\",\n hours: \"h\",\n minutes: \"m\",\n seconds: \"s\",\n milliseconds: \"S\"\n };\n\n var tokenDefs = {\n escape: /\\[(.+?)\\]/,\n years: /\\*?[Yy]+/,\n months: /\\*?M+/,\n weeks: /\\*?[Ww]+/,\n days: /\\*?[Dd]+/,\n hours: /\\*?[Hh]+/,\n minutes: /\\*?m+/,\n seconds: /\\*?s+/,\n milliseconds: /\\*?S+/,\n general: /.+?/\n };\n\n // Types array is available in the template function.\n settings.types = types;\n\n var typeMap = function (token) {\n return find(types, function (type) {\n return tokenDefs[type].test(token);\n });\n };\n\n var tokenizer = new RegExp(map(types, function (type) {\n return tokenDefs[type].source;\n }).join(\"|\"), \"g\");\n\n // Current duration object is available in the template function.\n settings.duration = this;\n\n // Eval template function and cache template string.\n var template = typeof settings.template === \"function\" ? settings.template.apply(settings) : settings.template;\n\n // outputTypes and returnMomentTypes are settings to support durationsFormat().\n\n // outputTypes is an array of moment token types that determines\n // the tokens returned in formatted output. This option overrides\n // trim, largest, stopTrim, etc.\n var outputTypes = settings.outputTypes;\n\n // returnMomentTypes is a boolean that sets durationFormat to return\n // the processed momentTypes instead of formatted output.\n var returnMomentTypes = settings.returnMomentTypes;\n\n var largest = settings.largest;\n\n // Setup stopTrim array of token types.\n var stopTrim = [];\n\n if (!outputTypes) {\n if (isArray(settings.stopTrim)) {\n settings.stopTrim = settings.stopTrim.join(\"\");\n }\n\n // Parse stopTrim string to create token types array.\n if (settings.stopTrim) {\n each(settings.stopTrim.match(tokenizer), function (token) {\n var type = typeMap(token);\n\n if (type === \"escape\" || type === \"general\") {\n return;\n }\n\n stopTrim.push(type);\n });\n }\n }\n\n // Cache moment's locale data.\n var localeData = moment.localeData();\n\n if (!localeData) {\n localeData = {};\n }\n\n // Fall back to this plugin's `eng` extension.\n each(keys(engLocale), function (key) {\n if (typeof engLocale[key] === \"function\") {\n if (!localeData[key]) {\n localeData[key] = engLocale[key];\n }\n\n return;\n }\n\n if (!localeData[\"_\" + key]) {\n localeData[\"_\" + key] = engLocale[key];\n }\n });\n\n // Replace Duration Time Template strings.\n // For locale `eng`: `_HMS_`, `_HM_`, and `_MS_`.\n each(keys(localeData._durationTimeTemplates), function (item) {\n template = template.replace(\"_\" + item + \"_\", localeData._durationTimeTemplates[item]);\n });\n\n // Determine user's locale.\n var userLocale = settings.userLocale || moment.locale();\n\n var useLeftUnits = settings.useLeftUnits;\n var usePlural = settings.usePlural;\n var precision = settings.precision;\n var forceLength = settings.forceLength;\n var useGrouping = settings.useGrouping;\n var trunc = settings.trunc;\n\n // Use significant digits only when precision is greater than 0.\n var useSignificantDigits = settings.useSignificantDigits && precision > 0;\n var significantDigits = useSignificantDigits ? settings.precision : 0;\n var significantDigitsCache = significantDigits;\n\n var minValue = settings.minValue;\n var isMinValue = false;\n\n var maxValue = settings.maxValue;\n var isMaxValue = false;\n\n // formatNumber fallback options.\n var useToLocaleString = settings.useToLocaleString;\n var groupingSeparator = settings.groupingSeparator;\n var decimalSeparator = settings.decimalSeparator;\n var grouping = settings.grouping;\n\n useToLocaleString = useToLocaleString && (toLocaleStringWorks || intlNumberFormatWorks);\n\n // Trim options.\n var trim = settings.trim;\n\n if (isArray(trim)) {\n trim = trim.join(\" \");\n }\n\n if (trim === null && (largest || maxValue || useSignificantDigits)) {\n trim = \"all\";\n }\n\n if (trim === null || trim === true || trim === \"left\" || trim === \"right\") {\n trim = \"large\";\n }\n\n if (trim === false) {\n trim = \"\";\n }\n\n var trimIncludes = function (item) {\n return item.test(trim);\n };\n\n var rLarge = /large/;\n var rSmall = /small/;\n var rBoth = /both/;\n var rMid = /mid/;\n var rAll = /^all|[^sm]all/;\n var rFinal = /final/;\n\n var trimLarge = largest > 0 || any([rLarge, rBoth, rAll], trimIncludes);\n var trimSmall = any([rSmall, rBoth, rAll], trimIncludes);\n var trimMid = any([rMid, rAll], trimIncludes);\n var trimFinal = any([rFinal, rAll], trimIncludes);\n\n // Parse format string to create raw tokens array.\n var rawTokens = map(template.match(tokenizer), function (token, index) {\n var type = typeMap(token);\n\n if (token.slice(0, 1) === \"*\") {\n token = token.slice(1);\n\n if (type !== \"escape\" && type !== \"general\") {\n stopTrim.push(type);\n }\n }\n\n return {\n index: index,\n length: token.length,\n text: \"\",\n\n // Replace escaped tokens with the non-escaped token text.\n token: (type === \"escape\" ? token.replace(tokenDefs.escape, \"$1\") : token),\n\n // Ignore type on non-moment tokens.\n type: ((type === \"escape\" || type === \"general\") ? null : type)\n };\n });\n\n // Associate text tokens with moment tokens.\n var currentToken = {\n index: 0,\n length: 0,\n token: \"\",\n text: \"\",\n type: null\n };\n\n var tokens = [];\n\n if (useLeftUnits) {\n rawTokens.reverse();\n }\n\n each(rawTokens, function (token) {\n if (token.type) {\n if (currentToken.type || currentToken.text) {\n tokens.push(currentToken);\n }\n\n currentToken = token;\n\n return;\n }\n\n if (useLeftUnits) {\n currentToken.text = token.token + currentToken.text;\n } else {\n currentToken.text += token.token;\n }\n });\n\n if (currentToken.type || currentToken.text) {\n tokens.push(currentToken);\n }\n\n if (useLeftUnits) {\n tokens.reverse();\n }\n\n // Find unique moment token types in the template in order of\n // descending magnitude.\n var momentTypes = intersection(types, unique(compact(pluck(tokens, \"type\"))));\n\n // Exit early if there are no moment token types.\n if (!momentTypes.length) {\n return pluck(tokens, \"text\").join(\"\");\n }\n\n // Calculate values for each moment type in the template.\n // For processing the settings, values are associated with moment types.\n // Values will be assigned to tokens at the last step in order to\n // assume nothing about frequency or order of tokens in the template.\n momentTypes = map(momentTypes, function (momentType, index) {\n // Is this the least-magnitude moment token found?\n var isSmallest = ((index + 1) === momentTypes.length);\n\n // Is this the greatest-magnitude moment token found?\n var isLargest = (!index);\n\n // Get the raw value in the current units.\n var rawValue;\n\n if (momentType === \"years\" || momentType === \"months\") {\n rawValue = remainderMonths.as(momentType);\n } else {\n rawValue = remainder.as(momentType);\n }\n\n var wholeValue = Math.floor(rawValue);\n var decimalValue = rawValue - wholeValue;\n\n var token = find(tokens, function (token) {\n return momentType === token.type;\n });\n\n if (isLargest && maxValue && rawValue > maxValue) {\n isMaxValue = true;\n }\n\n if (isSmallest && minValue && Math.abs(settings.duration.as(momentType)) < minValue) {\n isMinValue = true;\n }\n\n // Note the length of the largest-magnitude moment token:\n // if it is greater than one and forceLength is not set,\n // then default forceLength to `true`.\n //\n // Rationale is this: If the template is \"h:mm:ss\" and the\n // moment value is 5 minutes, the user-friendly output is\n // \"5:00\", not \"05:00\". We shouldn't pad the `minutes` token\n // even though it has length of two if the template is \"h:mm:ss\";\n //\n // If the minutes output should always include the leading zero\n // even when the hour is trimmed then set `{ forceLength: true }`\n // to output \"05:00\". If the template is \"hh:mm:ss\", the user\n // clearly wanted everything padded so we should output \"05:00\";\n //\n // If the user wants the full padded output, they can use\n // template \"hh:mm:ss\" and set `{ trim: false }` to output\n // \"00:05:00\".\n if (isLargest && forceLength === null && token.length > 1) {\n forceLength = true;\n }\n\n // Update remainder.\n remainder.subtract(wholeValue, momentType);\n remainderMonths.subtract(wholeValue, momentType);\n\n return {\n rawValue: rawValue,\n wholeValue: wholeValue,\n // Decimal value is only retained for the least-magnitude\n // moment type in the format template.\n decimalValue: isSmallest ? decimalValue : 0,\n isSmallest: isSmallest,\n isLargest: isLargest,\n type: momentType,\n // Tokens can appear multiple times in a template string,\n // but all instances must share the same length.\n tokenLength: token.length\n };\n });\n\n var truncMethod = trunc ? Math.floor : Math.round;\n var truncate = function (value, places) {\n var factor = Math.pow(10, places);\n return truncMethod(value * factor) / factor;\n };\n\n var foundFirst = false;\n var bubbled = false;\n\n var formatValue = function (momentType, index) {\n var formatOptions = {\n useGrouping: useGrouping,\n groupingSeparator: groupingSeparator,\n decimalSeparator: decimalSeparator,\n grouping: grouping,\n useToLocaleString: useToLocaleString\n };\n\n if (useSignificantDigits) {\n if (significantDigits <= 0) {\n momentType.rawValue = 0;\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n } else {\n formatOptions.maximumSignificantDigits = significantDigits;\n momentType.significantDigits = significantDigits;\n }\n }\n\n if (isMaxValue && !bubbled) {\n if (momentType.isLargest) {\n momentType.wholeValue = maxValue;\n momentType.decimalValue = 0;\n } else {\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n }\n }\n\n if (isMinValue && !bubbled) {\n if (momentType.isSmallest) {\n momentType.wholeValue = minValue;\n momentType.decimalValue = 0;\n } else {\n momentType.wholeValue = 0;\n momentType.decimalValue = 0;\n }\n }\n\n if (momentType.isSmallest || momentType.significantDigits && momentType.significantDigits - momentType.wholeValue.toString().length <= 0) {\n // Apply precision to least significant token value.\n if (precision < 0) {\n momentType.value = truncate(momentType.wholeValue, precision);\n } else if (precision === 0) {\n momentType.value = truncMethod(momentType.wholeValue + momentType.decimalValue);\n } else { // precision > 0\n if (useSignificantDigits) {\n if (trunc) {\n momentType.value = truncate(momentType.rawValue, significantDigits - momentType.wholeValue.toString().length);\n } else {\n momentType.value = momentType.rawValue;\n }\n\n if (momentType.wholeValue) {\n significantDigits -= momentType.wholeValue.toString().length;\n }\n } else {\n formatOptions.fractionDigits = precision;\n\n if (trunc) {\n momentType.value = momentType.wholeValue + truncate(momentType.decimalValue, precision);\n } else {\n momentType.value = momentType.wholeValue + momentType.decimalValue;\n }\n }\n }\n } else {\n if (useSignificantDigits && momentType.wholeValue) {\n // Outer Math.round required here to handle floating point errors.\n momentType.value = Math.round(truncate(momentType.wholeValue, momentType.significantDigits - momentType.wholeValue.toString().length));\n\n significantDigits -= momentType.wholeValue.toString().length;\n } else {\n momentType.value = momentType.wholeValue;\n }\n }\n\n if (momentType.tokenLength > 1 && (forceLength || foundFirst)) {\n formatOptions.minimumIntegerDigits = momentType.tokenLength;\n\n if (bubbled && formatOptions.maximumSignificantDigits < momentType.tokenLength) {\n delete formatOptions.maximumSignificantDigits;\n }\n }\n\n if (!foundFirst && (momentType.value > 0 || trim === \"\" /* trim: false */ || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\n foundFirst = true;\n }\n\n momentType.formattedValue = formatNumber(momentType.value, formatOptions, userLocale);\n\n formatOptions.useGrouping = false;\n formatOptions.decimalSeparator = \".\";\n momentType.formattedValueEn = formatNumber(momentType.value, formatOptions, \"en\");\n\n if (momentType.tokenLength === 2 && momentType.type === \"milliseconds\") {\n momentType.formattedValueMS = formatNumber(momentType.value, {\n minimumIntegerDigits: 3,\n useGrouping: false\n }, \"en\").slice(0, 2);\n }\n\n return momentType;\n };\n\n // Calculate formatted values.\n momentTypes = map(momentTypes, formatValue);\n momentTypes = compact(momentTypes);\n\n // Bubble rounded values.\n if (momentTypes.length > 1) {\n var findType = function (type) {\n return find(momentTypes, function (momentType) {\n return momentType.type === type;\n });\n };\n\n var bubbleTypes = function (bubble) {\n var bubbleMomentType = findType(bubble.type);\n\n if (!bubbleMomentType) {\n return;\n }\n\n each(bubble.targets, function (target) {\n var targetMomentType = findType(target.type);\n\n if (!targetMomentType) {\n return;\n }\n\n if (parseInt(bubbleMomentType.formattedValueEn, 10) === target.value) {\n bubbleMomentType.rawValue = 0;\n bubbleMomentType.wholeValue = 0;\n bubbleMomentType.decimalValue = 0;\n targetMomentType.rawValue += 1;\n targetMomentType.wholeValue += 1;\n targetMomentType.decimalValue = 0;\n targetMomentType.formattedValueEn = targetMomentType.wholeValue.toString();\n bubbled = true;\n }\n });\n };\n\n each(bubbles, bubbleTypes);\n }\n\n // Recalculate formatted values.\n if (bubbled) {\n foundFirst = false;\n significantDigits = significantDigitsCache;\n momentTypes = map(momentTypes, formatValue);\n momentTypes = compact(momentTypes);\n }\n\n if (outputTypes && !(isMaxValue && !settings.trim)) {\n momentTypes = map(momentTypes, function (momentType) {\n if (find(outputTypes, function (outputType) {\n return momentType.type === outputType;\n })) {\n return momentType;\n }\n\n return null;\n });\n\n momentTypes = compact(momentTypes);\n } else {\n // Trim Large.\n if (trimLarge) {\n momentTypes = rest(momentTypes, function (momentType) {\n // Stop trimming on:\n // - the smallest moment type\n // - a type marked for stopTrim\n // - a type that has a whole value\n return !momentType.isSmallest && !momentType.wholeValue && !find(stopTrim, momentType.type);\n });\n }\n\n // Largest.\n if (largest && momentTypes.length) {\n momentTypes = momentTypes.slice(0, largest);\n }\n\n // Trim Small.\n if (trimSmall && momentTypes.length > 1) {\n momentTypes = initial(momentTypes, function (momentType) {\n // Stop trimming on:\n // - a type marked for stopTrim\n // - a type that has a whole value\n // - the largest momentType\n return !momentType.wholeValue && !find(stopTrim, momentType.type) && !momentType.isLargest;\n });\n }\n\n // Trim Mid.\n if (trimMid) {\n momentTypes = map(momentTypes, function (momentType, index) {\n if (index > 0 && index < momentTypes.length - 1 && !momentType.wholeValue) {\n return null;\n }\n\n return momentType;\n });\n\n momentTypes = compact(momentTypes);\n }\n\n // Trim Final.\n if (trimFinal && momentTypes.length === 1 && !momentTypes[0].wholeValue && !(!trunc && momentTypes[0].isSmallest && momentTypes[0].rawValue < minValue)) {\n momentTypes = [];\n }\n }\n\n if (returnMomentTypes) {\n return momentTypes;\n }\n\n // Localize and pluralize unit labels.\n each(tokens, function (token) {\n var key = momentTokens[token.type];\n\n var momentType = find(momentTypes, function (momentType) {\n return momentType.type === token.type;\n });\n\n if (!key || !momentType) {\n return;\n }\n\n var values = momentType.formattedValueEn.split(\".\");\n\n values[0] = parseInt(values[0], 10);\n\n if (values[1]) {\n values[1] = parseFloat(\"0.\" + values[1], 10);\n } else {\n values[1] = null;\n }\n\n var pluralKey = localeData.durationPluralKey(key, values[0], values[1]);\n\n var labels = durationGetLabels(key, localeData);\n\n var autoLocalized = false;\n\n var pluralizedLabels = {};\n\n // Auto-Localized unit labels.\n each(localeData._durationLabelTypes, function (labelType) {\n var label = find(labels, function (label) {\n return label.type === labelType.type && label.key === pluralKey;\n });\n\n if (label) {\n pluralizedLabels[label.type] = label.label;\n\n if (stringIncludes(token.text, labelType.string)) {\n token.text = token.text.replace(labelType.string, label.label);\n autoLocalized = true;\n }\n }\n });\n\n // Auto-pluralized unit labels.\n if (usePlural && !autoLocalized) {\n labels.sort(durationLabelCompare);\n\n each(labels, function (label) {\n if (pluralizedLabels[label.type] === label.label) {\n if (stringIncludes(token.text, label.label)) {\n // Stop checking this token if its label is already\n // correctly pluralized.\n return false;\n }\n\n // Skip this label if it is correct, but not present in\n // the token's text.\n return;\n }\n\n if (stringIncludes(token.text, label.label)) {\n // Replece this token's label and stop checking.\n token.text = token.text.replace(label.label, pluralizedLabels[label.type]);\n return false;\n }\n });\n }\n });\n\n // Build ouptut.\n tokens = map(tokens, function (token) {\n if (!token.type) {\n return token.text;\n }\n\n var momentType = find(momentTypes, function (momentType) {\n return momentType.type === token.type;\n });\n\n if (!momentType) {\n return \"\";\n }\n\n var out = \"\";\n\n if (useLeftUnits) {\n out += token.text;\n }\n\n if (isNegative && isMaxValue || !isNegative && isMinValue) {\n out += \"< \";\n isMaxValue = false;\n isMinValue = false;\n }\n\n if (isNegative && isMinValue || !isNegative && isMaxValue) {\n out += \"> \";\n isMaxValue = false;\n isMinValue = false;\n }\n\n if (isNegative && (momentType.value > 0 || trim === \"\" || find(stopTrim, momentType.type) || find(outputTypes, momentType.type))) {\n out += \"-\";\n isNegative = false;\n }\n\n if (token.type === \"milliseconds\" && momentType.formattedValueMS) {\n out += momentType.formattedValueMS;\n } else {\n out += momentType.formattedValue;\n }\n\n if (!useLeftUnits) {\n out += token.text;\n }\n\n return out;\n });\n\n // Trim leading and trailing comma, space, colon, and dot.\n return tokens.join(\"\").replace(/(,| |:|\\.)*$/, \"\").replace(/^(,| |:|\\.)*/, \"\");\n }\n\n // defaultFormatTemplate\n function defaultFormatTemplate() {\n var dur = this.duration;\n\n var findType = function findType(type) {\n return dur._data[type];\n };\n\n var firstType = find(this.types, findType);\n\n var lastType = findLast(this.types, findType);\n\n // Default template strings for each duration dimension type.\n switch (firstType) {\n case \"milliseconds\":\n return \"S __\";\n case \"seconds\": // Fallthrough.\n case \"minutes\":\n return \"*_MS_\";\n case \"hours\":\n return \"_HMS_\";\n case \"days\": // Possible Fallthrough.\n if (firstType === lastType) {\n return \"d __\";\n }\n case \"weeks\":\n if (firstType === lastType) {\n return \"w __\";\n }\n\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"w __, d __, h __\";\n case \"months\": // Possible Fallthrough.\n if (firstType === lastType) {\n return \"M __\";\n }\n case \"years\":\n if (firstType === lastType) {\n return \"y __\";\n }\n\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"y __, M __, d __\";\n default:\n if (this.trim === null) {\n this.trim = \"both\";\n }\n\n return \"y __, d __, h __, m __, s __\";\n }\n }\n\n // init\n function init(context) {\n if (!context) {\n throw \"Moment Duration Format init cannot find moment instance.\";\n }\n\n context.duration.format = durationsFormat;\n context.duration.fn.format = durationFormat;\n\n context.duration.fn.format.defaults = {\n // Many options are defaulted to `null` to distinguish between\n // 'not set' and 'set to `false`'\n\n // trim\n // Can be a string, a delimited list of strings, an array of strings,\n // or a boolean.\n // \"large\" - will trim largest-magnitude zero-value tokens until\n // finding a token with a value, a token identified as 'stopTrim', or\n // the final token of the format string.\n // \"small\" - will trim smallest-magnitude zero-value tokens until\n // finding a token with a value, a token identified as 'stopTrim', or\n // the final token of the format string.\n // \"both\" - will execute \"large\" trim then \"small\" trim.\n // \"mid\" - will trim any zero-value tokens that are not the first or\n // last tokens. Usually used in conjunction with \"large\" or \"both\".\n // e.g. \"large mid\" or \"both mid\".\n // \"final\" - will trim the final token if it is zero-value. Use this\n // option with \"large\" or \"both\" to output an empty string when\n // formatting a zero-value duration. e.g. \"large final\" or \"both final\".\n // \"all\" - Will trim all zero-value tokens. Shorthand for \"both mid final\".\n // \"left\" - maps to \"large\" to support plugin's version 1 API.\n // \"right\" - maps to \"large\" to support plugin's version 1 API.\n // `false` - template tokens are not trimmed.\n // `true` - treated as \"large\".\n // `null` - treated as \"large\".\n trim: null,\n\n // stopTrim\n // A moment token string, a delimited set of moment token strings,\n // or an array of moment token strings. Trimming will stop when a token\n // listed in this option is reached. A \"*\" character in the format\n // template string will also mark a moment token as stopTrim.\n // e.g. \"d [days] *h:mm:ss\" will always stop trimming at the 'hours' token.\n stopTrim: null,\n\n // largest\n // Set to a positive integer to output only the \"n\" largest-magnitude\n // moment tokens that have a value. All lesser-magnitude moment tokens\n // will be ignored. This option takes effect even if `trim` is set\n // to `false`.\n largest: null,\n\n // maxValue\n // Use `maxValue` to render generalized output for large duration values,\n // e.g. `\"> 60 days\"`. `maxValue` must be a positive integer and is\n /// applied to the greatest-magnitude moment token in the format template.\n maxValue: null,\n\n // minValue\n // Use `minValue` to render generalized output for small duration values,\n // e.g. `\"< 5 minutes\"`. `minValue` must be a positive integer and is\n // applied to the least-magnitude moment token in the format template.\n minValue: null,\n\n // precision\n // If a positive integer, number of decimal fraction digits to render.\n // If a negative integer, number of integer place digits to truncate to 0.\n // If `useSignificantDigits` is set to `true` and `precision` is a positive\n // integer, sets the maximum number of significant digits used in the\n // formatted output.\n precision: 0,\n\n // trunc\n // Default behavior rounds final token value. Set to `true` to\n // truncate final token value, which was the default behavior in\n // version 1 of this plugin.\n trunc: false,\n\n // forceLength\n // Force first moment token with a value to render at full length\n // even when template is trimmed and first moment token has length of 1.\n forceLength: null,\n\n // userLocale\n // Formatted numerical output is rendered using `toLocaleString`\n // and the locale of the user's environment. Set this option to render\n // numerical output using a different locale. Unit names are rendered\n // and detected using the locale set in moment.js, which can be different\n // from the locale of user's environment.\n userLocale: null,\n\n // usePlural\n // Will automatically singularize or pluralize unit names when they\n // appear in the text associated with each moment token. Standard and\n // short unit labels are singularized and pluralized, based on locale.\n // e.g. in english, \"1 second\" or \"1 sec\" would be rendered instead\n // of \"1 seconds\" or \"1 secs\". The default pluralization function\n // renders a plural label for a value with decimal precision.\n // e.g. \"1.0 seconds\" is never rendered as \"1.0 second\".\n // Label types and pluralization function are configurable in the\n // localeData extensions.\n usePlural: true,\n\n // useLeftUnits\n // The text to the right of each moment token in a format string\n // is treated as that token's units for the purposes of trimming,\n // singularizing, and auto-localizing.\n // e.g. \"h [hours], m [minutes], s [seconds]\".\n // To properly singularize or localize a format string such as\n // \"[hours] h, [minutes] m, [seconds] s\", where the units appear\n // to the left of each moment token, set useLeftUnits to `true`.\n // This plugin is not tested in the context of rtl text.\n useLeftUnits: false,\n\n // useGrouping\n // Enables locale-based digit grouping in the formatted output. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n useGrouping: true,\n\n // useSignificantDigits\n // Treat the `precision` option as the maximum significant digits\n // to be rendered. Precision must be a positive integer. Significant\n // digits extend across unit types,\n // e.g. \"6 hours 37.5 minutes\" represents 4 significant digits.\n // Enabling this option causes token length to be ignored. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n useSignificantDigits: false,\n\n // template\n // The template string used to format the duration. May be a function\n // or a string. Template functions are executed with the `this` binding\n // of the settings object so that template strings may be dynamically\n // generated based on the duration object (accessible via `this.duration`)\n // or any of the other settings. Leading and trailing space, comma,\n // period, and colon characters are trimmed from the resulting string.\n template: defaultFormatTemplate,\n\n // useToLocaleString\n // Set this option to `false` to ignore the `toLocaleString` feature\n // test and force the use of the `formatNumber` fallback function\n // included in this plugin.\n useToLocaleString: true,\n\n // formatNumber fallback options.\n // When `toLocaleString` is detected and passes the feature test, the\n // following options will have no effect: `toLocaleString` will be used\n // for formatting and the grouping separator, decimal separator, and\n // integer digit grouping will be determined by the user locale.\n\n // groupingSeparator\n // The integer digit grouping separator used when using the fallback\n // formatNumber function.\n groupingSeparator: \",\",\n\n // decimalSeparator\n // The decimal separator used when using the fallback formatNumber\n // function.\n decimalSeparator: \".\",\n\n // grouping\n // The integer digit grouping used when using the fallback formatNumber\n // function. Must be an array. The default value of `[3]` gives the\n // standard 3-digit thousand/million/billion digit groupings for the\n // \"en\" locale. Setting this option to `[3, 2]` would generate the\n // thousand/lakh/crore digit groupings used in the \"en-IN\" locale.\n grouping: [3]\n };\n\n context.updateLocale('en', engLocale);\n }\n\n // Run feature tests for `Number#toLocaleString`.\n var toLocaleStringFormatter = function(number, locale, options) {\n return number.toLocaleString(locale, options);\n };\n\n toLocaleStringWorks = toLocaleStringSupportsLocales() && featureTestFormatter(toLocaleStringFormatter);\n toLocaleStringRoundingWorks = toLocaleStringWorks && featureTestFormatterRounding(toLocaleStringFormatter);\n\n // Run feature tests for `Intl.NumberFormat#format`.\n var intlNumberFormatFormatter = function(number, locale, options) {\n if (typeof window !== 'undefined' && window && window.Intl && window.Intl.NumberFormat) {\n return window.Intl.NumberFormat(locale, options).format(number);\n }\n };\n\n intlNumberFormatWorks = featureTestFormatter(intlNumberFormatFormatter);\n intlNumberFormatRoundingWorks = intlNumberFormatWorks && featureTestFormatterRounding(intlNumberFormatFormatter);\n\n // Initialize duration format on the global moment instance.\n init(moment);\n\n // Return the init function so that duration format can be\n // initialized on other moment instances.\n return init;\n});\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"64030\",\n\t\"./ms-my.js\": \"64030\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane page-preview-block\",attrs:{\"role\":\"tabpanel\",\"id\":\"link\"}},[_c('form',{attrs:{\"data-vv-scope\":'linkPage'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex f-row\"},[_c('div',{staticClass:\"costomization-block\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Title'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('linkPage.linkWelcome') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['linkWelcome'].text }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"linkWelcome\",staticClass:\"form-control js-elasticArea font-bold\",attrs:{\"data-vv-name\":\"linkWelcome\",\"min-height\":77,\"maxlength\":\"200\",\"placeholder\":\"Please enter the main text\"},model:{value:(_vm.webInterviewPageMessages['linkWelcome'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['linkWelcome'], \"text\", $$v)},expression:\"webInterviewPageMessages['linkWelcome'].text\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['linkWelcome'].text=''}}},[_c('span')]),(_vm.errors.first('linkPage.linkWelcome'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Description'))+\" \")]),_c('md-editor',{directives:[{name:\"validate\",rawName:\"v-validate\"}],ref:\"linkInvitation\",attrs:{\"data-vv-name\":\"linkInvitation\"},model:{value:(_vm.webInterviewPageMessages['linkInvitation'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['linkInvitation'], \"text\", $$v)},expression:\"webInterviewPageMessages['linkInvitation'].text\"}})],1),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$linkPage')},on:{\"click\":function($event){return _vm.savePageTextEditMode('linkPage', 'linkWelcome', 'linkInvitation')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$linkPage')},on:{\"click\":function($event){return _vm.cancelPageTextEditMode('linkPage', 'linkWelcome', 'linkInvitation')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])]),_c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"browser-mockup mb-30\"},[_c('div',{staticClass:\"mockup-block d-flex f-row\"},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"text-example\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('Logo',{attrs:{\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl}})],1),_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['linkWelcome'].text))+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.previewHtml(_vm.webInterviewPageMessages['linkInvitation'].text))}})])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Link.vue?vue&type=template&id=67b28d82&\"\nimport script from \"./Link.vue?vue&type=script&lang=js&\"\nexport * from \"./Link.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","window.jQuery = require('jquery')\r\nconst $ = window.jQuery\r\n\r\n$.fn.preventDoubleSubmission = function () {\r\n $(this).on('submit', function (e) {\r\n var $form = $(this)\r\n\r\n if ($form.data('submitted') === true) {\r\n // Previously submitted - don't submit again\r\n e.preventDefault()\r\n } else {\r\n $form.data('submitted', true)\r\n }\r\n })\r\n\r\n // Keep chainability\r\n return this\r\n}\r\n\r\nwindow.ajustNoticeHeight = function () {\r\n var height = $('.view-mode').outerHeight()\r\n $('.view-mode + main .container-fluid .panel-details').css('padding-top', height)\r\n}\r\nwindow.ajustDetailsPanelHeight = function () {\r\n var height = $('.view-mode').outerHeight()\r\n\r\n var panelDetails = $('.panel-details')\r\n if (panelDetails.length > 0) {\r\n height = panelDetails.outerHeight()\r\n }\r\n\r\n $('.filters').css('top', height + 'px')\r\n $('.filters-results').css('top', height + 'px')\r\n $('.content').css('top', height + 'px')\r\n $('main').css('margin-top', height + 'px')\r\n}\r\n\r\n$(function () {\r\n $('#hide-filters').click(function () {\r\n $('.filters').toggleClass('hidden-filters')\r\n $(this).parents('.row').toggleClass('fullscreen-hidden-filters')\r\n })\r\n $('main').removeClass('hold-transition')\r\n $('footer').removeClass('hold-transition')\r\n\r\n $(window).on('resize',\r\n function () {\r\n if ($(window).width() > 880) {\r\n if ($('.navbar-collapse.collapse.in').length > 0) {\r\n $('main').addClass('display-block')\r\n }\r\n } else {\r\n $('main').removeClass('display-block')\r\n }\r\n })\r\n\r\n $('.navbar-toggle').click(function () {\r\n $('.navbar-collapse').fadeToggle()\r\n $('.navbar-collapse').animate({ height: '100%' }, 0)\r\n $('.top-menu').toggleClass('top-animate')\r\n $('.mid-menu').toggleClass('mid-animate')\r\n $('.bottom-menu').toggleClass('bottom-animate')\r\n if ($(window).width() < 880) {\r\n if ($('.navbar-collapse.collapse.in').length > 0) {\r\n $('main').removeClass('display-block')\r\n $('main').removeClass('hidden')\r\n } else {\r\n\r\n $('main').addClass('hidden')\r\n }\r\n }\r\n })\r\n\r\n $('form').preventDoubleSubmission()\r\n\r\n\r\n window.ajustNoticeHeight()\r\n window.ajustDetailsPanelHeight()\r\n\r\n $('.view-mode .alerts .alert').on('closed.bs.alert', function () {\r\n window.ajustNoticeHeight()\r\n window.ajustDetailsPanelHeight()\r\n })\r\n})\r\n\r\n$(window).resize(function () {\r\n window.ajustNoticeHeight()\r\n window.ajustDetailsPanelHeight()\r\n})\r\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","import { browserLanguage } from '~/shared/helpers'\r\nimport 'bootstrap'\r\nimport 'flatpickr/dist/flatpickr.css'\r\nimport 'toastr/build/toastr.css'\r\nimport 'ag-grid-community/dist/styles/ag-grid.css'\r\nimport 'ag-grid-community/dist/styles/ag-theme-bootstrap.css'\r\n\r\nglobal.jQuery = require('jquery')\r\n\r\nimport moment from 'moment'\r\nmoment.locale(browserLanguage)\r\nimport * as poly from 'smoothscroll-polyfill'\r\npoly.polyfill()\r\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=2e7d679a&prod&scoped=true&lang=css&\"","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","function FormData() {\r\n this.fake = true\r\n this.boundary = '--------FormData' + Math.random()\r\n this._fields = []\r\n}\r\n\r\n/**\r\n * Emulate FormData for some browsers\r\n * MIT License\r\n * (c) 2010 François de Metz\r\n */\r\nif (!window.FormData) {\r\n\r\n FormData.prototype.append = function (key, value) {\r\n this._fields.push([key, value])\r\n }\r\n FormData.prototype.toString = function () {\r\n var boundary = this.boundary\r\n var body = ''\r\n this._fields.forEach(function (field) {\r\n body += '--' + boundary + '\\r\\n'\r\n // file upload\r\n if (field[1].name) {\r\n var file = field[1]\r\n body += 'Content-Disposition: form-data; name=\"' + field[0] + '\"; filename=\"' + file.name + '\"\\r\\n'\r\n body += 'Content-Type: ' + file.type + '\\r\\n\\r\\n'\r\n body += file.getAsBinary() + '\\r\\n'\r\n } else {\r\n body += 'Content-Disposition: form-data; name=\"' + field[0] + '\";\\r\\n\\r\\n'\r\n body += field[1] + '\\r\\n'\r\n }\r\n })\r\n body += '--' + boundary + '--'\r\n return body\r\n }\r\n\r\n window.FormData = FormData\r\n}\r\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","export const RoleNames = Object.freeze({\r\n INTERVIEWER: 'Interviewer',\r\n SUPERVISOR: 'Supervisor',\r\n HQ: 'Headquarter',\r\n API: 'ApiUser',\r\n ADMINISTRATOR: 'Administrator',\r\n OBSERVER: 'Observer',\r\n})","import Vue from 'vue'\r\nimport { debounce } from 'lodash'\r\n\r\nfunction forEachIfNeeded(data, each) {\r\n if (Array.isArray(data)) {\r\n data.forEach(section => {\r\n each(section)\r\n })\r\n } else {\r\n each(data)\r\n }\r\n}\r\n\r\nexport function batchedAction(callback, fetchAction = 'fetch', limit = null) {\r\n let queue = []\r\n\r\n // Vue.nextTick seems to be a bit too fast now. So adding debounce to add for app more room for action batching\r\n const tick = debounce(Vue.nextTick, 100)\r\n\r\n return (ctx, data) => {\r\n data = data || null\r\n\r\n if (fetchAction != null) {\r\n forEachIfNeeded(data, id => ctx.dispatch(fetchAction, { id }))\r\n }\r\n\r\n forEachIfNeeded(data, item => queue.push(item))\r\n\r\n tick(() => {\r\n const ids = queue\r\n queue = []\r\n return callback(ctx, ids)\r\n })\r\n\r\n if (limit && queue.length > limit) {\r\n const ids = queue\r\n queue = []\r\n return callback(ctx, ids)\r\n }\r\n }\r\n}\r\n","import { map, debounce, uniq } from 'lodash'\r\nimport Vue from 'vue'\r\n\r\nimport { batchedAction } from '../helpers'\r\nimport { StatusNames } from '~/shared/constants'\r\n\r\nimport modal from '@/shared/modal'\r\n\r\nfunction getAnswer(state, identity) {\r\n const question = state.entityDetails[identity]\r\n if (question == null) return null\r\n return question.answer\r\n}\r\n\r\nexport default {\r\n async loadInterview({ commit, state, rootState, $router }) {\r\n const details = await Vue.$api.interview.get('getInterviewDetails')\r\n commit('SET_INTERVIEW_INFO', details)\r\n const hasCover = await Vue.$api.interview.get('hasCoverPage')\r\n commit('SET_HAS_COVER_PAGE', hasCover)\r\n },\r\n\r\n async getLanguageInfo({ commit }) {\r\n const languageInfo = await Vue.$api.interview.get('getLanguageInfo')\r\n commit('SET_LANGUAGE_INFO', languageInfo)\r\n },\r\n\r\n fetchEntity: batchedAction(async ({ commit, dispatch, rootState }, ids) => {\r\n const sectionId = rootState.route.params.sectionId || null\r\n const elementIds = uniq(map(ids, 'id'))\r\n const details = await Vue.$api.interview.get('getEntitiesDetails', { sectionId: sectionId, ids: elementIds })\r\n dispatch('fetch', { ids, done: true })\r\n\r\n commit('SET_ENTITIES_DETAILS', {\r\n entities: details,\r\n lastActivityTimestamp: new Date(),\r\n })\r\n }, 'fetch', /* limit */ 20),\r\n\r\n answerSingleOptionQuestion({ state }, { answer, identity }) {\r\n const storedAnswer = getAnswer(state, identity)\r\n if (storedAnswer != null && storedAnswer.value == answer) return // skip same answer on same question\r\n\r\n Vue.$api.interview.answer(identity, 'answerSingleOptionQuestion', { answer })\r\n },\r\n answerTextQuestion({ state, commit }, { identity, text }) {\r\n if (getAnswer(state, identity) == text) return // skip same answer on same question\r\n\r\n commit('SET_ANSWER', { identity, answer: text }) // to prevent answer blinking in TableRoster\r\n Vue.$api.interview.answer(identity, 'answerTextQuestion', { answer: text })\r\n },\r\n answerMultiOptionQuestion(_, { answer, identity }) {\r\n Vue.$api.interview.answer(identity, 'answerMultiOptionQuestion', { answer })\r\n },\r\n answerYesNoQuestion(_, { identity, answer }) {\r\n Vue.$api.interview.answer(identity, 'answerYesNoQuestion', { answer })\r\n },\r\n answerIntegerQuestion({ commit }, { identity, answer }) {\r\n commit('SET_ANSWER', { identity, answer: answer }) // to prevent answer blinking in TableRoster\r\n Vue.$api.interview.answer(identity, 'answerIntegerQuestion', { answer })\r\n },\r\n answerDoubleQuestion({ commit }, { identity, answer }) {\r\n commit('SET_ANSWER', { identity, answer: answer }) // to prevent answer blinking in TableRoster\r\n return Vue.$api.interview.answer(identity, 'answerDoubleQuestion', { answer })\r\n },\r\n answerGpsQuestion(_, { identity, answer }) {\r\n return Vue.$api.interview.answer(identity, 'answerGpsQuestion', { answer })\r\n },\r\n answerDateQuestion({ state }, { identity, date }) {\r\n if (getAnswer(state, identity) == date) return // skip answer on same question\r\n return Vue.$api.interview.answer(identity, 'answerDateQuestion', { answer: date })\r\n },\r\n answerTextListQuestion(_, { identity, rows }) {\r\n return Vue.$api.interview.answer(identity, 'answerTextListQuestion', { answer: rows })\r\n },\r\n answerLinkedSingleOptionQuestion(_, { identity, answer }) {\r\n return Vue.$api.interview.answer(identity, 'answerLinkedSingleOptionQuestion', { answer })\r\n },\r\n answerLinkedMultiOptionQuestion(_, { identity, answer }) {\r\n return Vue.$api.interview.answer(identity, 'answerLinkedMultiOptionQuestion', { answer })\r\n },\r\n\r\n // TODO: there is no usages, check\r\n answerLinkedToListMultiQuestion(_, { identity, answer }) {\r\n return Vue.$api.interview.answer(identity, 'answerLinkedToListMultiQuestion', { answer })\r\n },\r\n\r\n // TODO: there is no usages, check\r\n answerLinkedToListSingleQuestion(_, { identity, answer }) {\r\n return Vue.$api.interview.answer(identity, 'answerLinkedToListSingleQuestion', { answer })\r\n },\r\n\r\n answerMultimediaQuestion(_, { identity, file }) {\r\n return Vue.$api.interview.upload(Vue.$config.imageUploadUri, identity, file)\r\n },\r\n\r\n answerAudioQuestion(_, { identity, file, duration }) {\r\n return Vue.$api.interview.upload(Vue.$config.audioUploadUri, identity, file, duration)\r\n },\r\n\r\n answerQRBarcodeQuestion(_, { identity, text }) {\r\n return Vue.$api.interview.answer(identity, 'answerQRBarcodeQuestion', { answer: text })\r\n },\r\n\r\n async removeAnswer({ dispatch }, identity) {\r\n await Vue.$api.interview.answer(identity, 'removeAnswer')\r\n dispatch('tryResolveFetch', identity)\r\n },\r\n\r\n tryResolveFetch({ getters, dispatch }, identity) {\r\n setTimeout(() => {\r\n if (getters.loadingProgress) {\r\n dispatch({\r\n type: 'fetchEntity',\r\n id: identity,\r\n source: 'client',\r\n })\r\n }\r\n }, 2000)\r\n },\r\n\r\n sendNewComment({ commit }, { identity, comment }) {\r\n commit('POSTING_COMMENT', { identity: identity })\r\n return Vue.$api.interview.answer(identity, 'sendNewComment', { comment })\r\n },\r\n\r\n resolveComment(_, { identity }) {\r\n return Vue.$api.interview.answer(identity, 'resolveComment')\r\n },\r\n\r\n setAnswerAsNotSaved({ commit }, { id, message }) {\r\n commit('SET_ANSWER_NOT_SAVED', { id, message })\r\n },\r\n\r\n clearAnswerValidity({ commit }, { id }) {\r\n commit('CLEAR_ANSWER_VALIDITY', { id })\r\n },\r\n\r\n // called by server side. reload interview\r\n reloadInterview() {\r\n location.reload(true)\r\n },\r\n\r\n // called by server side. navigate to finish page\r\n finishInterview() { },\r\n\r\n navigeToRoute() { },\r\n\r\n closeInterview({ dispatch }) {\r\n modal.alert({\r\n title: Vue.$t('WebInterviewUI.CloseInterviewTitle'),\r\n message: Vue.$t('WebInterviewUI.CloseInterviewMessage'),\r\n callback: () => {\r\n dispatch('reloadInterview')\r\n },\r\n onEscape: false,\r\n closeButton: false,\r\n buttons: {\r\n ok: {\r\n label: Vue.$t('WebInterviewUI.Reload'),\r\n className: 'btn-success',\r\n },\r\n },\r\n })\r\n },\r\n\r\n shutDownInterview({ state, commit }) {\r\n if (!state.interviewShutdown) {\r\n commit('SET_INTERVIEW_SHUTDOWN')\r\n window.close()\r\n }\r\n },\r\n\r\n // called by server side. refresh\r\n refreshEntities({ state, dispatch, getters }, questions) {\r\n questions.forEach(id => {\r\n if (state.entityDetails[id]) { // do not fetch entity that is no in the visible list\r\n dispatch('fetchEntity', { id, source: 'server' })\r\n }\r\n })\r\n\r\n dispatch('refreshSectionState', null)\r\n\r\n if (getters.isReviewMode) {\r\n dispatch('refreshReviewSearch')\r\n }\r\n },\r\n\r\n refreshReviewSearch: debounce(({ dispatch }) => {\r\n dispatch('fetchSearchResults')\r\n }, 200),\r\n\r\n refreshSectionState({ commit, dispatch }) {\r\n commit('SET_LOADING_PROGRESS', true)\r\n dispatch('_refreshSectionState')\r\n },\r\n\r\n _refreshSectionState: debounce(({ dispatch, commit }) => {\r\n try {\r\n dispatch('fetchSectionEnabledStatus')\r\n dispatch('fetchBreadcrumbs')\r\n dispatch('fetchEntity', { id: 'NavigationButton', source: 'server' })\r\n dispatch('fetchSidebar')\r\n dispatch('fetchInterviewStatus')\r\n } finally {\r\n commit('SET_LOADING_PROGRESS', false)\r\n }\r\n }, 200),\r\n\r\n fetchSectionEntities: debounce(async ({ dispatch, commit, rootState }) => {\r\n const sectionId = rootState.route.params.sectionId\r\n // const interviewId = rootState.route.params.interviewId\r\n\r\n const id = sectionId\r\n const isPrefilledSection = id === undefined\r\n\r\n if (isPrefilledSection) {\r\n const prefilledPageData = await Vue.$api.interview.get('getPrefilledEntities')\r\n if (!prefilledPageData.hasAnyQuestions) {\r\n const loc = {\r\n name: 'section',\r\n params: {\r\n //interviewId: interviewId,\r\n sectionId: prefilledPageData.firstSectionId,\r\n },\r\n }\r\n\r\n dispatch('navigeToRoute', loc)\r\n } else {\r\n commit('SET_SECTION_DATA', prefilledPageData.entities)\r\n commit('SET_ENTITIES_DETAILS', {\r\n entities: prefilledPageData.details,\r\n lastActivityTimestamp: new Date(),\r\n })\r\n }\r\n } else {\r\n try {\r\n commit('SET_LOADING_PROGRESS', true)\r\n\r\n const section = await Vue.$api.interview.get('getFullSectionInfo', { sectionId: id })\r\n\r\n commit('SET_SECTION_DATA', section.entities)\r\n commit('SET_ENTITIES_DETAILS', {\r\n entities: section.details,\r\n lastActivityTimestamp: new Date(),\r\n })\r\n } finally {\r\n commit('SET_LOADING_PROGRESS', false)\r\n }\r\n }\r\n }, 200),\r\n\r\n fetchSectionEnabledStatus: debounce(async ({ dispatch, state, rootState }) => {\r\n const sectionId = rootState.route.params.sectionId\r\n const interviewId = rootState.route.params.interviewId\r\n\r\n const isPrefilledSection = sectionId === undefined\r\n\r\n if (!isPrefilledSection) {\r\n const isEnabled = await Vue.$api.interview.get('isEnabled', { id: sectionId })\r\n if (!isEnabled) {\r\n const firstSectionId = state.firstSectionId\r\n const firstSectionLocation = {\r\n name: 'section',\r\n params: {\r\n interviewId: interviewId,\r\n sectionId: firstSectionId,\r\n },\r\n }\r\n\r\n dispatch('navigeToRoute', firstSectionLocation)\r\n }\r\n }\r\n }, 200),\r\n\r\n fetchBreadcrumbs: debounce(async ({ commit, rootState }) => {\r\n const sectionId = rootState.route.params.sectionId\r\n const crumps = await Vue.$api.interview.get('getBreadcrumbs', { sectionId })\r\n commit('SET_BREADCRUMPS', crumps)\r\n }, 200),\r\n\r\n fetchCompleteInfo: debounce(async ({ commit }) => {\r\n const completeInfo = await Vue.$api.interview.get('getCompleteInfo')\r\n commit('SET_COMPLETE_INFO', completeInfo)\r\n }, 200),\r\n\r\n fetchInterviewStatus: debounce(async ({ commit }) => {\r\n const interviewState = await Vue.$api.interview.get('getInterviewStatus')\r\n commit('SET_INTERVIEW_STATUS', interviewState)\r\n }, 200),\r\n\r\n fetchCoverInfo: debounce(async ({ commit }) => {\r\n const coverInfo = await Vue.$api.interview.get('getCoverInfo')\r\n commit('SET_COVER_INFO', coverInfo)\r\n }, 200),\r\n\r\n completeInterview({ state, commit, rootState }, comment) {\r\n if (state.interviewCompleted) return\r\n\r\n commit('COMPLETE_INTERVIEW')\r\n\r\n const interviewId = rootState.route.params.interviewId\r\n commit('CURRENT_SECTION', { interviewId: interviewId, section: null })\r\n\r\n Vue.$api.interview.answer(null, 'completeInterview', { comment })\r\n },\r\n\r\n requestWebInterview({ state, commit, rootState }, comment) {\r\n\r\n const interviewId = rootState.route.params.interviewId\r\n commit('CURRENT_SECTION', { interviewId: interviewId, section: null })\r\n\r\n Vue.$api.interview.answer(null, 'requestWebInterview', { comment })\r\n },\r\n\r\n cleanUpEntity: batchedAction(({ commit }, ids) => {\r\n commit('CLEAR_ENTITIES', { ids })\r\n }, null, /* limit */ 100),\r\n\r\n changeLanguage(_, language) {\r\n return Vue.$api.interview.answer(null, 'changeLanguage', { language: language.language })\r\n },\r\n\r\n stop() {\r\n Vue.$api.hub.stop()\r\n },\r\n\r\n changeSection({ commit, rootState }, { to, from }) {\r\n const interviewId = rootState.route.params.interviewId\r\n commit('CURRENT_SECTION', { interviewId: interviewId, sectionId: to })\r\n return Vue.$api.hub.changeSection(to, from)\r\n },\r\n}\r\n","import * as toastr from 'toastr'\r\nimport Vue from 'vue'\r\n\r\nimport modal from '@/shared/modal'\r\n\r\nconst connectionStore = {\r\n state: {\r\n isReconnecting: false,\r\n isDisconnected: false,\r\n },\r\n actions: {\r\n connectionSlow() {\r\n toastr.warning(Vue.$t('WebInterviewUI.SlowConnection'), Vue.$t('WebInterviewUI.Network'), {\r\n preventDuplicates: true,\r\n })\r\n },\r\n tryingToReconnect({commit}, isReconnecting) {\r\n commit('IS_RECONNECTING', isReconnecting)\r\n },\r\n disconnected({state, commit}) {\r\n if (state.isReconnecting && !state.isDisconnected) {\r\n commit('IS_DISCONNECTED', true)\r\n // Vue.$api.stop()\r\n\r\n modal.alert({\r\n title: Vue.$t('WebInterviewUI.Disconnected'),\r\n message: '

    ' + Vue.$t('WebInterviewUI.ConnectionLostTitle') + '

    ' + Vue.$t('WebInterviewUI.ConnectionLostMessage') + '

    ',\r\n callback: () => {\r\n location.reload()\r\n },\r\n onEscape: false,\r\n closeButton: false,\r\n buttons: {\r\n ok: {\r\n label: Vue.$t('WebInterviewUI.Reload'),\r\n className: 'btn-success',\r\n },\r\n },\r\n })\r\n }\r\n },\r\n },\r\n mutations: {\r\n IS_RECONNECTING(state, isReconnecting) {\r\n state.isReconnecting = isReconnecting\r\n },\r\n IS_DISCONNECTED(state, isDisconnected) {\r\n state.isDisconnected = isDisconnected\r\n },\r\n },\r\n}\r\nexport default connectionStore\r\n","import Vue from 'vue'\r\n\r\nfunction setFetchState(state, id, done) {\r\n const $id = Object.prototype.hasOwnProperty.call(id, 'id') ? id.id : id\r\n const hasInState = state[$id] != null\r\n if (done) {\r\n if (hasInState) Vue.delete(state, $id)\r\n } else {\r\n if (!hasInState) Vue.set(state, $id, true)\r\n }\r\n return Object.keys(state).length\r\n}\r\n\r\nfunction updateFetchProgress(state) {\r\n state.inProgress = Object.keys(state.state).length > 0 || state.requestInProgress > 0\r\n}\r\n\r\nconst fetch = {\r\n state: {\r\n scroll: {\r\n id: null,\r\n },\r\n loadingProgress: false,\r\n fetchState: {\r\n uploaded: null,\r\n total: null,\r\n },\r\n requestInProgress: 0,\r\n inProgress: false,\r\n state: {},\r\n },\r\n getters: {\r\n scrollState(state) {\r\n return state.scroll.id\r\n },\r\n },\r\n actions: {\r\n fetch({ commit }, { id, ids, done }) {\r\n commit('SET_FETCH', {\r\n id,\r\n ids,\r\n done: done || false,\r\n })\r\n },\r\n\r\n fetchProgress({ commit }, amount) {\r\n commit('SET_FETCH_IN_PROGRESS', amount)\r\n },\r\n sectionRequireScroll({ commit }, { id }) {\r\n commit('SET_SCROLL_TARGET', id)\r\n },\r\n\r\n uploadProgress({ commit, rootState }, { id, now, total }) {\r\n commit('SET_UPLOAD_PROGRESS', {\r\n entity: rootState.webinterview.entityDetails[id],\r\n now,\r\n total,\r\n })\r\n },\r\n resetScroll({ commit }) {\r\n commit('SET_SCROLL_TARGET', null)\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_UPLOAD_PROGRESS(state, { entity, now, total }) {\r\n Vue.set(entity, 'fetchState', {})\r\n Vue.set(entity.fetchState, 'uploaded', now)\r\n Vue.set(entity.fetchState, 'total', total)\r\n },\r\n SET_FETCH(state, { id, ids, done }) {\r\n if (id) {\r\n setFetchState(state.state, id, done)\r\n }\r\n\r\n if (ids) {\r\n ids.forEach(element => {\r\n setFetchState(state.state, element, done)\r\n })\r\n }\r\n\r\n updateFetchProgress(state)\r\n },\r\n SET_FETCH_IN_PROGRESS(state, amount) {\r\n state.requestInProgress = state.requestInProgress + amount\r\n updateFetchProgress(state)\r\n },\r\n SET_SCROLL_TARGET(state, id) {\r\n state.scroll.id = id\r\n },\r\n SET_LOADING_PROGRESS(state, value) {\r\n state.loadingProgress = value\r\n },\r\n },\r\n}\r\n\r\nexport { fetch }\r\n","import { forEach, differenceBy } from 'lodash'\r\nimport Vue from 'vue'\r\nimport browserLocalStore from '~/shared/localStorage'\r\n\r\nexport default {\r\n SET_ENTITIES_DETAILS(state, { entities, lastActivityTimestamp }) {\r\n state.lastActivityTimestamp = lastActivityTimestamp\r\n forEach(entities, entity => {\r\n if (entity != null) {\r\n entity.updatedAt = new Date()\r\n Vue.set(state.entityDetails, entity.id, entity)\r\n }\r\n })\r\n\r\n // reseting all pending entity details, as we gto whole section\r\n Vue.set(state.fetch, 'state', {})\r\n },\r\n SET_ANSWER(state, { identity, answer }) {\r\n const e = state.entityDetails[identity]\r\n e.answer = answer\r\n },\r\n SET_SECTION_DATA(state, sectionData) {\r\n var entitiesToDelete = differenceBy(state.entities, sectionData, f => f.identity + f.entityType)\r\n forEach(entitiesToDelete, entity => {\r\n Vue.delete(state.entityDetails, entity.identity)\r\n Vue.delete(state.fetch.state, entity.identity)\r\n })\r\n state.entities = sectionData\r\n },\r\n CLEAR_ENTITIES(state, { ids }) {\r\n forEach(ids, id => {\r\n Vue.delete(state.entityDetails, id)\r\n })\r\n },\r\n SET_ANSWER_NOT_SAVED(state, { id, message }) {\r\n let validity = state.entityDetails[id].validity\r\n validity.errorMessage = true\r\n validity.messages = [message]\r\n validity.isValid = false\r\n },\r\n CLEAR_ANSWER_VALIDITY(state, { id }) {\r\n const validity = state.entityDetails[id].validity\r\n validity.isValid = true\r\n validity.messages = []\r\n },\r\n SET_BREADCRUMPS(state, crumps) {\r\n Vue.set(state, 'breadcrumbs', crumps)\r\n },\r\n SET_LANGUAGE_INFO(state, languageInfo) {\r\n if (languageInfo == null) return\r\n\r\n Vue.set(state, 'originalLanguageName', languageInfo.originalLanguageName)\r\n Vue.set(state, 'currentLanguage', languageInfo.currentLanguage)\r\n Vue.set(state, 'languages', languageInfo.languages)\r\n },\r\n SET_INTERVIEW_INFO(state, interviewInfo) {\r\n if (interviewInfo == null) return\r\n\r\n state.questionnaireTitle = interviewInfo.questionnaireTitle\r\n state.firstSectionId = interviewInfo.firstSectionId\r\n state.interviewKey = interviewInfo.interviewKey\r\n state.receivedByInterviewer = interviewInfo.receivedByInterviewer\r\n state.interviewCannotBeChanged = interviewInfo.interviewCannotBeChanged\r\n state.isCurrentUserObserving = interviewInfo.isCurrentUserObserving\r\n state.doesBrokenPackageExist = interviewInfo.doesBrokenPackageExist\r\n state.canAddComments = interviewInfo.canAddComments\r\n },\r\n SET_COVER_INFO(state, coverInfo) {\r\n state.coverInfo = coverInfo\r\n },\r\n SET_COMPLETE_INFO(state, completeInfo) {\r\n Vue.set(state, 'completeInfo', completeInfo)\r\n },\r\n SET_INTERVIEW_STATUS(state, interviewState) {\r\n Vue.set(state, 'interviewState', interviewState)\r\n },\r\n SET_INTERVIEW_SHUTDOWN(state) {\r\n state.interviewShutdown = true\r\n },\r\n SET_HAS_COVER_PAGE(state, hasCoverPage) {\r\n state.hasCoverPage = hasCoverPage\r\n },\r\n POSTING_COMMENT(state, { questionId }) {\r\n const question = state.entityDetails[questionId]\r\n if (question) { // can be posted from overview and question is not loaded\r\n question.postingComment = true\r\n }\r\n },\r\n\r\n LOG_LAST_ACTIVITY(state) {\r\n state.lastActivityTimestamp = new Date()\r\n },\r\n COMPLETE_INTERVIEW(state) {\r\n state.interviewCompleted = true\r\n },\r\n CURRENT_SECTION(_, { interviewId, sectionId }) {\r\n const store = new browserLocalStore()\r\n if (sectionId)\r\n store.setItem(`${interviewId}_lastSection`, sectionId)\r\n else\r\n store.remove(`${interviewId}_lastSection`)\r\n },\r\n}\r\n","import { forEach, groupBy } from 'lodash'\r\nimport Vue from 'vue'\r\n\r\nimport { batchedAction } from '../helpers'\r\n\r\nexport default {\r\n state: {\r\n panels: {\r\n // organized by parentId, that way it easier to search and request data\r\n // sectionId1: [sectiondata1, sectiondata2, sectiondata3], root: [section1, section2], ... etc\r\n },\r\n sidebarHidden: false,\r\n facetHidden: false,\r\n searchResultsHidden: true,\r\n screenWidth: 1400,\r\n mediumScreenThreshold: 1210,\r\n },\r\n\r\n actions: {\r\n fetchSidebar: batchedAction(({ commit, rootState }, ids) => {\r\n return Vue.$api.interview.get('getSidebarChildSectionsOf',\r\n {\r\n interviewId: rootState.route.params.interviewId,\r\n sectionId: rootState.route.params.sectionId || null,\r\n ids,\r\n })\r\n .then((sideBar) => {\r\n commit('SET_SIDEBAR_STATE', sideBar)\r\n })\r\n }, null, null),\r\n\r\n toggleSidebar({ commit, dispatch }, { panel, collapsed }) {\r\n commit('SET_SIDEBAR_TOGGLE', { panel, collapsed })\r\n\r\n if (collapsed === false) {\r\n dispatch('fetchSidebar', panel.id)\r\n }\r\n },\r\n\r\n toggleSidebarPanel({ commit, state }, newState = null) {\r\n const sidebarPanelNewState = newState == null ? !state.sidebarHidden : newState\r\n let panelBeingClosed = !sidebarPanelNewState\r\n if (state.screenWidth < state.mediumScreenThreshold && panelBeingClosed) {\r\n commit('SET_FACET_HIDDEN', true)\r\n commit('SET_SEARCH_RESULTS_HIDDEN', true)\r\n }\r\n commit('SET_SIDEBAR_HIDDEN', sidebarPanelNewState)\r\n },\r\n\r\n hideFacets({ commit, state }, newState = null) {\r\n const facetPanelNewState = newState == null ? !state.facetHidden : newState\r\n let panelBeingClosed = !facetPanelNewState\r\n if (state.screenWidth < state.mediumScreenThreshold && panelBeingClosed) {\r\n commit('SET_SIDEBAR_HIDDEN', true)\r\n commit('SET_SEARCH_RESULTS_HIDDEN', true)\r\n }\r\n commit('SET_FACET_HIDDEN', facetPanelNewState)\r\n },\r\n hideSearchResults({ commit, state }, newState = null) {\r\n if (state.screenWidth >= state.mediumScreenThreshold) {\r\n commit('SET_FACET_HIDDEN', false)\r\n }\r\n commit('SET_SEARCH_RESULTS_HIDDEN', newState == null ? true : newState)\r\n },\r\n showSearchResults({ commit, state }) {\r\n commit('SET_SEARCH_RESULTS_HIDDEN', false)\r\n if (state.screenWidth < state.mediumScreenThreshold) {\r\n commit('SET_FACET_HIDDEN', true)\r\n commit('SET_SIDEBAR_HIDDEN', true)\r\n }\r\n },\r\n screenWidthChanged({ commit, state }, newWidth) {\r\n // close all panels for S and M sceen sizes\r\n if (state.screenWidth > state.mediumScreenThreshold && newWidth <= state.mediumScreenThreshold) {\r\n commit('SET_FACET_HIDDEN', true)\r\n commit('SET_SIDEBAR_HIDDEN', true)\r\n commit('SET_SEARCH_RESULTS_HIDDEN', true)\r\n }\r\n // return default state if screen size is L and XL\r\n if (state.screenWidth < state.mediumScreenThreshold && newWidth >= state.mediumScreenThreshold) {\r\n commit('SET_FACET_HIDDEN', false)\r\n commit('SET_SIDEBAR_HIDDEN', false)\r\n commit('SET_SEARCH_RESULTS_HIDDEN', true)\r\n }\r\n\r\n if (state.screenWidth != newWidth) {\r\n commit('SET_SCREEN_WIDTH', newWidth)\r\n }\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_SIDEBAR_STATE(state, sideBar) {\r\n if (sideBar == null) return\r\n\r\n const byParentId = groupBy(sideBar.groups, 'parentId')\r\n forEach(byParentId, (panels, id) => {\r\n Vue.set(state.panels, id, panels)\r\n })\r\n },\r\n SET_SIDEBAR_TOGGLE(state, { panel, collapsed }) {\r\n panel.collapsed = collapsed\r\n },\r\n SET_SIDEBAR_HIDDEN(state, sidebarHidden) {\r\n state.sidebarHidden = sidebarHidden\r\n },\r\n SET_FACET_HIDDEN(state, facetHidden) {\r\n state.facetHidden = facetHidden\r\n },\r\n SET_SEARCH_RESULTS_HIDDEN(state, searchResultsHidden) {\r\n state.searchResultsHidden = searchResultsHidden\r\n },\r\n SET_SCREEN_WIDTH(state, screenWidth) {\r\n state.screenWidth = screenWidth\r\n },\r\n },\r\n\r\n getters: {\r\n hasSidebarData(state, getters) {\r\n return getters.rootSections.length > 0\r\n },\r\n rootSections(state) {\r\n /* tslint:disable:no-string-literal */\r\n if (state.panels['undefined'] || state.panels['null']) {\r\n return state.panels['undefined'] || state.panels['null']\r\n }\r\n /* tslint:enable:no-string-literal */\r\n\r\n return []\r\n },\r\n },\r\n}\r\n","import { safeStore } from '../errors'\r\nimport actions from './store.actions'\r\nimport connection from './store.connection'\r\nimport { fetch } from './store.fetch.js'\r\nimport mutations from './store.mutations'\r\nimport sidebar from './store.sidebar'\r\n\r\nconst store = safeStore({\r\n modules: { fetch, sidebar, connection },\r\n state: {\r\n lastActivityTimestamp: new Date(),\r\n hasCoverPage: false,\r\n questionnaireTitle: '',\r\n interviewKey: '',\r\n firstSectionId: '',\r\n entities: [], /* IInterviewEntity[] */\r\n entityDetails: { /* string: object */ },\r\n breadcrumbs: {\r\n breadcrumbs: [],\r\n },\r\n coverInfo: {\r\n entitiesWithComments: [],\r\n },\r\n interviewCompleted: false,\r\n interviewShutdown: false,\r\n interviewCannotBeChanged: false,\r\n },\r\n actions,\r\n mutations,\r\n getters: {\r\n loadingProgress(state) {\r\n let loadedCount = 0\r\n\r\n state.entities.forEach(entity => {\r\n if (state.entityDetails[entity.identity] != null) {\r\n loadedCount = loadedCount + 1\r\n }\r\n })\r\n\r\n if (state.coverInfo && state.coverInfo.identifyingQuestions) {\r\n state.coverInfo.identifyingQuestions.forEach(question => {\r\n if (question.isReadonly) {\r\n loadedCount = loadedCount + 1\r\n }\r\n })\r\n }\r\n\r\n const totalCount = state.entities != null ? state.entities.length : 0\r\n const result = (loadedCount === 0 && totalCount > 0) || (loadedCount < totalCount) || state.fetch.inProgress || state.fetch.loadingProgress\r\n return result\r\n },\r\n addCommentsAllowed(state) {\r\n return true\r\n },\r\n basePath() {\r\n return window.CONFIG.basePath\r\n },\r\n },\r\n})\r\n\r\nexport default store\r\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=4719fe28&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.title,\"hasFilter\":true,\"topicButton\":_vm.$t('Assignments.NewAssignment'),\"topicButtonRef\":_vm.config.isSupervisor ? null : _vm.config.api.surveySetup}},[_c('div',{class:{'topic-with-button': !_vm.config.isSupervisor},attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('a',{staticStyle:{\"float\":\"right\",\"margin-right\":\"320px\",\"margin-top\":\"14px\"},attrs:{\"href\":\"MapDashboard\"}},[_c('img',{staticStyle:{\"padding-top\":\"2px\"},attrs:{\"height\":\"26px;\",\"src\":\"/img/google-maps-markers/map.png\",\"title\":_vm.$t('Common.MapDashboard')}})]),_c('h1',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}),(!_vm.config.isSupervisor)?_c('a',{staticClass:\"btn btn-success\",attrs:{\"href\":_vm.config.isSupervisor ? null : _vm.config.api.surveySetup}},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.NewAssignment'))+\" \")]):_vm._e()]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire'),\"tooltip\":_vm.$t('Assignments.Tooltip_Filter_Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"values\":_vm.config.questionnaires},on:{\"selected\":_vm.questionnaireSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion'),\"tooltip\":_vm.$t('Assignments.Tooltip_Filter_QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"values\":_vm.questionnaireId == null ? null : _vm.questionnaireId.versions,\"value\":_vm.questionnaireVersion,\"disabled\":_vm.questionnaireId == null},on:{\"selected\":_vm.questionnaireVersionSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Responsible'),\"tooltip\":_vm.$t('Assignments.Tooltip_Filter_Responsible')}},[_c('Typeahead',{attrs:{\"control-id\":\"responsibleId\",\"placeholder\":_vm.$t('Common.AllResponsible'),\"value\":_vm.responsibleId,\"ajax-params\":_vm.responsibleParams,\"fetch-url\":_vm.config.api.responsible},on:{\"selected\":_vm.userSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Assignments.ReceivedByTablet'),\"tooltip\":_vm.$t('Assignments.Tooltip_Filter_Received')}},[_c('Typeahead',{attrs:{\"control-id\":\"recieved-by-tablet\",\"noSearch\":\"\",\"noClear\":\"\",\"values\":_vm.ddlReceivedByTablet,\"value\":_vm.receivedByTablet},on:{\"selected\":_vm.receivedByTabletSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Assignments.ShowArchived'),\"tooltip\":_vm.$t('Assignments.Tooltip_Filter_ArchivedStatus')}},[_c('Typeahead',{attrs:{\"control-id\":\"show_archived\",\"noSearch\":\"\",\"noClear\":\"\",\"values\":_vm.ddlShowArchive,\"value\":_vm.showArchive},on:{\"selected\":_vm.showArchiveSelected}})],1)],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addParamsToRequest,\"wrapperClass\":{ 'table-wrapper': true },\"selectable\":_vm.showSelectors},on:{\"cell-clicked\":_vm.cellClicked,\"selectedRowsChanged\":function (rows) { return _vm.selectedRows = rows; },\"totalRows\":function (rows) { return _vm.totalRows = rows; },\"ajaxComlpete\":function($event){_vm.isLoading = false},\"page\":_vm.resetSelection}},[(_vm.selectedRows.length)?_c('div',{staticClass:\"panel panel-table\",attrs:{\"id\":\"pnlAssignmentsContextActions\"}},[_c('div',{staticClass:\"panel-body\"},[_c('input',{staticClass:\"double-checkbox-white\",attrs:{\"type\":\"checkbox\",\"checked\":\"\",\"disabled\":\"\"}}),_c('label',[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.AssignmentsSelected\", {count: _vm.selectedRows.length}))+\" \")]),(_vm.showArchive.key && _vm.config.isHeadquarter)?_c('button',{staticClass:\"btn btn-lg btn-primary\",attrs:{\"id\":\"btnUnarchiveSelected\"},on:{\"click\":_vm.unarchiveSelected}},[_vm._v(_vm._s(_vm.$t(\"Assignments.Unarchive\")))]):_vm._e(),(!_vm.showArchive.key)?_c('button',{staticClass:\"btn btn-lg btn-primary\",attrs:{\"id\":\"btnAssignSelected\"},on:{\"click\":_vm.assignSelected}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]):_vm._e(),(_vm.config.isHeadquarter && !_vm.showArchive.key)?_c('button',{staticClass:\"btn btn-lg btn-warning\",attrs:{\"id\":\"btnCloseSelected\"},on:{\"click\":_vm.closeSelected}},[_vm._v(_vm._s(_vm.$t(\"Assignments.Close\")))]):_vm._e(),(!_vm.showArchive.key && _vm.config.isHeadquarter)?_c('button',{staticClass:\"btn btn-lg btn-danger\",attrs:{\"id\":\"btnArchiveSelected\"},on:{\"click\":_vm.archiveSelected}},[_vm._v(_vm._s(_vm.$t(\"Assignments.Archive\")))]):_vm._e()])]):_vm._e()]),_c('ModalFrame',{ref:\"assignModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle')}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Assignments.NumberOfAssignmentsAffected\", {count: _vm.selectedRows.length} )))]),_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\",class:{'has-warning': _vm.showWebModeReassignWarning}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newResponsibleId\"}},[_vm._v(_vm._s(_vm.$t(\"Assignments.SelectResponsible\")))]),_c('Typeahead',{attrs:{\"control-id\":\"newResponsibleId\",\"placeholder\":_vm.$t('Common.Responsible'),\"value\":_vm.newResponsibleId,\"ajax-params\":{ },\"fetch-url\":_vm.config.api.responsible},on:{\"selected\":_vm.newResponsibleSelected}}),(_vm.showWebModeReassignWarning)?_c('span',{staticClass:\"help-block\"},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.WebModeReassignToNonInterviewer', {count: _vm.selectedRows.length}))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"commentsId\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Comments\"))+\" \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.reassignComment),expression:\"reassignComment\"}],staticClass:\"form-control\",attrs:{\"control-id\":\"commentsId\",\"placeholder\":_vm.$t('Assignments.EnterComments'),\"name\":\"comments\",\"rows\":\"6\",\"maxlength\":\"500\"},domProps:{\"value\":(_vm.reassignComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.reassignComment=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":!_vm.newResponsibleId},on:{\"click\":_vm.assign}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"closeModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle')}},[(_vm.selectedRows.length === 1)?_c('p',[_vm._v(_vm._s(_vm.singleCloseMessage))]):_c('p',[_vm._v(_vm._s(_vm.$t(\"Assignments.MultipleAssignmentsClose\", {count: _vm.selectedRows.length} )))]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":_vm.isWebModeAssignmentSelected},on:{\"click\":_vm.close}},[_vm._v(_vm._s(_vm.$t(\"Assignments.Close\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"editAudioEnabledModal\",attrs:{\"title\":_vm.$t('Assignments.ChangeAudioRecordingModalTitle', {id: _vm.editedRowId} )}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Assignments.AudioRecordingExplanation\")))]),_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\"},[_c('Checkbox',{attrs:{\"label\":_vm.$t('Assignments.AudioRecordingEnable'),\"name\":\"audioRecordingEnabled\"},model:{value:(_vm.editedAudioRecordingEnabled),callback:function ($$v) {_vm.editedAudioRecordingEnabled=$$v},expression:\"editedAudioRecordingEnabled\"}})],1)]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":!_vm.showSelectors},on:{\"click\":_vm.upateAudioRecording}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"editQuantityModal\",attrs:{\"title\":_vm.$t('Assignments.ChangeSizeModalTitle', {assignmentId: _vm.editedRowId} )}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Assignments.SizeExplanation\")))]),(!_vm.canEditQuantity)?_c('p',[_c('b',[_vm._v(_vm._s(_vm.$t(\"Assignments.AssignmentSizeInWebMode\")))])]):_vm._e(),_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('editedQuantity')}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newQuantity\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Size\"))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.editedQuantity),expression:\"editedQuantity\",modifiers:{\"trim\":true}},{name:\"validate\",rawName:\"v-validate\",value:(_vm.quantityValidations),expression:\"quantityValidations\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"editedQuantity\",\"data-vv-as\":_vm.$t('Assignments.Size'),\"maxlength\":\"5\",\"autocomplete\":\"off\",\"id\":\"newQuantity\",\"placeholder\":\"1\",\"disabled\":!_vm.canEditQuantity},domProps:{\"value\":(_vm.editedQuantity)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.updateQuantity.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.editedQuantity=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.first('editedQuantity')))])])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":!_vm.showSelectors || !_vm.canEditQuantity},on:{\"click\":_vm.updateQuantity}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqAssignments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqAssignments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HqAssignments.vue?vue&type=template&id=2d0362dd&\"\nimport script from \"./HqAssignments.vue?vue&type=script&lang=js&\"\nexport * from \"./HqAssignments.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"page-header\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../Assignments\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.Assignments')))])])])])])]),_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Assignments.AssignmentHistory')))]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"noSearch\":true,\"noPaging\":false,\"wrapperClass\":{ 'table-wrapper': true }}})],1),_c('div',{staticClass:\"col-sm-6\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.AssignmentInfo'))+\" \"),(_vm.model.webMode && _vm.model.invitationToken)?_c('a',{attrs:{\"href\":_vm.webInterviewUrl,\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Assignments.StartWebInterview')}})]):_vm._e(),(this.model.isArchived)?_c('span',{staticClass:\"label label-default\"},[_vm._v(_vm._s(_vm.$t('Common.Archived')))]):_vm._e()]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.AssignmentId'))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.model.id))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.Questionnaire'))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.model.questionnaire.title)+\" (\"+_vm._s(_vm.$t('Assignments.QuestionnaireVersion', {version: _vm.model.questionnaire.version} ))+\")\")])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Responsible\"))+\" \")]),(_vm.isInterviewerResponsible)?_c('td',[_c('span',{staticClass:\"interviewer\"},[_c('a',{attrs:{\"href\":_vm.interviewerProfileUrl}},[_vm._v(_vm._s(_vm.model.responsible.name))])])]):_c('td',[_c('span',{staticClass:\"supervisor\"},[_vm._v(_vm._s(_vm.model.responsible.name))])])]),(_vm.model.isHeadquarters)?_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Size\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.quantity))])]):_vm._e(),(_vm.model.isHeadquarters)?_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Count\"))+\" \")]),_c('td',[_c('a',{attrs:{\"href\":_vm.interviewsUrl}},[_vm._v(\" \"+_vm._s(_vm.model.interviewsProvided)+\" \"),_c('span',{staticClass:\"glyphicon glyphicon-link\"})])])]):_vm._e(),(!_vm.model.isHeadquarters)?_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.InterviewsNeeded\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.interviewsCount))])]):_vm._e(),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.IdentifyingQuestions\"))+\" \")]),_c('td',_vm._l((_vm.model.identifyingData),function(question){return _c('div',{key:question.id,staticClass:\"overview-item\"},[_c('div',{staticClass:\"item-content\"},[_c('h4',[_c('span',[_vm._v(_vm._s(question.title))])]),_c('div',{staticClass:\"answer\"},[_c('div',[_vm._v(_vm._s(question.answer))])])])])}),0)]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.UpdatedAt\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.updatedDate))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.CreatedAt\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.createdDate))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(_vm.$t(\"Assignments.IsAudioRecordingEnabled\")))]),_c('td',[_vm._v(_vm._s(_vm.isAudioRecordingEnabled))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Email\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.model.email))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(this.$t(\"Assignments.Password\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.model.password))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.ReceivedByTablet\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.isReceivedByTablet))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(this.$t(\"Assignments.WebMode\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.isWebMode))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(this.$t(\"Assignments.DetailsComments\"))+\" \")]),_c('td',[_vm._v(_vm._s(_vm.model.comments))])]),_c('tr',[_c('td',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.CalendarEvent\"))+\" \")]),_c('td',[_c('div',[_vm._v(\" \"+_vm._s(_vm.calendarEventTime)+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.calendarEventComment)}})])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Details.vue?vue&type=template&id=6f8172e8&\"\nimport script from \"./Details.vue?vue&type=script&lang=js&\"\nexport * from \"./Details.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"fixedWidth\":true,\"hasRow\":false}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"/SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('BatchUpload.CreatingMultipleAssignments')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.QuestionnaireNameFormat', { name : _vm.questionnaire.title, version : _vm.questionnaire.version}))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'questionnairedetails', params: { questionnaireId: _vm.questionnaire.id } },\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Details.ShowQuestionnaireDetails')}})])],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-xs-10 prefilled-data-info info-block\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.UploadDescription'))+\" \"),_c('br'),_c('i',[_vm._v(_vm._s(_vm.$t('BatchUpload.FileTypeDescription')))])])])]),(_vm.questionnaire.identifyingQuestions.length > 0 || _vm.questionnaire.hiddenQuestions > 0 || _vm.questionnaire.rosterSizeQuestions > 0)?_c('div',{staticClass:\"row\"},[(!_vm.showQuestions)?_c('div',{staticClass:\"col-sm-6 col-xs-10 prefilled-data-info info-block short-prefilled-data-info\"},[_c('a',{staticClass:\"list-required-prefilled-data\",attrs:{\"href\":\"javascript:void(0);\"},on:{\"click\":function($event){_vm.showQuestions = true}}},[_vm._v(_vm._s(_vm.$t('BatchUpload.ViewListPreloadedData')))])]):_vm._e(),(_vm.showQuestions)?_c('div',{staticClass:\"col-sm-6 col-xs-10 prefilled-data-info info-block full-prefilled-data-info\"},[(_vm.questionnaire.identifyingQuestions.length > 0)?_c('h3',[_vm._v(_vm._s(_vm.$t('BatchUpload.IdentifyingQuestions')))]):_vm._e(),(_vm.questionnaire.identifyingQuestions.length > 0)?_c('ul',{staticClass:\"list-unstyled prefilled-data\"},_vm._l((_vm.questionnaire.identifyingQuestions),function(item){return _c('li',{key:item.caption},[_vm._v(_vm._s(item.caption))])}),0):_vm._e(),(_vm.questionnaire.hiddenQuestions.length > 0)?_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.HiddenQuestions'))+\" \")]):_vm._e(),(_vm.questionnaire.hiddenQuestions.length > 0)?_c('ul',{staticClass:\"list-unstyled prefilled-data\"},_vm._l((_vm.questionnaire.hiddenQuestions),function(item){return _c('li',{key:item},[_vm._v(_vm._s(item))])}),0):_vm._e(),(_vm.questionnaire.rosterSizeQuestions.length > 0)?_c('h3',[_vm._v(_vm._s(_vm.$t('BatchUpload.RosterSizeQuestions')))]):_vm._e(),(_vm.questionnaire.rosterSizeQuestions.length > 0)?_c('ul',{staticClass:\"list-unstyled prefilled-data\"},_vm._l((_vm.questionnaire.rosterSizeQuestions),function(item){return _c('li',{key:item},[_vm._v(_vm._s(item))])}),0):_vm._e()]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-xs-10 prefilled-data-info info-block full-prefilled-data-info\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('BatchUpload.Select_Responsible')))]),_c('p',[_vm._v(_vm._s(_vm.$t('BatchUpload.Select_Responsible_Description')))]),_c('form-group',{attrs:{\"error\":_vm.errorByResponsible}},[_c('div',{staticClass:\"field form-control\",class:{answered: _vm.responsible != null},staticStyle:{\"padding\":\"0\"}},[_c('Typeahead',{attrs:{\"control-id\":\"responsible\",\"value\":_vm.responsible,\"ajax-params\":{ },\"fetch-url\":_vm.api.responsiblesUrl},on:{\"selected\":_vm.responsibleSelected}})],1)])],1)]),_c('div',{staticClass:\"row flex-row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block prefilled-data-info\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('BatchUpload.SimpleTitle')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.SimpleDescription')))]),_c('h5',[_vm._v(_vm._s(_vm.$t('BatchUpload.SimpleColumnsTitle')))]),_c('p',{staticStyle:{\"margin-left\":\"30px\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('BatchUpload.ColumnsDescription'))}})]),_c('div',[_c('a',{attrs:{\"href\":_vm.api.simpleTemplateDownloadUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.DownloadTabTemplate'))+\" \")]),(_vm.hasUploadProcess)?_c('div',{staticClass:\"progress-wrapper-block\"},[_c('p',{staticClass:\"warning-message\"},[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.UploadInProgress', {userName: _vm.ownerOfCurrentUploadProcess}))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.UploadInProgressDescription'))+\" \")]),_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-info\",style:({ width: _vm.importedAssignmentsInPercents + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"5\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"11\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.importedAssignmentsInPercents)+\"%\")])])]),_c('span',[_vm._v(_vm._s(_vm.$t('UploadUsers.EstimatedTime', {estimatedTime: _vm.estimatedTimeToFinishCurrentProcess })))])]):_vm._e(),(!_vm.hasUploadProcess)?_c('input',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"uploader\",staticClass:\"btn btn-default btn-lg btn-action-questionnaire\",attrs:{\"name\":\"file\",\"accept\":\".tab, .txt, .zip\",\"type\":\"file\"},on:{\"change\":_vm.onSimpleFileSelected}}):_vm._e(),(!_vm.hasUploadProcess)?_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.uploadSimple}},[_vm._v(_vm._s(_vm.$t('BatchUpload.UploadTabFile')))]):_vm._e()])])]),_c('div',{staticClass:\"col-sm-6\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('BatchUpload.BatchTitle')))]),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('BatchUpload.BatchDescription'))}}),_c('h5',[_vm._v(_vm._s(_vm.$t('BatchUpload.BatchColumnsTitle')))]),_c('p',{staticStyle:{\"margin-left\":\"30px\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('BatchUpload.ColumnsDescription'))}})]),_c('div',[_c('a',{attrs:{\"href\":_vm.api.templateDownloadUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.DownloadTemplateArchive'))+\" \")]),(!_vm.hasUploadProcess)?_c('input',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"uploaderAdvanced\",staticClass:\"btn btn-default btn-lg btn-action-questionnaire\",attrs:{\"name\":\"file\",\"accept\":\".zip\",\"type\":\"file\"},on:{\"change\":_vm.onAdvancedFileSelected}}):_vm._e(),(!_vm.hasUploadProcess)?_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.uploadAdvanced}},[_vm._v(_vm._s(_vm.$t('BatchUpload.UploadZipFile')))]):_vm._e()])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4 col-sm-5 text-page\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.manualModeDescription)}})])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=005c5a6f&\"\nimport script from \"./Index.vue?vue&type=script&lang=js&\"\nexport * from \"./Index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])]),_c('li',[_c('a',{attrs:{\"href\":_vm.assignmentsUploadUrl}},[_vm._v(_vm._s(_vm.$t('BatchUpload.BreadCrumbs_CreatingMultipleInterviews')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('BatchUpload.ImportAssignments_PageTitle')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.ImportFrom', { fileName: _vm.fileName, title: _vm.$t('Pages.QuestionnaireNameFormat', { name: _vm.questionnaire.title, version: _vm.questionnaire.version }) }))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'questionnairedetails', params: { questionnaireId: _vm.questionnaire.id } },\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Details.ShowQuestionnaireDetails')}})])],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.BatchFileVerificationFailed')))]),_c('p',[_vm._v(_vm._s(_vm.$t('BatchUpload.AssignmentsAreNotCreated')))])]),(_vm.verificationErrors.length == 1)?_c('h3',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.SingleErrorFound')))]):_c('h3',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.MultipleErrorsWereFound', {count: _vm.verificationErrors.length})))]),_vm._l((_vm.verificationErrors),function(error,index){return _c('div',{key:index,staticClass:\"error-block\"},[_c('h5',{staticClass:\"error-text\"},[_c('span',[_vm._v(_vm._s(error.code))]),_vm._v(\" : \"+_vm._s(error.message)+\" \")]),_vm._l((error.references),function(reference,index){return _c('div',{key:index},[_c('p',[_vm._v(_vm._s(_vm.$t('BatchUpload.FileName'))+\": \"+_vm._s(reference.dataFile))]),(!_vm.isEmptyText(reference.content))?_c('p',[(reference.type == 0)?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Column'))+\": \"+_vm._s(reference.content))]):_vm._e(),(reference.type == 1)?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Row'))+\": \"+_vm._s(reference.content))]):_vm._e(),(reference.type == 2)?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Cell'))+\": \"+_vm._s(reference.content))]):_vm._e(),(reference.type == 3)?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.File'))+\": \"+_vm._s(reference.content))]):_c('span',[_vm._v(_vm._s(reference.type)+\": \"+_vm._s(reference.content))]),_vm._v(\" ( \"),(!_vm.isEmptyText(reference.column))?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Column'))+\": \"+_vm._s(reference.column)+\",\")]):_vm._e(),(reference.row!=null)?_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Row'))+\": \"+_vm._s(reference.row))]):_vm._e(),_vm._v(\") \")]):_vm._e()])})],2)}),_c('div',{staticClass:\"action-buttons\"},[_c('a',{staticClass:\"back-link\",attrs:{\"href\":_vm.assignmentsUploadUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.BackToImport'))+\" \")])])],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Errors.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Errors.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Errors.vue?vue&type=template&id=293677a4&\"\nimport script from \"./Errors.vue?vue&type=script&lang=js&\"\nexport * from \"./Errors.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])]),_c('li',[_c('a',{attrs:{\"href\":_vm.assignmentsUploadUrl}},[_vm._v(_vm._s(_vm.$t('BatchUpload.BreadCrumbs_CreatingMultipleInterviews')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('BatchUpload.CreatingMultipleAssignments')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.Import_VerificationOfAssignments_ForQuestionnaire', { title: _vm.$t('Pages.QuestionnaireNameFormat', { name: _vm.questionnaire.title, version: _vm.questionnaire.version }) }))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'questionnairedetails', params: { questionnaireId: _vm.questionnaire.id } },\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Details.ShowQuestionnaireDetails')}})])],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_VerificationOfDataFile_Succeeded')))])]),_c('div',{staticClass:\"import-progress\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.Import_VerificationOfAssignmentData'))+\" \"),_c('span',[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_VerificationOfDataFile_Progress', { verifiedCount: _vm.status.verifiedCount, totalCount: _vm.status.totalCount})))])]),(_vm.status.verifiedCount > 0 && ((_vm.status.verifiedCount - _vm.status.withErrorsCount) == 1))?_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_Verification_1_AssignmentVerified')))]):_vm._e(),(_vm.status.verifiedCount > 0 && ((_vm.status.verifiedCount - _vm.status.withErrorsCount) > 1))?_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_Verification_AssignmentsVerified', {count: _vm.status.verifiedCount - _vm.status.withErrorsCount})))]):_vm._e(),(_vm.status.withErrorsCount == 0)?_c('p',{staticClass:\"default-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.ImportInterviews_NoneFailed')))]):_vm._e(),(_vm.status.withErrorsCount == 1)?_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_Verification_1_Error')))]):_vm._e(),(_vm.status.withErrorsCount > 1)?_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.Import_Verification_Errors', {count: _vm.status.withErrorsCount})))]):_vm._e()]),_c('div',{staticClass:\"cancelable-progress\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-success\",style:({ width: (100 * _vm.status.verifiedCount/_vm.status.totalCount) + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":_vm.status.verifiedCount,\"aria-valuemin\":\"0\",\"aria-valuemax\":_vm.status.totalCount}},[_c('span',{staticClass:\"sr-only\"})])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Verification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Verification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Verification.vue?vue&type=template&id=0b142870&\"\nimport script from \"./Verification.vue?vue&type=script&lang=js&\"\nexport * from \"./Verification.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])]),_c('li',[_c('a',{attrs:{\"href\":_vm.assignmentsUploadUrl}},[_vm._v(_vm._s(_vm.$t('BatchUpload.BreadCrumbs_CreatingMultipleInterviews')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('BatchUpload.CreatingMultipleAssignments')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.ImportAssignmentsFor', { title: _vm.$t('Pages.QuestionnaireNameFormat', { name: _vm.questionnaire.title, version: _vm.questionnaire.version }) }))+\" \"),_c('router-link',{attrs:{\"to\":{ name: 'questionnairedetails', params: { questionnaireId: _vm.questionnaire.id } },\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Details.ShowQuestionnaireDetails')}})])],1)])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block\"},[_c('div',{staticClass:\"import-progress\"},[(_vm.isInProgress)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('BatchUpload.Importing'))+\" \"+_vm._s(_vm.$t('BatchUpload.ImportProgressFormat', {createdCount:_vm.status.processedCount, totalCount:_vm.status.totalCount}))+\" \")]):_vm._e(),(!_vm.isInProgress)?_c('p',[_vm._v(_vm._s(_vm.$t('BatchUpload.ImportInterviews_Done')))]):_vm._e(),(_vm.processedWithoutErrorsCount == 1)?_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.SingleAssignmentCreated')))]):_vm._e(),(_vm.processedWithoutErrorsCount > 1)?_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.MultipleAssignmentsCreated', {count:_vm.processedWithoutErrorsCount})))]):_vm._e(),(_vm.status.withErrorsCount == 0)?_c('p',{staticClass:\"default-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.ImportInterviews_NoneFailed')))]):_vm._e(),(_vm.status.withErrorsCount == 1)?_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.SingleAssignmentFailedToBeCreated')))]):_vm._e(),(_vm.status.withErrorsCount > 1)?_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('BatchUpload.MultipleAssignmentFailedToBeCreated', {count:_vm.status.withErrorsCount})))]):_vm._e()]),(!_vm.isInProgress && _vm.status.withErrorsCount > 0)?_c('a',{attrs:{\"href\":_vm.model.api.invalidAssignmentsUrl}},[_vm._v(_vm._s(_vm.$t('BatchUpload.DownloadInvalidAssignments')))]):_vm._e(),(_vm.isInProgress)?_c('div',{staticClass:\"cancelable-progress\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-success\",style:({ width: (100 * _vm.status.processedCount/_vm.status.totalCount) + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":_vm.status.processedCount,\"aria-valuemin\":\"0\",\"aria-valuemax\":_vm.status.totalCount}},[_c('span',{staticClass:\"sr-only\"})])])]):_c('div',{staticClass:\"action-buttons\"},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"../../../Assignments\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.Assignments')))]),_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"../../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":_vm.assignmentsUploadUrl}},[_vm._v(_vm._s(_vm.$t('BatchUpload.BackToImport')))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Progress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Progress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Progress.vue?vue&type=template&id=4db95c67&\"\nimport script from \"./Progress.vue?vue&type=script&lang=js&\"\nexport * from \"./Progress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n state: {\r\n interview: {},\r\n isLoaded: false,\r\n },\r\n\r\n actions: {\r\n loadTakeNew({ commit }, { interviewId }) {\r\n const details = Vue.$api.interview.get('getInterviewDetails', { interviewId })\r\n .then(interviewDetails => {\r\n commit('SET_INTERVIEW_DETAILS', interviewDetails)\r\n })\r\n\r\n const question = Vue.$api.interview.get('getPrefilledQuestions', { interviewId }).then(data => {\r\n commit('SET_SECTION_DATA', data)\r\n commit('SET_TAKENEW_RESPONSE', data)\r\n })\r\n\r\n Vue.$api.hub.changeSection(null)\r\n return Promise.all([details, question])\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_TAKENEW_RESPONSE(state, data) {\r\n state.isLoaded = true\r\n },\r\n SET_INTERVIEW_DETAILS(state, data) {\r\n state.interview = data\r\n },\r\n },\r\n\r\n getters: {\r\n pickLocationAllowed() {\r\n return true\r\n },\r\n },\r\n}\r\n","export default {\r\n state: {\r\n fileName: '',\r\n verificationErrors: [],\r\n progress: null,\r\n },\r\n\r\n actions: {\r\n setUploadFileName({ commit }, fileName) {\r\n commit('SET_FILE_NAME', fileName)\r\n },\r\n setUploadVerificationErrors({ commit }, errors) {\r\n commit('SET_VERIFICATION_ERRORS', errors)\r\n },\r\n setUploadStatus({ commit, dispatch }, status) {\r\n dispatch('setUploadFileName', status.fileName)\r\n commit('SET_STATUS', status)\r\n },\r\n setUploadCompleteStatus({ commit }, status) {\r\n commit('SET_COMPLETE_STATUS', status)\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_FILE_NAME(state, fileName) {\r\n state.fileName = fileName\r\n },\r\n SET_VERIFICATION_ERRORS(state, errors) {\r\n state.verificationErrors = errors\r\n },\r\n SET_STATUS(state, status) {\r\n state.progress = status\r\n },\r\n },\r\n\r\n getters: {\r\n upload(state) {\r\n return state\r\n },\r\n },\r\n}\r\n","import webinterview from '~/webinterview/store'\r\nimport takeNew from './takenew'\r\nimport upload from './upload'\r\n\r\nconst store = {\r\n modules: {\r\n takeNew,\r\n },\r\n\r\n actions: {\r\n\r\n },\r\n getters: {\r\n isReviewMode() {\r\n return false\r\n },\r\n isTakeNewAssignment() {\r\n return true\r\n },\r\n },\r\n}\r\n\r\nexport default {\r\n webinterview,\r\n takeNew: store,\r\n upload,\r\n}\r\n","import Layout from './Layout'\r\nimport Assignments from './HqAssignments'\r\nimport Details from './Details'\r\nimport Upload from './Upload/Index'\r\nimport UploadErrors from './Upload/Errors'\r\nimport UploadVerification from './Upload/Verification'\r\nimport UploadProgress from './Upload/Progress'\r\nimport localStore from './store'\r\n\r\nimport config from '~/shared/config'\r\n\r\nimport Vue from 'vue'\r\nexport default class AssignmentsComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n var self = this\r\n return [\r\n {\r\n path: '/HQ/TakeNewAssignment/:interviewId',\r\n component: () => import(/* webpackChunkName: \"review\" */'./CreateNew'),\r\n },\r\n {\r\n path: '/Assignments', component: Layout,\r\n children: [\r\n {\r\n path: '', component: Assignments,\r\n },\r\n {\r\n path: ':assignmentId', component: Details,\r\n },\r\n {\r\n path: 'Upload', component: Layout,\r\n children: [\r\n\r\n {\r\n path: ':questionnaireId',\r\n component: Upload,\r\n name: 'assignments-upload',\r\n beforeEnter: (to, from, next) => {\r\n Vue.$http\r\n .get(config.model.api.importStatusUrl)\r\n .then(response => {\r\n if (response.data) {\r\n self.rootStore.dispatch('setUploadStatus', response.data)\r\n }\r\n\r\n if (response.data != null && response.data.isOwnerOfRunningProcess) {\r\n var isVerification = response.data.processStatus == 'Verification'\r\n var isImport = response.data.processStatus == 'Import'\r\n if (isVerification)\r\n next({ name: 'assignments-upload-verification', params: { questionnaireId: response.data.questionnaireIdentity.id } })\r\n else if (isImport)\r\n next({ name: 'assignments-upload-progress', params: { questionnaireId: response.data.questionnaireIdentity.id } })\r\n else if (to.params.questionnaireId != response.data.questionnaireIdentity.id && (isVerification || isImport))\r\n window.location.href = '/' + Vue.$config.workspace + '/Assignments/Upload/' + response.data.questionnaireIdentity.id\r\n else next()\r\n }\r\n else next()\r\n })\r\n .catch(() => next())\r\n },\r\n },\r\n {\r\n path: ':questionnaireId/Errors',\r\n component: UploadErrors,\r\n name: 'assignments-upload-errors',\r\n beforeEnter: (to, from, next) => {\r\n if (self.rootStore.getters.upload.fileName == '')\r\n next({ name: 'assignments-upload', params: { questionnaireId: to.params.questionnaireId } })\r\n else next()\r\n },\r\n },\r\n {\r\n path: ':questionnaireId/Verification',\r\n component: UploadVerification,\r\n name: 'assignments-upload-verification',\r\n beforeEnter: (to, from, next) => {\r\n Vue.$http\r\n .get(config.model.api.importStatusUrl)\r\n .then(response => {\r\n self.rootStore.dispatch('setUploadStatus', response.data)\r\n if (response.data != null && response.data.isOwnerOfRunningProcess) {\r\n if (response.data.processStatus == 'Import' || response.data.processStatus == 'ImportCompleted')\r\n next({ name: 'assignments-upload-progress', params: { questionnaireId: response.data.questionnaireIdentity.id } })\r\n else next()\r\n } else\r\n next({ name: 'assignments-upload', params: { questionnaireId: to.params.questionnaireId } })\r\n })\r\n .catch(() => next({\r\n name: 'assignments-upload', params: { questionnaireId: to.params.questionnaireId },\r\n }))\r\n },\r\n },\r\n {\r\n path: ':questionnaireId/Progress',\r\n component: UploadProgress,\r\n name: 'assignments-upload-progress',\r\n beforeEnter: (to, from, next) => {\r\n Vue.$http\r\n .get(config.model.api.importStatusUrl)\r\n .then(response => {\r\n self.rootStore.dispatch('setUploadStatus', response.data)\r\n if (response.data != null && response.data.isOwnerOfRunningProcess) {\r\n if (response.data.processStatus == 'Verification')\r\n next({ name: 'assignments-upload-verification', params: { questionnaireId: response.data.questionnaireIdentity.id } })\r\n else next()\r\n } else\r\n next({ name: 'assignments-upload', params: { questionnaireId: to.params.questionnaireId } })\r\n })\r\n .catch(() => next({\r\n name: 'assignments-upload', params: { questionnaireId: to.params.questionnaireId },\r\n }))\r\n },\r\n },\r\n ],\r\n\r\n },\r\n ],\r\n }]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n }\r\n\r\n get modules() {\r\n return localStore\r\n }\r\n}\r\n","const AdministrationLayout = () => import( /* webpackChunkName: \"diagnostics\" */ './AdministrationLayout')\r\nconst Diagnostics = () => import( /* webpackChunkName: \"diagnostics\" */ './Diagnostics')\r\n\r\nexport default class MapComponent {\r\n get routes() {\r\n return [\r\n {\r\n path: '/Administration',\r\n component: AdministrationLayout,\r\n children: [\r\n {\r\n path: 'Diagnostics',\r\n component: Diagnostics,\r\n },\r\n ],\r\n },\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$t('Pages.InterviewersAndDevicesTitle'),\"subtitle\":_vm.$t('Pages.InterviewersAndDevicesSubtitle'),\"hasSearch\":true}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[(_vm.supervisorId)?_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.interviewersAndDevicesUrl}},[_c('span',{staticClass:\"glyphicon glyphicon-arrow-left\"}),_vm._v(\" \"+_vm._s(_vm.$t('PeriodicStatusReport.BackToTeams'))+\" \")]):_vm._e()]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"exportable\":\"\",\"hasTotalRow\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewersAndDevices.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewersAndDevices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterviewersAndDevices.vue?vue&type=template&id=9743c758&\"\nimport script from \"./InterviewersAndDevices.vue?vue&type=script&lang=js&\"\nexport * from \"./InterviewersAndDevices.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true,\"title\":_vm.$t('Pages.StatusDuration'),\"subtitle\":_vm.$t('Pages.StatusDurationDescription')}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"fetch-url\":_vm.$config.model.questionnairesUrl},on:{\"selected\":_vm.selectQuestionnaire}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{ref:\"questionnaireIdControl\",attrs:{\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"value\":_vm.questionnaireVersion,\"fetch-url\":_vm.questionnaireVersionFetchUrl,\"disabled\":_vm.questionnaireVersionFetchUrl == null},on:{\"selected\":_vm.questionnaireVersionSelected}})],1),(!_vm.$config.model.isSupervisorMode)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Strings.Teams')}},[_c('Typeahead',{attrs:{\"control-id\":\"teams\",\"placeholder\":_vm.$t('Strings.AllTeams'),\"value\":_vm.supervisorId,\"ajax-params\":_vm.supervisorsParams,\"fetch-url\":_vm.supervisorsUrl,\"data-vv-name\":\"UserId\",\"data-vv-as\":\"UserName\"},on:{\"selected\":_vm.selectSupervisor}})],1):_vm._e()],1),_c('div',{staticClass:\"clearfix\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h4',[_vm._v(_vm._s(this.questionnaireId == null ? _vm.$t('Common.AllQuestionnaires') : this.questionnaireId.value)+\", \"+_vm._s(this.questionnaireVersion == null ? _vm.$t('Common.AllVersions').toLowerCase() : this.questionnaireVersion.value))])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addFilteringParams,\"noPaging\":\"\",\"noSearch\":\"\",\"exportable\":\"\"}},[_c('tr',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('th',{staticClass:\"vertical-align-middle text-center\",attrs:{\"rowspan\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Strings.Days\"))+\" \")]),_c('th',{staticClass:\"type-numeric sorting_disabled text-center\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.$t(\"Strings.Assignments\")))]),_c('th',{staticClass:\"type-numeric sorting_disabled text-center\",attrs:{\"colspan\":\"5\"}},[_vm._v(_vm._s(_vm.$t(\"Strings.Interviews\")))])]),_c('tr',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('th'),_c('th'),_c('th'),_c('th'),_c('th'),_c('th'),_c('th')])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusDuration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusDuration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusDuration.vue?vue&type=template&id=b1241534&\"\nimport script from \"./StatusDuration.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusDuration.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true,\"hasHeader\":false}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"no-clear\":\"\",\"placeholder\":_vm.$t('Common.SelectQuestionnaire'),\"value\":_vm.selectedQuestionnaireId,\"values\":_vm.questionnaires},on:{\"selected\":_vm.selectQuestionnaire}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"value\":_vm.selectedVersion,\"values\":_vm.selectedQuestionnaireId == null ? null : _vm.selectedQuestionnaireId.versions,\"disabled\":_vm.selectedQuestionnaireId == null},on:{\"selected\":_vm.selectQuestionnaireVersion}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.Variables')}},[_c('Typeahead',{attrs:{\"control-id\":\"gpsQuestion\",\"placeholder\":_vm.$t('Common.AllGpsQuestions'),\"no-search\":\"\",\"no-clear\":\"\",\"values\":_vm.gpsQuestions,\"value\":_vm.selectedQuestion},on:{\"selected\":_vm.selectGpsQuestion}})],1),_c('FilterBlock',[_c('div',{staticClass:\"center-block\"},[_c('Checkbox',{attrs:{\"label\":_vm.$t('Reports.HeatMapView'),\"name\":\"pivot\"},model:{value:(_vm.showHeatmap),callback:function ($$v) {_vm.showHeatmap=$$v},expression:\"showHeatmap\"}})],1)]),(_vm.showHeatmap)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.HeatRadius')}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.heatMapOptions.radius),expression:\"heatMapOptions.radius\"}],staticClass:\"slider\",attrs:{\"type\":\"range\",\"min\":\"1\",\"max\":\"200\",\"value\":\"50\",\"id\":\"myRange\"},domProps:{\"value\":(_vm.heatMapOptions.radius)},on:{\"change\":_vm.updateHeatMap,\"__r\":function($event){return _vm.$set(_vm.heatMapOptions, \"radius\", $event.target.value)}}})]):_vm._e(),(_vm.isLoading)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.MapDataLoading')}},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-striped active\",staticStyle:{\"width\":\"100%\"},attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"100\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])]):_vm._e(),_c('InterviewFilter',{attrs:{\"slot\":\"additional\",\"questionnaireId\":_vm.where.questionnaireId,\"questionnaireVersion\":_vm.where.questionnaireVersion,\"value\":_vm.conditions,\"exposedValuesFilter\":_vm.exposedValuesFilter},on:{\"change\":_vm.questionFilterChanged,\"changeFilter\":_vm.changeExposedValuesFilter},slot:\"additional\"}),_c('div',{staticClass:\"preset-filters-container\"},[_c('div',{staticClass:\"center-block\",staticStyle:{\"margin-left\":\"0\"}},[(_vm.readyToUpdate)?_c('button',{staticClass:\"btn btn-default btn-lg\",attrs:{\"id\":\"reloadMarkersInBounds\"},on:{\"click\":_vm.reloadMarkersInBounds}},[_vm._v(_vm._s(_vm.$t(\"MapReport.ReloadMarkers\")))]):_vm._e()])])],1),_c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{ref:\"tooltip\"},[_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.InterviewKey\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.interviewKey)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Responsible\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.interviewerName)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Users.Supervisor\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.supervisorName)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Status\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.lastStatus)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Reports.LastUpdatedDate\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.lastUpdatedDate)+\" \")]),_c('div',{staticClass:\"row-fluid\",staticStyle:{\"white-space\":\"nowrap\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"MapReport.ViewInterviewContent\"))+\":\")]),_vm._v(\"  \"),_c('a',{attrs:{\"href\":_vm.api.GetInterviewDetailsUrl(_vm.selectedTooltip.interviewId),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"MapReport.details\")))])])])]),_c('div',{attrs:{\"id\":\"map-canvas\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapReport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapReport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapReport.vue?vue&type=template&id=d28d4da4&\"\nimport script from \"./MapReport.vue?vue&type=script&lang=js&\"\nexport * from \"./MapReport.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MapReport.vue?vue&type=style&index=0&id=d28d4da4&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"has-filter\":\"\",\"title\":_vm.$t('MainMenu.SurveyStatistics'),\"subtitle\":_vm.$t('Pages.SurveyStatisticsDescription')}},[_c('div',{staticClass:\"clearfix\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h4',[_vm._v(_vm._s(this.filter.questionnaire == null ? _vm.$t('Common.AllQuestionnaires') : this.filter.questionnaire.Title)+\", \"+_vm._s(this.filter.version == null ? _vm.$t('Common.AllVersions').toLowerCase() : ('ver. ' + this.filter.version)))])])]),_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('QuestionDetail',{attrs:{\"question\":_vm.filter.question,\"title\":_vm.$t('Reports.Question')}})],1),_c('div',{staticClass:\"col-md-6\"},[_c('QuestionDetail',{attrs:{\"question\":_vm.filter.condition,\"title\":_vm.$t('Reports.ConditionQuestion')}})],1)])]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('SurveyStatisticsFilter',{attrs:{\"isSupervisor\":_vm.isSupervisor},on:{\"input\":_vm.filterChanged,\"mounted\":_vm.filtersLoaded}})],1),(_vm.warnings.length > 0)?_c('div',{staticClass:\"alert-warning\"},[_vm._v(_vm._s(_vm.$t('Reports.QuestionnaireCompatibilityIssues_UnknownAnswer')))]):_vm._e(),(_vm.isFiltersLoaded)?_c('DataTables',{ref:\"table\",attrs:{\"noSearch\":\"\",\"exportable\":\"\",\"multiorder\":\"\",\"hasTotalRow\":\"\",\"noSelect\":\"\",\"tableOptions\":_vm.tableOptions,\"pageLength\":_vm.isPivot ? this.filter.condition.Answers.length : 15,\"addParamsToRequest\":_vm.addFilteringParams},on:{\"ajaxComplete\":_vm.onTableReload}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.question != null)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.title))]),_c('ol',{staticClass:\"breadcrumb\"},_vm._l((_vm.question.Breadcrumbs),function(breadcrumb){return _c('li',{key:breadcrumb,staticClass:\"btn-link\"},[_vm._v(_vm._s(breadcrumb)+\" \")])}),0),(_vm.question)?_c('dl',[(_vm.question.Label)?_c('dt',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reports.QuestionLabel\"))+\": \")]):_vm._e(),(_vm.question.Label)?_c('dd',{domProps:{\"innerHTML\":_vm._s(_vm.question.Label)}}):_vm._e(),_c('dt',[_vm._v(_vm._s(_vm.$t(\"Reports.QuestionText\"))+\":\")]),_c('dd',[_vm._v(_vm._s(_vm.question.QuestionText))])]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionDetail.vue?vue&type=template&id=209525b9&\"\nimport script from \"./QuestionDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionDetail.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaire\",\"placeholder\":_vm.selectedQuestionnairePlaceholder,\"noClear\":\"\",\"values\":_vm.questionnaireList,\"value\":_vm.selectedQuestionnaire,\"forceLoadingState\":_vm.loading.questionnaire},on:{\"selected\":_vm.selectQuestionnaire}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"version\",\"placeholder\":_vm.$t('Common.AllVersions'),\"noSearch\":\"\",\"values\":_vm.questionnaireVersionsList,\"value\":_vm.selectedQuestionnaireVersion,\"forceLoadingState\":_vm.loading.questionnaire,\"disabled\":_vm.selectedQuestionnaire == null},on:{\"selected\":_vm.selectQuestionnaireVersion}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Status')}},[_c('Typeahead',{attrs:{\"control-id\":\"status\",\"selectedKey\":_vm.selectedStatus,\"data-vv-name\":\"status\",\"data-vv-as\":\"status\",\"placeholder\":_vm.$t('Common.AllStatuses'),\"value\":_vm.status,\"values\":_vm.statuses},on:{\"selected\":_vm.statusSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.Question')}},[_c('Typeahead',{attrs:{\"control-id\":\"question\",\"placeholder\":_vm.selectedQuestionPlaceholder,\"noClear\":\"\",\"forceLoadingState\":_vm.loading.questions,\"values\":_vm.questionsList,\"value\":_vm.selectedQuestion},on:{\"selected\":_vm.selectQuestion}})],1),(!_vm.isSupervisor && this.question != null)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.ViewOptions')}},[_c('div',{staticClass:\"options-group\"},[_c('Radio',{attrs:{\"label\":_vm.$t('Reports.TeamLeadsOnly'),\"radioGroup\":false,\"name\":\"expandTeams\",\"value\":_vm.expandTeams},on:{\"input\":_vm.radioChanged}}),_c('Radio',{attrs:{\"label\":_vm.$t('Reports.WithInterviewers'),\"radioGroup\":true,\"name\":\"expandTeams\",\"value\":_vm.expandTeams},on:{\"input\":_vm.radioChanged}})],1)]):_vm._e(),(_vm.question && _vm.question.Type == 'Numeric')?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.ByAnswerValue')}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-6\"},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('min')},attrs:{\"title\":_vm.errors.first('min')}},[_c('label',{attrs:{\"for\":\"min\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reports.Min\"))+\" \")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate.initial\",value:({ max_value: _vm.max || Number.MAX_VALUE }),expression:\"{ max_value: max || Number.MAX_VALUE }\",modifiers:{\"initial\":true}}],staticClass:\"form-control input-sm\",attrs:{\"type\":\"number\",\"name\":\"min\",\"placeholder\":_vm.$t('Reports.Min')},domProps:{\"value\":_vm.min},on:{\"input\":_vm.inputChange}})])]),_c('div',{staticClass:\"col-xs-6\"},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('max')},attrs:{\"title\":_vm.errors.first('max')}},[_c('label',{attrs:{\"for\":\"max\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reports.Max\"))+\" \")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate.initial\",value:({ min_value: _vm.min || Number.MIN_VALUE }),expression:\"{ min_value: min || Number.MIN_VALUE }\",modifiers:{\"initial\":true}}],staticClass:\"form-control input-sm\",attrs:{\"type\":\"number\",\"placeholder\":_vm.$t('Reports.Max'),\"name\":\"max\"},domProps:{\"value\":_vm.max},on:{\"input\":_vm.inputChange}})])])])]):_vm._e(),(_vm.question != null && _vm.question.SupportConditions)?[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.ConditionQuestion')}},[_c('Typeahead',{attrs:{\"control-id\":\"condition\",\"placeholder\":_vm.$t('Reports.SelectConditionQuestion'),\"values\":_vm.conditionVariablesList,\"value\":_vm.selectedCondition},on:{\"selected\":_vm.selectCondition}})],1),(_vm.condition != null)?[_c('Checkbox',{attrs:{\"label\":_vm.$t('Reports.PivotView'),\"name\":\"pivot\",\"value\":_vm.query.pivot},on:{\"input\":_vm.pivotChanged}}),(!_vm.query.pivot)?_c('ul',{staticClass:\"list-group small\"},_vm._l((_vm.condition.Answers),function(answer){return _c('li',{key:answer.Answer,staticClass:\"list-group-item pointer\",class:{ 'list-group-item-success': _vm.isSelectedAnswer(answer.Answer)},on:{\"click\":function($event){return _vm.selectConditionAnswer(answer.Answer)}}},[_vm._v(_vm._s(answer.Answer)+\". \"+_vm._s(answer.Text))])}),0):_vm._e()]:_vm._e()]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyStatisticsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyStatisticsFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SurveyStatisticsFilter.vue?vue&type=template&id=85b5c132&\"\nimport script from \"./SurveyStatisticsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./SurveyStatisticsFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyStatistics.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyStatistics.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SurveyStatistics.vue?vue&type=template&id=ee27727c&\"\nimport script from \"./SurveyStatistics.vue?vue&type=script&lang=js&\"\nexport * from \"./SurveyStatistics.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$config.model.reportName,\"subtitle\":_vm.$config.model.subtitle,\"hasFilter\":true}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{ref:\"questionnaireIdControl\",attrs:{\"control-id\":\"questionnaireId\",\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"fetch-url\":_vm.$config.model.questionnairesUrl},on:{\"selected\":_vm.questionnaireSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{ref:\"questionnaireVersionControl\",attrs:{\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"value\":_vm.questionnaireVersion,\"fetch-url\":_vm.questionnaireVersionFetchUrl,\"disabled\":_vm.questionnaireVersionFetchUrl == null},on:{\"selected\":_vm.questionnaireVersionSelected}})],1)],1),_c('div',{staticClass:\"clearfix\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h4',[_vm._v(_vm._s(this.questionnaireId == null ? _vm.$t('Common.AllQuestionnaires') : this.questionnaireId.value)+\", \"+_vm._s(this.questionnaireVersion == null ? _vm.$t('Common.AllVersions').toLowerCase() : this.questionnaireVersion.value))])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addFilteringParams,\"no-search\":true,\"exportable\":\"\",\"hasTotalRow\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamsAndStatuses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamsAndStatuses.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TeamsAndStatuses.vue?vue&type=template&id=21cd33d4&\"\nimport script from \"./TeamsAndStatuses.vue?vue&type=script&lang=js&\"\nexport * from \"./TeamsAndStatuses.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true,\"title\":_vm.$t('Reports.CumulativeInterviewChart'),\"subtitle\":_vm.$t('Reports.CumulativeInterviewChartSubtitle')}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.selectedQuestionnaire,\"values\":_vm.model.templates},on:{\"selected\":_vm.selectQuestionnaire}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"value\":_vm.selectedVersion,\"values\":_vm.selectedQuestionnaire == null ? null : _vm.selectedQuestionnaire.versions,\"disabled\":_vm.selectedQuestionnaire == null},on:{\"selected\":_vm.selectQuestionnaireVersion}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.DatesRange')}},[_c('DatePicker',{attrs:{\"config\":_vm.datePickerConfig,\"value\":_vm.selectedDateRange}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.QuickRanges')}},[_c('ul',{staticClass:\"list-group small\"},_vm._l((_vm.quickRanges),function(range){return _c('li',{key:range.title,staticClass:\"list-group-item pointer\",class:{ 'list-group-item-success': _vm.isSelectedRange(range)},on:{\"click\":function($event){return _vm.quickRange(range)}}},[_vm._v(_vm._s(range.title))])}),0),_c('Checkbox',{attrs:{\"name\":\"relativeRange\",\"label\":_vm.$t('Reports.RangeRelativeToData')},model:{value:(_vm.relativeToData),callback:function ($$v) {_vm.relativeToData=$$v},expression:\"relativeToData\"}})],1)],1),_c('div',{staticClass:\"clearfix\"},[_c('div',{staticClass:\"col-sm-8\"},[(!_vm.hasData)?_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('Common.NoResultsFound'))+\" \")]):_vm._e()])]),_c('LineChart',{ref:\"chart\",attrs:{\"id\":\"interviewChart\",\"options\":{\n title: {\n display: true,\n text: this.chartTitle\n }\n }},on:{\"ready\":_vm.chartUpdated,\"mounted\":_vm.refreshData}}),(_vm.base64Encoded != null && _vm.hasData)?_c('div',[_c('a',{attrs:{\"id\":\"link\",\"download\":_vm.$t('Reports.CumulativeInterviewChart') + ' (' + _vm.chartTitle + ').png'},on:{\"click\":function($event){return _vm.downloadAsImage()}}},[_vm._v(_vm._s(_vm.$t(\"Reports.SaveAsImage\")))])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CumulativeChartReport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CumulativeChartReport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CumulativeChartReport.vue?vue&type=template&id=10ed259e&\"\nimport script from \"./CumulativeChartReport.vue?vue&type=script&lang=js&\"\nexport * from \"./CumulativeChartReport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$t('Pages.SurveysAndStatuses_Overview'),\"subtitle\":_vm.$t('Pages.SurveysAndStatuses_HeadquartersDescription'),\"hasFilter\":true}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[(_vm.questionnaireId != null)?_c('p',[_c('a',{attrs:{\"id\":\"lnkBackToQuestionnaires\",\"href\":_vm.$config.model.selfUrl}},[_vm._v(_vm._s(_vm.$t('Reports.ToAllQuestionnaires')))])]):_vm._e()]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.SurveysAndStatuses_SupervisorTitle')}},[_c('Typeahead',{ref:\"responsibleIdControl\",attrs:{\"control-id\":\"responsibleSelector\",\"data-vv-name\":\"responsibleId\",\"data-vv-as\":\"responsible\",\"placeholder\":_vm.$t('Strings.AllTeams'),\"value\":_vm.responsible,\"fetch-url\":_vm.$config.model.responsiblesUrl},on:{\"selected\":_vm.selectResponsible}})],1)],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addFilteringParams,\"no-search\":true,\"exportable\":\"\",\"hasTotalRow\":_vm.questionnaireId != null}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveysAndStatuses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveysAndStatuses.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SurveysAndStatuses.vue?vue&type=template&id=292f243e&\"\nimport script from \"./SurveysAndStatuses.vue?vue&type=script&lang=js&\"\nexport * from \"./SurveysAndStatuses.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$t('Pages.SurveysAndStatuses_Overview'),\"subtitle\":_vm.$t('Pages.SurveysAndStatuses_SupervisorDescription'),\"hasFilter\":true}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[(_vm.questionnaireId != null)?_c('p',[_c('a',{attrs:{\"id\":\"lnkBackToQuestionnaires\",\"href\":_vm.$config.model.selfUrl}},[_vm._v(_vm._s(_vm.$t('Reports.ToAllQuestionnaires')))])]):_vm._e()]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.SurveysAndStatuses_InterviewerTitle')}},[_c('Typeahead',{ref:\"responsibleIdControl\",attrs:{\"control-id\":\"responsibleSelector\",\"data-vv-name\":\"responsibleId\",\"data-vv-as\":\"responsible\",\"placeholder\":_vm.$t('Strings.AllInterviewers'),\"value\":_vm.responsible,\"fetch-url\":_vm.$config.model.responsiblesUrl},on:{\"selected\":_vm.selectResponsible}})],1)],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addFilteringParams,\"no-search\":true,\"exportable\":\"\",\"hasTotalRow\":_vm.questionnaireId != null}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveysAndStatusesForSv.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveysAndStatusesForSv.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SurveysAndStatusesForSv.vue?vue&type=template&id=2b62678d&\"\nimport script from \"./SurveysAndStatusesForSv.vue?vue&type=script&lang=js&\"\nexport * from \"./SurveysAndStatusesForSv.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.title,\"subtitle\":_vm.reportDescription,\"hasFilter\":true}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[(this.model.canNavigateToQuantityBySupervisors)?_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.getSupervisorsUrl}},[_c('span',{staticClass:\"glyphicon glyphicon-arrow-left\"}),_vm._v(\" \"+_vm._s(_vm.$t('PeriodicStatusReport.BackToSupervisors'))+\" \")]):_vm._e()]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('PeriodicStatusReport.InterviewActions')}},[_c('Typeahead',{ref:\"reportTypeControl\",attrs:{\"control-id\":\"reportTypeId\",\"no-clear\":\"\",\"data-vv-name\":\"reportTypeId\",\"data-vv-as\":\"reportType\",\"placeholder\":_vm.$t('PeriodicStatusReport.InterviewActions'),\"value\":_vm.reportTypeId,\"values\":this.$config.model.reportTypes},on:{\"selected\":_vm.reportTypeSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{ref:\"questionnaireIdControl\",attrs:{\"control-id\":\"questionnaireId\",\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"values\":this.$config.model.questionnaires},on:{\"selected\":_vm.questionnaireSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{ref:\"questionnaireVersionControl\",attrs:{\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"disabled\":_vm.questionnaireId == null,\"value\":_vm.questionnaireVersion,\"values\":_vm.questionnaireId == null ? [] : _vm.questionnaireId.versions},on:{\"selected\":_vm.questionnaireVersionSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('PeriodicStatusReport.OverTheLast')}},[_c('Typeahead',{ref:\"overTheLast\",attrs:{\"control-id\":\"overTheLast\",\"no-clear\":\"\",\"data-vv-name\":\"overTheLast\",\"data-vv-as\":\"overTheLast\",\"placeholder\":_vm.$t('PeriodicStatusReport.OverTheLast'),\"value\":_vm.overTheLast,\"values\":this.$config.model.overTheLasts},on:{\"selected\":_vm.overTheLastSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('PeriodicStatusReport.PeriodUnit')}},[_c('Typeahead',{ref:\"period\",attrs:{\"control-id\":\"period\",\"no-clear\":\"\",\"placeholder\":_vm.$t('PeriodicStatusReport.Period'),\"data-vv-name\":\"period\",\"data-vv-as\":\"period\",\"value\":_vm.period,\"values\":this.$config.model.periods},on:{\"selected\":_vm.periodSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('PeriodicStatusReport.LastDateToShowLabel')}},[_c('DatePicker',{attrs:{\"config\":_vm.datePickerConfig,\"value\":_vm.selectedDate}})],1)],1),_c('div',{staticClass:\"clearfix\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.selectedQuestionnaireTitle)}})])]),(_vm.mounted)?_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addParamsToRequest,\"noPaging\":\"\",\"noSearch\":\"\",\"exportable\":\"\",\"hasTotalRow\":\"\",\"noSelect\":\"\"},on:{\"ajaxComplete\":_vm.onTableReload}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpeedAndQuantity.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpeedAndQuantity.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SpeedAndQuantity.vue?vue&type=template&id=710e56ab&\"\nimport script from \"./SpeedAndQuantity.vue?vue&type=script&lang=js&\"\nexport * from \"./SpeedAndQuantity.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import InterviewersAndDevices from './InterviewersAndDevices'\r\nimport StatusDuration from './StatusDuration'\r\nimport MapReport from './MapReport'\r\nimport SurveyStatistics from './SurveyStatistics'\r\nimport TeamsAndStatuses from './TeamsAndStatuses'\r\nimport CumulativeChart from './CumulativeChartReport'\r\nimport SurveysAndStatuses from './SurveysAndStatuses'\r\nimport SurveysAndStatusesForSv from './SurveysAndStatusesForSv'\r\nimport SpeedAndQuantity from './SpeedAndQuantity'\r\n\r\nimport Vue from 'vue'\r\n\r\nexport default class ReportComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [\r\n {\r\n path: '/Reports/InterviewersAndDevices/:supervisorId',\r\n component: InterviewersAndDevices,\r\n },\r\n {\r\n path: '/Reports/InterviewersAndDevices',\r\n component: InterviewersAndDevices,\r\n },\r\n {\r\n path: '/Reports/StatusDuration',\r\n component: StatusDuration,\r\n },\r\n {\r\n path: '/Reports/TeamStatusDuration',\r\n component: StatusDuration,\r\n },\r\n {\r\n path: '/Reports/SupervisorsAndStatuses',\r\n component: TeamsAndStatuses,\r\n },\r\n {\r\n path: '/Reports/SurveysAndStatuses',\r\n component: SurveysAndStatuses,\r\n },\r\n {\r\n path: '/Reports/SurveysAndStatusesForSv',\r\n component: SurveysAndStatusesForSv,\r\n },\r\n {\r\n path: '/Reports/TeamMembersAndStatuses',\r\n component: TeamsAndStatuses,\r\n },\r\n {\r\n path: '/Reports/InterviewsChart',\r\n component: CumulativeChart,\r\n },\r\n {\r\n path: '/Reports/MapReport',\r\n component: MapReport,\r\n },\r\n {\r\n path: '/Reports/QuantityBySupervisors',\r\n component: SpeedAndQuantity,\r\n },\r\n {\r\n path: '/Reports/SpeedBySupervisors',\r\n component: SpeedAndQuantity,\r\n },\r\n {\r\n path: '/Reports/SpeedByInterviewers',\r\n component: SpeedAndQuantity,\r\n },\r\n {\r\n path: '/Reports/QuantityByInterviewers',\r\n component: SpeedAndQuantity,\r\n },\r\n {\r\n name: 'surveyStatistics',\r\n path: '/Reports/surveyStatistics',\r\n component: SurveyStatistics,\r\n props: (route) => ({\r\n questionnaireId: route.query.questionnaire,\r\n min: parseInt(route.query.min),\r\n max: parseInt(route.query.max),\r\n questionId: route.query.question,\r\n detailedView: String(route.query.detailedView).toLowerCase() === 'true',\r\n }),\r\n },\r\n ]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n }\r\n\r\n get modules() {\r\n return {}\r\n }\r\n}\r\n","import Vue from 'vue'\r\nimport { capitalize, sum, unionBy, find } from 'lodash'\r\n\r\nfunction getSelectedFlags(state) {\r\n const flags = Object.keys(state.filter)\r\n .filter((flag) => state.filter[flag])\r\n .map(capitalize)\r\n return flags\r\n}\r\n\r\nexport default {\r\n state: {\r\n filter: {\r\n Flagged: false,\r\n NotFlagged: false,\r\n WithComments: false,\r\n\r\n Invalid: false,\r\n Valid: false,\r\n\r\n Answered: false,\r\n NotAnswered: false,\r\n\r\n ForSupervisor: false,\r\n ForInterviewer: false,\r\n },\r\n\r\n stats: {\r\n\r\n },\r\n\r\n search: {\r\n results: [],\r\n count: 0,\r\n skip: 0,\r\n pageSize: 20,\r\n needToClear: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async fetchSearchResults({ commit, state }) {\r\n const flags = getSelectedFlags(state)\r\n const skip = state.search.needToClear ? 0 : state.search.skip\r\n const limit = state.search.pageSize\r\n const res = await Vue.$api.interview.get('search', { flags, skip, limit })\r\n commit('LOG_LAST_ACTIVITY')\r\n commit('SET_SEARCH_RESULT', res)\r\n },\r\n\r\n applyFiltering({ commit, state, dispatch }, filter) {\r\n commit('CHANGE_FILTERS', filter)\r\n\r\n var hasFilter = false\r\n Object.keys(state.filter).forEach(key => {\r\n if (state.filter[key] != false) {\r\n hasFilter = true\r\n }\r\n })\r\n\r\n if (hasFilter)\r\n dispatch('showSearchResults')\r\n else\r\n dispatch('hideSearchResults')\r\n },\r\n\r\n getStatusesHistory() {\r\n return Vue.$api.interview('getStatusesHistory')\r\n },\r\n\r\n resetAllFilters({ commit, state, dispatch }) {\r\n commit('RESET_FILTERS')\r\n\r\n if (state.search.needToClear)\r\n dispatch('fetchSearchResults')\r\n },\r\n\r\n refreshSearchResults({ dispatch, commit }) {\r\n commit('SEARCH_NEED_TO_CLEAR')\r\n dispatch('fetchSearchResults')\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_SEARCH_RESULT(state, results) {\r\n if (state.search.needToClear) {\r\n state.search.results = []\r\n state.search.count = 0\r\n state.search.skip = 0\r\n state.search.needToClear = false\r\n }\r\n\r\n results.results.forEach((res) => {\r\n const section = find(state.search.results, { sectionId: res.sectionId })\r\n\r\n if (section == null) {\r\n state.search.results.push(res)\r\n } else {\r\n section.questions = unionBy(section.questions, res.questions, 'target')\r\n }\r\n })\r\n\r\n state.search.count = results.totalCount\r\n state.stats = results.stats\r\n\r\n // amount of questions to skip next time\r\n state.search.skip = sum(state.search.results.map(r => r.questions.length))\r\n },\r\n\r\n CHANGE_FILTERS(state, { filter, value }) {\r\n state.filter[filter] = value\r\n state.search.needToClear = true\r\n },\r\n\r\n SEARCH_NEED_TO_CLEAR(state) {\r\n state.search.needToClear = true\r\n },\r\n\r\n RESET_FILTERS(state) {\r\n Object.keys(state.filter).forEach(key => {\r\n if (state.filter[key] != false)\r\n state.search.needToClear = true\r\n Vue.set(state.filter, key, false)\r\n })\r\n },\r\n },\r\n getters: {\r\n filteringState(state) {\r\n return state.filter\r\n },\r\n\r\n searchResult(state) {\r\n return state.search\r\n },\r\n },\r\n}\r\n\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n state: {\r\n flagged: {},\r\n },\r\n\r\n actions: {\r\n setFlag({ commit, dispatch }, { questionId, hasFlag }) {\r\n return Vue.$api.interview.answer(questionId, 'setFlag', { hasFlag })\r\n .then(() => {\r\n commit('SET_FLAG', { questionId, hasFlag })\r\n dispatch('refreshSearchResults')\r\n dispatch('fetchEntity', { id: questionId })\r\n })\r\n },\r\n async fetchFlags({ commit }) {\r\n const flags = await Vue.$api.interview.get('getFlags')\r\n commit('SET_FLAGS', { flags })\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_FLAG(state, { questionId, hasFlag }) {\r\n if (hasFlag) {\r\n Vue.set(state.flagged, questionId, true)\r\n } else {\r\n Vue.delete(state.flagged, questionId)\r\n }\r\n },\r\n SET_FLAGS(state, { flags }) {\r\n state.flagged = {}\r\n flags.forEach(flag => state.flagged[flag] = true)\r\n },\r\n },\r\n\r\n getters: {\r\n flags(state) {\r\n return state.flagged\r\n },\r\n },\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { concat } from 'lodash'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default {\r\n state: {\r\n entities: [\r\n // { id: id, ...}\r\n ],\r\n additionalInfo: {\r\n // { id: id, ...}\r\n },\r\n total: 0,\r\n pageSize: 100,\r\n isLoaded: false,\r\n },\r\n\r\n actions: {\r\n async loadAdditionalInfo({ commit }, { id }) {\r\n const data = await Vue.$api.interview.get('overviewItemAdditionalInfo', { id })\r\n commit('SET_ADDITIONAL_INFO', {\r\n id,\r\n data,\r\n })\r\n },\r\n\r\n loadOverviewData({ dispatch, commit }) {\r\n commit('CLEAR_OVERVIEW')\r\n dispatch('loadOverview', { skip: 0 })\r\n },\r\n\r\n async loadOverview({ commit, dispatch, state }, { skip }) {\r\n const data = await Vue.$api.interview.get('overview', { skip, take: state.pageSize })\r\n\r\n commit('SET_OVERVIEW_RESPONSE', data)\r\n\r\n if (!data.isLastPage) {\r\n dispatch('loadOverview', {\r\n skip: skip + data.count,\r\n take: state.pageSize,\r\n })\r\n }\r\n },\r\n },\r\n\r\n mutations: {\r\n CLEAR_OVERVIEW(state) {\r\n state.total = 0\r\n state.entities = []\r\n state.additionalInfo = {}\r\n state.loaded = 0\r\n state.isLoaded = false\r\n },\r\n\r\n SET_OVERVIEW_RESPONSE(state, data) {\r\n state.total = data.total\r\n state.entities = concat(state.entities, data.items)\r\n state.loaded = state.entities.length\r\n if (data.isLastPage) state.isLoaded = true\r\n },\r\n\r\n SET_ADDITIONAL_INFO(state, additionalInfo) {\r\n Vue.set(state.additionalInfo, additionalInfo.id, additionalInfo.data)\r\n },\r\n },\r\n\r\n getters: {\r\n\r\n },\r\n}\r\n","import Vue from 'vue'\r\n\r\nimport webinterview from '~/webinterview/store'\r\nimport filters from './filters'\r\nimport flags from './flags'\r\nimport overview from './overview'\r\n\r\nconst store = {\r\n modules:{\r\n filters,\r\n flags,\r\n overview,\r\n },\r\n\r\n actions: {\r\n approve(_, comment) {\r\n const interviewId = this.state.route.params.interviewId\r\n return Vue.$api.interview.answer(null, 'approve', {interviewId, comment})\r\n },\r\n\r\n reject(_, rejection) {\r\n const interviewId = this.state.route.params.interviewId\r\n return Vue.$api.interview.answer(null, 'reject', {interviewId, comment:rejection.comment, assignTo:rejection.assignTo })\r\n },\r\n },\r\n getters: {\r\n isReviewMode() {\r\n return true\r\n },\r\n },\r\n}\r\n\r\nexport default {\r\n webinterview,\r\n review: store,\r\n}\r\n","import localStore from './store'\r\nimport Vue from 'vue'\r\n\r\nconst Review = () => import(/* webpackChunkName: \"review\" */'./Review')\r\nconst Cover = () => import(/* webpackChunkName: \"review\" */'~/webinterview/components/Cover')\r\nconst ReviewSection = () => import(/* webpackChunkName: \"review\" */'./ReviewSection')\r\nconst Overview = () => import(/* webpackChunkName: \"review\" */'./Overview')\r\n\r\nexport default class ReviewComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n this.config = Vue.$config.model || {}\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/Interview/Review/:interviewId',\r\n component: Review,\r\n children: [{\r\n path: '',\r\n component: Cover,\r\n props: {\r\n navigateToPrefilled: true,\r\n showHumburger: false,\r\n },\r\n beforeEnter: (to, from, next) => {\r\n if (this.config.coverPageId)\r\n to.params.sectionId = this.config.coverPageId\r\n next()\r\n },\r\n },\r\n {\r\n path: 'Overview',\r\n name: 'Overview',\r\n component: Overview,\r\n props: {\r\n navigateToPrefilled: true,\r\n showHumburger: false,\r\n },\r\n },\r\n {\r\n path: 'Cover',\r\n name: 'prefilled',\r\n component: Cover,\r\n props: {\r\n navigateToPrefilled: true,\r\n showHumburger: false,\r\n },\r\n beforeEnter: (to, from, next) => {\r\n if (this.config.coverPageId)\r\n next({ name: 'cover', params: { interviewId: to.params.interviewId } })\r\n else\r\n next()\r\n },\r\n },\r\n {\r\n name: 'cover',\r\n path: 'Section/' + (this.config.coverPageId || 'newcover'),\r\n component: Cover,\r\n props: {\r\n navigateToPrefilled: true,\r\n showHumburger: false,\r\n },\r\n beforeEnter: (to, from, next) => {\r\n if (this.config.coverPageId)\r\n to.params.sectionId = this.config.coverPageId\r\n next()\r\n },\r\n },\r\n {\r\n path: 'Section/:sectionId',\r\n name: 'section',\r\n component: ReviewSection,\r\n beforeEnter: (to, from, next) => {\r\n if (this.config.coverPageId && to.params.sectionId == this.config.coverPageId)\r\n next({ name: 'cover' })\r\n else\r\n next()\r\n },\r\n },\r\n ],\r\n }]\r\n }\r\n\r\n initialize() {\r\n }\r\n\r\n get modules() {\r\n return localStore\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.title,\"topicButtonRef\":this.model.createUrl,\"topicButton\":_vm.$t('Users.AddHeadquarters')}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[(this.model.showInstruction)?_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Headquarters_Instruction1')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Headquarters_Instruction2')))])]):_vm._e()])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems,\"supportContextMenu\":_vm.model.showContextMenu,\"noSelect\":\"\",\"noPaging\":false},on:{\"ajaxComplete\":_vm.onTableReload}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Headquarters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Headquarters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Headquarters.vue?vue&type=template&id=5c367778&\"\nimport script from \"./Headquarters.vue?vue&type=script&lang=js&\"\nexport * from \"./Headquarters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"forceChangePassword\":_vm.userInfo.forceChangePassword,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userName\":_vm.userInfo.userName,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.PersonNameFieldName'),\"error\":_vm.modelState['PersonName']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['PersonName'] !== undefined,\"id\":\"PersonName\"},model:{value:(_vm.personName),callback:function ($$v) {_vm.personName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"personName\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.EmailFieldName'),\"error\":_vm.modelState['Email']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['Email'] !== undefined,\"id\":\"Email\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"email\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.PhoneNumberFieldName'),\"error\":_vm.modelState['PhoneNumber']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['PhoneNumber'] !== undefined,\"id\":\"PhoneNumber\"},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"phoneNumber\"}})],1),(!_vm.isOwnProfile && _vm.lockMessage != null)?_c('p',[_vm._v(_vm._s(_vm.lockMessage))]):_vm._e(),(!_vm.isOwnProfile && _vm.canBeLockedAsHeadquarters)?_c('form-group',{attrs:{\"error\":_vm.modelState['IsLockedByHeadquarters']}},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isLockedByHeadquarters),expression:\"isLockedByHeadquarters\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"IsLocked\",\"name\":\"IsLocked\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isLockedByHeadquarters)?_vm._i(_vm.isLockedByHeadquarters,null)>-1:(_vm.isLockedByHeadquarters)},on:{\"change\":function($event){var $$a=_vm.isLockedByHeadquarters,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isLockedByHeadquarters=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isLockedByHeadquarters=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isLockedByHeadquarters=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"IsLocked\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('FieldsAndValidations.IsLockedFieldName'))+\" \")])])]):_vm._e(),(!_vm.isOwnProfile && _vm.canLockBySupervisor)?_c('form-group',{attrs:{\"error\":_vm.modelState['IsLockedBySupervisor']}},[_c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isLockedBySupervisor),expression:\"isLockedBySupervisor\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"data-val\":\"true\",\"id\":\"IsLockedBySupervisor\",\"name\":\"IsLockedBySupervisor\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isLockedBySupervisor)?_vm._i(_vm.isLockedBySupervisor,null)>-1:(_vm.isLockedBySupervisor)},on:{\"change\":function($event){var $$a=_vm.isLockedBySupervisor,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isLockedBySupervisor=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isLockedBySupervisor=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isLockedBySupervisor=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"IsLockedBySupervisor\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('FieldsAndValidations.IsLockedBySupervisorFieldName'))+\" \")])])]):_vm._e()],1),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"5px\"},attrs:{\"type\":\"submit\",\"id\":\"btnUpdateUser\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.updateAccount}},[_vm._v(_vm._s(_vm.$t('Pages.Update')))]),_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.referrerUrl,\"id\":\"lnkCancelUpdateUser\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Cancel'))+\" \")])])]),(_vm.isLockedOut)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('Pages.AutolockDescription')))]),(_vm.lockedOutCanBeReleased)?_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"5px\"},attrs:{\"type\":\"submit\",\"id\":\"btnUpdateUser\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.releaseLock}},[_vm._v(_vm._s(_vm.$t('Pages.Unlock')))]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Manage.vue?vue&type=template&id=38cfd972&\"\nimport script from \"./Manage.vue?vue&type=script&lang=js&\"\nexport * from \"./Manage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"forceChangePassword\":false,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userName\":_vm.userInfo.userName,\"currentTab\":_vm.currentTab,\"userId\":_vm.userInfo.userId,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('Workspaces.AssignedWorkspaces'))+\" \")]),_c('div',{staticClass:\"form-group\"},[_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.allWorkspaces),function(workspace){return _c('li',{key:workspace.Name},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(workspace.Assigned),expression:\"workspace.Assigned\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":workspace.Name,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(workspace.Assigned)?_vm._i(workspace.Assigned,null)>-1:(workspace.Assigned)},on:{\"change\":function($event){var $$a=workspace.Assigned,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(workspace, \"Assigned\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(workspace, \"Assigned\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(workspace, \"Assigned\", $$c)}}}}),_c('label',{class:{ 'disabled-item' : workspace.DisabledAtUtc != null },attrs:{\"for\":workspace.Name}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(workspace.DisplayName)+\" \")])])}),0)]),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"id\":\"btnSaveWorkspaces\",\"disabled\":_vm.userInfo.isObserving || _vm.inProgress},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t('Pages.Update')))]),(_vm.updated)?_c('span',{staticClass:\"text-success marl\"},[_vm._v(_vm._s(_vm.$t('Workspaces.WorkspacesUpdated')))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserWorkspaces.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserWorkspaces.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserWorkspaces.vue?vue&type=template&id=88915c48&\"\nimport script from \"./UserWorkspaces.vue?vue&type=script&lang=js&\"\nexport * from \"./UserWorkspaces.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.title,\"topicButtonRef\":this.model.createUrl,\"topicButton\":_vm.$t('Users.AddObserver')}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Observers_Instruction1')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Observers_Instruction2')))])])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"noSelect\":\"\",\"noPaging\":false},on:{\"ajaxComplete\":_vm.onTableReload}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Observers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Observers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Observers.vue?vue&type=template&id=b0c9796c&\"\nimport script from \"./Observers.vue?vue&type=script&lang=js&\"\nexport * from \"./Observers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.title,\"topicButtonRef\":this.model.createUrl,\"topicButton\":_vm.$t('Users.AddAPIUser')}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_API_Instruction1')))]),_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_API_Instruction2')))])])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"noSelect\":\"\",\"noPaging\":false},on:{\"ajaxComplete\":_vm.onTableReload}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiUsers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiUsers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApiUsers.vue?vue&type=template&id=5a677ca7&\"\nimport script from \"./ApiUsers.vue?vue&type=script&lang=js&\"\nexport * from \"./ApiUsers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.referrerUrl}},[_vm._v(_vm._s(_vm.referrerTitle))])])]),_c('h1',[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"extra-margin-bottom\"},[_c('div',{staticClass:\"profile\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('p',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.User_CreateText1'))}}),_c('br'),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.User_CreateText2', {link: _vm.uploadUri}))}})])]),_c('div',{staticClass:\"col-sm-12\"},[_c('form-group',{attrs:{\"label\":_vm.$t('Pages.UsersManage_WorkspacesFilterPlaceholder'),\"error\":_vm.modelState['Workspace'],\"mandatory\":true}},[_c('div',{staticClass:\"field form-control\",class:{answered: _vm.workspace != null},staticStyle:{\"padding\":\"0 10px\"}},[_c('Typeahead',{attrs:{\"control-id\":\"workspace\",\"value\":_vm.workspace,\"ajax-params\":{ },\"fetch-url\":_vm.model.api.workspacesUrl},on:{\"selected\":_vm.workspaceSelected}})],1)]),_c('form-group',{attrs:{\"label\":_vm.$t('Pages.UsersManage_RoleFilterPlaceholder'),\"error\":_vm.modelState['Role'],\"mandatory\":true}},[_c('div',{staticClass:\"field form-control\",class:{answered: _vm.role != null},staticStyle:{\"padding\":\"0 10px\"}},[_c('Typeahead',{attrs:{\"control-id\":\"role\",\"value\":_vm.role,\"values\":_vm.model.roles},on:{\"selected\":_vm.roleSelected}})],1)]),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.UserNameFieldName'),\"error\":_vm.modelState['UserName'],\"mandatory\":true}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['UserName'] !== undefined,\"id\":\"UserName\"},model:{value:(_vm.userName),callback:function ($$v) {_vm.userName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"userName\"}})],1),(_vm.isInterviewer)?_c('form-group',{attrs:{\"label\":_vm.$t('Pages.Interviewers_SupervisorTitle'),\"error\":_vm.modelState['SupervisorId'],\"mandatory\":true}},[_c('div',{staticClass:\"field\",class:{answered: _vm.supervisor != null}},[_c('Typeahead',{attrs:{\"control-id\":\"supervisor\",\"value\":_vm.supervisor,\"ajax-params\":{ workspace: (this.workspace || {}).key },\"fetch-url\":_vm.$config.model.api.supervisorWorkspaceUrl},on:{\"selected\":_vm.supervisorSelected}})],1)]):_vm._e(),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.NewPasswordFieldName'),\"error\":_vm.modelState['Password'],\"mandatory\":true}},[_c('TextInput',{attrs:{\"type\":\"password\",\"haserror\":_vm.modelState['Password'] !== undefined,\"id\":\"Password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"password\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.ConfirmPasswordFieldName'),\"error\":_vm.modelState['ConfirmPassword'],\"mandatory\":true}},[_c('TextInput',{attrs:{\"type\":\"password\",\"haserror\":_vm.modelState['ConfirmPassword'] !== undefined,\"id\":\"ConfirmPassword\"},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"confirmPassword\"}})],1),_c('div',{staticClass:\"block-filter\"},[_c('input',{staticStyle:{\"margin-right\":\"5px\"},attrs:{\"id\":\"ShowPassword\",\"type\":\"checkbox\",\"onclick\":\"var pass = document.getElementById('Password');pass.type = (pass.type === 'text' ? 'password' : 'text');var confirm = document.getElementById('ConfirmPassword');confirm.type = (confirm.type === 'text' ? 'password' : 'text');\"}}),_c('label',{attrs:{\"for\":\"ShowPassword\"}},[_c('span'),_vm._v(_vm._s(_vm.$t('Pages.ShowPassword'))+\" \")])])],1),_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"separate-line\"})]),_c('div',{staticClass:\"col-sm-12\"},[_c('h5',{staticClass:\"extra-margin-bottom\",domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.PublicSection'))}}),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.PersonNameFieldName'),\"error\":_vm.modelState['PersonName']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['PersonName'] !== undefined,\"id\":\"PersonName\"},model:{value:(_vm.personName),callback:function ($$v) {_vm.personName=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"personName\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.EmailFieldName'),\"error\":_vm.modelState['Email']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['Email'] !== undefined,\"id\":\"Email\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"email\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.PhoneNumberFieldName'),\"error\":_vm.modelState['PhoneNumber']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['PhoneNumber'] !== undefined,\"id\":\"PhoneNumber\"},model:{value:(_vm.phoneNumber),callback:function ($$v) {_vm.phoneNumber=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"phoneNumber\"}})],1)],1),_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"5px\"},attrs:{\"type\":\"submit\",\"id\":\"btnCreate\"},on:{\"click\":_vm.createAccount}},[_vm._v(_vm._s(_vm.$t('Pages.Create')))]),_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.referrerUrl,\"id\":\"lnkCancel\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Cancel'))+\" \")])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Create.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Create.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Create.vue?vue&type=template&id=2f15e22a&\"\nimport script from \"./Create.vue?vue&type=script&lang=js&\"\nexport * from \"./Create.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('div',{staticClass:\"topic-with-button\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('Users.SupervisorsCountDescription', {count: this.usersCount})))])]),(!_vm.user.isObserver && !_vm.user.isObserving)?_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Supervisors_Instruction2')))])]):_vm._e()])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems,\"supportContextMenu\":_vm.user.isObserver && !_vm.user.isObserving,\"selectableId\":\"userId\",\"mutliRowSelect\":\"\",\"noPaging\":false},on:{\"selectedRowsChanged\":function (rows) { return _vm.selectedSupervisors = rows; },\"totalRows\":function (rows) { return _vm.usersCount = rows; },\"page\":_vm.resetSelection}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Supervisors.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Supervisors.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Supervisors.vue?vue&type=template&id=760def3c&\"\nimport script from \"./Supervisors.vue?vue&type=script&lang=js&\"\nexport * from \"./Supervisors.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true,\"title\":_vm.title}},[_c('div',{attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.Users_Interviewers_Instruction2')))])])])]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[(_vm.model.showSupervisorColumn)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Interviewers_SupervisorTitle')}},[_c('Typeahead',{ref:\"supervisorControl\",attrs:{\"control-id\":\"supervisor\",\"data-vv-name\":\"supervisor\",\"data-vv-as\":\"supervisor\",\"placeholder\":_vm.$t('Common.AllSupervisors'),\"value\":_vm.supervisor,\"fetch-url\":_vm.$config.model.supervisorsUrl,\"selectedValue\":this.query.supervisor},on:{\"selected\":_vm.supervisorSelected}})],1):_vm._e(),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Users.InterviewerIssues')}},[_c('Typeahead',{ref:\"facetControl\",attrs:{\"control-id\":\"facet\",\"no-clear\":\"\",\"data-vv-name\":\"facet\",\"data-vv-as\":\"facet\",\"value\":_vm.facet,\"values\":this.$config.model.interviewerIssues,\"selectedKey\":this.query.facet,\"selectFirst\":true},on:{\"selected\":_vm.facetSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Interviewers_ArchiveStatusTitle')}},[_c('Typeahead',{ref:\"archiveStatusControl\",attrs:{\"control-id\":\"archiveStatus\",\"no-clear\":\"\",\"noPaging\":false,\"data-vv-name\":\"archiveStatus\",\"data-vv-as\":\"archiveStatus\",\"value\":_vm.archiveStatus,\"values\":this.$config.model.archiveStatuses,\"selectedKey\":this.query.archive,\"selectFirst\":true},on:{\"selected\":_vm.archiveStatusSelected}})],1)],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"exportable\":\"\",\"mutliRowSelect\":\"\",\"selectableId\":'userId',\"addParamsToRequest\":_vm.addParamsToRequest},on:{\"ajaxComplete\":_vm.onTableReload,\"selectedRowsChanged\":function (rows) { return _vm.selectedInterviewers = rows; }}},[(_vm.selectedInterviewers.length)?_c('div',{staticClass:\"panel panel-table\"},[_c('div',{staticClass:\"panel-body\"},[_c('input',{staticClass:\"double-checkbox-white\",attrs:{\"id\":\"q1az\",\"type\":\"checkbox\",\"checked\":\"\",\"disabled\":\"disabled\"}}),_c('label',{attrs:{\"for\":\"q1az\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.selectedInterviewers.length + \" \" + _vm.$t(\"Pages.Interviewers_Selected\"))+\" \")]),(_vm.isVisibleArchive)?_c('button',{staticClass:\"btn btn-default btn-danger\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.archiveInterviewers}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_Archive\")))]):_vm._e(),(_vm.isVisibleUnarchive)?_c('button',{staticClass:\"btn btn-default btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.unarchiveInterviewers}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_Unarchive\")))]):_vm._e(),(_vm.selectedInterviewers.length)?_c('button',{staticClass:\"btn btn-default btn-warning last-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.moveToAnotherTeam}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_MoveToAnotherTeam\")))]):_vm._e()])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviewers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviewers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Interviewers.vue?vue&type=template&id=226a9e9e&\"\nimport script from \"./Interviewers.vue?vue&type=script&lang=js&\"\nexport * from \"./Interviewers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',{staticClass:\"block-filter\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_Description')))])]),_c('div',{staticClass:\"block-filter\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.AccountManage_Status2fa'))+\" \"),(_vm.is2faEnabled)?_c('span',{staticStyle:{\"color\":\"green\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_Enabled'))+\" \")]):_vm._e(),(!_vm.is2faEnabled)?_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_Disabled'))+\" \")]):_vm._e()])]),(_vm.is2faEnabled && _vm.recoveryCodesLeft <= 3)?_c('div',{staticClass:\"alert alert-warning\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('Pages.RecoveryCodesLeft'))+\" \"+_vm._s(_vm.recoveryCodesLeft)+\".\")]),_c('p',[_vm._v(_vm._s(_vm.$t('Pages.RecoveryCodesYouCan'))+\" \"),_c('a',{attrs:{\"href\":_vm.getUrl('GenerateRecoveryCodes')}},[_vm._v(_vm._s(_vm.$t('Pages.GenerateRecoveryCodesLink')))]),_vm._v(\".\")])]):_vm._e(),_c('div',{staticClass:\"row flex-row\"},[_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"block-filter\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.SetupAuthenticator')))]),_c('span',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_SetupAuthenticator_Description')))])]),_c('div',[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"id\":\"enable-authenticator\",\"type\":\"submit\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":function($event){return _vm.navigateTo('SetupAuthenticator')}}},[_vm._v(_vm._s(_vm.$t('Pages.SetupAuthenticator')))])])])])]),_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"block-filter\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.ResetAuthenticator')))]),_c('span',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_ResetAuthenticator_Description')))])]),_c('div',[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"id\":\"reset-authenticator\",\"type\":\"submit\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":function($event){return _vm.navigateTo('ResetAuthenticator')}}},[_vm._v(_vm._s(_vm.$t('Pages.ResetAuthenticator'))+\" \")])])])])]),(_vm.is2faEnabled)?_c('div',{staticClass:\"col-sm-4\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"block-filter\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.ResetRecoveryCodes')))]),_c('span',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_ResetRecoveryCodes_Description')))])]),_c('div',[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"display\":\"inline-block\"},attrs:{\"id\":\"reset-codes\",\"type\":\"submit\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":function($event){return _vm.navigateTo('ResetRecoveryCodes')}}},[_vm._v(_vm._s(_vm.$t('Pages.ResetRecoveryCodes'))+\" \")])])])])]):_vm._e()]),(_vm.is2faEnabled)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_TwoFactorAuthentication_Disable2fa_Description')))]),_c('button',{staticClass:\"btn btn-danger\",attrs:{\"id\":\"disable-2fa\",\"type\":\"submit\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":function($event){return _vm.navigateTo('Disable2fa')}}},[_vm._v(_vm._s(_vm.$t('Pages.Disable2fa')))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoFactorAuthentication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwoFactorAuthentication.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwoFactorAuthentication.vue?vue&type=template&id=77481165&\"\nimport script from \"./TwoFactorAuthentication.vue?vue&type=script&lang=js&\"\nexport * from \"./TwoFactorAuthentication.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_EnableAuthenticator_Title')))])]),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('Pages.EnableAuthenticatorLine1')))]),_c('ol',{staticClass:\"list\"},[_c('li',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.EnableAuthenticatorLine2'))+\" \"),_c('a',{attrs:{\"href\":\"https://go.microsoft.com/fwlink/?Linkid=825071\"}},[_vm._v(\"Windows Phone\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"https://go.microsoft.com/fwlink/?Linkid=825072\"}},[_vm._v(\"Android\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"https://go.microsoft.com/fwlink/?Linkid=825073\"}},[_vm._v(\"iOS\")]),_vm._v(\" \"+_vm._s(_vm.$t('Pages.EnableAuthenticatorLine3'))+\" \"),_c('a',{attrs:{\"href\":\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en\"}},[_vm._v(\"Android\")]),_vm._v(\", \"),_c('a',{attrs:{\"href\":\"https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8\"}},[_vm._v(\"iOS\")]),_vm._v(\". \")])]),_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('Pages.EnableAuthenticatorLine4')))]),_c('p',[_c('b',[_vm._v(_vm._s(_vm.$t('Pages.EnableAuthenticatorSharedKey'))+\" \")]),_c('kbd',[_vm._v(_vm._s(_vm.sharedKey))])]),_c('canvas',{attrs:{\"id\":\"qrCode\"}})]),_c('li',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.EnableAuthenticatorLine5'))+\" \")]),_c('form',[_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.VerificationCodeFieldName'),\"error\":_vm.modelState['VerificationCode']}},[_c('TextInput',{attrs:{\"haserror\":_vm.modelState['VerificationCode'] !== undefined,\"id\":\"VerificationCode\"},model:{value:(_vm.verificationCode),callback:function ($$v) {_vm.verificationCode=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"verificationCode\"}})],1),_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"submit\",\"id\":\"btnVerify\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.verify}},[_vm._v(_vm._s(_vm.$t('Pages.Verify')))])])],1)])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetupAuthenticator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetupAuthenticator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SetupAuthenticator.vue?vue&type=template&id=4dcd2adb&\"\nimport script from \"./SetupAuthenticator.vue?vue&type=script&lang=js&\"\nexport * from \"./SetupAuthenticator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_ResetAuthenticator_Title')))])]),_c('div',[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-warning-sign\",staticStyle:{\"margin-right\":\"5px\"}}),_c('strong',[_vm._v(_vm._s(_vm.$t('Pages.ResetAuthenticatorLine1')))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.ResetAuthenticatorLine2'))+\" \")])])]),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\",\"id\":\"btnResetAuthenticator\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.resetAuthenticator}},[_vm._v(_vm._s(_vm.$t('Pages.ResetAuthenticator')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetAuthenticator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetAuthenticator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResetAuthenticator.vue?vue&type=template&id=ca6debf8&\"\nimport script from \"./ResetAuthenticator.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetAuthenticator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_ShowRecoveryCodes_Title')))])]),_c('div',[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-warning-sign\",staticStyle:{\"margin-right\":\"5px\"}}),_c('strong',[_vm._v(_vm._s(_vm.$t('Pages.RecoveryCodesInfo')))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.RecoveryCodesDescription'))+\" \")])])]),_c('div',[_c('ul',_vm._l((_vm.recoveryCodes),function(code){return _c('li',{key:code},[_c('code',{staticClass:\"recovery-code\"},[_vm._v(_vm._s(code))])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowRecoveryCodes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowRecoveryCodes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ShowRecoveryCodes.vue?vue&type=template&id=2681428b&\"\nimport script from \"./ShowRecoveryCodes.vue?vue&type=script&lang=js&\"\nexport * from \"./ShowRecoveryCodes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_ResetRecoveryCodes_Title')))])]),_c('div',[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('p',[_c('span',{staticClass:\"glyphicon glyphicon-warning-sign\",staticStyle:{\"margin-right\":\"5px\"}}),_c('strong',[_vm._v(_vm._s(_vm.$t('Pages.RecoveryCodesInfo')))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.RecoveryCodesDescription'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.RecoveryCodesDescriptionLine1'))+\" \"+_vm._s(_vm.$t('Pages.ChandgeKeyLine1'))+\" \"),_c('a',{attrs:{\"href\":_vm.getUrl('ResetAuthenticator')}},[_vm._v(_vm._s(_vm.$t('Pages.ChandgeKeyLine2')))])])])]),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\",\"id\":\"btnGenerateRecoveryCodes\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.generateRecoveryCodes}},[_vm._v(_vm._s(_vm.$t('Pages.GenerateRecoveryCodes')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetRecoveryCodes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetRecoveryCodes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ResetRecoveryCodes.vue?vue&type=template&id=13ecefae&\"\nimport script from \"./ResetRecoveryCodes.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetRecoveryCodes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"userName\":_vm.userInfo.userName,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_DisableTwoFactorAuth_Title')))])]),_c('div',[_c('div',{staticClass:\"alert alert-warning\",attrs:{\"role\":\"alert\"}},[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('Pages.Disable2faLine1')))])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.ChandgeKeyLine1'))+\" \"),_c('a',{attrs:{\"href\":_vm.getUrl('ResetAuthenticator')}},[_vm._v(_vm._s(_vm.$t('Pages.ChandgeKeyLine2')))])])])]),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\",\"id\":\"btnDisable2fa\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.disable2fa}},[_vm._v(_vm._s(_vm.$t('Pages.Disable2fa')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Disable2fa.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Disable2fa.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Disable2fa.vue?vue&type=template&id=36fd2060&\"\nimport script from \"./Disable2fa.vue?vue&type=script&lang=js&\"\nexport * from \"./Disable2fa.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"forceChangePassword\":_vm.userInfo.forceChangePassword,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userName\":_vm.userInfo.userName,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"successMessage\":_vm.successMessage,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[(_vm.userInfo.forceChangePassword && _vm.userInfo.isOwnProfile)?_c('div',{staticClass:\"alerts form-group\",staticStyle:{\"margin-left\":\"-10px\"}},[_c('div',{staticClass:\"alert\"},[_vm._v(\" \"+_vm._s(_vm.$t('FieldsAndValidations.PasswordChangeRequired'))+\" \")]),_c('br')]):_vm._e(),(_vm.isOwnProfile)?_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.OldPasswordFieldName'),\"error\":_vm.modelState['OldPassword']}},[_c('TextInput',{attrs:{\"type\":\"password\",\"haserror\":_vm.modelState['OldPassword'] !== undefined,\"id\":\"OldPassword\"},model:{value:(_vm.oldPassword),callback:function ($$v) {_vm.oldPassword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"oldPassword\"}})],1):_vm._e(),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.NewPasswordFieldName'),\"error\":_vm.modelState['Password']}},[_c('TextInput',{attrs:{\"type\":\"password\",\"haserror\":_vm.modelState['Password'] !== undefined,\"id\":\"Password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"password\"}})],1),_c('form-group',{attrs:{\"label\":_vm.$t('FieldsAndValidations.ConfirmPasswordFieldName'),\"error\":_vm.modelState['ConfirmPassword']}},[_c('TextInput',{attrs:{\"type\":\"password\",\"haserror\":_vm.modelState['ConfirmPassword'] !== undefined,\"id\":\"ConfirmPassword\"},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"confirmPassword\"}})],1),_c('div',{staticClass:\"block-filter\"},[_c('input',{staticStyle:{\"margin-right\":\"5px\"},attrs:{\"id\":\"ShowPassword\",\"type\":\"checkbox\",\"onclick\":\"if(window.CONFIG.model.userInfo.isOwnProfile){var oldPass = document.getElementById('OldPassword');oldPass.type = (oldPass.type === 'text' ? 'password' : 'text');} var pass = document.getElementById('Password');pass.type = (pass.type === 'text' ? 'password' : 'text');var confirm = document.getElementById('ConfirmPassword');confirm.type = (confirm.type === 'text' ? 'password' : 'text');\"}}),_c('label',{attrs:{\"for\":\"ShowPassword\"}},[_c('span'),_vm._v(_vm._s(_vm.$t('Pages.ShowPassword'))+\" \")])])],1),_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"5px\"},attrs:{\"type\":\"submit\",\"id\":\"btnUpdatePassword\",\"disabled\":_vm.userInfo.isObserving},on:{\"click\":_vm.updatePassword}},[_vm._v(_vm._s(_vm.$t('Pages.Update')))]),(!_vm.userInfo.forceChangePassword)?_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.referrerUrl,\"id\":\"lnkCancelUpdatePassword\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Cancel'))+\" \")]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChangePassword.vue?vue&type=template&id=a7de8dd0&\"\nimport script from \"./ChangePassword.vue?vue&type=script&lang=js&\"\nexport * from \"./ChangePassword.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[(_vm.successMessage != null)?_c('div',{staticClass:\"alerts\",attrs:{\"id\":\"alerts\"}},[_c('div',{staticClass:\"alert alert-success\"},[_c('button',{staticClass:\"close\",attrs:{\"data-dismiss\":\"alert\",\"aria-hidden\":\"true\"}},[_vm._v(\" × \")]),_vm._v(\" \"+_vm._s(_vm.successMessage)+\" \")])]):_vm._e()]),_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[(!_vm.isOwnProfile)?_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.referrerUrl}},[_vm._v(_vm._s(_vm.referrerTitle))])])]):_vm._e(),_c('h1',[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_Manage_Title'))),(!_vm.isOwnProfile)?_c('b',[_vm._v(\" : \"+_vm._s(_vm.userName)+\" \")]):_vm._e()])]),_c('div',{staticClass:\"extra-margin-bottom\"},[_c('div',{staticClass:\"profile\"},[_c('ul',{staticClass:\"nav nav-tabs extra-margin-bottom\"},[(!_vm.forceChangePassword)?_c('li',{staticClass:\"nav-item\",class:{'active': _vm.currentTab == 'account'}},[_c('a',{staticClass:\"nav-link\",attrs:{\"id\":\"profile\",\"href\":_vm.getUrl('Manage')}},[_vm._v(_vm._s(_vm.$t('Pages.AccountManage_Profile')))])]):_vm._e(),(_vm.showWorkspaces && !_vm.forceChangePassword)?_c('li',{staticClass:\"nav-item\",class:{'active': _vm.currentTab == 'workspaces'}},[_c('a',{staticClass:\"nav-link\",attrs:{\"id\":\"profile\",\"href\":_vm.getUrl(\"Workspaces\")}},[_vm._v(_vm._s(_vm.$t('Workspaces.UserWorkspacesTab')))])]):_vm._e(),(_vm.canChangePassword)?_c('li',{staticClass:\"nav-item\",class:{'active': _vm.currentTab=='password'}},[_c('a',{staticClass:\"nav-link\",attrs:{\"id\":\"password\",\"href\":_vm.getUrl('ChangePassword')}},[_vm._v(_vm._s(_vm.$t('Pages.AccountManage_ChangePassword')))])]):_vm._e(),(!_vm.forceChangePassword)?_c('li',{staticClass:\"nav-item\",class:{'active': _vm.currentTab=='two-factor'}},[_c('a',{staticClass:\"nav-link\",attrs:{\"id\":\"two-factor\",\"href\":_vm.getUrl('TwoFactorAuthentication')}},[_vm._v(_vm._s(_vm.$t('Pages.AccountManage_TwoFactorAuth')))])]):_vm._e(),(_vm.canGenerateToken && !_vm.forceChangePassword)?_c('li',{staticClass:\"nav-item\",class:{'active': _vm.currentTab=='api-token'}},[_c('a',{staticClass:\"nav-link\",attrs:{\"id\":\"two-factor\",\"href\":_vm.getUrl('ApiTokens')}},[_vm._v(_vm._s(_vm.$t('Pages.AccountManage_ApiTokens')))])]):_vm._e()]),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"default\")],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileLayout.vue?vue&type=template&id=901bf978&\"\nimport script from \"./ProfileLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ProfileLayout',{ref:\"profile\",attrs:{\"role\":_vm.userInfo.role,\"isOwnProfile\":_vm.userInfo.isOwnProfile,\"forceChangePassword\":_vm.userInfo.forceChangePassword,\"canChangePassword\":_vm.userInfo.canChangePassword,\"userName\":_vm.userInfo.userName,\"userId\":_vm.userInfo.userId,\"currentTab\":_vm.currentTab,\"canGenerateToken\":_vm.userInfo.canGetApiToken}},[_c('div',[_c('div',{staticClass:\"block-filter\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.AccountManage_StatusApiToken'))+\" \"),(_vm.tokenWasIssued)?_c('span',{staticStyle:{\"color\":\"green\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Strings.HQ_Views_Api_Token_Issued'))+\" \")]):_vm._e(),(!_vm.tokenWasIssued)?_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Strings.HQ_Views_Api_Token_Not_Issued'))+\" \")]):_vm._e()])])]),(_vm.apiToken && _vm.tokenWasIssued)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6 col-xs-12\"},[_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(_vm._s(_vm.$t('Strings.HQ_Views_Api_Token_Generate_Description')))]),_c('pre',{staticStyle:{\"white-space\":\"normal\"},domProps:{\"textContent\":_vm._s(_vm.apiToken)}})])]):_vm._e(),_c('div',[_c('div',{staticClass:\"block-filter\"},[(_vm.tokenWasIssued)?_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\",\"id\":\"btnDelete\",\"disabled\":_vm.userInfo.isObserving || !_vm.canGenerate},on:{\"click\":_vm.deleteToken}},[_vm._v(_vm._s(_vm.$t('Common.Disable')))]):_vm._e(),(!_vm.tokenWasIssued)?_c('button',{staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"5px\"},attrs:{\"type\":\"submit\",\"id\":\"btnCreateToken\",\"disabled\":_vm.userInfo.isObserving && !_vm.canGenerate},on:{\"click\":_vm.generateApiKey}},[_vm._v(_vm._s(_vm.$t('Common.Enable')))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiTokens.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApiTokens.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ApiTokens.vue?vue&type=template&id=4d6c0e1a&\"\nimport script from \"./ApiTokens.vue?vue&type=script&lang=js&\"\nexport * from \"./ApiTokens.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\n\r\nimport Headquarters from './Headquarters'\r\nimport Manage from './Manage'\r\nimport UserWorkspaces from './UserWorkspaces'\r\nimport Observers from './Observers'\r\nimport ApiUsers from './ApiUsers'\r\nimport Create from './Create'\r\nimport Supervisors from './Supervisors'\r\nimport Interviewers from './Interviewers'\r\nimport TwoFactorAuthentication from './TwoFactorAuthentication'\r\nimport SetupAuthenticator from './SetupAuthenticator'\r\nimport ResetAuthenticator from './ResetAuthenticator'\r\nimport ShowRecoveryCodes from './ShowRecoveryCodes'\r\nimport ResetRecoveryCodes from './ResetRecoveryCodes'\r\nimport Disable2fa from './Disable2fa'\r\nimport ChangePassword from './ChangePassword'\r\nimport ProfileLayout from './ProfileLayout'\r\nimport ApiTokens from './ApiTokens'\r\n\r\nVue.component('ProfileLayout', ProfileLayout)\r\n\r\nexport default class UsersComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/Headquarters', component: Headquarters,\r\n },\r\n {\r\n path: '/Observers', component: Observers,\r\n },\r\n {\r\n path: '/Interviewers', component: Interviewers,\r\n },\r\n {\r\n path: '/ApiUsers', component: ApiUsers,\r\n },\r\n {\r\n path: '/Supervisors', component: Supervisors,\r\n },\r\n {\r\n path: '/Manage/:userId', component: Manage, name: 'usersManage',\r\n },\r\n {\r\n path: '/Manage/', component: Manage,\r\n },\r\n {\r\n path: '/Create', component: Create,\r\n },\r\n {\r\n path: '/TwoFactorAuthentication', component: TwoFactorAuthentication,\r\n },\r\n {\r\n path: '/TwoFactorAuthentication/:userId', component: TwoFactorAuthentication, name: 'users2fa',\r\n },\r\n {\r\n path: '/SetupAuthenticator', component: SetupAuthenticator,\r\n },\r\n {\r\n path: '/SetupAuthenticator/:userId',\r\n name: 'two-fa-setup',\r\n component: SetupAuthenticator,\r\n },\r\n {\r\n path: '/ResetAuthenticator', component: ResetAuthenticator,\r\n },\r\n {\r\n path: '/ResetAuthenticator/:userId',\r\n name: 'two-fa-reset-authenticator',\r\n component: ResetAuthenticator,\r\n },\r\n {\r\n path: '/ShowRecoveryCodes', component: ShowRecoveryCodes,\r\n },\r\n {\r\n path: '/ShowRecoveryCodes/:userId', component: ShowRecoveryCodes,\r\n },\r\n {\r\n path: '/ResetRecoveryCodes', component: ResetRecoveryCodes,\r\n },\r\n {\r\n path: '/ResetRecoveryCodes/:userId',\r\n name: 'two-fa-reset-recovery-codes',\r\n component: ResetRecoveryCodes,\r\n },\r\n {\r\n path: '/Disable2fa',\r\n //name: 'two-fa-disable',\r\n component: Disable2fa,\r\n },\r\n {\r\n path: '/Disable2fa/:userId',\r\n name: 'two-fa-disable',\r\n component: Disable2fa,\r\n },\r\n {\r\n path: '/ChangePassword/:userId', component: ChangePassword, name: 'usersChangePassword',\r\n },\r\n {\r\n path: '/Workspaces/:userId', component: UserWorkspaces,\r\n },\r\n {\r\n path: '/ChangePassword/', component: ChangePassword,\r\n },\r\n {\r\n path: '/ApiTokens/:userId', component: ApiTokens, name: 'usersApiTokens',\r\n },\r\n {\r\n path: '/ApiTokens', component: ApiTokens,\r\n }]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.mapsUrl}},[_vm._v(_vm._s(_vm.$t(\"Pages.MapList_Title\")))])])]),_c('h1',[_vm._v(_vm._s(_vm.$config.model.fileName))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-9 col-sm-9\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4 col-sm-4 questionnaire-statistics\"},[_c('ul',{staticClass:\"list-unstyled\"},[(!_vm.$config.model.shapeType)?_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_MaxScale\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.maxScale))])]):_vm._e(),(!_vm.$config.model.shapesCount)?_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_MinScale\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.minScale))])]):_vm._e(),(_vm.$config.model.shapeType)?_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_ShapeType\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.shapeType))])]):_vm._e(),(_vm.$config.model.shapesCount)?_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_ShapesCount\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.shapesCount))])]):_vm._e()])]),_c('div',{staticClass:\"col-md-4 col-sm-4 questionnaire-statistics\"},[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_Size\"))+\" :\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.size))])]),_c('li',[_c('strong',[_vm._v(\"Wkid:\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.wkid))])])])]),_c('div',{staticClass:\"col-md-4 col-sm-4 questionnaire-statistics\"},[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_ImportedOn\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.importDate))])]),(_vm.$config.model.uploadedBy)?_c('li',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_UploadedBy\"))+\":\")]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.uploadedBy))])]):_vm._e()])])]),(_vm.$config.model.duplicateMapLabels.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 col-sm-12 questionnaire-statistics\"},[_c('p',{staticStyle:{\"color\":\"red\"}},[_vm._v(_vm._s(_vm.$t(\"Pages.MapDetails_DuplicateLabelsWarning\"))+\" \")]),_c('ul',{staticClass:\"list-unstyled\"},_vm._l((_vm.$config.model.duplicateMapLabels),function(item){return _c('li',{key:item.label},[_c('strong',[_vm._v(_vm._s(item.label))]),_vm._v(\" - \"),_c('span',[_vm._v(_vm._s(item.count))])])}),0)])]):_vm._e(),_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"550px\",\"src\":_vm.$config.model.mapPreviewUrl}}),_c('p',[_vm._v(_vm._s(_vm.mapDisclaimer)+\" \")])]),_c('div',{staticClass:\"col-md-3 col-sm-3\",attrs:{\"id\":\"list\"}},[_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addParamsToRequest,\"contextMenuItems\":_vm.contextMenuItems}}),_c('Confirm',{ref:\"confirmDiscard\",attrs:{\"slot\":\"modals\",\"id\":\"discardConfirm\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.MapUserLink_DiscardConfirm\"))+\" \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapDetails.vue?vue&type=template&id=674ba57e&\"\nimport script from \"./MapDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./MapDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.mapsUrl}},[_vm._v(_vm._s(_vm.$t(\"Pages.MapList_Title\")))])]),_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.userMapsUrl}},[_vm._v(_vm._s(_vm.$t('Pages.MapList_UserMapsLink')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_DescriptionTitle\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_Description\")))])]),_c('div',{staticClass:\"row flex-row\"},[_c('div',{staticClass:\"flex-block\"},[_c('div',{staticClass:\"selection-box reset-margin\"},[_c('div',{staticClass:\"block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_UploadDescriptionTitle\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_UploadDescription\")))])]),_c('div',[_c('a',{attrs:{\"href\":_vm.$config.model.downloadAllUrl}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.MapLinking_DownloadExisting\"))+\" \")]),(_vm.actionsAlowed)?_c('div',{staticClass:\"info-block\"},[_c('label',{staticClass:\"btn btn-success btn-file\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.MapLinking_UploadFile\"))+\" \"),_c('input',{ref:\"uploader\",attrs:{\"accept\":_vm.$config.model.fileExtension,\"id\":\"File\",\"name\":\"File\",\"type\":\"file\",\"value\":\"\"},on:{\"change\":_vm.onFileChange}})])]):_vm._e(),(_vm.actionsAlowed)?_c('div',{staticClass:\"info-block\"},[_c('div',{ref:\"status\"},[_c('p',[_vm._v(_vm._s(_vm.statusMessage))])])]):_vm._e(),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_UploadFileDescription\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.MapLinking_UploadFileDescription1\")))])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMapLinking.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMapLinking.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserMapLinking.vue?vue&type=template&id=aec95212&\"\nimport script from \"./UserMapLinking.vue?vue&type=script&lang=js&\"\nexport * from \"./UserMapLinking.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.$t('Pages.MapList_Title')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('div',{staticClass:\"topic-with-button\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('Pages.MapList_Title')))]),(_vm.actionsAlowed)?_c('label',{staticClass:\"btn btn-success btn-file\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.MapList_Upload'))+\" \"),_c('input',{ref:\"uploader\",attrs:{\"accept\":\".zip\",\"id\":\"File\",\"name\":\"File\",\"type\":\"file\",\"value\":\"\"},on:{\"change\":_vm.onFileChange}})]):_vm._e()]),_c('div',{ref:\"status\"},[_c('p',[_vm._v(_vm._s(_vm.statusMessage))])]),_c('div',{ref:\"errors\",staticClass:\"alert alert-danger\"},_vm._l((_vm.errorList),function(error){return _c('div',{key:error},[_vm._v(\" \"+_vm._s(error)+\" \")])}),0),_c('ol',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.MapList_UploadDescription'))+\" \")]),_c('li',[_vm._v(_vm._s(_vm.$t('Pages.MapList_UploadDescriptionExtra')))])]),_c('p',[_c('a',{attrs:{\"href\":_vm.$config.model.userMapsUrl}},[_vm._v(_vm._s(_vm.$t('Pages.MapList_UserMapsLink')))])]),_c('p',[_c('a',{attrs:{\"href\":_vm.$config.model.userMapLinkingUrl}},[_vm._v(_vm._s(_vm.$t('Pages.MapList_UserLinking')))])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems}}),_c('Confirm',{ref:\"confirmDiscard\",attrs:{\"slot\":\"modals\",\"id\":\"discardConfirm\",\"okTitle\":_vm.$t('Common.Delete'),\"okClass\":\"btn-danger\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.deleteDialogBody)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapList.vue?vue&type=template&id=4ded63e8&\"\nimport script from \"./MapList.vue?vue&type=script&lang=js&\"\nexport * from \"./MapList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.mapsUrl}},[_vm._v(_vm._s(_vm.$t(\"Pages.MapList_Title\")))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t(\"Pages.MapList_UserMapsTitle\")))]),_c('p',[_c('a',{attrs:{\"href\":_vm.$config.model.userMapLinkingUrl}},[_vm._v(_vm._s(_vm.$t('Pages.MapList_UserLinking')))])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions}}),_c('Confirm',{ref:\"confirmDiscard\",attrs:{\"slot\":\"modals\",\"id\":\"discardConfirm\"},slot:\"modals\"},[_vm._v(_vm._s(_vm.$t(\"Pages.Map_DiscardConfirm\")))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMaps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMaps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserMaps.vue?vue&type=template&id=06c263df&\"\nimport script from \"./UserMaps.vue?vue&type=script&lang=js&\"\nexport * from \"./UserMaps.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import MapDetails from './MapDetails'\r\nimport UserMapLinking from './UserMapLinking'\r\nimport MapList from './MapList'\r\nimport UserMaps from './UserMaps'\r\n\r\nexport default class MapComponent {\r\n get routes() {\r\n return [{\r\n path: '/Maps/Details/', component: MapDetails,\r\n },{\r\n path: '/Maps/UserMapsLink/', component: UserMapLinking,\r\n },{\r\n path: '/Maps/UserMaps', component: UserMaps,\r\n },{\r\n path: '/Maps/', component: MapList,\r\n }]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$t('WebInterviewSetup.WebInterviewSetup_Title')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.WebInterviewSetup_PageHeader'))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.StartInfo', {name: this.$config.model.questionnaireFullName}))+\" \")])])]),_c('form',{attrs:{\"method\":\"post\"}},[_c('div',{staticClass:\"checkbox info-block\"},[_c('input',{staticClass:\"checkbox-filter\",attrs:{\"checked\":\"checked\",\"data-val\":\"true\",\"id\":\"useCaptcha\",\"name\":\"UseCaptcha\",\"type\":\"checkbox\",\"value\":\"true\"}}),_c('label',{attrs:{\"for\":\"useCaptcha\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.UseCaptcha'))+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"action-buttons\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.Start'))+\" \")]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.BackToQuestionnaires'))+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Start.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Start.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Start.vue?vue&type=template&id=d37610ca&\"\nimport script from \"./Start.vue?vue&type=script&lang=js&\"\nexport * from \"./Start.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$t('WebInterviewSetup.Started_Title'),\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.WebInterviewSetup_PageHeader')))])]),_c('div',{staticClass:\"col-sm-7\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.WebInterviewStarted', {name: this.$config.model.questionnaireFullName})))])]),_c('div',{staticClass:\"col-sm-12\"},[_c('form',{ref:\"messagesForm\"},[_c('div',{staticClass:\"panel panel-default\"},[_c('div',{staticClass:\"panel-heading\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.TextCustomize'))+\" \")]),_c('div',{staticClass:\"panel-body\"},[_c('ul',{staticClass:\"nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((_vm.editableStrings),function(opt){return _c('li',{key:opt.value,class:{active:opt.isActive}},[_c('a',{attrs:{\"href\":\"javascript:void(0);\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setActive(opt)}}},[_vm._v(_vm._s(opt.title))])])}),0),_c('div',{staticClass:\"tab-content\"},_vm._l((_vm.editableStrings),function(opt){return _c('div',{key:opt.value,staticClass:\"tab-pane well-sm\",class:{active:opt.isActive},attrs:{\"role\":\"tabpanel\"}},[_c('p',[_vm._v(_vm._s(_vm.textDescription(opt)))]),_c('div',{staticClass:\"options-group\"},[_c('div',{staticClass:\"radio\"},[_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opt.overriden),expression:\"opt.overriden\",modifiers:{\"number\":true}}],staticClass:\"wb-radio\",attrs:{\"type\":\"radio\",\"id\":'rbOverrideDefault' + opt.value,\"value\":\"0\"},domProps:{\"checked\":_vm._q(opt.overriden,_vm._n(\"0\"))},on:{\"change\":function($event){_vm.$set(opt, \"overriden\", _vm._n(\"0\"))}}}),_c('label',{attrs:{\"for\":'rbOverrideDefault' + opt.value}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.defaultText(opt))+\" \")])])]),_c('div',{staticClass:\"radio\"},[_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(opt.overriden),expression:\"opt.overriden\",modifiers:{\"number\":true}}],staticClass:\"wb-radio\",attrs:{\"type\":\"radio\",\"id\":'rbOverrideCustom' + opt.value,\"value\":\"1\"},domProps:{\"checked\":_vm._q(opt.overriden,_vm._n(\"1\"))},on:{\"change\":function($event){_vm.$set(opt, \"overriden\", _vm._n(\"1\"))}}}),_c('label',{attrs:{\"for\":'rbOverrideCustom' + opt.value}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.CustomText'))+\" \")]),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"submit\"}},[_c('span')])])])]),(opt.overriden)?_c('vue-editor',{attrs:{\"editorToolbar\":_vm.customToolbar,\"id\":'txt' + opt.value},model:{value:(opt.customText),callback:function ($$v) {_vm.$set(opt, \"customText\", $$v)},expression:\"opt.customText\"}}):_vm._e(),(opt.overriden)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":opt.value},domProps:{\"value\":opt.customText}}):_vm._e()],1)}),0),_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"value\":\"save all\",\"disabled\":_vm.submitting},on:{\"click\":_vm.updateMessages}},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.SaveAll')))]),_c('span',{class:_vm.updateFailed ? 'text-danger' : 'text-success'},[_vm._v(_vm._s(_vm.updatedMessage))])])])])]),_c('form',{attrs:{\"method\":\"post\"}},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-buttons\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.ExportAssignmentsTitle')))])]),_c('input',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\"},domProps:{\"value\":_vm.$t('WebInterviewSetup.StopWebInterview')}}),_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":this.$config.model.downloadAssignmentsUrl}},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.DownloadTitle',{count: _vm.$config.model.assignmentsCount})))]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.BackToQuestionnaires')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Started.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Started.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Started.vue?vue&type=template&id=254bb175&\"\nimport script from \"./Started.vue?vue&type=script&lang=js&\"\nexport * from \"./Started.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"mainClass\":'interview-setup',\"title\":_vm.$t('WebInterviewSettings.WebInterviewSetupFor_Title')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(this.$t('WebInterviewSettings.WebInterviewSetupFor_Title'))+\" \"),_c('b',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.QuestionnaireNameFormat', { name: this.$config.model.questionnaireTitle, version: this.$config.model.questionnaireVersion }))+\" \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.CustomizeDisplayedText')))]),_c('div',{staticClass:\"welcome-page\"},[_c('ul',{staticClass:\"nav nav-tabs\",attrs:{\"role\":\"tablist\",\"id\":\"start-screen-example\"}},[_c('li',{staticClass:\"active\",attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"#welcome\",\"aria-controls\":\"welcome\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){return _vm.setPageActive('welcomeTextTitle', 'welcomeTextDescription')}}},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.WelcomePage')))])]),_c('li',{attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"#resume\",\"aria-controls\":\"resume\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){return _vm.setPageActive('resumeWelcome', 'resumeInvitation')}}},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.ResumePage')))])]),_c('li',{attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"#complete\",\"aria-controls\":\"complete\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){return _vm.setPageActive('completeNoteToSupervisor')}}},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.CompletePage')))])]),_c('li',{attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"#finish\",\"aria-controls\":\"finish\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){return _vm.setPageActive('webSurveyHeader', 'finishInterview')}}},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FinishPage')))])]),_c('li',{attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"#link\",\"aria-controls\":\"link\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){return _vm.setPageActive('linkWelcome', 'linkInvitation')}}},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.LinkToInterviewPage')))])])]),_c('div',{staticClass:\"tab-content\"},[_c('Welcome',{attrs:{\"webInterviewPageMessages\":_vm.webInterviewPageMessages,\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl,\"questionnaireId\":_vm.questionnaireId,\"questionnaireTitle\":_vm.questionnaireTitle}}),_c('Resume',{attrs:{\"webInterviewPageMessages\":_vm.webInterviewPageMessages,\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl,\"questionnaireId\":_vm.questionnaireId,\"questionnaireTitle\":_vm.questionnaireTitle}}),_c('Complete',{attrs:{\"webInterviewPageMessages\":_vm.webInterviewPageMessages,\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl,\"questionnaireId\":_vm.questionnaireId,\"questionnaireTitle\":_vm.questionnaireTitle}}),_c('Finish',{attrs:{\"webInterviewPageMessages\":_vm.webInterviewPageMessages,\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl,\"questionnaireId\":_vm.questionnaireId,\"questionnaireTitle\":_vm.questionnaireTitle}}),_c('LinkInterview',{attrs:{\"webInterviewPageMessages\":_vm.webInterviewPageMessages,\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl,\"questionnaireId\":_vm.questionnaireId,\"questionnaireTitle\":_vm.questionnaireTitle}})],1)])])]),_c('hr'),_c('div',{staticClass:\"row mb-05\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.CustomizeEmailsText')))]),_c('div',[_c('ul',{staticClass:\"nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((_vm.emailTemplates),function(emailTemplate){return _c('li',{key:emailTemplate.value,class:{active:emailTemplate.isActive},attrs:{\"role\":\"presentation\"}},[_c('a',{attrs:{\"href\":\"javascript:void(0);\",\"role\":\"tab\",\"data-toggle\":\"tab\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setActive(emailTemplate)}}},[_vm._v(_vm._s(emailTemplate.buttonTitle))])])}),0),_c('div',{staticClass:\"tab-content\"},_vm._l((_vm.emailTemplates),function(emailTemplate){return _c('div',{key:emailTemplate.type,staticClass:\"tab-pane email-section\",class:{active:emailTemplate.isActive},attrs:{\"role\":\"tabpanel\"}},[_c('form',{attrs:{\"data-vv-scope\":'emailTemplateData' + emailTemplate.value},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"email-block d-flex mb-30\"},[_c('div',{staticClass:\"costomization-block email-block-unit\"},[_c('div',{},[_c('div',{staticClass:\"row-element mb-30\"},[_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.EmailTemplateDescription')))])]),_c('div',{staticClass:\"row-element\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.EmailSubject'))+\" \")]),_c('div',{staticClass:\"form-group mb-30\",class:{ 'has-error': _vm.errors.has('emailTemplateData' + emailTemplate.value + '.subject') }},[_c('div',{staticClass:\"field\",class:{ 'answered': emailTemplate.subject }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(emailTemplate.subject),expression:\"emailTemplate.subject\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"type\":\"text\",\"data-vv-as\":\"Please enter the subject\",\"data-vv-name\":\"subject\",\"maxlength\":\"200\",\"placeholder\":\"Please enter the subject\"},domProps:{\"value\":(emailTemplate.subject)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(emailTemplate, \"subject\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.clearField(emailTemplate, 'subject')}}},[_c('span')]),(_vm.errors.first('emailTemplateData' + emailTemplate.value + '.subject'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])]),(_vm.isMessageSupportedInterviewData(emailTemplate))?_c('div',{staticClass:\"row-element mb-30\"},[_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.InterviewDataInsertInTextDescription')))]),_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.InterviewDataInsertBarcodeDescription')))]),_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.InterviewDataInsertQrCodeDescription')))])]):_vm._e(),_c('div',{staticClass:\"row-element\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.MainText'))+\" \")]),_c('div',{staticClass:\"form-group mb-30\",class:{ 'has-error': _vm.errors.has('emailTemplateData' + emailTemplate.value + '.message') }},[_c('div',{staticClass:\"field\",class:{ 'answered': emailTemplate.message }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:'message' + emailTemplate.value,refInFor:true,staticClass:\"form-control js-elasticArea\",attrs:{\"data-vv-as\":\"Please enter the main text\",\"data-vv-name\":\"message\",\"maxlength\":\"1000\",\"min-height\":79,\"placeholder\":\"Please enter the main text\"},model:{value:(emailTemplate.message),callback:function ($$v) {_vm.$set(emailTemplate, \"message\", $$v)},expression:\"emailTemplate.message\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){emailTemplate.message=null}}},[_c('span')]),(_vm.errors.first('emailTemplateData' + emailTemplate.value + '.message'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),(_vm.isPasswordSupported(emailTemplate))?_c('div',{staticClass:\"row-element\"},[_c('div',{staticClass:\"h5 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.DescriptionForPassword'))+\" \")]),_c('div',{staticClass:\"gray-text mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.ShownPasswordIsRequired'))+\" \")]),_c('div',{staticClass:\"form-group mb-30\",class:{ 'has-error': _vm.errors.has('emailTemplateData' + emailTemplate.value + '.passwordDescription') }},[_c('div',{staticClass:\"field\",class:{ 'answered': emailTemplate.passwordDescription }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(emailTemplate.passwordDescription),expression:\"emailTemplate.passwordDescription\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"type\":\"text\",\"data-vv-name\":\"passwordDescription\",\"data-vv-as\":\"Please enter password description\",\"maxlength\":\"500\",\"placeholder\":\"Please enter password description\"},domProps:{\"value\":(emailTemplate.passwordDescription)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(emailTemplate, \"passwordDescription\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.clearField(emailTemplate, 'passwordDescription')}}},[_c('span')]),(_vm.errors.first('emailTemplateData' + emailTemplate.value + '.passwordDescription'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])]):_vm._e(),(_vm.isButtonSupported(emailTemplate))?_c('div',{staticClass:\"row-element\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.StartInterviewButton'))+\" \")]),_c('div',{staticClass:\"form-group mb-30\",class:{ 'has-error': _vm.errors.has('emailTemplateData' + emailTemplate.value + '.linkText') }},[_c('div',{staticClass:\"field\",class:{ 'answered': emailTemplate.linkText }},[_c('span',{staticClass:\"wrapper-dynamic\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(emailTemplate.linkText),expression:\"emailTemplate.linkText\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control with-clear-btn width-dynamic\",attrs:{\"type\":\"text\",\"data-vv-name\":\"linkText\",\"maxlength\":\"200\",\"placeholder\":\"Please enter the text\"},domProps:{\"value\":(emailTemplate.linkText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(emailTemplate, \"linkText\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.clearField(emailTemplate, 'linkText')}}},[_c('span')]),(_vm.errors.first('emailTemplateData' + emailTemplate.value + '.linkText'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])])]):_vm._e(),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$emailTemplateData' + emailTemplate.value)},on:{\"click\":function($event){return _vm.saveEmailTemplate(emailTemplate)}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"button\",\"disabled\":!_vm.isDirty('$emailTemplateData' + emailTemplate.value)},on:{\"click\":function($event){return _vm.cancelEditEmailTemplate(emailTemplate)}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])])]),_c('div',{staticClass:\"preview email-block-unit\"},[_c('div',{staticClass:\"browser-mockup\"},[_c('div',{staticClass:\"email-example\"},[_c('table',{staticClass:\"em-table\",staticStyle:{\"font-family\":\"Arial, Helvetica, sans-serif\",\"font-size\":\"14px\",\"box-sizing\":\"border-box\",\"max-width\":\"600px\",\"background-image\":\"url('../../img/logo.svg')\",\"background-repeat\":\"no-repeat\",\"background-size\":\"270px auto\",\"background-position\":\"115% 45px\"},attrs:{\"align\":\"center\",\"border\":\"0\",\"cellspacing\":\"0\",\"cellpadding\":\"0\"}},[_c('tr',[_c('td',{staticStyle:{\"border\":\"6px solid #E5E5E5\",\"padding\":\"50px 55px 115px\",\"box-sizing\":\"border-box\"}},[_c('table',{attrs:{\"border\":\"0\",\"width\":\"100%\",\"cellpadding\":\"0\",\"cellspacing\":\"0\"}},[_c('tr',[_c('td',{staticStyle:{\"padding-bottom\":\"80px\"}},[(!_vm.hasLogo)?_c('div',{staticClass:\"default-icon\"},[_c('svg',{attrs:{\"width\":\"178\",\"height\":\"83\",\"viewBox\":\"0 0 178 83\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M14.0173 53.3122C14.2271 52.8087 14.437 52.3261 14.6258 51.8226C15.9478 48.5915 15.9898 48.4656 15.9898 44.5632V28.9745H12.0238V44.6052C12.0238 48.4866 12.0868 48.6335 13.3878 51.8016C13.5766 52.2841 13.8075 52.7877 14.0173 53.3122ZM15.8849 59.3966C16.7033 57.3825 17.5216 55.3683 18.34 53.3542C19.9558 49.3888 20.0187 49.221 20.0187 44.5632V26.9603C20.0187 25.5966 19.62 24.9462 18.0043 24.9462H12.0238V20.813H23.9847V44.4793C23.9847 50.1021 23.8378 50.4588 22.0122 54.8858C19.3263 61.4318 16.6613 67.9988 13.9753 74.5448C11.2894 67.9568 8.62442 61.3479 5.91749 54.7809C4.21778 50.6686 4.00794 50.1441 4.00794 44.7101V28.9745H7.97392V44.6052C7.97392 49.2419 8.05785 49.4308 9.65264 53.3332L12.1288 59.4176C13.1779 61.9143 14.9196 61.7884 15.8849 59.3966ZM2.01446 24.9252H7.9949V18.7778C7.9949 17.2252 8.62442 16.7637 10.0094 16.7637H26.0202C27.6359 16.7637 28.0346 17.4141 28.0346 18.7778V44.4793C28.0346 50.8575 27.8667 51.2561 25.7474 56.4174C22.4529 64.495 19.1584 72.5726 15.8639 80.6292C14.5839 83.7973 13.3878 83.7553 12.1288 80.6292C8.83426 72.5096 5.53977 64.3901 2.2243 56.2915C0.251808 51.5079 0 50.8994 0 44.7101V26.9603C0 25.8274 0.293776 24.9252 2.01446 24.9252Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M4.02893 19.8059C4.02893 20.9178 3.12662 21.0018 2.01446 21.0018C0.902312 21.0018 0 20.9178 0 19.8059V10.4484C0 9.08468 0.377712 8.43428 2.01446 8.43428H24.0057V4.02831H1.19609C0.083936 4.02831 0 3.12614 0 2.01416C0 0.902174 0.083936 0 1.19609 0H26.0202C27.594 0 28.0346 0.503539 28.0346 2.01416V10.4484C28.0346 11.7073 27.6359 12.4626 26.0202 12.4626H4.02893V19.8059Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M58.2306 48.8433C58.2306 51.4659 60.266 52.4729 62.5952 52.4729C64.1061 52.4729 66.4353 52.0323 66.4353 50.0182C66.4353 47.8781 63.4556 47.5634 60.5808 46.7662C57.664 46.0528 54.7053 44.8149 54.7053 41.1643C54.7053 37.115 58.5034 35.2057 62.0706 35.2057C66.1835 35.2057 69.9606 36.9891 69.9606 41.5419H65.7638C65.6169 39.1921 63.9802 38.5627 61.8818 38.5627C60.4968 38.5627 58.9021 39.1501 58.9021 40.7866C58.9021 42.2973 59.8463 42.528 64.7776 43.7659C66.2465 44.1016 70.6321 45.0667 70.6321 49.4937C70.6321 53.1024 67.8203 55.8089 62.4484 55.8089C58.0837 55.8089 53.9918 53.6688 54.0757 48.8013H58.2306V48.8433Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M79.8441 40.7237C84.3347 40.7237 87.2305 43.703 87.2305 48.2558C87.2305 52.7667 84.3347 55.7459 79.8441 55.7459C75.3745 55.7459 72.4788 52.7667 72.4788 48.2558C72.4788 43.703 75.3745 40.7237 79.8441 40.7237ZM79.8441 52.8086C82.5091 52.8086 83.3275 50.5427 83.3275 48.2558C83.3275 45.9689 82.5301 43.682 79.8441 43.682C77.2002 43.682 76.4028 45.9689 76.4028 48.2558C76.4028 50.5427 77.2002 52.8086 79.8441 52.8086Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M89.9584 35.6883H93.8824V55.3683H89.9584V35.6883Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M110.481 55.3683H106.767V53.3751H106.683C105.696 54.9906 103.976 55.7459 102.318 55.7459C98.1631 55.7459 97.1139 53.3961 97.1139 49.8713V41.1223H101.038V49.1789C101.038 51.5288 101.709 52.6827 103.556 52.6827C105.675 52.6827 106.599 51.5078 106.599 48.6125V41.1223H110.523V55.3683H110.481Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M118.622 41.1223H121.497V43.7449H118.622V50.7944C118.622 52.1162 118.958 52.4519 120.28 52.4519C120.721 52.4519 121.141 52.4309 121.497 52.347V55.4102C120.826 55.5151 119.986 55.5571 119.21 55.5571C116.776 55.5571 114.719 55.0326 114.719 52.1582V43.7449H112.348V41.1223H114.719V36.8422H118.643V41.1223H118.622Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M127.835 38.9193H123.911V35.6883H127.835V38.9193ZM123.932 41.1223H127.856V55.3683H123.932V41.1223Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M137.928 40.7237C142.418 40.7237 145.314 43.703 145.314 48.2558C145.314 52.7667 142.418 55.7459 137.928 55.7459C133.458 55.7459 130.562 52.7667 130.562 48.2558C130.562 43.703 133.458 40.7237 137.928 40.7237ZM137.928 52.8086C140.593 52.8086 141.411 50.5427 141.411 48.2558C141.411 45.9689 140.614 43.682 137.928 43.682C135.284 43.682 134.486 45.9689 134.486 48.2558C134.486 50.5427 135.284 52.8086 137.928 52.8086Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M147.979 41.1223H151.693V43.1155H151.777C152.763 41.479 154.484 40.7447 156.142 40.7447C160.297 40.7447 161.346 43.0945 161.346 46.6193V55.3893H157.422V47.3327C157.422 44.9828 156.75 43.8289 154.904 43.8289C152.784 43.8289 151.861 45.0038 151.861 47.8991V55.3683H147.937V41.1223H147.979Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M167.515 50.7315C167.515 52.41 169.005 53.1233 170.516 53.1233C171.628 53.1233 173.076 52.6827 173.076 51.298C173.076 50.1231 171.418 49.6615 168.627 49.095C166.34 48.5705 164.116 47.8362 164.116 45.2975C164.116 41.6678 167.264 40.7237 170.327 40.7237C173.412 40.7237 176.308 41.7727 176.622 45.2765H172.908C172.803 43.7659 171.649 43.3463 170.243 43.3463C169.362 43.3463 168.061 43.4932 168.061 44.6681C168.061 46.0738 170.285 46.2626 172.51 46.7871C174.797 47.3117 177.021 48.1299 177.021 50.7945C177.021 54.55 173.748 55.7459 170.516 55.7459C167.201 55.7459 163.948 54.5081 163.822 50.7315H167.515Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M58.6712 19.5331C58.6712 22.1557 60.7067 23.1628 63.0359 23.1628C64.5468 23.1628 66.876 22.7222 66.876 20.7081C66.876 18.568 63.8962 18.2533 61.0214 17.456C58.1047 16.7427 55.1459 15.5048 55.1459 11.8542C55.1459 7.80488 58.944 5.89563 62.5113 5.89563C66.6242 5.89563 70.4013 7.679 70.4013 12.2318H66.2045C66.0576 9.88198 64.4209 9.25256 62.3225 9.25256C60.9375 9.25256 59.3427 9.84002 59.3427 11.4765C59.3427 12.9871 60.287 13.2179 65.2182 14.4558C66.6871 14.7915 71.0728 15.7566 71.0728 20.1835C71.0728 23.7922 68.2609 26.4988 62.889 26.4988C58.5243 26.4988 54.4325 24.3587 54.5164 19.4912H58.6712V19.5331Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M86.8738 26.0582H83.1596V24.065H83.0757C82.0894 25.6805 80.3687 26.4358 78.711 26.4358C74.5562 26.4358 73.507 24.086 73.507 20.5612V11.8122H77.431V19.8688C77.431 22.2187 78.1025 23.3726 79.949 23.3726C82.0684 23.3726 82.9917 22.1977 82.9917 19.3023V11.8122H86.9157V26.0582H86.8738Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M90.1052 11.8122H93.8194V14.4558H93.8824C94.6168 12.6724 96.4634 11.4346 98.4359 11.4346C98.7297 11.4346 99.0234 11.4975 99.2962 11.5814V15.2111C98.9395 15.1272 98.3519 15.0642 97.8903 15.0642C94.9945 15.0642 94.0292 17.0994 94.0292 19.6381V26.0582H90.1052V11.8122Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M109.62 26.0581H105.256L100.366 11.8122H104.479L107.48 21.5473H107.543L110.544 11.8122H114.426L109.62 26.0581Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M118.979 19.8898C119.084 22.4075 120.28 23.4985 122.483 23.4985C124.057 23.4985 125.316 22.5334 125.568 21.6522H129.01C127.897 25.0511 125.568 26.4568 122.337 26.4568C117.846 26.4568 115.055 23.3726 115.055 18.9667C115.055 14.6866 118.014 11.4346 122.337 11.4346C127.184 11.4346 129.555 15.5048 129.261 19.8898H118.979ZM125.358 17.3931C125.002 15.3999 124.141 14.3719 122.253 14.3719C119.714 14.3719 119.084 16.3021 119 17.3931H125.358Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M138.389 27.8415C137.529 30.1284 136.165 31.0726 133.479 31.0726C132.682 31.0726 131.884 31.0096 131.087 30.9257V27.6947C131.821 27.7786 132.598 27.8625 133.374 27.8415C134.402 27.7366 134.885 26.9393 134.885 26.0582C134.885 25.7644 134.822 25.4497 134.717 25.177L129.702 11.8122H133.899L137.13 21.5683H137.193L140.299 11.8122H144.349L138.389 27.8415Z\",\"fill\":\"#303030\"}})])]):_vm._e(),(_vm.hasLogo)?_c('img',{staticClass:\"em-img\",staticStyle:{\"display\":\"block\",\"max-height\":\"170px\",\"width\":\"auto\"},attrs:{\"src\":_vm.logoUrl,\"alt\":\"Custom logo\"}}):_vm._e()])]),_c('tr',[_c('td',{staticStyle:{\"font-size\":\"24px\",\"line-height\":\"30px\",\"color\":\"#727272\",\"font-weight\":\"bold\",\"white-space\":\"pre-line\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(emailTemplate.subject))+\" \")])]),_c('tr',[_c('td',{staticStyle:{\"padding\":\"40px 0\",\"font-size\":\"16px\",\"line-height\":\"20px\",\"white-space\":\"pre-line\"},domProps:{\"innerHTML\":_vm._s(_vm.previewMessage(emailTemplate))}})]),(_vm.isPasswordSupported(emailTemplate))?_c('tr',[_c('td',{staticStyle:{\"padding\":\"0px 0 5px\",\"font-size\":\"16px\",\"line-height\":\"20px\",\"white-space\":\"pre-line\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(emailTemplate.passwordDescription))+\" \")])]):_vm._e(),(_vm.isPasswordSupported(emailTemplate))?_c('tr',[_c('td',{staticStyle:{\"padding\":\"0px 0 50px\",\"font-size\":\"24px\",\"line-height\":\"30px\",\"color\":\"#727272\",\"font-weight\":\"bold\"}},[_vm._v(\" 43845634 \")])]):_vm._e(),(_vm.isButtonSupported(emailTemplate))?_c('tr',[_c('td',[_c('a',{staticClass:\"btn-success\",staticStyle:{\"text-decoration\":\"none\",\"background\":\"#368E19\",\"padding\":\"10px 12px\",\"text-transform\":\"uppercase\",\"letter-spacing\":\"0.1em\",\"border-radius\":\"4px\",\"border\":\"2px solid #368E19\",\"color\":\"#fff\",\"font-family\":\"'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif\",\"font-size\":\"14px\",\"box-shadow\":\"none\"},attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(emailTemplate.linkText))+\" \")])])]):_vm._e()])])]),_c('tr',[_c('td',{attrs:{\"width\":\"100%\",\"align\":\"center\"}},[_c('table',{staticStyle:{\"color\":\"#808080\"},attrs:{\"align\":\"center\",\"width\":\"80%\",\"cellpadding\":\"0\",\"cellspacing\":\"0\",\"border\":\"0\"}},[_c('tr',[_c('td',{staticStyle:{\"padding\":\"15px 0\",\"white-space\":\"pre-line\"},attrs:{\"align\":\"center\"}},[_vm._v(\" Here the address of your organization will appear as specified in your account at the mass mailing server. \")])])])])])])])])])])])])}),0)])])]),_c('hr'),_c('div',{staticClass:\"row mb-05\"},[_c('div',{staticClass:\"col-md-12\"},[_c('form',{attrs:{\"data-vv-scope\":'additionalSettings'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('h3',[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.AdditionalSettings')))]),_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(''),expression:\"''\"},{name:\"model\",rawName:\"v-model\",value:(_vm.spamProtectionIsEnabled),expression:\"spamProtectionIsEnabled\"}],staticClass:\"checkbox-filter\",attrs:{\"data-vv-name\":\"spamProtectionIsEnabled\",\"id\":\"Captcha\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.spamProtectionIsEnabled)?_vm._i(_vm.spamProtectionIsEnabled,null)>-1:(_vm.spamProtectionIsEnabled)},on:{\"change\":function($event){var $$a=_vm.spamProtectionIsEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.spamProtectionIsEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.spamProtectionIsEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.spamProtectionIsEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"Captcha\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('WebInterviewSetup.UseCaptcha'))+\" \")])]),_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(''),expression:\"''\"},{name:\"model\",rawName:\"v-model\",value:(_vm.singleResponseIsEnabled),expression:\"singleResponseIsEnabled\"}],staticClass:\"checkbox-filter\",attrs:{\"data-vv-name\":\"singleResponse\",\"id\":\"singleResponse\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.singleResponseIsEnabled)?_vm._i(_vm.singleResponseIsEnabled,null)>-1:(_vm.singleResponseIsEnabled)},on:{\"change\":function($event){var $$a=_vm.singleResponseIsEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.singleResponseIsEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.singleResponseIsEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.singleResponseIsEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"singleResponse\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('WebInterviewSetup.SingleResponse'))+\" \")])]),_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(''),expression:\"''\"},{name:\"model\",rawName:\"v-model\",value:(_vm.emailOnCompleteIsEnabled),expression:\"emailOnCompleteIsEnabled\"}],staticClass:\"checkbox-filter\",attrs:{\"data-vv-name\":\"emailOnComplete\",\"id\":\"emailOnComplete\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.emailOnCompleteIsEnabled)?_vm._i(_vm.emailOnCompleteIsEnabled,null)>-1:(_vm.emailOnCompleteIsEnabled)},on:{\"change\":function($event){var $$a=_vm.emailOnCompleteIsEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.emailOnCompleteIsEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.emailOnCompleteIsEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.emailOnCompleteIsEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"emailOnComplete\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('WebInterviewSetup.EmailOnComplete'))+\" \")])]),_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(''),expression:\"''\"},{name:\"model\",rawName:\"v-model\",value:(_vm.attachAnswersInEmailIsEnabled),expression:\"attachAnswersInEmailIsEnabled\"}],staticClass:\"checkbox-filter\",attrs:{\"data-vv-name\":\"attachAnswersInEmail\",\"id\":\"attachAnswersInEmail\",\"type\":\"checkbox\",\"disabled\":!_vm.emailOnCompleteIsEnabled},domProps:{\"checked\":Array.isArray(_vm.attachAnswersInEmailIsEnabled)?_vm._i(_vm.attachAnswersInEmailIsEnabled,null)>-1:(_vm.attachAnswersInEmailIsEnabled)},on:{\"change\":function($event){var $$a=_vm.attachAnswersInEmailIsEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.attachAnswersInEmailIsEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.attachAnswersInEmailIsEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.attachAnswersInEmailIsEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"attachAnswersInEmail\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('WebInterviewSetup.AttachAnswersToCompleteEmail'))+\" \")])]),_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:(''),expression:\"''\"},{name:\"model\",rawName:\"v-model\",value:(_vm.allowSwitchToCawiForInterviewerEnabled),expression:\"allowSwitchToCawiForInterviewerEnabled\"}],staticClass:\"checkbox-filter\",attrs:{\"data-vv-name\":\"allowSwitchToCawiForInterviewer\",\"id\":\"allowSwitchToCawiForInterviewer\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.allowSwitchToCawiForInterviewerEnabled)?_vm._i(_vm.allowSwitchToCawiForInterviewerEnabled,null)>-1:(_vm.allowSwitchToCawiForInterviewerEnabled)},on:{\"change\":function($event){var $$a=_vm.allowSwitchToCawiForInterviewerEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.allowSwitchToCawiForInterviewerEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.allowSwitchToCawiForInterviewerEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.allowSwitchToCawiForInterviewerEnabled=$$c}}}}),_c('label',{attrs:{\"for\":\"allowSwitchToCawiForInterviewer\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('WebInterviewSetup.AllowSwitchToCawiForInterviewer'))+\" \")])]),_c('div',{staticClass:\"notification-block mb-20\"},[_c('div',{staticClass:\"mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.SendWithNoResponse'))+\" \")]),_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.reminderAfterDaysIfNoResponse),expression:\"reminderAfterDaysIfNoResponse\"}],ref:\"reminderAfterDaysIfNoResponse\",staticClass:\"selectpicker\",attrs:{\"tabindex\":\"-98\",\"data-vv-name\":\"reminderAfterDaysIfNoResponse\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.reminderAfterDaysIfNoResponse=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"null\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.DoNotSend'))+\" \")]),_c('option',{attrs:{\"value\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 1}))+\" \")]),_c('option',{attrs:{\"value\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 2}))+\" \")]),_c('option',{attrs:{\"value\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 3}))+\" \")]),_c('option',{attrs:{\"value\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 5}))+\" \")]),_c('option',{attrs:{\"value\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXWeek', {count: 1}))+\" \")]),_c('option',{attrs:{\"value\":\"14\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXWeek', {count: 2}))+\" \")])])]),_c('div',{staticClass:\"notification-block mb-30\"},[_c('div',{staticClass:\"mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.SendWithPartialResponse'))+\" \")]),_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.reminderAfterDaysIfPartialResponse),expression:\"reminderAfterDaysIfPartialResponse\"}],ref:\"reminderAfterDaysIfPartialResponse\",staticClass:\"selectpicker\",attrs:{\"tabindex\":\"-98\",\"data-vv-name\":\"reminderAfterDaysIfPartialResponse\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.reminderAfterDaysIfPartialResponse=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"null\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.DoNotSend'))+\" \")]),_c('option',{attrs:{\"value\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 1}))+\" \")]),_c('option',{attrs:{\"value\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 2}))+\" \")]),_c('option',{attrs:{\"value\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 3}))+\" \")]),_c('option',{attrs:{\"value\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXDay', {count: 5}))+\" \")]),_c('option',{attrs:{\"value\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXWeek', {count: 1}))+\" \")]),_c('option',{attrs:{\"value\":\"14\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.AfterXWeek', {count: 2}))+\" \")])])]),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$additionalSettings')},on:{\"click\":function($event){return _vm.saveAdditionalSettings()}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$additionalSettings')},on:{\"click\":function($event){return _vm.cancelAdditionalSettings()}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])])])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{},[(!_vm.started)?_c('a',{staticClass:\"btn btn-lg btn-success mb-1\",attrs:{\"href\":\"javascript:void(0);\",\"role\":\"button\"},on:{\"click\":_vm.startWebInterview}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.Start'))+\" \")]):_vm._e(),(_vm.started)?_c('a',{staticClass:\"btn btn-lg btn-danger mb-1\",attrs:{\"href\":\"javascript:void(0);\",\"role\":\"button\"},on:{\"click\":_vm.stopWebInterview}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.StopWebInterview'))+\" \")]):_vm._e(),_c('a',{staticClass:\"btn btn-lg back-link mb-1\",attrs:{\"href\":this.$config.model.surveySetupUrl,\"role\":\"button\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.BackToQuestionnaires'))+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=cfd3d060&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasRow\":false,\"fixedWidth\":true,\"title\":_vm.$t('WebInterviewSetup.WebInterviewSetup_Title')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.api.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.WebInterviewSetup_SendInvitationsTitle'))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(_vm._s(_vm.title))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12\"},[_c('div',{staticClass:\"import-progress\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations')))]),_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_TotalInvitations', {count: _vm.totalInvitationsCount})))]),_c('p',[(_vm.sentInvitationsCount > 0)?_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_Sent', {count: _vm.sentInvitationsCount})))]):_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_NothingSent')))])]),(_vm.notSentInvitationsCount)?_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_ToSend', {count: _vm.notSentInvitationsCount})))]):_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_NothingToSend')))])])]),(_vm.hasSetupError)?_c('div',{staticClass:\"col-sm-7 col-xs-12\"},[_c('div',{staticClass:\"alert alert-danger\"},[_c('div',{staticClass:\"validation-summary-errors\"},[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_SetupError')))]),(_vm.emailProviderIsNotSetUp)?_c('li',[_vm._v(\"SI001: \"+_vm._s(_vm.$t('WebInterviewSetup.Invitations_EmailIsNotSetUp'))+\" \"),(_vm.$config.model.isAdmin)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('WebInterviewSetup.Invitations_ChangeEmailSettingsAdmin', { url: _vm.emailProviderUrl}))}}):_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_ChangeEmailSettingsNotAdmin')))])]):_vm._e(),(!_vm.started)?_c('li',[_vm._v(\"SI002: \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('WebInterviewSetup.Invitations_SurveyIsNotStarted', { url: _vm.webSettingsUrl }))}})]):_vm._e()])])])]):_c('div',{staticClass:\"col-sm-7 col-xs-12\"},[_c('p',[_vm._v(_vm._s(_vm.$t('WebInterviewSetup.Invitations_SuccessfulSetup')))])]),_c('form',{attrs:{\"method\":\"post\"}},[_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"questionnaireId\"},domProps:{\"value\":_vm.questionnaireId}}),_c('div',{staticClass:\"action-buttons\"},[_c('button',{staticClass:\"btn btn-success \",attrs:{\"type\":\"submit\",\"disabled\":_vm.hasSetupError || _vm.notSentInvitationsCount == 0}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.Invitations_SendAction', { count: _vm.notSentInvitationsCount > 0 ? _vm.notSentInvitationsCount: \"\" }))+\" \")]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":_vm.$config.model.api.surveySetupUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.BackToQuestionnaires'))+\" \")])])])]),_c('Confirm',{ref:\"sendInvitationsConfirmation\",attrs:{\"slot\":\"modals\",\"id\":\"sendInvitationsConfirmation\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.WebInterviewSetup_SendInvitationsConfirmation\"))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SendInvitations.vue?vue&type=template&id=7e3c903a&\"\nimport script from \"./SendInvitations.vue?vue&type=script&lang=js&\"\nexport * from \"./SendInvitations.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasRow\":false,\"fixedWidth\":true,\"title\":_vm.$t('WebInterviewSetup.WebInterviewSetup_Title')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.api.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.WebInterviewSetup_SendInvitationsTitle'))+\" \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(_vm._s(_vm.title))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block preloading-done-with-errors active-preloading\"},[_c('div',{staticClass:\"import-progress\"})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12\"},[_c('div',{staticClass:\"import-progress\"},[(_vm.isQueued)?_c('p',{staticClass:\"default-text\"},[_vm._v(\"Preparing\")]):_vm._e(),(_vm.isInProgress)?_c('p',[_vm._v(\"Sending\")]):_vm._e(),(_vm.isDone)?_c('p',[_vm._v(\"Finished\")]):_vm._e(),(_vm.isFailed)?_c('p',{staticClass:\"error-text\"},[_vm._v(\"Sending invitations has failed. Please contact your server administrator to check the email provider settings.\")]):_vm._e(),(_vm.isCanceled)?_c('p',{staticClass:\"error-text\"},[_vm._v(\"The process was cancelled\")]):_vm._e(),(_vm.isInProgress || _vm.isQueued)?_c('p',[_vm._v(_vm._s(_vm.totalCount)+\" invitations to send.\")]):_vm._e(),(_vm.processedCount == 0)?_c('p',{staticClass:\"default-text\"},[_vm._v(\"Nothing was sent.\")]):_c('p',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.processedCount)+\" sent successfully.\")]),(_vm.withErrorsCount == 0)?_c('p',{staticClass:\"default-text\"},[_vm._v(\"No errors\")]):_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.withErrorsCount)+\" not sent because of errors.\")]),(_vm.isStopped && _vm.withErrorsCount > 0)?_c('p',[_c('a',{attrs:{\"href\":_vm.exportErrorsLink,\"target\":\"_blank\"}},[_vm._v(\"Download list of assignments with errors\")])]):_vm._e()]),(_vm.isInProgress)?_c('div',{staticClass:\"cancelable-progress\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: _vm.overallProgressPercent + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"60\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.overallProgressPercent)+\"%\")])])]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")])]):_vm._e(),_c('div',{staticClass:\"action-buttons\"},[_c('a',{staticClass:\"back-link\",attrs:{\"href\":_vm.$config.model.api.surveySetupUrl}},[_vm._v(\" Back to survey setup \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitationsProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SendInvitationsProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SendInvitationsProgress.vue?vue&type=template&id=3dfece97&\"\nimport script from \"./SendInvitationsProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./SendInvitationsProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Start from './Start'\r\nimport Started from './Started'\r\nimport Settings from './Settings'\r\nimport SendInvitations from './SendInvitations'\r\nimport SendInvitationsProgress from './SendInvitationsProgress'\r\nimport Vue from 'vue'\r\n\r\nexport default class WebInterviewSetupComponent {\r\n get routes() {\r\n return [\r\n {\r\n path: '/WebInterviewSetup/Start/:id',\r\n component: Start,\r\n },\r\n {\r\n path: '/WebInterviewSetup/Started/:id',\r\n component: Started,\r\n },\r\n {\r\n path: '/WebInterviewSetup/Settings/:id',\r\n component: Settings,\r\n },\r\n {\r\n path: '/WebInterviewSetup/SendInvitations/:id',\r\n component: SendInvitations,\r\n },\r\n {\r\n path: '/WebInterviewSetup/EmailDistributionProgress',\r\n component: SendInvitationsProgress,\r\n },\r\n ]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.$t('Pages.UpgradeAssignmentsTitle')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.UpgradeAssignmentsTitle'))+\" \")])]),_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-12 prefilled-data-info info-block\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.UpgradeDescription'))+\" \")])])]),_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-12\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Assignments.SelectQuestionnaireToUpgradeFrom')))]),_c('Typeahead',{attrs:{\"control-id\":\"questionnaire\",\"noSearch\":\"\",\"placeholder\":_vm.$t('Common.Questionnaire'),\"values\":_vm.questionnaires,\"value\":_vm.questionnaireId},on:{\"selected\":_vm.selectQuestionnaire}})],1)]),_c('form',{attrs:{\"method\":\"post\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"__RequestVerificationToken\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"sourceQuestionnaireId\"},domProps:{\"value\":_vm.questionnaireId ? _vm.questionnaireId.key : ''}}),_c('div',{staticClass:\"col-sm-7 col-xs-12 action-buttons\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.questionnaireId}},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.UpgradeBtn'))+\" \")]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":_vm.$config.model.surveySetupUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSetup.BackToQuestionnaires'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpgradeAssignments.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpgradeAssignments.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpgradeAssignments.vue?vue&type=template&id=90a3e256&\"\nimport script from \"./UpgradeAssignments.vue?vue&type=script&lang=js&\"\nexport * from \"./UpgradeAssignments.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"title\":_vm.$t('Pages.UpgradeAssignmentsTitle')}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t( _vm.isDone ? 'Assignments.UpgradeProgressDoneTitle' : 'Assignments.UpgradeProgressTitle', { to: _vm.questionnaireName(_vm.progress.migrateTo), from: _vm.questionnaireName(_vm.progress.migrateFrom) }))+\" \")])]),(_vm.progress.progressDetails.status === 'Queued')?_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-12 prefilled-data-info info-block\"},[_vm._v(_vm._s(_vm.$t('Assignments.UpgradePreparation')))])]):(_vm.progress.progressDetails.status === 'InProgress')?_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block uploading-verifying active-preloading\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Assignments.UpgradeProgressNumbers', { processed: _vm.totalProcessedCount, totalCount: _vm.progress.progressDetails.totalAssignmentsToMigrate })))]),_c('p',[_vm._v(_vm._s(_vm.$t('Assignments.UpgradeProgressErrors', { errorCount: _vm.errorsCount })))])]),_c('div',{staticClass:\"cancelable-progress\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: _vm.overallProgressPercent + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"60\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.overallProgressPercent)+\"%\")])])]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.stop}},[_vm._v(_vm._s(_vm.$t('Assignments.Stop')))])])])]):(_vm.progress.progressDetails.status === 'Cancelled')?_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-12 prefilled-data-info info-block\"},[_vm._v(_vm._s(_vm.$t('Assignments.UpgradeCancelled')))])]):(_vm.progress.progressDetails.status === 'Done')?_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block preloading-done active-preloading\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Assignments.UpgradeProgressDoneCount', {processed: _vm.progress.progressDetails.assignmentsMigratedSuccessfully})))]),(_vm.errorsCount)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.UpgradeProgressErrorCount', {count: _vm.errorsCount}))+\" \"),_c('a',{attrs:{\"href\":_vm.errorsExportUrl,\"target\":\"_blank\"}},[_vm._v(\"(\"+_vm._s(_vm.$t('Assignments.UpgradeDownloadFailed'))+\")\")])]):_vm._e()]),_c('div',{staticClass:\"action-buttons\"},[_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":_vm.$config.model.surveySetupUrl}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])])]):(_vm.progress.progressDetails.status === 'Error')?_c('div',{staticClass:\"row-fluid\"},[_c('div',{staticClass:\"col-sm-12 prefilled-data-info info-block\"},[_vm._v(_vm._s(_vm.$t('Assignments.UpgradeError')))])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpgradeProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpgradeProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpgradeProgress.vue?vue&type=template&id=8225e74e&\"\nimport script from \"./UpgradeProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./UpgradeProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$config.model.title,\"hasFilter\":false,\"topicButton\":_vm.$t('Dashboard.ImportTemplate'),\"topicButtonRef\":!_vm.$config.model.isObserver ? _vm.$config.model.importQuestionnaireUrl: ''}},[_c('ol',{staticClass:\"list-unstyled\",attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('li',[_vm._v(_vm._s(this.$t('Dashboard.SurveySetupIntroMessage1')))]),_c('li',[_vm._v(_vm._s(this.$t('Dashboard.SurveySetupIntroMessage2')))])]),_c('DataTables',{ref:\"table\",attrs:{\"multiorder\":\"\",\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems}}),_c('ModalFrame',{ref:\"deleteQuestionnaireModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('p',{staticStyle:{\"color\":\"red\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.GlobalSettings_DeleteQuestionnaireWarning\" )))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.GlobalSettings_DeleteQuestionnaireConfirmation\" )))]),(this.deletionWarnMsg)?_c('p',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.deletionWarnMsg)+\" \")]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('div',{staticStyle:{\"overflow-x\":\"auto\"}},[_c('label',{staticClass:\"control-label\",staticStyle:{\"white-space\":\"pre\"},attrs:{\"for\":\"deleteConfirmInput\"}},[_vm._v(\" \"+_vm._s(_vm.deletionApproveLabel)+\" \")])])]),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deletionQuestionnaireName),expression:\"deletionQuestionnaireName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"deleteConfirmInput\"},domProps:{\"value\":(_vm.deletionQuestionnaireName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deletionQuestionnaireName=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\",\"disabled\":_vm.deleteBtnDisabled},on:{\"click\":_vm.deleteQuestionnaire}},[_vm._v(_vm._s(_vm.$t(\"Common.Delete\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Questionnaires.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Questionnaires.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Questionnaires.vue?vue&type=template&id=f1663a8e&\"\nimport script from \"./Questionnaires.vue?vue&type=script&lang=js&\"\nexport * from \"./Questionnaires.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import UpgradeAssignments from './UpgradeAssignments'\r\nimport UpgradeProgress from './UpgradeProgress'\r\nimport Questionnaires from './Questionnaires'\r\n\r\nexport default class MapComponent {\r\n get routes() {\r\n return [{\r\n path: '/SurveySetup/UpgradeAssignments/:questionnaireId',\r\n component: UpgradeAssignments,\r\n },\r\n {\r\n path: '/SurveySetup/UpgradeProgress/:processId',\r\n component: UpgradeProgress,\r\n },\r\n {\r\n path: '/SurveySetup',\r\n component: Questionnaires,\r\n },\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"hasRow\":false,\"mainClass\":'enumerators'}},[_c('template',{slot:\"headers\"},[(!this.$config.model.authorizedUser.isInterviewer)?_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.api.listUrl}},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_Interviewers')))])])]):_vm._e(),_c('h1',[(this.$config.model.fullModel.isArchived)?_c('span',{staticClass:\"badge\"},[_vm._v(_vm._s(_vm.$t('Common.Archived')))]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_AssignedToFormat', { interviewer: this.$config.model.fullModel.interviewerName, supervisor: this.$config.model.fullModel.supervisorName}))+\" \")]),_c('ul',{staticClass:\"list-unstyled\"},[(this.$config.model.fullModel.email)?_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_EmailFormat', {email: this.$config.model.fullModel.email})))]):_vm._e(),(this.$config.model.fullModel.fullName)?_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_FullNameFormat', {fullName: this.$config.model.fullModel.fullName})))]):_vm._e(),(this.$config.model.fullModel.phone)?_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_PhoneFormat', {phone: this.$config.model.fullModel.phone})))]):_vm._e(),(this.$config.model.fullModel.isModifiable)?_c('li',[(!this.$config.model.fullModel.isArchived)?_c('a',{attrs:{\"href\":this.$config.model.api.manageUrl}},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_Info')))]):_vm._e(),(this.$config.model.fullModel.isArchived && _vm.$config.model.authorizedUser.isHeadquarters)?_c('form',{attrs:{\"method\":\"post\"}},[_c('input',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"value\":_vm.$t('Pages.Unarchive')},on:{\"click\":_vm.unArchive}})]):_vm._e()]):_vm._e(),(!this.$config.model.authorizedUser.isInterviewer)?_c('li',[_c('a',{attrs:{\"href\":this.$config.model.api.audioAuditLogUrl}},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_ShowAuditLog')))])]):_vm._e()]),(this.$config.model.fullModel.supportQRCodeGeneration)?_c('figure',{staticClass:\"qrcode-wrapper\"},[_c('a',{attrs:{\"target\":\"_blank\",\"title\":_vm.$t('Pages.InterviewerProfile_QrCodeAlt'),\"href\":\"https://support.mysurvey.solutions/interviewer/config/set-up-an-interviewer-tablet-by-scanning-a-barcode/\"}},[_c('img',{attrs:{\"id\":\"download-qr\",\"alt\":_vm.$t('Pages.InterviewerProfile_QrCodeAlt'),\"width\":\"250\",\"height\":\"250\",\"src\":this.$config.model.fullModel.qrCodeAsBase64String}})])]):_vm._e()]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"interviews-information clearfix\"},[_c('div',{staticClass:\"number-information\"},[_c('div',{staticClass:\"amount-of-questionnaires\"},[_vm._v(_vm._s(this.$config.model.fullModel.newInterviewsOnDevice))]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_NewOnDevice'))+\" \")])]),_c('div',{staticClass:\"number-information\"},[_c('div',{staticClass:\"amount-of-questionnaires\"},[_vm._v(_vm._s(this.$config.model.fullModel.rejectedInterviewsOnDevice))]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Rejected'))+\" \")])]),_c('div',{staticClass:\"number-information\"},[_c('div',{staticClass:\"amount-of-questionnaires\"},[_vm._v(_vm._s(this.$config.model.fullModel.waitingInterviewsForApprovalCount))]),_c('div',{staticClass:\"description\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_WaitingForApproval')))])]),_c('div',{staticClass:\"number-information\"},[_c('div',{staticClass:\"amount-of-questionnaires\"},[_vm._v(_vm._s(this.$config.model.fullModel.approvedInterviewsByHqCount))]),_c('div',{staticClass:\"description\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Approved'))+\" \")])])])])]),(_vm.showMap)?_c('div',{staticClass:\"row\"},[(_vm.markerExist)?_c('div',{staticClass:\"col-sm-9 map\"},[_c('div',{ref:\"map\",staticClass:\"extra-margin-bottom\",staticStyle:{\"width\":\"100%\",\"height\":\"400px\"},attrs:{\"id\":\"map-canvas\"}}),_c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{ref:\"tooltip\"},_vm._l((_vm.selectedTooltips),function(selectedTooltip){return _c('div',{key:selectedTooltip.interviewKey,staticClass:\"map-tooltip-info\"},[_c('p',[_c('span',[_vm._v(\"#\"+_vm._s(selectedTooltip.interviewKey))]),_c('span',[_vm._v(\"(\"+_vm._s(_vm.$t(\"MapReport.Assignment\"))+\" \"+_vm._s(selectedTooltip.assignmentId)+\")\")])]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Users.Interviewer\"))+\" :\")]),_vm._v(\"  \"+_vm._s(selectedTooltip.interviewerName)+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Users.Supervisor\"))+\" :\")]),_vm._v(\"  \"+_vm._s(selectedTooltip.supervisorName)+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Status\"))+\" :\")]),_vm._v(\"  \"+_vm._s(selectedTooltip.lastStatus)+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Reports.LastUpdatedDate\"))+\" :\")]),_vm._v(\"  \"+_vm._s(selectedTooltip.lastUpdatedDate)+\" \")]),_c('p',[_c('a',{attrs:{\"href\":_vm.model.api.interviewDetailsUrl + '/' + selectedTooltip.interviewId,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"MapReport.ViewInterviewContent\")))])])])}),0)])]):_vm._e(),(!_vm.markerExist)?_c('div',{staticClass:\"col-sm-9 map\"},[_vm._v(_vm._s(_vm.$t(\"Pages.InterviewerProfile_NoMarkers\")))]):_vm._e()]):_vm._e(),(_vm.totalTrafficUsed > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 clearfix\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"Pages.InterviewerProfile_TrafficUsageHeader\")))]),_c('div',{staticClass:\"graphic-wrapper traffic-usage\"},[_vm._l((_vm.trafficUsage),function(monthlyUsage){return _c('div',{key:monthlyUsage.month,staticClass:\"t-monthly-usage\"},[_c('div',{staticClass:\"t-month\"},[_vm._v(\" \"+_vm._s(monthlyUsage.month)+\" \")]),_vm._l((monthlyUsage.dailyUsage),function(dailyUsage){return _c('div',{key:dailyUsage.timestamp,staticClass:\"t-daily-usage\"},[_c('div',{staticClass:\"t-unit-wrapper\"},[_c('div',{staticClass:\"t-up\",style:({ height: dailyUsage.upInPer + '%' }),attrs:{\"data-toggle\":\"tooltip\",\"data-placement\":\"right\",\"title\":_vm.formatKb(dailyUsage.up)}}),_c('div',{staticClass:\"t-down\",style:({ height: dailyUsage.downInPer + '%' }),attrs:{\"data-toggle\":\"tooltip\",\"data-placement\":\"right\",\"title\":_vm.formatKb(dailyUsage.down)}})]),_c('div',{staticClass:\"t-day\",class:{'t-no-sync': dailyUsage.up + dailyUsage.down === 0 }},[_vm._v(_vm._s(dailyUsage.day))])])})],2)}),_c('div',{staticClass:\"graphic-explanation\"},[_c('div',{staticClass:\"legend-block\"},[_c('div',{staticClass:\"legend\"},[_c('div',{staticClass:\"legend-unit down-unit\"},[_c('span'),_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.InterviewerProfile_IncomingTraffic\"))+\" \")]),_c('div',{staticClass:\"legend-unit up-unit\"},[_c('span'),_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.InterviewerProfile_OutgoingTraffic\"))+\" \")])])]),_c('div',{staticClass:\"total\"},[_c('p',{staticClass:\"primary-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.InterviewerProfile_TotalTrafficUsed\"))+\": \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formatKb(_vm.totalTrafficUsed))}})])])])],2)])]):_vm._e(),(this.$config.model.fullModel.hasDeviceInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 clearfix\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_Title')))]),_c('div',{staticClass:\"graphic-wrapper clearfix\"},[_c('div',{staticClass:\"graphic\"},[_vm._l((this.$config.model.fullModel.synchronizationActivity.days),function(syncDay){return _c('div',{key:syncDay.day,staticClass:\"day-unit\"},[_c('div',{staticClass:\"day\"},[_vm._v(\" \"+_vm._s(syncDay.day)+\" \")]),_vm._l((syncDay.quarters),function(syncDayQuarter,idx){return _c('div',{key:idx,staticClass:\"quarter-of-day\"},[(!syncDayQuarter.HasAnyActivity)?_c('div',{staticClass:\"recent-activity\"},[(syncDayQuarter.failedSynchronizationsCount > 0)?_c('div',{staticClass:\"failed-connection\"}):(syncDayQuarter.synchronizationsWithoutChangesCount > 0)?_c('div',{staticClass:\"successful-connection\"}):_vm._e()]):_c('div',{staticClass:\"recent-activity\"},[_c('div',{directives:[{name:\"repeat\",rawName:\"v-repeat\",value:(syncDayQuarter.downloadedAssignmentsInProportionCount),expression:\"syncDayQuarter.downloadedAssignmentsInProportionCount\"}],staticClass:\"downloaded\"}),_vm._l((syncDayQuarter.uploadedInterviewsInProportionCount),function(item){return _c('div',{key:item,staticClass:\"uploaded\"})}),(syncDayQuarter.hasMoreThanMaxActionsCount)?_c('div',{staticClass:\"over-limit\"},[_c('span')]):_vm._e()],2),_c('div',{staticClass:\"unfinished-assignments\"},[_c('div',{staticClass:\"half-of-quarter\"},_vm._l((syncDayQuarter.allAssignmentsOnDeviceCount),function(item){return _c('div',{key:item,staticClass:\"unfinished-unit\"})}),0),_c('div',{staticClass:\"half-of-quarter\"},_vm._l((syncDayQuarter.allAssignmentsOnDeviceCount),function(item){return _c('div',{key:item,staticClass:\"unfinished-unit\"})}),0)])])})],2)}),_c('div',{staticClass:\"day-unit\"},[_c('div',{staticClass:\"quarter-of-day\"},[_c('div',{staticClass:\"recent-activity\"}),_c('div',{staticClass:\"unfinished-assignments\"},[_c('div',{staticClass:\"half-of-quarter\"}),_c('div',{staticClass:\"half-of-quarter\"})])])])],2),_c('div',{staticClass:\"graphic-explanation\"},[_c('div',{staticClass:\"recent-activity\"},[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('span',{staticClass:\"downloaded\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_Downloaded_Assignments_Desc'))+\" \")]),_c('li',[_c('span',{staticClass:\"uploaded\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_Uploaded_Interview_Desc'))+\" \")]),_c('li',[_c('span',{staticClass:\"successful-connection\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_Nothing_To_Sync'))+\" \")]),_c('li',[_c('span',{staticClass:\"failed-connection\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_Failed_Sync'))+\" \")])])]),_c('div',{staticClass:\"unfinished-assignments\"},[_c('p',{staticClass:\"primary-text\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_Sync_Activity_All_Assignments_Desc')))])])])])])]):_vm._e(),(this.$config.model.fullModel.hasDeviceInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 connection-statistics\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceAndConnectionStatistics')))]),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('b',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceModel'))+\": \"+_vm._s(this.fullModel.deviceType)+\" \"+_vm._s(this.fullModel.deviceManufacturer)+\" \"+_vm._s(this.fullModel.deviceModel)+\" (\"+_vm._s(this.fullModel.deviceBuildNumber)+\")\")])]),_c('li',[_c('b',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerAppVersion'))+\": \"+_vm._s(this.fullModel.interviewerAppVersion)+\" — \"),(!this.fullModel.hasUpdateForInterviewerApp)?_c('span',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerUpToDate')))]):_c('span',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerCanBeUpdated')))])])]),(this.fullModel.deviceAssignmentDate)?_c('li',[_c('b',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceAssignmentDate'))+\": \"+_vm._s(_vm.formatDate(this.fullModel.deviceAssignmentDate, true))+\" (UTC) \"),(this.fullModel.registredDevicesCount > 1)?_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"(\"+_vm._s(_vm.$t('Pages.InterviewerProfile_Relinked'))+\")\")]):_vm._e()])]):_vm._e()]),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_NumberOfSuccessSynchronizations'))+\": \"+_vm._s(this.fullModel.totalNumberOfSuccessSynchronizations))]),_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_NumberOfFailedSynchronizations'))+\": \"+_vm._s(this.fullModel.totalNumberOfFailedSynchronizations))]),(this.fullModel.averageSyncSpeedBytesPerSecond)?_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_AverageSyncSpeed'))+\": \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formatKb(this.fullModel.averageSyncSpeedBytesPerSecond))}}),_vm._v(\"/s \")]):_vm._e(),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_TotalTrafficUsed'))+\": \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formatKb(this.fullModel.trafficUsed))}})])]),_c('ConnectionStats',{attrs:{\"prefix\":_vm.$t('Pages.InterviewerProfile_LastSuccessSync'),\"syncInfo\":this.fullModel.lastSuccessfulSync}}),_c('ConnectionStats',{attrs:{\"prefix\":_vm.$t('Pages.InterviewerProfile_LastFailedSync'),\"syncInfo\":this.fullModel.lastFailedSync}}),(this.fullModel.lastCommunicationDate)?_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_LastSyncronizationDate'))+\": \"+_vm._s(_vm.formatDate(this.fullModel.lastCommunicationDate))+\" (\"+_vm._s(_vm.formatLastCommunication())+\") \"),_c('b',[(this.fullModel.lastSuccessfulSync != undefined && this.fullModel.lastCommunicationDate == this.fullModel.lastSuccessfulSync.syncDate)?_c('span',{staticClass:\"success-text\"},[_vm._v(\"Successful\")]):_vm._e(),(this.fullModel.lastFailedSync != undefined && this.fullModel.lastCommunicationDate == this.fullModel.lastFailedSync.syncDate)?_c('span',{staticClass:\"error-text\"},[_vm._v(\"Failed\")]):_vm._e()])])]):_vm._e()],1)]):_vm._e(),(this.$config.model.fullModel.hasDeviceInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8 detailed-statistics-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceInfo')))]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceId')))]),_c('td',[_vm._v(_vm._s(this.fullModel.deviceId))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceSerial')))]),_c('td',[_vm._v(_vm._s(this.fullModel.deviceSerialNumber))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceModel')))]),_c('td',[_vm._v(\" \"+_vm._s(this.fullModel.deviceType)+\" \"+_vm._s(this.fullModel.deviceManufacturer)+\" \"+_vm._s(this.fullModel.deviceModel)+\" (\"+_vm._s(this.fullModel.deviceBuildNumber)+\") \")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceLanguage')))]),_c('td',[_vm._v(_vm._s(this.fullModel.deviceLanguage))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_AndroidVersion')))]),_c('td',[_vm._v(_vm._s(this.fullModel.androidVersion))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerVersion')))]),_c('td',[_vm._v(_vm._s(this.fullModel.surveySolutionsVersion))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerUpdatedDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(this.fullModel.lastSurveySolutionsUpdatedDate))+\" (UTC)\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceLocation')))]),_c('td',{attrs:{\"id\":\"device-address\"}},[(_vm.hasLastKnownLocation)?_c('a',{attrs:{\"href\":_vm.goolgeMapUrl,\"title\":_vm.$t('WebInterviewUI.ShowOnMap'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.fullModel.deviceLocationOrLastKnownLocationLat)+\", \"+_vm._s(_vm.fullModel.deviceLocationOrLastKnownLocationLon))]):_vm._e()])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceOrientation')))]),_c('td',[_vm._v(_vm._s(this.fullModel.deviceOrientation))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_BatteryStatus')))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_BatteryStatusFormat', { percent: this.fullModel.batteryStatus, power: this.fullModel.batteryPowerSource, powerSaver: this.fullModel.isPowerSaveMode ? _vm.$t('Pages.InterviewerProfile_BatteryStatus_SaverIsOn') : _vm.$t('Pages.InterviewerProfile_BatteryStatus_SaverIsOff') }))+\" \")])]),_c('tr',{class:{'text-danger': this.fullModel.storageFreeInBytes < 1024 * 1024 * 100}},[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_StorageInfo')))]),_c('td',{domProps:{\"innerHTML\":_vm._s(((_vm.ouputBytes(this.fullModel.storageFreeInBytes)) + \" / \" + (_vm.ouputBytes(this.fullModel.storageTotalInBytes))))}})]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_MemoryInfo')))]),_c('td',{domProps:{\"innerHTML\":_vm._s(((_vm.ouputBytes(this.fullModel.ramFreeInBytes)) + \" / \" + (_vm.ouputBytes(this.fullModel.ramTotalInBytes))))}})]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_StorageSizeInfo')))]),_c('td',[_vm._v(_vm._s(_vm.ouputBytes(this.fullModel.databaseSizeInBytes)))])])])])])]):_vm._e(),(this.$config.model.fullModel.hasDeviceInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8 detailed-statistics-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_LastConnectionStatistics')))]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_ServerDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(this.fullModel.serverTimeAtTheBeginningOfSync))+\" (UTC)\")])]),_c('tr',{class:{'text-danger': this.fullModel.deviceHasWrongTime}},[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DeviceDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(this.fullModel.tabletTimeAtTeBeginningOfSync))+\" (UTC)\")])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_ConnectionType')))]),_c('td',[_vm._v(_vm._s(this.fullModel.connectionType)+\" \"+_vm._s(this.fullModel.connectionSubType))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DownloadedQuestionnairesCount')))]),_c('td',[_vm._v(_vm._s(this.fullModel.questionnairesReceived))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_DownloadedAssignmentsCount')))]),_c('td',[_vm._v(_vm._s(this.fullModel.assignmentsReceived))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_UploadedInterviewsCount')))]),_c('td',[_vm._v(_vm._s(this.fullModel.completedInterviewsReceivedFromInterviewer))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_StartedAssignments')))]),_c('td',[_vm._v(_vm._s(this.fullModel.assignmentsThatHaveBeenStarted))])])])])])]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=5a6d68ac&\"\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-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"hasRow\":false,\"mainClass\":'settings'}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.interviewersUrl}},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_Interviewers')))])]),_c('li',[_c('a',{attrs:{\"href\":_vm.$config.model.profileUrl}},[_vm._v(_vm._s(_vm.$t('Pages.Profile_InterviewerProfile')))])])]),_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('InterviewerAuditRecord.DetailedActionLog'))+\" (\"+_vm._s(_vm.$config.model.interviewerName)+\") \")]),(_vm.$config.model.hasDeviceInfo)?_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('b',[_vm._v(_vm._s(_vm.$config.model.deviceModel)+\" (id \"+_vm._s(_vm.$config.model.deviceId)+\")\")])]),_c('li',[_c('b',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerAppVersion'))+\": \"+_vm._s(_vm.$config.model.interviewerAppVersion)+\" — \"),(!_vm.$config.model.hasUpdateForInterviewerApp)?_c('span',{staticClass:\"success-text\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerUpToDate')))]):_c('span',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_InterviewerCanBeUpdated')))])])])]):_vm._e()]),_c('div',{staticClass:\"row extra-margin-bottom\"},[_c('div',{staticClass:\"col-sm-7 \"},[(_vm.$config.model.recordsByDate.length > 0)?_c('a',{attrs:{\"href\":_vm.$config.model.downloadLogUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('InterviewerAuditRecord.DownloadTabLog'))+\" \")]):[_vm._v(\" \"+_vm._s(_vm.$t('InterviewerAuditRecord.RecordsMissing'))+\" \")]],2)]),_vm._l((_vm.$config.model.recordsByDate),function(dateRecords){return _c('div',{key:dateRecords.date,staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.formatDateWithoutTime(dateRecords.date)))]),_c('table',{staticClass:\"table timestamps-table\"},[_c('tbody',_vm._l((dateRecords.recordsByDate),function(record){return _c('tr',{key:record.time},[_c('td',{staticClass:\"gray-text date\"},[_vm._v(\" \"+_vm._s(_vm.formatTime(record.time))+\" \")]),_c('td',[_c('span',{class:_vm.actionCssClass(record)},[_vm._v(\" \"+_vm._s(record.message)+\" \"),(record.description)?[_c('br'),_c('pre',{domProps:{\"innerHTML\":_vm._s(record.description)}})]:_vm._e()],2)])])}),0)])])])}),(_vm.$config.model.startDateTime)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 \"},[_c('a',{attrs:{\"href\":((_vm.$config.model.selfUrl) + \"?startDateTime=\" + (_vm.$config.model.startDateTime))}},[_vm._v(\" \"+_vm._s(_vm.$t('InterviewerAuditRecord.ShowPrevious7Days'))+\" \")])])]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewerAuditLog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewerAuditLog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterviewerAuditLog.vue?vue&type=template&id=b8cb99da&\"\nimport script from \"./InterviewerAuditLog.vue?vue&type=script&lang=js&\"\nexport * from \"./InterviewerAuditLog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Profile from './Profile'\r\nimport InterviewerAuditLog from './InterviewerAuditLog'\r\n\r\nexport default class ProfileComponent {\r\n get routes() {\r\n return [{\r\n path: '/Interviewer/Profile', component: Profile,\r\n }, {\r\n path: '/Interviewer/Profile/:interviewerId', component: Profile,\r\n }, {\r\n path: '/InterviewerAuditLog/Index/:interviewerId', component: InterviewerAuditLog,\r\n }]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"fixedWidth\":true,\"tag\":\"email-providers-page\",\"title\":_vm.$t('Pages.EmailProvidersTitle')}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$hq.basePath + 'Workspaces'}},[_vm._v(_vm._s(_vm.$t('MainMenu.Workspaces'))+\" - \"+_vm._s(this.$hq.basePath.replaceAll('/', '')))])]),_c('li',[_c('a',{attrs:{\"href\":this.$hq.basePath + 'Settings'}},[_vm._v(_vm._s(_vm.$t('Common.Settings')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('Pages.EmailProvidersTitle')))]),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_PageDesc')))])])]),_c('div',{staticClass:\"mb-30\"},[_c('div',{staticClass:\"col-md-12\"},[_c('form',{staticClass:\"form-container\",attrs:{\"data-vv-scope\":\"settings\"}},[_c('button',{staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"submit\",\"disabled\":\"\",\"aria-hidden\":\"true\"}}),_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SenderHeader')))]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.senderAddress') }},[_c('label',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_SenderAddress'))+\" \")]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.senderAddress }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required_if:provider,amazon,sendgrid|email'),expression:\"'required_if:provider,amazon,sendgrid|email'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.senderAddress),expression:\"senderAddress\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"email address\",\"name\":\"senderAddress\",\"id\":\"senderAddress\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.senderAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderAddress=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.senderAddress=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SenderHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.senderAddress')))])])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.replyAddress') }},[_c('label',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_ReplyAddress'))+\" \")]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.replyAddress }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('email'),expression:\"'email'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.replyAddress),expression:\"replyAddress\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"reply email address\",\"name\":\"replyAddress\",\"id\":\"replyAddress\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.replyAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.replyAddress=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.replyAddress=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_ReplyAddressHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.replyAddress')))])])])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.senderName') }},[_c('label',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_SenderName'))+\" \")]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.senderName }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required_if:provider,amazon,sendgrid'),expression:\"'required_if:provider,amazon,sendgrid'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.senderName),expression:\"senderName\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"sender name\",\"name\":\"senderName\",\"id\":\"senderName\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.senderName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.senderName=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.senderName=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SenderNameHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.senderName')))])])]),_c('div',{staticClass:\"form-group mb-30\",class:{ 'has-error': _vm.errors.has('settings.address') }},[_c('label',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_Address'))+\" \")]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.address }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required_if:provider,amazon,sendgrid'),expression:\"'required_if:provider,amazon,sendgrid'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.address),expression:\"address\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"address\",\"name\":\"address\",\"id\":\"address\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.address)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.address=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.address=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AddressHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.address')))])])]),_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_ServiceProvideHeader')))]),_c('div',{staticClass:\"radio-accordion mb-30\"},[_c('div',{staticClass:\"radio mb-1\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.provider),expression:\"provider\"}],ref:\"provider\",staticClass:\"wb-radio\",attrs:{\"name\":\"provider\",\"type\":\"radio\",\"id\":\"provider_none\",\"value\":\"none\"},domProps:{\"checked\":_vm._q(_vm.provider,\"none\")},on:{\"change\":function($event){_vm.provider=\"none\"}}}),_c('label',{attrs:{\"for\":\"provider_none\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_None'))+\" \")]),(_vm.provider === 'none')?_c('div',{staticClass:\"extended-block\"},[_c('div',{staticClass:\"wrapper\"},[_c('p',[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_NoneDescription')))])])]):_vm._e()]),_c('div',{staticClass:\"radio mb-1\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.provider),expression:\"provider\"}],ref:\"provider\",staticClass:\"wb-radio\",attrs:{\"name\":\"provider\",\"type\":\"radio\",\"id\":\"provider_amazon\",\"value\":\"amazon\"},domProps:{\"checked\":_vm._q(_vm.provider,\"amazon\")},on:{\"change\":function($event){_vm.provider=\"amazon\"}}}),_c('label',{attrs:{\"for\":\"provider_amazon\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_Amazon'))+\" \")]),(_vm.provider === 'amazon')?_c('div',{staticClass:\"extended-block\"},[_c('div',{staticClass:\"wrapper\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_AmazonDescription'))+\" \"),_c('a',{attrs:{\"href\":\"https://support.mysurvey.solutions/headquarters/cawi/email-providers-amazon-ses\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_HelpLinkText')))])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.awsAccessKeyId') }},[_c('label',{staticClass:\"h5\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsAccessKeyId')))]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.awsAccessKeyId }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.awsAccessKeyId),expression:\"awsAccessKeyId\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"AWS access key id\",\"name\":\"awsAccessKeyId\",\"id\":\"awsAccessKeyId\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.awsAccessKeyId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.awsAccessKeyId=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.awsAccessKeyId=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsAccessKeyIdHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.awsAccessKeyId')))])])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.awsSecretAccessKey') }},[_c('label',{staticClass:\"h5\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsSecretAccessKey')))]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.awsSecretAccessKey }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.awsSecretAccessKey),expression:\"awsSecretAccessKey\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"AWS secret access key\",\"name\":\"awsSecretAccessKey\",\"id\":\"awsSecretAccessKey\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.awsSecretAccessKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.awsSecretAccessKey=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.awsSecretAccessKey=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsSecretAccessKeyHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.awsSecretAccessKey')))])])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.awsRegion') }},[_c('label',{staticClass:\"h5\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsRegion')))]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.awsRegion }},[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.awsRegion),expression:\"awsRegion\"}],staticClass:\"form-control\",attrs:{\"data-vv-as\":\"AWS region\",\"name\":\"awsRegion\",\"id\":\"awsRegion\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.awsRegion=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.$config.model.awsRegions),function(awsRegion){return _c('option',{key:awsRegion.key,domProps:{\"value\":awsRegion.key,\"innerHTML\":_vm._s(awsRegion.value)}})}),0),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_AwsRegionHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.awsRegion')))])])])])]):_vm._e()]),_c('div',{staticClass:\"radio\"},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.provider),expression:\"provider\"}],ref:\"provider\",staticClass:\"wb-radio\",attrs:{\"name\":\"provider\",\"type\":\"radio\",\"id\":\"provider_sendgrid\",\"value\":\"sendgrid\"},domProps:{\"checked\":_vm._q(_vm.provider,\"sendgrid\")},on:{\"change\":function($event){_vm.provider=\"sendgrid\"}}}),_c('label',{attrs:{\"for\":\"provider_sendgrid\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_Sendgrid'))+\" \")]),(_vm.provider === 'sendgrid')?_c('div',{staticClass:\"extended-block\"},[_c('div',{staticClass:\"wrapper\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_SendgridDescription'))+\" \"),_c('a',{attrs:{\"href\":\"https://support.mysurvey.solutions/headquarters/cawi/email-providers-sendgrid\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_HelpLinkText')))])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('settings.sendGridApiKey') }},[_c('label',{staticClass:\"h5\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SendGridApiKey')))]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.sendGridApiKey }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.sendGridApiKey),expression:\"sendGridApiKey\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"API key\",\"name\":\"sendGridApiKey\",\"id\":\"sendGridApiKey\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.sendGridApiKey)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.sendGridApiKey=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.sendGridApiKey=null}}},[_c('span')]),_c('span',{staticClass:\"gray-text help-block\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SendGridApiKeyHelp')))]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('settings.sendGridApiKey')))])])])])]):_vm._e()])]),(_vm.isFormDirty)?_c('p',{staticClass:\"text-info\"},[_vm._v(\"Save current changes and send yourself a test email to verify that the bulk email service is functional\")]):_vm._e(),_c('div',{staticClass:\"form-group\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":!_vm.isFormDirty || _vm.isFetchInProgress},on:{\"click\":_vm.save}},[_vm._v(\"Save\")])]),(_vm.providerSettingsResult)?_c('p',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.providerSettingsResult))]):_vm._e()]),(!_vm.isFormDirty && (_vm.sendGridIsSetUp || _vm.awsIsSetUp))?_c('form',{staticClass:\"form-container\",attrs:{\"data-vv-scope\":\"testEmail\"}},[_c('button',{staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"submit\",\"disabled\":\"\",\"aria-hidden\":\"true\"}}),_c('h4',[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SendTestEmailHeader')))]),_c('div',{staticClass:\"form-inline\"},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('testEmail.testEmailAddress') }},[_c('label',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.EmailProvider_TestEmailAddress'))+\" \")]),_c('div',{staticClass:\"field\",class:{ 'answered': _vm.testEmailAddress }},[_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|email'),expression:\"'required|email'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.testEmailAddress),expression:\"testEmailAddress\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"data-vv-as\":\"email\",\"name\":\"testEmailAddress\",\"id\":\"testEmailAddress\",\"type\":\"text\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.testEmailAddress)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.testEmailAddress=$event.target.value}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.testEmailAddress=null}}},[_c('span')]),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('testEmail.testEmailAddress')))])])])]),_c('div',{staticClass:\"form-group\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"disabled\":_vm.isFetchInProgress},on:{\"click\":_vm.sendTestEmail}},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SendTestEmail')))])]),(_vm.sendEmailResult)?_c('p',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.$t('Settings.EmailProvider_SendTestEmailResult')))]):_vm._e(),(!_vm.sendEmailResult)?_c('div',{staticClass:\"has-error\"},_vm._l((_vm.sendingErrors),function(error){return _c('p',{key:error,staticClass:\"help-block\"},[_vm._v(_vm._s(error))])}),0):_vm._e()]):_vm._e()])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailProviders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailProviders.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmailProviders.vue?vue&type=template&id=3ba1a13c&\"\nimport script from \"./EmailProviders.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailProviders.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"tag\":\"tablet-logs-page\",\"title\":_vm.$t('TabletLogs.PageTitle'),\"subtitle\":_vm.$t('TabletLogs.PageSubTitle')}},[_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems,\"noSearch\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabletLogs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabletLogs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TabletLogs.vue?vue&type=template&id=66236aa9&\"\nimport script from \"./TabletLogs.vue?vue&type=script&lang=js&\"\nexport * from \"./TabletLogs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$hq.basePath + 'Workspaces'}},[_vm._v(_vm._s(_vm.$t('MainMenu.Workspaces'))+\" - \"+_vm._s(this.$hq.basePath.replaceAll('/', '')))])]),_c('li',[_c('a',{attrs:{\"href\":this.$hq.basePath + 'Settings'}},[_vm._v(_vm._s(_vm.$t('Common.Settings')))])])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\",attrs:{\"data-suso\":\"settings-page\"}},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.ExportEncryption_Title')))]),_c('p',[_vm._v(_vm._s(_vm.$t('Settings.ExportEncryption_Description')))])]),_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.encryptionEnabled),expression:\"encryptionEnabled\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"isEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.encryptionEnabled)?_vm._i(_vm.encryptionEnabled,null)>-1:(_vm.encryptionEnabled)},on:{\"change\":[function($event){var $$a=_vm.encryptionEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.encryptionEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.encryptionEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.encryptionEnabled=$$c}},_vm.changeEncryptionEnabled]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"isEnabled\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.EnableEncryption'))+\" \")])])]),_c('div',{staticClass:\"block-filter\"},[_c('label',{attrs:{\"for\":\"exportPassword\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.Password'))+\": \")]),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.encryptionPassword),expression:\"encryptionPassword\"}],staticClass:\"form-control\",attrs:{\"id\":\"exportPassword\",\"type\":\"text\",\"readonly\":\"readonly\"},domProps:{\"value\":(_vm.encryptionPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.encryptionPassword=$event.target.value}}}),_c('span',{staticClass:\"input-group-btn\"},[_c('button',{staticClass:\"btn btn-default\",attrs:{\"disabled\":!_vm.encryptionEnabled},on:{\"click\":_vm.regenPassword}},[_c('i',{staticClass:\"glyphicon glyphicon-refresh\"})])])])])])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.GlobalNoteSettings')))]),_c('p',[_vm._v(_vm._s(_vm.$t('Settings.GlobalNoteSettings_Description')))])]),_c('form',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"notificationText\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.GlobalNotice'))+\": \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.globalNotice),expression:\"globalNotice\"}],staticClass:\"form-control\",attrs:{\"id\":\"notificationText\",\"type\":\"text\",\"maxlength\":\"1000\"},domProps:{\"value\":(_vm.globalNotice)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.globalNotice=$event.target.value}}})])]),_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.updateMessage}},[_vm._v(_vm._s(_vm.$t('Common.Save')))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.clearMessage}},[_vm._v(_vm._s(_vm.$t('Common.Delete')))]),(_vm.globalNoticeUpdated)?_c('span',{staticClass:\"text-success\"},[_vm._v(_vm._s(_vm.$t('Settings.GlobalNoteSaved')))]):_vm._e()])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.UserProfileSettings_Title')))])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isAllowInterviewerUpdateProfile),expression:\"isAllowInterviewerUpdateProfile\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"allowInterviewerUpdateProfile\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isAllowInterviewerUpdateProfile)?_vm._i(_vm.isAllowInterviewerUpdateProfile,null)>-1:(_vm.isAllowInterviewerUpdateProfile)},on:{\"change\":[function($event){var $$a=_vm.isAllowInterviewerUpdateProfile,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isAllowInterviewerUpdateProfile=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isAllowInterviewerUpdateProfile=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isAllowInterviewerUpdateProfile=$$c}},_vm.updateAllowInterviewerUpdateProfile]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"allowInterviewerUpdateProfile\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.AllowInterviewerUpdateProfile'))+\" \"),_c('p',{staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.$t('Settings.AllowInterviewerUpdateProfileDesc')))])])])])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.MobileAppSettings_Title')))]),_c('p',[_vm._v(_vm._s(_vm.$t('Settings.MobileAppSettings_Description')))])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isInterviewerAutomaticUpdatesEnabled),expression:\"isInterviewerAutomaticUpdatesEnabled\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"interviewerAutomaticUpdatesEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isInterviewerAutomaticUpdatesEnabled)?_vm._i(_vm.isInterviewerAutomaticUpdatesEnabled,null)>-1:(_vm.isInterviewerAutomaticUpdatesEnabled)},on:{\"change\":[function($event){var $$a=_vm.isInterviewerAutomaticUpdatesEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isInterviewerAutomaticUpdatesEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isInterviewerAutomaticUpdatesEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isInterviewerAutomaticUpdatesEnabled=$$c}},_vm.updateDeviceSettings]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"interviewerAutomaticUpdatesEnabled\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.InterviewerAutoUpdate'))+\" \"),_c('p',{staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.$t('Settings.AutoUpdateDescription')))])])])])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isDeviceNotificationsEnabled),expression:\"isDeviceNotificationsEnabled\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"deviceNotificationsEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isDeviceNotificationsEnabled)?_vm._i(_vm.isDeviceNotificationsEnabled,null)>-1:(_vm.isDeviceNotificationsEnabled)},on:{\"change\":[function($event){var $$a=_vm.isDeviceNotificationsEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isDeviceNotificationsEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isDeviceNotificationsEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isDeviceNotificationsEnabled=$$c}},_vm.updateDeviceSettings]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"deviceNotificationsEnabled\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.DeviceNotifications'))+\" \"),_c('p',{staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.$t('Settings.DeviceNotificationsDescription')))])])])])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isPartialSynchronizationEnabled),expression:\"isPartialSynchronizationEnabled\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"interviewerPartialSynchronizationEnabled\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isPartialSynchronizationEnabled)?_vm._i(_vm.isPartialSynchronizationEnabled,null)>-1:(_vm.isPartialSynchronizationEnabled)},on:{\"change\":[function($event){var $$a=_vm.isPartialSynchronizationEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isPartialSynchronizationEnabled=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isPartialSynchronizationEnabled=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isPartialSynchronizationEnabled=$$c}},_vm.updateDeviceSettings]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"interviewerPartialSynchronizationEnabled\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.InterviewerPartialSynchronization'))+\" \"),_c('p',{staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.$t('Settings.PartialSynchronizationDescription')))])])])])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.WebInterviewEmailNotifications_Title')))])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isEmailAllowed),expression:\"isEmailAllowed\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"allowWebInterviewEmailNotifications\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.isEmailAllowed)?_vm._i(_vm.isEmailAllowed,null)>-1:(_vm.isEmailAllowed)},on:{\"change\":[function($event){var $$a=_vm.isEmailAllowed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isEmailAllowed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isEmailAllowed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isEmailAllowed=$$c}},_vm.updateWebInterviewEmailNotifications]}}),_c('label',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"for\":\"allowWebInterviewEmailNotifications\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Settings.AllowWebInterviewEmailNotifications'))+\" \"),_c('p',{staticStyle:{\"font-weight\":\"normal\"}},[_vm._v(_vm._s(_vm.$t('Settings.AllowWebInterviewEmailNotificationsDesc')))])])])])])]),_c('div',{staticClass:\"row extra-margin-bottom contain-input\"},[_c('div',{staticClass:\"col-sm-7\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Settings.LogoSettings')))]),_c('p',[_vm._v(_vm._s(_vm.$t('Settings.LogoSettings_Description')))]),_c('p',[_vm._v(_vm._s(_vm.$t('Settings.LogoSettings_Description1')))])]),_c('form',{staticClass:\"col-sm-7\",attrs:{\"action\":_vm.$config.model.updateLogoUrl,\"method\":\"post\",\"enctype\":\"multipart/form-data\"},on:{\"submit\":_vm.onLogoSubmit}},[_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),_c('div',{staticClass:\"block-filter\"},[_c('div',{staticClass:\"form-group\",class:{ 'has-error': this.$config.model.invalidImage }},[_c('label',{attrs:{\"for\":\"companyLogo\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.Logo'))+\" \")]),_c('input',{ref:\"logoRef\",attrs:{\"type\":\"file\",\"id\":\"companyLogo\",\"name\":\"logo\",\"accept\":\"image/gif, image/jpeg, image/png\"},on:{\"change\":_vm.changedFile}}),(this.$config.model.invalidImage)?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(this.$t('Settings.LogoNotUpdated')))]):_vm._e()])]),_c('div',{staticClass:\"block-filter\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"disabled\":_vm.files.length == 0,\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('Common.Save')))])])]),_c('div',{staticClass:\"col-sm-7\"},[_c('div',{staticClass:\"block-filter\"},[_c('figure',{staticClass:\"logo-wrapper\"},[_c('figcaption',[_vm._v(_vm._s(_vm.$t('Settings.CurrentLogo'))+\":\")]),_c('img',{ref:\"logoImage\",staticClass:\"logo extra-margin-bottom\",attrs:{\"src\":_vm.$config.model.logoUrl},on:{\"error\":_vm.logoError}})])]),_c('div',{staticClass:\"block-filter action-block\"},[_c('form',{attrs:{\"action\":_vm.$config.model.removeLogoUrl,\"method\":\"post\"}},[_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Settings.RemoveLogo'))+\" \")])])])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=2e7d679a&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=2e7d679a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2e7d679a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"tag\":\"audit-log-page\",\"title\":_vm.$t('AuditLog.PageTitle')}},[_c('DataTables',{attrs:{\"tableOptions\":_vm.tableOptions,\"noSearch\":\"\",\"exportable\":\"\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuditLog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuditLog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AuditLog.vue?vue&type=template&id=875d168a&\"\nimport script from \"./AuditLog.vue?vue&type=script&lang=js&\"\nexport * from \"./AuditLog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"tag\":\"tablet-infos-page\"}},[_c('div',{staticClass:\"row\"},[_c('form',{ref:\"frm\",staticClass:\"topic-with-button\",attrs:{\"method\":\"post\",\"enctype\":\"multipart/form-data\"}},[_c('label',{staticClass:\"btn btn-success btn-file\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Upload_Upload'))+\" \"),_c('input',{ref:\"uploader\",attrs:{\"name\":\"file\",\"type\":\"file\",\"accept\":\".zip\",\"value\":\"\"},on:{\"change\":_vm.onFileChange}})])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabletInfos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabletInfos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TabletInfos.vue?vue&type=template&id=62bdc207&\"\nimport script from \"./TabletInfos.vue?vue&type=script&lang=js&\"\nexport * from \"./TabletInfos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import EmailProviders from './EmailProviders'\r\nimport TabletLogs from './TabletLogs'\r\nimport Settings from './Settings'\r\nimport Vue from 'vue'\r\nimport AuditLog from './AuditLog'\r\nimport TabletInfos from './TabletInfos'\r\nconst InterviewPackages = () => import( /* webpackChunkName: \"controlpanel\" */ './InterviewPackages')\r\n\r\nexport default class AdminComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/Settings/EmailProviders',\r\n component: EmailProviders,\r\n },\r\n {\r\n path: '/Diagnostics/Logs',\r\n component: TabletLogs,\r\n },\r\n {\r\n path: '/Diagnostics/AuditLog',\r\n component: AuditLog,\r\n },\r\n {\r\n path: '/Diagnostics/TabletInfos',\r\n component: TabletInfos,\r\n },\r\n {\r\n path: '/Settings',\r\n component: Settings,\r\n },\r\n {\r\n path: '/Diagnostics/InterviewPackages',\r\n component: InterviewPackages,\r\n },\r\n ]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n // const installApi = require(\"~/webinterview/api\").install\r\n\r\n // installApi(Vue, {\r\n // store: this.rootStore\r\n // });\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"fixedWidth\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('DataExport.DataExport_Title')))]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-5\"},[_c('p',[_vm._v(_vm._s(_vm.$t('DataExport.ExportExplanation')))])])])]),_c('div',{staticClass:\"col-md-12\"},[(_vm.exportServiceIsUnavailable)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12 mb-30\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExport_ServiceIsNotAvailable'))+\" \")])]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{ref:\"list\",staticClass:\"export d-flex\"},[_c('div',{staticClass:\"col-md-12\"},[(!_vm.exportServiceIsUnavailable)?_c('form',[_c('div',{staticClass:\"mb-30\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('DataExport.FilterTitle')))]),_c('div',{staticClass:\"d-flex mb-20 filter-wrapper\"},[_c('div',{staticClass:\"filter-column\"},[_c('h5',[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.SurveyQuestionnaire'))+\" \"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('questionnaireId') }},[_c('Typeahead',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],attrs:{\"control-id\":\"questionnaireId\",\"value\":_vm.questionnaireId,\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"fetch-url\":_vm.questionnaireFetchUrl,\"selectedKey\":_vm.pageState.id,\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\"},on:{\"selected\":_vm.questionnaireSelected}}),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('questionnaireId')))])],1),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('questionnaireVersion') }},[_c('Typeahead',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"questionnaireVersionControl\",attrs:{\"noClear\":\"\",\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaire version\",\"selectedKey\":_vm.pageState.version,\"value\":_vm.questionnaireVersion,\"fetch-url\":_vm.questionnaireVersionFetchUrl,\"disabled\":_vm.questionnaireVersionFetchUrl == null,\"selectFirst\":true},on:{\"selected\":_vm.questionnaireVersionSelected}}),_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.errors.first('questionnaireVersion')))])],1),(_vm.translations.length > 0)?_c('div',{staticClass:\"form-group\"},[_c('Typeahead',{ref:\"questionnaireTranslation\",attrs:{\"noClear\":\"\",\"selectFirst\":\"\",\"control-id\":\"questionnaireTranslation\",\"data-vv-name\":\"questionnaireTranslation\",\"data-vv-as\":\"questionnaire translation\",\"placeholder\":_vm.$t('DataExport.QuestionnaireTranslation'),\"selectedKey\":_vm.pageState.translation,\"value\":_vm.questionnaireTranslation,\"values\":_vm.translations,\"disabled\":_vm.questionnaireVersion == null},on:{\"selected\":_vm.translationSelected}})],1):_vm._e()]),_c('div',{staticClass:\"filter-column\"},[_c('h5',[_vm._v(_vm._s(_vm.$t('DataExport.StatusOfExportTitle')))]),_c('Typeahead',{attrs:{\"control-id\":\"status\",\"selectedKey\":_vm.pageState.status,\"data-vv-name\":\"status\",\"data-vv-as\":\"status\",\"placeholder\":_vm.$t('Common.AllStatuses'),\"value\":_vm.status,\"values\":_vm.statuses},on:{\"selected\":_vm.statusSelected}})],1)])]),(_vm.hasBinaryData || _vm.questionnaireVersion)?_c('div',{staticClass:\"mb-30\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('DataExport.DataType')))]),(_vm.hasInterviews)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataType),expression:\"dataType\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataType\",\"id\":\"surveyData\",\"value\":\"surveyData\"},domProps:{\"checked\":_vm._q(_vm.dataType,\"surveyData\")},on:{\"change\":function($event){_vm.dataType=\"surveyData\"}}}),_c('label',{attrs:{\"for\":\"surveyData\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data Binary\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataType_MainSurveyData')))])])]):_vm._e(),(_vm.hasInterviews && _vm.hasBinaryData)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataType),expression:\"dataType\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataType\",\"id\":\"binaryData\",\"value\":\"binaryData\"},domProps:{\"checked\":_vm._q(_vm.dataType,\"binaryData\")},on:{\"change\":function($event){_vm.dataType=\"binaryData\"}}}),_c('label',{attrs:{\"for\":\"binaryData\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data Binary\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataType_Binary')))])])]):_vm._e(),(_vm.hasInterviews)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataType),expression:\"dataType\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataType\",\"id\":\"paraData\",\"value\":\"paraData\"},domProps:{\"checked\":_vm._q(_vm.dataType,\"paraData\")},on:{\"change\":function($event){_vm.dataType=\"paraData\"}}}),_c('label',{attrs:{\"for\":\"paraData\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data Tabular\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataType_Paradata')))])])]):_vm._e()]):_vm._e(),(_vm.dataType == 'surveyData' && _vm.questionnaireVersion)?_c('div',{staticClass:\"mb-30\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('DataExport.QuestionnaireInformation')))]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.includeMeta),expression:\"includeMeta\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"includeMeta\",\"id\":\"metaInclude\",\"value\":\"True\"},domProps:{\"checked\":_vm._q(_vm.includeMeta,\"True\")},on:{\"change\":function($event){_vm.includeMeta=\"True\"}}}),_c('label',{attrs:{\"for\":\"metaInclude\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data\"},[_vm._v(_vm._s(_vm.$t('DataExport.QuestionnaireInformation_Include')))])])]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.includeMeta),expression:\"includeMeta\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"includeMeta\",\"id\":\"metaExclude\",\"value\":\"False\"},domProps:{\"checked\":_vm._q(_vm.includeMeta,\"False\")},on:{\"change\":function($event){_vm.includeMeta=\"False\"}}}),_c('label',{attrs:{\"for\":\"metaExclude\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data no-meta\"},[_vm._v(_vm._s(_vm.$t('DataExport.QuestionnaireInformation_Exclude')))])])])]):_vm._e(),(_vm.dataType == 'surveyData' && _vm.questionnaireVersion)?_c('div',{staticClass:\"mb-30\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('DataExport.DataFormat')))]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataFormat),expression:\"dataFormat\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataFormat\",\"id\":\"separated\",\"value\":\"Tabular\"},domProps:{\"checked\":_vm._q(_vm.dataFormat,\"Tabular\")},on:{\"change\":function($event){_vm.dataFormat=\"Tabular\"}}}),_c('label',{attrs:{\"for\":\"separated\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data Tabular\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataFormat_Tab')))])])]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataFormat),expression:\"dataFormat\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataFormat\",\"id\":\"Stata\",\"value\":\"Stata\"},domProps:{\"checked\":_vm._q(_vm.dataFormat,\"Stata\")},on:{\"change\":function($event){_vm.dataFormat=\"Stata\"}}}),_c('label',{attrs:{\"for\":\"Stata\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data STATA\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataFormat_Stata')))])])]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataFormat),expression:\"dataFormat\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"dataFormat\",\"id\":\"Spss\",\"value\":\"Spss\"},domProps:{\"checked\":_vm._q(_vm.dataFormat,\"Spss\")},on:{\"change\":function($event){_vm.dataFormat=\"Spss\"}}}),_c('label',{attrs:{\"for\":\"Spss\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"format-data SPSS\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataFormat_Spss')))])])])]):_vm._e(),(_vm.canExportExternally && _vm.questionnaireVersion)?_c('div',{staticClass:\"mb-30\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('DataExport.DataDestination')))]),_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataDestination),expression:\"dataDestination\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"exportDestination\",\"id\":\"download\",\"value\":\"zip\"},domProps:{\"checked\":_vm._q(_vm.dataDestination,\"zip\")},on:{\"change\":function($event){_vm.dataDestination=\"zip\"}}}),_c('label',{attrs:{\"for\":\"download\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"export-destination\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataDestination_Zip')))])])]),(_vm.isOneDriveSetUp)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataDestination),expression:\"dataDestination\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"exportDestination\",\"id\":\"onedrive\",\"value\":\"oneDrive\"},domProps:{\"checked\":_vm._q(_vm.dataDestination,\"oneDrive\")},on:{\"change\":function($event){_vm.dataDestination=\"oneDrive\"}}}),_c('label',{attrs:{\"for\":\"onedrive\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"export-destination OneDrive\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataDestination_OneDrive')))])])]):_vm._e(),(_vm.isDropboxSetUp)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataDestination),expression:\"dataDestination\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"exportDestination\",\"id\":\"dropbox\",\"value\":\"dropbox\"},domProps:{\"checked\":_vm._q(_vm.dataDestination,\"dropbox\")},on:{\"change\":function($event){_vm.dataDestination=\"dropbox\"}}}),_c('label',{attrs:{\"for\":\"dropbox\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"export-destination Dropbox\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataDestination_Dropbox')))])])]):_vm._e(),(_vm.isGoogleDriveSetUp)?_c('div',{staticClass:\"radio-btn-row\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.dataDestination),expression:\"dataDestination\"}],staticClass:\"radio-row\",attrs:{\"type\":\"radio\",\"name\":\"exportDestination\",\"id\":\"googleDrive\",\"value\":\"googleDrive\"},domProps:{\"checked\":_vm._q(_vm.dataDestination,\"googleDrive\")},on:{\"change\":function($event){_vm.dataDestination=\"googleDrive\"}}}),_c('label',{attrs:{\"for\":\"googleDrive\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{staticClass:\"export-destination GoogleDrive\"},[_vm._v(_vm._s(_vm.$t('DataExport.DataDestination_GoogleDrive')))])])]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"mb-30\"},[_c('div',{staticClass:\"structure-block\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.queueExport}},[_vm._v(_vm._s(_vm.$t('DataExport.AddToQueue')))]),_c('button',{staticClass:\"btn btn-lg btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.resetForm}},[_vm._v(_vm._s(_vm.$t('Strings.Cancel')))])])])]):_vm._e()]),(!_vm.exportServiceIsUnavailable)?_c('div',{staticClass:\"col-md-12\"},[(!_vm.exportServiceIsUnavailable && _vm.exportResults.length == 0)?_c('div',{staticClass:\"no-sets\"},[(_vm.exportServiceInitializing)?_c('p',[_vm._v(_vm._s(_vm.$t('Common.Loading')))]):_c('p',[_vm._v(_vm._s(_vm.$t('DataExport.NoDataSets')))])]):_c('div',[_c('h3',{staticClass:\"mb-20\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.GeneratedDataSets'))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t('DataExport.GeneratedDataSets_Desc')))]),_vm._l((_vm.exportResults),function(result){return _c('ExportProcessCard',{key:result.id,attrs:{\"data\":result}})})],2)]):_vm._e()])]),(!_vm.exportServiceIsUnavailable)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-5\"},[_c('h3',{staticClass:\"mb-20\"},[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExportApi'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('DataExport.DataExportApiDesc'))+\" \"),_c('a',{staticClass:\"underlined-link\",attrs:{\"href\":\"https://support.mysurvey.solutions/headquarters/api/api-for-data-export/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('DataExport.DataExportApiInfoPage')))])])])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Export.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Export.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Export.vue?vue&type=template&id=618d943a&\"\nimport script from \"./Export.vue?vue&type=script&lang=js&\"\nexport * from \"./Export.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport { find, findIndex, chunk } from 'lodash'\r\nimport moment from 'moment'\r\nimport { DateFormats } from '~/shared/helpers'\r\n\r\nfunction formatDate(data) {\r\n return moment.utc(data).local().format(DateFormats.dateTimeInList)\r\n}\r\n\r\nexport default {\r\n state: {\r\n jobs: [],\r\n exportServiceInitializing: true,\r\n exportServiceIsUnavailable: false,\r\n _exportStatusUpdateInProgres: false,\r\n },\r\n\r\n actions: {\r\n async getExportStatus({ state, dispatch, commit }) {\r\n\r\n if (state._exportStatusUpdateInProgres) return\r\n commit('SET_UPDATE_IN_PROGRESS', true)\r\n\r\n const api = Vue.$config.model.api\r\n const jobsToUpdate = []\r\n\r\n try {\r\n const response = await Vue.$http.get(api.statusUrl)\r\n\r\n if (response.data == null) {\r\n commit('SET_SERVICE_STATE', false)\r\n return\r\n }\r\n\r\n response.data.forEach(status => {\r\n var existing = find(state.jobs, { id: status.id })\r\n\r\n if (existing == null) {\r\n commit('ADD_JOB', { id: status.id })\r\n jobsToUpdate.push(status.id)\r\n }\r\n })\r\n\r\n state.jobs.forEach(job => {\r\n if (!find(response.data, { id: job.id })) {\r\n commit('REMOVE_JOB', { id: job.id })\r\n }\r\n\r\n if (job.isRunning == true) {\r\n jobsToUpdate.push(job.id)\r\n }\r\n })\r\n\r\n commit('SET_SERVICE_STATE', true)\r\n\r\n dispatch('getJobsUpdate', jobsToUpdate)\r\n\r\n } catch (error) {\r\n if (error && error.response && error.response.status === 401)\r\n location.reload()\r\n else\r\n Vue.config.errorHandler(error)\r\n } finally {\r\n await new Promise(r => setTimeout(r, jobsToUpdate.length > 0 ? 1000 : 2000))\r\n commit('SET_UPDATE_IN_PROGRESS', false)\r\n dispatch('getExportStatus')\r\n }\r\n },\r\n\r\n async getJobsUpdate({ commit }, ids) {\r\n const api = Vue.$config.model.api\r\n\r\n const chunks = chunk(ids, 20)\r\n\r\n for (let i = 0; i < chunks.length; i++) {\r\n const response = await Vue.$http.post(api.exportStatusUrl, chunks[i])\r\n\r\n if (response.data == null) {\r\n return\r\n }\r\n\r\n response.data.forEach(job => {\r\n commit('UPDATE_JOB', job)\r\n })\r\n }\r\n\r\n commit('SET_SERVICE_INITALIZED')\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_SERVICE_STATE(state, value) {\r\n state.exportServiceIsUnavailable = !value\r\n },\r\n\r\n SET_SERVICE_INITALIZED(state) {\r\n state.exportServiceInitializing = false\r\n },\r\n\r\n ADD_JOB(state, { id }) {\r\n const job = { id, isInitializing: true }\r\n\r\n // making sure all jobs ordered by ID descending\r\n const idx = findIndex(state.jobs, j => j.id < id)\r\n\r\n if (idx < 0)\r\n state.jobs.push(job)\r\n else\r\n state.jobs.splice(idx, 0, job)\r\n },\r\n\r\n UPDATE_JOB(state, job) {\r\n const index = findIndex(state.jobs, { id: job.id })\r\n\r\n job.initialized = true\r\n job.isInitializing = false\r\n job.beginDate = formatDate(job.beginDate)\r\n job.endDate = formatDate(job.endDate)\r\n job.lastUpdateDate = formatDate(job.lastUpdateDate)\r\n job.interviewStatus = job.interviewStatus || 'AllStatuses'\r\n job.dataFileLastUpdateDate = formatDate(job.dataFileLastUpdateDate)\r\n job.fileDestination = job.dataDestination\r\n job.error = (job.error || {}).message\r\n job.timeEstimation = moment.duration(job.timeEstimation).humanize(true)\r\n Vue.set(state.jobs, index, job)\r\n },\r\n\r\n REMOVE_JOB(state, { id }) {\r\n const index = findIndex(state.jobs, { id })\r\n Vue.delete(state.jobs, index)\r\n },\r\n\r\n SET_UPDATE_IN_PROGRESS(state, value) {\r\n state._exportStatusUpdateInProgres = value\r\n },\r\n },\r\n}\r\n","import Export from './Export'\r\nimport Vue from 'vue'\r\nimport store from './export.store.js'\r\n\r\nexport default class ExportComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/DataExport/New',\r\n component: Export,\r\n },\r\n ]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n }\r\n\r\n get modules() {\r\n return {\r\n export: store,\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.title,\"hasFilter\":true}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('a',{staticStyle:{\"float\":\"right\",\"margin-right\":\"320px\",\"margin-top\":\"14px\"},attrs:{\"href\":\"MapDashboard\"}},[_c('img',{staticStyle:{\"padding-top\":\"2px\"},attrs:{\"height\":\"26px;\",\"src\":\"/img/google-maps-markers/map.png\",\"title\":_vm.$t('Common.MapDashboard')}})]),_c('h1',[_vm._v(_vm._s(_vm.title))])]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{ref:\"questionnaireIdControl\",attrs:{\"control-id\":\"questionnaireId\",\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"values\":this.$config.model.questionnaires},on:{\"selected\":_vm.questionnaireSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{ref:\"questionnaireVersionControl\",attrs:{\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"disabled\":_vm.questionnaireId == null,\"value\":_vm.questionnaireVersion,\"values\":_vm.questionnaireId == null ? [] : _vm.questionnaireId.versions},on:{\"selected\":_vm.questionnaireVersionSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Status')}},[_c('Typeahead',{attrs:{\"control-id\":\"status\",\"selectedKey\":_vm.selectedStatus,\"data-vv-name\":\"status\",\"data-vv-as\":\"status\",\"placeholder\":_vm.$t('Common.AllStatuses'),\"value\":_vm.status,\"values\":_vm.statuses},on:{\"selected\":_vm.statusSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Responsible')}},[_c('Typeahead',{attrs:{\"control-id\":\"responsibleId\",\"placeholder\":_vm.$t('Common.AllResponsible'),\"value\":_vm.responsibleId,\"ajax-params\":_vm.responsibleParams,\"fetch-url\":_vm.config.api.responsible},on:{\"selected\":_vm.userSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Filters_Assignment')}},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignmentId),expression:\"assignmentId\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"placeholder\":_vm.$t('Common.AllAssignments'),\"type\":\"text\"},domProps:{\"value\":(_vm.assignmentId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.assignmentId=$event.target.value}}}),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":_vm.clearAssignmentFilter}},[_c('div',{staticClass:\"btn btn-default\"},[_c('span',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})])])])]),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Filters_InterviewMode')}},[_c('Typeahead',{attrs:{\"no-search\":\"\",\"control-id\":\"responsibleId\",\"placeholder\":_vm.$t('Pages.Filters_InterviewModePlaceHolder'),\"value\":_vm.interviewMode,\"values\":_vm.interviewModes},on:{\"selected\":_vm.inteviewModeSelected}})],1),_c('InterviewFilter',{attrs:{\"slot\":\"additional\",\"questionnaireId\":_vm.where.questionnaireId,\"questionnaireVersion\":_vm.where.questionnaireVersion,\"value\":_vm.conditions,\"exposedValuesFilter\":_vm.exposedValuesFilter},on:{\"change\":_vm.questionFilterChanged,\"changeFilter\":_vm.changeExposedValuesFilter},slot:\"additional\"})],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems,\"selectable\":_vm.showSelectors,\"selectableId\":'id'},on:{\"selectedRowsChanged\":function (rows) { return _vm.selectedRows = rows; },\"page\":_vm.resetSelection,\"ajaxComplete\":function($event){_vm.isLoading = false}}},[(_vm.selectedRows.length)?_c('div',{staticClass:\"panel panel-table\",attrs:{\"id\":\"pnlInterviewContextActions\"}},[_c('div',{staticClass:\"panel-body\"},[_c('input',{staticClass:\"double-checkbox-white\",attrs:{\"id\":\"q1az\",\"type\":\"checkbox\",\"checked\":\"\",\"disabled\":\"disabled\"}}),_c('label',{attrs:{\"for\":\"q1az\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.selectedRows.length + \" \" + _vm.$t(\"Pages.Interviews_Selected\"))+\" \")]),(_vm.selectedRows.length)?_c('button',{staticClass:\"btn btn-lg btn-success\",attrs:{\"disabled\":_vm.getFilteredToAssign().length == 0},on:{\"click\":_vm.assignInterview}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]):_vm._e(),(_vm.selectedRows.length)?_c('button',{staticClass:\"btn btn-lg btn-success\",attrs:{\"disabled\":_vm.getFilteredToApprove().length == 0},on:{\"click\":_vm.approveInterview}},[_vm._v(_vm._s(_vm.$t(\"Common.Approve\")))]):_vm._e(),(_vm.selectedRows.length)?_c('button',{staticClass:\"btn btn-lg reject\",attrs:{\"disabled\":_vm.getFilteredToReject().length == 0},on:{\"click\":_vm.rejectInterview}},[_vm._v(_vm._s(_vm.$t(\"Common.Reject\")))]):_vm._e(),(_vm.selectedRows.length && !_vm.config.isSupervisor)?_c('button',{staticClass:\"btn btn-lg btn-primary\",attrs:{\"disabled\":_vm.getFilteredToUnApprove().length == 0},on:{\"click\":_vm.unapproveInterview}},[_vm._v(_vm._s(_vm.$t(\"Common.Unapprove\")))]):_vm._e(),(_vm.selectedRows.length)?_c('button',{staticClass:\"btn btn-lg btn-primary\",attrs:{\"disabled\":_vm.getFilteredToCapi().length == 0},on:{\"click\":_vm.changeToCAPI}},[_vm._v(_vm._s(_vm.$t(\"Common.ChangeToCAPI\")))]):_vm._e(),(_vm.selectedRows.length)?_c('button',{staticClass:\"btn btn-lg btn-primary\",attrs:{\"disabled\":_vm.getFilteredToCawi().length == 0},on:{\"click\":_vm.changeToCAWI}},[_vm._v(_vm._s(_vm.$t(\"Common.ChangeToCAWI\")))]):_vm._e(),(_vm.selectedRows.length && !_vm.config.isSupervisor)?_c('button',{staticClass:\"btn btn-link\",attrs:{\"disabled\":_vm.getFilteredToDelete().length == 0},on:{\"click\":_vm.deleteInterview}},[_vm._v(_vm._s(_vm.$t(\"Common.Delete\")))]):_vm._e()])]):_vm._e()]),_c('ModalFrame',{ref:\"assignModal\",attrs:{\"title\":_vm.$t('Common.Assign')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[(_vm.getFilteredToAssign().length > 0)?_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newResponsibleId\"}},[_vm._v(_vm._s(_vm.$t(\"Assignments.SelectResponsible\")))]),_c('Typeahead',{attrs:{\"control-id\":\"newResponsibleId\",\"placeholder\":_vm.$t('Common.Responsible'),\"value\":_vm.newResponsibleId,\"ajax-params\":{ },\"fetch-url\":_vm.config.api.responsible},on:{\"selected\":_vm.newResponsibleSelected}})],1):_vm._e(),_c('div',{attrs:{\"id\":\"pnlAssignToOtherTeamConfirmMessage\"}},[_c('p',{domProps:{\"innerHTML\":_vm._s(this.config.isSupervisor ? _vm.$t('Interviews.AssignConfirmMessage', {\n count: this.getFilteredToAssign().length,\n status1: 'Supervisor assigned',\n status2: 'Interviewer assigned',\n status3: 'Rejected by Supervisor'} )\n : _vm.$t('Interviews.AssignToOtherTeamConfirmMessage', {\n count: this.getFilteredToAssign().length,\n status1: 'Approved by Supervisor',\n status2: 'Approved by Headquarters'} ))}})]),(_vm.CountReceivedByInterviewerItems() > 0)?_c('div',[_c('br'),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isReassignReceivedByInterviewer),expression:\"isReassignReceivedByInterviewer\"}],staticClass:\"checkbox-filter\",attrs:{\"type\":\"checkbox\",\"id\":\"reassignReceivedByInterviewer\"},domProps:{\"checked\":Array.isArray(_vm.isReassignReceivedByInterviewer)?_vm._i(_vm.isReassignReceivedByInterviewer,null)>-1:(_vm.isReassignReceivedByInterviewer)},on:{\"change\":function($event){var $$a=_vm.isReassignReceivedByInterviewer,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isReassignReceivedByInterviewer=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isReassignReceivedByInterviewer=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isReassignReceivedByInterviewer=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"normal\"},attrs:{\"for\":\"reassignReceivedByInterviewer\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.AssignReceivedConfirm\", _vm.CountReceivedByInterviewerItems()))+\" \")]),_c('br'),(_vm.isReassignReceivedByInterviewer)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.AssignReceivedWarning\"))+\" \")]):_vm._e()]):_vm._e()]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"disabled\":!_vm.newResponsibleId || _vm.getFilteredToAssign().length == 0},on:{\"click\":_vm.assign}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"deleteModal\",attrs:{\"title\":_vm.$t('Common.Delete')}},[_c('div',{staticClass:\"action-container\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Interviews.DeleteConfirmMessageHQ', {count: this.getFilteredToDelete().length, status1: 'Supervisor assigned', status2: 'Interviewer assigned'}))}})]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"disabled\":_vm.getFilteredToDelete().length==0},on:{\"click\":_vm.deleteInterviews}},[_vm._v(_vm._s(_vm.$t(\"Common.Delete\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"approveModal\",attrs:{\"title\":_vm.$t('Common.Approve')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[(this.config.isSupervisor)?_c('div',{staticClass:\"action-container\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Interviews.ApproveConfirmMessage', {count: this.getFilteredToApprove().length }))+\" \")]),_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('Interviews.Note')))]),_vm._v(\" \"+_vm._s(_vm.approveBySupervisorAllowedStatusesMessage)+\" \")])]):_c('div',{staticClass:\"action-container\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Interviews.ApproveConfirmMessageHQ', {count: this.getFilteredToApprove().length, status1: 'Completed', status2: 'Approved by Supervisor', status3: 'Rejected by Supervisor'} ))}})]),(_vm.CountReceivedByInterviewerItems() > 0)?_c('div',{staticClass:\"form-group\"},[_c('br'),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isApproveReceivedByInterviewer),expression:\"isApproveReceivedByInterviewer\"}],staticClass:\"checkbox-filter\",attrs:{\"type\":\"checkbox\",\"id\":\"approveReceivedByInterviewer\"},domProps:{\"checked\":Array.isArray(_vm.isApproveReceivedByInterviewer)?_vm._i(_vm.isApproveReceivedByInterviewer,null)>-1:(_vm.isApproveReceivedByInterviewer)},on:{\"change\":function($event){var $$a=_vm.isApproveReceivedByInterviewer,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isApproveReceivedByInterviewer=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isApproveReceivedByInterviewer=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isApproveReceivedByInterviewer=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"normal\"},attrs:{\"for\":\"approveReceivedByInterviewer\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.AssignReceivedConfirm\", _vm.CountReceivedByInterviewerItems()))+\" \")]),_c('br'),(_vm.isApproveReceivedByInterviewer)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.ApproveReceivedWarning\"))+\" \")]):_vm._e()]):_vm._e(),_c('div',[_c('label',{attrs:{\"for\":\"txtStatusApproveComment\"}},[_vm._v(_vm._s(_vm.$t(\"Pages.ApproveRejectPartialView_CommentLabel\"))+\":\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusChangeComment),expression:\"statusChangeComment\"}],staticClass:\"form-control\",attrs:{\"rows\":\"10\",\"maxlength\":\"200\",\"name\":\"txtStatusChangeComment\",\"id\":\"txtStatusApproveComment\"},domProps:{\"value\":(_vm.statusChangeComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.statusChangeComment=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"disabled\":_vm.getFilteredToApprove().length==0},on:{\"click\":_vm.approveInterviews}},[_vm._v(_vm._s(_vm.$t(\"Common.Approve\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"rejectModal\",attrs:{\"title\":_vm.$t('Common.Reject'),\"id\":\"rejectModel\"}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"action-container\"},[(!_vm.config.isSupervisor)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Interviews.RejectConfirmMessageHQ', {count: this.getFilteredToReject().length, status1: 'Completed', status2: 'Approved by Supervisor'} ))}}):_vm._e(),(_vm.config.isSupervisor)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Interviews.RejectConfirmMessage', {count: this.getFilteredToReject().length, status1: 'Completed', status2: 'Rejected by Headquarters'} ))}}):_vm._e()]),_c('div',[_c('div',{staticClass:\"options-group\"},[_c('Radio',{attrs:{\"label\":_vm.$t('Interviews.RejectToOriginal'),\"radioGroup\":false,\"name\":\"rejectToNewResponsible\",\"value\":_vm.rejectToNewResponsible},on:{\"input\":function($event){_vm.rejectToNewResponsible = false; _vm.newResponsibleId = null}}}),_c('Radio',{attrs:{\"label\":_vm.$t('Interviews.RejectToNewResponsible'),\"radioGroup\":true,\"name\":\"rejectToNewResponsible\",\"value\":_vm.rejectToNewResponsible},on:{\"input\":function($event){_vm.rejectToNewResponsible = true}}}),_c('p',[(_vm.rejectToNewResponsible == true)?_c('Typeahead',{attrs:{\"control-id\":\"rejectResponsibleId\",\"placeholder\":_vm.$t('Common.Responsible'),\"value\":_vm.newResponsibleId,\"ajax-params\":{ },\"fetch-url\":_vm.config.api.responsible},on:{\"selected\":_vm.newResponsibleSelected}}):_vm._e()],1)],1)]),_c('div',[_c('label',{attrs:{\"for\":\"txtStatusChangeComment\"}},[_vm._v(_vm._s(_vm.$t(\"Pages.ApproveRejectPartialView_CommentLabel\"))+\" :\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.statusChangeComment),expression:\"statusChangeComment\"}],staticClass:\"form-control\",attrs:{\"rows\":\"10\",\"maxlength\":\"200\",\"id\":\"txtStatusChangeComment\"},domProps:{\"value\":(_vm.statusChangeComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.statusChangeComment=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"id\":\"rejectOk\",\"type\":\"button\",\"role\":\"confirm\",\"disabled\":_vm.getFilteredToReject().length==0 || (_vm.rejectToNewResponsible == true && _vm.newResponsibleId == null)},on:{\"click\":_vm.rejectInterviews}},[_vm._v(_vm._s(_vm.$t(\"Common.Reject\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"id\":\"rejectCancel\",\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"unapproveModal\",attrs:{\"title\":_vm.$t('Common.Unapprove')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"action-container\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Interviews.UnapproveConfirmMessageHQ', {count : this.getFilteredToUnApprove().length, status1: 'Approved by Headquarters'}))}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"disabled\":_vm.getFilteredToUnApprove().length==0},on:{\"click\":_vm.unapproveInterviews}},[_vm._v(_vm._s(_vm.$t(\"Common.Unapprove\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"statusHistory\",attrs:{\"title\":_vm.$t('Pages.HistoryOfStatuses_Title')}},[_c('div',{staticClass:\"action-container\"},[_c('p',[_c('a',{staticClass:\"interview-id title-row\",attrs:{\"href\":\"javascript:void(0)\"},on:{\"click\":_vm.viewInterview}},[_vm._v(_vm._s(_vm.interviewKey))]),_vm._v(\" by \"),_c('span',{class:_vm.responsibleClass,domProps:{\"innerHTML\":_vm._s(_vm.responsibleLink)}})])]),_c('div',{staticClass:\"table-with-scroll\"},[_c('table',{staticClass:\"table table-striped table-condensed table-hover table-break-words history\",attrs:{\"id\":\"statustable\"}},[_c('thead',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_State\")))]),_c('td',[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_On\")))]),_c('td',[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_By\")))]),_c('td',[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_AssignedTo\")))]),_c('td',[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_Comment\")))])])])])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"role\":\"confirm\"},on:{\"click\":_vm.viewInterview}},[_vm._v(_vm._s(_vm.$t(\"Pages.HistoryOfStatuses_ViewInterview\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ChangeToCapi',{ref:\"modalChangeToCAWI\",attrs:{\"modalId\":'switchToCawi_id',\"title\":_vm.$t('Common.ChangeToCAWI'),\"confirmMessage\":_vm.$t('Common.ChangeToCAWIConfirmHQ', {\n count: _vm.getFilteredToCawi().length}),\"filteredCount\":_vm.getFilteredToCawi().length,\"receivedByInterviewerItemsCount\":_vm.CountReceivedByInterviewerItems()},on:{\"confirm\":_vm.changeInterviewModeToCawi}}),_c('ChangeToCapi',{ref:\"modalChangeToCAPI\",attrs:{\"modalId\":'switchToCapi_id',\"title\":_vm.$t('Common.ChangeToCAPI'),\"confirmMessage\":_vm.$t('Common.ChangeToCAPIConfirmHQ', {\n count: _vm.getFilteredToCapi().length}),\"filteredCount\":_vm.getFilteredToCapi().length,\"receivedByInterviewerItemsCount\":_vm.CountReceivedByInterviewerItems()},on:{\"confirm\":_vm.changeInterviewModeToCapi}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqInterviews.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HqInterviews.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HqInterviews.vue?vue&type=template&id=baa86ca4&\"\nimport script from \"./HqInterviews.vue?vue&type=script&lang=js&\"\nexport * from \"./HqInterviews.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Interviews from './HqInterviews'\r\n\r\nexport default class InterviewsComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n get routes() {\r\n return [{\r\n name: 'interviews',\r\n path: '/Interviews/',\r\n component: Interviews,\r\n },\r\n ]\r\n }\r\n initialize() { }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_Info')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.model.title)+\" (ver. \"+_vm._s(_vm.model.version)+\") \"),(_vm.model.designerUrl != null)?_c('a',{attrs:{\"href\":_vm.model.designerUrl,\"target\":\"_blank\"}},[_c('span',{staticClass:\"glyphicon glyphicon-link\",attrs:{\"title\":_vm.$t('Dashboard.ShowOnDesigner')}})]):_vm._e()]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.ImportDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatUtcDate(_vm.model.importDateUtc)))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.ImportedBy')))]),_c('td',[_vm._v(_vm._s(_vm.model.importedBy != null ? _vm.$t('Dashboard.ImportedByText', { role: _vm.$t('Roles.' + _vm.model.importedBy.role), name: _vm.model.importedBy.name }) : \"\"))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.LastEntryDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatUtcDate(_vm.model.lastEntryDateUtc)))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.CreationDate')))]),_c('td',[_vm._v(_vm._s(_vm.formatUtcDate(_vm.model.creationDateUtc)))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.WebMode')))]),_c('td',[_vm._v(_vm._s(_vm.model.webMode ? _vm.$t('Common.Cawi') : _vm.$t('Common.Capi')))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.RecordAudio')))]),_c('td',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return false.apply(null, arguments)}}},[_c('div',{staticClass:\"form-group mb-20\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.audioAudit),expression:\"audioAudit\"}],staticClass:\"checkbox-filter\",attrs:{\"id\":\"recordAudio\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.audioAudit)?_vm._i(_vm.audioAudit,null)>-1:(_vm.audioAudit)},on:{\"change\":[function($event){var $$a=_vm.audioAudit,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.audioAudit=$$a.concat([$$v]))}else{$$i>-1&&(_vm.audioAudit=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.audioAudit=$$c}},_vm.recordAudioChanged]}}),_c('label',{attrs:{\"for\":\"recordAudio\"}},[_c('span',{staticClass:\"tick\"})])])])])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Assignments.DetailsComments')))]),_c('td',[_vm._v(_vm._s(_vm.model.comment))])]),(_vm.model.mainPdfUrl)?_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.QuestionnairePreview')))]),_c('td',[_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.model.mainPdfUrl}},[_vm._v(_vm._s(_vm.getDefaultTranslationName()))])]),_vm._l((_vm.model.translatedPdfVersions),function(lang){return _c('li',{key:lang.name},[_c('a',{attrs:{\"href\":lang.pdfUrl}},[_vm._v(_vm._s(lang.name))])])})],2)])]):_vm._e(),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Dashboard.ExposedVariables')))]),_c('td',[_c('a',{attrs:{\"href\":_vm.model.exposedVariablesUrl + '/' + _vm.model.questionnaireId + '$' + _vm.model.version}},[_vm._v(\" \"+_vm._s(_vm.$t('Dashboard.Edit')))])])])])])]),_c('div',{staticClass:\"col-sm-6\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_Stats')))]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_Variable')))]),_c('td',[_vm._v(_vm._s(_vm.model.variable))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_SectionsCount')))]),_c('td',[_vm._v(_vm._s(_vm.model.sectionsCount))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_SubSectionsCount')))]),_c('td',[_vm._v(_vm._s(_vm.model.subSectionsCount))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_RostersCount')))]),_c('td',[_vm._v(_vm._s(_vm.model.rostersCount))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_QuestionsCount')))]),_c('td',[_vm._v(_vm._s(_vm.model.questionsCount))])]),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_QuestionsCountWithCond')))]),_c('td',[_vm._v(_vm._s(_vm.model.questionsWithConditionsCount))])])])])])]),_c('ModalFrame',{ref:\"audioAuditModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle'),\"canClose\":false}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.GlobalSettings_TurningAudioAuditOn\" )))]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\",\"disabled\":_vm.model.isObserving},on:{\"click\":_vm.recordAudioSend}},[_vm._v(_vm._s(_vm.$t(\"Common.Ok\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.cancelSetAudio}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Details.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Details.vue?vue&type=template&id=09056224&\"\nimport script from \"./Details.vue?vue&type=script&lang=js&\"\nexport * from \"./Details.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"fixedWidth\":true,\"has-row\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"../../SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('QuestionnaireClonning.CloneQuestionnaireTitle')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireClonning.ToCloneQuestionnaire'))+\" \"),_c('b',[_vm._v(_vm._s(_vm.$t('Pages.QuestionnaireNameFormat', {name: this.$config.model.originalTitle, version: this.$config.model.version})))])])])]),_c('div',{staticClass:\"row\"},[_c('form',{ref:\"frmClone\",staticClass:\"col-sm-8\",attrs:{\"method\":\"POST\",\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.tryClone.apply(null, arguments)}}},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('NewTitle')}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"NewTitle\"}},[_vm._v(\" \"+_vm._s(_vm.$t('FieldsAndValidations.CloneQuestionnaireModel_NewTitle_Label'))+\" \")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"NewTitle\",\"name\":\"NewTitle\",\"autocomplete\":\"off\"}}),(_vm.errors.has('NewTitle'))?_c('span',{staticClass:\"help-block field-validation-error\"},[_c('span',[_vm._v(_vm._s(_vm.$t('FieldsAndValidations.CloneQuestionnaireModel_NewTitle_Error_Required')))])]):_vm._e(),(_vm.$config.model.error)?_c('span',{staticClass:\"help-block field-validation-error\"},[_c('span',[_vm._v(_vm._s(_vm.$config.model.error))])]):_vm._e()]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"Comment\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Assignments.DetailsComments'))+\" \")]),_c('textarea',{staticClass:\"form-control\",attrs:{\"name\":\"Comment\",\"id\":\"Comment\",\"placeholder\":_vm.$t('Assignments.EnterComments'),\"rows\":\"6\",\"maxlength\":\"500\"}})]),_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),_c('input',{attrs:{\"name\":\"Id\",\"type\":\"hidden\"},domProps:{\"value\":_vm.$config.model.id}}),_c('input',{attrs:{\"name\":\"Version\",\"type\":\"hidden\"},domProps:{\"value\":_vm.$config.model.version}}),_c('input',{attrs:{\"name\":\"OriginalTitle\",\"type\":\"hidden\"},domProps:{\"value\":_vm.$config.model.originalTitle}}),_c('input',{attrs:{\"name\":\"IsCensus\",\"type\":\"hidden\"},domProps:{\"value\":_vm.$config.model.isCensus}}),_c('div',{staticClass:\"action-buttons\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireClonning.Clone'))+\" \")]),_c('a',{staticClass:\"back-link\",attrs:{\"href\":\"../../SurveySetup\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Cancel'))+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clone.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clone.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Clone.vue?vue&type=template&id=b16420cc&\"\nimport script from \"./Clone.vue?vue&type=script&lang=js&\"\nexport * from \"./Clone.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":\"/SurveySetup\"}},[_vm._v(_vm._s(_vm.$t('MainMenu.SurveySetup')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('Pages.Questionnaire_Exposed_Variables')))])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.QuestionnaireNameFormat', { name : _vm.model.title, version : _vm.model.version}))+\" \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-xs-10 info-block\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Exposed_Variables_Description'))+\" \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('div',{staticClass:\"page-header\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Exposed_Variables_AvailableVariablesTitle'))+\" \")])])]),_c('DataTables',{ref:\"table\",attrs:{\"id\":\"id-table\",\"tableOptions\":_vm.tableOptions,\"noSelect\":\"\",\"noPaging\":false},on:{\"cell-clicked\":_vm.cellAllClicked}})],1),_c('div',{staticClass:\"col-sm-6\"},[_c('div',{staticClass:\"page-header\"},[_c('div',{staticClass:\"neighbor-block-to-search\"},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Exposed_Variables_SelectedVariablesTitle'))+\" \")])])]),_c('table',{staticClass:\"table table-striped table-bordered\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"width\":\"5%\"}}),_c('th',{staticStyle:{\"width\":\"35%\"}},[_vm._v(\" \"+_vm._s(this.$t('Pages.ExposedVariables_VariableName'))+\" \")]),_c('th',{staticStyle:{\"width\":\"60%\"}},[_vm._v(\" \"+_vm._s(this.$t('Pages.ExposedVariables_VariableDisplayTitle'))+\" \")])])]),_c('tbody',_vm._l((_vm.exposedVariables),function(variable){return _c('tr',{key:'id' + '__' + variable.id},[_c('td',[_vm._v(_vm._s(_vm.getEntityDisplayType(variable.entityType)))]),_c('td',[_vm._v(_vm._s(variable.variable))]),_c('td',[_vm._v(_vm._s(_vm.getVariableLabel(variable)))]),_c('td',[_c('button',{staticClass:\"close\",staticStyle:{\"font-size\":\"19px\"},on:{\"click\":function($event){return _vm.removeExposedClicked(variable.id)}}},[_vm._v(\"×\")])])])}),0)]),_c('div',{staticClass:\"action-buttons\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"disabled\":_vm.saveDisabled},on:{\"click\":_vm.saveVariables}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Save'))+\" \")])])])]),_c('ModalFrame',{ref:\"exposedChangeModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle')}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.ExposedVariables_ChangeMessage\" )))]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":_vm.model.isObserving},on:{\"click\":_vm.changeExposedStatusSend}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"exposedRemoveModal\",attrs:{\"title\":_vm.$t('Pages.ConfirmationNeededTitle')}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Pages.ExposedVariables_RemoveMessage\" )))]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\",\"disabled\":_vm.model.isObserving},on:{\"click\":_vm.removeExposedVariable}},[_vm._v(_vm._s(_vm.$t(\"Common.Remove\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExposedVariables.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExposedVariables.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ExposedVariables.vue?vue&type=template&id=7f1bbaeb&\"\nimport script from \"./ExposedVariables.vue?vue&type=script&lang=js&\"\nexport * from \"./ExposedVariables.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Details from './Details'\r\nimport Clone from './Clone'\r\nimport ExposedVariables from './ExposedVariables'\r\n\r\nexport default class MapComponent {\r\n get routes() {\r\n return [{\r\n path: '/Questionnaires/Details/:questionnaireId', component: Details, name: 'questionnairedetails',\r\n },\r\n {\r\n path: '/Questionnaires/Clone/:questionnaireId', component: Clone,\r\n },\r\n {\r\n path: '/Questionnaires/ExposedVariables/:questionnaireId', component: ExposedVariables,\r\n }]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$config.model.title,\"hasFilter\":false}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{staticClass:\"back-link\",attrs:{\"href\":this.$config.model.backLink}},[_vm._v(_vm._s(this.$t(\"MainMenu.SurveySetup\")))])])]),_c('h1',[_vm._v(_vm._s(this.$t('LoginToDesigner.PageHeader')))])]),_c('div',{staticClass:\"row two-columns-form\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 left-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('img',{attrs:{\"src\":\"/img/designer-logo.png\",\"alt\":\"Survey Solutions Designer\"}}),_c('p',[_vm._v(\" \"+_vm._s(this.$t('LoginToDesigner.DesignerAppDescription'))+\" \"),_c('a',{attrs:{\"href\":\"https://mysurvey.solutions\",\"target\":\"_blank\"}},[_vm._v(\"mysurvey.solutions\")])])])])]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 right-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('form',{staticClass:\"log-in\",attrs:{\"id\":\"import-log-in\",\"autocomplete\":\"off\",\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.trySignIn.apply(null, arguments)}}},[(_vm.invalidCredentials)?_c('div',{staticClass:\"alert alert-danger\"},[_c('p',[_vm._v(\" \"+_vm._s(this.$t('LoginToDesigner.InvalidCredentials'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(this.$t('LoginToDesigner.UserDesignerCredentials')))])]):_vm._e(),(_vm.errorMessage)?_c('div',{staticClass:\"alert alert-danger\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})]):_vm._e(),_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('UserName')}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userName),expression:\"userName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"UserName\",\"autofocus\":\"autofocus\",\"placeholder\":this.$t('LoginToDesigner.LoginWatermark')},domProps:{\"value\":(_vm.userName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.userName=$event.target.value}}})]),_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('Password')}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"type\":\"password\",\"id\":\"Password\",\"name\":\"Password\",\"placeholder\":this.$t('FieldsAndValidations.PasswordFieldName')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('div',{staticClass:\"form-group\"},[_c('input',{attrs:{\"id\":\"ShowPassword\",\"type\":\"checkbox\",\"onclick\":\"var pass = document.getElementById('Password');pass.type = (pass.type === 'text' ? 'password' : 'text');\"}}),_c('label',{staticStyle:{\"padding-left\":\"5px\"},attrs:{\"for\":\"ShowPassword\"}},[_c('span'),_vm._v(_vm._s(_vm.$t('Pages.ShowPassword'))+\" \")])]),_c('div',{staticClass:\"form-actions\"},[_c('button',{staticClass:\"btn btn-success btn-lg\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(this.$t('Common.SignIn'))+\" \")])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginToDesigner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginToDesigner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginToDesigner.vue?vue&type=template&id=6f4df932&\"\nimport script from \"./LoginToDesigner.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginToDesigner.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.$config.model.title,\"hasFilter\":false}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.surveySetup}},[_vm._v(\" \"+_vm._s(this.$t('MainMenu.SurveySetup'))+\" \")])]),_c('li',[_c('a',{attrs:{\"href\":this.$config.model.import}},[_vm._v(\" \"+_vm._s(this.$t('QuestionnaireImport.ListOfMyQuestionnaires'))+\" \")])])]),_c('h1',[_vm._v(_vm._s(this.$t('ImportQuestionnaire.PageHeader')))]),_c('div',{staticClass:\"signed-name\"},[_vm._v(\" \"+_vm._s(this.$t('ImportQuestionnaire.SignedInBlock', {user: this.$config.model.designerUserName }))+\" \"),_c('a',{attrs:{\"href\":this.$config.model.logoutFromDesigner}},[_vm._v(\" \"+_vm._s(this.$t('ImportQuestionnaire.SignOut'))+\" \")])])]),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"tableClass\":\"import-interview\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Import.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Import.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Import.vue?vue&type=template&id=ad8b76f6&\"\nimport script from \"./Import.vue?vue&type=script&lang=js&\"\nexport * from \"./Import.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"fixedWidth\":true,\"hasRow\":false}},[_c('template',{slot:\"headers\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',{attrs:{\"href\":this.$config.model.surveySetupUrl}},[_vm._v(_vm._s(this.$t('MainMenu.SurveySetup')))])]),_c('li',[_c('a',{attrs:{\"href\":this.$config.model.listOfMyQuestionnaires}},[_vm._v(_vm._s(this.$t('QuestionnaireImport.ListOfMyQuestionnaires')))])])]),_c('h1',[_vm._v(_vm._s(this.$t('QuestionnaireImport.ImportModePageTitle')))])]),(_vm.hasQuestionnaireInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h2',[_vm._v(_vm._s(this.$config.model.questionnaireInfo.name))])])]):_vm._e(),(_vm.hasQuestionnaireInfo)?_c('div',{staticClass:\"row questionnaire-statistics\"},[_c('div',{staticClass:\"col-md-4 col-sm-5\"},[_c('ul',[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.CreatedAt'))+\" \"),_c('span',[_vm._v(_vm._s(_vm.formatDate(_vm.$config.model.questionnaireInfo.createdAt)))])]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.LastModifiedAt'))+\" \"),_c('span',[_vm._v(_vm._s(_vm.formatDate(_vm.$config.model.questionnaireInfo.lastUpdatedAt)))])])])]),_c('div',{staticClass:\"col-md-4 col-sm-5\"},[_c('ul',[_c('li',[_c('ul',{staticClass:\"questionnaire-content\"},[_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.Chapters'))+\": \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.questionnaireInfo.chaptersCount))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.Gropus'))+\": \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.questionnaireInfo.groupsCount))]),_vm._v(\". \")]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.Rosters'))+\": \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.questionnaireInfo.rostersCount))]),_vm._v(\". \")])])]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.Questions'))+\": \"),_c('span',[_vm._v(_vm._s(_vm.$config.model.questionnaireInfo.questionsCount))]),_vm._v(\" (\"+_vm._s(_vm.$t('QuestionnaireImport.QuestionsWithConditions', {count: _vm.$config.model.questionnaireInfo.questionsWithConditionsCount}))+\") \")])])])]):_vm._e(),(_vm.hasQuestionnaireInfo)?_c('form',{ref:\"importingForm\",staticClass:\"import-questionnaire-form\",attrs:{\"method\":\"post\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.startImport.apply(null, arguments)}}},[_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),(_vm.$config.model.newVersionNumber > 1)?_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('QuestionnaireImport.QuestionnaireExists')))])])]),_c('div',{staticClass:\"row questionnaire-versioning\"},[_c('div',{staticClass:\"col-sm-8\"},[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"radio\"},[_c('input',{staticClass:\"wb-radio\",attrs:{\"type\":\"radio\",\"name\":\"optionsRadios\",\"id\":\"imortAsNewVersion\",\"value\":\"new-version\",\"checked\":\"\"}}),_c('label',{attrs:{\"for\":\"imortAsNewVersion\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.ImportAsNewVersion', {version: _vm.$config.model.newVersionNumber}))+\" \")])])])]),(this.$config.model.questionnairesToUpgradeFrom.length)?_c('div',[_c('div',{staticClass:\"col-sm-8\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shouldMigrateAssignments),expression:\"shouldMigrateAssignments\"}],staticClass:\"checkbox-filter single-checkbox\",attrs:{\"id\":\"ckbUpgradeAssignments\",\"type\":\"checkbox\",\"value\":\"True\",\"name\":\"ShouldMigrateAssignments\"},domProps:{\"checked\":Array.isArray(_vm.shouldMigrateAssignments)?_vm._i(_vm.shouldMigrateAssignments,\"True\")>-1:(_vm.shouldMigrateAssignments)},on:{\"change\":function($event){var $$a=_vm.shouldMigrateAssignments,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"True\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.shouldMigrateAssignments=$$a.concat([$$v]))}else{$$i>-1&&(_vm.shouldMigrateAssignments=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.shouldMigrateAssignments=$$c}}}}),_c('label',{attrs:{\"for\":\"ckbUpgradeAssignments\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('QuestionnaireImport.UpgradeAssignments'))+\" \")])])]),(_vm.shouldMigrateAssignments)?_c('div',{staticClass:\"col-sm-8\",attrs:{\"id\":\"templateSelectorBlock\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"migrateFrom\"},domProps:{\"value\":(_vm.questionnaireId||{}).key}}),_c('div',{staticClass:\"form-group\"},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaire\",\"noSearch\":\"\",\"noClear\":\"\",\"placeholder\":_vm.$t('Common.Questionnaire'),\"values\":this.$config.model.questionnairesToUpgradeFrom,\"value\":_vm.questionnaireId},on:{\"selected\":_vm.selectQuestionnaire}})],1)]):_vm._e()]):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"row flex-row\"},[_c('div',{staticClass:\"col-sm-6\"},[_c('div',{staticClass:\"flex-block selection-box\"},[_c('div',{staticClass:\"block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('QuestionnaireImport.RegularImportTitle')))]),_c('p',[_vm._v(_vm._s(_vm.$t('QuestionnaireImport.RegularImportSubTitle')))])]),_c('div',{staticClass:\"block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('Assignments.DetailsComments')))]),_c('p',[_c('textarea',{staticClass:\"form-control\",attrs:{\"name\":\"Comment\",\"rows\":\"5\",\"maxlength\":\"500\"}})])]),_c('div',[(!_vm.isImporting)?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('QuestionnaireImport.RegularImportTitle')))]):_vm._e(),(_vm.isImporting)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.progressText)}}):_vm._e()])])])])]):_vm._e(),(_vm.errorMessage)?_c('div',{staticClass:\"row col-sm-12\"},[_c('div',{staticClass:\"alert alert-danger\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")])]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportMode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportMode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImportMode.vue?vue&type=template&id=26521d85&\"\nimport script from \"./ImportMode.vue?vue&type=script&lang=js&\"\nexport * from \"./ImportMode.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LoginToDesigner from './LoginToDesigner'\r\nimport Import from './Import'\r\nimport ImportMode from './ImportMode'\r\nimport Vue from 'vue'\r\n\r\nexport default class Template{\r\n get routes() {\r\n return [{\r\n path: '/Template/LoginToDesigner',\r\n component: LoginToDesigner,\r\n },\r\n {\r\n path: '/Template/Import',\r\n component: Import,\r\n },\r\n {\r\n path: '/Template/ImportMode/:questionnaireId',\r\n component: ImportMode,\r\n },\r\n ]\r\n }\r\n\r\n initialize() {\r\n const VeeValidate = require('vee-validate')\r\n Vue.use(VeeValidate)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"page-header\"},[_c('ol',{staticClass:\"breadcrumb\"},[_c('li',[_c('a',[_vm._v(_vm._s(_vm.$t('MainMenu.Users')))])])]),_c('h1',[_vm._v(_vm._s(_vm.$t('UploadUsers.Title')))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7\"},[_vm._t(\"title\")],2)]),_c('router-view')],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=0112e7c8&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-10 prefilled-data-info info-block\"},[_c('p',[_vm._v(_vm._s(_vm.$t('UploadUsers.Description'))+\" \"),_c('a',{attrs:{\"href\":_vm.config.api.supervisorCreateUrl}},[_vm._v(_vm._s(_vm.$t('UploadUsers.ManualSupervisorCreateLink')))]),_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.Or'))+\" \"),_c('a',{attrs:{\"href\":_vm.config.api.interviewerCreateUrl}},[_vm._v(_vm._s(_vm.$t('UploadUsers.ManualInterviewerCreateLink')))]),_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.Profile'))+\" \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-10 prefilled-data-info info-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('UploadUsers.RequiredData')))]),_c('dl',{staticClass:\"required-data\"},[_c('dt',[_vm._v(_vm._s(_vm.$t('UploadUsers.UserName')))]),_c('dd',[_vm._v(\" (\"+_vm._s(_vm.$t('UploadUsers.UserNameDescription'))+\") \")]),_c('dt',[_vm._v(_vm._s(_vm.$t('UploadUsers.Password')))]),_c('dd',[_vm._v(\" (\"+_vm._s(_vm.$t('UploadUsers.PasswordDescription'))+\")\")]),_c('dt',[_vm._v(_vm._s(_vm.$t('UploadUsers.Role')))]),_c('dd',[_vm._v(\" ('supervisor' \"+_vm._s(_vm.$t('UploadUsers.Or'))+\" 'interviewer')\")]),_c('dt',[_vm._v(_vm._s(_vm.$t('UploadUsers.AssignedTo')))]),_c('dd',[_vm._v(\" (\"+_vm._s(_vm.$t('UploadUsers.AssignedToDescription'))+\")\")])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-10 prefilled-data-info info-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('UploadUsers.OptionalInformation')))]),_c('ul',{staticClass:\"list-unstyled prefilled-data\"},[_c('li',[_vm._v(_vm._s(_vm.$t('UploadUsers.FullName')))]),_c('li',[_vm._v(_vm._s(_vm.$t('UploadUsers.Email')))]),_c('li',[_vm._v(_vm._s(_vm.$t('UploadUsers.Phone')))]),_c('li',[_vm._v(_vm._s(_vm.$t('UploadUsers.Workspace')))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-6 col-xs-10 prefilled-data-info info-block full-prefilled-data-info\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('UploadUsers.SelectWorkspace')))]),_c('p',[_vm._v(_vm._s(_vm.$t('UploadUsers.SelectWorkspaceDescription')))]),_c('form-group',{attrs:{\"error\":_vm.errorByWorkspace}},[_c('div',{staticClass:\"field form-control\",class:{answered: _vm.workspace != null},staticStyle:{\"padding\":\"0\"}},[_c('Typeahead',{attrs:{\"control-id\":\"workspace\",\"value\":_vm.workspace,\"ajax-params\":{ },\"fetch-url\":_vm.config.api.workspacesUrl},on:{\"selected\":_vm.workspaceSelected}})],1)])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-10 prefilled-data-info info-block\"},[_c('a',{staticClass:\"btn btn-link\",attrs:{\"href\":_vm.config.api.importUsersTemplateUrl,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.DownloadTemplateLink'))+\" \")]),(_vm.isInProgress)?_c('div',{staticClass:\"progress-wrapper-block\"},[_c('p',{staticClass:\"warning-message\"},[_vm._v(_vm._s(_vm.$t('UploadUsers.UploadInProgress', {userName: _vm.responsible}))+\" \"),_c('br'),_vm._v(_vm._s(_vm.$t('UploadUsers.UploadInProgressDescription')))]),_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-info\",style:({ width: _vm.importedUsersInPercents + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"5\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"11\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.importedUsersInPercents)+\"%\")])])]),_c('span',[_vm._v(_vm._s(_vm.$t('UploadUsers.EstimatedTime', {estimatedTime: _vm.estimatedTime })))])]):_c('div',{staticClass:\"action-buttons\"},[_c('input',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"uploader\",staticClass:\"btn btn-default btn-lg btn-action-questionnaire\",attrs:{\"name\":\"file\",\"accept\":_vm.allowedFileExtensions,\"type\":\"file\"},on:{\"change\":_vm.onFileChange}}),_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.upload}},[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.UploadBtn'))+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=84b7f6d4&\"\nimport script from \"./Upload.vue?vue&type=script&lang=js&\"\nexport * from \"./Upload.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"title\",function(){return [_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.ImportingUserInfo'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.fileName)+\" \")])]}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block verification-failed active-preloading\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('UploadUsers.VerificationFailed')))]),_c('p',[_vm._v(_vm._s(_vm.$t('UploadUsers.NoCreatedUsers')))])]),_vm._l((_vm.verificationErrors),function(error,i){return _c('div',{key:i,staticClass:\"error-block\"},[_c('h5',{staticClass:\"error-text\"},[(_vm.hasLineAndColumn(error))?_c('span',[_vm._v(\"[\"+_vm._s(_vm.$t('UploadUsers.Line'))+\": \"+_vm._s(error.line)+\", \"+_vm._s(_vm.$t('UploadUsers.Column'))+\": \"+_vm._s(error.column)+\"] :\")]):_vm._e(),_vm._v(\" \"+_vm._s(error.message)+\" \")]),_c('p',[_vm._v(_vm._s(error.description))]),_c('p',[_vm._v(_vm._s(error.recomendation))])])}),_c('div',{staticClass:\"action-buttons\"},[_c('router-link',{staticClass:\"btn btn-link\",attrs:{\"to\":{ name: 'upload'}}},[_vm._v(_vm._s(_vm.$t('UploadUsers.BackToImport')))])],1)],2)])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadVerification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadVerification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadVerification.vue?vue&type=template&id=127365c6&\"\nimport script from \"./UploadVerification.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadVerification.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"title\",function(){return [_c('h3',[_vm._v(_vm._s(_vm.$t('UploadUsers.ImportingUserInfo'))+\" \"),_c('br'),_vm._v(_vm._s(_vm.fileName))])]}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block uploading-verifying active-preloading\"},[_c('div',{staticClass:\"import-progress\"},[_c('p',[_vm._v(_vm._s(_vm.$t('UploadUsers.Uploading', {importedUsersCount: _vm.importedUsersCount, totalUsersToImportCount: _vm.totalUsersToImportCount})))])]),_c('div',{staticClass:\"cancelable-progress\"},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar\",style:({ width: _vm.importedUsersInPercents + '%' }),attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"60\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}},[_c('span',{staticClass:\"sr-only\"},[_vm._v(_vm._s(_vm.importedUsersInPercents)+\"%\")])])]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelUpload}},[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.Cancel'))+\" \")])])])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadProgress.vue?vue&type=template&id=364724eb&\"\nimport script from \"./UploadProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"title\",function(){return [_c('h3',[_vm._v(_vm._s(_vm.$t('UploadUsers.ImportingUserInfo'))+\" \"),_c('br'),_vm._v(_vm._s(_vm.fileName))])]}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-7 col-xs-12 action-block preloading-done active-preloading\"},[_c('div',{staticClass:\"import-progress\"},[_c('h1',[_vm._v(_vm._s(_vm.$t(\"UploadUsers.AllAccountsCreated\", { total: _vm.totalCount }))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.InterviewersAndSupervisorsCount', {supervisorsCount: _vm.supervisorsCount, interviewersCount: _vm.interviewersCount})))]),_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.CompleteDescription'))+\" \")]),_c('div',{staticClass:\"action-buttons\"},[_c('router-link',{staticClass:\"btn btn-link\",attrs:{\"to\":{ name: 'upload'}}},[_vm._v(\" \"+_vm._s(_vm.$t('UploadUsers.BackToImport'))+\" \")])],1)])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadComplete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadComplete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UploadComplete.vue?vue&type=template&id=668912e9&\"\nimport script from \"./UploadComplete.vue?vue&type=script&lang=js&\"\nexport * from \"./UploadComplete.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\r\n state: {\r\n fileName: '',\r\n verificationErrors: [],\r\n complete: {},\r\n progress: {},\r\n },\r\n\r\n actions: {\r\n setUploadFileName({ commit }, fileName) {\r\n commit('SET_FILE_NAME', fileName)\r\n },\r\n setUploadVerificationErrors({ commit }, errors) {\r\n commit('SET_VERIFICATION_ERRORS', errors)\r\n },\r\n setUploadStatus({ commit, dispatch }, status) {\r\n dispatch('setUploadFileName', status.fileName)\r\n commit('SET_STATUS', status)\r\n },\r\n setUploadCompleteStatus({ commit }, status) {\r\n commit('SET_COMPLETE_STATUS', status)\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_FILE_NAME(state, fileName) {\r\n state.fileName = fileName\r\n },\r\n SET_VERIFICATION_ERRORS(state, errors) {\r\n state.verificationErrors = errors\r\n },\r\n SET_STATUS(state, status) {\r\n state.progress = status\r\n },\r\n SET_COMPLETE_STATUS(state, status) {\r\n state.complete = status\r\n },\r\n },\r\n\r\n getters: {\r\n upload(state) {\r\n return state\r\n },\r\n },\r\n}\r\n","import Vue from 'vue'\r\n\r\nimport Layout from './Layout'\r\nimport Upload from './Upload'\r\nimport UploadVerification from './UploadVerification'\r\nimport UploadProgress from './UploadProgress'\r\nimport UploadComplete from './UploadComplete'\r\nimport upload from './store'\r\n\r\nimport config from '~/shared/config'\r\n\r\nexport default class UploadComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n get routes() {\r\n var self = this\r\n return [\r\n {\r\n path: '/Upload', component: Layout,\r\n children: [\r\n {\r\n name: 'upload', path: '', component: Upload,\r\n beforeEnter: (to, from, next) => {\r\n Vue.$http\r\n .get(config.model.api.importUsersStatusUrl)\r\n .then(response => {\r\n self.rootStore.dispatch('setUploadStatus', response.data)\r\n if (response.data.isInProgress && response.data.isOwnerOfRunningProcess)\r\n next({ name: 'uploadprogress' })\r\n else next()\r\n })\r\n .catch(() => next())\r\n },\r\n },\r\n {\r\n name: 'uploadverification', path: 'Verification',\r\n component: UploadVerification,\r\n beforeEnter: (to, from, next) => {\r\n if (self.rootStore.getters.upload.fileName == '')\r\n next({ name: 'upload' })\r\n else next()\r\n },\r\n },\r\n {\r\n name: 'uploadprogress', path: 'Progress', component: UploadProgress,\r\n beforeEnter: (to, from, next) => {\r\n Vue.$http\r\n .get(config.model.api.importUsersStatusUrl)\r\n .then(response => {\r\n if (!response.data.isInProgress || !response.data.isOwnerOfRunningProcess)\r\n next({ name: 'upload' })\r\n else next()\r\n })\r\n .catch(() => next({ name: 'upload' }))\r\n },\r\n },\r\n {\r\n name: 'uploadcomplete', path: 'Complete', component: UploadComplete,\r\n beforeEnter: (to, from, next) => {\r\n if (self.rootStore.getters.upload.fileName == '')\r\n next({ name: 'upload' })\r\n else next()\r\n },\r\n },\r\n ],\r\n },\r\n ]\r\n }\r\n get modules() { return { upload } }\r\n}\r\n","const ControlPanelLayout = () => import( /* webpackChunkName: \"controlpanel\" */ './ControlPanelLayout')\r\nconst AppUpdates = () => import( /* webpackChunkName: \"controlpanel\" */ './AppUpdates')\r\nconst ReevaluateInterview = () => import( /* webpackChunkName: \"controlpanel\" */ './ReevaluateInterview')\r\n\r\nexport default class MapComponent {\r\n get routes() {\r\n return [\r\n {\r\n path: '/ControlPanel',\r\n component: ControlPanelLayout,\r\n children: [\r\n {\r\n path: 'Configuration',\r\n component: () => import(/* webpackChunkName: \"controlpanel\" */'./Configuration'),\r\n },\r\n {\r\n path: 'AppUpdates',\r\n component: AppUpdates,\r\n },\r\n {\r\n path: 'ReevaluateInterview',\r\n component: ReevaluateInterview,\r\n },\r\n {\r\n path: '',\r\n component: AppUpdates,\r\n },\r\n ],\r\n },\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row two-columns-form\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 left-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('div',{staticClass:\"retina headquarter\"},[_vm._v(\" Survey Solutions Headquarters \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.DownloadPage_Title'))+\" \")])])])]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 right-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('div',{staticClass:\"hq-apps-wrapper\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Pages.DownloadSupervisorPage_Welcome')))]),_c('div',{staticClass:\"form-actions\"},[_c('a',{staticClass:\"get-supervisor-app\",attrs:{\"href\":_vm.model.apkUrl}},[_c('span',[_vm._v(_vm._s(_vm.$t('Pages.GetLatestSupervisorApp')))]),_c('span',{staticClass:\"version\"},[_vm._v(_vm._s(_vm.$t('Pages.DownloadPage_Version') + ' ' + _vm.model.supervisorVersion))])]),(_vm.model.supportQRCodeGeneration)?_c('img',{attrs:{\"id\":\"download-qr\",\"alt\":\"QR Code\",\"width\":\"250\",\"height\":\"250\",\"src\":_vm.model.apkQRUrl}}):_vm._e()])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Supervisor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Supervisor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Supervisor.vue?vue&type=template&id=6fb539ba&\"\nimport script from \"./Supervisor.vue?vue&type=script&lang=js&\"\nexport * from \"./Supervisor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('main',[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row two-columns-form\"},[_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 left-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('div',{staticClass:\"retina headquarter\"},[_vm._v(\" Survey Solutions Headquarters \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.DownloadPage_Title'))+\" \")])])])]),_c('div',{staticClass:\"col-md-6 col-sm-6 col-xs-12 right-column\"},[_c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"centered-box-table-cell\"},[_c('div',{staticClass:\"hq-apps-wrapper\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('Pages.DownloadPage_Welcome')))]),_c('div',{staticClass:\"form-actions\"},[_c('a',{staticClass:\"get-interviewer-app\",attrs:{\"href\":_vm.apkUrl,\"id\":\"dowload\"}},[_c('span',[_vm._v(_vm._s(_vm.$t('Pages.GetLatestApp')))]),_c('span',{staticClass:\"version\"},[_vm._v(_vm._s(_vm.$t('Pages.DownloadPage_Version') + ' ' + _vm.interviewerVersion))])]),(_vm.supportQRCodeGeneration)?_c('img',{attrs:{\"id\":\"download-qr\",\"alt\":\"QR Code\",\"width\":\"250\",\"height\":\"250\",\"src\":_vm.qrApkUrl}}):_vm._e(),_c('p',[_c('b',{staticClass:\"error-text\"},[_vm._v(_vm._s(_vm.$t('Pages.CautionTitle')))]),_vm._v(\" \"+_vm._s(_vm.$t('Pages.GetEsriExtraDescription'))+\" \")])]),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.smallApkSelected),expression:\"smallApkSelected\"}],staticClass:\"checkbox-filter\",attrs:{\"id\":\"all-answer-options\",\"type\":\"checkbox\",\"checked\":\"\"},domProps:{\"checked\":Array.isArray(_vm.smallApkSelected)?_vm._i(_vm.smallApkSelected,null)>-1:(_vm.smallApkSelected)},on:{\"change\":function($event){var $$a=_vm.smallApkSelected,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.smallApkSelected=$$a.concat([$$v]))}else{$$i>-1&&(_vm.smallApkSelected=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.smallApkSelected=$$c}}}}),_c('label',{attrs:{\"for\":\"all-answer-options\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(_vm._s(_vm.$t('Pages.ExcludeEsriTitle'))+\" \")])]),_c('div',{staticClass:\"additional-info-block\"},[_c('a',{attrs:{\"href\":\"http://support.mysurvey.solutions/interviewer-installation\",\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.DownloadPage_Instructions'))+\" \")])])])])])])]),_c('div',{staticClass:\"spacer\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Interviewer.vue?vue&type=template&id=0d210cd1&\"\nimport script from \"./Interviewer.vue?vue&type=script&lang=js&\"\nexport * from \"./Interviewer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Supervisor from './Supervisor'\r\nimport Interviewer from './Interviewer'\r\n\r\nexport default class UsersComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [\r\n {\r\n path: '/Download', component: Interviewer,\r\n },\r\n {\r\n path: '/Download/Supervisor', component: Supervisor,\r\n },\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row-element mb-20\"},[_c('h2',[_vm._v(_vm._s(_vm.$config.model.welcomeText))]),(_vm.$config.model.description)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.description)}}):_vm._e()]),_c('StartOrResumeForm',{attrs:{\"buttonTitle\":_vm.$config.model.startNewButton,\"resumeButtonTitle\":_vm.$config.model.resumeButton}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.model.serverUnderLoad)?_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('WebInterview.ServerUnderLoad')))])]):_vm._e(),_c('form',{attrs:{\"method\":\"post\"}},[_c('input',{attrs:{\"name\":\"__RequestVerificationToken\",\"type\":\"hidden\"},domProps:{\"value\":this.$hq.Util.getCsrfCookie()}}),(_vm.model.useCaptcha && !_vm.model.serverUnderLoad && _vm.model.captchaErrors.length > 0)?_c('div',{staticClass:\"form-group has-error\"},[_c('p',_vm._l((_vm.model.captchaErrors),function(captchaError){return _c('span',{key:captchaError,staticClass:\"help-block\",domProps:{\"textContent\":_vm._s(captchaError)}})}),0)]):_vm._e(),(_vm.model.useCaptcha && _vm.model.recaptchaSiteKey && !_vm.model.serverUnderLoad)?_c('div',{staticClass:\"form-group\"},[(_vm.model.useCaptcha)?_c('vue-recaptcha',{attrs:{\"sitekey\":_vm.model.recaptchaSiteKey,\"loadRecaptchaScript\":true}}):_vm._e()],1):_vm._e(),(_vm.model.useCaptcha && _vm.model.hostedCaptchaHtml && !_vm.model.serverUnderLoad)?_c('div',{staticClass:\"form-group\",domProps:{\"innerHTML\":_vm._s(_vm.model.hostedCaptchaHtml)}}):_vm._e(),(_vm.model.hasPassword)?_c('div',{staticClass:\"form-group\",class:{ 'has-error' : _vm.model.isPasswordInvalid }},[_c('label',{staticClass:\"font-bold primary-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterview.EnterPasswordText'))+\" \")]),_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"password\",\"id\":\"Password\",\"name\":\"password\",\"placeholder\":_vm.$t('WebInterviewUI.EnterPassword')}}),(_vm.model.isPasswordInvalid)?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterview.InvalidPassword')))]):_vm._e(),_c('input',{attrs:{\"id\":\"ShowPassword\",\"type\":\"checkbox\",\"onclick\":\"var pass = document.getElementById('Password');pass.type = (pass.type === 'text' ? 'password' : 'text');\"}}),_c('label',{staticStyle:{\"padding-left\":\"5px\",\"margin-top\":\"10px\",\"font-size\":\"13px\",\"font-weight\":\"normal\"},attrs:{\"for\":\"ShowPassword\"}},[_c('span'),_vm._v(_vm._s(_vm.$t('Pages.ShowPassword'))+\" \")])]):_vm._e(),(_vm.model.serverUnderLoad)?_c('div',{staticClass:\"row-element\"},[_c('button',{staticClass:\"btn btn-success btn-lg\",attrs:{\"onclick\":\"window.location.reload(); return false;\"}},[_vm._v(_vm._s(_vm.$t('WebInterview.RefreshPage')))])]):_c('div',{staticClass:\"row-element mb-20\"},[_c('button',{staticClass:\"btn btn-success btn-lg\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.buttonTitle)+\" \")])]),(_vm.model.hasPendingInterviewId)?_c('input',{staticClass:\"btn btn-success btn-lg\",attrs:{\"name\":\"resume\",\"type\":\"submit\"},domProps:{\"value\":_vm.resumeButtonTitle}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_StartOrResumeForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_StartOrResumeForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_StartOrResumeForm.vue?vue&type=template&id=2597f1e2&\"\nimport script from \"./_StartOrResumeForm.vue?vue&type=script&lang=js&\"\nexport * from \"./_StartOrResumeForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Start.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Start.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Start.vue?vue&type=template&id=dbabd868&\"\nimport script from \"./Start.vue?vue&type=script&lang=js&\"\nexport * from \"./Start.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centered-box-table\"},[_c('h2',[_vm._v(_vm._s(_vm.$config.model.webSurveyHeader))]),_c('div',{staticClass:\"additional-info-block\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.finishInterviewHtml)}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$config.model.surveyName)+\" \")])]),_c('div',{staticClass:\"additional-info-block\"},[_c('ul',{staticClass:\"list-unstyled\"},[(_vm.$config.model.startedDate)?_c('li',{directives:[{name:\"dateTimeFormatting\",rawName:\"v-dateTimeFormatting\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterview.InterviewStartDateFormatText'))+\" \"),_c('time',{attrs:{\"datetime\":_vm.$config.model.startedDate}})]):_vm._e(),(_vm.$config.model.completedDate)?_c('li',{directives:[{name:\"dateTimeFormatting\",rawName:\"v-dateTimeFormatting\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterview.InterviewCompletionDateFormatText'))+\" \"),_c('time',{attrs:{\"datetime\":_vm.$config.model.completedDate}})]):_vm._e(),(_vm.$config.model.pdfUrl)?_c('li',[_c('a',{staticClass:\"btn btn-link gray-action-unit\",attrs:{\"id\":\"btn_Print\",\"href\":this.$config.model.pdfUrl,\"target\":\"_blank\",\"title\":_vm.$t('WebInterview.DownloadAnswersHint'),\"download\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"WebInterview.DownloadAnswers\")))])]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Finish.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Finish.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Finish.vue?vue&type=template&id=060862aa&\"\nimport script from \"./Finish.vue?vue&type=script&lang=js&\"\nexport * from \"./Finish.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.$config.model.resumeWelcome)+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.resumeInvitation)}})]),_c('div',{staticClass:\"additional-info-block\"},[_c('ul',{staticClass:\"list-unstyled\"},[(_vm.$config.model.startedDate)?_c('li',{directives:[{name:\"dateTimeFormatting\",rawName:\"v-dateTimeFormatting\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterview.InterviewStartDateFormatText'))+\" \"),_c('time',{attrs:{\"datetime\":_vm.$config.model.startedDate}})]):_vm._e()])]),_c('StartOrResumeForm',{attrs:{\"buttonTitle\":_vm.$config.model.resumeButton}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Resume.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Resume.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Resume.vue?vue&type=template&id=0c6dd500&\"\nimport script from \"./Resume.vue?vue&type=script&lang=js&\"\nexport * from \"./Resume.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"centered-box-table\"},[_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.$config.model.linkWelcome)+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.linkInvitation)}})]),_c('div',{staticClass:\"additional-info-block\"},[_c('ul',{staticClass:\"list-unstyled\"},[(_vm.$config.model.startedDate)?_c('li',{directives:[{name:\"dateTimeFormatting\",rawName:\"v-dateTimeFormatting\"}]},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterview.InterviewStartDateFormatText'))+\" \"),_c('time',{attrs:{\"datetime\":_vm.$config.model.startedDate}})]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Link.vue?vue&type=template&id=05f85bf0&\"\nimport script from \"./Link.vue?vue&type=script&lang=js&\"\nexport * from \"./Link.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('OutdatedBrowser.HellowText'))+\" \")]),_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t('OutdatedBrowser.PleaseUpdate'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('OutdatedBrowser.LinkToUpdate'))+\" \"),_c('a',{attrs:{\"href\":\"https://browser-update.org/update.html\"}},[_vm._v(\"browser-update.org\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutdatedBrowser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutdatedBrowser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OutdatedBrowser.vue?vue&type=template&id=6e8c44c7&\"\nimport script from \"./OutdatedBrowser.vue?vue&type=script&lang=js&\"\nexport * from \"./OutdatedBrowser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" \"+_vm._s(_vm.$config.model.errorMessage)+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error.vue?vue&type=template&id=66d22e72&\"\nimport script from \"./Error.vue?vue&type=script&lang=js&\"\nexport * from \"./Error.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Start from './Start'\r\nimport Finish from './Finish'\r\nimport Resume from './Resume'\r\nimport Link from './Link'\r\nimport OutdatedBrowser from './OutdatedBrowser'\r\nimport Error from './Error'\r\n\r\nexport default class ProfileComponent {\r\n get routes() {\r\n return [\r\n {\r\n path: '/WebInterview/:invitationId/Start',\r\n component: Start,\r\n },\r\n {\r\n path: '/WebInterview/Resume/:interviewId',\r\n component: Resume,\r\n },\r\n {\r\n path: '/WebInterview/Link/:id/:interviewId',\r\n component: Link,\r\n },\r\n {\r\n path: '/WebInterview/Finish/:interviewId',\r\n component: Finish,\r\n },\r\n {\r\n path: '/WebInterview/OutdatedBrowser',\r\n component: OutdatedBrowser,\r\n },\r\n {\r\n path: '/WebInterview/Error',\r\n component: Error,\r\n name: 'WebInterviewError',\r\n },\r\n ]\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":false,\"tag\":\"workspaces-page\"}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('div',{staticClass:\"topic-with-button\"},[_c('h1',{domProps:{\"innerHTML\":_vm._s(_vm.$t('MainMenu.Workspaces'))}}),(this.$config.model.canManage)?_c('button',{staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"data-suso\":\"create-new-workspace\"},on:{\"click\":_vm.createNewWorkspace}},[_vm._v(\" \"+_vm._s(_vm.$t('Workspaces.AddNew'))+\" \")]):_vm._e()]),_c('i',{domProps:{\"innerHTML\":_vm._s(\n _vm.$t('Workspaces.WorkspacesSubtitle'))}})]),_c('DataTables',{ref:\"table\",attrs:{\"data-suso\":\"workspaces-list\",\"tableOptions\":_vm.tableOptions,\"noSelect\":\"\",\"noSearch\":\"\",\"noPaging\":false,\"contextMenuItems\":_vm.contextMenuItems,\"supportContextMenu\":this.$config.model.canManage}}),_c('ModalFrame',{ref:\"createWorkspaceModal\",attrs:{\"title\":_vm.$t('Workspaces.CreateWorkspace')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\",\"data-suso\":\"workspaces-create-dialog\"}},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('workspaceName')}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newWorkspaceName\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Workspaces.Name\"))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.newWorkspaceName),expression:\"newWorkspaceName\",modifiers:{\"trim\":true}},{name:\"validate\",rawName:\"v-validate\",value:(_vm.nameValidations),expression:\"nameValidations\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"workspaceName\",\"data-vv-as\":_vm.$t('Workspaces.Name'),\"autocomplete\":\"off\",\"id\":\"newWorkspaceName\"},domProps:{\"value\":(_vm.newWorkspaceName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createWorkspace.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.newWorkspaceName=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),(!_vm.errors.has('workspaceName'))?_c('p',{staticClass:\"help-block\"},[_vm._v(\" \"+_vm._s(_vm.$t('Workspaces.CanNotBeChanged'))+\" \")]):_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.first('workspaceName')))])]),_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('workspaceDisplayName')}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newDescription\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Workspaces.DisplayName\"))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.editedDisplayName),expression:\"editedDisplayName\",modifiers:{\"trim\":true}},{name:\"validate\",rawName:\"v-validate\",value:(_vm.displayNameValidations),expression:\"displayNameValidations\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"workspaceDisplayName\",\"data-vv-as\":_vm.$t('Workspaces.DisplayName'),\"autocomplete\":\"off\",\"id\":\"newDescription\"},domProps:{\"value\":(_vm.editedDisplayName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.createWorkspace.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.editedDisplayName=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),(!_vm.errors.has('workspaceDisplayName'))?_c('p',{staticClass:\"help-block\"},[_vm._v(\" \"+_vm._s(_vm.$t('Workspaces.DisplayNameHelpText'))+\" \")]):_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.first('workspaceDisplayName')))])])]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-create-save\",\"disabled\":_vm.inProgress},on:{\"click\":_vm.createWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"editWorkspaceModal\",attrs:{\"data-suso\":\"workspaces-edit-dialog\",\"title\":_vm.$t('Workspaces.EditWorkspace', {name: _vm.editedRowId} )}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\",class:{'has-error': _vm.errors.has('workspaceDisplayName')}},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"editDescription\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Workspaces.DisplayName\"))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.editedDisplayName),expression:\"editedDisplayName\",modifiers:{\"trim\":true}},{name:\"validate\",rawName:\"v-validate\",value:(_vm.displayNameValidations),expression:\"displayNameValidations\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"name\":\"workspaceDisplayName\",\"data-vv-as\":_vm.$t('Workspaces.DisplayName'),\"autocomplete\":\"off\",\"id\":\"editDescription\"},domProps:{\"value\":(_vm.editedDisplayName)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.updateWorkspace.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.editedDisplayName=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.errors.first('workspaceDisplayName')))])])]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-edit-save\",\"disabled\":_vm.inProgress},on:{\"click\":_vm.updateWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-cancel\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('ModalFrame',{ref:\"disableWorkspaceModal\",attrs:{\"data-suso\":\"workspaces-disable-dialog\",\"title\":_vm.$t('Workspaces.DisableWorkspacePopupTitle', {name: _vm.editedRowId} )}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('p',[_vm._v(_vm._s(_vm.$t(\"Workspaces.DisableExplanation\" )))])]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"btn btn-danger\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-disable-ok\",\"disabled\":_vm.inProgress},on:{\"click\":_vm.disableWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Common.Ok\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-suso\":\"workspace-cancel\",\"data-dismiss\":\"modal\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])]),_c('DeleteWorkspaceModal',{ref:\"deleteWorkspaceModal\",on:{\"workspace:deleted\":_vm.loadData}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspaces.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspaces.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Workspaces.vue?vue&type=template&id=5fcbdb5a&\"\nimport script from \"./Workspaces.vue?vue&type=script&lang=js&\"\nexport * from \"./Workspaces.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Workspaces from './Workspaces'\r\nimport Vue from 'vue'\r\nimport { Validator } from 'vee-validate'\r\nexport default class MapComponent {\r\n get routes() {\r\n return [{\r\n path: '/Workspaces',\r\n component: Workspaces,\r\n name: 'workspaces',\r\n }]\r\n }\r\n initialize() {\r\n const dict = {\r\n custom: {\r\n workspaceName: {\r\n regex: Vue.$t('Workspaces.InvalidName'),\r\n },\r\n },\r\n }\r\n Validator.localize('en', dict)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true,\"hasHeader\":false}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"ajax-params\":{ },\"fetch-url\":_vm.model.questionnaires,\"value\":_vm.selectedQuestionnaireId,\"selectedKey\":this.query.questionnaireId},on:{\"selected\":_vm.selectQuestionnaire}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"value\":_vm.selectedVersion,\"values\":_vm.selectedQuestionnaireId == null ? null : _vm.selectedQuestionnaireId.versions,\"disabled\":_vm.selectedQuestionnaireId == null},on:{\"selected\":_vm.selectQuestionnaireVersion}})],1),(_vm.model.userRole != 'Interviewer')?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Responsible')}},[_c('Typeahead',{attrs:{\"control-id\":\"responsibleId\",\"placeholder\":_vm.$t('Common.AllResponsible'),\"value\":_vm.responsibleId,\"ajax-params\":_vm.responsibleParams,\"selectedValue\":this.query.responsible,\"fetch-url\":_vm.model.responsible},on:{\"selected\":_vm.selectResponsible}})],1):_vm._e(),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Filters_Assignment')}},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(this.assignmentId),expression:\"this.assignmentId\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"placeholder\":_vm.$t('Common.AllAssignments'),\"type\":\"text\"},domProps:{\"value\":(this.assignmentId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(this, \"assignmentId\", $event.target.value)}}}),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":_vm.clearAssignmentFilter}},[_c('div',{staticClass:\"btn btn-default\"},[_c('span',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})])])])]),(_vm.isLoading)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Reports.MapDataLoading')}},[_c('div',{staticClass:\"progress\"},[_c('div',{staticClass:\"progress-bar progress-bar-striped active\",staticStyle:{\"width\":\"100%\"},attrs:{\"role\":\"progressbar\",\"aria-valuenow\":\"100\",\"aria-valuemin\":\"0\",\"aria-valuemax\":\"100\"}})])]):_vm._e(),_c('div',{staticClass:\"preset-filters-container\"},[_c('div',{staticClass:\"center-block\",staticStyle:{\"margin-left\":\"0\"}},[(_vm.readyToUpdate)?_c('button',{staticClass:\"btn btn-default btn-lg\",attrs:{\"id\":\"reloadMarkersInBounds\"},on:{\"click\":_vm.reloadMarkersInBounds}},[_vm._v(_vm._s(_vm.$t(\"MapReport.ReloadMarkers\")))]):_vm._e()])])],1),_c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{ref:\"interviewTooltip\"},[_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.InterviewKey\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.interviewKey)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Responsible\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.interviewerName)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Users.Supervisor\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.supervisorName)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Status\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.lastStatus)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Reports.LastUpdatedDate\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.lastUpdatedDate)+\" \")]),_vm._l((_vm.selectedTooltip.identifyingData),function(answer){return _c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(answer.title)+\":\")]),_vm._v(\"  \"+_vm._s(answer.answer || _vm.$t(\"Details.NoAnswer\"))+\" \")])}),(_vm.model.userRole != 'Interviewer')?_c('div',{staticClass:\"row-fluid\",staticStyle:{\"white-space\":\"nowrap\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"MapReport.ViewInterviewContent\"))+\":\")]),_vm._v(\"  \"),_c('a',{attrs:{\"href\":_vm.api.GetInterviewDetailsUrl(_vm.selectedTooltip.interviewId),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"MapReport.details\")))])]):_vm._e(),_c('div',{staticClass:\"row-fluid tooltip-buttons\",staticStyle:{\"white-space\":\"nowrap\"}},[(_vm.model.userRole == 'Interviewer' && (_vm.selectedTooltip.status == 'InterviewerAssigned' || _vm.selectedTooltip.status == 'RejectedBySupervisor'))?_c('button',{staticClass:\"btn btn-sm btn-success\",attrs:{\"click\":\"openInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Open\")))]):_vm._e(),(_vm.canAssign)?_c('button',{staticClass:\"btn btn-sm btn-success\",attrs:{\"click\":\"assignInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]):_vm._e(),(_vm.model.userRole == 'Supervisor' && (_vm.selectedTooltip.status == 'Completed' || _vm.selectedTooltip.status == 'RejectedByHeadquarters'))?_c('button',{staticClass:\"btn btn-sm btn-success\",attrs:{\"click\":\"approveSvInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Approve\")))]):_vm._e(),(_vm.model.userRole == 'Supervisor' && (_vm.selectedTooltip.status == 'Completed' || _vm.selectedTooltip.status == 'RejectedByHeadquarters'))?_c('button',{staticClass:\"btn btn-sm reject\",attrs:{\"click\":\"rejectSvInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Reject\")))]):_vm._e(),(_vm.model.userRole == 'Headquarter' && (_vm.selectedTooltip.status == 'Completed' || _vm.selectedTooltip.status == 'ApprovedBySupervisor'))?_c('button',{staticClass:\"btn btn-sm btn-success\",attrs:{\"click\":\"approveHqInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Approve\")))]):_vm._e(),(_vm.model.userRole == 'Headquarter' && (_vm.selectedTooltip.status == 'Completed' || _vm.selectedTooltip.status == 'ApprovedBySupervisor'))?_c('button',{staticClass:\"btn btn-sm reject\",attrs:{\"click\":\"rejectHqInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Reject\")))]):_vm._e(),(_vm.model.userRole == 'Headquarter' && _vm.selectedTooltip.status == 'ApprovedByHeadquarters')?_c('button',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"click\":\"unapproveInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Unapprove\")))]):_vm._e()])],2),_c('div',{ref:\"assignmentTooltip\"},[_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Assignments.AssignmentId\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.assignmentId)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Responsible\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.responsibleName)+\" \")]),_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Reports.LastUpdatedDate\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.lastUpdatedDate)+\" \")]),_vm._l((_vm.selectedTooltip.identifyingData),function(answer){return _c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(answer.title)+\":\")]),_vm._v(\"  \"+_vm._s(answer.answer || _vm.$t(\"Details.NoAnswer\"))+\" \")])}),(_vm.model.userRole != 'Interviewer')?_c('div',{staticClass:\"row-fluid\",staticStyle:{\"white-space\":\"nowrap\"}},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.ViewAssignmentDetails\"))+\":\")]),_vm._v(\"  \"),_c('a',{attrs:{\"href\":_vm.api.GetAssignmentDetailsUrl(_vm.selectedTooltip.assignmentId),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"MapReport.details\")))])]):_vm._e(),_c('div',{staticClass:\"row-fluid tooltip-buttons\",staticStyle:{\"white-space\":\"nowrap\"}},[(_vm.model.userRole == 'Interviewer')?_c('button',{staticClass:\"btn btn-sm btn-success\",attrs:{\"click\":\"createInterview\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Create\")))]):_vm._e()])],2),_c('div',{ref:\"clusterTooltip\"},[_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Reports.ClusterInfo\")))])]),(_vm.selectedTooltip.interviewsCount > 0)?_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Interviews\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.interviewsCount)+\" \")]):_vm._e(),(_vm.selectedTooltip.assignmentsCount > 0)?_c('div',{staticClass:\"row-fluid\"},[_c('strong',[_vm._v(_vm._s(_vm.$t(\"Common.Assignments\"))+\":\")]),_vm._v(\"  \"+_vm._s(_vm.selectedTooltip.assignmentsCount)+\" \")]):_vm._e()])]),_c('div',{attrs:{\"id\":\"map-canvas\"}}),_c('ModalFrame',{ref:\"assignModal\",attrs:{\"title\":_vm.$t('Common.Assign')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"newResponsibleId\"}},[_vm._v(_vm._s(_vm.$t(\"Assignments.SelectResponsible\")))]),_c('Typeahead',{attrs:{\"control-id\":\"newResponsibleId\",\"placeholder\":_vm.$t('Common.Responsible'),\"value\":_vm.newResponsibleId,\"ajax-params\":{ },\"fetch-url\":_vm.model.responsible},on:{\"selected\":_vm.newResponsibleSelected}})],1),(_vm.selectedTooltip.isReceivedByTablet)?_c('div',[_c('br'),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.isReassignReceivedByTablet),expression:\"isReassignReceivedByTablet\"}],staticClass:\"checkbox-filter\",attrs:{\"type\":\"checkbox\",\"id\":\"reassignReceivedByTablet\"},domProps:{\"checked\":Array.isArray(_vm.isReassignReceivedByTablet)?_vm._i(_vm.isReassignReceivedByTablet,null)>-1:(_vm.isReassignReceivedByTablet)},on:{\"change\":function($event){var $$a=_vm.isReassignReceivedByTablet,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.isReassignReceivedByTablet=$$a.concat([$$v]))}else{$$i>-1&&(_vm.isReassignReceivedByTablet=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.isReassignReceivedByTablet=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"normal\"},attrs:{\"for\":\"reassignReceivedByTablet\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Reports.AssignReceivedConfirm\", 1))+\" \")]),_c('br'),(_vm.isReassignReceivedByTablet)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reports.AssignReceivedWarning\"))+\" \")]):_vm._e()]):_vm._e()]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"disabled\":!_vm.canClickAssign},on:{\"click\":_vm.assign}},[_vm._v(_vm._s(_vm.$t(\"Common.Assign\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapDashboard.vue?vue&type=template&id=2903be0c&scoped=true&\"\nimport script from \"./MapDashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./MapDashboard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MapDashboard.vue?vue&type=style&index=0&id=2903be0c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2903be0c\",\n null\n \n)\n\nexport default component.exports","import MapDashboard from './MapDashboard'\r\n\r\nexport default class MapDashboardComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/MapDashboard', component: MapDashboard,\r\n }]\r\n }\r\n\r\n get modules() {\r\n return {}\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"hasFilter\":true}},[_c('div',{attrs:{\"slot\":\"headers\"},slot:\"headers\"},[_c('div',{staticClass:\"topic-with-button\"},[_c('h1',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Users.UsersTitle'))}}),(_vm.model.canAddUsers)?_c('a',{staticClass:\"btn btn-success\",attrs:{\"href\":this.$config.model.createUrl}},[_vm._v(\" \"+_vm._s(_vm.$t('Users.AddUser'))+\" \")]):_vm._e(),(_vm.model.canAddUsers)?_c('a',{staticClass:\"btn btn-success\",staticStyle:{\"margin-left\":\"10px\"},attrs:{\"href\":this.$hq.basePath + 'Upload'}},[_vm._v(\" \"+_vm._s(_vm.$t('Users.UploadUsers'))+\" \")]):_vm._e()])]),_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.UsersManage_WorkspacesFilterTitle')}},[_c('Typeahead',{attrs:{\"control-id\":\"workspaceSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_WorkspacesFilterPlaceholder'),\"value\":_vm.selectedWorkspace,\"ajax-params\":{ includeDisabled: true },\"fetch-url\":this.$config.model.workspacesUrl},on:{\"selected\":_vm.onWorkspaceSelected}})],1),(this.$config.model.roles.length > 0)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.AccountManage_Role')}},[_c('Typeahead',{attrs:{\"no-search\":\"\",\"control-id\":\"roleSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_RoleFilterPlaceholder'),\"value\":_vm.selectedRole,\"values\":this.$config.model.roles},on:{\"selected\":_vm.onRoleSelected}})],1):_vm._e(),(this.selectedWorkspace)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.UsersManage_TeamFilter')}},[_c('Typeahead',{attrs:{\"control-id\":\"teamSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_TeamFilterPlaceHolder'),\"value\":_vm.selectedTeam,\"fetch-url\":_vm.supervisorsUri},on:{\"selected\":_vm.onTeamSelected}})],1):_vm._e(),(this.$config.model.filters.length > 0)?_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.AccountManage_ShowUsers')}},[_c('Typeahead',{attrs:{\"no-search\":\"\",\"control-id\":\"filterSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_ShowUsersFilterPlaceholder'),\"values\":this.$config.model.filters,\"value\":_vm.selectedFilter},on:{\"selected\":_vm.onFilterSelected}})],1):_vm._e(),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Interviewers_ArchiveStatusTitle')}},[_c('Typeahead',{ref:\"archiveStatusControl\",attrs:{\"control-id\":\"archiveStatus\",\"no-clear\":\"\",\"noPaging\":false,\"data-vv-name\":\"archive\",\"data-vv-as\":\"archive\",\"value\":_vm.selectedArchive,\"values\":this.$config.model.archiveStatuses,\"selectedKey\":this.query.archive,\"selectFirst\":true},on:{\"selected\":_vm.onArchiveStatusSelected}})],1)],1),_c('DataTables',{ref:\"table\",attrs:{\"data-suso\":\"usermanagement-list\",\"tableOptions\":_vm.tableOptions,\"addParamsToRequest\":_vm.addParamsToRequest,\"selectable\":_vm.canManageUsers,\"mutliRowSelect\":\"\",\"selectableId\":'userId',\"noPaging\":false},on:{\"selectedRowsChanged\":function (rows) { return _vm.selectedRows = rows; }}},[(_vm.selectedRows.length > 0)?_c('div',{staticClass:\"panel panel-table\",attrs:{\"id\":\"pnlInterviewContextActions\"}},[_c('div',{staticClass:\"panel-body\"},[_c('input',{staticClass:\"double-checkbox-white\",attrs:{\"id\":\"q1az\",\"type\":\"checkbox\",\"checked\":\"\",\"disabled\":\"disabled\"}}),_c('label',{attrs:{\"for\":\"q1az\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.selectedRows.length + \" \" + _vm.$t(\"Pages.UserManagement_UsersSelected\"))+\" \")]),_c('button',{staticClass:\"btn btn-lg btn-success\",attrs:{\"disabled\":_vm.filteredToAdd.length == 0},on:{\"click\":_vm.addToWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Pages.UserManagement_AddToWorkspace\")))]),_c('button',{staticClass:\"btn btn-lg btn-success\",attrs:{\"disabled\":_vm.filteredToAdd.length == 0},on:{\"click\":_vm.removeFromWorkspace}},[_vm._v(_vm._s(_vm.$t(\"Pages.UserManagement_RemoveFromWorkspace\")))]),(_vm.isVisibleArchive)?_c('button',{staticClass:\"btn btn-default btn-danger\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.archiveUsers}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_Archive\")))]):_vm._e(),(_vm.isVisibleUnarchive)?_c('button',{staticClass:\"btn btn-default btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.unarchiveUsers}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_Unarchive\")))]):_vm._e(),(_vm.isAnyInterviewerSelected && _vm.selectedWorkspace)?_c('button',{staticClass:\"btn btn-default btn-warning last-btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.moveToAnotherTeam}},[_vm._v(_vm._s(_vm.$t(\"Pages.Interviewers_MoveToAnotherTeam\")))]):_vm._e()])]):_vm._e()]),_c('WorkspaceManager',{ref:\"manageWorkspaces\",on:{\"addWorkspacesSelected\":_vm.addWorkspacesSelected,\"removeWorkspacesSelected\":_vm.removeWorkspacesSelected}}),_c('AddInterviewerToWorkspace',{ref:\"addInterviewerToWorkspace\",on:{\"addInterviewerWorkspace\":_vm.addInterviewerWorkspace}}),_c('Confirm',{ref:\"confirmArchive\",attrs:{\"slot\":\"modals\",\"id\":\"confirmArchive\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Users_ArchiveUsersConfirmMessage'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Pages.Users_UsersConfirm'))+\" \")]),_c('Confirm',{ref:\"confirmUnarchive\",attrs:{\"slot\":\"modals\",\"id\":\"confirmUnarchive\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Users_UnarchiveUsersWarning'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Pages.Users_UsersConfirm'))+\" \")]),_c('InterviewersMoveToOtherTeam',{ref:\"interviewersMoveToOtherTeam\",on:{\"moveInterviewersCompleted\":_vm.loadData}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersManagement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UsersManagement.vue?vue&type=template&id=93ff8222&\"\nimport script from \"./UsersManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import UsersManagement from './UsersManagement'\r\n\r\nexport default class UsersManagementComponent {\r\n get routes() {\r\n return [\r\n {\r\n path: '/UsersManagement',\r\n component: UsersManagement,\r\n name: 'users-management',\r\n },\r\n ]\r\n }\r\n initialize() {\r\n\r\n }\r\n}\r\n","import Assignments from './Assignments'\r\nimport Administration from './Administration'\r\nimport Reports from './Reports'\r\nimport Review from './Interview'\r\nimport Users from './Users'\r\nimport Maps from './Maps'\r\nimport WebInterviewSetup from './WebInterviewSetup'\r\nimport SurveySetup from './SurveySetup'\r\nimport Profile from './Profile'\r\nimport Admin from './Admin'\r\nimport Export from './Export'\r\nimport Interviews from './Interviews'\r\nimport QuestionnaireDetails from './Questionnaires'\r\nimport Template from './Template'\r\nimport UsersUpload from './Users/Upload'\r\nimport ControlPanel from './ControlPanel'\r\nimport Download from './Download'\r\nimport WebInterview from './WebInterview'\r\nimport Workspaces from './ServerAdmin/Workspaces'\r\nimport MapDashboard from './MapDashboard'\r\nimport UsersManagment from './Users/UsersManagment'\r\n\r\nexport default [\r\n Assignments,\r\n Administration,\r\n Reports,\r\n Review,\r\n Users,\r\n Maps,\r\n WebInterviewSetup,\r\n SurveySetup,\r\n Profile,\r\n Admin,\r\n Export,\r\n Interviews,\r\n QuestionnaireDetails,\r\n Template,\r\n UsersUpload,\r\n ControlPanel,\r\n Download,\r\n WebInterview,\r\n Workspaces,\r\n MapDashboard,\r\n UsersManagment,\r\n]\r\n","import { safeStore } from '~/webinterview/errors'\r\n/**\r\n * Components provider combine all view components and expose routes for router\r\n * Each component expect to have following interface\r\n *\r\n * {\r\n * constructor(rootStore);\r\n * get routes() # return array or routes that handle view component\r\n * initialize() # called once per view on first route navigation\r\n * modules() # object with VUEX modules that need to be registered for view\r\n * }\r\n *\r\n * all interface functions/properties are optional\r\n *\r\n */\r\nexport default class ComponentsProvider {\r\n constructor(rootStore, initialComponents) {\r\n this.rootStore = rootStore\r\n this.components = []\r\n\r\n this.initialize(initialComponents)\r\n }\r\n\r\n initialize(initialComponents) {\r\n const queue = initialComponents\r\n\r\n while (queue.length > 0) {\r\n const Component = queue.pop()\r\n\r\n if (Array.isArray(Component)) {\r\n Component.forEach((c) => queue.push(c))\r\n } else {\r\n const component = new Component(this.rootStore)\r\n this.components.push(component)\r\n }\r\n }\r\n }\r\n\r\n get routes() {\r\n return flatten(this.components.map((component) => {\r\n const init = component.initialize ? () => component.initialize() : null\r\n const beforeEnter = component.beforeEnter ? (to, from, next) => component.beforeEnter(to, from, next) : null\r\n const routes = component.routes || []\r\n\r\n if(init || beforeEnter || component.modules) {\r\n routes.forEach((route) => {\r\n route.beforeEnter = (to, from, next) => {\r\n if(component._isInitialized !== true) {\r\n\r\n if(component.modules != null) {\r\n Object.keys(component.modules).forEach((module) => {\r\n this.rootStore.registerModule(module, safeStore(component.modules[module]))\r\n })\r\n }\r\n\r\n init && init()\r\n\r\n component._isInitialized = true\r\n }\r\n\r\n if(beforeEnter != null){\r\n beforeEnter(to, from, next)\r\n }\r\n else next()\r\n }\r\n })\r\n }\r\n\r\n return routes\r\n }))\r\n }\r\n}\r\n\r\nfunction flatten(arr) {\r\n return arr.reduce(function (flat, toFlatten) {\r\n return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten)\r\n }, [])\r\n}\r\n","const store = {\r\n state: {\r\n pendingHandle: null,\r\n pendingProgress: false,\r\n },\r\n actions: {\r\n showProgress(context) {\r\n context.commit('SET_PROGRESS_TIMEOUT', setTimeout(() => {\r\n context.commit('SET_PROGRESS', true)\r\n }, 750))\r\n },\r\n hideProgress(context) {\r\n clearTimeout(context.state.pendingHandle)\r\n context.commit('SET_PROGRESS', false)\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_PROGRESS(state, visibility) {\r\n state.pendingProgress = visibility\r\n },\r\n SET_PROGRESS_TIMEOUT(state, handle) {\r\n state.pendingHandle = handle\r\n },\r\n },\r\n}\r\n\r\nexport default class {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n\r\n this.rootStore.registerModule('progress', store)\r\n }\r\n}","import HQ from './HQ'\r\nimport Interviewer from './Interviewer'\r\nimport ViewProvider from '../ComponentsProvider'\r\nimport Progress from './progress'\r\n\r\nexport default (rootStore) => new ViewProvider(rootStore, [HQ, Interviewer, Progress])","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane page-preview-block\",attrs:{\"role\":\"tabpanel\",\"id\":\"resume\"}},[_c('form',{attrs:{\"data-vv-scope\":'resumePage'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex f-row\"},[_c('div',{staticClass:\"costomization-block\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Title'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('resumePage.resumeWelcome') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['resumeWelcome'].text }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"resumeWelcome\",staticClass:\"form-control js-elasticArea font-bold\",attrs:{\"data-vv-name\":\"resumeWelcome\",\"min-height\":77,\"maxlength\":\"200\",\"placeholder\":\"Please enter the main text\"},model:{value:(_vm.webInterviewPageMessages['resumeWelcome'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['resumeWelcome'], \"text\", $$v)},expression:\"webInterviewPageMessages['resumeWelcome'].text\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['resumeWelcome'].text=''}}},[_c('span')]),(_vm.errors.first('resumePage.resumeWelcome'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Description'))+\" \")]),_c('md-editor',{directives:[{name:\"validate\",rawName:\"v-validate\"}],ref:\"resumeInvitation\",attrs:{\"data-vv-name\":\"resumeInvitation\"},model:{value:(_vm.webInterviewPageMessages['resumeInvitation'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['resumeInvitation'], \"text\", $$v)},expression:\"webInterviewPageMessages['resumeInvitation'].text\"}})],1),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Resume'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('resumePage.resumeButton') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['resumeButton'].text }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.webInterviewPageMessages['resumeButton'].text),expression:\"webInterviewPageMessages['resumeButton'].text\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"resumeButton\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"data-vv-name\":\"resumeButton\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.webInterviewPageMessages['resumeButton'].text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.webInterviewPageMessages['resumeButton'], \"text\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['resumeButton'].text=''}}},[_c('span')]),(_vm.errors.first('resumePage.resumeButton'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])]),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$resumePage')},on:{\"click\":function($event){return _vm.savePageTextEditMode('resumePage', 'resumeWelcome', 'resumeInvitation', 'resumeButton')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$resumePage')},on:{\"click\":function($event){return _vm.cancelPageTextEditMode('resumePage', 'resumeWelcome', 'resumeInvitation', 'resumeButton')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])]),_c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"browser-mockup mb-30\"},[_c('div',{staticClass:\"mockup-block d-flex f-row\"},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"text-example\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('Logo',{attrs:{\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl}})],1),_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['resumeWelcome'].text))+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.previewHtml(_vm.webInterviewPageMessages['resumeInvitation'].text))}})]),_c('div',{staticClass:\"row-element\"},[_c('a',{staticClass:\"btn btn-success btn-lg mb-1\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['resumeButton'].text))+\" \")])])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Resume.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Resume.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Resume.vue?vue&type=template&id=8ef560d8&\"\nimport script from \"./Resume.vue?vue&type=script&lang=js&\"\nexport * from \"./Resume.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HqLayout',{attrs:{\"title\":_vm.title,\"hasFilter\":true}},[_c('Filters',{attrs:{\"slot\":\"filters\"},slot:\"filters\"},[_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.Questionnaire')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireId\",\"data-vv-name\":\"questionnaireId\",\"data-vv-as\":\"questionnaire\",\"placeholder\":_vm.$t('Common.AllQuestionnaires'),\"value\":_vm.questionnaireId,\"values\":this.$config.model.questionnaires},on:{\"selected\":_vm.questionnaireSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Common.QuestionnaireVersion')}},[_c('Typeahead',{attrs:{\"control-id\":\"questionnaireVersion\",\"data-vv-name\":\"questionnaireVersion\",\"data-vv-as\":\"questionnaireVersion\",\"placeholder\":_vm.$t('Common.AllVersions'),\"disabled\":_vm.questionnaireId == null,\"value\":_vm.questionnaireVersion,\"values\":_vm.questionnaireId == null ? [] : _vm.questionnaireId.versions},on:{\"selected\":_vm.questionnaireVersionSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.Filters_Assignment')}},[_c('div',{staticClass:\"input-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.assignmentId),expression:\"assignmentId\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"placeholder\":_vm.$t('Common.AllAssignments'),\"type\":\"text\"},domProps:{\"value\":(_vm.assignmentId)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.assignmentId=$event.target.value}}}),_c('div',{staticClass:\"input-group-btn\",on:{\"click\":_vm.clearAssignmentFilter}},[_c('div',{staticClass:\"btn btn-default\"},[_c('span',{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_c('DataTables',{ref:\"table\",attrs:{\"tableOptions\":_vm.tableOptions,\"contextMenuItems\":_vm.contextMenuItems}}),_c('Confirm',{ref:\"confirmRestart\",attrs:{\"slot\":\"modals\",\"id\":\"restartModal\"},slot:\"modals\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Pages.InterviewerHq_RestartConfirm\"))+\" \"),_c('FilterBlock',[_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restart_comment),expression:\"restart_comment\"}],staticClass:\"form-control with-clear-btn\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.restart_comment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.restart_comment=$event.target.value}}})])])])],1),_c('Confirm',{ref:\"confirmDiscard\",attrs:{\"slot\":\"modals\",\"id\":\"discardConfirm\"},slot:\"modals\"},[_vm._v(_vm._s(_vm.$t(\"Pages.InterviewerHq_DiscardConfirm\")))]),_c('ModalFrame',{ref:\"editCalendarModal\",attrs:{\"title\":_vm.$t('Common.EditCalendarEvent')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"form-group\"},[_c('DatePicker',{attrs:{\"config\":_vm.datePickerConfig,\"value\":_vm.selectedDate}}),(_vm.dateInPast)?_c('div',[_c('span',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.$t(\"Assignments.DateFromPast\")))])]):_vm._e()],1),_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"control-label\",attrs:{\"for\":\"commentsId\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Assignments.Comments\"))+\" \")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editCalendarComment),expression:\"editCalendarComment\"}],staticClass:\"form-control\",attrs:{\"control-id\":\"commentsId\",\"placeholder\":_vm.$t('Assignments.EnterComments'),\"name\":\"comments\",\"rows\":\"6\",\"maxlength\":\"500\"},domProps:{\"value\":(_vm.editCalendarComment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.editCalendarComment=$event.target.value}}})])]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\"},on:{\"click\":_vm.updateCalendarEvent}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Save\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))]),(_vm.calendarEventId != null)?_c('button',{staticClass:\"btn btn-danger pull-right\",attrs:{\"type\":\"button\",\"role\":\"delete\"},on:{\"click\":_vm.deleteCalendarEvent}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Common.Delete\")))]):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviews.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Interviews.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Interviews.vue?vue&type=template&id=84c77104&\"\nimport script from \"./Interviews.vue?vue&type=script&lang=js&\"\nexport * from \"./Interviews.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * vee-validate v2.2.15\n * (c) 2019 Abdelrahman Awad\n * @license MIT\n */\n// \n\nvar isTextInput = function (el) {\n return includes(['text', 'password', 'search', 'email', 'tel', 'url', 'textarea', 'number'], el.type);\n};\n\nvar isCheckboxOrRadioInput = function (el) {\n return includes(['radio', 'checkbox'], el.type);\n};\n\nvar isDateInput = function (el) {\n return includes(['date', 'week', 'month', 'datetime-local', 'time'], el.type);\n};\n\n/**\n * Gets the data attribute. the name must be kebab-case.\n */\nvar getDataAttribute = function (el, name) { return el.getAttribute((\"data-vv-\" + name)); };\n\nvar isNaN$1 = function (value) {\n if ('isNaN' in Number) {\n return Number.isNaN(value);\n }\n\n // eslint-disable-next-line\n return typeof(value) === 'number' && value !== value;\n};\n\n/**\n * Checks if the values are either null or undefined.\n */\nvar isNullOrUndefined = function () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return values.every(function (value) {\n return value === null || value === undefined;\n });\n};\n\n/**\n * Creates the default flags object.\n */\nvar createFlags = function () { return ({\n untouched: true,\n touched: false,\n dirty: false,\n pristine: true,\n valid: null,\n invalid: null,\n validated: false,\n pending: false,\n required: false,\n changed: false\n}); };\n\n/**\n * Shallow object comparison.\n */\nvar isEqual = function (lhs, rhs) {\n if (lhs instanceof RegExp && rhs instanceof RegExp) {\n return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);\n }\n\n if (Array.isArray(lhs) && Array.isArray(rhs)) {\n if (lhs.length !== rhs.length) { return false; }\n\n for (var i = 0; i < lhs.length; i++) {\n if (!isEqual(lhs[i], rhs[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n // if both are objects, compare each key recursively.\n if (isObject(lhs) && isObject(rhs)) {\n return Object.keys(lhs).every(function (key) {\n return isEqual(lhs[key], rhs[key]);\n }) && Object.keys(rhs).every(function (key) {\n return isEqual(lhs[key], rhs[key]);\n });\n }\n\n if (isNaN$1(lhs) && isNaN$1(rhs)) {\n return true;\n }\n\n return lhs === rhs;\n};\n\n/**\n * Determines the input field scope.\n */\nvar getScope = function (el) {\n var scope = getDataAttribute(el, 'scope');\n if (isNullOrUndefined(scope)) {\n var form = getForm(el);\n\n if (form) {\n scope = getDataAttribute(form, 'scope');\n }\n }\n\n return !isNullOrUndefined(scope) ? scope : null;\n};\n\n/**\n * Get the closest form element.\n */\nvar getForm = function (el) {\n if (isNullOrUndefined(el)) { return null; }\n\n if (el.tagName === 'FORM') { return el; }\n\n if (!isNullOrUndefined(el.form)) { return el.form; }\n\n return !isNullOrUndefined(el.parentNode) ? getForm(el.parentNode) : null;\n};\n\n/**\n * Gets the value in an object safely.\n */\nvar getPath = function (path, target, def) {\n if ( def === void 0 ) def = undefined;\n\n if (!path || !target) { return def; }\n\n var value = target;\n path.split('.').every(function (prop) {\n if (prop in value) {\n value = value[prop];\n\n return true;\n }\n\n value = def;\n\n return false;\n });\n\n return value;\n};\n\n/**\n * Checks if path exists within an object.\n */\nvar hasPath = function (path, target) {\n var obj = target;\n var previousPath = null;\n var isNullOrNonObject = false;\n var isValidPath = path.split('.').reduce(function (reducer, prop) {\n if (obj == null || typeof obj !== 'object') {\n isNullOrNonObject = true;\n return reducer && false;\n }\n\n if (prop in obj) {\n obj = obj[prop];\n previousPath = previousPath === null ? prop : previousPath + '.' + prop;\n\n return reducer && true;\n }\n\n return reducer && false;\n }, true);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isNullOrNonObject) {\n throw new Error(previousPath + ' is not an object');\n }\n }\n\n return isValidPath;\n};\n\n/**\n * Parses a rule string expression.\n */\nvar parseRule = function (rule) {\n var params = [];\n var name = rule.split(':')[0];\n\n if (includes(rule, ':')) {\n params = rule.split(':').slice(1).join(':').split(',');\n }\n\n return { name: name, params: params };\n};\n\n/**\n * Debounces a function.\n */\nvar debounce = function (fn, wait, token) {\n if ( wait === void 0 ) wait = 0;\n if ( token === void 0 ) token = { cancelled: false };\n\n if (wait === 0) {\n return fn;\n }\n\n var timeout;\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var later = function () {\n timeout = null;\n\n // check if the fn call was cancelled.\n if (!token.cancelled) { fn.apply(void 0, args); }\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (!timeout) { fn.apply(void 0, args); }\n };\n};\n\n/**\n * Appends a rule definition to a list of rules.\n */\nvar appendRule = function (rule, rules) {\n if (!rules) {\n return normalizeRules(rule);\n }\n\n if (!rule) {\n return normalizeRules(rules);\n }\n\n if (typeof rules === 'string') {\n rules = normalizeRules(rules);\n }\n\n return assign({}, rules, normalizeRules(rule));\n};\n\n/**\n * Normalizes the given rules expression.\n */\nvar normalizeRules = function (rules) {\n // if falsy value return an empty object.\n if (!rules) {\n return {};\n }\n\n if (isObject(rules)) {\n // $FlowFixMe\n return Object.keys(rules).reduce(function (prev, curr) {\n var params = [];\n // $FlowFixMe\n if (rules[curr] === true) {\n params = [];\n } else if (Array.isArray(rules[curr])) {\n params = rules[curr];\n } else if (isObject(rules[curr])) {\n params = rules[curr];\n } else {\n params = [rules[curr]];\n }\n\n // $FlowFixMe\n if (rules[curr] !== false) {\n prev[curr] = params;\n }\n\n return prev;\n }, {});\n }\n\n if (typeof rules !== 'string') {\n warn('rules must be either a string or an object.');\n return {};\n }\n\n return rules.split('|').reduce(function (prev, rule) {\n var parsedRule = parseRule(rule);\n if (!parsedRule.name) {\n return prev;\n }\n\n prev[parsedRule.name] = parsedRule.params;\n return prev;\n }, {});\n};\n\n/**\n * Emits a warning to the console.\n */\nvar warn = function (message) {\n console.warn((\"[vee-validate] \" + message)); // eslint-disable-line\n};\n\n/**\n * Creates a branded error object.\n */\nvar createError = function (message) { return new Error((\"[vee-validate] \" + message)); };\n\n/**\n * Checks if the value is an object.\n */\nvar isObject = function (obj) { return obj !== null && obj && typeof obj === 'object' && ! Array.isArray(obj); };\n\n/**\n * Checks if a function is callable.\n */\nvar isCallable = function (func) { return typeof func === 'function'; };\n\n/**\n * Check if element has the css class on it.\n */\nvar hasClass = function (el, className) {\n if (el.classList) {\n return el.classList.contains(className);\n }\n\n return !!el.className.match(new RegExp((\"(\\\\s|^)\" + className + \"(\\\\s|$)\")));\n};\n\n/**\n * Adds the provided css className to the element.\n */\nvar addClass = function (el, className) {\n if (el.classList) {\n el.classList.add(className);\n return;\n }\n\n if (!hasClass(el, className)) {\n el.className += \" \" + className;\n }\n};\n\n/**\n * Remove the provided css className from the element.\n */\nvar removeClass = function (el, className) {\n if (el.classList) {\n el.classList.remove(className);\n return;\n }\n\n if (hasClass(el, className)) {\n var reg = new RegExp((\"(\\\\s|^)\" + className + \"(\\\\s|$)\"));\n el.className = el.className.replace(reg, ' ');\n }\n};\n\n/**\n * Adds or removes a class name on the input depending on the status flag.\n */\nvar toggleClass = function (el, className, status) {\n if (!el || !className) { return; }\n\n if (Array.isArray(className)) {\n className.forEach(function (item) { return toggleClass(el, item, status); });\n return;\n }\n\n if (status) {\n return addClass(el, className);\n }\n\n removeClass(el, className);\n};\n\n/**\n * Converts an array-like object to array, provides a simple polyfill for Array.from\n */\nvar toArray = function (arrayLike) {\n if (isCallable(Array.from)) {\n return Array.from(arrayLike);\n }\n\n var array = [];\n var length = arrayLike.length;\n /* istanbul ignore next */\n for (var i = 0; i < length; i++) {\n array.push(arrayLike[i]);\n }\n\n /* istanbul ignore next */\n return array;\n};\n\n/**\n * Converts an array-like object to array and place other elements in an array\n */\nvar ensureArray = function (arrayLike) {\n if (Array.isArray(arrayLike)) {\n return [].concat( arrayLike );\n }\n var array = toArray(arrayLike);\n return isEmptyArray(array) ? [arrayLike] : array;\n};\n\n/**\n * Assign polyfill from the mdn.\n */\nvar assign = function (target) {\n var others = [], len = arguments.length - 1;\n while ( len-- > 0 ) others[ len ] = arguments[ len + 1 ];\n\n /* istanbul ignore else */\n if (isCallable(Object.assign)) {\n return Object.assign.apply(Object, [ target ].concat( others ));\n }\n\n /* istanbul ignore next */\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n /* istanbul ignore next */\n var to = Object(target);\n /* istanbul ignore next */\n others.forEach(function (arg) {\n // Skip over if undefined or null\n if (arg != null) {\n Object.keys(arg).forEach(function (key) {\n to[key] = arg[key];\n });\n }\n });\n /* istanbul ignore next */\n return to;\n};\n\nvar id = 0;\nvar idTemplate = '{id}';\n\n/**\n * Generates a unique id.\n */\nvar uniqId = function () {\n // handle too many uses of uniqId, although unlikely.\n if (id >= 9999) {\n id = 0;\n // shift the template.\n idTemplate = idTemplate.replace('{id}', '_{id}');\n }\n\n id++;\n var newId = idTemplate.replace('{id}', String(id));\n\n return newId;\n};\n\nvar findIndex = function (arrayLike, predicate) {\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\n for (var i = 0; i < array.length; i++) {\n if (predicate(array[i])) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * finds the first element that satisfies the predicate callback, polyfills array.find\n */\nvar find = function (arrayLike, predicate) {\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\n var idx = findIndex(array, predicate);\n\n return idx === -1 ? undefined : array[idx];\n};\n\nvar isBuiltInComponent = function (vnode) {\n if (!vnode) {\n return false;\n }\n\n var tag = vnode.componentOptions.tag;\n\n return /^(keep-alive|transition|transition-group)$/.test(tag);\n};\n\nvar makeDelayObject = function (events, delay, delayConfig) {\n if (typeof delay === 'number') {\n return events.reduce(function (prev, e) {\n prev[e] = delay;\n return prev;\n }, {});\n }\n\n return events.reduce(function (prev, e) {\n if (typeof delay === 'object' && e in delay) {\n prev[e] = delay[e];\n return prev;\n }\n\n if (typeof delayConfig === 'number') {\n prev[e] = delayConfig;\n return prev;\n }\n\n prev[e] = (delayConfig && delayConfig[e]) || 0;\n\n return prev;\n }, {});\n};\n\nvar deepParseInt = function (input) {\n if (typeof input === 'number') { return input; }\n\n if (typeof input === 'string') { return parseInt(input); }\n\n var map = {};\n for (var element in input) {\n map[element] = parseInt(input[element]);\n }\n\n return map;\n};\n\nvar merge = function (target, source) {\n if (! (isObject(target) && isObject(source))) {\n return target;\n }\n\n Object.keys(source).forEach(function (key) {\n var obj, obj$1;\n\n if (isObject(source[key])) {\n if (! target[key]) {\n assign(target, ( obj = {}, obj[key] = {}, obj ));\n }\n\n merge(target[key], source[key]);\n return;\n }\n\n assign(target, ( obj$1 = {}, obj$1[key] = source[key], obj$1 ));\n });\n\n return target;\n};\n\nvar fillRulesFromElement = function (el, rules) {\n if (el.required) {\n rules = appendRule('required', rules);\n }\n\n if (isTextInput(el)) {\n if (el.type === 'email') {\n rules = appendRule((\"email\" + (el.multiple ? ':multiple' : '')), rules);\n }\n\n if (el.pattern) {\n rules = appendRule({ regex: el.pattern }, rules);\n }\n\n // 524288 is the max on some browsers and test environments.\n if (el.maxLength >= 0 && el.maxLength < 524288) {\n rules = appendRule((\"max:\" + (el.maxLength)), rules);\n }\n\n if (el.minLength > 0) {\n rules = appendRule((\"min:\" + (el.minLength)), rules);\n }\n\n if (el.type === 'number') {\n rules = appendRule('decimal', rules);\n if (el.min !== '') {\n rules = appendRule((\"min_value:\" + (el.min)), rules);\n }\n\n if (el.max !== '') {\n rules = appendRule((\"max_value:\" + (el.max)), rules);\n }\n }\n\n return rules;\n }\n\n if (isDateInput(el)) {\n var timeFormat = el.step && Number(el.step) < 60 ? 'HH:mm:ss' : 'HH:mm';\n\n if (el.type === 'date') {\n return appendRule('date_format:yyyy-MM-dd', rules);\n }\n\n if (el.type === 'datetime-local') {\n return appendRule((\"date_format:yyyy-MM-ddT\" + timeFormat), rules);\n }\n\n if (el.type === 'month') {\n return appendRule('date_format:yyyy-MM', rules);\n }\n\n if (el.type === 'week') {\n return appendRule('date_format:yyyy-[W]WW', rules);\n }\n\n if (el.type === 'time') {\n return appendRule((\"date_format:\" + timeFormat), rules);\n }\n }\n\n return rules;\n};\n\nvar values = function (obj) {\n if (isCallable(Object.values)) {\n return Object.values(obj);\n }\n\n // fallback to keys()\n /* istanbul ignore next */\n return Object.keys(obj).map(function (k) { return obj[k]; });\n};\n\nvar parseSelector = function (selector) {\n var rule = null;\n if (includes(selector, ':')) {\n rule = selector.split(':').pop();\n selector = selector.replace((\":\" + rule), '');\n }\n\n if (selector[0] === '#') {\n return {\n id: selector.slice(1),\n rule: rule,\n name: null,\n scope: null\n };\n }\n\n var scope = null;\n var name = selector;\n if (includes(selector, '.')) {\n var parts = selector.split('.');\n scope = parts[0];\n name = parts.slice(1).join('.');\n }\n\n return {\n id: null,\n scope: scope,\n name: name,\n rule: rule\n };\n};\n\nvar includes = function (collection, item) {\n return collection.indexOf(item) !== -1;\n};\n\nvar isEmptyArray = function (arr) {\n return Array.isArray(arr) && arr.length === 0;\n};\n\nvar defineNonReactive = function (obj, prop, value) {\n Object.defineProperty(obj, prop, {\n configurable: false,\n writable: true,\n value: value\n });\n};\n\n// \n\nvar LOCALE = 'en';\n\nvar Dictionary = function Dictionary (dictionary) {\n if ( dictionary === void 0 ) dictionary = {};\n\n this.container = {};\n this.merge(dictionary);\n};\n\nvar prototypeAccessors = { locale: { configurable: true } };\n\nprototypeAccessors.locale.get = function () {\n return LOCALE;\n};\n\nprototypeAccessors.locale.set = function (value) {\n LOCALE = value || 'en';\n};\n\nDictionary.prototype.hasLocale = function hasLocale (locale) {\n return !!this.container[locale];\n};\n\nDictionary.prototype.setDateFormat = function setDateFormat (locale, format) {\n if (!this.container[locale]) {\n this.container[locale] = {};\n }\n\n this.container[locale].dateFormat = format;\n};\n\nDictionary.prototype.getDateFormat = function getDateFormat (locale) {\n if (!this.container[locale] || !this.container[locale].dateFormat) {\n return null;\n }\n\n return this.container[locale].dateFormat;\n};\n\nDictionary.prototype.getMessage = function getMessage (locale, key, data) {\n var message = null;\n if (!this.hasMessage(locale, key)) {\n message = this._getDefaultMessage(locale);\n } else {\n message = this.container[locale].messages[key];\n }\n\n return isCallable(message) ? message.apply(void 0, data) : message;\n};\n\n/**\n * Gets a specific message for field. falls back to the rule message.\n */\nDictionary.prototype.getFieldMessage = function getFieldMessage (locale, field, key, data) {\n if (!this.hasLocale(locale)) {\n return this.getMessage(locale, key, data);\n }\n\n var dict = this.container[locale].custom && this.container[locale].custom[field];\n if (!dict || !dict[key]) {\n return this.getMessage(locale, key, data);\n }\n\n var message = dict[key];\n return isCallable(message) ? message.apply(void 0, data) : message;\n};\n\nDictionary.prototype._getDefaultMessage = function _getDefaultMessage (locale) {\n if (this.hasMessage(locale, '_default')) {\n return this.container[locale].messages._default;\n }\n\n return this.container.en.messages._default;\n};\n\nDictionary.prototype.getAttribute = function getAttribute (locale, key, fallback) {\n if ( fallback === void 0 ) fallback = '';\n\n if (!this.hasAttribute(locale, key)) {\n return fallback;\n }\n\n return this.container[locale].attributes[key];\n};\n\nDictionary.prototype.hasMessage = function hasMessage (locale, key) {\n return !! (\n this.hasLocale(locale) &&\n this.container[locale].messages &&\n this.container[locale].messages[key]\n );\n};\n\nDictionary.prototype.hasAttribute = function hasAttribute (locale, key) {\n return !! (\n this.hasLocale(locale) &&\n this.container[locale].attributes &&\n this.container[locale].attributes[key]\n );\n};\n\nDictionary.prototype.merge = function merge$1 (dictionary) {\n merge(this.container, dictionary);\n};\n\nDictionary.prototype.setMessage = function setMessage (locale, key, message) {\n if (! this.hasLocale(locale)) {\n this.container[locale] = {\n messages: {},\n attributes: {}\n };\n }\n \n if (!this.container[locale].messages) {\n this.container[locale].messages = {};\n }\n\n this.container[locale].messages[key] = message;\n};\n\nDictionary.prototype.setAttribute = function setAttribute (locale, key, attribute) {\n if (! this.hasLocale(locale)) {\n this.container[locale] = {\n messages: {},\n attributes: {}\n };\n }\n\n this.container[locale].attributes[key] = attribute;\n};\n\nObject.defineProperties( Dictionary.prototype, prototypeAccessors );\n\nvar drivers = {\n default: new Dictionary({\n en: {\n messages: {},\n attributes: {},\n custom: {}\n }\n })\n};\n\nvar currentDriver = 'default';\n\nvar DictionaryResolver = function DictionaryResolver () {};\n\nDictionaryResolver._checkDriverName = function _checkDriverName (driver) {\n if (!driver) {\n throw createError('you must provide a name to the dictionary driver');\n }\n};\n\nDictionaryResolver.setDriver = function setDriver (driver, implementation) {\n if ( implementation === void 0 ) implementation = null;\n\n this._checkDriverName(driver);\n if (implementation) {\n drivers[driver] = implementation;\n }\n\n currentDriver = driver;\n};\n\nDictionaryResolver.getDriver = function getDriver () {\n return drivers[currentDriver];\n};\n\n// \n\nvar ErrorBag = function ErrorBag (errorBag, id) {\n if ( errorBag === void 0 ) errorBag = null;\n if ( id === void 0 ) id = null;\n\n this.vmId = id || null;\n // make this bag a mirror of the provided one, sharing the same items reference.\n if (errorBag && errorBag instanceof ErrorBag) {\n this.items = errorBag.items;\n } else {\n this.items = [];\n }\n};\n\nErrorBag.prototype[typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'] = function () {\n var this$1 = this;\n\n var index = 0;\n return {\n next: function () {\n return { value: this$1.items[index++], done: index > this$1.items.length };\n }\n };\n};\n\n/**\n * Adds an error to the internal array.\n */\nErrorBag.prototype.add = function add (error) {\n var ref;\n\n (ref = this.items).push.apply(\n ref, this._normalizeError(error)\n );\n};\n\n/**\n * Normalizes passed errors to an error array.\n */\nErrorBag.prototype._normalizeError = function _normalizeError (error) {\n var this$1 = this;\n\n if (Array.isArray(error)) {\n return error.map(function (e) {\n e.scope = !isNullOrUndefined(e.scope) ? e.scope : null;\n e.vmId = !isNullOrUndefined(e.vmId) ? e.vmId : (this$1.vmId || null);\n\n return e;\n });\n }\n\n error.scope = !isNullOrUndefined(error.scope) ? error.scope : null;\n error.vmId = !isNullOrUndefined(error.vmId) ? error.vmId : (this.vmId || null);\n\n return [error];\n};\n\n/**\n * Regenrates error messages if they have a generator function.\n */\nErrorBag.prototype.regenerate = function regenerate () {\n this.items.forEach(function (i) {\n i.msg = isCallable(i.regenerate) ? i.regenerate() : i.msg;\n });\n};\n\n/**\n * Updates a field error with the new field scope.\n */\nErrorBag.prototype.update = function update (id, error) {\n var item = find(this.items, function (i) { return i.id === id; });\n if (!item) {\n return;\n }\n\n var idx = this.items.indexOf(item);\n this.items.splice(idx, 1);\n item.scope = error.scope;\n this.items.push(item);\n};\n\n/**\n * Gets all error messages from the internal array.\n */\nErrorBag.prototype.all = function all (scope) {\n var this$1 = this;\n\n var filterFn = function (item) {\n var matchesScope = true;\n var matchesVM = true;\n if (!isNullOrUndefined(scope)) {\n matchesScope = item.scope === scope;\n }\n\n if (!isNullOrUndefined(this$1.vmId)) {\n matchesVM = item.vmId === this$1.vmId;\n }\n\n return matchesVM && matchesScope;\n };\n\n return this.items.filter(filterFn).map(function (e) { return e.msg; });\n};\n\n/**\n * Checks if there are any errors in the internal array.\n */\nErrorBag.prototype.any = function any (scope) {\n var this$1 = this;\n\n var filterFn = function (item) {\n var matchesScope = true;\n var matchesVM = true;\n if (!isNullOrUndefined(scope)) {\n matchesScope = item.scope === scope;\n }\n\n if (!isNullOrUndefined(this$1.vmId)) {\n matchesVM = item.vmId === this$1.vmId;\n }\n\n return matchesVM && matchesScope;\n };\n\n return !!this.items.filter(filterFn).length;\n};\n\n/**\n * Removes all items from the internal array.\n */\nErrorBag.prototype.clear = function clear (scope) {\n var this$1 = this;\n\n var matchesVM = isNullOrUndefined(this.vmId) ? function () { return true; } : function (i) { return i.vmId === this$1.vmId; };\n var matchesScope = function (i) { return i.scope === scope; };\n if (arguments.length === 0) {\n matchesScope = function () { return true; };\n } else if (isNullOrUndefined(scope)) {\n scope = null;\n }\n\n for (var i = 0; i < this.items.length; ++i) {\n if (matchesVM(this.items[i]) && matchesScope(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\n/**\n * Collects errors into groups or for a specific field.\n */\nErrorBag.prototype.collect = function collect (field, scope, map) {\n var this$1 = this;\n if ( map === void 0 ) map = true;\n\n var isSingleField = !isNullOrUndefined(field) && !field.includes('*');\n var groupErrors = function (items) {\n var errors = items.reduce(function (collection, error) {\n if (!isNullOrUndefined(this$1.vmId) && error.vmId !== this$1.vmId) {\n return collection;\n }\n\n if (!collection[error.field]) {\n collection[error.field] = [];\n }\n\n collection[error.field].push(map ? error.msg : error);\n\n return collection;\n }, {});\n\n // reduce the collection to be a single array.\n if (isSingleField) {\n return values(errors)[0] || [];\n }\n\n return errors;\n };\n\n if (isNullOrUndefined(field)) {\n return groupErrors(this.items);\n }\n\n var selector = isNullOrUndefined(scope) ? String(field) : (scope + \".\" + field);\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n\n var collected = this.items.reduce(function (prev, curr) {\n if (isPrimary(curr)) {\n prev.primary.push(curr);\n }\n\n if (isAlt(curr)) {\n prev.alt.push(curr);\n }\n\n return prev;\n }, { primary: [], alt: [] });\n\n collected = collected.primary.length ? collected.primary : collected.alt;\n\n return groupErrors(collected);\n};\n\n/**\n * Gets the internal array length.\n */\nErrorBag.prototype.count = function count () {\n var this$1 = this;\n\n if (this.vmId) {\n return this.items.filter(function (e) { return e.vmId === this$1.vmId; }).length;\n }\n\n return this.items.length;\n};\n\n/**\n * Finds and fetches the first error message for the specified field id.\n */\nErrorBag.prototype.firstById = function firstById (id) {\n var error = find(this.items, function (i) { return i.id === id; });\n\n return error ? error.msg : undefined;\n};\n\n/**\n * Gets the first error message for a specific field.\n */\nErrorBag.prototype.first = function first (field, scope) {\n if ( scope === void 0 ) scope = null;\n\n var selector = isNullOrUndefined(scope) ? field : (scope + \".\" + field);\n var match = this._match(selector);\n\n return match && match.msg;\n};\n\n/**\n * Returns the first error rule for the specified field\n */\nErrorBag.prototype.firstRule = function firstRule (field, scope) {\n var errors = this.collect(field, scope, false);\n\n return (errors.length && errors[0].rule) || undefined;\n};\n\n/**\n * Checks if the internal array has at least one error for the specified field.\n */\nErrorBag.prototype.has = function has (field, scope) {\n if ( scope === void 0 ) scope = null;\n\n return !!this.first(field, scope);\n};\n\n/**\n * Gets the first error message for a specific field and a rule.\n */\nErrorBag.prototype.firstByRule = function firstByRule (name, rule, scope) {\n if ( scope === void 0 ) scope = null;\n\n var error = this.collect(name, scope, false).filter(function (e) { return e.rule === rule; })[0];\n\n return (error && error.msg) || undefined;\n};\n\n/**\n * Gets the first error message for a specific field that not match the rule.\n */\nErrorBag.prototype.firstNot = function firstNot (name, rule, scope) {\n if ( rule === void 0 ) rule = 'required';\n if ( scope === void 0 ) scope = null;\n\n var error = this.collect(name, scope, false).filter(function (e) { return e.rule !== rule; })[0];\n\n return (error && error.msg) || undefined;\n};\n\n/**\n * Removes errors by matching against the id or ids.\n */\nErrorBag.prototype.removeById = function removeById (id) {\n var condition = function (item) { return item.id === id; };\n if (Array.isArray(id)) {\n condition = function (item) { return id.indexOf(item.id) !== -1; };\n }\n\n for (var i = 0; i < this.items.length; ++i) {\n if (condition(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\n/**\n * Removes all error messages associated with a specific field.\n */\nErrorBag.prototype.remove = function remove (field, scope, vmId) {\n if (isNullOrUndefined(field)) {\n return;\n }\n\n var selector = isNullOrUndefined(scope) ? String(field) : (scope + \".\" + field);\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n var matches = function (item) { return isPrimary(item) || isAlt(item); };\n var shouldRemove = function (item) {\n if (isNullOrUndefined(vmId)) { return matches(item); }\n\n return matches(item) && item.vmId === vmId;\n };\n\n for (var i = 0; i < this.items.length; ++i) {\n if (shouldRemove(this.items[i])) {\n this.items.splice(i, 1);\n --i;\n }\n }\n};\n\nErrorBag.prototype._makeCandidateFilters = function _makeCandidateFilters (selector) {\n var this$1 = this;\n\n var matchesRule = function () { return true; };\n var matchesScope = function () { return true; };\n var matchesName = function () { return true; };\n var matchesVM = function () { return true; };\n\n var ref = parseSelector(selector);\n var id = ref.id;\n var rule = ref.rule;\n var scope = ref.scope;\n var name = ref.name;\n\n if (rule) {\n matchesRule = function (item) { return item.rule === rule; };\n }\n\n // match by id, can be combined with rule selection.\n if (id) {\n return {\n isPrimary: function (item) { return matchesRule(item) && (function (item) { return id === item.id; }); },\n isAlt: function () { return false; }\n };\n }\n\n if (isNullOrUndefined(scope)) {\n // if no scope specified, make sure the found error has no scope.\n matchesScope = function (item) { return isNullOrUndefined(item.scope); };\n } else {\n matchesScope = function (item) { return item.scope === scope; };\n }\n\n if (!isNullOrUndefined(name) && name !== '*') {\n matchesName = function (item) { return item.field === name; };\n }\n\n if (!isNullOrUndefined(this.vmId)) {\n matchesVM = function (item) { return item.vmId === this$1.vmId; };\n }\n\n // matches the first candidate.\n var isPrimary = function (item) {\n return matchesVM(item) && matchesName(item) && matchesRule(item) && matchesScope(item);\n };\n\n // matches a second candidate, which is a field with a name containing the '.' character.\n var isAlt = function (item) {\n return matchesVM(item) && matchesRule(item) && item.field === (scope + \".\" + name);\n };\n\n return {\n isPrimary: isPrimary,\n isAlt: isAlt\n };\n};\n\nErrorBag.prototype._match = function _match (selector) {\n if (isNullOrUndefined(selector)) {\n return undefined;\n }\n\n var ref = this._makeCandidateFilters(selector);\n var isPrimary = ref.isPrimary;\n var isAlt = ref.isAlt;\n\n return this.items.reduce(function (prev, item, idx, arr) {\n var isLast = idx === arr.length - 1;\n if (prev.primary) {\n return isLast ? prev.primary : prev;\n }\n\n if (isPrimary(item)) {\n prev.primary = item;\n }\n\n if (isAlt(item)) {\n prev.alt = item;\n }\n\n // keep going.\n if (!isLast) {\n return prev;\n }\n\n return prev.primary || prev.alt;\n }, {});\n};\n\nvar DEFAULT_CONFIG = {\n locale: 'en',\n delay: 0,\n errorBagName: 'errors',\n dictionary: null,\n fieldsBagName: 'fields',\n classes: false,\n classNames: null,\n events: 'input',\n inject: true,\n fastExit: true,\n aria: true,\n validity: false,\n mode: 'aggressive',\n useConstraintAttrs: true,\n i18n: null,\n i18nRootKey: 'validation'\n};\n\nvar currentConfig = assign({}, DEFAULT_CONFIG);\n\nvar resolveConfig = function (ctx) {\n var selfConfig = getPath('$options.$_veeValidate', ctx, {});\n\n return assign({}, currentConfig, selfConfig);\n};\n\nvar getConfig = function () { return currentConfig; };\n\nvar setConfig = function (newConf) {\n currentConfig = assign({}, currentConfig, newConf);\n};\n\n// VNode Utils\n\n// Gets the model object on the vnode.\nfunction findModel (vnode) {\n if (!vnode.data) {\n return null;\n }\n\n // Component Model\n if (vnode.data.model) {\n return vnode.data.model;\n }\n\n return !!(vnode.data.directives) && find(vnode.data.directives, function (d) { return d.name === 'model'; });\n}\n\nfunction extractChildren (vnode) {\n if (Array.isArray(vnode)) {\n return vnode;\n }\n\n if (Array.isArray(vnode.children)) {\n return vnode.children;\n }\n\n if (vnode.componentOptions && Array.isArray(vnode.componentOptions.children)) {\n return vnode.componentOptions.children;\n }\n\n return [];\n}\n\nfunction extractVNodes (vnode) {\n if (findModel(vnode)) {\n return [vnode];\n }\n\n var children = extractChildren(vnode);\n\n return children.reduce(function (nodes, node) {\n var candidates = extractVNodes(node);\n if (candidates.length) {\n nodes.push.apply(nodes, candidates);\n }\n\n return nodes;\n }, []);\n}\n\n// Resolves v-model config if exists.\nfunction findModelConfig (vnode) {\n if (!vnode.componentOptions) { return null; }\n\n return vnode.componentOptions.Ctor.options.model;\n}\n// Adds a listener to vnode listener object.\nfunction mergeVNodeListeners (obj, eventName, handler) {\n // Has a single listener, convert to array.\n if (isCallable(obj[eventName])) {\n var prevHandler = obj[eventName];\n obj[eventName] = [prevHandler];\n }\n\n // no listeners, create the array.\n if (isNullOrUndefined(obj[eventName])) {\n obj[eventName] = [];\n }\n\n obj[eventName].push(handler);\n}\n\n// Adds a listener to a native HTML vnode.\nfunction addNativeNodeListener (node, eventName, handler) {\n if (isNullOrUndefined(node.data.on)) {\n node.data.on = {};\n }\n\n mergeVNodeListeners(node.data.on, eventName, handler);\n}\n\n// Adds a listener to a Vue component vnode.\nfunction addComponentNodeListener (node, eventName, handler) {\n /* istanbul ignore next */\n if (!node.componentOptions.listeners) {\n node.componentOptions.listeners = {};\n }\n\n mergeVNodeListeners(node.componentOptions.listeners, eventName, handler);\n}\nfunction addVNodeListener (vnode, eventName, handler) {\n if (vnode.componentOptions) {\n addComponentNodeListener(vnode, eventName, handler);\n return;\n }\n\n addNativeNodeListener(vnode, eventName, handler);\n}\n// Determines if `change` should be used over `input` for listeners.\nfunction getInputEventName (vnode, model) {\n // Is a component.\n if (vnode.componentOptions) {\n var ref = findModelConfig(vnode) || { event: 'input' };\n var event = ref.event;\n\n return event;\n }\n\n // Lazy Models and select tag typically use change event\n if ((model && model.modifiers && model.modifiers.lazy) || vnode.tag === 'select') {\n return 'change';\n }\n\n // is a textual-type input.\n if (vnode.data.attrs && isTextInput({ type: vnode.data.attrs.type || 'text' })) {\n return 'input';\n }\n\n return 'change';\n}\n\nfunction normalizeSlots (slots, ctx) {\n return Object.keys(slots).reduce(function (arr, key) {\n slots[key].forEach(function (vnode) {\n if (!vnode.context) {\n slots[key].context = ctx;\n if (!vnode.data) {\n vnode.data = {};\n }\n vnode.data.slot = key;\n }\n });\n\n return arr.concat(slots[key]);\n }, []);\n}\nfunction createRenderless (h, children) {\n // Only render the first item of the node.\n if (Array.isArray(children) && children[0]) {\n return children[0];\n }\n\n // a single node.\n if (children) {\n return children;\n }\n\n // No slots, render nothing.\n return h();\n}\n\n/**\n * Generates the options required to construct a field.\n */\nvar Resolver = function Resolver () {};\n\nResolver.generate = function generate (el, binding, vnode) {\n var model = Resolver.resolveModel(binding, vnode);\n var options = resolveConfig(vnode.context);\n\n return {\n name: Resolver.resolveName(el, vnode),\n el: el,\n listen: !binding.modifiers.disable,\n bails: binding.modifiers.bails ? true : (binding.modifiers.continues === true ? false : undefined),\n scope: Resolver.resolveScope(el, binding, vnode),\n vm: vnode.context,\n expression: binding.value,\n component: vnode.componentInstance,\n classes: options.classes,\n classNames: options.classNames,\n getter: Resolver.resolveGetter(el, vnode, model),\n events: Resolver.resolveEvents(el, vnode) || options.events,\n model: model,\n delay: Resolver.resolveDelay(el, vnode, options),\n rules: Resolver.resolveRules(el, binding, vnode),\n immediate: !!binding.modifiers.initial || !!binding.modifiers.immediate,\n persist: !!binding.modifiers.persist,\n validity: options.validity && !vnode.componentInstance,\n aria: options.aria && !vnode.componentInstance,\n initialValue: Resolver.resolveInitialValue(vnode)\n };\n};\n\nResolver.getCtorConfig = function getCtorConfig (vnode) {\n if (!vnode.componentInstance) { return null; }\n\n var config = getPath('componentInstance.$options.$_veeValidate', vnode);\n\n return config;\n};\n\n/**\n * Resolves the rules defined on an element.\n */\nResolver.resolveRules = function resolveRules (el, binding, vnode) {\n var rules = '';\n if (!binding.value && (!binding || !binding.expression)) {\n rules = getDataAttribute(el, 'rules');\n }\n\n if (binding.value && includes(['string', 'object'], typeof binding.value.rules)) {\n rules = binding.value.rules;\n } else if (binding.value) {\n rules = binding.value;\n }\n\n if (vnode.componentInstance) {\n return rules;\n }\n\n // If validity is disabled, ignore field rules.\n var normalized = normalizeRules(rules);\n if (!getConfig().useConstraintAttrs) {\n return normalized;\n }\n\n return assign({}, fillRulesFromElement(el, {}), normalized);\n};\n\n/**\n * @param {*} vnode\n */\nResolver.resolveInitialValue = function resolveInitialValue (vnode) {\n var model = vnode.data.model || find(vnode.data.directives, function (d) { return d.name === 'model'; });\n\n return model && model.value;\n};\n\n/**\n * Resolves the delay value.\n * @param {*} el\n * @param {*} vnode\n * @param {Object} options\n */\nResolver.resolveDelay = function resolveDelay (el, vnode, options) {\n var delay = getDataAttribute(el, 'delay');\n var globalDelay = (options && 'delay' in options) ? options.delay : 0;\n\n if (!delay && vnode.componentInstance && vnode.componentInstance.$attrs) {\n delay = vnode.componentInstance.$attrs['data-vv-delay'];\n }\n\n if (!isObject(globalDelay)) {\n return deepParseInt(delay || globalDelay);\n }\n\n if (!isNullOrUndefined(delay)) {\n globalDelay.input = delay;\n }\n\n return deepParseInt(globalDelay);\n};\n\n/**\n * Resolves the events to validate in response to.\n * @param {*} el\n * @param {*} vnode\n */\nResolver.resolveEvents = function resolveEvents (el, vnode) {\n // resolve it from the root element.\n var events = getDataAttribute(el, 'validate-on');\n\n // resolve from data-vv-validate-on if its a vue component.\n if (!events && vnode.componentInstance && vnode.componentInstance.$attrs) {\n events = vnode.componentInstance.$attrs['data-vv-validate-on'];\n }\n\n // resolve it from $_veeValidate options.\n if (!events && vnode.componentInstance) {\n var config = Resolver.getCtorConfig(vnode);\n events = config && config.events;\n }\n\n if (!events && getConfig().events) {\n events = getConfig().events;\n }\n\n // resolve the model event if its configured for custom components.\n if (events && vnode.componentInstance && includes(events, 'input')) {\n var ref = vnode.componentInstance.$options.model || { event: 'input' };\n var event = ref.event;\n // if the prop was configured but not the model.\n if (!event) {\n return events;\n }\n\n events = events.replace('input', event);\n }\n\n return events;\n};\n\n/**\n * Resolves the scope for the field.\n * @param {*} el\n * @param {*} binding\n */\nResolver.resolveScope = function resolveScope (el, binding, vnode) {\n if ( vnode === void 0 ) vnode = {};\n\n var scope = null;\n if (vnode.componentInstance && isNullOrUndefined(scope)) {\n scope = vnode.componentInstance.$attrs && vnode.componentInstance.$attrs['data-vv-scope'];\n }\n\n return !isNullOrUndefined(scope) ? scope : getScope(el);\n};\n\n/**\n * Checks if the node directives contains a v-model or a specified arg.\n * Args take priority over models.\n *\n * @return {Object}\n */\nResolver.resolveModel = function resolveModel (binding, vnode) {\n if (binding.arg) {\n return { expression: binding.arg };\n }\n\n var model = findModel(vnode);\n if (!model) {\n return null;\n }\n\n // https://github.com/vuejs/vue/blob/dev/src/core/util/lang.js#L26\n var watchable = !/[^\\w.$]/.test(model.expression) && hasPath(model.expression, vnode.context);\n var lazy = !!(model.modifiers && model.modifiers.lazy);\n\n if (!watchable) {\n return { expression: null, lazy: lazy };\n }\n\n return { expression: model.expression, lazy: lazy };\n};\n\n/**\n * Resolves the field name to trigger validations.\n * @return {String} The field name.\n */\nResolver.resolveName = function resolveName (el, vnode) {\n var name = getDataAttribute(el, 'name');\n\n if (!name && !vnode.componentInstance) {\n return el.name;\n }\n\n if (!name && vnode.componentInstance && vnode.componentInstance.$attrs) {\n name = vnode.componentInstance.$attrs['data-vv-name'] || vnode.componentInstance.$attrs['name'];\n }\n\n if (!name && vnode.componentInstance) {\n var config = Resolver.getCtorConfig(vnode);\n if (config && isCallable(config.name)) {\n var boundGetter = config.name.bind(vnode.componentInstance);\n\n return boundGetter();\n }\n\n return vnode.componentInstance.name;\n }\n\n return name;\n};\n\n/**\n * Returns a value getter input type.\n */\nResolver.resolveGetter = function resolveGetter (el, vnode, model) {\n if (model && model.expression) {\n return function () {\n return getPath(model.expression, vnode.context);\n };\n }\n\n if (vnode.componentInstance) {\n var path = getDataAttribute(el, 'value-path') || (vnode.componentInstance.$attrs && vnode.componentInstance.$attrs['data-vv-value-path']);\n if (path) {\n return function () {\n return getPath(path, vnode.componentInstance);\n };\n }\n\n var config = Resolver.getCtorConfig(vnode);\n if (config && isCallable(config.value)) {\n var boundGetter = config.value.bind(vnode.componentInstance);\n\n return function () {\n return boundGetter();\n };\n }\n\n var ref = vnode.componentInstance.$options.model || { prop: 'value' };\n var prop = ref.prop;\n\n return function () {\n return vnode.componentInstance[prop];\n };\n }\n\n switch (el.type) {\n case 'checkbox': return function () {\n var els = document.querySelectorAll((\"input[name=\\\"\" + (el.name) + \"\\\"]\"));\n\n els = toArray(els).filter(function (el) { return el.checked; });\n if (!els.length) { return undefined; }\n\n return els.map(function (checkbox) { return checkbox.value; });\n };\n case 'radio': return function () {\n var els = document.querySelectorAll((\"input[name=\\\"\" + (el.name) + \"\\\"]\"));\n var elm = find(els, function (el) { return el.checked; });\n\n return elm && elm.value;\n };\n case 'file': return function (context) {\n return toArray(el.files);\n };\n case 'select-multiple': return function () {\n return toArray(el.options).filter(function (opt) { return opt.selected; }).map(function (opt) { return opt.value; });\n };\n default: return function () {\n return el && el.value;\n };\n }\n};\n\nvar RULES = {};\n\nvar RuleContainer = function RuleContainer () {};\n\nvar staticAccessors = { rules: { configurable: true } };\n\nRuleContainer.add = function add (name, ref) {\n var validate = ref.validate;\n var options = ref.options;\n var paramNames = ref.paramNames;\n\n RULES[name] = {\n validate: validate,\n options: options,\n paramNames: paramNames\n };\n};\n\nstaticAccessors.rules.get = function () {\n return RULES;\n};\n\nRuleContainer.has = function has (name) {\n return !!RULES[name];\n};\n\nRuleContainer.isImmediate = function isImmediate (name) {\n return !!(RULES[name] && RULES[name].options.immediate);\n};\n\nRuleContainer.isRequireRule = function isRequireRule (name) {\n return !!(RULES[name] && RULES[name].options.computesRequired);\n};\n\nRuleContainer.isTargetRule = function isTargetRule (name) {\n return !!(RULES[name] && RULES[name].options.hasTarget);\n};\n\nRuleContainer.remove = function remove (ruleName) {\n delete RULES[ruleName];\n};\n\nRuleContainer.getParamNames = function getParamNames (ruleName) {\n return RULES[ruleName] && RULES[ruleName].paramNames;\n};\n\nRuleContainer.getOptions = function getOptions (ruleName) {\n return RULES[ruleName] && RULES[ruleName].options;\n};\n\nRuleContainer.getValidatorMethod = function getValidatorMethod (ruleName) {\n return RULES[ruleName] ? RULES[ruleName].validate : null;\n};\n\nObject.defineProperties( RuleContainer, staticAccessors );\n\n// \n\nvar isEvent = function (evt) {\n return (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) || (evt && evt.srcElement);\n};\n\nvar normalizeEvents = function (evts) {\n if (!evts) { return []; }\n\n return (typeof evts === 'string' ? evts.split('|') : evts);\n};\n\nvar supportsPassive = true;\n\nvar detectPassiveSupport = function () {\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get () {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassive', null, opts);\n window.removeEventListener('testPassive', null, opts);\n } catch (e) {\n supportsPassive = false;\n }\n return supportsPassive;\n};\n\nvar addEventListener = function (el, eventName, cb) {\n el.addEventListener(eventName, cb, supportsPassive ? { passive: true } : false);\n};\n\n// \n\nvar DEFAULT_OPTIONS = {\n targetOf: null,\n immediate: false,\n persist: false,\n scope: null,\n listen: true,\n name: null,\n rules: {},\n vm: null,\n classes: false,\n validity: true,\n aria: true,\n events: 'input|blur',\n delay: 0,\n classNames: {\n touched: 'touched', // the control has been blurred\n untouched: 'untouched', // the control hasn't been blurred\n valid: 'valid', // model is valid\n invalid: 'invalid', // model is invalid\n pristine: 'pristine', // control has not been interacted with\n dirty: 'dirty' // control has been interacted with\n }\n};\n\nvar Field = function Field (options) {\n if ( options === void 0 ) options = {};\n\n this.id = uniqId();\n this.el = options.el;\n this.updated = false;\n this.vmId = options.vmId;\n defineNonReactive(this, 'dependencies', []);\n defineNonReactive(this, 'watchers', []);\n defineNonReactive(this, 'events', []);\n this.delay = 0;\n this.rules = {};\n this.forceRequired = false;\n this._cacheId(options);\n this.classNames = assign({}, DEFAULT_OPTIONS.classNames);\n options = assign({}, DEFAULT_OPTIONS, options);\n this._delay = !isNullOrUndefined(options.delay) ? options.delay : 0; // cache initial delay\n this.validity = options.validity;\n this.aria = options.aria;\n this.flags = options.flags || createFlags();\n defineNonReactive(this, 'vm', options.vm);\n defineNonReactive(this, 'componentInstance', options.component);\n this.ctorConfig = this.componentInstance ? getPath('$options.$_veeValidate', this.componentInstance) : undefined;\n this.update(options);\n // set initial value.\n this.initialValue = this.value;\n this.updated = false;\n};\n\nvar prototypeAccessors$1 = { validator: { configurable: true },isRequired: { configurable: true },isDisabled: { configurable: true },alias: { configurable: true },value: { configurable: true },bails: { configurable: true },rejectsFalse: { configurable: true } };\n\nprototypeAccessors$1.validator.get = function () {\n if (!this.vm || !this.vm.$validator) {\n return { validate: function () { return Promise.resolve(true); } };\n }\n\n return this.vm.$validator;\n};\n\nprototypeAccessors$1.isRequired.get = function () {\n return !!this.rules.required || this.forceRequired;\n};\n\nprototypeAccessors$1.isDisabled.get = function () {\n return !!(this.el && this.el.disabled);\n};\n\n/**\n * Gets the display name (user-friendly name).\n */\nprototypeAccessors$1.alias.get = function () {\n if (this._alias) {\n return this._alias;\n }\n\n var alias = null;\n if (this.ctorConfig && this.ctorConfig.alias) {\n alias = isCallable(this.ctorConfig.alias) ? this.ctorConfig.alias.call(this.componentInstance) : this.ctorConfig.alias;\n }\n\n if (!alias && this.el) {\n alias = getDataAttribute(this.el, 'as');\n }\n\n if (!alias && this.componentInstance) {\n return this.componentInstance.$attrs && this.componentInstance.$attrs['data-vv-as'];\n }\n\n return alias;\n};\n\n/**\n * Gets the input value.\n */\n\nprototypeAccessors$1.value.get = function () {\n if (!isCallable(this.getter)) {\n return undefined;\n }\n\n return this.getter();\n};\n\nprototypeAccessors$1.bails.get = function () {\n return this._bails;\n};\n\n/**\n * If the field rejects false as a valid value for the required rule.\n */\n\nprototypeAccessors$1.rejectsFalse.get = function () {\n if (this.componentInstance && this.ctorConfig) {\n return !!this.ctorConfig.rejectsFalse;\n }\n\n if (!this.el) {\n return false;\n }\n\n return this.el.type === 'checkbox';\n};\n\n/**\n * Determines if the instance matches the options provided.\n */\nField.prototype.matches = function matches (options) {\n var this$1 = this;\n\n if (!options) {\n return true;\n }\n\n if (options.id) {\n return this.id === options.id;\n }\n\n var matchesComponentId = isNullOrUndefined(options.vmId) ? function () { return true; } : function (id) { return id === this$1.vmId; };\n if (!matchesComponentId(options.vmId)) {\n return false;\n }\n\n if (options.name === undefined && options.scope === undefined) {\n return true;\n }\n\n if (options.scope === undefined) {\n return this.name === options.name;\n }\n\n if (options.name === undefined) {\n return this.scope === options.scope;\n }\n\n return options.name === this.name && options.scope === this.scope;\n};\n\n/**\n * Caches the field id.\n */\nField.prototype._cacheId = function _cacheId (options) {\n if (this.el && !options.targetOf) {\n this.el._veeValidateId = this.id;\n }\n};\n\n/**\n * Keeps a reference of the most current validation run.\n */\nField.prototype.waitFor = function waitFor (pendingPromise) {\n this._waitingFor = pendingPromise;\n};\n\nField.prototype.isWaitingFor = function isWaitingFor (promise) {\n return this._waitingFor === promise;\n};\n\n/**\n * Updates the field with changed data.\n */\nField.prototype.update = function update (options) {\n var this$1 = this;\n\n this.targetOf = options.targetOf || null;\n this.immediate = options.immediate || this.immediate || false;\n this.persist = options.persist || this.persist || false;\n\n // update errors scope if the field scope was changed.\n if (!isNullOrUndefined(options.scope) && options.scope !== this.scope && isCallable(this.validator.update)) {\n this.validator.update(this.id, { scope: options.scope });\n }\n this.scope = !isNullOrUndefined(options.scope) ? options.scope\n : !isNullOrUndefined(this.scope) ? this.scope : null;\n this.name = (!isNullOrUndefined(options.name) ? String(options.name) : options.name) || this.name || null;\n this.rules = options.rules !== undefined ? normalizeRules(options.rules) : this.rules;\n this._bails = options.bails !== undefined ? options.bails : this._bails;\n this.model = options.model || this.model;\n this.listen = options.listen !== undefined ? options.listen : this.listen;\n this.classes = (options.classes || this.classes || false) && !this.componentInstance;\n this.classNames = isObject(options.classNames) ? merge(this.classNames, options.classNames) : this.classNames;\n this.getter = isCallable(options.getter) ? options.getter : this.getter;\n this._alias = options.alias || this._alias;\n this.events = (options.events) ? normalizeEvents(options.events) : this.events;\n this.delay = makeDelayObject(this.events, options.delay || this.delay, this._delay);\n this.updateDependencies();\n this.addActionListeners();\n\n if (process.env.NODE_ENV !== 'production' && !this.name && !this.targetOf) {\n warn('A field is missing a \"name\" or \"data-vv-name\" attribute');\n }\n\n // update required flag flags\n if (options.rules !== undefined) {\n this.flags.required = this.isRequired;\n }\n\n if (Object.keys(options.rules || {}).length === 0 && this.updated) {\n var resetFlag = this.flags.validated;\n this.validator.validate((\"#\" + (this.id))).then(function () {\n this$1.flags.validated = resetFlag;\n });\n }\n\n // validate if it was validated before and field was updated and there was a rules mutation.\n if (this.flags.validated && options.rules !== undefined && this.updated) {\n this.validator.validate((\"#\" + (this.id)));\n }\n\n this.updated = true;\n this.addValueListeners();\n\n // no need to continue.\n if (!this.el) {\n return;\n }\n this.updateClasses();\n this.updateAriaAttrs();\n};\n\n/**\n * Resets field flags and errors.\n */\nField.prototype.reset = function reset () {\n var this$1 = this;\n\n if (this._cancellationToken) {\n this._cancellationToken.cancelled = true;\n delete this._cancellationToken;\n }\n\n var defaults = createFlags();\n Object.keys(this.flags).filter(function (flag) { return flag !== 'required'; }).forEach(function (flag) {\n this$1.flags[flag] = defaults[flag];\n });\n\n // update initial value\n this.initialValue = this.value;\n this.flags.changed = false;\n\n this.addValueListeners();\n this.addActionListeners();\n this.updateClasses(true);\n this.updateAriaAttrs();\n this.updateCustomValidity();\n};\n\n/**\n * Sets the flags and their negated counterparts, and updates the classes and re-adds action listeners.\n */\nField.prototype.setFlags = function setFlags (flags) {\n var this$1 = this;\n\n var negated = {\n pristine: 'dirty',\n dirty: 'pristine',\n valid: 'invalid',\n invalid: 'valid',\n touched: 'untouched',\n untouched: 'touched'\n };\n\n Object.keys(flags).forEach(function (flag) {\n this$1.flags[flag] = flags[flag];\n // if it has a negation and was not specified, set it as well.\n if (negated[flag] && flags[negated[flag]] === undefined) {\n this$1.flags[negated[flag]] = !flags[flag];\n }\n });\n\n if (\n flags.untouched !== undefined ||\n flags.touched !== undefined ||\n flags.dirty !== undefined ||\n flags.pristine !== undefined\n ) {\n this.addActionListeners();\n }\n this.updateClasses();\n this.updateAriaAttrs();\n this.updateCustomValidity();\n};\n\n/**\n * Determines if the field requires references to target fields.\n*/\nField.prototype.updateDependencies = function updateDependencies () {\n var this$1 = this;\n\n // reset dependencies.\n this.dependencies.forEach(function (d) { return d.field.destroy(); });\n this.dependencies = [];\n\n // we get the selectors for each field.\n var fields = Object.keys(this.rules).reduce(function (prev, r) {\n if (RuleContainer.isTargetRule(r)) {\n prev.push({ selector: this$1.rules[r][0], name: r });\n }\n\n return prev;\n }, []);\n\n if (!fields.length || !this.vm || !this.vm.$el) { return; }\n\n // must be contained within the same component, so we use the vm root element constrain our dom search.\n fields.forEach(function (ref$1) {\n var selector = ref$1.selector;\n var name = ref$1.name;\n\n var ref = this$1.vm.$refs[selector];\n var el = Array.isArray(ref) ? ref[0] : ref;\n if (!el) {\n return;\n }\n\n var options = {\n vm: this$1.vm,\n classes: this$1.classes,\n classNames: this$1.classNames,\n delay: this$1.delay,\n scope: this$1.scope,\n events: this$1.events.join('|'),\n immediate: this$1.immediate,\n targetOf: this$1.id\n };\n\n // probably a component.\n if (isCallable(el.$watch)) {\n options.component = el;\n options.el = el.$el;\n options.getter = Resolver.resolveGetter(el.$el, el.$vnode);\n } else {\n options.el = el;\n options.getter = Resolver.resolveGetter(el, {});\n }\n\n this$1.dependencies.push({ name: name, field: new Field(options) });\n });\n};\n\n/**\n * Removes listeners.\n */\nField.prototype.unwatch = function unwatch (tag) {\n if ( tag === void 0 ) tag = null;\n\n if (!tag) {\n this.watchers.forEach(function (w) { return w.unwatch(); });\n this.watchers = [];\n return;\n }\n\n this.watchers.filter(function (w) { return tag.test(w.tag); }).forEach(function (w) { return w.unwatch(); });\n this.watchers = this.watchers.filter(function (w) { return !tag.test(w.tag); });\n};\n\n/**\n * Updates the element classes depending on each field flag status.\n */\nField.prototype.updateClasses = function updateClasses (isReset) {\n var this$1 = this;\n if ( isReset === void 0 ) isReset = false;\n\n if (!this.classes || this.isDisabled) { return; }\n var applyClasses = function (el) {\n toggleClass(el, this$1.classNames.dirty, this$1.flags.dirty);\n toggleClass(el, this$1.classNames.pristine, this$1.flags.pristine);\n toggleClass(el, this$1.classNames.touched, this$1.flags.touched);\n toggleClass(el, this$1.classNames.untouched, this$1.flags.untouched);\n\n // remove valid/invalid classes on reset.\n if (isReset) {\n toggleClass(el, this$1.classNames.valid, false);\n toggleClass(el, this$1.classNames.invalid, false);\n }\n\n // make sure we don't set any classes if the state is undetermined.\n if (!isNullOrUndefined(this$1.flags.valid) && this$1.flags.validated) {\n toggleClass(el, this$1.classNames.valid, this$1.flags.valid);\n }\n\n if (!isNullOrUndefined(this$1.flags.invalid) && this$1.flags.validated) {\n toggleClass(el, this$1.classNames.invalid, this$1.flags.invalid);\n }\n };\n\n if (!isCheckboxOrRadioInput(this.el)) {\n applyClasses(this.el);\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(applyClasses);\n};\n\n/**\n * Adds the listeners required for automatic classes and some flags.\n */\nField.prototype.addActionListeners = function addActionListeners () {\n var this$1 = this;\n\n // remove previous listeners.\n this.unwatch(/class/);\n\n if (!this.el) { return; }\n\n var onBlur = function () {\n this$1.flags.touched = true;\n this$1.flags.untouched = false;\n if (this$1.classes) {\n toggleClass(this$1.el, this$1.classNames.touched, true);\n toggleClass(this$1.el, this$1.classNames.untouched, false);\n }\n\n // only needed once.\n this$1.unwatch(/^class_blur$/);\n };\n\n var inputEvent = isTextInput(this.el) ? 'input' : 'change';\n var onInput = function () {\n this$1.flags.dirty = true;\n this$1.flags.pristine = false;\n if (this$1.classes) {\n toggleClass(this$1.el, this$1.classNames.pristine, false);\n toggleClass(this$1.el, this$1.classNames.dirty, true);\n }\n\n // only needed once.\n this$1.unwatch(/^class_input$/);\n };\n\n if (this.componentInstance && isCallable(this.componentInstance.$once)) {\n this.componentInstance.$once('input', onInput);\n this.componentInstance.$once('blur', onBlur);\n this.watchers.push({\n tag: 'class_input',\n unwatch: function () {\n this$1.componentInstance.$off('input', onInput);\n }\n });\n this.watchers.push({\n tag: 'class_blur',\n unwatch: function () {\n this$1.componentInstance.$off('blur', onBlur);\n }\n });\n return;\n }\n\n if (!this.el) { return; }\n\n addEventListener(this.el, inputEvent, onInput);\n // Checkboxes and radio buttons on Mac don't emit blur naturally, so we listen on click instead.\n var blurEvent = isCheckboxOrRadioInput(this.el) ? 'change' : 'blur';\n addEventListener(this.el, blurEvent, onBlur);\n this.watchers.push({\n tag: 'class_input',\n unwatch: function () {\n this$1.el.removeEventListener(inputEvent, onInput);\n }\n });\n\n this.watchers.push({\n tag: 'class_blur',\n unwatch: function () {\n this$1.el.removeEventListener(blurEvent, onBlur);\n }\n });\n};\n\nField.prototype.checkValueChanged = function checkValueChanged () {\n // handle some people initialize the value to null, since text inputs have empty string value.\n if (this.initialValue === null && this.value === '' && isTextInput(this.el)) {\n return false;\n }\n\n return this.value !== this.initialValue;\n};\n\n/**\n * Determines the suitable primary event to listen for.\n */\nField.prototype._determineInputEvent = function _determineInputEvent () {\n // if its a custom component, use the customized model event or the input event.\n if (this.componentInstance) {\n return (this.componentInstance.$options.model && this.componentInstance.$options.model.event) || 'input';\n }\n\n if (this.model && this.model.lazy) {\n return 'change';\n }\n\n if (isTextInput(this.el)) {\n return 'input';\n }\n\n return 'change';\n};\n\n/**\n * Determines the list of events to listen to.\n */\nField.prototype._determineEventList = function _determineEventList (defaultInputEvent) {\n var this$1 = this;\n\n // if no event is configured, or it is a component or a text input then respect the user choice.\n if (!this.events.length || this.componentInstance || isTextInput(this.el)) {\n return [].concat( this.events ).map(function (evt) {\n if (evt === 'input' && this$1.model && this$1.model.lazy) {\n return 'change';\n }\n\n return evt;\n });\n }\n\n // force suitable event for non-text type fields.\n return this.events.map(function (e) {\n if (e === 'input') {\n return defaultInputEvent;\n }\n\n return e;\n });\n};\n\n/**\n * Adds the listeners required for validation.\n */\nField.prototype.addValueListeners = function addValueListeners () {\n var this$1 = this;\n\n this.unwatch(/^input_.+/);\n if (!this.listen || !this.el) { return; }\n\n var token = { cancelled: false };\n var fn = this.targetOf ? function () {\n var target = this$1.validator._resolveField((\"#\" + (this$1.targetOf)));\n if (target && target.flags.validated) {\n this$1.validator.validate((\"#\" + (this$1.targetOf)));\n }\n } : function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // if its a DOM event, resolve the value, otherwise use the first parameter as the value.\n if (args.length === 0 || isEvent(args[0])) {\n args[0] = this$1.value;\n }\n\n this$1.flags.pending = true;\n this$1._cancellationToken = token;\n this$1.validator.validate((\"#\" + (this$1.id)), args[0]);\n };\n\n var inputEvent = this._determineInputEvent();\n var events = this._determineEventList(inputEvent);\n\n // if on input validation is requested.\n if (includes(events, inputEvent)) {\n var ctx = null;\n var expression = null;\n var watchCtxVm = false;\n // if its watchable from the context vm.\n if (this.model && this.model.expression) {\n ctx = this.vm;\n expression = this.model.expression;\n watchCtxVm = true;\n }\n\n // watch it from the custom component vm instead.\n if (!expression && this.componentInstance && this.componentInstance.$options.model) {\n ctx = this.componentInstance;\n expression = this.componentInstance.$options.model.prop || 'value';\n }\n\n if (ctx && expression) {\n var debouncedFn = debounce(fn, this.delay[inputEvent], token);\n var unwatch = ctx.$watch(expression, debouncedFn);\n this.watchers.push({\n tag: 'input_model',\n unwatch: function () {\n this$1.vm.$nextTick(function () {\n unwatch();\n });\n }\n });\n\n // filter out input event when we are watching from the context vm.\n if (watchCtxVm) {\n events = events.filter(function (e) { return e !== inputEvent; });\n }\n }\n }\n\n // Add events.\n events.forEach(function (e) {\n var debouncedFn = debounce(fn, this$1.delay[e], token);\n\n this$1._addComponentEventListener(e, debouncedFn);\n this$1._addHTMLEventListener(e, debouncedFn);\n });\n};\n\nField.prototype._addComponentEventListener = function _addComponentEventListener (evt, validate) {\n var this$1 = this;\n\n if (!this.componentInstance) { return; }\n\n this.componentInstance.$on(evt, validate);\n this.watchers.push({\n tag: 'input_vue',\n unwatch: function () {\n this$1.componentInstance.$off(evt, validate);\n }\n });\n};\n\nField.prototype._addHTMLEventListener = function _addHTMLEventListener (evt, validate) {\n var this$1 = this;\n\n if (!this.el || this.componentInstance) { return; }\n\n // listen for the current element.\n var addListener = function (el) {\n addEventListener(el, evt, validate);\n this$1.watchers.push({\n tag: 'input_native',\n unwatch: function () {\n el.removeEventListener(evt, validate);\n }\n });\n };\n\n addListener(this.el);\n if (!isCheckboxOrRadioInput(this.el)) {\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(function (el) {\n // skip if it is added by v-validate and is not the current element.\n if (el._veeValidateId && el !== this$1.el) {\n return;\n }\n\n addListener(el);\n });\n};\n\n/**\n * Updates aria attributes on the element.\n */\nField.prototype.updateAriaAttrs = function updateAriaAttrs () {\n var this$1 = this;\n\n if (!this.aria || !this.el || !isCallable(this.el.setAttribute)) { return; }\n\n var applyAriaAttrs = function (el) {\n el.setAttribute('aria-required', this$1.isRequired ? 'true' : 'false');\n el.setAttribute('aria-invalid', this$1.flags.invalid ? 'true' : 'false');\n };\n\n if (!isCheckboxOrRadioInput(this.el)) {\n applyAriaAttrs(this.el);\n return;\n }\n\n var els = document.querySelectorAll((\"input[name=\\\"\" + (this.el.name) + \"\\\"]\"));\n toArray(els).forEach(applyAriaAttrs);\n};\n\n/**\n * Updates the custom validity for the field.\n */\nField.prototype.updateCustomValidity = function updateCustomValidity () {\n if (!this.validity || !this.el || !isCallable(this.el.setCustomValidity) || !this.validator.errors) { return; }\n\n this.el.setCustomValidity(this.flags.valid ? '' : (this.validator.errors.firstById(this.id) || ''));\n};\n\n/**\n * Removes all listeners.\n */\nField.prototype.destroy = function destroy () {\n // ignore the result of any ongoing validation.\n if (this._cancellationToken) {\n this._cancellationToken.cancelled = true;\n }\n\n this.unwatch();\n this.dependencies.forEach(function (d) { return d.field.destroy(); });\n this.dependencies = [];\n};\n\nObject.defineProperties( Field.prototype, prototypeAccessors$1 );\n\n// \n\nvar FieldBag = function FieldBag (items) {\n if ( items === void 0 ) items = [];\n\n this.items = items || [];\n this.itemsById = this.items.reduce(function (itemsById, item) {\n itemsById[item.id] = item;\n return itemsById;\n }, {});\n};\n\nvar prototypeAccessors$2 = { length: { configurable: true } };\n\nFieldBag.prototype[typeof Symbol === 'function' ? Symbol.iterator : '@@iterator'] = function () {\n var this$1 = this;\n\n var index = 0;\n return {\n next: function () {\n return { value: this$1.items[index++], done: index > this$1.items.length };\n }\n };\n};\n\n/**\n * Gets the current items length.\n */\n\nprototypeAccessors$2.length.get = function () {\n return this.items.length;\n};\n\n/**\n * Finds the first field that matches the provided matcher object.\n */\nFieldBag.prototype.find = function find$1 (matcher) {\n return find(this.items, function (item) { return item.matches(matcher); });\n};\n\n/**\n * Finds the field with the given id, using a plain object as a map to link\n * ids to items faster than by looping over the array and matching.\n */\nFieldBag.prototype.findById = function findById (id) {\n return this.itemsById[id] || null;\n};\n\n/**\n * Filters the items down to the matched fields.\n */\nFieldBag.prototype.filter = function filter (matcher) {\n // multiple matchers to be tried.\n if (Array.isArray(matcher)) {\n return this.items.filter(function (item) { return matcher.some(function (m) { return item.matches(m); }); });\n }\n\n return this.items.filter(function (item) { return item.matches(matcher); });\n};\n\n/**\n * Maps the field items using the mapping function.\n */\nFieldBag.prototype.map = function map (mapper) {\n return this.items.map(mapper);\n};\n\n/**\n * Finds and removes the first field that matches the provided matcher object, returns the removed item.\n */\nFieldBag.prototype.remove = function remove (matcher) {\n var item = null;\n if (matcher instanceof Field) {\n item = matcher;\n } else {\n item = this.find(matcher);\n }\n\n if (!item) { return null; }\n\n var index = this.items.indexOf(item);\n this.items.splice(index, 1);\n delete this.itemsById[item.id];\n\n return item;\n};\n\n/**\n * Adds a field item to the list.\n */\nFieldBag.prototype.push = function push (item) {\n if (! (item instanceof Field)) {\n throw createError('FieldBag only accepts instances of Field that has an id defined.');\n }\n\n if (!item.id) {\n throw createError('Field id must be defined.');\n }\n\n if (this.findById(item.id)) {\n throw createError((\"Field with id \" + (item.id) + \" is already added.\"));\n }\n\n this.items.push(item);\n this.itemsById[item.id] = item;\n};\n\nObject.defineProperties( FieldBag.prototype, prototypeAccessors$2 );\n\nvar ScopedValidator = function ScopedValidator (base, vm) {\n this.id = vm._uid;\n this._base = base;\n this._paused = false;\n\n // create a mirror bag with limited component scope.\n this.errors = new ErrorBag(base.errors, this.id);\n};\n\nvar prototypeAccessors$3 = { flags: { configurable: true },rules: { configurable: true },fields: { configurable: true },dictionary: { configurable: true },locale: { configurable: true } };\n\nprototypeAccessors$3.flags.get = function () {\n var this$1 = this;\n\n return this._base.fields.items.filter(function (f) { return f.vmId === this$1.id; }).reduce(function (acc, field) {\n if (field.scope) {\n if (!acc[(\"$\" + (field.scope))]) {\n acc[(\"$\" + (field.scope))] = {};\n }\n\n acc[(\"$\" + (field.scope))][field.name] = field.flags;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n};\n\nprototypeAccessors$3.rules.get = function () {\n return this._base.rules;\n};\n\nprototypeAccessors$3.fields.get = function () {\n return new FieldBag(this._base.fields.filter({ vmId: this.id }));\n};\n\nprototypeAccessors$3.dictionary.get = function () {\n return this._base.dictionary;\n};\n\nprototypeAccessors$3.locale.get = function () {\n return this._base.locale;\n};\n\nprototypeAccessors$3.locale.set = function (val) {\n this._base.locale = val;\n};\n\nScopedValidator.prototype.localize = function localize () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).localize.apply(ref, args);\n};\n\nScopedValidator.prototype.update = function update () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).update.apply(ref, args);\n};\n\nScopedValidator.prototype.attach = function attach (opts) {\n var attachOpts = assign({}, opts, { vmId: this.id });\n\n return this._base.attach(attachOpts);\n};\n\nScopedValidator.prototype.pause = function pause () {\n this._paused = true;\n};\n\nScopedValidator.prototype.resume = function resume () {\n this._paused = false;\n};\n\nScopedValidator.prototype.remove = function remove (ruleName) {\n return this._base.remove(ruleName);\n};\n\nScopedValidator.prototype.detach = function detach (name, scope) {\n return this._base.detach(name, scope, this.id);\n};\n\nScopedValidator.prototype.extend = function extend () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).extend.apply(ref, args);\n};\n\nScopedValidator.prototype.validate = function validate (descriptor, value, opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validate(descriptor, value, assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.verify = function verify () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).verify.apply(ref, args);\n};\n\nScopedValidator.prototype.validateAll = function validateAll (values, opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validateAll(values, assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.validateScopes = function validateScopes (opts) {\n if ( opts === void 0 ) opts = {};\n\n if (this._paused) { return Promise.resolve(true); }\n\n return this._base.validateScopes(assign({}, { vmId: this.id }, opts || {}));\n};\n\nScopedValidator.prototype.destroy = function destroy () {\n delete this.id;\n delete this._base;\n};\n\nScopedValidator.prototype.reset = function reset (matcher) {\n return this._base.reset(Object.assign({}, matcher || {}, { vmId: this.id }));\n};\n\nScopedValidator.prototype.flag = function flag () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base).flag.apply(ref, args.concat( [this.id] ));\n};\n\nScopedValidator.prototype._resolveField = function _resolveField () {\n var ref;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n return (ref = this._base)._resolveField.apply(ref, args);\n};\n\nObject.defineProperties( ScopedValidator.prototype, prototypeAccessors$3 );\n\nvar VALIDATOR = null;\n\nvar getValidator = function () {\n return VALIDATOR;\n};\n\nvar setValidator = function (value) {\n VALIDATOR = value;\n\n return value;\n};\n\n// \n\n/**\n * Checks if a parent validator instance was requested.\n */\nvar requestsValidator = function (injections) {\n if (isObject(injections) && injections.$validator) {\n return true;\n }\n\n return false;\n};\n\nvar mixin = {\n provide: function provide () {\n if (this.$validator && !isBuiltInComponent(this.$vnode)) {\n return {\n $validator: this.$validator\n };\n }\n\n return {};\n },\n beforeCreate: function beforeCreate () {\n // if built in do nothing.\n if (isBuiltInComponent(this.$vnode) || this.$options.$__veeInject === false) {\n return;\n }\n\n // if its a root instance set the config if it exists.\n if (!this.$parent) {\n setConfig(this.$options.$_veeValidate || {});\n }\n\n var options = resolveConfig(this);\n\n // if its a root instance, inject anyways, or if it requested a new instance.\n if (!this.$parent || (this.$options.$_veeValidate && /new/.test(this.$options.$_veeValidate.validator))) {\n this.$validator = new ScopedValidator(getValidator(), this);\n }\n\n var requested = requestsValidator(this.$options.inject);\n\n // if automatic injection is enabled and no instance was requested.\n if (! this.$validator && options.inject && !requested) {\n this.$validator = new ScopedValidator(getValidator(), this);\n }\n\n // don't inject errors or fieldBag as no validator was resolved.\n if (!requested && !this.$validator) {\n return;\n }\n\n // There is a validator but it isn't injected, mark as reactive.\n if (!requested && this.$validator) {\n var Vue = this.$options._base; // the vue constructor.\n Vue.util.defineReactive(this.$validator, 'errors', this.$validator.errors);\n }\n\n if (!this.$options.computed) {\n this.$options.computed = {};\n }\n\n this.$options.computed[options.errorBagName || 'errors'] = function errorBagGetter () {\n return this.$validator.errors;\n };\n this.$options.computed[options.fieldsBagName || 'fields'] = function fieldBagGetter () {\n return this.$validator.fields.items.reduce(function (acc, field) {\n if (field.scope) {\n if (!acc[(\"$\" + (field.scope))]) {\n acc[(\"$\" + (field.scope))] = {};\n }\n\n acc[(\"$\" + (field.scope))][field.name] = field.flags;\n\n return acc;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n };\n },\n beforeDestroy: function beforeDestroy () {\n if (this.$validator && this._uid === this.$validator.id) {\n this.$validator.errors.clear(); // remove errors generated by this component.\n }\n }\n};\n\n// \n\n/**\n * Finds the requested field by id from the context object.\n */\nfunction findField (el, context) {\n if (!context || !context.$validator) {\n return null;\n }\n\n return context.$validator.fields.findById(el._veeValidateId);\n}\nvar directive = {\n bind: function bind (el, binding, vnode) {\n var validator = vnode.context.$validator;\n if (!validator) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"No validator instance is present on vm, did you forget to inject '$validator'?\");\n }\n\n return;\n }\n\n var fieldOptions = Resolver.generate(el, binding, vnode);\n validator.attach(fieldOptions);\n },\n inserted: function inserted (el, binding, vnode) {\n var field = findField(el, vnode.context);\n var scope = Resolver.resolveScope(el, binding, vnode);\n\n // skip if scope hasn't changed.\n if (!field || scope === field.scope) { return; }\n\n // only update scope.\n field.update({ scope: scope });\n\n // allows the field to re-evaluated once more in the update hook.\n field.updated = false;\n },\n update: function update (el, binding, vnode) {\n var field = findField(el, vnode.context);\n\n // make sure we don't do unneccasary work if no important change was done.\n if (!field || (field.updated && isEqual(binding.value, binding.oldValue))) { return; }\n var scope = Resolver.resolveScope(el, binding, vnode);\n var rules = Resolver.resolveRules(el, binding, vnode);\n\n field.update({\n scope: scope,\n rules: rules\n });\n },\n unbind: function unbind (el, binding, ref) {\n var context = ref.context;\n\n var field = findField(el, context);\n if (!field) { return; }\n\n context.$validator.detach(field);\n }\n};\n\n// \n\nvar Validator = function Validator (validations, options, pluginContainer) {\n if ( options === void 0 ) options = { fastExit: true };\n if ( pluginContainer === void 0 ) pluginContainer = null;\n\n this.errors = new ErrorBag();\n this.fields = new FieldBag();\n this._createFields(validations);\n this.paused = false;\n this.fastExit = !isNullOrUndefined(options && options.fastExit) ? options.fastExit : true;\n this.$vee = pluginContainer || {\n _vm: {\n $nextTick: function (cb) { return isCallable(cb) ? cb() : Promise.resolve(); },\n $emit: function () {},\n $off: function () {}\n }\n };\n};\n\nvar prototypeAccessors$4 = { rules: { configurable: true },dictionary: { configurable: true },flags: { configurable: true },locale: { configurable: true } };\nvar staticAccessors$1 = { rules: { configurable: true },dictionary: { configurable: true },locale: { configurable: true } };\n\n/**\n * @deprecated\n */\nstaticAccessors$1.rules.get = function () {\n if (process.env.NODE_ENV !== 'production') {\n warn('this accessor will be deprecated, use `import { rules } from \"vee-validate\"` instead.');\n }\n\n return RuleContainer.rules;\n};\n\n/**\n * @deprecated\n */\nprototypeAccessors$4.rules.get = function () {\n if (process.env.NODE_ENV !== 'production') {\n warn('this accessor will be deprecated, use `import { rules } from \"vee-validate\"` instead.');\n }\n\n return RuleContainer.rules;\n};\n\nprototypeAccessors$4.dictionary.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nstaticAccessors$1.dictionary.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nprototypeAccessors$4.flags.get = function () {\n return this.fields.items.reduce(function (acc, field) {\n var obj;\n\n if (field.scope) {\n acc[(\"$\" + (field.scope))] = ( obj = {}, obj[field.name] = field.flags, obj );\n\n return acc;\n }\n\n acc[field.name] = field.flags;\n\n return acc;\n }, {});\n};\n\n/**\n * Getter for the current locale.\n */\nprototypeAccessors$4.locale.get = function () {\n return Validator.locale;\n};\n\n/**\n * Setter for the validator locale.\n */\nprototypeAccessors$4.locale.set = function (value) {\n Validator.locale = value;\n};\n\nstaticAccessors$1.locale.get = function () {\n return DictionaryResolver.getDriver().locale;\n};\n\n/**\n * Setter for the validator locale.\n */\nstaticAccessors$1.locale.set = function (value) {\n var hasChanged = value !== DictionaryResolver.getDriver().locale;\n DictionaryResolver.getDriver().locale = value;\n if (hasChanged && Validator.$vee && Validator.$vee._vm) {\n Validator.$vee._vm.$emit('localeChanged');\n }\n};\n\n/**\n * Static constructor.\n * @deprecated\n */\nValidator.create = function create (validations, options) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Please use `new` to create new validator instances.');\n }\n\n return new Validator(validations, options);\n};\n\n/**\n * Adds a custom validator to the list of validation rules.\n */\nValidator.extend = function extend (name, validator, options) {\n if ( options === void 0 ) options = {};\n\n Validator._guardExtend(name, validator);\n // rules imported from the minimal bundle\n // will have the options embedded in them\n var mergedOpts = validator.options || {};\n Validator._merge(name, {\n validator: validator,\n paramNames: (options && options.paramNames) || validator.paramNames,\n options: assign({ hasTarget: false, immediate: true }, mergedOpts, options || {})\n });\n};\n\n/**\n * Removes a rule from the list of validators.\n * @deprecated\n */\nValidator.remove = function remove (name) {\n if (process.env.NODE_ENV !== 'production') {\n warn('this method will be deprecated, you can still override your rules with `extend`');\n }\n\n RuleContainer.remove(name);\n};\n\n/**\n * Adds and sets the current locale for the validator.\n*/\nValidator.prototype.localize = function localize (lang, dictionary) {\n Validator.localize(lang, dictionary);\n};\n\n/**\n * Adds and sets the current locale for the validator.\n */\nValidator.localize = function localize (lang, dictionary) {\n var obj;\n\n if (isObject(lang)) {\n DictionaryResolver.getDriver().merge(lang);\n return;\n }\n\n // merge the dictionary.\n if (dictionary) {\n var locale = lang || dictionary.name;\n dictionary = assign({}, dictionary);\n DictionaryResolver.getDriver().merge(( obj = {}, obj[locale] = dictionary, obj ));\n }\n\n if (lang) {\n // set the locale.\n Validator.locale = lang;\n }\n};\n\n/**\n * Registers a field to be validated.\n */\nValidator.prototype.attach = function attach (fieldOpts) {\n var this$1 = this;\n\n // We search for a field with the same name & scope, having persist enabled\n var oldFieldMatcher = { name: fieldOpts.name, scope: fieldOpts.scope, persist: true };\n var oldField = fieldOpts.persist ? this.fields.find(oldFieldMatcher) : null;\n\n if (oldField) {\n // We keep the flags of the old field, then we remove its instance\n fieldOpts.flags = oldField.flags;\n oldField.destroy();\n this.fields.remove(oldField);\n }\n\n // fixes initial value detection with v-model and select elements.\n var value = fieldOpts.initialValue;\n var field = new Field(fieldOpts);\n this.fields.push(field);\n\n // validate the field initially\n if (field.immediate) {\n this.$vee._vm.$nextTick(function () { return this$1.validate((\"#\" + (field.id)), value || field.value, { vmId: fieldOpts.vmId }); });\n } else {\n this._validate(field, value || field.value, { initial: true }).then(function (result) {\n field.flags.valid = result.valid;\n field.flags.invalid = !result.valid;\n });\n }\n\n return field;\n};\n\n/**\n * Sets the flags on a field.\n */\nValidator.prototype.flag = function flag (name, flags, uid) {\n if ( uid === void 0 ) uid = null;\n\n var field = this._resolveField(name, undefined, uid);\n if (!field || !flags) {\n return;\n }\n\n field.setFlags(flags);\n};\n\n/**\n * Removes a field from the validator.\n */\nValidator.prototype.detach = function detach (name, scope, uid) {\n var field = isCallable(name.destroy) ? name : this._resolveField(name, scope, uid);\n if (!field) { return; }\n\n // We destroy/remove the field & error instances if it's not a `persist` one\n if (!field.persist) {\n field.destroy();\n this.errors.remove(field.name, field.scope, field.vmId);\n this.fields.remove(field);\n }\n};\n\n/**\n * Adds a custom validator to the list of validation rules.\n */\nValidator.prototype.extend = function extend (name, validator, options) {\n if ( options === void 0 ) options = {};\n\n Validator.extend(name, validator, options);\n};\n\nValidator.prototype.reset = function reset (matcher) {\n var this$1 = this;\n\n // two ticks\n return this.$vee._vm.$nextTick().then(function () {\n return this$1.$vee._vm.$nextTick();\n }).then(function () {\n this$1.fields.filter(matcher).forEach(function (field) {\n field.waitFor(null);\n field.reset(); // reset field flags.\n this$1.errors.remove(field.name, field.scope, matcher && matcher.vmId);\n });\n });\n};\n\n/**\n * Updates a field, updating both errors and flags.\n */\nValidator.prototype.update = function update (id, ref) {\n var scope = ref.scope;\n\n var field = this._resolveField((\"#\" + id));\n if (!field) { return; }\n\n // remove old scope.\n this.errors.update(id, { scope: scope });\n};\n\n/**\n * Removes a rule from the list of validators.\n * @deprecated\n */\nValidator.prototype.remove = function remove (name) {\n Validator.remove(name);\n};\n\n/**\n * Validates a value against a registered field validations.\n */\nValidator.prototype.validate = function validate (fieldDescriptor, value, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n // overload to validate all.\n if (isNullOrUndefined(fieldDescriptor)) {\n return this.validateScopes({ silent: silent, vmId: vmId });\n }\n\n // overload to validate scope-less fields.\n if (fieldDescriptor === '*') {\n return this.validateAll(undefined, { silent: silent, vmId: vmId });\n }\n\n // if scope validation was requested.\n if (/^(.+)\\.\\*$/.test(fieldDescriptor)) {\n var matched = fieldDescriptor.match(/^(.+)\\.\\*$/)[1];\n return this.validateAll(matched);\n }\n\n var field = this._resolveField(fieldDescriptor);\n if (!field) {\n return this._handleFieldNotFound(fieldDescriptor);\n }\n\n if (!silent) { field.flags.pending = true; }\n if (value === undefined) {\n value = field.value;\n }\n\n var validationPromise = this._validate(field, value);\n field.waitFor(validationPromise);\n\n return validationPromise.then(function (result) {\n if (!silent && field.isWaitingFor(validationPromise)) {\n // allow next validation to mutate the state.\n field.waitFor(null);\n this$1._handleValidationResults([result], vmId);\n }\n\n return result.valid;\n });\n};\n\n/**\n * Pauses the validator.\n */\nValidator.prototype.pause = function pause () {\n this.paused = true;\n\n return this;\n};\n\n/**\n * Resumes the validator.\n */\nValidator.prototype.resume = function resume () {\n this.paused = false;\n\n return this;\n};\n\n/**\n * Validates each value against the corresponding field validations.\n */\nValidator.prototype.validateAll = function validateAll (values, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n var matcher = null;\n var providedValues = false;\n\n if (typeof values === 'string') {\n matcher = { scope: values, vmId: vmId };\n } else if (isObject(values)) {\n matcher = Object.keys(values).map(function (key) {\n return { name: key, vmId: vmId, scope: null };\n });\n providedValues = true;\n } else if (Array.isArray(values)) {\n matcher = values.map(function (key) {\n return typeof key === 'object' ? Object.assign({ vmId: vmId }, key) : { name: key, vmId: vmId };\n });\n } else {\n matcher = { scope: null, vmId: vmId };\n }\n\n return Promise.all(\n this.fields.filter(matcher).map(function (field) { return this$1._validate(field, providedValues ? values[field.name] : field.value); })\n ).then(function (results) {\n if (!silent) {\n this$1._handleValidationResults(results, vmId);\n }\n\n return results.every(function (t) { return t.valid; });\n });\n};\n\n/**\n * Validates all scopes.\n */\nValidator.prototype.validateScopes = function validateScopes (ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var silent = ref.silent;\n var vmId = ref.vmId;\n\n if (this.paused) { return Promise.resolve(true); }\n\n return Promise.all(\n this.fields.filter({ vmId: vmId }).map(function (field) { return this$1._validate(field, field.value); })\n ).then(function (results) {\n if (!silent) {\n this$1._handleValidationResults(results, vmId);\n }\n\n return results.every(function (t) { return t.valid; });\n });\n};\n\n/**\n * Validates a value against the rules.\n */\nValidator.prototype.verify = function verify (value, rules, options) {\n if ( options === void 0 ) options = {};\n\n var field = {\n name: (options && options.name) || '{field}',\n rules: normalizeRules(rules),\n bails: getPath('bails', options, true),\n forceRequired: false,\n get isRequired () {\n return !!this.rules.required || this.forceRequired;\n }\n };\n\n var targetRules = Object.keys(field.rules).filter(RuleContainer.isTargetRule);\n if (targetRules.length && options && isObject(options.values)) {\n field.dependencies = targetRules.map(function (rule) {\n var ref = field.rules[rule];\n var targetKey = ref[0];\n\n return {\n name: rule,\n field: { value: options.values[targetKey] }\n };\n });\n }\n\n return this._validate(field, value).then(function (result) {\n var errors = [];\n var ruleMap = {};\n result.errors.forEach(function (e) {\n errors.push(e.msg);\n ruleMap[e.rule] = e.msg;\n });\n\n return {\n valid: result.valid,\n errors: errors,\n failedRules: ruleMap\n };\n });\n};\n\n/**\n * Perform cleanup.\n */\nValidator.prototype.destroy = function destroy () {\n this.$vee._vm.$off('localeChanged');\n};\n\n/**\n * Creates the fields to be validated.\n */\nValidator.prototype._createFields = function _createFields (validations) {\n var this$1 = this;\n\n if (!validations) { return; }\n\n Object.keys(validations).forEach(function (field) {\n var options = assign({}, { name: field, rules: validations[field] });\n this$1.attach(options);\n });\n};\n\n/**\n * Date rules need the existence of a format, so date_format must be supplied.\n */\nValidator.prototype._getDateFormat = function _getDateFormat (validations) {\n var format = null;\n if (validations.date_format && Array.isArray(validations.date_format)) {\n format = validations.date_format[0];\n }\n\n return format || DictionaryResolver.getDriver().getDateFormat(this.locale);\n};\n\n/**\n * Formats an error message for field and a rule.\n */\nValidator.prototype._formatErrorMessage = function _formatErrorMessage (field, rule, data, targetName) {\n if ( data === void 0 ) data = {};\n if ( targetName === void 0 ) targetName = null;\n\n var name = this._getFieldDisplayName(field);\n var params = this._getLocalizedParams(rule, targetName);\n\n return DictionaryResolver.getDriver().getFieldMessage(this.locale, field.name, rule.name, [name, params, data]);\n};\n\n/**\n * We need to convert any object param to an array format since the locales do not handle params as objects yet.\n */\nValidator.prototype._convertParamObjectToArray = function _convertParamObjectToArray (obj, ruleName) {\n if (Array.isArray(obj)) {\n return obj;\n }\n\n var paramNames = RuleContainer.getParamNames(ruleName);\n if (!paramNames || !isObject(obj)) {\n return obj;\n }\n\n return paramNames.reduce(function (prev, paramName) {\n if (paramName in obj) {\n prev.push(obj[paramName]);\n }\n\n return prev;\n }, []);\n};\n\n/**\n * Translates the parameters passed to the rule (mainly for target fields).\n */\nValidator.prototype._getLocalizedParams = function _getLocalizedParams (rule, targetName) {\n if ( targetName === void 0 ) targetName = null;\n\n var params = this._convertParamObjectToArray(rule.params, rule.name);\n if (rule.options.hasTarget && params && params[0]) {\n var localizedName = targetName || DictionaryResolver.getDriver().getAttribute(this.locale, params[0], params[0]);\n return [localizedName].concat(params.slice(1));\n }\n\n return params;\n};\n\n/**\n * Resolves an appropriate display name, first checking 'data-as' or the registered 'prettyName'\n */\nValidator.prototype._getFieldDisplayName = function _getFieldDisplayName (field) {\n return field.alias || DictionaryResolver.getDriver().getAttribute(this.locale, field.name, field.name);\n};\n\n/**\n * Converts an array of params to an object with named properties.\n * Only works if the rule is configured with a paramNames array.\n * Returns the same params if it cannot convert it.\n */\nValidator.prototype._convertParamArrayToObj = function _convertParamArrayToObj (params, ruleName) {\n var paramNames = RuleContainer.getParamNames(ruleName);\n if (!paramNames) {\n return params;\n }\n\n if (isObject(params)) {\n // check if the object is either a config object or a single parameter that is an object.\n var hasKeys = paramNames.some(function (name) { return Object.keys(params).indexOf(name) !== -1; });\n // if it has some of the keys, return it as is.\n if (hasKeys) {\n return params;\n }\n // otherwise wrap the object in an array.\n params = [params];\n }\n\n // Reduce the paramsNames to a param object.\n return params.reduce(function (prev, value, idx) {\n prev[paramNames[idx]] = value;\n\n return prev;\n }, {});\n};\n\n/**\n * Tests a single input value against a rule.\n */\nValidator.prototype._test = function _test (field, value, rule) {\n var this$1 = this;\n\n var validator = RuleContainer.getValidatorMethod(rule.name);\n var params = Array.isArray(rule.params) ? toArray(rule.params) : rule.params;\n if (!params) {\n params = [];\n }\n\n var targetName = null;\n if (!validator || typeof validator !== 'function') {\n return Promise.reject(createError((\"No such validator '\" + (rule.name) + \"' exists.\")));\n }\n\n // has field dependencies.\n if (rule.options.hasTarget && field.dependencies) {\n var target = find(field.dependencies, function (d) { return d.name === rule.name; });\n if (target) {\n targetName = target.field.alias;\n params = [target.field.value].concat(params.slice(1));\n }\n } else if (rule.name === 'required' && field.rejectsFalse) {\n // invalidate false if no args were specified and the field rejects false by default.\n params = params.length ? params : [true];\n }\n\n if (rule.options.isDate) {\n var dateFormat = this._getDateFormat(field.rules);\n if (rule.name !== 'date_format') {\n params.push(dateFormat);\n }\n }\n\n var result = validator(value, this._convertParamArrayToObj(params, rule.name));\n\n // If it is a promise.\n if (isCallable(result.then)) {\n return result.then(function (values) {\n var allValid = true;\n var data = {};\n if (Array.isArray(values)) {\n allValid = values.every(function (t) { return (isObject(t) ? t.valid : t); });\n } else { // Is a single object/boolean.\n allValid = isObject(values) ? values.valid : values;\n data = values.data;\n }\n\n return {\n valid: allValid,\n data: result.data,\n errors: allValid ? [] : [this$1._createFieldError(field, rule, data, targetName)]\n };\n });\n }\n\n if (!isObject(result)) {\n result = { valid: result, data: {} };\n }\n\n return {\n valid: result.valid,\n data: result.data,\n errors: result.valid ? [] : [this._createFieldError(field, rule, result.data, targetName)]\n };\n};\n\n/**\n * Merges a validator object into the RULES and Messages.\n */\nValidator._merge = function _merge (name, ref) {\n var validator = ref.validator;\n var options = ref.options;\n var paramNames = ref.paramNames;\n\n var validate = isCallable(validator) ? validator : validator.validate;\n if (validator.getMessage) {\n DictionaryResolver.getDriver().setMessage(Validator.locale, name, validator.getMessage);\n }\n\n RuleContainer.add(name, {\n validate: validate,\n options: options,\n paramNames: paramNames\n });\n};\n\n/**\n * Guards from extension violations.\n */\nValidator._guardExtend = function _guardExtend (name, validator) {\n if (isCallable(validator)) {\n return;\n }\n\n if (!isCallable(validator.validate)) {\n throw createError(\n (\"Extension Error: The validator '\" + name + \"' must be a function or have a 'validate' method.\")\n );\n }\n};\n\n/**\n * Creates a Field Error Object.\n */\nValidator.prototype._createFieldError = function _createFieldError (field, rule, data, targetName) {\n var this$1 = this;\n\n return {\n id: field.id,\n vmId: field.vmId,\n field: field.name,\n msg: this._formatErrorMessage(field, rule, data, targetName),\n rule: rule.name,\n scope: field.scope,\n regenerate: function () {\n return this$1._formatErrorMessage(field, rule, data, targetName);\n }\n };\n};\n\n/**\n * Tries different strategies to find a field.\n */\nValidator.prototype._resolveField = function _resolveField (name, scope, uid) {\n if (name[0] === '#') {\n return this.fields.findById(name.slice(1));\n }\n\n if (!isNullOrUndefined(scope)) {\n return this.fields.find({ name: name, scope: scope, vmId: uid });\n }\n\n if (includes(name, '.')) {\n var ref = name.split('.');\n var fieldScope = ref[0];\n var fieldName = ref.slice(1);\n var field = this.fields.find({ name: fieldName.join('.'), scope: fieldScope, vmId: uid });\n if (field) {\n return field;\n }\n }\n\n return this.fields.find({ name: name, scope: null, vmId: uid });\n};\n\n/**\n * Handles when a field is not found.\n */\nValidator.prototype._handleFieldNotFound = function _handleFieldNotFound (name, scope) {\n var fullName = isNullOrUndefined(scope) ? name : (\"\" + (!isNullOrUndefined(scope) ? scope + '.' : '') + name);\n\n return Promise.reject(createError(\n (\"Validating a non-existent field: \\\"\" + fullName + \"\\\". Use \\\"attach()\\\" first.\")\n ));\n};\n\n/**\n * Handles validation results.\n */\nValidator.prototype._handleValidationResults = function _handleValidationResults (results, vmId) {\n var this$1 = this;\n\n var matchers = results.map(function (result) { return ({ id: result.id }); });\n this.errors.removeById(matchers.map(function (m) { return m.id; }));\n // remove by name and scope to remove any custom errors added.\n results.forEach(function (result) {\n this$1.errors.remove(result.field, result.scope, vmId);\n });\n var allErrors = results.reduce(function (prev, curr) {\n prev.push.apply(prev, curr.errors);\n\n return prev;\n }, []);\n\n this.errors.add(allErrors);\n\n // handle flags.\n this.fields.filter(matchers).forEach(function (field) {\n var result = find(results, function (r) { return r.id === field.id; });\n field.setFlags({\n pending: false,\n valid: result.valid,\n validated: true\n });\n });\n};\n\nValidator.prototype._shouldSkip = function _shouldSkip (field, value) {\n // field is configured to run through the pipeline regardless\n if (field.bails === false) {\n return false;\n }\n\n // disabled fields are skipped if useConstraintAttrs is enabled in config\n if (field.isDisabled && getConfig().useConstraintAttrs) {\n return true;\n }\n\n // skip if the field is not required and has an empty value.\n return !field.isRequired && (isNullOrUndefined(value) || value === '' || isEmptyArray(value));\n};\n\nValidator.prototype._shouldBail = function _shouldBail (field) {\n // if the field was configured explicitly.\n if (field.bails !== undefined) {\n return field.bails;\n }\n\n return this.fastExit;\n};\n\n/**\n * Starts the validation process.\n */\nValidator.prototype._validate = function _validate (field, value, ref) {\n var this$1 = this;\n if ( ref === void 0 ) ref = {};\n var initial = ref.initial;\n\n var requireRules = Object.keys(field.rules).filter(RuleContainer.isRequireRule);\n\n field.forceRequired = false;\n requireRules.forEach(function (rule) {\n var ruleOptions = RuleContainer.getOptions(rule);\n var result = this$1._test(field, value, { name: rule, params: field.rules[rule], options: ruleOptions });\n\n if (isCallable(result.then)) { throw createError('Require rules cannot be async'); }\n if (!isObject(result)) { throw createError('Require rules has to return an object (see docs)'); }\n\n if (result.data.required === true) {\n field.forceRequired = true;\n }\n });\n\n if (this._shouldSkip(field, value)) {\n return Promise.resolve({ valid: true, id: field.id, field: field.name, scope: field.scope, errors: [] });\n }\n\n var promises = [];\n var errors = [];\n var isExitEarly = false;\n if (isCallable(field.checkValueChanged)) {\n field.flags.changed = field.checkValueChanged();\n }\n\n // use of '.some()' is to break iteration in middle by returning true\n Object.keys(field.rules).filter(function (rule) {\n if (!initial || !RuleContainer.has(rule)) { return true; }\n\n return RuleContainer.isImmediate(rule);\n }).some(function (rule) {\n var ruleOptions = RuleContainer.getOptions(rule);\n var result = this$1._test(field, value, { name: rule, params: field.rules[rule], options: ruleOptions });\n if (isCallable(result.then)) {\n promises.push(result);\n } else if (!result.valid && this$1._shouldBail(field)) {\n errors.push.apply(errors, result.errors);\n isExitEarly = true;\n } else {\n // promisify the result.\n promises.push(new Promise(function (resolve) { return resolve(result); }));\n }\n\n return isExitEarly;\n });\n\n if (isExitEarly) {\n return Promise.resolve({ valid: false, errors: errors, id: field.id, field: field.name, scope: field.scope });\n }\n\n return Promise.all(promises).then(function (results) {\n return results.reduce(function (prev, v) {\n var ref;\n\n if (!v.valid) {\n (ref = prev.errors).push.apply(ref, v.errors);\n }\n\n prev.valid = prev.valid && v.valid;\n\n return prev;\n }, { valid: true, errors: errors, id: field.id, field: field.name, scope: field.scope });\n });\n};\n\nObject.defineProperties( Validator.prototype, prototypeAccessors$4 );\nObject.defineProperties( Validator, staticAccessors$1 );\n\n// \n\nvar normalizeValue = function (value) {\n if (isObject(value)) {\n return Object.keys(value).reduce(function (prev, key) {\n prev[key] = normalizeValue(value[key]);\n\n return prev;\n }, {});\n }\n\n if (isCallable(value)) {\n return value('{0}', ['{1}', '{2}', '{3}']);\n }\n\n return value;\n};\n\nvar normalizeFormat = function (locale) {\n // normalize messages\n var dictionary = {};\n if (locale.messages) {\n dictionary.messages = normalizeValue(locale.messages);\n }\n\n if (locale.custom) {\n dictionary.custom = normalizeValue(locale.custom);\n }\n\n if (locale.attributes) {\n dictionary.attributes = locale.attributes;\n }\n\n if (!isNullOrUndefined(locale.dateFormat)) {\n dictionary.dateFormat = locale.dateFormat;\n }\n\n return dictionary;\n};\n\nvar I18nDictionary = function I18nDictionary (i18n, rootKey) {\n this.i18n = i18n;\n this.rootKey = rootKey;\n};\n\nvar prototypeAccessors$5 = { locale: { configurable: true } };\n\nprototypeAccessors$5.locale.get = function () {\n return this.i18n.locale;\n};\n\nprototypeAccessors$5.locale.set = function (value) {\n warn('Cannot set locale from the validator when using vue-i18n, use i18n.locale setter instead');\n};\n\nI18nDictionary.prototype.getDateFormat = function getDateFormat (locale) {\n return this.i18n.getDateTimeFormat(locale || this.locale);\n};\n\nI18nDictionary.prototype.setDateFormat = function setDateFormat (locale, value) {\n this.i18n.setDateTimeFormat(locale || this.locale, value);\n};\n\nI18nDictionary.prototype.getMessage = function getMessage (_, key, data) {\n var path = (this.rootKey) + \".messages.\" + key;\n var dataOptions = data;\n\n if (Array.isArray(data)) {\n dataOptions = [].concat.apply([], data);\n }\n\n if (this.i18n.te(path)) {\n return this.i18n.t(path, dataOptions);\n }\n\n // fallback to the fallback message\n if (this.i18n.te(path, this.i18n.fallbackLocale)) {\n return this.i18n.t(path, this.i18n.fallbackLocale, dataOptions);\n }\n\n // fallback to the root message\n return this.i18n.t(((this.rootKey) + \".messages._default\"), dataOptions);\n};\n\nI18nDictionary.prototype.getAttribute = function getAttribute (_, key, fallback) {\n if ( fallback === void 0 ) fallback = '';\n\n var path = (this.rootKey) + \".attributes.\" + key;\n if (this.i18n.te(path)) {\n return this.i18n.t(path);\n }\n\n return fallback;\n};\n\nI18nDictionary.prototype.getFieldMessage = function getFieldMessage (_, field, key, data) {\n var path = (this.rootKey) + \".custom.\" + field + \".\" + key;\n if (this.i18n.te(path)) {\n return this.i18n.t(path, data);\n }\n\n return this.getMessage(_, key, data);\n};\n\nI18nDictionary.prototype.merge = function merge$1 (dictionary) {\n var this$1 = this;\n\n Object.keys(dictionary).forEach(function (localeKey) {\n var obj;\n\n // i18n doesn't deep merge\n // first clone the existing locale (avoid mutations to locale)\n var clone = merge({}, getPath((localeKey + \".\" + (this$1.rootKey)), this$1.i18n.messages, {}));\n // Merge cloned locale with new one\n var locale = merge(clone, normalizeFormat(dictionary[localeKey]));\n this$1.i18n.mergeLocaleMessage(localeKey, ( obj = {}, obj[this$1.rootKey] = locale, obj ));\n if (locale.dateFormat) {\n this$1.i18n.setDateTimeFormat(localeKey, locale.dateFormat);\n }\n });\n};\n\nI18nDictionary.prototype.setMessage = function setMessage (locale, key, value) {\n var obj, obj$1;\n\n this.merge(( obj$1 = {}, obj$1[locale] = {\n messages: ( obj = {}, obj[key] = value, obj )\n }, obj$1 ));\n};\n\nI18nDictionary.prototype.setAttribute = function setAttribute (locale, key, value) {\n var obj, obj$1;\n\n this.merge(( obj$1 = {}, obj$1[locale] = {\n attributes: ( obj = {}, obj[key] = value, obj )\n }, obj$1 ));\n};\n\nObject.defineProperties( I18nDictionary.prototype, prototypeAccessors$5 );\n\nvar aggressive = function () { return ({\n on: ['input']\n}); };\n\nvar lazy = function () { return ({\n on: ['change']\n}); };\n\nvar eager = function (ref) {\n var errors = ref.errors;\n\n if (errors.length) {\n return {\n on: ['input']\n };\n }\n\n return {\n on: ['change', 'blur']\n };\n};\n\nvar passive = function () { return ({\n on: []\n}); };\n\nvar modes = {\n aggressive: aggressive,\n eager: eager,\n passive: passive,\n lazy: lazy\n};\n\n// \n\nvar Vue;\nvar pendingPlugins;\nvar pluginInstance;\n\nvar VeeValidate$1 = function VeeValidate (config, _Vue) {\n this.configure(config);\n pluginInstance = this;\n if (_Vue) {\n Vue = _Vue;\n }\n this._validator = setValidator(\n new Validator(null, { fastExit: config && config.fastExit }, this)\n );\n this._initVM(this.config);\n this._initI18n(this.config);\n};\n\nvar prototypeAccessors$6 = { i18nDriver: { configurable: true },config: { configurable: true } };\nvar staticAccessors$2 = { i18nDriver: { configurable: true },config: { configurable: true } };\n\nVeeValidate$1.setI18nDriver = function setI18nDriver (driver, instance) {\n DictionaryResolver.setDriver(driver, instance);\n};\n\nVeeValidate$1.configure = function configure (cfg) {\n setConfig(cfg);\n};\n\nVeeValidate$1.setMode = function setMode (mode, implementation) {\n setConfig({ mode: mode });\n if (!implementation) {\n return;\n }\n\n if (!isCallable(implementation)) {\n throw new Error('A mode implementation must be a function');\n }\n\n modes[mode] = implementation;\n};\n\nVeeValidate$1.use = function use (plugin, options) {\n if ( options === void 0 ) options = {};\n\n if (!isCallable(plugin)) {\n return warn('The plugin must be a callable function');\n }\n\n // Don't install plugins until vee-validate is installed.\n if (!pluginInstance) {\n if (!pendingPlugins) {\n pendingPlugins = [];\n }\n pendingPlugins.push({ plugin: plugin, options: options });\n return;\n }\n\n plugin({ Validator: Validator, ErrorBag: ErrorBag, Rules: Validator.rules }, options);\n};\nVeeValidate$1.install = function install (_Vue, opts) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n warn('already installed, Vue.use(VeeValidate) should only be called once.');\n }\n return;\n }\n\n Vue = _Vue;\n pluginInstance = new VeeValidate$1(opts);\n // inject the plugin container statically into the validator class\n Validator.$vee = pluginInstance;\n\n detectPassiveSupport();\n\n Vue.mixin(mixin);\n Vue.directive('validate', directive);\n if (pendingPlugins) {\n pendingPlugins.forEach(function (ref) {\n var plugin = ref.plugin;\n var options = ref.options;\n\n VeeValidate$1.use(plugin, options);\n });\n pendingPlugins = null;\n }\n};\n\nprototypeAccessors$6.i18nDriver.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nstaticAccessors$2.i18nDriver.get = function () {\n return DictionaryResolver.getDriver();\n};\n\nprototypeAccessors$6.config.get = function () {\n return getConfig();\n};\n\nstaticAccessors$2.config.get = function () {\n return getConfig();\n};\n\nVeeValidate$1.prototype._initVM = function _initVM (config) {\n var this$1 = this;\n\n this._vm = new Vue({\n data: function () { return ({\n errors: this$1._validator.errors,\n fields: this$1._validator.fields\n }); }\n });\n};\n\nVeeValidate$1.prototype._initI18n = function _initI18n (config) {\n var this$1 = this;\n\n var dictionary = config.dictionary;\n var i18n = config.i18n;\n var i18nRootKey = config.i18nRootKey;\n var locale = config.locale;\n var onLocaleChanged = function () {\n if (dictionary) {\n this$1.i18nDriver.merge(dictionary);\n }\n\n this$1._validator.errors.regenerate();\n };\n\n // i18 is being used for localization.\n if (i18n) {\n VeeValidate$1.setI18nDriver('i18n', new I18nDictionary(i18n, i18nRootKey));\n i18n._vm.$watch('locale', onLocaleChanged);\n } else if (typeof window !== 'undefined') {\n this._vm.$on('localeChanged', onLocaleChanged);\n }\n\n if (dictionary) {\n this.i18nDriver.merge(dictionary);\n }\n\n if (locale && !i18n) {\n this._validator.localize(locale);\n }\n};\n\nVeeValidate$1.prototype.configure = function configure (cfg) {\n setConfig(cfg);\n};\n\nObject.defineProperties( VeeValidate$1.prototype, prototypeAccessors$6 );\nObject.defineProperties( VeeValidate$1, staticAccessors$2 );\n\nVeeValidate$1.mixin = mixin;\nVeeValidate$1.directive = directive;\nVeeValidate$1.Validator = Validator;\nVeeValidate$1.ErrorBag = ErrorBag;\n\n/**\n * Formates file size.\n *\n * @param {Number|String} size\n */\nvar formatFileSize = function (size) {\n var units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n var threshold = 1024;\n size = Number(size) * threshold;\n var i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold));\n return (((size / Math.pow(threshold, i)).toFixed(2) * 1) + \" \" + (units[i]));\n};\n\n/**\n * Checks if vee-validate is defined globally.\n */\nvar isDefinedGlobally = function () {\n return typeof VeeValidate !== 'undefined';\n};\n\nvar obj;\n\nvar messages = {\n _default: function (field) { return (\"The \" + field + \" value is not valid\"); },\n after: function (field, ref) {\n var target = ref[0];\n var inclusion = ref[1];\n\n return (\"The \" + field + \" must be after \" + (inclusion ? 'or equal to ' : '') + target);\n},\n alpha: function (field) { return (\"The \" + field + \" field may only contain alphabetic characters\"); },\n alpha_dash: function (field) { return (\"The \" + field + \" field may contain alpha-numeric characters as well as dashes and underscores\"); },\n alpha_num: function (field) { return (\"The \" + field + \" field may only contain alpha-numeric characters\"); },\n alpha_spaces: function (field) { return (\"The \" + field + \" field may only contain alphabetic characters as well as spaces\"); },\n before: function (field, ref) {\n var target = ref[0];\n var inclusion = ref[1];\n\n return (\"The \" + field + \" must be before \" + (inclusion ? 'or equal to ' : '') + target);\n},\n between: function (field, ref) {\n var min = ref[0];\n var max = ref[1];\n\n return (\"The \" + field + \" field must be between \" + min + \" and \" + max);\n},\n confirmed: function (field) { return (\"The \" + field + \" confirmation does not match\"); },\n credit_card: function (field) { return (\"The \" + field + \" field is invalid\"); },\n date_between: function (field, ref) {\n var min = ref[0];\n var max = ref[1];\n\n return (\"The \" + field + \" must be between \" + min + \" and \" + max);\n},\n date_format: function (field, ref) {\n var format = ref[0];\n\n return (\"The \" + field + \" must be in the format \" + format);\n},\n decimal: function (field, ref) {\n if ( ref === void 0 ) ref = [];\n var decimals = ref[0]; if ( decimals === void 0 ) decimals = '*';\n\n return (\"The \" + field + \" field must be numeric and may contain\" + (!decimals || decimals === '*' ? '' : ' ' + decimals) + \" decimal points\");\n},\n digits: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field must be numeric and contains exactly \" + length + \" digits\");\n},\n dimensions: function (field, ref) {\n var width = ref[0];\n var height = ref[1];\n\n return (\"The \" + field + \" field must be \" + width + \" pixels by \" + height + \" pixels\");\n},\n email: function (field) { return (\"The \" + field + \" field must be a valid email\"); },\n excluded: function (field) { return (\"The \" + field + \" field must be a valid value\"); },\n ext: function (field) { return (\"The \" + field + \" field must be a valid file\"); },\n image: function (field) { return (\"The \" + field + \" field must be an image\"); },\n included: function (field) { return (\"The \" + field + \" field must be a valid value\"); },\n integer: function (field) { return (\"The \" + field + \" field must be an integer\"); },\n ip: function (field) { return (\"The \" + field + \" field must be a valid ip address\"); },\n ip_or_fqdn: function (field) { return (\"The \" + field + \" field must be a valid ip address or FQDN\"); },\n length: function (field, ref) {\n var length = ref[0];\n var max = ref[1];\n\n if (max) {\n return (\"The \" + field + \" length must be between \" + length + \" and \" + max);\n }\n\n return (\"The \" + field + \" length must be \" + length);\n },\n max: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field may not be greater than \" + length + \" characters\");\n},\n max_value: function (field, ref) {\n var max = ref[0];\n\n return (\"The \" + field + \" field must be \" + max + \" or less\");\n},\n mimes: function (field) { return (\"The \" + field + \" field must have a valid file type\"); },\n min: function (field, ref) {\n var length = ref[0];\n\n return (\"The \" + field + \" field must be at least \" + length + \" characters\");\n},\n min_value: function (field, ref) {\n var min = ref[0];\n\n return (\"The \" + field + \" field must be \" + min + \" or more\");\n},\n numeric: function (field) { return (\"The \" + field + \" field may only contain numeric characters\"); },\n regex: function (field) { return (\"The \" + field + \" field format is invalid\"); },\n required: function (field) { return (\"The \" + field + \" field is required\"); },\n required_if: function (field, ref) {\n var target = ref[0];\n\n return (\"The \" + field + \" field is required when the \" + target + \" field has this value\");\n},\n size: function (field, ref) {\n var size = ref[0];\n\n return (\"The \" + field + \" size must be less than \" + (formatFileSize(size)));\n},\n url: function (field) { return (\"The \" + field + \" field is not a valid URL\"); }\n};\n\nvar locale = {\n name: 'en',\n messages: messages,\n attributes: {}\n};\n\nif (isDefinedGlobally()) {\n // eslint-disable-next-line\n VeeValidate.Validator.localize(( obj = {}, obj[locale.name] = locale, obj ));\n}\n\nfunction toInteger (dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number)\n}\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nfunction getTimezoneOffsetInMilliseconds (dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = date.getTimezoneOffset();\n date.setSeconds(0, 0);\n var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE;\n\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset\n}\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE$1 = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\n\nvar patterns = {\n dateTimeDelimeter: /[T ]/,\n plainTime: /:/,\n timeZoneDelimeter: /[Z ]/i,\n\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/, // 0 additional digits\n /^([+-]\\d{3})$/, // 1 additional digit\n /^([+-]\\d{4})$/ // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/, // 0 additional digits\n /^([+-]\\d{5})/, // 1 additional digit\n /^([+-]\\d{6})/ // 2 additional digits\n ],\n\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n\n // timezone tokens\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-])(\\d{2})$/,\n timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/\n};\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n * If the function cannot parse the string or the values are invalid, it returns Invalid Date.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction toDate (argument, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n if (argument === null) {\n return new Date(NaN)\n }\n\n var options = dirtyOptions || {};\n\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2')\n }\n\n // Clone the date\n if (argument instanceof Date ||\n (typeof argument === 'object' && Object.prototype.toString.call(argument) === '[object Date]')\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime())\n } else if (typeof argument === 'number' || Object.prototype.toString.call(argument) === '[object Number]') {\n return new Date(argument)\n } else if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN)\n }\n\n var dateStrings = splitDateString(argument);\n\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n var year = parseYearResult.year;\n var restDateString = parseYearResult.restDateString;\n\n var date = parseDate(restDateString, year);\n\n if (isNaN(date)) {\n return new Date(NaN)\n }\n\n if (date) {\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN)\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN)\n }\n } else {\n // get offset accurate to hour in timezones that change offset\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time));\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset));\n }\n\n return new Date(timestamp + time + offset)\n } else {\n return new Date(NaN)\n }\n}\n\nfunction splitDateString (dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimeter);\n var timeString;\n\n if (patterns.plainTime.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimeter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimeter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n var patternYYY = patterns.YYY[additionalDigits];\n var patternYYYYY = patterns.YYYYY[additionalDigits];\n\n var token;\n\n // YYYY or ±YYYYY\n token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n if (token) {\n var yearString = token[1];\n return {\n year: parseInt(yearString, 10),\n restDateString: dateString.slice(yearString.length)\n }\n }\n\n // YY or ±YYY\n token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n if (token) {\n var centuryString = token[1];\n return {\n year: parseInt(centuryString, 10) * 100,\n restDateString: dateString.slice(centuryString.length)\n }\n }\n\n // Invalid ISO-formatted year\n return {\n year: null\n }\n}\n\nfunction parseDate (dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) {\n return null\n }\n\n var token;\n var date;\n var month;\n var week;\n\n // YYYY\n if (dateString.length === 0) {\n date = new Date(0);\n date.setUTCFullYear(year);\n return date\n }\n\n // YYYY-MM\n token = patterns.MM.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n\n if (!validateDate(year, month)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, month);\n return date\n }\n\n // YYYY-DDD or YYYYDDD\n token = patterns.DDD.exec(dateString);\n if (token) {\n date = new Date(0);\n var dayOfYear = parseInt(token[1], 10);\n\n if (!validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, 0, dayOfYear);\n return date\n }\n\n // YYYY-MM-DD or YYYYMMDD\n token = patterns.MMDD.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n var day = parseInt(token[2], 10);\n\n if (!validateDate(year, month, day)) {\n return new Date(NaN)\n }\n\n date.setUTCFullYear(year, month, day);\n return date\n }\n\n // YYYY-Www or YYYYWww\n token = patterns.Www.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n\n if (!validateWeekDate(year, week)) {\n return new Date(NaN)\n }\n\n return dayOfISOWeekYear(year, week)\n }\n\n // YYYY-Www-D or YYYYWwwD\n token = patterns.WwwD.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n var dayOfWeek = parseInt(token[2], 10) - 1;\n\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN)\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek)\n }\n\n // Invalid ISO-formatted date\n return null\n}\n\nfunction parseTime (timeString) {\n var token;\n var hours;\n var minutes;\n\n // hh\n token = patterns.HH.exec(timeString);\n if (token) {\n hours = parseFloat(token[1].replace(',', '.'));\n\n if (!validateTime(hours)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR\n }\n\n // hh:mm or hhmm\n token = patterns.HHMM.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseFloat(token[2].replace(',', '.'));\n\n if (!validateTime(hours, minutes)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE$1\n }\n\n // hh:mm:ss or hhmmss\n token = patterns.HHMMSS.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseInt(token[2], 10);\n var seconds = parseFloat(token[3].replace(',', '.'));\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN\n }\n\n return (hours % 24) * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE$1 +\n seconds * 1000\n }\n\n // Invalid ISO-formatted time\n return null\n}\n\nfunction parseTimezone (timezoneString) {\n var token;\n var absoluteOffset;\n\n // Z\n token = patterns.timezoneZ.exec(timezoneString);\n if (token) {\n return 0\n }\n\n var hours;\n\n // ±hh\n token = patterns.timezoneHH.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n\n if (!validateTimezone()) {\n return NaN\n }\n\n absoluteOffset = hours * MILLISECONDS_IN_HOUR;\n return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n }\n\n // ±hh:mm or ±hhmm\n token = patterns.timezoneHHMM.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n var minutes = parseInt(token[3], 10);\n\n if (!validateTimezone(hours, minutes)) {\n return NaN\n }\n\n absoluteOffset = hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE$1;\n return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n }\n\n return 0\n}\n\nfunction dayOfISOWeekYear (isoWeekYear, week, day) {\n week = week || 0;\n day = day || 0;\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// Validation functions\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex (year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)\n}\n\nfunction validateDate (year, month, date) {\n if (month < 0 || month > 11) {\n return false\n }\n\n if (date != null) {\n if (date < 1) {\n return false\n }\n\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n return false\n }\n if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n return false\n }\n }\n\n return true\n}\n\nfunction validateDayOfYearDate (year, dayOfYear) {\n if (dayOfYear < 1) {\n return false\n }\n\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && dayOfYear > 366) {\n return false\n }\n if (!isLeapYear && dayOfYear > 365) {\n return false\n }\n\n return true\n}\n\nfunction validateWeekDate (year, week, day) {\n if (week < 0 || week > 52) {\n return false\n }\n\n if (day != null && (day < 0 || day > 6)) {\n return false\n }\n\n return true\n}\n\nfunction validateTime (hours, minutes, seconds) {\n if (hours != null && (hours < 0 || hours >= 25)) {\n return false\n }\n\n if (minutes != null && (minutes < 0 || minutes >= 60)) {\n return false\n }\n\n if (seconds != null && (seconds < 0 || seconds >= 60)) {\n return false\n }\n\n return true\n}\n\nfunction validateTimezone (hours, minutes) {\n if (minutes != null && (minutes < 0 || minutes > 59)) {\n return false\n }\n\n return true\n}\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|String|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nfunction addMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var timestamp = toDate(dirtyDate, dirtyOptions).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount)\n}\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid('2014-02-31')\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\nfunction isValid (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n return !isNaN(date)\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n\n halfAMinute: 'half a minute',\n\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nfunction formatDistance (token, count, options) {\n options = options || {};\n\n var result;\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result\n } else {\n return result + ' ago'\n }\n }\n\n return result\n}\n\nfunction buildFormatLongFn (args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format\n }\n}\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\n\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\n\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\n\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nfunction formatRelative (token, date, baseDate, options) {\n return formatRelativeLocale[token]\n}\n\nfunction buildLocalizeFn (args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var context = options.context ? String(options.context) : 'standalone';\n\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n valuesArray = args.formattingValues[width] || args.formattingValues[args.defaultFormattingWidth];\n } else {\n valuesArray = args.values[width] || args.values[args.defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index]\n }\n}\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\n\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\n\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\n\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber (dirtyNumber, dirtyOptions) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st'\n case 2:\n return number + 'nd'\n case 3:\n return number + 'rd'\n }\n }\n return number + 'th'\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1\n }\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaulFormattingWidth: 'wide'\n })\n};\n\nfunction buildMatchPatternFn (args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) {\n return null\n }\n var matchedString = matchResult[0];\n\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) {\n return null\n }\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n return {\n value: value,\n rest: string.slice(matchedString.length)\n }\n }\n}\n\nfunction buildMatchFn (args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n\n var matchPattern = (width && args.matchPatterns[width]) || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null\n }\n var matchedString = matchResult[0];\n\n var parsePatterns = (width && args.parsePatterns[width]) || args.parsePatterns[args.defaultParseWidth];\n\n var value;\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = parsePatterns.findIndex(function (pattern) {\n return pattern.test(string)\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(string)\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n return {\n value: value,\n rest: string.slice(matchedString.length)\n }\n }\n}\n\nfunction findKey (object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key\n }\n }\n}\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\n\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\n\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\n\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\n\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\n\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\n\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10)\n }\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1\n }\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale$1 = {\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\n\nvar MILLISECONDS_IN_DAY = 86400000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCDayOfYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var weekStartsOn = 1;\n\n var date = toDate(dirtyDate, dirtyOptions);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear, dirtyOptions);\n\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year\n } else {\n return year - 1\n }\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var year = getUTCISOWeekYear(dirtyDate, dirtyOptions);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary, dirtyOptions);\n return date\n}\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var diff = startOfUTCISOWeek(date, dirtyOptions).getTime() - startOfUTCISOWeekYear(date, dirtyOptions).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n var date = toDate(dirtyDate, options);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale &&\n locale.options &&\n locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively')\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year\n } else {\n return year - 1\n }\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCWeekYear (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale &&\n locale.options &&\n locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date\n}\n\nvar MILLISECONDS_IN_WEEK$1 = 604800000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCWeek (dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var diff = startOfUTCWeek(date, dirtyOptions).getTime() - startOfUTCWeekYear(date, dirtyOptions).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK$1) + 1\n}\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {width: 'abbreviated'})\n // A, B\n case 'GGGGG':\n return localize.era(era, {width: 'narrow'})\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {width: 'wide'})\n }\n },\n\n // Year\n y: function (date, token, localize, options) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n\n // Two digit year\n if (token === 'yy') {\n var twoDigitYear = year % 100;\n return addLeadingZeros(twoDigitYear, 2)\n }\n\n // Ordinal number\n if (token === 'yo') {\n return localize.ordinalNumber(year, {unit: 'year'})\n }\n\n // Padding\n return addLeadingZeros(year, token.length)\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2)\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {unit: 'year'})\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length)\n },\n\n // ISO week-numbering year\n R: function (date, token, localize, options) {\n var isoWeekYear = getUTCISOWeekYear(date, options);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length)\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token, localize, options) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length)\n },\n\n // Quarter\n Q: function (date, token, localize, options) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter)\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2)\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {width: 'abbreviated', context: 'formatting'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {width: 'narrow', context: 'formatting'})\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize, options) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter)\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2)\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {width: 'abbreviated', context: 'standalone'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {width: 'narrow', context: 'standalone'})\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {width: 'wide', context: 'standalone'})\n }\n },\n\n // Month\n M: function (date, token, localize, options) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return String(month + 1)\n // 01, 02, ..., 12\n case 'MM':\n return addLeadingZeros(month + 1, 2)\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {unit: 'month'})\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {width: 'abbreviated', context: 'formatting'})\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {width: 'narrow', context: 'formatting'})\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize, options) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1)\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2)\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {unit: 'month'})\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {width: 'abbreviated', context: 'standalone'})\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {width: 'narrow', context: 'standalone'})\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {width: 'wide', context: 'standalone'})\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {unit: 'week'})\n }\n\n return addLeadingZeros(week, token.length)\n },\n\n // ISO week of year\n I: function (date, token, localize, options) {\n var isoWeek = getUTCISOWeek(date, options);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {unit: 'week'})\n }\n\n return addLeadingZeros(isoWeek, token.length)\n },\n\n // Day of the month\n d: function (date, token, localize, options) {\n var dayOfMonth = date.getUTCDate();\n\n if (token === 'do') {\n return localize.ordinalNumber(dayOfMonth, {unit: 'date'})\n }\n\n return addLeadingZeros(dayOfMonth, token.length)\n },\n\n // Day of year\n D: function (date, token, localize, options) {\n var dayOfYear = getUTCDayOfYear(date, options);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {unit: 'dayOfYear'})\n }\n\n return addLeadingZeros(dayOfYear, token.length)\n },\n\n // Day of week\n E: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = ((dayOfWeek - options.weekStartsOn + 8) % 7) || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek)\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2)\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {unit: 'day'})\n case 'eee':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = ((dayOfWeek - options.weekStartsOn + 8) % 7) || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek)\n // Padded numberical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length)\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {unit: 'day'})\n case 'ccc':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'standalone'})\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'standalone'})\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {width: 'short', context: 'standalone'})\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'standalone'})\n }\n },\n\n // ISO day of week\n i: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek)\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length)\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {unit: 'day'})\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {width: 'abbreviated', context: 'formatting'})\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {width: 'short', context: 'formatting'})\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {width: 'wide', context: 'formatting'})\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = (hours / 12) >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = (hours / 12) >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'abbreviated', context: 'formatting'})\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'narrow', context: 'formatting'})\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {width: 'wide', context: 'formatting'})\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize, options) {\n var hours = date.getUTCHours() % 12;\n\n if (hours === 0) {\n hours = 12;\n }\n\n if (token === 'ho') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [0-23]\n H: function (date, token, localize, options) {\n var hours = date.getUTCHours();\n\n if (token === 'Ho') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [0-11]\n K: function (date, token, localize, options) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Hour [1-24]\n k: function (date, token, localize, options) {\n var hours = date.getUTCHours();\n\n if (hours === 0) {\n hours = 24;\n }\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {unit: 'hour'})\n }\n\n return addLeadingZeros(hours, token.length)\n },\n\n // Minute\n m: function (date, token, localize, options) {\n var minutes = date.getUTCMinutes();\n\n if (token === 'mo') {\n return localize.ordinalNumber(minutes, {unit: 'minute'})\n }\n\n return addLeadingZeros(minutes, token.length)\n },\n\n // Second\n s: function (date, token, localize, options) {\n var seconds = date.getUTCSeconds();\n\n if (token === 'so') {\n return localize.ordinalNumber(seconds, {unit: 'second'})\n }\n\n return addLeadingZeros(seconds, token.length)\n },\n\n // Fraction of second\n S: function (date, token, localize, options) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, numberOfDigits)\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z'\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n // Hours, minutes and optional seconds without `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX': // Hours and minutes without `:` delimeter\n return formatTimezone(timezoneOffset)\n\n // Hours, minutes and optional seconds with `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimeter\n default:\n return formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset)\n\n // Hours, minutes and optional seconds without `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx': // Hours and minutes without `:` delimeter\n return formatTimezone(timezoneOffset)\n\n // Hours, minutes and optional seconds with `:` delimeter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimeter\n default:\n return formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':')\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':')\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':')\n }\n },\n\n // Seconds timestamp\n t: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length)\n },\n\n // Milliseconds timestamp\n T: function (date, token, localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length)\n }\n};\n\nfunction addLeadingZeros (number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output\n}\n\nfunction formatTimezone (offset, dirtyDelimeter) {\n var delimeter = dirtyDelimeter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimeter + minutes\n}\n\nfunction formatTimezoneWithOptionalMinutes (offset, dirtyDelimeter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2)\n }\n return formatTimezone(offset, dirtyDelimeter)\n}\n\nfunction formatTimezoneShort (offset, dirtyDelimeter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours)\n }\n var delimeter = dirtyDelimeter || '';\n return sign + String(hours) + delimeter + addLeadingZeros(minutes, 2)\n}\n\nfunction dateLongFormatter (pattern, formatLong, options) {\n switch (pattern) {\n case 'P':\n return formatLong.date({width: 'short'})\n case 'PP':\n return formatLong.date({width: 'medium'})\n case 'PPP':\n return formatLong.date({width: 'long'})\n case 'PPPP':\n default:\n return formatLong.date({width: 'full'})\n }\n}\n\nfunction timeLongFormatter (pattern, formatLong, options) {\n switch (pattern) {\n case 'p':\n return formatLong.time({width: 'short'})\n case 'pp':\n return formatLong.time({width: 'medium'})\n case 'ppp':\n return formatLong.time({width: 'long'})\n case 'pppp':\n default:\n return formatLong.time({width: 'full'})\n }\n}\n\nfunction dateTimeLongFormatter (pattern, formatLong, options) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong)\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({width: 'short'});\n break\n case 'PP':\n dateTimeFormat = formatLong.dateTime({width: 'medium'});\n break\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({width: 'long'});\n break\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({width: 'full'});\n break\n }\n\n return dateTimeFormat\n .replace('{{date}}', dateLongFormatter(datePattern, formatLong))\n .replace('{{time}}', timeLongFormatter(timePattern, formatLong))\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|String|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nfunction subMilliseconds (dirtyDate, dirtyAmount, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount, dirtyOptions)\n}\n\nvar protectedTokens = ['D', 'DD', 'YY', 'YYYY'];\n\nfunction isProtectedToken(token) {\n return protectedTokens.indexOf(token) !== -1\n}\n\nfunction throwProtectedError(token) {\n throw new RangeError(\n '`options.awareOfUnicodeTokens` must be set to `true` to use `' +\n token +\n '` token; see: https://git.io/fxCyr'\n )\n}\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nvar escapedStringRegExp = /^'(.*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 8 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 8 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. These tokens are often confused with others. See: https://git.io/fxCyr\n *\n * @param {Date|String|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\n * - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\n * - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens (`yy`, `yyyy`).\n * See: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.awareOfUnicodeTokens` must be set to `true` to use `XX` token; see: https://git.io/fxCyr\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(\n * new Date(2014, 1, 11),\n * 'MM/dd/yyyy'\n * )\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(\n * new Date(2014, 6, 2),\n * \"do 'de' MMMM yyyy\",\n * {locale: eoLocale}\n * )\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(\n * new Date(2014, 6, 2, 15),\n * \"h 'o''clock'\"\n * )\n * //=> \"3 o'clock\"\n */\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError(\n '2 arguments required, but only ' + arguments.length + ' present'\n )\n }\n\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n\n var locale = options.locale || locale$1;\n\n var localeFirstWeekContainsDate =\n locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError(\n 'firstWeekContainsDate must be between 1 and 7 inclusively'\n )\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn =\n localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn =\n options.weekStartsOn == null\n ? defaultWeekStartsOn\n : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property')\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property')\n }\n\n var originalDate = toDate(dirtyDate, options);\n\n if (!isValid(originalDate, options)) {\n return 'Invalid Date'\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset, options);\n\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n\n var result = formatStr\n .match(longFormattingTokensRegExp)\n .map(function(substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions)\n }\n return substring\n })\n .join('')\n .match(formattingTokensRegExp)\n .map(function(substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\"\n }\n\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring)\n }\n\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!options.awareOfUnicodeTokens && isProtectedToken(substring)) {\n throwProtectedError(substring);\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions)\n }\n\n return substring\n })\n .join('');\n\n return result\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\")\n}\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|String|Number} date - the date that should be after the other one to return true\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nfunction isAfter (dirtyDate, dirtyDateToCompare, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions);\n return date.getTime() > dateToCompare.getTime()\n}\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|String|Number} date - the date that should be before the other one to return true\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nfunction isBefore (dirtyDate, dirtyDateToCompare, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var dateToCompare = toDate(dirtyDateToCompare, dirtyOptions);\n return date.getTime() < dateToCompare.getTime()\n}\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * var result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0)\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nfunction isEqual$1 (dirtyLeftDate, dirtyRightDate, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var dateLeft = toDate(dirtyLeftDate, dirtyOptions);\n var dateRight = toDate(dirtyRightDate, dirtyOptions);\n return dateLeft.getTime() === dateRight.getTime()\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCDay (dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var day = toInteger(dirtyDay);\n\n var currentDay = date.getUTCDay();\n\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCWeek (dirtyDate, dirtyWeek, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, dirtyOptions) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCISODay (dirtyDate, dirtyDay, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate, dirtyOptions);\n var currentDay = date.getUTCDay();\n\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n\n date.setUTCDate(date.getUTCDate() + diff);\n return date\n}\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction setUTCISOWeek (dirtyDate, dirtyISOWeek, dirtyOptions) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present')\n }\n\n var date = toDate(dirtyDate, dirtyOptions);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date, dirtyOptions) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date\n}\n\nvar MILLISECONDS_IN_HOUR$1 = 3600000;\nvar MILLISECONDS_IN_MINUTE$2 = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\n\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern (pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null\n }\n\n var value = parseInt(matchResult[0], 10);\n\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n }\n}\n\nfunction parseTimezonePattern (pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n }\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value: sign * (\n hours * MILLISECONDS_IN_HOUR$1 +\n minutes * MILLISECONDS_IN_MINUTE$2 +\n seconds * MILLISECONDS_IN_SECOND\n ),\n rest: string.slice(matchResult[0].length)\n }\n}\n\nfunction parseAnyDigitsSigned (string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback)\n}\n\nfunction parseNDigits (n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback)\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback)\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback)\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback)\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback)\n }\n}\n\nfunction parseNDigitsSigned (n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback)\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback)\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback)\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback)\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback)\n }\n}\n\nfunction dayPeriodEnumToHours (enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4\n case 'evening':\n return 17\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0\n }\n}\n\nfunction normalizeTwoDigitYear (twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result\n}\n\nvar DAYS_IN_MONTH$1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR$1 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// User for validation\nfunction isLeapYearIndex$1 (year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0)\n}\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {width: 'abbreviated'}) ||\n match.era(string, {width: 'narrow'})\n // A, B\n case 'GGGGG':\n return match.era(string, {width: 'narrow'})\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(string, {width: 'wide'}) ||\n match.era(string, {width: 'abbreviated'}) ||\n match.era(string, {width: 'narrow'})\n }\n },\n set: function (date, value, options) {\n // Sets year 10 BC if BC, or 10 AC if AC\n date.setUTCFullYear(value === 1 ? 10 : -9, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n priority: 130,\n parse: function (string, token, match, options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n }\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback)\n case 'yo':\n return match.ordinalNumber(string, {unit: 'year', valueCallback: valueCallback})\n default:\n return parseNDigits(token.length, string, valueCallback)\n }\n },\n validate: function (date, value, options) {\n return value.isTwoDigitYear || value.year > 0\n },\n set: function (date, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n\n var year = currentYear > 0 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n }\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback)\n case 'Yo':\n return match.ordinalNumber(string, {unit: 'year', valueCallback: valueCallback})\n default:\n return parseNDigits(token.length, string, valueCallback)\n }\n },\n validate: function (date, value, options) {\n return value.isTwoDigitYear || value.year > 0\n },\n set: function (date, value, options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options)\n }\n\n var year = currentYear > 0 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options)\n }\n },\n\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, match, options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string)\n }\n\n return parseNDigitsSigned(token.length, string)\n },\n set: function (date, value, options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear)\n }\n },\n\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, match, options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string)\n }\n\n return parseNDigitsSigned(token.length, string)\n },\n set: function (date, value, options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ': // 01, 02, 03, 04\n return parseNDigits(token.length, string)\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(string, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.quarter(string, {width: 'narrow', context: 'formatting'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(string, {width: 'narrow', context: 'formatting'})\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(string, {width: 'wide', context: 'formatting'}) ||\n match.quarter(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.quarter(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 4\n },\n set: function (date, value, options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq': // 01, 02, 03, 04\n return parseNDigits(token.length, string)\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(string, {unit: 'quarter'})\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.quarter(string, {width: 'narrow', context: 'standalone'})\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(string, {width: 'narrow', context: 'standalone'})\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(string, {width: 'wide', context: 'standalone'}) ||\n match.quarter(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.quarter(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 4\n },\n set: function (date, value, options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return value - 1\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback)\n // 01, 02, ..., 12\n case 'MM':\n return parseNDigits(2, string, valueCallback)\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return match.ordinalNumber(string, {unit: 'month', valueCallback: valueCallback})\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.month(string, {width: 'narrow', context: 'formatting'})\n // J, F, ..., D\n case 'MMMMM':\n return match.month(string, {width: 'narrow', context: 'formatting'})\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(string, {width: 'wide', context: 'formatting'}) ||\n match.month(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.month(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return value - 1\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback)\n // 01, 02, ..., 12\n case 'LL':\n return parseNDigits(2, string, valueCallback)\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return match.ordinalNumber(string, {unit: 'month', valueCallback: valueCallback})\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.month(string, {width: 'narrow', context: 'standalone'})\n // J, F, ..., D\n case 'LLLLL':\n return match.month(string, {width: 'narrow', context: 'standalone'})\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(string, {width: 'wide', context: 'standalone'}) ||\n match.month(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.month(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string)\n case 'wo':\n return match.ordinalNumber(string, {unit: 'week'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 53\n },\n set: function (date, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options)\n }\n },\n\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string)\n case 'Io':\n return match.ordinalNumber(string, {unit: 'week'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 53\n },\n set: function (date, value, options) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value, options), options)\n }\n },\n\n // Day of the month\n d: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string)\n case 'do':\n return match.ordinalNumber(string, {unit: 'date'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex$1(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR$1[month]\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH$1[month]\n }\n },\n set: function (date, value, options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Day of year\n D: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string)\n case 'Do':\n return match.ordinalNumber(string, {unit: 'date'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex$1(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366\n } else {\n return value >= 1 && value <= 365\n }\n },\n set: function (date, value, options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // T\n case 'EEEEE':\n return match.day(string, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'EEEEEE':\n return match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // Tuesday\n case 'EEEE':\n default:\n return match.day(string, {width: 'wide', context: 'formatting'}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee': // 03\n return parseNDigits(token.length, string, valueCallback)\n // 3rd\n case 'eo':\n return match.ordinalNumber(string, {unit: 'day', valueCallback: valueCallback})\n // Tue\n case 'eee':\n return match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // T\n case 'eeeee':\n return match.day(string, {width: 'narrow', context: 'formatting'})\n // Tu\n case 'eeeeee':\n return match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n // Tuesday\n case 'eeee':\n default:\n return match.day(string, {width: 'wide', context: 'formatting'}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.day(string, {width: 'short', context: 'formatting'}) ||\n match.day(string, {width: 'narrow', context: 'formatting'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc': // 03\n return parseNDigits(token.length, string, valueCallback)\n // 3rd\n case 'co':\n return match.ordinalNumber(string, {unit: 'day', valueCallback: valueCallback})\n // Tue\n case 'ccc':\n return match.day(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n // T\n case 'ccccc':\n return match.day(string, {width: 'narrow', context: 'standalone'})\n // Tu\n case 'cccccc':\n return match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n // Tuesday\n case 'cccc':\n default:\n return match.day(string, {width: 'wide', context: 'standalone'}) ||\n match.day(string, {width: 'abbreviated', context: 'standalone'}) ||\n match.day(string, {width: 'short', context: 'standalone'}) ||\n match.day(string, {width: 'narrow', context: 'standalone'})\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 6\n },\n set: function (date, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7\n }\n return value\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii': // 02\n return parseNDigits(token.length, string)\n // 2nd\n case 'io':\n return match.ordinalNumber(string, {unit: 'day'})\n // Tue\n case 'iii':\n return match.day(string, {width: 'abbreviated', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // T\n case 'iiiii':\n return match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // Tu\n case 'iiiiii':\n return match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n // Tuesday\n case 'iiii':\n default:\n return match.day(string, {width: 'wide', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'abbreviated', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'short', context: 'formatting', valueCallback: valueCallback}) ||\n match.day(string, {width: 'narrow', context: 'formatting', valueCallback: valueCallback})\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 7\n },\n set: function (date, value, options) {\n date = setUTCISODay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date\n }\n },\n\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'aaaaa':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'aaaa':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'bbbbb':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'bbbb':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'BBBBB':\n return match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n case 'BBBB':\n default:\n return match.dayPeriod(string, {width: 'wide', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'abbreviated', context: 'formatting'}) ||\n match.dayPeriod(string, {width: 'narrow', context: 'formatting'})\n }\n },\n set: function (date, value, options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date\n }\n },\n\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string)\n case 'ho':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 12\n },\n set: function (date, value, options) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date\n }\n },\n\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string)\n case 'Ho':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 23\n },\n set: function (date, value, options) {\n date.setUTCHours(value, 0, 0, 0);\n return date\n }\n },\n\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string)\n case 'Ko':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 11\n },\n set: function (date, value, options) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date\n }\n },\n\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string)\n case 'ko':\n return match.ordinalNumber(string, {unit: 'hour'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 1 && value <= 24\n },\n set: function (date, value, options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date\n }\n },\n\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string)\n case 'mo':\n return match.ordinalNumber(string, {unit: 'minute'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 59\n },\n set: function (date, value, options) {\n date.setUTCMinutes(value, 0, 0);\n return date\n }\n },\n\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string)\n case 'so':\n return match.ordinalNumber(string, {unit: 'second'})\n default:\n return parseNDigits(token.length, string)\n }\n },\n validate: function (date, value, options) {\n return value >= 0 && value <= 59\n },\n set: function (date, value, options) {\n date.setUTCSeconds(value, 0);\n return date\n }\n },\n\n // Fraction of second\n S: {\n priority: 40,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3))\n };\n return parseNDigits(token.length, string, valueCallback)\n },\n set: function (date, value, options) {\n date.setUTCMilliseconds(value);\n return date\n }\n },\n\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 20,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string)\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string)\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string)\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string)\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string)\n }\n },\n set: function (date, value, options) {\n return new Date(date.getTime() - value)\n }\n },\n\n // Timezone (ISO-8601)\n x: {\n priority: 20,\n parse: function (string, token, match, options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string)\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string)\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string)\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string)\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string)\n }\n },\n set: function (date, value, options) {\n return new Date(date.getTime() - value)\n }\n },\n\n // Seconds timestamp\n t: {\n priority: 10,\n parse: function (string, token, match, options) {\n return parseAnyDigitsSigned(string)\n },\n set: function (date, value, options) {\n return new Date(value * 1000)\n }\n },\n\n // Milliseconds timestamp\n T: {\n priority: 10,\n parse: function (string, token, match, options) {\n return parseAnyDigitsSigned(string)\n },\n set: function (date, value, options) {\n return new Date(value)\n }\n }\n};\n\nvar TIMEZONE_UNIT_PRIORITY = 20;\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp$1 = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\nvar escapedStringRegExp$1 = /^'(.*?)'?$/;\nvar doubleQuoteRegExp$1 = /''/g;\n\nvar notWhitespaceRegExp = /\\S/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 6 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 6 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | 40 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 20 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 20 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Seconds timestamp | 10 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Milliseconds timestamp | 10 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `baseDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n *\n * 6. These tokens are often confused with others. See: https://git.io/fxCyr\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `baseDate` which works as a context of parsing.\n *\n * `baseDate` must be passed for correct work of the function.\n * If you're not sure which `baseDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `baseDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `baseDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|String|Number} baseDate - defines values missing from the parsed dateString\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.awareOfUnicodeTokens=false] - if true, allows usage of Unicode tokens causes confusion:\n * - Some of the day of year tokens (`D`, `DD`) that are confused with the day of month tokens (`d`, `dd`).\n * - Some of the local week-numbering year tokens (`YY`, `YYYY`) that are confused with the calendar year tokens (`yy`, `yyyy`).\n * See: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} `options.awareOfUnicodeTokens` must be set to `true` to use `XX` token; see: https://git.io/fxCyr\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse(\n * '02/11/2014',\n * 'MM/dd/yyyy',\n * new Date()\n * )\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse(\n * '28-a de februaro',\n * \"do 'de' MMMM\",\n * new Date(2010, 0, 1),\n * {locale: eo}\n * )\n * //=> Sun Feb 28 2010 00:00:00\n */\nfunction parse(\n dirtyDateString,\n dirtyFormatString,\n dirtyBaseDate,\n dirtyOptions\n) {\n if (arguments.length < 3) {\n throw new TypeError(\n '3 arguments required, but only ' + arguments.length + ' present'\n )\n }\n\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n\n var locale = options.locale || locale$1;\n\n if (!locale.match) {\n throw new RangeError('locale must contain match property')\n }\n\n var localeFirstWeekContainsDate =\n locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate =\n localeFirstWeekContainsDate == null\n ? 1\n : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate =\n options.firstWeekContainsDate == null\n ? defaultFirstWeekContainsDate\n : toInteger(options.firstWeekContainsDate);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError(\n 'firstWeekContainsDate must be between 1 and 7 inclusively'\n )\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn =\n localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn =\n options.weekStartsOn == null\n ? defaultWeekStartsOn\n : toInteger(options.weekStartsOn);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively')\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyBaseDate, options)\n } else {\n return new Date(NaN)\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [\n {\n priority: TIMEZONE_UNIT_PRIORITY,\n set: dateToSystemTimezone,\n index: 0\n }\n ];\n\n var i;\n\n var tokens = formatString.match(formattingTokensRegExp$1);\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.awareOfUnicodeTokens && isProtectedToken(token)) {\n throwProtectedError(token);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var parseResult = parser.parse(\n dateString,\n token,\n locale.match,\n subFnOptions\n );\n\n if (!parseResult) {\n return new Date(NaN)\n }\n\n setters.push({\n priority: parser.priority,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n\n dateString = parseResult.rest;\n } else {\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString$1(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN)\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN)\n }\n\n var uniquePrioritySetters = setters\n .map(function(setter) {\n return setter.priority\n })\n .sort(function(a, b) {\n return b - a\n })\n .filter(function(priority, index, array) {\n return array.indexOf(priority) === index\n })\n .map(function(priority) {\n return setters\n .filter(function(setter) {\n return setter.priority === priority\n })\n .reverse()\n })\n .map(function(setterArray) {\n return setterArray[0]\n });\n\n var date = toDate(dirtyBaseDate, options);\n\n if (isNaN(date)) {\n return new Date(NaN)\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (\n setter.validate &&\n !setter.validate(utcDate, setter.value, subFnOptions)\n ) {\n return new Date(NaN)\n }\n\n utcDate = setter.set(utcDate, setter.value, subFnOptions);\n }\n\n return utcDate\n}\n\nfunction dateToSystemTimezone(date) {\n var convertedDate = new Date(0);\n convertedDate.setFullYear(\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate()\n );\n convertedDate.setHours(\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds()\n );\n return convertedDate\n}\n\nfunction cleanEscapedString$1(input) {\n return input.match(escapedStringRegExp$1)[1].replace(doubleQuoteRegExp$1, \"'\")\n}\n\n// \n\n/**\n * Custom parse behavior on top of date-fns parse function.\n */\nfunction parseDate$1 (date, format$1) {\n if (typeof date !== 'string') {\n return isValid(date) ? date : null;\n }\n\n var parsed = parse(date, format$1, new Date());\n\n // if date is not valid or the formatted output after parsing does not match\n // the string value passed in (avoids overflows)\n if (!isValid(parsed) || format(parsed, format$1) !== date) {\n return null;\n }\n\n return parsed;\n}\n\nvar afterValidator = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var targetValue = ref.targetValue;\n var inclusion = ref.inclusion; if ( inclusion === void 0 ) inclusion = false;\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusion;\n inclusion = false;\n }\n\n value = parseDate$1(value, format);\n targetValue = parseDate$1(targetValue, format);\n\n // if either is not valid.\n if (!value || !targetValue) {\n return false;\n }\n\n return isAfter(value, targetValue) || (inclusion && isEqual$1(value, targetValue));\n};\n\nvar options = {\n hasTarget: true,\n isDate: true\n};\n\n// required to convert from a list of array values to an object.\nvar paramNames = ['targetValue', 'inclusion', 'format'];\n\nvar after = {\n validate: afterValidator,\n options: options,\n paramNames: paramNames\n};\n\n/**\n * Some Alpha Regex helpers.\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\n */\n\nvar alpha = {\n en: /^[A-Z]*$/i,\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\n da: /^[A-ZÆØÅ]*$/i,\n de: /^[A-ZÄÖÜß]*$/i,\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\n it: /^[A-Z\\xC0-\\xFF]*$/i,\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\n ru: /^[А-ЯЁ]*$/i,\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\n sr: /^[A-ZČĆŽŠĐ]*$/i,\n sv: /^[A-ZÅÄÖ]*$/i,\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i\n};\n\nvar alphaSpaces = {\n en: /^[A-Z\\s]*$/i,\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\n da: /^[A-ZÆØÅ\\s]*$/i,\n de: /^[A-ZÄÖÜß\\s]*$/i,\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی\\s]*$/,\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\n ru: /^[А-ЯЁ\\s]*$/i,\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\n sv: /^[A-ZÅÄÖ\\s]*$/i,\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i\n};\n\nvar alphanumeric = {\n en: /^[0-9A-Z]*$/i,\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\n da: /^[0-9A-ZÆØÅ]$/i,\n de: /^[0-9A-ZÄÖÜß]*$/i,\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\n fa: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\n ru: /^[0-9А-ЯЁ]*$/i,\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\n sv: /^[0-9A-ZÅÄÖ]*$/i,\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i\n};\n\nvar alphaDash = {\n en: /^[0-9A-Z_-]*$/i,\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\n da: /^[0-9A-ZÆØÅ_-]*$/i,\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\n fa: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی_-]*$/,\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\n ru: /^[0-9А-ЯЁ_-]*$/i,\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i\n};\n\nvar validate = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\n }\n\n return (alpha[locale] || alpha.en).test(value);\n};\n\nvar paramNames$1 = ['locale'];\n\nvar alpha$1 = {\n validate: validate,\n paramNames: paramNames$1\n};\n\nvar validate$1 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$1(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\n }\n\n return (alphaDash[locale] || alphaDash.en).test(value);\n};\n\nvar paramNames$2 = ['locale'];\n\nvar alpha_dash = {\n validate: validate$1,\n paramNames: paramNames$2\n};\n\nvar validate$2 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$2(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\n }\n\n return (alphanumeric[locale] || alphanumeric.en).test(value);\n};\n\nvar paramNames$3 = ['locale'];\n\nvar alpha_num = {\n validate: validate$2,\n paramNames: paramNames$3\n};\n\nvar validate$3 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var locale = ref.locale;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$3(val, [locale]); });\n }\n\n // Match at least one locale.\n if (! locale) {\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\n }\n\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\n};\n\nvar paramNames$4 = ['locale'];\n\nvar alpha_spaces = {\n validate: validate$3,\n paramNames: paramNames$4\n};\n\nvar validate$4 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var targetValue = ref.targetValue;\n var inclusion = ref.inclusion; if ( inclusion === void 0 ) inclusion = false;\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusion;\n inclusion = false;\n }\n\n value = parseDate$1(value, format);\n targetValue = parseDate$1(targetValue, format);\n\n // if either is not valid.\n if (!value || !targetValue) {\n return false;\n }\n\n return isBefore(value, targetValue) || (inclusion && isEqual$1(value, targetValue));\n};\n\nvar options$1 = {\n hasTarget: true,\n isDate: true\n};\n\nvar paramNames$5 = ['targetValue', 'inclusion', 'format'];\n\nvar before = {\n validate: validate$4,\n options: options$1,\n paramNames: paramNames$5\n};\n\nvar validate$5 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var min = ref.min;\n var max = ref.max;\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$5(val, { min: min, max: max }); });\n }\n\n return Number(min) <= value && Number(max) >= value;\n};\n\nvar paramNames$6 = ['min', 'max'];\n\nvar between = {\n validate: validate$5,\n paramNames: paramNames$6\n};\n\nvar validate$6 = function (value, ref) {\n var targetValue = ref.targetValue;\n\n return String(value) === String(targetValue);\n};\nvar options$2 = {\n hasTarget: true\n};\n\nvar paramNames$7 = ['targetValue'];\n\nvar confirmed = {\n validate: validate$6,\n options: options$2,\n paramNames: paramNames$7\n};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar assertString_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertString;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType;\n\n if (input === null) {\n invalidType = 'null';\n } else {\n invalidType = _typeof(input);\n\n if (invalidType === 'object' && input.constructor && input.constructor.hasOwnProperty('name')) {\n invalidType = input.constructor.name;\n } else {\n invalidType = \"a \".concat(invalidType);\n }\n }\n\n throw new TypeError(\"Expected string but received \".concat(invalidType, \".\"));\n }\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(assertString_1);\n\nvar isCreditCard_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isCreditCard;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* eslint-disable max-len */\nvar creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27][0-9]{14})$/;\n/* eslint-enable max-len */\n\nfunction isCreditCard(str) {\n (0, _assertString.default)(str);\n var sanitized = str.replace(/[- ]+/g, '');\n\n if (!creditCard.test(sanitized)) {\n return false;\n }\n\n var sum = 0;\n var digit;\n var tmpNum;\n var shouldDouble;\n\n for (var i = sanitized.length - 1; i >= 0; i--) {\n digit = sanitized.substring(i, i + 1);\n tmpNum = parseInt(digit, 10);\n\n if (shouldDouble) {\n tmpNum *= 2;\n\n if (tmpNum >= 10) {\n sum += tmpNum % 10 + 1;\n } else {\n sum += tmpNum;\n }\n } else {\n sum += tmpNum;\n }\n\n shouldDouble = !shouldDouble;\n }\n\n return !!(sum % 10 === 0 ? sanitized : false);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isCreditCard = unwrapExports(isCreditCard_1);\n\nvar validate$7 = function (value) { return isCreditCard(String(value)); };\n\nvar credit_card = {\n validate: validate$7\n};\n\nvar validate$8 = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var min = ref.min;\n var max = ref.max;\n var inclusivity = ref.inclusivity; if ( inclusivity === void 0 ) inclusivity = '()';\n var format = ref.format;\n\n if (typeof format === 'undefined') {\n format = inclusivity;\n inclusivity = '()';\n }\n\n var minDate = parseDate$1(String(min), format);\n var maxDate = parseDate$1(String(max), format);\n var dateVal = parseDate$1(String(value), format);\n\n if (!minDate || !maxDate || !dateVal) {\n return false;\n }\n\n if (inclusivity === '()') {\n return isAfter(dateVal, minDate) && isBefore(dateVal, maxDate);\n }\n\n if (inclusivity === '(]') {\n return isAfter(dateVal, minDate) && (isEqual$1(dateVal, maxDate) || isBefore(dateVal, maxDate));\n }\n\n if (inclusivity === '[)') {\n return isBefore(dateVal, maxDate) && (isEqual$1(dateVal, minDate) || isAfter(dateVal, minDate));\n }\n\n return isEqual$1(dateVal, maxDate) || isEqual$1(dateVal, minDate) ||\n (isBefore(dateVal, maxDate) && isAfter(dateVal, minDate));\n};\n\nvar options$3 = {\n isDate: true\n};\n\nvar paramNames$8 = ['min', 'max', 'inclusivity', 'format'];\n\nvar date_between = {\n validate: validate$8,\n options: options$3,\n paramNames: paramNames$8\n};\n\nvar validate$9 = function (value, ref) {\n var format = ref.format;\n\n return !!parseDate$1(value, format);\n};\n\nvar options$4 = {\n isDate: true\n};\n\nvar paramNames$9 = ['format'];\n\nvar date_format = {\n validate: validate$9,\n options: options$4,\n paramNames: paramNames$9\n};\n\nvar validate$a = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var decimals = ref.decimals; if ( decimals === void 0 ) decimals = '*';\n var separator = ref.separator; if ( separator === void 0 ) separator = '.';\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$a(val, { decimals: decimals, separator: separator }); });\n }\n\n // if is 0.\n if (Number(decimals) === 0) {\n return /^-?\\d*$/.test(value);\n }\n\n var regexPart = decimals === '*' ? '+' : (\"{1,\" + decimals + \"}\");\n var regex = new RegExp((\"^[-+]?\\\\d*(\\\\\" + separator + \"\\\\d\" + regexPart + \")?([eE]{1}[-]?\\\\d+)?$\"));\n\n if (! regex.test(value)) {\n return false;\n }\n\n var parsedValue = parseFloat(value);\n\n // eslint-disable-next-line\n return parsedValue === parsedValue;\n};\n\nvar paramNames$a = ['decimals', 'separator'];\n\nvar decimal = {\n validate: validate$a,\n paramNames: paramNames$a\n};\n\nvar validate$b = function (value, ref) {\n var length = ref[0];\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$b(val, [length]); });\n }\n var strVal = String(value);\n\n return /^[0-9]*$/.test(strVal) && strVal.length === Number(length);\n};\n\nvar digits = {\n validate: validate$b\n};\n\nvar imageRegex = /\\.(jpg|svg|jpeg|png|bmp|gif)$/i;\n\nvar validateImage = function (file, width, height) {\n var URL = window.URL || window.webkitURL;\n return new Promise(function (resolve) {\n var image = new Image();\n image.onerror = function () { return resolve({ valid: false }); };\n image.onload = function () { return resolve({\n valid: image.width === Number(width) && image.height === Number(height)\n }); };\n\n image.src = URL.createObjectURL(file);\n });\n};\n\nvar validate$c = function (files, ref) {\n var width = ref[0];\n var height = ref[1];\n\n var images = ensureArray(files).filter(function (file) { return imageRegex.test(file.name); });\n if (images.length === 0) {\n return false;\n }\n return Promise.all(images.map(function (image) { return validateImage(image, width, height); }));\n};\n\nvar dimensions = {\n validate: validate$c\n};\n\nvar merge_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\n\nfunction merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(merge_1);\n\nvar isByteLength_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isByteLength;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable prefer-rest-params */\nfunction isByteLength(str, options) {\n (0, _assertString.default)(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nunwrapExports(isByteLength_1);\n\nvar isFQDN_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isFQDN;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false\n};\n\nfunction isFQDN(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n var parts = str.split('.');\n\n for (var i = 0; i < parts.length; i++) {\n if (parts[i].length > 63) {\n return false;\n }\n }\n\n if (options.require_tld) {\n var tld = parts.pop();\n\n if (!parts.length || !/^([a-z\\u00a1-\\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces\n\n\n if (/[\\s\\u2002-\\u200B\\u202F\\u205F\\u3000\\uFEFF\\uDB40\\uDC20]/.test(tld)) {\n return false;\n }\n }\n\n for (var part, _i = 0; _i < parts.length; _i++) {\n part = parts[_i];\n\n if (options.allow_underscores) {\n part = part.replace(/_/g, '');\n }\n\n if (!/^[a-z\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n }\n\n if (part[0] === '-' || part[part.length - 1] === '-') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isFQDN = unwrapExports(isFQDN_1);\n\nvar isIP_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isIP;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ipv4Maybe = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\nvar ipv6Block = /^[0-9A-F]{1,4}$/i;\n\nfunction isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (0, _assertString.default)(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n } else if (version === '4') {\n if (!ipv4Maybe.test(str)) {\n return false;\n }\n\n var parts = str.split('.').sort(function (a, b) {\n return a - b;\n });\n return parts[3] <= 255;\n } else if (version === '6') {\n var blocks = str.split(':');\n var foundOmissionBlock = false; // marker to indicate ::\n // At least some OS accept the last 32 bits of an IPv6 address\n // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says\n // that '::ffff:a.b.c.d' is valid for IPv4-mapped IPv6 addresses,\n // and '::a.b.c.d' is deprecated, but also valid.\n\n var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);\n var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;\n\n if (blocks.length > expectedNumberOfBlocks) {\n return false;\n } // initial or final ::\n\n\n if (str === '::') {\n return true;\n } else if (str.substr(0, 2) === '::') {\n blocks.shift();\n blocks.shift();\n foundOmissionBlock = true;\n } else if (str.substr(str.length - 2) === '::') {\n blocks.pop();\n blocks.pop();\n foundOmissionBlock = true;\n }\n\n for (var i = 0; i < blocks.length; ++i) {\n // test for a :: which can not be at the string start/end\n // since those cases have been handled above\n if (blocks[i] === '' && i > 0 && i < blocks.length - 1) {\n if (foundOmissionBlock) {\n return false; // multiple :: in address\n }\n\n foundOmissionBlock = true;\n } else if (foundIPv4TransitionBlock && i === blocks.length - 1) ; else if (!ipv6Block.test(blocks[i])) {\n return false;\n }\n }\n\n if (foundOmissionBlock) {\n return blocks.length >= 1;\n }\n\n return blocks.length === expectedNumberOfBlocks;\n }\n\n return false;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isIP = unwrapExports(isIP_1);\n\nvar isEmail_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmail;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nvar _isByteLength = _interopRequireDefault(isByteLength_1);\n\nvar _isFQDN = _interopRequireDefault(isFQDN_1);\n\nvar _isIP = _interopRequireDefault(isIP_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true\n};\n/* eslint-disable max-len */\n\n/* eslint-disable no-control-regex */\n\nvar displayName = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\.\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\,\\.\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF\\s]*<(.+)>$/i;\nvar emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\nvar gmailUserPart = /^[a-z\\d]+$/;\nvar quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\nvar emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\nvar quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\n/* eslint-enable max-len */\n\n/* eslint-enable no-control-regex */\n\nfunction isEmail(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(displayName);\n\n if (display_email) {\n str = display_email[1];\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var user = parts.join('@');\n var lower_domain = domain.toLowerCase();\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!(0, _isByteLength.default)(username.replace('.', ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (!(0, _isByteLength.default)(user, {\n max: 64\n }) || !(0, _isByteLength.default)(domain, {\n max: 254\n })) {\n return false;\n }\n\n if (!(0, _isFQDN.default)(domain, {\n require_tld: options.require_tld\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!(0, _isIP.default)(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.substr(1, domain.length - 2);\n\n if (noBracketdomain.length === 0 || !(0, _isIP.default)(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isEmail = unwrapExports(isEmail_1);\n\nfunction objectWithoutProperties (obj, exclude) { var target = {}; for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k]; return target; }\n\nvar validate$d = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var multiple = ref.multiple; if ( multiple === void 0 ) multiple = false;\n var rest = objectWithoutProperties( ref, [\"multiple\"] );\n var options = rest;\n\n if (multiple && !Array.isArray(value)) {\n value = String(value).split(',').map(function (emailStr) { return emailStr.trim(); });\n }\n\n var validatorOptions = assign({}, options);\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isEmail(String(val), validatorOptions); });\n }\n\n return isEmail(String(value), validatorOptions);\n};\n\nvar email = {\n validate: validate$d\n};\n\nvar validate$e = function (value, options) {\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$e(val, options); });\n }\n\n return toArray(options).some(function (item) {\n // eslint-disable-next-line\n return item == value;\n });\n};\n\nvar included = {\n validate: validate$e\n};\n\nvar validate$f = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return !validate$e.apply(void 0, args);\n};\n\nvar excluded = {\n validate: validate$f\n};\n\nvar validate$g = function (files, extensions) {\n var regex = new RegExp((\".(\" + (extensions.join('|')) + \")$\"), 'i');\n return ensureArray(files).every(function (file) { return regex.test(file.name); });\n};\n\nvar ext = {\n validate: validate$g\n};\n\nvar validate$h = function (files) { return (Array.isArray(files) ? files : [files]).every(function (file) { return /\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(file.name); }); };\n\nvar image = {\n validate: validate$h\n};\n\nvar validate$i = function (value) {\n if (Array.isArray(value)) {\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\n }\n\n return /^-?[0-9]+$/.test(String(value));\n};\n\nvar integer = {\n validate: validate$i\n};\n\nvar validate$j = function (value, ref) {\n if ( ref === void 0 ) ref = {};\n var version = ref.version; if ( version === void 0 ) version = 4;\n\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isIP(val, version); });\n }\n\n return isIP(value, version);\n};\n\nvar paramNames$b = ['version'];\n\nvar ip = {\n validate: validate$j,\n paramNames: paramNames$b\n};\n\nvar validate$k = function (value) {\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return (isIP(val, '') || isFQDN(val)); });\n }\n\n return isIP(value, '') || isFQDN(value);\n};\n\nvar ip_or_fqdn = {\n validate: validate$k\n};\n\nvar validate$l = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var other = ref[0];\n\n return value === other;\n};\n\nvar is = {\n validate: validate$l\n};\n\nvar validate$m = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var other = ref[0];\n\n return value !== other;\n};\n\nvar is_not = {\n validate: validate$m\n};\n\n/**\n * @param {Array|String} value\n * @param {Number} length\n * @param {Number} max\n */\nvar compare = function (value, length, max) {\n if (max === undefined) {\n return value.length === length;\n }\n\n // cast to number.\n max = Number(max);\n\n return value.length >= length && value.length <= max;\n};\n\nvar validate$n = function (value, ref) {\n var length = ref[0];\n var max = ref[1]; if ( max === void 0 ) max = undefined;\n\n if (isNullOrUndefined(value)) {\n return false;\n }\n\n length = Number(length);\n if (typeof value === 'number') {\n value = String(value);\n }\n\n if (!value.length) {\n value = toArray(value);\n }\n\n return compare(value, length, max);\n};\n\nvar length = {\n validate: validate$n\n};\n\nvar validate$o = function (value, ref) {\n var length = ref[0];\n\n if (isNullOrUndefined(value)) {\n return length >= 0;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$o(val, [length]); });\n }\n\n return String(value).length <= length;\n};\n\nvar max = {\n validate: validate$o\n};\n\nvar validate$p = function (value, ref) {\n var max = ref[0];\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 && value.every(function (val) { return validate$p(val, [max]); });\n }\n\n return Number(value) <= max;\n};\n\nvar max_value = {\n validate: validate$p\n};\n\nvar validate$q = function (files, mimes) {\n var regex = new RegExp(((mimes.join('|').replace('*', '.+')) + \"$\"), 'i');\n return ensureArray(files).every(function (file) { return regex.test(file.type); });\n};\n\nvar mimes = {\n validate: validate$q\n};\n\nvar validate$r = function (value, ref) {\n var length = ref[0];\n\n if (isNullOrUndefined(value)) {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$r(val, [length]); });\n }\n\n return String(value).length >= length;\n};\n\nvar min = {\n validate: validate$r\n};\n\nvar validate$s = function (value, ref) {\n var min = ref[0];\n\n if (isNullOrUndefined(value) || value === '') {\n return false;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 && value.every(function (val) { return validate$s(val, [min]); });\n }\n\n return Number(value) >= min;\n};\n\nvar min_value = {\n validate: validate$s\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\nvar en = /^[0-9]+$/;\n\nvar validate$t = function (value) {\n var testValue = function (val) {\n var strValue = String(val);\n\n return en.test(strValue) || ar.test(strValue);\n };\n\n if (Array.isArray(value)) {\n return value.every(testValue);\n }\n\n return testValue(value);\n};\n\nvar numeric = {\n validate: validate$t\n};\n\nvar validate$u = function (value, ref) {\n var expression = ref.expression;\n\n if (typeof expression === 'string') {\n expression = new RegExp(expression);\n }\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return validate$u(val, { expression: expression }); });\n }\n\n return expression.test(String(value));\n};\n\nvar paramNames$c = ['expression'];\n\nvar regex = {\n validate: validate$u,\n paramNames: paramNames$c\n};\n\nvar validate$v = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var invalidateFalse = ref[0]; if ( invalidateFalse === void 0 ) invalidateFalse = false;\n\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\n return false;\n }\n\n // incase a field considers `false` as an empty value like checkboxes.\n if (value === false && invalidateFalse) {\n return false;\n }\n\n return !!String(value).trim().length;\n};\n\nvar required = {\n validate: validate$v\n};\n\nvar validate$w = function (value, ref) {\n if ( ref === void 0 ) ref = [];\n var otherFieldVal = ref[0];\n var possibleVals = ref.slice(1);\n\n var required = possibleVals.includes(String(otherFieldVal).trim());\n\n if (!required) {\n return {\n valid: true,\n data: {\n required: required\n }\n };\n }\n\n var invalid = (isEmptyArray(value) || [false, null, undefined].includes(value));\n\n invalid = invalid || !String(value).trim().length;\n\n return {\n valid: !invalid,\n data: {\n required: required\n }\n };\n};\n\nvar options$5 = {\n hasTarget: true,\n computesRequired: true\n};\n\nvar required_if = {\n validate: validate$w,\n options: options$5\n};\n\nvar validate$x = function (files, ref) {\n var size = ref[0];\n\n if (isNaN(size)) {\n return false;\n }\n var nSize = Number(size) * 1024;\n return ensureArray(files).every(function (file) { return file.size <= nSize; });\n};\n\nvar size = {\n validate: validate$x\n};\n\nvar isURL_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isURL;\n\nvar _assertString = _interopRequireDefault(assertString_1);\n\nvar _isFQDN = _interopRequireDefault(isFQDN_1);\n\nvar _isIP = _interopRequireDefault(isIP_1);\n\nvar _merge = _interopRequireDefault(merge_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar default_url_options = {\n protocols: ['http', 'https', 'ftp'],\n require_tld: true,\n require_protocol: false,\n require_host: true,\n require_valid_protocol: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_protocol_relative_urls: false\n};\nvar wrapped_ipv6 = /^\\[([^\\]]+)\\](?::([0-9]+))?$/;\n\nfunction isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n}\n\nfunction checkHost(host, matches) {\n for (var i = 0; i < matches.length; i++) {\n var match = matches[i];\n\n if (host === match || isRegExp(match) && match.test(host)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction isURL(url, options) {\n (0, _assertString.default)(url);\n\n if (!url || url.length >= 2083 || /[\\s<>]/.test(url)) {\n return false;\n }\n\n if (url.indexOf('mailto:') === 0) {\n return false;\n }\n\n options = (0, _merge.default)(options, default_url_options);\n var protocol, auth, host, hostname, port, port_str, split, ipv6;\n split = url.split('#');\n url = split.shift();\n split = url.split('?');\n url = split.shift();\n split = url.split('://');\n\n if (split.length > 1) {\n protocol = split.shift().toLowerCase();\n\n if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {\n return false;\n }\n } else if (options.require_protocol) {\n return false;\n } else if (url.substr(0, 2) === '//') {\n if (!options.allow_protocol_relative_urls) {\n return false;\n }\n\n split[0] = url.substr(2);\n }\n\n url = split.join('://');\n\n if (url === '') {\n return false;\n }\n\n split = url.split('/');\n url = split.shift();\n\n if (url === '' && !options.require_host) {\n return true;\n }\n\n split = url.split('@');\n\n if (split.length > 1) {\n if (options.disallow_auth) {\n return false;\n }\n\n auth = split.shift();\n\n if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {\n return false;\n }\n }\n\n hostname = split.join('@');\n port_str = null;\n ipv6 = null;\n var ipv6_match = hostname.match(wrapped_ipv6);\n\n if (ipv6_match) {\n host = '';\n ipv6 = ipv6_match[1];\n port_str = ipv6_match[2] || null;\n } else {\n split = hostname.split(':');\n host = split.shift();\n\n if (split.length) {\n port_str = split.join(':');\n }\n }\n\n if (port_str !== null) {\n port = parseInt(port_str, 10);\n\n if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {\n return false;\n }\n }\n\n if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {\n return false;\n }\n\n host = host || ipv6;\n\n if (options.host_whitelist && !checkHost(host, options.host_whitelist)) {\n return false;\n }\n\n if (options.host_blacklist && checkHost(host, options.host_blacklist)) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;\n});\n\nvar isURL = unwrapExports(isURL_1);\n\nvar validate$y = function (value, options) {\n if ( options === void 0 ) options = {};\n\n if (isNullOrUndefined(value)) {\n value = '';\n }\n\n var validatorOptions = assign({}, options);\n\n if (Array.isArray(value)) {\n return value.every(function (val) { return isURL(val, validatorOptions); });\n }\n\n return isURL(value, validatorOptions);\n};\n\nvar url = {\n validate: validate$y\n};\n\n/* eslint-disable camelcase */\n\nvar Rules = /*#__PURE__*/Object.freeze({\n after: after,\n alpha_dash: alpha_dash,\n alpha_num: alpha_num,\n alpha_spaces: alpha_spaces,\n alpha: alpha$1,\n before: before,\n between: between,\n confirmed: confirmed,\n credit_card: credit_card,\n date_between: date_between,\n date_format: date_format,\n decimal: decimal,\n digits: digits,\n dimensions: dimensions,\n email: email,\n ext: ext,\n image: image,\n included: included,\n integer: integer,\n length: length,\n ip: ip,\n ip_or_fqdn: ip_or_fqdn,\n is_not: is_not,\n is: is,\n max: max,\n max_value: max_value,\n mimes: mimes,\n min: min,\n min_value: min_value,\n excluded: excluded,\n numeric: numeric,\n regex: regex,\n required: required,\n required_if: required_if,\n size: size,\n url: url\n});\n\n// \n\nvar normalize = function (fields) {\n if (Array.isArray(fields)) {\n return fields.reduce(function (prev, curr) {\n if (includes(curr, '.')) {\n prev[curr.split('.')[1]] = curr;\n } else {\n prev[curr] = curr;\n }\n\n return prev;\n }, {});\n }\n\n return fields;\n};\n\n// Combines two flags using either AND or OR depending on the flag type.\nvar combine = function (lhs, rhs) {\n var mapper = {\n pristine: function (lhs, rhs) { return lhs && rhs; },\n dirty: function (lhs, rhs) { return lhs || rhs; },\n touched: function (lhs, rhs) { return lhs || rhs; },\n untouched: function (lhs, rhs) { return lhs && rhs; },\n valid: function (lhs, rhs) { return lhs && rhs; },\n invalid: function (lhs, rhs) { return lhs || rhs; },\n pending: function (lhs, rhs) { return lhs || rhs; },\n required: function (lhs, rhs) { return lhs || rhs; },\n validated: function (lhs, rhs) { return lhs && rhs; }\n };\n\n return Object.keys(mapper).reduce(function (flags, flag) {\n flags[flag] = mapper[flag](lhs[flag], rhs[flag]);\n\n return flags;\n }, {});\n};\n\nvar mapScope = function (scope, deep) {\n if ( deep === void 0 ) deep = true;\n\n return Object.keys(scope).reduce(function (flags, field) {\n if (!flags) {\n flags = assign({}, scope[field]);\n return flags;\n }\n\n // scope.\n var isScope = field.indexOf('$') === 0;\n if (deep && isScope) {\n return combine(mapScope(scope[field]), flags);\n } else if (!deep && isScope) {\n return flags;\n }\n\n flags = combine(flags, scope[field]);\n\n return flags;\n }, null);\n};\n\n/**\n * Maps fields to computed functions.\n */\nvar mapFields = function (fields) {\n if (!fields) {\n return function () {\n return mapScope(this.$validator.flags);\n };\n }\n\n var normalized = normalize(fields);\n return Object.keys(normalized).reduce(function (prev, curr) {\n var field = normalized[curr];\n prev[curr] = function mappedField () {\n // if field exists\n if (this.$validator.flags[field]) {\n return this.$validator.flags[field];\n }\n\n // scopeless fields were selected.\n if (normalized[curr] === '*') {\n return mapScope(this.$validator.flags, false);\n }\n\n // if it has a scope defined\n var index = field.indexOf('.');\n if (index <= 0) {\n return {};\n }\n\n var ref = field.split('.');\n var scope = ref[0];\n var name = ref.slice(1);\n\n scope = this.$validator.flags[(\"$\" + scope)];\n name = name.join('.');\n\n // an entire scope was selected: scope.*\n if (name === '*' && scope) {\n return mapScope(scope);\n }\n\n if (scope && scope[name]) {\n return scope[name];\n }\n\n return {};\n };\n\n return prev;\n }, {});\n};\n\nvar $validator = null;\n\nvar PROVIDER_COUNTER = 0;\n\nvar ValidationProvider = {\n $__veeInject: false,\n inject: {\n $_veeObserver: {\n from: '$_veeObserver',\n default: function default$1 () {\n if (!this.$vnode.context.$_veeObserver) {\n this.$vnode.context.$_veeObserver = createObserver();\n }\n\n return this.$vnode.context.$_veeObserver;\n }\n }\n },\n props: {\n vid: {\n type: [String, Number],\n default: function () {\n PROVIDER_COUNTER++;\n\n return (\"_vee_\" + PROVIDER_COUNTER);\n }\n },\n name: {\n type: String,\n default: null\n },\n mode: {\n type: [String, Function],\n default: function () {\n return getConfig().mode;\n }\n },\n events: {\n type: Array,\n validate: function () {\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production') {\n warn('events prop and config will be deprecated in future version please use the interaction modes instead');\n }\n\n return true;\n },\n default: function () {\n var events = getConfig().events;\n if (typeof events === 'string') {\n return events.split('|');\n }\n\n return events;\n }\n },\n rules: {\n type: [Object, String],\n default: null\n },\n immediate: {\n type: Boolean,\n default: false\n },\n persist: {\n type: Boolean,\n default: false\n },\n bails: {\n type: Boolean,\n default: function () { return getConfig().fastExit; }\n },\n debounce: {\n type: Number,\n default: function () { return getConfig().delay || 0; }\n },\n tag: {\n type: String,\n default: 'span'\n },\n slim: {\n type: Boolean,\n default: false\n }\n },\n watch: {\n rules: {\n deep: true,\n handler: function handler (val, oldVal) {\n this._needsValidation = !isEqual(val, oldVal);\n }\n }\n },\n data: function () { return ({\n messages: [],\n value: undefined,\n initialized: false,\n initialValue: undefined,\n flags: createFlags(),\n failedRules: {},\n forceRequired: false,\n isDeactivated: false,\n id: null\n }); },\n computed: {\n isValid: function isValid () {\n return this.flags.valid;\n },\n fieldDeps: function fieldDeps () {\n var this$1 = this;\n\n var rules = normalizeRules(this.rules);\n\n return Object.keys(rules).filter(RuleContainer.isTargetRule).map(function (rule) {\n var depName = rules[rule][0];\n watchCrossFieldDep(this$1, depName);\n\n return depName;\n });\n },\n normalizedEvents: function normalizedEvents () {\n var this$1 = this;\n\n var ref = computeModeSetting(this);\n var on = ref.on;\n\n return normalizeEvents(on || this.events || []).map(function (e) {\n if (e === 'input') {\n return this$1._inputEventName;\n }\n\n return e;\n });\n },\n isRequired: function isRequired () {\n var rules = normalizeRules(this.rules);\n var forceRequired = this.forceRequired;\n\n var isRequired = rules.required || forceRequired;\n this.flags.required = isRequired;\n\n return isRequired;\n },\n classes: function classes () {\n var this$1 = this;\n\n var names = getConfig().classNames;\n return Object.keys(this.flags).reduce(function (classes, flag) {\n var className = (names && names[flag]) || flag;\n if (isNullOrUndefined(this$1.flags[flag])) {\n return classes;\n }\n\n if (className) {\n classes[className] = this$1.flags[flag];\n }\n\n return classes;\n }, {});\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n this.registerField();\n var ctx = createValidationCtx(this);\n\n // Gracefully handle non-existent scoped slots.\n var slot = this.$scopedSlots.default;\n /* istanbul ignore next */\n if (!isCallable(slot)) {\n if (process.env.NODE_ENV !== 'production') {\n warn('ValidationProvider expects a scoped slot. Did you forget to add \"v-slot\" to your slot?');\n }\n\n return h(this.tag, this.$slots.default);\n }\n\n var nodes = slot(ctx);\n // Handle single-root slot.\n extractVNodes(nodes).forEach(function (input) {\n addListeners.call(this$1, input);\n });\n\n return this.slim ? createRenderless(h, nodes) : h(this.tag, nodes);\n },\n beforeDestroy: function beforeDestroy () {\n // cleanup reference.\n this.$_veeObserver.unsubscribe(this);\n },\n activated: function activated () {\n this.$_veeObserver.subscribe(this);\n this.isDeactivated = false;\n },\n deactivated: function deactivated () {\n this.$_veeObserver.unsubscribe(this);\n this.isDeactivated = true;\n },\n methods: {\n setFlags: function setFlags (flags) {\n var this$1 = this;\n\n Object.keys(flags).forEach(function (flag) {\n this$1.flags[flag] = flags[flag];\n });\n },\n syncValue: function syncValue (e) {\n var value = normalizeValue$1(e);\n this.value = value;\n this.flags.changed = this.initialValue !== value;\n },\n reset: function reset () {\n this.messages = [];\n this._pendingValidation = null;\n this.initialValue = this.value;\n var flags = createFlags();\n this.setFlags(flags);\n },\n validate: function validate () {\n var this$1 = this;\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (args.length > 0) {\n this.syncValue(args[0]);\n }\n\n return this.validateSilent().then(function (result) {\n this$1.applyResult(result);\n\n return result;\n });\n },\n validateSilent: function validateSilent () {\n var this$1 = this;\n\n this.setFlags({ pending: true });\n\n return $validator.verify(this.value, this.rules, {\n name: this.name,\n values: createValuesLookup(this),\n bails: this.bails\n }).then(function (result) {\n this$1.setFlags({ pending: false });\n if (!this$1.isRequired) {\n this$1.setFlags({ valid: result.valid, invalid: !result.valid });\n }\n\n return result;\n });\n },\n applyResult: function applyResult (ref) {\n var errors = ref.errors;\n var failedRules = ref.failedRules;\n\n this.messages = errors;\n this.failedRules = assign({}, failedRules);\n this.setFlags({\n valid: !errors.length,\n changed: this.value !== this.initialValue,\n invalid: !!errors.length,\n validated: true\n });\n },\n registerField: function registerField () {\n if (!$validator) {\n $validator = getValidator() || new Validator(null, { fastExit: getConfig().fastExit });\n }\n\n updateRenderingContextRefs(this);\n }\n }\n};\n\nfunction createValidationCtx (ctx) {\n return {\n errors: ctx.messages,\n flags: ctx.flags,\n classes: ctx.classes,\n valid: ctx.isValid,\n failedRules: ctx.failedRules,\n reset: function () { return ctx.reset(); },\n validate: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return ctx.validate.apply(ctx, args);\n },\n aria: {\n 'aria-invalid': ctx.flags.invalid ? 'true' : 'false',\n 'aria-required': ctx.isRequired ? 'true' : 'false'\n }\n };\n}\n\nfunction normalizeValue$1 (value) {\n if (isEvent(value)) {\n return value.target.type === 'file' ? toArray(value.target.files) : value.target.value;\n }\n\n return value;\n}\n\n/**\n * Determines if a provider needs to run validation.\n */\nfunction shouldValidate (ctx, model) {\n // when an immediate/initial validation is needed and wasn't done before.\n if (!ctx._ignoreImmediate && ctx.immediate) {\n return true;\n }\n\n // when the value changes for whatever reason.\n if (ctx.value !== model.value) {\n return true;\n }\n\n // when it needs validation due to props/cross-fields changes.\n if (ctx._needsValidation) {\n return true;\n }\n\n // when the initial value is undefined and the field wasn't rendered yet.\n if (!ctx.initialized && model.value === undefined) {\n return true;\n }\n\n return false;\n}\n\nfunction computeModeSetting (ctx) {\n var compute = isCallable(ctx.mode) ? ctx.mode : modes[ctx.mode];\n\n return compute({\n errors: ctx.messages,\n value: ctx.value,\n flags: ctx.flags\n });\n}\n\nfunction onRenderUpdate (model) {\n if (!this.initialized) {\n this.initialValue = model.value;\n }\n\n var validateNow = shouldValidate(this, model);\n this._needsValidation = false;\n this.value = model.value;\n this._ignoreImmediate = true;\n\n if (!validateNow) {\n return;\n }\n\n this.validateSilent().then(this.immediate || this.flags.validated ? this.applyResult : function (x) { return x; });\n}\n\n// Creates the common handlers for a validatable context.\nfunction createCommonHandlers (ctx) {\n var onInput = function (e) {\n ctx.syncValue(e); // track and keep the value updated.\n ctx.setFlags({ dirty: true, pristine: false });\n };\n\n // Blur event listener.\n var onBlur = function () {\n ctx.setFlags({ touched: true, untouched: false });\n };\n\n var onValidate = ctx.$veeHandler;\n var mode = computeModeSetting(ctx);\n\n // Handle debounce changes.\n if (!onValidate || ctx.$veeDebounce !== ctx.debounce) {\n onValidate = debounce(\n function () {\n ctx.$nextTick(function () {\n var pendingPromise = ctx.validateSilent();\n // avoids race conditions between successive validations.\n ctx._pendingValidation = pendingPromise;\n pendingPromise.then(function (result) {\n if (pendingPromise === ctx._pendingValidation) {\n ctx.applyResult(result);\n ctx._pendingValidation = null;\n }\n });\n });\n },\n mode.debounce || ctx.debounce\n );\n\n // Cache the handler so we don't create it each time.\n ctx.$veeHandler = onValidate;\n // cache the debounce value so we detect if it was changed.\n ctx.$veeDebounce = ctx.debounce;\n }\n\n return { onInput: onInput, onBlur: onBlur, onValidate: onValidate };\n}\n\n// Adds all plugin listeners to the vnode.\nfunction addListeners (node) {\n var model = findModel(node);\n // cache the input eventName.\n this._inputEventName = this._inputEventName || getInputEventName(node, model);\n\n onRenderUpdate.call(this, model);\n\n var ref = createCommonHandlers(this);\n var onInput = ref.onInput;\n var onBlur = ref.onBlur;\n var onValidate = ref.onValidate;\n addVNodeListener(node, this._inputEventName, onInput);\n addVNodeListener(node, 'blur', onBlur);\n\n // add the validation listeners.\n this.normalizedEvents.forEach(function (evt) {\n addVNodeListener(node, evt, onValidate);\n });\n\n this.initialized = true;\n}\n\nfunction createValuesLookup (ctx) {\n var providers = ctx.$_veeObserver.refs;\n\n return ctx.fieldDeps.reduce(function (acc, depName) {\n if (!providers[depName]) {\n return acc;\n }\n\n acc[depName] = providers[depName].value;\n\n return acc;\n }, {});\n}\n\nfunction updateRenderingContextRefs (ctx) {\n // IDs should not be nullable.\n if (isNullOrUndefined(ctx.id) && ctx.id === ctx.vid) {\n ctx.id = PROVIDER_COUNTER;\n PROVIDER_COUNTER++;\n }\n\n var id = ctx.id;\n var vid = ctx.vid;\n // Nothing has changed.\n if (ctx.isDeactivated || (id === vid && ctx.$_veeObserver.refs[id])) {\n return;\n }\n\n // vid was changed.\n if (id !== vid && ctx.$_veeObserver.refs[id] === ctx) {\n ctx.$_veeObserver.unsubscribe({ vid: id });\n }\n\n ctx.$_veeObserver.subscribe(ctx);\n ctx.id = vid;\n}\n\nfunction createObserver () {\n return {\n refs: {},\n subscribe: function subscribe (ctx) {\n this.refs[ctx.vid] = ctx;\n },\n unsubscribe: function unsubscribe (ctx) {\n delete this.refs[ctx.vid];\n }\n };\n}\n\nfunction watchCrossFieldDep (ctx, depName, withHooks) {\n if ( withHooks === void 0 ) withHooks = true;\n\n var providers = ctx.$_veeObserver.refs;\n if (!ctx._veeWatchers) {\n ctx._veeWatchers = {};\n }\n\n if (!providers[depName] && withHooks) {\n return ctx.$once('hook:mounted', function () {\n watchCrossFieldDep(ctx, depName, false);\n });\n }\n\n if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {\n ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {\n if (ctx.flags.validated) {\n ctx._needsValidation = true;\n ctx.validate();\n }\n });\n }\n}\n\nvar flagMergingStrategy = {\n pristine: 'every',\n dirty: 'some',\n touched: 'some',\n untouched: 'every',\n valid: 'every',\n invalid: 'some',\n pending: 'some',\n validated: 'every'\n};\n\nfunction mergeFlags (lhs, rhs, strategy) {\n var stratName = flagMergingStrategy[strategy];\n\n return [lhs, rhs][stratName](function (f) { return f; });\n}\n\nvar OBSERVER_COUNTER = 0;\n\nvar ValidationObserver = {\n name: 'ValidationObserver',\n provide: function provide () {\n return {\n $_veeObserver: this\n };\n },\n inject: {\n $_veeObserver: {\n from: '$_veeObserver',\n default: function default$1 () {\n if (!this.$vnode.context.$_veeObserver) {\n return null;\n }\n\n return this.$vnode.context.$_veeObserver;\n }\n }\n },\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n slim: {\n type: Boolean,\n default: false\n }\n },\n data: function () { return ({\n vid: (\"obs_\" + (OBSERVER_COUNTER++)),\n refs: {},\n observers: [],\n persistedStore: {}\n }); },\n computed: {\n ctx: function ctx () {\n var this$1 = this;\n\n var ctx = {\n errors: {},\n validate: function (arg) {\n var promise = this$1.validate(arg);\n\n return {\n then: function then (thenable) {\n return promise.then(function (success) {\n if (success && isCallable(thenable)) {\n return Promise.resolve(thenable());\n }\n\n return Promise.resolve(success);\n });\n }\n };\n },\n reset: function () { return this$1.reset(); }\n };\n\n return values(this.refs).concat( Object.keys(this.persistedStore).map(function (key) {\n return {\n vid: key,\n flags: this$1.persistedStore[key].flags,\n messages: this$1.persistedStore[key].errors\n };\n }),\n this.observers ).reduce(function (acc, provider) {\n Object.keys(flagMergingStrategy).forEach(function (flag) {\n var flags = provider.flags || provider.ctx;\n if (!(flag in acc)) {\n acc[flag] = flags[flag];\n return;\n }\n\n acc[flag] = mergeFlags(acc[flag], flags[flag], flag);\n });\n\n acc.errors[provider.vid] = provider.messages || values(provider.ctx.errors).reduce(function (errs, obsErrors) {\n return errs.concat(obsErrors);\n }, []);\n\n return acc;\n }, ctx);\n }\n },\n created: function created () {\n if (this.$_veeObserver) {\n this.$_veeObserver.subscribe(this, 'observer');\n }\n },\n activated: function activated () {\n if (this.$_veeObserver) {\n this.$_veeObserver.subscribe(this, 'observer');\n }\n },\n deactivated: function deactivated () {\n if (this.$_veeObserver) {\n this.$_veeObserver.unsubscribe(this, 'observer');\n }\n },\n beforeDestroy: function beforeDestroy () {\n if (this.$_veeObserver) {\n this.$_veeObserver.unsubscribe(this, 'observer');\n }\n },\n render: function render (h) {\n var slots = this.$slots.default || this.$scopedSlots.default || [];\n if (isCallable(slots)) {\n slots = slots(this.ctx);\n }\n\n return this.slim ? createRenderless(h, slots) : h(this.tag, { on: this.$listeners, attrs: this.$attrs }, slots);\n },\n methods: {\n subscribe: function subscribe (subscriber, kind) {\n var obj;\n\n if ( kind === void 0 ) kind = 'provider';\n if (kind === 'observer') {\n this.observers.push(subscriber);\n return;\n }\n\n this.refs = Object.assign({}, this.refs, ( obj = {}, obj[subscriber.vid] = subscriber, obj ));\n if (subscriber.persist && this.persistedStore[subscriber.vid]) {\n this.restoreProviderState(subscriber);\n }\n },\n unsubscribe: function unsubscribe (ref, kind) {\n var vid = ref.vid;\n if ( kind === void 0 ) kind = 'provider';\n\n if (kind === 'provider') {\n this.removeProvider(vid);\n }\n\n var idx = findIndex(this.observers, function (o) { return o.vid === vid; });\n if (idx !== -1) {\n this.observers.splice(idx, 1);\n }\n },\n validate: function validate (ref) {\n if ( ref === void 0 ) ref = { silent: false };\n var silent = ref.silent;\n\n return Promise.all(values(this.refs).map(function (ref) { return ref[silent ? 'validateSilent' : 'validate']().then(function (r) { return r.valid; }); }).concat( this.observers.map(function (obs) { return obs.validate({ silent: silent }); })\n )).then(function (results) { return results.every(function (r) { return r; }); });\n },\n reset: function reset () {\n var this$1 = this;\n\n Object.keys(this.persistedStore).forEach(function (key) {\n this$1.$delete(this$1.persistedStore, key);\n });\n return values(this.refs).concat( this.observers).forEach(function (ref) { return ref.reset(); });\n },\n restoreProviderState: function restoreProviderState (provider) {\n var state = this.persistedStore[provider.vid];\n provider.setFlags(state.flags);\n provider.applyResult(state);\n this.$delete(this.persistedStore, provider.vid);\n },\n removeProvider: function removeProvider (vid) {\n var obj;\n\n var provider = this.refs[vid];\n // save it for the next time.\n if (provider && provider.persist) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n if (vid.indexOf('_vee_') === 0) {\n warn('Please provide a `vid` prop when using `persist`, there might be unexpected issues otherwise.');\n }\n }\n\n this.persistedStore = assign({}, this.persistedStore, ( obj = {}, obj[vid] = {\n flags: provider.flags,\n errors: provider.messages,\n failedRules: provider.failedRules\n }, obj ));\n }\n\n this.$delete(this.refs, vid);\n },\n }\n};\n\nfunction withValidation (component, ctxToProps) {\n if ( ctxToProps === void 0 ) ctxToProps = null;\n\n var options = isCallable(component) ? component.options : component;\n options.$__veeInject = false;\n var hoc = {\n name: ((options.name || 'AnonymousHoc') + \"WithValidation\"),\n props: assign({}, ValidationProvider.props),\n data: ValidationProvider.data,\n computed: assign({}, ValidationProvider.computed),\n methods: assign({}, ValidationProvider.methods),\n $__veeInject: false,\n beforeDestroy: ValidationProvider.beforeDestroy,\n inject: ValidationProvider.inject\n };\n\n // Default ctx converts ctx props to component props.\n if (!ctxToProps) {\n ctxToProps = function (ctx) { return ctx; };\n }\n\n var eventName = (options.model && options.model.event) || 'input';\n\n hoc.render = function (h) {\n var obj;\n\n this.registerField();\n var vctx = createValidationCtx(this);\n var listeners = assign({}, this.$listeners);\n\n var model = findModel(this.$vnode);\n this._inputEventName = this._inputEventName || getInputEventName(this.$vnode, model);\n onRenderUpdate.call(this, model);\n\n var ref = createCommonHandlers(this);\n var onInput = ref.onInput;\n var onBlur = ref.onBlur;\n var onValidate = ref.onValidate;\n\n mergeVNodeListeners(listeners, eventName, onInput);\n mergeVNodeListeners(listeners, 'blur', onBlur);\n this.normalizedEvents.forEach(function (evt, idx) {\n mergeVNodeListeners(listeners, evt, onValidate);\n });\n\n // Props are any attrs not associated with ValidationProvider Plus the model prop.\n // WARNING: Accidental prop overwrite will probably happen.\n var ref$1 = findModelConfig(this.$vnode) || { prop: 'value' };\n var prop = ref$1.prop;\n var props = assign({}, this.$attrs, ( obj = {}, obj[prop] = model.value, obj ), ctxToProps(vctx));\n\n return h(options, {\n attrs: this.$attrs,\n props: props,\n on: listeners\n }, normalizeSlots(this.$slots, this.$vnode.context));\n };\n\n return hoc;\n}\n\nvar version = '2.2.15';\n\nObject.keys(Rules).forEach(function (rule) {\n Validator.extend(rule, Rules[rule].validate, assign({}, Rules[rule].options, { paramNames: Rules[rule].paramNames }));\n});\n\n// Merge the english messages.\nValidator.localize({ en: locale });\n\nvar install = VeeValidate$1.install;\n\nVeeValidate$1.version = version;\nVeeValidate$1.mapFields = mapFields;\nVeeValidate$1.ValidationProvider = ValidationProvider;\nVeeValidate$1.ValidationObserver = ValidationObserver;\nVeeValidate$1.withValidation = withValidation;\n\nexport default VeeValidate$1;\nexport { ErrorBag, Rules, ValidationObserver, ValidationProvider, Validator, directive, install, mapFields, mixin, version, withValidation };\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.syncInfo.syncDate)?_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(_vm._s(_vm.prefix)+\": \"+_vm._s(_vm.formatDate(_vm.syncInfo.syncDate))+\" (\"+_vm._s(_vm.formatLastCommunication(_vm.syncInfo.syncDate))+\")\")]),(_vm.syncInfo.hasStatistics)?[_c('li',[_vm._v(_vm._s(_vm.$t('Pages.InterviewerProfile_TotalSyncTime'))+\": \"+_vm._s(_vm.formatDuration(_vm.syncInfo.totalSyncDuration)))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_ConnectionSpeed'))+\": \"+_vm._s(_vm.ouputBytes(_vm.syncInfo.totalConnectionSpeed))+\"/s \"),(_vm.syncInfo.NetworkType == 'WIFI')?_c('text',[_vm._v(\"(\"+_vm._s(_vm.$t('Pages.InterviewerProfile_ConnectionWifiFormat', {networkType: _vm.syncInfo.NetworkType}))+\")\")]):_c('text',[_vm._v(\"(\"+_vm._s(_vm.$t('Pages.InterviewerProfile_ConnectionMobileFormat', { networkType: _vm.syncInfo.NetworkType, networkSubType: _vm.syncInfo.NetworkSubType, operator: _vm.syncInfo.MobileOperator }))+\")\")])]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t('Pages.InterviewerProfile_DataStatsFormat', { uploaded: _vm.ouputBytes(_vm.syncInfo.totalUploadedBytes), downloaded: _vm.ouputBytes(_vm.syncInfo.totalDownloadedBytes) }))+\" \")])]:_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStats.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStats.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionStats.vue?vue&type=template&id=6bf39c14&\"\nimport script from \"./ConnectionStats.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionStats.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","\r\n\r\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","\r\n\r\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalFrame',{ref:\"manageWorkspaces\",attrs:{\"title\":_vm.$t('Pages.UserManagement_ManageWorkspacesTitle')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"action-container\"},[(_vm.isAdding)?_c('p',{attrs:{\"data-suso\":\"title-add\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.UserManagement_SubtitleAdd'))}}):_c('p',{attrs:{\"data-suso\":\"title-remove\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.UserManagement_SubtitleRemove'))}}),_c('FilterInput',{attrs:{\"placeholder\":_vm.$t('Common.Search')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('div',{staticStyle:{\"padding-top\":\"20px\",\"padding-left\":\"12px\",\"height\":\"380px\",\"overflow\":\"auto\"}},[_c('ul',{staticClass:\"list-unstyled\",attrs:{\"data-suso\":\"workspaces-list\"}},_vm._l((_vm.workspacesList),function(workspace){return _c('li',{key:'d' + _vm.draw + '__' + workspace.key},[_c('Checkbox',{attrs:{\"label\":workspace.value,\"name\":workspace.key,\"value\":_vm.selected[workspace.key],\"classes\":workspace.iconClass,\"checked\":_vm.selected[workspace.key] || false},on:{\"input\":function (v) { return _vm.selected[workspace.key] = v; }}})],1)}),0)])],1)]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[(_vm.isAdding)?_c('button',{staticClass:\"btn btn-primary \",attrs:{\"type\":\"button\",\"data-suso\":\"btn-add\",\"role\":\"confirm\"},on:{\"click\":_vm.add}},[_vm._v(_vm._s(_vm.$t(\"Common.Add\")))]):_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"data-suso\":\"btn-remove\",\"role\":\"confirm\"},on:{\"click\":_vm.remove}},[_vm._v(_vm._s(_vm.$t(\"Common.Remove\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-suso\":\"btn-cancel\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkspaceManager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkspaceManager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WorkspaceManager.vue?vue&type=template&id=56689a83&\"\nimport script from \"./WorkspaceManager.vue?vue&type=script&lang=js&\"\nexport * from \"./WorkspaceManager.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane page-preview-block\",attrs:{\"role\":\"tabpanel\",\"id\":\"complete\"}},[_c('form',{attrs:{\"data-vv-scope\":'completePage'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex f-row\"},[_c('div',{staticClass:\"costomization-block\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.NoteToSupervisor'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('completePage.noteToSupervisor') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['completeNoteToSupervisor'].text }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"completeNoteToSupervisor\",staticClass:\"form-control js-elasticArea font-bold\",attrs:{\"data-vv-name\":\"completeNoteToSupervisor\",\"min-height\":77,\"maxlength\":\"200\"},model:{value:(_vm.webInterviewPageMessages['completeNoteToSupervisor'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['completeNoteToSupervisor'], \"text\", $$v)},expression:\"webInterviewPageMessages['completeNoteToSupervisor'].text\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['completeNoteToSupervisor'].text=''}}},[_c('span')]),(_vm.errors.first('completePage.noteToSupervisor'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Complete'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('completePage.completeButton') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['completeButton'].text }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.webInterviewPageMessages['completeButton'].text),expression:\"webInterviewPageMessages['completeButton'].text\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"completeButton\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"data-vv-name\":\"completeButton\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.webInterviewPageMessages['completeButton'].text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.webInterviewPageMessages['completeButton'], \"text\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['completeButton'].text=''}}},[_c('span')]),(_vm.errors.first('completePage.completeButton'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])]),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$completePage')},on:{\"click\":function($event){return _vm.savePageTextEditMode('completePage', 'completeButton', 'completeNoteToSupervisor')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$completePage')},on:{\"click\":function($event){return _vm.cancelPageTextEditMode('completePage', 'completeButton', 'completeNoteToSupervisor')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])]),_c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"browser-mockup mb-30\"},[_c('div',{staticClass:\"mockup-block d-flex f-row\"},[_c('div',{staticClass:\"text-example\"},[_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewUI.CompleteAbout'))+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('div',{staticClass:\"h2 gray-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['completeNoteToSupervisor'].text))+\" \")]),_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('WebInterviewUI.TextEnter')}})]),_c('div',{staticClass:\"row-element mb-40\"},[_c('a',{staticClass:\"btn btn-success btn-lg\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['completeButton'].text))+\" \")])]),_c('div',{staticClass:\"row-element\"})])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Complete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Complete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Complete.vue?vue&type=template&id=746bac66&\"\nimport script from \"./Complete.vue?vue&type=script&lang=js&\"\nexport * from \"./Complete.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Confirm',{ref:\"move\",attrs:{\"slot\":\"modals\",\"id\":\"move-interviewer-confirmation\",\"title\":_vm.$t('Pages.Interviewers_MoveInterviewerPopupTitle', {names: this.formatNames(this.interviewers)}),\"disableOk\":!_vm.whatToDoWithAssignments || !_vm.supervisor},slot:\"modals\"},[_c('div',{staticClass:\"alert\"},[_c('Typeahead',{ref:\"supervisorControl\",attrs:{\"control-id\":\"supervisorToAssign\",\"data-vv-name\":\"supervisor\",\"data-vv-as\":\"supervisor\",\"placeholder\":_vm.$t('Common.AllSupervisors'),\"value\":_vm.supervisor,\"ajax-params\":{ workspace: this.workspace },\"fetch-url\":_vm.$config.model.supervisorWorkspaceUrl},on:{\"selected\":_vm.supervisorSelected}}),_c('br'),_c('br'),(_vm.supervisor && _vm.interviewersToStay.length > 0)?_c('div',[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.Interviewers_InterviewersToStay', { interviewers: (\"\" + _vm.interviewersToStayNamesOnly + \"\"), supervisor: (\"\" + _vm.selectedSupervisor + \"\") }))}})]):_vm._e(),(_vm.supervisor && _vm.interviewersToMove.length > 0)?_c('div',[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.Interviewers_InterviewersToMove', { interviewers: (\"\" + _vm.interviewersToMoveNamesOnly + \"\"), supervisor: (\"\" + _vm.selectedSupervisor + \"\")}))}})]):_vm._e(),(_vm.supervisor && _vm.interviewersToMove.length > 0)?_c('div',{staticClass:\"radio\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.whatToDoWithAssignments),expression:\"whatToDoWithAssignments\"}],staticClass:\"wb-radio\",attrs:{\"id\":\"reassignToOriginalSupervisor\",\"name\":\"whatToDoWithAssignments\",\"value\":\"ReassignToOriginalSupervisor\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.whatToDoWithAssignments,\"ReassignToOriginalSupervisor\")},on:{\"change\":function($event){_vm.whatToDoWithAssignments=\"ReassignToOriginalSupervisor\"}}}),_c('label',{attrs:{\"for\":\"reassignToOriginalSupervisor\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('Pages.Interviewers_ReassignToOriginalSupervisor'))+\" \")])]):_vm._e(),(_vm.supervisor && _vm.interviewersToMove.length > 0)?_c('div',{staticClass:\"radio\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.whatToDoWithAssignments),expression:\"whatToDoWithAssignments\"}],staticClass:\"wb-radio\",attrs:{\"id\":\"moveAllToNewTeam\",\"type\":\"radio\",\"name\":\"whatToDoWithAssignments\",\"value\":\"MoveAllToNewTeam\"},domProps:{\"checked\":_vm._q(_vm.whatToDoWithAssignments,\"MoveAllToNewTeam\")},on:{\"change\":function($event){_vm.whatToDoWithAssignments=\"MoveAllToNewTeam\"}}}),_c('label',{attrs:{\"for\":\"moveAllToNewTeam\"}},[_c('span',{staticClass:\"tick\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.Interviewers_MoveAllToNewTeam', { supervisor: (\"\" + _vm.selectedSupervisor + \"\")}))}})])]):_vm._e(),(_vm.showWebModeReassignWarning)?_c('span',{staticClass:\"text-warning\"},[_vm._v(\" \"+_vm._s(_vm.$t('Pages.Interviewers_MoveWebAssigment'))+\" \")]):_vm._e()],1)]),_c('ModalFrame',{ref:\"progress\",attrs:{\"id\":\"move-interviewer-progress-template\",\"title\":_vm.movingDialogTitle}},[_c('div',{staticClass:\"max-height-in-popup\"},[_c('table',{staticClass:\"table table-striped table-bordered table-hover\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('MainMenu.Interviewers')))]),_c('th',[_vm._v(_vm._s(_vm.$t('MainMenu.Interviews')))]),_c('th',[_vm._v(_vm._s(_vm.$t('MainMenu.Assignments')))])])]),_vm._l((_vm.progressInterviewers),function(interviewer){return _c('tbody',{key:interviewer.userId},[_c('tr',[_c('td',[_c('span',{staticClass:\"interviewer\"},[_c('a',{class:{'text-danger' : interviewer.inProgress },attrs:{\"target\":\"_blank\",\"href\":_vm.$config.basePath + 'Manage/' + interviewer.userId,\"v-text\":interviewer.userName}},[_vm._v(_vm._s(interviewer.userName))])])]),_c('td',{domProps:{\"textContent\":_vm._s(interviewer.interviewsProcessed)}}),_c('td',{domProps:{\"textContent\":_vm._s(interviewer.assignmentsProcessed)}})]),(interviewer.errors.length > 0)?_c('tr',[_c('td',{attrs:{\"colspan\":\"5\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('Pages.Interviewers_FinishedWithErrors')))]),_vm._l((interviewer.errors),function(error){return _c('ul',{key:error},[_c('li',{attrs:{\"v-text\":error}},[_vm._v(_vm._s(error))])])})],2)]):_vm._e()])})],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewersMoveToOtherTeam.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InterviewersMoveToOtherTeam.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterviewersMoveToOtherTeam.vue?vue&type=template&id=59914ef6&\"\nimport script from \"./InterviewersMoveToOtherTeam.vue?vue&type=script&lang=js&\"\nexport * from \"./InterviewersMoveToOtherTeam.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","\r\n\r\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","import Vue from 'vue'\r\nimport { isEqual, isNaN, clone, assign } from 'lodash'\r\n\r\nexport default {\r\n data() {\r\n return {\r\n changesQueue: [],\r\n }\r\n },\r\n\r\n render() {\r\n return this.$slots.default\r\n },\r\n\r\n computed: {\r\n query() {\r\n return this.$store.state.route.query\r\n },\r\n },\r\n\r\n methods: {\r\n // recieve function that manipulate query string\r\n onChange(change) {\r\n // handle changes queue to reduce history navigations\r\n const wereEmpty = this.changesQueue.length === 0\r\n this.changesQueue.push(change)\r\n const self = this\r\n\r\n if (wereEmpty) {\r\n Vue.nextTick(() => {\r\n const changes = self.changesQueue\r\n self.changesQueue = []\r\n\r\n self.applyChanges(changes)\r\n })\r\n }\r\n },\r\n\r\n applyChanges(changes) {\r\n let data = {}\r\n\r\n // apply accumulated changes to query\r\n changes.forEach(change => change(data))\r\n\r\n const state = assign(clone(this.queryString), data)\r\n this.updateRoute(state)\r\n },\r\n\r\n updateRoute(newQuery) {\r\n const query = {}\r\n\r\n // clean up uri from default values\r\n Object.keys(newQuery).forEach(key => {\r\n if (newQuery[key] && !isNaN(newQuery[key])) {\r\n query[key] = newQuery[key]\r\n }\r\n })\r\n\r\n if (!isEqual(this.$route.query, query)) {\r\n this.$router.push({ query })\r\n .catch(() => { })\r\n .then(r => {\r\n if (this.routeUpdated) {\r\n this.routeUpdated(r)\r\n }\r\n })\r\n }\r\n },\r\n\r\n checkedChange(value, el) {\r\n this.onChange(q => {\r\n q[el.name] = value\r\n })\r\n },\r\n\r\n radioChanged(ev) {\r\n this.onChange(q => {\r\n q[ev.name] = ev.selected\r\n })\r\n },\r\n\r\n inputChange(ev) {\r\n const source = ev.target\r\n let value = source.value\r\n\r\n if (source.type == 'number') {\r\n const intValue = parseInt(value)\r\n value = isNaN(intValue) ? null : intValue\r\n }\r\n\r\n return this.onChange(q => {\r\n q[source.name] = value\r\n })\r\n },\r\n },\r\n}\r\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('md-editor',_vm._g(_vm._b({ref:\"mdEditor\",attrs:{\"initialValue\":_vm.initialValue,\"initialEditType\":\"markdown\",\"previewStyle\":\"global\",\"options\":_vm.editorOptions},on:{\"change\":_vm.onEditorChange}},'md-editor',_vm.$attrs,false),_vm.$listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MdEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MdEditor.vue?vue&type=template&id=8b5f2836&\"\nimport script from \"./MdEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./MdEditor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo-icon\",class:{ 'no-logo': !_vm.hasLogo }},[(_vm.hasLogo)?_c('img',{attrs:{\"src\":_vm.logoUrl,\"alt\":\"Survey Logo\"}}):_vm._e(),_c('div',{staticClass:\"default-icon\"},[_c('svg',{attrs:{\"width\":\"178\",\"height\":\"83\",\"viewBox\":\"0 0 178 83\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M14.0173 53.3122C14.2271 52.8087 14.437 52.3261 14.6258 51.8226C15.9478 48.5915 15.9898 48.4656 15.9898 44.5632V28.9745H12.0238V44.6052C12.0238 48.4866 12.0868 48.6335 13.3878 51.8016C13.5766 52.2841 13.8075 52.7877 14.0173 53.3122ZM15.8849 59.3966C16.7033 57.3825 17.5216 55.3683 18.34 53.3542C19.9558 49.3888 20.0187 49.221 20.0187 44.5632V26.9603C20.0187 25.5966 19.62 24.9462 18.0043 24.9462H12.0238V20.813H23.9847V44.4793C23.9847 50.1021 23.8378 50.4588 22.0122 54.8858C19.3263 61.4318 16.6613 67.9988 13.9753 74.5448C11.2894 67.9568 8.62442 61.3479 5.91749 54.7809C4.21778 50.6686 4.00794 50.1441 4.00794 44.7101V28.9745H7.97392V44.6052C7.97392 49.2419 8.05785 49.4308 9.65264 53.3332L12.1288 59.4176C13.1779 61.9143 14.9196 61.7884 15.8849 59.3966ZM2.01446 24.9252H7.9949V18.7778C7.9949 17.2252 8.62442 16.7637 10.0094 16.7637H26.0202C27.6359 16.7637 28.0346 17.4141 28.0346 18.7778V44.4793C28.0346 50.8575 27.8667 51.2561 25.7474 56.4174C22.4529 64.495 19.1584 72.5726 15.8639 80.6292C14.5839 83.7973 13.3878 83.7553 12.1288 80.6292C8.83426 72.5096 5.53977 64.3901 2.2243 56.2915C0.251808 51.5079 0 50.8994 0 44.7101V26.9603C0 25.8274 0.293776 24.9252 2.01446 24.9252Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M4.02893 19.8059C4.02893 20.9178 3.12662 21.0018 2.01446 21.0018C0.902312 21.0018 0 20.9178 0 19.8059V10.4484C0 9.08468 0.377712 8.43428 2.01446 8.43428H24.0057V4.02831H1.19609C0.083936 4.02831 0 3.12614 0 2.01416C0 0.902174 0.083936 0 1.19609 0H26.0202C27.594 0 28.0346 0.503539 28.0346 2.01416V10.4484C28.0346 11.7073 27.6359 12.4626 26.0202 12.4626H4.02893V19.8059Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M58.2306 48.8433C58.2306 51.4659 60.266 52.4729 62.5952 52.4729C64.1061 52.4729 66.4353 52.0323 66.4353 50.0182C66.4353 47.8781 63.4556 47.5634 60.5808 46.7662C57.664 46.0528 54.7053 44.8149 54.7053 41.1643C54.7053 37.115 58.5034 35.2057 62.0706 35.2057C66.1835 35.2057 69.9606 36.9891 69.9606 41.5419H65.7638C65.6169 39.1921 63.9802 38.5627 61.8818 38.5627C60.4968 38.5627 58.9021 39.1501 58.9021 40.7866C58.9021 42.2973 59.8463 42.528 64.7776 43.7659C66.2465 44.1016 70.6321 45.0667 70.6321 49.4937C70.6321 53.1024 67.8203 55.8089 62.4484 55.8089C58.0837 55.8089 53.9918 53.6688 54.0757 48.8013H58.2306V48.8433Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M79.8441 40.7237C84.3347 40.7237 87.2305 43.703 87.2305 48.2558C87.2305 52.7667 84.3347 55.7459 79.8441 55.7459C75.3745 55.7459 72.4788 52.7667 72.4788 48.2558C72.4788 43.703 75.3745 40.7237 79.8441 40.7237ZM79.8441 52.8086C82.5091 52.8086 83.3275 50.5427 83.3275 48.2558C83.3275 45.9689 82.5301 43.682 79.8441 43.682C77.2002 43.682 76.4028 45.9689 76.4028 48.2558C76.4028 50.5427 77.2002 52.8086 79.8441 52.8086Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M89.9584 35.6883H93.8824V55.3683H89.9584V35.6883Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M110.481 55.3683H106.767V53.3751H106.683C105.696 54.9906 103.976 55.7459 102.318 55.7459C98.1631 55.7459 97.1139 53.3961 97.1139 49.8713V41.1223H101.038V49.1789C101.038 51.5288 101.709 52.6827 103.556 52.6827C105.675 52.6827 106.599 51.5078 106.599 48.6125V41.1223H110.523V55.3683H110.481Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M118.622 41.1223H121.497V43.7449H118.622V50.7944C118.622 52.1162 118.958 52.4519 120.28 52.4519C120.721 52.4519 121.141 52.4309 121.497 52.347V55.4102C120.826 55.5151 119.986 55.5571 119.21 55.5571C116.776 55.5571 114.719 55.0326 114.719 52.1582V43.7449H112.348V41.1223H114.719V36.8422H118.643V41.1223H118.622Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M127.835 38.9193H123.911V35.6883H127.835V38.9193ZM123.932 41.1223H127.856V55.3683H123.932V41.1223Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M137.928 40.7237C142.418 40.7237 145.314 43.703 145.314 48.2558C145.314 52.7667 142.418 55.7459 137.928 55.7459C133.458 55.7459 130.562 52.7667 130.562 48.2558C130.562 43.703 133.458 40.7237 137.928 40.7237ZM137.928 52.8086C140.593 52.8086 141.411 50.5427 141.411 48.2558C141.411 45.9689 140.614 43.682 137.928 43.682C135.284 43.682 134.486 45.9689 134.486 48.2558C134.486 50.5427 135.284 52.8086 137.928 52.8086Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M147.979 41.1223H151.693V43.1155H151.777C152.763 41.479 154.484 40.7447 156.142 40.7447C160.297 40.7447 161.346 43.0945 161.346 46.6193V55.3893H157.422V47.3327C157.422 44.9828 156.75 43.8289 154.904 43.8289C152.784 43.8289 151.861 45.0038 151.861 47.8991V55.3683H147.937V41.1223H147.979Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M167.515 50.7315C167.515 52.41 169.005 53.1233 170.516 53.1233C171.628 53.1233 173.076 52.6827 173.076 51.298C173.076 50.1231 171.418 49.6615 168.627 49.095C166.34 48.5705 164.116 47.8362 164.116 45.2975C164.116 41.6678 167.264 40.7237 170.327 40.7237C173.412 40.7237 176.308 41.7727 176.622 45.2765H172.908C172.803 43.7659 171.649 43.3463 170.243 43.3463C169.362 43.3463 168.061 43.4932 168.061 44.6681C168.061 46.0738 170.285 46.2626 172.51 46.7871C174.797 47.3117 177.021 48.1299 177.021 50.7945C177.021 54.55 173.748 55.7459 170.516 55.7459C167.201 55.7459 163.948 54.5081 163.822 50.7315H167.515Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M58.6712 19.5331C58.6712 22.1557 60.7067 23.1628 63.0359 23.1628C64.5468 23.1628 66.876 22.7222 66.876 20.7081C66.876 18.568 63.8962 18.2533 61.0214 17.456C58.1047 16.7427 55.1459 15.5048 55.1459 11.8542C55.1459 7.80488 58.944 5.89563 62.5113 5.89563C66.6242 5.89563 70.4013 7.679 70.4013 12.2318H66.2045C66.0576 9.88198 64.4209 9.25256 62.3225 9.25256C60.9375 9.25256 59.3427 9.84002 59.3427 11.4765C59.3427 12.9871 60.287 13.2179 65.2182 14.4558C66.6871 14.7915 71.0728 15.7566 71.0728 20.1835C71.0728 23.7922 68.2609 26.4988 62.889 26.4988C58.5243 26.4988 54.4325 24.3587 54.5164 19.4912H58.6712V19.5331Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M86.8738 26.0582H83.1596V24.065H83.0757C82.0894 25.6805 80.3687 26.4358 78.711 26.4358C74.5562 26.4358 73.507 24.086 73.507 20.5612V11.8122H77.431V19.8688C77.431 22.2187 78.1025 23.3726 79.949 23.3726C82.0684 23.3726 82.9917 22.1977 82.9917 19.3023V11.8122H86.9157V26.0582H86.8738Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M90.1052 11.8122H93.8194V14.4558H93.8824C94.6168 12.6724 96.4634 11.4346 98.4359 11.4346C98.7297 11.4346 99.0234 11.4975 99.2962 11.5814V15.2111C98.9395 15.1272 98.3519 15.0642 97.8903 15.0642C94.9945 15.0642 94.0292 17.0994 94.0292 19.6381V26.0582H90.1052V11.8122Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M109.62 26.0581H105.256L100.366 11.8122H104.479L107.48 21.5473H107.543L110.544 11.8122H114.426L109.62 26.0581Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M118.979 19.8898C119.084 22.4075 120.28 23.4985 122.483 23.4985C124.057 23.4985 125.316 22.5334 125.568 21.6522H129.01C127.897 25.0511 125.568 26.4568 122.337 26.4568C117.846 26.4568 115.055 23.3726 115.055 18.9667C115.055 14.6866 118.014 11.4346 122.337 11.4346C127.184 11.4346 129.555 15.5048 129.261 19.8898H118.979ZM125.358 17.3931C125.002 15.3999 124.141 14.3719 122.253 14.3719C119.714 14.3719 119.084 16.3021 119 17.3931H125.358Z\",\"fill\":\"#303030\"}}),_c('path',{attrs:{\"d\":\"M138.389 27.8415C137.529 30.1284 136.165 31.0726 133.479 31.0726C132.682 31.0726 131.884 31.0096 131.087 30.9257V27.6947C131.821 27.7786 132.598 27.8625 133.374 27.8415C134.402 27.7366 134.885 26.9393 134.885 26.0582C134.885 25.7644 134.822 25.4497 134.717 25.177L129.702 11.8122H133.899L137.13 21.5683H137.193L140.299 11.8122H144.349L138.389 27.8415Z\",\"fill\":\"#303030\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Logo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./_Logo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./_Logo.vue?vue&type=template&id=60c41e61&\"\nimport script from \"./_Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./_Logo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { marked } from 'marked'\r\nimport mdEditor from '@/hqapp/components/MdEditor'\r\nimport Logo from './_Logo.vue'\r\nimport Vue from 'vue'\r\n\r\nexport default {\r\n props: {\r\n logoUrl: String,\r\n hasLogo: Boolean,\r\n questionnaireId: String,\r\n questionnaireTitle: String,\r\n webInterviewPageMessages: Object,\r\n },\r\n\r\n components: { Logo, mdEditor },\r\n\r\n mounted() {\r\n var self = this\r\n this.$eventHub.$on('settings:page:active', ({ titleType, messageType }) => {\r\n if (titleType && self.$refs[titleType]) {\r\n self.$refs[titleType].resize()\r\n }\r\n\r\n if (messageType && self.$refs[messageType]) {\r\n self.$refs[messageType].refresh()\r\n }\r\n })\r\n },\r\n\r\n methods: {\r\n\r\n isDirty(formName) {\r\n const form = this.fields[formName]\r\n const keys = Object.keys((this.fields || {})[formName] || {})\r\n return keys.some(key => form[key].dirty || form[key].changed)\r\n },\r\n\r\n dummy() {\r\n return false\r\n },\r\n\r\n previewHtml(text) {\r\n var html = marked(this.previewText(text))\r\n return html\r\n },\r\n previewText(text) {\r\n if (text == null)\r\n return ''\r\n\r\n return text\r\n .replace(/%SURVEYNAME%/g, this.questionnaireTitle)\r\n .replace(/%QUESTIONNAIRE%/g, this.questionnaireTitle)\r\n },\r\n\r\n async savePageTextEditMode(scope, titleType, messageType, buttonText) {\r\n var self = this\r\n var validationResult = await this.$validator.validateAll(scope)\r\n if (validationResult) {\r\n var editTitleText = this.webInterviewPageMessages[titleType]\r\n var editDescriptionText = this.webInterviewPageMessages[messageType]\r\n self.$store.dispatch('showProgress')\r\n\r\n try {\r\n await this.$hq.WebInterviewSettings.updatePageMessage(\r\n self.questionnaireId, titleType, editTitleText.text, messageType, editDescriptionText.text,\r\n buttonText, buttonText !== undefined ? this.webInterviewPageMessages[buttonText].text : undefined)\r\n\r\n editTitleText.cancelText = editTitleText.text\r\n editDescriptionText.cancelText = editDescriptionText.text\r\n\r\n if (buttonText !== undefined)\r\n self.webInterviewPageMessages[buttonText].cancelText = self.webInterviewPageMessages[buttonText].text\r\n self.$validator.reset(scope)\r\n }\r\n catch (error) {\r\n Vue.config.errorHandler(error, self)\r\n }\r\n finally {\r\n self.$store.dispatch('hideProgress')\r\n }\r\n }\r\n },\r\n cancelPageTextEditMode(scope, titleType, messageType, buttonText) {\r\n var editTitleText = this.webInterviewPageMessages[titleType]\r\n var editDescriptionText = this.webInterviewPageMessages[messageType]\r\n editTitleText.text = editTitleText.cancelText\r\n editDescriptionText.text = editDescriptionText.cancelText\r\n\r\n if (buttonText !== undefined) {\r\n var editButtonText = this.webInterviewPageMessages[buttonText]\r\n editButtonText.text = editButtonText.cancelText\r\n }\r\n this.$validator.reset(scope)\r\n },\r\n },\r\n}","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapDashboard.vue?vue&type=style&index=0&id=2903be0c&prod&scoped=true&lang=css&\"","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane active page-preview-block\",attrs:{\"role\":\"tabpanel\",\"id\":\"welcome\"}},[_c('form',{attrs:{\"data-vv-scope\":'welcomePage'},on:{\"submit\":function($event){$event.preventDefault();return _vm.dummy.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex f-row\"},[_c('div',{staticClass:\"costomization-block\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Title'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('welcomePage.welcomeTextTitle') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['welcomeText'].text }},[_c('textarea-autosize',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"welcomeTextTitle\",staticClass:\"form-control js-elasticArea font-bold\",attrs:{\"data-vv-name\":\"welcomeTextTitle\",\"min-height\":77,\"maxlength\":\"200\",\"placeholder\":\"Please enter the main text\"},model:{value:(_vm.webInterviewPageMessages['welcomeText'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['welcomeText'], \"text\", $$v)},expression:\"webInterviewPageMessages['welcomeText'].text\"}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['welcomeText'].text=''}}},[_c('span')]),(_vm.errors.first('welcomePage.welcomeTextTitle'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()],1)])]),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Description'))+\" \")]),_c('md-editor',{directives:[{name:\"validate\",rawName:\"v-validate\"}],ref:\"welcomeTextDescription\",attrs:{\"data-vv-name\":\"invitation\"},model:{value:(_vm.webInterviewPageMessages['invitation'].text),callback:function ($$v) {_vm.$set(_vm.webInterviewPageMessages['invitation'], \"text\", $$v)},expression:\"webInterviewPageMessages['invitation'].text\"}})],1),_c('div',{staticClass:\"row-element mb-30\"},[_c('div',{staticClass:\"h5\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.StartNew'))+\" \")]),_c('div',{staticClass:\"form-group\",class:{ 'has-error': _vm.errors.has('welcomePage.startNewButton') }},[_c('div',{staticClass:\"field\",class:{ 'answered': _vm.webInterviewPageMessages['startNewButton'].text }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.webInterviewPageMessages['startNewButton'].text),expression:\"webInterviewPageMessages['startNewButton'].text\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"startNewButton\",staticClass:\"form-control\",attrs:{\"type\":\"text\",\"data-vv-name\":\"startNewButton\",\"maxlength\":\"200\"},domProps:{\"value\":(_vm.webInterviewPageMessages['startNewButton'].text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.webInterviewPageMessages['startNewButton'], \"text\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.webInterviewPageMessages['startNewButton'].text=''}}},[_c('span')]),(_vm.errors.first('welcomePage.startNewButton'))?_c('span',{staticClass:\"help-block\"},[_vm._v(_vm._s(_vm.$t('WebInterviewSettings.FieldRequired')))]):_vm._e()])])]),_c('div',{},[_c('button',{staticClass:\"btn btn-md btn-success\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$welcomePage')},on:{\"click\":function($event){return _vm.savePageTextEditMode('welcomePage', 'welcomeText', 'invitation', 'startNewButton')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Save'))+\" \")]),_c('button',{staticClass:\"btn btn-md btn-link\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.isDirty('$welcomePage')},on:{\"click\":function($event){return _vm.cancelPageTextEditMode('welcomePage', 'welcomeText', 'invitation', 'startNewButton')}}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewSettings.Cancel'))+\" \")])])]),_c('div',{staticClass:\"preview\"},[_c('div',{staticClass:\"browser-mockup mb-30\"},[_c('div',{staticClass:\"mockup-block d-flex f-row\"},[_c('div',{staticClass:\"icon\"}),_c('div',{staticClass:\"text-example\"},[_c('div',{staticClass:\"row-element mb-30\"},[_c('Logo',{attrs:{\"hasLogo\":_vm.hasLogo,\"logoUrl\":_vm.logoUrl}})],1),_c('div',{staticClass:\"row-element mb-20\"},[_c('div',{staticClass:\"h2\"},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['welcomeText'].text))+\" \")])]),_c('div',{staticClass:\"row-element mb-40\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.previewHtml(_vm.webInterviewPageMessages['invitation'].text))}})]),_c('div',{staticClass:\"row-element mb-40\"},[_c('a',{staticClass:\"btn btn-success btn-lg\",attrs:{\"href\":\"javascript:void(0);\"}},[_vm._v(\" \"+_vm._s(_vm.previewText(_vm.webInterviewPageMessages['startNewButton'].text))+\" \")])])])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=279aca36&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalFrame',{ref:\"manageWorkspaces\",attrs:{\"title\":_vm.$t('Pages.UserManagement_ManageWorkspacesTitle')}},[_c('form',{attrs:{\"onsubmit\":\"return false;\"}},[_c('div',{staticClass:\"action-container\"},[_c('p',{attrs:{\"data-suso\":\"title-add\"},domProps:{\"innerHTML\":_vm._s(_vm.$t('Pages.UserManagement_SubtitleAddInterviewer'))}}),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.UsersManage_WorkspacesFilterTitle')}},[_c('Typeahead',{attrs:{\"control-id\":\"workspaceSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_WorkspacesFilterPlaceholder'),\"value\":_vm.workspace,\"ajax-params\":{ },\"fetch-url\":this.$config.model.workspacesUrl},on:{\"selected\":_vm.onWorkspaceSelected}})],1),_c('FilterBlock',{attrs:{\"title\":_vm.$t('Pages.UsersManage_SupervisorFilterTitle')}},[_c('Typeahead',{attrs:{\"control-id\":\"supervisorSelector\",\"placeholder\":_vm.$t('Pages.UsersManage_SupervisorFilterPlaceholder'),\"value\":_vm.supervisor,\"ajax-params\":{ workspace: (this.workspace || {}).key },\"fetch-url\":this.$config.model.supervisorWorkspaceUrl},on:{\"selected\":_vm.onSupervisorSelected}})],1)],1)]),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary \",attrs:{\"disabled\":!_vm.supervisor,\"type\":\"button\",\"data-suso\":\"btn-add-user\",\"role\":\"confirm\"},on:{\"click\":_vm.add}},[_vm._v(_vm._s(_vm.$t(\"Common.Add\")))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-suso\":\"btn-cancel-user\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddInterviewerToWorkspace.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddInterviewerToWorkspace.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddInterviewerToWorkspace.vue?vue&type=template&id=6525b8d8&\"\nimport script from \"./AddInterviewerToWorkspace.vue?vue&type=script&lang=js&\"\nexport * from \"./AddInterviewerToWorkspace.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(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{4}))$/,\n obsOffsets = {\n UT: 0,\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 };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","\r\n\r\n\r\n","\r\n\r\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalFrame',{ref:\"modal\",attrs:{\"data-suso\":\"change-interview-mode-modal\",\"title\":_vm.title}},[_c('div',{staticClass:\"action-container\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.confirmMessage)}})]),(_vm.receivedByInterviewerItemsCount > 0)?_c('div',{staticClass:\"form-group\",attrs:{\"id\":'group__' + _vm.modalId + '_' + _vm.filteredCount}},[_c('br'),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.internalConfirmReceivedByInterviewer),expression:\"internalConfirmReceivedByInterviewer\"}],staticClass:\"checkbox-filter\",attrs:{\"type\":\"checkbox\",\"id\":'switchModeReceivedByInterviewer_' + _vm.modalId},domProps:{\"checked\":Array.isArray(_vm.internalConfirmReceivedByInterviewer)?_vm._i(_vm.internalConfirmReceivedByInterviewer,null)>-1:(_vm.internalConfirmReceivedByInterviewer)},on:{\"change\":function($event){var $$a=_vm.internalConfirmReceivedByInterviewer,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.internalConfirmReceivedByInterviewer=$$a.concat([$$v]))}else{$$i>-1&&(_vm.internalConfirmReceivedByInterviewer=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.internalConfirmReceivedByInterviewer=$$c}}}}),_c('label',{staticStyle:{\"font-weight\":\"normal\"},attrs:{\"for\":'switchModeReceivedByInterviewer_' + _vm.modalId}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.AssignReceivedConfirm\", _vm.receivedByInterviewerItemsCount))+\" \")]),_c('br'),(_vm.internalConfirmReceivedByInterviewer)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Interviews.SwitchToCawiReceivedWarning\"))+\" \")]):_vm._e()]):_vm._e(),_c('div',{attrs:{\"slot\":\"actions\"},slot:\"actions\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"role\":\"confirm\",\"data-suso\":\"change-interview-mode-modal\",\"disabled\":_vm.filteredCount == 0},on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.title))]),_c('button',{staticClass:\"btn btn-link\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"role\":\"cancel\"}},[_vm._v(_vm._s(_vm.$t(\"Common.Cancel\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeModeModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangeModeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChangeModeModal.vue?vue&type=template&id=0cddaeda&\"\nimport script from \"./ChangeModeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ChangeModeModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"unit-section\",class:_vm.sectionClass,attrs:{\"id\":\"questionsList\"}},[_c('SectionLoadingProgress'),_c('Breadcrumbs',{attrs:{\"showHumburger\":_vm.showHumburger}}),_vm._l((_vm.entities),function(entity){return _c(entity.entityType,{key:entity.identity,tag:\"component\",attrs:{\"id\":entity.identity}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"loading\"},[_c('div',[_vm._v(_vm._s(_vm.$t(\"WebInterviewUI.LoadingWait\")))])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionLoadProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionLoadProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SectionLoadProgress.vue?vue&type=template&id=3087066b&\"\nimport script from \"./SectionLoadProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./SectionLoadProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=1ed91202&\"\nimport script from \"./Section.vue?vue&type=script&lang=js&\"\nexport * from \"./Section.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","/* eslint-disable vue/require-v-for-key */\r\n\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.sections)?_c('aside',{staticClass:\"content\",staticStyle:{\"transform\":\"translateZ(0)\"}},[(_vm.interviewState!=null)?_c('div',{staticClass:\"interview-progress\"},[_c('div',{staticClass:\"progress-counts\"},[_vm._v(\" \"+_vm._s(this.$t('WebInterviewUI.Progress'))+\":\"+_vm._s(_vm.interviewState.answeredQuestionsCount)+\"/\"+_vm._s(_vm.interviewState.activeQuestionCount)+\" \")]),_c('wb-progress',{attrs:{\"striped\":false,\"visible\":_vm.interviewState!=null,\"valuemax\":_vm.interviewState.activeQuestionCount,\"valuenow\":_vm.interviewState.answeredQuestionsCount}}),_c('div',{staticClass:\"progress-percents\"},[_vm._v(\" \"+_vm._s(_vm.progressPercent)+\"% \")])],1):_vm._e(),_c('wb-humburger',{attrs:{\"id\":\"sidebarHamburger\",\"show-foldback-button-as-hamburger\":_vm.showFoldbackButtonAsHamburger}}),_c('div',{staticClass:\"panel-group structured-content\"},[(_vm.showCover)?_c('SidebarPanel',{attrs:{\"panel\":_vm.coverSection}}):_vm._e(),_vm._l((_vm.sections),function(section){return _c('SidebarPanel',{key:section.id,attrs:{\"panel\":section,\"currentPanel\":_vm.currentPanel}})}),(_vm.showComplete && !_vm.$config.splashScreen)?_c('SidebarPanel',{attrs:{\"panel\":_vm.completeSection}}):_vm._e()],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel panel-default\",attrs:{\"data-id\":this.panel.id}},[_c('div',{staticClass:\"panel-heading\",attrs:{\"role\":\"tab\"}},[_c('h3',{staticClass:\"panel-title\",class:_vm.titleCss,attrs:{\"disabled\":_vm.isDisabled}},[(_vm.hasChild)?_c('button',{staticClass:\"btn btn-link btn-plus\",class:{collapsed: _vm.isCollapsed},attrs:{\"disabled\":_vm.isDisabled,\"type\":\"button\"},on:{\"click\":_vm.toggle}},[_c('span')]):_vm._e(),(this.panel)?_c('router-link',{class:{'disabled':_vm.isDisabled},attrs:{\"to\":_vm.to,\"disabled\":_vm.isDisabled}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.title)}})]):_vm._e()],1)]),(_vm.hasChild && !_vm.isCollapsed)?_c('div',{staticClass:\"panel-collapse collapse\",class:{in: !_vm.isCollapsed},attrs:{\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"panel-body\"},[_c('div',{staticClass:\"panel-group\",attrs:{\"role\":\"tablist\"}},[_vm._l((_vm.childPanels),function(childPanel){return _c('sidebar-panel',{key:childPanel.id,attrs:{\"panel\":childPanel,\"currentPanel\":_vm.currentPanel}})}),(_vm.childPanels.length === 0)?_c('sidebar-panel',{attrs:{\"panel\":_vm.loading,\"currentPanel\":_vm.currentPanel}}):_vm._e()],2)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarPanel.vue?vue&type=template&id=8c404c6e&\"\nimport script from \"./SidebarPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarPanel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=6ee67088&\"\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-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","import box from 'bootbox'\r\nimport 'bootstrap/js/modal'\r\n\r\nexport default {\r\n init(i18n, locale) {\r\n box.setLocale(locale)\r\n box.addLocale('ar', {\r\n OK: i18n.t('Common.Ok'),\r\n CANCEL: i18n.t('Common.Cancel'),\r\n CONFIRM: i18n.t('Common.Confirm'),\r\n })\r\n },\r\n confirm(message, callback) {\r\n box.confirm(message, callback)\r\n },\r\n alert(options) {\r\n box.alert(options)\r\n },\r\n dialog(options) {\r\n box.dialog(options)\r\n },\r\n prompt(options){\r\n return box.prompt(options)\r\n },\r\n}\r\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","\r\n\r\n\r\n","\r\n\r\n\r\n","// tslint:disable-next-line:ordered-imports\r\n\r\nimport Vue from 'vue'\r\n\r\nVue.component('Audio', () => import(/* webpackChunkName: \"questions\" */'./Audio'))\r\nVue.component('CategoricalMulti', () => import(/* webpackChunkName: \"questions\" */'./CategoricalMulti'))\r\nVue.component('MultiCombobox', () => import(/* webpackChunkName: \"questions\" */'./MultiCombobox'))\r\nVue.component('CategoricalSingle', () => import(/* webpackChunkName: \"questions\" */'./CategoricalSingle'))\r\nVue.component('CategoricalYesNo', () => import(/* webpackChunkName: \"questions\" */'./CategoricalYesNo'))\r\nVue.component('Combobox', () => import(/* webpackChunkName: \"questions\" */'./Combobox'))\r\nVue.component('DateTime', () => import(/* webpackChunkName: \"questions\" */'./DateTime'))\r\nVue.component('Double', () => import(/* webpackChunkName: \"questions\" */'./Double'))\r\nVue.component('Gps', () => import(/* webpackChunkName: \"questions\" */'./Gps'))\r\nVue.component('Group', () => import(/* webpackChunkName: \"questions\" */'./Group'))\r\nVue.component('GroupTitle', () => import(/* webpackChunkName: \"questions\" */'./GroupTitle'))\r\nVue.component('Integer', () => import(/* webpackChunkName: \"questions\" */'./Integer'))\r\nVue.component('LinkedMulti', () => import(/* webpackChunkName: \"questions\" */'./LinkedMulti'))\r\nVue.component('LinkedSingle', () => import(/* webpackChunkName: \"questions\" */'./LinkedSingle'))\r\nVue.component('Multimedia', () => import(/* webpackChunkName: \"questions\" */'./Multimedia'))\r\nVue.component('NavigationButton', () => import(/* webpackChunkName: \"questions\" */'./NavigationButton'))\r\nVue.component('QRBarcode', () => import(/* webpackChunkName: \"questions\" */'./QRBarcode'))\r\nVue.component('StaticText', () => import(/* webpackChunkName: \"questions\" */'./StaticText'))\r\nVue.component('TextList', () => import(/* webpackChunkName: \"questions\" */'./TextList'))\r\nVue.component('TextQuestion', () => import(/* webpackChunkName: \"questions\" */'./TextQuestion'))\r\nVue.component('Area', () => import(/* webpackChunkName: \"questions\" */'./Geography'))\r\nVue.component('Variable', () => import(/* webpackChunkName: \"questions\" */'./Variable'))\r\nVue.component('TableRoster', () => import(/* webpackChunkName: \"table-roster\" */'./TableRoster'))\r\nVue.component('MatrixRoster', () => import(/* webpackChunkName: \"matrix-roster\" */'./MatrixRoster'))\r\nVue.component('Unsupported', () => import(/* webpackChunkName: \"questions\" */'./Unsupported'))\r\n\r\nVue.component('TableRoster_TextQuestion', () => import(/* webpackChunkName: \"table-roster\" */'./TableRoster.TextQuestion'))\r\nVue.component('TableRoster_Integer', () => import(/* webpackChunkName: \"table-roster\" */'./TableRoster.Integer'))\r\nVue.component('TableRoster_Double', () => import(/* webpackChunkName: \"table-roster\" */'./TableRoster.Double'))\r\nVue.component('TableRoster_Unsupported', () => import(/* webpackChunkName: \"table-roster\" */'./TableRoster.Unsupported'))\r\n\r\nVue.component('MatrixRoster_CategoricalSingle', () => import(/* webpackChunkName: \"matrix-roster\" */'./MatrixRoster.CategoricalSingle'))\r\nVue.component('MatrixRoster_CategoricalMulti', () => import(/* webpackChunkName: \"matrix-roster\" */'./MatrixRoster.CategoricalMulti'))\r\nVue.component('MatrixRoster_Unsupported', () => import(/* webpackChunkName: \"matrix-roster\" */'./MatrixRoster.Unsupported'))\r\n\r\nVue.component('wb-question', () => import( /* webpackChunkName: \"questions\" */ './Question'))\r\nVue.component('wb-humburger', () => import( /* webpackChunkName: \"questions\" */ './ui/humburger'))\r\nVue.component('wb-typeahead', () => import( /* webpackChunkName: \"questions\" */ './ui/typeahead'))\r\n\r\nexport const GroupStatus = {\r\n Disabled: 'Disabled',\r\n NotStarted: 'NotStarted',\r\n Started: 'Started',\r\n StartedInvalid: 'StartedInvalid',\r\n Completed: 'Completed',\r\n CompletedInvalid: 'CompletedInvalid',\r\n}\r\n\r\nexport const ButtonType = {\r\n Start: 'Start',\r\n Next: 'Next',\r\n Parent: 'Parent',\r\n Complete: 'Complete',\r\n}\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","import moment from 'moment-timezone'\r\n\r\nexport const browserLanguage = window.CONFIG.locale.locale\r\n\r\nexport function getLocationHash(questionid) {\r\n return 'loc_' + questionid\r\n}\r\n\r\nexport const DateFormats = {\r\n dateTime: 'YYYY-MM-DD HH:mm:ss',\r\n date: 'YYYY-MM-DD',\r\n dateTimeInList: 'MMM DD, YYYY HH:mm',\r\n}\r\n\r\nexport function humanFileSize(bytes, si) {\r\n var thresh = si ? 1000 : 1024\r\n if (Math.abs(bytes) < thresh) {\r\n return bytes + ' B'\r\n }\r\n var units = si\r\n ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\r\n : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\r\n var u = -1\r\n do {\r\n bytes /= thresh\r\n ++u\r\n } while (Math.abs(bytes) >= thresh && u < units.length - 1)\r\n return bytes.toFixed(1) + ' ' + units[u]\r\n}\r\n\r\nexport function convertToLocal(startUtc, startTimezone) {\r\n return startUtc == null\r\n ? null\r\n : moment.utc(startUtc)\r\n .tz(startTimezone)\r\n .local()\r\n .format(DateFormats.dateTimeInList)\r\n}","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","import Assignments from './Assignments'\r\nimport Interviews from './Interviews'\r\nimport Vue from 'vue'\r\nimport PNotify from 'pnotify'\r\n\r\n\r\nconst store = {\r\n state: {\r\n pendingHandle: null,\r\n },\r\n actions: {\r\n createInterview({ dispatch }, assignmentId) {\r\n dispatch('showProgress', true)\r\n\r\n $.post(\r\n {\r\n url: Vue.$config.model.interviewerHqEndpoint + '/StartNewInterview/' + assignmentId,\r\n headers: {\r\n 'X-CSRF-TOKEN': Vue.$hq.Util.getCsrfCookie(),\r\n },\r\n }\r\n )\r\n .done(function( data ) {\r\n dispatch('showProgress', true)\r\n const interviewId = data.interviewId\r\n const workspace = Vue.$config.workspace\r\n const url = `/${workspace}/WebInterview/${interviewId}/Cover`\r\n window.location = url\r\n })\r\n .catch(data => {\r\n new PNotify({\r\n title: 'Unhandled error occurred',\r\n text: data.responseStatus,\r\n type: 'error',\r\n })\r\n dispatch('hideProgress')\r\n })\r\n .then(() => dispatch('hideProgress'))\r\n },\r\n openInterview(context, interviewId) {\r\n context.dispatch('showProgress', true)\r\n window.location = Vue.$config.model.interviewerHqEndpoint + '/OpenInterview/' + interviewId\r\n },\r\n\r\n discardInterview(context, { callback, interviewId }) {\r\n $.ajax({\r\n url: Vue.$config.model.interviewerHqEndpoint + '/DiscardInterview/' + interviewId,\r\n type: 'DELETE',\r\n success: callback,\r\n headers: {\r\n 'X-CSRF-TOKEN': Vue.$hq.Util.getCsrfCookie(),\r\n },\r\n })\r\n },\r\n },\r\n}\r\n\r\nexport default class InterviewerHqComponent {\r\n constructor(rootStore) {\r\n this.rootStore = rootStore\r\n }\r\n\r\n get routes() {\r\n return [{\r\n path: '/InterviewerHq/CreateNew', component: Assignments,\r\n }, {\r\n path: '/InterviewerHq/Rejected', component: Interviews,\r\n }, {\r\n path: '/InterviewerHq/Completed', component: Interviews,\r\n }, {\r\n path: '/InterviewerHq/Started', component: Interviews,\r\n }]\r\n }\r\n\r\n get modules() { return { hqinterviewer: store } }\r\n}\r\n","import * as toastr from 'toastr'\r\nimport Vue from 'vue'\r\n\r\n/* eslint:disable:no-console */\r\nVue.config.errorHandler = (error, vm) => {\r\n if (error.response.data != null) {\r\n var data = error.response.data\r\n\r\n // handling asp net core validation errors\r\n if (data.Type == 'https://tools.ietf.org/html/rfc7231#section-6.5.1') {\r\n let message = ''\r\n Object.keys(data.Errors).forEach(k => {\r\n message += k + ':\\r\\n'\r\n data.Errors[k].forEach(errMessage => message += ' ' + errMessage + '\\r\\n')\r\n })\r\n\r\n console.error(data)\r\n toastr.error(message, data.Title)\r\n return\r\n }\r\n }\r\n console.error(error, vm)\r\n toastr.error(error)\r\n}\r\n\r\nfunction toastErr(err, message) {\r\n if (window.CONFIG.verboseMode) {\r\n console.error(message, err)\r\n }\r\n\r\n toastr.error(message, 'Error', {\r\n preventDuplicates: true,\r\n })\r\n}\r\n\r\nfunction wrap(name, method, section) {\r\n // tslint:disable-next-line:only-arrow-functions - we need arguments param here, it cannot be used in arrow function\r\n return function __action_wrapper() {\r\n try {\r\n if (window.CONFIG.verboseMode) {\r\n const argument = arguments[1] == null ? null : JSON.parse(JSON.stringify(arguments[1]))\r\n if (argument && Object.prototype.hasOwnProperty.call(argument, 'source'))\r\n console.debug('call', section, 'from', argument.source, name, argument)\r\n else\r\n console.debug('call', section, name, argument)\r\n }\r\n\r\n const result = method.apply(this, arguments)\r\n\r\n if (result) {\r\n var isPromise = typeof result.then == 'function'\r\n\r\n // handle async exceptions\r\n if (isPromise) {\r\n result.catch(err => {\r\n console.error(name, err)\r\n toastErr(err, name + ': ' + err.message)\r\n })\r\n }\r\n }\r\n\r\n return result\r\n } catch (err) {\r\n toastr.error(err.message)\r\n console.error(name, err)\r\n }\r\n }\r\n}\r\n\r\nfunction handleErrors(object, section) {\r\n let method\r\n\r\n for (const name in object) {\r\n if (typeof object[name] === 'function') {\r\n method = object[name]\r\n if (method.name != '__action_wrapper')\r\n object[name] = wrap(name, method, section)\r\n }\r\n }\r\n\r\n return object\r\n}\r\n\r\nexport function safeStore(storeConfig, fieldToSafe = ['actions', 'mutations']) {\r\n\r\n function wrapFields(config) {\r\n for (const field in fieldToSafe) {\r\n const item = fieldToSafe[field]\r\n\r\n if (Object.prototype.hasOwnProperty.call(config, item)) {\r\n config[item] = handleErrors(config[item], item)\r\n }\r\n }\r\n }\r\n\r\n wrapFields(storeConfig)\r\n\r\n if (Object.prototype.hasOwnProperty.call(storeConfig, 'modules')) {\r\n Object.keys(storeConfig.modules).forEach((module) => wrapFields(storeConfig.modules[module]))\r\n }\r\n\r\n storeConfig.actions.UNHANDLED_ERROR = (ctx, error) => {\r\n console.error(name, error)\r\n toastErr(error, error.message)\r\n }\r\n\r\n return storeConfig\r\n}\r\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","const config = global.CONFIG\r\n\r\n/* the Plugin */\r\nexport default Object.assign(global.CONFIG || {}, {\r\n install(Vue) {\r\n\r\n config.hubName = config.hubName || 'interview'\r\n\r\n // /* expose a global API method */\r\n Object.defineProperty(Vue, '$config', {\r\n get() {\r\n return config\r\n },\r\n })\r\n\r\n /* expose a local API method */\r\n Object.defineProperty(Vue.prototype, '$config', {\r\n get() {\r\n return config\r\n },\r\n })\r\n },\r\n})\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Layout',[_c('Navbar',{attrs:{\"slot\":\"header\"},slot:\"header\"}),_c('div',{staticClass:\"row\",attrs:{\"slot\":\"\"},slot:\"default\"},[_c('router-view',{attrs:{\"name\":\"sideBar\"}}),_c('section',{staticClass:\"questionnaire details-interview\"},[_c('router-view',{attrs:{\"mode\":\"web\"}})],1),_c('IdleTimeoutService')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5964600c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","import Vue from 'vue'\r\nimport i18next from 'i18next'\r\n\r\nexport default {\r\n initialize(browserLanguage) {\r\n const locale = browserLanguage.split('-')[0]\r\n\r\n const options = {\r\n lng: locale,\r\n nsSeparator: '.',\r\n keySeparator: ':',\r\n fallbackLocale: 'en',\r\n resources: {\r\n [locale]: window.CONFIG.locale.data,\r\n },\r\n interpolation: { escapeValue: false },\r\n saveMissing: true,\r\n missingKeyHandler(lng, ns, key, fallbackValue) {\r\n console.warn('Missing translation for language', lng, 'key',ns + '.' + fallbackValue)\r\n },\r\n appendNamespaceToMissingKey: true,\r\n parseMissingKeyHandler(key) {\r\n return '[' + key + ']'\r\n },\r\n }\r\n i18next.init(options)\r\n\r\n Vue.$t = function() {\r\n return i18next.t.apply(i18next, arguments)\r\n }\r\n\r\n Vue.prototype.$t = function() {\r\n return i18next.t.apply(i18next, arguments)\r\n }\r\n\r\n return i18next\r\n },\r\n}\r\n","import { isNumber, parseInt } from 'lodash'\r\n\r\nexport function formatNumber(value) {\r\n if (value == null || value == undefined)\r\n return value\r\n if (!isNumber(value)) {\r\n const parseRes = parseInt(value)\r\n if (isNaN(parseRes)) {\r\n return value\r\n }\r\n value = parseRes\r\n }\r\n\r\n var language = navigator.languages && navigator.languages[0] ||\r\n navigator.language ||\r\n navigator.userLanguage\r\n return value.toLocaleString(language)\r\n}\r\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MapReport.vue?vue&type=style&index=0&id=d28d4da4&prod&lang=css&\"","import Vue from 'vue'\r\nconst $ = window.jQuery\r\n\r\nVue.directive('maskedText', {\r\n bind: (el, binding) => {\r\n if (binding.value) {\r\n const input = $(el)\r\n input.mask(binding.value, {\r\n onChange: function () {\r\n input.data('maskCompleted', false)\r\n },\r\n onComplete: function () {\r\n input.data('maskCompleted', true)\r\n },\r\n translation: {\r\n '0': { pattern: /0/, fallback: '0' },\r\n '~': { pattern: /[a-zA-Z]/ },\r\n '#': { pattern: /\\d/ },\r\n '*': { pattern: /[a-zA-Z0-9]/ },\r\n '9': { pattern: /9/, fallback: '9' },\r\n 'A': { pattern: /A/, fallback: 'A' },\r\n 'S': { pattern: /S/, fallback: 'S' },\r\n },\r\n })\r\n }\r\n },\r\n})\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasCompleteInfo)?_c('div',{staticClass:\"unit-section first-last-chapter\",class:{'section-with-error' : _vm.hasInvalidQuestions, 'complete-section' : _vm.isAllAnswered }},[_c('div',{staticClass:\"unit-title\"},[_c('wb-humburger'),_c('h3',[_vm._v(_vm._s(_vm.competeButtonTitle))])],1),_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('WebInterviewUI.CompleteAbout')))])])]),_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('h4',{staticClass:\"gray-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewUI.CompleteQuestionsStatus'))+\" \")]),_c('div',{staticClass:\"question-status\"},[_c('ul',{staticClass:\"list-inline clearfix\"},[_c('li',{staticClass:\"answered\",class:{'has-value' : _vm.hasAnsweredQuestions }},[_vm._v(_vm._s(_vm.answeredQuestionsCountString)+\" \"),_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewUI.CompleteQuestionsAnswered')))])]),_c('li',{staticClass:\"unanswered\",class:{'has-value' : _vm.hasUnansweredQuestions }},[_vm._v(_vm._s(_vm.unansweredQuestionsCountString)+\" \"),_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewUI.CompleteQuestionsUnanswered')))])]),_c('li',{staticClass:\"errors\",class:{'has-value' : _vm.hasInvalidQuestions }},[_vm._v(_vm._s(_vm.invalidQuestionsCountString)+\" \"),_c('span',[_vm._v(_vm._s(_vm.$t('WebInterviewUI.Error', { count: _vm.completeInfo.errorsCount })))])])])])])]),(_vm.completeInfo.entitiesWithError.length > 0)?_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('h4',{staticClass:\"gray-uppercase\"},[_vm._v(_vm._s(_vm.doesShowErrorsCommentWithCount ? _vm.$t('WebInterviewUI.CompleteFirstErrors', { count: _vm.completeInfo.entitiesWithError.length }) : _vm.$t('WebInterviewUI.CompleteErrors')))]),_c('ul',{staticClass:\"list-unstyled marked-questions\"},_vm._l((_vm.completeInfo.entitiesWithError),function(entity){return _c('li',{key:entity.id},[_c('a',{attrs:{\"href\":\"javascript:void(0);\"},domProps:{\"innerHTML\":_vm._s(entity.title)},on:{\"click\":function($event){return _vm.navigateTo(entity)}}})])}),0)])]):_vm._e(),_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('label',{staticClass:\"gray-uppercase\",attrs:{\"for\":\"comment-for-supervisor\"}},[_vm._v(\" \"+_vm._s(_vm.noteToSupervisor)+\" \")]),_c('div',{staticClass:\"field\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.comment),expression:\"comment\"}],staticClass:\"field-to-fill\",attrs:{\"id\":\"comment-for-supervisor\",\"placeholder\":_vm.$t('WebInterviewUI.TextEnter')},domProps:{\"value\":(_vm.comment)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.comment=$event.target.value}}}),_vm._m(0)])])]),(_vm.mayBeSwitchedToWebMode)?_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[(_vm.mayBeSwitchedToWebMode)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.switchToWeb),expression:\"switchToWeb\"}],staticClass:\"wb-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"switchToWeb_id\",\"name\":\"switchToWeb\"},domProps:{\"checked\":Array.isArray(_vm.switchToWeb)?_vm._i(_vm.switchToWeb,null)>-1:(_vm.switchToWeb)},on:{\"change\":function($event){var $$a=_vm.switchToWeb,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.switchToWeb=$$a.concat([$$v]))}else{$$i>-1&&(_vm.switchToWeb=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.switchToWeb=$$c}}}}):_vm._e(),(_vm.mayBeSwitchedToWebMode)?_c('label',{staticClass:\"font-bold\",attrs:{\"for\":\"switchToWeb_id\"}},[_c('span',{staticClass:\"tick\"}),_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewUI.SwitchToWebMode'))+\" \")]):_vm._e()]),(_vm.switchToWeb)?_c('div',{staticClass:\"container-info action-block\"},[_c('p',{attrs:{\"calss\":\"gray-uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.$t('WebInterviewUI.SwitchToWebMode_LinkDescription'))+\" \")]),_c('p',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.webLink)+\" \")])]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"wrapper-info\"},[_c('div',{staticClass:\"container-info\"},[_c('a',{staticClass:\"btn btn-lg\",class:{\n 'btn-success': _vm.isAllAnswered,\n 'btn-primary' : _vm.hasUnansweredQuestions,\n 'btn-danger' : _vm.hasInvalidQuestions },attrs:{\"href\":\"javascript:void(0);\",\"id\":\"btnComplete\"},on:{\"click\":_vm.completeInterview}},[_vm._v(_vm._s(_vm.competeButtonTitle))])])])]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn btn-link btn-clear\",attrs:{\"type\":\"submit\"}},[_c('span')])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Complete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Complete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Complete.vue?vue&type=template&id=b48eb848&\"\nimport script from \"./Complete.vue?vue&type=script&lang=js&\"\nexport * from \"./Complete.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"unit-section\",attrs:{\"id\":\"questionsList\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Splash.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Splash.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Splash.vue?vue&type=template&id=2de36b25&\"\nimport script from \"./Splash.vue?vue&type=script&lang=js&\"\nexport * from \"./Splash.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\nVue.use(VueRouter)\r\n\r\nimport Complete from '../components/Complete'\r\nimport Cover from '../components/Cover'\r\nimport Section from '../components/Section'\r\nimport SideBar from '../components/Sidebar'\r\nimport Splash from '../components/Splash'\r\n\r\nconst Interview = () => import(/* webpackChunkName: \"interview\" */'~/webinterview/components/Interview.vue')\r\n\r\nfunction NewRouter(store) {\r\n\r\n const router = new VueRouter({\r\n base: Vue.$config.virtualPath,\r\n mode: 'history',\r\n routes: [\r\n {\r\n name: 'finish',\r\n path: '/Finish/:interviewId',\r\n },\r\n {\r\n name: 'splash',\r\n path: '/run/:interviewId',\r\n components: {\r\n default: Splash,\r\n sideBar: SideBar,\r\n },\r\n },\r\n {\r\n name: 'WebInterview',\r\n path: '/:interviewId',\r\n components: {\r\n default: Interview,\r\n sideBar: SideBar,\r\n },\r\n children: [\r\n {\r\n name: 'prefilled',\r\n path: 'Cover',\r\n component: Cover,\r\n beforeEnter: (to, from, next) => {\r\n if (Vue.$config.coverPageId)\r\n next({ name: 'cover', params: { interviewId: to.params.interviewId } })\r\n else\r\n next()\r\n },\r\n },\r\n {\r\n name: 'cover',\r\n path: 'Section/' + (Vue.$config.coverPageId || 'newcover'),\r\n component: Cover,\r\n beforeEnter: (to, from, next) => {\r\n if (Vue.$config.coverPageId)\r\n to.params.sectionId = Vue.$config.coverPageId\r\n next()\r\n },\r\n },\r\n {\r\n name: 'section',\r\n path: 'Section/:sectionId',\r\n component: Section,\r\n beforeEnter: (to, from, next) => {\r\n if (Vue.$config.coverPageId && to.params.sectionId == Vue.$config.coverPageId)\r\n next({ name: 'cover' })\r\n else\r\n next()\r\n },\r\n },\r\n {\r\n name: 'complete',\r\n path: 'Complete',\r\n component: Complete,\r\n },\r\n ],\r\n },\r\n ],\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n store.dispatch('sectionRequireScroll', { id: (from.params).sectionId })\r\n } else {\r\n return { x: 0, y: 0 }\r\n }\r\n },\r\n })\r\n\r\n // tslint:disable:no-string-literal\r\n router.beforeEach(async (to, from, next) => {\r\n if (Vue.$config.splashScreen) { next(); return }\r\n next()\r\n })\r\n\r\n router.afterEach(() => {\r\n const hamburger = document.getElementById('sidebarHamburger')\r\n\r\n // check for button visibility.\r\n if (hamburger && hamburger.offsetParent != null) {\r\n store.dispatch('toggleSidebarPanel', false /* close sidebar panel */)\r\n }\r\n })\r\n\r\n store.subscribeAction((action, state) => {\r\n switch (action.type) {\r\n case 'finishInterview':\r\n location.replace(router.resolve({ name: 'finish', params: { interviewId: state.route.params.interviewId } }).href)\r\n break\r\n case 'navigateTo':\r\n router.replace(action.payload)\r\n break\r\n }\r\n })\r\n\r\n return router\r\n}\r\n\r\nexport default NewRouter\r\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","\r\n\r\n\r\n","\r\n\r\n\r\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n"],"sourceRoot":""}