{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./app/javascript/src/suchiUtil.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/math.js","webpack:///./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/popper-lite.js","webpack:///(webpack)/buildin/module.js","webpack:///./app/javascript/src/muitiple-selective-checkbox.js","webpack:///(webpack)/buildin/global.js","webpack:///./app/javascript/packs/modules/delete_parameter_from_url.js","webpack:///./app/javascript/src/untenShikinSlider.js","webpack:///./app/javascript/packs/modules/select_on_change_submit.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.esm.js","webpack:///./node_modules/swiper/swiper-bundle.js","webpack:///./app/javascript/images/mail/mail_banner_01.png","webpack:///./app/javascript/images/mail/mail_banner_02.png","webpack:///./app/javascript/images/mail/mail_banner_03.png","webpack:///./app/javascript/src/founding-template.js","webpack:///./app/javascript/src/kaigyoShikinSlider.js","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./node_modules/trix/dist/trix.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@rails/actiontext/app/assets/javascripts/actiontext.js","webpack:///./app/javascript/images/Sougyokeikakusyo.png","webpack:///./app/javascript/images/Suuchikeikakusyo.png","webpack:///./app/javascript/images/arrow.svg","webpack:///./app/javascript/images/arrow-01.svg","webpack:///./app/javascript/images/arrow-01-white.svg","webpack:///./app/javascript/images/banner--lp-fv-search.png","webpack:///./app/javascript/images/banner--ls-bpsp.png","webpack:///./app/javascript/images/banner--ls-freenance.png","webpack:///./app/javascript/images/banner--ls-kaikeisoft.png","webpack:///./app/javascript/images/banner--ls-kakuteishinkoku.png","webpack:///./app/javascript/images/banner--ls-kyuyoservice.png","webpack:///./app/javascript/images/banner--ls-lending-shikinbanner.png","webpack:///./app/javascript/images/banner--ls-mail.png","webpack:///./app/javascript/images/banner--ls-misoca.png","webpack:///./app/javascript/images/banner--ls-sogyokeikaku.png","webpack:///./app/javascript/images/bg--plans-lp-fv.png","webpack:///./app/javascript/images/bnr--dreamgate--bp-entry--wide_600_120.png","webpack:///./app/javascript/images/bnr--dreamgate--bp-entry--wide_792_200.png","webpack:///./app/javascript/images/bnr--dreamgate--bp-entry_300_300.png","webpack:///./app/javascript/images/bnr--kaikei--pc.png","webpack:///./app/javascript/images/bnr--kaikei--wide--sp.png","webpack:///./app/javascript/images/bnr--misoca--pc.png","webpack:///./app/javascript/images/bnr--misoca--wide--sp.png","webpack:///./app/javascript/images/bnr--shindan-lp--pc.png","webpack:///./app/javascript/images/bnr--shindan-lp--sp.png","webpack:///./app/javascript/images/bnr--shinkoku--pc.png","webpack:///./app/javascript/images/bnr--shinkoku--wide--sp.png","webpack:///./app/javascript/images/icon--A.svg","webpack:///./app/javascript/images/icon--B.svg","webpack:///./app/javascript/images/icon--C.svg","webpack:///./app/javascript/images/icon--S.svg","webpack:///./app/javascript/images/icon--accordion--circle--minus.svg","webpack:///./app/javascript/images/icon--accordion--circle--plus.svg","webpack:///./app/javascript/images/icon--account.svg","webpack:///./app/javascript/images/icon--alert-triangle.svg","webpack:///./app/javascript/images/icon--alert-triangle--red.svg","webpack:///./app/javascript/images/icon--announce--expire-soon.svg","webpack:///./app/javascript/images/icon--announce--expired.svg","webpack:///./app/javascript/images/icon--anounce.svg","webpack:///./app/javascript/images/icon--arrow--back-page.svg","webpack:///./app/javascript/images/icon--arrow--back-page--hover.svg","webpack:///./app/javascript/images/icon--arrow--blue.svg","webpack:///./app/javascript/images/icon--arrow--breadcrumb.svg","webpack:///./app/javascript/images/icon--arrow--next.svg","webpack:///./app/javascript/images/icon--arrow--next--history.svg","webpack:///./app/javascript/images/icon--arrow--next--learn.svg","webpack:///./app/javascript/images/icon--arrow--next--top-fv-card.svg","webpack:///./app/javascript/images/icon--arrow--pink.svg","webpack:///./app/javascript/images/icon--arrow--prev.svg","webpack:///./app/javascript/images/icon--arrow--prev--history.svg","webpack:///./app/javascript/images/icon--arrow--right.svg","webpack:///./app/javascript/images/icon--arrow--selectbox.svg","webpack:///./app/javascript/images/icon--arrow--stepper.svg","webpack:///./app/javascript/images/icon--arrow--stepper--active.svg","webpack:///./app/javascript/images/icon--arrow--tab--on.svg","webpack:///./app/javascript/images/icon--arrow--yellow.svg","webpack:///./app/javascript/images/icon--arrow-next--search-result-card.svg","webpack:///./app/javascript/images/icon--arrow-next--search-result-card--hover.svg","webpack:///./app/javascript/images/icon--arrowhead-down.svg","webpack:///./app/javascript/images/icon--arrowhead-up.svg","webpack:///./app/javascript/images/icon--back-to-top.svg","webpack:///./app/javascript/images/icon--bad.svg","webpack:///./app/javascript/images/icon--beginner--xs.svg","webpack:///./app/javascript/images/icon--bell.svg","webpack:///./app/javascript/images/icon--bell--blue--lg.svg","webpack:///./app/javascript/images/icon--bell--blue--sm.svg","webpack:///./app/javascript/images/icon--bell--xs.svg","webpack:///./app/javascript/images/icon--book--xs.svg","webpack:///./app/javascript/images/icon--bs-designer.png","webpack:///./app/javascript/images/icon--bs-hudosan.png","webpack:///./app/javascript/images/icon--bs-inshoku.png","webpack:///./app/javascript/images/icon--bs-it.png","webpack:///./app/javascript/images/icon--bs-kensetsu.png","webpack:///./app/javascript/images/icon--bs-kouri.png","webpack:///./app/javascript/images/icon--bs-netshop.png","webpack:///./app/javascript/images/icon--bs-ribiyo.png","webpack:///./app/javascript/images/icon--bs-seitai.png","webpack:///./app/javascript/images/icon--bs-sonota.png","webpack:///./app/javascript/images/icon--bs-unso.png","webpack:///./app/javascript/images/icon--bs-webapp.png","webpack:///./app/javascript/images/icon--bs-writer.png","webpack:///./app/javascript/images/icon--building.svg","webpack:///./app/javascript/images/icon--bullet.svg","webpack:///./app/javascript/images/icon--chasefooter--consulting.svg","webpack:///./app/javascript/images/icon--chasefooter--external--link.svg","webpack:///./app/javascript/images/icon--chasefooter--relation.svg","webpack:///./app/javascript/images/icon--checkbox.svg","webpack:///./app/javascript/images/icon--checkbox-checked.svg","webpack:///./app/javascript/images/icon--checkmark.svg","webpack:///./app/javascript/images/icon--checkmark--cyan-blue.svg","webpack:///./app/javascript/images/icon--checkmark--white.svg","webpack:///./app/javascript/images/icon--chevron_right.svg","webpack:///./app/javascript/images/icon--chevron_right--search-result.svg","webpack:///./app/javascript/images/icon--circle-question.svg","webpack:///./app/javascript/images/icon--close-modal.svg","webpack:///./app/javascript/images/icon--consulting--xs.svg","webpack:///./app/javascript/images/icon--copy.svg","webpack:///./app/javascript/images/icon--copy--big.svg","webpack:///./app/javascript/images/icon--cross.svg","webpack:///./app/javascript/images/icon--delete.svg","webpack:///./app/javascript/images/icon--dots.svg","webpack:///./app/javascript/images/icon--edit-score.svg","webpack:///./app/javascript/images/icon--envelop.svg","webpack:///./app/javascript/images/icon--error.svg","webpack:///./app/javascript/images/icon--error--blue.svg","webpack:///./app/javascript/images/icon--exclamation.svg","webpack:///./app/javascript/images/icon--expire-soon.svg","webpack:///./app/javascript/images/icon--expired.svg","webpack:///./app/javascript/images/icon--external-link.svg","webpack:///./app/javascript/images/icon--favorite-button-hover--add.svg","webpack:///./app/javascript/images/icon--favorite-button-hover--remove.svg","webpack:///./app/javascript/images/icon--file-register.svg","webpack:///./app/javascript/images/icon--fine.svg","webpack:///./app/javascript/images/icon--gabage.svg","webpack:///./app/javascript/images/icon--good.svg","webpack:///./app/javascript/images/icon--hand-point-right-solid.svg","webpack:///./app/javascript/images/icon--heart-mark--off.svg","webpack:///./app/javascript/images/icon--heart-mark--on.svg","webpack:///./app/javascript/images/icon--heart-mark--pink.svg","webpack:///./app/javascript/images/icon--heart-mark--white.svg","webpack:///./app/javascript/images/icon--history.svg","webpack:///./app/javascript/images/icon--history--white.svg","webpack:///./app/javascript/images/icon--info--blue.svg","webpack:///./app/javascript/images/icon--info--darkblue.svg","webpack:///./app/javascript/images/icon--links--blue.svg","webpack:///./app/javascript/images/icon--links--green.svg","webpack:///./app/javascript/images/icon--lock.svg","webpack:///./app/javascript/images/icon--login.svg","webpack:///./app/javascript/images/icon--login--blue.svg","webpack:///./app/javascript/images/icon--member.svg","webpack:///./app/javascript/images/icon--member--blue.svg","webpack:///./app/javascript/images/icon--menu--consult.svg","webpack:///./app/javascript/images/icon--menu--make-plan.svg","webpack:///./app/javascript/images/icon--menu--search.svg","webpack:///./app/javascript/images/icon--menu--study.svg","webpack:///./app/javascript/images/icon--menu--xs.svg","webpack:///./app/javascript/images/icon--minus.svg","webpack:///./app/javascript/images/icon--mypage.svg","webpack:///./app/javascript/images/icon--normal.svg","webpack:///./app/javascript/images/icon--overwrite.svg","webpack:///./app/javascript/images/icon--overwrite-orange.svg","webpack:///./app/javascript/images/icon--pen.svg","webpack:///./app/javascript/images/icon--plans-lp-fv-01.png","webpack:///./app/javascript/images/icon--plans-lp-fv-02.png","webpack:///./app/javascript/images/icon--plans-lp-fv-03.png","webpack:///./app/javascript/images/icon--plus.svg","webpack:///./app/javascript/images/icon--plus--ui-orange.svg","webpack:///./app/javascript/images/icon--plus--white.svg","webpack:///./app/javascript/images/icon--plus-square.svg","webpack:///./app/javascript/images/icon--question.svg","webpack:///./app/javascript/images/icon--read-more--minus.svg","webpack:///./app/javascript/images/icon--read-more--plus.svg","webpack:///./app/javascript/images/icon--register.svg","webpack:///./app/javascript/images/icon--rising-arrow.svg","webpack:///./app/javascript/images/icon--sc--circle-plus--off.svg","webpack:///./app/javascript/images/icon--sc--circle-plus--on.svg","webpack:///./app/javascript/images/icon--sc--select.svg","webpack:///./app/javascript/images/icon--sc--select--modal.svg","webpack:///./app/javascript/images/icon--sc--submit-btn--off.svg","webpack:///./app/javascript/images/icon--sc--submit-btn--on.svg","webpack:///./app/javascript/images/icon--scroll-top.svg","webpack:///./app/javascript/images/icon--search.svg","webpack:///./app/javascript/images/icon--search--enhanced.svg","webpack:///./app/javascript/images/icon--search--enhanced--xs.svg","webpack:///./app/javascript/images/icon--search--enhanced--xs--rv.svg","webpack:///./app/javascript/images/icon--search--learnSearch.svg","webpack:///./app/javascript/images/icon--search--main.svg","webpack:///./app/javascript/images/icon--search--main--type2.svg","webpack:///./app/javascript/images/icon--search--main--xs.svg","webpack:///./app/javascript/images/icon--search--research.svg","webpack:///./app/javascript/images/icon--search--xs.svg","webpack:///./app/javascript/images/icon--search-condition.svg","webpack:///./app/javascript/images/icon--search-result-not-found.svg","webpack:///./app/javascript/images/icon--star.svg","webpack:///./app/javascript/images/icon--star--gray.svg","webpack:///./app/javascript/images/icon--star--gray--filled.svg","webpack:///./app/javascript/images/icon--star--white.svg","webpack:///./app/javascript/images/icon--star--yellow--filled.svg","webpack:///./app/javascript/images/icon--success.svg","webpack:///./app/javascript/images/icon--switching--card.svg","webpack:///./app/javascript/images/icon--switching--card--on.svg","webpack:///./app/javascript/images/icon--switching--carousel--next.svg","webpack:///./app/javascript/images/icon--switching--carousel--prev.svg","webpack:///./app/javascript/images/icon--switching--table.svg","webpack:///./app/javascript/images/icon--switching--table--on.svg","webpack:///./app/javascript/images/icon--tooltip.svg","webpack:///./app/javascript/images/icon--top-ov--book.svg","webpack:///./app/javascript/images/icon--top-ov--pc.svg","webpack:///./app/javascript/images/icon--top-ov--pen.svg","webpack:///./app/javascript/images/icon--top-ov--sp.svg","webpack:///./app/javascript/images/icon--triangle--step.svg","webpack:///./app/javascript/images/icon--upload.svg","webpack:///./app/javascript/images/icon--window-close.svg","webpack:///./app/javascript/images/icon--window-close--blue.svg","webpack:///./app/javascript/images/icon--window-close--cross-mark--white.svg","webpack:///./app/javascript/images/icon--window-close--dark-gray.svg","webpack:///./app/javascript/images/icon--window-close--xs.svg","webpack:///./app/javascript/images/icon-newwin.png","webpack:///./app/javascript/images/icon_shindan.svg","webpack:///./app/javascript/images/inner-data-object.png","webpack:///./app/javascript/images/label--yayoi-data-support.svg","webpack:///./app/javascript/images/learn-search/fig-kv.svg","webpack:///./app/javascript/images/learn-search/thumbnail--sample.png","webpack:///./app/javascript/images/logo--shikin-choutatu-navi.svg","webpack:///./app/javascript/images/logo--shikin-choutatu-navi2.svg","webpack:///./app/javascript/images/logo-facebook.svg","webpack:///./app/javascript/images/logo-facebook-circle.svg","webpack:///./app/javascript/images/logo-hatenabookmark.svg","webpack:///./app/javascript/images/logo-line.svg","webpack:///./app/javascript/images/logo-line2.svg","webpack:///./app/javascript/images/logo-orix.svg","webpack:///./app/javascript/images/logo-pocket.svg","webpack:///./app/javascript/images/logo-twitter-circle.svg","webpack:///./app/javascript/images/logo-x.svg","webpack:///./app/javascript/images/lp-fv--shikin.png","webpack:///./app/javascript/images/lp-sec-fts--consult.jpg","webpack:///./app/javascript/images/lp-sec-fts--create.jpg","webpack:///./app/javascript/images/lp-sec-fts--search.jpg","webpack:///./app/javascript/images/lp-sec-fts--shindan.png","webpack:///./app/javascript/images/lp-sec-fts--study.jpg","webpack:///./app/javascript/images/mail-bnr.jpg","webpack:///./app/javascript/images/mail/arrow26.png","webpack:///./app/javascript/images/mail/arrow32.png","webpack:///./app/javascript/images/mail/banner217.jpg","webpack:///./app/javascript/images/mail/button350.png","webpack:///./app/javascript/images/mail/button600.png","webpack:///./app/javascript/images/mail/footer_logo.png","webpack:///./app/javascript/images/mail/mail_banner_04.jpg","webpack:///./app/javascript/images/mail/mail_banner_05.jpg","webpack:///./app/javascript/images/mail/mail_banner_06.jpg","webpack:///./app/javascript/images/mail/mail_banner_07.jpg","webpack:///./app/javascript/images/mail/mail_banner_08.jpg","webpack:///./app/javascript/images/mail/mail_banner_09.jpg","webpack:///./app/javascript/images/mail/spacer.gif","webpack:///./app/javascript/images/mail_step_1.png","webpack:///./app/javascript/images/mail_step_2.png","webpack:///./app/javascript/images/mail_step_3.png","webpack:///./app/javascript/images/mask--another-tab.svg","webpack:///./app/javascript/images/mask--chevron-down.svg","webpack:///./app/javascript/images/mask--chevron-right.svg","webpack:///./app/javascript/images/mask--login.svg","webpack:///./app/javascript/images/mask--rising-arrow.svg","webpack:///./app/javascript/images/member-merit--bookmark.svg","webpack:///./app/javascript/images/member-merit--favorite.svg","webpack:///./app/javascript/images/member-merit--illustration-1.svg","webpack:///./app/javascript/images/member-merit--illustration-2.svg","webpack:///./app/javascript/images/member-merit--mail.svg","webpack:///./app/javascript/images/member-merit--search.svg","webpack:///./app/javascript/images/member-merit--sogyokeikaku.svg","webpack:///./app/javascript/images/member-merit_1.png","webpack:///./app/javascript/images/member-merit_2.png","webpack:///./app/javascript/images/member-merit_3.png","webpack:///./app/javascript/images/member-merit_4.png","webpack:///./app/javascript/images/member-merit_5.png","webpack:///./app/javascript/images/member_step_1.png","webpack:///./app/javascript/images/member_step_2.png","webpack:///./app/javascript/images/member_step_3.png","webpack:///./app/javascript/images/member_step_4.png","webpack:///./app/javascript/images/member_step_easy.png","webpack:///./app/javascript/images/object--kirakira.svg","webpack:///./app/javascript/images/object--recommend-01.svg","webpack:///./app/javascript/images/object--recommend-02.svg","webpack:///./app/javascript/images/object--recommend-03.svg","webpack:///./app/javascript/images/object--recommend-mix.png","webpack:///./app/javascript/images/object--salescopy-gadget-group.png","webpack:///./app/javascript/images/ogp.png","webpack:///./app/javascript/images/ornament--arrow--main.svg","webpack:///./app/javascript/images/ornament--blade.svg","webpack:///./app/javascript/images/ornament--hexagon.svg","webpack:///./app/javascript/images/ornament--hexagon--blue.svg","webpack:///./app/javascript/images/ornament--hexagon--xs.svg","webpack:///./app/javascript/images/ornament--mark--main.svg","webpack:///./app/javascript/images/ornament--triangle--main.svg","webpack:///./app/javascript/images/ornament--wave.svg","webpack:///./app/javascript/images/pagination-switch--next.svg","webpack:///./app/javascript/images/pagination-switch--next--disabled.svg","webpack:///./app/javascript/images/pagination-switch--next--sb.svg","webpack:///./app/javascript/images/pagination-switch--prev.svg","webpack:///./app/javascript/images/pagination-switch--prev--disabled.svg","webpack:///./app/javascript/images/pagination-switch--prev--sb.svg","webpack:///./app/javascript/images/plan-lp-genkinshushi.png","webpack:///./app/javascript/images/plan-lp-related-01.jpg","webpack:///./app/javascript/images/plan-lp-related-02.jpg","webpack:///./app/javascript/images/plan-lp-related-03.jpg","webpack:///./app/javascript/images/plan-lp-related-04.jpg","webpack:///./app/javascript/images/plan-lp-related-05.jpg","webpack:///./app/javascript/images/plan-lp-related-06.jpg","webpack:///./app/javascript/images/plan-lp-related-07.jpg","webpack:///./app/javascript/images/plan-lp-related-08.jpg","webpack:///./app/javascript/images/plan-lp-related-09.jpg","webpack:///./app/javascript/images/plan-lp-sogyo-01.png","webpack:///./app/javascript/images/plan-lp-sogyo-02.png","webpack:///./app/javascript/images/plan-lp-sogyo-03.png","webpack:///./app/javascript/images/plan-lp-sogyo-04.png","webpack:///./app/javascript/images/plan-lp-suchi-01.png","webpack:///./app/javascript/images/plan-lp-suchi-02.png","webpack:///./app/javascript/images/plan-lp-suchi-02-sp.png","webpack:///./app/javascript/images/plan-lp-suchi-03.png","webpack:///./app/javascript/images/plan-lp-suchi-04.png","webpack:///./app/javascript/images/register-bnr.jpg","webpack:///./app/javascript/images/search-ithojokin.png","webpack:///./app/javascript/images/search-ithojokin-sp.png","webpack:///./app/javascript/images/select-form-ui-pair.svg","webpack:///./app/javascript/images/shindan-bnr-sp.jpg","webpack:///./app/javascript/images/shindan-result-top.png","webpack:///./app/javascript/images/shindan_procedure_1.png","webpack:///./app/javascript/images/shindan_procedure_2.png","webpack:///./app/javascript/images/shindan_q1.svg","webpack:///./app/javascript/images/shindan_q1_sp.svg","webpack:///./app/javascript/images/shindan_q2.svg","webpack:///./app/javascript/images/shindan_q2_sp.svg","webpack:///./app/javascript/images/shindan_q3.svg","webpack:///./app/javascript/images/shindan_q3_sp.svg","webpack:///./app/javascript/images/shindan_q4.svg","webpack:///./app/javascript/images/shindan_q4_sp.svg","webpack:///./app/javascript/images/shindan_q5.svg","webpack:///./app/javascript/images/shindan_q5_sp.svg","webpack:///./app/javascript/images/shindan_specialist_1.png","webpack:///./app/javascript/images/shindan_specialist_2.png","webpack:///./app/javascript/images/shindan_specialist_3.png","webpack:///./app/javascript/images/shindan_top.png","webpack:///./app/javascript/images/shindan_top_sp.png","webpack:///./app/javascript/images/sidebar/banner--accountonline.png","webpack:///./app/javascript/images/sidebar/banner--aoiroonline.png","webpack:///./app/javascript/images/sidebar/banner--campaign-upgrade.png","webpack:///./app/javascript/images/sidebar/banner--default.png","webpack:///./app/javascript/images/sidebar/banner--default--type2.png","webpack:///./app/javascript/images/sidebar/banner--itbanking-btob.png","webpack:///./app/javascript/images/sidebar/banner--misoca.png","webpack:///./app/javascript/images/sidebar/banner--shiroiroonline.png","webpack:///./app/javascript/images/sidebar/banner--support-coronavirus.png","webpack:///./app/javascript/images/sidebar/banner--versus-coronavirus.png","webpack:///./app/javascript/images/sidebar/banner--whitedeclaration.png","webpack:///./app/javascript/images/sidebar/banner--youtube-yayoichannel.png","webpack:///./app/javascript/images/sidebar/bnr--sq--account.png","webpack:///./app/javascript/images/sidebar/bnr--sq--base-knowledge-of-working-capital.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--calctax.png","webpack:///./app/javascript/images/sidebar/bnr--sq--consult-expert.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--entrenavi.png","webpack:///./app/javascript/images/sidebar/bnr--sq--foundation.png","webpack:///./app/javascript/images/sidebar/bnr--sq--ftrguide.png","webpack:///./app/javascript/images/sidebar/bnr--sq--hojyokin-kihon.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--kaigyoutodoke.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--kariire-kihon.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--kigyouline.png","webpack:///./app/javascript/images/sidebar/bnr--sq--m-and-a.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--misoca.png","webpack:///./app/javascript/images/sidebar/bnr--sq--nintei-shien-kikan.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--online-yuushi.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--reschedule.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--seidoyuushi.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--shikin-manabu.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--shinkoku-ol.png","webpack:///./app/javascript/images/sidebar/bnr--sq--shinyouhosyoukyoukai.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--sumoviva.png","webpack:///./app/javascript/images/sidebar/bnr--sq--sumoviva-01.png","webpack:///./app/javascript/images/sidebar/bnr--sq--sumoviva-02.png","webpack:///./app/javascript/images/sidebar/bnr--sq--sumoviva-03.png","webpack:///./app/javascript/images/sidebar/bnr--sq--teleworking.png","webpack:///./app/javascript/images/sidebar/bnr--sq--yahouonline.png","webpack:///./app/javascript/images/sidebar/bnr--sq--yayoianshinma.png","webpack:///./app/javascript/images/sidebar/bnr--sq--yokisenujitai.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--youtube-yayoichannel.png","webpack:///./app/javascript/images/sidebar/bnr--sq--zeirishi-shien.jpg","webpack:///./app/javascript/images/sidebar/bnr--sq--zeirishi-shokai.jpeg","webpack:///./app/javascript/images/sidebar/illust--yayoikaikei.png","webpack:///./app/javascript/images/sidebar/sogyokeikaku-banner.png","webpack:///./app/javascript/images/sogyosuchikeikaku-judgement.png","webpack:///./app/javascript/images/sogyosuchikeikaku-plan.png","webpack:///./app/javascript/images/sougyokeikaku-excel.png","webpack:///./app/javascript/images/sprite-general.png","webpack:///./app/javascript/images/suchi-banner-middle.jpg","webpack:///./app/javascript/images/suchi-banner-small.png","webpack:///./app/javascript/images/suuchi-banner.svg","webpack:///./app/javascript/images/suuchi-phone.png","webpack:///./app/javascript/images/tag--yayoi-data-support.svg","webpack:///./app/javascript/images/top-fv--mv.svg","webpack:///./app/javascript/images/top-useful-situations-1.svg","webpack:///./app/javascript/images/top-useful-situations-2.svg","webpack:///./app/javascript/images/top-useful-situations-3.svg","webpack:///./app/javascript/images/top-useful-situations-4.svg","webpack:///./app/javascript/images/wave.png","webpack:///./app/javascript/images/wave_registered.png","webpack:///./app/javascript/images/wave_sp.png","webpack:///./app/javascript/images/wave_white.png","webpack:///./app/javascript/src/numBtn.js","webpack:///./app/javascript/src/customs.js","webpack:///./app/javascript/images sync ^\\.\\/.*$","webpack:///./app/javascript/images/bnr--kaikei--sp.webp","webpack:///./app/javascript/images/bnr--kaikei--wide--pc.webp","webpack:///./app/javascript/images/bnr--misoca--sp.webp","webpack:///./app/javascript/images/bnr--misoca--wide--pc.webp","webpack:///./app/javascript/images/bnr--shinkoku--sp.webp","webpack:///./app/javascript/images/bnr--shinkoku--wide--pc.webp","webpack:///./app/javascript/images/mail/mail_banner_01.jpg","webpack:///./app/javascript/images/mail/mail_banner_02.jpg","webpack:///./app/javascript/images/mail/mail_banner_03.jpg","webpack:///./app/javascript/src/sogyo-keikaku.js","webpack:///./app/javascript/packs/search/application.js","webpack:///./app/javascript/src/modal-fetch.js","webpack:///./app/javascript/src/createSwiper.js","webpack:///./app/javascript/src/clipboardcopy.js","webpack:///./app/javascript/src/inputNumber.js","webpack:///./app/javascript/src/user.js","webpack:///./app/javascript/src/search.js","webpack:///./app/javascript/src/plan.js","webpack:///./app/javascript/src/jfc-template.js","webpack:///./app/javascript/src/easy-diagnosis.js","webpack:///./app/javascript/src/shindan-form.js","webpack:///./app/javascript/src/suuchi-keikaku.js","webpack:///./app/javascript/src/copy-sp-modal.js","webpack:///./app/javascript/src/learn-search/suggest.js","webpack:///./app/javascript/src/learn-search/searchTag.js","webpack:///./app/javascript/src/learn-search/category.js","webpack:///./app/javascript/src/learn-search/favorite.js","webpack:///./app/javascript/src/learn-search/scroll.js","webpack:///./app/javascript/src/learn-search/result.js","webpack:///./app/javascript/src/learn-search/study.js","webpack:///./app/javascript/src/search-re25.js","webpack:///./app/javascript/src/collapsible-section.js","webpack:///./app/javascript/src/site-header.js","webpack:///./app/javascript/src/site-footer.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","iterator","obj","constructor","global","factory","document","w","Error","window","this","noGlobal","arr","getProto","getPrototypeOf","_slice","slice","flat","array","concat","apply","push","indexOf","class2type","toString","hasOwn","fnToString","ObjectFunctionString","support","isFunction","nodeType","item","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","jquery","toArray","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","guid","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","cssSupportsSelector","CSS","supports","querySelectorAll","qsaError","removeAttribute","keys","cache","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","matcher","unmatched","lang","elemLang","hash","location","activeElement","hasFocus","href","tabIndex","checked","selected","selectedIndex","_matchIndexes","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","_dir","until","truncate","is","_siblings","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","self","rootjQuery","root","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","has","targets","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","_","flag","createOptions","firing","memory","_fired","_locked","queue","firingIndex","fire","once","stopOnFalse","remove","empty","disable","lock","locked","fireWith","fired","Deferred","func","tuples","_state","_promise","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","catch","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","getData","_data","removeData","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","_on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","_handlers","matchedHandlers","matchedSelectors","button","addProp","hook","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","on","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","_remove","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","rcustomProp","getStyles","opener","getComputedStyle","swap","old","rboxStyle","rtrimCSS","curCSS","computed","width","minWidth","maxWidth","isCustomProp","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","origName","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","complete","timer","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","addClass","classNames","curValue","finalValue","removeClass","toggleClass","stateVal","isValidValue","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","_statusCode","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","_callback","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","_callback2","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","_jQuery","_$","$","noConflict","setWithCountAnimation","element","from","setInterval","floor","clearInterval","toLocaleString","classList","sanitizeMoney","forEach","hyphen","Number","delimitedMoney","money","updateDelimitedMoney","textFieldElement","automaticInput","hiddenElementId","dataset","hiddenElement","changeEvent","dispatchEvent","setDelimitedMoney","inputElementId","bottom","auto","basePlacements","viewport","variationPlacements","reduce","acc","placement","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","isElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","enabled","phase","_ref","assign","effect","_ref2","initialStyles","popper","strategy","arrow","reference","attribute","requires","getBasePlacement","min","getUAString","uaData","navigator","userAgentData","brands","brand","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","abs","child","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","getOffsetParent","isFirefox","currentNode","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mergePaddingObject","paddingObject","expandToHashMap","hashMap","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","rects","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","axisProp","centerOffset","_options$element","querySelector","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","instance","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","getWindowScrollBarX","isScrollParent","_getComputedStyle","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","direction","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","Map","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","_loop","fittingPlacement","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","order","modifiers","visited","Set","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","existing","_ref$options","cleanupFn","noopFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","destroy","onFirstUpdate","_KEY_TO_DIRECTION","eventListeners","_get","receiver","Reflect","_getPrototypeOf","_superPropBase","desc","getOwnPropertyDescriptor","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_inherits","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_slicedToArray","_arrayWithHoles","_s","_e","_arr","_n","_d","_iterableToArrayLimit","_nonIterableRest","_createForOfIteratorHelper","allowArrayLike","it","F","_e2","f","normalCompletion","didErr","_e3","return","arr2","TRANSITION_END","getSelector","hrefAttribute","includes","startsWith","getSelectorFromElement","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","getElement","isVisible","elementIsVisible","closedDetails","summary","Node","ELEMENT_NODE","hasAttribute","findShadowRoot","attachShadow","reflow","getjQuery","DOMContentLoadedCallbacks","isRTL","defineJQueryPlugin","plugin","NAME","JQUERY_NO_CONFLICT","jQueryInterface","_step","_iterator","execute","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","getNextActiveElement","shouldGetNext","isCycleAllowed","listLength","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","nativeEvents","makeEventUid","getElementEvents","findHandler","callable","delegationSelector","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","_normalizeParameters2","wrapFunction","previousFunction","domElements","_step2","_iterator2","hydrateObj","EventHandler","bootstrapDelegationHandler","bootstrapHandler","removeHandler","removeNamespacedHandlers","storeElementEvent","_i2","_Object$keys","handlerKey","_normalizeParameters4","inNamespace","isNamespace","_i3","_Object$keys2","_i4","_Object$keys3","keyHandlers","jQueryEvent","nativeDispatch","meta","_Object$entries","_i5","_unused","entries","elementMap","instanceMap","size","delete","normalizeData","decodeURIComponent","normalizeDataKey","chr","Manipulator","_step3","_iterator3","pureKey","charAt","Config","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","Default","configTypes","DefaultType","_i6","_Object$keys4","expectedTypes","valueType","BaseComponent","_Config","_super","_this","_element","_config","_getConfig","DATA_KEY","EVENT_KEY","_step4","_iterator4","getOwnPropertyNames","isAnimated","getInstance","enableDismissTrigger","component","clickEvent","tagName","getOrCreateInstance","EVENT_KEY$b","EVENT_CLOSE","EVENT_CLOSED","Alert","_BaseComponent","_super2","_this2","_queueCallback","_destroyElement","dispose","EVENT_KEY$a","SELECTOR_DATA_TOGGLE$5","EVENT_CLICK_DATA_API$6","Button","_BaseComponent2","_super3","SelectorEngine","findOne","ancestor","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","EVENT_KEY$9","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","Default$c","endCallback","leftCallback","rightCallback","DefaultType$c","Swipe","_Config2","_super4","_this3","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_eventIsPointerPenTouch","_handleSwipe","absDeltaX","_this4","_start","_end","_move","maxTouchPoints","EVENT_KEY$8","DATA_API_KEY$5","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN$1","EVENT_MOUSEENTER$1","EVENT_MOUSELEAVE$1","EVENT_DRAG_START","EVENT_LOAD_DATA_API$3","EVENT_CLICK_DATA_API$5","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE$2","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","KEY_TO_DIRECTION","Default$b","keyboard","pause","ride","touch","DefaultType$b","Carousel","_BaseComponent3","_super5","_this5","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","_clearInterval","_this6","_updateInterval","nextWhenVisible","_this7","_this8","items","_getItems","activeIndex","_getItemIndex","_getActive","defaultInterval","_this9","_keydown","_maybeEnableCycle","_addTouchEventListeners","_step5","_this10","_iterator5","img","swipeConfig","_directionToOrder","activeIndicator","newActiveIndicator","elementInterval","_this11","isNext","nextElement","nextElementIndex","triggerEvent","eventName","_orderToDirection","slideEvent","isCycling","_setActiveIndicatorElement","directionalClassName","orderClassName","completeCallBack","_isAnimated","carousel","slideIndex","_step6","_iterator6","EVENT_KEY$7","EVENT_SHOW$6","EVENT_SHOWN$6","EVENT_HIDE$6","EVENT_HIDDEN$6","EVENT_CLICK_DATA_API$4","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","SELECTOR_DATA_TOGGLE$4","Default$a","DefaultType$a","Collapse","_BaseComponent4","_super6","_this12","_isTransitioning","_triggerArray","_step7","_iterator7","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","_this13","activeChildren","_getFirstLevelChildren","_step8","_iterator8","_getDimension","capitalizedDimension","scrollSize","_this14","_step9","_iterator9","_step10","_iterator10","triggerArray","isOpen","_step11","_iterator11","_step12","_iterator12","NAME$a","EVENT_KEY$6","DATA_API_KEY$3","ARROW_UP_KEY$1","ARROW_DOWN_KEY$1","EVENT_HIDE$5","EVENT_HIDDEN$5","EVENT_SHOW$5","EVENT_SHOWN$5","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW$6","SELECTOR_DATA_TOGGLE$3","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default$9","autoClose","popperConfig","DefaultType$9","_BaseComponent5","Dropdown","_super7","_this15","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","_ref6","_step13","_iterator13","_completeHide","_ref7","_step14","_iterator14","referenceElement","_getPopperConfig","parentDropdown","isEnd","_this16","popperData","defaultBsPopperConfig","_getPlacement","_getOffset","_ref8","_step15","_iterator15","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","_selectMenuItem","dataApiKeydownHandler","clearMenus","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","documentWidth","innerWidth","getWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","_saveInitialAttribute","styleProperty","_this17","scrollbarWidth","_applyManipulationCallback","actualValue","removeProperty","callBack","_step16","_iterator16","NAME$9","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Default$8","clickCallback","rootElement","DefaultType$8","Backdrop","_Config3","_super8","_this18","_isAppended","_append","_getElement","_emulateAnimation","_this19","backdrop","_this20","EVENT_KEY$5","EVENT_FOCUSIN$2","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","Default$7","autofocus","trapElement","DefaultType$7","FocusTrap","_Config4","_super9","_this21","_isActive","_lastTabNavDirection","_this22","_handleFocusin","_handleKeydown","EVENT_KEY$4","EVENT_HIDE$4","EVENT_HIDE_PREVENTED$1","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","EVENT_RESIZE$1","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_CLICK_DATA_API$2","CLASS_NAME_OPEN","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","Default$6","DefaultType$6","Modal","_BaseComponent6","_super10","_this23","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_this24","_adjustDialog","_showElement","_this25","deactivate","_hideModal","_i7","_arr2","htmlElement","_this26","modalBody","activate","_this27","_triggerBackdropTransition","event2","_this28","_resetAdjustments","_this29","isModalOverflowing","initialOverflowY","isBodyOverflowing","_property","paddingLeft","paddingRight","_this30","showEvent","alreadyOpen","EVENT_KEY$3","DATA_API_KEY$1","EVENT_LOAD_DATA_API$2","CLASS_NAME_SHOW$3","CLASS_NAME_SHOWING$1","CLASS_NAME_HIDING","OPEN_SELECTOR","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_HIDE$3","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$3","EVENT_RESIZE","EVENT_CLICK_DATA_API$1","EVENT_KEYDOWN_DISMISS","Default$5","DefaultType$5","Offcanvas","_BaseComponent7","_super11","_this31","_this32","_this33","_this34","_this35","_this36","_step17","_iterator17","_step18","_iterator18","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","attributeRegex","regex","DefaultAllowlist","area","br","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","strong","u","ul","Default$4","allowList","extraClass","sanitize","sanitizeFn","template","DefaultType$4","DefaultContentType","entry","TemplateFactory","_Config5","_super12","_this37","_this38","_resolvePossibleFunction","getContent","_checkContent","templateWrapper","_maybeSanitize","_i8","_Object$entries2","_ref12","_setContent","_template$classList","_i9","_Object$entries3","_ref15","templateElement","_putElementInTemplate","unsafeHtml","sanitizeFunction","_ref9","_step19","createdDocument","_iterator19","_ref10","elementName","_step20","attributeList","allowedAttributes","_iterator20","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE$2","CLASS_NAME_SHOW$2","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","customClass","title","DefaultType$3","_BaseComponent8","Tooltip","_super13","_this39","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","_leave","_enter","_hideModalHandler","_disposePopper","_this40","_isWithContent","isInTheDom","_getTipElement","_ref17","_step21","_iterator21","_this41","_ref18","_step22","_iterator22","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","toHtml","tipId","getUID","changeContent","_getDelegateConfig","attachment","_this42","_this43","_step23","_this44","_iterator23","_initializeOnDelegatedTarget","eventIn","eventOut","_this45","_setTimeout","_this46","dataAttributes","_i10","_Object$keys5","dataAttribute","Default$2","DefaultType$2","_Tooltip","Popover","_super14","_getContent","_ref20","EVENT_KEY$2","EVENT_ACTIVATE","EVENT_CLICK","EVENT_LOAD_DATA_API$1","CLASS_NAME_ACTIVE$1","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","Default$1","rootMargin","smoothScroll","threshold","DefaultType$1","ScrollSpy","_BaseComponent9","_super15","_this47","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","_step24","_iterator24","section","observe","_this48","observableSection","behavior","_this49","IntersectionObserver","_observerCallback","_this50","targetElement","_process","userScrollsDown","_step25","_iterator25","isIntersecting","entryIsLowerThanPrevious","_clearActiveClass","_step26","_iterator26","anchor","_activateParents","_step27","_iterator27","_step28","listGroup","_iterator28","_step29","_iterator29","_step30","_iterator30","spy","EVENT_KEY$1","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK_DATA_API","EVENT_KEYDOWN","EVENT_LOAD_DATA_API","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER","SELECTOR_DATA_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_BaseComponent10","_super16","_this51","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_this52","_toggleDropDown","_this53","nextActiveElement","preventScroll","_this54","_setAttributeIfNotExists","_step31","_iterator31","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","_step32","_iterator32","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_BaseComponent11","_super17","_this55","_hasMouseInteraction","_hasKeyboardInteraction","_this56","_clearTimeout","_maybeScheduleHide","_this57","isShown","_this58","isInteracting","_this59","_onInteraction","webpackPolyfill","deprecate","paths","checkMandatoryFields","submitButtonEl","errorStatus","checkedCitiesOver","checkboxEx","currentHTML","checkFreewordLengthOver","freewordFieldClassName","maxLength","mainGroupedInputClassName","mainPrefInputCalssName","groupedInputClassName","prefInputCalssName","cityInputCalssName","industoryInputClassName","usageInputClassName","prefApiUrl","checkPrefs","checkedPrefsArray","elm","checkPrefElement","prefCode","thisElement","targetCheckBoxEx","prefArray","query","tempRow","tempHead","tempSelect","prefs","tempRowClone","tempHeadClone","pref","cities","idxSelect","tempSelectClone","city_cd","city","assembleCities","checkCities","checkedCities","addCitiesToArray","citySyncTextField","getPrefJson","collectPrefArray","createCities","checkedCitiesArray","checkCityElement","parentElement","addPrefsToArray","checkedPrefs","checkPrefGroupElement","targetCheckboxExSelected","syncTextField","targetHeadingClass","targetInputClassName","selectGroup","selectHeaderInput","targetDataObjectClassName","defaultHtml","valsPref","$mainSearchConditionPrefButton","$mainSearchConditionCityButton","setIndustory","vals","setUsage","valsUsage","selectedValue","g","Function","deleteParameterFromUrl","deleteName","URL","searchParams","history","replaceState","runningData","uriageSum","profit","getMonthlyUriage","year","handleTabChange","rangeForm","runningInput","tabId","prevSelected","selectedYear","changeUntenView","updateMonthlyProfit","changeProfitView","dataInputsRunning","rangeInputsRunning","maxRange","inputData","backgroundSize","handleClickCompareTab","setCompareInputs","handleSetCompareInputs","compareInputs","compareProfits","itemId","itemid","handleCompareInputChange","inputId","updateAsideRunning","handleCompareProfitChange","profitOfThisYear","updateItemsByProfit","handleUriageChange","currentTabId","uriageId","handleRangeInputRunningChange","inputIdNum","inputElement","handleDataInputRunningChange","sliderId","sliderIdNum","sliderElement","handleProfitSliderInput","changeRangeInputsView","handleProfitChange","handleProfitSliderBackground","monthlyUriage","expense","total","isDeficit","runningDataSize","salesDiff","profitSliderInput","profitSumInput","expense1","expense2","expense3","yearlyProfit1","yearlyProfit2","yearlyProfit3","handleUntenShikinSetSimulationBar","addSuchiKeikakuEventListenerAll","tab","profitSlider","profitInput","setInitialValueForUntenShikin","hideYakuinHoshu","yakuinhoshu1y","yakuinhoshu2y","yakuinhoshu3y","selectOnChangeSubmit","selectEl","hiddenEl","submitEl","Rails","linkClickSelector","buttonClickSelector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","loadCSPNonce","ref","cspNonce","setData","csrfParam","csrfToken","CSRFProtection","refreshCSRFTokens","CustomEvent","createEvent","initCustomEvent","stopEverything","eventType","AcceptHeaders","createXHR","prepareOptions","processResponse","OPENED","accept","withCredentials","DONE","parser","isCrossDomain","serializeElement","additionalParam","inputs","formElements","form","allowAction","handleConfirm","confirm","answer","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","originalText","handleMethod","formContent","link","action","isRemote","handleRemote","enctype","FormData","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","rails","_rails_loaded","sparkMd5","undefined$1","hex_chr","md5cycle","k","md5blk","md5blks","md5blk_array","md51","tail","lo","hi","substring","md51_array","subarray","Uint8Array","rhex","hex","toUtf8","str","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","concatenateArrayBuffers","byteLength","buffer","hexToBinaryString","bytes","substr","SparkMD5","clamp","targetArray","sourceArray","begin","appendBinary","_buff","_length","_hash","_finish","getState","setState","hashBinary","fileSlice","File","mozSlice","webkitSlice","FileChecksum","chunkSize","chunkCount","chunkIndex","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","findElement","eventInit","initEvent","BlobRecord","checksum","filename","content_type","byte_size","getMetaValue","requestDidLoad","requestDidError","_this$xhr","stringify","blob","direct_upload","directUploadData","toJSON","BlobUpload","_blob$directUploadDat","_this$xhr2","DirectUpload","upload","methodName","messages","DirectUploadController","directUpload","hiddenInput","insertAdjacentElement","dispatchError","signed_id","loaded","alert","uploadRequestDidProgress","DirectUploadsController","files","controllers","createDirectUploadControllers","startNextController","controller","processingAttribute","submitButtonsByForm","WeakMap","started","didClick","didSubmitForm","didSubmitRemoteElement","handleFormSubmissionEvent","enable","submitForm","ActiveStorage","_wrapNativeSuper","Class","_cache","Wrapper","_construct","Parent","isObject$1","extend$1","ssrDocument","createElementNS","importNode","hostname","origin","pathname","search","getDocument","ssrWindow","pushState","go","back","Image","screen","matchMedia","cancelAnimationFrame","Dom7","_Array","arrayFlat","res","arrayFilter","_html","toCreate","tempParent","uniqueArray","arrayUnique","deviceCached","browser","Methods","classes","_el$classList","_len2","_key2","_el$classList2","_len4","_key4","_len3","_key3","attrName","transition","_len5","_key5","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","_parents","handleEvent","_event2","dom7LiveListeners","proxyListener","_event","dom7Listeners","_len6","_key6","_event3","dom7proxy","_len9","_key9","_event4","dataIndex","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","outerHeight","_styles2","_window","_document","scrollY","scrollX","compareWith","previousSibling","returnIndex","newChild","tempDiv","nextEls","_next","prevEls","_prev","foundElements","found","nextTick","getTranslate","matrix","curTransform","transformMatrix","curStyle","currentStyle","getComputedStyle$1","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isObject","isNode","noExtend","nextSource","keysArray","nextIndex","nextKey","__swiper__","setCSSProperty","varName","varValue","animateCSSModeScroll","swiper","targetPosition","startPosition","translate","wrapperEl","scrollSnapType","cssModeFrameID","isOutOfBound","getTime","easeProgress","currentPosition","getSupport","DocumentTouch","passiveListener","supportsPassive","gestures","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isSafari","isWebView","calcBrowser","eventsEmitter","priority","eventsListeners","destroyed","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","emit","eventsArray","transitionEmit","runCallbacks","previousIndex","onTouchStart","touchEventsData","animating","preventInteractionOnTransition","cssMode","loop","loopFix","$targetEl","touchEventsTarget","isTouchEvent","isTouched","isMoved","swipingClassHasValue","noSwipingClass","path","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","closestElement","allowClick","swipeHandler","currentX","currentY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","updateSize","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","rtl","rtlTranslate","targetTouch","preventedByNestedSwiper","touchReleaseOnEdges","maxTranslate","minTranslate","touchAngle","diffX","diffY","sqrt","pow","isHorizontal","atan2","touchMoveStopPropagation","nested","startTranslate","setTransition","$wrapperEl","allowMomentumBounce","grabCursor","allowSlideNext","allowSlidePrev","setGrabCursor","touchRatio","currentTranslate","disableParentSwiper","resistanceRatio","resistance","followFinger","watchSlidesProgress","updateActiveIndex","updateSlidesClasses","updateProgress","setTranslate","onTouchEnd","slidesGrid","currentPos","touchEndTime","timeDiff","pathTree","updateClickedSlide","lastClickTime","stopIndex","groupSize","slidesSizesGrid","slidesPerGroupSkip","slidesPerGroup","_increment","rewindFirstIndex","rewindLastIndex","rewind","isBeginning","virtual","slides","ratio","increment","longSwipesMs","longSwipes","slideTo","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","snapGrid","updateSlides","slidesPerView","centeredSlides","autoplay","running","paused","watchOverflow","checkOverflow","onClick","preventClicks","preventClicksPropagation","onScroll","previousTranslate","translatesDiff","dummyEventAttached","dummyEventListener","touchEvents","domMethod","swiperMethod","passiveListeners","move","cancel","updateOnWindowResize","isGridEnabled","grid","rows","defaults","initialSlide","resizeObserver","createElements","autoHeight","setWrapperSize","virtualTranslate","breakpointsBase","spaceBetween","slidesPerGroupAuto","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","roundLengths","simulateTouch","uniqueNavElements","slideToClickedSlide","preloadImages","updateOnImagesReady","loopAdditionalSlides","loopedSlides","loopedSlidesLimit","loopFillGroupWithBlank","loopPreventsSlide","maxBackfaceHiddenSlides","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","prototypes","$el","getDirectionLabel","getDirectionPropertyValue","label","swiperSize","wrongRTL","isVirtual","previousSlidesLength","slidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","virtualSize","marginBottom","marginTop","marginRight","slideSize","gridEnabled","initSlides","shouldResetSlideSize","updateSlide","slideStyles","currentTransform","currentWebKitTransform","boxSizing","_slide$","swiperSlideSize","updateWrapperSize","newSlidesGrid","slidesGridItem","allSlidesSize","slideSizeValue","maxSnap","snap","_allSlidesSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","updateSlidesOffset","backFaceHiddenClass","hasClassBackfaceClassAdded","updateAutoHeight","activeSlides","newHeight","getSlideByIndex","visibleSlides","slide","_index","swiperSlideOffset","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","_slide2","slideOffset","slideProgress","originalSlideProgress","slideBefore","slideAfter","originalProgress","multiplier","wasBeginning","wasEnd","activeSlide","realIndex","nextSlide","prevSlide","emitSlidesClasses","newActiveIndex","previousRealIndex","previousSnapIndex","initialized","slideFound","clickedSlide","clickedIndex","byController","translateTo","translateBounds","internal","newTranslate","isH","_wrapperEl$scrollTo","onTranslateToWrapperTransitionEnd","transitionStart","indexAsNumber","normalizedTranslate","normalizedGrid","normalizedGridNext","_immediateVirtual","_swiperImmediateVirtual","_wrapperEl$scrollTo2","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","perGroup","slidesPerViewDynamic","_clientLeft","slidePrev","normalize","prevSnapIndex","normalizedSnapGrid","prevSnap","prevIndex","lastIndex","slideReset","slideToClosest","currentSnap","slideToIndex","loopCreate","$selector","blankSlidesNum","blankNode","prependSlides","appendSlides","_index2","loopDestroy","moving","isLocked","cursor","unsetGrabCursor","attachEvents","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","fill","wasModuleEnabled","isModuleEnabled","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","innerHeight","points","point","minRatio","_points$i","wasLocked","lastSlideIndex","lastSlideRightEdge","addClasses","resultClasses","suffixes","removeClasses","images","loadImage","imageEl","srcset","sizes","checkForComplete","onReady","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","newParams","_swiper$modules","__modules__","mod","extendParams","desktop","swiperParams","passedParams","velocity","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","newDefaults","installModule","cls","slideEl","updates","getSlideClasses","exact","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mounted","getWrapperSelector","getWrapper","wrapper","mount","deleteInstance","cleanStyles","createElementIfNotDefined","checkProps","classesToSelector","appendSlide","observer","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","_i13","_i14","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","effectInit","requireUpdateOnVirtual","overwriteParams","recreateShadows","getEffectParams","overwriteParamsResult","slideShadows","effectTarget","effectParams","$slideEl","transformEl","effectVirtualTransitionEnd","allSlides","eventTriggered","triggerEvents","createShadow","shadowClass","$shadowContainer","$shadowEl","prototypeGroup","protoMethod","use","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","contentBoxSize","contentRect","inlineSize","blockSize","unobserve","observers","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","childList","characterData","observeParents","observeSlideChildren","containerParents","cssModeTimeout","renderSlide","force","_swiper$params","_swiper$params$virtua","addSlidesBefore","addSlidesAfter","_swiper$virtual","previousFrom","previousTo","previousSlidesGrid","previousOffset","slidesAfter","slidesBefore","onRendered","lazy","renderExternal","slidesToRender","renderExternalUpdate","prependIndexes","appendIndexes","numberOfNewSlides","cachedIndex","$cachedEl","cachedElIndex","kc","pageUpDown","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","mousewheel","releaseOnEdges","forceToAxis","sensitivity","eventsTarget","thresholdDelta","thresholdTime","lastEventBeforeSnap","lastScrollTime","recentWheelEvents","handleMouseEnter","mouseEntered","handleMouseLeave","animateSlider","newEvent","rtlFactor","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","positions","_newEvent","sign","ignoreWheelEvents","sticky","_prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","prevEvent","releaseScroll","getEl","toggleEl","disabledClass","lockClass","_swiper$navigation","$nextEl","$prevEl","onPrevClick","onNextClick","_swiper$navigation2","hideOnClick","hiddenClass","navigationDisabledClass","_swiper$navigation3","_swiper$navigation4","targetEl","pagination","clickable","isHidden","bulletSize","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","paginationType","firstIndex","midIndex","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","progressbarDirection","render","paginationHTML","numberOfBullets","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","$dragEl","newSize","newPos","getPointerPosition","setDragPosition","positionRatio","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","eventMethod","$swiperEl","dragClass","dragEl","draggable","scrollbarDisabledClass","parallax","setTransform","currentOpacity","currentScale","_swiper","parallaxEl","$parallaxEl","parallaxDuration","zoom","maxRatio","containerClass","zoomedSlideClass","gesturesEnabled","fakeGestureTouched","fakeGestureMoved","isScaling","gesture","slideWidth","slideHeight","$imageEl","$imageWrapEl","minX","minY","maxX","maxY","touchesStart","touchesCurrent","prevPositionX","prevPositionY","prevTime","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","scaleStart","onGestureChange","scaleMove","onGestureEnd","scaledWidth","scaledHeight","onTransitionEnd","zoomIn","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","touchAction","zoomOut","zoomToggle","getListeners","activeListenerWithCapture","getSlideSelector","toggleGestures","slideSelector","enableGestures","disableGestures","_getListeners2","_getListeners3","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","momentumDuration","in","out","checkInView","loadPrevNext","loadPrevNextAmount","loadOnTransitionStart","scrollingElement","elementClass","loadingClass","loadedClass","preloaderClass","scrollHandlerAttached","initialImageLoaded","loadInSlide","loadInDuplicate","$images","background","$pictureEl","sourceEl","$source","slideOriginalIndex","slideExist","amount","maxIndex","minIndex","_i11","checkInViewOnLoad","$scrollElement","scrollElementWidth","scrollElementHeight","_swiper$params2","LinearSpline","guess","i1","i3","binarySearch","interpolate","removeSpline","control","spline","inverse","by","_t","controlledTranslate","controlled","setControlledTranslate","getInterpolateFunction","setControlledTransition","a11y","notificationClass","prevSlideMessage","nextSlideMessage","firstSlideMessage","lastSlideMessage","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","liveRegion","notification","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElLabel","disableEl","enableEl","onEnterOrSpaceKey","hasPagination","hasClickablePagination","initNavEl","wrapperId","controls","addElControls","handlePointerDown","handlePointerUp","handleFocus","$containerEl","repeat","live","addElLive","_swiper$navigation5","updateNavigation","bulletEl","keepQuery","slugify","getPathValues","urlOverride","pathArray","part","setHistory","currentState","scrollToSlide","_slide3","_index3","setHistoryPopState","hashNavigation","watchState","onHashChange","newHash","setHash","_slide4","_slide5","_index4","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","pauseOnMouseEnter","thumbs","multipleActiveThumbs","autoScrollOffset","slideThumbActiveClass","thumbsContainerClass","swiperCreated","onThumbClick","thumbsSwiper","currentIndex","thumbsParams","SwiperClass","thumbsSwiperParams","thumbsToActivate","thumbActiveClass","_i12","useOffset","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","minimumVelocity","lastMoveEvent","velocityEvent","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","moveDistance","currentSlideSize","slidesNumberEvenToRows","slidesPerRow","numFullColumns","_swiper$params$grid","newSlideOrderIndex","column","row","_swiper$params3","_swiper$params$grid2","groupIndex","slideIndexInGroup","columnsInGroup","_swiper$params4","fadeEffect","crossFade","tx","ty","slideOpacity","cubeEffect","shadow","shadowOffset","shadowScale","createSlideShadows","shadowBefore","shadowAfter","$cubeShadowEl","wrapperRotate","slideAngle","tz","_transform","shadowAngle","sin","scale1","scale2","_offset2","zFactor","flipEffect","limitRotation","_offset3","rotateY","rotateX","zIndex","_transform2","coverflowEffect","rotate","stretch","offsetMultiplier","translateZ","slideTransform","$shadowBeforeEl","$shadowAfterEl","creativeEffect","limitProgress","shadowPerProgress","progressMultiplier","isCenteredSlides","custom","getTranslateValue","translateString","rotateString","scaleString","opacityString","shadowOpacity","cardsEffect","perSlideRotate","perSlideOffset","_swiper$touchEventsDa","_offset4","tX","tY","tZ","tXAdd","isSwipeToNext","isSwipeToPrev","subProgress","prevY","_transform3","toggleAutoCalcButtonAndTooltip","automaticCalculationValidate","isScroll","isValid","scrollOffset","suchikeikakuIndustryId","businessType","jikoshikin","kariire","kaigyoshikinSonota","uriage1y","uriage2y","uriage3y","send_data","textStatus","setInitialValueForKaigyoShikin","addKaigyoShikinEventListenerAll","kaigyoHiyoTooltip","untenShikinTooltip","jinkenhiTooltip","addEventListenerToTooltips","errorThrown","myModal","modalSelector","targetStr","jfcTemplatesBannerBottom","reCalcModal","reCalcTargetStr","reCalcTargetIdentifier","handleClickSelectButton","hiddenVal","setInitAsideSummary","sumInputs","kaigyoShikinTotal","handleRangeInputChange","setAsideSummary","handleKaigyoHiyoInputChange","dataInputs","kaigyoHiyoTotal","handleKaigyoShikinSetSimulationBar","handleKaigyoShikinChange","currentSum","rangeInputs","slider","channels","require","webpackEmptyContext","req","clear","_handled","_value","_deferreds","h","setImmediate","all","race","_setImmediateFn","_setUnhandledRejectionFn","customElements","registerElement","A","uid_","takeRecords","nodes_","removeTransientObservers","callback_","subtree","enqueue","records_","C","addedNodes","removedNodes","attributeNamespace","oldValue","transientObservedNodes","JsMutationObserver","postMessage","ShadowDOMPolyfill","wrapIfNeeded","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","relatedNode","attrChange","MutationEvent","ADDITION","prevValue","_isPolyfilled","performance","webkitRequestAnimationFrame","mozRequestAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","WebComponents","CustomElements","flags","addModule","initializeModules","hasNative","isIE","useNative","register","HTMLImports","olderShadowRoot","import","IMPORT_LINK_TYPE","forDocumentTree","forSubtree","upgrade","__upgraded__","__attached","attachedCallback","detachedCallback","_URL","localName","group","DOCUMENT_FRAGMENT_NODE","E","groupEnd","__observer","baseURI","hasPolyfillMutations","hasThrottledAttached","S","createShadowRoot","watchShadow","__watched","log","upgradeDocumentTree","upgradeDocument","upgradeSubtree","upgradeAll","createdCallback","native","HTMLTemplateElement","decorate","getRegisteredDefinition","extends","upgradeWithDefinition","implementPrototype","_polyfilled","attributeChangedCallback","ctor","__name","lifecycle","ancestry","registry","instanceof","reservedTagList","readyTime","elapsed","unwrapIfNeeded","__importsParsingHook","eager","Trix","VERSION","ZERO_WIDTH_SPACE","NON_BREAKING_SPACE","OBJECT_REPLACEMENT_CHARACTER","composesExistingText","forcesObjectResizing","supportsInputEvents","InputEvent","BasicObject","proxyMethod","toMethod","toProperty","optional","__super__","fromJSONString","fromJSON","hasSameConstructorAs","isEqualTo","contentsForInspection","toJSONString","toUTF16String","UTF16String","getCacheKey","normalizeSpaces","normalizeNewlines","breakableWhitespacePattern","squishBreakableWhitespace","summarizeStringChange","added","removed","utf16String","codepoints","fromCodepoints","_t2","copyObject","objectsAreEqual","arraysAreEqual","arrayStartsWith","spliceArray","summarizeArrayChange","getAllAttributeNames","getTextAttributeNames","getBlockAttributeNames","getBlockConfig","blockAttributes","getTextConfig","textAttributes","getListAttributeNames","listAttribute","onElement","matchingSelector","withCallback","inPhase","times","findClosestElementFromNode","handleEventOnce","elementMatchesSelector","untilNode","findInnerElement","innerElementIsActive","elementContainsNode","findNodeFromContainerAndOffset","TEXT_NODE","findElementFromContainerAndOffset","findChildIndexOfNode","removeNode","walkTree","onlyNodesOfType","usingFilter","expandEntityReferences","NodeFilter","SHOW_ELEMENT","SHOW_TEXT","SHOW_COMMENT","SHOW_ALL","createTreeWalker","makeElement","editable","contenteditable","getBlockTagNames","blockTagNames","nodeIsBlockContainer","nodeIsBlockStartComment","nodeProbablyIsBlockContainer","nodeIsBlockStart","strict","nodeIsCommentNode","COMMENT_NODE","nodeIsCursorTarget","nodeIsTextNode","trixCursorTarget","nodeIsAttachmentElement","AttachmentView","attachmentSelector","nodeIsEmptyTextNode","normalizeRange","rangeIsCollapsed","rangesAreEqual","defaultCSS","_t3","initialize","connect","connectedCallback","disconnectedCallback","_n2","define","getDOMSelection","getSelection","rangeCount","getDOMRange","getRangeAt","setDOMRange","removeAllRanges","addRange","selectionChangeObserver","_t4","startContainer","endContainer","dataTransferIsPlainText","dataTransferIsWritable","keyEventIsKeyboardCommand","RTL_PATTERN","getDirection","dirName","Hash","fromCommonAttributesOfObjects","getKeys","getKeysCommonToHash","isEmpty","toObject","ObjectGroup","objects","asTree","groupObjects","canBeGrouped","canBeGroupedWith","getObjects","getDepth","_t5","ObjectMap","ElementStore","trixStoreKey","_t6","Operation","isPerforming","performing","hasPerformed","performed","hasSucceeded","succeeded","hasFailed","getPromise","perform","release","ucs2String","ucs2Length","fromUCS2String","offsetToUCS2Offset","offsetFromUCS2Offset","codePointAt","fromCodePoint","attachFiles","bold","captionPlaceholder","heading1","indent","italic","numbers","outdent","quote","redo","strike","undo","unlink","urlPlaceholder","GB","KB","MB","PB","TB","attachmentCaption","attachmentCaptionEditor","attachmentMetadata","attachmentMetadataContainer","attachmentName","attachmentProgress","attachmentSize","attachmentToolbar","attachmentGallery","nestable","terminal","breakOnReturn","plaintext","bulletList","numberList","exclusive","fileSize","precision","formatter","byte","toFixed","inheritable","fontStyle","groupTagName","frozen","backgroundColor","serializers","Document","fromHTML","toSerializableDocument","DocumentView","deserializers","serializeToContentType","deserializeFromContentType","toolbar","getDefaultHTML","undoInterval","attachments","preview","presentation","keyNames","8","9","13","27","37","39","46","68","72","79","level2Enabled","getLevel","pickFiles","multiple","fileInputId","_t7","ObjectView","childViews","rootView","getNodes","createNodes","invalidate","parentView","invalidateViewForObject","findViewForObject","findOrCreateCachedChildView","getCachedViewForObject","recordChildView","createChildView","cacheViewForObject","viewClass","ObjectGroupView","getAllChildViews","findElementForObject","getViewCache","isViewCachingEnabled","viewCache","shouldCacheViews","enableViewCaching","disableViewCaching","garbageCollectCachedViews","_t8","objectGroup","getChildViews","createContainerElement","_t9","Controller","didMutate","_h","findSignificantMutations","elementDidMutate","getMutationSummary","mutationIsSignificant","nodeIsMutable","nodesModifiedByMutation","nodeIsSignificant","getTextMutationSummary","getTextChangesFromCharacterData","additions","deletions","getTextChangesFromChildList","textAdded","textDeleted","getMutationsByType","_t10","FileVerificationOperation","InputController","mutationObserver","handlerFor","editorWillSyncDocumentView","editorDidSyncDocumentView","requestRender","inputControllerDidRequestRender","requestReparse","inputControllerDidRequestReparse","handleInput","inputControllerWillAttachFiles","responder","insertFiles","inputControllerWillHandleInput","inputControllerDidHandleInput","createLinkHTML","outerHTML","Level0InputController","resetInputSummary","setInputSummary","inputSummary","isComposing","inputControllerDidAllowUnhandledInput","mutationIsExpected","preferDocument","didDelete","getSelectedRange","positionIsBlockBreak","compositionInput","getEndData","keydown","didInput","keyName","inputControllerDidReceiveKeyboardCommand","keypress","inputControllerWillPerformTyping","insertString","selectionIsExpanded","textInput","setSelectedRange","dragenter","dragstart","serializeSelectionToDataTransfer","dataTransfer","draggedRange","inputControllerDidStartDrag","dragover","canAcceptDataTransfer","draggingPoint","inputControllerDidReceiveDragOverPoint","dragend","inputControllerDidCancelDrag","drop","setLocationRangeFromPointRange","inputControllerWillMoveText","moveTextFromRange","insertDocument","cut","clipboardData","inputControllerWillCutText","deleteInDirection","paste","R","D","L","testClipboardData","clipboard","getPastedHTMLUsingHiddenElement","inputControllerWillPaste","insertHTML","inputControllerDidPaste","getAsFile","insertFile","compositionstart","getCompositionInput","compositionupdate","compositionend","beforeinput","backspace","insertLineBreak","canIncreaseNestingLevel","increaseNestingLevel","selectionIsInCursorTarget","moveCursorInDirection","updatePosition","canDecreaseNestingLevel","decreaseNestingLevel","expandSelectionInDirection","alt","isEnded","getSelectedDocument","Files","inputController","isSignificant","insertPlaceholder","range","selectPlaceholder","forgetPlaceholder","canApplyToDocument","Level2InputController","scheduledRender","composing","reparse","scheduleRender","afterRender","withEvent","inputTypes","inputType","selectionContainsAttachments","dragging","ArrowLeft","shouldManageMovingCursorInDirection","ArrowRight","Backspace","shouldManageDeletingInDirection","deleteByComposition","recordUndoEntry","deleteByCut","deleteByDrag","withTargetDOMRange","deleteByDragRange","deleteCompositionText","deleteContent","deleteContentBackward","deleteContentForward","deleteEntireSoftLine","deleteHardLineBackward","deleteHardLineForward","deleteSoftLineBackward","deleteSoftLineForward","deleteWordBackward","deleteWordForward","formatBackColor","activateAttributeIfSupported","formatBold","toggleAttributeIfSupported","formatFontColor","formatFontName","formatIndent","formatItalic","formatJustifyCenter","formatJustifyFull","formatJustifyLeft","formatJustifyRight","formatOutdent","formatRemove","getCurrentAttributes","removeCurrentAttribute","formatSetBlockTextDirection","formatSetInlineTextDirection","formatStrikeThrough","formatSubscript","formatSuperscript","formatUnderline","historyRedo","inputControllerWillPerformRedo","historyUndo","inputControllerWillPerformUndo","insertCompositionText","insertFromComposition","insertFromDrop","insertFromPaste","insertFromYank","insertLink","insertOrderedList","insertParagraph","insertReplacementText","insertText","insertTranspose","insertUnorderedList","inputControllerWillPerformFormatting","toggleCurrentAttribute","setCurrentAttribute","getTargetDOMRange","minLength","getTargetRanges","createRange","setStart","startOffset","setEnd","endOffset","AttachmentEditorController","attachmentPiece","didBlurCaption","didChangeCaption","didInputCaption","didKeyDownCaption","didClickActionButton","didClickToolbar","install","undos","makeElementMutable","addToolbar","isPreviewable","installCaptionEditor","uninstall","savePendingCaption","didUninstallAttachmentEditor","pendingCaption","attachmentEditorDidRequestUpdatingAttributesForAttachment","attachmentEditorDidRequestRemovingAttributeForAttachment","trixMutable","trixAction","getFilename","getFormattedFilesize","placeholder","getCaption","editCaption","attachmentEditorDidRequestRemovalOfAttachment","attachmentEditorDidRequestDeselectingAttachment","uploadProgressDelegate","piece","createContentNodes","getClassName","getHref","createCaptionElement","isPending","progressElement","getUploadProgress","getCaptionConfig","getType","getExtension","trixAttachment","trixContentType","getContentType","trixId","trixAttributes","trixSerialize","findProgressElement","attachmentDidChangeUploadProgress","PreviewableAttachmentView","previewDelegate","updateAttributesForImage","getURL","getPreviewURL","getHeight","attachmentDidChangeAttributes","PieceView","getAttributes","textConfig","createAttachmentNodes","createStringNodes","preserveSpaces","isLast","isFirst","followsWhitespace","_t11","TextView","getPieces","BlockView","block","getLastAttribute","shouldAddExtraNewlineElement","getBlockBreakPosition","elementStore","sync","shadowElement","getBlocks","isSynced","createDocumentFragmentForSync","didSync","CompositionController","composition","didClickAttachment","didBlur","didFocus","documentView","focused","compositionControllerDidFocus","blurPromise","compositionControllerDidBlur","findAttachmentForElement","compositionControllerDidSelectAttachment","getSerializableElement","isEditingAttachment","revision","canSyncDocumentView","compositionControllerWillSyncDocumentView","compositionControllerDidSyncDocumentView","compositionControllerDidRender","rerenderViewForObject","refreshViewCache","attachmentEditor","installAttachmentEditorForAttachment","uninstallAttachmentEditor","getAttachmentPieceForAttachment","compositionControllerWillUpdateAttachment","updateAttributesForAttachment","removeAttributeForAttachment","compositionControllerDidRequestRemovalOfAttachment","compositionControllerDidRequestDeselectingAttachment","getAttachmentById","ToolbarController","didKeyDownDialogInput","didClickDialogButton","didClickAttributeButton","actions","resetDialogInputs","toolbarDidClickButton","getDialog","toggleDialog","toolbarDidInvokeAction","toolbarDidToggleAttribute","refreshAttributeButtons","hideDialog","updateActions","refreshActionButtons","eachActionButton","updateAttributes","eachAttributeButton","dialogIsVisible","applyKeyboardCommand","showDialog","toolbarWillShowDialog","toolbarDidShowDialog","willValidate","checkValidity","toolbarDidUpdateAttribute","toolbarDidRemoveAttribute","toolbarDidHideDialog","_t12","ImagePreloadOperation","naturalWidth","naturalHeight","_t13","Attachment","releaseFile","didChangeAttributes","previewablePattern","attachmentForFile","attributesForFile","setFile","filesize","setAttributes","preloadURL","getFilesize","getFile","preloadFile","releasePreloadedFile","uploadProgress","setUploadProgress","previewURL","preloadingURL","setPreviewURL","attachmentDidChangePreviewURL","preload","fileObjectURL","createObjectURL","revokeObjectURL","_t14","Piece","registerType","copyWithAttributes","getValue","copyWithAdditionalAttributes","copyWithoutAttribute","getAttributesHash","getCommonAttributes","pieceList","getPieceAtIndex","eachPiece","hasSameStringValueAsPiece","hasSameAttributesAsPiece","isBlockBreak","isSerializable","getLength","canBeConsolidatedWith","_t15","AttachmentPiece","ensureAttachmentExclusivelyHasAttribute","removeProhibitedAttributes","permittedAttributes","toConsole","StringPiece","consolidateWith","splitAtOffset","SplittableList","eachObject","insertObjectAtIndex","insertSplittableListAtIndex","insertSplittableListAtPosition","splitObjectAtPosition","editObjectAtIndex","replaceObjectAtIndex","removeObjectAtIndex","getObjectAtIndex","getSplittableListInRange","splitObjectsAtRange","selectSplittableList","removeObjectsInRange","transformObjectsInRange","getObjectAtPosition","findIndexAndOffsetAtPosition","consolidate","consolidateFromIndexToIndex","findPositionAtIndexAndOffset","getEndPosition","endPosition","_t16","Text","textForAttachmentWithAttributes","textForStringWithAttributes","copyWithPieceList","copyUsingObjectMap","appendText","insertTextAtPosition","removeTextAtRange","replaceTextAtRange","moveTextFromRangeToPosition","getTextAtRange","addAttributeAtRange","addAttributesAtRange","removeAttributeAtRange","setAttributesAtRange","getAttributesAtPosition","getCommonAttributesAtRange","getExpandedRangeForAttributeAtOffset","getStringAtRange","getStringAtPosition","startsWithString","endsWithString","getAttachmentPieces","getAttachments","getAttachmentAndPositionById","getRangeOfAttachment","getPieceAtPosition","toSerializableText","Block","copyWithText","copyWithoutText","copyWithoutAttributes","addAttribute","removeLastAttribute","getAttributeLevel","getAttributeAtLevel","hasAttributes","getLastNestableAttribute","getNestableAttributes","getNestingLevel","lastIndexOf","getListItemAttributes","isListItem","isTerminalBlock","breaksOnReturn","findLineBreakInDirectionFromPosition","getTextWithoutBlockBreak","blockBreak","HTMLSanitizer","forbiddenProtocols","forbiddenElements","sanitizeElements","normalizeListElementNesting","getHTML","getBody","nextNode","elementIsRemovable","sanitizeElement","elementIsForbidden","elementIsntSerializable","HTMLParser","blocks","blockElements","processedElements","createHiddenContainer","containerElement","processNode","translateBlockElementMarginsToNewlines","removeHiddenContainer","FILTER_REJECT","FILTER_ACCEPT","isInsignificantTextNode","appendBlockForTextNode","processTextNode","appendBlockForElement","processElement","currentBlockElement","isBlockElement","appendStringWithAttributes","getBlockAttributes","currentBlock","appendBlockForAttributesWithElement","findParentBlockElement","appendEmptyBlock","getTextAttributes","appendAttachmentWithAttributes","isExtraBR","appendPiece","appendStringToTextAtIndex","prependStringToTextAtIndex","findBlockElementAncestors","whiteSpace","getMarginOfDefaultBlockElement","getMarginOfBlockElementAtIndex","blockList","fromString","getBlockAtIndex","consolidateBlocks","copyUsingObjectsFromDocument","copyWithBaseBlockAttributes","replaceBlock","insertDocumentAtRange","locationFromPosition","getBlockAtPosition","mergeDocumentAtRange","getBaseBlockAttributes","getBlockCount","insertTextAtRange","locationRangeFromRange","getDocumentAtRange","eachBlockAtRange","eachBlock","getTextAtIndex","insertBlockBreakAtRange","applyBlockAttributeAtRange","expandRangeToLineBreaksAndSplitBlocks","removeLastListAttributeAtRange","exceptAttributeName","convertLineBreaksToBlockBreaksInRange","removeBlockAttributesAtRange","removeLastTerminalAttributeAtRange","consolidateBlocksAtRange","positionFromLocation","getTextAtPosition","getCharacterAtPosition","getEditCount","editCount","getCommonAttributesAtPosition","getRangeOfCommonAttributeAtPosition","getLocationRangeOfAttachment","findRangesForBlockAttribute","findRangesForTextAttribute","withValue","locationRangeFromPosition","rangeFromLocationRange","getTexts","LineBreakInsertion","startLocation","endLocation","previousCharacter","nextCharacter","shouldInsertBlockBreak","shouldBreakFormattedBlock","shouldDecreaseListLevel","shouldPrependListItem","shouldRemoveLastBlockAttribute","Composition","currentAttributes","refreshAttachments","compositionDidChangeDocument","getSnapshot","selectedRange","loadSnapshot","compositionWillLoadSnapshot","setSelection","compositionDidLoadSnapshot","notifyDelegateOfInsertionAtRange","insertBlock","getCurrentTextAttributes","insertBlockBreak","decreaseListLevel","removeLastBlockAttribute","breakFormattedBlock","replaceHTML","getLocationRange","compositionShouldAcceptFile","insertAttachments","insertAttachment","canDecreaseBlockAttributeLevel","getBlock","decreaseBlockAttributeLevel","getExpandedRangeInDirection","getAttachmentAtRange","editAttachment","removeAttachment","stopEditingAttachment","placeholderPosition","getPosition","hasCurrentAttribute","canSetCurrentAttribute","canSetCurrentBlockAttribute","canSetCurrentTextAttribute","setBlockAttribute","setTextAttribute","notifyDelegateOfCurrentAttributesChange","removeBlockAttribute","updateCurrentAttributes","removeTextAttribute","getPreviousBlock","ignoreLock","freezeSelection","thawSelection","hasFrozenSelection","compositionDidRequestChangingSelectionToLocationRange","getSelectionManager","setLocationRange","targetLocationRange","withTargetLocationRange","withTargetRange","createLocationRangeFromDOMRange","translateUTF16PositionFromOffset","editingAttachment","expandSelectionForEditing","expandSelectionAroundCommonAttribute","getSelectedAttachments","positionIsCursorTarget","locationIsCursorTarget","compositionDidRemoveAttachment","compositionDidAddAttachment","compositionDidEditAttachment","compositionDidChangeAttachmentPreviewURL","compositionDidStartEditingAttachment","compositionDidStopEditingAttachment","compositionDidChangeCurrentAttributes","compositionDidPerformInsertionAtRange","_t17","UndoManager","undoEntries","redoEntries","consolidatable","createEntry","snapshot","canUndo","canRedo","attachmentGalleryFilter","applyBlockAttribute","findRangesOfBlocks","findRangesOfPieces","moveSelectedRangeForward","Editor","selectionManager","_t18","undoManager","loadDocument","loadHTML","loadJSON","getClientRectAtPosition","getClientRectAtLocationRange","activateAttribute","attributeIsActive","canActivateAttribute","deactivateAttribute","_t19","ManagedAttachment","attachmentManager","requestRemovalOfAttachment","_t20","AttachmentManager","managedAttachments","manageAttachment","attachmentIsManaged","attachmentManagerDidRequestRemovalOfAttachment","unmanageAttachment","LocationMapper","findLocationFromContainerAndOffset","findAttachmentElementParentForNode","findContainerAndOffsetFromLocation","findNodeAndOffsetFromLocation","getSignificantNodesForIndex","PointMapper","createDOMRangeFromPoint","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","getClientRectsForDOMRange","SelectionChangeObserver","selectionManagers","registerSelectionManager","unregisterSelectionManager","notifySelectionManagersOfSelectionChange","selectionDidChange","domRange","SelectionManager","didMouseDown","locationMapper","pointMapper","lockCount","currentLocationRange","lockedLocationRange","createDOMRangeFromLocationRange","updateCurrentLocationRange","getLocationAtPoint","unlock","clearSelection","selectionIsCollapsed","collapsed","domRangeWithinElement","pauseTemporarily","locationRangeDidChange","EditorController","editorElement","compositionController","toolbarController","toolbarElement","editor","notifyEditorElement","handlingInput","updateCurrentActions","pasting","pastedRange","attachmentLocationRange","loadingSnapshot","isFocused","requestedLocationRange","compositionRevisionWhenLocationRangeRequested","renderedCompositionRevision","runEditorFilters","isFocusedInvisibly","requestedRender","recordTypingUndoEntry","recordFormattingUndoEntry","locationRangeBeforeDrag","invokeAction","selectionFrozen","dialogName","canInvokeAction","actionIsExternal","actionName","getCurrentActions","currentActions","updateInputElement","setInputElementValue","documentChangedSinceLastRender","getUndoContext","getLocationContext","getTimeContext","queryCommandSupported","execCommand","labels","editorController","registerResetListener","registerClickListener","unregisterResetListener","unregisterClickListener","resetListener","resetBubbled","clickListener","clickBubbled","Timeout","clearFn","_id","_clearFn","close","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","globalThis","activestorage","findElements","inputSelector","autostart","AttachmentUpload","directUploadUrl","directUploadDidComplete","sgid","attachable_sgid","createBlobUrl","signedId","blobUrlTemplate","suuchiGraph","suuchiGraphScroll","onscroll","kaigyoShikin","kaigyoHiyo","kaigyoShikinZan","setSimulationBar","sales1y","sales2y","sales3y","cost1y","cost2y","cost3y","profit1y","profit2y","profit3y","sales","cost","benefit","barId","salesId","costId","benefitId","suuchiShikin","suuchiHiyou","benefit1","benefit2","benefit3","costRatio","targetBar","salesPara","costPara","benefitPara","cautionAreasKaigyou","cautionAreas1","cautionAreas2","cautionAreas3","color","getIframeHeight","contentWindow","$backToTop","fixedFooter","setCustomPropertyFixedFooterHeight","fixedFooterHeight","businessTypeValidation","hasInputValue","isDefaultValueSet","checkboxExUsage","selectedText","isDetailSearch","relatedTop","webpackContext","webpackContextResolve","calcSection7","setSetsubiShikinSogaku","setUntenShikinSogaku","setHitsuyounaShikinSogaku","setChotatsuHoho","checkSougakuAndSetMessage","hitsuyounaShikinSogaku","chotatsuHohoSogaku","setDisabledToSogyoBtnNext","changeColorHikakuShikinSp","setReturnToContentsBtnPaddingBottom","toggleJigyoKeiken","checkedId","disableSelectField","enableSelectField","toggleShikakuUmu","toggleChizaiUmu","jqSelectElm","SogyoKeikakuUpdateDelimitedMoney","isTextarea","keyPressed","targetName","targetViewType","targetCharCount","charCount","toggleForm","feedbacks","feedbackArray","formAmmount","currentPage","formId","btnId","feedback","setSogyoKeikakuMainInnerMinHeight","toggleSogyoBtnReverseFirstSogyoBtnReverseFinal","handleStepBtn","idNumber","handleStepNavBtn","toggleAccordion","accordionId","iconId","accordionBtn","accordion","icon","toggleAccordionIconOnLoad","handleInputChangeItem0","sogyokeikakushomei","templatefullname","templatesakuseibi","handleInputChangeItem1","sogyodoki1","sogyodoki2","sogyodoki3","sogyodoki4","handleInputChangeRyakureki","keirekiNen1","keirekiGetsu1","keirekiNaiyo1","keirekiNen2","keirekiGetsu2","keirekiNaiyo2","keirekiNen3","keirekiGetsu3","keirekiNaiyo3","keirekiNen4","keirekiGetsu4","keirekiNaiyo4","keirekiNen5","keirekiGetsu5","keirekiNaiyo5","keirekiNen6","keirekiGetsu6","keirekiNaiyo6","handleInputChangeItem2","handleInputChangeCarrer1","career1_1","career1_2","career1_3","additionalInput1","additionalInput2","handleInputChangeCarrer2","career2_1","career2_2","additionalInput3","handleInputChangeCarrer3","career3_1","career3_2","additionalInput4","handleInputChangeShohin","shohingaiyo1","shohinshare1","shohingaiyo2","shohinshare2","shohingaiyo3","shohinshare3","handleInputChangeItem3","handleInputChangeSalesPoint","salesPoint1","salesPoint2","salesPoint3","handleInputChangeHanbaiTarget","hambaiTarget1","hambaiTarget2","hambaiTarget3","handleInputChangeShijo","shijokankyo1","shijokankyo2","shijokankyo3","handleInputChangeHanbaisaki","hambaisakimei1","hambaisakimeiKana1","hambaisakiShozaichi1","hambaisakiShare1","hambaisakikakewariai1","hambaisakishimebi1","hambaisakiKaishubi1","hambaisakimei2","hambaisakimeiKana2","hambaisakiShozaichi2","hambaisakiShare2","hambaisakikakewariai2","hambaisakishimebi2","hambaisakiKaishubi2","hambaisakiTorihikisakisu","hambaisakiShareHoka","hambaisakiKakewariaiHoka","hambaisakiShimebiHoka","hambaisakiKaishubiHoka","handleInputChangeItem4","handleInputChangeShiire","shiiresakimei1","shiiresakimeiKana1","shiiresakiShozaichi1","shiiresakiShare1","shiiresakiKakewariai1","shiiresakiShimebi1","shiiresakiKaishubi1","shiiresakimei2","shiiresakimeiKana2","shiiresakiShozaichi2","shiiresakiShare2","shiiresakiKakewariai2","shiiresakiShimebi2","shiiresakiKaishubi2","shiiresakitorihikisakisu","shiiresakishareHoka","shiiresakikakewariaiHoka","shiiresakishimebiHoka","shiiresakiKaishubiHoka","handleInputChangeGaichu","gaichusakimei1","gaichusakimeiKana1","gaichusakiShozaichi1","gaichusakiShare1","gaichusakikakewariai1","gaichusakishimebi1","gaichusakiKaishubi1","gaichusakitorihikisakisu","gaichusakishareHoka","gaichusakikakewariaiHoka","gaichusakishimebiHoka","gaichusakiKaishubiHoka","handleInputChangeJinkenhi","jinkenhiShimebi","jinkenhiShiharaibi","jinkenhiBonusGetsu1","jinkenhiBonusGetsu2","handleInputChangeItem5","yakuinsu","jugyoinsu","uchikazoku","uchipart","handleInputChangeItem6","kariiresaki1","usage1jigyo","usage1jutaku","usage1car","usage1kyoiku","usage1card","usage1sonota","kariirezandaka1","nenkanhensaigaku1","kariiresaki2","usage2jigyo","usage2jutaku","usage2car","usage2kyoiku","usage2card","usage2sonota","kariirezandaka2","nenkanhensaigaku2","kariiresaki3","usage3jigyo","usage3jutaku","usage3car","usage3kyoiku","usage3card","usage3sonota","kariirezandaka3","nenkanhensaigaku3","handleInputChangeShikin","setsubishikingaiyo1","setsubishikinmitsumorisaki1","setsubishikinkingaku1","setsubishikingaiyo2","setsubishikinmitsumorisaki2","setsubishikinkingaku2","setsubishikingaiyo3","setsubishikinmitsumorisaki3","setsubishikinkingaku3","setsubishikingaiyo4","setsubishikinmitsumorisaki4","setsubishikinkingaku4","setsubishikingaiyo5","setsubishikinmitsumorisaki5","setsubishikinkingaku5","setsubishikingaiyo6","setsubishikinmitsumorisaki6","setsubishikinkingaku6","setsubishikingaiyo7","setsubishikinmitsumorisaki7","setsubishikinkingaku7","setsubishikingaiyo8","setsubishikinmitsumorisaki8","setsubishikinkingaku8","setsubishikingaiyo9","setsubishikinmitsumorisaki9","setsubishikinkingaku9","setsubishikingaiyo10","setsubishikinmitsumorisaki10","setsubishikinkingaku10","untenshikingaiyo1","untenshikinkingaku1","untenshikingaiyo2","untenshikinkingaku2","untenshikingaiyo3","untenshikinkingaku3","untenshikingaiyo4","untenshikinkingaku4","handleInputChangeItem7","handleInputChangeChotatsu","shinzokuKariirekin","shinzokuKariiremoto","shinzokuHensaihoho","kokoKariirekin","kokoHensaihoho","sonotaKariirekin","sonotaHensaihoho","handleInputChangeKido","kidoMedoNen","kidoMedoGetsu","handleInputChangeItem8","handleInputChangeMitoshi","toshouriagedaka","kidogouriagedaka","toshouriagegenka","kidogouriagegenka","toshojinkenhi","kidogojinkenhi","toshoyachin","kidogoyachin","toshorisoku","kidogorisoku","toshosonota","kidogosonota","handleInputChangeKonkyo","keisankonkyo","handleInputChangeItem9","jiyukinyuran","addMoreItem","hiddenItems","hideMoreButton","moreButton","writeInputLength","textarea","indicatorId","inputValueLength","contentId","moreButton1","moreItemsClass1","moreButton2","moreItemsClass2","moreButton3","moreItemsClass3","moreButton4","moreItemsClass4","moreButton5","moreItemsClass5","moreButton6","moreItemsClass6","moreButton7","moreItemsClass7","moreButton8","moreItemsClass8","moreButton9","moreItemsClass9","moreButton10","moreItemsClass10","moreButton11","moreItemsClass11","countedTextarea1","countedTextarea2","countedTextarea3","countedTextarea4","countedTextarea5","countedTextarea6","countedTextarea7","countedTextarea8","countedTextarea9","countedTextarea10","countedTextarea11","countedTextarea12","countedTextarea13","countedTextarea14","countedTextarea15","countedTextarea16","countedTextarea17","countedTextarea18","countedTextarea19","countedTextarea20","countedTextarea21","countedTextarea22","countedTextarea23","countedTextarea24","countedTextarea25","countedTextarea26","countedTextarea27","countedTextarea28","countedTextarea29","countedTextarea30","countedTextarea31","countedTextarea32","countedTextarea33","countedTextarea34","countedTextarea35","countedTextarea36","countedTextarea37","countedTextarea38","countedTextarea39","countedTextarea40","countedTextarea41","countedTextarea42","countedTextarea43","countedTextarea44","countedTextarea45","countedTextarea46","countedTextarea47","countedTextarea48","countedTextarea49","countedTextarea50","countedTextarea51","countedTextarea52","countedTextarea53","countedTextarea54","inputEvent","tooltipTriggerEl","modalId","ankenId","qParams","option__original","320","768","1025","option__means","option__subsidy","option__loan","option__shindan","option__history","option__history__only","option__mainDetailRelation","copyTarget","writeText","tooltipEl","tooltip","numBtnSet","suuchiInput","suuchiPlus","suuchiMinus","inputValue","userBusinessTypeValidation","toggleRegisterAgreeCheckBox","registerAgreeCheckBoxSelector","businessTypeRadioButtonSelector","toggleSubmitButtonDisabled","checkBoxId","submitButtonId","myModals","$visibleModalsSortByZIndex","trimOverNchars","emailAddressInputSelector","submitButtonSelector","sendButton","emailAddressIsValid","downloadModal","downloadModalSelector","emailSendCompletelyModal","emailSendCompletelyModalSelector","modalContentTargetSelector","sp","selectedFoundingTemplate","selectedFoundingTemplateJson","jfc_template_setsubishikin_gaiyo_1","jfc_template_setsubishikin_kingaku_1","jfc_template_setsubishikin_gaiyo_2","jfc_template_setsubishikin_kingaku_2","jfc_template_setsubishikin_gaiyo_3","jfc_template_setsubishikin_kingaku_3","jfc_template_setsubishikin_gaiyo_4","jfc_template_setsubishikin_kingaku_4","jfc_template_setsubishikin_gaiyo_5","jfc_template_setsubishikin_kingaku_5","jfc_template_setsubishikin_gaiyo_6","jfc_template_setsubishikin_kingaku_6","jfc_template_setsubishikin_gaiyo_7","jfc_template_setsubishikin_kingaku_7","jfc_template_untenshikin_gaiyo_1","jfc_template_untenshikin_kingaku_1","jfc_template_untenshikin_gaiyo_2","jfc_template_untenshikin_kingaku_2","jfc_template_untenshikin_gaiyo_3","jfc_template_untenshikin_kingaku_3","jfc_template_untenshikin_gaiyo_4","jfc_template_untenshikin_kingaku_4","jfc_template_jikoshikin","jfc_template_shinzoku_kariirekin","jfc_template_koko_kariirekin","jfc_template_tosho_uriagedaka","jfc_template_kidogo_uriagedaka","jfc_template_tosho_uriagegenka","jfc_template_kidogo_uriagegenka","jfc_template_tosho_jinkenhi","jfc_template_kidogo_jinkenhi","jfc_template_tosho_yachin","jfc_template_kidogo_yachin","jfc_template_tosho_risoku","jfc_template_kidogo_risoku","jfc_template_tosho_sonota","jfc_template_kidogo_sonota","targetId","sectionBasicTop","section1Top","section2Top","section3Top","section4Top","section5Top","section6Top","section7Top","section8Top","section9Top","sectionThreshold","beforeunloadHandler","diagnosisAnswersArray","cookie","expires","setFullYear","getFullYear","setCookie","toggleCautionQuestion104Answer","question104Answer","question102Answer","toggleCautionQuestion105Answer","toggleCautionQuestion106Answer","toggleCautionQuestion107Answer","toggleCautionQuestion108Answer","toggleCautionQuestion109Answer","toggleCautionQuestion110Answer","toggleQ3Section","question103Answer","question105Answer","question106Answer","question108Answer","question109Answer","question110Answer","toggleQ4Section","employmentCheckboxes","businessCheckboxes","employeeCheckboxes","allCheck","innerCheckboxSelector","allCheckboxSelector","toggleTableAccordion","itemClass","btnTextId","btnIconId","accordionItems","btnText","btnIcon","copySpModal","copyText","getSuggestionsTimer","inputStr","keywordHidden","inputField","suggestionsBox","inputFieldSp","suggestionsBoxSp","reflectInputTextField","hideSuggestions","handleCursorMove","getWordAtCursor","getSuggestions","suggestResult","displaySuggestions","selectionStart","leftPart","leftSpaceIndex","leftFullWidthSpaceIndex","rightPart","rightSpaceIndex","rightFullWidthSpaceIndex","Infinity","suggestions","suggestion","suggestionItem","newWord","newCursorPosition","setSelectionRange","replaceWordAtCursor","showSuggestions","targetList","tagsInput","searchTagsContainer","searchTagsContainerSp","searchTagsResultContainerSp","toggleTagSelection","updateTagsInput","sortSpTag","selectedButtons","unSelectedButtons","tagItem","pcTagButton","targetItem","targetButton","prependTag1","selectedTags","selectedTagButtons","uniqueSelectedTags","categoryInput","categoryButton","categoryList","categoryButtonSp","categoryListSp","categoryListCloseSp","categoryListBgSp","categoryListResult","createCategoryDrawer1","createCategoryDrawer2","createCategoryDrawer3","iconPlus","iconMinus","categoryListItem","updateCategory","categoryItem","majorItem","majorButton","minorItemWrapper","minorItem","toggleIcon","plusIcon","minusIcon","category","categoryButtonText","categoryButtonTextSp","categoryButtonIcon","toggleStarActivation","toggleStarActivationDetail","popularItem","favoriteButton","graystar","yellowstar","searchForm","upperRow","lowerRow","lastScrollTop","ticking","scrollDown","upperRowHeight","lowerRowHeight","paddingTop","inputChecked","$inModalInput","$rows","$newElements","prefName","$areaGroupElement","$areaTitleElement","$areaContentsElement","$input","$label","labelText","$contentsItem","$cityInputElement","$cityLabelElement","inModalInputDataId","inModalInputChecked","refreshDisplayedOthersModalSelectedElementCount","originVal","$mainSearchConditionSubmitButton","mainSearchConditionPrefModal","$mainSearchConditionOthersButton","$countTargetElements","searchResultCardBookmarkTagStateHoverIcons","setToggleBehavior","siteFooterToggleClassName","collapsibleSections","animateTiming","collapsibleSection","onfinish","siteHeader","siteHeaderMenuBtn","siteHeaderMenuBtnText","siteHeaderMenuContent","siteHeaderNavBtns","siteHeaderToggles","siteHeaderMenuBackdrop","siteDropdownPcContents","siteHeaderNavBackdrops","closeMenu","setCustomProperty","headerHeight","changedMediaQuery","toggleOpen","mediaQuery","btn","headerNavContent","siteHeaderNavBackdrop","handleShow","handleHide","timeoutID","modal","siteFooterToggles","isPc"],"mappings":"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OD,QAAU,IAA0B,6D,gBCA3CC,EAAOD,QAAU,IAA0B,6D,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,0F,gBCA3CC,EAAOD,QAAU,IAA0B,iG,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,+D,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,yF,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,+D,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,+D,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,+D,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,4D,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,8D,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,yD,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,qE,gBCA3CC,EAAOD,QAAU,IAA0B,uE,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,2E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,kE,gBCA3CC,EAAOD,QAAU,IAA0B,sE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,wE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,gE,gBCA3CC,EAAOD,QAAU,IAA0B,mE,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,0E,gBCA3CC,EAAOD,QAAU,IAA0B,iE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,mF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,yF,gBCA3CC,EAAOD,QAAU,IAA0B,wF,gBCA3CC,EAAOD,QAAU,IAA0B,sF,gBCA3CC,EAAOD,QAAU,IAA0B,0F,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,wG,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,gF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,8E,gBCA3CC,EAAOD,QAAU,IAA0B,6E,gBCA3CC,EAAOD,QAAU,IAA0B,yF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,+E,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,kF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,oF,gBCA3CC,EAAOD,QAAU,IAA0B,2F,gBCA3CC,EAAOD,QAAU,IAA0B,qF,gBCA3CC,EAAOD,QAAU,IAA0B,uF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,iF,gBCA3CC,EAAOD,QAAU,IAA0B,4E,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC,EAAOD,QAAU,IAA0B,oE,gBCA3CC,EAAOD,QAAU,IAA0B,yE,gBCA3CC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","file":"js/search/application-8095d3a6198e675c2b38.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 434);\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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/*!\n * jQuery JavaScript Library v3.6.3\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2022-12-20T21:28Z\n */\n(function (global, factory) {\n \"use strict\";\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && _typeof(module.exports) === \"object\") {\n // For CommonJS and CommonJS-like environments where a proper `window`\n // is present, execute the factory and get jQuery.\n // For environments that do not have a `window` with a `document`\n // (such as Node.js), expose a factory as module.exports.\n // This accentuates the need for the creation of a real `window`.\n // e.g. var jQuery = require(\"jquery\")(window);\n // See ticket trac-14549 for more info.\n module.exports = global.document ? factory(global, true) : function (w) {\n if (!w.document) {\n throw new Error(\"jQuery requires a window with a document\");\n }\n\n return factory(w);\n };\n } else {\n factory(global);\n } // Pass this if window is not defined yet\n\n})(typeof window !== \"undefined\" ? window : this, function (window, noGlobal) {\n // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n // enough that all such attempts are guarded in a try block.\n \"use strict\";\n\n var arr = [];\n var getProto = Object.getPrototypeOf;\n var _slice = arr.slice;\n var flat = arr.flat ? function (array) {\n return arr.flat.call(array);\n } : function (array) {\n return arr.concat.apply([], array);\n };\n var push = arr.push;\n var indexOf = arr.indexOf;\n var class2type = {};\n var toString = class2type.toString;\n var hasOwn = class2type.hasOwnProperty;\n var fnToString = hasOwn.toString;\n var ObjectFunctionString = fnToString.call(Object);\n var support = {};\n\n var isFunction = function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML <object> elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n // Plus for old WebKit, typeof returns \"function\" for HTML collections\n // (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\" && typeof obj.item !== \"function\";\n };\n\n var isWindow = function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n\n var document = window.document;\n var preservedScriptAttributes = {\n type: true,\n src: true,\n nonce: true,\n noModule: true\n };\n\n function DOMEval(code, node, doc) {\n doc = doc || document;\n var i,\n val,\n script = doc.createElement(\"script\");\n script.text = code;\n\n if (node) {\n for (i in preservedScriptAttributes) {\n // Support: Firefox 64+, Edge 18+\n // Some browsers don't support the \"nonce\" property on scripts.\n // On the other hand, just using `getAttribute` is not enough as\n // the `nonce` attribute is reset to an empty string whenever it\n // becomes browsing-context connected.\n // See https://github.com/whatwg/html/issues/2369\n // See https://html.spec.whatwg.org/#nonce-attributes\n // The `node.getAttribute` check was added for the sake of\n // `jQuery.globalEval` so that it can fake a nonce-containing node\n // via an object.\n val = node[i] || node.getAttribute && node.getAttribute(i);\n\n if (val) {\n script.setAttribute(i, val);\n }\n }\n }\n\n doc.head.appendChild(script).parentNode.removeChild(script);\n }\n\n function toType(obj) {\n if (obj == null) {\n return obj + \"\";\n } // Support: Android <=2.3 only (functionish RegExp)\n\n\n return _typeof(obj) === \"object\" || typeof obj === \"function\" ? class2type[toString.call(obj)] || \"object\" : _typeof(obj);\n }\n /* global Symbol */\n // Defining this global in .eslintrc.json would create a danger of using the global\n // unguarded in another place, it seems safer to define global only for this module\n\n\n var version = \"3.6.3\",\n // Define a local copy of jQuery\n jQuery = function jQuery(selector, context) {\n // The jQuery object is actually just the init constructor 'enhanced'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n };\n\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function toArray() {\n return _slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function get(num) {\n // Return all the elements in a clean array\n if (num == null) {\n return _slice.call(this);\n } // Return just the one element from the set\n\n\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function pushStack(elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference)\n\n ret.prevObject = this; // Return the newly-formed element set\n\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function each(callback) {\n return jQuery.each(this, callback);\n },\n map: function map(callback) {\n return this.pushStack(jQuery.map(this, function (elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function slice() {\n return this.pushStack(_slice.apply(this, arguments));\n },\n first: function first() {\n return this.eq(0);\n },\n last: function last() {\n return this.eq(-1);\n },\n even: function even() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return (i + 1) % 2;\n }));\n },\n odd: function odd() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return i % 2;\n }));\n },\n eq: function eq(i) {\n var len = this.length,\n j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [this[j]] : []);\n },\n end: function end() {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array's method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n\n jQuery.extend = jQuery.fn.extend = function () {\n var options,\n name,\n src,\n copy,\n copyIsArray,\n clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = arguments[i] || {};\n i++;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (_typeof(target) !== \"object\" && !isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) {\n // Extend the base object\n for (name in options) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n continue;\n } // Recurse if we're merging plain objects or arrays\n\n\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !jQuery.isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n }\n\n copyIsArray = false; // Never move original objects, clone them\n\n target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n };\n\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: \"jQuery\" + (version + Math.random()).replace(/\\D/g, \"\"),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function error(msg) {\n throw new Error(msg);\n },\n noop: function noop() {},\n isPlainObject: function isPlainObject(obj) {\n var proto, Ctor; // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n\n if (!obj || toString.call(obj) !== \"[object Object]\") {\n return false;\n }\n\n proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain\n\n if (!proto) {\n return true;\n } // Objects with prototype are plain iff they were constructed by a global Object function\n\n\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function isEmptyObject(obj) {\n var name;\n\n for (name in obj) {\n return false;\n }\n\n return true;\n },\n // Evaluates a script in a provided context; falls back to the global one\n // if not specified.\n globalEval: function globalEval(code, options, doc) {\n DOMEval(code, {\n nonce: options && options.nonce\n }, doc);\n },\n each: function each(obj, callback) {\n var length,\n i = 0;\n\n if (isArrayLike(obj)) {\n length = obj.length;\n\n for (; i < length; i++) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n } else {\n for (i in obj) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n }\n\n return obj;\n },\n // results is for internal usage only\n makeArray: function makeArray(arr, results) {\n var ret = results || [];\n\n if (arr != null) {\n if (isArrayLike(Object(arr))) {\n jQuery.merge(ret, typeof arr === \"string\" ? [arr] : arr);\n } else {\n push.call(ret, arr);\n }\n }\n\n return ret;\n },\n inArray: function inArray(elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function merge(first, second) {\n var len = +second.length,\n j = 0,\n i = first.length;\n\n for (; j < len; j++) {\n first[i++] = second[j];\n }\n\n first.length = i;\n return first;\n },\n grep: function grep(elems, callback, invert) {\n var callbackInverse,\n matches = [],\n i = 0,\n length = elems.length,\n callbackExpect = !invert; // Go through the array, only saving the items\n // that pass the validator function\n\n for (; i < length; i++) {\n callbackInverse = !callback(elems[i], i);\n\n if (callbackInverse !== callbackExpect) {\n matches.push(elems[i]);\n }\n }\n\n return matches;\n },\n // arg is for internal usage only\n map: function map(elems, callback, arg) {\n var length,\n value,\n i = 0,\n ret = []; // Go through the array, translating each of the items to their new values\n\n if (isArrayLike(elems)) {\n length = elems.length;\n\n for (; i < length; i++) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n } // Go through every key on the object,\n\n } else {\n for (i in elems) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n }\n } // Flatten any nested arrays\n\n\n return flat(ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n\n if (typeof Symbol === \"function\") {\n jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n } // Populate the class2type map\n\n\n jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function (_i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn't used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && \"length\" in obj && obj.length,\n type = toType(obj);\n\n if (isFunction(obj) || isWindow(obj)) {\n return false;\n }\n\n return type === \"array\" || length === 0 || typeof length === \"number\" && length > 0 && length - 1 in obj;\n }\n\n var Sizzle =\n /*!\n * Sizzle CSS Selector Engine v2.3.9\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2022-12-19\n */\n function (window) {\n var i,\n support,\n Expr,\n getText,\n isXML,\n tokenize,\n compile,\n select,\n outermostContext,\n sortInput,\n hasDuplicate,\n // Local document vars\n setDocument,\n document,\n docElem,\n documentIsHTML,\n rbuggyQSA,\n rbuggyMatches,\n matches,\n contains,\n // Instance-specific data\n expando = \"sizzle\" + 1 * new Date(),\n preferredDoc = window.document,\n dirruns = 0,\n done = 0,\n classCache = createCache(),\n tokenCache = createCache(),\n compilerCache = createCache(),\n nonnativeSelectorCache = createCache(),\n sortOrder = function sortOrder(a, b) {\n if (a === b) {\n hasDuplicate = true;\n }\n\n return 0;\n },\n // Instance methods\n hasOwn = {}.hasOwnProperty,\n arr = [],\n pop = arr.pop,\n pushNative = arr.push,\n push = arr.push,\n slice = arr.slice,\n // Use a stripped-down indexOf as it's faster than native\n // https://jsperf.com/thor-indexof-vs-for/5\n indexOf = function indexOf(list, elem) {\n var i = 0,\n len = list.length;\n\n for (; i < len; i++) {\n if (list[i] === elem) {\n return i;\n }\n }\n\n return -1;\n },\n booleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" + \"ismap|loop|multiple|open|readonly|required|scoped\",\n // Regular expressions\n // http://www.w3.org/TR/css3-selectors/#whitespace\n whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n identifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n attributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace + // Operator (capture 2)\n \"*([*^$|!~]?=)\" + whitespace + // \"Attribute values must be CSS identifiers [capture 5]\n // or strings [capture 3 or capture 4]\"\n \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace + \"*\\\\]\",\n pseudos = \":(\" + identifier + \")(?:\\\\((\" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n // 1. quoted (capture 3; capture 4 or capture 5)\n \"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" + // 2. simple (capture 6)\n \"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" + // 3. anything else (capture 2)\n \".*\" + \")\\\\)|)\",\n // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n rwhitespace = new RegExp(whitespace + \"+\", \"g\"),\n rtrim = new RegExp(\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\"),\n rcomma = new RegExp(\"^\" + whitespace + \"*,\" + whitespace + \"*\"),\n rcombinators = new RegExp(\"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\"),\n rdescend = new RegExp(whitespace + \"|>\"),\n rpseudo = new RegExp(pseudos),\n ridentifier = new RegExp(\"^\" + identifier + \"$\"),\n matchExpr = {\n \"ID\": new RegExp(\"^#(\" + identifier + \")\"),\n \"CLASS\": new RegExp(\"^\\\\.(\" + identifier + \")\"),\n \"TAG\": new RegExp(\"^(\" + identifier + \"|[*])\"),\n \"ATTR\": new RegExp(\"^\" + attributes),\n \"PSEUDO\": new RegExp(\"^\" + pseudos),\n \"CHILD\": new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\"),\n \"bool\": new RegExp(\"^(?:\" + booleans + \")$\", \"i\"),\n // For use in libraries implementing .is()\n // We use this for POS matching in `select`\n \"needsContext\": new RegExp(\"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n },\n rhtml = /HTML$/i,\n rinputs = /^(?:input|select|textarea|button)$/i,\n rheader = /^h\\d$/i,\n rnative = /^[^{]+\\{\\s*\\[native \\w/,\n // Easily-parseable/retrievable ID or TAG or CLASS selectors\n rquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n rsibling = /[+~]/,\n // CSS escapes\n // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n runescape = new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\"),\n funescape = function funescape(escape, nonHex) {\n var high = \"0x\" + escape.slice(1) - 0x10000;\n return nonHex ? // Strip the backslash prefix from a non-hex escape sequence\n nonHex : // Replace a hexadecimal escape sequence with the encoded Unicode code point\n // Support: IE <=11+\n // For values outside the Basic Multilingual Plane (BMP), manually construct a\n // surrogate pair\n high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00);\n },\n // CSS string/identifier serialization\n // https://drafts.csswg.org/cssom/#common-serializing-idioms\n rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n fcssescape = function fcssescape(ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === \"\\0\") {\n return \"\\uFFFD\";\n } // Control characters and (dependent upon position) numbers get escaped as code points\n\n\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\n } // Other potentially-special ASCII characters get backslash-escaped\n\n\n return \"\\\\\" + ch;\n },\n // Used for iframes\n // See setDocument()\n // Removing the function wrapper causes a \"Permission Denied\"\n // error in IE\n unloadHandler = function unloadHandler() {\n setDocument();\n },\n inDisabledFieldset = addCombinator(function (elem) {\n return elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n }, {\n dir: \"parentNode\",\n next: \"legend\"\n }); // Optimize for push.apply( _, NodeList )\n\n\n try {\n push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes); // Support: Android<4.0\n // Detect silently failing push.apply\n // eslint-disable-next-line no-unused-expressions\n\n arr[preferredDoc.childNodes.length].nodeType;\n } catch (e) {\n push = {\n apply: arr.length ? // Leverage slice if possible\n function (target, els) {\n pushNative.apply(target, slice.call(els));\n } : // Support: IE<9\n // Otherwise append directly\n function (target, els) {\n var j = target.length,\n i = 0; // Can't trust NodeList.length\n\n while (target[j++] = els[i++]) {}\n\n target.length = j - 1;\n }\n };\n }\n\n function Sizzle(selector, context, results, seed) {\n var m,\n i,\n elem,\n nid,\n match,\n groups,\n newSelector,\n newContext = context && context.ownerDocument,\n // nodeType defaults to 9, since context defaults to document\n nodeType = context ? context.nodeType : 9;\n results = results || []; // Return early from calls with invalid selector or context\n\n if (typeof selector !== \"string\" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) {\n return results;\n } // Try to shortcut find operations (as opposed to filters) in HTML documents\n\n\n if (!seed) {\n setDocument(context);\n context = context || document;\n\n if (documentIsHTML) {\n // If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n // (excepting DocumentFragment context, where the methods don't exist)\n if (nodeType !== 11 && (match = rquickExpr.exec(selector))) {\n // ID selector\n if (m = match[1]) {\n // Document context\n if (nodeType === 9) {\n if (elem = context.getElementById(m)) {\n // Support: IE, Opera, Webkit\n // TODO: identify versions\n // getElementById can match elements by name instead of ID\n if (elem.id === m) {\n results.push(elem);\n return results;\n }\n } else {\n return results;\n } // Element context\n\n } else {\n // Support: IE, Opera, Webkit\n // TODO: identify versions\n // getElementById can match elements by name instead of ID\n if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) {\n results.push(elem);\n return results;\n }\n } // Type selector\n\n } else if (match[2]) {\n push.apply(results, context.getElementsByTagName(selector));\n return results; // Class selector\n } else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) {\n push.apply(results, context.getElementsByClassName(m));\n return results;\n }\n } // Take advantage of querySelectorAll\n\n\n if (support.qsa && !nonnativeSelectorCache[selector + \" \"] && (!rbuggyQSA || !rbuggyQSA.test(selector)) && ( // Support: IE 8 only\n // Exclude object elements\n nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\")) {\n newSelector = selector;\n newContext = context; // qSA considers elements outside a scoping root when evaluating child or\n // descendant combinators, which is not what we want.\n // In such cases, we work around the behavior by prefixing every selector in the\n // list with an ID selector referencing the scope context.\n // The technique has to be used as well when a leading combinator is used\n // as such selectors are not recognized by querySelectorAll.\n // Thanks to Andrew Dupont for this technique.\n\n if (nodeType === 1 && (rdescend.test(selector) || rcombinators.test(selector))) {\n // Expand context for sibling selectors\n newContext = rsibling.test(selector) && testContext(context.parentNode) || context; // We can use :scope instead of the ID hack if the browser\n // supports it & if we're not changing the context.\n\n if (newContext !== context || !support.scope) {\n // Capture the context ID, setting it first if necessary\n if (nid = context.getAttribute(\"id\")) {\n nid = nid.replace(rcssescape, fcssescape);\n } else {\n context.setAttribute(\"id\", nid = expando);\n }\n } // Prefix every selector in the list\n\n\n groups = tokenize(selector);\n i = groups.length;\n\n while (i--) {\n groups[i] = (nid ? \"#\" + nid : \":scope\") + \" \" + toSelector(groups[i]);\n }\n\n newSelector = groups.join(\",\");\n }\n\n try {\n // `qSA` may not throw for unrecognized parts using forgiving parsing:\n // https://drafts.csswg.org/selectors/#forgiving-selector\n // like the `:has()` pseudo-class:\n // https://drafts.csswg.org/selectors/#relational\n // `CSS.supports` is still expected to return `false` then:\n // https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn\n // https://drafts.csswg.org/css-conditional-4/#dfn-support-selector\n if (support.cssSupportsSelector && // eslint-disable-next-line no-undef\n !CSS.supports(\"selector(:is(\" + newSelector + \"))\")) {\n // Support: IE 11+\n // Throw to get to the same code path as an error directly in qSA.\n // Note: once we only support browser supporting\n // `CSS.supports('selector(...)')`, we can most likely drop\n // the `try-catch`. IE doesn't implement the API.\n throw new Error();\n }\n\n push.apply(results, newContext.querySelectorAll(newSelector));\n return results;\n } catch (qsaError) {\n nonnativeSelectorCache(selector, true);\n } finally {\n if (nid === expando) {\n context.removeAttribute(\"id\");\n }\n }\n }\n }\n } // All others\n\n\n return select(selector.replace(rtrim, \"$1\"), context, results, seed);\n }\n /**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\n\n\n function createCache() {\n var keys = [];\n\n function cache(key, value) {\n // Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n if (keys.push(key + \" \") > Expr.cacheLength) {\n // Only keep the most recent entries\n delete cache[keys.shift()];\n }\n\n return cache[key + \" \"] = value;\n }\n\n return cache;\n }\n /**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\n\n\n function markFunction(fn) {\n fn[expando] = true;\n return fn;\n }\n /**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\n\n\n function assert(fn) {\n var el = document.createElement(\"fieldset\");\n\n try {\n return !!fn(el);\n } catch (e) {\n return false;\n } finally {\n // Remove from its parent by default\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n } // release memory in IE\n\n\n el = null;\n }\n }\n /**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\n\n\n function addHandle(attrs, handler) {\n var arr = attrs.split(\"|\"),\n i = arr.length;\n\n while (i--) {\n Expr.attrHandle[arr[i]] = handler;\n }\n }\n /**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\n\n\n function siblingCheck(a, b) {\n var cur = b && a,\n diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex; // Use IE sourceIndex if available on both nodes\n\n if (diff) {\n return diff;\n } // Check if b follows a\n\n\n if (cur) {\n while (cur = cur.nextSibling) {\n if (cur === b) {\n return -1;\n }\n }\n }\n\n return a ? 1 : -1;\n }\n /**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\n\n\n function createInputPseudo(type) {\n return function (elem) {\n var name = elem.nodeName.toLowerCase();\n return name === \"input\" && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\n\n\n function createButtonPseudo(type) {\n return function (elem) {\n var name = elem.nodeName.toLowerCase();\n return (name === \"input\" || name === \"button\") && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\n\n\n function createDisabledPseudo(disabled) {\n // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n return function (elem) {\n // Only certain elements can match :enabled or :disabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n if (\"form\" in elem) {\n // Check for inherited disabledness on relevant non-disabled elements:\n // * listed form-associated elements in a disabled fieldset\n // https://html.spec.whatwg.org/multipage/forms.html#category-listed\n // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n // * option elements in a disabled optgroup\n // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n // All such elements have a \"form\" property.\n if (elem.parentNode && elem.disabled === false) {\n // Option elements defer to a parent optgroup if present\n if (\"label\" in elem) {\n if (\"label\" in elem.parentNode) {\n return elem.parentNode.disabled === disabled;\n } else {\n return elem.disabled === disabled;\n }\n } // Support: IE 6 - 11\n // Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\n\n return elem.isDisabled === disabled || // Where there is no isDisabled, check manually\n\n /* jshint -W018 */\n elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled;\n }\n\n return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property.\n // Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n // even exist on them, let alone have a boolean value.\n } else if (\"label\" in elem) {\n return elem.disabled === disabled;\n } // Remaining elements are neither :enabled nor :disabled\n\n\n return false;\n };\n }\n /**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\n\n\n function createPositionalPseudo(fn) {\n return markFunction(function (argument) {\n argument = +argument;\n return markFunction(function (seed, matches) {\n var j,\n matchIndexes = fn([], seed.length, argument),\n i = matchIndexes.length; // Match elements found at the specified indexes\n\n while (i--) {\n if (seed[j = matchIndexes[i]]) {\n seed[j] = !(matches[j] = seed[j]);\n }\n }\n });\n });\n }\n /**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\n\n\n function testContext(context) {\n return context && typeof context.getElementsByTagName !== \"undefined\" && context;\n } // Expose support vars for convenience\n\n\n support = Sizzle.support = {};\n /**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\n\n isXML = Sizzle.isXML = function (elem) {\n var namespace = elem && elem.namespaceURI,\n docElem = elem && (elem.ownerDocument || elem).documentElement; // Support: IE <=8\n // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n // https://bugs.jquery.com/ticket/4833\n\n return !rhtml.test(namespace || docElem && docElem.nodeName || \"HTML\");\n };\n /**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\n\n\n setDocument = Sizzle.setDocument = function (node) {\n var hasCompare,\n subWindow,\n doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (doc == document || doc.nodeType !== 9 || !doc.documentElement) {\n return document;\n } // Update global variables\n\n\n document = doc;\n docElem = document.documentElement;\n documentIsHTML = !isXML(document); // Support: IE 9 - 11+, Edge 12 - 18+\n // Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) {\n // Support: IE 11, Edge\n if (subWindow.addEventListener) {\n subWindow.addEventListener(\"unload\", unloadHandler, false); // Support: IE 9 - 10 only\n } else if (subWindow.attachEvent) {\n subWindow.attachEvent(\"onunload\", unloadHandler);\n }\n } // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n // Safari 4 - 5 only, Opera <=11.6 - 12.x only\n // IE/Edge & older browsers don't support the :scope pseudo-class.\n // Support: Safari 6.0 only\n // Safari 6.0 supports :scope but it's an alias of :root there.\n\n\n support.scope = assert(function (el) {\n docElem.appendChild(el).appendChild(document.createElement(\"div\"));\n return typeof el.querySelectorAll !== \"undefined\" && !el.querySelectorAll(\":scope fieldset div\").length;\n }); // Support: Chrome 105+, Firefox 104+, Safari 15.4+\n // Make sure forgiving mode is not used in `CSS.supports( \"selector(...)\" )`.\n //\n // `:is()` uses a forgiving selector list as an argument and is widely\n // implemented, so it's a good one to test against.\n\n support.cssSupportsSelector = assert(function () {\n /* eslint-disable no-undef */\n return CSS.supports(\"selector(*)\") && // Support: Firefox 78-81 only\n // In old Firefox, `:is()` didn't use forgiving parsing. In that case,\n // fail this test as there's no selector to test against that.\n // `CSS.supports` uses unforgiving parsing\n document.querySelectorAll(\":is(:jqfake)\") && // `*` is needed as Safari & newer Chrome implemented something in between\n // for `:has()` - it throws in `qSA` if it only contains an unsupported\n // argument but multiple ones, one of which is supported, are fine.\n // We want to play safe in case `:is()` gets the same treatment.\n !CSS.supports(\"selector(:is(*,:jqfake))\");\n /* eslint-enable */\n });\n /* Attributes\n ---------------------------------------------------------------------- */\n // Support: IE<8\n // Verify that getAttribute really returns attributes and not properties\n // (excepting IE8 booleans)\n\n support.attributes = assert(function (el) {\n el.className = \"i\";\n return !el.getAttribute(\"className\");\n });\n /* getElement(s)By*\n ---------------------------------------------------------------------- */\n // Check if getElementsByTagName(\"*\") returns only elements\n\n support.getElementsByTagName = assert(function (el) {\n el.appendChild(document.createComment(\"\"));\n return !el.getElementsByTagName(\"*\").length;\n }); // Support: IE<9\n\n support.getElementsByClassName = rnative.test(document.getElementsByClassName); // Support: IE<10\n // Check if getElementById returns elements by name\n // The broken getElementById methods don't pick up programmatically-set names,\n // so use a roundabout getElementsByName test\n\n support.getById = assert(function (el) {\n docElem.appendChild(el).id = expando;\n return !document.getElementsByName || !document.getElementsByName(expando).length;\n }); // ID filter and find\n\n if (support.getById) {\n Expr.filter[\"ID\"] = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n return elem.getAttribute(\"id\") === attrId;\n };\n };\n\n Expr.find[\"ID\"] = function (id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var elem = context.getElementById(id);\n return elem ? [elem] : [];\n }\n };\n } else {\n Expr.filter[\"ID\"] = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n var node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n return node && node.value === attrId;\n };\n }; // Support: IE 6 - 7 only\n // getElementById is not reliable as a find shortcut\n\n\n Expr.find[\"ID\"] = function (id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var node,\n i,\n elems,\n elem = context.getElementById(id);\n\n if (elem) {\n // Verify the id attribute\n node = elem.getAttributeNode(\"id\");\n\n if (node && node.value === id) {\n return [elem];\n } // Fall back on getElementsByName\n\n\n elems = context.getElementsByName(id);\n i = 0;\n\n while (elem = elems[i++]) {\n node = elem.getAttributeNode(\"id\");\n\n if (node && node.value === id) {\n return [elem];\n }\n }\n }\n\n return [];\n }\n };\n } // Tag\n\n\n Expr.find[\"TAG\"] = support.getElementsByTagName ? function (tag, context) {\n if (typeof context.getElementsByTagName !== \"undefined\") {\n return context.getElementsByTagName(tag); // DocumentFragment nodes don't have gEBTN\n } else if (support.qsa) {\n return context.querySelectorAll(tag);\n }\n } : function (tag, context) {\n var elem,\n tmp = [],\n i = 0,\n // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n results = context.getElementsByTagName(tag); // Filter out possible comments\n\n if (tag === \"*\") {\n while (elem = results[i++]) {\n if (elem.nodeType === 1) {\n tmp.push(elem);\n }\n }\n\n return tmp;\n }\n\n return results;\n }; // Class\n\n Expr.find[\"CLASS\"] = support.getElementsByClassName && function (className, context) {\n if (typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML) {\n return context.getElementsByClassName(className);\n }\n };\n /* QSA/matchesSelector\n ---------------------------------------------------------------------- */\n // QSA and matchesSelector support\n // matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\n\n rbuggyMatches = []; // qSa(:focus) reports false when true (Chrome 21)\n // We allow this because of a bug in IE8/9 that throws an error\n // whenever `document.activeElement` is accessed on an iframe\n // So, we allow :focus to pass through QSA all the time to avoid the IE error\n // See https://bugs.jquery.com/ticket/13378\n\n rbuggyQSA = [];\n\n if (support.qsa = rnative.test(document.querySelectorAll)) {\n // Build QSA regex\n // Regex strategy adopted from Diego Perini\n assert(function (el) {\n var input; // Select is set to empty string on purpose\n // This is to test IE's treatment of not explicitly\n // setting a boolean content attribute,\n // since its presence should be enough\n // https://bugs.jquery.com/ticket/12359\n\n docElem.appendChild(el).innerHTML = \"<a id='\" + expando + \"'></a>\" + \"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" + \"<option selected=''></option></select>\"; // Support: IE8, Opera 11-12.16\n // Nothing should be selected when empty strings follow ^= or $= or *=\n // The test attribute must be unknown in Opera but \"safe\" for WinRT\n // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\n if (el.querySelectorAll(\"[msallowcapture^='']\").length) {\n rbuggyQSA.push(\"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\");\n } // Support: IE8\n // Boolean attributes and \"value\" are not treated correctly\n\n\n if (!el.querySelectorAll(\"[selected]\").length) {\n rbuggyQSA.push(\"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\");\n } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\n\n if (!el.querySelectorAll(\"[id~=\" + expando + \"-]\").length) {\n rbuggyQSA.push(\"~=\");\n } // Support: IE 11+, Edge 15 - 18+\n // IE 11/Edge don't find elements on a `[name='']` query in some cases.\n // Adding a temporary attribute to the document before the selection works\n // around the issue.\n // Interestingly, IE 10 & older don't seem to have the issue.\n\n\n input = document.createElement(\"input\");\n input.setAttribute(\"name\", \"\");\n el.appendChild(input);\n\n if (!el.querySelectorAll(\"[name='']\").length) {\n rbuggyQSA.push(\"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" + whitespace + \"*(?:''|\\\"\\\")\");\n } // Webkit/Opera - :checked should return selected option elements\n // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n // IE8 throws error here and will not see later tests\n\n\n if (!el.querySelectorAll(\":checked\").length) {\n rbuggyQSA.push(\":checked\");\n } // Support: Safari 8+, iOS 8+\n // https://bugs.webkit.org/show_bug.cgi?id=136851\n // In-page `selector#id sibling-combinator selector` fails\n\n\n if (!el.querySelectorAll(\"a#\" + expando + \"+*\").length) {\n rbuggyQSA.push(\".#.+[+~]\");\n } // Support: Firefox <=3.6 - 5 only\n // Old Firefox doesn't throw on a badly-escaped identifier.\n\n\n el.querySelectorAll(\"\\\\\\f\");\n rbuggyQSA.push(\"[\\\\r\\\\n\\\\f]\");\n });\n assert(function (el) {\n el.innerHTML = \"<a href='' disabled='disabled'></a>\" + \"<select disabled='disabled'><option/></select>\"; // Support: Windows 8 Native Apps\n // The type and name attributes are restricted during .innerHTML assignment\n\n var input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n el.appendChild(input).setAttribute(\"name\", \"D\"); // Support: IE8\n // Enforce case-sensitivity of name attribute\n\n if (el.querySelectorAll(\"[name=d]\").length) {\n rbuggyQSA.push(\"name\" + whitespace + \"*[*^$|!~]?=\");\n } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n // IE8 throws error here and will not see later tests\n\n\n if (el.querySelectorAll(\":enabled\").length !== 2) {\n rbuggyQSA.push(\":enabled\", \":disabled\");\n } // Support: IE9-11+\n // IE's :disabled selector does not pick up the children of disabled fieldsets\n\n\n docElem.appendChild(el).disabled = true;\n\n if (el.querySelectorAll(\":disabled\").length !== 2) {\n rbuggyQSA.push(\":enabled\", \":disabled\");\n } // Support: Opera 10 - 11 only\n // Opera 10-11 does not throw on post-comma invalid pseudos\n\n\n el.querySelectorAll(\"*,:x\");\n rbuggyQSA.push(\",.*:\");\n });\n }\n\n if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) {\n assert(function (el) {\n // Check to see if it's possible to do matchesSelector\n // on a disconnected node (IE 9)\n support.disconnectedMatch = matches.call(el, \"*\"); // This should fail with an exception\n // Gecko does not error, returns false instead\n\n matches.call(el, \"[s!='']:x\");\n rbuggyMatches.push(\"!=\", pseudos);\n });\n }\n\n if (!support.cssSupportsSelector) {\n // Support: Chrome 105+, Safari 15.4+\n // `:has()` uses a forgiving selector list as an argument so our regular\n // `try-catch` mechanism fails to catch `:has()` with arguments not supported\n // natively like `:has(:contains(\"Foo\"))`. Where supported & spec-compliant,\n // we now use `CSS.supports(\"selector(:is(SELECTOR_TO_BE_TESTED))\")`, but\n // outside that we mark `:has` as buggy.\n rbuggyQSA.push(\":has\");\n }\n\n rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join(\"|\"));\n rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join(\"|\"));\n /* Contains\n ---------------------------------------------------------------------- */\n\n hasCompare = rnative.test(docElem.compareDocumentPosition); // Element contains another\n // Purposefully self-exclusive\n // As in, an element does not contain itself\n\n contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) {\n // Support: IE <9 only\n // IE doesn't have `contains` on `document` so we need to check for\n // `documentElement` presence.\n // We need to fall back to `a` when `documentElement` is missing\n // as `ownerDocument` of elements within `<template/>` may have\n // a null one - a default behavior of all modern browsers.\n var adown = a.nodeType === 9 && a.documentElement || a,\n bup = b && b.parentNode;\n return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n } : function (a, b) {\n if (b) {\n while (b = b.parentNode) {\n if (b === a) {\n return true;\n }\n }\n }\n\n return false;\n };\n /* Sorting\n ---------------------------------------------------------------------- */\n // Document order sorting\n\n sortOrder = hasCompare ? function (a, b) {\n // Flag for duplicate removal\n if (a === b) {\n hasDuplicate = true;\n return 0;\n } // Sort on method existence if only one input has compareDocumentPosition\n\n\n var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\n if (compare) {\n return compare;\n } // Calculate position if both inputs belong to the same document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n\n compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : // Otherwise we know they are disconnected\n 1; // Disconnected nodes\n\n if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n // Choose the first element that is related to our preferred document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (a == document || a.ownerDocument == preferredDoc && contains(preferredDoc, a)) {\n return -1;\n } // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n\n if (b == document || b.ownerDocument == preferredDoc && contains(preferredDoc, b)) {\n return 1;\n } // Maintain original order\n\n\n return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0;\n }\n\n return compare & 4 ? -1 : 1;\n } : function (a, b) {\n // Exit early if the nodes are identical\n if (a === b) {\n hasDuplicate = true;\n return 0;\n }\n\n var cur,\n i = 0,\n aup = a.parentNode,\n bup = b.parentNode,\n ap = [a],\n bp = [b]; // Parentless nodes are either documents or disconnected\n\n if (!aup || !bup) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n\n /* eslint-disable eqeqeq */\n return a == document ? -1 : b == document ? 1 :\n /* eslint-enable eqeqeq */\n aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; // If the nodes are siblings, we can do a quick check\n } else if (aup === bup) {\n return siblingCheck(a, b);\n } // Otherwise we need full lists of their ancestors for comparison\n\n\n cur = a;\n\n while (cur = cur.parentNode) {\n ap.unshift(cur);\n }\n\n cur = b;\n\n while (cur = cur.parentNode) {\n bp.unshift(cur);\n } // Walk down the tree looking for a discrepancy\n\n\n while (ap[i] === bp[i]) {\n i++;\n }\n\n return i ? // Do a sibling check if the nodes have a common ancestor\n siblingCheck(ap[i], bp[i]) : // Otherwise nodes in our document sort first\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n\n /* eslint-disable eqeqeq */\n ap[i] == preferredDoc ? -1 : bp[i] == preferredDoc ? 1 :\n /* eslint-enable eqeqeq */\n 0;\n };\n return document;\n };\n\n Sizzle.matches = function (expr, elements) {\n return Sizzle(expr, null, null, elements);\n };\n\n Sizzle.matchesSelector = function (elem, expr) {\n setDocument(elem);\n\n if (support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[expr + \" \"] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) {\n try {\n var ret = matches.call(elem, expr); // IE 9's matchesSelector returns false on disconnected nodes\n\n if (ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document\n // fragment in IE 9\n elem.document && elem.document.nodeType !== 11) {\n return ret;\n }\n } catch (e) {\n nonnativeSelectorCache(expr, true);\n }\n }\n\n return Sizzle(expr, document, null, [elem]).length > 0;\n };\n\n Sizzle.contains = function (context, elem) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((context.ownerDocument || context) != document) {\n setDocument(context);\n }\n\n return contains(context, elem);\n };\n\n Sizzle.attr = function (elem, name) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((elem.ownerDocument || elem) != document) {\n setDocument(elem);\n }\n\n var fn = Expr.attrHandle[name.toLowerCase()],\n // Don't get fooled by Object.prototype properties (jQuery #13807)\n val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;\n return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;\n };\n\n Sizzle.escape = function (sel) {\n return (sel + \"\").replace(rcssescape, fcssescape);\n };\n\n Sizzle.error = function (msg) {\n throw new Error(\"Syntax error, unrecognized expression: \" + msg);\n };\n /**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\n\n\n Sizzle.uniqueSort = function (results) {\n var elem,\n duplicates = [],\n j = 0,\n i = 0; // Unless we *know* we can detect duplicates, assume their presence\n\n hasDuplicate = !support.detectDuplicates;\n sortInput = !support.sortStable && results.slice(0);\n results.sort(sortOrder);\n\n if (hasDuplicate) {\n while (elem = results[i++]) {\n if (elem === results[i]) {\n j = duplicates.push(i);\n }\n }\n\n while (j--) {\n results.splice(duplicates[j], 1);\n }\n } // Clear input after sorting to release objects\n // See https://github.com/jquery/sizzle/pull/225\n\n\n sortInput = null;\n return results;\n };\n /**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\n\n\n getText = Sizzle.getText = function (elem) {\n var node,\n ret = \"\",\n i = 0,\n nodeType = elem.nodeType;\n\n if (!nodeType) {\n // If no nodeType, this is expected to be an array\n while (node = elem[i++]) {\n // Do not traverse comment nodes\n ret += getText(node);\n }\n } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) {\n // Use textContent for elements\n // innerText usage removed for consistency of new lines (jQuery #11153)\n if (typeof elem.textContent === \"string\") {\n return elem.textContent;\n } else {\n // Traverse its children\n for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n ret += getText(elem);\n }\n }\n } else if (nodeType === 3 || nodeType === 4) {\n return elem.nodeValue;\n } // Do not include comment or processing instruction nodes\n\n\n return ret;\n };\n\n Expr = Sizzle.selectors = {\n // Can be adjusted by the user\n cacheLength: 50,\n createPseudo: markFunction,\n match: matchExpr,\n attrHandle: {},\n find: {},\n relative: {\n \">\": {\n dir: \"parentNode\",\n first: true\n },\n \" \": {\n dir: \"parentNode\"\n },\n \"+\": {\n dir: \"previousSibling\",\n first: true\n },\n \"~\": {\n dir: \"previousSibling\"\n }\n },\n preFilter: {\n \"ATTR\": function ATTR(match) {\n match[1] = match[1].replace(runescape, funescape); // Move the given value to match[3] whether quoted or unquoted\n\n match[3] = (match[3] || match[4] || match[5] || \"\").replace(runescape, funescape);\n\n if (match[2] === \"~=\") {\n match[3] = \" \" + match[3] + \" \";\n }\n\n return match.slice(0, 4);\n },\n \"CHILD\": function CHILD(match) {\n /* matches from matchExpr[\"CHILD\"]\n \t1 type (only|nth|...)\n \t2 what (child|of-type)\n \t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n \t4 xn-component of xn+y argument ([+-]?\\d*n|)\n \t5 sign of xn-component\n \t6 x of xn-component\n \t7 sign of y-component\n \t8 y of y-component\n */\n match[1] = match[1].toLowerCase();\n\n if (match[1].slice(0, 3) === \"nth\") {\n // nth-* requires argument\n if (!match[3]) {\n Sizzle.error(match[0]);\n } // numeric x and y parameters for Expr.filter.CHILD\n // remember that false/true cast respectively to 0/1\n\n\n match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === \"even\" || match[3] === \"odd\"));\n match[5] = +(match[7] + match[8] || match[3] === \"odd\"); // other types prohibit arguments\n } else if (match[3]) {\n Sizzle.error(match[0]);\n }\n\n return match;\n },\n \"PSEUDO\": function PSEUDO(match) {\n var excess,\n unquoted = !match[6] && match[2];\n\n if (matchExpr[\"CHILD\"].test(match[0])) {\n return null;\n } // Accept quoted arguments as-is\n\n\n if (match[3]) {\n match[2] = match[4] || match[5] || \"\"; // Strip excess characters from unquoted arguments\n } else if (unquoted && rpseudo.test(unquoted) && ( // Get excess from tokenize (recursively)\n excess = tokenize(unquoted, true)) && ( // advance to the next closing parenthesis\n excess = unquoted.indexOf(\")\", unquoted.length - excess) - unquoted.length)) {\n // excess is a negative index\n match[0] = match[0].slice(0, excess);\n match[2] = unquoted.slice(0, excess);\n } // Return only captures needed by the pseudo filter method (type and argument)\n\n\n return match.slice(0, 3);\n }\n },\n filter: {\n \"TAG\": function TAG(nodeNameSelector) {\n var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n return nodeNameSelector === \"*\" ? function () {\n return true;\n } : function (elem) {\n return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n };\n },\n \"CLASS\": function CLASS(className) {\n var pattern = classCache[className + \" \"];\n return pattern || (pattern = new RegExp(\"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\")) && classCache(className, function (elem) {\n return pattern.test(typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\");\n });\n },\n \"ATTR\": function ATTR(name, operator, check) {\n return function (elem) {\n var result = Sizzle.attr(elem, name);\n\n if (result == null) {\n return operator === \"!=\";\n }\n\n if (!operator) {\n return true;\n }\n\n result += \"\";\n /* eslint-disable max-len */\n\n return operator === \"=\" ? result === check : operator === \"!=\" ? result !== check : operator === \"^=\" ? check && result.indexOf(check) === 0 : operator === \"*=\" ? check && result.indexOf(check) > -1 : operator === \"$=\" ? check && result.slice(-check.length) === check : operator === \"~=\" ? (\" \" + result.replace(rwhitespace, \" \") + \" \").indexOf(check) > -1 : operator === \"|=\" ? result === check || result.slice(0, check.length + 1) === check + \"-\" : false;\n /* eslint-enable max-len */\n };\n },\n \"CHILD\": function CHILD(type, what, _argument, first, last) {\n var simple = type.slice(0, 3) !== \"nth\",\n forward = type.slice(-4) !== \"last\",\n ofType = what === \"of-type\";\n return first === 1 && last === 0 ? // Shortcut for :nth-*(n)\n function (elem) {\n return !!elem.parentNode;\n } : function (elem, _context, xml) {\n var cache,\n uniqueCache,\n outerCache,\n node,\n nodeIndex,\n start,\n dir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n parent = elem.parentNode,\n name = ofType && elem.nodeName.toLowerCase(),\n useCache = !xml && !ofType,\n diff = false;\n\n if (parent) {\n // :(first|last|only)-(child|of-type)\n if (simple) {\n while (dir) {\n node = elem;\n\n while (node = node[dir]) {\n if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) {\n return false;\n }\n } // Reverse direction for :only-* (if we haven't yet done so)\n\n\n start = dir = type === \"only\" && !start && \"nextSibling\";\n }\n\n return true;\n }\n\n start = [forward ? parent.firstChild : parent.lastChild]; // non-xml :nth-child(...) stores cache data on `parent`\n\n if (forward && useCache) {\n // Seek `elem` from a previously-cached index\n // ...in a gzip-friendly way\n node = parent;\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n cache = uniqueCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex && cache[2];\n node = nodeIndex && parent.childNodes[nodeIndex];\n\n while (node = ++nodeIndex && node && node[dir] || ( // Fallback to seeking `elem` from the start\n diff = nodeIndex = 0) || start.pop()) {\n // When found, cache indexes on `parent` and break\n if (node.nodeType === 1 && ++diff && node === elem) {\n uniqueCache[type] = [dirruns, nodeIndex, diff];\n break;\n }\n }\n } else {\n // Use previously-cached element index if available\n if (useCache) {\n // ...in a gzip-friendly way\n node = elem;\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n cache = uniqueCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex;\n } // xml :nth-child(...)\n // or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\n\n if (diff === false) {\n // Use the same loop as above to seek `elem` from the start\n while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) {\n // Cache the index of each encountered element\n if (useCache) {\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n uniqueCache[type] = [dirruns, diff];\n }\n\n if (node === elem) {\n break;\n }\n }\n }\n }\n } // Incorporate the offset, then check against cycle size\n\n\n diff -= last;\n return diff === first || diff % first === 0 && diff / first >= 0;\n }\n };\n },\n \"PSEUDO\": function PSEUDO(pseudo, argument) {\n // pseudo-class names are case-insensitive\n // http://www.w3.org/TR/selectors/#pseudo-classes\n // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n // Remember that setFilters inherits from pseudos\n var args,\n fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error(\"unsupported pseudo: \" + pseudo); // The user may use createPseudo to indicate that\n // arguments are needed to create the filter function\n // just as Sizzle does\n\n if (fn[expando]) {\n return fn(argument);\n } // But maintain support for old signatures\n\n\n if (fn.length > 1) {\n args = [pseudo, pseudo, \"\", argument];\n return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {\n var idx,\n matched = fn(seed, argument),\n i = matched.length;\n\n while (i--) {\n idx = indexOf(seed, matched[i]);\n seed[idx] = !(matches[idx] = matched[i]);\n }\n }) : function (elem) {\n return fn(elem, 0, args);\n };\n }\n\n return fn;\n }\n },\n pseudos: {\n // Potentially complex pseudos\n \"not\": markFunction(function (selector) {\n // Trim the selector passed to compile\n // to avoid treating leading and trailing\n // spaces as combinators\n var input = [],\n results = [],\n matcher = compile(selector.replace(rtrim, \"$1\"));\n return matcher[expando] ? markFunction(function (seed, matches, _context, xml) {\n var elem,\n unmatched = matcher(seed, null, xml, []),\n i = seed.length; // Match elements unmatched by `matcher`\n\n while (i--) {\n if (elem = unmatched[i]) {\n seed[i] = !(matches[i] = elem);\n }\n }\n }) : function (elem, _context, xml) {\n input[0] = elem;\n matcher(input, null, xml, results); // Don't keep the element (issue #299)\n\n input[0] = null;\n return !results.pop();\n };\n }),\n \"has\": markFunction(function (selector) {\n return function (elem) {\n return Sizzle(selector, elem).length > 0;\n };\n }),\n \"contains\": markFunction(function (text) {\n text = text.replace(runescape, funescape);\n return function (elem) {\n return (elem.textContent || getText(elem)).indexOf(text) > -1;\n };\n }),\n // \"Whether an element is represented by a :lang() selector\n // is based solely on the element's language value\n // being equal to the identifier C,\n // or beginning with the identifier C immediately followed by \"-\".\n // The matching of C against the element's language value is performed case-insensitively.\n // The identifier C does not have to be a valid language name.\"\n // http://www.w3.org/TR/selectors/#lang-pseudo\n \"lang\": markFunction(function (lang) {\n // lang value must be a valid identifier\n if (!ridentifier.test(lang || \"\")) {\n Sizzle.error(\"unsupported lang: \" + lang);\n }\n\n lang = lang.replace(runescape, funescape).toLowerCase();\n return function (elem) {\n var elemLang;\n\n do {\n if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) {\n elemLang = elemLang.toLowerCase();\n return elemLang === lang || elemLang.indexOf(lang + \"-\") === 0;\n }\n } while ((elem = elem.parentNode) && elem.nodeType === 1);\n\n return false;\n };\n }),\n // Miscellaneous\n \"target\": function target(elem) {\n var hash = window.location && window.location.hash;\n return hash && hash.slice(1) === elem.id;\n },\n \"root\": function root(elem) {\n return elem === docElem;\n },\n \"focus\": function focus(elem) {\n return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n },\n // Boolean properties\n \"enabled\": createDisabledPseudo(false),\n \"disabled\": createDisabledPseudo(true),\n \"checked\": function checked(elem) {\n // In CSS3, :checked should return both checked and selected elements\n // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n var nodeName = elem.nodeName.toLowerCase();\n return nodeName === \"input\" && !!elem.checked || nodeName === \"option\" && !!elem.selected;\n },\n \"selected\": function selected(elem) {\n // Accessing this property makes selected-by-default\n // options in Safari work properly\n if (elem.parentNode) {\n // eslint-disable-next-line no-unused-expressions\n elem.parentNode.selectedIndex;\n }\n\n return elem.selected === true;\n },\n // Contents\n \"empty\": function empty(elem) {\n // http://www.w3.org/TR/selectors/#empty-pseudo\n // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n // but not by others (comment: 8; processing instruction: 7; etc.)\n // nodeType < 6 works because attributes (2) do not appear as children\n for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n if (elem.nodeType < 6) {\n return false;\n }\n }\n\n return true;\n },\n \"parent\": function parent(elem) {\n return !Expr.pseudos[\"empty\"](elem);\n },\n // Element/input types\n \"header\": function header(elem) {\n return rheader.test(elem.nodeName);\n },\n \"input\": function input(elem) {\n return rinputs.test(elem.nodeName);\n },\n \"button\": function button(elem) {\n var name = elem.nodeName.toLowerCase();\n return name === \"input\" && elem.type === \"button\" || name === \"button\";\n },\n \"text\": function text(elem) {\n var attr;\n return elem.nodeName.toLowerCase() === \"input\" && elem.type === \"text\" && ( // Support: IE <10 only\n // New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\");\n },\n // Position-in-collection\n \"first\": createPositionalPseudo(function () {\n return [0];\n }),\n \"last\": createPositionalPseudo(function (_matchIndexes, length) {\n return [length - 1];\n }),\n \"eq\": createPositionalPseudo(function (_matchIndexes, length, argument) {\n return [argument < 0 ? argument + length : argument];\n }),\n \"even\": createPositionalPseudo(function (matchIndexes, length) {\n var i = 0;\n\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"odd\": createPositionalPseudo(function (matchIndexes, length) {\n var i = 1;\n\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"lt\": createPositionalPseudo(function (matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument > length ? length : argument;\n\n for (; --i >= 0;) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"gt\": createPositionalPseudo(function (matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument;\n\n for (; ++i < length;) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n })\n }\n };\n Expr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"]; // Add button/input type pseudos\n\n for (i in {\n radio: true,\n checkbox: true,\n file: true,\n password: true,\n image: true\n }) {\n Expr.pseudos[i] = createInputPseudo(i);\n }\n\n for (i in {\n submit: true,\n reset: true\n }) {\n Expr.pseudos[i] = createButtonPseudo(i);\n } // Easy API for creating new setFilters\n\n\n function setFilters() {}\n\n setFilters.prototype = Expr.filters = Expr.pseudos;\n Expr.setFilters = new setFilters();\n\n tokenize = Sizzle.tokenize = function (selector, parseOnly) {\n var matched,\n match,\n tokens,\n type,\n soFar,\n groups,\n preFilters,\n cached = tokenCache[selector + \" \"];\n\n if (cached) {\n return parseOnly ? 0 : cached.slice(0);\n }\n\n soFar = selector;\n groups = [];\n preFilters = Expr.preFilter;\n\n while (soFar) {\n // Comma and first run\n if (!matched || (match = rcomma.exec(soFar))) {\n if (match) {\n // Don't consume trailing commas as valid\n soFar = soFar.slice(match[0].length) || soFar;\n }\n\n groups.push(tokens = []);\n }\n\n matched = false; // Combinators\n\n if (match = rcombinators.exec(soFar)) {\n matched = match.shift();\n tokens.push({\n value: matched,\n // Cast descendant combinators to space\n type: match[0].replace(rtrim, \" \")\n });\n soFar = soFar.slice(matched.length);\n } // Filters\n\n\n for (type in Expr.filter) {\n if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n matched = match.shift();\n tokens.push({\n value: matched,\n type: type,\n matches: match\n });\n soFar = soFar.slice(matched.length);\n }\n }\n\n if (!matched) {\n break;\n }\n } // Return the length of the invalid excess\n // if we're just parsing\n // Otherwise, throw an error or return tokens\n\n\n return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : // Cache the tokens\n tokenCache(selector, groups).slice(0);\n };\n\n function toSelector(tokens) {\n var i = 0,\n len = tokens.length,\n selector = \"\";\n\n for (; i < len; i++) {\n selector += tokens[i].value;\n }\n\n return selector;\n }\n\n function addCombinator(matcher, combinator, base) {\n var dir = combinator.dir,\n skip = combinator.next,\n key = skip || dir,\n checkNonElements = base && key === \"parentNode\",\n doneName = done++;\n return combinator.first ? // Check against closest ancestor/preceding element\n function (elem, context, xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n return matcher(elem, context, xml);\n }\n }\n\n return false;\n } : // Check against all ancestor/preceding elements\n function (elem, context, xml) {\n var oldCache,\n uniqueCache,\n outerCache,\n newCache = [dirruns, doneName]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\n if (xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n if (matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n } else {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n outerCache = elem[expando] || (elem[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {});\n\n if (skip && skip === elem.nodeName.toLowerCase()) {\n elem = elem[dir] || elem;\n } else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) {\n // Assign to newCache so results back-propagate to previous elements\n return newCache[2] = oldCache[2];\n } else {\n // Reuse newcache so results back-propagate to previous elements\n uniqueCache[key] = newCache; // A match means we're done; a fail means we have to keep checking\n\n if (newCache[2] = matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n }\n }\n\n return false;\n };\n }\n\n function elementMatcher(matchers) {\n return matchers.length > 1 ? function (elem, context, xml) {\n var i = matchers.length;\n\n while (i--) {\n if (!matchers[i](elem, context, xml)) {\n return false;\n }\n }\n\n return true;\n } : matchers[0];\n }\n\n function multipleContexts(selector, contexts, results) {\n var i = 0,\n len = contexts.length;\n\n for (; i < len; i++) {\n Sizzle(selector, contexts[i], results);\n }\n\n return results;\n }\n\n function condense(unmatched, map, filter, context, xml) {\n var elem,\n newUnmatched = [],\n i = 0,\n len = unmatched.length,\n mapped = map != null;\n\n for (; i < len; i++) {\n if (elem = unmatched[i]) {\n if (!filter || filter(elem, context, xml)) {\n newUnmatched.push(elem);\n\n if (mapped) {\n map.push(i);\n }\n }\n }\n }\n\n return newUnmatched;\n }\n\n function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n if (postFilter && !postFilter[expando]) {\n postFilter = setMatcher(postFilter);\n }\n\n if (postFinder && !postFinder[expando]) {\n postFinder = setMatcher(postFinder, postSelector);\n }\n\n return markFunction(function (seed, results, context, xml) {\n var temp,\n i,\n elem,\n preMap = [],\n postMap = [],\n preexisting = results.length,\n // Get initial elements from seed or context\n elems = seed || multipleContexts(selector || \"*\", context.nodeType ? [context] : context, []),\n // Prefilter to get matcher input, preserving a map for seed-results synchronization\n matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems,\n matcherOut = matcher ? // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n postFinder || (seed ? preFilter : preexisting || postFilter) ? // ...intermediate processing is necessary\n [] : // ...otherwise use results directly\n results : matcherIn; // Find primary matches\n\n if (matcher) {\n matcher(matcherIn, matcherOut, context, xml);\n } // Apply postFilter\n\n\n if (postFilter) {\n temp = condense(matcherOut, postMap);\n postFilter(temp, [], context, xml); // Un-match failing elements by moving them back to matcherIn\n\n i = temp.length;\n\n while (i--) {\n if (elem = temp[i]) {\n matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n }\n }\n }\n\n if (seed) {\n if (postFinder || preFilter) {\n if (postFinder) {\n // Get the final matcherOut by condensing this intermediate into postFinder contexts\n temp = [];\n i = matcherOut.length;\n\n while (i--) {\n if (elem = matcherOut[i]) {\n // Restore matcherIn since elem is not yet a final match\n temp.push(matcherIn[i] = elem);\n }\n }\n\n postFinder(null, matcherOut = [], temp, xml);\n } // Move matched elements from seed to results to keep them synchronized\n\n\n i = matcherOut.length;\n\n while (i--) {\n if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) {\n seed[temp] = !(results[temp] = elem);\n }\n }\n } // Add elements to results, through postFinder if defined\n\n } else {\n matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n\n if (postFinder) {\n postFinder(null, results, matcherOut, xml);\n } else {\n push.apply(results, matcherOut);\n }\n }\n });\n }\n\n function matcherFromTokens(tokens) {\n var checkContext,\n matcher,\n j,\n len = tokens.length,\n leadingRelative = Expr.relative[tokens[0].type],\n implicitRelative = leadingRelative || Expr.relative[\" \"],\n i = leadingRelative ? 1 : 0,\n // The foundational matcher ensures that elements are reachable from top-level context(s)\n matchContext = addCombinator(function (elem) {\n return elem === checkContext;\n }, implicitRelative, true),\n matchAnyContext = addCombinator(function (elem) {\n return indexOf(checkContext, elem) > -1;\n }, implicitRelative, true),\n matchers = [function (elem, context, xml) {\n var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); // Avoid hanging onto element (issue #299)\n\n checkContext = null;\n return ret;\n }];\n\n for (; i < len; i++) {\n if (matcher = Expr.relative[tokens[i].type]) {\n matchers = [addCombinator(elementMatcher(matchers), matcher)];\n } else {\n matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches); // Return special upon seeing a positional matcher\n\n if (matcher[expando]) {\n // Find the next relative operator (if any) for proper handling\n j = ++i;\n\n for (; j < len; j++) {\n if (Expr.relative[tokens[j].type]) {\n break;\n }\n }\n\n return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*`\n tokens.slice(0, i - 1).concat({\n value: tokens[i - 2].type === \" \" ? \"*\" : \"\"\n })).replace(rtrim, \"$1\"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n }\n\n matchers.push(matcher);\n }\n }\n\n return elementMatcher(matchers);\n }\n\n function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n var bySet = setMatchers.length > 0,\n byElement = elementMatchers.length > 0,\n superMatcher = function superMatcher(seed, context, xml, results, outermost) {\n var elem,\n j,\n matcher,\n matchedCount = 0,\n i = \"0\",\n unmatched = seed && [],\n setMatched = [],\n contextBackup = outermostContext,\n // We must always have either seed elements or outermost context\n elems = seed || byElement && Expr.find[\"TAG\"](\"*\", outermost),\n // Use integer dirruns iff this is the outermost matcher\n dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1,\n len = elems.length;\n\n if (outermost) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n outermostContext = context == document || context || outermost;\n } // Add elements passing elementMatchers directly to results\n // Support: IE<9, Safari\n // Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\n\n for (; i !== len && (elem = elems[i]) != null; i++) {\n if (byElement && elem) {\n j = 0; // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (!context && elem.ownerDocument != document) {\n setDocument(elem);\n xml = !documentIsHTML;\n }\n\n while (matcher = elementMatchers[j++]) {\n if (matcher(elem, context || document, xml)) {\n results.push(elem);\n break;\n }\n }\n\n if (outermost) {\n dirruns = dirrunsUnique;\n }\n } // Track unmatched elements for set filters\n\n\n if (bySet) {\n // They will have gone through all possible matchers\n if (elem = !matcher && elem) {\n matchedCount--;\n } // Lengthen the array for every element, matched or not\n\n\n if (seed) {\n unmatched.push(elem);\n }\n }\n } // `i` is now the count of elements visited above, and adding it to `matchedCount`\n // makes the latter nonnegative.\n\n\n matchedCount += i; // Apply set filters to unmatched elements\n // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n // equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n // no element matchers and no seed.\n // Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n // case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n // numerically zero.\n\n if (bySet && i !== matchedCount) {\n j = 0;\n\n while (matcher = setMatchers[j++]) {\n matcher(unmatched, setMatched, context, xml);\n }\n\n if (seed) {\n // Reintegrate element matches to eliminate the need for sorting\n if (matchedCount > 0) {\n while (i--) {\n if (!(unmatched[i] || setMatched[i])) {\n setMatched[i] = pop.call(results);\n }\n }\n } // Discard index placeholder values to get only actual matches\n\n\n setMatched = condense(setMatched);\n } // Add matches to results\n\n\n push.apply(results, setMatched); // Seedless set matches succeeding multiple successful matchers stipulate sorting\n\n if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {\n Sizzle.uniqueSort(results);\n }\n } // Override manipulation of globals by nested matchers\n\n\n if (outermost) {\n dirruns = dirrunsUnique;\n outermostContext = contextBackup;\n }\n\n return unmatched;\n };\n\n return bySet ? markFunction(superMatcher) : superMatcher;\n }\n\n compile = Sizzle.compile = function (selector, match\n /* Internal Use Only */\n ) {\n var i,\n setMatchers = [],\n elementMatchers = [],\n cached = compilerCache[selector + \" \"];\n\n if (!cached) {\n // Generate a function of recursive functions that can be used to check each element\n if (!match) {\n match = tokenize(selector);\n }\n\n i = match.length;\n\n while (i--) {\n cached = matcherFromTokens(match[i]);\n\n if (cached[expando]) {\n setMatchers.push(cached);\n } else {\n elementMatchers.push(cached);\n }\n } // Cache the compiled function\n\n\n cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); // Save selector and tokenization\n\n cached.selector = selector;\n }\n\n return cached;\n };\n /**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\n\n\n select = Sizzle.select = function (selector, context, results, seed) {\n var i,\n tokens,\n token,\n type,\n find,\n compiled = typeof selector === \"function\" && selector,\n match = !seed && tokenize(selector = compiled.selector || selector);\n results = results || []; // Try to minimize operations if there is only one selector in the list and no seed\n // (the latter of which guarantees us context)\n\n if (match.length === 1) {\n // Reduce context if the leading compound selector is an ID\n tokens = match[0] = match[0].slice(0);\n\n if (tokens.length > 2 && (token = tokens[0]).type === \"ID\" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n context = (Expr.find[\"ID\"](token.matches[0].replace(runescape, funescape), context) || [])[0];\n\n if (!context) {\n return results; // Precompiled matchers will still verify ancestry, so step up a level\n } else if (compiled) {\n context = context.parentNode;\n }\n\n selector = selector.slice(tokens.shift().value.length);\n } // Fetch a seed set for right-to-left matching\n\n\n i = matchExpr[\"needsContext\"].test(selector) ? 0 : tokens.length;\n\n while (i--) {\n token = tokens[i]; // Abort if we hit a combinator\n\n if (Expr.relative[type = token.type]) {\n break;\n }\n\n if (find = Expr.find[type]) {\n // Search, expanding context for leading sibling combinators\n if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n // If seed is empty or no tokens remain, we can return early\n tokens.splice(i, 1);\n selector = seed.length && toSelector(tokens);\n\n if (!selector) {\n push.apply(results, seed);\n return results;\n }\n\n break;\n }\n }\n }\n } // Compile and execute a filtering function if one is not provided\n // Provide `match` to avoid retokenization if we modified the selector above\n\n\n (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context);\n return results;\n }; // One-time assignments\n // Sort stability\n\n\n support.sortStable = expando.split(\"\").sort(sortOrder).join(\"\") === expando; // Support: Chrome 14-35+\n // Always assume duplicates if they aren't passed to the comparison function\n\n support.detectDuplicates = !!hasDuplicate; // Initialize against the default document\n\n setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n // Detached nodes confoundingly follow *each other*\n\n support.sortDetached = assert(function (el) {\n // Should return 1, but returns 4 (following)\n return el.compareDocumentPosition(document.createElement(\"fieldset\")) & 1;\n }); // Support: IE<8\n // Prevent attribute/property \"interpolation\"\n // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\n\n if (!assert(function (el) {\n el.innerHTML = \"<a href='#'></a>\";\n return el.firstChild.getAttribute(\"href\") === \"#\";\n })) {\n addHandle(\"type|href|height|width\", function (elem, name, isXML) {\n if (!isXML) {\n return elem.getAttribute(name, name.toLowerCase() === \"type\" ? 1 : 2);\n }\n });\n } // Support: IE<9\n // Use defaultValue in place of getAttribute(\"value\")\n\n\n if (!support.attributes || !assert(function (el) {\n el.innerHTML = \"<input/>\";\n el.firstChild.setAttribute(\"value\", \"\");\n return el.firstChild.getAttribute(\"value\") === \"\";\n })) {\n addHandle(\"value\", function (elem, _name, isXML) {\n if (!isXML && elem.nodeName.toLowerCase() === \"input\") {\n return elem.defaultValue;\n }\n });\n } // Support: IE<9\n // Use getAttributeNode to fetch booleans when getAttribute lies\n\n\n if (!assert(function (el) {\n return el.getAttribute(\"disabled\") == null;\n })) {\n addHandle(booleans, function (elem, name, isXML) {\n var val;\n\n if (!isXML) {\n return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;\n }\n });\n }\n\n return Sizzle;\n }(window);\n\n jQuery.find = Sizzle;\n jQuery.expr = Sizzle.selectors; // Deprecated\n\n jQuery.expr[\":\"] = jQuery.expr.pseudos;\n jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\n jQuery.text = Sizzle.getText;\n jQuery.isXMLDoc = Sizzle.isXML;\n jQuery.contains = Sizzle.contains;\n jQuery.escapeSelector = Sizzle.escape;\n\n var dir = function dir(elem, _dir, until) {\n var matched = [],\n truncate = until !== undefined;\n\n while ((elem = elem[_dir]) && elem.nodeType !== 9) {\n if (elem.nodeType === 1) {\n if (truncate && jQuery(elem).is(until)) {\n break;\n }\n\n matched.push(elem);\n }\n }\n\n return matched;\n };\n\n var _siblings = function siblings(n, elem) {\n var matched = [];\n\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== elem) {\n matched.push(n);\n }\n }\n\n return matched;\n };\n\n var rneedsContext = jQuery.expr.match.needsContext;\n\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n var rsingleTag = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i; // Implement the identical functionality for filter and not\n\n function winnow(elements, qualifier, not) {\n if (isFunction(qualifier)) {\n return jQuery.grep(elements, function (elem, i) {\n return !!qualifier.call(elem, i, elem) !== not;\n });\n } // Single element\n\n\n if (qualifier.nodeType) {\n return jQuery.grep(elements, function (elem) {\n return elem === qualifier !== not;\n });\n } // Arraylike of elements (jQuery, arguments, Array)\n\n\n if (typeof qualifier !== \"string\") {\n return jQuery.grep(elements, function (elem) {\n return indexOf.call(qualifier, elem) > -1 !== not;\n });\n } // Filtered directly for both simple and complex selectors\n\n\n return jQuery.filter(qualifier, elements, not);\n }\n\n jQuery.filter = function (expr, elems, not) {\n var elem = elems[0];\n\n if (not) {\n expr = \":not(\" + expr + \")\";\n }\n\n if (elems.length === 1 && elem.nodeType === 1) {\n return jQuery.find.matchesSelector(elem, expr) ? [elem] : [];\n }\n\n return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {\n return elem.nodeType === 1;\n }));\n };\n\n jQuery.fn.extend({\n find: function find(selector) {\n var i,\n ret,\n len = this.length,\n self = this;\n\n if (typeof selector !== \"string\") {\n return this.pushStack(jQuery(selector).filter(function () {\n for (i = 0; i < len; i++) {\n if (jQuery.contains(self[i], this)) {\n return true;\n }\n }\n }));\n }\n\n ret = this.pushStack([]);\n\n for (i = 0; i < len; i++) {\n jQuery.find(selector, self[i], ret);\n }\n\n return len > 1 ? jQuery.uniqueSort(ret) : ret;\n },\n filter: function filter(selector) {\n return this.pushStack(winnow(this, selector || [], false));\n },\n not: function not(selector) {\n return this.pushStack(winnow(this, selector || [], true));\n },\n is: function is(selector) {\n return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set\n // so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n typeof selector === \"string\" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;\n }\n }); // Initialize a jQuery object\n // A central reference to the root jQuery(document)\n\n var rootjQuery,\n // A simple way to check for HTML strings\n // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)\n // Strict HTML recognition (trac-11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n init = jQuery.fn.init = function (selector, context, root) {\n var match, elem; // HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\n if (!selector) {\n return this;\n } // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n\n\n root = root || rootjQuery; // Handle HTML strings\n\n if (typeof selector === \"string\") {\n if (selector[0] === \"<\" && selector[selector.length - 1] === \">\" && selector.length >= 3) {\n // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [null, selector, null];\n } else {\n match = rquickExpr.exec(selector);\n } // Match html or make sure no context is specified for #id\n\n\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props)\n\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for (match in context) {\n // Properties of context are called as methods if possible\n if (isFunction(this[match])) {\n this[match](context[match]); // ...and otherwise set as attributes\n } else {\n this.attr(match, context[match]);\n }\n }\n }\n\n return this; // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n\n return this;\n } // HANDLE: $(expr, $(...))\n\n } else if (!context || context.jquery) {\n return (context || root).find(selector); // HANDLE: $(expr, context)\n // (which is just equivalent to: $(context).find(expr)\n } else {\n return this.constructor(context).find(selector);\n } // HANDLE: $(DOMElement)\n\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this; // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) {\n return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present\n selector(jQuery);\n }\n\n return jQuery.makeArray(selector, this);\n }; // Give the init function the jQuery prototype for later instantiation\n\n\n init.prototype = jQuery.fn; // Initialize central reference\n\n rootjQuery = jQuery(document);\n var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function has(target) {\n var targets = jQuery(target, this),\n l = targets.length;\n return this.filter(function () {\n var i = 0;\n\n for (; i < l; i++) {\n if (jQuery.contains(this, targets[i])) {\n return true;\n }\n }\n });\n },\n closest: function closest(selectors, context) {\n var cur,\n i = 0,\n l = this.length,\n matched = [],\n targets = typeof selectors !== \"string\" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context\n\n if (!rneedsContext.test(selectors)) {\n for (; i < l; i++) {\n for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {\n // Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n }\n }\n\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function index(elem) {\n // No argument, return index in parent\n if (!elem) {\n return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n } // Index in selector\n\n\n if (typeof elem === \"string\") {\n return indexOf.call(jQuery(elem), this[0]);\n } // Locate the position of the desired element\n\n\n return indexOf.call(this, // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function add(selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function addBack(selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n\n function sibling(cur, dir) {\n while ((cur = cur[dir]) && cur.nodeType !== 1) {}\n\n return cur;\n }\n\n jQuery.each({\n parent: function parent(elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function parents(elem) {\n return dir(elem, \"parentNode\");\n },\n parentsUntil: function parentsUntil(elem, _i, until) {\n return dir(elem, \"parentNode\", until);\n },\n next: function next(elem) {\n return sibling(elem, \"nextSibling\");\n },\n prev: function prev(elem) {\n return sibling(elem, \"previousSibling\");\n },\n nextAll: function nextAll(elem) {\n return dir(elem, \"nextSibling\");\n },\n prevAll: function prevAll(elem) {\n return dir(elem, \"previousSibling\");\n },\n nextUntil: function nextUntil(elem, _i, until) {\n return dir(elem, \"nextSibling\", until);\n },\n prevUntil: function prevUntil(elem, _i, until) {\n return dir(elem, \"previousSibling\", until);\n },\n siblings: function siblings(elem) {\n return _siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function children(elem) {\n return _siblings(elem.firstChild);\n },\n contents: function contents(elem) {\n if (elem.contentDocument != null && // Support: IE 11+\n // <object> elements with no `data` attribute has an object\n // `contentDocument` with a `null` prototype.\n getProto(elem.contentDocument)) {\n return elem.contentDocument;\n } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n\n\n if (nodeName(elem, \"template\")) {\n elem = elem.content || elem;\n }\n\n return jQuery.merge([], elem.childNodes);\n }\n }, function (name, fn) {\n jQuery.fn[name] = function (until, selector) {\n var matched = jQuery.map(this, fn, until);\n\n if (name.slice(-5) !== \"Until\") {\n selector = until;\n }\n\n if (selector && typeof selector === \"string\") {\n matched = jQuery.filter(selector, matched);\n }\n\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) {\n jQuery.uniqueSort(matched);\n } // Reverse order for parents* and prev-derivatives\n\n\n if (rparentsprev.test(name)) {\n matched.reverse();\n }\n }\n\n return this.pushStack(matched);\n };\n });\n var rnothtmlwhite = /[^\\x20\\t\\r\\n\\f]+/g; // Convert String-formatted options into Object-formatted ones\n\n function createOptions(options) {\n var object = {};\n jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) {\n object[flag] = true;\n });\n return object;\n }\n /*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\n\n\n jQuery.Callbacks = function (options) {\n // Convert options from String-formatted to Object-formatted if needed\n // (we check in cache first)\n options = typeof options === \"string\" ? createOptions(options) : jQuery.extend({}, options);\n\n var // Flag to know if list is currently firing\n firing,\n // Last fire value for non-forgettable lists\n memory,\n // Flag to know if list was already fired\n _fired,\n // Flag to prevent firing\n _locked,\n // Actual callback list\n list = [],\n // Queue of execution data for repeatable lists\n queue = [],\n // Index of currently firing callback (modified by add/remove as needed)\n firingIndex = -1,\n // Fire callbacks\n fire = function fire() {\n // Enforce single-firing\n _locked = _locked || options.once; // Execute callbacks for all pending executions,\n // respecting firingIndex overrides and runtime changes\n\n _fired = firing = true;\n\n for (; queue.length; firingIndex = -1) {\n memory = queue.shift();\n\n while (++firingIndex < list.length) {\n // Run callback and check for early termination\n if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {\n // Jump to end and forget the data so .add doesn't re-fire\n firingIndex = list.length;\n memory = false;\n }\n }\n } // Forget the data if we're done with it\n\n\n if (!options.memory) {\n memory = false;\n }\n\n firing = false; // Clean up if we're done firing for good\n\n if (_locked) {\n // Keep an empty list if we have data for future add calls\n if (memory) {\n list = []; // Otherwise, this object is spent\n } else {\n list = \"\";\n }\n }\n },\n // Actual Callbacks object\n self = {\n // Add a callback or a collection of callbacks to the list\n add: function add() {\n if (list) {\n // If we have memory from a past run, we should fire after adding\n if (memory && !firing) {\n firingIndex = list.length - 1;\n queue.push(memory);\n }\n\n (function add(args) {\n jQuery.each(args, function (_, arg) {\n if (isFunction(arg)) {\n if (!options.unique || !self.has(arg)) {\n list.push(arg);\n }\n } else if (arg && arg.length && toType(arg) !== \"string\") {\n // Inspect recursively\n add(arg);\n }\n });\n })(arguments);\n\n if (memory && !firing) {\n fire();\n }\n }\n\n return this;\n },\n // Remove a callback from the list\n remove: function remove() {\n jQuery.each(arguments, function (_, arg) {\n var index;\n\n while ((index = jQuery.inArray(arg, list, index)) > -1) {\n list.splice(index, 1); // Handle firing indexes\n\n if (index <= firingIndex) {\n firingIndex--;\n }\n }\n });\n return this;\n },\n // Check if a given callback is in the list.\n // If no argument is given, return whether or not list has callbacks attached.\n has: function has(fn) {\n return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;\n },\n // Remove all callbacks from the list\n empty: function empty() {\n if (list) {\n list = [];\n }\n\n return this;\n },\n // Disable .fire and .add\n // Abort any current/pending executions\n // Clear all callbacks and values\n disable: function disable() {\n _locked = queue = [];\n list = memory = \"\";\n return this;\n },\n disabled: function disabled() {\n return !list;\n },\n // Disable .fire\n // Also disable .add unless we have memory (since it would have no effect)\n // Abort any pending executions\n lock: function lock() {\n _locked = queue = [];\n\n if (!memory && !firing) {\n list = memory = \"\";\n }\n\n return this;\n },\n locked: function locked() {\n return !!_locked;\n },\n // Call all callbacks with the given context and arguments\n fireWith: function fireWith(context, args) {\n if (!_locked) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n queue.push(args);\n\n if (!firing) {\n fire();\n }\n }\n\n return this;\n },\n // Call all the callbacks with the given arguments\n fire: function fire() {\n self.fireWith(this, arguments);\n return this;\n },\n // To know if the callbacks have already been called at least once\n fired: function fired() {\n return !!_fired;\n }\n };\n\n return self;\n };\n\n function Identity(v) {\n return v;\n }\n\n function Thrower(ex) {\n throw ex;\n }\n\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) {\n method.call(value).done(resolve).fail(reject); // Other thenables\n } else if (value && isFunction(method = value.then)) {\n method.call(value, resolve, reject); // Other non-thenables\n } else {\n // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [value].slice(noValue));\n } // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [value]);\n }\n }\n\n jQuery.extend({\n Deferred: function Deferred(func) {\n var tuples = [// action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n [\"notify\", \"progress\", jQuery.Callbacks(\"memory\"), jQuery.Callbacks(\"memory\"), 2], [\"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 0, \"resolved\"], [\"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 1, \"rejected\"]],\n _state = \"pending\",\n _promise = {\n state: function state() {\n return _state;\n },\n always: function always() {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n \"catch\": function _catch(fn) {\n return _promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function pipe()\n /* fnDone, fnFail, fnProgress */\n {\n var fns = arguments;\n return jQuery.Deferred(function (newDefer) {\n jQuery.each(tuples, function (_i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n\n if (returned && isFunction(returned.promise)) {\n returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n } else {\n newDefer[tuple[0] + \"With\"](this, fn ? [returned] : arguments);\n }\n });\n });\n fns = null;\n }).promise();\n },\n then: function then(onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n\n function resolve(depth, deferred, handler, special) {\n return function () {\n var that = this,\n args = arguments,\n mightThrow = function mightThrow() {\n var returned, then; // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n\n if (depth < maxDepth) {\n return;\n }\n\n returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n\n if (returned === deferred.promise()) {\n throw new TypeError(\"Thenable self-resolution\");\n } // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n\n\n then = returned && ( // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n _typeof(returned) === \"object\" || typeof returned === \"function\") && returned.then; // Handle a returned thenable\n\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) {\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress\n } else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n } // Handle all other returned values\n\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [returned];\n } // Process the value(s)\n // Default process is resolve\n\n\n (special || deferred.resolveWith)(that, args);\n }\n },\n // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function () {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) {\n jQuery.Deferred.exceptionHook(e, process.stackTrace);\n } // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n\n\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [e];\n }\n\n deferred.rejectWith(that, args);\n }\n }\n }; // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n\n\n if (depth) {\n process();\n } else {\n // Call an optional hook to record the stack, in case of exception\n // since it's otherwise lost when execution goes async\n if (jQuery.Deferred.getStackHook) {\n process.stackTrace = jQuery.Deferred.getStackHook();\n }\n\n window.setTimeout(process);\n }\n };\n }\n\n return jQuery.Deferred(function (newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... )\n\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... )\n\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function promise(obj) {\n return obj != null ? jQuery.extend(obj, _promise) : _promise;\n }\n },\n deferred = {}; // Add list-specific methods\n\n jQuery.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[5]; // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n\n _promise[tuple[1]] = list.add; // Handle state\n\n if (stateString) {\n list.add(function () {\n // state = \"resolved\" (i.e., fulfilled)\n // state = \"rejected\"\n _state = stateString;\n }, // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable, // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable, // progress_callbacks.lock\n tuples[0][2].lock, // progress_handlers.lock\n tuples[0][3].lock);\n } // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n\n\n list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? undefined : this, arguments);\n return this;\n }; // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n\n\n deferred[tuple[0] + \"With\"] = list.fireWith;\n }); // Make the deferred a promise\n\n _promise.promise(deferred); // Call given func if any\n\n\n if (func) {\n func.call(deferred, deferred);\n } // All done!\n\n\n return deferred;\n },\n // Deferred helper\n when: function when(singleValue) {\n var // count of uncompleted subordinates\n remaining = arguments.length,\n // count of unprocessed arguments\n i = remaining,\n // subordinate fulfillment data\n resolveContexts = Array(i),\n resolveValues = _slice.call(arguments),\n // the primary Deferred\n primary = jQuery.Deferred(),\n // subordinate callback factory\n updateFunc = function updateFunc(i) {\n return function (value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value;\n\n if (! --remaining) {\n primary.resolveWith(resolveContexts, resolveValues);\n }\n };\n }; // Single- and empty arguments are adopted like Promise.resolve\n\n\n if (remaining <= 1) {\n adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000)\n\n if (primary.state() === \"pending\" || isFunction(resolveValues[i] && resolveValues[i].then)) {\n return primary.then();\n }\n } // Multiple arguments are aggregated like Promise.all array elements\n\n\n while (i--) {\n adoptValue(resolveValues[i], updateFunc(i), primary.reject);\n }\n\n return primary.promise();\n }\n }); // These usually indicate a programmer mistake during development,\n // warn about them ASAP rather than swallowing them by default.\n\n var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n jQuery.Deferred.exceptionHook = function (error, stack) {\n // Support: IE 8 - 9 only\n // Console exists when dev tools are open, which can happen at any time\n if (window.console && window.console.warn && error && rerrorNames.test(error.name)) {\n window.console.warn(\"jQuery.Deferred exception: \" + error.message, error.stack, stack);\n }\n };\n\n jQuery.readyException = function (error) {\n window.setTimeout(function () {\n throw error;\n });\n }; // The deferred used on DOM ready\n\n\n var readyList = jQuery.Deferred();\n\n jQuery.fn.ready = function (fn) {\n readyList.then(fn) // Wrap jQuery.readyException in a function so that the lookup\n // happens at the time of error handling instead of callback\n // registration.\n .catch(function (error) {\n jQuery.readyException(error);\n });\n return this;\n };\n\n jQuery.extend({\n // Is the DOM ready to be used? Set to true once it occurs.\n isReady: false,\n // A counter to track how many items to wait for before\n // the ready event fires. See trac-6781\n readyWait: 1,\n // Handle when the DOM is ready\n ready: function ready(wait) {\n // Abort if there are pending holds or we're already ready\n if (wait === true ? --jQuery.readyWait : jQuery.isReady) {\n return;\n } // Remember that the DOM is ready\n\n\n jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be\n\n if (wait !== true && --jQuery.readyWait > 0) {\n return;\n } // If there are functions bound, to execute\n\n\n readyList.resolveWith(document, [jQuery]);\n }\n });\n jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method\n\n function completed() {\n document.removeEventListener(\"DOMContentLoaded\", completed);\n window.removeEventListener(\"load\", completed);\n jQuery.ready();\n } // Catch cases where $(document).ready() is called\n // after the browser event has already occurred.\n // Support: IE <=9 - 10 only\n // Older IE sometimes signals \"interactive\" too soon\n\n\n if (document.readyState === \"complete\" || document.readyState !== \"loading\" && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay ready\n window.setTimeout(jQuery.ready);\n } else {\n // Use the handy event callback\n document.addEventListener(\"DOMContentLoaded\", completed); // A fallback to window.onload, that will always work\n\n window.addEventListener(\"load\", completed);\n } // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it's a function\n\n\n var access = function access(elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0,\n len = elems.length,\n bulk = key == null; // Sets many values\n\n if (toType(key) === \"object\") {\n chainable = true;\n\n for (i in key) {\n access(elems, fn, i, key[i], true, emptyGet, raw);\n } // Sets one value\n\n } else if (value !== undefined) {\n chainable = true;\n\n if (!isFunction(value)) {\n raw = true;\n }\n\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null; // ...except when executing function values\n } else {\n bulk = fn;\n\n fn = function fn(elem, _key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n\n if (fn) {\n for (; i < len; i++) {\n fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n }\n }\n\n if (chainable) {\n return elems;\n } // Gets\n\n\n if (bulk) {\n return fn.call(elems);\n }\n\n return len ? fn(elems[0], key) : emptyGet;\n }; // Matches dashed string for camelizing\n\n\n var rmsPrefix = /^-ms-/,\n rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace()\n\n function fcamelCase(_all, letter) {\n return letter.toUpperCase();\n } // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (trac-9572)\n\n\n function camelCase(string) {\n return string.replace(rmsPrefix, \"ms-\").replace(rdashAlpha, fcamelCase);\n }\n\n var acceptData = function acceptData(owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n\n function Data() {\n this.expando = jQuery.expando + Data.uid++;\n }\n\n Data.uid = 1;\n Data.prototype = {\n cache: function cache(owner) {\n // Check if the owner object already has a cache\n var value = owner[this.expando]; // If not, create one\n\n if (!value) {\n value = {}; // We can accept data for non-element nodes in modern browsers,\n // but we should not, see trac-8335.\n // Always return an empty object.\n\n if (acceptData(owner)) {\n // If it is a node unlikely to be stringify-ed or looped over\n // use plain assignment\n if (owner.nodeType) {\n owner[this.expando] = value; // Otherwise secure it in a non-enumerable property\n // configurable must be true to allow the property to be\n // deleted when data is removed\n } else {\n Object.defineProperty(owner, this.expando, {\n value: value,\n configurable: true\n });\n }\n }\n }\n\n return value;\n },\n set: function set(owner, data, value) {\n var prop,\n cache = this.cache(owner); // Handle: [ owner, key, value ] args\n // Always use camelCase key (gh-2257)\n\n if (typeof data === \"string\") {\n cache[camelCase(data)] = value; // Handle: [ owner, { properties } ] args\n } else {\n // Copy the properties one-by-one to the cache object\n for (prop in data) {\n cache[camelCase(prop)] = data[prop];\n }\n }\n\n return cache;\n },\n get: function get(owner, key) {\n return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257)\n owner[this.expando] && owner[this.expando][camelCase(key)];\n },\n access: function access(owner, key, value) {\n // In cases where either:\n //\n // 1. No key was specified\n // 2. A string key was specified, but no value provided\n //\n // Take the \"read\" path and allow the get method to determine\n // which value to return, respectively either:\n //\n // 1. The entire cache object\n // 2. The data stored at the key\n //\n if (key === undefined || key && typeof key === \"string\" && value === undefined) {\n return this.get(owner, key);\n } // When the key is not a string, or both a key and value\n // are specified, set or extend (existing objects) with either:\n //\n // 1. An object of properties\n // 2. A key and value\n //\n\n\n this.set(owner, key, value); // Since the \"set\" path can have two possible entry points\n // return the expected data based on which path was taken[*]\n\n return value !== undefined ? value : key;\n },\n remove: function remove(owner, key) {\n var i,\n cache = owner[this.expando];\n\n if (cache === undefined) {\n return;\n }\n\n if (key !== undefined) {\n // Support array or space separated string of keys\n if (Array.isArray(key)) {\n // If key is an array of keys...\n // We always set camelCase keys, so remove that.\n key = key.map(camelCase);\n } else {\n key = camelCase(key); // If a key with the spaces exists, use it.\n // Otherwise, create an array by matching non-whitespace\n\n key = key in cache ? [key] : key.match(rnothtmlwhite) || [];\n }\n\n i = key.length;\n\n while (i--) {\n delete cache[key[i]];\n }\n } // Remove the expando if there's no more data\n\n\n if (key === undefined || jQuery.isEmptyObject(cache)) {\n // Support: Chrome <=35 - 45\n // Webkit & Blink performance suffers when deleting properties\n // from DOM nodes, so set to undefined instead\n // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n if (owner.nodeType) {\n owner[this.expando] = undefined;\n } else {\n delete owner[this.expando];\n }\n }\n },\n hasData: function hasData(owner) {\n var cache = owner[this.expando];\n return cache !== undefined && !jQuery.isEmptyObject(cache);\n }\n };\n var dataPriv = new Data();\n var dataUser = new Data(); //\tImplementation Summary\n //\n //\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n //\t2. Improve the module's maintainability by reducing the storage\n //\t\tpaths to a single mechanism.\n //\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n //\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n //\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n //\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\n var rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n rmultiDash = /[A-Z]/g;\n\n function getData(data) {\n if (data === \"true\") {\n return true;\n }\n\n if (data === \"false\") {\n return false;\n }\n\n if (data === \"null\") {\n return null;\n } // Only convert to a number if it doesn't change the string\n\n\n if (data === +data + \"\") {\n return +data;\n }\n\n if (rbrace.test(data)) {\n return JSON.parse(data);\n }\n\n return data;\n }\n\n function dataAttr(elem, key, data) {\n var name; // If nothing was found internally, try to fetch any\n // data from the HTML5 data-* attribute\n\n if (data === undefined && elem.nodeType === 1) {\n name = \"data-\" + key.replace(rmultiDash, \"-$&\").toLowerCase();\n data = elem.getAttribute(name);\n\n if (typeof data === \"string\") {\n try {\n data = getData(data);\n } catch (e) {} // Make sure we set the data so it isn't changed later\n\n\n dataUser.set(elem, key, data);\n } else {\n data = undefined;\n }\n }\n\n return data;\n }\n\n jQuery.extend({\n hasData: function hasData(elem) {\n return dataUser.hasData(elem) || dataPriv.hasData(elem);\n },\n data: function data(elem, name, _data) {\n return dataUser.access(elem, name, _data);\n },\n removeData: function removeData(elem, name) {\n dataUser.remove(elem, name);\n },\n // TODO: Now that all calls to _data and _removeData have been replaced\n // with direct calls to dataPriv methods, these can be deprecated.\n _data: function _data(elem, name, data) {\n return dataPriv.access(elem, name, data);\n },\n _removeData: function _removeData(elem, name) {\n dataPriv.remove(elem, name);\n }\n });\n jQuery.fn.extend({\n data: function data(key, value) {\n var i,\n name,\n data,\n elem = this[0],\n attrs = elem && elem.attributes; // Gets all values\n\n if (key === undefined) {\n if (this.length) {\n data = dataUser.get(elem);\n\n if (elem.nodeType === 1 && !dataPriv.get(elem, \"hasDataAttrs\")) {\n i = attrs.length;\n\n while (i--) {\n // Support: IE 11 only\n // The attrs elements can be null (trac-14894)\n if (attrs[i]) {\n name = attrs[i].name;\n\n if (name.indexOf(\"data-\") === 0) {\n name = camelCase(name.slice(5));\n dataAttr(elem, name, data[name]);\n }\n }\n }\n\n dataPriv.set(elem, \"hasDataAttrs\", true);\n }\n }\n\n return data;\n } // Sets multiple values\n\n\n if (_typeof(key) === \"object\") {\n return this.each(function () {\n dataUser.set(this, key);\n });\n }\n\n return access(this, function (value) {\n var data; // The calling jQuery object (element matches) is not empty\n // (and therefore has an element appears at this[ 0 ]) and the\n // `value` parameter was not undefined. An empty jQuery object\n // will result in `undefined` for elem = this[ 0 ] which will\n // throw an exception if an attempt to read a data cache is made.\n\n if (elem && value === undefined) {\n // Attempt to get data from the cache\n // The key will always be camelCased in Data\n data = dataUser.get(elem, key);\n\n if (data !== undefined) {\n return data;\n } // Attempt to \"discover\" the data in\n // HTML5 custom data-* attrs\n\n\n data = dataAttr(elem, key);\n\n if (data !== undefined) {\n return data;\n } // We tried really hard, but the data doesn't exist.\n\n\n return;\n } // Set the data...\n\n\n this.each(function () {\n // We always store the camelCased key\n dataUser.set(this, key, value);\n });\n }, null, value, arguments.length > 1, null, true);\n },\n removeData: function removeData(key) {\n return this.each(function () {\n dataUser.remove(this, key);\n });\n }\n });\n jQuery.extend({\n queue: function queue(elem, type, data) {\n var queue;\n\n if (elem) {\n type = (type || \"fx\") + \"queue\";\n queue = dataPriv.get(elem, type); // Speed up dequeue by getting out quickly if this is just a lookup\n\n if (data) {\n if (!queue || Array.isArray(data)) {\n queue = dataPriv.access(elem, type, jQuery.makeArray(data));\n } else {\n queue.push(data);\n }\n }\n\n return queue || [];\n }\n },\n dequeue: function dequeue(elem, type) {\n type = type || \"fx\";\n\n var queue = jQuery.queue(elem, type),\n startLength = queue.length,\n fn = queue.shift(),\n hooks = jQuery._queueHooks(elem, type),\n next = function next() {\n jQuery.dequeue(elem, type);\n }; // If the fx queue is dequeued, always remove the progress sentinel\n\n\n if (fn === \"inprogress\") {\n fn = queue.shift();\n startLength--;\n }\n\n if (fn) {\n // Add a progress sentinel to prevent the fx queue from being\n // automatically dequeued\n if (type === \"fx\") {\n queue.unshift(\"inprogress\");\n } // Clear up the last queue stop function\n\n\n delete hooks.stop;\n fn.call(elem, next, hooks);\n }\n\n if (!startLength && hooks) {\n hooks.empty.fire();\n }\n },\n // Not public - generate a queueHooks object, or return the current one\n _queueHooks: function _queueHooks(elem, type) {\n var key = type + \"queueHooks\";\n return dataPriv.get(elem, key) || dataPriv.access(elem, key, {\n empty: jQuery.Callbacks(\"once memory\").add(function () {\n dataPriv.remove(elem, [type + \"queue\", key]);\n })\n });\n }\n });\n jQuery.fn.extend({\n queue: function queue(type, data) {\n var setter = 2;\n\n if (typeof type !== \"string\") {\n data = type;\n type = \"fx\";\n setter--;\n }\n\n if (arguments.length < setter) {\n return jQuery.queue(this[0], type);\n }\n\n return data === undefined ? this : this.each(function () {\n var queue = jQuery.queue(this, type, data); // Ensure a hooks for this queue\n\n jQuery._queueHooks(this, type);\n\n if (type === \"fx\" && queue[0] !== \"inprogress\") {\n jQuery.dequeue(this, type);\n }\n });\n },\n dequeue: function dequeue(type) {\n return this.each(function () {\n jQuery.dequeue(this, type);\n });\n },\n clearQueue: function clearQueue(type) {\n return this.queue(type || \"fx\", []);\n },\n // Get a promise resolved when queues of a certain type\n // are emptied (fx is the type by default)\n promise: function promise(type, obj) {\n var tmp,\n count = 1,\n defer = jQuery.Deferred(),\n elements = this,\n i = this.length,\n resolve = function resolve() {\n if (! --count) {\n defer.resolveWith(elements, [elements]);\n }\n };\n\n if (typeof type !== \"string\") {\n obj = type;\n type = undefined;\n }\n\n type = type || \"fx\";\n\n while (i--) {\n tmp = dataPriv.get(elements[i], type + \"queueHooks\");\n\n if (tmp && tmp.empty) {\n count++;\n tmp.empty.add(resolve);\n }\n }\n\n resolve();\n return defer.promise(obj);\n }\n });\n var pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\n var rcssNum = new RegExp(\"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\");\n var cssExpand = [\"Top\", \"Right\", \"Bottom\", \"Left\"];\n var documentElement = document.documentElement;\n\n var isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n },\n composed = {\n composed: true\n }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n\n\n if (documentElement.getRootNode) {\n isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n }\n\n var isHiddenWithinTree = function isHiddenWithinTree(elem, el) {\n // isHiddenWithinTree might be called from jQuery#filter function;\n // in that case, element will be second argument\n elem = el || elem; // Inline style trumps all\n\n return elem.style.display === \"none\" || elem.style.display === \"\" && // Otherwise, check computed style\n // Support: Firefox <=43 - 45\n // Disconnected elements can have computed display: none, so first confirm that elem is\n // in the document.\n isAttached(elem) && jQuery.css(elem, \"display\") === \"none\";\n };\n\n function adjustCSS(elem, prop, valueParts, tween) {\n var adjusted,\n scale,\n maxIterations = 20,\n currentValue = tween ? function () {\n return tween.cur();\n } : function () {\n return jQuery.css(elem, prop, \"\");\n },\n initial = currentValue(),\n unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? \"\" : \"px\"),\n // Starting value computation is required for potential unit mismatches\n initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== \"px\" && +initial) && rcssNum.exec(jQuery.css(elem, prop));\n\n if (initialInUnit && initialInUnit[3] !== unit) {\n // Support: Firefox <=54\n // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n initial = initial / 2; // Trust units reported by jQuery.css\n\n unit = unit || initialInUnit[3]; // Iteratively approximate from a nonzero starting point\n\n initialInUnit = +initial || 1;\n\n while (maxIterations--) {\n // Evaluate and update our best guess (doubling guesses that zero out).\n // Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n jQuery.style(elem, prop, initialInUnit + unit);\n\n if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) {\n maxIterations = 0;\n }\n\n initialInUnit = initialInUnit / scale;\n }\n\n initialInUnit = initialInUnit * 2;\n jQuery.style(elem, prop, initialInUnit + unit); // Make sure we update the tween properties later on\n\n valueParts = valueParts || [];\n }\n\n if (valueParts) {\n initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified\n\n adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];\n\n if (tween) {\n tween.unit = unit;\n tween.start = initialInUnit;\n tween.end = adjusted;\n }\n }\n\n return adjusted;\n }\n\n var defaultDisplayMap = {};\n\n function getDefaultDisplay(elem) {\n var temp,\n doc = elem.ownerDocument,\n nodeName = elem.nodeName,\n display = defaultDisplayMap[nodeName];\n\n if (display) {\n return display;\n }\n\n temp = doc.body.appendChild(doc.createElement(nodeName));\n display = jQuery.css(temp, \"display\");\n temp.parentNode.removeChild(temp);\n\n if (display === \"none\") {\n display = \"block\";\n }\n\n defaultDisplayMap[nodeName] = display;\n return display;\n }\n\n function showHide(elements, show) {\n var display,\n elem,\n values = [],\n index = 0,\n length = elements.length; // Determine new display value for elements that need to change\n\n for (; index < length; index++) {\n elem = elements[index];\n\n if (!elem.style) {\n continue;\n }\n\n display = elem.style.display;\n\n if (show) {\n // Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n // check is required in this first loop unless we have a nonempty display value (either\n // inline or about-to-be-restored)\n if (display === \"none\") {\n values[index] = dataPriv.get(elem, \"display\") || null;\n\n if (!values[index]) {\n elem.style.display = \"\";\n }\n }\n\n if (elem.style.display === \"\" && isHiddenWithinTree(elem)) {\n values[index] = getDefaultDisplay(elem);\n }\n } else {\n if (display !== \"none\") {\n values[index] = \"none\"; // Remember what we're overwriting\n\n dataPriv.set(elem, \"display\", display);\n }\n }\n } // Set the display of the elements in a second loop to avoid constant reflow\n\n\n for (index = 0; index < length; index++) {\n if (values[index] != null) {\n elements[index].style.display = values[index];\n }\n }\n\n return elements;\n }\n\n jQuery.fn.extend({\n show: function show() {\n return showHide(this, true);\n },\n hide: function hide() {\n return showHide(this);\n },\n toggle: function toggle(state) {\n if (typeof state === \"boolean\") {\n return state ? this.show() : this.hide();\n }\n\n return this.each(function () {\n if (isHiddenWithinTree(this)) {\n jQuery(this).show();\n } else {\n jQuery(this).hide();\n }\n });\n }\n });\n var rcheckableType = /^(?:checkbox|radio)$/i;\n var rtagName = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i;\n var rscriptType = /^$|^module$|\\/(?:java|ecma)script/i;\n\n (function () {\n var fragment = document.createDocumentFragment(),\n div = fragment.appendChild(document.createElement(\"div\")),\n input = document.createElement(\"input\"); // Support: Android 4.0 - 4.3 only\n // Check state lost if the name is set (trac-11217)\n // Support: Windows Web Apps (WWA)\n // `name` and `type` must use .setAttribute for WWA (trac-14901)\n\n input.setAttribute(\"type\", \"radio\");\n input.setAttribute(\"checked\", \"checked\");\n input.setAttribute(\"name\", \"t\");\n div.appendChild(input); // Support: Android <=4.1 only\n // Older WebKit doesn't clone checked state correctly in fragments\n\n support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked; // Support: IE <=11 only\n // Make sure textarea (and checkbox) defaultValue is properly cloned\n\n div.innerHTML = \"<textarea>x</textarea>\";\n support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue; // Support: IE <=9 only\n // IE <=9 replaces <option> tags with their contents when inserted outside of\n // the select element.\n\n div.innerHTML = \"<option></option>\";\n support.option = !!div.lastChild;\n })(); // We have to close these tags to support XHTML (trac-13200)\n\n\n var wrapMap = {\n // XHTML parsers do not magically insert elements in the\n // same way that tag soup parsers do. So we cannot shorten\n // this by omitting <tbody> or other required elements.\n thead: [1, \"<table>\", \"</table>\"],\n col: [2, \"<table><colgroup>\", \"</colgroup></table>\"],\n tr: [2, \"<table><tbody>\", \"</tbody></table>\"],\n td: [3, \"<table><tbody><tr>\", \"</tr></tbody></table>\"],\n _default: [0, \"\", \"\"]\n };\n wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n wrapMap.th = wrapMap.td; // Support: IE <=9 only\n\n if (!support.option) {\n wrapMap.optgroup = wrapMap.option = [1, \"<select multiple='multiple'>\", \"</select>\"];\n }\n\n function getAll(context, tag) {\n // Support: IE <=9 - 11 only\n // Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n var ret;\n\n if (typeof context.getElementsByTagName !== \"undefined\") {\n ret = context.getElementsByTagName(tag || \"*\");\n } else if (typeof context.querySelectorAll !== \"undefined\") {\n ret = context.querySelectorAll(tag || \"*\");\n } else {\n ret = [];\n }\n\n if (tag === undefined || tag && nodeName(context, tag)) {\n return jQuery.merge([context], ret);\n }\n\n return ret;\n } // Mark scripts as having already been evaluated\n\n\n function setGlobalEval(elems, refElements) {\n var i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n dataPriv.set(elems[i], \"globalEval\", !refElements || dataPriv.get(refElements[i], \"globalEval\"));\n }\n }\n\n var rhtml = /<|&#?\\w+;/;\n\n function buildFragment(elems, context, scripts, selection, ignored) {\n var elem,\n tmp,\n tag,\n wrap,\n attached,\n j,\n fragment = context.createDocumentFragment(),\n nodes = [],\n i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n elem = elems[i];\n\n if (elem || elem === 0) {\n // Add nodes directly\n if (toType(elem) === \"object\") {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, elem.nodeType ? [elem] : elem); // Convert non-html into a text node\n } else if (!rhtml.test(elem)) {\n nodes.push(context.createTextNode(elem)); // Convert html into DOM nodes\n } else {\n tmp = tmp || fragment.appendChild(context.createElement(\"div\")); // Deserialize a standard representation\n\n tag = (rtagName.exec(elem) || [\"\", \"\"])[1].toLowerCase();\n wrap = wrapMap[tag] || wrapMap._default;\n tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2]; // Descend through wrappers to the right content\n\n j = wrap[0];\n\n while (j--) {\n tmp = tmp.lastChild;\n } // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n\n\n jQuery.merge(nodes, tmp.childNodes); // Remember the top-level container\n\n tmp = fragment.firstChild; // Ensure the created nodes are orphaned (trac-12392)\n\n tmp.textContent = \"\";\n }\n }\n } // Remove wrapper from fragment\n\n\n fragment.textContent = \"\";\n i = 0;\n\n while (elem = nodes[i++]) {\n // Skip elements already in the context collection (trac-4087)\n if (selection && jQuery.inArray(elem, selection) > -1) {\n if (ignored) {\n ignored.push(elem);\n }\n\n continue;\n }\n\n attached = isAttached(elem); // Append to fragment\n\n tmp = getAll(fragment.appendChild(elem), \"script\"); // Preserve script evaluation history\n\n if (attached) {\n setGlobalEval(tmp);\n } // Capture executables\n\n\n if (scripts) {\n j = 0;\n\n while (elem = tmp[j++]) {\n if (rscriptType.test(elem.type || \"\")) {\n scripts.push(elem);\n }\n }\n }\n }\n\n return fragment;\n }\n\n var rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous, except when they are no-op.\n // So expect focus to be synchronous when the element is already active,\n // and blur to be synchronous when the element is not already active.\n // (focus and blur are always synchronous in other supported browsers,\n // this just defines when we can count on it).\n\n\n function expectSync(elem, type) {\n return elem === safeActiveElement() === (type === \"focus\");\n } // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n\n\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n\n function _on(elem, types, selector, data, fn, one) {\n var origFn, type; // Types can be a map of types/handlers\n\n if (_typeof(types) === \"object\") {\n // ( types-Object, selector, data )\n if (typeof selector !== \"string\") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n\n for (type in types) {\n _on(elem, type, selector, data, types[type], one);\n }\n\n return elem;\n }\n\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === \"string\") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n\n if (fn === false) {\n fn = returnFalse;\n } else if (!fn) {\n return elem;\n }\n\n if (one === 1) {\n origFn = fn;\n\n fn = function fn(event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n }; // Use same guid so caller can remove using origFn\n\n\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n\n return elem.each(function () {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\n\n\n jQuery.event = {\n global: {},\n add: function add(elem, types, handler, data, selector) {\n var handleObjIn,\n eventHandle,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.get(elem); // Only attach events to objects that accept data\n\n if (!acceptData(elem)) {\n return;\n } // Caller can pass in an object of custom data in lieu of the handler\n\n\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n } // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\n\n if (selector) {\n jQuery.find.matchesSelector(documentElement, selector);\n } // Make sure that the handler has a unique ID, used to find/remove it later\n\n\n if (!handler.guid) {\n handler.guid = jQuery.guid++;\n } // Init the element's event structure and main handler, if this is the first\n\n\n if (!(events = elemData.events)) {\n events = elemData.events = Object.create(null);\n }\n\n if (!(eventHandle = elemData.handle)) {\n eventHandle = elemData.handle = function (e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n } // Handle multiple events separated by a space\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // There *must* be a type, no attaching namespace-only handlers\n\n if (!type) {\n continue;\n } // If event changes its type, use the special event handlers for the changed type\n\n\n special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type\n\n type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type\n\n special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers\n\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(\".\")\n }, handleObjIn); // Init the event handler queue if we're the first\n\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false\n\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle);\n }\n }\n }\n\n if (special.add) {\n special.add.call(elem, handleObj);\n\n if (!handleObj.handler.guid) {\n handleObj.handler.guid = handler.guid;\n }\n } // Add to the element's handler list, delegates in front\n\n\n if (selector) {\n handlers.splice(handlers.delegateCount++, 0, handleObj);\n } else {\n handlers.push(handleObj);\n } // Keep track of which events have ever been used, for event optimization\n\n\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function remove(elem, types, handler, selector, mappedTypes) {\n var j,\n origCount,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n\n if (!elemData || !(events = elemData.events)) {\n return;\n } // Once for each type.namespace in types; type may be omitted\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // Unbind all events (on this namespace, if provided) for the element\n\n if (!type) {\n for (type in events) {\n jQuery.event.remove(elem, type + types[t], handler, selector, true);\n }\n\n continue;\n }\n\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"); // Remove matching events\n\n origCount = j = handlers.length;\n\n while (j--) {\n handleObj = handlers[j];\n\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector)) {\n handlers.splice(j, 1);\n\n if (handleObj.selector) {\n handlers.delegateCount--;\n }\n\n if (special.remove) {\n special.remove.call(elem, handleObj);\n }\n }\n } // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n\n\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {\n jQuery.removeEvent(elem, type, elemData.handle);\n }\n\n delete events[type];\n }\n } // Remove data and the expando if it's no longer used\n\n\n if (jQuery.isEmptyObject(events)) {\n dataPriv.remove(elem, \"handle events\");\n }\n },\n dispatch: function dispatch(nativeEvent) {\n var i,\n j,\n ret,\n matched,\n handleObj,\n handlerQueue,\n args = new Array(arguments.length),\n // Make a writable jQuery.Event from the native event object\n event = jQuery.event.fix(nativeEvent),\n handlers = (dataPriv.get(this, \"events\") || Object.create(null))[event.type] || [],\n special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event\n\n args[0] = event;\n\n for (i = 1; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired\n\n if (special.preDispatch && special.preDispatch.call(this, event) === false) {\n return;\n } // Determine handlers\n\n\n handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us\n\n i = 0;\n\n while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {\n event.currentTarget = matched.elem;\n j = 0;\n\n while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {\n // If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event's.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n } // Call the postDispatch hook for the mapped type\n\n\n if (special.postDispatch) {\n special.postDispatch.call(this, event);\n }\n\n return event.result;\n },\n handlers: function handlers(event, _handlers) {\n var i,\n handleObj,\n sel,\n matchedHandlers,\n matchedSelectors,\n handlerQueue = [],\n delegateCount = _handlers.delegateCount,\n cur = event.target; // Find delegate handlers\n\n if (delegateCount && // Support: IE <=9\n // Black-hole SVG <use> instance trees (trac-13180)\n cur.nodeType && // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === \"click\" && event.button >= 1)) {\n for (; cur !== this; cur = cur.parentNode || this) {\n // Don't check non-elements (trac-13208)\n // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n if (cur.nodeType === 1 && !(event.type === \"click\" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n\n for (i = 0; i < delegateCount; i++) {\n handleObj = _handlers[i]; // Don't conflict with Object.prototype properties (trac-13203)\n\n sel = handleObj.selector + \" \";\n\n if (matchedSelectors[sel] === undefined) {\n matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;\n }\n\n if (matchedSelectors[sel]) {\n matchedHandlers.push(handleObj);\n }\n }\n\n if (matchedHandlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n }\n } // Add the remaining (directly-bound) handlers\n\n\n cur = this;\n\n if (delegateCount < _handlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: _handlers.slice(delegateCount)\n });\n }\n\n return handlerQueue;\n },\n addProp: function addProp(name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function () {\n if (this.originalEvent) {\n return hook(this.originalEvent);\n }\n } : function () {\n if (this.originalEvent) {\n return this.originalEvent[name];\n }\n },\n set: function set(value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function fix(originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function setup(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Claim the first handler\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n // dataPriv.set( el, \"click\", ... )\n leverageNative(el, \"click\", returnTrue);\n } // Return false to allow normal processing in the caller\n\n\n return false;\n },\n trigger: function trigger(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Force setup before triggering a click\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n leverageNative(el, \"click\");\n } // Return non-false to allow normal event-path propagation\n\n\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we're currently inside a leveraged native-event stack\n _default: function _default(event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, \"input\") && dataPriv.get(target, \"click\") || nodeName(target, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function postDispatch(event) {\n // Support: Firefox 20+\n // Firefox doesn't alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) {\n event.originalEvent.returnValue = event.result;\n }\n }\n }\n }\n }; // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n\n function leverageNative(el, type, expectSync) {\n // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n if (!expectSync) {\n if (dataPriv.get(el, type) === undefined) {\n jQuery.event.add(el, type, returnTrue);\n }\n\n return;\n } // Register the controller as a special universal handler for all event namespaces\n\n\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function handler(event) {\n var notAsync,\n result,\n saved = dataPriv.get(this, type);\n\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n // Saved data should be false in such cases, but might be a leftover capture object\n // from an async native handler (gh-4350)\n if (!saved.length) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = _slice.call(arguments);\n dataPriv.set(this, type, saved); // Trigger the native event and capture its result\n // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous\n\n notAsync = expectSync(this, type);\n this[type]();\n result = dataPriv.get(this, type);\n\n if (saved !== result || notAsync) {\n dataPriv.set(this, type, false);\n } else {\n result = {};\n }\n\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault(); // Support: Chrome 86+\n // In Chrome, if an element having a focusout handler is blurred by\n // clicking outside of it, it invokes the handler synchronously. If\n // that handler calls `.remove()` on the element, the data is cleared,\n // leaving `result` undefined. We need to guard against this.\n\n return result && result.value;\n } // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering the\n // native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n\n } else if ((jQuery.event.special[type] || {}).delegateType) {\n event.stopPropagation();\n } // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n\n } else if (saved.length) {\n // ...and capture the result\n dataPriv.set(this, type, {\n value: jQuery.event.trigger( // Support: IE <=9 - 11+\n // Extend with the prototype to reset the above stopImmediatePropagation()\n jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this)\n }); // Abort handling of the native event\n\n event.stopImmediatePropagation();\n }\n }\n });\n }\n\n jQuery.removeEvent = function (elem, type, handle) {\n // This \"if\" is needed for plain objects\n if (elem.removeEventListener) {\n elem.removeEventListener(type, handle);\n }\n };\n\n jQuery.Event = function (src, props) {\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof jQuery.Event)) {\n return new jQuery.Event(src, props);\n } // Event object\n\n\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type; // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse; // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (trac-504, trac-13143)\n\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget; // Event type\n } else {\n this.type = src;\n } // Put explicitly provided properties onto the event object\n\n\n if (props) {\n jQuery.extend(this, props);\n } // Create a timestamp if incoming event doesn't have one\n\n\n this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed\n\n this[jQuery.expando] = true;\n }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n\n\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function preventDefault() {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n\n if (e && !this.isSimulated) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopImmediatePropagation();\n }\n\n this.stopPropagation();\n }\n }; // Includes all common event props including KeyEvent and MouseEvent specific props\n\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n \"char\": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: true\n }, jQuery.event.addProp);\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (type, delegateType) {\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function setup() {\n // Claim the first handler\n // dataPriv.set( this, \"focus\", ... )\n // dataPriv.set( this, \"blur\", ... )\n leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller\n\n return false;\n },\n trigger: function trigger() {\n // Force setup before trigger\n leverageNative(this, type); // Return non-false to allow normal event-path propagation\n\n return true;\n },\n // Suppress native focus or blur if we're currently inside\n // a leveraged native-event stack\n _default: function _default(event) {\n return dataPriv.get(event.target, type);\n },\n delegateType: delegateType\n };\n }); // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n\n jQuery.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function (orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function handle(event) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function on(types, selector, data, fn) {\n return _on(this, types, selector, data, fn);\n },\n one: function one(types, selector, data, fn) {\n return _on(this, types, selector, data, fn, 1);\n },\n off: function off(types, selector, fn) {\n var handleObj, type;\n\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n\n if (_typeof(types) === \"object\") {\n // ( types-object [, selector] )\n for (type in types) {\n this.off(type, selector, types[type]);\n }\n\n return this;\n }\n\n if (selector === false || typeof selector === \"function\") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n\n if (fn === false) {\n fn = returnFalse;\n }\n\n return this.each(function () {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n var // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /<script|<style|<link/i,\n // checked=\"checked\" or checked\n rchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n rcleanScript = /^\\s*<!\\[CDATA\\[|\\]\\]>\\s*$/g; // Prefer a tbody over its parent table for containing new rows\n\n function manipulationTarget(elem, content) {\n if (nodeName(elem, \"table\") && nodeName(content.nodeType !== 11 ? content : content.firstChild, \"tr\")) {\n return jQuery(elem).children(\"tbody\")[0] || elem;\n }\n\n return elem;\n } // Replace/restore the type attribute of script elements for safe DOM manipulation\n\n\n function disableScript(elem) {\n elem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n return elem;\n }\n\n function restoreScript(elem) {\n if ((elem.type || \"\").slice(0, 5) === \"true/\") {\n elem.type = elem.type.slice(5);\n } else {\n elem.removeAttribute(\"type\");\n }\n\n return elem;\n }\n\n function cloneCopyEvent(src, dest) {\n var i, l, type, pdataOld, udataOld, udataCur, events;\n\n if (dest.nodeType !== 1) {\n return;\n } // 1. Copy private data: events, handlers, etc.\n\n\n if (dataPriv.hasData(src)) {\n pdataOld = dataPriv.get(src);\n events = pdataOld.events;\n\n if (events) {\n dataPriv.remove(dest, \"handle events\");\n\n for (type in events) {\n for (i = 0, l = events[type].length; i < l; i++) {\n jQuery.event.add(dest, type, events[type][i]);\n }\n }\n }\n } // 2. Copy user data\n\n\n if (dataUser.hasData(src)) {\n udataOld = dataUser.access(src);\n udataCur = jQuery.extend({}, udataOld);\n dataUser.set(dest, udataCur);\n }\n } // Fix IE bugs, see support tests\n\n\n function fixInput(src, dest) {\n var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button.\n\n if (nodeName === \"input\" && rcheckableType.test(src.type)) {\n dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options\n } else if (nodeName === \"input\" || nodeName === \"textarea\") {\n dest.defaultValue = src.defaultValue;\n }\n }\n\n function domManip(collection, args, callback, ignored) {\n // Flatten any nested arrays\n args = flat(args);\n var fragment,\n first,\n scripts,\n hasScripts,\n node,\n doc,\n i = 0,\n l = collection.length,\n iNoClone = l - 1,\n value = args[0],\n valueIsFunction = isFunction(value); // We can't cloneNode fragments that contain checked, in WebKit\n\n if (valueIsFunction || l > 1 && typeof value === \"string\" && !support.checkClone && rchecked.test(value)) {\n return collection.each(function (index) {\n var self = collection.eq(index);\n\n if (valueIsFunction) {\n args[0] = value.call(this, index, self.html());\n }\n\n domManip(self, args, callback, ignored);\n });\n }\n\n if (l) {\n fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);\n first = fragment.firstChild;\n\n if (fragment.childNodes.length === 1) {\n fragment = first;\n } // Require either new content or an interest in ignored elements to invoke the callback\n\n\n if (first || ignored) {\n scripts = jQuery.map(getAll(fragment, \"script\"), disableScript);\n hasScripts = scripts.length; // Use the original fragment for the last item\n // instead of the first because it can end up\n // being emptied incorrectly in certain situations (trac-8070).\n\n for (; i < l; i++) {\n node = fragment;\n\n if (i !== iNoClone) {\n node = jQuery.clone(node, true, true); // Keep references to cloned scripts for later restoration\n\n if (hasScripts) {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(scripts, getAll(node, \"script\"));\n }\n }\n\n callback.call(collection[i], node, i);\n }\n\n if (hasScripts) {\n doc = scripts[scripts.length - 1].ownerDocument; // Reenable scripts\n\n jQuery.map(scripts, restoreScript); // Evaluate executable scripts on first document insertion\n\n for (i = 0; i < hasScripts; i++) {\n node = scripts[i];\n\n if (rscriptType.test(node.type || \"\") && !dataPriv.access(node, \"globalEval\") && jQuery.contains(doc, node)) {\n if (node.src && (node.type || \"\").toLowerCase() !== \"module\") {\n // Optional AJAX dependency, but won't run scripts if not present\n if (jQuery._evalUrl && !node.noModule) {\n jQuery._evalUrl(node.src, {\n nonce: node.nonce || node.getAttribute(\"nonce\")\n }, doc);\n }\n } else {\n // Unwrap a CDATA section containing script contents. This shouldn't be\n // needed as in XML documents they're already not visible when\n // inspecting element contents and in HTML documents they have no\n // meaning but we're preserving that logic for backwards compatibility.\n // This will be removed completely in 4.0. See gh-4904.\n DOMEval(node.textContent.replace(rcleanScript, \"\"), node, doc);\n }\n }\n }\n }\n }\n }\n\n return collection;\n }\n\n function _remove(elem, selector, keepData) {\n var node,\n nodes = selector ? jQuery.filter(selector, elem) : elem,\n i = 0;\n\n for (; (node = nodes[i]) != null; i++) {\n if (!keepData && node.nodeType === 1) {\n jQuery.cleanData(getAll(node));\n }\n\n if (node.parentNode) {\n if (keepData && isAttached(node)) {\n setGlobalEval(getAll(node, \"script\"));\n }\n\n node.parentNode.removeChild(node);\n }\n }\n\n return elem;\n }\n\n jQuery.extend({\n htmlPrefilter: function htmlPrefilter(html) {\n return html;\n },\n clone: function clone(elem, dataAndEvents, deepDataAndEvents) {\n var i,\n l,\n srcElements,\n destElements,\n clone = elem.cloneNode(true),\n inPage = isAttached(elem); // Fix IE cloning issues\n\n if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {\n // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n destElements = getAll(clone);\n srcElements = getAll(elem);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n fixInput(srcElements[i], destElements[i]);\n }\n } // Copy the events from the original to the clone\n\n\n if (dataAndEvents) {\n if (deepDataAndEvents) {\n srcElements = srcElements || getAll(elem);\n destElements = destElements || getAll(clone);\n\n for (i = 0, l = srcElements.length; i < l; i++) {\n cloneCopyEvent(srcElements[i], destElements[i]);\n }\n } else {\n cloneCopyEvent(elem, clone);\n }\n } // Preserve script evaluation history\n\n\n destElements = getAll(clone, \"script\");\n\n if (destElements.length > 0) {\n setGlobalEval(destElements, !inPage && getAll(elem, \"script\"));\n } // Return the cloned set\n\n\n return clone;\n },\n cleanData: function cleanData(elems) {\n var data,\n elem,\n type,\n special = jQuery.event.special,\n i = 0;\n\n for (; (elem = elems[i]) !== undefined; i++) {\n if (acceptData(elem)) {\n if (data = elem[dataPriv.expando]) {\n if (data.events) {\n for (type in data.events) {\n if (special[type]) {\n jQuery.event.remove(elem, type); // This is a shortcut to avoid jQuery.event.remove's overhead\n } else {\n jQuery.removeEvent(elem, type, data.handle);\n }\n }\n } // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n\n\n elem[dataPriv.expando] = undefined;\n }\n\n if (elem[dataUser.expando]) {\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataUser.expando] = undefined;\n }\n }\n }\n }\n });\n jQuery.fn.extend({\n detach: function detach(selector) {\n return _remove(this, selector, true);\n },\n remove: function remove(selector) {\n return _remove(this, selector);\n },\n text: function text(value) {\n return access(this, function (value) {\n return value === undefined ? jQuery.text(this) : this.empty().each(function () {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n this.textContent = value;\n }\n });\n }, null, value, arguments.length);\n },\n append: function append() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.appendChild(elem);\n }\n });\n },\n prepend: function prepend() {\n return domManip(this, arguments, function (elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.insertBefore(elem, target.firstChild);\n }\n });\n },\n before: function before() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this);\n }\n });\n },\n after: function after() {\n return domManip(this, arguments, function (elem) {\n if (this.parentNode) {\n this.parentNode.insertBefore(elem, this.nextSibling);\n }\n });\n },\n empty: function empty() {\n var elem,\n i = 0;\n\n for (; (elem = this[i]) != null; i++) {\n if (elem.nodeType === 1) {\n // Prevent memory leaks\n jQuery.cleanData(getAll(elem, false)); // Remove any remaining nodes\n\n elem.textContent = \"\";\n }\n }\n\n return this;\n },\n clone: function clone(dataAndEvents, deepDataAndEvents) {\n dataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n return this.map(function () {\n return jQuery.clone(this, dataAndEvents, deepDataAndEvents);\n });\n },\n html: function html(value) {\n return access(this, function (value) {\n var elem = this[0] || {},\n i = 0,\n l = this.length;\n\n if (value === undefined && elem.nodeType === 1) {\n return elem.innerHTML;\n } // See if we can take a shortcut and just use innerHTML\n\n\n if (typeof value === \"string\" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || [\"\", \"\"])[1].toLowerCase()]) {\n value = jQuery.htmlPrefilter(value);\n\n try {\n for (; i < l; i++) {\n elem = this[i] || {}; // Remove element nodes and prevent memory leaks\n\n if (elem.nodeType === 1) {\n jQuery.cleanData(getAll(elem, false));\n elem.innerHTML = value;\n }\n }\n\n elem = 0; // If using innerHTML throws an exception, use the fallback method\n } catch (e) {}\n }\n\n if (elem) {\n this.empty().append(value);\n }\n }, null, value, arguments.length);\n },\n replaceWith: function replaceWith() {\n var ignored = []; // Make the changes, replacing each non-ignored context element with the new content\n\n return domManip(this, arguments, function (elem) {\n var parent = this.parentNode;\n\n if (jQuery.inArray(this, ignored) < 0) {\n jQuery.cleanData(getAll(this));\n\n if (parent) {\n parent.replaceChild(elem, this);\n }\n } // Force callback invocation\n\n }, ignored);\n }\n });\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function (name, original) {\n jQuery.fn[name] = function (selector) {\n var elems,\n ret = [],\n insert = jQuery(selector),\n last = insert.length - 1,\n i = 0;\n\n for (; i <= last; i++) {\n elems = i === last ? this : this.clone(true);\n jQuery(insert[i])[original](elems); // Support: Android <=4.0 only, PhantomJS 1 only\n // .get() because push.apply(_, arraylike) throws on ancient WebKit\n\n push.apply(ret, elems.get());\n }\n\n return this.pushStack(ret);\n };\n });\n var rnumnonpx = new RegExp(\"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\");\n var rcustomProp = /^--/;\n\n var getStyles = function getStyles(elem) {\n // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n var view = elem.ownerDocument.defaultView;\n\n if (!view || !view.opener) {\n view = window;\n }\n\n return view.getComputedStyle(elem);\n };\n\n var swap = function swap(elem, options, callback) {\n var ret,\n name,\n old = {}; // Remember the old values, and insert the new ones\n\n for (name in options) {\n old[name] = elem.style[name];\n elem.style[name] = options[name];\n }\n\n ret = callback.call(elem); // Revert the old values\n\n for (name in options) {\n elem.style[name] = old[name];\n }\n\n return ret;\n };\n\n var rboxStyle = new RegExp(cssExpand.join(\"|\"), \"i\");\n var whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n var rtrimCSS = new RegExp(\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\");\n\n (function () {\n // Executing both pixelPosition & boxSizingReliable tests require only one layout\n // so they're executed at the same time to save the second computation.\n function computeStyleTests() {\n // This is a singleton, we need to execute it only once\n if (!div) {\n return;\n }\n\n container.style.cssText = \"position:absolute;left:-11111px;width:60px;\" + \"margin-top:1px;padding:0;border:0\";\n div.style.cssText = \"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" + \"margin:auto;border:1px;padding:1px;\" + \"width:60%;top:1%\";\n documentElement.appendChild(container).appendChild(div);\n var divStyle = window.getComputedStyle(div);\n pixelPositionVal = divStyle.top !== \"1%\"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\n reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n // Some styles come back with percentage values, even though they shouldn't\n\n div.style.right = \"60%\";\n pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36; // Support: IE 9 - 11 only\n // Detect misreporting of content dimensions for box-sizing:border-box elements\n\n boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36; // Support: IE 9 only\n // Detect overflow:scroll screwiness (gh-3699)\n // Support: Chrome <=64\n // Don't get tricked when zoom affects offsetWidth (gh-4029)\n\n div.style.position = \"absolute\";\n scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12;\n documentElement.removeChild(container); // Nullify the div so it wouldn't be stored in the memory and\n // it will also be a sign that checks already performed\n\n div = null;\n }\n\n function roundPixelMeasures(measure) {\n return Math.round(parseFloat(measure));\n }\n\n var pixelPositionVal,\n boxSizingReliableVal,\n scrollboxSizeVal,\n pixelBoxStylesVal,\n reliableTrDimensionsVal,\n reliableMarginLeftVal,\n container = document.createElement(\"div\"),\n div = document.createElement(\"div\"); // Finish early in limited (non-browser) environments\n\n if (!div.style) {\n return;\n } // Support: IE <=9 - 11 only\n // Style of cloned element affects source element cloned (trac-8908)\n\n\n div.style.backgroundClip = \"content-box\";\n div.cloneNode(true).style.backgroundClip = \"\";\n support.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n jQuery.extend(support, {\n boxSizingReliable: function boxSizingReliable() {\n computeStyleTests();\n return boxSizingReliableVal;\n },\n pixelBoxStyles: function pixelBoxStyles() {\n computeStyleTests();\n return pixelBoxStylesVal;\n },\n pixelPosition: function pixelPosition() {\n computeStyleTests();\n return pixelPositionVal;\n },\n reliableMarginLeft: function reliableMarginLeft() {\n computeStyleTests();\n return reliableMarginLeftVal;\n },\n scrollboxSize: function scrollboxSize() {\n computeStyleTests();\n return scrollboxSizeVal;\n },\n // Support: IE 9 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Behavior in IE 9 is more subtle than in newer versions & it passes\n // some versions of this test; make sure not to make it pass there!\n //\n // Support: Firefox 70+\n // Only Firefox includes border widths\n // in computed dimensions. (gh-4529)\n reliableTrDimensions: function reliableTrDimensions() {\n var table, tr, trChild, trStyle;\n\n if (reliableTrDimensionsVal == null) {\n table = document.createElement(\"table\");\n tr = document.createElement(\"tr\");\n trChild = document.createElement(\"div\");\n table.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n tr.style.cssText = \"border:1px solid\"; // Support: Chrome 86+\n // Height set through cssText does not get applied.\n // Computed height then comes back as 0.\n\n tr.style.height = \"1px\";\n trChild.style.height = \"9px\"; // Support: Android 8 Chrome 86+\n // In our bodyBackground.html iframe,\n // display for all div elements is set to \"inline\",\n // which causes a problem only in Android 8 Chrome 86.\n // Ensuring the div is display: block\n // gets around this issue.\n\n trChild.style.display = \"block\";\n documentElement.appendChild(table).appendChild(tr).appendChild(trChild);\n trStyle = window.getComputedStyle(tr);\n reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight;\n documentElement.removeChild(table);\n }\n\n return reliableTrDimensionsVal;\n }\n });\n })();\n\n function curCSS(elem, name, computed) {\n var width,\n minWidth,\n maxWidth,\n ret,\n isCustomProp = rcustomProp.test(name),\n // Support: Firefox 51+\n // Retrieving style before computed somehow\n // fixes an issue with getting wrong values\n // on detached elements\n style = elem.style;\n computed = computed || getStyles(elem); // getPropertyValue is needed for:\n // .css('filter') (IE 9 only, trac-12537)\n // .css('--customProperty) (gh-3144)\n\n if (computed) {\n // Support: IE <=9 - 11+\n // IE only supports `\"float\"` in `getPropertyValue`; in computed styles\n // it's only available as `\"cssFloat\"`. We no longer modify properties\n // sent to `.css()` apart from camelCasing, so we need to check both.\n // Normally, this would create difference in behavior: if\n // `getPropertyValue` returns an empty string, the value returned\n // by `.css()` would be `undefined`. This is usually the case for\n // disconnected elements. However, in IE even disconnected elements\n // with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\n ret = computed.getPropertyValue(name) || computed[name];\n\n if (isCustomProp && ret) {\n // Support: Firefox 105+, Chrome <=105+\n // Spec requires trimming whitespace for custom properties (gh-4926).\n // Firefox only trims leading whitespace. Chrome just collapses\n // both leading & trailing whitespace to a single space.\n //\n // Fall back to `undefined` if empty string returned.\n // This collapses a missing definition with property defined\n // and set to an empty string but there's no standard API\n // allowing us to differentiate them without a performance penalty\n // and returning `undefined` aligns with older jQuery.\n //\n // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n // as whitespace while CSS does not, but this is not a problem\n // because CSS preprocessing replaces them with U+000A LINE FEED\n // (which *is* CSS whitespace)\n // https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n ret = ret.replace(rtrimCSS, \"$1\") || undefined;\n }\n\n if (ret === \"\" && !isAttached(elem)) {\n ret = jQuery.style(elem, name);\n } // A tribute to the \"awesome hack by Dean Edwards\"\n // Android Browser returns percentage for some values,\n // but width seems to be reliably pixels.\n // This is against the CSSOM draft spec:\n // https://drafts.csswg.org/cssom/#resolved-values\n\n\n if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) {\n // Remember the original values\n width = style.width;\n minWidth = style.minWidth;\n maxWidth = style.maxWidth; // Put in the new values to get a computed value out\n\n style.minWidth = style.maxWidth = style.width = ret;\n ret = computed.width; // Revert the changed values\n\n style.width = width;\n style.minWidth = minWidth;\n style.maxWidth = maxWidth;\n }\n }\n\n return ret !== undefined ? // Support: IE <=9 - 11 only\n // IE returns zIndex value as an integer.\n ret + \"\" : ret;\n }\n\n function addGetHookIf(conditionFn, hookFn) {\n // Define the hook, we'll check on the first run if it's really needed.\n return {\n get: function get() {\n if (conditionFn()) {\n // Hook not needed (or it's not possible to use it due\n // to missing dependency), remove it.\n delete this.get;\n return;\n } // Hook needed; redefine it so that the support test is not executed again.\n\n\n return (this.get = hookFn).apply(this, arguments);\n }\n };\n }\n\n var cssPrefixes = [\"Webkit\", \"Moz\", \"ms\"],\n emptyStyle = document.createElement(\"div\").style,\n vendorProps = {}; // Return a vendor-prefixed property or undefined\n\n function vendorPropName(name) {\n // Check for vendor prefixed names\n var capName = name[0].toUpperCase() + name.slice(1),\n i = cssPrefixes.length;\n\n while (i--) {\n name = cssPrefixes[i] + capName;\n\n if (name in emptyStyle) {\n return name;\n }\n }\n } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property\n\n\n function finalPropName(name) {\n var final = jQuery.cssProps[name] || vendorProps[name];\n\n if (final) {\n return final;\n }\n\n if (name in emptyStyle) {\n return name;\n }\n\n return vendorProps[name] = vendorPropName(name) || name;\n }\n\n var // Swappable if display is none or starts with table\n // except \"table\", \"table-cell\", or \"table-caption\"\n // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n rdisplayswap = /^(none|table(?!-c[ea]).+)/,\n cssShow = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n },\n cssNormalTransform = {\n letterSpacing: \"0\",\n fontWeight: \"400\"\n };\n\n function setPositiveNumber(_elem, value, subtract) {\n // Any relative (+/-) values have already been\n // normalized at this point\n var matches = rcssNum.exec(value);\n return matches ? // Guard against undefined \"subtract\", e.g., when used as in cssHooks\n Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || \"px\") : value;\n }\n\n function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {\n var i = dimension === \"width\" ? 1 : 0,\n extra = 0,\n delta = 0; // Adjustment may not be necessary\n\n if (box === (isBorderBox ? \"border\" : \"content\")) {\n return 0;\n }\n\n for (; i < 4; i += 2) {\n // Both box models exclude margin\n if (box === \"margin\") {\n delta += jQuery.css(elem, box + cssExpand[i], true, styles);\n } // If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\n\n if (!isBorderBox) {\n // Add padding\n delta += jQuery.css(elem, \"padding\" + cssExpand[i], true, styles); // For \"border\" or \"margin\", add border\n\n if (box !== \"padding\") {\n delta += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles); // But still keep track of it otherwise\n } else {\n extra += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n } // If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n // \"padding\" or \"margin\"\n\n } else {\n // For \"content\", subtract padding\n if (box === \"content\") {\n delta -= jQuery.css(elem, \"padding\" + cssExpand[i], true, styles);\n } // For \"content\" or \"padding\", subtract border\n\n\n if (box !== \"margin\") {\n delta -= jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n }\n }\n } // Account for positive content-box scroll gutter when requested by providing computedVal\n\n\n if (!isBorderBox && computedVal >= 0) {\n // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n // Assuming integer scroll gutter, subtract the rest and round down\n delta += Math.max(0, Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n // Use an explicit zero to avoid NaN (gh-3964)\n )) || 0;\n }\n\n return delta;\n }\n\n function getWidthOrHeight(elem, dimension, extra) {\n // Start with computed style\n var styles = getStyles(elem),\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n // Fake content-box until we know it's needed to know the true value.\n boxSizingNeeded = !support.boxSizingReliable() || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n valueIsBorderBox = isBorderBox,\n val = curCSS(elem, dimension, styles),\n offsetProp = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1); // Support: Firefox <=54\n // Return a confounding non-pixel value or feign ignorance, as appropriate.\n\n if (rnumnonpx.test(val)) {\n if (!extra) {\n return val;\n }\n\n val = \"auto\";\n } // Support: IE 9 - 11 only\n // Use offsetWidth/offsetHeight for when box sizing is unreliable.\n // In those cases, the computed value can be trusted to be border-box.\n\n\n if ((!support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Interestingly, in some cases IE 9 doesn't suffer from this issue.\n !support.reliableTrDimensions() && nodeName(elem, \"tr\") || // Fall back to offsetWidth/offsetHeight when value is \"auto\"\n // This happens for inline elements with no explicit setting (gh-3571)\n val === \"auto\" || // Support: Android <=4.1 - 4.3 only\n // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n !parseFloat(val) && jQuery.css(elem, \"display\", false, styles) === \"inline\") && // Make sure the element is visible & connected\n elem.getClientRects().length) {\n isBorderBox = jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\"; // Where available, offsetWidth/offsetHeight approximate border box dimensions.\n // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n // retrieved value as a content box dimension.\n\n valueIsBorderBox = offsetProp in elem;\n\n if (valueIsBorderBox) {\n val = elem[offsetProp];\n }\n } // Normalize \"\" and auto\n\n\n val = parseFloat(val) || 0; // Adjust for the element's box model\n\n return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? \"border\" : \"content\"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589)\n val) + \"px\";\n }\n\n jQuery.extend({\n // Add in style property hooks for overriding the default\n // behavior of getting and setting a style property\n cssHooks: {\n opacity: {\n get: function get(elem, computed) {\n if (computed) {\n // We should always get a number back from opacity\n var ret = curCSS(elem, \"opacity\");\n return ret === \"\" ? \"1\" : ret;\n }\n }\n }\n },\n // Don't automatically add \"px\" to these possibly-unitless properties\n cssNumber: {\n \"animationIterationCount\": true,\n \"columnCount\": true,\n \"fillOpacity\": true,\n \"flexGrow\": true,\n \"flexShrink\": true,\n \"fontWeight\": true,\n \"gridArea\": true,\n \"gridColumn\": true,\n \"gridColumnEnd\": true,\n \"gridColumnStart\": true,\n \"gridRow\": true,\n \"gridRowEnd\": true,\n \"gridRowStart\": true,\n \"lineHeight\": true,\n \"opacity\": true,\n \"order\": true,\n \"orphans\": true,\n \"widows\": true,\n \"zIndex\": true,\n \"zoom\": true\n },\n // Add in properties whose names you wish to fix before\n // setting or getting the value\n cssProps: {},\n // Get and set the style property on a DOM Node\n style: function style(elem, name, value, extra) {\n // Don't set styles on text and comment nodes\n if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) {\n return;\n } // Make sure that we're working with the right name\n\n\n var ret,\n type,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name),\n style = elem.style; // Make sure that we're working with the right name. We don't\n // want to query the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Gets hook for the prefixed version, then unprefixed version\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // Check if we're setting a value\n\n if (value !== undefined) {\n type = _typeof(value); // Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n\n if (type === \"string\" && (ret = rcssNum.exec(value)) && ret[1]) {\n value = adjustCSS(elem, name, ret); // Fixes bug trac-9237\n\n type = \"number\";\n } // Make sure that null and NaN values aren't set (trac-7116)\n\n\n if (value == null || value !== value) {\n return;\n } // If a number was passed in, add the unit (except for certain CSS properties)\n // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n // \"px\" to a few hardcoded values.\n\n\n if (type === \"number\" && !isCustomProp) {\n value += ret && ret[3] || (jQuery.cssNumber[origName] ? \"\" : \"px\");\n } // background-* props affect original clone's values\n\n\n if (!support.clearCloneStyle && value === \"\" && name.indexOf(\"background\") === 0) {\n style[name] = \"inherit\";\n } // If a hook was provided, use that value, otherwise just set the specified value\n\n\n if (!hooks || !(\"set\" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {\n if (isCustomProp) {\n style.setProperty(name, value);\n } else {\n style[name] = value;\n }\n }\n } else {\n // If a hook was provided get the non-computed value from there\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) {\n return ret;\n } // Otherwise just get the value from the style object\n\n\n return style[name];\n }\n },\n css: function css(elem, name, extra, styles) {\n var val,\n num,\n hooks,\n origName = camelCase(name),\n isCustomProp = rcustomProp.test(name); // Make sure that we're working with the right name. We don't\n // want to modify the value if it is a CSS custom property\n // since they are user-defined.\n\n if (!isCustomProp) {\n name = finalPropName(origName);\n } // Try prefixed name followed by the unprefixed name\n\n\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; // If a hook was provided get the computed value from there\n\n if (hooks && \"get\" in hooks) {\n val = hooks.get(elem, true, extra);\n } // Otherwise, if a way to get the computed value exists, use that\n\n\n if (val === undefined) {\n val = curCSS(elem, name, styles);\n } // Convert \"normal\" to computed value\n\n\n if (val === \"normal\" && name in cssNormalTransform) {\n val = cssNormalTransform[name];\n } // Make numeric if forced or a qualifier was provided and val looks numeric\n\n\n if (extra === \"\" || extra) {\n num = parseFloat(val);\n return extra === true || isFinite(num) ? num || 0 : val;\n }\n\n return val;\n }\n });\n jQuery.each([\"height\", \"width\"], function (_i, dimension) {\n jQuery.cssHooks[dimension] = {\n get: function get(elem, computed, extra) {\n if (computed) {\n // Certain elements can have dimension info if we invisibly show them\n // but it must have a current display style that would benefit\n return rdisplayswap.test(jQuery.css(elem, \"display\")) && ( // Support: Safari 8+\n // Table columns in Safari have non-zero offsetWidth & zero\n // getBoundingClientRect().width unless display is changed.\n // Support: IE <=11 only\n // Running getBoundingClientRect on a disconnected node\n // in IE throws an error.\n !elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () {\n return getWidthOrHeight(elem, dimension, extra);\n }) : getWidthOrHeight(elem, dimension, extra);\n }\n },\n set: function set(elem, value, extra) {\n var matches,\n styles = getStyles(elem),\n // Only read styles.position if the test has a chance to fail\n // to avoid forcing a reflow.\n scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === \"absolute\",\n // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n boxSizingNeeded = scrollboxSizeBuggy || extra,\n isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\",\n subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and\n // faking a content-box to get border and padding (gh-3699)\n\n if (isBorderBox && scrollboxSizeBuggy) {\n subtract -= Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, \"border\", false, styles) - 0.5);\n } // Convert to pixels if value adjustment is needed\n\n\n if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || \"px\") !== \"px\") {\n elem.style[dimension] = value;\n value = jQuery.css(elem, dimension);\n }\n\n return setPositiveNumber(elem, value, subtract);\n }\n };\n });\n jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) {\n if (computed) {\n return (parseFloat(curCSS(elem, \"marginLeft\")) || elem.getBoundingClientRect().left - swap(elem, {\n marginLeft: 0\n }, function () {\n return elem.getBoundingClientRect().left;\n })) + \"px\";\n }\n }); // These hooks are used by animate to expand properties\n\n jQuery.each({\n margin: \"\",\n padding: \"\",\n border: \"Width\"\n }, function (prefix, suffix) {\n jQuery.cssHooks[prefix + suffix] = {\n expand: function expand(value) {\n var i = 0,\n expanded = {},\n // Assumes a single number if not a string\n parts = typeof value === \"string\" ? value.split(\" \") : [value];\n\n for (; i < 4; i++) {\n expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];\n }\n\n return expanded;\n }\n };\n\n if (prefix !== \"margin\") {\n jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;\n }\n });\n jQuery.fn.extend({\n css: function css(name, value) {\n return access(this, function (elem, name, value) {\n var styles,\n len,\n map = {},\n i = 0;\n\n if (Array.isArray(name)) {\n styles = getStyles(elem);\n len = name.length;\n\n for (; i < len; i++) {\n map[name[i]] = jQuery.css(elem, name[i], false, styles);\n }\n\n return map;\n }\n\n return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);\n }, name, value, arguments.length > 1);\n }\n });\n\n function Tween(elem, options, prop, end, easing) {\n return new Tween.prototype.init(elem, options, prop, end, easing);\n }\n\n jQuery.Tween = Tween;\n Tween.prototype = {\n constructor: Tween,\n init: function init(elem, options, prop, end, easing, unit) {\n this.elem = elem;\n this.prop = prop;\n this.easing = easing || jQuery.easing._default;\n this.options = options;\n this.start = this.now = this.cur();\n this.end = end;\n this.unit = unit || (jQuery.cssNumber[prop] ? \"\" : \"px\");\n },\n cur: function cur() {\n var hooks = Tween.propHooks[this.prop];\n return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this);\n },\n run: function run(percent) {\n var eased,\n hooks = Tween.propHooks[this.prop];\n\n if (this.options.duration) {\n this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration);\n } else {\n this.pos = eased = percent;\n }\n\n this.now = (this.end - this.start) * eased + this.start;\n\n if (this.options.step) {\n this.options.step.call(this.elem, this.now, this);\n }\n\n if (hooks && hooks.set) {\n hooks.set(this);\n } else {\n Tween.propHooks._default.set(this);\n }\n\n return this;\n }\n };\n Tween.prototype.init.prototype = Tween.prototype;\n Tween.propHooks = {\n _default: {\n get: function get(tween) {\n var result; // Use a property on the element directly when it is not a DOM element,\n // or when there is no matching style property that exists.\n\n if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) {\n return tween.elem[tween.prop];\n } // Passing an empty string as a 3rd parameter to .css will automatically\n // attempt a parseFloat and fallback to a string if the parse fails.\n // Simple values such as \"10px\" are parsed to Float;\n // complex values such as \"rotate(1rad)\" are returned as-is.\n\n\n result = jQuery.css(tween.elem, tween.prop, \"\"); // Empty strings, null, undefined and \"auto\" are converted to 0.\n\n return !result || result === \"auto\" ? 0 : result;\n },\n set: function set(tween) {\n // Use step hook for back compat.\n // Use cssHook if its there.\n // Use .style if available and use plain properties where available.\n if (jQuery.fx.step[tween.prop]) {\n jQuery.fx.step[tween.prop](tween);\n } else if (tween.elem.nodeType === 1 && (jQuery.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) {\n jQuery.style(tween.elem, tween.prop, tween.now + tween.unit);\n } else {\n tween.elem[tween.prop] = tween.now;\n }\n }\n }\n }; // Support: IE <=9 only\n // Panic based approach to setting things on disconnected nodes\n\n Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n set: function set(tween) {\n if (tween.elem.nodeType && tween.elem.parentNode) {\n tween.elem[tween.prop] = tween.now;\n }\n }\n };\n jQuery.easing = {\n linear: function linear(p) {\n return p;\n },\n swing: function swing(p) {\n return 0.5 - Math.cos(p * Math.PI) / 2;\n },\n _default: \"swing\"\n };\n jQuery.fx = Tween.prototype.init; // Back compat <1.8 extension point\n\n jQuery.fx.step = {};\n var fxNow,\n inProgress,\n rfxtypes = /^(?:toggle|show|hide)$/,\n rrun = /queueHooks$/;\n\n function schedule() {\n if (inProgress) {\n if (document.hidden === false && window.requestAnimationFrame) {\n window.requestAnimationFrame(schedule);\n } else {\n window.setTimeout(schedule, jQuery.fx.interval);\n }\n\n jQuery.fx.tick();\n }\n } // Animations created synchronously will run synchronously\n\n\n function createFxNow() {\n window.setTimeout(function () {\n fxNow = undefined;\n });\n return fxNow = Date.now();\n } // Generate parameters to create a standard animation\n\n\n function genFx(type, includeWidth) {\n var which,\n i = 0,\n attrs = {\n height: type\n }; // If we include width, step value is 1 to do all cssExpand values,\n // otherwise step value is 2 to skip over Left and Right\n\n includeWidth = includeWidth ? 1 : 0;\n\n for (; i < 4; i += 2 - includeWidth) {\n which = cssExpand[i];\n attrs[\"margin\" + which] = attrs[\"padding\" + which] = type;\n }\n\n if (includeWidth) {\n attrs.opacity = attrs.width = type;\n }\n\n return attrs;\n }\n\n function createTween(value, prop, animation) {\n var tween,\n collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners[\"*\"]),\n index = 0,\n length = collection.length;\n\n for (; index < length; index++) {\n if (tween = collection[index].call(animation, prop, value)) {\n // We're done with this property\n return tween;\n }\n }\n }\n\n function defaultPrefilter(elem, props, opts) {\n var prop,\n value,\n toggle,\n hooks,\n oldfire,\n propTween,\n restoreDisplay,\n display,\n isBox = \"width\" in props || \"height\" in props,\n anim = this,\n orig = {},\n style = elem.style,\n hidden = elem.nodeType && isHiddenWithinTree(elem),\n dataShow = dataPriv.get(elem, \"fxshow\"); // Queue-skipping animations hijack the fx hooks\n\n if (!opts.queue) {\n hooks = jQuery._queueHooks(elem, \"fx\");\n\n if (hooks.unqueued == null) {\n hooks.unqueued = 0;\n oldfire = hooks.empty.fire;\n\n hooks.empty.fire = function () {\n if (!hooks.unqueued) {\n oldfire();\n }\n };\n }\n\n hooks.unqueued++;\n anim.always(function () {\n // Ensure the complete handler is called before this completes\n anim.always(function () {\n hooks.unqueued--;\n\n if (!jQuery.queue(elem, \"fx\").length) {\n hooks.empty.fire();\n }\n });\n });\n } // Detect show/hide animations\n\n\n for (prop in props) {\n value = props[prop];\n\n if (rfxtypes.test(value)) {\n delete props[prop];\n toggle = toggle || value === \"toggle\";\n\n if (value === (hidden ? \"hide\" : \"show\")) {\n // Pretend to be hidden if this is a \"show\" and\n // there is still data from a stopped show/hide\n if (value === \"show\" && dataShow && dataShow[prop] !== undefined) {\n hidden = true; // Ignore all other no-op show/hide data\n } else {\n continue;\n }\n }\n\n orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop);\n }\n } // Bail out if this is a no-op like .hide().hide()\n\n\n propTween = !jQuery.isEmptyObject(props);\n\n if (!propTween && jQuery.isEmptyObject(orig)) {\n return;\n } // Restrict \"overflow\" and \"display\" styles during box animations\n\n\n if (isBox && elem.nodeType === 1) {\n // Support: IE <=9 - 11, Edge 12 - 15\n // Record all 3 overflow attributes because IE does not infer the shorthand\n // from identically-valued overflowX and overflowY and Edge just mirrors\n // the overflowX value there.\n opts.overflow = [style.overflow, style.overflowX, style.overflowY]; // Identify a display type, preferring old show/hide data over the CSS cascade\n\n restoreDisplay = dataShow && dataShow.display;\n\n if (restoreDisplay == null) {\n restoreDisplay = dataPriv.get(elem, \"display\");\n }\n\n display = jQuery.css(elem, \"display\");\n\n if (display === \"none\") {\n if (restoreDisplay) {\n display = restoreDisplay;\n } else {\n // Get nonempty value(s) by temporarily forcing visibility\n showHide([elem], true);\n restoreDisplay = elem.style.display || restoreDisplay;\n display = jQuery.css(elem, \"display\");\n showHide([elem]);\n }\n } // Animate inline elements as inline-block\n\n\n if (display === \"inline\" || display === \"inline-block\" && restoreDisplay != null) {\n if (jQuery.css(elem, \"float\") === \"none\") {\n // Restore the original display value at the end of pure show/hide animations\n if (!propTween) {\n anim.done(function () {\n style.display = restoreDisplay;\n });\n\n if (restoreDisplay == null) {\n display = style.display;\n restoreDisplay = display === \"none\" ? \"\" : display;\n }\n }\n\n style.display = \"inline-block\";\n }\n }\n }\n\n if (opts.overflow) {\n style.overflow = \"hidden\";\n anim.always(function () {\n style.overflow = opts.overflow[0];\n style.overflowX = opts.overflow[1];\n style.overflowY = opts.overflow[2];\n });\n } // Implement show/hide animations\n\n\n propTween = false;\n\n for (prop in orig) {\n // General show/hide setup for this element animation\n if (!propTween) {\n if (dataShow) {\n if (\"hidden\" in dataShow) {\n hidden = dataShow.hidden;\n }\n } else {\n dataShow = dataPriv.access(elem, \"fxshow\", {\n display: restoreDisplay\n });\n } // Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\n\n if (toggle) {\n dataShow.hidden = !hidden;\n } // Show elements before animating them\n\n\n if (hidden) {\n showHide([elem], true);\n }\n /* eslint-disable no-loop-func */\n\n\n anim.done(function () {\n /* eslint-enable no-loop-func */\n // The final step of a \"hide\" animation is actually hiding the element\n if (!hidden) {\n showHide([elem]);\n }\n\n dataPriv.remove(elem, \"fxshow\");\n\n for (prop in orig) {\n jQuery.style(elem, prop, orig[prop]);\n }\n });\n } // Per-property setup\n\n\n propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim);\n\n if (!(prop in dataShow)) {\n dataShow[prop] = propTween.start;\n\n if (hidden) {\n propTween.end = propTween.start;\n propTween.start = 0;\n }\n }\n }\n }\n\n function propFilter(props, specialEasing) {\n var index, name, easing, value, hooks; // camelCase, specialEasing and expand cssHook pass\n\n for (index in props) {\n name = camelCase(index);\n easing = specialEasing[name];\n value = props[index];\n\n if (Array.isArray(value)) {\n easing = value[1];\n value = props[index] = value[0];\n }\n\n if (index !== name) {\n props[name] = value;\n delete props[index];\n }\n\n hooks = jQuery.cssHooks[name];\n\n if (hooks && \"expand\" in hooks) {\n value = hooks.expand(value);\n delete props[name]; // Not quite $.extend, this won't overwrite existing keys.\n // Reusing 'index' because we have the correct \"name\"\n\n for (index in value) {\n if (!(index in props)) {\n props[index] = value[index];\n specialEasing[index] = easing;\n }\n }\n } else {\n specialEasing[name] = easing;\n }\n }\n }\n\n function Animation(elem, properties, options) {\n var result,\n stopped,\n index = 0,\n length = Animation.prefilters.length,\n deferred = jQuery.Deferred().always(function () {\n // Don't match elem in the :animated selector\n delete tick.elem;\n }),\n tick = function tick() {\n if (stopped) {\n return false;\n }\n\n var currentTime = fxNow || createFxNow(),\n remaining = Math.max(0, animation.startTime + animation.duration - currentTime),\n // Support: Android 2.3 only\n // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n temp = remaining / animation.duration || 0,\n percent = 1 - temp,\n index = 0,\n length = animation.tweens.length;\n\n for (; index < length; index++) {\n animation.tweens[index].run(percent);\n }\n\n deferred.notifyWith(elem, [animation, percent, remaining]); // If there's more to do, yield\n\n if (percent < 1 && length) {\n return remaining;\n } // If this was an empty animation, synthesize a final progress notification\n\n\n if (!length) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n } // Resolve the animation and report its conclusion\n\n\n deferred.resolveWith(elem, [animation]);\n return false;\n },\n animation = deferred.promise({\n elem: elem,\n props: jQuery.extend({}, properties),\n opts: jQuery.extend(true, {\n specialEasing: {},\n easing: jQuery.easing._default\n }, options),\n originalProperties: properties,\n originalOptions: options,\n startTime: fxNow || createFxNow(),\n duration: options.duration,\n tweens: [],\n createTween: function createTween(prop, end) {\n var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);\n animation.tweens.push(tween);\n return tween;\n },\n stop: function stop(gotoEnd) {\n var index = 0,\n // If we are going to the end, we want to run all the tweens\n // otherwise we skip this part\n length = gotoEnd ? animation.tweens.length : 0;\n\n if (stopped) {\n return this;\n }\n\n stopped = true;\n\n for (; index < length; index++) {\n animation.tweens[index].run(1);\n } // Resolve when we played the last frame; otherwise, reject\n\n\n if (gotoEnd) {\n deferred.notifyWith(elem, [animation, 1, 0]);\n deferred.resolveWith(elem, [animation, gotoEnd]);\n } else {\n deferred.rejectWith(elem, [animation, gotoEnd]);\n }\n\n return this;\n }\n }),\n props = animation.props;\n\n propFilter(props, animation.opts.specialEasing);\n\n for (; index < length; index++) {\n result = Animation.prefilters[index].call(animation, elem, props, animation.opts);\n\n if (result) {\n if (isFunction(result.stop)) {\n jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result);\n }\n\n return result;\n }\n }\n\n jQuery.map(props, createTween, animation);\n\n if (isFunction(animation.opts.start)) {\n animation.opts.start.call(elem, animation);\n } // Attach callbacks from options\n\n\n animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);\n jQuery.fx.timer(jQuery.extend(tick, {\n elem: elem,\n anim: animation,\n queue: animation.opts.queue\n }));\n return animation;\n }\n\n jQuery.Animation = jQuery.extend(Animation, {\n tweeners: {\n \"*\": [function (prop, value) {\n var tween = this.createTween(prop, value);\n adjustCSS(tween.elem, prop, rcssNum.exec(value), tween);\n return tween;\n }]\n },\n tweener: function tweener(props, callback) {\n if (isFunction(props)) {\n callback = props;\n props = [\"*\"];\n } else {\n props = props.match(rnothtmlwhite);\n }\n\n var prop,\n index = 0,\n length = props.length;\n\n for (; index < length; index++) {\n prop = props[index];\n Animation.tweeners[prop] = Animation.tweeners[prop] || [];\n Animation.tweeners[prop].unshift(callback);\n }\n },\n prefilters: [defaultPrefilter],\n prefilter: function prefilter(callback, prepend) {\n if (prepend) {\n Animation.prefilters.unshift(callback);\n } else {\n Animation.prefilters.push(callback);\n }\n }\n });\n\n jQuery.speed = function (speed, easing, fn) {\n var opt = speed && _typeof(speed) === \"object\" ? jQuery.extend({}, speed) : {\n complete: fn || !fn && easing || isFunction(speed) && speed,\n duration: speed,\n easing: fn && easing || easing && !isFunction(easing) && easing\n }; // Go to the end state if fx are off\n\n if (jQuery.fx.off) {\n opt.duration = 0;\n } else {\n if (typeof opt.duration !== \"number\") {\n if (opt.duration in jQuery.fx.speeds) {\n opt.duration = jQuery.fx.speeds[opt.duration];\n } else {\n opt.duration = jQuery.fx.speeds._default;\n }\n }\n } // Normalize opt.queue - true/undefined/null -> \"fx\"\n\n\n if (opt.queue == null || opt.queue === true) {\n opt.queue = \"fx\";\n } // Queueing\n\n\n opt.old = opt.complete;\n\n opt.complete = function () {\n if (isFunction(opt.old)) {\n opt.old.call(this);\n }\n\n if (opt.queue) {\n jQuery.dequeue(this, opt.queue);\n }\n };\n\n return opt;\n };\n\n jQuery.fn.extend({\n fadeTo: function fadeTo(speed, to, easing, callback) {\n // Show any hidden elements after setting opacity to 0\n return this.filter(isHiddenWithinTree).css(\"opacity\", 0).show() // Animate to the value specified\n .end().animate({\n opacity: to\n }, speed, easing, callback);\n },\n animate: function animate(prop, speed, easing, callback) {\n var empty = jQuery.isEmptyObject(prop),\n optall = jQuery.speed(speed, easing, callback),\n doAnimation = function doAnimation() {\n // Operate on a copy of prop so per-property easing won't be lost\n var anim = Animation(this, jQuery.extend({}, prop), optall); // Empty animations, or finishing resolves immediately\n\n if (empty || dataPriv.get(this, \"finish\")) {\n anim.stop(true);\n }\n };\n\n doAnimation.finish = doAnimation;\n return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation);\n },\n stop: function stop(type, clearQueue, gotoEnd) {\n var stopQueue = function stopQueue(hooks) {\n var stop = hooks.stop;\n delete hooks.stop;\n stop(gotoEnd);\n };\n\n if (typeof type !== \"string\") {\n gotoEnd = clearQueue;\n clearQueue = type;\n type = undefined;\n }\n\n if (clearQueue) {\n this.queue(type || \"fx\", []);\n }\n\n return this.each(function () {\n var dequeue = true,\n index = type != null && type + \"queueHooks\",\n timers = jQuery.timers,\n data = dataPriv.get(this);\n\n if (index) {\n if (data[index] && data[index].stop) {\n stopQueue(data[index]);\n }\n } else {\n for (index in data) {\n if (data[index] && data[index].stop && rrun.test(index)) {\n stopQueue(data[index]);\n }\n }\n }\n\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && (type == null || timers[index].queue === type)) {\n timers[index].anim.stop(gotoEnd);\n dequeue = false;\n timers.splice(index, 1);\n }\n } // Start the next in the queue if the last step wasn't forced.\n // Timers currently will call their complete callbacks, which\n // will dequeue but only if they were gotoEnd.\n\n\n if (dequeue || !gotoEnd) {\n jQuery.dequeue(this, type);\n }\n });\n },\n finish: function finish(type) {\n if (type !== false) {\n type = type || \"fx\";\n }\n\n return this.each(function () {\n var index,\n data = dataPriv.get(this),\n queue = data[type + \"queue\"],\n hooks = data[type + \"queueHooks\"],\n timers = jQuery.timers,\n length = queue ? queue.length : 0; // Enable finishing flag on private data\n\n data.finish = true; // Empty the queue first\n\n jQuery.queue(this, type, []);\n\n if (hooks && hooks.stop) {\n hooks.stop.call(this, true);\n } // Look for any active animations, and finish them\n\n\n for (index = timers.length; index--;) {\n if (timers[index].elem === this && timers[index].queue === type) {\n timers[index].anim.stop(true);\n timers.splice(index, 1);\n }\n } // Look for any animations in the old queue and finish them\n\n\n for (index = 0; index < length; index++) {\n if (queue[index] && queue[index].finish) {\n queue[index].finish.call(this);\n }\n } // Turn off finishing flag\n\n\n delete data.finish;\n });\n }\n });\n jQuery.each([\"toggle\", \"show\", \"hide\"], function (_i, name) {\n var cssFn = jQuery.fn[name];\n\n jQuery.fn[name] = function (speed, easing, callback) {\n return speed == null || typeof speed === \"boolean\" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback);\n };\n }); // Generate shortcuts for custom animations\n\n jQuery.each({\n slideDown: genFx(\"show\"),\n slideUp: genFx(\"hide\"),\n slideToggle: genFx(\"toggle\"),\n fadeIn: {\n opacity: \"show\"\n },\n fadeOut: {\n opacity: \"hide\"\n },\n fadeToggle: {\n opacity: \"toggle\"\n }\n }, function (name, props) {\n jQuery.fn[name] = function (speed, easing, callback) {\n return this.animate(props, speed, easing, callback);\n };\n });\n jQuery.timers = [];\n\n jQuery.fx.tick = function () {\n var timer,\n i = 0,\n timers = jQuery.timers;\n fxNow = Date.now();\n\n for (; i < timers.length; i++) {\n timer = timers[i]; // Run the timer and safely remove it when done (allowing for external removal)\n\n if (!timer() && timers[i] === timer) {\n timers.splice(i--, 1);\n }\n }\n\n if (!timers.length) {\n jQuery.fx.stop();\n }\n\n fxNow = undefined;\n };\n\n jQuery.fx.timer = function (timer) {\n jQuery.timers.push(timer);\n jQuery.fx.start();\n };\n\n jQuery.fx.interval = 13;\n\n jQuery.fx.start = function () {\n if (inProgress) {\n return;\n }\n\n inProgress = true;\n schedule();\n };\n\n jQuery.fx.stop = function () {\n inProgress = null;\n };\n\n jQuery.fx.speeds = {\n slow: 600,\n fast: 200,\n // Default speed\n _default: 400\n }; // Based off of the plugin by Clint Helfers, with permission.\n\n jQuery.fn.delay = function (time, type) {\n time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;\n type = type || \"fx\";\n return this.queue(type, function (next, hooks) {\n var timeout = window.setTimeout(next, time);\n\n hooks.stop = function () {\n window.clearTimeout(timeout);\n };\n });\n };\n\n (function () {\n var input = document.createElement(\"input\"),\n select = document.createElement(\"select\"),\n opt = select.appendChild(document.createElement(\"option\"));\n input.type = \"checkbox\"; // Support: Android <=4.3 only\n // Default value for a checkbox should be \"on\"\n\n support.checkOn = input.value !== \"\"; // Support: IE <=11 only\n // Must access selectedIndex to make default options select\n\n support.optSelected = opt.selected; // Support: IE <=11 only\n // An input loses its value after becoming a radio\n\n input = document.createElement(\"input\");\n input.value = \"t\";\n input.type = \"radio\";\n support.radioValue = input.value === \"t\";\n })();\n\n var boolHook,\n attrHandle = jQuery.expr.attrHandle;\n jQuery.fn.extend({\n attr: function attr(name, value) {\n return access(this, jQuery.attr, name, value, arguments.length > 1);\n },\n removeAttr: function removeAttr(name) {\n return this.each(function () {\n jQuery.removeAttr(this, name);\n });\n }\n });\n jQuery.extend({\n attr: function attr(elem, name, value) {\n var ret,\n hooks,\n nType = elem.nodeType; // Don't get/set attributes on text, comment and attribute nodes\n\n if (nType === 3 || nType === 8 || nType === 2) {\n return;\n } // Fallback to prop when attributes are not supported\n\n\n if (typeof elem.getAttribute === \"undefined\") {\n return jQuery.prop(elem, name, value);\n } // Attribute hooks are determined by the lowercase version\n // Grab necessary hook if one is defined\n\n\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined);\n }\n\n if (value !== undefined) {\n if (value === null) {\n jQuery.removeAttr(elem, name);\n return;\n }\n\n if (hooks && \"set\" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {\n return ret;\n }\n\n elem.setAttribute(name, value + \"\");\n return value;\n }\n\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, name)) !== null) {\n return ret;\n }\n\n ret = jQuery.find.attr(elem, name); // Non-existent attributes return null, we normalize to undefined\n\n return ret == null ? undefined : ret;\n },\n attrHooks: {\n type: {\n set: function set(elem, value) {\n if (!support.radioValue && value === \"radio\" && nodeName(elem, \"input\")) {\n var val = elem.value;\n elem.setAttribute(\"type\", value);\n\n if (val) {\n elem.value = val;\n }\n\n return value;\n }\n }\n }\n },\n removeAttr: function removeAttr(elem, value) {\n var name,\n i = 0,\n // Attribute names can contain non-HTML whitespace characters\n // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n attrNames = value && value.match(rnothtmlwhite);\n\n if (attrNames && elem.nodeType === 1) {\n while (name = attrNames[i++]) {\n elem.removeAttribute(name);\n }\n }\n }\n }); // Hooks for boolean attributes\n\n boolHook = {\n set: function set(elem, value, name) {\n if (value === false) {\n // Remove boolean attributes when set to false\n jQuery.removeAttr(elem, name);\n } else {\n elem.setAttribute(name, name);\n }\n\n return name;\n }\n };\n jQuery.each(jQuery.expr.match.bool.source.match(/\\w+/g), function (_i, name) {\n var getter = attrHandle[name] || jQuery.find.attr;\n\n attrHandle[name] = function (elem, name, isXML) {\n var ret,\n handle,\n lowercaseName = name.toLowerCase();\n\n if (!isXML) {\n // Avoid an infinite loop by temporarily removing this function from the getter\n handle = attrHandle[lowercaseName];\n attrHandle[lowercaseName] = ret;\n ret = getter(elem, name, isXML) != null ? lowercaseName : null;\n attrHandle[lowercaseName] = handle;\n }\n\n return ret;\n };\n });\n var rfocusable = /^(?:input|select|textarea|button)$/i,\n rclickable = /^(?:a|area)$/i;\n jQuery.fn.extend({\n prop: function prop(name, value) {\n return access(this, jQuery.prop, name, value, arguments.length > 1);\n },\n removeProp: function removeProp(name) {\n return this.each(function () {\n delete this[jQuery.propFix[name] || name];\n });\n }\n });\n jQuery.extend({\n prop: function prop(elem, name, value) {\n var ret,\n hooks,\n nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes\n\n if (nType === 3 || nType === 8 || nType === 2) {\n return;\n }\n\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n // Fix name and attach hooks\n name = jQuery.propFix[name] || name;\n hooks = jQuery.propHooks[name];\n }\n\n if (value !== undefined) {\n if (hooks && \"set\" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {\n return ret;\n }\n\n return elem[name] = value;\n }\n\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, name)) !== null) {\n return ret;\n }\n\n return elem[name];\n },\n propHooks: {\n tabIndex: {\n get: function get(elem) {\n // Support: IE <=9 - 11 only\n // elem.tabIndex doesn't always return the\n // correct value when it hasn't been explicitly set\n // Use proper attribute retrieval (trac-12072)\n var tabindex = jQuery.find.attr(elem, \"tabindex\");\n\n if (tabindex) {\n return parseInt(tabindex, 10);\n }\n\n if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) {\n return 0;\n }\n\n return -1;\n }\n }\n },\n propFix: {\n \"for\": \"htmlFor\",\n \"class\": \"className\"\n }\n }); // Support: IE <=11 only\n // Accessing the selectedIndex property\n // forces the browser to respect setting selected\n // on the option\n // The getter ensures a default option is selected\n // when in an optgroup\n // eslint rule \"no-unused-expressions\" is disabled for this code\n // since it considers such accessions noop\n\n if (!support.optSelected) {\n jQuery.propHooks.selected = {\n get: function get(elem) {\n /* eslint no-unused-expressions: \"off\" */\n var parent = elem.parentNode;\n\n if (parent && parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n\n return null;\n },\n set: function set(elem) {\n /* eslint no-unused-expressions: \"off\" */\n var parent = elem.parentNode;\n\n if (parent) {\n parent.selectedIndex;\n\n if (parent.parentNode) {\n parent.parentNode.selectedIndex;\n }\n }\n }\n };\n }\n\n jQuery.each([\"tabIndex\", \"readOnly\", \"maxLength\", \"cellSpacing\", \"cellPadding\", \"rowSpan\", \"colSpan\", \"useMap\", \"frameBorder\", \"contentEditable\"], function () {\n jQuery.propFix[this.toLowerCase()] = this;\n }); // Strip and collapse whitespace according to HTML spec\n // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\n function stripAndCollapse(value) {\n var tokens = value.match(rnothtmlwhite) || [];\n return tokens.join(\" \");\n }\n\n function getClass(elem) {\n return elem.getAttribute && elem.getAttribute(\"class\") || \"\";\n }\n\n function classesToArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n if (typeof value === \"string\") {\n return value.match(rnothtmlwhite) || [];\n }\n\n return [];\n }\n\n jQuery.fn.extend({\n addClass: function addClass(value) {\n var classNames, cur, curValue, className, i, finalValue;\n\n if (isFunction(value)) {\n return this.each(function (j) {\n jQuery(this).addClass(value.call(this, j, getClass(this)));\n });\n }\n\n classNames = classesToArray(value);\n\n if (classNames.length) {\n return this.each(function () {\n curValue = getClass(this);\n cur = this.nodeType === 1 && \" \" + stripAndCollapse(curValue) + \" \";\n\n if (cur) {\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i];\n\n if (cur.indexOf(\" \" + className + \" \") < 0) {\n cur += className + \" \";\n }\n } // Only assign if different to avoid unneeded rendering.\n\n\n finalValue = stripAndCollapse(cur);\n\n if (curValue !== finalValue) {\n this.setAttribute(\"class\", finalValue);\n }\n }\n });\n }\n\n return this;\n },\n removeClass: function removeClass(value) {\n var classNames, cur, curValue, className, i, finalValue;\n\n if (isFunction(value)) {\n return this.each(function (j) {\n jQuery(this).removeClass(value.call(this, j, getClass(this)));\n });\n }\n\n if (!arguments.length) {\n return this.attr(\"class\", \"\");\n }\n\n classNames = classesToArray(value);\n\n if (classNames.length) {\n return this.each(function () {\n curValue = getClass(this); // This expression is here for better compressibility (see addClass)\n\n cur = this.nodeType === 1 && \" \" + stripAndCollapse(curValue) + \" \";\n\n if (cur) {\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i]; // Remove *all* instances\n\n while (cur.indexOf(\" \" + className + \" \") > -1) {\n cur = cur.replace(\" \" + className + \" \", \" \");\n }\n } // Only assign if different to avoid unneeded rendering.\n\n\n finalValue = stripAndCollapse(cur);\n\n if (curValue !== finalValue) {\n this.setAttribute(\"class\", finalValue);\n }\n }\n });\n }\n\n return this;\n },\n toggleClass: function toggleClass(value, stateVal) {\n var classNames,\n className,\n i,\n self,\n type = _typeof(value),\n isValidValue = type === \"string\" || Array.isArray(value);\n\n if (isFunction(value)) {\n return this.each(function (i) {\n jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal);\n });\n }\n\n if (typeof stateVal === \"boolean\" && isValidValue) {\n return stateVal ? this.addClass(value) : this.removeClass(value);\n }\n\n classNames = classesToArray(value);\n return this.each(function () {\n if (isValidValue) {\n // Toggle individual class names\n self = jQuery(this);\n\n for (i = 0; i < classNames.length; i++) {\n className = classNames[i]; // Check each className given, space separated list\n\n if (self.hasClass(className)) {\n self.removeClass(className);\n } else {\n self.addClass(className);\n }\n } // Toggle whole class name\n\n } else if (value === undefined || type === \"boolean\") {\n className = getClass(this);\n\n if (className) {\n // Store className if set\n dataPriv.set(this, \"__className__\", className);\n } // If the element has a class name or if we're passed `false`,\n // then remove the whole classname (if there was one, the above saved it).\n // Otherwise bring back whatever was previously saved (if anything),\n // falling back to the empty string if nothing was stored.\n\n\n if (this.setAttribute) {\n this.setAttribute(\"class\", className || value === false ? \"\" : dataPriv.get(this, \"__className__\") || \"\");\n }\n }\n });\n },\n hasClass: function hasClass(selector) {\n var className,\n elem,\n i = 0;\n className = \" \" + selector + \" \";\n\n while (elem = this[i++]) {\n if (elem.nodeType === 1 && (\" \" + stripAndCollapse(getClass(elem)) + \" \").indexOf(className) > -1) {\n return true;\n }\n }\n\n return false;\n }\n });\n var rreturn = /\\r/g;\n jQuery.fn.extend({\n val: function val(value) {\n var hooks,\n ret,\n valueIsFunction,\n elem = this[0];\n\n if (!arguments.length) {\n if (elem) {\n hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()];\n\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, \"value\")) !== undefined) {\n return ret;\n }\n\n ret = elem.value; // Handle most common string cases\n\n if (typeof ret === \"string\") {\n return ret.replace(rreturn, \"\");\n } // Handle cases where value is null/undef or number\n\n\n return ret == null ? \"\" : ret;\n }\n\n return;\n }\n\n valueIsFunction = isFunction(value);\n return this.each(function (i) {\n var val;\n\n if (this.nodeType !== 1) {\n return;\n }\n\n if (valueIsFunction) {\n val = value.call(this, i, jQuery(this).val());\n } else {\n val = value;\n } // Treat null/undefined as \"\"; convert numbers to string\n\n\n if (val == null) {\n val = \"\";\n } else if (typeof val === \"number\") {\n val += \"\";\n } else if (Array.isArray(val)) {\n val = jQuery.map(val, function (value) {\n return value == null ? \"\" : value + \"\";\n });\n }\n\n hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()]; // If set returns undefined, fall back to normal setting\n\n if (!hooks || !(\"set\" in hooks) || hooks.set(this, val, \"value\") === undefined) {\n this.value = val;\n }\n });\n }\n });\n jQuery.extend({\n valHooks: {\n option: {\n get: function get(elem) {\n var val = jQuery.find.attr(elem, \"value\");\n return val != null ? val : // Support: IE <=10 - 11 only\n // option.text throws exceptions (trac-14686, trac-14858)\n // Strip and collapse whitespace\n // https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n stripAndCollapse(jQuery.text(elem));\n }\n },\n select: {\n get: function get(elem) {\n var value,\n option,\n i,\n options = elem.options,\n index = elem.selectedIndex,\n one = elem.type === \"select-one\",\n values = one ? null : [],\n max = one ? index + 1 : options.length;\n\n if (index < 0) {\n i = max;\n } else {\n i = one ? index : 0;\n } // Loop through all the selected options\n\n\n for (; i < max; i++) {\n option = options[i]; // Support: IE <=9 only\n // IE8-9 doesn't update selected after form reset (trac-2551)\n\n if ((option.selected || i === index) && // Don't return options that are disabled or in a disabled optgroup\n !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, \"optgroup\"))) {\n // Get the specific value for the option\n value = jQuery(option).val(); // We don't need an array for one selects\n\n if (one) {\n return value;\n } // Multi-Selects return an array\n\n\n values.push(value);\n }\n }\n\n return values;\n },\n set: function set(elem, value) {\n var optionSet,\n option,\n options = elem.options,\n values = jQuery.makeArray(value),\n i = options.length;\n\n while (i--) {\n option = options[i];\n /* eslint-disable no-cond-assign */\n\n if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) {\n optionSet = true;\n }\n /* eslint-enable no-cond-assign */\n\n } // Force browsers to behave consistently when non-matching value is set\n\n\n if (!optionSet) {\n elem.selectedIndex = -1;\n }\n\n return values;\n }\n }\n }\n }); // Radios and checkboxes getter/setter\n\n jQuery.each([\"radio\", \"checkbox\"], function () {\n jQuery.valHooks[this] = {\n set: function set(elem, value) {\n if (Array.isArray(value)) {\n return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1;\n }\n }\n };\n\n if (!support.checkOn) {\n jQuery.valHooks[this].get = function (elem) {\n return elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\n };\n }\n }); // Return jQuery for attributes-only inclusion\n\n support.focusin = \"onfocusin\" in window;\n\n var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n stopPropagationCallback = function stopPropagationCallback(e) {\n e.stopPropagation();\n };\n\n jQuery.extend(jQuery.event, {\n trigger: function trigger(event, data, elem, onlyHandlers) {\n var i,\n cur,\n tmp,\n bubbleType,\n ontype,\n handle,\n special,\n lastElement,\n eventPath = [elem || document],\n type = hasOwn.call(event, \"type\") ? event.type : event,\n namespaces = hasOwn.call(event, \"namespace\") ? event.namespace.split(\".\") : [];\n cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes\n\n if (elem.nodeType === 3 || elem.nodeType === 8) {\n return;\n } // focus/blur morphs to focusin/out; ensure we're not firing them right now\n\n\n if (rfocusMorph.test(type + jQuery.event.triggered)) {\n return;\n }\n\n if (type.indexOf(\".\") > -1) {\n // Namespaced trigger; create a regexp to match event type in handle()\n namespaces = type.split(\".\");\n type = namespaces.shift();\n namespaces.sort();\n }\n\n ontype = type.indexOf(\":\") < 0 && \"on\" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string\n\n event = event[jQuery.expando] ? event : new jQuery.Event(type, _typeof(event) === \"object\" && event); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\n event.isTrigger = onlyHandlers ? 2 : 3;\n event.namespace = namespaces.join(\".\");\n event.rnamespace = event.namespace ? new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null; // Clean up the event in case it is being reused\n\n event.result = undefined;\n\n if (!event.target) {\n event.target = elem;\n } // Clone any incoming data and prepend the event, creating the handler arg list\n\n\n data = data == null ? [event] : jQuery.makeArray(data, [event]); // Allow special events to draw outside the lines\n\n special = jQuery.event.special[type] || {};\n\n if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) {\n return;\n } // Determine event propagation path in advance, per W3C events spec (trac-9951)\n // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n\n\n if (!onlyHandlers && !special.noBubble && !isWindow(elem)) {\n bubbleType = special.delegateType || type;\n\n if (!rfocusMorph.test(bubbleType + type)) {\n cur = cur.parentNode;\n }\n\n for (; cur; cur = cur.parentNode) {\n eventPath.push(cur);\n tmp = cur;\n } // Only add window if we got to document (e.g., not plain obj or detached DOM)\n\n\n if (tmp === (elem.ownerDocument || document)) {\n eventPath.push(tmp.defaultView || tmp.parentWindow || window);\n }\n } // Fire handlers on the event path\n\n\n i = 0;\n\n while ((cur = eventPath[i++]) && !event.isPropagationStopped()) {\n lastElement = cur;\n event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler\n\n handle = (dataPriv.get(cur, \"events\") || Object.create(null))[event.type] && dataPriv.get(cur, \"handle\");\n\n if (handle) {\n handle.apply(cur, data);\n } // Native handler\n\n\n handle = ontype && cur[ontype];\n\n if (handle && handle.apply && acceptData(cur)) {\n event.result = handle.apply(cur, data);\n\n if (event.result === false) {\n event.preventDefault();\n }\n }\n }\n\n event.type = type; // If nobody prevented the default action, do it now\n\n if (!onlyHandlers && !event.isDefaultPrevented()) {\n if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) {\n // Call a native DOM method on the target with the same name as the event.\n // Don't do default actions on window, that's where global variables be (trac-6170)\n if (ontype && isFunction(elem[type]) && !isWindow(elem)) {\n // Don't re-trigger an onFOO event when we call its FOO() method\n tmp = elem[ontype];\n\n if (tmp) {\n elem[ontype] = null;\n } // Prevent re-triggering of the same event, since we already bubbled it above\n\n\n jQuery.event.triggered = type;\n\n if (event.isPropagationStopped()) {\n lastElement.addEventListener(type, stopPropagationCallback);\n }\n\n elem[type]();\n\n if (event.isPropagationStopped()) {\n lastElement.removeEventListener(type, stopPropagationCallback);\n }\n\n jQuery.event.triggered = undefined;\n\n if (tmp) {\n elem[ontype] = tmp;\n }\n }\n }\n }\n\n return event.result;\n },\n // Piggyback on a donor event to simulate a different one\n // Used only for `focus(in | out)` events\n simulate: function simulate(type, elem, event) {\n var e = jQuery.extend(new jQuery.Event(), event, {\n type: type,\n isSimulated: true\n });\n jQuery.event.trigger(e, null, elem);\n }\n });\n jQuery.fn.extend({\n trigger: function trigger(type, data) {\n return this.each(function () {\n jQuery.event.trigger(type, data, this);\n });\n },\n triggerHandler: function triggerHandler(type, data) {\n var elem = this[0];\n\n if (elem) {\n return jQuery.event.trigger(type, data, elem, true);\n }\n }\n }); // Support: Firefox <=44\n // Firefox doesn't have focus(in | out) events\n // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n //\n // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n // focus(in | out) events fire after focus & blur events,\n // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n\n if (!support.focusin) {\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (orig, fix) {\n // Attach a single capturing handler on the document while someone wants focusin/focusout\n var handler = function handler(event) {\n jQuery.event.simulate(fix, event.target, jQuery.event.fix(event));\n };\n\n jQuery.event.special[fix] = {\n setup: function setup() {\n // Handle: regular nodes (via `this.ownerDocument`), window\n // (via `this.document`) & document (via `this`).\n var doc = this.ownerDocument || this.document || this,\n attaches = dataPriv.access(doc, fix);\n\n if (!attaches) {\n doc.addEventListener(orig, handler, true);\n }\n\n dataPriv.access(doc, fix, (attaches || 0) + 1);\n },\n teardown: function teardown() {\n var doc = this.ownerDocument || this.document || this,\n attaches = dataPriv.access(doc, fix) - 1;\n\n if (!attaches) {\n doc.removeEventListener(orig, handler, true);\n dataPriv.remove(doc, fix);\n } else {\n dataPriv.access(doc, fix, attaches);\n }\n }\n };\n });\n }\n\n var location = window.location;\n var nonce = {\n guid: Date.now()\n };\n var rquery = /\\?/; // Cross-browser xml parsing\n\n jQuery.parseXML = function (data) {\n var xml, parserErrorElem;\n\n if (!data || typeof data !== \"string\") {\n return null;\n } // Support: IE 9 - 11 only\n // IE throws on parseFromString with invalid input.\n\n\n try {\n xml = new window.DOMParser().parseFromString(data, \"text/xml\");\n } catch (e) {}\n\n parserErrorElem = xml && xml.getElementsByTagName(\"parsererror\")[0];\n\n if (!xml || parserErrorElem) {\n jQuery.error(\"Invalid XML: \" + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function (el) {\n return el.textContent;\n }).join(\"\\n\") : data));\n }\n\n return xml;\n };\n\n var rbracket = /\\[\\]$/,\n rCRLF = /\\r?\\n/g,\n rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n rsubmittable = /^(?:input|select|textarea|keygen)/i;\n\n function buildParams(prefix, obj, traditional, add) {\n var name;\n\n if (Array.isArray(obj)) {\n // Serialize array item.\n jQuery.each(obj, function (i, v) {\n if (traditional || rbracket.test(prefix)) {\n // Treat each array item as a scalar.\n add(prefix, v);\n } else {\n // Item is non-scalar (array or object), encode its numeric index.\n buildParams(prefix + \"[\" + (_typeof(v) === \"object\" && v != null ? i : \"\") + \"]\", v, traditional, add);\n }\n });\n } else if (!traditional && toType(obj) === \"object\") {\n // Serialize object item.\n for (name in obj) {\n buildParams(prefix + \"[\" + name + \"]\", obj[name], traditional, add);\n }\n } else {\n // Serialize scalar item.\n add(prefix, obj);\n }\n } // Serialize an array of form elements or a set of\n // key/values into a query string\n\n\n jQuery.param = function (a, traditional) {\n var prefix,\n s = [],\n add = function add(key, valueOrFunction) {\n // If value is a function, invoke it and use its return value\n var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;\n s[s.length] = encodeURIComponent(key) + \"=\" + encodeURIComponent(value == null ? \"\" : value);\n };\n\n if (a == null) {\n return \"\";\n } // If an array was passed in, assume that it is an array of form elements.\n\n\n if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) {\n // Serialize the form elements\n jQuery.each(a, function () {\n add(this.name, this.value);\n });\n } else {\n // If traditional, encode the \"old\" way (the way 1.3.2 or older\n // did it), otherwise encode params recursively.\n for (prefix in a) {\n buildParams(prefix, a[prefix], traditional, add);\n }\n } // Return the resulting serialization\n\n\n return s.join(\"&\");\n };\n\n jQuery.fn.extend({\n serialize: function serialize() {\n return jQuery.param(this.serializeArray());\n },\n serializeArray: function serializeArray() {\n return this.map(function () {\n // Can add propHook for \"elements\" to filter or add form elements\n var elements = jQuery.prop(this, \"elements\");\n return elements ? jQuery.makeArray(elements) : this;\n }).filter(function () {\n var type = this.type; // Use .is( \":disabled\" ) so that fieldset[disabled] works\n\n return this.name && !jQuery(this).is(\":disabled\") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type));\n }).map(function (_i, elem) {\n var val = jQuery(this).val();\n\n if (val == null) {\n return null;\n }\n\n if (Array.isArray(val)) {\n return jQuery.map(val, function (val) {\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n });\n }\n\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n }).get();\n }\n });\n var r20 = /%20/g,\n rhash = /#.*$/,\n rantiCache = /([?&])_=[^&]*/,\n rheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n // trac-7653, trac-8125, trac-8152: local protocol detection\n rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n rnoContent = /^(?:GET|HEAD)$/,\n rprotocol = /^\\/\\//,\n\n /* Prefilters\n * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n * 2) These are called:\n * - BEFORE asking for a transport\n * - AFTER param serialization (s.data is a string if s.processData is true)\n * 3) key is the dataType\n * 4) the catchall symbol \"*\" can be used\n * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n */\n prefilters = {},\n\n /* Transports bindings\n * 1) key is the dataType\n * 2) the catchall symbol \"*\" can be used\n * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n */\n transports = {},\n // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n allTypes = \"*/\".concat(\"*\"),\n // Anchor tag for parsing the document origin\n originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href; // Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\n\n function addToPrefiltersOrTransports(structure) {\n // dataTypeExpression is optional and defaults to \"*\"\n return function (dataTypeExpression, func) {\n if (typeof dataTypeExpression !== \"string\") {\n func = dataTypeExpression;\n dataTypeExpression = \"*\";\n }\n\n var dataType,\n i = 0,\n dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];\n\n if (isFunction(func)) {\n // For each dataType in the dataTypeExpression\n while (dataType = dataTypes[i++]) {\n // Prepend if requested\n if (dataType[0] === \"+\") {\n dataType = dataType.slice(1) || \"*\";\n (structure[dataType] = structure[dataType] || []).unshift(func); // Otherwise append\n } else {\n (structure[dataType] = structure[dataType] || []).push(func);\n }\n }\n }\n };\n } // Base inspection function for prefilters and transports\n\n\n function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {\n var inspected = {},\n seekingTransport = structure === transports;\n\n function inspect(dataType) {\n var selected;\n inspected[dataType] = true;\n jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) {\n var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);\n\n if (typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[dataTypeOrTransport]) {\n options.dataTypes.unshift(dataTypeOrTransport);\n inspect(dataTypeOrTransport);\n return false;\n } else if (seekingTransport) {\n return !(selected = dataTypeOrTransport);\n }\n });\n return selected;\n }\n\n return inspect(options.dataTypes[0]) || !inspected[\"*\"] && inspect(\"*\");\n } // A special extend for ajax options\n // that takes \"flat\" options (not to be deep extended)\n // Fixes trac-9887\n\n\n function ajaxExtend(target, src) {\n var key,\n deep,\n flatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n for (key in src) {\n if (src[key] !== undefined) {\n (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];\n }\n }\n\n if (deep) {\n jQuery.extend(true, target, deep);\n }\n\n return target;\n }\n /* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\n\n\n function ajaxHandleResponses(s, jqXHR, responses) {\n var ct,\n type,\n finalDataType,\n firstDataType,\n contents = s.contents,\n dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process\n\n while (dataTypes[0] === \"*\") {\n dataTypes.shift();\n\n if (ct === undefined) {\n ct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n }\n } // Check if we're dealing with a known content-type\n\n\n if (ct) {\n for (type in contents) {\n if (contents[type] && contents[type].test(ct)) {\n dataTypes.unshift(type);\n break;\n }\n }\n } // Check to see if we have a response for the expected dataType\n\n\n if (dataTypes[0] in responses) {\n finalDataType = dataTypes[0];\n } else {\n // Try convertible dataTypes\n for (type in responses) {\n if (!dataTypes[0] || s.converters[type + \" \" + dataTypes[0]]) {\n finalDataType = type;\n break;\n }\n\n if (!firstDataType) {\n firstDataType = type;\n }\n } // Or just use first one\n\n\n finalDataType = finalDataType || firstDataType;\n } // If we found a dataType\n // We add the dataType to the list if needed\n // and return the corresponding response\n\n\n if (finalDataType) {\n if (finalDataType !== dataTypes[0]) {\n dataTypes.unshift(finalDataType);\n }\n\n return responses[finalDataType];\n }\n }\n /* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\n\n\n function ajaxConvert(s, response, jqXHR, isSuccess) {\n var conv2,\n current,\n conv,\n tmp,\n prev,\n converters = {},\n // Work with a copy of dataTypes in case we need to modify it for conversion\n dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys\n\n if (dataTypes[1]) {\n for (conv in s.converters) {\n converters[conv.toLowerCase()] = s.converters[conv];\n }\n }\n\n current = dataTypes.shift(); // Convert to each sequential dataType\n\n while (current) {\n if (s.responseFields[current]) {\n jqXHR[s.responseFields[current]] = response;\n } // Apply the dataFilter if provided\n\n\n if (!prev && isSuccess && s.dataFilter) {\n response = s.dataFilter(response, s.dataType);\n }\n\n prev = current;\n current = dataTypes.shift();\n\n if (current) {\n // There's only work to do if current dataType is non-auto\n if (current === \"*\") {\n current = prev; // Convert response if prev dataType is non-auto and differs from current\n } else if (prev !== \"*\" && prev !== current) {\n // Seek a direct converter\n conv = converters[prev + \" \" + current] || converters[\"* \" + current]; // If none found, seek a pair\n\n if (!conv) {\n for (conv2 in converters) {\n // If conv2 outputs current\n tmp = conv2.split(\" \");\n\n if (tmp[1] === current) {\n // If prev can be converted to accepted input\n conv = converters[prev + \" \" + tmp[0]] || converters[\"* \" + tmp[0]];\n\n if (conv) {\n // Condense equivalence converters\n if (conv === true) {\n conv = converters[conv2]; // Otherwise, insert the intermediate dataType\n } else if (converters[conv2] !== true) {\n current = tmp[0];\n dataTypes.unshift(tmp[1]);\n }\n\n break;\n }\n }\n }\n } // Apply converter (if not an equivalence)\n\n\n if (conv !== true) {\n // Unless errors are allowed to bubble, catch and return them\n if (conv && s.throws) {\n response = conv(response);\n } else {\n try {\n response = conv(response);\n } catch (e) {\n return {\n state: \"parsererror\",\n error: conv ? e : \"No conversion from \" + prev + \" to \" + current\n };\n }\n }\n }\n }\n }\n }\n\n return {\n state: \"success\",\n data: response\n };\n }\n\n jQuery.extend({\n // Counter for holding the number of active queries\n active: 0,\n // Last-Modified header cache for next request\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: location.href,\n type: \"GET\",\n isLocal: rlocalProtocol.test(location.protocol),\n global: true,\n processData: true,\n async: true,\n contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n /*\n timeout: 0,\n data: null,\n dataType: null,\n username: null,\n password: null,\n cache: null,\n throws: false,\n traditional: false,\n headers: {},\n */\n accepts: {\n \"*\": allTypes,\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: \"responseXML\",\n text: \"responseText\",\n json: \"responseJSON\"\n },\n // Data converters\n // Keys separate source (or catchall \"*\") and destination types with a single space\n converters: {\n // Convert anything to text\n \"* text\": String,\n // Text to html (true = no transformation)\n \"text html\": true,\n // Evaluate text as a json expression\n \"text json\": JSON.parse,\n // Parse text as xml\n \"text xml\": jQuery.parseXML\n },\n // For options that shouldn't be deep extended:\n // you can add your own custom options here if\n // and when you create one that shouldn't be\n // deep extended (see ajaxExtend)\n flatOptions: {\n url: true,\n context: true\n }\n },\n // Creates a full fledged settings object into target\n // with both ajaxSettings and settings fields.\n // If target is omitted, writes into ajaxSettings.\n ajaxSetup: function ajaxSetup(target, settings) {\n return settings ? // Building a settings object\n ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings\n ajaxExtend(jQuery.ajaxSettings, target);\n },\n ajaxPrefilter: addToPrefiltersOrTransports(prefilters),\n ajaxTransport: addToPrefiltersOrTransports(transports),\n // Main method\n ajax: function ajax(url, options) {\n // If url is an object, simulate pre-1.5 signature\n if (_typeof(url) === \"object\") {\n options = url;\n url = undefined;\n } // Force options to be an object\n\n\n options = options || {};\n\n var transport,\n // URL without anti-cache param\n cacheURL,\n // Response headers\n responseHeadersString,\n responseHeaders,\n // timeout handle\n timeoutTimer,\n // Url cleanup var\n urlAnchor,\n // Request state (becomes false upon send and true upon completion)\n completed,\n // To know if global events are to be dispatched\n fireGlobals,\n // Loop variable\n i,\n // uncached part of the url\n uncached,\n // Create the final options object\n s = jQuery.ajaxSetup({}, options),\n // Callbacks context\n callbackContext = s.context || s,\n // Context for global events is callbackContext if it is a DOM node or jQuery collection\n globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,\n // Deferreds\n deferred = jQuery.Deferred(),\n completeDeferred = jQuery.Callbacks(\"once memory\"),\n // Status-dependent callbacks\n _statusCode = s.statusCode || {},\n // Headers (they are sent all at once)\n requestHeaders = {},\n requestHeadersNames = {},\n // Default abort message\n strAbort = \"canceled\",\n // Fake xhr\n jqXHR = {\n readyState: 0,\n // Builds headers hashtable if needed\n getResponseHeader: function getResponseHeader(key) {\n var match;\n\n if (completed) {\n if (!responseHeaders) {\n responseHeaders = {};\n\n while (match = rheaders.exec(responseHeadersString)) {\n responseHeaders[match[1].toLowerCase() + \" \"] = (responseHeaders[match[1].toLowerCase() + \" \"] || []).concat(match[2]);\n }\n }\n\n match = responseHeaders[key.toLowerCase() + \" \"];\n }\n\n return match == null ? null : match.join(\", \");\n },\n // Raw string\n getAllResponseHeaders: function getAllResponseHeaders() {\n return completed ? responseHeadersString : null;\n },\n // Caches the header\n setRequestHeader: function setRequestHeader(name, value) {\n if (completed == null) {\n name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;\n requestHeaders[name] = value;\n }\n\n return this;\n },\n // Overrides response content-type header\n overrideMimeType: function overrideMimeType(type) {\n if (completed == null) {\n s.mimeType = type;\n }\n\n return this;\n },\n // Status-dependent callbacks\n statusCode: function statusCode(map) {\n var code;\n\n if (map) {\n if (completed) {\n // Execute the appropriate callbacks\n jqXHR.always(map[jqXHR.status]);\n } else {\n // Lazy-add the new callbacks in a way that preserves old ones\n for (code in map) {\n _statusCode[code] = [_statusCode[code], map[code]];\n }\n }\n }\n\n return this;\n },\n // Cancel the request\n abort: function abort(statusText) {\n var finalText = statusText || strAbort;\n\n if (transport) {\n transport.abort(finalText);\n }\n\n done(0, finalText);\n return this;\n }\n }; // Attach deferreds\n\n\n deferred.promise(jqXHR); // Add protocol if not provided (prefilters might expect it)\n // Handle falsy url in the settings object (trac-10093: consistency with old signature)\n // We also use the url parameter if available\n\n s.url = ((url || s.url || location.href) + \"\").replace(rprotocol, location.protocol + \"//\"); // Alias method option to type as per ticket trac-12004\n\n s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list\n\n s.dataTypes = (s.dataType || \"*\").toLowerCase().match(rnothtmlwhite) || [\"\"]; // A cross-domain request is in order when the origin doesn't match the current origin.\n\n if (s.crossDomain == null) {\n urlAnchor = document.createElement(\"a\"); // Support: IE <=8 - 11, Edge 12 - 15\n // IE throws exception on accessing the href property if url is malformed,\n // e.g. http://example.com:80x/\n\n try {\n urlAnchor.href = s.url; // Support: IE <=8 - 11 only\n // Anchor's host property isn't correctly set when s.url is relative\n\n urlAnchor.href = urlAnchor.href;\n s.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host;\n } catch (e) {\n // If there is an error parsing the URL, assume it is crossDomain,\n // it can be rejected by the transport if it is invalid\n s.crossDomain = true;\n }\n } // Convert data if not already a string\n\n\n if (s.data && s.processData && typeof s.data !== \"string\") {\n s.data = jQuery.param(s.data, s.traditional);\n } // Apply prefilters\n\n\n inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); // If request was aborted inside a prefilter, stop there\n\n if (completed) {\n return jqXHR;\n } // We can fire global events as of now if asked to\n // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n\n\n fireGlobals = jQuery.event && s.global; // Watch for a new set of requests\n\n if (fireGlobals && jQuery.active++ === 0) {\n jQuery.event.trigger(\"ajaxStart\");\n } // Uppercase the type\n\n\n s.type = s.type.toUpperCase(); // Determine if request has content\n\n s.hasContent = !rnoContent.test(s.type); // Save the URL in case we're toying with the If-Modified-Since\n // and/or If-None-Match header later on\n // Remove hash to simplify url manipulation\n\n cacheURL = s.url.replace(rhash, \"\"); // More options handling for requests with no content\n\n if (!s.hasContent) {\n // Remember the hash so we can put it back\n uncached = s.url.slice(cacheURL.length); // If data is available and should be processed, append data to url\n\n if (s.data && (s.processData || typeof s.data === \"string\")) {\n cacheURL += (rquery.test(cacheURL) ? \"&\" : \"?\") + s.data; // trac-9682: remove data so that it's not used in an eventual retry\n\n delete s.data;\n } // Add or update anti-cache param if needed\n\n\n if (s.cache === false) {\n cacheURL = cacheURL.replace(rantiCache, \"$1\");\n uncached = (rquery.test(cacheURL) ? \"&\" : \"?\") + \"_=\" + nonce.guid++ + uncached;\n } // Put hash and anti-cache on the URL that will be requested (gh-1732)\n\n\n s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658)\n } else if (s.data && s.processData && (s.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") === 0) {\n s.data = s.data.replace(r20, \"+\");\n } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\n\n if (s.ifModified) {\n if (jQuery.lastModified[cacheURL]) {\n jqXHR.setRequestHeader(\"If-Modified-Since\", jQuery.lastModified[cacheURL]);\n }\n\n if (jQuery.etag[cacheURL]) {\n jqXHR.setRequestHeader(\"If-None-Match\", jQuery.etag[cacheURL]);\n }\n } // Set the correct header, if data is being sent\n\n\n if (s.data && s.hasContent && s.contentType !== false || options.contentType) {\n jqXHR.setRequestHeader(\"Content-Type\", s.contentType);\n } // Set the Accepts header for the server, depending on the dataType\n\n\n jqXHR.setRequestHeader(\"Accept\", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\") : s.accepts[\"*\"]); // Check for headers option\n\n for (i in s.headers) {\n jqXHR.setRequestHeader(i, s.headers[i]);\n } // Allow custom headers/mimetypes and early abort\n\n\n if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) {\n // Abort if not done already and return\n return jqXHR.abort();\n } // Aborting is no longer a cancellation\n\n\n strAbort = \"abort\"; // Install callbacks on deferreds\n\n completeDeferred.add(s.complete);\n jqXHR.done(s.success);\n jqXHR.fail(s.error); // Get transport\n\n transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); // If no transport, we auto-abort\n\n if (!transport) {\n done(-1, \"No Transport\");\n } else {\n jqXHR.readyState = 1; // Send global event\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxSend\", [jqXHR, s]);\n } // If request was aborted inside ajaxSend, stop there\n\n\n if (completed) {\n return jqXHR;\n } // Timeout\n\n\n if (s.async && s.timeout > 0) {\n timeoutTimer = window.setTimeout(function () {\n jqXHR.abort(\"timeout\");\n }, s.timeout);\n }\n\n try {\n completed = false;\n transport.send(requestHeaders, done);\n } catch (e) {\n // Rethrow post-completion exceptions\n if (completed) {\n throw e;\n } // Propagate others as results\n\n\n done(-1, e);\n }\n } // Callback for when everything is done\n\n\n function done(status, nativeStatusText, responses, headers) {\n var isSuccess,\n success,\n error,\n response,\n modified,\n statusText = nativeStatusText; // Ignore repeat invocations\n\n if (completed) {\n return;\n }\n\n completed = true; // Clear timeout if it exists\n\n if (timeoutTimer) {\n window.clearTimeout(timeoutTimer);\n } // Dereference transport for early garbage collection\n // (no matter how long the jqXHR object will be used)\n\n\n transport = undefined; // Cache response headers\n\n responseHeadersString = headers || \"\"; // Set readyState\n\n jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful\n\n isSuccess = status >= 200 && status < 300 || status === 304; // Get response data\n\n if (responses) {\n response = ajaxHandleResponses(s, jqXHR, responses);\n } // Use a noop converter for missing script but not if jsonp\n\n\n if (!isSuccess && jQuery.inArray(\"script\", s.dataTypes) > -1 && jQuery.inArray(\"json\", s.dataTypes) < 0) {\n s.converters[\"text script\"] = function () {};\n } // Convert no matter what (that way responseXXX fields are always set)\n\n\n response = ajaxConvert(s, response, jqXHR, isSuccess); // If successful, handle type chaining\n\n if (isSuccess) {\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n modified = jqXHR.getResponseHeader(\"Last-Modified\");\n\n if (modified) {\n jQuery.lastModified[cacheURL] = modified;\n }\n\n modified = jqXHR.getResponseHeader(\"etag\");\n\n if (modified) {\n jQuery.etag[cacheURL] = modified;\n }\n } // if no content\n\n\n if (status === 204 || s.type === \"HEAD\") {\n statusText = \"nocontent\"; // if not modified\n } else if (status === 304) {\n statusText = \"notmodified\"; // If we have data, let's convert it\n } else {\n statusText = response.state;\n success = response.data;\n error = response.error;\n isSuccess = !error;\n }\n } else {\n // Extract error from statusText and normalize for non-aborts\n error = statusText;\n\n if (status || !statusText) {\n statusText = \"error\";\n\n if (status < 0) {\n status = 0;\n }\n }\n } // Set data for the fake xhr object\n\n\n jqXHR.status = status;\n jqXHR.statusText = (nativeStatusText || statusText) + \"\"; // Success/Error\n\n if (isSuccess) {\n deferred.resolveWith(callbackContext, [success, statusText, jqXHR]);\n } else {\n deferred.rejectWith(callbackContext, [jqXHR, statusText, error]);\n } // Status-dependent callbacks\n\n\n jqXHR.statusCode(_statusCode);\n _statusCode = undefined;\n\n if (fireGlobals) {\n globalEventContext.trigger(isSuccess ? \"ajaxSuccess\" : \"ajaxError\", [jqXHR, s, isSuccess ? success : error]);\n } // Complete\n\n\n completeDeferred.fireWith(callbackContext, [jqXHR, statusText]);\n\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxComplete\", [jqXHR, s]); // Handle the global AJAX counter\n\n if (! --jQuery.active) {\n jQuery.event.trigger(\"ajaxStop\");\n }\n }\n }\n\n return jqXHR;\n },\n getJSON: function getJSON(url, data, callback) {\n return jQuery.get(url, data, callback, \"json\");\n },\n getScript: function getScript(url, callback) {\n return jQuery.get(url, undefined, callback, \"script\");\n }\n });\n jQuery.each([\"get\", \"post\"], function (_i, method) {\n jQuery[method] = function (url, data, callback, type) {\n // Shift arguments if data argument was omitted\n if (isFunction(data)) {\n type = type || callback;\n callback = data;\n data = undefined;\n } // The url can be an options object (which then must have .url)\n\n\n return jQuery.ajax(jQuery.extend({\n url: url,\n type: method,\n dataType: type,\n data: data,\n success: callback\n }, jQuery.isPlainObject(url) && url));\n };\n });\n jQuery.ajaxPrefilter(function (s) {\n var i;\n\n for (i in s.headers) {\n if (i.toLowerCase() === \"content-type\") {\n s.contentType = s.headers[i] || \"\";\n }\n }\n });\n\n jQuery._evalUrl = function (url, options, doc) {\n return jQuery.ajax({\n url: url,\n // Make this explicit, since user can override this through ajaxSetup (trac-11264)\n type: \"GET\",\n dataType: \"script\",\n cache: true,\n async: false,\n global: false,\n // Only evaluate the response if it is successful (gh-4126)\n // dataFilter is not invoked for failure responses, so using it instead\n // of the default converter is kludgy but it works.\n converters: {\n \"text script\": function textScript() {}\n },\n dataFilter: function dataFilter(response) {\n jQuery.globalEval(response, options, doc);\n }\n });\n };\n\n jQuery.fn.extend({\n wrapAll: function wrapAll(html) {\n var wrap;\n\n if (this[0]) {\n if (isFunction(html)) {\n html = html.call(this[0]);\n } // The elements to wrap the target around\n\n\n wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true);\n\n if (this[0].parentNode) {\n wrap.insertBefore(this[0]);\n }\n\n wrap.map(function () {\n var elem = this;\n\n while (elem.firstElementChild) {\n elem = elem.firstElementChild;\n }\n\n return elem;\n }).append(this);\n }\n\n return this;\n },\n wrapInner: function wrapInner(html) {\n if (isFunction(html)) {\n return this.each(function (i) {\n jQuery(this).wrapInner(html.call(this, i));\n });\n }\n\n return this.each(function () {\n var self = jQuery(this),\n contents = self.contents();\n\n if (contents.length) {\n contents.wrapAll(html);\n } else {\n self.append(html);\n }\n });\n },\n wrap: function wrap(html) {\n var htmlIsFunction = isFunction(html);\n return this.each(function (i) {\n jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html);\n });\n },\n unwrap: function unwrap(selector) {\n this.parent(selector).not(\"body\").each(function () {\n jQuery(this).replaceWith(this.childNodes);\n });\n return this;\n }\n });\n\n jQuery.expr.pseudos.hidden = function (elem) {\n return !jQuery.expr.pseudos.visible(elem);\n };\n\n jQuery.expr.pseudos.visible = function (elem) {\n return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n };\n\n jQuery.ajaxSettings.xhr = function () {\n try {\n return new window.XMLHttpRequest();\n } catch (e) {}\n };\n\n var xhrSuccessStatus = {\n // File protocol always yields status code 0, assume 200\n 0: 200,\n // Support: IE <=9 only\n // trac-1450: sometimes IE returns 1223 when it should be 204\n 1223: 204\n },\n xhrSupported = jQuery.ajaxSettings.xhr();\n support.cors = !!xhrSupported && \"withCredentials\" in xhrSupported;\n support.ajax = xhrSupported = !!xhrSupported;\n jQuery.ajaxTransport(function (options) {\n var _callback, errorCallback; // Cross domain only allowed if supported through XMLHttpRequest\n\n\n if (support.cors || xhrSupported && !options.crossDomain) {\n return {\n send: function send(headers, complete) {\n var i,\n xhr = options.xhr();\n xhr.open(options.type, options.url, options.async, options.username, options.password); // Apply custom fields if provided\n\n if (options.xhrFields) {\n for (i in options.xhrFields) {\n xhr[i] = options.xhrFields[i];\n }\n } // Override mime type if needed\n\n\n if (options.mimeType && xhr.overrideMimeType) {\n xhr.overrideMimeType(options.mimeType);\n } // X-Requested-With header\n // For cross-domain requests, seeing as conditions for a preflight are\n // akin to a jigsaw puzzle, we simply never set it to be sure.\n // (it can always be set on a per-request basis or even using ajaxSetup)\n // For same-domain requests, won't change header if already provided.\n\n\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n } // Set headers\n\n\n for (i in headers) {\n xhr.setRequestHeader(i, headers[i]);\n } // Callback\n\n\n _callback = function callback(type) {\n return function () {\n if (_callback) {\n _callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null;\n\n if (type === \"abort\") {\n xhr.abort();\n } else if (type === \"error\") {\n // Support: IE <=9 only\n // On a manual native abort, IE9 throws\n // errors on any property access that is not readyState\n if (typeof xhr.status !== \"number\") {\n complete(0, \"error\");\n } else {\n complete( // File: protocol always yields status 0; see trac-8605, trac-14207\n xhr.status, xhr.statusText);\n }\n } else {\n complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, // Support: IE <=9 only\n // IE9 has no XHR2 but throws on binary (trac-11426)\n // For XHR2 non-text, let the caller handle it (gh-2498)\n (xhr.responseType || \"text\") !== \"text\" || typeof xhr.responseText !== \"string\" ? {\n binary: xhr.response\n } : {\n text: xhr.responseText\n }, xhr.getAllResponseHeaders());\n }\n }\n };\n }; // Listen to events\n\n\n xhr.onload = _callback();\n errorCallback = xhr.onerror = xhr.ontimeout = _callback(\"error\"); // Support: IE 9 only\n // Use onreadystatechange to replace onabort\n // to handle uncaught aborts\n\n if (xhr.onabort !== undefined) {\n xhr.onabort = errorCallback;\n } else {\n xhr.onreadystatechange = function () {\n // Check readyState before timeout as it changes\n if (xhr.readyState === 4) {\n // Allow onerror to be called first,\n // but that will not handle a native abort\n // Also, save errorCallback to a variable\n // as xhr.onerror cannot be accessed\n window.setTimeout(function () {\n if (_callback) {\n errorCallback();\n }\n });\n }\n };\n } // Create the abort callback\n\n\n _callback = _callback(\"abort\");\n\n try {\n // Do send the request (this may raise an exception)\n xhr.send(options.hasContent && options.data || null);\n } catch (e) {\n // trac-14683: Only rethrow if this hasn't been notified as an error yet\n if (_callback) {\n throw e;\n }\n }\n },\n abort: function abort() {\n if (_callback) {\n _callback();\n }\n }\n };\n }\n }); // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\n\n jQuery.ajaxPrefilter(function (s) {\n if (s.crossDomain) {\n s.contents.script = false;\n }\n }); // Install script dataType\n\n jQuery.ajaxSetup({\n accepts: {\n script: \"text/javascript, application/javascript, \" + \"application/ecmascript, application/x-ecmascript\"\n },\n contents: {\n script: /\\b(?:java|ecma)script\\b/\n },\n converters: {\n \"text script\": function textScript(text) {\n jQuery.globalEval(text);\n return text;\n }\n }\n }); // Handle cache's special case and crossDomain\n\n jQuery.ajaxPrefilter(\"script\", function (s) {\n if (s.cache === undefined) {\n s.cache = false;\n }\n\n if (s.crossDomain) {\n s.type = \"GET\";\n }\n }); // Bind script tag hack transport\n\n jQuery.ajaxTransport(\"script\", function (s) {\n // This transport only deals with cross domain or forced-by-attrs requests\n if (s.crossDomain || s.scriptAttrs) {\n var script, _callback2;\n\n return {\n send: function send(_, complete) {\n script = jQuery(\"<script>\").attr(s.scriptAttrs || {}).prop({\n charset: s.scriptCharset,\n src: s.url\n }).on(\"load error\", _callback2 = function callback(evt) {\n script.remove();\n _callback2 = null;\n\n if (evt) {\n complete(evt.type === \"error\" ? 404 : 200, evt.type);\n }\n }); // Use native DOM manipulation to avoid our domManip AJAX trickery\n\n document.head.appendChild(script[0]);\n },\n abort: function abort() {\n if (_callback2) {\n _callback2();\n }\n }\n };\n }\n });\n var oldCallbacks = [],\n rjsonp = /(=)\\?(?=&|$)|\\?\\?/; // Default jsonp settings\n\n jQuery.ajaxSetup({\n jsonp: \"callback\",\n jsonpCallback: function jsonpCallback() {\n var callback = oldCallbacks.pop() || jQuery.expando + \"_\" + nonce.guid++;\n this[callback] = true;\n return callback;\n }\n }); // Detect, normalize options and install callbacks for jsonp requests\n\n jQuery.ajaxPrefilter(\"json jsonp\", function (s, originalSettings, jqXHR) {\n var callbackName,\n overwritten,\n responseContainer,\n jsonProp = s.jsonp !== false && (rjsonp.test(s.url) ? \"url\" : typeof s.data === \"string\" && (s.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") === 0 && rjsonp.test(s.data) && \"data\"); // Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\n if (jsonProp || s.dataTypes[0] === \"jsonp\") {\n // Get callback name, remembering preexisting value associated with it\n callbackName = s.jsonpCallback = isFunction(s.jsonpCallback) ? s.jsonpCallback() : s.jsonpCallback; // Insert callback into url or form data\n\n if (jsonProp) {\n s[jsonProp] = s[jsonProp].replace(rjsonp, \"$1\" + callbackName);\n } else if (s.jsonp !== false) {\n s.url += (rquery.test(s.url) ? \"&\" : \"?\") + s.jsonp + \"=\" + callbackName;\n } // Use data converter to retrieve json after script execution\n\n\n s.converters[\"script json\"] = function () {\n if (!responseContainer) {\n jQuery.error(callbackName + \" was not called\");\n }\n\n return responseContainer[0];\n }; // Force json dataType\n\n\n s.dataTypes[0] = \"json\"; // Install callback\n\n overwritten = window[callbackName];\n\n window[callbackName] = function () {\n responseContainer = arguments;\n }; // Clean-up function (fires after converters)\n\n\n jqXHR.always(function () {\n // If previous value didn't exist - remove it\n if (overwritten === undefined) {\n jQuery(window).removeProp(callbackName); // Otherwise restore preexisting value\n } else {\n window[callbackName] = overwritten;\n } // Save back as free\n\n\n if (s[callbackName]) {\n // Make sure that re-using the options doesn't screw things around\n s.jsonpCallback = originalSettings.jsonpCallback; // Save the callback name for future use\n\n oldCallbacks.push(callbackName);\n } // Call if it was a function and we have a response\n\n\n if (responseContainer && isFunction(overwritten)) {\n overwritten(responseContainer[0]);\n }\n\n responseContainer = overwritten = undefined;\n }); // Delegate to script\n\n return \"script\";\n }\n }); // Support: Safari 8 only\n // In Safari 8 documents created via document.implementation.createHTMLDocument\n // collapse sibling forms: the second one becomes a child of the first one.\n // Because of that, this security measure has to be disabled in Safari 8.\n // https://bugs.webkit.org/show_bug.cgi?id=137337\n\n support.createHTMLDocument = function () {\n var body = document.implementation.createHTMLDocument(\"\").body;\n body.innerHTML = \"<form></form><form></form>\";\n return body.childNodes.length === 2;\n }(); // Argument \"data\" should be string of html\n // context (optional): If specified, the fragment will be created in this context,\n // defaults to document\n // keepScripts (optional): If true, will include scripts passed in the html string\n\n\n jQuery.parseHTML = function (data, context, keepScripts) {\n if (typeof data !== \"string\") {\n return [];\n }\n\n if (typeof context === \"boolean\") {\n keepScripts = context;\n context = false;\n }\n\n var base, parsed, scripts;\n\n if (!context) {\n // Stop scripts or inline event handlers from being executed immediately\n // by using document.implementation\n if (support.createHTMLDocument) {\n context = document.implementation.createHTMLDocument(\"\"); // Set the base href for the created document\n // so any parsed elements with URLs\n // are based on the document's URL (gh-2965)\n\n base = context.createElement(\"base\");\n base.href = document.location.href;\n context.head.appendChild(base);\n } else {\n context = document;\n }\n }\n\n parsed = rsingleTag.exec(data);\n scripts = !keepScripts && []; // Single tag\n\n if (parsed) {\n return [context.createElement(parsed[1])];\n }\n\n parsed = buildFragment([data], context, scripts);\n\n if (scripts && scripts.length) {\n jQuery(scripts).remove();\n }\n\n return jQuery.merge([], parsed.childNodes);\n };\n /**\n * Load a url into a page\n */\n\n\n jQuery.fn.load = function (url, params, callback) {\n var selector,\n type,\n response,\n self = this,\n off = url.indexOf(\" \");\n\n if (off > -1) {\n selector = stripAndCollapse(url.slice(off));\n url = url.slice(0, off);\n } // If it's a function\n\n\n if (isFunction(params)) {\n // We assume that it's the callback\n callback = params;\n params = undefined; // Otherwise, build a param string\n } else if (params && _typeof(params) === \"object\") {\n type = \"POST\";\n } // If we have elements to modify, make the request\n\n\n if (self.length > 0) {\n jQuery.ajax({\n url: url,\n // If \"type\" variable is undefined, then \"GET\" method will be used.\n // Make value of this field explicit since\n // user can override it through ajaxSetup method\n type: type || \"GET\",\n dataType: \"html\",\n data: params\n }).done(function (responseText) {\n // Save response for use in complete callback\n response = arguments;\n self.html(selector ? // If a selector was specified, locate the right elements in a dummy div\n // Exclude scripts to avoid IE 'Permission Denied' errors\n jQuery(\"<div>\").append(jQuery.parseHTML(responseText)).find(selector) : // Otherwise use the full result\n responseText); // If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n // but they are ignored because response was set above.\n // If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n }).always(callback && function (jqXHR, status) {\n self.each(function () {\n callback.apply(this, response || [jqXHR.responseText, status, jqXHR]);\n });\n });\n }\n\n return this;\n };\n\n jQuery.expr.pseudos.animated = function (elem) {\n return jQuery.grep(jQuery.timers, function (fn) {\n return elem === fn.elem;\n }).length;\n };\n\n jQuery.offset = {\n setOffset: function setOffset(elem, options, i) {\n var curPosition,\n curLeft,\n curCSSTop,\n curTop,\n curOffset,\n curCSSLeft,\n calculatePosition,\n position = jQuery.css(elem, \"position\"),\n curElem = jQuery(elem),\n props = {}; // Set position first, in-case top/left are set even on static elem\n\n if (position === \"static\") {\n elem.style.position = \"relative\";\n }\n\n curOffset = curElem.offset();\n curCSSTop = jQuery.css(elem, \"top\");\n curCSSLeft = jQuery.css(elem, \"left\");\n calculatePosition = (position === \"absolute\" || position === \"fixed\") && (curCSSTop + curCSSLeft).indexOf(\"auto\") > -1; // Need to be able to calculate position if either\n // top or left is auto and position is either absolute or fixed\n\n if (calculatePosition) {\n curPosition = curElem.position();\n curTop = curPosition.top;\n curLeft = curPosition.left;\n } else {\n curTop = parseFloat(curCSSTop) || 0;\n curLeft = parseFloat(curCSSLeft) || 0;\n }\n\n if (isFunction(options)) {\n // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n options = options.call(elem, i, jQuery.extend({}, curOffset));\n }\n\n if (options.top != null) {\n props.top = options.top - curOffset.top + curTop;\n }\n\n if (options.left != null) {\n props.left = options.left - curOffset.left + curLeft;\n }\n\n if (\"using\" in options) {\n options.using.call(elem, props);\n } else {\n curElem.css(props);\n }\n }\n };\n jQuery.fn.extend({\n // offset() relates an element's border box to the document origin\n offset: function offset(options) {\n // Preserve chaining for setter\n if (arguments.length) {\n return options === undefined ? this : this.each(function (i) {\n jQuery.offset.setOffset(this, options, i);\n });\n }\n\n var rect,\n win,\n elem = this[0];\n\n if (!elem) {\n return;\n } // Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n // Support: IE <=11 only\n // Running getBoundingClientRect on a\n // disconnected node in IE throws an error\n\n\n if (!elem.getClientRects().length) {\n return {\n top: 0,\n left: 0\n };\n } // Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\n\n rect = elem.getBoundingClientRect();\n win = elem.ownerDocument.defaultView;\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n },\n // position() relates an element's margin box to its offset parent's padding box\n // This corresponds to the behavior of CSS absolute positioning\n position: function position() {\n if (!this[0]) {\n return;\n }\n\n var offsetParent,\n offset,\n doc,\n elem = this[0],\n parentOffset = {\n top: 0,\n left: 0\n }; // position:fixed elements are offset from the viewport, which itself always has zero offset\n\n if (jQuery.css(elem, \"position\") === \"fixed\") {\n // Assume position:fixed implies availability of getBoundingClientRect\n offset = elem.getBoundingClientRect();\n } else {\n offset = this.offset(); // Account for the *real* offset parent, which can be the document or its root element\n // when a statically positioned element is identified\n\n doc = elem.ownerDocument;\n offsetParent = elem.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && jQuery.css(offsetParent, \"position\") === \"static\") {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== elem && offsetParent.nodeType === 1) {\n // Incorporate borders into its offset, since they are outside its content origin\n parentOffset = jQuery(offsetParent).offset();\n parentOffset.top += jQuery.css(offsetParent, \"borderTopWidth\", true);\n parentOffset.left += jQuery.css(offsetParent, \"borderLeftWidth\", true);\n }\n } // Subtract parent offsets and element margins\n\n\n return {\n top: offset.top - parentOffset.top - jQuery.css(elem, \"marginTop\", true),\n left: offset.left - parentOffset.left - jQuery.css(elem, \"marginLeft\", true)\n };\n },\n // This method will return documentElement in the following cases:\n // 1) For the element inside the iframe without offsetParent, this method will return\n // documentElement of the parent window\n // 2) For the hidden or detached element\n // 3) For body or html element, i.e. in case of the html node - it will return itself\n //\n // but those exceptions were never presented as a real life use-cases\n // and might be considered as more preferable results.\n //\n // This logic, however, is not guaranteed and can change at any point in the future\n offsetParent: function offsetParent() {\n return this.map(function () {\n var offsetParent = this.offsetParent;\n\n while (offsetParent && jQuery.css(offsetParent, \"position\") === \"static\") {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || documentElement;\n });\n }\n }); // Create scrollLeft and scrollTop methods\n\n jQuery.each({\n scrollLeft: \"pageXOffset\",\n scrollTop: \"pageYOffset\"\n }, function (method, prop) {\n var top = \"pageYOffset\" === prop;\n\n jQuery.fn[method] = function (val) {\n return access(this, function (elem, method, val) {\n // Coalesce documents and windows\n var win;\n\n if (isWindow(elem)) {\n win = elem;\n } else if (elem.nodeType === 9) {\n win = elem.defaultView;\n }\n\n if (val === undefined) {\n return win ? win[prop] : elem[method];\n }\n\n if (win) {\n win.scrollTo(!top ? val : win.pageXOffset, top ? val : win.pageYOffset);\n } else {\n elem[method] = val;\n }\n }, method, val, arguments.length);\n };\n }); // Support: Safari <=7 - 9.1, Chrome <=37 - 49\n // Add the top/left cssHooks using jQuery.fn.position\n // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n // getComputedStyle returns percent when specified for top/left/bottom/right;\n // rather than make the css module depend on the offset module, just check for it here\n\n jQuery.each([\"top\", \"left\"], function (_i, prop) {\n jQuery.cssHooks[prop] = addGetHookIf(support.pixelPosition, function (elem, computed) {\n if (computed) {\n computed = curCSS(elem, prop); // If curCSS returns percentage, fallback to offset\n\n return rnumnonpx.test(computed) ? jQuery(elem).position()[prop] + \"px\" : computed;\n }\n });\n }); // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\n\n jQuery.each({\n Height: \"height\",\n Width: \"width\"\n }, function (name, type) {\n jQuery.each({\n padding: \"inner\" + name,\n content: type,\n \"\": \"outer\" + name\n }, function (defaultExtra, funcName) {\n // Margin is only for outerHeight, outerWidth\n jQuery.fn[funcName] = function (margin, value) {\n var chainable = arguments.length && (defaultExtra || typeof margin !== \"boolean\"),\n extra = defaultExtra || (margin === true || value === true ? \"margin\" : \"border\");\n return access(this, function (elem, type, value) {\n var doc;\n\n if (isWindow(elem)) {\n // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n return funcName.indexOf(\"outer\") === 0 ? elem[\"inner\" + name] : elem.document.documentElement[\"client\" + name];\n } // Get document width or height\n\n\n if (elem.nodeType === 9) {\n doc = elem.documentElement; // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n // whichever is greatest\n\n return Math.max(elem.body[\"scroll\" + name], doc[\"scroll\" + name], elem.body[\"offset\" + name], doc[\"offset\" + name], doc[\"client\" + name]);\n }\n\n return value === undefined ? // Get width or height on the element, requesting but not forcing parseFloat\n jQuery.css(elem, type, extra) : // Set width or height on the element\n jQuery.style(elem, type, value, extra);\n }, type, chainable ? margin : undefined, chainable);\n };\n });\n });\n jQuery.each([\"ajaxStart\", \"ajaxStop\", \"ajaxComplete\", \"ajaxError\", \"ajaxSuccess\", \"ajaxSend\"], function (_i, type) {\n jQuery.fn[type] = function (fn) {\n return this.on(type, fn);\n };\n });\n jQuery.fn.extend({\n bind: function bind(types, data, fn) {\n return this.on(types, null, data, fn);\n },\n unbind: function unbind(types, fn) {\n return this.off(types, null, fn);\n },\n delegate: function delegate(selector, types, data, fn) {\n return this.on(types, selector, data, fn);\n },\n undelegate: function undelegate(selector, types, fn) {\n // ( namespace ) or ( selector, types [, fn] )\n return arguments.length === 1 ? this.off(selector, \"**\") : this.off(types, selector || \"**\", fn);\n },\n hover: function hover(fnOver, fnOut) {\n return this.mouseenter(fnOver).mouseleave(fnOut || fnOver);\n }\n });\n jQuery.each((\"blur focus focusin focusout resize scroll click dblclick \" + \"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" + \"change select submit keydown keypress keyup contextmenu\").split(\" \"), function (_i, name) {\n // Handle event binding\n jQuery.fn[name] = function (data, fn) {\n return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);\n };\n }); // Support: Android <=4.0 only\n // Make sure we trim BOM and NBSP\n // Require that the \"whitespace run\" starts from a non-whitespace\n // to avoid O(N^2) behavior when the engine would try matching \"\\s+$\" at each space position.\n\n var rtrim = /^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g; // Bind a function to a context, optionally partially applying any\n // arguments.\n // jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n // However, it is not slated for removal any time soon\n\n jQuery.proxy = function (fn, context) {\n var tmp, args, proxy;\n\n if (typeof context === \"string\") {\n tmp = fn[context];\n context = fn;\n fn = tmp;\n } // Quick check to determine if target is callable, in the spec\n // this throws a TypeError, but we will just return undefined.\n\n\n if (!isFunction(fn)) {\n return undefined;\n } // Simulated bind\n\n\n args = _slice.call(arguments, 2);\n\n proxy = function proxy() {\n return fn.apply(context || this, args.concat(_slice.call(arguments)));\n }; // Set the guid of unique handler to the same of original handler, so it can be removed\n\n\n proxy.guid = fn.guid = fn.guid || jQuery.guid++;\n return proxy;\n };\n\n jQuery.holdReady = function (hold) {\n if (hold) {\n jQuery.readyWait++;\n } else {\n jQuery.ready(true);\n }\n };\n\n jQuery.isArray = Array.isArray;\n jQuery.parseJSON = JSON.parse;\n jQuery.nodeName = nodeName;\n jQuery.isFunction = isFunction;\n jQuery.isWindow = isWindow;\n jQuery.camelCase = camelCase;\n jQuery.type = toType;\n jQuery.now = Date.now;\n\n jQuery.isNumeric = function (obj) {\n // As of jQuery 3.0, isNumeric is limited to\n // strings and numbers (primitives or objects)\n // that can be coerced to finite numbers (gh-2662)\n var type = jQuery.type(obj);\n return (type === \"number\" || type === \"string\") && // parseFloat NaNs numeric-cast false positives (\"\")\n // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n // subtraction forces infinities to NaN\n !isNaN(obj - parseFloat(obj));\n };\n\n jQuery.trim = function (text) {\n return text == null ? \"\" : (text + \"\").replace(rtrim, \"$1\");\n }; // Register as a named AMD module, since jQuery can be concatenated with other\n // files that may use define, but not via a proper concatenation script that\n // understands anonymous AMD modules. A named AMD is safest and most robust\n // way to register. Lowercase jquery is used because AMD module names are\n // derived from file names, and jQuery is normally delivered in a lowercase\n // file name. Do this after creating the global so that if an AMD module wants\n // to call noConflict to hide this version of jQuery, it will work.\n // Note that for maximum portability, libraries that are not jQuery should\n // declare themselves as anonymous modules, and avoid setting a global if an\n // AMD loader is present. jQuery is a special case. For more information, see\n // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\n\n if (typeof define === \"function\" && define.amd) {\n define(\"jquery\", [], function () {\n return jQuery;\n });\n }\n\n var // Map over jQuery in case of overwrite\n _jQuery = window.jQuery,\n // Map over the $ in case of overwrite\n _$ = window.$;\n\n jQuery.noConflict = function (deep) {\n if (window.$ === jQuery) {\n window.$ = _$;\n }\n\n if (deep && window.jQuery === jQuery) {\n window.jQuery = _jQuery;\n }\n\n return jQuery;\n }; // Expose jQuery and $ identifiers, even in AMD\n // (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)\n // and CommonJS for browser emulators (trac-13566)\n\n\n if (typeof noGlobal === \"undefined\") {\n window.jQuery = window.$ = jQuery;\n }\n\n return jQuery;\n});","export function setWithCountAnimation(element, from, to){\n const DURATION = 500\n const startTime = Date.now()\n const timer = setInterval(() => {\n const elapsedTime = Date.now() - startTime\n const progress = elapsedTime / DURATION\n\n let value = 0;\n if (progress < 1) {\n value = Math.floor(from + progress * (to - from));\n } else {\n value = to\n clearInterval(timer)\n }\n element.textContent = value.toLocaleString('ja-JP');\n if (value < 0){\n element.classList.add(\"minus-red\");\n } else {\n element.classList.remove(\"minus-red\");\n }\n }, 20)\n}\n\nexport function sanitizeMoney(value) {\n let result = value\n // 全角数å—ã®å¤‰æ›\n result = result.replace(/[ï¼-ï¼™]/g, function(s) {\n return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);\n });\n // ãƒã‚¤ãƒ•ãƒ³ã‚„マイナスã€ã‚«ãƒ³ãƒžãŒã‚ã‚‹å ´åˆã¯å‰Šé™¤ã™ã‚‹\n \"ï¼â€âˆ’‒—–―ーー─â”一-,,\".split(\"\").forEach((hyphen) => {\n result = result.replace(hyphen, \"\")\n });\n\n // 数値変æ›å‡ºæ¥ãªã„å ´åˆã¯0ã«ç½®æ›\n result = Number.isFinite(parseInt(result)) ? result : 0\n\n // 100億以上ã¯ãƒˆãƒªãƒ ã™ã‚‹\n if (result.length > 5) result = result.slice(0, 5)\n\n return parseInt(result)\n}\n\nexport function delimitedMoney(money){\n return sanitizeMoney(money).toLocaleString('ja-JP')\n}\n\nexport function updateDelimitedMoney(textFieldElement, automaticInput = true) {\n // hidden fieldã¸ã®ã‚³ãƒ”ー\n const hiddenElementId = textFieldElement.dataset.target;\n const hiddenElement = document.getElementById(hiddenElementId);\n hiddenElement.value = sanitizeMoney(textFieldElement.value);\n if (automaticInput || textFieldElement.value != '') {\n // サニタイズ&カンマ区切り\n textFieldElement.value = delimitedMoney(textFieldElement.value);\n }\n\n // hidden fieldã«changeイベントを発生ã•ã›ã‚‹\n const changeEvent = new Event(\"change\");\n hiddenElement.dispatchEvent(changeEvent);\n}\n\n// 対応ã™ã‚‹text fieldã«ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§ã‚»ãƒƒãƒˆã™ã‚‹\nexport function setDelimitedMoney(hiddenElement) {\n const inputElementId = \"text_\" + hiddenElement.id;\n const inputElement = document.getElementById(inputElementId);\n inputElement.value = parseInt(hiddenElement.value).toLocaleString('ja-JP');\n}\n\n// レンダリング後ã«hidden fieldã‹ã‚‰text fieldã¸ã®åˆæœŸã‚»ãƒƒãƒˆ\n$(function() {\n $(\".js-set-delimited-money\").each(function(){\n if (this.value !== \"\") {\n setDelimitedMoney(this);\n }\n });\n});\n\n// 数値計画ã®å…¥åŠ›ãƒ•ã‚©ãƒ¼ãƒ 上ã§ã‚¨ãƒ³ã‚¿ãƒ¼ã‚’押ã—ã¦ã‚‚サブミットã—ãªã„\n$(function() {\n $(\"#sogyo_suchi_form\").on(\"keypress\", function (event) {\n var keyPressed = event.keyCode || event.which;\n if (keyPressed === 13) {\n event.preventDefault();\n return false;\n }\n });\n});","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name; // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","var _KEY_TO_DIRECTION;\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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/*!\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar MAX_UID = 1000000;\nvar MILLISECONDS_MULTIPLIER = 1000;\nvar TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)\n\nvar toType = function toType(object) {\n if (object === null || object === undefined) {\n return \"\".concat(object);\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n/**\n * Public Util API\n */\n\n\nvar getUID = function getUID(prefix) {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n\n return prefix;\n};\n\nvar getSelector = function getSelector(element) {\n var selector = element.getAttribute('data-bs-target');\n\n if (!selector || selector === '#') {\n var hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = \"#\".concat(hrefAttribute.split('#')[1]);\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n\n return selector;\n};\n\nvar getSelectorFromElement = function getSelectorFromElement(element) {\n var selector = getSelector(element);\n\n if (selector) {\n return document.querySelector(selector) ? selector : null;\n }\n\n return null;\n};\n\nvar getElementFromSelector = function getElementFromSelector(element) {\n var selector = getSelector(element);\n return selector ? document.querySelector(selector) : null;\n};\n\nvar getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var _window$getComputedSt = window.getComputedStyle(element),\n transitionDuration = _window$getComputedSt.transitionDuration,\n transitionDelay = _window$getComputedSt.transitionDelay;\n\n var floatTransitionDuration = Number.parseFloat(transitionDuration);\n var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\n\nvar triggerTransitionEnd = function triggerTransitionEnd(element) {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\n\nvar isElement = function isElement(object) {\n if (!object || _typeof(object) !== 'object') {\n return false;\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n\n return typeof object.nodeType !== 'undefined';\n};\n\nvar getElement = function getElement(object) {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object);\n }\n\n return null;\n};\n\nvar isVisible = function isVisible(element) {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n var elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed\n\n var closedDetails = element.closest('details:not([open])');\n\n if (!closedDetails) {\n return elementIsVisible;\n }\n\n if (closedDetails !== element) {\n var summary = element.closest('summary');\n\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n\n if (summary === null) {\n return false;\n }\n }\n\n return elementIsVisible;\n};\n\nvar isDisabled = function isDisabled(element) {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n\n if (element.classList.contains('disabled')) {\n return true;\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\n\nvar findShadowRoot = function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nvar noop = function noop() {};\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\n\n\nvar reflow = function reflow(element) {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nvar getjQuery = function getjQuery() {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n\n return null;\n};\n\nvar DOMContentLoadedCallbacks = [];\n\nvar onDOMContentLoaded = function onDOMContentLoaded(callback) {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', function () {\n var _iterator = _createForOfIteratorHelper(DOMContentLoadedCallbacks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _callback = _step.value;\n\n _callback();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n }\n\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\n\nvar isRTL = function isRTL() {\n return document.documentElement.dir === 'rtl';\n};\n\nvar defineJQueryPlugin = function defineJQueryPlugin(plugin) {\n onDOMContentLoaded(function () {\n var $ = getjQuery();\n /* istanbul ignore if */\n\n if ($) {\n var name = plugin.NAME;\n var JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n\n $.fn[name].noConflict = function () {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\n\nvar execute = function execute(callback) {\n if (typeof callback === 'function') {\n callback();\n }\n};\n\nvar executeAfterTransition = function executeAfterTransition(callback, transitionElement) {\n var waitForTransition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n\n var durationPadding = 5;\n var emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n var called = false;\n\n var handler = function handler(_ref) {\n var target = _ref.target;\n\n if (target !== transitionElement) {\n return;\n }\n\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(function () {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\n\n\nvar getNextActiveElement = function getNextActiveElement(list, activeElement, shouldGetNext, isCycleAllowed) {\n var listLength = list.length;\n var index = list.indexOf(activeElement); // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n\n index += shouldGetNext ? 1 : -1;\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nvar stripNameRegex = /\\..*/;\nvar stripUidRegex = /::\\d+$/;\nvar eventRegistry = {}; // Events storage\n\nvar uidEvent = 1;\nvar customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nvar nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && \"\".concat(uid, \"::\").concat(uidEvent++) || element.uidEvent || uidEvent++;\n}\n\nfunction getElementEvents(element) {\n var uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n\n return fn.apply(element, [event]);\n };\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n var domElements = element.querySelectorAll(selector);\n\n for (var target = event.target; target && target !== this; target = target.parentNode) {\n var _iterator2 = _createForOfIteratorHelper(domElements),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var domElement = _step2.value;\n\n if (domElement !== target) {\n continue;\n }\n\n hydrateObj(event, {\n delegateTarget: target\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n\n return fn.apply(target, [event]);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n };\n}\n\nfunction findHandler(events, callable) {\n var delegationSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n return Object.values(events).find(function (event) {\n return event.callable === callable && event.delegationSelector === delegationSelector;\n });\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n var isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check\n\n var callable = isDelegated ? delegationFunction : handler || delegationFunction;\n var typeEvent = getTypeEvent(originalTypeEvent);\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n\n return [isDelegated, callable, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n var _normalizeParameters = normalizeParameters(originalTypeEvent, handler, delegationFunction),\n _normalizeParameters2 = _slicedToArray(_normalizeParameters, 3),\n isDelegated = _normalizeParameters2[0],\n callable = _normalizeParameters2[1],\n typeEvent = _normalizeParameters2[2]; // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n\n\n if (originalTypeEvent in customEvents) {\n var wrapFunction = function wrapFunction(fn) {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n\n callable = wrapFunction(callable);\n }\n\n var events = getElementEvents(element);\n var handlers = events[typeEvent] || (events[typeEvent] = {});\n var previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n\n var uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n var fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n var fn = findHandler(events[typeEvent], handler, delegationSelector);\n\n if (!fn) {\n return;\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n var storeElementEvent = events[typeEvent] || {};\n\n for (var _i2 = 0, _Object$keys = Object.keys(storeElementEvent); _i2 < _Object$keys.length; _i2++) {\n var handlerKey = _Object$keys[_i2];\n\n if (handlerKey.includes(namespace)) {\n var event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\n\nvar EventHandler = {\n on: function on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one: function one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off: function off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n var _normalizeParameters3 = normalizeParameters(originalTypeEvent, handler, delegationFunction),\n _normalizeParameters4 = _slicedToArray(_normalizeParameters3, 3),\n isDelegated = _normalizeParameters4[0],\n callable = _normalizeParameters4[1],\n typeEvent = _normalizeParameters4[2];\n\n var inNamespace = typeEvent !== originalTypeEvent;\n var events = getElementEvents(element);\n var storeElementEvent = events[typeEvent] || {};\n var isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n\n if (isNamespace) {\n for (var _i3 = 0, _Object$keys2 = Object.keys(events); _i3 < _Object$keys2.length; _i3++) {\n var elementEvent = _Object$keys2[_i3];\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n\n for (var _i4 = 0, _Object$keys3 = Object.keys(storeElementEvent); _i4 < _Object$keys3.length; _i4++) {\n var keyHandlers = _Object$keys3[_i4];\n var handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n var event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger: function trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n\n var $ = getjQuery();\n var typeEvent = getTypeEvent(event);\n var inNamespace = event !== typeEvent;\n var jQueryEvent = null;\n var bubbles = true;\n var nativeDispatch = true;\n var defaultPrevented = false;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n var evt = new Event(event, {\n bubbles: bubbles,\n cancelable: true\n });\n evt = hydrateObj(evt, args);\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n};\n\nfunction hydrateObj(obj, meta) {\n var _loop = function _loop() {\n var _ref2 = _Object$entries[_i5];\n _ref3 = _slicedToArray(_ref2, 2);\n var key = _ref3[0];\n var value = _ref3[1];\n\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get: function get() {\n return value;\n }\n });\n }\n };\n\n for (var _i5 = 0, _Object$entries = Object.entries(meta || {}); _i5 < _Object$entries.length; _i5++) {\n var _ref3;\n\n _loop();\n }\n\n return obj;\n}\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar elementMap = new Map();\nvar Data = {\n set: function set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n var instanceMap = elementMap.get(element); // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(\"Bootstrap doesn't allow more than one instance per element. Bound instance: \".concat(Array.from(instanceMap.keys())[0], \".\"));\n return;\n }\n\n instanceMap.set(key, instance);\n },\n get: function get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n\n return null;\n },\n remove: function remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n\n var instanceMap = elementMap.get(element);\n instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n if (value === Number(value).toString()) {\n return Number(value);\n }\n\n if (value === '' || value === 'null') {\n return null;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, function (chr) {\n return \"-\".concat(chr.toLowerCase());\n });\n}\n\nvar Manipulator = {\n setDataAttribute: function setDataAttribute(element, key, value) {\n element.setAttribute(\"data-bs-\".concat(normalizeDataKey(key)), value);\n },\n removeDataAttribute: function removeDataAttribute(element, key) {\n element.removeAttribute(\"data-bs-\".concat(normalizeDataKey(key)));\n },\n getDataAttributes: function getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n var attributes = {};\n var bsKeys = Object.keys(element.dataset).filter(function (key) {\n return key.startsWith('bs') && !key.startsWith('bsConfig');\n });\n\n var _iterator3 = _createForOfIteratorHelper(bsKeys),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var key = _step3.value;\n var pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return attributes;\n },\n getDataAttribute: function getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(\"data-bs-\".concat(normalizeDataKey(key))));\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Class definition\n */\n\nvar Config = /*#__PURE__*/function () {\n function Config() {\n _classCallCheck(this, Config);\n }\n\n _createClass(Config, [{\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n return config;\n }\n }, {\n key: \"_mergeConfigObj\",\n value: function _mergeConfigObj(config, element) {\n var jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), _typeof(jsonConfig) === 'object' ? jsonConfig : {}), isElement(element) ? Manipulator.getDataAttributes(element) : {}), _typeof(config) === 'object' ? config : {});\n }\n }, {\n key: \"_typeCheckConfig\",\n value: function _typeCheckConfig(config) {\n var configTypes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.constructor.DefaultType;\n\n for (var _i6 = 0, _Object$keys4 = Object.keys(configTypes); _i6 < _Object$keys4.length; _i6++) {\n var property = _Object$keys4[_i6];\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\"\".concat(this.constructor.NAME.toUpperCase(), \": Option \\\"\").concat(property, \"\\\" provided type \\\"\").concat(valueType, \"\\\" but expected type \\\"\").concat(expectedTypes, \"\\\".\"));\n }\n }\n }\n }], [{\n key: \"Default\",\n get: // Getters\n function get() {\n return {};\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return {};\n }\n }, {\n key: \"NAME\",\n get: function get() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n }]);\n\n return Config;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar VERSION = '5.2.3';\n/**\n * Class definition\n */\n\nvar BaseComponent = /*#__PURE__*/function (_Config) {\n _inherits(BaseComponent, _Config);\n\n var _super = _createSuper(BaseComponent);\n\n function BaseComponent(element, config) {\n var _this;\n\n _classCallCheck(this, BaseComponent);\n\n _this = _super.call(this);\n element = getElement(element);\n\n if (!element) {\n return _possibleConstructorReturn(_this);\n }\n\n _this._element = element;\n _this._config = _this._getConfig(config);\n Data.set(_this._element, _this.constructor.DATA_KEY, _assertThisInitialized(_this));\n return _this;\n } // Public\n\n\n _createClass(BaseComponent, [{\n key: \"dispose\",\n value: function dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n\n var _iterator4 = _createForOfIteratorHelper(Object.getOwnPropertyNames(this)),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var propertyName = _step4.value;\n this[propertyName] = null;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }, {\n key: \"_queueCallback\",\n value: function _queueCallback(callback, element) {\n var isAnimated = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n executeAfterTransition(callback, element, isAnimated);\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n } // Static\n\n }], [{\n key: \"getInstance\",\n value: function getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n }, {\n key: \"getOrCreateInstance\",\n value: function getOrCreateInstance(element) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.getInstance(element) || new this(element, _typeof(config) === 'object' ? config : null);\n }\n }, {\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return \"bs.\".concat(this.NAME);\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return \".\".concat(this.DATA_KEY);\n }\n }, {\n key: \"eventName\",\n value: function eventName(name) {\n return \"\".concat(name).concat(this.EVENT_KEY);\n }\n }]);\n\n return BaseComponent;\n}(Config);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\nvar enableDismissTrigger = function enableDismissTrigger(component) {\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'hide';\n var clickEvent = \"click.dismiss\".concat(component.EVENT_KEY);\n var name = component.NAME;\n EventHandler.on(document, clickEvent, \"[data-bs-dismiss=\\\"\".concat(name, \"\\\"]\"), function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n var target = getElementFromSelector(this) || this.closest(\".\".concat(name));\n var instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$f = 'alert';\nvar DATA_KEY$a = 'bs.alert';\nvar EVENT_KEY$b = \".\".concat(DATA_KEY$a);\nvar EVENT_CLOSE = \"close\".concat(EVENT_KEY$b);\nvar EVENT_CLOSED = \"closed\".concat(EVENT_KEY$b);\nvar CLASS_NAME_FADE$5 = 'fade';\nvar CLASS_NAME_SHOW$8 = 'show';\n/**\n * Class definition\n */\n\nvar Alert = /*#__PURE__*/function (_BaseComponent) {\n _inherits(Alert, _BaseComponent);\n\n var _super2 = _createSuper(Alert);\n\n function Alert() {\n _classCallCheck(this, Alert);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(Alert, [{\n key: \"close\",\n value: // Public\n function close() {\n var _this2 = this;\n\n var closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n\n if (closeEvent.defaultPrevented) {\n return;\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n\n var isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(function () {\n return _this2._destroyElement();\n }, this._element, isAnimated);\n } // Private\n\n }, {\n key: \"_destroyElement\",\n value: function _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\n }], [{\n key: \"NAME\",\n get: // Getters\n function get() {\n return NAME$f;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Alert.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n });\n }\n }]);\n\n return Alert;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$e = 'button';\nvar DATA_KEY$9 = 'bs.button';\nvar EVENT_KEY$a = \".\".concat(DATA_KEY$9);\nvar DATA_API_KEY$6 = '.data-api';\nvar CLASS_NAME_ACTIVE$3 = 'active';\nvar SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nvar EVENT_CLICK_DATA_API$6 = \"click\".concat(EVENT_KEY$a).concat(DATA_API_KEY$6);\n/**\n * Class definition\n */\n\nvar Button = /*#__PURE__*/function (_BaseComponent2) {\n _inherits(Button, _BaseComponent2);\n\n var _super3 = _createSuper(Button);\n\n function Button() {\n _classCallCheck(this, Button);\n\n return _super3.apply(this, arguments);\n }\n\n _createClass(Button, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n } // Static\n\n }], [{\n key: \"NAME\",\n get: // Getters\n function get() {\n return NAME$e;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Button.getOrCreateInstance(this);\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n }]);\n\n return Button;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {\n event.preventDefault();\n var button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n var data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar SelectorEngine = {\n find: function find(selector) {\n var _ref4;\n\n var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n return (_ref4 = []).concat.apply(_ref4, _toConsumableArray(Element.prototype.querySelectorAll.call(element, selector)));\n },\n findOne: function findOne(selector) {\n var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n return Element.prototype.querySelector.call(element, selector);\n },\n children: function children(element, selector) {\n var _ref5;\n\n return (_ref5 = []).concat.apply(_ref5, _toConsumableArray(element.children)).filter(function (child) {\n return child.matches(selector);\n });\n },\n parents: function parents(element, selector) {\n var parents = [];\n var ancestor = element.parentNode.closest(selector);\n\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n\n return parents;\n },\n prev: function prev(element, selector) {\n var previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next: function next(element, selector) {\n var next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n focusableChildren: function focusableChildren(element) {\n var focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(function (selector) {\n return \"\".concat(selector, \":not([tabindex^=\\\"-\\\"])\");\n }).join(',');\n return this.find(focusables, element).filter(function (el) {\n return !isDisabled(el) && isVisible(el);\n });\n }\n};\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$d = 'swipe';\nvar EVENT_KEY$9 = '.bs.swipe';\nvar EVENT_TOUCHSTART = \"touchstart\".concat(EVENT_KEY$9);\nvar EVENT_TOUCHMOVE = \"touchmove\".concat(EVENT_KEY$9);\nvar EVENT_TOUCHEND = \"touchend\".concat(EVENT_KEY$9);\nvar EVENT_POINTERDOWN = \"pointerdown\".concat(EVENT_KEY$9);\nvar EVENT_POINTERUP = \"pointerup\".concat(EVENT_KEY$9);\nvar POINTER_TYPE_TOUCH = 'touch';\nvar POINTER_TYPE_PEN = 'pen';\nvar CLASS_NAME_POINTER_EVENT = 'pointer-event';\nvar SWIPE_THRESHOLD = 40;\nvar Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nvar DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n/**\n * Class definition\n */\n\nvar Swipe = /*#__PURE__*/function (_Config2) {\n _inherits(Swipe, _Config2);\n\n var _super4 = _createSuper(Swipe);\n\n function Swipe(element, config) {\n var _this3;\n\n _classCallCheck(this, Swipe);\n\n _this3 = _super4.call(this);\n _this3._element = element;\n\n if (!element || !Swipe.isSupported()) {\n return _possibleConstructorReturn(_this3);\n }\n\n _this3._config = _this3._getConfig(config);\n _this3._deltaX = 0;\n _this3._supportPointerEvents = Boolean(window.PointerEvent);\n\n _this3._initEvents();\n\n return _this3;\n } // Getters\n\n\n _createClass(Swipe, [{\n key: \"dispose\",\n value: // Public\n function dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n } // Private\n\n }, {\n key: \"_start\",\n value: function _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n }, {\n key: \"_end\",\n value: function _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n\n this._handleSwipe();\n\n execute(this._config.endCallback);\n }\n }, {\n key: \"_move\",\n value: function _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n }, {\n key: \"_handleSwipe\",\n value: function _handleSwipe() {\n var absDeltaX = Math.abs(this._deltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n\n if (!direction) {\n return;\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n }, {\n key: \"_initEvents\",\n value: function _initEvents() {\n var _this4 = this;\n\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {\n return _this4._start(event);\n });\n EventHandler.on(this._element, EVENT_POINTERUP, function (event) {\n return _this4._end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {\n return _this4._start(event);\n });\n EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {\n return _this4._move(event);\n });\n EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {\n return _this4._end(event);\n });\n }\n }\n }, {\n key: \"_eventIsPointerPenTouch\",\n value: function _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$c;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$c;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$d;\n }\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n }]);\n\n return Swipe;\n}(Config);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$c = 'carousel';\nvar DATA_KEY$8 = 'bs.carousel';\nvar EVENT_KEY$8 = \".\".concat(DATA_KEY$8);\nvar DATA_API_KEY$5 = '.data-api';\nvar ARROW_LEFT_KEY$1 = 'ArrowLeft';\nvar ARROW_RIGHT_KEY$1 = 'ArrowRight';\nvar TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nvar ORDER_NEXT = 'next';\nvar ORDER_PREV = 'prev';\nvar DIRECTION_LEFT = 'left';\nvar DIRECTION_RIGHT = 'right';\nvar EVENT_SLIDE = \"slide\".concat(EVENT_KEY$8);\nvar EVENT_SLID = \"slid\".concat(EVENT_KEY$8);\nvar EVENT_KEYDOWN$1 = \"keydown\".concat(EVENT_KEY$8);\nvar EVENT_MOUSEENTER$1 = \"mouseenter\".concat(EVENT_KEY$8);\nvar EVENT_MOUSELEAVE$1 = \"mouseleave\".concat(EVENT_KEY$8);\nvar EVENT_DRAG_START = \"dragstart\".concat(EVENT_KEY$8);\nvar EVENT_LOAD_DATA_API$3 = \"load\".concat(EVENT_KEY$8).concat(DATA_API_KEY$5);\nvar EVENT_CLICK_DATA_API$5 = \"click\".concat(EVENT_KEY$8).concat(DATA_API_KEY$5);\nvar CLASS_NAME_CAROUSEL = 'carousel';\nvar CLASS_NAME_ACTIVE$2 = 'active';\nvar CLASS_NAME_SLIDE = 'slide';\nvar CLASS_NAME_END = 'carousel-item-end';\nvar CLASS_NAME_START = 'carousel-item-start';\nvar CLASS_NAME_NEXT = 'carousel-item-next';\nvar CLASS_NAME_PREV = 'carousel-item-prev';\nvar SELECTOR_ACTIVE = '.active';\nvar SELECTOR_ITEM = '.carousel-item';\nvar SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nvar SELECTOR_ITEM_IMG = '.carousel-item img';\nvar SELECTOR_INDICATORS = '.carousel-indicators';\nvar SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nvar SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nvar KEY_TO_DIRECTION = (_KEY_TO_DIRECTION = {}, _defineProperty(_KEY_TO_DIRECTION, ARROW_LEFT_KEY$1, DIRECTION_RIGHT), _defineProperty(_KEY_TO_DIRECTION, ARROW_RIGHT_KEY$1, DIRECTION_LEFT), _KEY_TO_DIRECTION);\nvar Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nvar DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n/**\n * Class definition\n */\n\nvar Carousel = /*#__PURE__*/function (_BaseComponent3) {\n _inherits(Carousel, _BaseComponent3);\n\n var _super5 = _createSuper(Carousel);\n\n function Carousel(element, config) {\n var _this5;\n\n _classCallCheck(this, Carousel);\n\n _this5 = _super5.call(this, element, config);\n _this5._interval = null;\n _this5._activeElement = null;\n _this5._isSliding = false;\n _this5.touchTimeout = null;\n _this5._swipeHelper = null;\n _this5._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, _this5._element);\n\n _this5._addEventListeners();\n\n if (_this5._config.ride === CLASS_NAME_CAROUSEL) {\n _this5.cycle();\n }\n\n return _this5;\n } // Getters\n\n\n _createClass(Carousel, [{\n key: \"next\",\n value: // Public\n function next() {\n this._slide(ORDER_NEXT);\n }\n }, {\n key: \"nextWhenVisible\",\n value: function nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this._slide(ORDER_PREV);\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n\n this._clearInterval();\n }\n }, {\n key: \"cycle\",\n value: function cycle() {\n var _this6 = this;\n\n this._clearInterval();\n\n this._updateInterval();\n\n this._interval = setInterval(function () {\n return _this6.nextWhenVisible();\n }, this._config.interval);\n }\n }, {\n key: \"_maybeEnableCycle\",\n value: function _maybeEnableCycle() {\n var _this7 = this;\n\n if (!this._config.ride) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, function () {\n return _this7.cycle();\n });\n return;\n }\n\n this.cycle();\n }\n }, {\n key: \"to\",\n value: function to(index) {\n var _this8 = this;\n\n var items = this._getItems();\n\n if (index > items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, function () {\n return _this8.to(index);\n });\n return;\n }\n\n var activeIndex = this._getItemIndex(this._getActive());\n\n if (activeIndex === index) {\n return;\n }\n\n var order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, items[index]);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n\n _get(_getPrototypeOf(Carousel.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this9 = this;\n\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, function (event) {\n return _this9._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, function () {\n return _this9.pause();\n });\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, function () {\n return _this9._maybeEnableCycle();\n });\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n }, {\n key: \"_addTouchEventListeners\",\n value: function _addTouchEventListeners() {\n var _this10 = this;\n\n var _iterator5 = _createForOfIteratorHelper(SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var img = _step5.value;\n EventHandler.on(img, EVENT_DRAG_START, function (event) {\n return event.preventDefault();\n });\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n var endCallBack = function endCallBack() {\n if (_this10._config.pause !== 'hover') {\n return;\n } // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n\n _this10.pause();\n\n if (_this10.touchTimeout) {\n clearTimeout(_this10.touchTimeout);\n }\n\n _this10.touchTimeout = setTimeout(function () {\n return _this10._maybeEnableCycle();\n }, TOUCHEVENT_COMPAT_WAIT + _this10._config.interval);\n };\n\n var swipeConfig = {\n leftCallback: function leftCallback() {\n return _this10._slide(_this10._directionToOrder(DIRECTION_LEFT));\n },\n rightCallback: function rightCallback() {\n return _this10._slide(_this10._directionToOrder(DIRECTION_RIGHT));\n },\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n }, {\n key: \"_keydown\",\n value: function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n var direction = KEY_TO_DIRECTION[event.key];\n\n if (direction) {\n event.preventDefault();\n\n this._slide(this._directionToOrder(direction));\n }\n }\n }, {\n key: \"_getItemIndex\",\n value: function _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n }, {\n key: \"_setActiveIndicatorElement\",\n value: function _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n\n var activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n var newActiveIndicator = SelectorEngine.findOne(\"[data-bs-slide-to=\\\"\".concat(index, \"\\\"]\"), this._indicatorsElement);\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n }, {\n key: \"_updateInterval\",\n value: function _updateInterval() {\n var element = this._activeElement || this._getActive();\n\n if (!element) {\n return;\n }\n\n var elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n }, {\n key: \"_slide\",\n value: function _slide(order) {\n var _this11 = this;\n\n var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (this._isSliding) {\n return;\n }\n\n var activeElement = this._getActive();\n\n var isNext = order === ORDER_NEXT;\n var nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n\n if (nextElement === activeElement) {\n return;\n }\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var triggerEvent = function triggerEvent(eventName) {\n return EventHandler.trigger(_this11._element, eventName, {\n relatedTarget: nextElement,\n direction: _this11._orderToDirection(order),\n from: _this11._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n\n var slideEvent = triggerEvent(EVENT_SLIDE);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return;\n }\n\n var isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n\n this._setActiveIndicatorElement(nextElementIndex);\n\n this._activeElement = nextElement;\n var directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n var orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n\n var completeCallBack = function completeCallBack() {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n _this11._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n\n if (isCycling) {\n this.cycle();\n }\n }\n }, {\n key: \"_isAnimated\",\n value: function _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n }, {\n key: \"_getActive\",\n value: function _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n }, {\n key: \"_getItems\",\n value: function _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n }, {\n key: \"_clearInterval\",\n value: function _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n }, {\n key: \"_directionToOrder\",\n value: function _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n }, {\n key: \"_orderToDirection\",\n value: function _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$b;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$b;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$c;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Carousel.getOrCreateInstance(this, config);\n\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Carousel;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n var target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n event.preventDefault();\n var carousel = Carousel.getOrCreateInstance(target);\n var slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n carousel.to(slideIndex);\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n carousel.prev();\n\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, function () {\n var carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n var _iterator6 = _createForOfIteratorHelper(carousels),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var carousel = _step6.value;\n Carousel.getOrCreateInstance(carousel);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$b = 'collapse';\nvar DATA_KEY$7 = 'bs.collapse';\nvar EVENT_KEY$7 = \".\".concat(DATA_KEY$7);\nvar DATA_API_KEY$4 = '.data-api';\nvar EVENT_SHOW$6 = \"show\".concat(EVENT_KEY$7);\nvar EVENT_SHOWN$6 = \"shown\".concat(EVENT_KEY$7);\nvar EVENT_HIDE$6 = \"hide\".concat(EVENT_KEY$7);\nvar EVENT_HIDDEN$6 = \"hidden\".concat(EVENT_KEY$7);\nvar EVENT_CLICK_DATA_API$4 = \"click\".concat(EVENT_KEY$7).concat(DATA_API_KEY$4);\nvar CLASS_NAME_SHOW$7 = 'show';\nvar CLASS_NAME_COLLAPSE = 'collapse';\nvar CLASS_NAME_COLLAPSING = 'collapsing';\nvar CLASS_NAME_COLLAPSED = 'collapsed';\nvar CLASS_NAME_DEEPER_CHILDREN = \":scope .\".concat(CLASS_NAME_COLLAPSE, \" .\").concat(CLASS_NAME_COLLAPSE);\nvar CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nvar WIDTH = 'width';\nvar HEIGHT = 'height';\nvar SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nvar SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nvar Default$a = {\n parent: null,\n toggle: true\n};\nvar DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n/**\n * Class definition\n */\n\nvar Collapse = /*#__PURE__*/function (_BaseComponent4) {\n _inherits(Collapse, _BaseComponent4);\n\n var _super6 = _createSuper(Collapse);\n\n function Collapse(element, config) {\n var _this12;\n\n _classCallCheck(this, Collapse);\n\n _this12 = _super6.call(this, element, config);\n _this12._isTransitioning = false;\n _this12._triggerArray = [];\n var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n var _iterator7 = _createForOfIteratorHelper(toggleList),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var elem = _step7.value;\n var selector = getSelectorFromElement(elem);\n var filterElement = SelectorEngine.find(selector).filter(function (foundElement) {\n return foundElement === _this12._element;\n });\n\n if (selector !== null && filterElement.length) {\n _this12._triggerArray.push(elem);\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n _this12._initializeChildren();\n\n if (!_this12._config.parent) {\n _this12._addAriaAndCollapsedClass(_this12._triggerArray, _this12._isShown());\n }\n\n if (_this12._config.toggle) {\n _this12.toggle();\n }\n\n return _this12;\n } // Getters\n\n\n _createClass(Collapse, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this13 = this;\n\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n\n var activeChildren = []; // find active children\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(function (element) {\n return element !== _this13._element;\n }).map(function (element) {\n return Collapse.getOrCreateInstance(element, {\n toggle: false\n });\n });\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n\n var startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n var _iterator8 = _createForOfIteratorHelper(activeChildren),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var activeInstance = _step8.value;\n activeInstance.hide();\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n var dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n var complete = function complete() {\n _this13._isTransitioning = false;\n\n _this13._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n _this13._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n _this13._element.style[dimension] = '';\n EventHandler.trigger(_this13._element, EVENT_SHOWN$6);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\".concat(capitalizedDimension);\n\n this._queueCallback(complete, this._element, true);\n\n this._element.style[dimension] = \"\".concat(this._element[scrollSize], \"px\");\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this14 = this;\n\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n\n var startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = \"\".concat(this._element.getBoundingClientRect()[dimension], \"px\");\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n var _iterator9 = _createForOfIteratorHelper(this._triggerArray),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var trigger = _step9.value;\n var element = getElementFromSelector(trigger);\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._isTransitioning = true;\n\n var complete = function complete() {\n _this14._isTransitioning = false;\n\n _this14._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n _this14._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(_this14._element, EVENT_HIDDEN$6);\n };\n\n this._element.style[dimension] = '';\n\n this._queueCallback(complete, this._element, true);\n }\n }, {\n key: \"_isShown\",\n value: function _isShown() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._element;\n return element.classList.contains(CLASS_NAME_SHOW$7);\n } // Private\n\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\n return config;\n }\n }, {\n key: \"_getDimension\",\n value: function _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n }, {\n key: \"_initializeChildren\",\n value: function _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n\n var children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n\n var _iterator10 = _createForOfIteratorHelper(children),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var element = _step10.value;\n var selected = getElementFromSelector(element);\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n }\n }, {\n key: \"_getFirstLevelChildren\",\n value: function _getFirstLevelChildren(selector) {\n var children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n\n return SelectorEngine.find(selector, this._config.parent).filter(function (element) {\n return !children.includes(element);\n });\n }\n }, {\n key: \"_addAriaAndCollapsedClass\",\n value: function _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n var _iterator11 = _createForOfIteratorHelper(triggerArray),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var element = _step11.value;\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$a;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$a;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$b;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n var _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n return this.each(function () {\n var data = Collapse.getOrCreateInstance(this, _config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n }\n });\n }\n }]);\n\n return Collapse;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var selector = getSelectorFromElement(this);\n var selectorElements = SelectorEngine.find(selector);\n\n var _iterator12 = _createForOfIteratorHelper(selectorElements),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var element = _step12.value;\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$a = 'dropdown';\nvar DATA_KEY$6 = 'bs.dropdown';\nvar EVENT_KEY$6 = \".\".concat(DATA_KEY$6);\nvar DATA_API_KEY$3 = '.data-api';\nvar ESCAPE_KEY$2 = 'Escape';\nvar TAB_KEY$1 = 'Tab';\nvar ARROW_UP_KEY$1 = 'ArrowUp';\nvar ARROW_DOWN_KEY$1 = 'ArrowDown';\nvar RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nvar EVENT_HIDE$5 = \"hide\".concat(EVENT_KEY$6);\nvar EVENT_HIDDEN$5 = \"hidden\".concat(EVENT_KEY$6);\nvar EVENT_SHOW$5 = \"show\".concat(EVENT_KEY$6);\nvar EVENT_SHOWN$5 = \"shown\".concat(EVENT_KEY$6);\nvar EVENT_CLICK_DATA_API$3 = \"click\".concat(EVENT_KEY$6).concat(DATA_API_KEY$3);\nvar EVENT_KEYDOWN_DATA_API = \"keydown\".concat(EVENT_KEY$6).concat(DATA_API_KEY$3);\nvar EVENT_KEYUP_DATA_API = \"keyup\".concat(EVENT_KEY$6).concat(DATA_API_KEY$3);\nvar CLASS_NAME_SHOW$6 = 'show';\nvar CLASS_NAME_DROPUP = 'dropup';\nvar CLASS_NAME_DROPEND = 'dropend';\nvar CLASS_NAME_DROPSTART = 'dropstart';\nvar CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nvar CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nvar SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nvar SELECTOR_DATA_TOGGLE_SHOWN = \"\".concat(SELECTOR_DATA_TOGGLE$3, \".\").concat(CLASS_NAME_SHOW$6);\nvar SELECTOR_MENU = '.dropdown-menu';\nvar SELECTOR_NAVBAR = '.navbar';\nvar SELECTOR_NAVBAR_NAV = '.navbar-nav';\nvar SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nvar PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nvar PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nvar PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nvar PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nvar PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nvar PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nvar PLACEMENT_TOPCENTER = 'top';\nvar PLACEMENT_BOTTOMCENTER = 'bottom';\nvar Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nvar DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n/**\n * Class definition\n */\n\nvar Dropdown = /*#__PURE__*/function (_BaseComponent5) {\n _inherits(Dropdown, _BaseComponent5);\n\n var _super7 = _createSuper(Dropdown);\n\n function Dropdown(element, config) {\n var _this15;\n\n _classCallCheck(this, Dropdown);\n\n _this15 = _super7.call(this, element, config);\n _this15._popper = null;\n _this15._parent = _this15._element.parentNode; // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n _this15._menu = SelectorEngine.next(_this15._element, SELECTOR_MENU)[0] || SelectorEngine.prev(_this15._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, _this15._parent);\n _this15._inNavbar = _this15._detectNavbar();\n return _this15;\n } // Getters\n\n\n _createClass(Dropdown, [{\n key: \"toggle\",\n value: // Public\n function toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n }, {\n key: \"show\",\n value: function show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._createPopper(); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n var _ref6;\n\n var _iterator13 = _createForOfIteratorHelper((_ref6 = []).concat.apply(_ref6, _toConsumableArray(document.body.children))),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var element = _step13.value;\n EventHandler.on(element, 'mouseover', noop);\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n\n this._completeHide(relatedTarget);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n\n _get(_getPrototypeOf(Dropdown.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"update\",\n value: function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n }, {\n key: \"_completeHide\",\n value: function _completeHide(relatedTarget) {\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n var _ref7;\n\n var _iterator14 = _createForOfIteratorHelper((_ref7 = []).concat.apply(_ref7, _toConsumableArray(document.body.children))),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var element = _step14.value;\n EventHandler.off(element, 'mouseover', noop);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n config = _get(_getPrototypeOf(Dropdown.prototype), \"_getConfig\", this).call(this, config);\n\n if (_typeof(config.reference) === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(\"\".concat(NAME$a.toUpperCase(), \": Option \\\"reference\\\" provided type \\\"object\\\" without a required \\\"getBoundingClientRect\\\" method.\"));\n }\n\n return config;\n }\n }, {\n key: \"_createPopper\",\n value: function _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (_typeof(this._config.reference) === 'object') {\n referenceElement = this._config.reference;\n }\n\n var popperConfig = this._getPopperConfig();\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n }, {\n key: \"_isShown\",\n value: function _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n }, {\n key: \"_getPlacement\",\n value: function _getPlacement() {\n var parentDropdown = this._parent;\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n\n\n var isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n }, {\n key: \"_detectNavbar\",\n value: function _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n }, {\n key: \"_getOffset\",\n value: function _getOffset() {\n var _this16 = this;\n\n var offset = this._config.offset;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(function (value) {\n return Number.parseInt(value, 10);\n });\n }\n\n if (typeof offset === 'function') {\n return function (popperData) {\n return offset(popperData, _this16._element);\n };\n }\n\n return offset;\n }\n }, {\n key: \"_getPopperConfig\",\n value: function _getPopperConfig() {\n var defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display or Dropdown is in Navbar\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);\n }\n }, {\n key: \"_selectMenuItem\",\n value: function _selectMenuItem(_ref8) {\n var key = _ref8.key,\n target = _ref8.target;\n var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(function (element) {\n return isVisible(element);\n });\n\n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$9;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$9;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$a;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Dropdown.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }, {\n key: \"clearMenus\",\n value: function clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n\n var openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n\n var _iterator15 = _createForOfIteratorHelper(openToggles),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var toggle = _step15.value;\n var context = Dropdown.getInstance(toggle);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n var composedPath = event.composedPath();\n var isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n var relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n context._completeHide(relatedTarget);\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n }\n }, {\n key: \"dataApiKeydownHandler\",\n value: function dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n var isInput = /input|textarea/i.test(event.target.tagName);\n var isEscapeEvent = event.key === ESCAPE_KEY$2;\n var isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n\n if (isInput && !isEscapeEvent) {\n return;\n }\n\n event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n var getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n var instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n }]);\n\n return Dropdown;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nvar SELECTOR_STICKY_CONTENT = '.sticky-top';\nvar PROPERTY_PADDING = 'padding-right';\nvar PROPERTY_MARGIN = 'margin-right';\n/**\n * Class definition\n */\n\nvar ScrollBarHelper = /*#__PURE__*/function () {\n function ScrollBarHelper() {\n _classCallCheck(this, ScrollBarHelper);\n\n this._element = document.body;\n } // Public\n\n\n _createClass(ScrollBarHelper, [{\n key: \"getWidth\",\n value: function getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n var documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var width = this.getWidth();\n\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, PROPERTY_PADDING, function (calculatedValue) {\n return calculatedValue + width;\n }); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, function (calculatedValue) {\n return calculatedValue + width;\n });\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, function (calculatedValue) {\n return calculatedValue - width;\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n }, {\n key: \"isOverflowing\",\n value: function isOverflowing() {\n return this.getWidth() > 0;\n } // Private\n\n }, {\n key: \"_disableOverFlow\",\n value: function _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n }, {\n key: \"_setElementAttributes\",\n value: function _setElementAttributes(selector, styleProperty, callback) {\n var _this17 = this;\n\n var scrollbarWidth = this.getWidth();\n\n var manipulationCallBack = function manipulationCallBack(element) {\n if (element !== _this17._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n _this17._saveInitialAttribute(element, styleProperty);\n\n var calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, \"\".concat(callback(Number.parseFloat(calculatedValue)), \"px\"));\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n }, {\n key: \"_saveInitialAttribute\",\n value: function _saveInitialAttribute(element, styleProperty) {\n var actualValue = element.style.getPropertyValue(styleProperty);\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n }, {\n key: \"_resetElementAttributes\",\n value: function _resetElementAttributes(selector, styleProperty) {\n var manipulationCallBack = function manipulationCallBack(element) {\n var value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero\n\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n }, {\n key: \"_applyManipulationCallback\",\n value: function _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n\n var _iterator16 = _createForOfIteratorHelper(SelectorEngine.find(selector, this._element)),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var sel = _step16.value;\n callBack(sel);\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n }\n }]);\n\n return ScrollBarHelper;\n}();\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$9 = 'backdrop';\nvar CLASS_NAME_FADE$4 = 'fade';\nvar CLASS_NAME_SHOW$5 = 'show';\nvar EVENT_MOUSEDOWN = \"mousedown.bs.\".concat(NAME$9);\nvar Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n\n};\nvar DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n/**\n * Class definition\n */\n\nvar Backdrop = /*#__PURE__*/function (_Config3) {\n _inherits(Backdrop, _Config3);\n\n var _super8 = _createSuper(Backdrop);\n\n function Backdrop(config) {\n var _this18;\n\n _classCallCheck(this, Backdrop);\n\n _this18 = _super8.call(this);\n _this18._config = _this18._getConfig(config);\n _this18._isAppended = false;\n _this18._element = null;\n return _this18;\n } // Getters\n\n\n _createClass(Backdrop, [{\n key: \"show\",\n value: // Public\n function show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n var element = this._getElement();\n\n if (this._config.isAnimated) {\n reflow(element);\n }\n\n element.classList.add(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(function () {\n execute(callback);\n });\n }\n }, {\n key: \"hide\",\n value: function hide(callback) {\n var _this19 = this;\n\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(function () {\n _this19.dispose();\n\n execute(callback);\n });\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (!this._isAppended) {\n return;\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n\n this._element.remove();\n\n this._isAppended = false;\n } // Private\n\n }, {\n key: \"_getElement\",\n value: function _getElement() {\n if (!this._element) {\n var backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n }, {\n key: \"_append\",\n value: function _append() {\n var _this20 = this;\n\n if (this._isAppended) {\n return;\n }\n\n var element = this._getElement();\n\n this._config.rootElement.append(element);\n\n EventHandler.on(element, EVENT_MOUSEDOWN, function () {\n execute(_this20._config.clickCallback);\n });\n this._isAppended = true;\n }\n }, {\n key: \"_emulateAnimation\",\n value: function _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$8;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$8;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$9;\n }\n }]);\n\n return Backdrop;\n}(Config);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$8 = 'focustrap';\nvar DATA_KEY$5 = 'bs.focustrap';\nvar EVENT_KEY$5 = \".\".concat(DATA_KEY$5);\nvar EVENT_FOCUSIN$2 = \"focusin\".concat(EVENT_KEY$5);\nvar EVENT_KEYDOWN_TAB = \"keydown.tab\".concat(EVENT_KEY$5);\nvar TAB_KEY = 'Tab';\nvar TAB_NAV_FORWARD = 'forward';\nvar TAB_NAV_BACKWARD = 'backward';\nvar Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n\n};\nvar DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n/**\n * Class definition\n */\n\nvar FocusTrap = /*#__PURE__*/function (_Config4) {\n _inherits(FocusTrap, _Config4);\n\n var _super9 = _createSuper(FocusTrap);\n\n function FocusTrap(config) {\n var _this21;\n\n _classCallCheck(this, FocusTrap);\n\n _this21 = _super9.call(this);\n _this21._config = _this21._getConfig(config);\n _this21._isActive = false;\n _this21._lastTabNavDirection = null;\n return _this21;\n } // Getters\n\n\n _createClass(FocusTrap, [{\n key: \"activate\",\n value: // Public\n function activate() {\n var _this22 = this;\n\n if (this._isActive) {\n return;\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$2, function (event) {\n return _this22._handleFocusin(event);\n });\n EventHandler.on(document, EVENT_KEYDOWN_TAB, function (event) {\n return _this22._handleKeydown(event);\n });\n this._isActive = true;\n }\n }, {\n key: \"deactivate\",\n value: function deactivate() {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n } // Private\n\n }, {\n key: \"_handleFocusin\",\n value: function _handleFocusin(event) {\n var trapElement = this._config.trapElement;\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n\n var elements = SelectorEngine.focusableChildren(trapElement);\n\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n }, {\n key: \"_handleKeydown\",\n value: function _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$7;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$7;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$8;\n }\n }]);\n\n return FocusTrap;\n}(Config);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$7 = 'modal';\nvar DATA_KEY$4 = 'bs.modal';\nvar EVENT_KEY$4 = \".\".concat(DATA_KEY$4);\nvar DATA_API_KEY$2 = '.data-api';\nvar ESCAPE_KEY$1 = 'Escape';\nvar EVENT_HIDE$4 = \"hide\".concat(EVENT_KEY$4);\nvar EVENT_HIDE_PREVENTED$1 = \"hidePrevented\".concat(EVENT_KEY$4);\nvar EVENT_HIDDEN$4 = \"hidden\".concat(EVENT_KEY$4);\nvar EVENT_SHOW$4 = \"show\".concat(EVENT_KEY$4);\nvar EVENT_SHOWN$4 = \"shown\".concat(EVENT_KEY$4);\nvar EVENT_RESIZE$1 = \"resize\".concat(EVENT_KEY$4);\nvar EVENT_CLICK_DISMISS = \"click.dismiss\".concat(EVENT_KEY$4);\nvar EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\".concat(EVENT_KEY$4);\nvar EVENT_KEYDOWN_DISMISS$1 = \"keydown.dismiss\".concat(EVENT_KEY$4);\nvar EVENT_CLICK_DATA_API$2 = \"click\".concat(EVENT_KEY$4).concat(DATA_API_KEY$2);\nvar CLASS_NAME_OPEN = 'modal-open';\nvar CLASS_NAME_FADE$3 = 'fade';\nvar CLASS_NAME_SHOW$4 = 'show';\nvar CLASS_NAME_STATIC = 'modal-static';\nvar OPEN_SELECTOR$1 = '.modal.show';\nvar SELECTOR_DIALOG = '.modal-dialog';\nvar SELECTOR_MODAL_BODY = '.modal-body';\nvar SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nvar Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nvar DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n/**\n * Class definition\n */\n\nvar Modal = /*#__PURE__*/function (_BaseComponent6) {\n _inherits(Modal, _BaseComponent6);\n\n var _super10 = _createSuper(Modal);\n\n function Modal(element, config) {\n var _this23;\n\n _classCallCheck(this, Modal);\n\n _this23 = _super10.call(this, element, config);\n _this23._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, _this23._element);\n _this23._backdrop = _this23._initializeBackDrop();\n _this23._focustrap = _this23._initializeFocusTrap();\n _this23._isShown = false;\n _this23._isTransitioning = false;\n _this23._scrollBar = new ScrollBarHelper();\n\n _this23._addEventListeners();\n\n return _this23;\n } // Getters\n\n\n _createClass(Modal, [{\n key: \"toggle\",\n value: // Public\n function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: \"show\",\n value: function show(relatedTarget) {\n var _this24 = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget: relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._isTransitioning = true;\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._backdrop.show(function () {\n return _this24._showElement(relatedTarget);\n });\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this25 = this;\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n this._isTransitioning = true;\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n this._queueCallback(function () {\n return _this25._hideModal();\n }, this._element, this._isAnimated());\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n for (var _i7 = 0, _arr2 = [window, this._dialog]; _i7 < _arr2.length; _i7++) {\n var htmlElement = _arr2[_i7];\n EventHandler.off(htmlElement, EVENT_KEY$4);\n }\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n _get(_getPrototypeOf(Modal.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"handleUpdate\",\n value: function handleUpdate() {\n this._adjustDialog();\n } // Private\n\n }, {\n key: \"_initializeBackDrop\",\n value: function _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n }, {\n key: \"_initializeFocusTrap\",\n value: function _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n }, {\n key: \"_showElement\",\n value: function _showElement(relatedTarget) {\n var _this26 = this;\n\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\n\n var transitionComplete = function transitionComplete() {\n if (_this26._config.focus) {\n _this26._focustrap.activate();\n }\n\n _this26._isTransitioning = false;\n EventHandler.trigger(_this26._element, EVENT_SHOWN$4, {\n relatedTarget: relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this27 = this;\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, function (event) {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n\n if (_this27._config.keyboard) {\n event.preventDefault();\n\n _this27.hide();\n\n return;\n }\n\n _this27._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, function () {\n if (_this27._isShown && !_this27._isTransitioning) {\n _this27._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, function (event) {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(_this27._element, EVENT_CLICK_DISMISS, function (event2) {\n if (_this27._element !== event.target || _this27._element !== event2.target) {\n return;\n }\n\n if (_this27._config.backdrop === 'static') {\n _this27._triggerBackdropTransition();\n\n return;\n }\n\n if (_this27._config.backdrop) {\n _this27.hide();\n }\n });\n });\n }\n }, {\n key: \"_hideModal\",\n value: function _hideModal() {\n var _this28 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(function () {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n _this28._resetAdjustments();\n\n _this28._scrollBar.reset();\n\n EventHandler.trigger(_this28._element, EVENT_HIDDEN$4);\n });\n }\n }, {\n key: \"_isAnimated\",\n value: function _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n }, {\n key: \"_triggerBackdropTransition\",\n value: function _triggerBackdropTransition() {\n var _this29 = this;\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n var initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(function () {\n _this29._element.classList.remove(CLASS_NAME_STATIC);\n\n _this29._queueCallback(function () {\n _this29._element.style.overflowY = initialOverflowY;\n }, _this29._dialog);\n }, this._dialog);\n\n this._element.focus();\n }\n /**\n * The following methods are used to handle overflowing modals\n */\n\n }, {\n key: \"_adjustDialog\",\n value: function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n var scrollbarWidth = this._scrollBar.getWidth();\n\n var isBodyOverflowing = scrollbarWidth > 0;\n\n if (isBodyOverflowing && !isModalOverflowing) {\n var property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = \"\".concat(scrollbarWidth, \"px\");\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n var _property = isRTL() ? 'paddingRight' : 'paddingLeft';\n\n this._element.style[_property] = \"\".concat(scrollbarWidth, \"px\");\n }\n }\n }, {\n key: \"_resetAdjustments\",\n value: function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$6;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$6;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$7;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = Modal.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](relatedTarget);\n });\n }\n }]);\n\n return Modal;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n var _this30 = this;\n\n var target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n EventHandler.one(target, EVENT_SHOW$4, function (showEvent) {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$4, function () {\n if (isVisible(_this30)) {\n _this30.focus();\n }\n });\n }); // avoid conflict when clicking modal toggler while another one is open\n\n var alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n\n var data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$6 = 'offcanvas';\nvar DATA_KEY$3 = 'bs.offcanvas';\nvar EVENT_KEY$3 = \".\".concat(DATA_KEY$3);\nvar DATA_API_KEY$1 = '.data-api';\nvar EVENT_LOAD_DATA_API$2 = \"load\".concat(EVENT_KEY$3).concat(DATA_API_KEY$1);\nvar ESCAPE_KEY = 'Escape';\nvar CLASS_NAME_SHOW$3 = 'show';\nvar CLASS_NAME_SHOWING$1 = 'showing';\nvar CLASS_NAME_HIDING = 'hiding';\nvar CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nvar OPEN_SELECTOR = '.offcanvas.show';\nvar EVENT_SHOW$3 = \"show\".concat(EVENT_KEY$3);\nvar EVENT_SHOWN$3 = \"shown\".concat(EVENT_KEY$3);\nvar EVENT_HIDE$3 = \"hide\".concat(EVENT_KEY$3);\nvar EVENT_HIDE_PREVENTED = \"hidePrevented\".concat(EVENT_KEY$3);\nvar EVENT_HIDDEN$3 = \"hidden\".concat(EVENT_KEY$3);\nvar EVENT_RESIZE = \"resize\".concat(EVENT_KEY$3);\nvar EVENT_CLICK_DATA_API$1 = \"click\".concat(EVENT_KEY$3).concat(DATA_API_KEY$1);\nvar EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\".concat(EVENT_KEY$3);\nvar SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nvar Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nvar DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n/**\n * Class definition\n */\n\nvar Offcanvas = /*#__PURE__*/function (_BaseComponent7) {\n _inherits(Offcanvas, _BaseComponent7);\n\n var _super11 = _createSuper(Offcanvas);\n\n function Offcanvas(element, config) {\n var _this31;\n\n _classCallCheck(this, Offcanvas);\n\n _this31 = _super11.call(this, element, config);\n _this31._isShown = false;\n _this31._backdrop = _this31._initializeBackDrop();\n _this31._focustrap = _this31._initializeFocusTrap();\n\n _this31._addEventListeners();\n\n return _this31;\n } // Getters\n\n\n _createClass(Offcanvas, [{\n key: \"toggle\",\n value: // Public\n function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: \"show\",\n value: function show(relatedTarget) {\n var _this32 = this;\n\n if (this._isShown) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget: relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n\n var completeCallBack = function completeCallBack() {\n if (!_this32._config.scroll || _this32._config.backdrop) {\n _this32._focustrap.activate();\n }\n\n _this32._element.classList.add(CLASS_NAME_SHOW$3);\n\n _this32._element.classList.remove(CLASS_NAME_SHOWING$1);\n\n EventHandler.trigger(_this32._element, EVENT_SHOWN$3, {\n relatedTarget: relatedTarget\n });\n };\n\n this._queueCallback(completeCallBack, this._element, true);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this33 = this;\n\n if (!this._isShown) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.add(CLASS_NAME_HIDING);\n\n this._backdrop.hide();\n\n var completeCallback = function completeCallback() {\n _this33._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n\n _this33._element.removeAttribute('aria-modal');\n\n _this33._element.removeAttribute('role');\n\n if (!_this33._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(_this33._element, EVENT_HIDDEN$3);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n _get(_getPrototypeOf(Offcanvas.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_initializeBackDrop\",\n value: function _initializeBackDrop() {\n var _this34 = this;\n\n var clickCallback = function clickCallback() {\n if (_this34._config.backdrop === 'static') {\n EventHandler.trigger(_this34._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n _this34.hide();\n }; // 'static' option will be translated to true, and booleans will keep their value\n\n\n var isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n }, {\n key: \"_initializeFocusTrap\",\n value: function _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n }, {\n key: \"_addEventListeners\",\n value: function _addEventListeners() {\n var _this35 = this;\n\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n\n if (!_this35._config.keyboard) {\n EventHandler.trigger(_this35._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n _this35.hide();\n });\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$5;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Offcanvas.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n });\n }\n }]);\n\n return Offcanvas;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n var _this36 = this;\n\n var target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$3, function () {\n // focus on trigger when it is closed\n if (isVisible(_this36)) {\n _this36.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n var alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n\n var data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, function () {\n var _iterator17 = _createForOfIteratorHelper(SelectorEngine.find(OPEN_SELECTOR)),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var selector = _step17.value;\n Offcanvas.getOrCreateInstance(selector).show();\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, function () {\n var _iterator18 = _createForOfIteratorHelper(SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var element = _step18.value;\n\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n});\nenableDismissTrigger(Offcanvas);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nvar ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nvar SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nvar DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\nvar allowedAttribute = function allowedAttribute(attribute, allowedAttributeList) {\n var attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n } // Check if a regular expression validates the attribute.\n\n\n return allowedAttributeList.filter(function (attributeRegex) {\n return attributeRegex instanceof RegExp;\n }).some(function (regex) {\n return regex.test(attributeName);\n });\n};\n\nvar DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n var _ref9;\n\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n\n var elements = (_ref9 = []).concat.apply(_ref9, _toConsumableArray(createdDocument.body.querySelectorAll('*')));\n\n var _iterator19 = _createForOfIteratorHelper(elements),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var _ref10;\n\n var element = _step19.value;\n var elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n\n var attributeList = (_ref10 = []).concat.apply(_ref10, _toConsumableArray(element.attributes));\n\n var allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n\n var _iterator20 = _createForOfIteratorHelper(attributeList),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var attribute = _step20.value;\n\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n return createdDocument.body.innerHTML;\n}\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$5 = 'TemplateFactory';\nvar Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n};\nvar DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nvar DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n/**\n * Class definition\n */\n\nvar TemplateFactory = /*#__PURE__*/function (_Config5) {\n _inherits(TemplateFactory, _Config5);\n\n var _super12 = _createSuper(TemplateFactory);\n\n function TemplateFactory(config) {\n var _this37;\n\n _classCallCheck(this, TemplateFactory);\n\n _this37 = _super12.call(this);\n _this37._config = _this37._getConfig(config);\n return _this37;\n } // Getters\n\n\n _createClass(TemplateFactory, [{\n key: \"getContent\",\n value: // Public\n function getContent() {\n var _this38 = this;\n\n return Object.values(this._config.content).map(function (config) {\n return _this38._resolvePossibleFunction(config);\n }).filter(Boolean);\n }\n }, {\n key: \"hasContent\",\n value: function hasContent() {\n return this.getContent().length > 0;\n }\n }, {\n key: \"changeContent\",\n value: function changeContent(content) {\n this._checkContent(content);\n\n this._config.content = _objectSpread(_objectSpread({}, this._config.content), content);\n return this;\n }\n }, {\n key: \"toHtml\",\n value: function toHtml() {\n var templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n\n for (var _i8 = 0, _Object$entries2 = Object.entries(this._config.content); _i8 < _Object$entries2.length; _i8++) {\n var _ref13 = _Object$entries2[_i8];\n\n var _ref12 = _slicedToArray(_ref13, 2);\n\n var selector = _ref12[0];\n var text = _ref12[1];\n\n this._setContent(templateWrapper, text, selector);\n }\n\n var template = templateWrapper.children[0];\n\n var extraClass = this._resolvePossibleFunction(this._config.extraClass);\n\n if (extraClass) {\n var _template$classList;\n\n (_template$classList = template.classList).add.apply(_template$classList, _toConsumableArray(extraClass.split(' ')));\n }\n\n return template;\n } // Private\n\n }, {\n key: \"_typeCheckConfig\",\n value: function _typeCheckConfig(config) {\n _get(_getPrototypeOf(TemplateFactory.prototype), \"_typeCheckConfig\", this).call(this, config);\n\n this._checkContent(config.content);\n }\n }, {\n key: \"_checkContent\",\n value: function _checkContent(arg) {\n for (var _i9 = 0, _Object$entries3 = Object.entries(arg); _i9 < _Object$entries3.length; _i9++) {\n var _ref16 = _Object$entries3[_i9];\n\n var _ref15 = _slicedToArray(_ref16, 2);\n\n var selector = _ref15[0];\n var content = _ref15[1];\n\n _get(_getPrototypeOf(TemplateFactory.prototype), \"_typeCheckConfig\", this).call(this, {\n selector: selector,\n entry: content\n }, DefaultContentType);\n }\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(template, content, selector) {\n var templateElement = SelectorEngine.findOne(selector, template);\n\n if (!templateElement) {\n return;\n }\n\n content = this._resolvePossibleFunction(content);\n\n if (!content) {\n templateElement.remove();\n return;\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n\n return;\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n\n templateElement.textContent = content;\n }\n }, {\n key: \"_maybeSanitize\",\n value: function _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n }, {\n key: \"_resolvePossibleFunction\",\n value: function _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg;\n }\n }, {\n key: \"_putElementInTemplate\",\n value: function _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n\n templateElement.textContent = element.textContent;\n }\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$4;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$5;\n }\n }]);\n\n return TemplateFactory;\n}(Config);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\n\nvar NAME$4 = 'tooltip';\nvar DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nvar CLASS_NAME_FADE$2 = 'fade';\nvar CLASS_NAME_MODAL = 'modal';\nvar CLASS_NAME_SHOW$2 = 'show';\nvar SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nvar SELECTOR_MODAL = \".\".concat(CLASS_NAME_MODAL);\nvar EVENT_MODAL_HIDE = 'hide.bs.modal';\nvar TRIGGER_HOVER = 'hover';\nvar TRIGGER_FOCUS = 'focus';\nvar TRIGGER_CLICK = 'click';\nvar TRIGGER_MANUAL = 'manual';\nvar EVENT_HIDE$2 = 'hide';\nvar EVENT_HIDDEN$2 = 'hidden';\nvar EVENT_SHOW$2 = 'show';\nvar EVENT_SHOWN$2 = 'shown';\nvar EVENT_INSERTED = 'inserted';\nvar EVENT_CLICK$1 = 'click';\nvar EVENT_FOCUSIN$1 = 'focusin';\nvar EVENT_FOCUSOUT$1 = 'focusout';\nvar EVENT_MOUSEENTER = 'mouseenter';\nvar EVENT_MOUSELEAVE = 'mouseleave';\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nvar Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' + '<div class=\"tooltip-arrow\"></div>' + '<div class=\"tooltip-inner\"></div>' + '</div>',\n title: '',\n trigger: 'hover focus'\n};\nvar DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n/**\n * Class definition\n */\n\nvar Tooltip = /*#__PURE__*/function (_BaseComponent8) {\n _inherits(Tooltip, _BaseComponent8);\n\n var _super13 = _createSuper(Tooltip);\n\n function Tooltip(element, config) {\n var _this39;\n\n _classCallCheck(this, Tooltip);\n\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n _this39 = _super13.call(this, element, config); // Private\n\n _this39._isEnabled = true;\n _this39._timeout = 0;\n _this39._isHovered = null;\n _this39._activeTrigger = {};\n _this39._popper = null;\n _this39._templateFactory = null;\n _this39._newContent = null; // Protected\n\n _this39.tip = null;\n\n _this39._setListeners();\n\n if (!_this39._config.selector) {\n _this39._fixTitle();\n }\n\n return _this39;\n } // Getters\n\n\n _createClass(Tooltip, [{\n key: \"enable\",\n value: // Public\n function enable() {\n this._isEnabled = true;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this._isEnabled = false;\n }\n }, {\n key: \"toggleEnabled\",\n value: function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (!this._isEnabled) {\n return;\n }\n\n this._activeTrigger.click = !this._activeTrigger.click;\n\n if (this._isShown()) {\n this._leave();\n\n return;\n }\n\n this._enter();\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n\n this._disposePopper();\n\n _get(_getPrototypeOf(Tooltip.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"show\",\n value: function show() {\n var _this40 = this;\n\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n\n var showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n var shadowRoot = findShadowRoot(this._element);\n\n var isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // todo v6 remove this OR make it optional\n\n\n this._disposePopper();\n\n var tip = this._getTipElement();\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n\n var container = this._config.container;\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n var _ref17;\n\n var _iterator21 = _createForOfIteratorHelper((_ref17 = []).concat.apply(_ref17, _toConsumableArray(document.body.children))),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var element = _step21.value;\n EventHandler.on(element, 'mouseover', noop);\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n }\n\n var complete = function complete() {\n EventHandler.trigger(_this40._element, _this40.constructor.eventName(EVENT_SHOWN$2));\n\n if (_this40._isHovered === false) {\n _this40._leave();\n }\n\n _this40._isHovered = false;\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this41 = this;\n\n if (!this._isShown()) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n var tip = this._getTipElement();\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n var _ref18;\n\n var _iterator22 = _createForOfIteratorHelper((_ref18 = []).concat.apply(_ref18, _toConsumableArray(document.body.children))),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var element = _step22.value;\n EventHandler.off(element, 'mouseover', noop);\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n var complete = function complete() {\n if (_this41._isWithActiveTrigger()) {\n return;\n }\n\n if (!_this41._isHovered) {\n _this41._disposePopper();\n }\n\n _this41._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(_this41._element, _this41.constructor.eventName(EVENT_HIDDEN$2));\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n }, {\n key: \"update\",\n value: function update() {\n if (this._popper) {\n this._popper.update();\n }\n } // Protected\n\n }, {\n key: \"_isWithContent\",\n value: function _isWithContent() {\n return Boolean(this._getTitle());\n }\n }, {\n key: \"_getTipElement\",\n value: function _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n\n return this.tip;\n }\n }, {\n key: \"_createTipElement\",\n value: function _createTipElement(content) {\n var tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6\n\n\n if (!tip) {\n return null;\n }\n\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only\n\n tip.classList.add(\"bs-\".concat(this.constructor.NAME, \"-auto\"));\n var tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n return tip;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this._newContent = content;\n\n if (this._isShown()) {\n this._disposePopper();\n\n this.show();\n }\n }\n }, {\n key: \"_getTemplateFactory\",\n value: function _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory(_objectSpread(_objectSpread({}, this._config), {}, {\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content: content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n }));\n }\n\n return this._templateFactory;\n }\n }, {\n key: \"_getContentForTemplate\",\n value: function _getContentForTemplate() {\n return _defineProperty({}, SELECTOR_TOOLTIP_INNER, this._getTitle());\n }\n }, {\n key: \"_getTitle\",\n value: function _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n } // Private\n\n }, {\n key: \"_initializeOnDelegatedTarget\",\n value: function _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n }, {\n key: \"_isAnimated\",\n value: function _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n }, {\n key: \"_isShown\",\n value: function _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n }, {\n key: \"_createPopper\",\n value: function _createPopper(tip) {\n var placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n var attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n }, {\n key: \"_getOffset\",\n value: function _getOffset() {\n var _this42 = this;\n\n var offset = this._config.offset;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(function (value) {\n return Number.parseInt(value, 10);\n });\n }\n\n if (typeof offset === 'function') {\n return function (popperData) {\n return offset(popperData, _this42._element);\n };\n }\n\n return offset;\n }\n }, {\n key: \"_resolvePossibleFunction\",\n value: function _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg;\n }\n }, {\n key: \"_getPopperConfig\",\n value: function _getPopperConfig(attachment) {\n var _this43 = this;\n\n var defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: \".\".concat(this.constructor.NAME, \"-arrow\")\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: function fn(data) {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n _this43._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);\n }\n }, {\n key: \"_setListeners\",\n value: function _setListeners() {\n var _this44 = this;\n\n var triggers = this._config.trigger.split(' ');\n\n var _iterator23 = _createForOfIteratorHelper(triggers),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n var trigger = _step23.value;\n\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, function (event) {\n var context = _this44._initializeOnDelegatedTarget(event);\n\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n var eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, function (event) {\n var context = _this44._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, function (event) {\n var context = _this44._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n\n context._leave();\n });\n }\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n\n this._hideModalHandler = function () {\n if (_this44._element) {\n _this44.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n }, {\n key: \"_fixTitle\",\n value: function _fixTitle() {\n var title = this._element.getAttribute('title');\n\n if (!title) {\n return;\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n\n\n this._element.removeAttribute('title');\n }\n }, {\n key: \"_enter\",\n value: function _enter() {\n var _this45 = this;\n\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n\n this._isHovered = true;\n\n this._setTimeout(function () {\n if (_this45._isHovered) {\n _this45.show();\n }\n }, this._config.delay.show);\n }\n }, {\n key: \"_leave\",\n value: function _leave() {\n var _this46 = this;\n\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n this._isHovered = false;\n\n this._setTimeout(function () {\n if (!_this46._isHovered) {\n _this46.hide();\n }\n }, this._config.delay.hide);\n }\n }, {\n key: \"_setTimeout\",\n value: function _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n }, {\n key: \"_isWithActiveTrigger\",\n value: function _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n }, {\n key: \"_getConfig\",\n value: function _getConfig(config) {\n var dataAttributes = Manipulator.getDataAttributes(this._element);\n\n for (var _i10 = 0, _Object$keys5 = Object.keys(dataAttributes); _i10 < _Object$keys5.length; _i10++) {\n var dataAttribute = _Object$keys5[_i10];\n\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n\n config = _objectSpread(_objectSpread({}, dataAttributes), _typeof(config) === 'object' && config ? config : {});\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n return config;\n }\n }, {\n key: \"_getDelegateConfig\",\n value: function _getDelegateConfig() {\n var config = {};\n\n for (var key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n config.selector = false;\n config.trigger = 'manual'; // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n return config;\n }\n }, {\n key: \"_disposePopper\",\n value: function _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$3;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$4;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }]);\n\n return Tooltip;\n}(BaseComponent);\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Tooltip);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$3 = 'popover';\nvar SELECTOR_TITLE = '.popover-header';\nvar SELECTOR_CONTENT = '.popover-body';\n\nvar Default$2 = _objectSpread(_objectSpread({}, Tooltip.Default), {}, {\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' + '<div class=\"popover-arrow\"></div>' + '<h3 class=\"popover-header\"></h3>' + '<div class=\"popover-body\"></div>' + '</div>',\n trigger: 'click'\n});\n\nvar DefaultType$2 = _objectSpread(_objectSpread({}, Tooltip.DefaultType), {}, {\n content: '(null|string|element|function)'\n});\n/**\n * Class definition\n */\n\n\nvar Popover = /*#__PURE__*/function (_Tooltip) {\n _inherits(Popover, _Tooltip);\n\n var _super14 = _createSuper(Popover);\n\n function Popover() {\n _classCallCheck(this, Popover);\n\n return _super14.apply(this, arguments);\n }\n\n _createClass(Popover, [{\n key: \"_isWithContent\",\n value: // Overrides\n function _isWithContent() {\n return this._getTitle() || this._getContent();\n } // Private\n\n }, {\n key: \"_getContentForTemplate\",\n value: function _getContentForTemplate() {\n var _ref20;\n\n return _ref20 = {}, _defineProperty(_ref20, SELECTOR_TITLE, this._getTitle()), _defineProperty(_ref20, SELECTOR_CONTENT, this._getContent()), _ref20;\n }\n }, {\n key: \"_getContent\",\n value: function _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n } // Static\n\n }], [{\n key: \"Default\",\n get: // Getters\n function get() {\n return Default$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$3;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Popover.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }]);\n\n return Popover;\n}(Tooltip);\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Popover);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$2 = 'scrollspy';\nvar DATA_KEY$2 = 'bs.scrollspy';\nvar EVENT_KEY$2 = \".\".concat(DATA_KEY$2);\nvar DATA_API_KEY = '.data-api';\nvar EVENT_ACTIVATE = \"activate\".concat(EVENT_KEY$2);\nvar EVENT_CLICK = \"click\".concat(EVENT_KEY$2);\nvar EVENT_LOAD_DATA_API$1 = \"load\".concat(EVENT_KEY$2).concat(DATA_API_KEY);\nvar CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nvar CLASS_NAME_ACTIVE$1 = 'active';\nvar SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nvar SELECTOR_TARGET_LINKS = '[href]';\nvar SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nvar SELECTOR_NAV_LINKS = '.nav-link';\nvar SELECTOR_NAV_ITEMS = '.nav-item';\nvar SELECTOR_LIST_ITEMS = '.list-group-item';\nvar SELECTOR_LINK_ITEMS = \"\".concat(SELECTOR_NAV_LINKS, \", \").concat(SELECTOR_NAV_ITEMS, \" > \").concat(SELECTOR_NAV_LINKS, \", \").concat(SELECTOR_LIST_ITEMS);\nvar SELECTOR_DROPDOWN = '.dropdown';\nvar SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nvar Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nvar DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n/**\n * Class definition\n */\n\nvar ScrollSpy = /*#__PURE__*/function (_BaseComponent9) {\n _inherits(ScrollSpy, _BaseComponent9);\n\n var _super15 = _createSuper(ScrollSpy);\n\n function ScrollSpy(element, config) {\n var _this47;\n\n _classCallCheck(this, ScrollSpy);\n\n _this47 = _super15.call(this, element, config); // this._element is the observablesContainer and config.target the menu links wrapper\n\n _this47._targetLinks = new Map();\n _this47._observableSections = new Map();\n _this47._rootElement = getComputedStyle(_this47._element).overflowY === 'visible' ? null : _this47._element;\n _this47._activeTarget = null;\n _this47._observer = null;\n _this47._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n\n _this47.refresh(); // initialize\n\n\n return _this47;\n } // Getters\n\n\n _createClass(ScrollSpy, [{\n key: \"refresh\",\n value: // Public\n function refresh() {\n this._initializeTargetsAndObservables();\n\n this._maybeEnableSmoothScroll();\n\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n\n var _iterator24 = _createForOfIteratorHelper(this._observableSections.values()),\n _step24;\n\n try {\n for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {\n var section = _step24.value;\n\n this._observer.observe(section);\n }\n } catch (err) {\n _iterator24.e(err);\n } finally {\n _iterator24.f();\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._observer.disconnect();\n\n _get(_getPrototypeOf(ScrollSpy.prototype), \"dispose\", this).call(this);\n } // Private\n\n }, {\n key: \"_configAfterMerge\",\n value: function _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n\n config.rootMargin = config.offset ? \"\".concat(config.offset, \"px 0px -30%\") : config.rootMargin;\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(function (value) {\n return Number.parseFloat(value);\n });\n }\n\n return config;\n }\n }, {\n key: \"_maybeEnableSmoothScroll\",\n value: function _maybeEnableSmoothScroll() {\n var _this48 = this;\n\n if (!this._config.smoothScroll) {\n return;\n } // unregister any previous listeners\n\n\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, function (event) {\n var observableSection = _this48._observableSections.get(event.target.hash);\n\n if (observableSection) {\n event.preventDefault();\n var root = _this48._rootElement || window;\n var height = observableSection.offsetTop - _this48._element.offsetTop;\n\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n } // Chrome 60 doesn't support `scrollTo`\n\n\n root.scrollTop = height;\n }\n });\n }\n }, {\n key: \"_getNewObserver\",\n value: function _getNewObserver() {\n var _this49 = this;\n\n var options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(function (entries) {\n return _this49._observerCallback(entries);\n }, options);\n } // The logic of selection\n\n }, {\n key: \"_observerCallback\",\n value: function _observerCallback(entries) {\n var _this50 = this;\n\n var targetElement = function targetElement(entry) {\n return _this50._targetLinks.get(\"#\".concat(entry.target.id));\n };\n\n var activate = function activate(entry) {\n _this50._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n\n _this50._process(targetElement(entry));\n };\n\n var parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n var userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n\n var _iterator25 = _createForOfIteratorHelper(entries),\n _step25;\n\n try {\n for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {\n var entry = _step25.value;\n\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n\n this._clearActiveClass(targetElement(entry));\n\n continue;\n }\n\n var entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop\n\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n\n if (!parentScrollTop) {\n return;\n }\n\n continue;\n } // if we are scrolling up, pick the smallest offsetTop\n\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n } catch (err) {\n _iterator25.e(err);\n } finally {\n _iterator25.f();\n }\n }\n }, {\n key: \"_initializeTargetsAndObservables\",\n value: function _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n var targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n\n var _iterator26 = _createForOfIteratorHelper(targetLinks),\n _step26;\n\n try {\n for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {\n var anchor = _step26.value;\n\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n\n var observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible\n\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor);\n\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n } catch (err) {\n _iterator26.e(err);\n } finally {\n _iterator26.f();\n }\n }\n }, {\n key: \"_process\",\n value: function _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n\n this._clearActiveClass(this._config.target);\n\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n\n this._activateParents(target);\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n }, {\n key: \"_activateParents\",\n value: function _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n\n var _iterator27 = _createForOfIteratorHelper(SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)),\n _step27;\n\n try {\n for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {\n var listGroup = _step27.value;\n\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n var _iterator28 = _createForOfIteratorHelper(SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)),\n _step28;\n\n try {\n for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {\n var item = _step28.value;\n item.classList.add(CLASS_NAME_ACTIVE$1);\n }\n } catch (err) {\n _iterator28.e(err);\n } finally {\n _iterator28.f();\n }\n }\n } catch (err) {\n _iterator27.e(err);\n } finally {\n _iterator27.f();\n }\n }\n }, {\n key: \"_clearActiveClass\",\n value: function _clearActiveClass(parent) {\n parent.classList.remove(CLASS_NAME_ACTIVE$1);\n var activeNodes = SelectorEngine.find(\"\".concat(SELECTOR_TARGET_LINKS, \".\").concat(CLASS_NAME_ACTIVE$1), parent);\n\n var _iterator29 = _createForOfIteratorHelper(activeNodes),\n _step29;\n\n try {\n for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {\n var node = _step29.value;\n node.classList.remove(CLASS_NAME_ACTIVE$1);\n }\n } catch (err) {\n _iterator29.e(err);\n } finally {\n _iterator29.f();\n }\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$1;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$2;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = ScrollSpy.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }]);\n\n return ScrollSpy;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(window, EVENT_LOAD_DATA_API$1, function () {\n var _iterator30 = _createForOfIteratorHelper(SelectorEngine.find(SELECTOR_DATA_SPY)),\n _step30;\n\n try {\n for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {\n var spy = _step30.value;\n ScrollSpy.getOrCreateInstance(spy);\n }\n } catch (err) {\n _iterator30.e(err);\n } finally {\n _iterator30.f();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(ScrollSpy);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME$1 = 'tab';\nvar DATA_KEY$1 = 'bs.tab';\nvar EVENT_KEY$1 = \".\".concat(DATA_KEY$1);\nvar EVENT_HIDE$1 = \"hide\".concat(EVENT_KEY$1);\nvar EVENT_HIDDEN$1 = \"hidden\".concat(EVENT_KEY$1);\nvar EVENT_SHOW$1 = \"show\".concat(EVENT_KEY$1);\nvar EVENT_SHOWN$1 = \"shown\".concat(EVENT_KEY$1);\nvar EVENT_CLICK_DATA_API = \"click\".concat(EVENT_KEY$1);\nvar EVENT_KEYDOWN = \"keydown\".concat(EVENT_KEY$1);\nvar EVENT_LOAD_DATA_API = \"load\".concat(EVENT_KEY$1);\nvar ARROW_LEFT_KEY = 'ArrowLeft';\nvar ARROW_RIGHT_KEY = 'ArrowRight';\nvar ARROW_UP_KEY = 'ArrowUp';\nvar ARROW_DOWN_KEY = 'ArrowDown';\nvar CLASS_NAME_ACTIVE = 'active';\nvar CLASS_NAME_FADE$1 = 'fade';\nvar CLASS_NAME_SHOW$1 = 'show';\nvar CLASS_DROPDOWN = 'dropdown';\nvar SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\nvar SELECTOR_DROPDOWN_MENU = '.dropdown-menu';\nvar NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';\nvar SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]';\nvar SELECTOR_OUTER = '.nav-item, .list-group-item';\nvar SELECTOR_INNER = \".nav-link\".concat(NOT_SELECTOR_DROPDOWN_TOGGLE, \", .list-group-item\").concat(NOT_SELECTOR_DROPDOWN_TOGGLE, \", [role=\\\"tab\\\"]\").concat(NOT_SELECTOR_DROPDOWN_TOGGLE);\nvar SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]'; // todo:v6: could be only `tab`\n\nvar SELECTOR_INNER_ELEM = \"\".concat(SELECTOR_INNER, \", \").concat(SELECTOR_DATA_TOGGLE);\nvar SELECTOR_DATA_TOGGLE_ACTIVE = \".\".concat(CLASS_NAME_ACTIVE, \"[data-bs-toggle=\\\"tab\\\"], .\").concat(CLASS_NAME_ACTIVE, \"[data-bs-toggle=\\\"pill\\\"], .\").concat(CLASS_NAME_ACTIVE, \"[data-bs-toggle=\\\"list\\\"]\");\n/**\n * Class definition\n */\n\nvar Tab = /*#__PURE__*/function (_BaseComponent10) {\n _inherits(Tab, _BaseComponent10);\n\n var _super16 = _createSuper(Tab);\n\n function Tab(element) {\n var _this51;\n\n _classCallCheck(this, Tab);\n\n _this51 = _super16.call(this, element);\n _this51._parent = _this51._element.closest(SELECTOR_TAB_PANEL);\n\n if (!_this51._parent) {\n return _possibleConstructorReturn(_this51); // todo: should Throw exception on v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n } // Set up initial aria attributes\n\n\n _this51._setInitialAttributes(_this51._parent, _this51._getChildren());\n\n EventHandler.on(_this51._element, EVENT_KEYDOWN, function (event) {\n return _this51._keydown(event);\n });\n return _this51;\n } // Getters\n\n\n _createClass(Tab, [{\n key: \"show\",\n value: // Public\n function show() {\n // Shows this elem and deactivate the active sibling if exists\n var innerElem = this._element;\n\n if (this._elemIsActive(innerElem)) {\n return;\n } // Search for active tab on same parent to deactivate it\n\n\n var active = this._getActiveElem();\n\n var hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, {\n relatedTarget: innerElem\n }) : null;\n var showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, {\n relatedTarget: active\n });\n\n if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) {\n return;\n }\n\n this._deactivate(active, innerElem);\n\n this._activate(innerElem, active);\n } // Private\n\n }, {\n key: \"_activate\",\n value: function _activate(element, relatedElem) {\n var _this52 = this;\n\n if (!element) {\n return;\n }\n\n element.classList.add(CLASS_NAME_ACTIVE);\n\n this._activate(getElementFromSelector(element)); // Search and activate/show the proper section\n\n\n var complete = function complete() {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW$1);\n return;\n }\n\n element.removeAttribute('tabindex');\n element.setAttribute('aria-selected', true);\n\n _this52._toggleDropDown(element, true);\n\n EventHandler.trigger(element, EVENT_SHOWN$1, {\n relatedTarget: relatedElem\n });\n };\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));\n }\n }, {\n key: \"_deactivate\",\n value: function _deactivate(element, relatedElem) {\n var _this53 = this;\n\n if (!element) {\n return;\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE);\n element.blur();\n\n this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too\n\n\n var complete = function complete() {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.remove(CLASS_NAME_SHOW$1);\n return;\n }\n\n element.setAttribute('aria-selected', false);\n element.setAttribute('tabindex', '-1');\n\n _this53._toggleDropDown(element, false);\n\n EventHandler.trigger(element, EVENT_HIDDEN$1, {\n relatedTarget: relatedElem\n });\n };\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));\n }\n }, {\n key: \"_keydown\",\n value: function _keydown(event) {\n if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {\n return;\n }\n\n event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n\n event.preventDefault();\n var isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);\n var nextActiveElement = getNextActiveElement(this._getChildren().filter(function (element) {\n return !isDisabled(element);\n }), event.target, isNext, true);\n\n if (nextActiveElement) {\n nextActiveElement.focus({\n preventScroll: true\n });\n Tab.getOrCreateInstance(nextActiveElement).show();\n }\n }\n }, {\n key: \"_getChildren\",\n value: function _getChildren() {\n // collection of inner elements\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent);\n }\n }, {\n key: \"_getActiveElem\",\n value: function _getActiveElem() {\n var _this54 = this;\n\n return this._getChildren().find(function (child) {\n return _this54._elemIsActive(child);\n }) || null;\n }\n }, {\n key: \"_setInitialAttributes\",\n value: function _setInitialAttributes(parent, children) {\n this._setAttributeIfNotExists(parent, 'role', 'tablist');\n\n var _iterator31 = _createForOfIteratorHelper(children),\n _step31;\n\n try {\n for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {\n var child = _step31.value;\n\n this._setInitialAttributesOnChild(child);\n }\n } catch (err) {\n _iterator31.e(err);\n } finally {\n _iterator31.f();\n }\n }\n }, {\n key: \"_setInitialAttributesOnChild\",\n value: function _setInitialAttributesOnChild(child) {\n child = this._getInnerElement(child);\n\n var isActive = this._elemIsActive(child);\n\n var outerElem = this._getOuterElement(child);\n\n child.setAttribute('aria-selected', isActive);\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation');\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1');\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab'); // set attributes to the related panel too\n\n\n this._setInitialAttributesOnTargetPanel(child);\n }\n }, {\n key: \"_setInitialAttributesOnTargetPanel\",\n value: function _setInitialAttributesOnTargetPanel(child) {\n var target = getElementFromSelector(child);\n\n if (!target) {\n return;\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel');\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', \"#\".concat(child.id));\n }\n }\n }, {\n key: \"_toggleDropDown\",\n value: function _toggleDropDown(element, open) {\n var outerElem = this._getOuterElement(element);\n\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return;\n }\n\n var toggle = function toggle(selector, className) {\n var element = SelectorEngine.findOne(selector, outerElem);\n\n if (element) {\n element.classList.toggle(className, open);\n }\n };\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);\n outerElem.setAttribute('aria-expanded', open);\n }\n }, {\n key: \"_setAttributeIfNotExists\",\n value: function _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value);\n }\n }\n }, {\n key: \"_elemIsActive\",\n value: function _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE);\n } // Try to get the inner element (usually the .nav-link)\n\n }, {\n key: \"_getInnerElement\",\n value: function _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem);\n } // Try to get the outer element (usually the .nav-item)\n\n }, {\n key: \"_getOuterElement\",\n value: function _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem;\n } // Static\n\n }], [{\n key: \"NAME\",\n get: function get() {\n return NAME$1;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Tab.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config]();\n });\n }\n }]);\n\n return Tab;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n Tab.getOrCreateInstance(this).show();\n});\n/**\n * Initialize on focus\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, function () {\n var _iterator32 = _createForOfIteratorHelper(SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)),\n _step32;\n\n try {\n for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {\n var element = _step32.value;\n Tab.getOrCreateInstance(element);\n }\n } catch (err) {\n _iterator32.e(err);\n } finally {\n _iterator32.f();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab);\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nvar NAME = 'toast';\nvar DATA_KEY = 'bs.toast';\nvar EVENT_KEY = \".\".concat(DATA_KEY);\nvar EVENT_MOUSEOVER = \"mouseover\".concat(EVENT_KEY);\nvar EVENT_MOUSEOUT = \"mouseout\".concat(EVENT_KEY);\nvar EVENT_FOCUSIN = \"focusin\".concat(EVENT_KEY);\nvar EVENT_FOCUSOUT = \"focusout\".concat(EVENT_KEY);\nvar EVENT_HIDE = \"hide\".concat(EVENT_KEY);\nvar EVENT_HIDDEN = \"hidden\".concat(EVENT_KEY);\nvar EVENT_SHOW = \"show\".concat(EVENT_KEY);\nvar EVENT_SHOWN = \"shown\".concat(EVENT_KEY);\nvar CLASS_NAME_FADE = 'fade';\nvar CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility\n\nvar CLASS_NAME_SHOW = 'show';\nvar CLASS_NAME_SHOWING = 'showing';\nvar DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n};\nvar Default = {\n animation: true,\n autohide: true,\n delay: 5000\n};\n/**\n * Class definition\n */\n\nvar Toast = /*#__PURE__*/function (_BaseComponent11) {\n _inherits(Toast, _BaseComponent11);\n\n var _super17 = _createSuper(Toast);\n\n function Toast(element, config) {\n var _this55;\n\n _classCallCheck(this, Toast);\n\n _this55 = _super17.call(this, element, config);\n _this55._timeout = null;\n _this55._hasMouseInteraction = false;\n _this55._hasKeyboardInteraction = false;\n\n _this55._setListeners();\n\n return _this55;\n } // Getters\n\n\n _createClass(Toast, [{\n key: \"show\",\n value: // Public\n function show() {\n var _this56 = this;\n\n var showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._clearTimeout();\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE);\n }\n\n var complete = function complete() {\n _this56._element.classList.remove(CLASS_NAME_SHOWING);\n\n EventHandler.trigger(_this56._element, EVENT_SHOWN);\n\n _this56._maybeScheduleHide();\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated\n\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var _this57 = this;\n\n if (!this.isShown()) {\n return;\n }\n\n var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n var complete = function complete() {\n _this57._element.classList.add(CLASS_NAME_HIDE); // @deprecated\n\n\n _this57._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);\n\n EventHandler.trigger(_this57._element, EVENT_HIDDEN);\n };\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n this._queueCallback(complete, this._element, this._config.animation);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._clearTimeout();\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW);\n }\n\n _get(_getPrototypeOf(Toast.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"isShown\",\n value: function isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW);\n } // Private\n\n }, {\n key: \"_maybeScheduleHide\",\n value: function _maybeScheduleHide() {\n var _this58 = this;\n\n if (!this._config.autohide) {\n return;\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return;\n }\n\n this._timeout = setTimeout(function () {\n _this58.hide();\n }, this._config.delay);\n }\n }, {\n key: \"_onInteraction\",\n value: function _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n {\n this._hasMouseInteraction = isInteracting;\n break;\n }\n\n case 'focusin':\n case 'focusout':\n {\n this._hasKeyboardInteraction = isInteracting;\n break;\n }\n }\n\n if (isInteracting) {\n this._clearTimeout();\n\n return;\n }\n\n var nextElement = event.relatedTarget;\n\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return;\n }\n\n this._maybeScheduleHide();\n }\n }, {\n key: \"_setListeners\",\n value: function _setListeners() {\n var _this59 = this;\n\n EventHandler.on(this._element, EVENT_MOUSEOVER, function (event) {\n return _this59._onInteraction(event, true);\n });\n EventHandler.on(this._element, EVENT_MOUSEOUT, function (event) {\n return _this59._onInteraction(event, false);\n });\n EventHandler.on(this._element, EVENT_FOCUSIN, function (event) {\n return _this59._onInteraction(event, true);\n });\n EventHandler.on(this._element, EVENT_FOCUSOUT, function (event) {\n return _this59._onInteraction(event, false);\n });\n }\n }, {\n key: \"_clearTimeout\",\n value: function _clearTimeout() {\n clearTimeout(this._timeout);\n this._timeout = null;\n } // Static\n\n }], [{\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"jQueryInterface\",\n value: function jQueryInterface(config) {\n return this.each(function () {\n var data = Toast.getOrCreateInstance(this, config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\".concat(config, \"\\\"\"));\n }\n\n data[config](this);\n }\n });\n }\n }]);\n\n return Toast;\n}(BaseComponent);\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Toast);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast);\nexport { Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","// ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã¨ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è¤‡åˆã€‚'jquery-3.4.1.min.js'ãŒå¿…è¦ã€‚\n$(function() {\n\n const checkPrefClassName = \".chex-pref\"\n const mainGroupedInputClassName =\".mcheck-all-99\"\n const mainPrefInputCalssName = \".mchex-99\"\n const groupedInputClassName = \".check-all-99\";\n const prefInputCalssName = \".chex-99\";\n const cityInputCalssName = \".cchex-99\";\n const industoryInputClassName = \".chex-ind\"\n const usageInputClassName = \".chex-use\";\n const prefApiUrl = \"/api/v1/cities/\";\n\n //* DOMツリー構æˆå¾Œã«ãƒã‚§ãƒƒã‚¯æ¸ˆã¿ã®å¸‚区町æ‘ã‚’å–å¾—ã—ã€ãƒã‚§ãƒƒã‚¯ã‚’ã¤ã‘ã‚‹ ---------------------- *\n $(document).ready(function() {\n if (typeof checkedPrefs !== 'undefined' && checkedPrefs.length) {\n // åˆæœŸãƒã‚§ãƒƒã‚¯æ¸ˆã¿éƒ½é“府県ã®ãƒã‚§ãƒƒã‚¯\n checkPrefs(checkedPrefs);\n }\n });\n\n //* DOMツリー構æˆå¾Œã«æ¥ç¨®ã€èª²é¡Œãƒ»è³‡é‡‘使途ã®åˆæœŸå€¤ã‚’セットã™ã‚‹\n $(document).ready(function() {\n // æ¥ç¨®ã®ã‚»ãƒƒãƒˆ\n var checkboxExIndustory = $(industoryInputClassName).first().closest(\".checkbox-ex\");\n setIndustory(checkboxExIndustory);\n\n // 課題資金使途ã®ã‚»ãƒƒãƒˆ\n var checkboxExUsage = $(usageInputClassName).first().closest(\".checkbox-ex--tags\");\n setUsage(checkboxExUsage);\n });\n\n //* ã€Main 都é“府県】クリックイベント ---------------------- *\n $(\"body\").on('change', mainGroupedInputClassName, function() {\n checkPrefGroupElement($(this), \"main\")\n addPrefsToArray($(this), \"main\");\n checkPrefs(checkedPrefs);\n });\n\n $(\"body\").on('change', mainPrefInputCalssName, function() {\n checkPrefElement($(this), \"main\")\n addPrefsToArray($(this), \"main\");\n checkPrefs(checkedPrefs);\n });\n\n //* ã€è©³ç´° 都é“府県】クリックイベント ---------------------- *\n $(\"body\").on('change', groupedInputClassName, function() {\n checkPrefGroupElement($(this), \"detail\")\n addPrefsToArray($(this), \"detail\");\n checkPrefs(checkedPrefs);\n });\n\n $(\"body\").on('change', prefInputCalssName, function() {\n checkPrefElement($(this), \"detail\");\n addPrefsToArray($(this), \"detail\");\n checkPrefs(checkedPrefs);\n });\n\n //* ã€è©³ç´° 市区町æ‘】クリックイベント ---------------------- *\n\n $(\"body\").on('change', cityInputCalssName, function() {\n checkCityElement($(this))\n addCitiesToArray()\n });\n\n //* 検索æ¡ä»¶ã‚¯ãƒªã‚¢å¾Œã€ã¾ãŸã¯ã€æ¤œç´¢æ¡ä»¶ã«ç™»éŒ²æƒ…å ±ã‚’åæ˜ å¾Œã«å®Ÿè¡Œã™ã‚‹å‡¦ç†\n $('#after_reset_search_condition').on('click', function() {\n //* ãƒã‚§ãƒƒã‚¯æ¸ˆã¿ã®å¸‚区町æ‘ã‚’å–å¾—ã—ã€ãƒã‚§ãƒƒã‚¯ã‚’ã¤ã‘ã‚‹\n if (typeof checkedPrefs !== 'undefined') {\n checkPrefs(checkedPrefs);\n addPrefsToArray($(prefInputCalssName), \"detail\");\n }\n\n //* æ¥ç¨®ã€èª²é¡Œãƒ»è³‡é‡‘使途ã®åˆæœŸå€¤ã‚’セットã™ã‚‹\n // æ¥ç¨®ã®ã‚»ãƒƒãƒˆ\n var checkboxExIndustory = $(industoryInputClassName).first().closest(\".checkbox-ex\");\n setIndustory(checkboxExIndustory);\n\n // 課題資金使途ã®ã‚»ãƒƒãƒˆ\n var checkboxExUsage = $(usageInputClassName).first().closest(\".checkbox-ex--tags\");\n setUsage(checkboxExUsage);\n });\n\n function checkPrefs(checkedPrefsArray) {\n //checkã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’一度リセット\n $('input' + mainPrefInputCalssName + ':checked').each(function(idx, elm) {\n $(elm).prop('checked', false);\n checkPrefElement($(elm), \"main\")\n });\n $('input' + prefInputCalssName + ':checked').each(function(idx, elm) {\n $(elm).prop('checked', false);\n checkPrefElement($(elm), \"detail\")\n });\n //checkedPrefsArrayã«åŸºã¥ã„ã¦check\n checkedPrefsArray.forEach(function(prefCode) {\n $('input[value=\"' + prefCode + '\"]' + mainPrefInputCalssName).each(function(idx, elm) {\n $(elm).prop('checked', true);\n checkPrefElement($(elm), \"main\")\n });\n $('input[value=\"' + prefCode + '\"]' + prefInputCalssName).each(function(idx, elm) {\n $(elm).prop('checked', true);\n checkPrefElement($(elm), \"detail\")\n });\n });\n createCities($(\".checkbox-ex__select-group\"), \"detail\");\n }\n\n function checkCities(checkedCitiesArray) {\n checkedCitiesArray.forEach(function(prefCode) {\n $('input[value=\"' + prefCode + '\"]' + cityInputCalssName).each(function(idx, elm) {\n $(elm).prop('checked', true);\n checkCityElement($(elm));\n });\n });\n }\n\n //* ã€é¸æŠžæ¸ˆã¿éƒ½é“府県一覧å–得】 ---------------------- *\n function collectPrefArray(parentElement) {\n return parentElement.find('input' + checkPrefClassName + ':checked')\n }\n\n function collectCityArray() {\n return $(\"#select-city\").find('input' + cityInputCalssName + ':checked')\n }\n\n function addPrefsToArray(thisElement, location) {\n var targetCheckBoxEx = location === \"main\" ? \".m-checkbox-ex\" : \".checkbox-ex\";\n var targetInputClassName = location === \"main\" ? mainPrefInputCalssName : prefInputCalssName\n const checkboxEx = $(thisElement.closest(targetCheckBoxEx))\n checkedPrefs = collectPrefArray(checkboxEx).map(function() {\n return $(this).val();\n }).get();\n // hiddenフィールドã¸ã®æ ¼ç´\n if ($(\"#search_anken_business_area_cds_str_hidden_value\").length){\n $(\"#search_anken_business_area_cds_str_hidden_value\").val(checkedPrefs.join(','));\n }\n if ($(\"#detail_search_anken_business_area_cds_str_hidden_value\").length) {\n $(\"#detail_search_anken_business_area_cds_str_hidden_value\").val(checkedPrefs.concat(checkedCities).join(','));\n }\n if ($(\"#search_anken_business_area_cds_str_hidden_value_lp_1\").length){\n $(\"#search_anken_business_area_cds_str_hidden_value_lp_1\").val(checkedPrefs.join(','));\n }\n if ($(\"#search_anken_business_area_cds_str_hidden_value_lp_2\").length){\n $(\"#search_anken_business_area_cds_str_hidden_value_lp_2\").val(checkedPrefs.join(','));\n }\n }\n\n function addCitiesToArray() {\n checkedCities = collectCityArray().map(function() {\n return $(this).val();\n }).get();\n // hiddenフィールドã¸ã®æ ¼ç´\n if ($(\"#detail_search_anken_business_area_cds_str_hidden_value\").length) {\n $(\"#detail_search_anken_business_area_cds_str_hidden_value\").val(checkedPrefs.concat(checkedCities).join(','));\n }\n }\n\n function createCities(thisElement, location) {\n var targetCheckBoxEx = location === \"main\" ? \".m-checkbox-ex\" : \".checkbox-ex\";\n const checkboxEx = $(thisElement.closest(targetCheckBoxEx))\n const prefArray = collectPrefArray(checkboxEx)\n getPrefJson(prefArray)\n }\n\n function checkPrefGroupElement(thisElement, location) {\n var targetCheckboxExSelected = location === \"main\" ? \".m-checkbox-ex__select-group\" : \".checkbox-ex__select-group\"\n var targetCheckBoxEx = location === \"main\" ? \".m-checkbox-ex\" : \".checkbox-ex\";\n const selectGroup = thisElement.parent().next(targetCheckboxExSelected);\n selectGroup.find(\"input\").prop('checked', thisElement.is(':checked'));\n const checkboxEx = $(thisElement.closest(targetCheckBoxEx))\n syncTextField(checkboxEx, location);\n }\n\n function checkPrefElement(thisElement, location) {\n var targetHeadingClass = location === \"main\" ? \".m-checkbox-ex__heading\" : \".checkbox-ex__heading\";\n var targetCheckBoxEx = location === \"main\" ? \".m-checkbox-ex\" : \".checkbox-ex\";\n var targetInputClassName = location === \"main\" ? mainGroupedInputClassName : groupedInputClassName\n const selectGroup = thisElement.parent().parent();\n const selectHeaderInput = selectGroup.prev(targetHeadingClass).find(targetInputClassName)\n if (selectGroup.find(\"input\").filter(\":checked\").length == selectGroup.find(\"input\").length){\n selectHeaderInput.prop('checked', true);\n }else{\n selectHeaderInput.prop('checked', false);\n }\n const checkboxEx = $(thisElement.closest(targetCheckBoxEx))\n syncTextField(checkboxEx, location);\n }\n\n function syncTextField(checkboxEx, location) {\n var targetDataObjectClassName = location === \"main\" ? \".m-checkbox-ex__data-object\" : \".checkbox-ex__data-object\"\n var targetCheckboxExSelected = location === \"main\" ? \".m-checkbox-ex__selected\" : \".checkbox-ex__selected\"\n const defaultHtml = location === \"main\" ? '地域をé¸æŠžï¼ˆå¿…é ˆï¼‰' : '地域(都é“府県)をé¸æŠž';\n const prefs = collectPrefArray(checkboxEx);\n const valsPref = prefs.map(function() {\n return $(this).next().find(targetDataObjectClassName).text();\n }).get();\n checkboxEx.find(targetCheckboxExSelected).removeClass('null-alert');\n if (valsPref.length >= 4) {\n const value = 'é¸æŠžä¸ï¼ˆ' + valsPref.length + ')'\n checkboxEx.find(targetCheckboxExSelected).removeClass('default').text(value);\n }else if(valsPref.length >= 1) {\n checkboxEx.find(targetCheckboxExSelected).removeClass('default').text(valsPref.join(\", \"));\n }else{\n checkboxEx.find(targetCheckboxExSelected).addClass('default').html(defaultHtml);\n }\n\n // 都é“府県é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤ºãƒœã‚¿ãƒ³ã¨ãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤ºãƒœã‚¿ãƒ³ã‚’変更ã™ã‚‹\n const $mainSearchConditionPrefButton = $('#mainSearchConditionPrefButton');\n const $mainSearchConditionCityButton = $('#mainSearchConditionCityButton');\n if (valsPref.length >= 1) {\n $mainSearchConditionPrefButton.text(`都é“府県(${valsPref.length})`).removeClass('not-selected').removeClass('required-notice');\n $mainSearchConditionCityButton.prop('disabled', false);\n } else {\n $mainSearchConditionPrefButton.text('都é“府県※').addClass('not-selected');\n $mainSearchConditionCityButton.prop('disabled', true);\n }\n $mainSearchConditionPrefButton.trigger('change');\n }\n\n function citySyncTextField(checkboxEx) {\n const defaultHtml = '<span class=\"default\">地域(市区町æ‘)をé¸æŠž</span>'\n const valsPref = $(checkboxEx).find('input' + cityInputCalssName + ':checked').map(function() {\n return $(this).next().find(\".checkbox-ex__data-object\").text();\n }).get();\n if (valsPref.length >= 4) {\n const value = 'é¸æŠžä¸ï¼ˆ' + valsPref.length + ')'\n checkboxEx.find(\".checkbox-ex__selected\").html('<span>' + value + '</span>');\n }else if(valsPref.length >= 1) {\n checkboxEx.find(\".checkbox-ex__selected\").html('<span>' + valsPref.join(\", \") + '</span>');\n }else{\n checkboxEx.find(\".checkbox-ex__selected\").html(defaultHtml);\n }\n\n // 市区町æ‘é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤ºãƒœã‚¿ãƒ³ã‚’変更ã™ã‚‹\n const $mainSearchConditionCityButton = $('#mainSearchConditionCityButton');\n if (valsPref.length >= 1) {\n $mainSearchConditionCityButton.text(`市区町æ‘(${valsPref.length})`);\n $mainSearchConditionCityButton.removeClass('not-required-not-selected');\n } else {\n $mainSearchConditionCityButton.text('市区町æ‘');\n $mainSearchConditionCityButton.addClass('not-required-not-selected');\n }\n }\n\n function checkCityElement(thisElement) {\n citySyncTextField($(thisElement.closest(\".checkbox-ex\")));\n }\n\n //* ã€å¸‚区町æ‘ã®APIを実行】 ---------------------- *\n function getPrefJson(prefArray) {\n var values = prefArray.map(function() {\n return $(this).val()\n }).get();\n if (prefArray.length) {\n var query = prefApiUrl + \"?\"\n $.each(values, function(index, element) {\n if ((values.length -1) === index) {\n query += \"values%5B%5D=\" + element\n } else {\n query += \"values%5B%5D=\" + element + \"&\"\n }\n })\n $.getJSON(query)\n .done(function(data) {\n if (data) {\n assembleCities(data);\n checkCities(checkedCities);\n addCitiesToArray();\n citySyncTextField($(\"#select-city\"));\n // 市区町æ‘é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«ã®å†…容をå†ä½œæˆã™ã‚‹ãŸã‚ã®ãƒˆãƒªã‚¬ãƒ¼\n $('#reGenerateScCityModalContent').trigger('click');\n }\n });\n } else {\n //åˆæœŸãƒªã‚»ãƒƒãƒˆ\n checkedCities = [];\n $(\"#cities\").empty();\n checkCities(checkedCities);\n addCitiesToArray();\n citySyncTextField($(\"#select-city\"));\n // 市区町æ‘é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«ã®å†…容をå†ä½œæˆã™ã‚‹ãŸã‚ã®ãƒˆãƒªã‚¬ãƒ¼\n $('#reGenerateScCityModalContent').trigger('click');\n }\n }\n\n function assembleCities(data) {\n const targetSelector = \"#cities\"\n\n var target = $(targetSelector)\n\n // API呼ã³å‡ºã—都度クリア\n target.empty()\n\n // テンプレートã®èªã¿è¾¼ã¿\n var tempRow = $($('#template-row').html());\n var tempHead = $($('#template-head').html());\n var tempSelect = $($('#template-select').html());\n\n $.each(data.prefs, function(idx, val) {\n var tempRowClone = tempRow.clone(true);\n var tempHeadClone = tempHead.clone(true);\n\n //Headè¦ç´ ã®è¿½åŠ \n tempHeadClone.find(\".checkbox-ex__data-object\").text(val.pref);\n tempRowClone.prepend(tempHeadClone);\n\n //Selectè¦ç´ ã®è¿½åŠ \n $.each(val.cities, function(idxSelect, val){\n var tempSelectClone = tempSelect.clone(true);\n tempSelectClone.find(\".form-check-input\").attr('id', 'chx-city-' + idx + idxSelect);\n tempSelectClone.find(\".form-check-input\").val(val.city_cd)\n tempSelectClone.find(\".form-check-label\").attr('for', 'chx-city-' + idx + idxSelect)\n tempSelectClone.find(\".checkbox-ex__data-object\").text(val.city)\n tempRowClone.find(\".checkbox-ex__select-group\").append(tempSelectClone)\n });\n target.append(tempRowClone)\n });\n }\n\n //* ã€æ¥ç¨®åˆ†é¡žã€‘ ---------------------- *\n // ãƒã‚§ãƒƒã‚¯çŠ¶æ…‹ã®æ™‚ã«ã€ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®ä¸èº«ã‚’åŒæœŸã•ã›ã‚‹\n $(\"body\").on('change', industoryInputClassName, function() {\n const checkboxEx = $(this.closest(\".checkbox-ex\"))\n setIndustory(checkboxEx);\n });\n\n function setIndustory(checkboxEx) {\n const defaultHtml = '<span class=\"default\">æ¥ç¨®åˆ†é¡žã‚’é¸æŠž</span>';\n const valsPref = $(checkboxEx).find('input' + industoryInputClassName + ':checked').map(function() {\n return $(this).next().find(\".checkbox-ex__data-object\").text();\n }).get();\n if (valsPref.length >= 4) {\n const value = 'é¸æŠžä¸ï¼ˆ' + valsPref.length + ')'\n checkboxEx.find(\".checkbox-ex__selected\").text(value);\n }else if(valsPref.length >= 1) {\n checkboxEx.find(\".checkbox-ex__selected\").text(valsPref.join(\", \"));\n }else{\n checkboxEx.find(\".checkbox-ex__selected\").html(defaultHtml);\n }\n // hiddenフィールドã¸ã®ã‚»ãƒƒãƒˆ\n if ($(\"#detail_search_anken_industry_cds_str_hidden_value\").length) {\n const vals = $(checkboxEx).find('input' + industoryInputClassName + ':checked').map(function() {\n return $(this).val();\n }).get();\n $(\"#detail_search_anken_industry_cds_str_hidden_value\").val(vals.join(\",\"));\n }\n }\n\n //* ã€èª²é¡Œãƒ»è³‡é‡‘使途】 ---------------------- *\n $(\"body\").on('change', usageInputClassName, function() {\n const checkboxEx = $(this.closest(\".checkbox-ex--tags\"))\n setUsage(checkboxEx);\n });\n\n function setUsage(checkboxEx) {\n const defaultHtml = '<span class=\"default\">課題・資金使途をé¸æŠž</span>';\n const valsUsage = $(checkboxEx).find('input' + usageInputClassName + ':checked').map(function() {\n return $(this).next().find(\".checkbox-ex__tag-data-object\").text();\n }).get();\n if (valsUsage.length >= 3) {\n const value = 'é¸æŠžä¸ï¼ˆ' + valsUsage.length + ')'\n checkboxEx.find(\".checkbox-ex__selected\").text(value);\n }else if(valsUsage.length >= 1) {\n let html = \"\";\n $.each(valsUsage, function (index, val) {\n html += '<span class=\"tag-data-object--active\">' + val + '</span>';\n });\n checkboxEx.find(\".checkbox-ex__selected\").html(html);\n }else{\n checkboxEx.find(\".checkbox-ex__selected\").html(defaultHtml);\n }\n // hiddenフィールドã¸ã®ã‚»ãƒƒãƒˆ\n if ($(\"#detail_search_anken_usage_cds_str_hidden_value\").length) {\n const vals = $(checkboxEx).find('input' + usageInputClassName + ':checked').map(function() {\n return $(this).val();\n }).get();\n $(\"#detail_search_anken_usage_cds_str_hidden_value\").val(vals.join(\",\"));\n }\n }\n\n //* ã€äº‹æ¥å½¢æ…‹ã®é€£å‹•å‡¦ç† & 赤文å—除去】 ---------------------- *\n $(\".business-type\").on(\"change\", function(){\n $(\".main-firstview__selected\").removeClass('null-alert');\n $(\".business-type\").removeClass('null-alert');\n var selectedValue = $(this).val();\n $(\".business-type\").each(function(index, element) {\n $(element).val(selectedValue);\n });\n if(selectedValue === \"\") {\n $(\".main-firstview__selected\").addClass('default');\n $(\".checkbox-ex--flat__select.business-type\").addClass('default');\n } else {\n $(\".main-firstview__selected\").removeClass('default');\n $(\".checkbox-ex--flat__select.business-type\").removeClass('default');\n }\n });\n\n // 検索フリーワードã®ãƒ—レースホルダーを元ã«æˆ»ã™\n $(document).on(\"focus\", \".input-freeword.freeword-alert.search-freeword\", function(){\n $(this).attr('placeholder', 'フリーワードã§æ¤œç´¢ï¼ˆè£œåŠ©é‡‘ã®å称ã€â—‹â—‹éŠ€è¡Œãªã©ï¼‰');\n $(this).removeClass('freeword-alert');\n });\n\n // ä¼šå“¡æƒ…å ±ãƒ•ãƒªãƒ¼ãƒ¯ãƒ¼ãƒ‰ã®ãƒ—レースホルダーを元ã«æˆ»ã™\n $(document).on(\"focus\", \".input-freeword.freeword-alert.user-freeword\", function(){\n $(this).attr('placeholder', 'フリーワード(補助金ã®å称ã€ã€‡ã€‡éŠ€è¡Œãªã©ï¼‰');\n $(this).removeClass('freeword-alert');\n });\n\n});\n\nexport function checkMandatoryFields(submitButtonEl) {\n var targetMainBusinessAreaSelected = \".m-checkbox-ex__selected\";\n var targetBusinessAreaSelected = \"#pref-selected-count\";\n var targetMainBusinessTypeSelected = \".main-firstview__selected\";\n var targetBusinessTypeSelected = \"#detail_search_q_anken_business_type_cd\";\n var errorStatus = false;\n\n // 簡易検索\n if (submitButtonEl === \".js-search_submit_button\"){\n // 地域(都é“府県)ã®nullãƒã‚§ãƒƒã‚¯\n if($('#m-pref-checkbox-ex').find('input.chex-pref:checked').length === 0){\n $(targetMainBusinessAreaSelected).removeClass('default').addClass('null-alert');\n errorStatus = true;\n }\n // 事æ¥å½¢æ…‹ã®nullãƒã‚§ãƒƒã‚¯\n if($('#q_anken_business_type_cd').val() === \"\"){\n $(targetMainBusinessTypeSelected).removeClass('default').addClass('null-alert');\n errorStatus = true;\n }\n }\n // 詳細検索\n if (submitButtonEl === \".js-detail_search_submit_button\"){\n // 地域(都é“府県)ã®nullãƒã‚§ãƒƒã‚¯\n if($('#pref-checkbox-ex').find('input.chex-pref:checked').length === 0 ){\n $(targetBusinessAreaSelected).removeClass('default').addClass('null-alert');\n errorStatus = true;\n }\n // 事æ¥å½¢æ…‹ã®nullãƒã‚§ãƒƒã‚¯\n if($('#detail_search_q_anken_business_type_cd').val() === \"\"){\n $(targetBusinessTypeSelected).removeClass('default').addClass('null-alert');\n errorStatus = true;\n }\n }\n return errorStatus\n}\n\nexport function checkedCitiesOver() {\n const cityInputCalssName = \".cchex-99\";\n const limitChecks = 50;\n const checkboxEx = $('#select-city');\n const errorHTML = '<span class=\"null-alert\">' + limitChecks + '件以内ã§é¸æŠžã—ã¦ãã ã•ã„</span>'\n var errorStatus = false;\n\n const valsCities = checkboxEx.find('input' + cityInputCalssName + ':checked');\n if (valsCities.length > limitChecks) {\n errorStatus = true;\n var currentHTML = checkboxEx.find(\".checkbox-ex__selected\").html();\n if (!currentHTML.match(/null-alert/)){\n checkboxEx.find(\".checkbox-ex__selected\").html(currentHTML + errorHTML);\n }\n }\n return errorStatus;\n}\n\n//* ã€ã‚ーワード入力フィールド】検索ボタンクリック時ã«æ–‡å—数制é™ã«ã‹ã‹ã‚Œã°ã‚¨ãƒ©ãƒ¼ã‚’表示 ---------------------- *\nexport function checkFreewordLengthOver() {\n const freewordFieldClassName = \".input-freeword\";\n const maxLength = 30;\n let errorStatus = false;\n\n if ($(freewordFieldClassName).length && $(freewordFieldClassName).val().length > maxLength) {\n errorStatus = true;\n $(freewordFieldClassName).addClass('freeword-alert');\n $(freewordFieldClassName).attr('placeholder', maxLength + 'æ–‡å—以内ã§å…¥åŠ›ã—ã¦ãã ã•ã„');\n $(freewordFieldClassName).val('');\n }\n return errorStatus;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","export function deleteParameterFromUrl(location, deleteName) {\n const url = new URL(location);\n url.searchParams.delete(deleteName)\n history.replaceState(null, null, url)\n}\n","import { setWithCountAnimation, sanitizeMoney, updateDelimitedMoney, setDelimitedMoney, delimitedMoney } from \"./suchiUtil\"\nimport { handleUntenShikinSetSimulationBar } from \"./numBtn\"\n\n// é‹è»¢è³‡é‡‘データ\nlet runningData = [\n [0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 0, 0],\n];\nlet uriageSum = [0, 0, 0];\nlet profit = [0, 0, 0];\n\nfunction getMonthlyUriage(year) {\n return parseInt(uriageSum[year - 1] / 12);\n}\n\n// タブ切り替ãˆ\nfunction handleTabChange(e) {\n const rangeForm = document.getElementById(\"running-slider\");\n const runningInput = document.getElementById(\"running-input\");\n\n const target = e.target;\n const tabId = target.id.slice(-1);\n rangeForm.style.display = \"grid\";\n runningInput.style.display = \"none\";\n // tabã®view変更\n const prevSelected = document.querySelector(\".nav-link.active\");\n if (prevSelected) prevSelected.classList.remove(\"active\");\n target.classList.add(\"active\");\n const selectedYear = tabId;\n // é‹è»¢è³‡é‡‘é …ç›®ã®åæ˜ \n changeUntenView(selectedYear)\n // 月é¡åˆ©ç›Šã®åæ˜ \n updateMonthlyProfit(selectedYear);\n changeProfitView(selectedYear);\n}\n\nfunction changeUntenView(year) {\n const dataInputsRunning = document.querySelectorAll(\".data-input--running\");\n const rangeInputsRunning = document.querySelectorAll(\".input-slider--running\");\n dataInputsRunning.forEach((input, i) => {\n input.value = runningData[year - 1][i].toLocaleString('ja-JP');\n });\n\n const maxRange = getMonthlyUriage(year) < 100 ? 100 : getMonthlyUriage(year);\n rangeInputsRunning.forEach((input, i) => {\n const inputData = runningData[year - 1][i];\n input.max = maxRange\n input.value = inputData;\n input.defaultValue = inputData;\n if (inputData !== 0) {\n input.style.backgroundSize =\n (inputData * 100) / input.max + 1 + \"% 100%\";\n } else {\n input.style.backgroundSize = \"0% 100%\";\n }\n });\n}\n\n// 比較タブã®ã‚¯ãƒªãƒƒã‚¯æ™‚\nfunction handleClickCompareTab() {\n // ç¾åœ¨ã®ã‚¿ãƒ–ã‚’inactiveã«ã™ã‚‹\n const prevSelected = document.querySelector(\".nav-link.active\");\n if (prevSelected) prevSelected.classList.remove(\"active\");\n\n const rangeForm = document.getElementById(\"running-slider\");\n const runningInput = document.getElementById(\"running-input\");\n\n rangeForm.style.display = \"none\";\n runningInput.style.display = \"grid\";\n setCompareInputs(runningData)\n}\n\nexport function handleSetCompareInputs() {\n setCompareInputs(runningData);\n}\n\n// 比較タブã«runningDataã®å†…容をåæ˜ ã™ã‚‹\nfunction setCompareInputs(runningData) {\n const compareInputs = document.querySelectorAll(\".data-input--compare\");\n const compareProfits = document.querySelectorAll(\".data-input--compare--profit\");\n\n compareInputs.forEach((input, i) => {\n const year = input.dataset.year;\n const itemId = input.dataset.itemid;\n input.value = runningData[year - 1][itemId - 1];\n setDelimitedMoney(input);\n });\n compareProfits.forEach((input, i) => {\n input.value = profit[i];\n setDelimitedMoney(input);\n });\n}\n\n// 比較タブ(æ”¯å‡ºé …ç›®)変更\nfunction handleCompareInputChange(event) {\n const textFieldElement = event.target;\n const val = sanitizeMoney(textFieldElement.value);\n\n const inputId = textFieldElement.dataset.itemid;\n const selectedYear = textFieldElement.dataset.year;\n\n // text fieldをカンマ区切り&hidden fieldã¸ã®ã‚»ãƒƒãƒˆ\n updateDelimitedMoney(textFieldElement);\n\n runningData[selectedYear - 1][inputId - 1] = val;\n updateMonthlyProfit(selectedYear)\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\n// 比較タブ(åˆ©ç›Šé …ç›®)変更\nfunction handleCompareProfitChange(event) {\n const textFieldElement = event.target;\n const profitOfThisYear = sanitizeMoney(textFieldElement.value);\n const selectedYear = textFieldElement.id.slice(-1);\n\n updateItemsByProfit(selectedYear, profitOfThisYear);\n setCompareInputs(runningData);\n updateAsideRunning();\n}\n\n// 売上入力\nfunction handleUriageChange(event) {\n const textFieldElement = event.target;\n\n const currentTab = document.querySelector(\".nav-link.active\")\n const currentTabId = currentTab ? Number(document.querySelector(\".nav-link.active\").id.slice(-1)) : 9999;\n\n const uriageId = textFieldElement.id.slice(-1); // 末尾ã®æ•°å—ã‚’å–å¾—\n\n uriageSum[uriageId - 1] = sanitizeMoney(textFieldElement.value);\n\n // hidden fieldã®æ›´æ–°\n updateDelimitedMoney(textFieldElement);\n\n // 売上入力後ã«åˆ©ç›Šã‚’æ›´æ–°ã™ã‚‹\n updateMonthlyProfit(uriageId)\n\n if (Number(currentTabId) === Number(uriageId)) {\n changeUntenView(uriageId);\n changeProfitView(uriageId);\n }\n\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\n// レンジスライダーé‹è»¢è³‡é‡‘\nfunction handleRangeInputRunningChange(e) {\n const selectedYear = Number(document.querySelector(\".nav-link.active\").id.slice(-1));\n const target = e.target;\n const max = Number(target.max);\n const val = Number(target.value);\n\n const inputId = target.id.replace(\"input-slider--running\", \"data-input--running\");\n const inputIdNum = inputId.slice(-1);\n const inputElement = document.getElementById(inputId);\n target.defaultValue = val;\n inputElement.value = target.defaultValue;\n runningData[selectedYear - 1][inputIdNum - 1] = val;\n\n if (val !== 0) {\n target.style.backgroundSize = (val * 100) / max + 1 + \"% 100%\";\n } else {\n target.style.backgroundSize = \"0% 100%\";\n }\n\n // 月é¡åˆ©ç›Šã®æ›´æ–°\n updateMonthlyProfit(selectedYear);\n changeProfitView(selectedYear);\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\n// é‹è»¢è³‡é‡‘数値入力\nfunction handleDataInputRunningChange(e) {\n const selectedYear = Number(document.querySelector(\".nav-link.active\").id.slice(-1));\n\n const target = e.target;\n const val = sanitizeMoney(target.value);\n const sliderId = target.id.replace(\"data-input--running\", \"input-slider--running\");\n const sliderIdNum = sliderId.slice(-1);\n const sliderElement = document.getElementById(sliderId);\n \n sliderElement.defaultValue = val;\n sliderElement.value = val;\n runningData[selectedYear - 1][sliderIdNum - 1] = val;\n if (val !== 0) {\n sliderElement.style.backgroundSize =\n (val * 100) / sliderElement.max + 1 + \"% 100%\";\n } else {\n sliderElement.style.backgroundSize = \"0% 100%\";\n }\n\n // カンマ区切りã«å¤‰æ›´\n target.value = delimitedMoney(target.value);\n\n updateMonthlyProfit(selectedYear);\n changeProfitView(selectedYear);\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\n// 月é¡åˆ©ç›Š\nfunction handleProfitSliderInput(e) {\n const selectedYear = Number(document.querySelector(\".nav-link.active\").id.slice(-1));\n const target = e.target;\n const profitOfThisYear = Number(target.value);\n\n updateItemsByProfit(selectedYear, profitOfThisYear);\n changeRangeInputsView(selectedYear);\n changeProfitView(selectedYear);\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\nfunction handleProfitChange(e) {\n const selectedYear = Number(document.querySelector(\".nav-link.active\").id.slice(-1));\n\n const target = e.target;\n let profitOfThisYear = sanitizeMoney(target.value);\n\n updateItemsByProfit(selectedYear, profitOfThisYear);\n changeRangeInputsView(selectedYear);\n changeProfitView(selectedYear);\n setCompareInputs(runningData)\n updateAsideRunning();\n}\n\nfunction handleProfitSliderBackground(e) {\n // スライドã—ã¦ã„る間利益を表é¢ä¸Šå¤‰ã‚ã£ã¦ã„るよã†ã«ã™ã‚‹\n const target = e.target;\n const val = Number(target.value);\n const max = Number(target.max);\n target.defaultValue = val;\n if (val !== 0) {\n target.style.backgroundSize = (val * 100) / max + 1 + \"% 100%\";\n } else {\n target.style.backgroundSize = \"0% 100%\";\n }\n}\n\nfunction updateItemsByProfit(selectedYear, value) {\n let profitOfThisYear = value;\n\n // 利益ã®å…¥åŠ›ãŒæœˆé¡å£²ä¸Šä»¥ä¸Šã ã£ãŸå ´åˆã€æœˆé¡å£²ä¸Šã‚’上é™ã¨ã—ã¦ä¸‹æ–¹ä¿®æ£ã™ã‚‹\n const monthlyUriage = getMonthlyUriage(selectedYear)\n if (profitOfThisYear > monthlyUriage) profitOfThisYear = monthlyUriage;\n\n let expense = runningData[selectedYear - 1].reduce((total, item) => {\n return total + item;\n });\n\n // 月é¡å£²ã‚Šä¸Šã’ãŒè¨˜å…¥ã•ã‚Œã¦ã„ãŸã‚‰å·®é¡ã®è¨ˆç®—ã‚’ã™ã‚‹\n if (uriageSum[selectedYear - 1] !== 0) {\n const isDeficit = expense + profitOfThisYear > monthlyUriage\n // 利益ã¨æ”¯å‡ºã®åˆè¨ˆãŒå£²ã‚Šä¸Šã’を上回ã£ãŸã‚‰æ”¯å‡ºã‚’減らã™\n const diff = Math.abs(expense + profitOfThisYear - monthlyUriage);\n // 支出ãŒã‚¼ãƒã®å ´åˆã€å£²ä¸Šâˆ’利益分を支出ãã‚Œãžã‚Œã«åˆ†é…ã™ã‚‹\n if (expense == 0) {\n const runningDataSize = runningData[selectedYear - 1].length\n runningData[selectedYear - 1] = runningData[selectedYear - 1].map(() => {\n return parseInt((monthlyUriage - profitOfThisYear) / runningDataSize);\n });\n } else {\n if (isDeficit) {\n runningData[selectedYear - 1] = runningData[selectedYear - 1].map((data) => {\n const ratio = data / expense;\n return parseInt(data - ratio * diff);\n });\n } else {\n runningData[selectedYear - 1] = runningData[selectedYear - 1].map((data) => {\n const ratio = data / expense;\n return parseInt(data + ratio * diff);\n });\n }\n }\n // 支出ã®è¨ˆç®—ã‚’ã—ãŸä¸Šã§å†è¨ˆç®—\n expense = runningData[selectedYear - 1].reduce((total, item) => {\n return total + item;\n });\n // å°‘æ•°ã®åˆ‡ã‚Šæ¨ã¦ã§èª¤å·®ã‚’åˆ©ç›Šã‚’è¿½åŠ ã™ã‚‹\n const salesDiff = monthlyUriage - (expense + profitOfThisYear);\n profit[selectedYear - 1] = profitOfThisYear + salesDiff;\n }\n}\n\nfunction changeRangeInputsView(selectedYear) {\n try {\n const rangeInputsRunning = document.querySelectorAll(\".input-slider--running\");\n const dataInputsRunning = document.querySelectorAll(\".data-input--running\");\n const maxRange = getMonthlyUriage(selectedYear) < 100 ? 100 : getMonthlyUriage(selectedYear)\n runningData[selectedYear - 1].forEach((data, i) => {\n if (data !== 0) {\n rangeInputsRunning[i].max = maxRange\n rangeInputsRunning[i].style.backgroundSize =\n (data * 100) / rangeInputsRunning[i].max + 1 + \"% 100%\";\n rangeInputsRunning[i].value = data;\n rangeInputsRunning[i].defaultValue = data;\n dataInputsRunning[i].value = data.toLocaleString('ja-JP');\n } else {\n rangeInputsRunning[i].max = maxRange;\n rangeInputsRunning[i].style.backgroundSize = \"0% 100%\";\n rangeInputsRunning[i].value = data;\n rangeInputsRunning[i].defaultValue = data;\n dataInputsRunning[i].value = data.toLocaleString('ja-JP');\n }\n });\n } catch (error) {\n // console.warn(error);\n }\n}\n\nfunction updateMonthlyProfit(selectedYear) {\n // 月é¡åˆ©ç›Šã®æ›´æ–°\n if (uriageSum[selectedYear - 1] !== 0) {\n const expense = runningData[selectedYear - 1].reduce((total, item) => {\n return total + item;\n });\n const diff = parseInt(uriageSum[selectedYear - 1] / 12 - expense);\n profit[selectedYear - 1] = diff;\n }\n}\n\nfunction changeProfitView(selectedYear) {\n try {\n const profitSliderInput = document.getElementById(\"input-slider--profit\");\n const profitSumInput = document.getElementById(\"data-input--profit\");\n\n const maxRange = getMonthlyUriage(selectedYear) < 100 ? 100 : getMonthlyUriage(selectedYear)\n profitSliderInput.max = maxRange\n profitSliderInput.value = profit[selectedYear - 1];\n profitSliderInput.defaultValue = profit[selectedYear - 1];\n if (profitSliderInput.value !== 0) {\n profitSliderInput.style.backgroundSize =\n (profitSliderInput.value * 100) / profitSliderInput.max + 1 + \"% 100%\";\n } else {\n profitSliderInput.style.backgroundSize = \"0% 100%\";\n }\n profitSumInput.value = profit[selectedYear - 1].toLocaleString('ja-JP');\n } catch (error) {\n // console.warn(error);\n }\n}\n\nfunction updateAsideRunning() {\n const expense1 = runningData[0].reduce((total, item) => {return total + item;}) * 12;\n const expense2 = runningData[1].reduce((total, item) => {return total + item;}) * 12;\n const expense3 = runningData[2].reduce((total, item) => {return total + item;}) * 12;\n const yearlyProfit1 = profit[0] * 12\n const yearlyProfit2 = profit[1] * 12\n const yearlyProfit3 = profit[2] * 12 \n if (document.getElementById(\"running-sum1\").textContent != uriageSum[0].toString()){\n setWithCountAnimation(document.getElementById(\"running-sum1\"), 0, uriageSum[0]);\n }\n if (document.getElementById(\"running-sum2\").textContent != uriageSum[1].toString()){\n setWithCountAnimation(document.getElementById(\"running-sum2\"), 0, uriageSum[1]);\n }\n if (document.getElementById(\"running-sum3\").textContent != uriageSum[2].toString()){\n setWithCountAnimation(document.getElementById(\"running-sum3\"), 0, uriageSum[2]);\n }\n if (document.getElementById(\"running-cost1\").textContent != expense1.toString()){\n setWithCountAnimation(document.getElementById(\"running-cost1\"), 0, expense1);\n }\n if (document.getElementById(\"running-cost2\").textContent != expense2.toString()){\n setWithCountAnimation(document.getElementById(\"running-cost2\"), 0, expense2);\n }\n if (document.getElementById(\"running-cost3\").textContent != expense3.toString()){\n setWithCountAnimation(document.getElementById(\"running-cost3\"), 0, expense3);\n }\n if (document.getElementById(\"running-profit1\").textContent != yearlyProfit1.toString()){\n setWithCountAnimation(document.getElementById(\"running-profit1\"), 0, yearlyProfit1);\n }\n if (document.getElementById(\"running-profit2\").textContent != yearlyProfit2.toString()){\n setWithCountAnimation(document.getElementById(\"running-profit2\"), 0, yearlyProfit2);\n }\n if (document.getElementById(\"running-profit3\").textContent != yearlyProfit3.toString()){\n setWithCountAnimation(document.getElementById(\"running-profit3\"), 0, yearlyProfit3);\n }\n\n handleUntenShikinSetSimulationBar(\n uriageSum[0], uriageSum[1], uriageSum[2],\n expense1, expense2, expense3,\n yearlyProfit1, yearlyProfit2, yearlyProfit3\n );\n}\n\nexport function addSuchiKeikakuEventListenerAll() {\n // é‹è»¢è³‡é‡‘ã®å¹´æ¬¡ã”ã¨ã®ã‚¿ãƒ–クリック\n const tabs = document.querySelectorAll(\".form-tab\");\n tabs.forEach((tab) => {\n tab.addEventListener(\"click\", handleTabChange);\n });\n try {\n // 比較ボタンクリック\n const compareTab = document.getElementById(\"tab--compare\");\n compareTab.addEventListener(\"click\", handleClickCompareTab);\n } catch (error) {\n // console.warn(error);\n }\n // レンジスライダーé‹è»¢è³‡é‡‘\n const rangeInputsRunning = document.querySelectorAll(\".input-slider--running\");\n rangeInputsRunning.forEach((input) => {\n input.addEventListener(\"input\", handleRangeInputRunningChange);\n });\n // レンジスライダー横ã®ã‚¤ãƒ³ãƒ—ットé‹è»¢è³‡é‡‘\n const dataInputsRunning = document.querySelectorAll(\".data-input--running\");\n dataInputsRunning.forEach((input) => {\n input.addEventListener(\"change\", handleDataInputRunningChange);\n });\n\n // 月é¡åˆ©ç›Š\n try {\n const profitSlider = document.getElementById(\"input-slider--profit\");\n const profitInput = document.getElementById(\"data-input--profit\");\n profitSlider.addEventListener(\"input\", handleProfitSliderBackground);\n profitSlider.addEventListener(\"change\", handleProfitSliderInput);\n profitInput.addEventListener(\"change\", handleProfitChange);\n } catch (error) {\n // console.log(error);\n }\n\n // 売上ã®å¤‰æ›´ã‚¤ãƒ™ãƒ³ãƒˆ\n const sumRunningInputs = document.querySelectorAll(\".js-uriage-input\");\n sumRunningInputs.forEach((input) => {\n input.addEventListener(\"change\", handleUriageChange);\n });\n\n // é‹è»¢è³‡é‡‘æ¯”è¼ƒé …ç›®\n const compareInputs = document.querySelectorAll(\".js-untenshikin-input\");\n const compareProfits = document.querySelectorAll(\".js-untenshikin-profit-input\");\n compareInputs.forEach((input) => {\n input.addEventListener(\"change\", handleCompareInputChange);\n });\n compareProfits.forEach((input) => {\n input.addEventListener(\"change\", handleCompareProfitChange);\n });\n}\n\nexport function setInitialValueForUntenShikin(){\n // 売上ã®ã‚»ãƒƒãƒˆ\n const sumRunningInputs = document.querySelectorAll(\".data-sum--running\");\n sumRunningInputs.forEach((input, index) => {\n uriageSum[index] = Number(input.value);\n });\n\n // é‹è»¢è³‡é‡‘ã®runningDataã®ã‚»ãƒƒãƒˆ\n const compareInputs = document.querySelectorAll(\".data-input--compare\");\n compareInputs.forEach((input) => {\n const inputId = input.dataset.itemid;\n const year = input.dataset.year;\n runningData[year - 1][inputId - 1] = sanitizeMoney(input.value);\n });\n\n // 月é¡åˆ©ç›Šã®ã‚»ãƒƒãƒˆ\n [1, 2, 3].forEach((tab)=> {\n updateMonthlyProfit(tab);\n });\n\n const selectedYear = 1;\n changeRangeInputsView(selectedYear);\n changeProfitView(selectedYear);\n updateAsideRunning();\n}\n\nexport function hideYakuinHoshu() {\n const businessType = $('input[name=\"founding_template[business_type]\"]:checked').val();\n if(businessType !== \"hojin\") {\n const yakuinhoshu1y = document.querySelector('input[name=\"founding_template[yakuinhoshu_1y]');\n const yakuinhoshu2y = document.querySelector('input[name=\"founding_template[yakuinhoshu_2y]');\n const yakuinhoshu3y = document.querySelector('input[name=\"founding_template[yakuinhoshu_3y]');\n yakuinhoshu1y.value = 0;\n yakuinhoshu2y.value = 0;\n yakuinhoshu3y.value = 0;\n // å½¹å“¡å ±é…¬é¡ã‚’ゼãƒã«ã™ã‚‹\n [yakuinhoshu1y, yakuinhoshu2y, yakuinhoshu3y].forEach((target) => {\n const inputId = target.dataset.itemid;\n const selectedYear = target.dataset.year;\n runningData[selectedYear - 1][inputId - 1] = parseInt(target.value);\n updateMonthlyProfit(selectedYear)\n });\n\n // サマリー部分ã®å†ã‚»ãƒƒãƒˆ\n var selectedYear = 0;\n if (document.querySelector(\".nav-link.active\")) selectedYear = Number(document.querySelector(\".nav-link.active\").id.slice(-1));\n if (selectedYear !== 0) {\n changeRangeInputsView(selectedYear);\n changeProfitView(selectedYear);\n }\n updateAsideRunning();\n $(\".js-yakuinHoshu\").addClass(\"d-none\");\n } else {\n $(\".js-yakuinHoshu\").removeClass(\"d-none\");\n }\n}\n\n$(function() {\n if (document.getElementById('startCalculationButton') == null && \n document.getElementById('untenshikin_title_section')) {\n setInitialValueForUntenShikin();\n addSuchiKeikakuEventListenerAll();\n // 事æ¥å½¢æ…‹ãŒå€‹äººã®å ´åˆã¯å½¹å“¡å ±é…¬ã‚’éš ã™\n hideYakuinHoshu();\n $('input[name=\"founding_template[business_type]\"]').on('change', function() {\n hideYakuinHoshu();\n });\n }\n});","export function selectOnChangeSubmit(selectEl, hiddenEl, submitEl) {\n $(selectEl).on('change', (e) => {\n $(hiddenEl).val($(e.currentTarget).val());\n $(submitEl).submit()\n });\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; 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/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"<input name='_method' value='\" + method + \"' type='hidden' />\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"<input name='\" + csrfParam + \"' value='\" + csrfToken + \"' type='hidden' />\";\n }\n\n formContent += '<input type=\"submit\" />';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar sparkMd5 = {\n exports: {}\n};\n\n(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined$1) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined$1) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n})(sparkMd5);\n\nvar SparkMD5 = sparkMd5.exports;\nvar fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\nvar FileChecksum = /*#__PURE__*/function () {\n function FileChecksum(file) {\n _classCallCheck(this, FileChecksum);\n\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n _createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new SparkMD5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \".concat(this.file.name));\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var _start = this.chunkIndex * this.chunkSize;\n\n var end = Math.min(_start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, _start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }], [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n return FileChecksum;\n}();\n\nfunction getMetaValue(name) {\n var element = findElement(document.head, \"meta[name=\\\"\".concat(name, \"\\\"]\"));\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nfunction findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray(elements);\n}\n\nfunction findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n}\n\nfunction dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n}\n\nfunction toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n}\n\nvar BlobRecord = /*#__PURE__*/function () {\n function BlobRecord(file, checksum, url) {\n var _this2 = this;\n\n _classCallCheck(this, BlobRecord);\n\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this2.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this2.requestDidError(event);\n });\n }\n\n _createClass(BlobRecord, [{\n key: \"status\",\n get: function get() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get() {\n var _this$xhr = this.xhr,\n responseType = _this$xhr.responseType,\n response = _this$xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }, {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback(\"Error creating Blob for \\\"\".concat(this.file.name, \"\\\". Status: \").concat(this.status));\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }]);\n\n return BlobRecord;\n}();\n\nvar BlobUpload = /*#__PURE__*/function () {\n function BlobUpload(blob) {\n var _this3 = this;\n\n _classCallCheck(this, BlobUpload);\n\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this3.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this3.requestDidError(event);\n });\n }\n\n _createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _this$xhr2 = this.xhr,\n status = _this$xhr2.status,\n response = _this$xhr2.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback(\"Error storing \\\"\".concat(this.file.name, \"\\\". Status: \").concat(this.xhr.status));\n }\n }]);\n\n return BlobUpload;\n}();\n\nvar id = 0;\n\nvar DirectUpload = /*#__PURE__*/function () {\n function DirectUpload(file, url, delegate) {\n _classCallCheck(this, DirectUpload);\n\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n _createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this4 = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this4.file, checksum, _this4.url);\n notify(_this4.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this4.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n\n return DirectUpload;\n}();\n\nfunction notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n}\n\nvar DirectUploadController = /*#__PURE__*/function () {\n function DirectUploadController(input, file) {\n _classCallCheck(this, DirectUploadController);\n\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n _createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this5 = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this5.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this5.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"url\",\n get: function get() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\".concat(name), {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this6 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this6.uploadRequestDidProgress(event);\n });\n }\n }]);\n\n return DirectUploadController;\n}();\n\nvar inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\nvar DirectUploadsController = /*#__PURE__*/function () {\n function DirectUploadsController(form) {\n _classCallCheck(this, DirectUploadsController);\n\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n _createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this7 = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this7.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this7.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\".concat(name), {\n detail: detail\n });\n }\n }]);\n\n return DirectUploadsController;\n}();\n\nvar processingAttribute = \"data-direct-uploads-processing\";\nvar submitButtonsByForm = new WeakMap();\nvar started = false;\n\nfunction start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm, true);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n}\n\nfunction didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n}\n\nfunction didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n}\n\nfunction didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n}\n\nfunction handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n}\n\nfunction submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm.delete(form);\n}\n\nfunction disable(input) {\n input.disabled = true;\n}\n\nfunction enable(input) {\n input.disabled = false;\n}\n\nfunction autostart() {\n if (window.ActiveStorage) {\n start();\n }\n}\n\nsetTimeout(autostart, 1);\nexport { DirectUpload, start };","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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/**\n * Swiper 8.4.4\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2022 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: October 12, 2022\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Swiper = factory());\n})(this, function () {\n 'use strict';\n /**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n\n /* eslint-disable no-param-reassign */\n\n function isObject$1(obj) {\n return obj !== null && _typeof(obj) === 'object' && 'constructor' in obj && obj.constructor === Object;\n }\n\n function extend$1(target, src) {\n if (target === void 0) {\n target = {};\n }\n\n if (src === void 0) {\n src = {};\n }\n\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject$1(src[key]) && isObject$1(target[key]) && Object.keys(src[key]).length > 0) {\n extend$1(target[key], src[key]);\n }\n });\n }\n\n var ssrDocument = {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: ''\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {}\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS: function createElementNS() {\n return {};\n },\n importNode: function importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n };\n\n function getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend$1(doc, ssrDocument);\n return doc;\n }\n\n var ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState: function replaceState() {},\n pushState: function pushState() {},\n go: function go() {},\n back: function back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n }\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {},\n matchMedia: function matchMedia() {\n return {};\n },\n requestAnimationFrame: function requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n\n clearTimeout(id);\n }\n };\n\n function getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend$1(win, ssrWindow);\n return win;\n }\n /**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\n\n /* eslint-disable no-proto */\n\n\n function makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n }\n\n var Dom7 = /*#__PURE__*/function (_Array) {\n _inherits(Dom7, _Array);\n\n var _super = _createSuper(Dom7);\n\n function Dom7(items) {\n var _this;\n\n _classCallCheck(this, Dom7);\n\n if (typeof items === 'number') {\n _this = _super.call(this, items);\n } else {\n _this = _super.call.apply(_super, [this].concat(_toConsumableArray(items || [])));\n makeReactive(_assertThisInitialized(_this));\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n return Dom7;\n }( /*#__PURE__*/_wrapNativeSuper(Array));\n\n function arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, _toConsumableArray(arrayFlat(el)));\n } else {\n res.push(el);\n }\n });\n return res;\n }\n\n function arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n }\n\n function arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n }\n\n function qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n }\n\n function $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var _html = selector.trim();\n\n if (_html.indexOf('<') >= 0 && _html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (_html.indexOf('<li') === 0) toCreate = 'ul';\n if (_html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (_html.indexOf('<td') === 0 || _html.indexOf('<th') === 0) toCreate = 'tr';\n if (_html.indexOf('<tbody') === 0) toCreate = 'table';\n if (_html.indexOf('<option') === 0) toCreate = 'select';\n var tempParent = document.createElement(toCreate);\n tempParent.innerHTML = _html;\n\n for (var i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n }\n\n $.fn = Dom7.prototype; // eslint-disable-next-line\n\n function addClass() {\n for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {\n classes[_key] = arguments[_key];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n var _el$classList;\n\n (_el$classList = el.classList).add.apply(_el$classList, _toConsumableArray(classNames));\n });\n return this;\n }\n\n function removeClass() {\n for (var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n classes[_key2] = arguments[_key2];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n var _el$classList2;\n\n (_el$classList2 = el.classList).remove.apply(_el$classList2, _toConsumableArray(classNames));\n });\n return this;\n }\n\n function toggleClass() {\n for (var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n classes[_key3] = arguments[_key3];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n classNames.forEach(function (className) {\n el.classList.toggle(className);\n });\n });\n }\n\n function hasClass() {\n for (var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n classes[_key4] = arguments[_key4];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n return arrayFilter(this, function (el) {\n return classNames.filter(function (className) {\n return el.classList.contains(className);\n }).length > 0;\n }).length > 0;\n }\n\n function attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n }\n\n function removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n }\n\n function transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n }\n\n function transition$1(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? \"\".concat(duration, \"ms\") : duration;\n }\n\n return this;\n }\n\n function on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[_event]) el.dom7Listeners[_event] = [];\n\n el.dom7Listeners[_event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n\n el.addEventListener(_event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event2 = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event2]) el.dom7LiveListeners[_event2] = [];\n\n el.dom7LiveListeners[_event2].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event2, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n }\n\n function off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var _event3 = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[_event3];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[_event3];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(_event3, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(_event3, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(_event3, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n }\n\n function trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var _event4 = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(_event4, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n }\n\n function transitionEnd$1(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n }\n\n function outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n }\n\n function outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n }\n\n function offset() {\n if (this.length > 0) {\n var _window = getWindow();\n\n var _document = getDocument();\n\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = _document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === _window ? _window.scrollY : el.scrollTop;\n var scrollLeft = el === _window ? _window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n }\n\n function styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n }\n\n function css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n }\n\n function each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n }\n\n function filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n }\n\n function html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n }\n\n function text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n }\n\n function is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n }\n\n function index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n }\n\n function eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n }\n\n function append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n }\n\n function prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n }\n\n function next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n }\n\n function nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n }\n\n function prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n }\n\n function prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n }\n\n function parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n }\n\n function parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n }\n\n function closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n }\n\n function find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n }\n\n function children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n }\n\n function remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n }\n\n var Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition$1,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd$1,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n };\n Object.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n });\n\n function deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n }\n\n function nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n }\n\n function now() {\n return Date.now();\n }\n\n function getComputedStyle$1(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n }\n\n function getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle$1(el);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n }\n\n function isObject(o) {\n return _typeof(o) === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n }\n\n function isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n }\n\n function extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n }\n\n function setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n }\n\n function animateCSSModeScroll(_ref) {\n var swiper = _ref.swiper,\n targetPosition = _ref.targetPosition,\n side = _ref.side;\n var window = getWindow();\n var startPosition = -swiper.translate;\n var startTime = null;\n var time;\n var duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n var dir = targetPosition > startPosition ? 'next' : 'prev';\n\n var isOutOfBound = function isOutOfBound(current, target) {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n\n var animate = function animate() {\n time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n var currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(function () {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n\n animate();\n }\n\n var support;\n\n function calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n }\n\n function getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n }\n\n var deviceCached;\n\n function calcDevice(_temp) {\n var _ref3 = _temp === void 0 ? {} : _temp,\n userAgent = _ref3.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(\"\".concat(screenWidth, \"x\").concat(screenHeight)) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n }\n\n function getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n\n return deviceCached;\n }\n\n var browser;\n\n function calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n }\n\n function getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n }\n\n function Resize(_ref) {\n var swiper = _ref.swiper,\n on = _ref.on,\n emit = _ref.emit;\n var window = getWindow();\n var observer = null;\n var animationFrame = null;\n\n var resizeHandler = function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n\n var createObserver = function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(function (entries) {\n animationFrame = window.requestAnimationFrame(function () {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref2) {\n var contentBoxSize = _ref2.contentBoxSize,\n contentRect = _ref2.contentRect,\n target = _ref2.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n\n var removeObserver = function removeObserver() {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n\n var orientationChangeHandler = function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n\n on('init', function () {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', function () {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n }\n\n function Observer(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var observers = [];\n var window = getWindow();\n\n var attach = function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n\n var init = function init() {\n if (!swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n } // Observe container\n\n\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n\n var destroy = function destroy() {\n observers.forEach(function (observer) {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n }\n /* eslint-disable no-underscore-dangle */\n\n\n var eventsEmitter = {\n on: function on(events, handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(_toConsumableArray(data)));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n };\n\n function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n }\n\n function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\".concat(swiper.params.slideClass));\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n }); // reset cssMode offsets\n\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n var gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n } // Calc slides\n\n\n var slideSize;\n var shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(function (key) {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n\n var _slide = slides.eq(i);\n\n if (gridEnabled) {\n swiper.grid.updateSlide(i, _slide, slidesLength, getDirectionLabel);\n }\n\n if (_slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = \"\";\n }\n\n var slideStyles = getComputedStyle(_slide[0]);\n var currentTransform = _slide[0].style.transform;\n var currentWebKitTransform = _slide[0].style.webkitTransform;\n\n if (currentTransform) {\n _slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n _slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? _slide.outerWidth(true) : _slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = _slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n _slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n _slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = \"\".concat(slideSize, \"px\");\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (params.setWrapperSize) {\n $wrapperEl.css(_defineProperty({}, getDirectionLabel('width'), \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")));\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n var newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n\n if (snapGrid[_i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css(_defineProperty({}, key, \"\".concat(spaceBetween, \"px\")));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', \"\".concat(-snapGrid[0], \"px\"));\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', \"\".concat(swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2, \"px\"));\n var addToSnapGrid = -swiper.snapGrid[0];\n var addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(function (v) {\n return v + addToSnapGrid;\n });\n swiper.slidesGrid = swiper.slidesGrid.map(function (v) {\n return v + addToSlidesGrid;\n });\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n var backFaceHiddenClass = \"\".concat(params.containerModifierClass, \"backface-hidden\");\n var hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n }\n\n function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var _index = swiper.activeIndex + i;\n\n if (_index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(_index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', \"\".concat(newHeight, \"px\"));\n }\n\n function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n }\n\n function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate,\n snapGrid = swiper.snapGrid;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var _slide2 = slides[i];\n var slideOffset = _slide2.swiperSlideOffset;\n\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (_slide2.swiperSlideSize + params.spaceBetween);\n var originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (_slide2.swiperSlideSize + params.spaceBetween);\n var slideBefore = -(offsetCenter - slideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(_slide2);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n\n _slide2.progress = rtl ? -slideProgress : slideProgress;\n _slide2.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n }\n\n function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n Object.assign(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n }\n\n function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(\"\".concat(params.slideActiveClass, \" \").concat(params.slideNextClass, \" \").concat(params.slidePrevClass, \" \").concat(params.slideDuplicateActiveClass, \" \").concat(params.slideDuplicateNextClass, \" \").concat(params.slideDuplicatePrevClass));\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(activeIndex, \"\\\"]\"));\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n }\n\n function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n Object.assign(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n }\n\n function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e).closest(\".\".concat(params.slideClass))[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n }\n\n var update = {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n };\n\n function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n }\n\n function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\".concat(x, \"px, \").concat(y, \"px, \").concat(z, \"px)\"));\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n }\n\n function minTranslate() {\n return -this.snapGrid[0];\n }\n\n function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n }\n\n function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n var _wrapperEl$scrollTo;\n\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _defineProperty(_wrapperEl$scrollTo, isH ? 'left' : 'top', -newTranslate), _defineProperty(_wrapperEl$scrollTo, \"behavior\", 'smooth'), _wrapperEl$scrollTo));\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n }\n\n var translate = {\n getTranslate: getSwiperTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n };\n\n function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n }\n\n function transitionEmit(_ref) {\n var swiper = _ref.swiper,\n runCallbacks = _ref.runCallbacks,\n direction = _ref.direction,\n step = _ref.step;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex;\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit(\"transition\".concat(step));\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(\"slideResetTransition\".concat(step));\n return;\n }\n\n swiper.emit(\"slideChangeTransition\".concat(step));\n\n if (dir === 'next') {\n swiper.emit(\"slideNextTransition\".concat(step));\n } else {\n swiper.emit(\"slidePrevTransition\".concat(step));\n }\n }\n }\n\n function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'Start'\n });\n }\n\n function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'End'\n });\n }\n\n var transition = {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n };\n\n function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\".concat(_typeof(index), \"] given.\"));\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\".concat(index, \"] given.\"));\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n var translate = -snapGrid[snapIndex]; // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGrid = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n } // Update progress\n\n\n swiper.updateProgress(translate);\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = rtl ? translate : -translate;\n\n if (speed === 0) {\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n\n if (isVirtual) {\n requestAnimationFrame(function () {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n var _wrapperEl$scrollTo2;\n\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo2 = {}, _defineProperty(_wrapperEl$scrollTo2, isH ? 'left' : 'top', t), _defineProperty(_wrapperEl$scrollTo2, \"behavior\", 'smooth'), _wrapperEl$scrollTo2));\n }\n\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n\n return true;\n }\n\n function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\".concat(index, \"] given.\"));\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n }\n /* eslint no-unused-vars: \"off\" */\n\n\n function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var animating = swiper.animating,\n enabled = swiper.enabled,\n params = swiper.params;\n if (!enabled) return swiper;\n var perGroup = params.slidesPerGroup;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n }\n /* eslint no-unused-vars: \"off\" */\n\n\n function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n var prevSnapIndex;\n snapGrid.forEach(function (snap, snapIndex) {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n\n var prevIndex = 0;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n\n if (params.rewind && swiper.isBeginning) {\n var lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n }\n /* eslint no-unused-vars: \"off\" */\n\n\n function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n }\n /* eslint no-unused-vars: \"off\" */\n\n\n function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n }\n\n function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n }\n\n var slide = {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n };\n\n function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n var $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass)).remove();\n var slides = $selector.children(\".\".concat(params.slideClass));\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(\"\".concat(params.slideClass, \" \").concat(params.slideBlankClass));\n $selector.append(blankNode);\n }\n\n slides = $selector.children(\".\".concat(params.slideClass));\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i2 = 0; _i2 < swiper.loopedSlides; _i2 += 1) {\n var _index2 = _i2 - Math.floor(_i2 / slides.length) * slides.length;\n\n appendSlides.push(slides.eq(_index2)[0]);\n prependSlides.unshift(slides.eq(slides.length - _index2 - 1)[0]);\n }\n\n for (var _i3 = 0; _i3 < appendSlides.length; _i3 += 1) {\n $selector.append($(appendSlides[_i3].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i4 = prependSlides.length - 1; _i4 >= 0; _i4 -= 1) {\n $selector.prepend($(prependSlides[_i4].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n }\n\n function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n }\n\n function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \",.\").concat(params.slideClass, \".\").concat(params.slideBlankClass)).remove();\n slides.removeAttr('data-swiper-slide-index');\n }\n\n var loop = {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n };\n\n function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n }\n\n function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n }\n\n var grabCursor = {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n };\n\n function closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n\n if (!found && !el.getRootNode) {\n return null;\n }\n\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n }\n\n function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line\n\n var eventPath = event.composedPath ? event.composedPath() : event.path;\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = $(eventPath[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\".concat(params.noSwipingClass);\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n\n swiper.emit('touchStart', e);\n }\n\n function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n }\n\n function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n slidesGrid = swiper.slidesGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n var pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos: currentPos\n });\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n var rewindFirstIndex = null;\n var rewindLastIndex = null;\n\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n }\n\n function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n }\n\n function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n }\n\n function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n }\n\n var dummyEventAttached = false;\n\n function dummyEventListener() {}\n\n var events = function events(swiper, method) {\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested;\n var domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n var swiperMethod = method; // Touch Events\n\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n };\n\n function attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n }\n\n function detachEvents() {\n var swiper = this;\n events(swiper, 'off');\n }\n\n var events$1 = {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n };\n\n var isGridEnabled = function isGridEnabled(swiper, params) {\n return swiper.grid && params.grid && params.grid.rows > 1;\n };\n\n function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = isGridEnabled(swiper, params);\n var isMultiRow = isGridEnabled(swiper, breakpointParams);\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(\"\".concat(params.containerModifierClass, \"grid \").concat(params.containerModifierClass, \"grid-column\"));\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(\"\".concat(params.containerModifierClass, \"grid\"));\n\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n $el.addClass(\"\".concat(params.containerModifierClass, \"grid-column\"));\n }\n\n swiper.emitContainerClasses();\n } // Toggle navigation, pagination, scrollbar\n\n\n ['navigation', 'pagination', 'scrollbar'].forEach(function (prop) {\n var wasModuleEnabled = params[prop] && params[prop].enabled;\n var isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n }\n\n function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \".concat(value, \"px)\")).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n }\n\n var breakpoints = {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n };\n\n function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (_typeof(item) === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n }\n\n function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': !support.touch\n }, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push.apply(classNames, _toConsumableArray(suffixes));\n $el.addClass(_toConsumableArray(classNames).join(' '));\n swiper.emitContainerClasses();\n }\n\n function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n }\n\n var classes = {\n addClasses: addClasses,\n removeClasses: removeClasses\n };\n\n function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n }\n\n function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n }\n\n var images = {\n loadImage: loadImage,\n preloadImages: preloadImages\n };\n\n function checkOverflow() {\n var swiper = this;\n var wasLocked = swiper.isLocked,\n params = swiper.params;\n var slidesOffsetBefore = params.slidesOffsetBefore;\n\n if (slidesOffsetBefore) {\n var lastSlideIndex = swiper.slides.length - 1;\n var lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n }\n\n var checkOverflow$1 = {\n checkOverflow: checkOverflow\n };\n var defaults = {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n };\n\n function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n var moduleParamName = Object.keys(obj)[0];\n var moduleParams = obj[moduleParamName];\n\n if (_typeof(moduleParams) !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (_typeof(params[moduleParamName]) === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n }\n /* eslint no-param-reassign: \"off\" */\n\n\n var prototypes = {\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n events: events$1,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow$1,\n classes: classes,\n images: images\n };\n var extendedDefaults = {};\n\n var Swiper = /*#__PURE__*/function () {\n function Swiper() {\n _classCallCheck(this, Swiper);\n\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n }); // eslint-disable-next-line no-constructor-return\n\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = _toConsumableArray(swiper.__modules__);\n\n if (params.modules && Array.isArray(params.modules)) {\n var _swiper$modules;\n\n (_swiper$modules = swiper.modules).push.apply(_swiper$modules, _toConsumableArray(params.modules));\n }\n\n var allModulesParams = {};\n swiper.modules.forEach(function (mod) {\n mod({\n swiper: swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['pointerdown', 'pointermove', 'pointerup'];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n // eslint-disable-next-line no-constructor-return\n\n\n return swiper;\n }\n\n _createClass(Swiper, [{\n key: \"enable\",\n value: function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n }\n }, {\n key: \"disable\",\n value: function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n }\n }, {\n key: \"setProgress\",\n value: function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }, {\n key: \"emitContainerClasses\",\n value: function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var cls = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n }, {\n key: \"getSlideClasses\",\n value: function getSlideClasses(slideEl) {\n var swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n }, {\n key: \"emitSlidesClasses\",\n value: function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n }, {\n key: \"slidesPerViewDynamic\",\n value: function slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n\n if (exact === void 0) {\n exact = false;\n }\n\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n slidesSizesGrid = swiper.slidesSizesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i5 = activeIndex - 1; _i5 >= 0; _i5 -= 1) {\n if (slides[_i5] && !breakLoop) {\n slideSize += slides[_i5].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (var _i6 = activeIndex + 1; _i6 < slides.length; _i6 += 1) {\n var slideInView = exact ? slidesGrid[_i6] + slidesSizesGrid[_i6] - slidesGrid[activeIndex] < swiperSize : slidesGrid[_i6] - slidesGrid[activeIndex] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (var _i7 = activeIndex - 1; _i7 >= 0; _i7 -= 1) {\n var _slideInView = slidesGrid[activeIndex] - slidesGrid[_i7] < swiperSize;\n\n if (_slideInView) {\n spv += 1;\n }\n }\n }\n }\n\n return spv;\n }\n }, {\n key: \"update\",\n value: function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n }, {\n key: \"changeDirection\",\n value: function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass).concat(currentDirection)).addClass(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n }, {\n key: \"changeLanguageDirection\",\n value: function changeLanguageDirection(direction) {\n var swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n\n if (swiper.rtl) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'ltr';\n }\n\n swiper.update();\n }\n }, {\n key: \"mount\",\n value: function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\".concat((swiper.params.wrapperClass || '').trim().split(' ').join('.'));\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var _document2 = getDocument();\n\n var wrapper = _document2.createElement('div');\n\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\".concat(swiper.params.slideClass)).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n }\n }, {\n key: \"init\",\n value: function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n }, {\n key: \"destroy\",\n value: function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n }], [{\n key: \"extendDefaults\",\n value: function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n }, {\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }, {\n key: \"installModule\",\n value: function installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n var modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n }\n }]);\n\n return Swiper;\n }();\n\n Object.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n });\n Swiper.use([Resize, Observer]);\n\n function Virtual(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n var cssModeTimeout;\n swiper.virtual = {\n cache: {},\n from: undefined,\n to: undefined,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n\n function renderSlide(slide, index) {\n var params = swiper.params.virtual;\n\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n\n var $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $(\"<div class=\\\"\".concat(swiper.params.slideClass, \"\\\" data-swiper-slide-index=\\\"\").concat(index, \"\\\">\").concat(slide, \"</div>\"));\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n }\n\n function update(force) {\n var _swiper$params = swiper.params,\n slidesPerView = _swiper$params.slidesPerView,\n slidesPerGroup = _swiper$params.slidesPerGroup,\n centeredSlides = _swiper$params.centeredSlides;\n var _swiper$params$virtua = swiper.params.virtual,\n addSlidesBefore = _swiper$params$virtua.addSlidesBefore,\n addSlidesAfter = _swiper$params$virtua.addSlidesAfter;\n var _swiper$virtual = swiper.virtual,\n previousFrom = _swiper$virtual.from,\n previousTo = _swiper$virtual.to,\n slides = _swiper$virtual.slides,\n previousSlidesGrid = _swiper$virtual.slidesGrid,\n previousOffset = _swiper$virtual.offset;\n\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n\n var activeIndex = swiper.activeIndex || 0;\n var offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n var slidesAfter;\n var slidesBefore;\n\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n Object.assign(swiper.virtual, {\n from: from,\n to: to,\n offset: offset,\n slidesGrid: swiper.slidesGrid\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n\n emit('virtualUpdate');\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, \"\".concat(offset, \"px\"));\n }\n\n swiper.updateProgress();\n emit('virtualUpdate');\n return;\n }\n\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset,\n from: from,\n to: to,\n slides: function getSlides() {\n var slidesToRender = [];\n\n for (var i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n\n return slidesToRender;\n }()\n });\n\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit('virtualUpdate');\n }\n\n return;\n }\n\n var prependIndexes = [];\n var appendIndexes = [];\n\n if (force) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass)).remove();\n } else {\n for (var i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(i, \"\\\"]\")).remove();\n }\n }\n }\n\n for (var _i8 = 0; _i8 < slides.length; _i8 += 1) {\n if (_i8 >= from && _i8 <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(_i8);\n } else {\n if (_i8 > previousTo) appendIndexes.push(_i8);\n if (_i8 < previousFrom) prependIndexes.push(_i8);\n }\n }\n }\n\n appendIndexes.forEach(function (index) {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort(function (a, b) {\n return b - a;\n }).forEach(function (index) {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, \"\".concat(offset, \"px\"));\n onRendered();\n }\n\n function appendSlide(slides) {\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n\n update(true);\n }\n\n function prependSlide(slides) {\n var activeIndex = swiper.activeIndex;\n var newActiveIndex = activeIndex + 1;\n var numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n\n if (swiper.params.virtual.cache) {\n var cache = swiper.virtual.cache;\n var newCache = {};\n Object.keys(cache).forEach(function (cachedIndex) {\n var $cachedEl = cache[cachedIndex];\n var cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\n\n if (cachedElIndex) {\n $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n\n function removeSlide(slidesIndexes) {\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n var activeIndex = swiper.activeIndex;\n\n if (Array.isArray(slidesIndexes)) {\n for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n\n function removeAllSlides() {\n swiper.virtual.slides = [];\n\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n\n update(true);\n swiper.slideTo(0, 0);\n }\n\n on('beforeInit', function () {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.slides = swiper.params.virtual.slides;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"virtual\"));\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n\n if (!swiper.params.initialSlide) {\n update();\n }\n });\n on('setTranslate', function () {\n if (!swiper.params.virtual.enabled) return;\n\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(function () {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on('init update resize', function () {\n if (!swiper.params.virtual.enabled) return;\n\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-virtual-size', \"\".concat(swiper.virtualSize, \"px\"));\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides,\n update: update\n });\n }\n /* eslint-disable consistent-return */\n\n\n function Keyboard(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var document = getDocument();\n var window = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n\n function handle(event) {\n if (!swiper.enabled) return;\n var rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var kc = e.keyCode || e.charCode;\n var pageUpDown = swiper.params.keyboard.pageUpDown;\n var isPageUp = pageUpDown && kc === 33;\n var isPageDown = pageUpDown && kc === 34;\n var isArrowLeft = kc === 37;\n var isArrowRight = kc === 39;\n var isArrowUp = kc === 38;\n var isArrowDown = kc === 40; // Directions locks\n\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n var inView = false; // Check that swiper should be inside of visible area of window\n\n if (swiper.$el.parents(\".\".concat(swiper.params.slideClass)).length > 0 && swiper.$el.parents(\".\".concat(swiper.params.slideActiveClass)).length === 0) {\n return undefined;\n }\n\n var $el = swiper.$el;\n var swiperWidth = $el[0].clientWidth;\n var swiperHeight = $el[0].clientHeight;\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n if (!inView) return undefined;\n }\n\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n\n emit('keyPress', kc);\n return undefined;\n }\n\n function enable() {\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', handle);\n swiper.keyboard.enabled = true;\n }\n\n function disable() {\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', handle);\n swiper.keyboard.enabled = false;\n }\n\n on('init', function () {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on('destroy', function () {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable: enable,\n disable: disable\n });\n }\n /* eslint-disable consistent-return */\n\n\n function Mousewheel(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var window = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n var timeout;\n var lastScrollTime = now();\n var lastEventBeforeSnap;\n var recentWheelEvents = [];\n\n function normalize(e) {\n // Reasonable defaults\n var PIXEL_STEP = 10;\n var LINE_HEIGHT = 40;\n var PAGE_HEIGHT = 800;\n var sX = 0;\n var sY = 0; // spinX, spinY\n\n var pX = 0;\n var pY = 0; // pixelX, pixelY\n // Legacy\n\n if ('detail' in e) {\n sY = e.detail;\n }\n\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n } // side scrolling on FF with DOMMouseScroll\n\n\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n } // Fall-back if spin cannot be determined\n\n\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n } // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n\n\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n // Return false as a default\n return true;\n } // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n\n\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit('scroll', newEvent.raw);\n } // If you got here is because an animation has been triggered so store the current time\n\n\n lastScrollTime = new window.Date().getTime(); // Return false as a default\n\n return false;\n }\n\n function releaseScroll(newEvent) {\n var params = swiper.params.mousewheel;\n\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n\n return false;\n }\n\n function handle(event) {\n var e = event;\n var disableParentSwiper = true;\n if (!swiper.enabled) return;\n var params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var delta = 0;\n var rtlFactor = swiper.rtlTranslate ? -1 : 1;\n var data = normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n if (params.invert) delta = -delta; // Get the scroll positions\n\n var positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n // Register the new event in a variable which stores the relevant data\n var newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n }; // Keep the most recent events\n\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n var prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n } // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n\n\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n var _newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n var ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;\n\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n\n var position = swiper.getTranslate() + delta * params.sensitivity;\n var wasBeginning = swiper.isBeginning;\n var wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode.sticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(timeout);\n timeout = undefined;\n\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n var _prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n\n var firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(_newEvent);\n\n if (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n var snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = _newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(function () {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n timeout = nextTick(function () {\n var snapToThreshold = 0.5;\n lastEventBeforeSnap = _newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n } // Emit event\n\n\n if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay\n\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions\n\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n }\n\n function events(method) {\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target[method]('mouseenter', handleMouseEnter);\n target[method]('mouseleave', handleMouseLeave);\n target[method]('wheel', handle);\n }\n\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener('wheel', handle);\n return true;\n }\n\n if (swiper.mousewheel.enabled) return false;\n events('on');\n swiper.mousewheel.enabled = true;\n return true;\n }\n\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n\n if (!swiper.mousewheel.enabled) return false;\n events('off');\n swiper.mousewheel.enabled = false;\n return true;\n }\n\n on('init', function () {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n\n if (swiper.params.mousewheel.enabled) enable();\n });\n on('destroy', function () {\n if (swiper.params.cssMode) {\n enable();\n }\n\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable: enable,\n disable: disable\n });\n }\n\n function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n var document = getDocument();\n\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = swiper.$el.children(\".\".concat(checkProps[key]))[0];\n\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n\n return params;\n }\n\n function Navigation(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null\n };\n\n function getEl(el) {\n var $el;\n\n if (el) {\n $el = $(el);\n\n if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {\n $el = swiper.$el.find(el);\n }\n }\n\n return $el;\n }\n\n function toggleEl($el, disabled) {\n var params = swiper.params.navigation;\n\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n\n function init() {\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl = getEl(params.nextEl);\n var $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', function () {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', function () {\n update();\n });\n on('destroy', function () {\n destroy();\n });\n on('enable disable', function () {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', function (_s, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n\n var enable = function enable() {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n\n var disable = function disable() {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n\n Object.assign(swiper.navigation, {\n enable: enable,\n disable: disable,\n update: update,\n init: init,\n destroy: destroy\n });\n }\n\n function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\".concat(classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.'));\n }\n\n function Pagination(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: \"\".concat(pfx, \"-bullet\"),\n bulletActiveClass: \"\".concat(pfx, \"-bullet-active\"),\n modifierClass: \"\".concat(pfx, \"-\"),\n currentClass: \"\".concat(pfx, \"-current\"),\n totalClass: \"\".concat(pfx, \"-total\"),\n hiddenClass: \"\".concat(pfx, \"-hidden\"),\n progressbarFillClass: \"\".concat(pfx, \"-progressbar-fill\"),\n progressbarOppositeClass: \"\".concat(pfx, \"-progressbar-opposite\"),\n clickableClass: \"\".concat(pfx, \"-clickable\"),\n lockClass: \"\".concat(pfx, \"-lock\"),\n horizontalClass: \"\".concat(pfx, \"-horizontal\"),\n verticalClass: \"\".concat(pfx, \"-vertical\"),\n paginationDisabledClass: \"\".concat(pfx, \"-disabled\")\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n var bulletSize;\n var dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n\n function setSideBullets($bulletEl, position) {\n var bulletActiveClass = swiper.params.pagination.bulletActiveClass;\n $bulletEl[position]().addClass(\"\".concat(bulletActiveClass, \"-\").concat(position))[position]().addClass(\"\".concat(bulletActiveClass, \"-\").concat(position, \"-\").concat(position));\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', \"\".concat(bulletSize * (params.dynamicMainBullets + 4), \"px\"));\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(function (suffix) {\n return \"\".concat(params.bulletActiveClass).concat(suffix);\n }).join(' '));\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (var _i9 = params.dynamicMainBullets; _i9 >= 0; _i9 -= 1) {\n bullets.eq(bullets.length - _i9).addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(\"\".concat(params.bulletActiveClass, \"-prev\"));\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', \"\".concat(bulletsOffset, \"px\"));\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\".concat(scaleX, \") scaleY(\").concat(scaleY, \")\")).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n function render() {\n // Render Container\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\".concat(params.bulletElement, \" class=\\\"\").concat(params.bulletClass, \"\\\"></\").concat(params.bulletElement, \">\");\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"<span class=\\\"\".concat(params.currentClass, \"\\\"></span>\") + ' / ' + \"<span class=\\\"\".concat(params.totalClass, \"\\\"></span>\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"<span class=\\\"\".concat(params.progressbarFillClass, \"\\\"></span>\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper\n\n if ($el.length > 1) {\n $el = $el.filter(function (el) {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\".concat(params.modifierClass).concat(params.type, \"-dynamic\"));\n dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', function () {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', function () {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', function () {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', function () {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', function () {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', function () {\n destroy();\n });\n on('enable disable', function () {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', function () {\n update();\n });\n on('click', function (_s, e) {\n var targetEl = e.target;\n var $el = swiper.pagination.$el;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n var enable = function enable() {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n init();\n render();\n update();\n };\n\n var disable = function disable() {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable: enable,\n disable: disable,\n render: render,\n update: update,\n init: init,\n destroy: destroy\n });\n }\n\n function Scrollbar(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var document = getDocument();\n var isTouched = false;\n var timeout = null;\n var dragTimeout = null;\n var dragStartPos;\n var dragSize;\n var trackSize;\n var divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: \"swiper-scrollbar-horizontal\",\n verticalClass: \"swiper-scrollbar-vertical\"\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null,\n $el: null,\n $dragEl: null\n };\n\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n $dragEl.transform(\"translate3d(\".concat(newPos, \"px, 0, 0)\"));\n $dragEl[0].style.width = \"\".concat(newSize, \"px\");\n } else {\n $dragEl.transform(\"translate3d(0px, \".concat(newPos, \"px, 0)\"));\n $dragEl[0].style.height = \"\".concat(newSize, \"px\");\n }\n\n if (params.hide) {\n clearTimeout(timeout);\n $el[0].style.opacity = 1;\n timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n }\n\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n }\n\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = \"\".concat(dragSize, \"px\");\n } else {\n $dragEl[0].style.height = \"\".concat(dragSize, \"px\");\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n }\n }\n\n function getPointerPosition(e) {\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n }\n\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n }\n\n function setDragPosition(e) {\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el;\n var positionRatio;\n positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n function onDragStart(e) {\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n isTouched = true;\n dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n setDragPosition(e);\n clearTimeout(dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n\n emit('scrollbarDragStart', e);\n }\n\n function onDragMove(e) {\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n emit('scrollbarDragMove', e);\n }\n\n function onDragEnd(e) {\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el;\n if (!isTouched) return;\n isTouched = false;\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n\n function events(method) {\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n if (!$el) return;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n var eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n\n if (!support.touch) {\n target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);\n document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);\n document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);\n } else {\n target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);\n target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);\n target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);\n }\n }\n\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n\n function init() {\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n var params = swiper.params.scrollbar;\n if (!params.el) return;\n var $el = $(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n var $dragEl = $el.find(\".\".concat(swiper.params.scrollbar.dragClass));\n\n if ($dragEl.length === 0) {\n $dragEl = $(\"<div class=\\\"\".concat(swiper.params.scrollbar.dragClass, \"\\\"></div>\"));\n $el.append($dragEl);\n }\n\n Object.assign(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n }\n\n function destroy() {\n var params = swiper.params.scrollbar;\n var $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n\n disableDraggable();\n }\n\n on('init', function () {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', function () {\n updateSize();\n });\n on('setTranslate', function () {\n setTranslate();\n });\n on('setTransition', function (_s, duration) {\n setTransition(duration);\n });\n on('enable disable', function () {\n var $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', function () {\n destroy();\n });\n\n var enable = function enable() {\n swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n\n init();\n updateSize();\n setTranslate();\n };\n\n var disable = function disable() {\n swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.scrollbar, {\n enable: enable,\n disable: disable,\n updateSize: updateSize,\n setTranslate: setTranslate,\n init: init,\n destroy: destroy\n });\n }\n\n function Parallax(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n parallax: {\n enabled: false\n }\n });\n\n var setTransform = function setTransform(el, progress) {\n var rtl = swiper.rtl;\n var $el = $(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = \"\".concat(parseInt(x, 10) * progress * rtlFactor, \"%\");\n } else {\n x = \"\".concat(x * progress * rtlFactor, \"px\");\n }\n\n if (y.indexOf('%') >= 0) {\n y = \"\".concat(parseInt(y, 10) * progress, \"%\");\n } else {\n y = \"\".concat(y * progress, \"px\");\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px)\"));\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px) scale(\").concat(currentScale, \")\"));\n }\n };\n\n var setTranslate = function setTranslate() {\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n setTransform(el, progress);\n });\n slides.each(function (slideEl, slideIndex) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n setTransform(el, slideProgress);\n });\n });\n };\n\n var setTransition = function setTransition(duration) {\n if (duration === void 0) {\n duration = swiper.params.speed;\n }\n\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {\n var $parallaxEl = $(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n };\n\n on('beforeInit', function () {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on('init', function () {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTranslate', function () {\n if (!swiper.params.parallax.enabled) return;\n setTranslate();\n });\n on('setTransition', function (_swiper, duration) {\n if (!swiper.params.parallax.enabled) return;\n setTransition(duration);\n });\n }\n\n function Zoom(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var window = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n });\n swiper.zoom = {\n enabled: false\n };\n var currentScale = 1;\n var isScaling = false;\n var gesturesEnabled;\n var fakeGestureTouched;\n var fakeGestureMoved;\n var gesture = {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3\n };\n var image = {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n };\n var velocity = {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n };\n var scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get: function get() {\n return scale;\n },\n set: function set(value) {\n if (scale !== value) {\n var imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;\n var slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;\n emit('zoomChange', value, imageEl, slideEl);\n }\n\n scale = value;\n }\n });\n\n function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX;\n var y1 = e.targetTouches[0].pageY;\n var x2 = e.targetTouches[1].pageX;\n var y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n } // Events\n\n\n function onGestureStart(e) {\n var support = swiper.support;\n var params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n\n if (!support.gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest(\".\".concat(swiper.params.slideClass));\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find(\".\".concat(params.containerClass)).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n\n isScaling = true;\n }\n\n function onGestureChange(e) {\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n\n if (!support.gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === 'gesturechange') onGestureStart(e);\n return;\n }\n\n if (support.gestures) {\n zoom.scale = e.scale * currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n }\n\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\n }\n\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\n }\n\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n }\n\n function onGestureEnd(e) {\n var device = swiper.device;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n\n if (!support.gestures) {\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {\n return;\n }\n\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n }\n\n function onTouchStart(e) {\n var device = swiper.device;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n }\n\n function onTouchMove(e) {\n var zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n } // Define if we need image drag\n\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n return;\n }\n\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n return;\n }\n }\n\n if (e.cancelable) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\n }\n\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\n }\n\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\n } // Velocity\n\n\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n }\n\n function onTouchEnd() {\n var zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n\n image.isTouched = false;\n image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocity.x * momentumDurationX;\n var newPositionX = image.currentX + momentumDistanceX;\n var momentumDistanceY = velocity.y * momentumDurationY;\n var newPositionY = image.currentY + momentumDistanceY; // Fix duration\n\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY; // Define if we need image drag\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n }\n\n function onTransitionEnd() {\n var zoom = swiper.zoom;\n\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n }\n\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n }\n\n zoom.scale = 1;\n currentScale = 1;\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n }\n\n function zoomIn(e) {\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = $(e.target).closest(\".\".concat(swiper.params.slideClass));\n }\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideActiveClass));\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n\n gesture.$imageEl = gesture.$slideEl.find(\".\".concat(params.containerClass)).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.touchAction = 'none';\n }\n\n gesture.$slideEl.addClass(\"\".concat(params.zoomedSlideClass));\n var touchX;\n var touchY;\n var offsetX;\n var offsetY;\n var diffX;\n var diffY;\n var translateX;\n var translateY;\n var imageWidth;\n var imageHeight;\n var scaledWidth;\n var scaledHeight;\n var translateMinX;\n var translateMinY;\n var translateMaxX;\n var translateMaxY;\n var slideWidth;\n var slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window.scrollX;\n offsetY = gesture.$slideEl.offset().top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px,0)\"));\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n }\n\n function zoomOut() {\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideActiveClass));\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n\n gesture.$imageEl = gesture.$slideEl.find(\".\".concat(params.containerClass)).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.style.touchAction = '';\n }\n\n zoom.scale = 1;\n currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(\"\".concat(params.zoomedSlideClass));\n gesture.$slideEl = undefined;\n } // Toggle Zoom\n\n\n function zoomToggle(e) {\n var zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoomOut();\n } else {\n // Zoom In\n zoomIn(e);\n }\n }\n\n function getListeners() {\n var support = swiper.support;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n var activeListenerWithCapture = support.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n return {\n passiveListener: passiveListener,\n activeListenerWithCapture: activeListenerWithCapture\n };\n }\n\n function getSlideSelector() {\n return \".\".concat(swiper.params.slideClass);\n }\n\n function toggleGestures(method) {\n var _getListeners = getListeners(),\n passiveListener = _getListeners.passiveListener;\n\n var slideSelector = getSlideSelector();\n swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener);\n swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener);\n }\n\n function enableGestures() {\n if (gesturesEnabled) return;\n gesturesEnabled = true;\n toggleGestures('on');\n }\n\n function disableGestures() {\n if (!gesturesEnabled) return;\n gesturesEnabled = false;\n toggleGestures('off');\n } // Attach/Detach Events\n\n\n function enable() {\n var zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n var support = swiper.support;\n\n var _getListeners2 = getListeners(),\n passiveListener = _getListeners2.passiveListener,\n activeListenerWithCapture = _getListeners2.activeListenerWithCapture;\n\n var slideSelector = getSlideSelector(); // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.on(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), onTouchMove, activeListenerWithCapture);\n }\n\n function disable() {\n var zoom = swiper.zoom;\n if (!zoom.enabled) return;\n var support = swiper.support;\n zoom.enabled = false;\n\n var _getListeners3 = getListeners(),\n passiveListener = _getListeners3.passiveListener,\n activeListenerWithCapture = _getListeners3.activeListenerWithCapture;\n\n var slideSelector = getSlideSelector(); // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.off(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), onTouchMove, activeListenerWithCapture);\n }\n\n on('init', function () {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on('destroy', function () {\n disable();\n });\n on('touchStart', function (_s, e) {\n if (!swiper.zoom.enabled) return;\n onTouchStart(e);\n });\n on('touchEnd', function (_s, e) {\n if (!swiper.zoom.enabled) return;\n onTouchEnd();\n });\n on('doubleTap', function (_s, e) {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n zoomToggle(e);\n }\n });\n on('transitionEnd', function () {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on('slideChange', function () {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n Object.assign(swiper.zoom, {\n enable: enable,\n disable: disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle\n });\n }\n\n function Lazy(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n extendParams({\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n });\n swiper.lazy = {};\n var scrollHandlerAttached = false;\n var initialImageLoaded = false;\n\n function loadInSlide(index, loadInDuplicate) {\n if (loadInDuplicate === void 0) {\n loadInDuplicate = true;\n }\n\n var params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")) : swiper.slides.eq(index);\n var $images = $slideEl.find(\".\".concat(params.elementClass, \":not(.\").concat(params.loadedClass, \"):not(.\").concat(params.loadingClass, \")\"));\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images.push($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(function (imageEl) {\n var $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n var background = $imageEl.attr('data-background');\n var src = $imageEl.attr('data-src');\n var srcset = $imageEl.attr('data-srcset');\n var sizes = $imageEl.attr('data-sizes');\n var $pictureEl = $imageEl.parent('picture');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', \"url(\\\"\".concat(background, \"\\\")\"));\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if ($pictureEl.length) {\n $pictureEl.children('source').each(function (sourceEl) {\n var $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(\".\".concat(params.preloaderClass)).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n var originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(slideOriginalIndex, \"\\\"]:not(.\").concat(swiper.params.slideDuplicateClass, \")\"));\n loadInSlide(originalSlide.index(), false);\n } else {\n var duplicatedSlide = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(slideOriginalIndex, \"\\\"]\"));\n loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n }\n\n function load() {\n var $wrapperEl = swiper.$wrapperEl,\n swiperParams = swiper.params,\n slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n var params = swiperParams.lazy;\n var slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(\".\".concat(swiperParams.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")).length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n\n return $(slideEl).index();\n }\n\n if (!initialImageLoaded) initialImageLoaded = true;\n\n if (swiper.params.watchSlidesProgress) {\n $wrapperEl.children(\".\".concat(swiperParams.slideVisibleClass)).each(function (slideEl) {\n var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n var amount = params.loadPrevNextAmount;\n var spv = Math.ceil(slidesPerView);\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (var _i10 = activeIndex + spv; _i10 < maxIndex; _i10 += 1) {\n if (slideExist(_i10)) loadInSlide(_i10);\n } // Prev Slides\n\n\n for (var _i11 = minIndex; _i11 < activeIndex; _i11 += 1) {\n if (slideExist(_i11)) loadInSlide(_i11);\n }\n } else {\n var nextSlide = $wrapperEl.children(\".\".concat(swiperParams.slideNextClass));\n if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));\n var prevSlide = $wrapperEl.children(\".\".concat(swiperParams.slidePrevClass));\n if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n\n function checkInViewOnLoad() {\n var window = getWindow();\n if (!swiper || swiper.destroyed) return;\n var $scrollElement = swiper.params.lazy.scrollingElement ? $(swiper.params.lazy.scrollingElement) : $(window);\n var isWindow = $scrollElement[0] === window;\n var scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n var scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n var swiperOffset = swiper.$el.offset();\n var rtl = swiper.rtlTranslate;\n var inView = false;\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n var passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (inView) {\n load();\n $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);\n } else if (!scrollHandlerAttached) {\n scrollHandlerAttached = true;\n $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);\n }\n }\n\n on('beforeInit', function () {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n });\n on('init', function () {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('scroll', function () {\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) {\n load();\n }\n });\n on('scrollbarDragMove resize _freeModeNoMomentumRelease', function () {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('transitionStart', function () {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n }\n });\n on('transitionEnd', function () {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('slideChange', function () {\n var _swiper$params2 = swiper.params,\n lazy = _swiper$params2.lazy,\n cssMode = _swiper$params2.cssMode,\n watchSlidesProgress = _swiper$params2.watchSlidesProgress,\n touchReleaseOnEdges = _swiper$params2.touchReleaseOnEdges,\n resistanceRatio = _swiper$params2.resistanceRatio;\n\n if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) {\n load();\n }\n });\n on('destroy', function () {\n if (!swiper.$el) return;\n swiper.$el.find(\".\".concat(swiper.params.lazy.loadingClass)).removeClass(swiper.params.lazy.loadingClass);\n });\n Object.assign(swiper.lazy, {\n load: load,\n loadInSlide: loadInSlide\n });\n }\n /* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\n\n\n function Controller(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n\n }\n });\n swiper.controller = {\n control: undefined\n };\n\n function LinearSpline(x, y) {\n var binarySearch = function search() {\n var maxIndex;\n var minIndex;\n var guess;\n return function (array, val) {\n minIndex = -1;\n maxIndex = array.length;\n\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n\n return maxIndex;\n };\n }();\n\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n\n var i1;\n var i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n\n return this;\n } // xxx: for now i will just save one spline function to to\n\n\n function getInterpolateFunction(c) {\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n }\n\n function setTranslate(_t, byController) {\n var controlled = swiper.controller.control;\n var multiplier;\n var controlledTranslate;\n var Swiper = swiper.constructor;\n\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n\n if (swiper.params.controller.by === 'slide') {\n getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n\n if (Array.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n\n function setTransition(duration, byController) {\n var Swiper = swiper.constructor;\n var controlled = swiper.controller.control;\n var i;\n\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n\n if (duration !== 0) {\n c.transitionStart();\n\n if (c.params.autoHeight) {\n nextTick(function () {\n c.updateAutoHeight();\n });\n }\n\n c.$wrapperEl.transitionEnd(function () {\n if (!controlled) return;\n\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n\n c.transitionEnd();\n });\n }\n }\n\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n\n function removeSpline() {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n }\n\n on('beforeInit', function () {\n swiper.controller.control = swiper.params.controller.control;\n });\n on('update', function () {\n removeSpline();\n });\n on('resize', function () {\n removeSpline();\n });\n on('observerUpdate', function () {\n removeSpline();\n });\n on('setTranslate', function (_s, translate, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on('setTransition', function (_s, duration, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n });\n Object.assign(swiper.controller, {\n setTranslate: setTranslate,\n setTransition: setTransition\n });\n }\n\n function A11y(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null\n }\n });\n swiper.a11y = {\n clicked: false\n };\n var liveRegion = null;\n\n function notify(message) {\n var notification = liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n }\n\n function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n\n var randomChar = function randomChar() {\n return Math.round(16 * Math.random()).toString(16);\n };\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n\n function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n }\n\n function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n }\n\n function addElRole($el, role) {\n $el.attr('role', role);\n }\n\n function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n }\n\n function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n }\n\n function addElLabel($el, label) {\n $el.attr('aria-label', label);\n }\n\n function addElId($el, id) {\n $el.attr('id', id);\n }\n\n function addElLive($el, live) {\n $el.attr('aria-live', live);\n }\n\n function disableEl($el) {\n $el.attr('aria-disabled', true);\n }\n\n function enableEl($el) {\n $el.attr('aria-disabled', false);\n }\n\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n var params = swiper.params.a11y;\n var $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n }\n\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n var _swiper$navigation5 = swiper.navigation,\n $nextEl = _swiper$navigation5.$nextEl,\n $prevEl = _swiper$navigation5.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n disableEl($prevEl);\n makeElNotFocusable($prevEl);\n } else {\n enableEl($prevEl);\n makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n disableEl($nextEl);\n makeElNotFocusable($nextEl);\n } else {\n enableEl($nextEl);\n makeElFocusable($nextEl);\n }\n }\n }\n\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n\n function updatePagination() {\n var params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.each(function (bulletEl) {\n var $bulletEl = $(bulletEl);\n\n if (swiper.params.pagination.clickable) {\n makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n addElRole($bulletEl, 'button');\n addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n }\n\n if ($bulletEl.is(\".\".concat(swiper.params.pagination.bulletActiveClass))) {\n $bulletEl.attr('aria-current', 'true');\n } else {\n $bulletEl.removeAttr('aria-current');\n }\n });\n }\n\n var initNavEl = function initNavEl($el, wrapperId, message) {\n makeElFocusable($el);\n\n if ($el[0].tagName !== 'BUTTON') {\n addElRole($el, 'button');\n $el.on('keydown', onEnterOrSpaceKey);\n }\n\n addElLabel($el, message);\n addElControls($el, wrapperId);\n };\n\n var handlePointerDown = function handlePointerDown() {\n swiper.a11y.clicked = true;\n };\n\n var handlePointerUp = function handlePointerUp() {\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n swiper.a11y.clicked = false;\n });\n });\n };\n\n var handleFocus = function handleFocus(e) {\n if (swiper.a11y.clicked) return;\n var slideEl = e.target.closest(\".\".concat(swiper.params.slideClass));\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n var isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n var isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n\n var initSlides = function initSlides() {\n var params = swiper.params.a11y;\n\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n if (params.slideRole) {\n addElRole($(swiper.slides), params.slideRole);\n }\n\n var slidesLength = swiper.params.loop ? swiper.slides.filter(function (el) {\n return !el.classList.contains(swiper.params.slideDuplicateClass);\n }).length : swiper.slides.length;\n\n if (params.slideLabelMessage) {\n swiper.slides.each(function (slideEl, index) {\n var $slideEl = $(slideEl);\n var slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n var ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel($slideEl, ariaLabelMessage);\n });\n }\n };\n\n var init = function init() {\n var params = swiper.params.a11y;\n swiper.$el.append(liveRegion); // Container\n\n var $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n var $wrapperEl = swiper.$wrapperEl;\n var wrapperId = params.id || $wrapperEl.attr('id') || \"swiper-wrapper-\".concat(getRandomNumber(16));\n var live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId($wrapperEl, wrapperId);\n addElLive($wrapperEl, live); // Slide\n\n initSlides(); // Navigation\n\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n initNavEl($nextEl, wrapperId, params.nextSlideMessage);\n }\n\n if ($prevEl && $prevEl.length) {\n initNavEl($prevEl, wrapperId, params.prevSlideMessage);\n } // Pagination\n\n\n if (hasClickablePagination()) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n } // Tab focus\n\n\n swiper.$el.on('focus', handleFocus, true);\n swiper.$el.on('pointerdown', handlePointerDown, true);\n swiper.$el.on('pointerup', handlePointerUp, true);\n };\n\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', onEnterOrSpaceKey);\n } // Pagination\n\n\n if (hasClickablePagination()) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n } // Tab focus\n\n\n swiper.$el.off('focus', handleFocus, true);\n swiper.$el.off('pointerdown', handlePointerDown, true);\n swiper.$el.off('pointerup', handlePointerUp, true);\n }\n\n on('beforeInit', function () {\n liveRegion = $(\"<span class=\\\"\".concat(swiper.params.a11y.notificationClass, \"\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\"></span>\"));\n });\n on('afterInit', function () {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', function () {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', function () {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', function () {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', function () {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n }\n\n function History(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides',\n keepQuery: false\n }\n });\n var initialized = false;\n var paths = {};\n\n var slugify = function slugify(text) {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n };\n\n var getPathValues = function getPathValues(urlOverride) {\n var window = getWindow();\n var location;\n\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n\n var pathArray = location.pathname.slice(1).split('/').filter(function (part) {\n return part !== '';\n });\n var total = pathArray.length;\n var key = pathArray[total - 2];\n var value = pathArray[total - 1];\n return {\n key: key,\n value: value\n };\n };\n\n var setHistory = function setHistory(key, index) {\n var window = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n var location;\n\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n\n var slide = swiper.slides.eq(index);\n var value = slugify(slide.attr('data-history'));\n\n if (swiper.params.history.root.length > 0) {\n var root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = \"\".concat(root, \"/\").concat(key, \"/\").concat(value);\n } else if (!location.pathname.includes(key)) {\n value = \"\".concat(key, \"/\").concat(value);\n }\n\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n\n var currentState = window.history.state;\n\n if (currentState && currentState.value === value) {\n return;\n }\n\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value: value\n }, null, value);\n } else {\n window.history.pushState({\n value: value\n }, null, value);\n }\n };\n\n var scrollToSlide = function scrollToSlide(speed, value, runCallbacks) {\n if (value) {\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var _slide3 = swiper.slides.eq(i);\n\n var slideHistory = slugify(_slide3.attr('data-history'));\n\n if (slideHistory === value && !_slide3.hasClass(swiper.params.slideDuplicateClass)) {\n var _index3 = _slide3.index();\n\n swiper.slideTo(_index3, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n\n var setHistoryPopState = function setHistoryPopState() {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n\n var init = function init() {\n var window = getWindow();\n if (!swiper.params.history) return;\n\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) return;\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', setHistoryPopState);\n }\n };\n\n var destroy = function destroy() {\n var window = getWindow();\n\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', setHistoryPopState);\n }\n };\n\n on('init', function () {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on('destroy', function () {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', function () {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on('slideChange', function () {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n }\n\n function HashNavigation(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n emit = _ref.emit,\n on = _ref.on;\n var initialized = false;\n var document = getDocument();\n var window = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false\n }\n });\n\n var onHashChange = function onHashChange() {\n emit('hashChange');\n var newHash = document.location.hash.replace('#', '');\n var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n\n if (newHash !== activeSlideHash) {\n var newIndex = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideClass, \"[data-hash=\\\"\").concat(newHash, \"\\\"]\")).index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n };\n\n var setHash = function setHash() {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, \"#\".concat(swiper.slides.eq(swiper.activeIndex).attr('data-hash')) || '');\n emit('hashSet');\n } else {\n var _slide4 = swiper.slides.eq(swiper.activeIndex);\n\n var hash = _slide4.attr('data-hash') || _slide4.attr('data-history');\n\n document.location.hash = hash || '';\n emit('hashSet');\n }\n };\n\n var init = function init() {\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n initialized = true;\n var hash = document.location.hash.replace('#', '');\n\n if (hash) {\n var speed = 0;\n\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var _slide5 = swiper.slides.eq(i);\n\n var slideHash = _slide5.attr('data-hash') || _slide5.attr('data-history');\n\n if (slideHash === hash && !_slide5.hasClass(swiper.params.slideDuplicateClass)) {\n var _index4 = _slide5.index();\n\n swiper.slideTo(_index4, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', onHashChange);\n }\n };\n\n var destroy = function destroy() {\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', onHashChange);\n }\n };\n\n on('init', function () {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on('destroy', function () {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on('transitionEnd _freeModeNoMomentumRelease', function () {\n if (initialized) {\n setHash();\n }\n });\n on('slideChange', function () {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n }\n /* eslint no-underscore-dangle: \"off\" */\n\n\n function Autoplay(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var timeout;\n swiper.autoplay = {\n running: false,\n paused: false\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(timeout);\n timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n\n function start() {\n if (typeof timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit('autoplayStart');\n run();\n return true;\n }\n\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === 'undefined') return false;\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n emit('autoplayStop');\n return true;\n }\n\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);\n });\n }\n }\n\n function onVisibilityChange() {\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit('autoplayPause');\n pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n }\n\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n run();\n }\n\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', onMouseEnter);\n swiper.$el.on('mouseleave', onMouseLeave);\n }\n }\n\n function detachMouseEvents() {\n swiper.$el.off('mouseenter', onMouseEnter);\n swiper.$el.off('mouseleave', onMouseLeave);\n }\n\n on('init', function () {\n if (swiper.params.autoplay.enabled) {\n start();\n\n var _document3 = getDocument();\n\n _document3.addEventListener('visibilitychange', onVisibilityChange);\n\n attachMouseEvents();\n }\n });\n on('beforeTransitionStart', function (_s, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on('sliderFirstMove', function () {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on('touchEnd', function () {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n run();\n }\n });\n on('destroy', function () {\n detachMouseEvents();\n\n if (swiper.autoplay.running) {\n stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n });\n Object.assign(swiper.autoplay, {\n pause: pause,\n run: run,\n start: start,\n stop: stop\n });\n }\n\n function Thumb(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-thumbs'\n }\n });\n var initialized = false;\n var swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n\n function onThumbClick() {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n var clickedIndex = thumbsSwiper.clickedIndex;\n var clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n var slideToIndex;\n\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n\n if (swiper.params.loop) {\n var currentIndex = swiper.activeIndex;\n\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n\n var prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n var nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\n }\n\n swiper.slideTo(slideToIndex);\n }\n\n function init() {\n var thumbsParams = swiper.params.thumbs;\n if (initialized) return false;\n initialized = true;\n var SwiperClass = swiper.constructor;\n\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (isObject(thumbsParams.swiper)) {\n var thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', onThumbClick);\n return true;\n }\n\n function update(initial) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; // Activate thumbs\n\n var thumbsToActivate = 1;\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (var i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex + i, \"\\\"]\")).addClass(thumbActiveClass);\n }\n } else {\n for (var _i12 = 0; _i12 < thumbsToActivate; _i12 += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + _i12).addClass(thumbActiveClass);\n }\n }\n\n var autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n var useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n var currentThumbsIndex = thumbsSwiper.activeIndex;\n var newThumbsIndex;\n var direction;\n\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix(); // eslint-disable-next-line\n\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n } // Find actual thumbs index to slide to\n\n\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n\n if (typeof prevThumbsIndex === 'undefined') {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === 'undefined') {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;\n\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n }\n\n on('beforeInit', function () {\n var thumbs = swiper.params.thumbs;\n if (!thumbs || !thumbs.swiper) return;\n init();\n update(true);\n });\n on('slideChange update resize observerUpdate', function () {\n update();\n });\n on('setTransition', function (_s, duration) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on('beforeDestroy', function () {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init: init,\n update: update\n });\n }\n\n function freeMode(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n emit = _ref.emit,\n once = _ref.once;\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n\n function onTouchStart() {\n var translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n\n function onTouchMove() {\n var data = swiper.touchEventsData,\n touches = swiper.touches; // Velocity\n\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n }\n\n function onTouchEnd(_ref2) {\n var currentPos = _ref2.currentPos;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n rtl = swiper.rtlTranslate,\n snapGrid = swiper.snapGrid,\n data = swiper.touchEventsData; // Time diff\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime;\n\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeMode.momentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n\n Object.assign(swiper, {\n freeMode: {\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }\n });\n }\n\n function Grid(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams;\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n var slidesNumberEvenToRows;\n var slidesPerRow;\n var numFullColumns;\n\n var initSlides = function initSlides(slidesLength) {\n var slidesPerView = swiper.params.slidesPerView;\n var _swiper$params$grid = swiper.params.grid,\n rows = _swiper$params$grid.rows,\n fill = _swiper$params$grid.fill;\n slidesPerRow = slidesNumberEvenToRows / rows;\n numFullColumns = Math.floor(slidesLength / rows);\n\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n };\n\n var updateSlide = function updateSlide(i, slide, slidesLength, getDirectionLabel) {\n var _swiper$params3 = swiper.params,\n slidesPerGroup = _swiper$params3.slidesPerGroup,\n spaceBetween = _swiper$params3.spaceBetween;\n var _swiper$params$grid2 = swiper.params.grid,\n rows = _swiper$params$grid2.rows,\n fill = _swiper$params$grid2.fill; // Set slides order\n\n var newSlideOrderIndex;\n var column;\n var row;\n\n if (fill === 'row' && slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (slidesPerGroup * rows));\n var slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.css({\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && \"\".concat(spaceBetween, \"px\") : '');\n };\n\n var updateWrapperSize = function updateWrapperSize(slideSize, snapGrid, getDirectionLabel) {\n var _swiper$params4 = swiper.params,\n spaceBetween = _swiper$params4.spaceBetween,\n centeredSlides = _swiper$params4.centeredSlides,\n roundLengths = _swiper$params4.roundLengths;\n var rows = swiper.params.grid.rows;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n swiper.$wrapperEl.css(_defineProperty({}, getDirectionLabel('width'), \"\".concat(swiper.virtualSize + spaceBetween, \"px\")));\n\n if (centeredSlides) {\n snapGrid.splice(0, snapGrid.length);\n var newSlidesGrid = [];\n\n for (var i = 0; i < snapGrid.length; i += 1) {\n var slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid.push.apply(snapGrid, newSlidesGrid);\n }\n };\n\n swiper.grid = {\n initSlides: initSlides,\n updateSlide: updateSlide,\n updateWrapperSize: updateWrapperSize\n };\n }\n\n function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n }\n\n function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n }\n\n function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var _i13 = 0; _i13 < slides.length; _i13 += 1) {\n if (slides[_i13]) $wrapperEl.append(slides[_i13]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i14 = 0; _i14 < slidesBuffer.length; _i14 += 1) {\n $wrapperEl.append(slidesBuffer[_i14]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n }\n\n function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (_typeof(slidesIndexes) === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!params.observer) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n }\n\n function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n }\n\n function Manipulation(_ref) {\n var swiper = _ref.swiper;\n Object.assign(swiper, {\n appendSlide: appendSlide.bind(swiper),\n prependSlide: prependSlide.bind(swiper),\n addSlide: addSlide.bind(swiper),\n removeSlide: removeSlide.bind(swiper),\n removeAllSlides: removeAllSlides.bind(swiper)\n });\n }\n\n function effectInit(params) {\n var effect = params.effect,\n swiper = params.swiper,\n on = params.on,\n setTranslate = params.setTranslate,\n setTransition = params.setTransition,\n overwriteParams = params.overwriteParams,\n perspective = params.perspective,\n recreateShadows = params.recreateShadows,\n getEffectParams = params.getEffectParams;\n on('beforeInit', function () {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass).concat(effect));\n\n if (perspective && perspective()) {\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n }\n\n var overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', function () {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', function (_s, duration) {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', function () {\n if (swiper.params.effect !== effect) return;\n\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows\n\n swiper.slides.each(function (slideEl) {\n var $slideEl = swiper.$(slideEl);\n $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove();\n }); // create new one\n\n recreateShadows();\n }\n });\n var requireUpdateOnVirtual;\n on('virtualUpdate', function () {\n if (swiper.params.effect !== effect) return;\n\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n\n requestAnimationFrame(function () {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n }\n\n function effectTarget(effectParams, $slideEl) {\n if (effectParams.transformEl) {\n return $slideEl.find(effectParams.transformEl).css({\n 'backface-visibility': 'hidden',\n '-webkit-backface-visibility': 'hidden'\n });\n }\n\n return $slideEl;\n }\n\n function effectVirtualTransitionEnd(_ref) {\n var swiper = _ref.swiper,\n duration = _ref.duration,\n transformEl = _ref.transformEl,\n allSlides = _ref.allSlides;\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex,\n $wrapperEl = swiper.$wrapperEl;\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n var $transitionEndTarget;\n\n if (allSlides) {\n $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;\n } else {\n $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);\n }\n\n $transitionEndTarget.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n\n function EffectFade(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n fadeEffect: {\n crossFade: false,\n transformEl: null\n }\n });\n\n var setTranslate = function setTranslate() {\n var slides = swiper.slides;\n var params = swiper.params.fadeEffect;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var _offset = $slideEl[0].swiperSlideOffset;\n var tx = -_offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n var $targetEl = effectTarget(params, $slideEl);\n $targetEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px)\"));\n }\n };\n\n var setTransition = function setTransition(duration) {\n var transformEl = swiper.params.fadeEffect.transformEl;\n var $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration);\n effectVirtualTransitionEnd({\n swiper: swiper,\n duration: duration,\n transformEl: transformEl,\n allSlides: true\n });\n };\n\n effectInit({\n effect: 'fade',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n overwriteParams: function overwriteParams() {\n return {\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n };\n }\n });\n }\n\n function EffectCube(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n });\n\n var createSlideShadows = function createSlideShadows($slideEl, progress, isHorizontal) {\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = $(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'left' : 'top', \"\\\"></div>\"));\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = $(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'right' : 'bottom', \"\\\"></div>\"));\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n var recreateShadows = function recreateShadows() {\n // create new ones\n var isHorizontal = swiper.isHorizontal();\n swiper.slides.each(function (slideEl) {\n var progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows($(slideEl), progress, isHorizontal);\n });\n };\n\n var setTranslate = function setTranslate() {\n var $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides,\n swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n rtl = swiper.rtlTranslate,\n swiperSize = swiper.size,\n browser = swiper.browser;\n var params = swiper.params.cubeEffect;\n var isHorizontal = swiper.isHorizontal();\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var wrapperRotate = 0;\n var $cubeShadowEl;\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('<div class=\"swiper-cube-shadow\"></div>');\n $wrapperEl.append($cubeShadowEl);\n }\n\n $cubeShadowEl.css({\n height: \"\".concat(swiperWidth, \"px\")\n });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('<div class=\"swiper-cube-shadow\"></div>');\n $el.append($cubeShadowEl);\n }\n }\n }\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideIndex = i;\n\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n\n var slideAngle = slideIndex * 90;\n var round = Math.floor(slideAngle / 360);\n\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n var tx = 0;\n var ty = 0;\n var tz = 0;\n\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n var _transform = \"rotateX(\".concat(isHorizontal ? 0 : -slideAngle, \"deg) rotateY(\").concat(isHorizontal ? slideAngle : 0, \"deg) translate3d(\").concat(tx, \"px, \").concat(ty, \"px, \").concat(tz, \"px)\");\n\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n\n $slideEl.transform(_transform);\n\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, isHorizontal);\n }\n }\n\n $wrapperEl.css({\n '-webkit-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n 'transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\")\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\"translate3d(0px, \".concat(swiperWidth / 2 + params.shadowOffset, \"px, \").concat(-swiperWidth / 2, \"px) rotateX(90deg) rotateZ(0deg) scale(\").concat(params.shadowScale, \")\"));\n } else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = params.shadowScale;\n var scale2 = params.shadowScale / multiplier;\n var _offset2 = params.shadowOffset;\n $cubeShadowEl.transform(\"scale3d(\".concat(scale1, \", 1, \").concat(scale2, \") translate3d(0px, \").concat(swiperHeight / 2 + _offset2, \"px, \").concat(-swiperHeight / 2 / scale2, \"px) rotateX(-90deg)\"));\n }\n }\n\n var zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\"translate3d(0px,0,\".concat(zFactor, \"px) rotateX(\").concat(swiper.isHorizontal() ? 0 : wrapperRotate, \"deg) rotateY(\").concat(swiper.isHorizontal() ? -wrapperRotate : 0, \"deg)\"));\n $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', \"\".concat(zFactor, \"px\"));\n };\n\n var setTransition = function setTransition(duration) {\n var $el = swiper.$el,\n slides = swiper.slides;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n };\n\n effectInit({\n effect: 'cube',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n recreateShadows: recreateShadows,\n getEffectParams: function getEffectParams() {\n return swiper.params.cubeEffect;\n },\n perspective: function perspective() {\n return true;\n },\n overwriteParams: function overwriteParams() {\n return {\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n };\n }\n });\n }\n\n function createShadow(params, $slideEl, side) {\n var shadowClass = \"swiper-slide-shadow\".concat(side ? \"-\".concat(side) : '');\n var $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;\n var $shadowEl = $shadowContainer.children(\".\".concat(shadowClass));\n\n if (!$shadowEl.length) {\n $shadowEl = $(\"<div class=\\\"swiper-slide-shadow\".concat(side ? \"-\".concat(side) : '', \"\\\"></div>\"));\n $shadowContainer.append($shadowEl);\n }\n\n return $shadowEl;\n }\n\n function EffectFlip(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true,\n transformEl: null\n }\n });\n\n var createSlideShadows = function createSlideShadows($slideEl, progress, params) {\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = createShadow(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top');\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = createShadow(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom');\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n\n var recreateShadows = function recreateShadows() {\n // Set shadows\n var params = swiper.params.flipEffect;\n swiper.slides.each(function (slideEl) {\n var $slideEl = $(slideEl);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n\n createSlideShadows($slideEl, progress, params);\n });\n };\n\n var setTranslate = function setTranslate() {\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n var params = swiper.params.flipEffect;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n\n var _offset3 = $slideEl[0].swiperSlideOffset;\n var rotate = -180 * progress;\n var rotateY = rotate;\n var rotateX = 0;\n var tx = swiper.params.cssMode ? -_offset3 - swiper.translate : -_offset3;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, params);\n }\n\n var _transform2 = \"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg)\");\n\n var $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(_transform2);\n }\n };\n\n var setTransition = function setTransition(duration) {\n var transformEl = swiper.params.flipEffect.transformEl;\n var $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n effectVirtualTransitionEnd({\n swiper: swiper,\n duration: duration,\n transformEl: transformEl\n });\n };\n\n effectInit({\n effect: 'flip',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n recreateShadows: recreateShadows,\n getEffectParams: function getEffectParams() {\n return swiper.params.flipEffect;\n },\n perspective: function perspective() {\n return true;\n },\n overwriteParams: function overwriteParams() {\n return {\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n };\n }\n });\n }\n\n function EffectCoverflow(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true,\n transformEl: null\n }\n });\n\n var setTranslate = function setTranslate() {\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n var offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n var translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n var translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n var scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n var slideTransform = \"translate3d(\".concat(translateX, \"px,\").concat(translateY, \"px,\").concat(translateZ, \"px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg) scale(\").concat(scale, \")\");\n var $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? 'left' : 'top');\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? 'right' : 'bottom');\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n\n var setTransition = function setTransition(duration) {\n var transformEl = swiper.params.coverflowEffect.transformEl;\n var $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n };\n\n effectInit({\n effect: 'coverflow',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n perspective: function perspective() {\n return true;\n },\n overwriteParams: function overwriteParams() {\n return {\n watchSlidesProgress: true\n };\n }\n });\n }\n\n function EffectCreative(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n creativeEffect: {\n transformEl: null,\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n }\n }\n });\n\n var getTranslateValue = function getTranslateValue(value) {\n if (typeof value === 'string') return value;\n return \"\".concat(value, \"px\");\n };\n\n var setTranslate = function setTranslate() {\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.creativeEffect;\n var multiplier = params.progressMultiplier;\n var isCenteredSlides = swiper.params.centeredSlides;\n\n if (isCenteredSlides) {\n var margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n $wrapperEl.transform(\"translateX(calc(50% - \".concat(margin, \"px))\"));\n }\n\n var _loop = function _loop(i) {\n var $slideEl = slides.eq(i);\n var slideProgress = $slideEl[0].progress;\n var progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress);\n var originalProgress = progress;\n\n if (!isCenteredSlides) {\n originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress);\n }\n\n var offset = $slideEl[0].swiperSlideOffset;\n var t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];\n var r = [0, 0, 0];\n var custom = false;\n\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n\n var data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1\n };\n\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n } // set translate\n\n\n t.forEach(function (value, index) {\n t[index] = \"calc(\".concat(value, \"px + (\").concat(getTranslateValue(data.translate[index]), \" * \").concat(Math.abs(progress * multiplier), \"))\");\n }); // set rotates\n\n r.forEach(function (value, index) {\n r[index] = data.rotate[index] * Math.abs(progress * multiplier);\n });\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n var translateString = t.join(', ');\n var rotateString = \"rotateX(\".concat(r[0], \"deg) rotateY(\").concat(r[1], \"deg) rotateZ(\").concat(r[2], \"deg)\");\n var scaleString = originalProgress < 0 ? \"scale(\".concat(1 + (1 - data.scale) * originalProgress * multiplier, \")\") : \"scale(\".concat(1 - (1 - data.scale) * originalProgress * multiplier, \")\");\n var opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n var transform = \"translate3d(\".concat(translateString, \") \").concat(rotateString, \" \").concat(scaleString); // Set shadows\n\n if (custom && data.shadow || !custom) {\n var $shadowEl = $slideEl.children('.swiper-slide-shadow');\n\n if ($shadowEl.length === 0 && data.shadow) {\n $shadowEl = createShadow(params, $slideEl);\n }\n\n if ($shadowEl.length) {\n var shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n\n var $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform).css({\n opacity: opacityString\n });\n\n if (data.origin) {\n $targetEl.css('transform-origin', data.origin);\n }\n };\n\n for (var i = 0; i < slides.length; i += 1) {\n _loop(i);\n }\n };\n\n var setTransition = function setTransition(duration) {\n var transformEl = swiper.params.creativeEffect.transformEl;\n var $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n effectVirtualTransitionEnd({\n swiper: swiper,\n duration: duration,\n transformEl: transformEl,\n allSlides: true\n });\n };\n\n effectInit({\n effect: 'creative',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n perspective: function perspective() {\n return swiper.params.creativeEffect.perspective;\n },\n overwriteParams: function overwriteParams() {\n return {\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n };\n }\n });\n }\n\n function EffectCards(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on;\n extendParams({\n cardsEffect: {\n slideShadows: true,\n transformEl: null,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8\n }\n });\n\n var setTranslate = function setTranslate() {\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var params = swiper.params.cardsEffect;\n var _swiper$touchEventsDa = swiper.touchEventsData,\n startTranslate = _swiper$touchEventsDa.startTranslate,\n isTouched = _swiper$touchEventsDa.isTouched;\n var currentTranslate = swiper.translate;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideProgress = $slideEl[0].progress;\n var progress = Math.min(Math.max(slideProgress, -4), 4);\n var _offset4 = $slideEl[0].swiperSlideOffset;\n\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.$wrapperEl.transform(\"translateX(\".concat(swiper.minTranslate(), \"px)\"));\n }\n\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n _offset4 -= slides[0].swiperSlideOffset;\n }\n\n var tX = swiper.params.cssMode ? -_offset4 - swiper.translate : -_offset4;\n var tY = 0;\n var tZ = -100 * Math.abs(progress);\n var scale = 1;\n var rotate = -params.perSlideRotate * progress;\n var tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n var slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n var isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n var isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n\n if (isSwipeToNext || isSwipeToPrev) {\n var subProgress = Math.pow(1 - Math.abs((Math.abs(progress) - 0.5) / 0.5), 0.5);\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = \"\".concat(-25 * subProgress * Math.abs(progress), \"%\");\n }\n\n if (progress < 0) {\n // next\n tX = \"calc(\".concat(tX, \"px + (\").concat(tXAdd * Math.abs(progress), \"%))\");\n } else if (progress > 0) {\n // prev\n tX = \"calc(\".concat(tX, \"px + (-\").concat(tXAdd * Math.abs(progress), \"%))\");\n } else {\n tX = \"\".concat(tX, \"px\");\n }\n\n if (!swiper.isHorizontal()) {\n var prevY = tY;\n tY = tX;\n tX = prevY;\n }\n\n var scaleString = progress < 0 ? \"\".concat(1 + (1 - scale) * progress) : \"\".concat(1 - (1 - scale) * progress);\n\n var _transform3 = \"\\n translate3d(\".concat(tX, \", \").concat(tY, \", \").concat(tZ, \"px)\\n rotateZ(\").concat(params.rotate ? rotate : 0, \"deg)\\n scale(\").concat(scaleString, \")\\n \");\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowEl = $slideEl.find('.swiper-slide-shadow');\n\n if ($shadowEl.length === 0) {\n $shadowEl = createShadow(params, $slideEl);\n }\n\n if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n var $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(_transform3);\n }\n };\n\n var setTransition = function setTransition(duration) {\n var transformEl = swiper.params.cardsEffect.transformEl;\n var $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);\n effectVirtualTransitionEnd({\n swiper: swiper,\n duration: duration,\n transformEl: transformEl\n });\n };\n\n effectInit({\n effect: 'cards',\n swiper: swiper,\n on: on,\n setTranslate: setTranslate,\n setTransition: setTransition,\n perspective: function perspective() {\n return true;\n },\n overwriteParams: function overwriteParams() {\n return {\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n };\n }\n });\n } // Swiper Class\n\n\n var modules = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Lazy, Controller, A11y, History, HashNavigation, Autoplay, Thumb, freeMode, Grid, Manipulation, EffectFade, EffectCube, EffectFlip, EffectCoverflow, EffectCreative, EffectCards];\n Swiper.use(modules);\n return Swiper;\n});","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_01-a3cc11002e813506832bb7ef6fc7db8e.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_02-62a2555fce9ba0396955afd243506046.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_03-04e19721fb790df5c46f117a80c16b30.png\";","import {addSuchiKeikakuEventListenerAll, setInitialValueForUntenShikin, hideYakuinHoshu, handleSetCompareInputs} from \"./untenShikinSlider\"\nimport {setInitialValueForKaigyoShikin, addKaigyoShikinEventListenerAll } from \"./kaigyoShikinSlider\"\n\n$(function() {\n $(document).on('click', '.js_automatic-calculation', function() {\n const target = $(this).data('target');\n const suchikeikakuIndustryId = $('#modal-select-hidden').val();\n const businessType = $('input[name=\"founding_template[business_type]\"]:checked').val();\n const jikoshikin = $('#jikoshikin').val();\n const kariire = $('#kariire').val();\n const kaigyoshikinSonota = $('#kaigyoshikin_sonota').val();\n const uriage1y = $('#sales1').val();\n const uriage2y = $('#sales2').val();\n const uriage3y = $('#sales3').val();\n\n if (!automaticCalculationValidate(true)) {\n return false;\n }\n\n let send_data = {}\n\n if (target === 'all') {\n send_data = {\n 'target': target,\n 'founding_template[suchikeikaku_industry_id]': suchikeikakuIndustryId, // æ¥ç¨®\n 'founding_template[business_type]': businessType, // 事æ¥å½¢æ…‹\n 'founding_template[jikoshikin]': jikoshikin, // é–‹æ¥è³‡é‡‘ 自己資金\n 'founding_template[kariire]': kariire, // é–‹æ¥è³‡é‡‘ 借入\n 'founding_template[kaigyoshikin_sonota]': kaigyoshikinSonota, // é–‹æ¥è³‡é‡‘ ãã®ä»–\n 'founding_template[uriage_1y]': uriage1y, // 売上 1å¹´ç›®\n 'founding_template[uriage_2y]': uriage1y, // 売上 2å¹´ç›®ã«å£²ä¸Š1年目を使用\n 'founding_template[uriage_3y]': uriage1y, // 売上 3å¹´ç›®ã«å£²ä¸Š1年目を使用\n }\n // 売上2å¹´ç›®ã€3å¹´ç›®ã«1å¹´ç›®ã®å€¤ã‚’セット\n $('#sales2').val(uriage1y);\n $('#sales3').val(uriage1y);\n } else if (target === 'kaigyohiyo') {\n send_data = {\n 'target': target,\n 'founding_template[suchikeikaku_industry_id]': suchikeikakuIndustryId, // æ¥ç¨®\n 'founding_template[jikoshikin]': jikoshikin, // é–‹æ¥è³‡é‡‘ 自己資金\n 'founding_template[kariire]': kariire, // é–‹æ¥è³‡é‡‘ 借入\n 'founding_template[kaigyoshikin_sonota]': kaigyoshikinSonota, // é–‹æ¥è³‡é‡‘ ãã®ä»–\n }\n } else if (target === 'untenshikin') {\n send_data = {\n 'target': target,\n 'founding_template[suchikeikaku_industry_id]': suchikeikakuIndustryId, // æ¥ç¨®\n 'founding_template[business_type]': businessType, // 事æ¥å½¢æ…‹\n 'founding_template[uriage_1y]': uriage1y, // 売上 1å¹´ç›®\n 'founding_template[uriage_2y]': uriage2y, // 売上 2å¹´ç›®\n 'founding_template[uriage_3y]': uriage3y, // 売上 3å¹´ç›®\n }\n }\n\n $.ajax({\n type: \"POST\",\n url: \"/plan/founding_templates/automatic_calculation\",\n data: send_data\n }).done(function(data, textStatus, jqXHR) {\n setInitialValueForKaigyoShikin();\n setInitialValueForUntenShikin();\n addKaigyoShikinEventListenerAll();\n addSuchiKeikakuEventListenerAll();\n hideYakuinHoshu();\n addEventListenerToTooltips(target);\n if (target === 'all') {\n $(\"#step2\").addClass(\"main-stepper__item--active\")\n $(\"#step2\").removeClass(\"main-stepper__item\")\n $('#stepper_arrow').addClass(\"main-stepper__arrow--active\");\n $('#stepper_arrow').removeClass(\"main-stepper__arrow\")\n // サマリー部分を入れ替ãˆ\n $(\"#initSuuchiSummary\").addClass(\"d-none\");\n $(\"#suuchiSummary\").removeClass(\"d-none\");\n // 売上部分ã®text fieldã«å€¤ã‚’åæ˜ \n [$(\"#sales1\"), $(\"#sales2\"), $(\"#sales3\")].forEach((item) => {\n setDelimitedMoney(item[0]); // DOMè¦ç´ を渡ã™ãŸã‚ã«jQueryオブジェクトã®0番目を指定\n });\n // å½¹å“¡å ±é…¬ã®è¡¨ç¤ºã‚’スイッãƒã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’付与\n $('input[name=\"founding_template[business_type]\"]').on('change', function() {\n hideYakuinHoshu();\n });\n // フãƒãƒ¼ä¸‹ã®ãƒ†ã‚ストを入れ替ãˆ\n $('#step1_description').addClass(\"d-none\");\n $('#step2_description').removeClass(\"d-none\");\n }\n toggleAutoCalcButtonAndTooltip();\n }).fail(function(jqXHR, textStatus, errorThrown) {\n });\n });\n});\n\n// 自動計算実行確èªãƒ¢ãƒ¼ãƒ€ãƒ«\nimport { Modal } from 'bootstrap'\n$(function() {\n const modalSelector = \"#auto-calculate\";\n const modalCalcTargetStrSelector = \"#auto-calculate .js-calc_target_str\";\n const modalCalcTargetSelector = \"#auto-calculate .js_automatic-calculation\";\n var myModal;\n\n if ($(modalSelector).length) {\n myModal = new Modal($(modalSelector), {});\n }\n\n $(document).on('click', '.js-founding_template_auto_calculate_button', function() {\n var targetStr = $(this).data('founding-template-auto-calculate-target-str');\n var target = $(this).data('founding-template-auto-calculate-target');\n\n $(modalCalcTargetStrSelector).text(targetStr);\n $(modalCalcTargetSelector).data('target', target);\n\n myModal.show();\n });\n});\n\nimport { Tooltip } from 'bootstrap'\nimport { setDelimitedMoney } from \"./suchiUtil\";\n// ツールãƒãƒƒãƒ—ã¸ã®ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠãƒ¼å†ä»˜ä¸Ž\nfunction addEventListenerToTooltips(target){\n const kaigyoHiyoTooltip = \"#kaigyoHiyoTooltip\"\n const untenShikinTooltip = \"#untenShikinTooltip\"\n const jinkenhiTooltip = \"#jinkenhiTooltip\"\n if (target === \"untenshikin\") {\n new Tooltip($(jinkenhiTooltip))\n } else {\n new Tooltip($(kaigyoHiyoTooltip))\n new Tooltip($(untenShikinTooltip))\n new Tooltip($(jinkenhiTooltip))\n }\n}\n\n$(function() {\n toggleAutoCalcButtonAndTooltip();\n});\n// æ¥ç¨®ãã®ä»–ã®å ´åˆã«è‡ªå‹•è¨ˆç®—ã®ãƒœã‚¿ãƒ³ã‚’表示・éžè¡¨ç¤ºã‚’è¨å®š\nexport function toggleAutoCalcButtonAndTooltip() {\n if ($('input[name=\"founding_template[suchikeikaku_industry_id]\"]')) {\n if ($('input[name=\"founding_template[suchikeikaku_industry_id]\"]').val() === \"13\") {\n $(\"#unten-shikin-auto-calc-button\").hide();\n $(\"#kaigyo-hiyo-auto-calc-button\").hide();\n $(\"#kaigyo-hiyo-auto-calc-tooltip\").hide();\n $(\"#unten-shikin-auto-calc-tooltip\").hide();\n } else {\n $(\"#unten-shikin-auto-calc-button\").show();\n $(\"#kaigyo-hiyo-auto-calc-button\").show();\n $(\"#kaigyo-hiyo-auto-calc-tooltip\").show();\n $(\"#unten-shikin-auto-calc-tooltip\").show();\n }\n }\n}\n\n// 自動計算ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³\nexport function automaticCalculationValidate(isScroll = false, item = null) {\n let isValid = true;\n\n const scrollOffset = 20;\n\n // æ¥ç¨®\n if (item == null || item == '#modal-select-hidden') {\n if ($(\"#modal-select-hidden\").val() === \"\") {\n isValid = false;\n $('.main-form__select-button').addClass('is-invalid');\n $('.suchikeikaku-industry-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('.main-form__select-button').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('.main-form__select-button').removeClass('is-invalid');\n $('.suchikeikaku-industry-invalid-feedback').removeClass('d-block');\n }\n }\n\n // 事æ¥å½¢æ…‹\n if (item == null || item == 'input[name=\"founding_template[business_type]\"]') {\n if ($('input[name=\"founding_template[business_type]\"]:checked').length === 0) {\n isValid = false;\n $('input[name=\"founding_template[business_type]\"]').addClass('is-invalid');\n $('.business-type-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('#business_type1').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('input[name=\"founding_template[business_type]\"]').removeClass('is-invalid');\n $('.business-type-invalid-feedback').removeClass('d-block');\n }\n }\n\n // 自己資金\n if (item == null || item == '#text_jikoshikin') {\n if ($(\"#text_jikoshikin\").val() === \"\") {\n isValid = false;\n $('#text_jikoshikin').addClass('is-invalid');\n $('.jikoshikin-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('#text_jikoshikin').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('#text_jikoshikin').removeClass('is-invalid');\n $('.jikoshikin-invalid-feedback').removeClass('d-block');\n }\n }\n\n // 借入\n if (item == null || item == '#text_kariire') {\n if ($(\"#text_kariire\").val() === \"\") {\n isValid = false;\n $('#text_kariire').addClass('is-invalid');\n $('.kariire-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('#text_kariire').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('#text_kariire').removeClass('is-invalid');\n $('.kariire-invalid-feedback').removeClass('d-block');\n }\n }\n\n // ãã®ä»–\n if (item == null || item == '#text_kaigyoshikin_sonota') {\n if ($(\"#text_kaigyoshikin_sonota\").val() === \"\") {\n isValid = false;\n $('#text_kaigyoshikin_sonota').addClass('is-invalid');\n $('.kaigyoshikin-sonota-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('#text_kaigyoshikin_sonota').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('#text_kaigyoshikin_sonota').removeClass('is-invalid');\n $('.kaigyoshikin-sonota-invalid-feedback').removeClass('d-block');\n }\n }\n\n // 売上1å¹´ç›®\n if (item == null || item == '#text_sales1') {\n if ($(\"#text_sales1\").val() === \"\") {\n isValid = false;\n $('#text_sales1').addClass('is-invalid');\n $('.sales1-invalid-feedback').addClass('d-block');\n if (isScroll) {\n $(window).scrollTop($('#text_sales1').offset().top - scrollOffset);\n isScroll = false;\n }\n } else {\n $('#text_sales1').removeClass('is-invalid');\n $('.sales1-invalid-feedback').removeClass('d-block');\n }\n }\n\n return isValid;\n}\n\n// çµæžœãƒšãƒ¼ã‚¸ã‚µã‚¤ãƒ‰ãƒãƒŠãƒ¼è¡¨ç¤ºã€éžè¡¨ç¤º\n$(function() {\n if ($('.founding-templates-aside').length) {\n const offset = 24;\n\n $(window).scroll(function() {\n const jfcTemplatesBannerTop = $('#jfc_templates_banner').offset().top;\n const jfcTemplatesBannerHeight = $('#jfc_templates_banner').height();\n const jfcTemplatesBannerBottom = jfcTemplatesBannerTop + jfcTemplatesBannerHeight;\n\n const jfcTemplatesBannerDisplayEndPointTop = $('#jfc_templates_banner_display_end_point').offset().top;\n\n if (jfcTemplatesBannerDisplayEndPointTop + offset <= jfcTemplatesBannerBottom) {\n $('#jfc_templates_banner').addClass('hidden');\n } else {\n $('#jfc_templates_banner').removeClass('hidden');\n }\n });\n }\n});\n\n$(function() {\n $(\".js-show_form_suuchi_initial_menu_sp\").on(\"click\", function() {\n $(\".js-form_suuchi_category_menu_sp\").removeClass(\"d-none\");\n $(\".js-form_suuchi_main_sp\").addClass(\"d-none\");\n });\n $(\".js-hide_form_suuchi_initial_menu_sp\").on(\"click\", function() {\n $(\".js-form_suuchi_category_menu_sp\").addClass(\"d-none\");\n $(\".js-form_suuchi_main_sp\").removeClass(\"d-none\");\n });\n\n const reCalcModal = document.getElementById(\"re-calc-sp\");\n if (reCalcModal) {\n reCalcModal.addEventListener(\"show.bs.modal\", event => {\n const button = event.relatedTarget;\n\n const reCalcTargetStr = button.getAttribute(\"data-bs-re-calc-target-str\");\n const destElements = reCalcModal.getElementsByClassName(\"js-re-calc-target-str\");\n for (let i = 0; i < destElements.length; i++) {\n destElements[i].textContent = reCalcTargetStr;\n }\n\n const reCalcTargetIdentifier = button.getAttribute(\"data-bs-re-calc-target-identifier\");\n const reCalcModalSubmitButton = reCalcModal.querySelector(\"#re_calc_modal_submit_button\");\n reCalcModalSubmitButton.setAttribute(\"value\", reCalcTargetIdentifier);\n });\n }\n\n if ($(\"#form_suuchi_step1_sp\").length) {\n $(\"#startCalculationButton\").on(\"click\", function() {\n if (!automaticCalculationValidate(true)) {\n return false;\n }\n });\n }\n\n if ($(\"#form_suuchi_step2_sp\").length) {\n setInitialValueForKaigyoShikin();\n setInitialValueForUntenShikin();\n addKaigyoShikinEventListenerAll();\n addSuchiKeikakuEventListenerAll();\n hideYakuinHoshu();\n\n $('input[name=\"founding_template[business_type]\"]').on('change', function() {\n hideYakuinHoshu();\n handleSetCompareInputs();\n });\n }\n});\n","import {\n setWithCountAnimation,\n sanitizeMoney,\n updateDelimitedMoney,\n setDelimitedMoney,\n delimitedMoney,\n} from \"./suchiUtil\";\nimport {\n toggleAutoCalcButtonAndTooltip,\n automaticCalculationValidate,\n} from \"./founding-template\";\nimport {\n handleKaigyoShikinSetSimulationBar\n} from \"./numBtn\";\n\nconst modalSelectButtons = document.querySelectorAll(\".modal__button\");\nfunction handleClickSelectButton(e) {\n const val = e.currentTarget.value;\n const hiddenVal = e.currentTarget.getAttribute(\"data-hidden-value\");\n document.getElementById(\"modal-select\").textContent = val;\n document\n .getElementById(\"modal-select\")\n .classList.remove(\"main-form__not-selected\");\n document.getElementById(\"modal-select\").classList.add(\"main-form__selected\");\n document.getElementById(\"modal-select-hidden\").value = hiddenVal;\n if ($(\"#uriage_init_title\").length) {\n automaticCalculationValidate(false, \"#modal-select-hidden\");\n }\n toggleAutoCalcButtonAndTooltip();\n}\nmodalSelectButtons.forEach((button) => {\n button.addEventListener(\"click\", handleClickSelectButton);\n});\n\n$(function () {\n [\n \"#modal-select-hidden\",\n 'input[name=\"founding_template[business_type]\"]',\n ].forEach((item) => {\n $(item).on(\"change\", function () {\n if ($(\"#uriage_init_title\").length) {\n automaticCalculationValidate(false, item);\n }\n });\n });\n [\n \"#text_jikoshikin\",\n \"#text_kariire\",\n \"#text_kaigyoshikin_sonota\",\n \"#text_sales1\",\n ].forEach((item) => {\n $(item).on(\"input\", function () {\n if ($(\"#uriage_init_title\").length) {\n automaticCalculationValidate(false, item);\n }\n });\n });\n});\n\nfunction switchStartButton(valid) {\n if (valid) {\n $(\"#startCalculationButton\").prop(\"disabled\", false);\n } else {\n $(\"#startCalculationButton\").prop(\"disabled\", true);\n }\n}\n\nfunction validMandatoryFields() {\n if ($(\"#modal-select-hidden\").val() === \"\") return false;\n if ($(\"input[type='radio']:checked\").length === 0) return false;\n if ($(\"#text_jikoshikin\").val() === \"\") return false;\n if ($(\"#text_kariire\").val() === \"\") return false;\n if ($(\"#text_kaigyoshikin_sonota\").val() === \"\") return false;\n if ($(\"#text_sales1\").val() === \"\") return false;\n\n return true;\n}\n\nfunction setInitAsideSummary() {\n // é–‹æ¥è³‡é‡‘åˆè¨ˆ\n const sumInputs = document.querySelectorAll(\".data-sum\");\n const uriage1y = document.getElementById(\"sales1\");\n let kaigyoShikinTotal = 0;\n sumInputs.forEach((input) => {\n kaigyoShikinTotal += sanitizeMoney(input.value);\n });\n if (\n document.getElementById(\"initFund1\").textContent !=\n kaigyoShikinTotal.toString()\n ) {\n setWithCountAnimation(\n document.getElementById(\"initFund1\"),\n 0,\n kaigyoShikinTotal\n );\n }\n if (\n document.getElementById(\"initRunningSum1\").textContent !=\n sanitizeMoney(uriage1y.value).toString()\n ) {\n setWithCountAnimation(\n document.getElementById(\"initRunningSum1\"),\n 0,\n sanitizeMoney(uriage1y.value)\n );\n }\n}\n\n// é–‹æ¥è²»ç”¨ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã®å¤‰æ›´\nfunction handleRangeInputChange(e) {\n const target = e.target;\n const max = Number(target.max);\n const val = Number(target.value);\n\n const inputId = target.id.replace(\"input-slider\", \"data-input\");\n const hiddenElement = document.getElementById(inputId);\n const textFieldElement = document.getElementById(\"text_\" + inputId);\n target.defaultValue = val;\n\n // text fieldã¸ã®ã‚»ãƒƒãƒˆ\n textFieldElement.value = delimitedMoney(target.defaultValue);\n // hidden fieldã¸ã®ã‚»ãƒƒãƒˆ\n hiddenElement.value = target.defaultValue;\n if (val !== 0) {\n target.style.backgroundSize = (val * 100) / max + \"% 100%\";\n } else {\n target.style.backgroundSize = \"0% 100%\";\n }\n setAsideSummary();\n}\n\n// é–‹æ¥è²»ç”¨ã‚¤ãƒ³ãƒ—ットフィールドã®å¤‰æ›´\nfunction handleKaigyoHiyoInputChange(event) {\n const textFieldElement = event.target;\n const val = sanitizeMoney(textFieldElement.value);\n // カンマ区切り処ç†\n updateDelimitedMoney(textFieldElement);\n\n try {\n // スライダーã¸ã®åæ˜ \n const sliderId = textFieldElement.dataset.target.replace(\n \"data-input\",\n \"input-slider\"\n );\n const sliderElement = document.getElementById(sliderId);\n sliderElement.defaultValue = val;\n sliderElement.value = val;\n\n if (val == 0) {\n sliderElement.style.backgroundSize = \"0% 100%\";\n } else if (val > sliderElement.max) {\n sliderElement.style.backgroundSize = \"100% 100%\";\n } else {\n sliderElement.style.backgroundSize =\n (val * 100) / sliderElement.max + \"% 100%\";\n }\n } catch (error) {\n // console.warn(error);\n }\n setAsideSummary();\n}\n\nfunction kaigyoShikinSum() {\n const sumInputs = document.querySelectorAll(\".data-sum\");\n let result = 0;\n sumInputs.forEach((input) => {\n result += Number(input.value);\n });\n return result;\n}\n\nfunction setAsideSummary() {\n // é–‹æ¥è³‡é‡‘åˆè¨ˆ\n const sumInputs = document.querySelectorAll(\".data-sum\");\n let kaigyoShikinTotal = 0;\n sumInputs.forEach((input) => {\n kaigyoShikinTotal += Number(input.value);\n });\n // é–‹æ¥è²»ç”¨åˆè¨ˆ\n const dataInputs = document.querySelectorAll(\".data-input\");\n let kaigyoHiyoTotal = 0;\n dataInputs.forEach((item) => {\n kaigyoHiyoTotal += Number(item.value);\n });\n\n setWithCountAnimation(document.getElementById(\"fund1\"), 0, kaigyoShikinTotal);\n setWithCountAnimation(document.getElementById(\"fund2\"), 0, kaigyoHiyoTotal);\n setWithCountAnimation(\n document.getElementById(\"fund3\"),\n 0,\n kaigyoShikinTotal - kaigyoHiyoTotal\n );\n\n checkShikinZanMinus(kaigyoShikinTotal - kaigyoHiyoTotal);\n\n handleKaigyoShikinSetSimulationBar(kaigyoShikinTotal, kaigyoHiyoTotal, kaigyoShikinTotal - kaigyoHiyoTotal);\n}\n\nfunction checkShikinZanMinus(zankin) {\n if (zankin < 0) {\n $(\".shikinZanMinus\").addClass(\"d-block\");\n $(\".showResultButton\").prop(\"disabled\", true);\n $(\".showResultButton\").addClass(\"main-button--mask\");\n } else {\n $(\".shikinZanMinus\").removeClass(\"d-block\");\n $(\".showResultButton\").prop(\"disabled\", false);\n $(\".showResultButton\").removeClass(\"main-button--mask\");\n }\n}\n\n// é–‹æ¥è³‡é‡‘ã®ã‚¤ãƒ™ãƒ³ãƒˆå‡¦ç†\nfunction handleKaigyoShikinChange(event) {\n const textFieldElement = event.target;\n // カンマ区切り処ç†\n updateDelimitedMoney(textFieldElement);\n // é–‹æ¥è³‡é‡‘åˆè¨ˆç®—出\n resetMaxRange();\n setAsideSummary();\n}\n\n// é–‹æ¥è³‡é‡‘変更ã«ã‚ˆã£ã¦ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼æœ€å¤§å€¤ã‚’変更ã™ã‚‹\nfunction resetMaxRange() {\n const currentSum = kaigyoShikinSum();\n // レンジスライダー\n const rangeInputs = document.querySelectorAll(\".input-slider\");\n\n const maxRange = currentSum < 100 ? 100 : currentSum;\n rangeInputs.forEach((slider) => {\n slider.max = maxRange;\n slider.value = slider.defaultValue;\n if (Number(slider.defaultValue) !== 0) {\n if ((Number(slider.defaultValue) * 100) / maxRange + 1 > 100) {\n slider.style.backgroundSize = \"100% 100%\";\n } else {\n slider.style.backgroundSize =\n (Number(slider.defaultValue) * 100) / maxRange + 1 + \"% 100%\";\n }\n } else {\n slider.style.backgroundSize = \"0% 100%\";\n }\n });\n}\n\nexport function addKaigyoShikinEventListenerAll() {\n // é–‹æ¥è²»ç”¨ã®ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼\n const rangeInputs = document.querySelectorAll(\".input-slider\");\n rangeInputs.forEach((input) => {\n input.addEventListener(\"input\", handleRangeInputChange);\n });\n\n // é–‹æ¥è²»ç”¨ã®ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼æ¨ªã‚¤ãƒ³ãƒ—ット\n const dataInputs = document.querySelectorAll(\".js-kaigyo-hiyo-input\");\n dataInputs.forEach((input) => {\n input.addEventListener(\"change\", handleKaigyoHiyoInputChange);\n });\n\n // é–‹æ¥è³‡é‡‘åˆè¨ˆ\n const sumInputs = document.querySelectorAll(\".js-kaigyo-shikin-input\");\n sumInputs.forEach((input) => {\n input.addEventListener(\"change\", handleKaigyoShikinChange);\n });\n}\n\nexport function setInitialValueForKaigyoShikin() {\n // é–‹æ¥è³‡é‡‘åˆè¨ˆ\n let maxRange = 0;\n const kaijoShikinInputs = document.querySelectorAll(\".data-sum\");\n kaijoShikinInputs.forEach((input) => {\n maxRange += Number(input.value);\n });\n\n if (maxRange < 100) maxRange = 100;\n\n // é–‹æ¥è²»ç”¨ã®ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚’セット\n const dataInputs = document.querySelectorAll(\".data-input\");\n dataInputs.forEach((input) => {\n try {\n const sliderElement = input.parentNode.previousElementSibling.querySelector(\n \"input[type='range']\"\n );\n sliderElement.value = input.value;\n sliderElement.defaultValue = input.value;\n sliderElement.max = maxRange;\n if (Number(sliderElement.defaultValue) !== 0) {\n if ((Number(sliderElement.defaultValue) * 100) / maxRange + 1 > 100) {\n sliderElement.style.backgroundSize = \"100% 100%\";\n } else {\n sliderElement.style.backgroundSize =\n (Number(sliderElement.defaultValue) * 100) / maxRange + 1 + \"% 100%\";\n }\n } else {\n sliderElement.style.backgroundSize = \"0% 100%\";\n }\n } catch (error) {\n // console.warn(error);\n }\n // text fieldã«ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã§ã‚»ãƒƒãƒˆ\n setDelimitedMoney(input);\n });\n\n // サイドãƒãƒ¼ã®é–‹æ¥è³‡é‡‘ç‰ã®æ›´æ–°\n setAsideSummary();\n}\n\n$(function () {\n if (\n document.getElementById(\"startCalculationButton\") == null &&\n document.getElementById(\"kaigyohiyo_title_section\")\n ) {\n setInitialValueForKaigyoShikin();\n addKaigyoShikinEventListenerAll();\n }\n\n // åˆæœŸçŠ¶æ…‹ã§ã®ã‚µãƒžãƒªãƒ¼ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¸ã®ã‚»ãƒƒãƒˆ\n if (document.getElementById(\"initFund1\")) {\n setInitAsideSummary();\n\n let automaticInput = $(\"#uriage_init_title\").length ? false : true;\n\n // åˆæœŸçŠ¶æ…‹ã§è‡ªå·±è³‡é‡‘ã€å€Ÿå…¥ã€ãã®ä»–ã®é …ç›®ãŒã™ã¹ã¦åŸ‹ã¾ã£ã¦ã„ãªã„å ´åˆã€æœ€åˆã«å…¥åŠ›ãŒã‚ã£ãŸã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§ä»–ã®é …目を0セットã™ã‚‹\n [\n $(\"#text_jikoshikin\"),\n $(\"#text_kariire\"),\n $(\"#text_kaigyoshikin_sonota\"),\n ].forEach((item) => {\n item.on(\"change\", function () {\n if (automaticInput) {\n if ($(\"#text_jikoshikin\").val() === \"\") {\n $(\"#text_jikoshikin\").val(0);\n $(\"#jikoshikin\").val(0);\n }\n if ($(\"#text_kariire\").val() === \"\") {\n $(\"#text_kariire\").val(0);\n $(\"#kariire\").val(0);\n }\n if ($(\"#text_kaigyoshikin_sonota\").val() === \"\") {\n $(\"#text_kaigyoshikin_sonota\").val(0);\n $(\"#kaigyoshikin_sonota\").val(0);\n }\n }\n });\n });\n\n // åˆæœŸçŠ¶æ…‹ã®é …ç›®ã«å¯¾ã—ã¦ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šå‡¦ç†ã—ã¦ã‚µã‚¤ãƒ‰ã‚«ãƒ©ãƒ åæ˜ \n [\n $(\"#text_jikoshikin\"),\n $(\"#text_kariire\"),\n $(\"#text_kaigyoshikin_sonota\"),\n $(\"#text_sales1\"),\n ].forEach((item) => {\n item.on(\"change\", function () {\n updateDelimitedMoney(this, automaticInput);\n setInitAsideSummary();\n });\n });\n }\n});\n","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 21;","function _typeof(obj) { \"@babel/helpers - typeof\"; 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/*\nTrix 1.3.1\nCopyright © 2020 Basecamp, LLC\nhttp://trix-editor.org/\n */\n(function () {}).call(this), function () {\n var t;\n null == window.Set && (window.Set = t = function () {\n function t() {\n this.clear();\n }\n\n return t.prototype.clear = function () {\n return this.values = [];\n }, t.prototype.has = function (t) {\n return -1 !== this.values.indexOf(t);\n }, t.prototype.add = function (t) {\n return this.has(t) || this.values.push(t), this;\n }, t.prototype[\"delete\"] = function (t) {\n var e;\n return -1 === (e = this.values.indexOf(t)) ? !1 : (this.values.splice(e, 1), !0);\n }, t.prototype.forEach = function () {\n var t;\n return (t = this.values).forEach.apply(t, arguments);\n }, t;\n }());\n}.call(this), function (t) {\n function e() {}\n\n function n(t, e) {\n return function () {\n t.apply(e, arguments);\n };\n }\n\n function i(t) {\n if (\"object\" != _typeof(this)) throw new TypeError(\"Promises must be constructed via new\");\n if (\"function\" != typeof t) throw new TypeError(\"not a function\");\n this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], c(t, this);\n }\n\n function o(t, e) {\n for (; 3 === t._state;) {\n t = t._value;\n }\n\n return 0 === t._state ? void t._deferreds.push(e) : (t._handled = !0, void h(function () {\n var n = 1 === t._state ? e.onFulfilled : e.onRejected;\n if (null === n) return void (1 === t._state ? r : s)(e.promise, t._value);\n var i;\n\n try {\n i = n(t._value);\n } catch (o) {\n return void s(e.promise, o);\n }\n\n r(e.promise, i);\n }));\n }\n\n function r(t, e) {\n try {\n if (e === t) throw new TypeError(\"A promise cannot be resolved with itself.\");\n\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) {\n var o = e.then;\n if (e instanceof i) return t._state = 3, t._value = e, void a(t);\n if (\"function\" == typeof o) return void c(n(o, e), t);\n }\n\n t._state = 1, t._value = e, a(t);\n } catch (r) {\n s(t, r);\n }\n }\n\n function s(t, e) {\n t._state = 2, t._value = e, a(t);\n }\n\n function a(t) {\n 2 === t._state && 0 === t._deferreds.length && setTimeout(function () {\n t._handled || p(t._value);\n }, 1);\n\n for (var e = 0, n = t._deferreds.length; n > e; e++) {\n o(t, t._deferreds[e]);\n }\n\n t._deferreds = null;\n }\n\n function u(t, e, n) {\n this.onFulfilled = \"function\" == typeof t ? t : null, this.onRejected = \"function\" == typeof e ? e : null, this.promise = n;\n }\n\n function c(t, e) {\n var n = !1;\n\n try {\n t(function (t) {\n n || (n = !0, r(e, t));\n }, function (t) {\n n || (n = !0, s(e, t));\n });\n } catch (i) {\n if (n) return;\n n = !0, s(e, i);\n }\n }\n\n var l = setTimeout,\n h = \"function\" == typeof setImmediate && setImmediate || function (t) {\n l(t, 1);\n },\n p = function p(t) {\n \"undefined\" != typeof console && console && console.warn(\"Possible Unhandled Promise Rejection:\", t);\n };\n\n i.prototype[\"catch\"] = function (t) {\n return this.then(null, t);\n }, i.prototype.then = function (t, n) {\n var r = new i(e);\n return o(this, new u(t, n, r)), r;\n }, i.all = function (t) {\n var e = Array.prototype.slice.call(t);\n return new i(function (t, n) {\n function i(r, s) {\n try {\n if (s && (\"object\" == _typeof(s) || \"function\" == typeof s)) {\n var a = s.then;\n if (\"function\" == typeof a) return void a.call(s, function (t) {\n i(r, t);\n }, n);\n }\n\n e[r] = s, 0 === --o && t(e);\n } catch (u) {\n n(u);\n }\n }\n\n if (0 === e.length) return t([]);\n\n for (var o = e.length, r = 0; r < e.length; r++) {\n i(r, e[r]);\n }\n });\n }, i.resolve = function (t) {\n return t && \"object\" == _typeof(t) && t.constructor === i ? t : new i(function (e) {\n e(t);\n });\n }, i.reject = function (t) {\n return new i(function (e, n) {\n n(t);\n });\n }, i.race = function (t) {\n return new i(function (e, n) {\n for (var i = 0, o = t.length; o > i; i++) {\n t[i].then(e, n);\n }\n });\n }, i._setImmediateFn = function (t) {\n h = t;\n }, i._setUnhandledRejectionFn = function (t) {\n p = t;\n }, \"undefined\" != typeof module && module.exports ? module.exports = i : t.Promise || (t.Promise = i);\n}(this), function () {\n var t = \"object\" == _typeof(window.customElements),\n e = \"function\" == typeof document.registerElement,\n n = t || e;\n\n n || (\n /**\n * @license\n * Copyright (c) 2014 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n \"undefined\" == typeof WeakMap && !function () {\n var t = Object.defineProperty,\n e = Date.now() % 1e9,\n n = function n() {\n this.name = \"__st\" + (1e9 * Math.random() >>> 0) + (e++ + \"__\");\n };\n\n n.prototype = {\n set: function set(e, n) {\n var i = e[this.name];\n return i && i[0] === e ? i[1] = n : t(e, this.name, {\n value: [e, n],\n writable: !0\n }), this;\n },\n get: function get(t) {\n var e;\n return (e = t[this.name]) && e[0] === t ? e[1] : void 0;\n },\n \"delete\": function _delete(t) {\n var e = t[this.name];\n return e && e[0] === t ? (e[0] = e[1] = void 0, !0) : !1;\n },\n has: function has(t) {\n var e = t[this.name];\n return e ? e[0] === t : !1;\n }\n }, window.WeakMap = n;\n }(), function (t) {\n function e(t) {\n A.push(t), b || (b = !0, g(i));\n }\n\n function n(t) {\n return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t) || t;\n }\n\n function i() {\n b = !1;\n var t = A;\n A = [], t.sort(function (t, e) {\n return t.uid_ - e.uid_;\n });\n var e = !1;\n t.forEach(function (t) {\n var n = t.takeRecords();\n o(t), n.length && (t.callback_(n, t), e = !0);\n }), e && i();\n }\n\n function o(t) {\n t.nodes_.forEach(function (e) {\n var n = m.get(e);\n n && n.forEach(function (e) {\n e.observer === t && e.removeTransientObservers();\n });\n });\n }\n\n function r(t, e) {\n for (var n = t; n; n = n.parentNode) {\n var i = m.get(n);\n if (i) for (var o = 0; o < i.length; o++) {\n var r = i[o],\n s = r.options;\n\n if (n === t || s.subtree) {\n var a = e(s);\n a && r.enqueue(a);\n }\n }\n }\n }\n\n function s(t) {\n this.callback_ = t, this.nodes_ = [], this.records_ = [], this.uid_ = ++C;\n }\n\n function a(t, e) {\n this.type = t, this.target = e, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null;\n }\n\n function u(t) {\n var e = new a(t.type, t.target);\n return e.addedNodes = t.addedNodes.slice(), e.removedNodes = t.removedNodes.slice(), e.previousSibling = t.previousSibling, e.nextSibling = t.nextSibling, e.attributeName = t.attributeName, e.attributeNamespace = t.attributeNamespace, e.oldValue = t.oldValue, e;\n }\n\n function c(t, e) {\n return x = new a(t, e);\n }\n\n function l(t) {\n return w ? w : (w = u(x), w.oldValue = t, w);\n }\n\n function h() {\n x = w = void 0;\n }\n\n function p(t) {\n return t === w || t === x;\n }\n\n function d(t, e) {\n return t === e ? t : w && p(t) ? w : null;\n }\n\n function f(t, e, n) {\n this.observer = t, this.target = e, this.options = n, this.transientObservedNodes = [];\n }\n\n if (!t.JsMutationObserver) {\n var g,\n m = new WeakMap();\n if (/Trident|Edge/.test(navigator.userAgent)) g = setTimeout;else if (window.setImmediate) g = window.setImmediate;else {\n var v = [],\n y = String(Math.random());\n window.addEventListener(\"message\", function (t) {\n if (t.data === y) {\n var e = v;\n v = [], e.forEach(function (t) {\n t();\n });\n }\n }), g = function g(t) {\n v.push(t), window.postMessage(y, \"*\");\n };\n }\n var b = !1,\n A = [],\n C = 0;\n s.prototype = {\n observe: function observe(t, e) {\n if (t = n(t), !e.childList && !e.attributes && !e.characterData || e.attributeOldValue && !e.attributes || e.attributeFilter && e.attributeFilter.length && !e.attributes || e.characterDataOldValue && !e.characterData) throw new SyntaxError();\n var i = m.get(t);\n i || m.set(t, i = []);\n\n for (var o, r = 0; r < i.length; r++) {\n if (i[r].observer === this) {\n o = i[r], o.removeListeners(), o.options = e;\n break;\n }\n }\n\n o || (o = new f(this, t, e), i.push(o), this.nodes_.push(t)), o.addListeners();\n },\n disconnect: function disconnect() {\n this.nodes_.forEach(function (t) {\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n var i = e[n];\n\n if (i.observer === this) {\n i.removeListeners(), e.splice(n, 1);\n break;\n }\n }\n }, this), this.records_ = [];\n },\n takeRecords: function takeRecords() {\n var t = this.records_;\n return this.records_ = [], t;\n }\n };\n var x, w;\n f.prototype = {\n enqueue: function enqueue(t) {\n var n = this.observer.records_,\n i = n.length;\n\n if (n.length > 0) {\n var o = n[i - 1],\n r = d(o, t);\n if (r) return void (n[i - 1] = r);\n } else e(this.observer);\n\n n[i] = t;\n },\n addListeners: function addListeners() {\n this.addListeners_(this.target);\n },\n addListeners_: function addListeners_(t) {\n var e = this.options;\n e.attributes && t.addEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.addEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.addEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.addEventListener(\"DOMNodeRemoved\", this, !0);\n },\n removeListeners: function removeListeners() {\n this.removeListeners_(this.target);\n },\n removeListeners_: function removeListeners_(t) {\n var e = this.options;\n e.attributes && t.removeEventListener(\"DOMAttrModified\", this, !0), e.characterData && t.removeEventListener(\"DOMCharacterDataModified\", this, !0), e.childList && t.removeEventListener(\"DOMNodeInserted\", this, !0), (e.childList || e.subtree) && t.removeEventListener(\"DOMNodeRemoved\", this, !0);\n },\n addTransientObserver: function addTransientObserver(t) {\n if (t !== this.target) {\n this.addListeners_(t), this.transientObservedNodes.push(t);\n var e = m.get(t);\n e || m.set(t, e = []), e.push(this);\n }\n },\n removeTransientObservers: function removeTransientObservers() {\n var t = this.transientObservedNodes;\n this.transientObservedNodes = [], t.forEach(function (t) {\n this.removeListeners_(t);\n\n for (var e = m.get(t), n = 0; n < e.length; n++) {\n if (e[n] === this) {\n e.splice(n, 1);\n break;\n }\n }\n }, this);\n },\n handleEvent: function handleEvent(t) {\n switch (t.stopImmediatePropagation(), t.type) {\n case \"DOMAttrModified\":\n var e = t.attrName,\n n = t.relatedNode.namespaceURI,\n i = t.target,\n o = new c(\"attributes\", i);\n o.attributeName = e, o.attributeNamespace = n;\n var s = t.attrChange === MutationEvent.ADDITION ? null : t.prevValue;\n r(i, function (t) {\n return !t.attributes || t.attributeFilter && t.attributeFilter.length && -1 === t.attributeFilter.indexOf(e) && -1 === t.attributeFilter.indexOf(n) ? void 0 : t.attributeOldValue ? l(s) : o;\n });\n break;\n\n case \"DOMCharacterDataModified\":\n var i = t.target,\n o = c(\"characterData\", i),\n s = t.prevValue;\n r(i, function (t) {\n return t.characterData ? t.characterDataOldValue ? l(s) : o : void 0;\n });\n break;\n\n case \"DOMNodeRemoved\":\n this.addTransientObserver(t.target);\n\n case \"DOMNodeInserted\":\n var a,\n u,\n p = t.target;\n \"DOMNodeInserted\" === t.type ? (a = [p], u = []) : (a = [], u = [p]);\n var d = p.previousSibling,\n f = p.nextSibling,\n o = c(\"childList\", t.target.parentNode);\n o.addedNodes = a, o.removedNodes = u, o.previousSibling = d, o.nextSibling = f, r(t.relatedNode, function (t) {\n return t.childList ? o : void 0;\n });\n }\n\n h();\n }\n }, t.JsMutationObserver = s, t.MutationObserver || (t.MutationObserver = s, s._isPolyfilled = !0);\n }\n }(self), function () {\n \"use strict\";\n\n if (!window.performance || !window.performance.now) {\n var t = Date.now();\n window.performance = {\n now: function now() {\n return Date.now() - t;\n }\n };\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function () {\n var t = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n return t ? function (e) {\n return t(function () {\n e(performance.now());\n });\n } : function (t) {\n return window.setTimeout(t, 1e3 / 60);\n };\n }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function () {\n return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function (t) {\n clearTimeout(t);\n };\n }());\n\n var e = function () {\n var t = document.createEvent(\"Event\");\n return t.initEvent(\"foo\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }();\n\n if (!e) {\n var n = Event.prototype.preventDefault;\n\n Event.prototype.preventDefault = function () {\n this.cancelable && (n.call(this), Object.defineProperty(this, \"defaultPrevented\", {\n get: function get() {\n return !0;\n },\n configurable: !0\n }));\n };\n }\n\n var i = /Trident/.test(navigator.userAgent);\n\n if ((!window.CustomEvent || i && \"function\" != typeof window.CustomEvent) && (window.CustomEvent = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(t, Boolean(e.bubbles), Boolean(e.cancelable), e.detail), n;\n }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && \"function\" != typeof window.Event) {\n var o = window.Event;\n window.Event = function (t, e) {\n e = e || {};\n var n = document.createEvent(\"Event\");\n return n.initEvent(t, Boolean(e.bubbles), Boolean(e.cancelable)), n;\n }, window.Event.prototype = o.prototype;\n }\n }(window.WebComponents), window.CustomElements = window.CustomElements || {\n flags: {}\n }, function (t) {\n var e = t.flags,\n n = [],\n i = function i(t) {\n n.push(t);\n },\n o = function o() {\n n.forEach(function (e) {\n e(t);\n });\n };\n\n t.addModule = i, t.initializeModules = o, t.hasNative = Boolean(document.registerElement), t.isIE = /Trident/.test(navigator.userAgent), t.useNative = !e.register && t.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative);\n }(window.CustomElements), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n n(t, function (t) {\n return e(t) ? !0 : void i(t, e);\n }), i(t, e);\n }\n\n function n(t, e, i) {\n var o = t.firstElementChild;\n if (!o) for (o = t.firstChild; o && o.nodeType !== Node.ELEMENT_NODE;) {\n o = o.nextSibling;\n }\n\n for (; o;) {\n e(o, i) !== !0 && n(o, e, i), o = o.nextElementSibling;\n }\n\n return null;\n }\n\n function i(t, n) {\n for (var i = t.shadowRoot; i;) {\n e(i, n), i = i.olderShadowRoot;\n }\n }\n\n function o(t, e) {\n r(t, e, []);\n }\n\n function r(t, e, n) {\n if (t = window.wrap(t), !(n.indexOf(t) >= 0)) {\n n.push(t);\n\n for (var i, o = t.querySelectorAll(\"link[rel=\" + s + \"]\"), a = 0, u = o.length; u > a && (i = o[a]); a++) {\n i.import && r(i.import, e, n);\n }\n\n e(t);\n }\n }\n\n var s = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : \"none\";\n t.forDocumentTree = o, t.forSubtree = e;\n }), window.CustomElements.addModule(function (t) {\n function e(t, e) {\n return n(t, e) || i(t, e);\n }\n\n function n(e, n) {\n return t.upgrade(e, n) ? !0 : void (n && s(e));\n }\n\n function i(t, e) {\n b(t, function (t) {\n return n(t, e) ? !0 : void 0;\n });\n }\n\n function o(t) {\n w.push(t), x || (x = !0, setTimeout(r));\n }\n\n function r() {\n x = !1;\n\n for (var t, e = w, n = 0, i = e.length; i > n && (t = e[n]); n++) {\n t();\n }\n\n w = [];\n }\n\n function s(t) {\n C ? o(function () {\n a(t);\n }) : a(t);\n }\n\n function a(t) {\n t.__upgraded__ && !t.__attached && (t.__attached = !0, t.attachedCallback && t.attachedCallback());\n }\n\n function u(t) {\n c(t), b(t, function (t) {\n c(t);\n });\n }\n\n function c(t) {\n C ? o(function () {\n l(t);\n }) : l(t);\n }\n\n function l(t) {\n t.__upgraded__ && t.__attached && (t.__attached = !1, t.detachedCallback && t.detachedCallback());\n }\n\n function h(t) {\n for (var e = t, n = window.wrap(document); e;) {\n if (e == n) return !0;\n e = e.parentNode || e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.host;\n }\n }\n\n function p(t) {\n if (t.shadowRoot && !t.shadowRoot.__watched) {\n y.dom && console.log(\"watching shadow-root for: \", t.localName);\n\n for (var e = t.shadowRoot; e;) {\n g(e), e = e.olderShadowRoot;\n }\n }\n }\n\n function d(t, n) {\n if (y.dom) {\n var i = n[0];\n\n if (i && \"childList\" === i.type && i.addedNodes && i.addedNodes) {\n for (var o = i.addedNodes[0]; o && o !== document && !o.host;) {\n o = o.parentNode;\n }\n\n var r = o && (o.URL || o._URL || o.host && o.host.localName) || \"\";\n r = r.split(\"/?\").shift().split(\"/\").pop();\n }\n\n console.group(\"mutations (%d) [%s]\", n.length, r || \"\");\n }\n\n var s = h(t);\n n.forEach(function (t) {\n \"childList\" === t.type && (E(t.addedNodes, function (t) {\n t.localName && e(t, s);\n }), E(t.removedNodes, function (t) {\n t.localName && u(t);\n }));\n }), y.dom && console.groupEnd();\n }\n\n function f(t) {\n for (t = window.wrap(t), t || (t = window.wrap(document)); t.parentNode;) {\n t = t.parentNode;\n }\n\n var e = t.__observer;\n e && (d(t, e.takeRecords()), r());\n }\n\n function g(t) {\n if (!t.__observer) {\n var e = new MutationObserver(d.bind(this, t));\n e.observe(t, {\n childList: !0,\n subtree: !0\n }), t.__observer = e;\n }\n }\n\n function m(t) {\n t = window.wrap(t), y.dom && console.group(\"upgradeDocument: \", t.baseURI.split(\"/\").pop());\n var n = t === window.wrap(document);\n e(t, n), g(t), y.dom && console.groupEnd();\n }\n\n function v(t) {\n A(t, m);\n }\n\n var y = t.flags,\n b = t.forSubtree,\n A = t.forDocumentTree,\n C = window.MutationObserver._isPolyfilled && y[\"throttle-attached\"];\n t.hasPolyfillMutations = C, t.hasThrottledAttached = C;\n var x = !1,\n w = [],\n E = Array.prototype.forEach.call.bind(Array.prototype.forEach),\n S = Element.prototype.createShadowRoot;\n S && (Element.prototype.createShadowRoot = function () {\n var t = S.call(this);\n return window.CustomElements.watchShadow(this), t;\n }), t.watchShadow = p, t.upgradeDocumentTree = v, t.upgradeDocument = m, t.upgradeSubtree = i, t.upgradeAll = e, t.attached = s, t.takeRecords = f;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n if (\"template\" === e.localName && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e), !e.__upgraded__ && e.nodeType === Node.ELEMENT_NODE) {\n var o = e.getAttribute(\"is\"),\n r = t.getRegisteredDefinition(e.localName) || t.getRegisteredDefinition(o);\n if (r && (o && r.tag == e.localName || !o && !r.extends)) return n(e, r, i);\n }\n }\n\n function n(e, n, o) {\n return s.upgrade && console.group(\"upgrade:\", e.localName), n.is && e.setAttribute(\"is\", n.is), i(e, n), e.__upgraded__ = !0, r(e), o && t.attached(e), t.upgradeSubtree(e, o), s.upgrade && console.groupEnd(), e;\n }\n\n function i(t, e) {\n Object.__proto__ ? t.__proto__ = e.prototype : (o(t, e.prototype, e.native), t.__proto__ = e.prototype);\n }\n\n function o(t, e, n) {\n for (var i = {}, o = e; o !== n && o !== HTMLElement.prototype;) {\n for (var r, s = Object.getOwnPropertyNames(o), a = 0; r = s[a]; a++) {\n i[r] || (Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(o, r)), i[r] = 1);\n }\n\n o = Object.getPrototypeOf(o);\n }\n }\n\n function r(t) {\n t.createdCallback && t.createdCallback();\n }\n\n var s = t.flags;\n t.upgrade = e, t.upgradeWithDefinition = n, t.implementPrototype = i;\n }), window.CustomElements.addModule(function (t) {\n function e(e, i) {\n var u = i || {};\n if (!e) throw new Error(\"document.registerElement: first argument `name` must not be empty\");\n if (e.indexOf(\"-\") < 0) throw new Error(\"document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '\" + String(e) + \"'.\");\n if (o(e)) throw new Error(\"Failed to execute 'registerElement' on 'Document': Registration failed for type '\" + String(e) + \"'. The type name is invalid.\");\n if (c(e)) throw new Error(\"DuplicateDefinitionError: a type with name '\" + String(e) + \"' is already registered\");\n return u.prototype || (u.prototype = Object.create(HTMLElement.prototype)), u.__name = e.toLowerCase(), u.extends && (u.extends = u.extends.toLowerCase()), u.lifecycle = u.lifecycle || {}, u.ancestry = r(u.extends), s(u), a(u), n(u.prototype), l(u.__name, u), u.ctor = h(u), u.ctor.prototype = u.prototype, u.prototype.constructor = u.ctor, t.ready && m(document), u.ctor;\n }\n\n function n(t) {\n if (!t.setAttribute._polyfilled) {\n var e = t.setAttribute;\n\n t.setAttribute = function (t, n) {\n i.call(this, t, n, e);\n };\n\n var n = t.removeAttribute;\n t.removeAttribute = function (t) {\n i.call(this, t, null, n);\n }, t.setAttribute._polyfilled = !0;\n }\n }\n\n function i(t, e, n) {\n t = t.toLowerCase();\n var i = this.getAttribute(t);\n n.apply(this, arguments);\n var o = this.getAttribute(t);\n this.attributeChangedCallback && o !== i && this.attributeChangedCallback(t, i, o);\n }\n\n function o(t) {\n for (var e = 0; e < C.length; e++) {\n if (t === C[e]) return !0;\n }\n }\n\n function r(t) {\n var e = c(t);\n return e ? r(e.extends).concat([e]) : [];\n }\n\n function s(t) {\n for (var e, n = t.extends, i = 0; e = t.ancestry[i]; i++) {\n n = e.is && e.tag;\n }\n\n t.tag = n || t.__name, n && (t.is = t.__name);\n }\n\n function a(t) {\n if (!Object.__proto__) {\n var e = HTMLElement.prototype;\n\n if (t.is) {\n var n = document.createElement(t.tag);\n e = Object.getPrototypeOf(n);\n }\n\n for (var i, o = t.prototype, r = !1; o;) {\n o == e && (r = !0), i = Object.getPrototypeOf(o), i && (o.__proto__ = i), o = i;\n }\n\n r || console.warn(t.tag + \" prototype not found in prototype chain for \" + t.is), t.native = e;\n }\n }\n\n function u(t) {\n return y(E(t.tag), t);\n }\n\n function c(t) {\n return t ? x[t.toLowerCase()] : void 0;\n }\n\n function l(t, e) {\n x[t] = e;\n }\n\n function h(t) {\n return function () {\n return u(t);\n };\n }\n\n function p(t, e, n) {\n return t === w ? d(e, n) : S(t, e);\n }\n\n function d(t, e) {\n t && (t = t.toLowerCase()), e && (e = e.toLowerCase());\n var n = c(e || t);\n\n if (n) {\n if (t == n.tag && e == n.is) return new n.ctor();\n if (!e && !n.is) return new n.ctor();\n }\n\n var i;\n return e ? (i = d(t), i.setAttribute(\"is\", e), i) : (i = E(t), t.indexOf(\"-\") >= 0 && b(i, HTMLElement), i);\n }\n\n function f(t, e) {\n var n = t[e];\n\n t[e] = function () {\n var t = n.apply(this, arguments);\n return v(t), t;\n };\n }\n\n var g,\n m = (t.isIE, t.upgradeDocumentTree),\n v = t.upgradeAll,\n y = t.upgradeWithDefinition,\n b = t.implementPrototype,\n A = t.useNative,\n C = [\"annotation-xml\", \"color-profile\", \"font-face\", \"font-face-src\", \"font-face-uri\", \"font-face-format\", \"font-face-name\", \"missing-glyph\"],\n x = {},\n w = \"http://www.w3.org/1999/xhtml\",\n E = document.createElement.bind(document),\n S = document.createElementNS.bind(document);\n g = Object.__proto__ || A ? function (t, e) {\n return t instanceof e;\n } : function (t, e) {\n if (t instanceof e) return !0;\n\n for (var n = t; n;) {\n if (n === e.prototype) return !0;\n n = n.__proto__;\n }\n\n return !1;\n }, f(Node.prototype, \"cloneNode\"), f(document, \"importNode\"), document.registerElement = e, document.createElement = d, document.createElementNS = p, t.registry = x, t.instanceof = g, t.reservedTagList = C, t.getRegisteredDefinition = c, document.register = document.registerElement;\n }), function (t) {\n function e() {\n r(window.wrap(document)), window.CustomElements.ready = !0;\n\n var t = window.requestAnimationFrame || function (t) {\n setTimeout(t, 16);\n };\n\n t(function () {\n setTimeout(function () {\n window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent(\"WebComponentsReady\", {\n bubbles: !0\n }));\n });\n });\n }\n\n var n = t.useNative,\n i = t.initializeModules;\n\n if (t.isIE, n) {\n var o = function o() {};\n\n t.watchShadow = o, t.upgrade = o, t.upgradeAll = o, t.upgradeDocumentTree = o, t.upgradeSubtree = o, t.takeRecords = o, t.instanceof = function (t, e) {\n return t instanceof e;\n };\n } else i();\n\n var r = t.upgradeDocumentTree,\n s = t.upgradeDocument;\n if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function (t) {\n return t;\n }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function (t) {\n t.import && s(wrap(t.import));\n }), \"complete\" === document.readyState || t.flags.eager) e();else if (\"interactive\" !== document.readyState || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) {\n var a = window.HTMLImports && !window.HTMLImports.ready ? \"HTMLImportsLoaded\" : \"DOMContentLoaded\";\n window.addEventListener(a, e);\n } else e();\n }(window.CustomElements));\n}.call(this), function () {}.call(this), function () {\n var t = this;\n (function () {\n (function () {\n this.Trix = {\n VERSION: \"1.3.1\",\n ZERO_WIDTH_SPACE: \"\\uFEFF\",\n NON_BREAKING_SPACE: \"\\xa0\",\n OBJECT_REPLACEMENT_CHARACTER: \"\\uFFFC\",\n browser: {\n composesExistingText: /Android.*Chrome/.test(navigator.userAgent),\n forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent),\n supportsInputEvents: function () {\n var t, e, n, i;\n if (\"undefined\" == typeof InputEvent) return !1;\n\n for (i = [\"data\", \"getTargetRanges\", \"inputType\"], t = 0, e = i.length; e > t; t++) {\n if (n = i[t], !(n in InputEvent.prototype)) return !1;\n }\n\n return !0;\n }()\n },\n config: {}\n };\n }).call(this);\n }).call(t);\n var e = t.Trix;\n (function () {\n (function () {\n e.BasicObject = function () {\n function t() {}\n\n var e, n, i;\n return t.proxyMethod = function (t) {\n var i, o, r, s, a;\n return r = n(t), i = r.name, s = r.toMethod, a = r.toProperty, o = r.optional, this.prototype[i] = function () {\n var t, n;\n return t = null != s ? o ? \"function\" == typeof this[s] ? this[s]() : void 0 : this[s]() : null != a ? this[a] : void 0, o ? (n = null != t ? t[i] : void 0, null != n ? e.call(n, t, arguments) : void 0) : (n = t[i], e.call(n, t, arguments));\n };\n }, n = function n(t) {\n var e, n;\n if (!(n = t.match(i))) throw new Error(\"can't parse @proxyMethod expression: \" + t);\n return e = {\n name: n[4]\n }, null != n[2] ? e.toMethod = n[1] : e.toProperty = n[1], null != n[3] && (e.optional = !0), e;\n }, e = Function.prototype.apply, i = /^(.+?)(\\(\\))?(\\?)?\\.(.+?)$/, t;\n }();\n }).call(this), function () {\n var t = function t(_t, e) {\n function i() {\n this.constructor = _t;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t.prototype = new i(), _t.__super__ = e.prototype, _t;\n },\n n = {}.hasOwnProperty;\n\n e.Object = function (n) {\n function i() {\n this.id = ++o;\n }\n\n var o;\n return t(i, n), o = 0, i.fromJSONString = function (t) {\n return this.fromJSON(JSON.parse(t));\n }, i.prototype.hasSameConstructorAs = function (t) {\n return this.constructor === (null != t ? t.constructor : void 0);\n }, i.prototype.isEqualTo = function (t) {\n return this === t;\n }, i.prototype.inspect = function () {\n var t, e, n;\n return t = function () {\n var t, i, o;\n i = null != (t = this.contentsForInspection()) ? t : {}, o = [];\n\n for (e in i) {\n n = i[e], o.push(e + \"=\" + n);\n }\n\n return o;\n }.call(this), \"#<\" + this.constructor.name + \":\" + this.id + (t.length ? \" \" + t.join(\", \") : \"\") + \">\";\n }, i.prototype.contentsForInspection = function () {}, i.prototype.toJSONString = function () {\n return JSON.stringify(this);\n }, i.prototype.toUTF16String = function () {\n return e.UTF16String.box(this);\n }, i.prototype.getCacheKey = function () {\n return this.id.toString();\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n e.extend = function (t) {\n var e, n;\n\n for (e in t) {\n n = t[e], this[e] = n;\n }\n\n return this;\n };\n }.call(this), function () {\n e.extend({\n defer: function defer(t) {\n return setTimeout(t, 1);\n }\n });\n }.call(this), function () {\n var t, n;\n e.extend({\n normalizeSpaces: function normalizeSpaces(t) {\n return t.replace(RegExp(\"\" + e.ZERO_WIDTH_SPACE, \"g\"), \"\").replace(RegExp(\"\" + e.NON_BREAKING_SPACE, \"g\"), \" \");\n },\n normalizeNewlines: function normalizeNewlines(t) {\n return t.replace(/\\r\\n/g, \"\\n\");\n },\n breakableWhitespacePattern: RegExp(\"[^\\\\S\" + e.NON_BREAKING_SPACE + \"]\"),\n squishBreakableWhitespace: function squishBreakableWhitespace(t) {\n return t.replace(RegExp(\"\" + e.breakableWhitespacePattern.source, \"g\"), \" \").replace(/\\ {2,}/g, \" \");\n },\n summarizeStringChange: function summarizeStringChange(t, i) {\n var o, r, s, a;\n return t = e.UTF16String.box(t), i = e.UTF16String.box(i), i.length < t.length ? (r = n(t, i), a = r[0], o = r[1]) : (s = n(i, t), o = s[0], a = s[1]), {\n added: o,\n removed: a\n };\n }\n }), n = function n(_n, i) {\n var o, r, s, a, u;\n return _n.isEqualTo(i) ? [\"\", \"\"] : (r = t(_n, i), a = r.utf16String.length, s = a ? (u = r.offset, r, o = _n.codepoints.slice(0, u).concat(_n.codepoints.slice(u + a)), t(i, e.UTF16String.fromCodepoints(o))) : t(i, _n), [r.utf16String.toString(), s.utf16String.toString()]);\n }, t = function t(_t2, e) {\n var n, i, o;\n\n for (n = 0, i = _t2.length, o = e.length; i > n && _t2.charAt(n).isEqualTo(e.charAt(n));) {\n n++;\n }\n\n for (; i > n + 1 && _t2.charAt(i - 1).isEqualTo(e.charAt(o - 1));) {\n i--, o--;\n }\n\n return {\n utf16String: _t2.slice(n, i),\n offset: n\n };\n };\n }.call(this), function () {\n e.extend({\n copyObject: function copyObject(t) {\n var e, n, i;\n null == t && (t = {}), n = {};\n\n for (e in t) {\n i = t[e], n[e] = i;\n }\n\n return n;\n },\n objectsAreEqual: function objectsAreEqual(t, e) {\n var n, i;\n if (null == t && (t = {}), null == e && (e = {}), Object.keys(t).length !== Object.keys(e).length) return !1;\n\n for (n in t) {\n if (i = t[n], i !== e[n]) return !1;\n }\n\n return !0;\n }\n });\n }.call(this), function () {\n var t = [].slice;\n e.extend({\n arraysAreEqual: function arraysAreEqual(t, e) {\n var n, i, o, r;\n if (null == t && (t = []), null == e && (e = []), t.length !== e.length) return !1;\n\n for (i = n = 0, o = t.length; o > n; i = ++n) {\n if (r = t[i], r !== e[i]) return !1;\n }\n\n return !0;\n },\n arrayStartsWith: function arrayStartsWith(t, n) {\n return null == t && (t = []), null == n && (n = []), e.arraysAreEqual(t.slice(0, n.length), n);\n },\n spliceArray: function spliceArray() {\n var e, n, i;\n return n = arguments[0], e = 2 <= arguments.length ? t.call(arguments, 1) : [], i = n.slice(0), i.splice.apply(i, e), i;\n },\n summarizeArrayChange: function summarizeArrayChange(t, e) {\n var n, i, o, r, s, a, u, c, l, h, p;\n\n for (null == t && (t = []), null == e && (e = []), n = [], h = [], o = new Set(), r = 0, u = t.length; u > r; r++) {\n p = t[r], o.add(p);\n }\n\n for (i = new Set(), s = 0, c = e.length; c > s; s++) {\n p = e[s], i.add(p), o.has(p) || n.push(p);\n }\n\n for (a = 0, l = t.length; l > a; a++) {\n p = t[a], i.has(p) || h.push(p);\n }\n\n return {\n added: n,\n removed: h\n };\n }\n });\n }.call(this), function () {\n var t, n, i, o;\n t = null, n = null, o = null, i = null, e.extend({\n getAllAttributeNames: function getAllAttributeNames() {\n return null != t ? t : t = e.getTextAttributeNames().concat(e.getBlockAttributeNames());\n },\n getBlockConfig: function getBlockConfig(t) {\n return e.config.blockAttributes[t];\n },\n getBlockAttributeNames: function getBlockAttributeNames() {\n return null != n ? n : n = Object.keys(e.config.blockAttributes);\n },\n getTextConfig: function getTextConfig(t) {\n return e.config.textAttributes[t];\n },\n getTextAttributeNames: function getTextAttributeNames() {\n return null != o ? o : o = Object.keys(e.config.textAttributes);\n },\n getListAttributeNames: function getListAttributeNames() {\n var t, n;\n return null != i ? i : i = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].listAttribute, null != n && o.push(n);\n }\n\n return o;\n }();\n }\n });\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = document.documentElement, n = null != (i = null != (o = null != (r = t.matchesSelector) ? r : t.webkitMatchesSelector) ? o : t.msMatchesSelector) ? i : t.mozMatchesSelector, e.extend({\n handleEvent: function handleEvent(n, i) {\n var o, r, _s, a, u, c, l, h, p, d, f, g;\n\n return h = null != i ? i : {}, c = h.onElement, u = h.matchingSelector, g = h.withCallback, a = h.inPhase, l = h.preventDefault, d = h.times, r = null != c ? c : t, p = u, o = g, f = \"capturing\" === a, _s = function s(t) {\n var n;\n return null != d && 0 === --d && _s.destroy(), n = e.findClosestElementFromNode(t.target, {\n matchingSelector: p\n }), null != n && (null != g && g.call(n, t, n), l) ? t.preventDefault() : void 0;\n }, _s.destroy = function () {\n return r.removeEventListener(n, _s, f);\n }, r.addEventListener(n, _s, f), _s;\n },\n handleEventOnce: function handleEventOnce(t, n) {\n return null == n && (n = {}), n.times = 1, e.handleEvent(t, n);\n },\n triggerEvent: function triggerEvent(n, i) {\n var o, r, s, a, u, c, l;\n return l = null != i ? i : {}, c = l.onElement, r = l.bubbles, s = l.cancelable, o = l.attributes, a = null != c ? c : t, r = r !== !1, s = s !== !1, u = document.createEvent(\"Events\"), u.initEvent(n, r, s), null != o && e.extend.call(u, o), a.dispatchEvent(u);\n },\n elementMatchesSelector: function elementMatchesSelector(t, e) {\n return 1 === (null != t ? t.nodeType : void 0) ? n.call(t, e) : void 0;\n },\n findClosestElementFromNode: function findClosestElementFromNode(t, n) {\n var i, o, r;\n\n for (o = null != n ? n : {}, i = o.matchingSelector, r = o.untilNode; null != t && t.nodeType !== Node.ELEMENT_NODE;) {\n t = t.parentNode;\n }\n\n if (null != t) {\n if (null == i) return t;\n if (t.closest && null == r) return t.closest(i);\n\n for (; t && t !== r;) {\n if (e.elementMatchesSelector(t, i)) return t;\n t = t.parentNode;\n }\n }\n },\n findInnerElement: function findInnerElement(t) {\n for (; null != t ? t.firstElementChild : void 0;) {\n t = t.firstElementChild;\n }\n\n return t;\n },\n innerElementIsActive: function innerElementIsActive(t) {\n return document.activeElement !== t && e.elementContainsNode(t, document.activeElement);\n },\n elementContainsNode: function elementContainsNode(t, e) {\n if (t && e) for (; e;) {\n if (e === t) return !0;\n e = e.parentNode;\n }\n },\n findNodeFromContainerAndOffset: function findNodeFromContainerAndOffset(t, e) {\n var n;\n if (t) return t.nodeType === Node.TEXT_NODE ? t : 0 === e ? null != (n = t.firstChild) ? n : t : t.childNodes.item(e - 1);\n },\n findElementFromContainerAndOffset: function findElementFromContainerAndOffset(t, n) {\n var i;\n return i = e.findNodeFromContainerAndOffset(t, n), e.findClosestElementFromNode(i);\n },\n findChildIndexOfNode: function findChildIndexOfNode(t) {\n var e;\n\n if (null != t ? t.parentNode : void 0) {\n for (e = 0; t = t.previousSibling;) {\n e++;\n }\n\n return e;\n }\n },\n removeNode: function removeNode(t) {\n var e;\n return null != t && null != (e = t.parentNode) ? e.removeChild(t) : void 0;\n },\n walkTree: function walkTree(t, e) {\n var n, i, o, r, s;\n return o = null != e ? e : {}, i = o.onlyNodesOfType, r = o.usingFilter, n = o.expandEntityReferences, s = function () {\n switch (i) {\n case \"element\":\n return NodeFilter.SHOW_ELEMENT;\n\n case \"text\":\n return NodeFilter.SHOW_TEXT;\n\n case \"comment\":\n return NodeFilter.SHOW_COMMENT;\n\n default:\n return NodeFilter.SHOW_ALL;\n }\n }(), document.createTreeWalker(t, s, null != r ? r : null, n === !0);\n },\n tagName: function tagName(t) {\n var e;\n return null != t && null != (e = t.tagName) ? e.toLowerCase() : void 0;\n },\n makeElement: function makeElement(t, e) {\n var n, i, o, r, s, a, u, c, l, h, p, d, f, g;\n\n if (null == e && (e = {}), \"object\" == _typeof(t) ? (e = t, t = e.tagName) : e = {\n attributes: e\n }, o = document.createElement(t), null != e.editable && (null == e.attributes && (e.attributes = {}), e.attributes.contenteditable = e.editable), e.attributes) {\n l = e.attributes;\n\n for (a in l) {\n g = l[a], o.setAttribute(a, g);\n }\n }\n\n if (e.style) {\n h = e.style;\n\n for (a in h) {\n g = h[a], o.style[a] = g;\n }\n }\n\n if (e.data) {\n p = e.data;\n\n for (a in p) {\n g = p[a], o.dataset[a] = g;\n }\n }\n\n if (e.className) for (d = e.className.split(\" \"), r = 0, u = d.length; u > r; r++) {\n i = d[r], o.classList.add(i);\n }\n if (e.textContent && (o.textContent = e.textContent), e.childNodes) for (f = [].concat(e.childNodes), s = 0, c = f.length; c > s; s++) {\n n = f[s], o.appendChild(n);\n }\n return o;\n },\n getBlockTagNames: function getBlockTagNames() {\n var t, n;\n return null != e.blockTagNames ? e.blockTagNames : e.blockTagNames = function () {\n var i, o;\n i = e.config.blockAttributes, o = [];\n\n for (t in i) {\n n = i[t].tagName, n && o.push(n);\n }\n\n return o;\n }();\n },\n nodeIsBlockContainer: function nodeIsBlockContainer(t) {\n return e.nodeIsBlockStartComment(null != t ? t.firstChild : void 0);\n },\n nodeProbablyIsBlockContainer: function nodeProbablyIsBlockContainer(t) {\n var n, i;\n return n = e.tagName(t), s.call(e.getBlockTagNames(), n) >= 0 && (i = e.tagName(t.firstChild), s.call(e.getBlockTagNames(), i) < 0);\n },\n nodeIsBlockStart: function nodeIsBlockStart(t, n) {\n var i;\n return i = (null != n ? n : {\n strict: !0\n }).strict, i ? e.nodeIsBlockStartComment(t) : e.nodeIsBlockStartComment(t) || !e.nodeIsBlockStartComment(t.firstChild) && e.nodeProbablyIsBlockContainer(t);\n },\n nodeIsBlockStartComment: function nodeIsBlockStartComment(t) {\n return e.nodeIsCommentNode(t) && \"block\" === (null != t ? t.data : void 0);\n },\n nodeIsCommentNode: function nodeIsCommentNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.COMMENT_NODE;\n },\n nodeIsCursorTarget: function nodeIsCursorTarget(t, n) {\n var i;\n return i = (null != n ? n : {}).name, t ? e.nodeIsTextNode(t) ? t.data === e.ZERO_WIDTH_SPACE ? i ? t.parentNode.dataset.trixCursorTarget === i : !0 : void 0 : e.nodeIsCursorTarget(t.firstChild) : void 0;\n },\n nodeIsAttachmentElement: function nodeIsAttachmentElement(t) {\n return e.elementMatchesSelector(t, e.AttachmentView.attachmentSelector);\n },\n nodeIsEmptyTextNode: function nodeIsEmptyTextNode(t) {\n return e.nodeIsTextNode(t) && \"\" === (null != t ? t.data : void 0);\n },\n nodeIsTextNode: function nodeIsTextNode(t) {\n return (null != t ? t.nodeType : void 0) === Node.TEXT_NODE;\n }\n });\n }.call(this), function () {\n var t, n, i, o, r;\n t = e.copyObject, o = e.objectsAreEqual, e.extend({\n normalizeRange: i = function i(t) {\n var e;\n if (null != t) return Array.isArray(t) || (t = [t, t]), [n(t[0]), n(null != (e = t[1]) ? e : t[0])];\n },\n rangeIsCollapsed: function rangeIsCollapsed(t) {\n var e, n, o;\n if (null != t) return n = i(t), o = n[0], e = n[1], r(o, e);\n },\n rangesAreEqual: function rangesAreEqual(t, e) {\n var n, o, s, a, u, c;\n if (null != t && null != e) return s = i(t), o = s[0], n = s[1], a = i(e), c = a[0], u = a[1], r(o, c) && r(n, u);\n }\n }), n = function n(e) {\n return \"number\" == typeof e ? e : t(e);\n }, r = function r(t, e) {\n return \"number\" == typeof t ? t === e : o(t, e);\n };\n }.call(this), function () {\n var t, n, i, o, r, s, a;\n e.registerElement = function (t, e) {\n var n, i;\n return null == e && (e = {}), t = t.toLowerCase(), e = a(e), i = s(e), (n = i.defaultCSS) && (delete i.defaultCSS, o(n, t)), r(t, i);\n }, o = function o(t, e) {\n var n;\n return n = i(e), n.textContent = t.replace(/%t/g, e);\n }, i = function i(e) {\n var n, i;\n return n = document.createElement(\"style\"), n.setAttribute(\"type\", \"text/css\"), n.setAttribute(\"data-tag-name\", e.toLowerCase()), (i = t()) && n.setAttribute(\"nonce\", i), document.head.insertBefore(n, document.head.firstChild), n;\n }, t = function t() {\n var t;\n return (t = n(\"trix-csp-nonce\") || n(\"csp-nonce\")) ? t.getAttribute(\"content\") : void 0;\n }, n = function n(t) {\n return document.head.querySelector(\"meta[name=\" + t + \"]\");\n }, s = function s(t) {\n var e, n, i;\n n = {};\n\n for (e in t) {\n i = t[e], n[e] = \"function\" == typeof i ? {\n value: i\n } : i;\n }\n\n return n;\n }, a = function () {\n var t;\n return t = function t(_t3) {\n var e, n, i, o, r;\n\n for (e = {}, r = [\"initialize\", \"connect\", \"disconnect\"], n = 0, o = r.length; o > n; n++) {\n i = r[n], e[i] = _t3[i], delete _t3[i];\n }\n\n return e;\n }, window.customElements ? function (e) {\n var n, i, o, r, s;\n return s = t(e), o = s.initialize, n = s.connect, i = s.disconnect, o && (r = n, n = function n() {\n return this.initialized || (this.initialized = !0, o.call(this)), null != r ? r.call(this) : void 0;\n }), n && (e.connectedCallback = n), i && (e.disconnectedCallback = i), e;\n } : function (e) {\n var n, i, o, r;\n return r = t(e), o = r.initialize, n = r.connect, i = r.disconnect, o && (e.createdCallback = o), n && (e.attachedCallback = n), i && (e.detachedCallback = i), e;\n };\n }(), r = function () {\n return window.customElements ? function (t, e) {\n var _n2;\n\n return _n2 = function n() {\n return \"object\" == (typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) ? Reflect.construct(HTMLElement, [], _n2) : HTMLElement.apply(this);\n }, Object.setPrototypeOf(_n2.prototype, HTMLElement.prototype), Object.setPrototypeOf(_n2, HTMLElement), Object.defineProperties(_n2.prototype, e), window.customElements.define(t, _n2), _n2;\n } : function (t, e) {\n var n, i;\n return i = Object.create(HTMLElement.prototype, e), n = document.registerElement(t, {\n prototype: i\n }), Object.defineProperty(i, \"constructor\", {\n value: n\n }), n;\n };\n }();\n }.call(this), function () {\n var t, n;\n e.extend({\n getDOMSelection: function getDOMSelection() {\n var t;\n return t = window.getSelection(), t.rangeCount > 0 ? t : void 0;\n },\n getDOMRange: function getDOMRange() {\n var n, i;\n return (n = null != (i = e.getDOMSelection()) ? i.getRangeAt(0) : void 0) && !t(n) ? n : void 0;\n },\n setDOMRange: function setDOMRange(t) {\n var n;\n return n = window.getSelection(), n.removeAllRanges(), n.addRange(t), e.selectionChangeObserver.update();\n }\n }), t = function t(_t4) {\n return n(_t4.startContainer) || n(_t4.endContainer);\n }, n = function n(t) {\n return !Object.getPrototypeOf(t);\n };\n }.call(this), function () {\n var t;\n t = {\n \"application/x-trix-feature-detection\": \"test\"\n }, e.extend({\n dataTransferIsPlainText: function dataTransferIsPlainText(t) {\n var e, n, i;\n return i = t.getData(\"text/plain\"), n = t.getData(\"text/html\"), i && n ? (e = new DOMParser().parseFromString(n, \"text/html\").body, e.textContent === i ? !e.querySelector(\"*\") : void 0) : null != i ? i.length : void 0;\n },\n dataTransferIsWritable: function dataTransferIsWritable(e) {\n var n, i;\n\n if (null != (null != e ? e.setData : void 0)) {\n for (n in t) {\n if (i = t[n], !function () {\n try {\n return e.setData(n, i), e.getData(n) === i;\n } catch (t) {}\n }()) return;\n }\n\n return !0;\n }\n },\n keyEventIsKeyboardCommand: function () {\n return /Mac|^iP/.test(navigator.platform) ? function (t) {\n return t.metaKey;\n } : function (t) {\n return t.ctrlKey;\n };\n }()\n });\n }.call(this), function () {\n e.extend({\n RTL_PATTERN: /[\\u05BE\\u05C0\\u05C3\\u05D0-\\u05EA\\u05F0-\\u05F4\\u061B\\u061F\\u0621-\\u063A\\u0640-\\u064A\\u066D\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D5\\u06E5\\u06E6\\u200F\\u202B\\u202E\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC]/,\n getDirection: function () {\n var t, n, i, o;\n return n = e.makeElement(\"input\", {\n dir: \"auto\",\n name: \"x\",\n dirName: \"x.dir\"\n }), t = e.makeElement(\"form\"), t.appendChild(n), i = function () {\n try {\n return new FormData(t).has(n.dirName);\n } catch (e) {}\n }(), o = function () {\n try {\n return n.matches(\":dir(ltr),:dir(rtl)\");\n } catch (t) {}\n }(), i ? function (e) {\n return n.value = e, new FormData(t).get(n.dirName);\n } : o ? function (t) {\n return n.value = t, n.matches(\":dir(rtl)\") ? \"rtl\" : \"ltr\";\n } : function (t) {\n var n;\n return n = t.trim().charAt(0), e.RTL_PATTERN.test(n) ? \"rtl\" : \"ltr\";\n };\n }()\n });\n }.call(this), function () {}.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.arraysAreEqual, e.Hash = function (i) {\n function o(t) {\n null == t && (t = {}), this.values = s(t), o.__super__.constructor.apply(this, arguments);\n }\n\n var r, s, a, u, c;\n return n(o, i), o.fromCommonAttributesOfObjects = function (t) {\n var e, n, i, o, s, a;\n if (null == t && (t = []), !t.length) return new this();\n\n for (e = r(t[0]), i = e.getKeys(), a = t.slice(1), n = 0, o = a.length; o > n; n++) {\n s = a[n], i = e.getKeysCommonToHash(r(s)), e = e.slice(i);\n }\n\n return e;\n }, o.box = function (t) {\n return r(t);\n }, o.prototype.add = function (t, e) {\n return this.merge(u(t, e));\n }, o.prototype.remove = function (t) {\n return new e.Hash(s(this.values, t));\n }, o.prototype.get = function (t) {\n return this.values[t];\n }, o.prototype.has = function (t) {\n return t in this.values;\n }, o.prototype.merge = function (t) {\n return new e.Hash(a(this.values, c(t)));\n }, o.prototype.slice = function (t) {\n var n, i, o, r;\n\n for (r = {}, n = 0, o = t.length; o > n; n++) {\n i = t[n], this.has(i) && (r[i] = this.values[i]);\n }\n\n return new e.Hash(r);\n }, o.prototype.getKeys = function () {\n return Object.keys(this.values);\n }, o.prototype.getKeysCommonToHash = function (t) {\n var e, n, i, o, s;\n\n for (t = r(t), o = this.getKeys(), s = [], e = 0, i = o.length; i > e; e++) {\n n = o[e], this.values[n] === t.values[n] && s.push(n);\n }\n\n return s;\n }, o.prototype.isEqualTo = function (e) {\n return t(this.toArray(), r(e).toArray());\n }, o.prototype.isEmpty = function () {\n return 0 === this.getKeys().length;\n }, o.prototype.toArray = function () {\n var t, e, n;\n return (null != this.array ? this.array : this.array = function () {\n var i;\n e = [], i = this.values;\n\n for (t in i) {\n n = i[t], e.push(t, n);\n }\n\n return e;\n }.call(this)).slice(0);\n }, o.prototype.toObject = function () {\n return s(this.values);\n }, o.prototype.toJSON = function () {\n return this.toObject();\n }, o.prototype.contentsForInspection = function () {\n return {\n values: JSON.stringify(this.values)\n };\n }, u = function u(t, e) {\n var n;\n return n = {}, n[t] = e, n;\n }, a = function a(t, e) {\n var n, i, o;\n i = s(t);\n\n for (n in e) {\n o = e[n], i[n] = o;\n }\n\n return i;\n }, s = function s(t, e) {\n var n, i, o, r, s;\n\n for (r = {}, s = Object.keys(t).sort(), n = 0, o = s.length; o > n; n++) {\n i = s[n], i !== e && (r[i] = t[i]);\n }\n\n return r;\n }, r = function r(t) {\n return t instanceof e.Hash ? t : new e.Hash(t);\n }, c = function c(t) {\n return t instanceof e.Hash ? t.values : t;\n }, o;\n }(e.Object);\n }.call(this), function () {\n e.ObjectGroup = function () {\n function t(t, e) {\n var n, i;\n this.objects = null != t ? t : [], i = e.depth, n = e.asTree, n && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, {\n asTree: n,\n depth: this.depth + 1\n }));\n }\n\n return t.groupObjects = function (t, e) {\n var n, i, o, r, s, a, u, c, l;\n\n for (null == t && (t = []), l = null != e ? e : {}, o = l.depth, n = l.asTree, n && null == o && (o = 0), c = [], s = 0, a = t.length; a > s; s++) {\n if (u = t[s], r) {\n if ((\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) && (\"function\" == typeof (i = r[r.length - 1]).canBeGroupedWith ? i.canBeGroupedWith(u, o) : void 0)) {\n r.push(u);\n continue;\n }\n\n c.push(new this(r, {\n depth: o,\n asTree: n\n })), r = null;\n }\n\n (\"function\" == typeof u.canBeGrouped ? u.canBeGrouped(o) : void 0) ? r = [u] : c.push(u);\n }\n\n return r && c.push(new this(r, {\n depth: o,\n asTree: n\n })), c;\n }, t.prototype.getObjects = function () {\n return this.objects;\n }, t.prototype.getDepth = function () {\n return this.depth;\n }, t.prototype.getCacheKey = function () {\n var t, e, n, i, o;\n\n for (e = [\"objectGroup\"], o = this.getObjects(), t = 0, n = o.length; n > t; t++) {\n i = o[t], e.push(i.getCacheKey());\n }\n\n return e.join(\"/\");\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t5, e) {\n function i() {\n this.constructor = _t5;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t5[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t5.prototype = new i(), _t5.__super__ = e.prototype, _t5;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectMap = function (e) {\n function n(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = []), this.objects = {}, i = 0, o = t.length; o > i; i++) {\n r = t[i], n = JSON.stringify(r), null == (e = this.objects)[n] && (e[n] = r);\n }\n }\n\n return t(n, e), n.prototype.find = function (t) {\n var e;\n return e = JSON.stringify(t), this.objects[e];\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n e.ElementStore = function () {\n function t(t) {\n this.reset(t);\n }\n\n var e;\n return t.prototype.add = function (t) {\n var n;\n return n = e(t), this.elements[n] = t;\n }, t.prototype.remove = function (t) {\n var n, i;\n return n = e(t), (i = this.elements[n]) ? (delete this.elements[n], i) : void 0;\n }, t.prototype.reset = function (t) {\n var e, n, i;\n\n for (null == t && (t = []), this.elements = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.add(e);\n }\n\n return t;\n }, e = function e(t) {\n return t.dataset.trixStoreKey;\n }, t;\n }();\n }.call(this), function () {}.call(this), function () {\n var t = function t(_t6, e) {\n function i() {\n this.constructor = _t6;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t6[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t6.prototype = new i(), _t6.__super__ = e.prototype, _t6;\n },\n n = {}.hasOwnProperty;\n\n e.Operation = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n.prototype.isPerforming = function () {\n return this.performing === !0;\n }, n.prototype.hasPerformed = function () {\n return this.performed === !0;\n }, n.prototype.hasSucceeded = function () {\n return this.performed && this.succeeded;\n }, n.prototype.hasFailed = function () {\n return this.performed && !this.succeeded;\n }, n.prototype.getPromise = function () {\n return null != this.promise ? this.promise : this.promise = new Promise(function (t) {\n return function (e, n) {\n return t.performing = !0, t.perform(function (i, o) {\n return t.succeeded = i, t.performing = !1, t.performed = !0, t.succeeded ? e(o) : n(o);\n });\n };\n }(this));\n }, n.prototype.perform = function (t) {\n return t(!1);\n }, n.prototype.release = function () {\n var t;\n return null != (t = this.promise) && \"function\" == typeof t.cancel && t.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null;\n }, n.proxyMethod(\"getPromise().then\"), n.proxyMethod(\"getPromise().catch\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty;\n\n e.UTF16String = function (t) {\n function e(t, e) {\n this.ucs2String = t, this.codepoints = e, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length;\n }\n\n return s(e, t), e.box = function (t) {\n return null == t && (t = \"\"), t instanceof this ? t : this.fromUCS2String(null != t ? t.toString() : void 0);\n }, e.fromUCS2String = function (t) {\n return new this(t, o(t));\n }, e.fromCodepoints = function (t) {\n return new this(r(t), t);\n }, e.prototype.offsetToUCS2Offset = function (t) {\n return r(this.codepoints.slice(0, Math.max(0, t))).length;\n }, e.prototype.offsetFromUCS2Offset = function (t) {\n return o(this.ucs2String.slice(0, Math.max(0, t))).length;\n }, e.prototype.slice = function () {\n var t;\n return this.constructor.fromCodepoints((t = this.codepoints).slice.apply(t, arguments));\n }, e.prototype.charAt = function (t) {\n return this.slice(t, t + 1);\n }, e.prototype.isEqualTo = function (t) {\n return this.constructor.box(t).ucs2String === this.ucs2String;\n }, e.prototype.toJSON = function () {\n return this.ucs2String;\n }, e.prototype.getCacheKey = function () {\n return this.ucs2String;\n }, e.prototype.toString = function () {\n return this.ucs2String;\n }, e;\n }(e.BasicObject), t = 1 === (\"function\" == typeof Array.from ? Array.from(\"\\uD83D\\uDC7C\").length : void 0), n = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), i = \" \\uD83D\\uDC7C\" === (\"function\" == typeof String.fromCodePoint ? String.fromCodePoint(32, 128124) : void 0), o = t && n ? function (t) {\n return Array.from(t).map(function (t) {\n return t.codePointAt(0);\n });\n } : function (t) {\n var e, n, i, o, r;\n\n for (o = [], e = 0, i = t.length; i > e;) {\n r = t.charCodeAt(e++), r >= 55296 && 56319 >= r && i > e && (n = t.charCodeAt(e++), 56320 === (64512 & n) ? r = ((1023 & r) << 10) + (1023 & n) + 65536 : e--), o.push(r);\n }\n\n return o;\n }, r = i ? function (t) {\n return String.fromCodePoint.apply(String, t);\n } : function (t) {\n var e, n, i;\n return e = function () {\n var e, o, r;\n\n for (r = [], e = 0, o = t.length; o > e; e++) {\n i = t[e], n = \"\", i > 65535 && (i -= 65536, n += String.fromCharCode(i >>> 10 & 1023 | 55296), i = 56320 | 1023 & i), r.push(n + String.fromCharCode(i));\n }\n\n return r;\n }(), e.join(\"\");\n };\n }.call(this), function () {}.call(this), function () {}.call(this), function () {\n e.config.lang = {\n attachFiles: \"Attach Files\",\n bold: \"Bold\",\n bullets: \"Bullets\",\n \"byte\": \"Byte\",\n bytes: \"Bytes\",\n captionPlaceholder: \"Add a caption\\u2026\",\n code: \"Code\",\n heading1: \"Heading\",\n indent: \"Increase Level\",\n italic: \"Italic\",\n link: \"Link\",\n numbers: \"Numbers\",\n outdent: \"Decrease Level\",\n quote: \"Quote\",\n redo: \"Redo\",\n remove: \"Remove\",\n strike: \"Strikethrough\",\n undo: \"Undo\",\n unlink: \"Unlink\",\n url: \"URL\",\n urlPlaceholder: \"Enter a URL\\u2026\",\n GB: \"GB\",\n KB: \"KB\",\n MB: \"MB\",\n PB: \"PB\",\n TB: \"TB\"\n };\n }.call(this), function () {\n e.config.css = {\n attachment: \"attachment\",\n attachmentCaption: \"attachment__caption\",\n attachmentCaptionEditor: \"attachment__caption-editor\",\n attachmentMetadata: \"attachment__metadata\",\n attachmentMetadataContainer: \"attachment__metadata-container\",\n attachmentName: \"attachment__name\",\n attachmentProgress: \"attachment__progress\",\n attachmentSize: \"attachment__size\",\n attachmentToolbar: \"attachment__toolbar\",\n attachmentGallery: \"attachment-gallery\"\n };\n }.call(this), function () {\n var t;\n e.config.blockAttributes = t = {\n \"default\": {\n tagName: \"div\",\n parse: !1\n },\n quote: {\n tagName: \"blockquote\",\n nestable: !0\n },\n heading1: {\n tagName: \"h1\",\n terminal: !0,\n breakOnReturn: !0,\n group: !1\n },\n code: {\n tagName: \"pre\",\n terminal: !0,\n text: {\n plaintext: !0\n }\n },\n bulletList: {\n tagName: \"ul\",\n parse: !1\n },\n bullet: {\n tagName: \"li\",\n listAttribute: \"bulletList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n numberList: {\n tagName: \"ol\",\n parse: !1\n },\n number: {\n tagName: \"li\",\n listAttribute: \"numberList\",\n group: !1,\n nestable: !0,\n test: function test(n) {\n return e.tagName(n.parentNode) === t[this.listAttribute].tagName;\n }\n },\n attachmentGallery: {\n tagName: \"div\",\n exclusive: !0,\n terminal: !0,\n parse: !1,\n group: !1\n }\n };\n }.call(this), function () {\n var t, n;\n t = e.config.lang, n = [t.bytes, t.KB, t.MB, t.GB, t.TB, t.PB], e.config.fileSize = {\n prefix: \"IEC\",\n precision: 2,\n formatter: function formatter(e) {\n var i, o, r, s, a;\n\n switch (e) {\n case 0:\n return \"0 \" + t.bytes;\n\n case 1:\n return \"1 \" + t.byte;\n\n default:\n return i = function () {\n switch (this.prefix) {\n case \"SI\":\n return 1e3;\n\n case \"IEC\":\n return 1024;\n }\n }.call(this), o = Math.floor(Math.log(e) / Math.log(i)), r = e / Math.pow(i, o), s = r.toFixed(this.precision), a = s.replace(/0*$/, \"\").replace(/\\.$/, \"\"), a + \" \" + n[o];\n }\n }\n };\n }.call(this), function () {\n e.config.textAttributes = {\n bold: {\n tagName: \"strong\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"bold\" === e.fontWeight || e.fontWeight >= 600;\n }\n },\n italic: {\n tagName: \"em\",\n inheritable: !0,\n parser: function parser(t) {\n var e;\n return e = window.getComputedStyle(t), \"italic\" === e.fontStyle;\n }\n },\n href: {\n groupTagName: \"a\",\n parser: function parser(t) {\n var n, i, o;\n return n = e.AttachmentView.attachmentSelector, o = \"a:not(\" + n + \")\", (i = e.findClosestElementFromNode(t, {\n matchingSelector: o\n })) ? i.getAttribute(\"href\") : void 0;\n }\n },\n strike: {\n tagName: \"del\",\n inheritable: !0\n },\n frozen: {\n style: {\n backgroundColor: \"highlight\"\n }\n }\n };\n }.call(this), function () {\n var t, n, i, o, r;\n r = \"[data-trix-serialize=false]\", o = [\"contenteditable\", \"data-trix-id\", \"data-trix-store-key\", \"data-trix-mutable\", \"data-trix-placeholder\", \"tabindex\"], n = \"data-trix-serialized-attributes\", i = \"[\" + n + \"]\", t = new RegExp(\"<!--block-->\", \"g\"), e.extend({\n serializers: {\n \"application/json\": function applicationJson(t) {\n var n;\n if (t instanceof e.Document) n = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n n = e.Document.fromHTML(t.innerHTML);\n }\n return n.toSerializableDocument().toJSONString();\n },\n \"text/html\": function textHtml(s) {\n var a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n if (s instanceof e.Document) l = e.DocumentView.render(s);else {\n if (!(s instanceof HTMLElement)) throw new Error(\"unserializable object\");\n l = s.cloneNode(!0);\n }\n\n for (A = l.querySelectorAll(r), h = 0, g = A.length; g > h; h++) {\n c = A[h], e.removeNode(c);\n }\n\n for (p = 0, m = o.length; m > p; p++) {\n for (a = o[p], C = l.querySelectorAll(\"[\" + a + \"]\"), d = 0, v = C.length; v > d; d++) {\n c = C[d], c.removeAttribute(a);\n }\n }\n\n for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) {\n c = x[f];\n\n try {\n u = JSON.parse(c.getAttribute(n)), c.removeAttribute(n);\n\n for (b in u) {\n w = u[b], c.setAttribute(b, w);\n }\n } catch (E) {}\n }\n\n return l.innerHTML.replace(t, \"\");\n }\n },\n deserializers: {\n \"application/json\": function applicationJson(t) {\n return e.Document.fromJSONString(t);\n },\n \"text/html\": function textHtml(t) {\n return e.Document.fromHTML(t);\n }\n },\n serializeToContentType: function serializeToContentType(t, n) {\n var i;\n if (i = e.serializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n },\n deserializeFromContentType: function deserializeFromContentType(t, n) {\n var i;\n if (i = e.deserializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n }\n });\n }.call(this), function () {\n var t;\n t = e.config.lang, e.config.toolbar = {\n getDefaultHTML: function getDefaultHTML() {\n return '<div class=\"trix-button-row\">\\n <span class=\"trix-button-group trix-button-group--text-tools\" data-trix-button-group=\"text-tools\">\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-bold\" data-trix-attribute=\"bold\" data-trix-key=\"b\" title=\"' + t.bold + '\" tabindex=\"-1\">' + t.bold + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-italic\" data-trix-attribute=\"italic\" data-trix-key=\"i\" title=\"' + t.italic + '\" tabindex=\"-1\">' + t.italic + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-strike\" data-trix-attribute=\"strike\" title=\"' + t.strike + '\" tabindex=\"-1\">' + t.strike + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-link\" data-trix-attribute=\"href\" data-trix-action=\"link\" data-trix-key=\"k\" title=\"' + t.link + '\" tabindex=\"-1\">' + t.link + '</button>\\n </span>\\n\\n <span class=\"trix-button-group trix-button-group--block-tools\" data-trix-button-group=\"block-tools\">\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-heading-1\" data-trix-attribute=\"heading1\" title=\"' + t.heading1 + '\" tabindex=\"-1\">' + t.heading1 + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-quote\" data-trix-attribute=\"quote\" title=\"' + t.quote + '\" tabindex=\"-1\">' + t.quote + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-code\" data-trix-attribute=\"code\" title=\"' + t.code + '\" tabindex=\"-1\">' + t.code + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-bullet-list\" data-trix-attribute=\"bullet\" title=\"' + t.bullets + '\" tabindex=\"-1\">' + t.bullets + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-number-list\" data-trix-attribute=\"number\" title=\"' + t.numbers + '\" tabindex=\"-1\">' + t.numbers + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-decrease-nesting-level\" data-trix-action=\"decreaseNestingLevel\" title=\"' + t.outdent + '\" tabindex=\"-1\">' + t.outdent + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-increase-nesting-level\" data-trix-action=\"increaseNestingLevel\" title=\"' + t.indent + '\" tabindex=\"-1\">' + t.indent + '</button>\\n </span>\\n\\n <span class=\"trix-button-group trix-button-group--file-tools\" data-trix-button-group=\"file-tools\">\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-attach\" data-trix-action=\"attachFiles\" title=\"' + t.attachFiles + '\" tabindex=\"-1\">' + t.attachFiles + '</button>\\n </span>\\n\\n <span class=\"trix-button-group-spacer\"></span>\\n\\n <span class=\"trix-button-group trix-button-group--history-tools\" data-trix-button-group=\"history-tools\">\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-undo\" data-trix-action=\"undo\" data-trix-key=\"z\" title=\"' + t.undo + '\" tabindex=\"-1\">' + t.undo + '</button>\\n <button type=\"button\" class=\"trix-button trix-button--icon trix-button--icon-redo\" data-trix-action=\"redo\" data-trix-key=\"shift+z\" title=\"' + t.redo + '\" tabindex=\"-1\">' + t.redo + '</button>\\n </span>\\n</div>\\n\\n<div class=\"trix-dialogs\" data-trix-dialogs>\\n <div class=\"trix-dialog trix-dialog--link\" data-trix-dialog=\"href\" data-trix-dialog-attribute=\"href\">\\n <div class=\"trix-dialog__link-fields\">\\n <input type=\"url\" name=\"href\" class=\"trix-input trix-input--dialog\" placeholder=\"' + t.urlPlaceholder + '\" aria-label=\"' + t.url + '\" required data-trix-input>\\n <div class=\"trix-button-group\">\\n <input type=\"button\" class=\"trix-button trix-button--dialog\" value=\"' + t.link + '\" data-trix-method=\"setAttribute\">\\n <input type=\"button\" class=\"trix-button trix-button--dialog\" value=\"' + t.unlink + '\" data-trix-method=\"removeAttribute\">\\n </div>\\n </div>\\n </div>\\n</div>';\n }\n };\n }.call(this), function () {\n e.config.undoInterval = 5e3;\n }.call(this), function () {\n e.config.attachments = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n };\n }.call(this), function () {\n e.config.keyNames = {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n };\n }.call(this), function () {\n e.config.input = {\n level2Enabled: !0,\n getLevel: function getLevel() {\n return this.level2Enabled && e.browser.supportsInputEvents ? 2 : 0;\n },\n pickFiles: function pickFiles(t) {\n var n;\n return n = e.makeElement(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n }), n.addEventListener(\"change\", function () {\n return t(n.files), e.removeNode(n);\n }), e.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n), n.click();\n },\n fileInputId: \"trix-file-input-\" + Date.now().toString(16)\n };\n }.call(this), function () {}.call(this), function () {\n e.registerElement(\"trix-toolbar\", {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\",\n initialize: function initialize() {\n return \"\" === this.innerHTML ? this.innerHTML = e.config.toolbar.getDefaultHTML() : void 0;\n }\n });\n }.call(this), function () {\n var t = function t(_t7, e) {\n function i() {\n this.constructor = _t7;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t7[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t7.prototype = new i(), _t7.__super__ = e.prototype, _t7;\n },\n n = {}.hasOwnProperty,\n i = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n e.ObjectView = function (n) {\n function o(t, e) {\n this.object = t, this.options = null != e ? e : {}, this.childViews = [], this.rootView = this;\n }\n\n return t(o, n), o.prototype.getNodes = function () {\n var t, e, n, i, o;\n\n for (null == this.nodes && (this.nodes = this.createNodes()), i = this.nodes, o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.cloneNode(!0));\n }\n\n return o;\n }, o.prototype.invalidate = function () {\n var t;\n return this.nodes = null, this.childViews = [], null != (t = this.parentView) ? t.invalidate() : void 0;\n }, o.prototype.invalidateViewForObject = function (t) {\n var e;\n return null != (e = this.findViewForObject(t)) ? e.invalidate() : void 0;\n }, o.prototype.findOrCreateCachedChildView = function (t, e) {\n var n;\n return (n = this.getCachedViewForObject(e)) ? this.recordChildView(n) : (n = this.createChildView.apply(this, arguments), this.cacheViewForObject(n, e)), n;\n }, o.prototype.createChildView = function (t, n, i) {\n var o;\n return null == i && (i = {}), n instanceof e.ObjectGroup && (i.viewClass = t, t = e.ObjectGroupView), o = new t(n, i), this.recordChildView(o);\n }, o.prototype.recordChildView = function (t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }, o.prototype.getAllChildViews = function () {\n var t, e, n, i, o;\n\n for (o = [], i = this.childViews, e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t), o = o.concat(t.getAllChildViews());\n }\n\n return o;\n }, o.prototype.findElement = function () {\n return this.findElementForObject(this.object);\n }, o.prototype.findElementForObject = function (t) {\n var e;\n return (e = null != t ? t.id : void 0) ? this.rootView.element.querySelector(\"[data-trix-id='\" + e + \"']\") : void 0;\n }, o.prototype.findViewForObject = function (t) {\n var e, n, i, o;\n\n for (i = this.getAllChildViews(), e = 0, n = i.length; n > e; e++) {\n if (o = i[e], o.object === t) return o;\n }\n }, o.prototype.getViewCache = function () {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? null != this.viewCache ? this.viewCache : this.viewCache = {} : void 0;\n }, o.prototype.isViewCachingEnabled = function () {\n return this.shouldCacheViews !== !1;\n }, o.prototype.enableViewCaching = function () {\n return this.shouldCacheViews = !0;\n }, o.prototype.disableViewCaching = function () {\n return this.shouldCacheViews = !1;\n }, o.prototype.getCachedViewForObject = function (t) {\n var e;\n return null != (e = this.getViewCache()) ? e[t.getCacheKey()] : void 0;\n }, o.prototype.cacheViewForObject = function (t, e) {\n var n;\n return null != (n = this.getViewCache()) ? n[e.getCacheKey()] = t : void 0;\n }, o.prototype.garbageCollectCachedViews = function () {\n var t, e, n, o, r, s;\n\n if (t = this.getViewCache()) {\n s = this.getAllChildViews().concat(this), n = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = s.length; e > t; t++) {\n r = s[t], n.push(r.object.getCacheKey());\n }\n\n return n;\n }(), o = [];\n\n for (e in t) {\n i.call(n, e) < 0 && o.push(delete t[e]);\n }\n\n return o;\n }\n }, o;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t8, e) {\n function i() {\n this.constructor = _t8;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t8[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t8.prototype = new i(), _t8.__super__ = e.prototype, _t8;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectGroupView = function (e) {\n function n() {\n n.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n\n return t(n, e), n.prototype.getChildViews = function () {\n var t, e, n, i;\n if (!this.childViews.length) for (i = this.objectGroup.getObjects(), t = 0, e = i.length; e > t; t++) {\n n = i[t], this.findOrCreateCachedChildView(this.viewClass, n, this.options);\n }\n return this.childViews;\n }, n.prototype.createNodes = function () {\n var t, e, n, i, o, r, s, a, u;\n\n for (t = this.createContainerElement(), s = this.getChildViews(), e = 0, i = s.length; i > e; e++) {\n for (u = s[e], a = u.getNodes(), n = 0, o = a.length; o > n; n++) {\n r = a[n], t.appendChild(r);\n }\n }\n\n return [t];\n }, n.prototype.createContainerElement = function (t) {\n return null == t && (t = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t);\n }, n;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t9, e) {\n function i() {\n this.constructor = _t9;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t9[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t9.prototype = new i(), _t9.__super__ = e.prototype, _t9;\n },\n n = {}.hasOwnProperty;\n\n e.Controller = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a = function a(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n u = function u(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n c.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n c = {}.hasOwnProperty,\n l = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.findClosestElementFromNode, i = e.nodeIsEmptyTextNode, n = e.nodeIsBlockStartComment, o = e.normalizeSpaces, r = e.summarizeStringChange, s = e.tagName, e.MutationObserver = function (e) {\n function c(t) {\n this.element = t, this.didMutate = a(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n\n var _h, p, d, f;\n\n return u(c, e), p = \"data-trix-mutable\", d = \"[\" + p + \"]\", f = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, c.prototype.start = function () {\n return this.reset(), this.observer.observe(this.element, f);\n }, c.prototype.stop = function () {\n return this.observer.disconnect();\n }, c.prototype.didMutate = function (t) {\n var e, n;\n return (e = this.mutations).push.apply(e, this.findSignificantMutations(t)), this.mutations.length ? (null != (n = this.delegate) && \"function\" == typeof n.elementDidMutate && n.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0;\n }, c.prototype.reset = function () {\n return this.mutations = [];\n }, c.prototype.findSignificantMutations = function (t) {\n var e, n, i, o;\n\n for (o = [], e = 0, n = t.length; n > e; e++) {\n i = t[e], this.mutationIsSignificant(i) && o.push(i);\n }\n\n return o;\n }, c.prototype.mutationIsSignificant = function (t) {\n var e, n, i, o;\n if (this.nodeIsMutable(t.target)) return !1;\n\n for (o = this.nodesModifiedByMutation(t), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], this.nodeIsSignificant(i)) return !0;\n }\n\n return !1;\n }, c.prototype.nodeIsSignificant = function (t) {\n return t !== this.element && !this.nodeIsMutable(t) && !i(t);\n }, c.prototype.nodeIsMutable = function (e) {\n return t(e, {\n matchingSelector: d\n });\n }, c.prototype.nodesModifiedByMutation = function (t) {\n var e;\n\n switch (e = [], t.type) {\n case \"attributes\":\n t.attributeName !== p && e.push(t.target);\n break;\n\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n\n case \"childList\":\n e.push.apply(e, t.addedNodes), e.push.apply(e, t.removedNodes);\n }\n\n return e;\n }, c.prototype.getMutationSummary = function () {\n return this.getTextMutationSummary();\n }, c.prototype.getTextMutationSummary = function () {\n var t, e, n, i, o, r, s, a, u, c, h;\n\n for (a = this.getTextChangesFromCharacterData(), n = a.additions, o = a.deletions, h = this.getTextChangesFromChildList(), u = h.additions, r = 0, s = u.length; s > r; r++) {\n e = u[r], l.call(n, e) < 0 && n.push(e);\n }\n\n return o.push.apply(o, h.deletions), c = {}, (t = n.join(\"\")) && (c.textAdded = t), (i = o.join(\"\")) && (c.textDeleted = i), c;\n }, c.prototype.getMutationsByType = function (t) {\n var e, n, i, o, r;\n\n for (o = this.mutations, r = [], e = 0, n = o.length; n > e; e++) {\n i = o[e], i.type === t && r.push(i);\n }\n\n return r;\n }, c.prototype.getTextChangesFromChildList = function () {\n var t, e, i, r, s, a, u, c, l, p, d;\n\n for (t = [], u = [], a = this.getMutationsByType(\"childList\"), e = 0, r = a.length; r > e; e++) {\n s = a[e], t.push.apply(t, s.addedNodes), u.push.apply(u, s.removedNodes);\n }\n\n return c = 0 === t.length && 1 === u.length && n(u[0]), c ? (p = [], d = [\"\\n\"]) : (p = _h(t), d = _h(u)), {\n additions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = p.length; e > t; i = ++t) {\n l = p[i], l !== d[i] && n.push(o(l));\n }\n\n return n;\n }(),\n deletions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = d.length; e > t; i = ++t) {\n l = d[i], l !== p[i] && n.push(o(l));\n }\n\n return n;\n }()\n };\n }, c.prototype.getTextChangesFromCharacterData = function () {\n var t, e, n, i, s, a, u, c;\n return e = this.getMutationsByType(\"characterData\"), e.length && (c = e[0], n = e[e.length - 1], s = o(c.oldValue), i = o(n.target.data), a = r(s, i), t = a.added, u = a.removed), {\n additions: t ? [t] : [],\n deletions: u ? [u] : []\n };\n }, _h = function h(t) {\n var e, n, i, o;\n\n for (null == t && (t = []), o = [], e = 0, n = t.length; n > e; e++) {\n switch (i = t[e], i.nodeType) {\n case Node.TEXT_NODE:\n o.push(i.data);\n break;\n\n case Node.ELEMENT_NODE:\n \"br\" === s(i) ? o.push(\"\\n\") : o.push.apply(o, _h(i.childNodes));\n }\n }\n\n return o;\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t10, e) {\n function i() {\n this.constructor = _t10;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t10[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t10.prototype = new i(), _t10.__super__ = e.prototype, _t10;\n },\n n = {}.hasOwnProperty;\n\n e.FileVerificationOperation = function (e) {\n function n(t) {\n this.file = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new FileReader(), e.onerror = function () {\n return t(!1);\n }, e.onload = function (n) {\n return function () {\n e.onerror = null;\n\n try {\n e.abort();\n } catch (i) {}\n\n return t(!0, n.file);\n };\n }(this), e.readAsArrayBuffer(this.file);\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.handleEvent, n = e.innerElementIsActive, e.InputController = function (o) {\n function r(n) {\n var i;\n this.element = n, this.mutationObserver = new e.MutationObserver(this.element), this.mutationObserver.delegate = this;\n\n for (i in this.events) {\n t(i, {\n onElement: this.element,\n withCallback: this.handlerFor(i)\n });\n }\n }\n\n return i(r, o), r.prototype.events = {}, r.prototype.elementDidMutate = function () {}, r.prototype.editorWillSyncDocumentView = function () {\n return this.mutationObserver.stop();\n }, r.prototype.editorDidSyncDocumentView = function () {\n return this.mutationObserver.start();\n }, r.prototype.requestRender = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestRender ? t.inputControllerDidRequestRender() : void 0;\n }, r.prototype.requestReparse = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestReparse && t.inputControllerDidRequestReparse(), this.requestRender();\n }, r.prototype.attachFiles = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(new e.FileVerificationOperation(n));\n }\n\n return r;\n }(), Promise.all(i).then(function (t) {\n return function (e) {\n return t.handleInput(function () {\n var t, n;\n return null != (t = this.delegate) && t.inputControllerWillAttachFiles(), null != (n = this.responder) && n.insertFiles(e), this.requestRender();\n });\n };\n }(this));\n }, r.prototype.handlerFor = function (t) {\n return function (e) {\n return function (i) {\n return i.defaultPrevented ? void 0 : e.handleInput(function () {\n return n(this.element) ? void 0 : (this.eventName = t, this.events[t].call(this, i));\n });\n };\n }(this);\n }, r.prototype.handleInput = function (t) {\n var e, n;\n\n try {\n return null != (e = this.delegate) && e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n null != (n = this.delegate) && n.inputControllerDidHandleInput();\n }\n }, r.prototype.createLinkHTML = function (t, e) {\n var n;\n return n = document.createElement(\"a\"), n.href = t, n.textContent = null != e ? e : t, n.outerHTML;\n }, r;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p,\n d,\n f = function f(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n g.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n g = {}.hasOwnProperty,\n m = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n c = e.makeElement, l = e.objectsAreEqual, d = e.tagName, n = e.browser, a = e.keyEventIsKeyboardCommand, o = e.dataTransferIsWritable, i = e.dataTransferIsPlainText, u = e.config.keyNames, e.Level0InputController = function (n) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.resetInputSummary();\n }\n\n var d;\n return f(s, n), d = 0, s.prototype.setInputSummary = function (t) {\n var e, n;\n null == t && (t = {}), this.inputSummary.eventName = this.eventName;\n\n for (e in t) {\n n = t[e], this.inputSummary[e] = n;\n }\n\n return this.inputSummary;\n }, s.prototype.resetInputSummary = function () {\n return this.inputSummary = {};\n }, s.prototype.reset = function () {\n return this.resetInputSummary(), e.selectionChangeObserver.reset();\n }, s.prototype.elementDidMutate = function (t) {\n var e;\n return this.isComposing() ? null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidAllowUnhandledInput ? e.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }, s.prototype.mutationIsExpected = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return a = t.textAdded, u = t.textDeleted, this.inputSummary.preferDocument ? !0 : (e = null != a ? a === this.inputSummary.textAdded : !this.inputSummary.textAdded, n = null != u ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c = (\"\\n\" === a || \" \\n\" === a) && !e, l = \"\\n\" === u && !n, s = c && !l || l && !c, s && (o = this.getSelectedRange()) && (i = c ? a.replace(/\\n$/, \"\").length || -1 : (null != a ? a.length : void 0) || 1, null != (r = this.responder) ? r.positionIsBlockBreak(o[1] + i) : void 0) ? !0 : e && n);\n }, s.prototype.mutationIsSignificant = function (t) {\n var e, n, i;\n return i = Object.keys(t).length > 0, e = \"\" === (null != (n = this.compositionInput) ? n.getEndData() : void 0), i || !e;\n }, s.prototype.events = {\n keydown: function keydown(t) {\n var n, i, o, r, s, c, l, h, p;\n\n if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0, r = u[t.keyCode]) {\n for (i = this.keys, h = [\"ctrl\", \"alt\", \"shift\", \"meta\"], o = 0, c = h.length; c > o; o++) {\n l = h[o], t[l + \"Key\"] && (\"ctrl\" === l && (l = \"control\"), i = null != i ? i[l] : void 0);\n }\n\n null != (null != i ? i[r] : void 0) && (this.setInputSummary({\n keyName: r\n }), e.selectionChangeObserver.reset(), i[r].call(this, t));\n }\n\n return a(t) && (n = String.fromCharCode(t.keyCode).toLowerCase()) && (s = function () {\n var e, n, i, o;\n\n for (i = [\"alt\", \"shift\"], o = [], e = 0, n = i.length; n > e; e++) {\n l = i[e], t[l + \"Key\"] && o.push(l);\n }\n\n return o;\n }(), s.push(n), null != (p = this.delegate) ? p.inputControllerDidReceiveKeyboardCommand(s) : void 0) ? t.preventDefault() : void 0;\n },\n keypress: function keypress(t) {\n var e, n, i;\n if (null == this.inputSummary.eventName && !t.metaKey && (!t.ctrlKey || t.altKey)) return (i = p(t)) ? (null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(i), this.setInputSummary({\n textAdded: i,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput: function textInput(t) {\n var e, n, i, o;\n return e = t.data, o = this.inputSummary.textAdded, o && o !== e && o.toUpperCase() === e ? (n = this.getSelectedRange(), this.setSelectedRange([n[0], n[1] + o.length]), null != (i = this.responder) && i.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(n)) : void 0;\n },\n dragenter: function dragenter(t) {\n return t.preventDefault();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return n = t.target, this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidStartDrag ? e.inputControllerDidStartDrag() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return !this.draggedRange && !this.canAcceptDataTransfer(t.dataTransfer) || (t.preventDefault(), e = {\n x: t.clientX,\n y: t.clientY\n }, l(e, this.draggingPoint)) ? void 0 : (this.draggingPoint = e, null != (n = this.delegate) && \"function\" == typeof n.inputControllerDidReceiveDragOverPoint ? n.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0);\n },\n dragend: function dragend() {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidCancelDrag && t.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null;\n },\n drop: function drop(t) {\n var n, i, o, r, s, a, u, c, l;\n return t.preventDefault(), o = null != (s = t.dataTransfer) ? s.files : void 0, r = {\n x: t.clientX,\n y: t.clientY\n }, null != (a = this.responder) && a.setLocationRangeFromPointRange(r), (null != o ? o.length : void 0) ? this.attachFiles(o) : this.draggedRange ? (null != (u = this.delegate) && u.inputControllerWillMoveText(), null != (c = this.responder) && c.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i = t.dataTransfer.getData(\"application/x-trix-document\")) && (n = e.Document.fromJSONString(i), null != (l = this.responder) && l.insertDocument(n), this.requestRender()), this.draggedRange = null, this.draggingPoint = null;\n },\n cut: function cut(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented) ? this.requestRender() : void 0;\n },\n copy: function copy(t) {\n var e;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t.clipboardData) ? t.preventDefault() : void 0;\n },\n paste: function paste(t) {\n var n, o, s, a, u, c, l, p, f, g, v, y, b, A, C, x, w, E, S, R, k, D, L;\n return n = null != (p = t.clipboardData) ? p : t.testClipboardData, l = {\n clipboard: n\n }, null == n || h(t) ? void this.getPastedHTMLUsingHiddenElement(function (t) {\n return function (e) {\n var n, i, o;\n return l.type = \"text/html\", l.html = e, null != (n = t.delegate) && n.inputControllerWillPaste(l), null != (i = t.responder) && i.insertHTML(l.html), t.requestRender(), null != (o = t.delegate) ? o.inputControllerDidPaste(l) : void 0;\n };\n }(this)) : ((a = n.getData(\"URL\")) ? (l.type = \"text/html\", L = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, l.html = this.createLinkHTML(a, L), null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: L,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertHTML(l.html), this.requestRender(), null != (x = this.delegate) && x.inputControllerDidPaste(l)) : i(n) ? (l.type = \"text/plain\", l.string = n.getData(\"text/plain\"), null != (w = this.delegate) && w.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (E = this.responder) && E.insertString(l.string), this.requestRender(), null != (S = this.delegate) && S.inputControllerDidPaste(l)) : (u = n.getData(\"text/html\")) ? (l.type = \"text/html\", l.html = u, null != (R = this.delegate) && R.inputControllerWillPaste(l), null != (k = this.responder) && k.insertHTML(l.html), this.requestRender(), null != (D = this.delegate) && D.inputControllerDidPaste(l)) : m.call(n.types, \"Files\") >= 0 && (s = null != (g = n.items) && null != (v = g[0]) && \"function\" == typeof v.getAsFile ? v.getAsFile() : void 0) && (!s.name && (o = r(s)) && (s.name = \"pasted-file-\" + ++d + \".\" + o), l.type = \"File\", l.file = s, null != (y = this.delegate) && y.inputControllerWillAttachFiles(), null != (b = this.responder) && b.insertFile(l.file), this.requestRender(), null != (A = this.delegate) && A.inputControllerDidPaste(l)), t.preventDefault());\n },\n compositionstart: function compositionstart(t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate: function compositionupdate(t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend: function compositionend(t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput: function beforeinput() {\n return this.inputSummary.didInput = !0;\n },\n input: function input(t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n }, s.prototype.keys = {\n backspace: function backspace(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n \"delete\": function _delete(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n \"return\": function _return() {\n var t, e;\n return this.setInputSummary({\n preferDocument: !0\n }), null != (t = this.delegate) && t.inputControllerWillPerformTyping(), null != (e = this.responder) ? e.insertLineBreak() : void 0;\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canIncreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.increaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n right: function right(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n control: {\n d: function d(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h: function h(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o: function o(t) {\n var e, n;\n return t.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n \"return\": function _return(t) {\n var e, n;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canDecreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.decreaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"backward\")) : void 0;\n },\n right: function right(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"forward\")) : void 0;\n }\n },\n alt: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n },\n meta: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n }\n }, s.prototype.getCompositionInput = function () {\n return this.isComposing() ? this.compositionInput : this.compositionInput = new t(this);\n }, s.prototype.isComposing = function () {\n return null != this.compositionInput && !this.compositionInput.isEnded();\n }, s.prototype.deleteInDirection = function (t, e) {\n var n;\n return (null != (n = this.responder) ? n.deleteInDirection(t) : void 0) !== !1 ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }, s.prototype.serializeSelectionToDataTransfer = function (t) {\n var n, i;\n if (o(t)) return n = null != (i = this.responder) ? i.getSelectedDocument().toSerializableDocument() : void 0, t.setData(\"application/x-trix-document\", JSON.stringify(n)), t.setData(\"text/html\", e.DocumentView.render(n).innerHTML), t.setData(\"text/plain\", n.toString().replace(/\\n$/, \"\")), !0;\n }, s.prototype.canAcceptDataTransfer = function (t) {\n var e, n, i, o, r, s;\n\n for (s = {}, o = null != (i = null != t ? t.types : void 0) ? i : [], e = 0, n = o.length; n > e; e++) {\n r = o[e], s[r] = !0;\n }\n\n return s.Files || s[\"application/x-trix-document\"] || s[\"text/html\"] || s[\"text/plain\"];\n }, s.prototype.getPastedHTMLUsingHiddenElement = function (t) {\n var n, i, o;\n return i = this.getSelectedRange(), o = {\n position: \"absolute\",\n left: window.pageXOffset + \"px\",\n top: window.pageYOffset + \"px\",\n opacity: 0\n }, n = c({\n style: o,\n tagName: \"div\",\n editable: !0\n }), document.body.appendChild(n), n.focus(), requestAnimationFrame(function (o) {\n return function () {\n var r;\n return r = n.innerHTML, e.removeNode(n), o.setSelectedRange(i), t(r);\n };\n }(this));\n }, s.proxyMethod(\"responder?.getSelectedRange\"), s.proxyMethod(\"responder?.setSelectedRange\"), s.proxyMethod(\"responder?.expandSelectionInDirection\"), s.proxyMethod(\"responder?.selectionIsInCursorTarget\"), s.proxyMethod(\"responder?.selectionIsExpanded\"), s;\n }(e.InputController), r = function r(t) {\n var e, n;\n return null != (e = t.type) && null != (n = e.match(/\\/(\\w+)$/)) ? n[1] : void 0;\n }, s = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), p = function p(t) {\n var n;\n return t.key && s && t.key.codePointAt(0) === t.keyCode ? t.key : (null === t.which ? n = t.keyCode : 0 !== t.which && 0 !== t.charCode && (n = t.charCode), null != n && \"escape\" !== u[n] ? e.UTF16String.fromCodepoints([n]).toString() : void 0);\n }, h = function h(t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n if (u = t.clipboardData) {\n if (m.call(u.types, \"text/html\") >= 0) {\n for (c = u.types, i = 0, s = c.length; s > i; i++) {\n if (l = c[i], e = /^CorePasteboardFlavorType/.test(l), n = /^dyn\\./.test(l) && u.getData(l), a = e || n) return !0;\n }\n\n return !1;\n }\n\n return o = m.call(u.types, \"com.apple.webarchive\") >= 0, r = m.call(u.types, \"com.apple.flat-rtfd\") >= 0, o || r;\n }\n }, t = function (t) {\n function e(t) {\n var e;\n this.inputController = t, e = this.inputController, this.responder = e.responder, this.delegate = e.delegate, this.inputSummary = e.inputSummary, this.data = {};\n }\n\n return f(e, t), e.prototype.start = function (t) {\n var e, n;\n return this.data.start = t, this.isSignificant() ? (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded && null != (e = this.responder) && e.deleteInDirection(\"left\"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null != (n = this.responder) ? n.getSelectedRange() : void 0) : void 0;\n }, e.prototype.update = function (t) {\n var e;\n return this.data.update = t, this.isSignificant() && (e = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e) : void 0;\n }, e.prototype.end = function (t) {\n var e, n, i, o;\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.setSelectedRange(this.range), null != (i = this.responder) && i.insertString(this.data.end), null != (o = this.responder) ? o.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n }, e.prototype.getEndData = function () {\n return this.data.end;\n }, e.prototype.isEnded = function () {\n return null != this.getEndData();\n }, e.prototype.isSignificant = function () {\n return n.composesExistingText ? this.inputSummary.didInput : !0;\n }, e.prototype.canApplyToDocument = function () {\n var t, e;\n return 0 === (null != (t = this.data.start) ? t.length : void 0) && (null != (e = this.data.end) ? e.length : void 0) > 0 && null != this.range;\n }, e.proxyMethod(\"inputController.setInputSummary\"), e.proxyMethod(\"inputController.requestRender\"), e.proxyMethod(\"inputController.requestReparse\"), e.proxyMethod(\"responder?.selectionIsExpanded\"), e.proxyMethod(\"responder?.insertPlaceholder\"), e.proxyMethod(\"responder?.selectPlaceholder\"), e.proxyMethod(\"responder?.forgetPlaceholder\"), e;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.dataTransferIsPlainText, n = e.keyEventIsKeyboardCommand, i = e.objectsAreEqual, e.Level2InputController = function (s) {\n function u() {\n return this.render = o(this.render, this), u.__super__.constructor.apply(this, arguments);\n }\n\n var c, l, h, p, d, f;\n return r(u, s), u.prototype.elementDidMutate = function () {\n var t;\n return this.scheduledRender ? this.composing && null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidAllowUnhandledInput ? t.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse();\n }, u.prototype.scheduleRender = function () {\n return null != this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }, u.prototype.render = function () {\n var t;\n return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || null != (t = this.delegate) && t.render(), \"function\" == typeof this.afterRender && this.afterRender(), this.afterRender = null;\n }, u.prototype.reparse = function () {\n var t;\n return null != (t = this.delegate) ? t.reparse() : void 0;\n }, u.prototype.events = {\n keydown: function keydown(t) {\n var e, i, o, r;\n\n if (n(t)) {\n if (e = l(t), null != (r = this.delegate) ? r.inputControllerDidReceiveKeyboardCommand(e) : void 0) return t.preventDefault();\n } else if (o = t.key, t.altKey && (o += \"+Alt\"), t.shiftKey && (o += \"+Shift\"), i = this.keys[o]) return this.withEvent(t, i);\n },\n paste: function paste(t) {\n var e, n, i, o, r, s, a, u, c;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), n = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (i = this.delegate) && i.inputControllerWillPaste(n), null != (o = this.responder) && o.insertString(n.string), this.render(), null != (r = this.delegate) ? r.inputControllerDidPaste(n) : void 0) : (e = null != (s = t.clipboardData) ? s.getData(\"URL\") : void 0) ? (t.preventDefault(), n = {\n type: \"text/html\",\n html: this.createLinkHTML(e)\n }, null != (a = this.delegate) && a.inputControllerWillPaste(n), null != (u = this.responder) && u.insertHTML(n.html), this.render(), null != (c = this.delegate) ? c.inputControllerDidPaste(n) : void 0) : void 0;\n },\n beforeinput: function beforeinput(t) {\n var e;\n return (e = this.inputTypes[t.inputType]) ? (this.withEvent(t, e), this.scheduleRender()) : void 0;\n },\n input: function input() {\n return e.selectionChangeObserver.reset();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionContainsAttachments() : void 0) ? (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null != (n = this.responder) ? n.getSelectedRange() : void 0,\n point: d(t)\n }) : void 0;\n },\n dragenter: function dragenter(t) {\n return c(t) ? t.preventDefault() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n\n if (this.dragging) {\n if (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) return this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0;\n } else if (c(t)) return t.preventDefault();\n },\n drop: function drop(t) {\n var e, n, i, o;\n return this.dragging ? (t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillMoveText(), null != (i = this.responder) && i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c(t) ? (t.preventDefault(), e = d(t), null != (o = this.responder) && o.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files)) : void 0;\n },\n dragend: function dragend() {\n var t;\n return this.dragging ? (null != (t = this.responder) && t.setSelectedRange(this.dragging.range), this.dragging = null) : void 0;\n },\n compositionend: function compositionend() {\n return this.composing ? (this.composing = !1, this.scheduleRender()) : void 0;\n }\n }, u.prototype.keys = {\n ArrowLeft: function ArrowLeft() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n ArrowRight: function ArrowRight() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"forward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n Backspace: function Backspace() {\n var t, e, n;\n return (null != (t = this.responder) ? t.shouldManageDeletingInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.deleteInDirection(\"backward\"), this.render()) : void 0;\n },\n Tab: function Tab() {\n var t, e;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.increaseNestingLevel(), this.render()) : void 0;\n },\n \"Tab+Shift\": function TabShift() {\n var t, e;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.decreaseNestingLevel(), this.render()) : void 0;\n }\n }, u.prototype.inputTypes = {\n deleteByComposition: function deleteByComposition() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut: function deleteByCut() {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag: function deleteByDrag() {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n return this.deleteByDragRange = null != (t = this.responder) ? t.getSelectedRange() : void 0;\n });\n },\n deleteCompositionText: function deleteCompositionText() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent: function deleteContent() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward: function deleteContentBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward: function deleteContentForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine: function deleteEntireSoftLine() {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward: function deleteHardLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward: function deleteHardLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward: function deleteSoftLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward: function deleteSoftLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward: function deleteWordBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward: function deleteWordForward() {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor: function formatBackColor() {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold: function formatBold() {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor: function formatFontColor() {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName: function formatFontName() {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent: function formatIndent() {\n var t;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.increaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatItalic: function formatItalic() {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter: function formatJustifyCenter() {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull: function formatJustifyFull() {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft: function formatJustifyLeft() {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight: function formatJustifyRight() {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent: function formatOutdent() {\n var t;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.decreaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatRemove: function formatRemove() {\n return this.withTargetDOMRange(function () {\n var t, e, n, i;\n i = [];\n\n for (t in null != (e = this.responder) ? e.getCurrentAttributes() : void 0) {\n i.push(null != (n = this.responder) ? n.removeCurrentAttribute(t) : void 0);\n }\n\n return i;\n });\n },\n formatSetBlockTextDirection: function formatSetBlockTextDirection() {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection: function formatSetInlineTextDirection() {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough: function formatStrikeThrough() {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript: function formatSubscript() {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript: function formatSuperscript() {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline: function formatUnderline() {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo: function historyRedo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformRedo() : void 0;\n },\n historyUndo: function historyUndo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformUndo() : void 0;\n },\n insertCompositionText: function insertCompositionText() {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition: function insertFromComposition() {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop: function insertFromDrop() {\n var t, e;\n return (t = this.deleteByDragRange) ? (this.deleteByDragRange = null, null != (e = this.delegate) && e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.moveTextFromRange(t) : void 0;\n })) : void 0;\n },\n insertFromPaste: function insertFromPaste() {\n var n, i, o, r, s, a, u, c, l, h, p;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (this.event.preventDefault(), s.type = \"text/html\", p = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, s.html = this.createLinkHTML(i, p), null != (a = this.delegate) && a.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : t(n) ? (s.type = \"text/plain\", s.string = n.getData(\"text/plain\"), null != (u = this.delegate) && u.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertString(s.string) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (o = n.getData(\"text/html\")) ? (this.event.preventDefault(), s.type = \"text/html\", s.html = o, null != (c = this.delegate) && c.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (null != (l = n.files) ? l.length : void 0) ? (s.type = \"File\", s.file = n.files[0], null != (h = this.delegate) && h.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertFile(s.file) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : void 0;\n },\n insertFromYank: function insertFromYank() {\n return this.insertString(this.event.data);\n },\n insertLineBreak: function insertLineBreak() {\n return this.insertString(\"\\n\");\n },\n insertLink: function insertLink() {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList: function insertOrderedList() {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph: function insertParagraph() {\n var t;\n return null != (t = this.delegate) && t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertLineBreak() : void 0;\n });\n },\n insertReplacementText: function insertReplacementText() {\n return this.insertString(this.event.dataTransfer.getData(\"text/plain\"), {\n updatePosition: !1\n });\n },\n insertText: function insertText() {\n var t, e;\n return this.insertString(null != (t = this.event.data) ? t : null != (e = this.event.dataTransfer) ? e.getData(\"text/plain\") : void 0);\n },\n insertTranspose: function insertTranspose() {\n return this.insertString(this.event.data);\n },\n insertUnorderedList: function insertUnorderedList() {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n }, u.prototype.insertString = function (t, e) {\n var n;\n return null == t && (t = \"\"), null != (n = this.delegate) && n.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var n;\n return null != (n = this.responder) ? n.insertString(t, e) : void 0;\n });\n }, u.prototype.toggleAttributeIfSupported = function (t) {\n var n;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (n = this.delegate) && n.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.toggleCurrentAttribute(t) : void 0;\n })) : void 0;\n }, u.prototype.activateAttributeIfSupported = function (t, n) {\n var i;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (i = this.delegate) && i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.setCurrentAttribute(t, n) : void 0;\n })) : void 0;\n }, u.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r;\n return o = (null != e ? e : {\n recordUndoEntry: !0\n }).recordUndoEntry, o && null != (r = this.delegate) && r.inputControllerWillPerformTyping(), i = function (e) {\n return function () {\n var n;\n return null != (n = e.responder) ? n.deleteInDirection(t) : void 0;\n };\n }(this), (n = this.getTargetDOMRange({\n minLength: 2\n })) ? this.withTargetDOMRange(n, i) : i();\n }, u.prototype.withTargetDOMRange = function (t, n) {\n var i;\n return \"function\" == typeof t && (n = t, t = this.getTargetDOMRange()), t ? null != (i = this.responder) ? i.withTargetDOMRange(t, n.bind(this)) : void 0 : (e.selectionChangeObserver.reset(), n.call(this));\n }, u.prototype.getTargetDOMRange = function (t) {\n var e, n, i, o;\n return i = (null != t ? t : {\n minLength: 0\n }).minLength, (o = \"function\" == typeof (e = this.event).getTargetRanges ? e.getTargetRanges() : void 0) && o.length && (n = f(o[0]), 0 === i || n.toString().length >= i) ? n : void 0;\n }, f = function f(t) {\n var e;\n return e = document.createRange(), e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n }, u.prototype.withEvent = function (t, e) {\n var n;\n this.event = t;\n\n try {\n n = e.call(this);\n } finally {\n this.event = null;\n }\n\n return n;\n }, c = function c(t) {\n var e, n;\n return a.call(null != (e = null != (n = t.dataTransfer) ? n.types : void 0) ? e : [], \"Files\") >= 0;\n }, h = function h(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"Files\") >= 0 && 1 === e.types.length && e.files.length >= 1 : void 0;\n }, p = function p(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"text/plain\") >= 0 && 1 === e.types.length : void 0;\n }, l = function l(t) {\n var e;\n return e = [], t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n }, d = function d(t) {\n return {\n x: t.clientX,\n y: t.clientY\n };\n }, u;\n }(e.InputController);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c = function c(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n l = function l(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n h.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n h = {}.hasOwnProperty;\n\n n = e.defer, i = e.handleEvent, s = e.makeElement, u = e.tagName, a = e.config, r = a.lang, t = a.css, o = a.keyNames, e.AttachmentEditorController = function (a) {\n function h(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = c(this.didBlurCaption, this), this.didChangeCaption = c(this.didChangeCaption, this), this.didInputCaption = c(this.didInputCaption, this), this.didKeyDownCaption = c(this.didKeyDownCaption, this), this.didClickActionButton = c(this.didClickActionButton, this), this.didClickToolbar = c(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === u(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var p;\n return l(h, a), p = function p(t) {\n return function () {\n var e;\n return e = t.apply(this, arguments), e[\"do\"](), null == this.undos && (this.undos = []), this.undos.push(e.undo);\n };\n }, h.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, h.prototype.uninstall = function () {\n var t, e;\n\n for (this.savePendingCaption(); e = this.undos.pop();) {\n e();\n }\n\n return null != (t = this.delegate) ? t.didUninstallAttachmentEditor(this) : void 0;\n }, h.prototype.savePendingCaption = function () {\n var t, e, n;\n return null != this.pendingCaption ? (t = this.pendingCaption, this.pendingCaption = null, t ? null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment ? e.attachmentEditorDidRequestUpdatingAttributesForAttachment({\n caption: t\n }, this.attachment) : void 0 : null != (n = this.delegate) && \"function\" == typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment ? n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\", this.attachment) : void 0) : void 0;\n }, h.prototype.makeElementMutable = p(function () {\n return {\n \"do\": function (t) {\n return function () {\n return t.element.dataset.trixMutable = !0;\n };\n }(this),\n undo: function (t) {\n return function () {\n return delete t.element.dataset.trixMutable;\n };\n }(this)\n };\n }), h.prototype.addToolbar = p(function () {\n var n;\n return n = s({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n },\n childNodes: s({\n tagName: \"div\",\n className: \"trix-button-row\",\n childNodes: s({\n tagName: \"span\",\n className: \"trix-button-group trix-button-group--actions\",\n childNodes: s({\n tagName: \"button\",\n className: \"trix-button trix-button--remove\",\n textContent: r.remove,\n attributes: {\n title: r.remove\n },\n data: {\n trixAction: \"remove\"\n }\n })\n })\n })\n }), this.attachment.isPreviewable() && n.appendChild(s({\n tagName: \"div\",\n className: t.attachmentMetadataContainer,\n childNodes: s({\n tagName: \"span\",\n className: t.attachmentMetadata,\n childNodes: [s({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: this.attachment.getFilename(),\n attributes: {\n title: this.attachment.getFilename()\n }\n }), s({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: this.attachment.getFormattedFilesize()\n })]\n })\n })), i(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), i(\"click\", {\n onElement: n,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), {\n \"do\": function (t) {\n return function () {\n return t.element.appendChild(n);\n };\n }(this),\n undo: function () {\n return function () {\n return e.removeNode(n);\n };\n }(this)\n };\n }), h.prototype.installCaptionEditor = p(function () {\n var o, a, u, c, l;\n return c = s({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: r.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n }), c.value = this.attachmentPiece.getCaption(), l = c.cloneNode(), l.classList.add(\"trix-autoresize-clone\"), l.tabIndex = -1, o = function o() {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, i(\"input\", {\n onElement: c,\n withCallback: o\n }), i(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), i(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), i(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), i(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), a = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", a.appendChild(c), a.appendChild(l), a.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(a, u), o(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function undo() {\n return e.removeNode(a), u.style.display = null;\n }\n };\n }), h.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, h.prototype.didClickActionButton = function (t) {\n var e, n;\n\n switch (e = t.target.getAttribute(\"data-trix-action\")) {\n case \"remove\":\n return null != (n = this.delegate) ? n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0;\n }\n }, h.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === o[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, h.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, h.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, h.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, h;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.config.css, e.AttachmentView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n\n var a;\n return o(s, r), s.attachmentSelector = \"[data-trix-attachment]\", s.prototype.createContentNodes = function () {\n return [];\n }, s.prototype.createNodes = function () {\n var e, n, o, r, s, u, c;\n if (e = r = i({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }), (n = this.getHref()) && (r = i({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: n,\n tabindex: -1\n }\n }), e.appendChild(r)), this.attachment.hasContent()) r.innerHTML = this.attachment.getContent();else for (c = this.createContentNodes(), o = 0, s = c.length; s > o; o++) {\n u = c[o], r.appendChild(u);\n }\n return r.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({\n tagName: \"progress\",\n attributes: {\n \"class\": t.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [a(\"left\"), e, a(\"right\")];\n }, s.prototype.createCaptionElement = function () {\n var e, n, o, r, s, a, u;\n return o = i({\n tagName: \"figcaption\",\n className: t.attachmentCaption\n }), (e = this.attachmentPiece.getCaption()) ? (o.classList.add(t.attachmentCaption + \"--edited\"), o.textContent = e) : (n = this.getCaptionConfig(), n.name && (r = this.attachment.getFilename()), n.size && (a = this.attachment.getFormattedFilesize()), r && (s = i({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: r\n }), o.appendChild(s)), a && (r && o.appendChild(document.createTextNode(\" \")), u = i({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: a\n }), o.appendChild(u))), o;\n }, s.prototype.getClassName = function () {\n var e, n;\n return n = [t.attachment, t.attachment + \"--\" + this.attachment.getType()], (e = this.attachment.getExtension()) && n.push(t.attachment + \"--\" + e), n.join(\" \");\n }, s.prototype.getData = function () {\n var t, e;\n return e = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n }, t = this.attachmentPiece.attributes, t.isEmpty() || (e.trixAttributes = JSON.stringify(t)), this.attachment.isPending() && (e.trixSerialize = !1), e;\n }, s.prototype.getHref = function () {\n return n(this.attachment.getContent(), \"a\") ? void 0 : this.attachment.getHref();\n }, s.prototype.getCaptionConfig = function () {\n var t, n, i;\n return i = this.attachment.getType(), t = e.copyObject(null != (n = e.config.attachments[i]) ? n.caption : void 0), \"file\" === i && (t.name = !0), t;\n }, s.prototype.findProgressElement = function () {\n var t;\n return null != (t = this.findElement()) ? t.querySelector(\"progress\") : void 0;\n }, a = function a(t) {\n return i({\n tagName: \"span\",\n textContent: e.ZERO_WIDTH_SPACE,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n });\n }, s.prototype.attachmentDidChangeUploadProgress = function () {\n var t, e;\n return e = this.attachment.getUploadProgress(), null != (t = this.findProgressElement()) ? t.value = e : void 0;\n }, s;\n }(e.ObjectView), n = function n(t, e) {\n var n;\n return n = i(\"div\"), n.innerHTML = null != t ? t : \"\", n.querySelector(e);\n };\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.makeElement, e.PreviewableAttachmentView = function (i) {\n function o() {\n o.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this;\n }\n\n return n(o, i), o.prototype.createContentNodes = function () {\n return this.image = t({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }, o.prototype.createCaptionElement = function () {\n var t;\n return t = o.__super__.createCaptionElement.apply(this, arguments), t.textContent || t.setAttribute(\"data-trix-placeholder\", e.config.lang.captionPlaceholder), t;\n }, o.prototype.refresh = function (t) {\n var e;\n return null == t && (t = null != (e = this.findElement()) ? e.querySelector(\"img\") : void 0), t ? this.updateAttributesForImage(t) : void 0;\n }, o.prototype.updateAttributesForImage = function (t) {\n var e, n, i, o, r, s;\n return r = this.attachment.getURL(), n = this.attachment.getPreviewURL(), t.src = n || r, n === r ? t.removeAttribute(\"data-trix-serialized-attributes\") : (i = JSON.stringify({\n src: r\n }), t.setAttribute(\"data-trix-serialized-attributes\", i)), s = this.attachment.getWidth(), e = this.attachment.getHeight(), null != s && (t.width = s), null != e && (t.height = e), o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\"), t.dataset.trixStoreKey = o;\n }, o.prototype.attachmentDidChangeAttributes = function () {\n return this.refresh(this.image), this.refresh();\n }, o;\n }(e.AttachmentView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.findInnerElement, n = e.getTextConfig, e.PieceView = function (r) {\n function s() {\n var t;\n s.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t = this.options, this.textConfig = t.textConfig, this.context = t.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n\n var a;\n return o(s, r), s.prototype.createNodes = function () {\n var e, n, i, o, r, s;\n\n if (s = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e = this.createElement()) {\n for (i = t(e), n = 0, o = s.length; o > n; n++) {\n r = s[n], i.appendChild(r);\n }\n\n s = [e];\n }\n\n return s;\n }, s.prototype.createAttachmentNodes = function () {\n var t, n;\n return t = this.attachment.isPreviewable() ? e.PreviewableAttachmentView : e.AttachmentView, n = this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }), n.getNodes();\n }, s.prototype.createStringNodes = function () {\n var t, e, n, o, r, s, a, u, c, l;\n if (null != (u = this.textConfig) ? u.plaintext : void 0) return [document.createTextNode(this.string)];\n\n for (a = [], c = this.string.split(\"\\n\"), n = e = 0, o = c.length; o > e; n = ++e) {\n l = c[n], n > 0 && (t = i(\"br\"), a.push(t)), (r = l.length) && (s = document.createTextNode(this.preserveSpaces(l)), a.push(s));\n }\n\n return a;\n }, s.prototype.createElement = function () {\n var t, e, o, r, s, a, u, c, l;\n c = {}, a = this.attributes;\n\n for (r in a) {\n if (l = a[r], (t = n(r)) && (t.tagName && (s = i(t.tagName), o ? (o.appendChild(s), o = s) : e = o = s), t.styleProperty && (c[t.styleProperty] = l), t.style)) {\n u = t.style;\n\n for (r in u) {\n l = u[r], c[r] = l;\n }\n }\n }\n\n if (Object.keys(c).length) {\n null == e && (e = i(\"span\"));\n\n for (r in c) {\n l = c[r], e.style[r] = l;\n }\n }\n\n return e;\n }, s.prototype.createContainerElement = function () {\n var t, e, o, r, s;\n r = this.attributes;\n\n for (o in r) {\n if (s = r[o], (e = n(o)) && e.groupTagName) return t = {}, t[o] = s, i(e.groupTagName, t);\n }\n }, a = e.NON_BREAKING_SPACE, s.prototype.preserveSpaces = function (t) {\n return this.context.isLast && (t = t.replace(/\\ $/, a)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \" + a + \" $2\").replace(/\\ {2}/g, a + \" \").replace(/\\ {2}/g, \" \" + a), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, a)), t;\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t11, e) {\n function i() {\n this.constructor = _t11;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t11[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t11.prototype = new i(), _t11.__super__ = e.prototype, _t11;\n },\n n = {}.hasOwnProperty;\n\n e.TextView = function (n) {\n function i() {\n i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n\n var o;\n return t(i, n), i.prototype.createNodes = function () {\n var t, n, i, r, s, a, u, c, l, h;\n\n for (a = [], c = e.ObjectGroup.groupObjects(this.getPieces()), r = c.length - 1, i = n = 0, s = c.length; s > n; i = ++n) {\n u = c[i], t = {}, 0 === i && (t.isFirst = !0), i === r && (t.isLast = !0), o(l) && (t.followsWhitespace = !0), h = this.findOrCreateCachedChildView(e.PieceView, u, {\n textConfig: this.textConfig,\n context: t\n }), a.push.apply(a, h.getNodes()), l = u;\n }\n\n return a;\n }, i.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.text.getPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], n.hasAttribute(\"blockBreak\") || o.push(n);\n }\n\n return o;\n }, o = function o(t) {\n return /\\s$/.test(null != t ? t.toString() : void 0);\n }, i;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, n = e.getBlockConfig, t = e.config.css, e.BlockView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n\n return o(s, r), s.prototype.createNodes = function () {\n var t, o, r, s, a, u, c, l, h, p, d;\n if (o = document.createComment(\"block\"), c = [o], this.block.isEmpty() ? c.push(i(\"br\")) : (p = null != (l = n(this.block.getLastAttribute())) ? l.text : void 0, d = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: p\n }), c.push.apply(c, d.getNodes()), this.shouldAddExtraNewlineElement() && c.push(i(\"br\"))), this.attributes.length) return c;\n\n for (h = e.config.blockAttributes[\"default\"].tagName, this.block.isRTL() && (t = {\n dir: \"rtl\"\n }), r = i({\n tagName: h,\n attributes: t\n }), s = 0, a = c.length; a > s; s++) {\n u = c[s], r.appendChild(u);\n }\n\n return [r];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a, u;\n return o = this.attributes[e], u = n(o).tagName, 0 === e && this.block.isRTL() && (r = {\n dir: \"rtl\"\n }), \"attachmentGallery\" === o && (a = this.block.getBlockBreakPosition(), s = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + a), i({\n tagName: u,\n className: s,\n attributes: r\n });\n }, s.prototype.shouldAddExtraNewlineElement = function () {\n return /\\n\\n$/.test(this.block.toString());\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.defer, n = e.makeElement, e.DocumentView = function (o) {\n function r() {\n r.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e.ElementStore(), this.setDocument(this.object);\n }\n\n var s, a, u;\n return i(r, o), r.render = function (t) {\n var e, i;\n return e = n(\"div\"), i = new this(t, {\n element: e\n }), i.render(), i.sync(), e;\n }, r.prototype.setDocument = function (t) {\n return t.isEqualTo(this.document) ? void 0 : this.document = this.object = t;\n }, r.prototype.render = function () {\n var t, i, o, r, s, a, u;\n\n if (this.childViews = [], this.shadowElement = n(\"div\"), !this.document.isEmpty()) {\n for (s = e.ObjectGroup.groupObjects(this.document.getBlocks(), {\n asTree: !0\n }), a = [], t = 0, i = s.length; i > t; t++) {\n r = s[t], u = this.findOrCreateCachedChildView(e.BlockView, r), a.push(function () {\n var t, e, n, i;\n\n for (n = u.getNodes(), i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(this.shadowElement.appendChild(o));\n }\n\n return i;\n }.call(this));\n }\n\n return a;\n }\n }, r.prototype.isSynced = function () {\n return s(this.shadowElement, this.element);\n }, r.prototype.sync = function () {\n var t;\n\n for (t = this.createDocumentFragmentForSync(); this.element.lastChild;) {\n this.element.removeChild(this.element.lastChild);\n }\n\n return this.element.appendChild(t), this.didSync();\n }, r.prototype.didSync = function () {\n return this.elementStore.reset(a(this.element)), t(function (t) {\n return function () {\n return t.garbageCollectCachedViews();\n };\n }(this));\n }, r.prototype.createDocumentFragmentForSync = function () {\n var t, e, n, i, o, r, s, u, c, l;\n\n for (e = document.createDocumentFragment(), u = this.shadowElement.childNodes, n = 0, o = u.length; o > n; n++) {\n s = u[n], e.appendChild(s.cloneNode(!0));\n }\n\n for (c = a(e), i = 0, r = c.length; r > i; i++) {\n t = c[i], (l = this.elementStore.remove(t)) && t.parentNode.replaceChild(l, t);\n }\n\n return e;\n }, a = function a(t) {\n return t.querySelectorAll(\"[data-trix-store-key]\");\n }, s = function s(t, e) {\n return u(t.innerHTML) === u(e.innerHTML);\n }, u = function u(t) {\n return t.replace(/ /g, \" \");\n }, r;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n a = function a(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n u.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n u = {}.hasOwnProperty;\n\n i = e.findClosestElementFromNode, o = e.handleEvent, r = e.innerElementIsActive, n = e.defer, t = e.AttachmentView.attachmentSelector, e.CompositionController = function (u) {\n function c(n, i) {\n this.element = n, this.composition = i, this.didClickAttachment = s(this.didClickAttachment, this), this.didBlur = s(this.didBlur, this), this.didFocus = s(this.didFocus, this), this.documentView = new e.DocumentView(this.composition.document, {\n element: this.element\n }), o(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), o(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), o(\"mousedown\", {\n onElement: this.element,\n matchingSelector: t,\n withCallback: this.didClickAttachment\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\" + t,\n preventDefault: !0\n });\n }\n\n return a(c, u), c.prototype.didFocus = function () {\n var t, e, n;\n return t = function (t) {\n return function () {\n var e;\n return t.focused ? void 0 : (t.focused = !0, null != (e = t.delegate) && \"function\" == typeof e.compositionControllerDidFocus ? e.compositionControllerDidFocus() : void 0);\n };\n }(this), null != (e = null != (n = this.blurPromise) ? n.then(t) : void 0) ? e : t();\n }, c.prototype.didBlur = function () {\n return this.blurPromise = new Promise(function (t) {\n return function (e) {\n return n(function () {\n var n;\n return r(t.element) || (t.focused = null, null != (n = t.delegate) && \"function\" == typeof n.compositionControllerDidBlur && n.compositionControllerDidBlur()), t.blurPromise = null, e();\n });\n };\n }(this));\n }, c.prototype.didClickAttachment = function (t, e) {\n var n, o, r;\n return n = this.findAttachmentForElement(e), o = null != i(t.target, {\n matchingSelector: \"figcaption\"\n }), null != (r = this.delegate) && \"function\" == typeof r.compositionControllerDidSelectAttachment ? r.compositionControllerDidSelectAttachment(n, {\n editCaption: o\n }) : void 0;\n }, c.prototype.getSerializableElement = function () {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }, c.prototype.render = function () {\n var t, e, n;\n return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && (null != (t = this.delegate) && \"function\" == typeof t.compositionControllerWillSyncDocumentView && t.compositionControllerWillSyncDocumentView(), this.documentView.sync(), null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidSyncDocumentView && e.compositionControllerDidSyncDocumentView()), null != (n = this.delegate) && \"function\" == typeof n.compositionControllerDidRender ? n.compositionControllerDidRender() : void 0;\n }, c.prototype.rerenderViewForObject = function (t) {\n return this.invalidateViewForObject(t), this.render();\n }, c.prototype.invalidateViewForObject = function (t) {\n return this.documentView.invalidateViewForObject(t);\n }, c.prototype.isViewCachingEnabled = function () {\n return this.documentView.isViewCachingEnabled();\n }, c.prototype.enableViewCaching = function () {\n return this.documentView.enableViewCaching();\n }, c.prototype.disableViewCaching = function () {\n return this.documentView.disableViewCaching();\n }, c.prototype.refreshViewCache = function () {\n return this.documentView.garbageCollectCachedViews();\n }, c.prototype.isEditingAttachment = function () {\n return null != this.attachmentEditor;\n }, c.prototype.installAttachmentEditorForAttachment = function (t, n) {\n var i, o, r;\n if ((null != (r = this.attachmentEditor) ? r.attachment : void 0) !== t && (o = this.documentView.findElementForObject(t))) return this.uninstallAttachmentEditor(), i = this.composition.document.getAttachmentPieceForAttachment(t), this.attachmentEditor = new e.AttachmentEditorController(i, o, this.element, n), this.attachmentEditor.delegate = this;\n }, c.prototype.uninstallAttachmentEditor = function () {\n var t;\n return null != (t = this.attachmentEditor) ? t.uninstall() : void 0;\n }, c.prototype.didUninstallAttachmentEditor = function () {\n return this.attachmentEditor = null, this.render();\n }, c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.updateAttributesForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.removeAttributeForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovalOfAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestRemovalOfAttachment ? e.compositionControllerDidRequestRemovalOfAttachment(t) : void 0;\n }, c.prototype.attachmentEditorDidRequestDeselectingAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestDeselectingAttachment ? e.compositionControllerDidRequestDeselectingAttachment(t) : void 0;\n }, c.prototype.canSyncDocumentView = function () {\n return !this.isEditingAttachment();\n }, c.prototype.findAttachmentForElement = function (t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty;\n\n n = e.handleEvent, i = e.triggerEvent, t = e.findClosestElementFromNode, e.ToolbarController = function (e) {\n function s(t) {\n this.element = t, this.didKeyDownDialogInput = o(this.didKeyDownDialogInput, this), this.didClickDialogButton = o(this.didClickDialogButton, this), this.didClickAttributeButton = o(this.didClickAttributeButton, this), this.didClickActionButton = o(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: a,\n withCallback: this.didClickActionButton\n }), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: c,\n withCallback: this.didClickAttributeButton\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: v,\n preventDefault: !0\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: l,\n withCallback: this.didClickDialogButton\n }), n(\"keydown\", {\n onElement: this.element,\n matchingSelector: h,\n withCallback: this.didKeyDownDialogInput\n });\n }\n\n var a, u, c, l, h, p, d, f, g, m, v;\n return r(s, e), c = \"[data-trix-attribute]\", a = \"[data-trix-action]\", v = c + \", \" + a, p = \"[data-trix-dialog]\", u = p + \"[data-trix-active]\", l = p + \" [data-trix-method]\", h = p + \" [data-trix-input]\", s.prototype.didClickActionButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = d(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) ? o.toolbarDidInvokeAction(n) : void 0;\n }, s.prototype.didClickAttributeButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = f(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) && o.toolbarDidToggleAttribute(n), this.refreshAttributeButtons();\n }, s.prototype.didClickDialogButton = function (e, n) {\n var i, o;\n return i = t(n, {\n matchingSelector: p\n }), o = n.getAttribute(\"data-trix-method\"), this[o].call(this, i);\n }, s.prototype.didKeyDownDialogInput = function (t, e) {\n var n, i;\n return 13 === t.keyCode && (t.preventDefault(), n = e.getAttribute(\"name\"), i = this.getDialog(n), this.setAttribute(i)), 27 === t.keyCode ? (t.preventDefault(), this.hideDialog()) : void 0;\n }, s.prototype.updateActions = function (t) {\n return this.actions = t, this.refreshActionButtons();\n }, s.prototype.refreshActionButtons = function () {\n return this.eachActionButton(function (t) {\n return function (e, n) {\n return e.disabled = t.actions[n] === !1;\n };\n }(this));\n }, s.prototype.eachActionButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(a), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, d(e)));\n }\n\n return r;\n }, s.prototype.updateAttributes = function (t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }, s.prototype.refreshAttributeButtons = function () {\n return this.eachAttributeButton(function (t) {\n return function (e, n) {\n return e.disabled = t.attributes[n] === !1, t.attributes[n] || t.dialogIsVisible(n) ? (e.setAttribute(\"data-trix-active\", \"\"), e.classList.add(\"trix-active\")) : (e.removeAttribute(\"data-trix-active\"), e.classList.remove(\"trix-active\"));\n };\n }(this));\n }, s.prototype.eachAttributeButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(c), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, f(e)));\n }\n\n return r;\n }, s.prototype.applyKeyboardCommand = function (t) {\n var e, n, o, r, s, a, u;\n\n for (s = JSON.stringify(t.sort()), u = this.element.querySelectorAll(\"[data-trix-key]\"), r = 0, a = u.length; a > r; r++) {\n if (e = u[r], o = e.getAttribute(\"data-trix-key\").split(\"+\"), n = JSON.stringify(o.sort()), n === s) return i(\"mousedown\", {\n onElement: e\n }), !0;\n }\n\n return !1;\n }, s.prototype.dialogIsVisible = function (t) {\n var e;\n return (e = this.getDialog(t)) ? e.hasAttribute(\"data-trix-active\") : void 0;\n }, s.prototype.toggleDialog = function (t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }, s.prototype.showDialog = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n for (this.hideDialog(), null != (a = this.delegate) && a.toolbarWillShowDialog(), i = this.getDialog(t), i.setAttribute(\"data-trix-active\", \"\"), i.classList.add(\"trix-active\"), u = i.querySelectorAll(\"input[disabled]\"), o = 0, s = u.length; s > o; o++) {\n n = u[o], n.removeAttribute(\"disabled\");\n }\n\n return (e = f(i)) && (r = m(i, t)) && (r.value = null != (c = this.attributes[e]) ? c : \"\", r.select()), null != (l = this.delegate) ? l.toolbarDidShowDialog(t) : void 0;\n }, s.prototype.setAttribute = function (t) {\n var e, n, i;\n return e = f(t), n = m(t, e), n.willValidate && !n.checkValidity() ? (n.setAttribute(\"data-trix-validate\", \"\"), n.classList.add(\"trix-validate\"), n.focus()) : (null != (i = this.delegate) && i.toolbarDidUpdateAttribute(e, n.value), this.hideDialog());\n }, s.prototype.removeAttribute = function (t) {\n var e, n;\n return e = f(t), null != (n = this.delegate) && n.toolbarDidRemoveAttribute(e), this.hideDialog();\n }, s.prototype.hideDialog = function () {\n var t, e;\n return (t = this.element.querySelector(u)) ? (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null != (e = this.delegate) ? e.toolbarDidHideDialog(g(t)) : void 0) : void 0;\n }, s.prototype.resetDialogInputs = function () {\n var t, e, n, i, o;\n\n for (i = this.element.querySelectorAll(h), o = [], t = 0, n = i.length; n > t; t++) {\n e = i[t], e.setAttribute(\"disabled\", \"disabled\"), e.removeAttribute(\"data-trix-validate\"), o.push(e.classList.remove(\"trix-validate\"));\n }\n\n return o;\n }, s.prototype.getDialog = function (t) {\n return this.element.querySelector(\"[data-trix-dialog=\" + t + \"]\");\n }, m = function m(t, e) {\n return null == e && (e = f(t)), t.querySelector(\"[data-trix-input][name='\" + e + \"']\");\n }, d = function d(t) {\n return t.getAttribute(\"data-trix-action\");\n }, f = function f(t) {\n var e;\n return null != (e = t.getAttribute(\"data-trix-attribute\")) ? e : t.getAttribute(\"data-trix-dialog-attribute\");\n }, g = function g(t) {\n return t.getAttribute(\"data-trix-dialog\");\n }, s;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t12, e) {\n function i() {\n this.constructor = _t12;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t12[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t12.prototype = new i(), _t12.__super__ = e.prototype, _t12;\n },\n n = {}.hasOwnProperty;\n\n e.ImagePreloadOperation = function (e) {\n function n(t) {\n this.url = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new Image(), e.onload = function (n) {\n return function () {\n return e.width = n.width = e.naturalWidth, e.height = n.height = e.naturalHeight, t(!0, e);\n };\n }(this), e.onerror = function () {\n return t(!1);\n }, e.src = this.url;\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t = function t(_t13, e) {\n return function () {\n return _t13.apply(e, arguments);\n };\n },\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n e.Attachment = function (i) {\n function o(n) {\n null == n && (n = {}), this.releaseFile = t(this.releaseFile, this), o.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n), this.didChangeAttributes();\n }\n\n return n(o, i), o.previewablePattern = /^image(\\/(gif|png|jpe?g)|$)/, o.attachmentForFile = function (t) {\n var e, n;\n return n = this.attributesForFile(t), e = new this(n), e.setFile(t), e;\n }, o.attributesForFile = function (t) {\n return new e.Hash({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }, o.fromJSON = function (t) {\n return new this(t);\n }, o.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, o.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, o.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, o.prototype.setAttributes = function (t) {\n var e, n, i;\n return null == t && (t = {}), e = this.attributes.merge(t), this.attributes.isEqualTo(e) ? void 0 : (this.attributes = e, this.didChangeAttributes(), null != (n = this.previewDelegate) && \"function\" == typeof n.attachmentDidChangeAttributes && n.attachmentDidChangeAttributes(this), null != (i = this.delegate) && \"function\" == typeof i.attachmentDidChangeAttributes ? i.attachmentDidChangeAttributes(this) : void 0);\n }, o.prototype.didChangeAttributes = function () {\n return this.isPreviewable() ? this.preloadURL() : void 0;\n }, o.prototype.isPending = function () {\n return null != this.file && !(this.getURL() || this.getHref());\n }, o.prototype.isPreviewable = function () {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : this.constructor.previewablePattern.test(this.getContentType());\n }, o.prototype.getType = function () {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }, o.prototype.getURL = function () {\n return this.attributes.get(\"url\");\n }, o.prototype.getHref = function () {\n return this.attributes.get(\"href\");\n }, o.prototype.getFilename = function () {\n var t;\n return null != (t = this.attributes.get(\"filename\")) ? t : \"\";\n }, o.prototype.getFilesize = function () {\n return this.attributes.get(\"filesize\");\n }, o.prototype.getFormattedFilesize = function () {\n var t;\n return t = this.attributes.get(\"filesize\"), \"number\" == typeof t ? e.config.fileSize.formatter(t) : \"\";\n }, o.prototype.getExtension = function () {\n var t;\n return null != (t = this.getFilename().match(/\\.(\\w+)$/)) ? t[1].toLowerCase() : void 0;\n }, o.prototype.getContentType = function () {\n return this.attributes.get(\"contentType\");\n }, o.prototype.hasContent = function () {\n return this.attributes.has(\"content\");\n }, o.prototype.getContent = function () {\n return this.attributes.get(\"content\");\n }, o.prototype.getWidth = function () {\n return this.attributes.get(\"width\");\n }, o.prototype.getHeight = function () {\n return this.attributes.get(\"height\");\n }, o.prototype.getFile = function () {\n return this.file;\n }, o.prototype.setFile = function (t) {\n return this.file = t, this.isPreviewable() ? this.preloadFile() : void 0;\n }, o.prototype.releaseFile = function () {\n return this.releasePreloadedFile(), this.file = null;\n }, o.prototype.getUploadProgress = function () {\n var t;\n return null != (t = this.uploadProgress) ? t : 0;\n }, o.prototype.setUploadProgress = function (t) {\n var e;\n return this.uploadProgress !== t ? (this.uploadProgress = t, null != (e = this.uploadProgressDelegate) && \"function\" == typeof e.attachmentDidChangeUploadProgress ? e.attachmentDidChangeUploadProgress(this) : void 0) : void 0;\n }, o.prototype.toJSON = function () {\n return this.getAttributes();\n }, o.prototype.getCacheKey = function () {\n return [o.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }, o.prototype.getPreviewURL = function () {\n return this.previewURL || this.preloadingURL;\n }, o.prototype.setPreviewURL = function (t) {\n var e, n;\n return t !== this.getPreviewURL() ? (this.previewURL = t, null != (e = this.previewDelegate) && \"function\" == typeof e.attachmentDidChangeAttributes && e.attachmentDidChangeAttributes(this), null != (n = this.delegate) && \"function\" == typeof n.attachmentDidChangePreviewURL ? n.attachmentDidChangePreviewURL(this) : void 0) : void 0;\n }, o.prototype.preloadURL = function () {\n return this.preload(this.getURL(), this.releaseFile);\n }, o.prototype.preloadFile = function () {\n return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0;\n }, o.prototype.releasePreloadedFile = function () {\n return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0;\n }, o.prototype.preload = function (t, n) {\n var i;\n return t && t !== this.getPreviewURL() ? (this.preloadingURL = t, i = new e.ImagePreloadOperation(t), i.then(function (e) {\n return function (i) {\n var o, r;\n return r = i.width, o = i.height, e.getWidth() && e.getHeight() || e.setAttributes({\n width: r,\n height: o\n }), e.preloadingURL = null, e.setPreviewURL(t), \"function\" == typeof n ? n() : void 0;\n };\n }(this))[\"catch\"](function (t) {\n return function () {\n return t.preloadingURL = null, \"function\" == typeof n ? n() : void 0;\n };\n }(this))) : void 0;\n }, o;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t14, e) {\n function i() {\n this.constructor = _t14;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t14[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t14.prototype = new i(), _t14.__super__ = e.prototype, _t14;\n },\n n = {}.hasOwnProperty;\n\n e.Piece = function (n) {\n function i(t, n) {\n null == n && (n = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n);\n }\n\n return t(i, n), i.types = {}, i.registerType = function (t, e) {\n return e.type = t, this.types[t] = e;\n }, i.fromJSON = function (t) {\n var e;\n return (e = this.types[t.type]) ? e.fromJSON(t) : void 0;\n }, i.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.getValue(), t);\n }, i.prototype.copyWithAdditionalAttributes = function (t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }, i.prototype.copyWithoutAttribute = function (t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }, i.prototype.copy = function () {\n return this.copyWithAttributes(this.attributes);\n }, i.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, i.prototype.getAttributesHash = function () {\n return this.attributes;\n }, i.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, i.prototype.getCommonAttributes = function () {\n var t, e, n;\n return (n = pieceList.getPieceAtIndex(0)) ? (t = n.attributes, e = t.getKeys(), pieceList.eachPiece(function (n) {\n return e = t.getKeysCommonToHash(n.attributes), t = t.slice(e);\n }), t.toObject()) : {};\n }, i.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, i.prototype.hasSameStringValueAsPiece = function (t) {\n return null != t && this.toString() === t.toString();\n }, i.prototype.hasSameAttributesAsPiece = function (t) {\n return null != t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }, i.prototype.isBlockBreak = function () {\n return !1;\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.isEmpty = function () {\n return 0 === this.length;\n }, i.prototype.isSerializable = function () {\n return !0;\n }, i.prototype.toJSON = function () {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }, i.prototype.contentsForInspection = function () {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }, i.prototype.canBeGrouped = function () {\n return this.hasAttribute(\"href\");\n }, i.prototype.canBeGroupedWith = function (t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }, i.prototype.getLength = function () {\n return this.length;\n }, i.prototype.canBeConsolidatedWith = function () {\n return !1;\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t15, e) {\n function i() {\n this.constructor = _t15;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t15[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t15.prototype = new i(), _t15.__super__ = e.prototype, _t15;\n },\n n = {}.hasOwnProperty;\n\n e.Piece.registerType(\"attachment\", e.AttachmentPiece = function (n) {\n function i(t) {\n this.attachment = t, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n\n return t(i, n), i.fromJSON = function (t) {\n return new this(e.Attachment.fromJSON(t.attachment), t.attributes);\n }, i.permittedAttributes = [\"caption\", \"presentation\"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function (t) {\n return this.hasAttribute(t) ? (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice(t)), this.attributes = this.attributes.remove(t)) : void 0;\n }, i.prototype.removeProhibitedAttributes = function () {\n var t;\n return t = this.attributes.slice(this.constructor.permittedAttributes), t.isEqualTo(this.attributes) ? void 0 : this.attributes = t;\n }, i.prototype.getValue = function () {\n return this.attachment;\n }, i.prototype.isSerializable = function () {\n return !this.attachment.isPending();\n }, i.prototype.getCaption = function () {\n var t;\n return null != (t = this.attributes.get(\"caption\")) ? t : \"\";\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (null != t && null != (e = t.attachment) ? e.id : void 0);\n }, i.prototype.toString = function () {\n return e.OBJECT_REPLACEMENT_CHARACTER;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.attachment = this.attachment, t;\n }, i.prototype.getCacheKey = function () {\n return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join(\"/\");\n }, i.prototype.toConsole = function () {\n return JSON.stringify(this.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.normalizeNewlines, e.Piece.registerType(\"string\", e.StringPiece = function (e) {\n function i(e) {\n i.__super__.constructor.apply(this, arguments), this.string = t(e), this.length = this.string.length;\n }\n\n return n(i, e), i.fromJSON = function (t) {\n return new this(t.string, t.attributes);\n }, i.prototype.getValue = function () {\n return this.string;\n }, i.prototype.toString = function () {\n return this.string.toString();\n }, i.prototype.isBlockBreak = function () {\n return \"\\n\" === this.toString() && this.getAttribute(\"blockBreak\") === !0;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.string = this.string, t;\n }, i.prototype.canBeConsolidatedWith = function (t) {\n return null != t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.consolidateWith = function (t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }, i.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.length ? (e = this, n = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), n = new this.constructor(this.string.slice(t), this.attributes)), [e, n];\n }, i.prototype.toConsole = function () {\n var t;\n return t = this.string, t.length > 15 && (t = t.slice(0, 14) + \"\\u2026\"), JSON.stringify(t.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty,\n o = [].slice;\n\n t = e.spliceArray, e.SplittableList = function (e) {\n function i(t) {\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n\n var r, s, a;\n return n(i, e), i.box = function (t) {\n return t instanceof this ? t : new this(t);\n }, i.prototype.indexOf = function (t) {\n return this.objects.indexOf(t);\n }, i.prototype.splice = function () {\n var e;\n return e = 1 <= arguments.length ? o.call(arguments, 0) : [], new this.constructor(t.apply(null, [this.objects].concat(o.call(e))));\n }, i.prototype.eachObject = function (t) {\n var e, n, i, o, r, s;\n\n for (r = this.objects, s = [], n = e = 0, i = r.length; i > e; n = ++e) {\n o = r[n], s.push(t(o, n));\n }\n\n return s;\n }, i.prototype.insertObjectAtIndex = function (t, e) {\n return this.splice(e, 0, t);\n }, i.prototype.insertSplittableListAtIndex = function (t, e) {\n return this.splice.apply(this, [e, 0].concat(o.call(t.objects)));\n }, i.prototype.insertSplittableListAtPosition = function (t, e) {\n var n, i, o;\n return o = this.splitObjectAtPosition(e), i = o[0], n = o[1], new this.constructor(i).insertSplittableListAtIndex(t, n);\n }, i.prototype.editObjectAtIndex = function (t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }, i.prototype.replaceObjectAtIndex = function (t, e) {\n return this.splice(e, 1, t);\n }, i.prototype.removeObjectAtIndex = function (t) {\n return this.splice(t, 1);\n }, i.prototype.getObjectAtIndex = function (t) {\n return this.objects[t];\n }, i.prototype.getSplittableListInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n.slice(e, o + 1));\n }, i.prototype.selectSplittableList = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r;\n\n for (o = this.objects, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], t(e) && r.push(e);\n }\n\n return r;\n }.call(this), new this.constructor(n);\n }, i.prototype.removeObjectsInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n).splice(e, o - e + 1);\n }, i.prototype.transformObjectsInRange = function (t, e) {\n var n, i, o, r, s, a, u;\n return s = this.splitObjectsAtRange(t), r = s[0], i = s[1], a = s[2], u = function () {\n var t, s, u;\n\n for (u = [], n = t = 0, s = r.length; s > t; n = ++t) {\n o = r[n], u.push(n >= i && a >= n ? e(o) : o);\n }\n\n return u;\n }(), new this.constructor(u);\n }, i.prototype.splitObjectsAtRange = function (t) {\n var e, n, i, o, s, u;\n return o = this.splitObjectAtPosition(a(t)), n = o[0], e = o[1], i = o[2], s = new this.constructor(n).splitObjectAtPosition(r(t) + i), n = s[0], u = s[1], [n, e, u - 1];\n }, i.prototype.getObjectAtPosition = function (t) {\n var e, n, i;\n return i = this.findIndexAndOffsetAtPosition(t), e = i.index, n = i.offset, this.objects[e];\n }, i.prototype.splitObjectAtPosition = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return s = this.findIndexAndOffsetAtPosition(t), e = s.index, r = s.offset, o = this.objects.slice(0), null != e ? 0 === r ? (c = e, l = 0) : (i = this.getObjectAtIndex(e), a = i.splitAtOffset(r), n = a[0], u = a[1], o.splice(e, 1, n, u), c = e + 1, l = n.getLength() - r) : (c = o.length, l = 0), [o, c, l];\n }, i.prototype.consolidate = function () {\n var t, e, n, i, o, r;\n\n for (i = [], o = this.objects[0], r = this.objects.slice(1), t = 0, e = r.length; e > t; t++) {\n n = r[t], (\"function\" == typeof o.canBeConsolidatedWith ? o.canBeConsolidatedWith(n) : void 0) ? o = o.consolidateWith(n) : (i.push(o), o = n);\n }\n\n return null != o && i.push(o), new this.constructor(i);\n }, i.prototype.consolidateFromIndexToIndex = function (t, e) {\n var n, i, r;\n return i = this.objects.slice(0), r = i.slice(t, e + 1), n = new this.constructor(r).consolidate().toArray(), this.splice.apply(this, [t, r.length].concat(o.call(n)));\n }, i.prototype.findIndexAndOffsetAtPosition = function (t) {\n var e, n, i, o, r, s, a;\n\n for (e = 0, a = this.objects, i = n = 0, o = a.length; o > n; i = ++n) {\n if (s = a[i], r = e + s.getLength(), t >= e && r > t) return {\n index: i,\n offset: t - e\n };\n e = r;\n }\n\n return {\n index: null,\n offset: null\n };\n }, i.prototype.findPositionAtIndexAndOffset = function (t, e) {\n var n, i, o, r, s, a;\n\n for (s = 0, a = this.objects, n = i = 0, o = a.length; o > i; n = ++i) {\n if (r = a[n], t > n) s += r.getLength();else if (n === t) {\n s += e;\n break;\n }\n }\n\n return s;\n }, i.prototype.getEndPosition = function () {\n var t, e;\n return null != this.endPosition ? this.endPosition : this.endPosition = function () {\n var n, i, o;\n\n for (e = 0, o = this.objects, n = 0, i = o.length; i > n; n++) {\n t = o[n], e += t.getLength();\n }\n\n return e;\n }.call(this);\n }, i.prototype.toString = function () {\n return this.objects.join(\"\");\n }, i.prototype.toArray = function () {\n return this.objects.slice(0);\n }, i.prototype.toJSON = function () {\n return this.toArray();\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || s(this.objects, null != t ? t.objects : void 0);\n }, s = function s(t, e) {\n var n, i, o, r, s;\n if (null == e && (e = []), t.length !== e.length) return !1;\n\n for (s = !0, i = n = 0, o = t.length; o > n; i = ++n) {\n r = t[i], s && !r.isEqualTo(e[i]) && (s = !1);\n }\n\n return s;\n }, i.prototype.contentsForInspection = function () {\n var t;\n return {\n objects: \"[\" + function () {\n var e, n, i, o;\n\n for (i = this.objects, o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.inspect());\n }\n\n return o;\n }.call(this).join(\", \") + \"]\"\n };\n }, a = function a(t) {\n return t[0];\n }, r = function r(t) {\n return t[1];\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t16, e) {\n function i() {\n this.constructor = _t16;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t16[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t16.prototype = new i(), _t16.__super__ = e.prototype, _t16;\n },\n n = {}.hasOwnProperty;\n\n e.Text = function (n) {\n function i(t) {\n var n;\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e.SplittableList(function () {\n var e, i, o;\n\n for (o = [], e = 0, i = t.length; i > e; e++) {\n n = t[e], n.isEmpty() || o.push(n);\n }\n\n return o;\n }());\n }\n\n return t(i, n), i.textForAttachmentWithAttributes = function (t, n) {\n var i;\n return i = new e.AttachmentPiece(t, n), new this([i]);\n }, i.textForStringWithAttributes = function (t, n) {\n var i;\n return i = new e.StringPiece(t, n), new this([i]);\n }, i.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Piece.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, i.prototype.copy = function () {\n return this.copyWithPieceList(this.pieceList);\n }, i.prototype.copyWithPieceList = function (t) {\n return new this.constructor(t.consolidate().toArray());\n }, i.prototype.copyUsingObjectMap = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r, s;\n\n for (o = this.getPieces(), s = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], s.push(null != (r = t.find(e)) ? r : e);\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, i.prototype.appendText = function (t) {\n return this.insertTextAtPosition(t, this.getLength());\n }, i.prototype.insertTextAtPosition = function (t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }, i.prototype.removeTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }, i.prototype.replaceTextAtRange = function (t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }, i.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, i;\n if (!(t[0] <= e && e <= t[1])) return i = this.getTextAtRange(t), n = i.getLength(), t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }, i.prototype.addAttributeAtRange = function (t, e, n) {\n var i;\n return i = {}, i[t] = e, this.addAttributesAtRange(i, n);\n }, i.prototype.addAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAdditionalAttributes(t);\n }));\n }, i.prototype.removeAttributeAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithoutAttribute(t);\n }));\n }, i.prototype.setAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAttributes(t);\n }));\n }, i.prototype.getAttributesAtPosition = function (t) {\n var e, n;\n return null != (e = null != (n = this.pieceList.getObjectAtPosition(t)) ? n.getAttributes() : void 0) ? e : {};\n }, i.prototype.getCommonAttributes = function () {\n var t, n;\n return t = function () {\n var t, e, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.getAttributes());\n }\n\n return o;\n }.call(this), e.Hash.fromCommonAttributesOfObjects(t).toObject();\n }, i.prototype.getCommonAttributesAtRange = function (t) {\n var e;\n return null != (e = this.getTextAtRange(t).getCommonAttributes()) ? e : {};\n }, i.prototype.getExpandedRangeForAttributeAtOffset = function (t, e) {\n var n, i, o;\n\n for (n = o = e, i = this.getLength(); n > 0 && this.getCommonAttributesAtRange([n - 1, o])[t];) {\n n--;\n }\n\n for (; i > o && this.getCommonAttributesAtRange([e, o + 1])[t];) {\n o++;\n }\n\n return [n, o];\n }, i.prototype.getTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }, i.prototype.getStringAtRange = function (t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }, i.prototype.getStringAtPosition = function (t) {\n return this.getStringAtRange([t, t + 1]);\n }, i.prototype.startsWithString = function (t) {\n return this.getStringAtRange([0, t.length]) === t;\n }, i.prototype.endsWithString = function (t) {\n var e;\n return e = this.getLength(), this.getStringAtRange([e - t.length, e]) === t;\n }, i.prototype.getAttachmentPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], null != n.attachment && o.push(n);\n }\n\n return o;\n }, i.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, i.prototype.getAttachmentAndPositionById = function (t) {\n var e, n, i, o, r, s;\n\n for (o = 0, r = this.pieceList.toArray(), e = 0, n = r.length; n > e; e++) {\n if (i = r[e], (null != (s = i.attachment) ? s.id : void 0) === t) return {\n attachment: i.attachment,\n position: o\n };\n o += i.length;\n }\n\n return {\n attachment: null,\n position: null\n };\n }, i.prototype.getAttachmentById = function (t) {\n var e, n, i;\n return i = this.getAttachmentAndPositionById(t), e = i.attachment, n = i.position, e;\n }, i.prototype.getRangeOfAttachment = function (t) {\n var e, n;\n return n = this.getAttachmentAndPositionById(t.id), t = n.attachment, e = n.position, null != t ? [e, e + 1] : void 0;\n }, i.prototype.updateAttributesForAttachment = function (t, e) {\n var n;\n return (n = this.getRangeOfAttachment(e)) ? this.addAttributesAtRange(t, n) : this;\n }, i.prototype.getLength = function () {\n return this.pieceList.getEndPosition();\n }, i.prototype.isEmpty = function () {\n return 0 === this.getLength();\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) || (null != t && null != (e = t.pieceList) ? e.isEqualTo(this.pieceList) : void 0);\n }, i.prototype.isBlockBreak = function () {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }, i.prototype.eachPiece = function (t) {\n return this.pieceList.eachObject(t);\n }, i.prototype.getPieces = function () {\n return this.pieceList.toArray();\n }, i.prototype.getPieceAtPosition = function (t) {\n return this.pieceList.getObjectAtPosition(t);\n }, i.prototype.contentsForInspection = function () {\n return {\n pieceList: this.pieceList.inspect()\n };\n }, i.prototype.toSerializableText = function () {\n var t;\n return t = this.pieceList.selectSplittableList(function (t) {\n return t.isSerializable();\n }), this.copyWithPieceList(t);\n }, i.prototype.toString = function () {\n return this.pieceList.toString();\n }, i.prototype.toJSON = function () {\n return this.pieceList.toJSON();\n }, i.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.toConsole()));\n }\n\n return o;\n }.call(this));\n }, i.prototype.getDirection = function () {\n return e.getDirection(this.toString());\n }, i.prototype.isRTL = function () {\n return \"rtl\" === this.getDirection();\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n c = [].slice;\n\n t = e.arraysAreEqual, r = e.spliceArray, i = e.getBlockConfig, n = e.getBlockAttributeNames, o = e.getListAttributeNames, e.Block = function (n) {\n function a(t, n) {\n null == t && (t = new e.Text()), null == n && (n = []), a.__super__.constructor.apply(this, arguments), this.text = h(t), this.attributes = n;\n }\n\n var l, h, p, d, f, g, m, v, y;\n return s(a, n), a.fromJSON = function (t) {\n var n;\n return n = e.Text.fromJSON(t.text), new this(n, t.attributes);\n }, a.prototype.isEmpty = function () {\n return this.text.isBlockBreak();\n }, a.prototype.isEqualTo = function (e) {\n return a.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(null != e ? e.text : void 0) && t(this.attributes, null != e ? e.attributes : void 0);\n }, a.prototype.copyWithText = function (t) {\n return new this.constructor(t, this.attributes);\n }, a.prototype.copyWithoutText = function () {\n return this.copyWithText(null);\n }, a.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.text, t);\n }, a.prototype.copyWithoutAttributes = function () {\n return this.copyWithAttributes(null);\n }, a.prototype.copyUsingObjectMap = function (t) {\n var e;\n return this.copyWithText((e = t.find(this.text)) ? e : this.text.copyUsingObjectMap(t));\n }, a.prototype.addAttribute = function (t) {\n var e;\n return e = this.attributes.concat(d(t)), this.copyWithAttributes(e);\n }, a.prototype.removeAttribute = function (t) {\n var e, n;\n return n = i(t).listAttribute, e = g(g(this.attributes, t), n), this.copyWithAttributes(e);\n }, a.prototype.removeLastAttribute = function () {\n return this.removeAttribute(this.getLastAttribute());\n }, a.prototype.getLastAttribute = function () {\n return f(this.attributes);\n }, a.prototype.getAttributes = function () {\n return this.attributes.slice(0);\n }, a.prototype.getAttributeLevel = function () {\n return this.attributes.length;\n }, a.prototype.getAttributeAtLevel = function (t) {\n return this.attributes[t - 1];\n }, a.prototype.hasAttribute = function (t) {\n return u.call(this.attributes, t) >= 0;\n }, a.prototype.hasAttributes = function () {\n return this.getAttributeLevel() > 0;\n }, a.prototype.getLastNestableAttribute = function () {\n return f(this.getNestableAttributes());\n }, a.prototype.getNestableAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).nestable && r.push(t);\n }\n\n return r;\n }, a.prototype.getNestingLevel = function () {\n return this.getNestableAttributes().length;\n }, a.prototype.decreaseNestingLevel = function () {\n var t;\n return (t = this.getLastNestableAttribute()) ? this.removeAttribute(t) : this;\n }, a.prototype.increaseNestingLevel = function () {\n var t, e, n;\n return (t = this.getLastNestableAttribute()) ? (n = this.attributes.lastIndexOf(t), e = r.apply(null, [this.attributes, n + 1, 0].concat(c.call(d(t)))), this.copyWithAttributes(e)) : this;\n }, a.prototype.getListItemAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).listAttribute && r.push(t);\n }\n\n return r;\n }, a.prototype.isListItem = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.listAttribute : void 0;\n }, a.prototype.isTerminalBlock = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.terminal : void 0;\n }, a.prototype.breaksOnReturn = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.breakOnReturn : void 0;\n }, a.prototype.findLineBreakInDirectionFromPosition = function (t, e) {\n var n, i;\n return i = this.toString(), n = function () {\n switch (t) {\n case \"forward\":\n return i.indexOf(\"\\n\", e);\n\n case \"backward\":\n return i.slice(0, e).lastIndexOf(\"\\n\");\n }\n }(), -1 !== n ? n : void 0;\n }, a.prototype.contentsForInspection = function () {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }, a.prototype.toString = function () {\n return this.text.toString();\n }, a.prototype.toJSON = function () {\n return {\n text: this.text,\n attributes: this.attributes\n };\n }, a.prototype.getDirection = function () {\n return this.text.getDirection();\n }, a.prototype.isRTL = function () {\n return this.text.isRTL();\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes() && this.getDirection() === t.getDirection();\n }, a.prototype.consolidateWith = function (t) {\n var n, i;\n return n = e.Text.textForStringWithAttributes(\"\\n\"), i = this.getTextWithoutBlockBreak().appendText(n), this.copyWithText(i.appendText(t.text));\n }, a.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.getLength() ? (e = this, n = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), n = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, n];\n }, a.prototype.getBlockBreakPosition = function () {\n return this.text.getLength() - 1;\n }, a.prototype.getTextWithoutBlockBreak = function () {\n return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }, a.prototype.canBeGrouped = function (t) {\n return this.attributes[t];\n }, a.prototype.canBeGroupedWith = function (t, e) {\n var n, r, s, a;\n return s = t.getAttributes(), r = s[e], n = this.attributes[e], !(n !== r || i(n).group === !1 && (a = s[e + 1], u.call(o(), a) < 0) || this.getDirection() !== t.getDirection() && !t.isEmpty());\n }, h = function h(t) {\n return t = y(t), t = l(t);\n }, y = function y(t) {\n var n, i, o, r, s, a;\n return r = !1, a = t.getPieces(), i = 2 <= a.length ? c.call(a, 0, n = a.length - 1) : (n = 0, []), o = a[n++], null == o ? t : (i = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = i.length; e > t; t++) {\n s = i[t], s.isBlockBreak() ? (r = !0, n.push(v(s))) : n.push(s);\n }\n\n return n;\n }(), r ? new e.Text(c.call(i).concat([o])) : t);\n }, p = e.Text.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }), l = function l(t) {\n return m(t) ? t : t.appendText(p);\n }, m = function m(t) {\n var e, n;\n return n = t.getLength(), 0 === n ? !1 : (e = t.getTextAtRange([n - 1, n]), e.isBlockBreak());\n }, v = function v(t) {\n return t.copyWithoutAttribute(\"blockBreak\");\n }, d = function d(t) {\n var e;\n return e = i(t).listAttribute, null != e ? [e, t] : [t];\n }, f = function f(t) {\n return t.slice(-1)[0];\n }, g = function g(t, e) {\n var n;\n return n = t.lastIndexOf(e), -1 === n ? t : r(t, n, 1);\n }, a;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n a = [].slice;\n\n n = e.tagName, i = e.walkTree, t = e.nodeIsAttachmentElement, e.HTMLSanitizer = function (r) {\n function u(t, e) {\n var n;\n n = null != e ? e : {}, this.allowedAttributes = n.allowedAttributes, this.forbiddenProtocols = n.forbiddenProtocols, this.forbiddenElements = n.forbiddenElements, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = h), null == this.forbiddenElements && (this.forbiddenElements = l), this.body = p(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), h = \"javascript:\".split(\" \"), l = \"script iframe\".split(\" \"), u.sanitize = function (t, e) {\n var n;\n return n = new this(t, e), n.sanitize(), n;\n }, u.prototype.sanitize = function () {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }, u.prototype.getHTML = function () {\n return this.body.innerHTML;\n }, u.prototype.getBody = function () {\n return this.body;\n }, u.prototype.sanitizeElements = function () {\n var t, n, o, r, s;\n\n for (s = i(this.body), r = []; s.nextNode();) {\n switch (o = s.currentNode, o.nodeType) {\n case Node.ELEMENT_NODE:\n this.elementIsRemovable(o) ? r.push(o) : this.sanitizeElement(o);\n break;\n\n case Node.COMMENT_NODE:\n r.push(o);\n }\n }\n\n for (t = 0, n = r.length; n > t; t++) {\n o = r[t], e.removeNode(o);\n }\n\n return this.body;\n }, u.prototype.sanitizeElement = function (t) {\n var e, n, i, o, r;\n\n for (t.hasAttribute(\"href\") && (o = t.protocol, s.call(this.forbiddenProtocols, o) >= 0 && t.removeAttribute(\"href\")), r = a.call(t.attributes), e = 0, n = r.length; n > e; e++) {\n i = r[e].name, s.call(this.allowedAttributes, i) >= 0 || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n }\n\n return t;\n }, u.prototype.normalizeListElementNesting = function () {\n var t, e, i, o, r;\n\n for (r = a.call(this.body.querySelectorAll(\"ul,ol\")), t = 0, e = r.length; e > t; t++) {\n i = r[t], (o = i.previousElementSibling) && \"li\" === n(o) && o.appendChild(i);\n }\n\n return this.body;\n }, u.prototype.elementIsRemovable = function (t) {\n return (null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t) || this.elementIsntSerializable(t) : void 0;\n }, u.prototype.elementIsForbidden = function (t) {\n var e;\n return e = n(t), s.call(this.forbiddenElements, e) >= 0;\n }, u.prototype.elementIsntSerializable = function (e) {\n return \"false\" === e.getAttribute(\"data-trix-serialize\") && !t(e);\n }, p = function p(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = \"\"), t = t.replace(/<\\/html[^>]*>[^]*$/i, \"</html>\"), e = document.implementation.createHTMLDocument(\"\"), e.documentElement.innerHTML = t, r = e.head.querySelectorAll(\"style\"), i = 0, o = r.length; o > i; i++) {\n n = r[i], e.body.appendChild(n);\n }\n\n return e.body;\n }, u;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty,\n f = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, s = e.makeElement, l = e.tagName, r = e.getBlockTagNames, h = e.walkTree, o = e.findClosestElementFromNode, i = e.elementContainsNode, a = e.nodeIsAttachmentElement, u = e.normalizeSpaces, n = e.breakableWhitespacePattern, c = e.squishBreakableWhitespace, e.HTMLParser = function (d) {\n function g(t, e) {\n this.html = t, this.referenceElement = (null != e ? e : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n\n var m, v, y, b, A, C, x, w, E, S, R, k;\n return p(g, d), g.parse = function (t, e) {\n var n;\n return n = new this(t, e), n.parse(), n;\n }, g.prototype.getDocument = function () {\n return e.Document.fromJSON(this.blocks);\n }, g.prototype.parse = function () {\n var t, n;\n\n try {\n for (this.createHiddenContainer(), t = e.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t, n = h(this.containerElement, {\n usingFilter: x\n }); n.nextNode();) {\n this.processNode(n.currentNode);\n }\n\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }, g.prototype.createHiddenContainer = function () {\n return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(!1), this.containerElement.removeAttribute(\"id\"), this.containerElement.setAttribute(\"data-trix-internal\", \"\"), this.containerElement.style.display = \"none\", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }, g.prototype.removeHiddenContainer = function () {\n return e.removeNode(this.containerElement);\n }, x = function x(t) {\n return \"style\" === l(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, g.prototype.processNode = function (t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }, g.prototype.appendBlockForTextNode = function (e) {\n var n, i, o;\n return i = e.parentNode, i === this.currentBlockElement && this.isBlockElement(e.previousSibling) ? this.appendStringWithAttributes(\"\\n\") : i !== this.containerElement && !this.isBlockElement(i) || (n = this.getBlockAttributes(i), t(n, null != (o = this.currentBlock) ? o.attributes : void 0)) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n, i), this.currentBlockElement = i);\n }, g.prototype.appendBlockForElement = function (e) {\n var n, o, r, s;\n\n if (r = this.isBlockElement(e), o = i(this.currentBlockElement, e), r && !this.isBlockElement(e.firstChild)) {\n if ((!this.isInsignificantTextNode(e.firstChild) || !this.isBlockElement(e.firstElementChild)) && (n = this.getBlockAttributes(e), e.firstChild)) return o && t(n, this.currentBlock.attributes) ? this.appendStringWithAttributes(\"\\n\") : (this.currentBlock = this.appendBlockForAttributesWithElement(n, e), this.currentBlockElement = e);\n } else if (this.currentBlockElement && !o && !r) return (s = this.findParentBlockElement(e)) ? this.appendBlockForElement(s) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null);\n }, g.prototype.findParentBlockElement = function (t) {\n var e;\n\n for (e = t.parentElement; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && f.call(this.blockElements, e) >= 0) return e;\n e = e.parentElement;\n }\n\n return null;\n }, g.prototype.processTextNode = function (t) {\n var e, n;\n return n = t.data, v(t.parentNode) || (n = c(n), R(null != (e = t.previousSibling) ? e.textContent : void 0) && (n = A(n))), this.appendStringWithAttributes(n, this.getTextAttributes(t.parentNode));\n }, g.prototype.processElement = function (t) {\n var e, n, i, o, r;\n if (a(t)) return e = w(t, \"attachment\"), Object.keys(e).length && (o = this.getTextAttributes(t), this.appendAttachmentWithAttributes(e, o), t.innerHTML = \"\"), this.processedElements.push(t);\n\n switch (l(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n }, i = b(t);\n\n for (n in i) {\n r = i[n], e[n] = r;\n }\n\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"tr\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\"\\n\");\n break;\n\n case \"td\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\" | \");\n }\n }, g.prototype.appendBlockForAttributesWithElement = function (t, e) {\n var n;\n return this.blockElements.push(e), n = m(t), this.blocks.push(n), n;\n }, g.prototype.appendEmptyBlock = function () {\n return this.appendBlockForAttributesWithElement([], null);\n }, g.prototype.appendStringWithAttributes = function (t, e) {\n return this.appendPiece(S(t, e));\n }, g.prototype.appendAttachmentWithAttributes = function (t, e) {\n return this.appendPiece(E(t, e));\n }, g.prototype.appendPiece = function (t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }, g.prototype.appendStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[i.length - 1], \"string\" === (null != n ? n.type : void 0) ? n.string += t : i.push(S(t));\n }, g.prototype.prependStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[0], \"string\" === (null != n ? n.type : void 0) ? n.string = t + n.string : i.unshift(S(t));\n }, S = function S(t, e) {\n var n;\n return null == e && (e = {}), n = \"string\", t = u(t), {\n string: t,\n attributes: e,\n type: n\n };\n }, E = function E(t, e) {\n var n;\n return null == e && (e = {}), n = \"attachment\", {\n attachment: t,\n attributes: e,\n type: n\n };\n }, m = function m(t) {\n var e;\n return null == t && (t = {}), e = [], {\n text: e,\n attributes: t\n };\n }, g.prototype.getTextAttributes = function (t) {\n var n, i, r, s, u, c, l, h, p, d, f, g;\n r = {}, p = e.config.textAttributes;\n\n for (n in p) {\n if (u = p[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (g = u.parser(t)) {\n for (i = !1, d = this.findBlockElementAncestors(t), c = 0, h = d.length; h > c; c++) {\n if (s = d[c], u.parser(s) === g) {\n i = !0;\n break;\n }\n }\n\n i || (r[n] = g);\n }\n } else u.styleProperty && (g = t.style[u.styleProperty]) && (r[n] = g);\n }\n\n if (a(t)) {\n f = w(t, \"attributes\");\n\n for (l in f) {\n g = f[l], r[l] = g;\n }\n }\n\n return r;\n }, g.prototype.getBlockAttributes = function (t) {\n var n, i, o, r;\n\n for (i = []; t && t !== this.containerElement;) {\n r = e.config.blockAttributes;\n\n for (n in r) {\n o = r[n], o.parse !== !1 && l(t) === o.tagName && ((\"function\" == typeof o.test ? o.test(t) : void 0) || !o.test) && (i.push(n), o.listAttribute && i.push(o.listAttribute));\n }\n\n t = t.parentNode;\n }\n\n return i.reverse();\n }, g.prototype.findBlockElementAncestors = function (t) {\n var e, n;\n\n for (e = []; t && t !== this.containerElement;) {\n n = l(t), f.call(r(), n) >= 0 && e.push(t), t = t.parentNode;\n }\n\n return e;\n }, w = function w(t, e) {\n try {\n return JSON.parse(t.getAttribute(\"data-trix-\" + e));\n } catch (n) {\n return {};\n }\n }, b = function b(t) {\n var e, n, i;\n return i = t.getAttribute(\"width\"), n = t.getAttribute(\"height\"), e = {}, i && (e.width = parseInt(i, 10)), n && (e.height = parseInt(n, 10)), e;\n }, g.prototype.isBlockElement = function (t) {\n var e;\n if ((null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE && !a(t) && !o(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return e = l(t), f.call(r(), e) >= 0 || \"block\" === window.getComputedStyle(t).display;\n }, g.prototype.isInsignificantTextNode = function (t) {\n var e, n, i;\n if ((null != t ? t.nodeType : void 0) === Node.TEXT_NODE && k(t.data) && (n = t.parentNode, i = t.previousSibling, e = t.nextSibling, (!C(n.previousSibling) || this.isBlockElement(n.previousSibling)) && !v(n))) return !i || this.isBlockElement(i) || !e || this.isBlockElement(e);\n }, g.prototype.isExtraBR = function (t) {\n return \"br\" === l(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }, v = function v(t) {\n var e;\n return e = window.getComputedStyle(t).whiteSpace, \"pre\" === e || \"pre-wrap\" === e || \"pre-line\" === e;\n }, C = function C(t) {\n return t && !R(t.textContent);\n }, g.prototype.translateBlockElementMarginsToNewlines = function () {\n var t, e, n, i, o, r, s, a;\n\n for (e = this.getMarginOfDefaultBlockElement(), s = this.blocks, a = [], i = n = 0, o = s.length; o > n; i = ++n) {\n t = s[i], (r = this.getMarginOfBlockElementAtIndex(i)) && (r.top > 2 * e.top && this.prependStringToTextAtIndex(\"\\n\", i), a.push(r.bottom > 2 * e.bottom ? this.appendStringToTextAtIndex(\"\\n\", i) : void 0));\n }\n\n return a;\n }, g.prototype.getMarginOfBlockElementAtIndex = function (t) {\n var e, n;\n return !(e = this.blockElements[t]) || !e.textContent || (n = l(e), f.call(r(), n) >= 0 || f.call(this.processedElements, e) >= 0) ? void 0 : y(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), y(t);\n }, y = function y(t) {\n var e;\n return e = window.getComputedStyle(t), \"block\" === e.display ? {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n } : void 0;\n }, A = function A(t) {\n return t.replace(RegExp(\"^\" + n.source + \"+\"), \"\");\n }, k = function k(t) {\n return RegExp(\"^\" + n.source + \"*$\").test(t);\n }, R = function R(t) {\n return /\\s$/.test(t);\n }, g;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, i = e.normalizeRange, o = e.rangeIsCollapsed, n = e.getBlockConfig, e.Document = function (s) {\n function c(t) {\n null == t && (t = []), c.__super__.constructor.apply(this, arguments), 0 === t.length && (t = [new e.Block()]), this.blockList = e.SplittableList.box(t);\n }\n\n var l;\n return r(c, s), c.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Block.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, c.fromHTML = function (t, n) {\n return e.HTMLParser.parse(t, n).getDocument();\n }, c.fromString = function (t, n) {\n var i;\n return i = e.Text.textForStringWithAttributes(t, n), new this([new e.Block(i)]);\n }, c.prototype.isEmpty = function () {\n var t;\n return 1 === this.blockList.length && (t = this.getBlockAtIndex(0), t.isEmpty() && !t.hasAttributes());\n }, c.prototype.copy = function (t) {\n var e;\n return null == t && (t = {}), e = t.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e);\n }, c.prototype.copyUsingObjectsFromDocument = function (t) {\n var n;\n return n = new e.ObjectMap(t.getObjects()), this.copyUsingObjectMap(n);\n }, c.prototype.copyUsingObjectMap = function (t) {\n var e, n, i;\n return n = function () {\n var n, o, r, s;\n\n for (r = this.getBlocks(), s = [], n = 0, o = r.length; o > n; n++) {\n e = r[n], s.push((i = t.find(e)) ? i : e.copyUsingObjectMap(t));\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, c.prototype.copyWithBaseBlockAttributes = function (t) {\n var e, n, i;\n return null == t && (t = []), i = function () {\n var i, o, r, s;\n\n for (r = this.getBlocks(), s = [], i = 0, o = r.length; o > i; i++) {\n n = r[i], e = t.concat(n.getAttributes()), s.push(n.copyWithAttributes(e));\n }\n\n return s;\n }.call(this), new this.constructor(i);\n }, c.prototype.replaceBlock = function (t, e) {\n var n;\n return n = this.blockList.indexOf(t), -1 === n ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, n));\n }, c.prototype.insertDocumentAtRange = function (t, e) {\n var n, r, s, a, u, c, l;\n return r = t.blockList, u = (e = i(e))[0], c = this.locationFromPosition(u), s = c.index, a = c.offset, l = this, n = this.getBlockAtPosition(u), o(e) && n.isEmpty() && !n.hasAttributes() ? l = new this.constructor(l.blockList.removeObjectAtIndex(s)) : n.getBlockBreakPosition() === a && u++, l = l.removeTextAtRange(e), new this.constructor(l.blockList.insertSplittableListAtPosition(r, u));\n }, c.prototype.mergeDocumentAtRange = function (e, n) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return f = (n = i(n))[0], d = this.locationFromPosition(f), r = this.getBlockAtIndex(d.index).getAttributes(), o = e.getBaseBlockAttributes(), g = r.slice(-o.length), t(o, g) ? (l = r.slice(0, -o.length), c = e.copyWithBaseBlockAttributes(l)) : c = e.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(r), s = c.getBlockCount(), a = c.getBlockAtIndex(0), t(r, a.getAttributes()) ? (u = a.getTextWithoutBlockBreak(), p = this.insertTextAtRange(u, n), s > 1 && (c = new this.constructor(c.getBlocks().slice(1)), h = f + u.getLength(), p = p.insertDocumentAtRange(c, h))) : p = this.insertDocumentAtRange(c, n), p;\n }, c.prototype.insertTextAtRange = function (t, e) {\n var n, o, r, s, a;\n return a = (e = i(e))[0], s = this.locationFromPosition(a), o = s.index, r = s.offset, n = this.removeTextAtRange(e), new this.constructor(n.blockList.editObjectAtIndex(o, function (e) {\n return e.copyWithText(e.text.insertTextAtPosition(t, r));\n }));\n }, c.prototype.removeTextAtRange = function (t) {\n var e, n, r, s, a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n return p = t = i(t), l = p[0], A = p[1], o(t) ? this : (d = this.locationRangeFromRange(t), u = d[0], y = d[1], a = u.index, c = u.offset, s = this.getBlockAtIndex(a), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l === 1 && s.getBlockBreakPosition() === c && m.getBlockBreakPosition() !== b && \"\\n\" === m.text.getStringAtPosition(b), f ? r = this.blockList.editObjectAtIndex(v, function (t) {\n return t.copyWithText(t.text.removeTextAtRange([b, b + 1]));\n }) : (h = s.text.getTextAtRange([0, c]), C = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C), g = a !== v && 0 === c, w = g && s.getAttributeLevel() >= m.getAttributeLevel(), n = w ? m.copyWithText(x) : s.copyWithText(x), e = v + 1 - a, r = this.blockList.splice(a, e, n)), new this.constructor(r));\n }, c.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, o, r, s, u, c, l, h, p, d;\n return c = t = i(t), p = c[0], r = c[1], e >= p && r >= e ? this : (o = this.getDocumentAtRange(t), h = this.removeTextAtRange(t), u = e > p, u && (e -= o.getLength()), l = o.getBlocks(), s = l[0], n = 2 <= l.length ? a.call(l, 1) : [], 0 === n.length ? (d = s.getTextWithoutBlockBreak(), u && (e += 1)) : d = s.text, h = h.insertTextAtRange(d, e), 0 === n.length ? h : (o = new this.constructor(n), e += d.getLength(), h.insertDocumentAtRange(o, e)));\n }, c.prototype.addAttributeAtRange = function (t, e, i) {\n var o;\n return o = this.blockList, this.eachBlockAtRange(i, function (i, r, s) {\n return o = o.editObjectAtIndex(s, function () {\n return n(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n });\n }), new this.constructor(o);\n }, c.prototype.addAttribute = function (t, e) {\n var n;\n return n = this.blockList, this.eachBlock(function (i, o) {\n return n = n.editObjectAtIndex(o, function () {\n return i.addAttribute(t, e);\n });\n }), new this.constructor(n);\n }, c.prototype.removeAttributeAtRange = function (t, e) {\n var i;\n return i = this.blockList, this.eachBlockAtRange(e, function (e, o, r) {\n return n(t) ? i = i.editObjectAtIndex(r, function () {\n return e.removeAttribute(t);\n }) : o[0] !== o[1] ? i = i.editObjectAtIndex(r, function () {\n return e.copyWithText(e.text.removeAttributeAtRange(t, o));\n }) : void 0;\n }), new this.constructor(i);\n }, c.prototype.updateAttributesForAttachment = function (t, e) {\n var n, i, o, r;\n return o = (i = this.getRangeOfAttachment(e))[0], n = this.locationFromPosition(o).index, r = this.getTextAtIndex(n), new this.constructor(this.blockList.editObjectAtIndex(n, function (n) {\n return n.copyWithText(r.updateAttributesForAttachment(t, e));\n }));\n }, c.prototype.removeAttributeForAttachment = function (t, e) {\n var n;\n return n = this.getRangeOfAttachment(e), this.removeAttributeAtRange(t, n);\n }, c.prototype.insertBlockBreakAtRange = function (t) {\n var n, o, r, s;\n return s = (t = i(t))[0], r = this.locationFromPosition(s).offset, o = this.removeTextAtRange(t), 0 === r && (n = [new e.Block()]), new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n), s));\n }, c.prototype.applyBlockAttributeAtRange = function (t, e, i) {\n var o, r, s, a;\n return s = this.expandRangeToLineBreaksAndSplitBlocks(i), r = s.document, i = s.range, o = n(t), o.listAttribute ? (r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n }), a = r.convertLineBreaksToBlockBreaksInRange(i), r = a.document, i = a.range) : r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i), r.addAttributeAtRange(t, e, i);\n }, c.prototype.removeLastListAttributeAtRange = function (t, e) {\n var i;\n return null == e && (e = {}), i = this.blockList, this.eachBlockAtRange(t, function (t, o, r) {\n var s;\n if ((s = t.getLastAttribute()) && n(s).listAttribute && s !== e.exceptAttributeName) return i = i.editObjectAtIndex(r, function () {\n return t.removeAttribute(s);\n });\n }), new this.constructor(i);\n }, c.prototype.removeLastTerminalAttributeAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, i, o) {\n var r;\n if ((r = t.getLastAttribute()) && n(r).terminal) return e = e.editObjectAtIndex(o, function () {\n return t.removeAttribute(r);\n });\n }), new this.constructor(e);\n }, c.prototype.removeBlockAttributesAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, n, i) {\n return t.hasAttributes() ? e = e.editObjectAtIndex(i, function () {\n return t.copyWithoutAttributes();\n }) : void 0;\n }), new this.constructor(e);\n }, c.prototype.expandRangeToLineBreaksAndSplitBlocks = function (t) {\n var e, n, o, r, s, a, u, c, l;\n return a = t = i(t), l = a[0], r = a[1], c = this.locationFromPosition(l), o = this.locationFromPosition(r), e = this, u = e.getBlockAtIndex(c.index), null != (c.offset = u.findLineBreakInDirectionFromPosition(\"backward\", c.offset)) && (s = e.positionFromLocation(c), e = e.insertBlockBreakAtRange([s, s + 1]), o.index += 1, o.offset -= e.getBlockAtIndex(c.index).getLength(), c.index += 1), c.offset = 0, 0 === o.offset && o.index > c.index ? (o.index -= 1, o.offset = e.getBlockAtIndex(o.index).getBlockBreakPosition()) : (n = e.getBlockAtIndex(o.index), \"\\n\" === n.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = n.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== n.getBlockBreakPosition() && (s = e.positionFromLocation(o), e = e.insertBlockBreakAtRange([s, s + 1]))), l = e.positionFromLocation(c), r = e.positionFromLocation(o), t = i([l, r]), {\n document: e,\n range: t\n };\n }, c.prototype.convertLineBreaksToBlockBreaksInRange = function (t) {\n var e, n, o;\n return n = (t = i(t))[0], o = this.getStringAtRange(t).slice(0, -1), e = this, o.replace(/.*?\\n/g, function (t) {\n return n += t.length, e = e.insertBlockBreakAtRange([n - 1, n]);\n }), {\n document: e,\n range: t\n };\n }, c.prototype.consolidateBlocksAtRange = function (t) {\n var e, n, o, r, s;\n return o = t = i(t), s = o[0], n = o[1], r = this.locationFromPosition(s).index, e = this.locationFromPosition(n).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r, e));\n }, c.prototype.getDocumentAtRange = function (t) {\n var e;\n return t = i(t), e = this.blockList.getSplittableListInRange(t).toArray(), new this.constructor(e);\n }, c.prototype.getStringAtRange = function (t) {\n var e, n, o;\n return o = t = i(t), n = o[o.length - 1], n !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }, c.prototype.getBlockAtIndex = function (t) {\n return this.blockList.getObjectAtIndex(t);\n }, c.prototype.getBlockAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getBlockAtIndex(e);\n }, c.prototype.getTextAtIndex = function (t) {\n var e;\n return null != (e = this.getBlockAtIndex(t)) ? e.text : void 0;\n }, c.prototype.getTextAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getTextAtIndex(e);\n }, c.prototype.getPieceAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getPieceAtPosition(n);\n }, c.prototype.getCharacterAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getStringAtRange([n, n + 1]);\n }, c.prototype.getLength = function () {\n return this.blockList.getEndPosition();\n }, c.prototype.getBlocks = function () {\n return this.blockList.toArray();\n }, c.prototype.getBlockCount = function () {\n return this.blockList.length;\n }, c.prototype.getEditCount = function () {\n return this.editCount;\n }, c.prototype.eachBlock = function (t) {\n return this.blockList.eachObject(t);\n }, c.prototype.eachBlockAtRange = function (t, e) {\n var n, o, r, s, a, u, c, l, h, p, d, f;\n if (u = t = i(t), d = u[0], r = u[1], p = this.locationFromPosition(d), o = this.locationFromPosition(r), p.index === o.index) return n = this.getBlockAtIndex(p.index), f = [p.offset, o.offset], e(n, f, p.index);\n\n for (h = [], a = s = c = p.index, l = o.index; l >= c ? l >= s : s >= l; a = l >= c ? ++s : --s) {\n (n = this.getBlockAtIndex(a)) ? (f = function () {\n switch (a) {\n case p.index:\n return [p.offset, n.text.getLength()];\n\n case o.index:\n return [0, o.offset];\n\n default:\n return [0, n.text.getLength()];\n }\n }(), h.push(e(n, f, a))) : h.push(void 0);\n }\n\n return h;\n }, c.prototype.getCommonAttributesAtRange = function (t) {\n var n, r, s;\n return r = (t = i(t))[0], o(t) ? this.getCommonAttributesAtPosition(r) : (s = [], n = [], this.eachBlockAtRange(t, function (t, e) {\n return e[0] !== e[1] ? (s.push(t.text.getCommonAttributesAtRange(e)), n.push(l(t))) : void 0;\n }), e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject());\n }, c.prototype.getCommonAttributesAtPosition = function (t) {\n var n, i, o, r, s, a, c, h, p, d;\n if (p = this.locationFromPosition(t), s = p.index, h = p.offset, o = this.getBlockAtIndex(s), !o) return {};\n r = l(o), n = o.text.getAttributesAtPosition(h), i = o.text.getAttributesAtPosition(h - 1), a = function () {\n var t, n;\n t = e.config.textAttributes, n = [];\n\n for (c in t) {\n d = t[c], d.inheritable && n.push(c);\n }\n\n return n;\n }();\n\n for (c in i) {\n d = i[c], (d === n[c] || u.call(a, c) >= 0) && (r[c] = d);\n }\n\n return r;\n }, c.prototype.getRangeOfCommonAttributeAtPosition = function (t, e) {\n var n, o, r, s, a, u, c, l, h;\n return a = this.locationFromPosition(e), r = a.index, s = a.offset, h = this.getTextAtIndex(r), u = h.getExpandedRangeForAttributeAtOffset(t, s), l = u[0], o = u[1], c = this.positionFromLocation({\n index: r,\n offset: l\n }), n = this.positionFromLocation({\n index: r,\n offset: o\n }), i([c, n]);\n }, c.prototype.getBaseBlockAttributes = function () {\n var t, e, n, i, o, r, s;\n\n for (t = this.getBlockAtIndex(0).getAttributes(), n = i = 1, s = this.getBlockCount(); s >= 1 ? s > i : i > s; n = s >= 1 ? ++i : --i) {\n e = this.getBlockAtIndex(n).getAttributes(), r = Math.min(t.length, e.length), t = function () {\n var n, i, s;\n\n for (s = [], o = n = 0, i = r; (i >= 0 ? i > n : n > i) && e[o] === t[o]; o = i >= 0 ? ++n : --n) {\n s.push(e[o]);\n }\n\n return s;\n }();\n }\n\n return t;\n }, l = function l(t) {\n var e, n;\n return n = {}, (e = t.getLastAttribute()) && (n[e] = !0), n;\n }, c.prototype.getAttachmentById = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (e = o[n], e.id === t) return e;\n }\n }, c.prototype.getAttachmentPieces = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n var n;\n return n = e.text, t = t.concat(n.getAttachmentPieces());\n }), t;\n }, c.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, c.prototype.getRangeOfAttachment = function (t) {\n var e, n, o, r, s, a, u;\n\n for (r = 0, s = this.blockList.toArray(), n = e = 0, o = s.length; o > e; n = ++e) {\n if (a = s[n].text, u = a.getRangeOfAttachment(t)) return i([r + u[0], r + u[1]]);\n r += a.getLength();\n }\n }, c.prototype.getLocationRangeOfAttachment = function (t) {\n var e;\n return e = this.getRangeOfAttachment(t), this.locationRangeFromRange(e);\n }, c.prototype.getAttachmentPieceForAttachment = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachmentPieces(), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], i.attachment === t) return i;\n }\n }, c.prototype.findRangesForBlockAttribute = function (t) {\n var e, n, i, o, r, s, a;\n\n for (r = 0, s = [], a = this.getBlocks(), n = 0, i = a.length; i > n; n++) {\n e = a[n], o = e.getLength(), e.hasAttribute(t) && s.push([r, r + o]), r += o;\n }\n\n return s;\n }, c.prototype.findRangesForTextAttribute = function (t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n for (h = (null != e ? e : {}).withValue, a = 0, u = [], c = [], r = function r(e) {\n return null != h ? e.getAttribute(t) === h : e.hasAttribute(t);\n }, l = this.getPieces(), n = 0, i = l.length; i > n; n++) {\n s = l[n], o = s.getLength(), r(s) && (u[1] === a ? u[1] = a + o : c.push(u = [a, a + o])), a += o;\n }\n\n return c;\n }, c.prototype.locationFromPosition = function (t) {\n var e, n;\n return n = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t)), null != n.index ? n : (e = this.getBlocks(), {\n index: e.length - 1,\n offset: e[e.length - 1].getLength()\n });\n }, c.prototype.positionFromLocation = function (t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }, c.prototype.locationRangeFromPosition = function (t) {\n return i(this.locationFromPosition(t));\n }, c.prototype.locationRangeFromRange = function (t) {\n var e, n, o, r;\n if (t = i(t)) return r = t[0], n = t[1], o = this.locationFromPosition(r), e = this.locationFromPosition(n), i([o, e]);\n }, c.prototype.rangeFromLocationRange = function (t) {\n var e, n;\n return t = i(t), e = this.positionFromLocation(t[0]), o(t) || (n = this.positionFromLocation(t[1])), i([e, n]);\n }, c.prototype.isEqualTo = function (t) {\n return this.blockList.isEqualTo(null != t ? t.blockList : void 0);\n }, c.prototype.getTexts = function () {\n var t, e, n, i, o;\n\n for (i = this.getBlocks(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.text);\n }\n\n return o;\n }, c.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (n = [], i = this.getTexts(), t = 0, e = i.length; e > t; t++) {\n o = i[t], n.push.apply(n, o.getPieces());\n }\n\n return n;\n }, c.prototype.getObjects = function () {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }, c.prototype.toSerializableDocument = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n return t.push(e.copyWithText(e.text.toSerializableText()));\n }), new this.constructor(t);\n }, c.prototype.toString = function () {\n return this.blockList.toString();\n }, c.prototype.toJSON = function () {\n return this.blockList.toJSON();\n }, c.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.blockList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.text.toConsole()));\n }\n\n return o;\n }.call(this));\n }, c;\n }(e.Object);\n }.call(this), function () {\n e.LineBreakInsertion = function () {\n function t(t) {\n var e;\n this.composition = t, this.document = this.composition.document, e = this.composition.getSelectedRange(), this.startPosition = e[0], this.endPosition = e[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset);\n }\n\n return t.prototype.shouldInsertBlockBreak = function () {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }, t.prototype.shouldBreakFormattedBlock = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }, t.prototype.shouldDecreaseListLevel = function () {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }, t.prototype.shouldPrependListItem = function () {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }, t.prototype.shouldRemoveLastBlockAttribute = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }, t;\n }();\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n s = e.normalizeRange, c = e.rangesAreEqual, u = e.rangeIsCollapsed, a = e.objectsAreEqual, t = e.arrayStartsWith, l = e.summarizeArrayChange, i = e.getAllAttributeNames, o = e.getBlockConfig, r = e.getTextConfig, n = e.extend, e.Composition = function (p) {\n function d() {\n this.document = new e.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n\n var f;\n return h(d, p), d.prototype.setDocument = function (t) {\n var e;\n return t.isEqualTo(this.document) ? void 0 : (this.document = t, this.refreshAttachments(), this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeDocument ? e.compositionDidChangeDocument(t) : void 0);\n }, d.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }, d.prototype.loadSnapshot = function (t) {\n var n, i, o, r;\n return n = t.document, r = t.selectedRange, null != (i = this.delegate) && \"function\" == typeof i.compositionWillLoadSnapshot && i.compositionWillLoadSnapshot(), this.setDocument(null != n ? n : new e.Document()), this.setSelection(null != r ? r : [0, 0]), null != (o = this.delegate) && \"function\" == typeof o.compositionDidLoadSnapshot ? o.compositionDidLoadSnapshot() : void 0;\n }, d.prototype.insertText = function (t, e) {\n var n, i, o, r;\n return r = (null != e ? e : {\n updatePosition: !0\n }).updatePosition, i = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t, i)), o = i[0], n = o + t.getLength(), r && this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertBlock = function (t) {\n var n;\n return null == t && (t = new e.Block()), n = new e.Document([t]), this.insertDocument(n);\n }, d.prototype.insertDocument = function (t) {\n var n, i, o;\n return null == t && (t = new e.Document()), i = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t, i)), o = i[0], n = o + t.getLength(), this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertString = function (t, n) {\n var i, o;\n return i = this.getCurrentTextAttributes(), o = e.Text.textForStringWithAttributes(t, i), this.insertText(o, n);\n }, d.prototype.insertBlockBreak = function () {\n var t, e, n;\n return e = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e)), n = e[0], t = n + 1, this.setSelection(t), this.notifyDelegateOfInsertionAtRange([n, t]);\n }, d.prototype.insertLineBreak = function () {\n var t, n;\n return n = new e.LineBreakInsertion(this), n.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n.startPosition)) : n.shouldPrependListItem() ? (t = new e.Document([n.block.copyWithoutText()]), this.insertDocument(t)) : n.shouldInsertBlockBreak() ? this.insertBlockBreak() : n.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n) : this.insertString(\"\\n\");\n }, d.prototype.insertHTML = function (t) {\n var n, i, o, r;\n return n = e.Document.fromHTML(t), o = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n, o)), r = o[0], i = r + n.getLength() - 1, this.setSelection(i), this.notifyDelegateOfInsertionAtRange([r, i]);\n }, d.prototype.replaceHTML = function (t) {\n var n, i, o;\n return n = e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document), i = this.getLocationRange({\n strict: !1\n }), o = this.document.rangeFromLocationRange(i), this.setDocument(n), this.setSelection(o);\n }, d.prototype.insertFile = function (t) {\n return this.insertFiles([t]);\n }, d.prototype.insertFiles = function (t) {\n var n, i, o, r, s, a;\n\n for (i = [], r = 0, s = t.length; s > r; r++) {\n o = t[r], (null != (a = this.delegate) ? a.compositionShouldAcceptFile(o) : void 0) && (n = e.Attachment.attachmentForFile(o), i.push(n));\n }\n\n return this.insertAttachments(i);\n }, d.prototype.insertAttachment = function (t) {\n return this.insertAttachments([t]);\n }, d.prototype.insertAttachments = function (t) {\n var n, i, o, r, s, a, u, c, l;\n\n for (c = new e.Text(), r = 0, s = t.length; s > r; r++) {\n n = t[r], l = n.getType(), a = null != (u = e.config.attachments[l]) ? u.presentation : void 0, o = this.getCurrentTextAttributes(), a && (o.presentation = a), i = e.Text.textForAttachmentWithAttributes(n, o), c = c.appendText(i);\n }\n\n return this.insertText(c);\n }, d.prototype.shouldManageDeletingInDirection = function (t) {\n var e;\n\n if (e = this.getLocationRange(), u(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n\n return !1;\n }, d.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r, s, a, c, l;\n return r = (null != e ? e : {}).length, s = this.getLocationRange(), a = this.getSelectedRange(), c = u(a), c ? o = \"backward\" === t && 0 === s[0].offset : l = s[0].index !== s[1].index, o && this.canDecreaseBlockAttributeLevel() && (i = this.getBlock(), i.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a[0]), i.isEmpty()) ? !1 : (c && (a = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (n = this.getAttachmentAtRange(a))), n ? (this.editAttachment(n), !1) : (this.setDocument(this.document.removeTextAtRange(a)), this.setSelection(a[0]), o || l ? !1 : void 0));\n }, d.prototype.moveTextFromRange = function (t) {\n var e;\n return e = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }, d.prototype.removeAttachment = function (t) {\n var e;\n return (e = this.document.getRangeOfAttachment(t)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0])) : void 0;\n }, d.prototype.removeLastBlockAttribute = function () {\n var t, e, n, i;\n return n = this.getSelectedRange(), i = n[0], e = n[1], t = this.document.getBlockAtPosition(e), this.removeCurrentAttribute(t.getLastAttribute()), this.setSelection(i);\n }, f = \" \", d.prototype.insertPlaceholder = function () {\n return this.placeholderPosition = this.getPosition(), this.insertString(f);\n }, d.prototype.selectPlaceholder = function () {\n return null != this.placeholderPosition ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0;\n }, d.prototype.forgetPlaceholder = function () {\n return this.placeholderPosition = null;\n }, d.prototype.hasCurrentAttribute = function (t) {\n var e;\n return e = this.currentAttributes[t], null != e && e !== !1;\n }, d.prototype.toggleCurrentAttribute = function (t) {\n var e;\n return (e = !this.currentAttributes[t]) ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }, d.prototype.canSetCurrentAttribute = function (t) {\n return o(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }, d.prototype.canSetCurrentTextAttribute = function () {\n var t, e, n, i, o;\n\n if (e = this.getSelectedDocument()) {\n for (o = e.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (t = o[n], !t.hasContent()) return !1;\n }\n\n return !0;\n }\n }, d.prototype.canSetCurrentBlockAttribute = function () {\n var t;\n if (t = this.getBlock()) return !t.isTerminalBlock();\n }, d.prototype.setCurrentAttribute = function (t, e) {\n return o(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.setTextAttribute = function (t, n) {\n var i, o, r, s;\n if (o = this.getSelectedRange()) return r = o[0], i = o[1], r !== i ? this.setDocument(this.document.addAttributeAtRange(t, n, o)) : \"href\" === t ? (s = e.Text.textForStringWithAttributes(n, {\n href: n\n }), this.insertText(s)) : void 0;\n }, d.prototype.setBlockAttribute = function (t, e) {\n var n, i;\n if (i = this.getSelectedRange()) return this.canSetCurrentAttribute(t) ? (n = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i)) : void 0;\n }, d.prototype.removeCurrentAttribute = function (t) {\n return o(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.removeTextAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.removeBlockAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.canDecreaseNestingLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getNestingLevel() : void 0) > 0;\n }, d.prototype.canIncreaseNestingLevel = function () {\n var e, n, i;\n if (e = this.getBlock()) return (null != (i = o(e.getLastNestableAttribute())) ? i.listAttribute : 0) ? (n = this.getPreviousBlock()) ? t(n.getListItemAttributes(), e.getListItemAttributes()) : void 0 : e.getNestingLevel() > 0;\n }, d.prototype.decreaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }, d.prototype.increaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }, d.prototype.canDecreaseBlockAttributeLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getAttributeLevel() : void 0) > 0;\n }, d.prototype.decreaseBlockAttributeLevel = function () {\n var t, e;\n return (t = null != (e = this.getBlock()) ? e.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t) : void 0;\n }, d.prototype.decreaseListLevel = function () {\n var t, e, n, i, o, r;\n\n for (r = this.getSelectedRange()[0], o = this.document.locationFromPosition(r).index, n = o, t = this.getBlock().getAttributeLevel(); (e = this.document.getBlockAtIndex(n + 1)) && e.isListItem() && e.getAttributeLevel() > t;) {\n n++;\n }\n\n return r = this.document.positionFromLocation({\n index: o,\n offset: 0\n }), i = this.document.positionFromLocation({\n index: n,\n offset: 0\n }), this.setDocument(this.document.removeLastListAttributeAtRange([r, i]));\n }, d.prototype.updateCurrentAttributes = function () {\n var t, e, n, o, r, s;\n\n if (s = this.getSelectedRange({\n ignoreLock: !0\n })) {\n for (e = this.document.getCommonAttributesAtRange(s), r = i(), n = 0, o = r.length; o > n; n++) {\n t = r[n], e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n }\n\n if (!a(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }, d.prototype.getCurrentAttributes = function () {\n return n.call({}, this.currentAttributes);\n }, d.prototype.getCurrentTextAttributes = function () {\n var t, e, n, i;\n t = {}, n = this.currentAttributes;\n\n for (e in n) {\n i = n[e], i !== !1 && r(e) && (t[e] = i);\n }\n\n return t;\n }, d.prototype.freezeSelection = function () {\n return this.setCurrentAttribute(\"frozen\", !0);\n }, d.prototype.thawSelection = function () {\n return this.removeCurrentAttribute(\"frozen\");\n }, d.prototype.hasFrozenSelection = function () {\n return this.hasCurrentAttribute(\"frozen\");\n }, d.proxyMethod(\"getSelectionManager().getPointRange\"), d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), d.proxyMethod(\"delegate?.getSelectionManager\"), d.prototype.setSelection = function (t) {\n var e, n;\n return e = this.document.locationRangeFromRange(t), null != (n = this.delegate) ? n.compositionDidRequestChangingSelectionToLocationRange(e) : void 0;\n }, d.prototype.getSelectedRange = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.rangeFromLocationRange(t) : void 0;\n }, d.prototype.setSelectedRange = function (t) {\n var e;\n return e = this.document.locationRangeFromRange(t), this.getSelectionManager().setLocationRange(e);\n }, d.prototype.getPosition = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.positionFromLocation(t[0]) : void 0;\n }, d.prototype.getLocationRange = function (t) {\n var e, n;\n return null != (e = null != (n = this.targetLocationRange) ? n : this.getSelectionManager().getLocationRange(t)) ? e : s({\n index: 0,\n offset: 0\n });\n }, d.prototype.withTargetLocationRange = function (t, e) {\n var n;\n this.targetLocationRange = t;\n\n try {\n n = e();\n } finally {\n this.targetLocationRange = null;\n }\n\n return n;\n }, d.prototype.withTargetRange = function (t, e) {\n var n;\n return n = this.document.locationRangeFromRange(t), this.withTargetLocationRange(n, e);\n }, d.prototype.withTargetDOMRange = function (t, e) {\n var n;\n return n = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n }), this.withTargetLocationRange(n, e);\n }, d.prototype.getExpandedRangeInDirection = function (t, e) {\n var n, i, o, r;\n return i = (null != e ? e : {}).length, o = this.getSelectedRange(), r = o[0], n = o[1], \"backward\" === t ? i ? r -= i : r = this.translateUTF16PositionFromOffset(r, -1) : i ? n += i : n = this.translateUTF16PositionFromOffset(n, 1), s([r, n]);\n }, d.prototype.shouldManageMovingCursorInDirection = function (t) {\n var e;\n return this.editingAttachment ? !0 : (e = this.getExpandedRangeInDirection(t), null != this.getAttachmentAtRange(e));\n }, d.prototype.moveCursorInDirection = function (t) {\n var e, n, i, o;\n return this.editingAttachment ? i = this.document.getRangeOfAttachment(this.editingAttachment) : (o = this.getSelectedRange(), i = this.getExpandedRangeInDirection(t), n = !c(o, i)), this.setSelectedRange(\"backward\" === t ? i[0] : i[1]), n && (e = this.getAttachmentAtRange(i)) ? this.editAttachment(e) : void 0;\n }, d.prototype.expandSelectionInDirection = function (t, e) {\n var n, i;\n return n = (null != e ? e : {}).length, i = this.getExpandedRangeInDirection(t, {\n length: n\n }), this.setSelectedRange(i);\n }, d.prototype.expandSelectionForEditing = function () {\n return this.hasCurrentAttribute(\"href\") ? this.expandSelectionAroundCommonAttribute(\"href\") : void 0;\n }, d.prototype.expandSelectionAroundCommonAttribute = function (t) {\n var e, n;\n return e = this.getPosition(), n = this.document.getRangeOfCommonAttributeAtPosition(t, e), this.setSelectedRange(n);\n }, d.prototype.selectionContainsAttachments = function () {\n var t;\n return (null != (t = this.getSelectedAttachments()) ? t.length : void 0) > 0;\n }, d.prototype.selectionIsInCursorTarget = function () {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }, d.prototype.positionIsCursorTarget = function (t) {\n var e;\n return (e = this.document.locationFromPosition(t)) ? this.locationIsCursorTarget(e) : void 0;\n }, d.prototype.positionIsBlockBreak = function (t) {\n var e;\n return null != (e = this.document.getPieceAtPosition(t)) ? e.isBlockBreak() : void 0;\n }, d.prototype.getSelectedDocument = function () {\n var t;\n return (t = this.getSelectedRange()) ? this.document.getDocumentAtRange(t) : void 0;\n }, d.prototype.getSelectedAttachments = function () {\n var t;\n return null != (t = this.getSelectedDocument()) ? t.getAttachments() : void 0;\n }, d.prototype.getAttachments = function () {\n return this.attachments.slice(0);\n }, d.prototype.refreshAttachments = function () {\n var t, e, n, i, o, r, s, a, u, c, h, p;\n\n for (n = this.document.getAttachments(), a = l(this.attachments, n), t = a.added, h = a.removed, this.attachments = n, i = 0, r = h.length; r > i; i++) {\n e = h[i], e.delegate = null, null != (u = this.delegate) && \"function\" == typeof u.compositionDidRemoveAttachment && u.compositionDidRemoveAttachment(e);\n }\n\n for (p = [], o = 0, s = t.length; s > o; o++) {\n e = t[o], e.delegate = this, p.push(null != (c = this.delegate) && \"function\" == typeof c.compositionDidAddAttachment ? c.compositionDidAddAttachment(e) : void 0);\n }\n\n return p;\n }, d.prototype.attachmentDidChangeAttributes = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidEditAttachment ? e.compositionDidEditAttachment(t) : void 0;\n }, d.prototype.attachmentDidChangePreviewURL = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeAttachmentPreviewURL ? e.compositionDidChangeAttachmentPreviewURL(t) : void 0;\n }, d.prototype.editAttachment = function (t, e) {\n var n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null != (n = this.delegate) && \"function\" == typeof n.compositionDidStartEditingAttachment ? n.compositionDidStartEditingAttachment(this.editingAttachment, e) : void 0;\n }, d.prototype.stopEditingAttachment = function () {\n var t;\n if (this.editingAttachment) return null != (t = this.delegate) && \"function\" == typeof t.compositionDidStopEditingAttachment && t.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null;\n }, d.prototype.updateAttributesForAttachment = function (t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }, d.prototype.removeAttributeForAttachment = function (t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }, d.prototype.breakFormattedBlock = function (t) {\n var n, i, o, r, s;\n return i = t.document, n = t.block, r = t.startPosition, s = [r - 1, r], n.getBlockBreakPosition() === t.startLocation.offset ? (n.breaksOnReturn() && \"\\n\" === t.nextCharacter ? r += 1 : i = i.removeTextAtRange(s), s = [r, r]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? s = [r - 1, r + 1] : (s = [r, r + 1], r += 1) : t.startLocation.offset - 1 !== 0 && (r += 1), o = new e.Document([n.removeLastAttribute().copyWithoutText()]), this.setDocument(i.insertDocumentAtRange(o, s)), this.setSelection(r);\n }, d.prototype.getPreviousBlock = function () {\n var t, e;\n return (e = this.getLocationRange()) && (t = e[0].index, t > 0) ? this.document.getBlockAtIndex(t - 1) : void 0;\n }, d.prototype.getBlock = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.getBlockAtIndex(t[0].index) : void 0;\n }, d.prototype.getAttachmentAtRange = function (t) {\n var n;\n return n = this.document.getDocumentAtRange(t), n.toString() === e.OBJECT_REPLACEMENT_CHARACTER + \"\\n\" ? n.getAttachments()[0] : void 0;\n }, d.prototype.notifyDelegateOfCurrentAttributesChange = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.compositionDidChangeCurrentAttributes ? t.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0;\n }, d.prototype.notifyDelegateOfInsertionAtRange = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionDidPerformInsertionAtRange ? e.compositionDidPerformInsertionAtRange(t) : void 0;\n }, d.prototype.translateUTF16PositionFromOffset = function (t, e) {\n var n, i;\n return i = this.document.toUTF16String(), n = i.offsetFromUCS2Offset(t), i.offsetToUCS2Offset(n + e);\n }, d;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t17, e) {\n function i() {\n this.constructor = _t17;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t17[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t17.prototype = new i(), _t17.__super__ = e.prototype, _t17;\n },\n n = {}.hasOwnProperty;\n\n e.UndoManager = function (e) {\n function n(t) {\n this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n\n var i;\n return t(n, e), n.prototype.recordUndoEntry = function (t, e) {\n var n, o, r, s, a;\n return s = null != e ? e : {}, o = s.context, n = s.consolidatable, r = this.undoEntries.slice(-1)[0], n && i(r, t, o) ? void 0 : (a = this.createEntry({\n description: t,\n context: o\n }), this.undoEntries.push(a), this.redoEntries = []);\n }, n.prototype.undo = function () {\n var t, e;\n return (e = this.undoEntries.pop()) ? (t = this.createEntry(e), this.redoEntries.push(t), this.composition.loadSnapshot(e.snapshot)) : void 0;\n }, n.prototype.redo = function () {\n var t, e;\n return (t = this.redoEntries.pop()) ? (e = this.createEntry(t), this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot)) : void 0;\n }, n.prototype.canUndo = function () {\n return this.undoEntries.length > 0;\n }, n.prototype.canRedo = function () {\n return this.redoEntries.length > 0;\n }, n.prototype.createEntry = function (t) {\n var e, n, i;\n return i = null != t ? t : {}, n = i.description, e = i.context, {\n description: null != n ? n.toString() : void 0,\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }, i = function i(t, e, n) {\n return (null != t ? t.description : void 0) === (null != e ? e.toString() : void 0) && (null != t ? t.context : void 0) === JSON.stringify(n);\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n var t;\n e.attachmentGalleryFilter = function (e) {\n var n;\n return n = new t(e), n.perform(), n.getSnapshot();\n }, t = function () {\n function t(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n\n var e, n, i;\n return e = \"attachmentGallery\", n = \"presentation\", i = \"gallery\", t.prototype.perform = function () {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }, t.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }, t.prototype.removeBlockAttribute = function () {\n var t, n, i, o, r;\n\n for (o = this.findRangesOfBlocks(), r = [], t = 0, n = o.length; n > t; t++) {\n i = o[t], r.push(this.document = this.document.removeAttributeAtRange(e, i));\n }\n\n return r;\n }, t.prototype.applyBlockAttribute = function () {\n var t, n, i, o, r, s;\n\n for (i = 0, r = this.findRangesOfPieces(), s = [], t = 0, n = r.length; n > t; t++) {\n o = r[t], o[1] - o[0] > 1 && (o[0] += i, o[1] += i, \"\\n\" !== this.document.getCharacterAtPosition(o[1]) && (this.document = this.document.insertBlockBreakAtRange(o[1]), o[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o[1]++, i++), 0 !== o[0] && \"\\n\" !== this.document.getCharacterAtPosition(o[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(o[0]), o[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o[0]++, i++), s.push(this.document = this.document.applyBlockAttributeAtRange(e, !0, o)));\n }\n\n return s;\n }, t.prototype.findRangesOfBlocks = function () {\n return this.document.findRangesForBlockAttribute(e);\n }, t.prototype.findRangesOfPieces = function () {\n return this.document.findRangesForTextAttribute(n, {\n withValue: i\n });\n }, t.prototype.moveSelectedRangeForward = function () {\n return this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t18, e) {\n return function () {\n return _t18.apply(e, arguments);\n };\n };\n\n e.Editor = function () {\n function n(n, o, r) {\n this.composition = n, this.selectionManager = o, this.element = r, this.insertFiles = t(this.insertFiles, this), this.undoManager = new e.UndoManager(this.composition), this.filters = i.slice(0);\n }\n\n var i;\n return i = [e.attachmentGalleryFilter], n.prototype.loadDocument = function (t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }, n.prototype.loadHTML = function (t) {\n return null == t && (t = \"\"), this.loadDocument(e.Document.fromHTML(t, {\n referenceElement: this.element\n }));\n }, n.prototype.loadJSON = function (t) {\n var n, i;\n return n = t.document, i = t.selectedRange, n = e.Document.fromJSON(n), this.loadSnapshot({\n document: n,\n selectedRange: i\n });\n }, n.prototype.loadSnapshot = function (t) {\n return this.undoManager = new e.UndoManager(this.composition), this.composition.loadSnapshot(t);\n }, n.prototype.getDocument = function () {\n return this.composition.document;\n }, n.prototype.getSelectedDocument = function () {\n return this.composition.getSelectedDocument();\n }, n.prototype.getSnapshot = function () {\n return this.composition.getSnapshot();\n }, n.prototype.toJSON = function () {\n return this.getSnapshot();\n }, n.prototype.deleteInDirection = function (t) {\n return this.composition.deleteInDirection(t);\n }, n.prototype.insertAttachment = function (t) {\n return this.composition.insertAttachment(t);\n }, n.prototype.insertAttachments = function (t) {\n return this.composition.insertAttachments(t);\n }, n.prototype.insertDocument = function (t) {\n return this.composition.insertDocument(t);\n }, n.prototype.insertFile = function (t) {\n return this.composition.insertFile(t);\n }, n.prototype.insertFiles = function (t) {\n return this.composition.insertFiles(t);\n }, n.prototype.insertHTML = function (t) {\n return this.composition.insertHTML(t);\n }, n.prototype.insertString = function (t) {\n return this.composition.insertString(t);\n }, n.prototype.insertText = function (t) {\n return this.composition.insertText(t);\n }, n.prototype.insertLineBreak = function () {\n return this.composition.insertLineBreak();\n }, n.prototype.getSelectedRange = function () {\n return this.composition.getSelectedRange();\n }, n.prototype.getPosition = function () {\n return this.composition.getPosition();\n }, n.prototype.getClientRectAtPosition = function (t) {\n var e;\n return e = this.getDocument().locationRangeFromRange([t, t + 1]), this.selectionManager.getClientRectAtLocationRange(e);\n }, n.prototype.expandSelectionInDirection = function (t) {\n return this.composition.expandSelectionInDirection(t);\n }, n.prototype.moveCursorInDirection = function (t) {\n return this.composition.moveCursorInDirection(t);\n }, n.prototype.setSelectedRange = function (t) {\n return this.composition.setSelectedRange(t);\n }, n.prototype.activateAttribute = function (t, e) {\n return null == e && (e = !0), this.composition.setCurrentAttribute(t, e);\n }, n.prototype.attributeIsActive = function (t) {\n return this.composition.hasCurrentAttribute(t);\n }, n.prototype.canActivateAttribute = function (t) {\n return this.composition.canSetCurrentAttribute(t);\n }, n.prototype.deactivateAttribute = function (t) {\n return this.composition.removeCurrentAttribute(t);\n }, n.prototype.canDecreaseNestingLevel = function () {\n return this.composition.canDecreaseNestingLevel();\n }, n.prototype.canIncreaseNestingLevel = function () {\n return this.composition.canIncreaseNestingLevel();\n }, n.prototype.decreaseNestingLevel = function () {\n return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0;\n }, n.prototype.increaseNestingLevel = function () {\n return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0;\n }, n.prototype.canRedo = function () {\n return this.undoManager.canRedo();\n }, n.prototype.canUndo = function () {\n return this.undoManager.canUndo();\n }, n.prototype.recordUndoEntry = function (t, e) {\n var n, i, o;\n return o = null != e ? e : {}, i = o.context, n = o.consolidatable, this.undoManager.recordUndoEntry(t, {\n context: i,\n consolidatable: n\n });\n }, n.prototype.redo = function () {\n return this.canRedo() ? this.undoManager.redo() : void 0;\n }, n.prototype.undo = function () {\n return this.canUndo() ? this.undoManager.undo() : void 0;\n }, n;\n }();\n }.call(this), function () {\n var t = function t(_t19, e) {\n function i() {\n this.constructor = _t19;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t19[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t19.prototype = new i(), _t19.__super__ = e.prototype, _t19;\n },\n n = {}.hasOwnProperty;\n\n e.ManagedAttachment = function (e) {\n function n(t, e) {\n var n;\n this.attachmentManager = t, this.attachment = e, n = this.attachment, this.id = n.id, this.file = n.file;\n }\n\n return t(n, e), n.prototype.remove = function () {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }, n.proxyMethod(\"attachment.getAttribute\"), n.proxyMethod(\"attachment.hasAttribute\"), n.proxyMethod(\"attachment.setAttribute\"), n.proxyMethod(\"attachment.getAttributes\"), n.proxyMethod(\"attachment.setAttributes\"), n.proxyMethod(\"attachment.isPending\"), n.proxyMethod(\"attachment.isPreviewable\"), n.proxyMethod(\"attachment.getURL\"), n.proxyMethod(\"attachment.getHref\"), n.proxyMethod(\"attachment.getFilename\"), n.proxyMethod(\"attachment.getFilesize\"), n.proxyMethod(\"attachment.getFormattedFilesize\"), n.proxyMethod(\"attachment.getExtension\"), n.proxyMethod(\"attachment.getContentType\"), n.proxyMethod(\"attachment.getFile\"), n.proxyMethod(\"attachment.setFile\"), n.proxyMethod(\"attachment.releaseFile\"), n.proxyMethod(\"attachment.getUploadProgress\"), n.proxyMethod(\"attachment.setUploadProgress\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t20, e) {\n function i() {\n this.constructor = _t20;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t20[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t20.prototype = new i(), _t20.__super__ = e.prototype, _t20;\n },\n n = {}.hasOwnProperty;\n\n e.AttachmentManager = function (n) {\n function i(t) {\n var e, n, i;\n\n for (null == t && (t = []), this.managedAttachments = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.manageAttachment(e);\n }\n }\n\n return t(i, n), i.prototype.getAttachments = function () {\n var t, e, n, i;\n n = this.managedAttachments, i = [];\n\n for (e in n) {\n t = n[e], i.push(t);\n }\n\n return i;\n }, i.prototype.manageAttachment = function (t) {\n var n, i;\n return null != (n = this.managedAttachments)[i = t.id] ? n[i] : n[i] = new e.ManagedAttachment(this, t);\n }, i.prototype.attachmentIsManaged = function (t) {\n return t.id in this.managedAttachments;\n }, i.prototype.requestRemovalOfAttachment = function (t) {\n var e;\n return this.attachmentIsManaged(t) && null != (e = this.delegate) && \"function\" == typeof e.attachmentManagerDidRequestRemovalOfAttachment ? e.attachmentManagerDidRequestRemovalOfAttachment(t) : void 0;\n }, i.prototype.unmanageAttachment = function (t) {\n var e;\n return e = this.managedAttachments[t.id], delete this.managedAttachments[t.id], e;\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n var t, n, i, o, r, s, a, u, c, l, h;\n t = e.elementContainsNode, n = e.findChildIndexOfNode, r = e.nodeIsBlockStart, s = e.nodeIsBlockStartComment, o = e.nodeIsBlockContainer, a = e.nodeIsCursorTarget, u = e.nodeIsEmptyTextNode, c = e.nodeIsTextNode, i = e.nodeIsAttachmentElement, l = e.tagName, h = e.walkTree, e.LocationMapper = function () {\n function e(t) {\n this.element = t;\n }\n\n var p, d, f, g;\n return e.prototype.findLocationFromContainerAndOffset = function (e, i, o) {\n var s, u, l, p, g, m, v;\n\n for (m = (null != o ? o : {\n strict: !0\n }).strict, u = 0, l = !1, p = {\n index: 0,\n offset: 0\n }, (s = this.findAttachmentElementParentForNode(e)) && (e = s.parentNode, i = n(s)), v = h(this.element, {\n usingFilter: f\n }); v.nextNode();) {\n if (g = v.currentNode, g === e && c(e)) {\n a(g) || (p.offset += i);\n break;\n }\n\n if (g.parentNode === e) {\n if (u++ === i) break;\n } else if (!t(e, g) && u > 0) break;\n\n r(g, {\n strict: m\n }) ? (l && p.index++, p.offset = 0, l = !0) : p.offset += d(g);\n }\n\n return p;\n }, e.prototype.findContainerAndOffsetFromLocation = function (t) {\n var e, i, s, u, l;\n\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, u = 0; e.firstChild;) {\n if (e = e.firstChild, o(e)) {\n u = 1;\n break;\n }\n }\n\n return [e, u];\n }\n\n if (l = this.findNodeAndOffsetFromLocation(t), i = l[0], s = l[1], i) {\n if (c(i)) 0 === d(i) ? (e = i.parentNode.parentNode, u = n(i.parentNode), a(i, {\n name: \"right\"\n }) && u++) : (e = i, u = t.offset - s);else {\n if (e = i.parentNode, !r(i.previousSibling) && !o(e)) for (; i === e.lastChild && (i = e, e = e.parentNode, !o(e));) {\n ;\n }\n u = n(i), 0 !== t.offset && u++;\n }\n return [e, u];\n }\n }, e.prototype.findNodeAndOffsetFromLocation = function (t) {\n var e, n, i, o, r, s, u, l;\n\n for (u = 0, l = this.getSignificantNodesForIndex(t.index), n = 0, i = l.length; i > n; n++) {\n if (e = l[n], o = d(e), t.offset <= u + o) if (c(e)) {\n if (r = e, s = u, t.offset === s && a(r)) break;\n } else r || (r = e, s = u);\n if (u += o, u > t.offset) break;\n }\n\n return [r, s];\n }, e.prototype.findAttachmentElementParentForNode = function (t) {\n for (; t && t !== this.element;) {\n if (i(t)) return t;\n t = t.parentNode;\n }\n }, e.prototype.getSignificantNodesForIndex = function (t) {\n var e, n, i, o, r;\n\n for (i = [], r = h(this.element, {\n usingFilter: p\n }), o = !1; r.nextNode();) {\n if (n = r.currentNode, s(n)) {\n if (\"undefined\" != typeof e && null !== e ? e++ : e = 0, e === t) o = !0;else if (o) break;\n } else o && i.push(n);\n }\n\n return i;\n }, d = function d(t) {\n var e;\n return t.nodeType === Node.TEXT_NODE ? a(t) ? 0 : (e = t.textContent, e.length) : \"br\" === l(t) || i(t) ? 1 : 0;\n }, p = function p(t) {\n return g(t) === NodeFilter.FILTER_ACCEPT ? f(t) : NodeFilter.FILTER_REJECT;\n }, g = function g(t) {\n return u(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, f = function f(t) {\n return i(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, e;\n }();\n }.call(this), function () {\n var t,\n n,\n i = [].slice;\n t = e.getDOMRange, n = e.setDOMRange, e.PointMapper = function () {\n function e() {}\n\n return e.prototype.createDOMRangeFromPoint = function (e) {\n var i, o, r, s, a, u, c, l;\n if (c = e.x, l = e.y, document.caretPositionFromPoint) return a = document.caretPositionFromPoint(c, l), r = a.offsetNode, o = a.offset, i = document.createRange(), i.setStart(r, o), i;\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(c, l);\n\n if (document.body.createTextRange) {\n s = t();\n\n try {\n u = document.body.createTextRange(), u.moveToPoint(c, l), u.select();\n } catch (h) {}\n\n return i = t(), n(s), i;\n }\n }, e.prototype.getClientRectsForDOMRange = function (t) {\n var e, n, o;\n return n = i.call(t.getClientRects()), o = n[0], e = n[n.length - 1], [o, e];\n }, e;\n }();\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty,\n r = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.getDOMRange, e.SelectionChangeObserver = function (e) {\n function o() {\n this.run = n(this.run, this), this.update = n(this.update, this), this.selectionManagers = [];\n }\n\n var s;\n return i(o, e), o.prototype.start = function () {\n return this.started ? void 0 : (this.started = !0, \"onselectionchange\" in document ? document.addEventListener(\"selectionchange\", this.update, !0) : this.run());\n }, o.prototype.stop = function () {\n return this.started ? (this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0)) : void 0;\n }, o.prototype.registerSelectionManager = function (t) {\n return r.call(this.selectionManagers, t) < 0 ? (this.selectionManagers.push(t), this.start()) : void 0;\n }, o.prototype.unregisterSelectionManager = function (t) {\n var e;\n return this.selectionManagers = function () {\n var n, i, o, r;\n\n for (o = this.selectionManagers, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e !== t && r.push(e);\n }\n\n return r;\n }.call(this), 0 === this.selectionManagers.length ? this.stop() : void 0;\n }, o.prototype.notifySelectionManagersOfSelectionChange = function () {\n var t, e, n, i, o;\n\n for (n = this.selectionManagers, i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(o.selectionDidChange());\n }\n\n return i;\n }, o.prototype.update = function () {\n var e;\n return e = t(), s(e, this.domRange) ? void 0 : (this.domRange = e, this.notifySelectionManagersOfSelectionChange());\n }, o.prototype.reset = function () {\n return this.domRange = null, this.update();\n }, o.prototype.run = function () {\n return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0;\n }, s = function s(t, e) {\n return (null != t ? t.startContainer : void 0) === (null != e ? e.startContainer : void 0) && (null != t ? t.startOffset : void 0) === (null != e ? e.startOffset : void 0) && (null != t ? t.endContainer : void 0) === (null != e ? e.endContainer : void 0) && (null != t ? t.endOffset : void 0) === (null != e ? e.endOffset : void 0);\n }, o;\n }(e.BasicObject), null == e.selectionChangeObserver && (e.selectionChangeObserver = new e.SelectionChangeObserver());\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty;\n\n i = e.getDOMSelection, n = e.getDOMRange, l = e.setDOMRange, t = e.elementContainsNode, s = e.nodeIsCursorTarget, r = e.innerElementIsActive, o = e.handleEvent, a = e.normalizeRange, u = e.rangeIsCollapsed, c = e.rangesAreEqual, e.SelectionManager = function (d) {\n function f(t) {\n this.element = t, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e.LocationMapper(this.element), this.pointMapper = new e.PointMapper(), this.lockCount = 0, o(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n\n return p(f, d), f.prototype.getLocationRange = function (t) {\n var e, i;\n return null == t && (t = {}), e = t.strict === !1 ? this.createLocationRangeFromDOMRange(n(), {\n strict: !1\n }) : t.ignoreLock ? this.currentLocationRange : null != (i = this.lockedLocationRange) ? i : this.currentLocationRange;\n }, f.prototype.setLocationRange = function (t) {\n var e;\n if (!this.lockedLocationRange) return t = a(t), (e = this.createDOMRangeFromLocationRange(t)) ? (l(e), this.updateCurrentLocationRange(t)) : void 0;\n }, f.prototype.setLocationRangeFromPointRange = function (t) {\n var e, n;\n return t = a(t), n = this.getLocationAtPoint(t[0]), e = this.getLocationAtPoint(t[1]), this.setLocationRange([n, e]);\n }, f.prototype.getClientRectAtLocationRange = function (t) {\n var e;\n return (e = this.createDOMRangeFromLocationRange(t)) ? this.getClientRectsForDOMRange(e)[1] : void 0;\n }, f.prototype.locationIsCursorTarget = function (t) {\n var e, n, i;\n return i = this.findNodeAndOffsetFromLocation(t), e = i[0], n = i[1], s(e);\n }, f.prototype.lock = function () {\n return 0 === this.lockCount++ ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0;\n }, f.prototype.unlock = function () {\n var t;\n return 0 === --this.lockCount && (t = this.lockedLocationRange, this.lockedLocationRange = null, null != t) ? this.setLocationRange(t) : void 0;\n }, f.prototype.clearSelection = function () {\n var t;\n return null != (t = i()) ? t.removeAllRanges() : void 0;\n }, f.prototype.selectionIsCollapsed = function () {\n var t;\n return (null != (t = n()) ? t.collapsed : void 0) === !0;\n }, f.prototype.selectionIsExpanded = function () {\n return !this.selectionIsCollapsed();\n }, f.prototype.createLocationRangeFromDOMRange = function (t, e) {\n var n, i;\n if (null != t && this.domRangeWithinElement(t) && (i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e))) return t.collapsed || (n = this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e)), a([i, n]);\n }, f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"), f.prototype.didMouseDown = function () {\n return this.pauseTemporarily();\n }, f.prototype.pauseTemporarily = function () {\n var e, n, i, r;\n return this.paused = !0, n = function (e) {\n return function () {\n var n, o, s;\n\n for (e.paused = !1, clearTimeout(r), o = 0, s = i.length; s > o; o++) {\n n = i[o], n.destroy();\n }\n\n return t(document, e.element) ? e.selectionDidChange() : void 0;\n };\n }(this), r = setTimeout(n, 200), i = function () {\n var t, i, r, s;\n\n for (r = [\"mousemove\", \"keydown\"], s = [], t = 0, i = r.length; i > t; t++) {\n e = r[t], s.push(o(e, {\n onElement: document,\n withCallback: n\n }));\n }\n\n return s;\n }();\n }, f.prototype.selectionDidChange = function () {\n return this.paused || r(this.element) ? void 0 : this.updateCurrentLocationRange();\n }, f.prototype.updateCurrentLocationRange = function (t) {\n var e;\n return (null != t ? t : t = this.createLocationRangeFromDOMRange(n())) && !c(t, this.currentLocationRange) ? (this.currentLocationRange = t, null != (e = this.delegate) && \"function\" == typeof e.locationRangeDidChange ? e.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0;\n }, f.prototype.createDOMRangeFromLocationRange = function (t) {\n var e, n, i, o;\n return i = this.findContainerAndOffsetFromLocation(t[0]), n = u(t) ? i : null != (o = this.findContainerAndOffsetFromLocation(t[1])) ? o : i, null != i && null != n ? (e = document.createRange(), e.setStart.apply(e, i), e.setEnd.apply(e, n), e) : void 0;\n }, f.prototype.getLocationAtPoint = function (t) {\n var e, n;\n return (e = this.createDOMRangeFromPoint(t)) && null != (n = this.createLocationRangeFromDOMRange(e)) ? n[0] : void 0;\n }, f.prototype.domRangeWithinElement = function (e) {\n return e.collapsed ? t(this.element, e.startContainer) : t(this.element, e.startContainer) && t(this.element, e.endContainer);\n }, f;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice;\n\n i = e.rangeIsCollapsed, o = e.rangesAreEqual, n = e.objectsAreEqual, t = e.getBlockConfig, e.EditorController = function (s) {\n function u(t) {\n var n, i;\n this.editorElement = t.editorElement, n = t.document, i = t.html, this.selectionManager = new e.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e.Composition(), this.composition.delegate = this, this.attachmentManager = new e.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e[\"Level\" + e.config.input.getLevel() + \"InputController\"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e.Editor(this.composition, this.selectionManager, this.editorElement), null != n ? this.editor.loadDocument(n) : this.editor.loadHTML(i);\n }\n\n var c;\n return r(u, s), u.prototype.registerSelectionManager = function () {\n return e.selectionChangeObserver.registerSelectionManager(this.selectionManager);\n }, u.prototype.unregisterSelectionManager = function () {\n return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager);\n }, u.prototype.render = function () {\n return this.compositionController.render();\n }, u.prototype.reparse = function () {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }, u.prototype.compositionDidChangeDocument = function () {\n return this.notifyEditorElement(\"document-change\"), this.handlingInput ? void 0 : this.render();\n }, u.prototype.compositionDidChangeCurrentAttributes = function (t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }, u.prototype.compositionDidPerformInsertionAtRange = function (t) {\n return this.pasting ? this.pastedRange = t : void 0;\n }, u.prototype.compositionShouldAcceptFile = function (t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }, u.prototype.compositionDidAddAttachment = function (t) {\n var e;\n return e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }, u.prototype.compositionDidEditAttachment = function (t) {\n var e;\n return this.compositionController.rerenderViewForObject(t), e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidChangeAttachmentPreviewURL = function (t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidRemoveAttachment = function (t) {\n var e;\n return e = this.attachmentManager.unmanageAttachment(t), this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }, u.prototype.compositionDidStartEditingAttachment = function (t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }, u.prototype.compositionDidStopEditingAttachment = function () {\n return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function (t) {\n return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0;\n }, u.prototype.compositionWillLoadSnapshot = function () {\n return this.loadingSnapshot = !0;\n }, u.prototype.compositionDidLoadSnapshot = function () {\n return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }, u.prototype.getSelectionManager = function () {\n return this.selectionManager;\n }, u.proxyMethod(\"getSelectionManager().setLocationRange\"), u.proxyMethod(\"getSelectionManager().getLocationRange\"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.compositionControllerWillSyncDocumentView = function () {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }, u.prototype.compositionControllerDidSyncDocumentView = function () {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }, u.prototype.compositionControllerDidRender = function () {\n return null != this.requestedLocationRange && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement(\"render\")), this.renderedCompositionRevision = this.composition.revision;\n }, u.prototype.compositionControllerDidFocus = function () {\n return this.isFocusedInvisibly() && this.setLocationRange({\n index: 0,\n offset: 0\n }), this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }, u.prototype.compositionControllerDidBlur = function () {\n return this.notifyEditorElement(\"blur\");\n }, u.prototype.compositionControllerDidSelectAttachment = function (t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function (t) {\n var e, n;\n return e = null != (n = this.attachmentLocationRange) ? n : this.composition.document.getLocationRangeOfAttachment(t), this.selectionManager.setLocationRange(e[1]);\n }, u.prototype.compositionControllerWillUpdateAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.inputControllerWillHandleInput = function () {\n return this.handlingInput = !0, this.requestedRender = !1;\n }, u.prototype.inputControllerDidRequestRender = function () {\n return this.requestedRender = !0;\n }, u.prototype.inputControllerDidHandleInput = function () {\n return this.handlingInput = !1, this.requestedRender ? (this.requestedRender = !1, this.render()) : void 0;\n }, u.prototype.inputControllerDidAllowUnhandledInput = function () {\n return this.notifyEditorElement(\"change\");\n }, u.prototype.inputControllerDidRequestReparse = function () {\n return this.reparse();\n }, u.prototype.inputControllerWillPerformTyping = function () {\n return this.recordTypingUndoEntry();\n }, u.prototype.inputControllerWillPerformFormatting = function (t) {\n return this.recordFormattingUndoEntry(t);\n }, u.prototype.inputControllerWillCutText = function () {\n return this.editor.recordUndoEntry(\"Cut\");\n }, u.prototype.inputControllerWillPaste = function (t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }, u.prototype.inputControllerDidPaste = function (t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }, u.prototype.inputControllerWillMoveText = function () {\n return this.editor.recordUndoEntry(\"Move\");\n }, u.prototype.inputControllerWillAttachFiles = function () {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }, u.prototype.inputControllerWillPerformUndo = function () {\n return this.editor.undo();\n }, u.prototype.inputControllerWillPerformRedo = function () {\n return this.editor.redo();\n }, u.prototype.inputControllerDidReceiveKeyboardCommand = function (t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }, u.prototype.inputControllerDidStartDrag = function () {\n return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }, u.prototype.inputControllerDidReceiveDragOverPoint = function (t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }, u.prototype.inputControllerDidCancelDrag = function () {\n return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }, u.prototype.locationRangeDidChange = function (t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }, u.prototype.toolbarDidClickButton = function () {\n return this.getLocationRange() ? void 0 : this.setLocationRange({\n index: 0,\n offset: 0\n });\n }, u.prototype.toolbarDidInvokeAction = function (t) {\n return this.invokeAction(t);\n }, u.prototype.toolbarDidToggleAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidUpdateAttribute = function (t, e) {\n return this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidRemoveAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarWillShowDialog = function () {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }, u.prototype.toolbarDidShowDialog = function (t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }, u.prototype.toolbarDidHideDialog = function (t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }, u.prototype.freezeSelection = function () {\n return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render());\n }, u.prototype.thawSelection = function () {\n return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render()) : void 0;\n }, u.prototype.actions = {\n undo: {\n test: function test() {\n return this.editor.canUndo();\n },\n perform: function perform() {\n return this.editor.undo();\n }\n },\n redo: {\n test: function test() {\n return this.editor.canRedo();\n },\n perform: function perform() {\n return this.editor.redo();\n }\n },\n link: {\n test: function test() {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test: function test() {\n return this.editor.canIncreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test: function test() {\n return this.editor.canDecreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: function test() {\n return !0;\n },\n perform: function perform() {\n return e.config.input.pickFiles(this.editor.insertFiles);\n }\n }\n }, u.prototype.canInvokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? !0 : !!(null != (e = this.actions[t]) && null != (n = e.test) ? n.call(this) : void 0);\n }, u.prototype.invokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t\n }) : null != (e = this.actions[t]) && null != (n = e.perform) ? n.call(this) : void 0;\n }, u.prototype.actionIsExternal = function (t) {\n return /^x-./.test(t);\n }, u.prototype.getCurrentActions = function () {\n var t, e;\n e = {};\n\n for (t in this.actions) {\n e[t] = this.canInvokeAction(t);\n }\n\n return e;\n }, u.prototype.updateCurrentActions = function () {\n var t;\n return t = this.getCurrentActions(), n(t, this.currentActions) ? void 0 : (this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n }));\n }, u.prototype.runEditorFilters = function () {\n var t, e, n, i, o, r, s, a;\n\n for (a = this.composition.getSnapshot(), o = this.editor.filters, n = 0, i = o.length; i > n; n++) {\n e = o[n], t = a.document, s = a.selectedRange, a = null != (r = e.call(this.editor, a)) ? r : {}, null == a.document && (a.document = t), null == a.selectedRange && (a.selectedRange = s);\n }\n\n return c(a, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a);\n }, c = function c(t, e) {\n return o(t.selectedRange, e.selectedRange) && t.document.isEqualTo(e.document);\n }, u.prototype.updateInputElement = function () {\n var t, n;\n return t = this.compositionController.getSerializableElement(), n = e.serializeToContentType(t, \"text/html\"), this.editorElement.setInputElementValue(n);\n }, u.prototype.notifyEditorElement = function (t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n\n return this.editorElement.notify(t, e);\n }, u.prototype.removeAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }, u.prototype.recordFormattingUndoEntry = function (e) {\n var n, o;\n return n = t(e), o = this.selectionManager.getLocationRange(), n || !i(o) ? this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n }) : void 0;\n }, u.prototype.recordTypingUndoEntry = function () {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }, u.prototype.getUndoContext = function () {\n var t;\n return t = 1 <= arguments.length ? a.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a.call(t));\n }, u.prototype.getLocationContext = function () {\n var t;\n return t = this.selectionManager.getLocationRange(), i(t) ? t[0].index : t;\n }, u.prototype.getTimeContext = function () {\n return e.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e.config.undoInterval) : 0;\n }, u.prototype.isFocused = function () {\n var t;\n return this.editorElement === (null != (t = this.editorElement.ownerDocument) ? t.activeElement : void 0);\n }, u.prototype.isFocusedInvisibly = function () {\n return this.isFocused() && !this.getLocationRange();\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n n = e.browser, s = e.makeElement, a = e.triggerEvent, o = e.handleEvent, r = e.handleEventOnce, i = e.findClosestElementFromNode, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var c, l, h, p, d, f, g, m, v;\n return g = 0, l = function l(t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, m = function m(t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), r(\"focus\", {\n onElement: t,\n withCallback: function withCallback() {\n return h(t);\n }\n }));\n }, h = function h(t) {\n return d(t), v(t);\n }, d = function d(t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), o(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, v = function v() {\n var t;\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"DefaultParagraphSeparator\") : void 0) && (t = e.config.blockAttributes[\"default\"].tagName, \"div\" === t || \"p\" === t) ? document.execCommand(\"DefaultParagraphSeparator\", !1, t) : void 0;\n }, c = function c(t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, f = function f(t) {\n var e;\n if (!t.hasAttribute(\"aria-label\") && !t.hasAttribute(\"aria-labelledby\")) return (e = function e() {\n var e, n, i;\n return i = function () {\n var n, i, o, r;\n\n for (o = t.labels, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e.contains(t) || r.push(e.textContent);\n }\n\n return r;\n }(), (n = i.join(\" \")) ? t.setAttribute(\"aria-label\", n) : t.removeAttribute(\"aria-label\");\n })(), o(\"focus\", {\n onElement: t,\n withCallback: e\n });\n }, p = function () {\n return n.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\n }(), {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \" + t + \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \" + t + \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \" + t + \" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \" + p.display + \" !important;\\n width: \" + p.width + \" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\",\n trixId: {\n get: function get() {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++g), this.trixId);\n }\n },\n labels: {\n get: function get() {\n var t, e, n;\n return e = [], this.id && this.ownerDocument && e.push.apply(e, this.ownerDocument.querySelectorAll(\"label[for='\" + this.id + \"']\")), (t = i(this, {\n matchingSelector: \"label\"\n })) && ((n = t.control) === this || null === n) && e.push(t), e;\n }\n },\n toolbarElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"toolbar\") ? null != (e = this.ownerDocument) ? e.getElementById(this.getAttribute(\"toolbar\")) : void 0 : this.parentNode ? (n = \"trix-toolbar-\" + this.trixId, this.setAttribute(\"toolbar\", n), t = s(\"trix-toolbar\", {\n id: n\n }), this.parentNode.insertBefore(t, this), t) : void 0;\n }\n },\n inputElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"input\") ? null != (n = this.ownerDocument) ? n.getElementById(this.getAttribute(\"input\")) : void 0 : this.parentNode ? (e = \"trix-input-\" + this.trixId, this.setAttribute(\"input\", e), t = s(\"input\", {\n type: \"hidden\",\n id: e\n }), this.parentNode.insertBefore(t, this.nextElementSibling), t) : void 0;\n }\n },\n editor: {\n get: function get() {\n var t;\n return null != (t = this.editorController) ? t.editor : void 0;\n }\n },\n name: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.name : void 0;\n }\n },\n value: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.value : void 0;\n },\n set: function set(t) {\n var e;\n return this.defaultValue = t, null != (e = this.editor) ? e.loadHTML(this.defaultValue) : void 0;\n }\n },\n notify: function notify(t, e) {\n return this.editorController ? a(\"trix-\" + t, {\n onElement: this,\n attributes: e\n }) : void 0;\n },\n setInputElementValue: function setInputElementValue(t) {\n var e;\n return null != (e = this.inputElement) ? e.value = t : void 0;\n },\n initialize: function initialize() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (m(this), c(this), f(this));\n },\n connect: function connect() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (a(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new e.EditorController({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(function (t) {\n return function () {\n return a(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this));\n },\n disconnect: function disconnect() {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener();\n },\n registerResetListener: function registerResetListener() {\n return this.resetListener = this.resetBubbled.bind(this), window.addEventListener(\"reset\", this.resetListener, !1);\n },\n unregisterResetListener: function unregisterResetListener() {\n return window.removeEventListener(\"reset\", this.resetListener, !1);\n },\n registerClickListener: function registerClickListener() {\n return this.clickListener = this.clickBubbled.bind(this), window.addEventListener(\"click\", this.clickListener, !1);\n },\n unregisterClickListener: function unregisterClickListener() {\n return window.removeEventListener(\"click\", this.clickListener, !1);\n },\n resetBubbled: function resetBubbled(t) {\n var e;\n if (!t.defaultPrevented && t.target === (null != (e = this.inputElement) ? e.form : void 0)) return this.reset();\n },\n clickBubbled: function clickBubbled(t) {\n var e;\n if (!(t.defaultPrevented || this.contains(t.target) || !(e = i(t.target, {\n matchingSelector: \"label\"\n })) || u.call(this.labels, e) < 0)) return this.focus();\n },\n reset: function reset() {\n return this.value = this.defaultValue;\n }\n };\n }());\n }.call(this), function () {}.call(this);\n }).call(this), \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}.call(this);","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function registerImmediate(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n } // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n\n\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global; // Don't get fooled by e.g. browserify environments.\n\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n})(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self);","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar activestorage = {\n exports: {}\n};\n\n(function (module, exports) {\n (function (global, factory) {\n factory(exports);\n })(commonjsGlobal, function (exports) {\n var sparkMd5 = {\n exports: {}\n };\n\n (function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined$1) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined$1) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n })(sparkMd5);\n\n var SparkMD5 = sparkMd5.exports;\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\n var FileChecksum = /*#__PURE__*/function () {\n function FileChecksum(file) {\n _classCallCheck(this, FileChecksum);\n\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n _createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new SparkMD5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \".concat(this.file.name));\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var _start = this.chunkIndex * this.chunkSize;\n\n var end = Math.min(_start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, _start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }], [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n return FileChecksum;\n }();\n\n function getMetaValue(name) {\n var element = findElement(document.head, \"meta[name=\\\"\".concat(name, \"\\\"]\"));\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray(elements);\n }\n\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n }\n\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n }\n\n function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n\n var BlobRecord = /*#__PURE__*/function () {\n function BlobRecord(file, checksum, url) {\n var _this2 = this;\n\n _classCallCheck(this, BlobRecord);\n\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this2.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this2.requestDidError(event);\n });\n }\n\n _createClass(BlobRecord, [{\n key: \"status\",\n get: function get() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get() {\n var _this$xhr = this.xhr,\n responseType = _this$xhr.responseType,\n response = _this$xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }, {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback(\"Error creating Blob for \\\"\".concat(this.file.name, \"\\\". Status: \").concat(this.status));\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }]);\n\n return BlobRecord;\n }();\n\n var BlobUpload = /*#__PURE__*/function () {\n function BlobUpload(blob) {\n var _this3 = this;\n\n _classCallCheck(this, BlobUpload);\n\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this3.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this3.requestDidError(event);\n });\n }\n\n _createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _this$xhr2 = this.xhr,\n status = _this$xhr2.status,\n response = _this$xhr2.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback(\"Error storing \\\"\".concat(this.file.name, \"\\\". Status: \").concat(this.xhr.status));\n }\n }]);\n\n return BlobUpload;\n }();\n\n var id = 0;\n\n var DirectUpload = /*#__PURE__*/function () {\n function DirectUpload(file, url, delegate) {\n _classCallCheck(this, DirectUpload);\n\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n _createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this4 = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this4.file, checksum, _this4.url);\n notify(_this4.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this4.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n\n return DirectUpload;\n }();\n\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n }\n\n var DirectUploadController = /*#__PURE__*/function () {\n function DirectUploadController(input, file) {\n _classCallCheck(this, DirectUploadController);\n\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n _createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this5 = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this5.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this5.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"url\",\n get: function get() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\".concat(name), {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this6 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this6.uploadRequestDidProgress(event);\n });\n }\n }]);\n\n return DirectUploadController;\n }();\n\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\n var DirectUploadsController = /*#__PURE__*/function () {\n function DirectUploadsController(form) {\n _classCallCheck(this, DirectUploadsController);\n\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n _createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this7 = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this7.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this7.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\".concat(name), {\n detail: detail\n });\n }\n }]);\n\n return DirectUploadsController;\n }();\n\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm, true);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n\n function didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm.delete(form);\n }\n\n function disable(input) {\n input.disabled = true;\n }\n\n function enable(input) {\n input.disabled = false;\n }\n\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n\n setTimeout(autostart, 1);\n exports.DirectUpload = DirectUpload;\n exports.start = start;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n });\n})(activestorage, activestorage.exports);\n\nvar AttachmentUpload = /*#__PURE__*/function () {\n function AttachmentUpload(attachment, element) {\n _classCallCheck(this, AttachmentUpload);\n\n this.attachment = attachment;\n this.element = element;\n this.directUpload = new activestorage.exports.DirectUpload(attachment.file, this.directUploadUrl, this);\n }\n\n _createClass(AttachmentUpload, [{\n key: \"start\",\n value: function start() {\n this.directUpload.create(this.directUploadDidComplete.bind(this));\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this8 = this;\n\n xhr.upload.addEventListener(\"progress\", function (event) {\n var progress = event.loaded / event.total * 100;\n\n _this8.attachment.setUploadProgress(progress);\n });\n }\n }, {\n key: \"directUploadDidComplete\",\n value: function directUploadDidComplete(error, attributes) {\n if (error) {\n throw new Error(\"Direct upload failed: \".concat(error));\n }\n\n this.attachment.setAttributes({\n sgid: attributes.attachable_sgid,\n url: this.createBlobUrl(attributes.signed_id, attributes.filename)\n });\n }\n }, {\n key: \"createBlobUrl\",\n value: function createBlobUrl(signedId, filename) {\n return this.blobUrlTemplate.replace(\":signed_id\", signedId).replace(\":filename\", encodeURIComponent(filename));\n }\n }, {\n key: \"directUploadUrl\",\n get: function get() {\n return this.element.dataset.directUploadUrl;\n }\n }, {\n key: \"blobUrlTemplate\",\n get: function get() {\n return this.element.dataset.blobUrlTemplate;\n }\n }]);\n\n return AttachmentUpload;\n}();\n\naddEventListener(\"trix-attachment-add\", function (event) {\n var attachment = event.attachment,\n target = event.target;\n\n if (attachment.file) {\n var upload = new AttachmentUpload(attachment, target);\n upload.start();\n }\n});","module.exports = __webpack_public_path__ + \"media/images/Sougyokeikakusyo-40ac13c86ecde23c174e9acef876b5d4.png\";","module.exports = __webpack_public_path__ + \"media/images/Suuchikeikakusyo-cb2aca9c4173ac1328a739521e8dd963.png\";","module.exports = __webpack_public_path__ + \"media/images/arrow-d0edec1100209348ba12e3358e54313d.svg\";","module.exports = __webpack_public_path__ + \"media/images/arrow-01-d6bd58963ef880b2c5a124c5c094dbc5.svg\";","module.exports = __webpack_public_path__ + \"media/images/arrow-01-white-ed01fd77b6de3cbcf64780150bd0ea7c.svg\";","module.exports = __webpack_public_path__ + \"media/images/banner--lp-fv-search-231dc696a73eb45587240c173a93e0e6.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-bpsp-1e931ea464ecbec4115bab6434b8f9e1.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-freenance-18f65fbbba1b38ffe4f5d57fbf895ebd.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-kaikeisoft-0c0ef64719e1f0caae3555bc40d15e0b.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-kakuteishinkoku-a3819d5dc73cb793b120f5a081facec7.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-kyuyoservice-ca01d30a29f795d18d0aa7df4536ea23.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-lending-shikinbanner-f35d4c5ad01ed2e3b5dcd0006ed8e921.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-mail-a1dcf76519152d2e578a517d3ec9df47.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-misoca-ea2297ef41ab4d59fcd0c4024c097e90.png\";","module.exports = __webpack_public_path__ + \"media/images/banner--ls-sogyokeikaku-ba82c41121ab42291a653333b32ce5fb.png\";","module.exports = __webpack_public_path__ + \"media/images/bg--plans-lp-fv-e95cd0cd1f6dc4697acfb426f1505f82.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--dreamgate--bp-entry--wide_600_120-d53602d6a9ee5805eb368d1996f69889.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--dreamgate--bp-entry--wide_792_200-c74a442ad67ddee09e121bc36904d39c.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--dreamgate--bp-entry_300_300-969bc380c2e9032a85031c40518d402f.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--kaikei--pc-e14a37763d4cd76e6b94bb51010cabf4.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--kaikei--wide--sp-ebe4abb90c28700793af595599d5fae9.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--misoca--pc-16f1169285c4e48e548f4a6e7d7e96ad.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--misoca--wide--sp-bec54e30e9725e119064a976c8de6bd0.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shindan-lp--pc-abf9381c082054284253279e8ee3cdb2.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shindan-lp--sp-afb551b3b75397a08f93b664ea7307aa.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shinkoku--pc-5cea85623e5f0b01408ea2153b5a18cc.png\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shinkoku--wide--sp-8fab964470b997ce1e88c93efb5256f7.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--A-c11ecd10240949a620be5bcd52c7c3b9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--B-21877c11229ee00d16aafb0bfca997cb.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--C-384096d90e1c551e995b8f593bd8c246.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--S-24e7138c38665ebfa302dbd29afcd360.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--accordion--circle--minus-da09e1713f503fdd8c80b0eded965546.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--accordion--circle--plus-1a36735fff4d79db636800edf80e44d9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--account-b06cfaa2f61375472c51ac16d9d5b1d7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--alert-triangle-9af5fc8d9f9f5ebe539dc3eb18e264f8.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--alert-triangle--red-b04e03d04b88fe6faf7f4a0d8e3f0980.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--announce--expire-soon-73c858cada005f49596b5d57f00922ba.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--announce--expired-907b1932b264a83f2e5f60ec79e94fff.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--anounce-54e2f91be7cf1b788468ce6d36ebff26.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--back-page-3701894464964b4c720c53a1a4c61b6e.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--back-page--hover-f56b2fec9b205a0a6791d7f9a2e141d1.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--blue-384f70a3b8e9814385b8c392674208f8.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--breadcrumb-0b715d5bf8f7d58e9b16ae2d7272a07d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--next-9784a63929b507f412c09483ab32ba7e.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--next--history-192efc86ea5812de5757bf879dd80221.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--next--learn-0d2f69851f06a981501ac1f32859429c.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--next--top-fv-card-c19825f78facb2d1345adc7310ada73c.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--pink-26db9b2562de7851c1935f64141bc181.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--prev-2629db3c99a3412aa640ea8b0cf8bf83.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--prev--history-26ee433fd8da75f32eedd253ddbd8e29.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--right-6c01f6fed53954f6a6175263410fd985.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--selectbox-a008983d247e4a2139a1150012c6ea00.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--stepper-273ef91f526b5906e3a251c5c4370018.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--stepper--active-ab7c890c3c5f35521edef41bf0d2c63f.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--tab--on-e53efbe864b8271c2f67477b2c297442.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow--yellow-baee131e2c1bbfd559b4389bde014e57.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow-next--search-result-card-9149ee130a2ac7f4135eb8d7dbd8ce23.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrow-next--search-result-card--hover-06265b80a4d9244fb0ed7f53a0cf4c11.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrowhead-down-25bde2197fab76a5fc17d1ff42fd94ea.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--arrowhead-up-703a9a3bf5eb8bf34f1cc5859836a009.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--back-to-top-a09b50b562802e641897af62aaa4abb1.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bad-0ab5cc86db1e9f8664181606ba090409.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--beginner--xs-ba7243ec2f51ecbf1d31af8a91b441a2.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bell-5f84c0073985e9510676eb2497894992.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bell--blue--lg-c75957378604130ab83b2a49bae004fe.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bell--blue--sm-c75957378604130ab83b2a49bae004fe.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bell--xs-f0169726de0177fc98f323c6dd89fe2e.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--book--xs-d2cf5e7c0d54cf6931fb1ad97eafe6da.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-designer-927cb5ffcbe2513d1256da60a0d26ada.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-hudosan-458652137fd54ca58e38b6fbd8bc01d4.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-inshoku-842fabc6d827f011184c322508ea3f5d.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-it-820ed27cc82f562f3d95efdddb7bd22e.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-kensetsu-73cfc9e73841aa5220a0c6969a57281c.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-kouri-cd873e974022367b79e67dcd299ee091.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-netshop-1109f9228e44948924c102fbe3a8f8d8.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-ribiyo-e868aed568b4d260eaf9c7ac7e3ea31e.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-seitai-e41fa363728fcb50505a59db6ec5e9ae.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-sonota-305a9cecaa8312f164be82668a62ceb3.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-unso-3a0fe0ec31cfed8a18e1db7d5e82f438.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-webapp-e94d2a17249a565e98d4d78685da2dbb.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--bs-writer-3e4f9e43ae383c1c0d70d4ddb89198da.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--building-567d2439d66b719aa0d3018faf1687bc.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--bullet-6192df7e101b6fb7cbcbdff8f5fe3801.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--chasefooter--consulting-df14468a2eb9986bba8889beb7846ac5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--chasefooter--external--link-fe976c0dad65b85d6bf1b6efbdc62407.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--chasefooter--relation-ffd10f65c1f107a72da4de6ff6308432.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--checkbox-80b8783b24e71e291e8d23fac39dd233.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--checkbox-checked-acf11faf7d070e1e8b04398f447eea29.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--checkmark-a484b07356817d98d709ff72f5a34ec1.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--checkmark--cyan-blue-75c8c8dad3ca58efe355989c9f0143f1.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--checkmark--white-bd461c68780c5a07c9ea3dca6761b8bf.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--chevron_right-a34e81b85d2635892c58a902d59f25a7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--chevron_right--search-result-9aceab134a780beec0a9b8d3760724d8.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--circle-question-22f02d64216b313ea3a8370aa8986ee3.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--close-modal-d59cdf72c8ad7bdbfcf77b5c468f8e04.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--consulting--xs-1887d949a843c7739e57c649489e8fb2.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--copy-ae2cbdf751603d0970bc1362c8936896.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--copy--big-0572fd0c64081a5e154b6e60913866ab.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--cross-7f50c700170d0664fdba004e14c2b672.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--delete-5e3dc85da4d9b03c00f4cea63a1dc3d7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--dots-13fab71f136de237e380b91d4768c600.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--edit-score-043d6cbc5d20d87332022f2018f95fab.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--envelop-bd9405a27bf5d6256bb0970b872fd363.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--error-e50d2570346c530f332778fa0c8b51f5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--error--blue-c0b71a0d3a225da9299d1edf08a0b1b4.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--exclamation-f79c257b1ae29340957a7434671319c9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--expire-soon-2d4d759b8b4b7341047de72d4b609415.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--expired-98b8dbd97c777eae0178627cea237198.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--external-link-0f1055ed63a00933109fdc465cf52e4d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--favorite-button-hover--add-24c5f11c7dd01449227e09e8092c9f0e.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--favorite-button-hover--remove-535f3076a9aa6ddcdb3931e0166ae771.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--file-register-670dee5e7b6caf8c813ce4684c2e1a2f.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--fine-dfec9d6587fb0b7aa8e4165ad06d924b.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--gabage-56e50fb300ed5ef1c733b12c341811fc.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--good-3337d47e02b6dfab55d0cedb263ae371.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--hand-point-right-solid-6ae2df8efe34099432933dbe36ac1f9d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--heart-mark--off-09d282e81b484839d986480f3a1ba1c9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--heart-mark--on-bd18818fb6de7a584e4e2944553ed564.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--heart-mark--pink-9c7cc9849361990e3307c18b578a74e3.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--heart-mark--white-eed918111adb909e8b3a20e72c655186.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--history-154a7b93f3e285cb38390db77be246c9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--history--white-f85ca6560a574465c35fdf33c6e9094d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--info--blue-0cbecd2fad158031227c72cad349315a.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--info--darkblue-451ee6ad47dfd2f7a22a9b527e120796.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--links--blue-a50d72eaf494f01825dec6544021c1d1.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--links--green-700ee8396a23af81ed1977d5822bcbaa.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--lock-2bd5091629c184637ed8f1916dea1555.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--login-03da0b7ea6981c94f84d02b2b8d09877.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--login--blue-d8fa39057f0d1051686e2ac115864ae7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--member-b26234c493051c1bbfd2797f28958ed6.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--member--blue-1550ca5dce508f5abb0100a819615a46.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--menu--consult-e83b356e92f50f4e19802f9f6bb5763e.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--menu--make-plan-5f8f67ed33f5c48ded9c885f8b1d4ffe.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--menu--search-cc6155d3d2269342bec31362f73a07d5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--menu--study-617b9e5fac5658b2d6ea8eb147717310.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--menu--xs-eb9eb3a40bd0626f9b68ad5ed6d3fbc6.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--minus-fe495417be6354103061006330f64d2f.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--mypage-b62c68f70ab2c450f3a6588a5aac1db8.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--normal-adafae4bce57ae55d35f378fbcba4f14.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--overwrite-facc8406689bfa7443486f9b1be250d9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--overwrite-orange-a7c7ab4c5ec2e7d133106ef3c363e1e7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--pen-9cf174c48bd5b6093438a07634370c15.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--plans-lp-fv-01-942a8528bbdd58f97530e1f8d0105fab.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--plans-lp-fv-02-aeae8c515be6966b6e5fd73ff4cd1c23.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--plans-lp-fv-03-7e561cfb94c2c775d1831dde515c8078.png\";","module.exports = __webpack_public_path__ + \"media/images/icon--plus-f812f915f0ada22a9488c202901ec023.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--plus--ui-orange-7eda762139200799296f3558ca5ca093.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--plus--white-39834aec25cd0713276c4a0fdc5e4501.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--plus-square-0452aed11d3abf0b1d173bb6378f79dd.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--question-61843216ee30f01788373dda2e177aad.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--read-more--minus-fbc86b5dcf3f6b523508a561042e2ec7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--read-more--plus-49042ce56ce3f9fde1131095db1e04ce.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--register-f1d26c5665da0c9f8f61d80bd6892d29.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--rising-arrow-78720d746aa8c0402f393f3cf9fefa8a.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--circle-plus--off-87cd13df2039314e3c7efa699b9dce58.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--circle-plus--on-8889ccad1aafc4cbbc256d892439e214.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--select-f0c517b9b92c33a5b04a4070d730e0d5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--select--modal-25f6de03326ae89292adbe671a2bc584.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--submit-btn--off-e0cc07b8eecd9cae6ad71c6622281b3d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--sc--submit-btn--on-4f0463e73febc27a0a4ad48388bd7256.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--scroll-top-7eed017c61f7d2896a18fe52a59e2d9d.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search-3621c9419e37995fde370723d9ce5915.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--enhanced-101395cfd884d391270fd7bc183d2673.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--enhanced--xs-28d4b9b4dbf27d673c84bde845f67f99.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--enhanced--xs--rv-5c38b17f6a0f73bdba369cdd48a64dfb.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--learnSearch-9496beb0ab892889948d75396370e104.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--main-e51fd960c7fc3d4636c3c4acb94c7b61.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--main--type2-45fa7ae0fbe2d4eed332c36cf79e83b9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--main--xs-2841cf9116cb395face958be4a682992.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--research-eddd127bf086fff09d2e0e3f180b2920.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search--xs-e549f5b40fecec770335b85ab58c8aa6.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search-condition-0f1435dcb08c6e7f27ef47fe72e08c28.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--search-result-not-found-028aac544a15da74f9c568694f01b020.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--star-5249c3b04ac267fff1cfcbbae483eb24.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--star--gray-60328463a2747e20df9da9d245baf366.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--star--gray--filled-98288ca344bc4a190d987160ea1113fb.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--star--white-563f88473d1a669c525fbc30bae30bf2.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--star--yellow--filled-ef841dffae28320af0bcb955782c0867.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--success-872628d0db1aceaa4026d80b718327a3.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--card-9e358fc1f21490bc19da29ece672f5ea.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--card--on-aba8073f6bf55df8a65e00ec0b3653b2.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--carousel--next-26d4a50490c6ea5beb5bc97690f160b5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--carousel--prev-bcfd1d6f7b87e19d0f99b3af01f0c806.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--table-0a6c683e5d95382e3039e971801dfae9.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--switching--table--on-a85d55dde6a8125179798d9f0398cc25.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--tooltip-1e21d537dec8e56afd199b9b76d754f7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--top-ov--book-8faec845131034a4af4a9108da07d41a.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--top-ov--pc-9bb71f22209af5cf3a1168cc2c1bfcb6.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--top-ov--pen-8de70a44ef1f71c673f0a9b4e3e68cd7.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--top-ov--sp-be08c4886899cceaaccd1b5bc3740d9f.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--triangle--step-5d41c96c33962f136422d9d4f474e28a.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--upload-ea7da34ef5c118d20013d662ef19267a.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--window-close-014e7cb70b712a1c9b5d1511b234e282.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--window-close--blue-a7f4e2a66e949bcfc6265cdd25cee474.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--window-close--cross-mark--white-2b3d9e7312f65c329dd0daf3426172a8.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--window-close--dark-gray-d0d3ea8d6f0ff000168e3e52a48a37e5.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon--window-close--xs-c56928e5701090044cf2af4c85179e46.svg\";","module.exports = __webpack_public_path__ + \"media/images/icon-newwin-e951c4bce5240ee27663ccde981a85a7.png\";","module.exports = __webpack_public_path__ + \"media/images/icon_shindan-af7004678cf7eb887e0b261f7f9ae3bd.svg\";","module.exports = __webpack_public_path__ + \"media/images/inner-data-object-689eabdbe554db7e7ea88564607e886d.png\";","module.exports = __webpack_public_path__ + \"media/images/label--yayoi-data-support-b9828564369ba3e2a9a0ab80823f1d31.svg\";","module.exports = __webpack_public_path__ + \"media/images/learn-search/fig-kv-98a77d8821b749b08d695ffe26a433d9.svg\";","module.exports = __webpack_public_path__ + \"media/images/learn-search/thumbnail--sample-6f7644f087941f2e0fdf353d5ab2fbf1.png\";","module.exports = __webpack_public_path__ + \"media/images/logo--shikin-choutatu-navi-b10224fe9286baa16477b882fb09c129.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo--shikin-choutatu-navi2-512fbefda66cbed818d4ae1f87a6f585.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-facebook-d92bc035701e4155ae17b61c9632c8eb.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-facebook-circle-4db11559adf2f8f2d0e5603d16218c9e.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-hatenabookmark-db4cdbdb0bf983fb9d9da7c16573f96f.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-line-0bcadb84638290f9ca4c071033f31efc.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-line2-15ead3dd235e006b61407f6802a7f3ac.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-orix-345d1352ddab1ef166167a359eed2392.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-pocket-923e39eae6629b8f1975403cfa6e7693.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-twitter-circle-38678025816590ea55e9a887af32ac03.svg\";","module.exports = __webpack_public_path__ + \"media/images/logo-x-cd5a22ed0b79f9a3c937b47160b3ad4f.svg\";","module.exports = __webpack_public_path__ + \"media/images/lp-fv--shikin-c737ed3f619c0dd79b892fb6b32e6efa.png\";","module.exports = __webpack_public_path__ + \"media/images/lp-sec-fts--consult-0af7b0a1466739a6d82be87828e1e3a4.jpg\";","module.exports = __webpack_public_path__ + \"media/images/lp-sec-fts--create-e3cbcf392719922ceb1982a682bcf0ad.jpg\";","module.exports = __webpack_public_path__ + \"media/images/lp-sec-fts--search-317e2b372871ec9f2bfd7d1ca80a1596.jpg\";","module.exports = __webpack_public_path__ + \"media/images/lp-sec-fts--shindan-da24142c9611be92a550f1b96cf45217.png\";","module.exports = __webpack_public_path__ + \"media/images/lp-sec-fts--study-94baebebc70474569fd2c860de752092.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail-bnr-ad2f4b4d3d0aced997dc6752b57175c7.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/arrow26-70d93ff19dd8ff016821b2853246d493.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/arrow32-4ae8e18cc91ff1c5e41b4c673a28907a.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/banner217-02d039793b98404457989e2a3e7a2014.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/button350-4fc9db03e1d8c301f9234d7b8b8bc1fa.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/button600-7cb3a908821b4308b2f9d3c74417deb9.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/footer_logo-34b3bf2582d6e79eaea70bab05f5ddf2.png\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_04-cb93919c078c3ca1160a0c65fb4b1e48.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_05-1833f06ed42f93d5be9896542cd4d546.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_06-c89ecbe99632104a8a5a34d8d1bbd631.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_07-e36985cb979ffbd38857a523da628b62.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_08-9aee512ae525e903a7049ef9d4d7c9ef.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_09-f54b0c100863635031b50bc14766d208.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/spacer-6c618f4a33f6d26dc8dc477b22c1b9d6.gif\";","module.exports = __webpack_public_path__ + \"media/images/mail_step_1-6cffad5984289b0d95dc7086bd0c4575.png\";","module.exports = __webpack_public_path__ + \"media/images/mail_step_2-c012c55c407fcc1d4943f21b56749606.png\";","module.exports = __webpack_public_path__ + \"media/images/mail_step_3-a504ffd06bf9ab9c55ec750747eac059.png\";","module.exports = __webpack_public_path__ + \"media/images/mask--another-tab-36aaee40e2ddc301b1bf806f6fe533e9.svg\";","module.exports = __webpack_public_path__ + \"media/images/mask--chevron-down-d2f1eeec7b57927c6db58f958f1b94b1.svg\";","module.exports = __webpack_public_path__ + \"media/images/mask--chevron-right-df73f18d6dde66161d2cdbfa77f0eab0.svg\";","module.exports = __webpack_public_path__ + \"media/images/mask--login-85b83b0d43ebee800518196084fa5896.svg\";","module.exports = __webpack_public_path__ + \"media/images/mask--rising-arrow-5f8f7b075d8aaa1095288283c3437eb5.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--bookmark-8cb92f6d9f6b40e2fbfa5d29f190bb0a.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--favorite-a7f7ad8f7a2663cd5d1b30219ec85979.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--illustration-1-9e25f356d68ea332b38bb66a6768f801.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--illustration-2-fb4e3fa7fc49b02b4b30fc47c5ee7dc1.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--mail-739e722c829a4f46e6778901c0c0e7ef.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--search-afab31b08b03be85795abdc01728ae6a.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit--sogyokeikaku-bd88785d10519b642b723d098702af85.svg\";","module.exports = __webpack_public_path__ + \"media/images/member-merit_1-e3af07665f6f11a3a6a01df9360296d3.png\";","module.exports = __webpack_public_path__ + \"media/images/member-merit_2-d3fe933bb9ce3d8282328a85fd8e9a1d.png\";","module.exports = __webpack_public_path__ + \"media/images/member-merit_3-6be2292f73423d3ad232840556a478e6.png\";","module.exports = __webpack_public_path__ + \"media/images/member-merit_4-48089c5353450d9c533bdbcc729fd16f.png\";","module.exports = __webpack_public_path__ + \"media/images/member-merit_5-4c60326ed9e62c157af2014b1e57023b.png\";","module.exports = __webpack_public_path__ + \"media/images/member_step_1-2f9838a8f5be84c91e59c189cb63c548.png\";","module.exports = __webpack_public_path__ + \"media/images/member_step_2-6a49aee49959946156b63a670cb9e725.png\";","module.exports = __webpack_public_path__ + \"media/images/member_step_3-db838595fa0953543012241774c45a68.png\";","module.exports = __webpack_public_path__ + \"media/images/member_step_4-dbcfde53c9d3e98f04f99af12d5885ba.png\";","module.exports = __webpack_public_path__ + \"media/images/member_step_easy-0785ebee2f527385f5cb106b1d117f39.png\";","module.exports = __webpack_public_path__ + \"media/images/object--kirakira-82fe86b15bad475a086996d50945d53e.svg\";","module.exports = __webpack_public_path__ + \"media/images/object--recommend-01-64c5142aea907c8076d67845d4ee1f96.svg\";","module.exports = __webpack_public_path__ + \"media/images/object--recommend-02-893707065bd9f67b9813c3ca00a24713.svg\";","module.exports = __webpack_public_path__ + \"media/images/object--recommend-03-1128f3ef85d9e79c6a29c17fe366945f.svg\";","module.exports = __webpack_public_path__ + \"media/images/object--recommend-mix-3c0c706df2ba27cdc0ea196971922753.png\";","module.exports = __webpack_public_path__ + \"media/images/object--salescopy-gadget-group-a12c59977e944604f8da251ef5adc68d.png\";","module.exports = __webpack_public_path__ + \"media/images/ogp-d2a58b8b71ff1a24423338fe6931e0a8.png\";","module.exports = __webpack_public_path__ + \"media/images/ornament--arrow--main-f5a0a9c7d69eaa740455fa88d80912d6.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--blade-59c14c096d76055f8fa4f7ba35f472a1.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--hexagon-042ea4169202e59bfe8f43c6d3e9c134.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--hexagon--blue-9a5e5166ee5d4469c7218d0243b3a36f.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--hexagon--xs-8439722ab4b44fc02f252fdeb05e0d16.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--mark--main-99b9c396a1c8d3765aced8d8720bb282.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--triangle--main-1195ad2602bcd2b12cff5c28ac377077.svg\";","module.exports = __webpack_public_path__ + \"media/images/ornament--wave-fd761d27cdabc77eaca57323cbe05047.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--next-f68b23803f28932d4858b706ad04d984.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--next--disabled-9362c926585e5a0a341600a6d4fb0b16.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--next--sb-0664198a606f9902647fe2a703cebc42.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--prev-d34cea5061b451658f5de30085935ee8.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--prev--disabled-d0b9dc79cf5c5f61b817d707cd81e998.svg\";","module.exports = __webpack_public_path__ + \"media/images/pagination-switch--prev--sb-6edd860eba9856d102cd5e4303fcd459.svg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-genkinshushi-493e79586dc567e94891b0ae204b306a.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-01-f39cf8b4f42d2ef4575b082f6d5a7e01.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-02-a4cdee0453f207a73001e5de86ccefa0.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-03-7d27a2c0abd22b070678066bf8f2e2a8.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-04-8d36b5b4244f2dec8c9ece0764746af5.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-05-c35bba71b7acccb46912289e2c8a3a90.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-06-e8fe73c0a8039de4464c42257283dabe.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-07-0b8db9e25b9a11451d85c1312ee6f4b1.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-08-67ed4ab39a99c5137da2006db5c652fe.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-related-09-b3246af1746dd8554320ea0bf0a6cb77.jpg\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-sogyo-01-d8a594b4213d36a599b9ea6af65058ac.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-sogyo-02-9dffc24570659df06782828fcf9bdbf5.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-sogyo-03-7cb0d1ddf5867b32265fccfd33520240.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-sogyo-04-34a9227e9b76b2cd328999197cb8405d.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-suchi-01-8eb87bccbb4980cf44c5fb158f54187b.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-suchi-02-26c931360121e4ba029fc532b5903e8c.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-suchi-02-sp-b18c1228aea2316c0a18384f0920ded4.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-suchi-03-8cb65074b63055d584528c750b1be5fb.png\";","module.exports = __webpack_public_path__ + \"media/images/plan-lp-suchi-04-2eb74fc2f12b1394a3bd5f304fa25966.png\";","module.exports = __webpack_public_path__ + \"media/images/register-bnr-f66d119669164f71ca7f43a99a1abe48.jpg\";","module.exports = __webpack_public_path__ + \"media/images/search-ithojokin-bbaf8ef02ad9cdb7a3e8916046ed2eea.png\";","module.exports = __webpack_public_path__ + \"media/images/search-ithojokin-sp-bfedee48a43c8cee2390615cbc9101ce.png\";","module.exports = __webpack_public_path__ + \"media/images/select-form-ui-pair-1901c71ec8746036f0b768778226b5d9.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan-bnr-sp-62c1d4de48e75176b90ef665a9811217.jpg\";","module.exports = __webpack_public_path__ + \"media/images/shindan-result-top-580105bdfc54ce3ebc487c72f5d75a06.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_procedure_1-b0e240e854dc32b252061c23b0a6c915.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_procedure_2-1fe2ff44b54b95de64d630d22d6cfd7d.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q1-4e83aadef4a88dbcf9686290b77da0e7.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q1_sp-4c4b265d9e14c485bcd80151d22f8666.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q2-b7d0b30dfc793a6e212b208381f1a2f8.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q2_sp-b84b3dc8207fc9c05d8198bc48a2dc8e.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q3-aa4a2f74c3c67d55e48c60a9c8cbb0e0.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q3_sp-04aed94dea7e2ca3fea7e3de31355f6c.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q4-66bdcdb1f91a270ae62b2ee8634808c6.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q4_sp-2beb4df86110f9de60ade2329ec69a62.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q5-a21f0be900c55fc1c938d885d146b493.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_q5_sp-c6c978f9ce28c32921a3626864f22472.svg\";","module.exports = __webpack_public_path__ + \"media/images/shindan_specialist_1-50ed1b4f6936dba496a688d10f8f1391.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_specialist_2-493bfbbc2b5dc756ed4d372077919853.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_specialist_3-1e0ab90e9af70dacb7671cd1a714568c.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_top-291558cbff452f8be0926e9181422d8a.png\";","module.exports = __webpack_public_path__ + \"media/images/shindan_top_sp-3bbcff87cbf732c8be067f1338c35bc0.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--accountonline-7c05a2fddb578e27c579fe7d5b8c7aab.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--aoiroonline-de78125e2bd9dcd8165da9e27e4fcd23.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--campaign-upgrade-105262bb4037d0958edef4e4ab1fa654.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--default-dc75230f53e2d1c8a26f33ccdcb9e83b.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--default--type2-9bd1b18a4a0d1531fa1eaa18312c675d.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--itbanking-btob-6212949ca29f71ca06934b6eafdc8054.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--misoca-54d161246f9b703d83350284207aa6cd.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--shiroiroonline-388caf7d65da18b6d89ae138751b33bb.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--support-coronavirus-943da30dff3f75e132a9b04c048fd23c.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--versus-coronavirus-b3f3c57a77e85c5d3fc3c693452e0398.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--whitedeclaration-7ff7bfae23ca134b6fe2cf082f3f1003.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/banner--youtube-yayoichannel-a65596efd06d0ea675d5266cdd60a8de.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--account-32d6f596a271ff3dd8c95c51a4fc38a2.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--base-knowledge-of-working-capital-cfc643e8b16bd0caee95ee088602d4d8.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--calctax-53341cccb5100464f076884d89a1cf98.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--consult-expert-bc02812f8a6b3aa75c0c4b1df4094c11.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--entrenavi-c794a7bf861f4c6743733a5c414f4d93.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--foundation-d5e751aee04ccabade410104c6adc1fe.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--ftrguide-1551090461d4cd2a26b6231a57059fd9.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--hojyokin-kihon-773f9359e3ba0b3b39979531edbaf7b8.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--kaigyoutodoke-86728acb0c34908b73a18629c4013eb3.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--kariire-kihon-90e6647b43114a7a4ad8d66213b95963.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--kigyouline-5f83d65afb2d17cfb254c9ca916bdefe.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--m-and-a-09d4d2d1da13a350d9b1845a355c19b7.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--misoca-dd2c26e9c11e42578c4e51e7f1b66491.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--nintei-shien-kikan-05846cf841a5586488a164e7d61743d9.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--online-yuushi-35132997db8d96aceb06c110d67c9ccf.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--reschedule-2aecba2f39b4d9eae594bf2f11a5200c.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--seidoyuushi-c05f7898376813a76211d46135e421c1.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--shikin-manabu-cc98e965d1da6e7f98b3e6c5651fa3b0.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--shinkoku-ol-e953fbf1f410d18940319f4e210d3f99.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--shinyouhosyoukyoukai-34577a7df088513c9ee3d0ae1f4f2d7d.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--sumoviva-4672cff0bf37c905db06fcca22d73b5f.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--sumoviva-01-58386af8fc79116cce18f4226cbc09d6.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--sumoviva-02-0f80c948785e1ef10c0a97e260cd849a.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--sumoviva-03-d28aff6c0cad6ae0769c7f33e05c0494.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--teleworking-264a30e6ee0f0f6268d5f5025410460e.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--yahouonline-b7cc317a6399d49c631f09c1c1f747a9.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--yayoianshinma-fcc2fbbcd05e9881cf0d13b81f2e46a3.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--yokisenujitai-a39e609dfcfb3f713a725d6e4b4c61ea.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--youtube-yayoichannel-8dfdaab588427c401dd181afeaf00a33.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--zeirishi-shien-73bead42dc8ab23cedd083e52f615f65.jpg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/bnr--sq--zeirishi-shokai-950cf66789fd9a76b578d1057d67e020.jpeg\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/illust--yayoikaikei-5ce19864682010c4e4b42ba35c8965fe.png\";","module.exports = __webpack_public_path__ + \"media/images/sidebar/sogyokeikaku-banner-8d0cf6121593b4acb5fc3685a33b43a0.png\";","module.exports = __webpack_public_path__ + \"media/images/sogyosuchikeikaku-judgement-d5ebfbba8e17ec8ad5011bfc7f4f1fdd.png\";","module.exports = __webpack_public_path__ + \"media/images/sogyosuchikeikaku-plan-1fbf28427a1cfbbe17ebcd93a3b21a5a.png\";","module.exports = __webpack_public_path__ + \"media/images/sougyokeikaku-excel-8c36839dbe76c37db6a0a2c217c50efb.png\";","module.exports = __webpack_public_path__ + \"media/images/sprite-general-388b85ce8eb519fa794a63ff1d5f942a.png\";","module.exports = __webpack_public_path__ + \"media/images/suchi-banner-middle-a997f1528215f03716f57a24a32388e2.jpg\";","module.exports = __webpack_public_path__ + \"media/images/suchi-banner-small-2f5add09a7cd67b59d4994ff73cfed1e.png\";","module.exports = __webpack_public_path__ + \"media/images/suuchi-banner-33d8d6ef2911086195bd1458a73cbc33.svg\";","module.exports = __webpack_public_path__ + \"media/images/suuchi-phone-96f06370682c9e14f7b1532d3849bf42.png\";","module.exports = __webpack_public_path__ + \"media/images/tag--yayoi-data-support-534e98a9f1f0500ca6ce55b8fb20e697.svg\";","module.exports = __webpack_public_path__ + \"media/images/top-fv--mv-f4afc67ee485ac1091bc5c60f3e15bb9.svg\";","module.exports = __webpack_public_path__ + \"media/images/top-useful-situations-1-23d0ee909de0d808f254304caa11928a.svg\";","module.exports = __webpack_public_path__ + \"media/images/top-useful-situations-2-245d921856cc843e3fbf9801014b2b0d.svg\";","module.exports = __webpack_public_path__ + \"media/images/top-useful-situations-3-231b89f27d8e79d82245059dc9e86aca.svg\";","module.exports = __webpack_public_path__ + \"media/images/top-useful-situations-4-84ce36a0d878752f9eedf5b87482a70f.svg\";","module.exports = __webpack_public_path__ + \"media/images/wave-0f8f6c732653ee09d4a73509094d72c8.png\";","module.exports = __webpack_public_path__ + \"media/images/wave_registered-41eebc21474f712bb62d7a592a5e448e.png\";","module.exports = __webpack_public_path__ + \"media/images/wave_sp-ad05bcf1005b41ec7d033a6a855acc9f.png\";","module.exports = __webpack_public_path__ + \"media/images/wave_white-2f0929a3ac3021c6a2b533e67d76e676.png\";","/*\ntry {\n let sales1 = 0;\n let sales2 = 0;\n let sales3 = 0;\n let cost1 = 0;\n let cost2 = 0;\n let cost3 = 0;\n let benefit1 = 0;\n let benefit2 = 0;\n let benefit3 = 0;\n\n let suuchiShikin = 0;\n let suuchiHiyou = 0;\n\n const salesInput1 = document.getElementById(\"sales1\");\n const salesInput2 = document.getElementById(\"sales2\");\n const salesInput3 = document.getElementById(\"sales3\");\n const costInputs1 = document.querySelectorAll(\".suuchiCost1\");\n const costInputs2 = document.querySelectorAll(\".suuchiCost2\");\n const costInputs3 = document.querySelectorAll(\".suuchiCost3\");\n const benefitInput1 = document.getElementById(\"benefit1\");\n const benefitInput2 = document.getElementById(\"benefit2\");\n const benefitInput3 = document.getElementById(\"benefit3\");\n const suuchiNumBtnSets = document.querySelectorAll(\".suuchi-numBtn\");\n const shikinInputs = document.querySelectorAll(\".suuchiShikin\");\n const hiyouInputs = document.querySelectorAll(\".suuchiHiyou\");\n\n function handleSalesChange() {\n sales1 = salesInput1.value ? parseInt(salesInput1.value, 10) : 0;\n sales2 = salesInput2.value ? parseInt(salesInput2.value, 10) : 0;\n sales3 = salesInput3.value ? parseInt(salesInput3.value, 10) : 0;\n }\n function handleBenefitChange() {\n benefit1 = benefitInput1.value ? parseInt(benefitInput1.value, 10) : 0;\n benefit2 = benefitInput2.value ? parseInt(benefitInput2.value, 10) : 0;\n benefit3 = benefitInput3.value ? parseInt(benefitInput3.value, 10) : 0;\n }\n function handleCostChange() {\n cost1 = 0;\n cost2 = 0;\n cost3 = 0;\n costInputs1.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n cost1 += inputValue;\n });\n costInputs2.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n cost2 += inputValue;\n });\n costInputs3.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n cost3 += inputValue;\n });\n }\n function handleShikinChange() {\n suuchiShikin = 0;\n shikinInputs.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n suuchiShikin += inputValue;\n });\n }\n function handleHiyouChange() {\n suuchiHiyou = 0;\n hiyouInputs.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n suuchiHiyou += inputValue;\n });\n }\n\n function calcBenefit() {\n benefitInput1.value = sales1 - cost1;\n benefitInput2.value = sales2 - cost2;\n benefitInput3.value = sales3 - cost3;\n handleBenefitChange();\n }\n\n function calcCosts() {\n if (cost1 !== 0) {\n costInputs1.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n const inputRatio = inputValue / cost1;\n const newCost = sales1 - benefit1;\n input.value = Math.round(newCost * inputRatio);\n });\n }\n if (cost2 !== 0) {\n costInputs2.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n const inputRatio = inputValue / cost2;\n const newCost = sales2 - benefit2;\n input.value = Math.round(newCost * inputRatio);\n });\n }\n if (cost3 !== 0) {\n costInputs3.forEach((input) => {\n const inputValue = input.value ? parseInt(input.value, 10) : 0;\n const inputRatio = inputValue / cost3;\n const newCost = sales3 - benefit3;\n input.value = Math.round(newCost * inputRatio);\n });\n }\n handleCostChange();\n }\n\n function setSimulationBar(\n sales,\n cost,\n benefit,\n barId,\n salesId,\n costId,\n benefitId\n ) {\n const costRatio = (cost / sales) * 100;\n const targetBar = document.querySelectorAll(`.${barId}`);\n const salesPara = document.querySelectorAll(`.${salesId}`);\n const costPara = document.querySelectorAll(`.${costId}`);\n const benefitPara = document.querySelectorAll(`.${benefitId}`);\n const minusCaution = document.getElementById(\"suuchiCaution\");\n const cautionAreasKaigyou = document.querySelectorAll(\n \".cautionAreaKaigyou\"\n );\n const cautionAreas1 = document.querySelectorAll(\".cautionArea1\");\n const cautionAreas2 = document.querySelectorAll(\".cautionArea2\");\n const cautionAreas3 = document.querySelectorAll(\".cautionArea3\");\n\n targetBar.forEach((element) => {\n element.style.width = `${costRatio}%`;\n if (benefit < 0) {\n element.style.width = \"100%\";\n element.style.backgroundColor = \"#FF2E00\";\n } else {\n element.style.width = `${costRatio}%`;\n element.style.backgroundColor = \"#edf2f9\";\n }\n });\n\n salesPara.forEach((element) => (element.textContent = sales));\n costPara.forEach((element) => (element.textContent = cost));\n benefitPara.forEach((element) => (element.textContent = benefit));\n\n if (suuchiShikin - suuchiHiyou < 0) {\n cautionAreasKaigyou.forEach(\n (element) => (element.style.color = \"#FF2E00\")\n );\n } else {\n cautionAreasKaigyou.forEach(\n (element) => (element.style.color = \"#436fc0\")\n );\n }\n if (benefit1 < 0) {\n cautionAreas1.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas1.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n if (benefit2 < 0) {\n cautionAreas2.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas2.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n if (benefit3 < 0) {\n cautionAreas3.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas3.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n\n if (\n suuchiShikin - suuchiHiyou < 0 ||\n benefit1 < 0 ||\n benefit2 < 0 ||\n benefit3 < 0\n ) {\n minusCaution.classList.add(\"display\");\n } else {\n minusCaution.classList.remove(\"display\");\n }\n }\n\n salesInput1.addEventListener(\"change\", function () {\n handleSalesChange();\n calcBenefit();\n setSimulationBar(\n sales1,\n cost1,\n benefit1,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\"\n );\n });\n salesInput2.addEventListener(\"change\", function () {\n handleSalesChange();\n calcBenefit();\n setSimulationBar(\n sales2,\n cost2,\n benefit2,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\"\n );\n });\n salesInput3.addEventListener(\"change\", function () {\n handleSalesChange();\n calcBenefit();\n setSimulationBar(\n sales3,\n cost3,\n benefit3,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\"\n );\n });\n benefitInput1.addEventListener(\"change\", function () {\n handleBenefitChange();\n calcCosts();\n setSimulationBar(\n sales1,\n cost1,\n benefit1,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\"\n );\n });\n benefitInput2.addEventListener(\"change\", function () {\n handleBenefitChange();\n calcCosts();\n setSimulationBar(\n sales2,\n cost2,\n benefit2,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\"\n );\n });\n benefitInput3.addEventListener(\"change\", function () {\n handleBenefitChange();\n calcCosts();\n setSimulationBar(\n sales3,\n cost3,\n benefit3,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\"\n );\n });\n costInputs1.forEach((input) => {\n input.addEventListener(\"change\", function () {\n handleCostChange();\n calcBenefit();\n setSimulationBar(\n sales1,\n cost1,\n benefit1,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\"\n );\n });\n });\n costInputs2.forEach((input) => {\n input.addEventListener(\"change\", function () {\n handleCostChange();\n calcBenefit();\n setSimulationBar(\n sales2,\n cost2,\n benefit2,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\"\n );\n });\n });\n costInputs3.forEach((input) => {\n input.addEventListener(\"change\", function () {\n handleCostChange();\n calcBenefit();\n setSimulationBar(\n sales3,\n cost3,\n benefit3,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\"\n );\n });\n });\n shikinInputs.forEach((input) => {\n input.addEventListener(\"change\", function () {\n handleShikinChange();\n setSimulationBar(\n suuchiShikin,\n suuchiHiyou,\n suuchiShikin - suuchiHiyou,\n \"kaigyouBar\",\n \"suuchiShikin\",\n \"suuchiHiyou\",\n \"suuchiShikinzan\"\n );\n });\n });\n hiyouInputs.forEach((input) => {\n input.addEventListener(\"change\", function () {\n handleHiyouChange();\n setSimulationBar(\n suuchiShikin,\n suuchiHiyou,\n suuchiShikin - suuchiHiyou,\n \"kaigyouBar\",\n \"suuchiShikin\",\n \"suuchiHiyou\",\n \"suuchiShikinzan\"\n );\n });\n });\n\n suuchiNumBtnSets.forEach((numBtnSet) => {\n var suuchiInput = numBtnSet.querySelector(\".suuchiInput\");\n var suuchiPlus = numBtnSet.querySelector(\".suuchiPlus\");\n var suuchiMinus = numBtnSet.querySelector(\".suuchiMinus\");\n\n suuchiPlus.addEventListener(\"click\", function () {\n handleSalesChange();\n handleBenefitChange();\n handleCostChange();\n handleShikinChange();\n handleHiyouChange();\n if (\n suuchiInput.classList.contains(\"suuchiCost1\") ||\n suuchiInput.classList.contains(\"suuchiCost2\") ||\n suuchiInput.classList.contains(\"suuchiCost3\") ||\n suuchiInput.id === \"sales1\" ||\n suuchiInput.id === \"sales2\" ||\n suuchiInput.id === \"sales3\"\n ) {\n calcBenefit();\n } else if (\n suuchiInput.id === \"benefit1\" ||\n suuchiInput.id === \"benefit2\" ||\n suuchiInput.id === \"benefit3\"\n ) {\n calcCosts();\n }\n setSimulationBar(\n sales1,\n cost1,\n benefit1,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\"\n );\n setSimulationBar(\n sales2,\n cost2,\n benefit2,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\"\n );\n setSimulationBar(\n sales3,\n cost3,\n benefit3,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\"\n );\n setSimulationBar(\n suuchiShikin,\n suuchiHiyou,\n suuchiShikin - suuchiHiyou,\n \"kaigyouBar\",\n \"suuchiShikin\",\n \"suuchiHiyou\",\n \"suuchiShikinzan\"\n );\n });\n suuchiMinus.addEventListener(\"click\", function () {\n handleSalesChange();\n handleBenefitChange();\n handleCostChange();\n handleShikinChange();\n handleHiyouChange();\n if (\n suuchiInput.classList.contains(\"suuchiCost1\") ||\n suuchiInput.classList.contains(\"suuchiCost2\") ||\n suuchiInput.classList.contains(\"suuchiCost3\") ||\n suuchiInput.id === \"sales1\" ||\n suuchiInput.id === \"sales2\" ||\n suuchiInput.id === \"sales3\"\n ) {\n calcBenefit();\n } else if (\n suuchiInput.id === \"benefit1\" ||\n suuchiInput.id === \"benefit2\" ||\n suuchiInput.id === \"benefit3\"\n ) {\n calcCosts();\n }\n setSimulationBar(\n sales1,\n cost1,\n benefit1,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\"\n );\n setSimulationBar(\n sales2,\n cost2,\n benefit2,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\"\n );\n setSimulationBar(\n sales3,\n cost3,\n benefit3,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\"\n );\n setSimulationBar(\n suuchiShikin,\n suuchiHiyou,\n suuchiShikin - suuchiHiyou,\n \"kaigyouBar\",\n \"suuchiShikin\",\n \"suuchiHiyou\",\n \"suuchiShikinzan\"\n );\n });\n });\n} catch (error) {\n console.warn(\"ã“ã®ãƒšãƒ¼ã‚¸ã«ã¯æ•°å€¤ãƒœã‚¿ãƒ³ã¯ã‚ã‚Šã¾ã›ã‚“\" + error);\n}\n*/\n\n//スクãƒãƒ¼ãƒ«ã«ã‚ˆã‚‹ã‚°ãƒ©ãƒ•è¡¨ç¤ºãƒ»éžè¡¨ç¤º\ntry {\n const suuchiGraph = document.getElementById(\"suuchiGraph\");\n const suuchiGraphScroll = document.getElementById(\"suuchiGraphScroll\");\n\n window.onscroll = function () {\n let scrollY = window.scrollY;\n if (suuchiGraph && suuchiGraphScroll) {\n if (scrollY > 400) {\n suuchiGraph.style.display = \"none\";\n suuchiGraphScroll.style.display = \"block\";\n } else {\n suuchiGraph.style.display = \"block\";\n suuchiGraphScroll.style.display = \"none\";\n }\n }\n };\n} catch (error) {\n console.warn(\"ã“ã®ãƒšãƒ¼ã‚¸ã«ã¯ã‚°ãƒ©ãƒ•ã¯ã‚ã‚Šã¾ã›ã‚“\" + error);\n}\n\nexport function handleKaigyoShikinSetSimulationBar(kaigyoShikin, kaigyoHiyo, kaigyoShikinZan) {\n const profit1y = null;\n const profit2y = null;\n const profit3y = null;\n\n // é–‹æ¥è³‡é‡‘・開æ¥è²»ç”¨\n setSimulationBar(\n kaigyoShikin,\n kaigyoHiyo,\n kaigyoShikinZan,\n \"kaigyouBar\",\n \"suuchiShikin\",\n \"suuchiHiyou\",\n \"suuchiShikinzan\",\n kaigyoShikin,\n kaigyoHiyo,\n profit1y,\n profit2y,\n profit3y\n );\n}\n\nexport function handleUntenShikinSetSimulationBar(\n sales1y, sales2y, sales3y,\n cost1y, cost2y, cost3y,\n profit1y, profit2y, profit3y\n) {\n const kaigyoShikin = null;\n const kaigyoHiyo = null;\n\n // 売上・é‹è»¢è³‡é‡‘ 1å¹´ç›®\n setSimulationBar(\n sales1y,\n cost1y,\n profit1y,\n \"suuchiBar1\",\n \"suuchiSalesDisplay1\",\n \"suuchiCostDisplay1\",\n \"suuchiBenefitDisplay1\",\n kaigyoShikin,\n kaigyoHiyo,\n profit1y,\n profit2y,\n profit3y\n );\n\n // 売上・é‹è»¢è³‡é‡‘ 2å¹´ç›®\n setSimulationBar(\n sales2y,\n cost2y,\n profit2y,\n \"suuchiBar2\",\n \"suuchiSalesDisplay2\",\n \"suuchiCostDisplay2\",\n \"suuchiBenefitDisplay2\",\n kaigyoShikin,\n kaigyoHiyo,\n profit1y,\n profit2y,\n profit3y\n );\n\n // 売上・é‹è»¢è³‡é‡‘ 3å¹´ç›®\n setSimulationBar(\n sales3y,\n cost3y,\n profit3y,\n \"suuchiBar3\",\n \"suuchiSalesDisplay3\",\n \"suuchiCostDisplay3\",\n \"suuchiBenefitDisplay3\",\n kaigyoShikin,\n kaigyoHiyo,\n profit1y,\n profit2y,\n profit3y\n );\n}\n\nfunction setSimulationBar(\n sales,\n cost,\n benefit,\n barId,\n salesId,\n costId,\n benefitId,\n suuchiShikin,\n suuchiHiyou,\n benefit1,\n benefit2,\n benefit3\n) {\n const costRatio = (cost / sales) * 100;\n const targetBar = document.querySelectorAll(`.${barId}`);\n const salesPara = document.querySelectorAll(`.${salesId}`);\n const costPara = document.querySelectorAll(`.${costId}`);\n const benefitPara = document.querySelectorAll(`.${benefitId}`);\n const cautionAreasKaigyou = document.querySelectorAll(\n \".cautionAreaKaigyou\"\n );\n const cautionAreas1 = document.querySelectorAll(\".cautionArea1\");\n const cautionAreas2 = document.querySelectorAll(\".cautionArea2\");\n const cautionAreas3 = document.querySelectorAll(\".cautionArea3\");\n\n targetBar.forEach((element) => {\n element.style.width = `${costRatio}%`;\n if (benefit < 0) {\n element.style.width = \"100%\";\n element.style.backgroundColor = \"#FF2E00\";\n } else {\n element.style.width = `${costRatio}%`;\n element.style.backgroundColor = \"#edf2f9\";\n }\n });\n\n salesPara.forEach((element) => (element.textContent = sales.toLocaleString('ja-JP')));\n costPara.forEach((element) => (element.textContent = cost.toLocaleString('ja-JP')));\n benefitPara.forEach((element) => (element.textContent = benefit.toLocaleString('ja-JP')));\n\n if (suuchiShikin != null && suuchiHiyou != null) {\n if (suuchiShikin - suuchiHiyou < 0) {\n cautionAreasKaigyou.forEach(\n (element) => (element.style.color = \"#FF2E00\")\n );\n } else {\n cautionAreasKaigyou.forEach(\n (element) => (element.style.color = \"#436fc0\")\n );\n }\n }\n\n if (benefit1 != null) {\n if (benefit1 < 0) {\n cautionAreas1.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas1.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n }\n if (benefit2 != null) {\n if (benefit2 < 0) {\n cautionAreas2.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas2.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n }\n if (benefit3 != null) {\n if (benefit3 < 0) {\n cautionAreas3.forEach((element) => (element.style.color = \"#FF2E00\"));\n } else {\n cautionAreas3.forEach((element) => (element.style.color = \"#436fc0\"));\n }\n }\n}\n","//* ã€å…±é€šã€‘ ---------------------- *\n//* top ã¸æˆ»ã‚‹ ---------------------- *\n$(function() {\n const $backToTop = $(\"#scrollTop\");\n\n if ($backToTop.length) {\n $(window).on(\"scroll\", function () {\n if ($(this).scrollTop() > 100) {\n $backToTop.fadeIn('fast');\n } else {\n $backToTop.fadeOut('fast');\n }\n });\n\n $backToTop.on(\"click\" , function () {\n $('body,html').animate({\n scrollTop: 0\n }, 100);\n return false;\n });\n\n $(window).on(\"load resize\", function() {\n $(window).trigger(\"scroll\");\n });\n }\n});\n\n// ãŠçŸ¥ã‚‰ã›ä¸€è¦§ã®iframeã®é«˜ã•ã‚’load, resize時ã«å–å¾—ã™ã‚‹\nfunction getIframeHeight () {\n try {\n const getHeight = () => {\n $('#news-frame').height(0);\n $('#news-frame').height($('#news-frame').get(0).contentWindow.document.documentElement.scrollHeight);\n }\n setTimeout(getHeight, 10);\n } catch (e) {\n }\n}\n$('#news-frame').on('load', function(){\n getIframeHeight();\n});\n$(window).on('resize', function(){\n if ($('#news-frame').length) {\n getIframeHeight();\n }\n});\n\n// 固定フッターã®é«˜ã•ã‚’カスタムプãƒãƒ‘ティã«ã‚»ãƒƒãƒˆã™ã‚‹\nconst fixedFooter = document.getElementsByClassName('js-fixed-footer')[0];\nif (fixedFooter) {\n function setCustomPropertyFixedFooterHeight() {\n const fixedFooterHeight = fixedFooter.offsetHeight;\n document.documentElement.style.setProperty('--js-site-fixed-footer-height', fixedFooterHeight + 'px');\n }\n window.addEventListener('DOMContentLoaded', setCustomPropertyFixedFooterHeight);\n window.addEventListener('resize', setCustomPropertyFixedFooterHeight);\n}\n\n//* ã€äº‹æ¥è€…ç”»é¢ã€‘ ---------------------- *\n//* top メニュー ---------------------- *\n/* リサイズ時ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ï¼ˆtoggle)を元ã«æˆ»ã™æŒ™å‹• */\n$(window).on(\"resize\", function(){\n $('#mainmenuNav').removeClass(\"collapse\");\n});\n/* オーãƒãƒ¼ãƒ¬ã‚¤éƒ¨åˆ†ã‚¯ãƒªãƒƒã‚¯æ™‚ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ï¼ˆtoggle)を元ã«æˆ»ã™æŒ™å‹• */\n$('#mainmenuOverlay').on(\"click\" , function() {\n $('#mainmenuNav').removeClass(\"collapse\");\n});\n\n//* 追従メニュー(PC) ---------------------- *\n$(function() {\n $('#chaseMenu').hide();\n $(window).on(\"scroll\", function () {\n if ($(this).scrollTop() > 550) {\n $('#chaseMenu').fadeIn('fast');\n } else {\n $('#chaseMenu').fadeOut('fast');\n }\n });\n $('#m-chasemenu__button--detailsearch').on(\"click\" , function() {\n $('#mainmenuNav').removeClass(\"show\");\n $('#mainmenuToggler').attr({'aria-expanded' : 'false'});\n if($('#controller-detailsearch').hasClass(\"ds-open\")){\n $('#controller-detailsearch').removeClass(\"ds-open\").toggleClass(\"ds-open\");\n }else{\n $('#controller-detailsearch').toggleClass(\"ds-open\");\n }\n $('body,html').animate({\n scrollTop: 0\n }, 100);\n return false;\n });\n});\n\n//* 追従メニュー(モãƒã‚¤ãƒ«ï¼‰ ---------------------- *\n$(function() {\n $('#chaseMenuSmp').hide();\n $('#chaseFooterSp').hide();\n $(window).on(\"scroll\", function () {\n if ($(this).scrollTop() > 100) {\n $('#chaseMenuSmp').fadeIn('fast');\n $('#chaseFooterSp').fadeIn('fast');\n } else {\n $('#chaseMenuSmp').fadeOut('fast');\n $('#chaseFooterSp').fadeOut('fast');\n }\n });\n $('#m-chasemenu--smp__button--detailsearch').on(\"click\" , function() {\n $('#mainmenuNav').removeClass(\"show\");\n $('#mainmenuToggler').attr({'aria-expanded' : 'false'});\n if($('#controller-detailsearch').hasClass(\"ds-open\")){\n $('#controller-detailsearch').removeClass(\"ds-open\").toggleClass(\"ds-open\");\n }else{\n $('#controller-detailsearch').toggleClass(\"ds-open\");\n }\n $('body,html').animate({\n scrollTop: 0\n }, 100);\n return false;\n });\n $('#m-chasemenu--ipad__button--detailsearch').on(\"click\" , function() {\n $('#mainmenuNav').removeClass(\"show\");\n $('#mainmenuToggler').attr({'aria-expanded' : 'false'});\n if($('#controller-detailsearch').hasClass(\"ds-open\")){\n $('#controller-detailsearch').removeClass(\"ds-open\").toggleClass(\"ds-open\");\n }else{\n $('#controller-detailsearch').toggleClass(\"ds-open\");\n }\n $('body,html').animate({\n scrollTop: 0\n }, 100);\n return false;\n });\n});\n\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ãƒ»ã€Œåœ°åŸŸã€ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹å§‹å‹•\n$('.m-checkbox-ex__select-form').on(\"click\" , function() {\n $(this).parent('.m-checkbox-ex').toggleClass(\"open\");\n});\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ãƒ»ã€Œåœ°åŸŸã€ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹å¤–をクリックã—ãŸå ´åˆã«åˆæœŸçŠ¶æ…‹ã«æˆ»ã™\n$(document).on(\"click\" ,function (e) {\n var container = $('.m-checkbox-ex');\n if (container.has(e.target).length === 0)\n {\n container.removeClass(\"open\");\n }\n});\n\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ãƒ»ã€Œäº‹æ¥å½¢æ…‹ã€ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹å§‹å‹•\n$(\"select\").on(\"click\" , function() {\n $(this).parent('.main-firstview__selectiveobj').toggleClass(\"open\");\n});\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ãƒ»ã€Œäº‹æ¥å½¢æ…‹ã€ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã‚»ãƒ¬ã‚¯ãƒˆé€£å‹•\n$(\".business-type\").on(\"change\" , function() {\n var selection = $(this).find(\"option:selected\").text();\n $('.main-firstview__selected').html(selection);\n});\n// ページæ画時ã«é¸æŠžæ¸ˆã¿ã®äº‹æ¥å½¢æ…‹ã‚’ラベルã«åæ˜ ã™ã‚‹\n$(function() {\n var selectedText = $('.main-firstview__choices.business-type option:selected').text();\n $('.main-firstview__selected').text(selectedText);\n // åˆæœŸå€¤ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆã€ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è‰²ã‚’戻ã™\n if($('.main-firstview__choices.business-type').val() !== \"\"){\n $('.main-firstview__selected').removeClass('default');\n $('.checkbox-ex--flat__select.business-type').removeClass('default');\n }\n});\n$(function() {\n var selectedText = $('.lp-fv-search .main-firstview__choices.business-type option:selected').text();\n $('.lp-fv-search .main-firstview__selected').text(selectedText);\n // åˆæœŸå€¤ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆã€ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è‰²ã‚’戻ã™\n if($('.lp-fv-search .main-firstview__choices.business-type').val() !== \"\"){\n $('.lp-fv-search .main-firstview__selected').removeClass('default');\n $('.lp-fv-search .checkbox-ex--flat__select.business-type').removeClass('default');\n }\n});\n$(function() {\n var selectedText = $('.js-search_submit_button_submit_form_lp_1 .main-firstview__choices.business-type option:selected').text();\n $('.js-search_submit_button_submit_form_lp_1 .main-firstview__selected').text(selectedText);\n // åˆæœŸå€¤ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆã€ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è‰²ã‚’戻ã™\n if($('.js-search_submit_button_submit_form_lp_1 .main-firstview__choices.business-type').val() !== \"\"){\n $('.js-search_submit_button_submit_form_lp_1 .main-firstview__selected').removeClass('default');\n $('.js-search_submit_button_submit_form_lp_1 .checkbox-ex--flat__select.business-type').removeClass('default');\n }\n});\n$(function() {\n var selectedText = $('.js-search_submit_button_submit_form_lp_2 .main-firstview__choices.business-type option:selected').text();\n $('.js-search_submit_button_submit_form_lp_2 .main-firstview__selected').text(selectedText);\n // åˆæœŸå€¤ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆã€ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è‰²ã‚’戻ã™\n if($('.js-search_submit_button_submit_form_lp_2 .main-firstview__choices.business-type').val() !== \"\"){\n $('.js-search_submit_button_submit_form_lp_2 .main-firstview__selected').removeClass('default');\n $('.js-search_submit_button_submit_form_lp_2 .checkbox-ex--flat__select.business-type').removeClass('default');\n }\n});\n// ページæ画時ã«å¾“æ¥å“¡æ•°ã€æ¥ç¨®ã€ç¶™ç¶šå¹´æ•°ã€è³‡æœ¬é‡‘é¡ã€å¸Œæœ›é‡‘é¡ã«åˆæœŸå€¤ãŒã‚ã£ãŸå ´åˆã«ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è‰²ã‚’戻ã™\n$(function() {\n $('select.checkbox-ex--flat__select').each(function(){\n if ($(this).val() !== \"\"){\n $(this).removeClass('default');\n }\n });\n});\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ãƒ»ã€Œäº‹æ¥å½¢æ…‹ã€ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹å¤–をクリックã—ãŸå ´åˆã«åˆæœŸçŠ¶æ…‹ã«æˆ»ã™\n$(document).on(\"click\" ,function (e) {\n var container = $('.main-firstview__selectiveobj');\n if (container.has(e.target).length === 0)\n {\n container.removeClass(\"open\");\n }\n});\n\n// ファーストビュー(事æ¥è€…ç”»é¢ï¼‰ã®è©³ç´°æ¤œç´¢å§‹å‹•\n$('#result-detailsearch').on(\"click\" , function() {\n $('#controller-detailsearch').addClass(\"ds-open\");\n});\n\n// セレクトãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹å§‹å‹•\n$('.checkbox-ex__select-form').on(\"click\" , function() {\n //('[class^=checkbox-ex]').removeClass(\"open\");\n if($('[class^=checkbox-ex]').hasClass(\"open\")){\n $('[class^=checkbox-ex]').removeClass(\"open\");\n }else{\n $(this).parent('[class^=checkbox-ex]').toggleClass(\"open\");\n }\n});\n// セレクトãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹å¤–をクリックã—ãŸå ´åˆã«åˆæœŸçŠ¶æ…‹ã«æˆ»ã™\n$(document).on(\"click\" ,function (e) {\n var container = $('[class^=checkbox-ex]');\n if (container.has(e.target).length === 0)\n {\n container.removeClass(\"open\");\n }\n});\n// ä»–ã®ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã‚’é–‹ã„ãŸæ™‚ã«ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã‚’é–‰ã˜ã‚‹\n$('.checkbox-ex--flat__select').on('click', function (e) {\n $('[class^=checkbox-ex]').removeClass(\"open\");\n});\n\n// 詳細検索画é¢ã®ã€Œäº‹æ¥å½¢æ…‹ã€ãƒ»ã€Œå¾“æ¥å“¡æ•°ã€ãƒ»ã€Œæ¥ç¨®ã€ãƒ»ã€Œç¶™ç¶šå¹´æ•°ã€ãƒ»ã€Œè³‡æœ¬é‡‘é¡ã€ãƒ»ã€Œå¸Œæœ›é‡‘é¡ã€ãƒ»ã€Œèª²é¡Œãƒ»è³‡é‡‘使途ã€ã‚’é¸æŠžã—ãŸå ´åˆã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆï¼ˆclass=\"default\")を動ã‹ã™\n$('.checkbox-ex--flat__select').on('change', function (e) {\n if ($(this).val() !== \"\"){\n $(this).removeClass(\"default\");\n } else {\n $(this).addClass(\"default\");\n }\n});\n\n// 絞り込ã¿æ¤œç´¢ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®ãƒ¡ã‚¤ãƒ³ã§ä½¿ã‚ã‚Œã¦ã„ãªã„é …ç›®ã«ä¸€ã¤ã§ã‚‚åˆæœŸå€¤ãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆã€\n// ç”»é¢æ画時ã«çµžã‚Šè¾¼ã¿æ¤œç´¢ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’表示ã—ãŸçŠ¶æ…‹ã«ã™ã‚‹\n$(function() {\n var isDefaultValueSet = hasInputValue();\n var isDetailSearch = $('#is_detail_search').val();\n // ç”»é¢ã‚µã‚¤ã‚ºãŒ768pxよりå°ã•ã„å ´åˆã¯è¡¨ç¤ºã—ãªã„\n var windowWidth = $(window).width();\n if ((isDefaultValueSet || isDetailSearch === 'true') && windowWidth >= 768) {\n $('#controller-detailsearch').toggleClass(\"ds-open\");\n }\n});\n\n$('.controller-upload__button--delete').on('click', function (e) {\n var url = location.href\n if (url.match(/new/)) {\n window.location.href = url;\n } else {\n window.location.href = url + \"/new\";\n }\n});\n\n// 事æ¥å½¢æ…‹ãŒon change時ã®æŒ™å‹•\n$('#detail_search_q_anken_business_type_cd').on('change', function() {\n businessTypeValidation($(this));\n});\n// ãƒãƒ¼ãƒ‰æ™‚ã®äº‹æ¥å½¢æ…‹ã®æŒ™å‹•\n$(function() {\n if ($('#detail_search_q_anken_business_type_cd').length) {\n businessTypeValidation($('#detail_search_q_anken_business_type_cd'));\n }\n});\n\nfunction businessTypeValidation (element) {\n // 事æ¥å½¢æ…‹ãŒã€Œå‰µæ¥å‰ã€ã®æ™‚ã€ã€Œå¾“æ¥å“¡æ•°ã€ã¨ã€Œç¶™ç¶šå¹´æ•°ã€ã‚’éžæ´»æ€§çŠ¶æ…‹ã¨ã™ã‚‹\n if (element.val() === \"創æ¥å‰\") {\n $('#q_anken_employee_number').val(\"\").addClass(\"default\").prop('disabled', true);\n $('#q_anken_business_period_cd').val(\"\").addClass(\"default\").prop('disabled', true);\n $('#mainSearchConditionEmployeeNumberSelect').val(\"\").prop('disabled', true);\n $('#mainSearchConditionBusinessPeriodCdSelect').val(\"\").prop('disabled', true);\n } else {\n $('#q_anken_employee_number').prop('disabled', false);\n $('#q_anken_business_period_cd').prop('disabled', false);\n $('#mainSearchConditionEmployeeNumberSelect').prop('disabled', false);\n $('#mainSearchConditionBusinessPeriodCdSelect').prop('disabled', false);\n }\n // 事æ¥å½¢æ…‹ãŒã€Œæ³•äººã€ã¾ãŸã¯åˆæœŸå€¤ä»¥å¤–ã®å ´åˆã€ã€Œè³‡æœ¬é‡‘é¡ã€ã‚’éžæ´»æ€§çŠ¶æ…‹ã¨ã™ã‚‹\n if (element.val() === \"法人\" || element.val() === \"\") {\n $('#q_anken_capital_amount').prop('disabled', false);\n $('#mainSearchConditionCapitalAmountSelect').prop('disabled', false);\n } else {\n $('#q_anken_capital_amount').val(\"\").addClass(\"default\").prop('disabled', true);\n $('#mainSearchConditionCapitalAmountSelect').val(\"\").prop('disabled', true);\n }\n\n $('#mainSearchConditionEmployeeNumberSelect').trigger('change');\n $('#mainSearchConditionBusinessPeriodCdSelect').trigger('change');\n $('#mainSearchConditionCapitalAmountSelect').trigger('change');\n}\n\nexport function hasInputValue() {\n var isDefaultValueSet = false;\n // 地域(市区町æ‘) checkedCitiesã®é…列ã«ã¦åˆ¤å®š\n if (typeof checkedCities !== 'undefined' && checkedCities.length !== 0) {\n isDefaultValueSet = true;\n }\n // 従æ¥å“¡æ•°\n if ($('#q_anken_employee_number').val()) {\n isDefaultValueSet = true;\n }\n // æ¥ç¨®åˆ†é¡ž\n const industoryInputClassName = \".chex-ind\"\n var checkboxExIndustory = $(industoryInputClassName).first().closest(\".checkbox-ex\");\n if (checkboxExIndustory.find('input' + industoryInputClassName + ':checked').length) {\n isDefaultValueSet = true;\n }\n // 継続年数\n if ($('#q_anken_business_period_cd').val()) {\n isDefaultValueSet = true;\n }\n // 資本金é¡\n if ($('#q_anken_capital_amount').val()) {\n isDefaultValueSet = true;\n }\n // 希望金é¡\n if ($('#q_required_amount').val()) {\n isDefaultValueSet = true;\n }\n // 課題・資金使途\n const usageInputClassName = \".chex-use\";\n var checkboxExUsage = $(usageInputClassName).first().closest(\".checkbox-ex--tags\");\n if ($(checkboxExUsage).find('input' + usageInputClassName + ':checked').length) {\n isDefaultValueSet = true;\n }\n // 訪å•ä¸è¦\n if ($('input#q_anken_visit_required_unnecessary:checked').length) {\n isDefaultValueSet = true;\n }\n // æ‹…ä¿æä¾›å¯\n if ($('input#q_tanpo_required_necessary_or_necessary_in_some_cases:checked').length) {\n isDefaultValueSet = true;\n }\n // 弥生製å“データ利用\n if ($('input#q_is_yayoi_service_usable_usable:checked').length) {\n isDefaultValueSet = true;\n }\n // 募集終了もå«ã‚€\n if ($('input#q_including_offering_expired:checked').length) {\n isDefaultValueSet = true;\n }\n // フリーワード\n if ($('#q_keyword').val()) {\n isDefaultValueSet = true;\n }\n return isDefaultValueSet;\n}\n\n//詳細ページ(似ãŸè³‡é‡‘調é”手段「ã•ã‚‰ã«è¡¨ç¤ºã€ï¼‰\n$(function() {\n var moreNum = 10;\n $('.m-detail__relation__column:nth-child(n + ' + (moreNum + 2) + ')').addClass('is-hidden');\n $('.m-detail__relation__more').on('click', function() {\n $('.m-detail__relation__column.is-hidden').slice(0, 10).removeClass('is-hidden');\n if ($('.m-detail__relation__column.is-hidden').length == 0) {\n $('.m-detail__relation__more').fadeOut();\n }\n });\n});\n\n//詳細ページ(似ãŸè³‡é‡‘調é”手段「ã•ã‚‰ã«è¡¨ç¤ºã€ï¼‰ã‚¹ãƒžãƒ›ç”»é¢\n$(function() {\n var sp_moreNum = 5;\n $('.m-detail__relation__sp-column:nth-child(n + ' + (sp_moreNum + 1) + ')').addClass('is-hidden');\n $('.m-detail__relation__sp-more').on('click', function() {\n $('.m-detail__relation__sp-column.is-hidden').slice(0, 15).removeClass('is-hidden');\n if ($('.m-detail__relation__sp-column.is-hidden').length == 0) {\n $('.m-detail__relation__sp-more').fadeOut();\n }\n });\n});\n\n// ãŠæ°—ã«å…¥ã‚Šãƒœã‚¿ãƒ³ï¼ˆå„案件詳細ページã®è¿½å¾“ボタン)\n$(function() {\n $('#favoriteBtn').hide();\n $(window).on(\"scroll\", function () {\n if ($(this).scrollTop() > 100) {\n $('#favoriteBtn').fadeIn('fast');\n } else {\n $('#favoriteBtn').fadeOut('fast');\n }\n var scrollHeight = $(document).height();\n var scrollPosition = $(window).height() + $(window).scrollTop();\n var footHeight = $('footer').innerHeight();\n if (scrollHeight - scrollPosition <= footHeight) {\n $('#favoriteBtn').css({\n 'position': 'absolute',\n 'bottom': '8rem',\n });\n } else {\n $('#favoriteBtn').css({\n 'position': 'fixed',\n 'bottom': '11rem',\n });\n }\n });\n});\n\n$(function(){\n // ファーストビュー 検索çµæžœæ•°ãƒ»ç¾åœ¨ã®æ¤œç´¢æ¡ä»¶\n $('#result-detailsearch').on('click', function(){\n $('#detailsearch-box').slideDown();\n $('#result-box').slideUp();\n });\n});\n\n// 「課題・資金使途クリアã€ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯æ™‚\n$('#clear_usage').on('click', function() {\n $('.chex-use').prop('checked', false);\n $('#after_reset_search_condition').trigger('click');\n});\n\n// 追従メニュー(ã•ã‚‰ã«çµžã‚Šè¾¼ã‚€) 詳細検索を表示\n$(function(){\n $('#m-chasemenu__button--detailsearch').on('click', function(){\n $('#controller-detailsearch').addClass(\"ds-open\");\n $('#result-box').slideUp();\n $('#detailsearch-box').slideDown();\n });\n});\n\n// 追従フッター ä¼¼ãŸè³‡é‡‘調é”手段\n$(function(){\n $('#chase_footer_related, #chase_footer_related_ipad, #chase_footer_related_sp').on('click', function(){\n const relatedTop = $('#related').offset().top;\n $(\"body,html\").animate({scrollTop: relatedTop});\n });\n});","var map = {\n\t\"./Sougyokeikakusyo\": 27,\n\t\"./Sougyokeikakusyo.png\": 27,\n\t\"./Suuchikeikakusyo\": 28,\n\t\"./Suuchikeikakusyo.png\": 28,\n\t\"./arrow\": 29,\n\t\"./arrow-01\": 30,\n\t\"./arrow-01-white\": 31,\n\t\"./arrow-01-white.svg\": 31,\n\t\"./arrow-01.svg\": 30,\n\t\"./arrow.svg\": 29,\n\t\"./banner--lp-fv-search\": 32,\n\t\"./banner--lp-fv-search.png\": 32,\n\t\"./banner--ls-bpsp\": 33,\n\t\"./banner--ls-bpsp.png\": 33,\n\t\"./banner--ls-freenance\": 34,\n\t\"./banner--ls-freenance.png\": 34,\n\t\"./banner--ls-kaikeisoft\": 35,\n\t\"./banner--ls-kaikeisoft.png\": 35,\n\t\"./banner--ls-kakuteishinkoku\": 36,\n\t\"./banner--ls-kakuteishinkoku.png\": 36,\n\t\"./banner--ls-kyuyoservice\": 37,\n\t\"./banner--ls-kyuyoservice.png\": 37,\n\t\"./banner--ls-lending-shikinbanner\": 38,\n\t\"./banner--ls-lending-shikinbanner.png\": 38,\n\t\"./banner--ls-mail\": 39,\n\t\"./banner--ls-mail.png\": 39,\n\t\"./banner--ls-misoca\": 40,\n\t\"./banner--ls-misoca.png\": 40,\n\t\"./banner--ls-sogyokeikaku\": 41,\n\t\"./banner--ls-sogyokeikaku.png\": 41,\n\t\"./bg--plans-lp-fv\": 42,\n\t\"./bg--plans-lp-fv.png\": 42,\n\t\"./bnr--dreamgate--bp-entry--wide_600_120\": 43,\n\t\"./bnr--dreamgate--bp-entry--wide_600_120.png\": 43,\n\t\"./bnr--dreamgate--bp-entry--wide_792_200\": 44,\n\t\"./bnr--dreamgate--bp-entry--wide_792_200.png\": 44,\n\t\"./bnr--dreamgate--bp-entry_300_300\": 45,\n\t\"./bnr--dreamgate--bp-entry_300_300.png\": 45,\n\t\"./bnr--kaikei--pc\": 46,\n\t\"./bnr--kaikei--pc.png\": 46,\n\t\"./bnr--kaikei--sp.webp\": 420,\n\t\"./bnr--kaikei--wide--pc.webp\": 421,\n\t\"./bnr--kaikei--wide--sp\": 47,\n\t\"./bnr--kaikei--wide--sp.png\": 47,\n\t\"./bnr--misoca--pc\": 48,\n\t\"./bnr--misoca--pc.png\": 48,\n\t\"./bnr--misoca--sp.webp\": 422,\n\t\"./bnr--misoca--wide--pc.webp\": 423,\n\t\"./bnr--misoca--wide--sp\": 49,\n\t\"./bnr--misoca--wide--sp.png\": 49,\n\t\"./bnr--shindan-lp--pc\": 50,\n\t\"./bnr--shindan-lp--pc.png\": 50,\n\t\"./bnr--shindan-lp--sp\": 51,\n\t\"./bnr--shindan-lp--sp.png\": 51,\n\t\"./bnr--shinkoku--pc\": 52,\n\t\"./bnr--shinkoku--pc.png\": 52,\n\t\"./bnr--shinkoku--sp.webp\": 424,\n\t\"./bnr--shinkoku--wide--pc.webp\": 425,\n\t\"./bnr--shinkoku--wide--sp\": 53,\n\t\"./bnr--shinkoku--wide--sp.png\": 53,\n\t\"./icon--A\": 54,\n\t\"./icon--A.svg\": 54,\n\t\"./icon--B\": 55,\n\t\"./icon--B.svg\": 55,\n\t\"./icon--C\": 56,\n\t\"./icon--C.svg\": 56,\n\t\"./icon--S\": 57,\n\t\"./icon--S.svg\": 57,\n\t\"./icon--accordion--circle--minus\": 58,\n\t\"./icon--accordion--circle--minus.svg\": 58,\n\t\"./icon--accordion--circle--plus\": 59,\n\t\"./icon--accordion--circle--plus.svg\": 59,\n\t\"./icon--account\": 60,\n\t\"./icon--account.svg\": 60,\n\t\"./icon--alert-triangle\": 61,\n\t\"./icon--alert-triangle--red\": 62,\n\t\"./icon--alert-triangle--red.svg\": 62,\n\t\"./icon--alert-triangle.svg\": 61,\n\t\"./icon--announce--expire-soon\": 63,\n\t\"./icon--announce--expire-soon.svg\": 63,\n\t\"./icon--announce--expired\": 64,\n\t\"./icon--announce--expired.svg\": 64,\n\t\"./icon--anounce\": 65,\n\t\"./icon--anounce.svg\": 65,\n\t\"./icon--arrow--back-page\": 66,\n\t\"./icon--arrow--back-page--hover\": 67,\n\t\"./icon--arrow--back-page--hover.svg\": 67,\n\t\"./icon--arrow--back-page.svg\": 66,\n\t\"./icon--arrow--blue\": 68,\n\t\"./icon--arrow--blue.svg\": 68,\n\t\"./icon--arrow--breadcrumb\": 69,\n\t\"./icon--arrow--breadcrumb.svg\": 69,\n\t\"./icon--arrow--next\": 70,\n\t\"./icon--arrow--next--history\": 71,\n\t\"./icon--arrow--next--history.svg\": 71,\n\t\"./icon--arrow--next--learn\": 72,\n\t\"./icon--arrow--next--learn.svg\": 72,\n\t\"./icon--arrow--next--top-fv-card\": 73,\n\t\"./icon--arrow--next--top-fv-card.svg\": 73,\n\t\"./icon--arrow--next.svg\": 70,\n\t\"./icon--arrow--pink\": 74,\n\t\"./icon--arrow--pink.svg\": 74,\n\t\"./icon--arrow--prev\": 75,\n\t\"./icon--arrow--prev--history\": 76,\n\t\"./icon--arrow--prev--history.svg\": 76,\n\t\"./icon--arrow--prev.svg\": 75,\n\t\"./icon--arrow--right\": 77,\n\t\"./icon--arrow--right.svg\": 77,\n\t\"./icon--arrow--selectbox\": 78,\n\t\"./icon--arrow--selectbox.svg\": 78,\n\t\"./icon--arrow--stepper\": 79,\n\t\"./icon--arrow--stepper--active\": 80,\n\t\"./icon--arrow--stepper--active.svg\": 80,\n\t\"./icon--arrow--stepper.svg\": 79,\n\t\"./icon--arrow--tab--on\": 81,\n\t\"./icon--arrow--tab--on.svg\": 81,\n\t\"./icon--arrow--yellow\": 82,\n\t\"./icon--arrow--yellow.svg\": 82,\n\t\"./icon--arrow-next--search-result-card\": 83,\n\t\"./icon--arrow-next--search-result-card--hover\": 84,\n\t\"./icon--arrow-next--search-result-card--hover.svg\": 84,\n\t\"./icon--arrow-next--search-result-card.svg\": 83,\n\t\"./icon--arrowhead-down\": 85,\n\t\"./icon--arrowhead-down.svg\": 85,\n\t\"./icon--arrowhead-up\": 86,\n\t\"./icon--arrowhead-up.svg\": 86,\n\t\"./icon--back-to-top\": 87,\n\t\"./icon--back-to-top.svg\": 87,\n\t\"./icon--bad\": 88,\n\t\"./icon--bad.svg\": 88,\n\t\"./icon--beginner--xs\": 89,\n\t\"./icon--beginner--xs.svg\": 89,\n\t\"./icon--bell\": 90,\n\t\"./icon--bell--blue--lg\": 91,\n\t\"./icon--bell--blue--lg.svg\": 91,\n\t\"./icon--bell--blue--sm\": 92,\n\t\"./icon--bell--blue--sm.svg\": 92,\n\t\"./icon--bell--xs\": 93,\n\t\"./icon--bell--xs.svg\": 93,\n\t\"./icon--bell.svg\": 90,\n\t\"./icon--book--xs\": 94,\n\t\"./icon--book--xs.svg\": 94,\n\t\"./icon--bs-designer\": 95,\n\t\"./icon--bs-designer.png\": 95,\n\t\"./icon--bs-hudosan\": 96,\n\t\"./icon--bs-hudosan.png\": 96,\n\t\"./icon--bs-inshoku\": 97,\n\t\"./icon--bs-inshoku.png\": 97,\n\t\"./icon--bs-it\": 98,\n\t\"./icon--bs-it.png\": 98,\n\t\"./icon--bs-kensetsu\": 99,\n\t\"./icon--bs-kensetsu.png\": 99,\n\t\"./icon--bs-kouri\": 100,\n\t\"./icon--bs-kouri.png\": 100,\n\t\"./icon--bs-netshop\": 101,\n\t\"./icon--bs-netshop.png\": 101,\n\t\"./icon--bs-ribiyo\": 102,\n\t\"./icon--bs-ribiyo.png\": 102,\n\t\"./icon--bs-seitai\": 103,\n\t\"./icon--bs-seitai.png\": 103,\n\t\"./icon--bs-sonota\": 104,\n\t\"./icon--bs-sonota.png\": 104,\n\t\"./icon--bs-unso\": 105,\n\t\"./icon--bs-unso.png\": 105,\n\t\"./icon--bs-webapp\": 106,\n\t\"./icon--bs-webapp.png\": 106,\n\t\"./icon--bs-writer\": 107,\n\t\"./icon--bs-writer.png\": 107,\n\t\"./icon--building\": 108,\n\t\"./icon--building.svg\": 108,\n\t\"./icon--bullet\": 109,\n\t\"./icon--bullet.svg\": 109,\n\t\"./icon--chasefooter--consulting\": 110,\n\t\"./icon--chasefooter--consulting.svg\": 110,\n\t\"./icon--chasefooter--external--link\": 111,\n\t\"./icon--chasefooter--external--link.svg\": 111,\n\t\"./icon--chasefooter--relation\": 112,\n\t\"./icon--chasefooter--relation.svg\": 112,\n\t\"./icon--checkbox\": 113,\n\t\"./icon--checkbox-checked\": 114,\n\t\"./icon--checkbox-checked.svg\": 114,\n\t\"./icon--checkbox.svg\": 113,\n\t\"./icon--checkmark\": 115,\n\t\"./icon--checkmark--cyan-blue\": 116,\n\t\"./icon--checkmark--cyan-blue.svg\": 116,\n\t\"./icon--checkmark--white\": 117,\n\t\"./icon--checkmark--white.svg\": 117,\n\t\"./icon--checkmark.svg\": 115,\n\t\"./icon--chevron_right\": 118,\n\t\"./icon--chevron_right--search-result\": 119,\n\t\"./icon--chevron_right--search-result.svg\": 119,\n\t\"./icon--chevron_right.svg\": 118,\n\t\"./icon--circle-question\": 120,\n\t\"./icon--circle-question.svg\": 120,\n\t\"./icon--close-modal\": 121,\n\t\"./icon--close-modal.svg\": 121,\n\t\"./icon--consulting--xs\": 122,\n\t\"./icon--consulting--xs.svg\": 122,\n\t\"./icon--copy\": 123,\n\t\"./icon--copy--big\": 124,\n\t\"./icon--copy--big.svg\": 124,\n\t\"./icon--copy.svg\": 123,\n\t\"./icon--cross\": 125,\n\t\"./icon--cross.svg\": 125,\n\t\"./icon--delete\": 126,\n\t\"./icon--delete.svg\": 126,\n\t\"./icon--dots\": 127,\n\t\"./icon--dots.svg\": 127,\n\t\"./icon--edit-score\": 128,\n\t\"./icon--edit-score.svg\": 128,\n\t\"./icon--envelop\": 129,\n\t\"./icon--envelop.svg\": 129,\n\t\"./icon--error\": 130,\n\t\"./icon--error--blue\": 131,\n\t\"./icon--error--blue.svg\": 131,\n\t\"./icon--error.svg\": 130,\n\t\"./icon--exclamation\": 132,\n\t\"./icon--exclamation.svg\": 132,\n\t\"./icon--expire-soon\": 133,\n\t\"./icon--expire-soon.svg\": 133,\n\t\"./icon--expired\": 134,\n\t\"./icon--expired.svg\": 134,\n\t\"./icon--external-link\": 135,\n\t\"./icon--external-link.svg\": 135,\n\t\"./icon--favorite-button-hover--add\": 136,\n\t\"./icon--favorite-button-hover--add.svg\": 136,\n\t\"./icon--favorite-button-hover--remove\": 137,\n\t\"./icon--favorite-button-hover--remove.svg\": 137,\n\t\"./icon--file-register\": 138,\n\t\"./icon--file-register.svg\": 138,\n\t\"./icon--fine\": 139,\n\t\"./icon--fine.svg\": 139,\n\t\"./icon--gabage\": 140,\n\t\"./icon--gabage.svg\": 140,\n\t\"./icon--good\": 141,\n\t\"./icon--good.svg\": 141,\n\t\"./icon--hand-point-right-solid\": 142,\n\t\"./icon--hand-point-right-solid.svg\": 142,\n\t\"./icon--heart-mark--off\": 143,\n\t\"./icon--heart-mark--off.svg\": 143,\n\t\"./icon--heart-mark--on\": 144,\n\t\"./icon--heart-mark--on.svg\": 144,\n\t\"./icon--heart-mark--pink\": 145,\n\t\"./icon--heart-mark--pink.svg\": 145,\n\t\"./icon--heart-mark--white\": 146,\n\t\"./icon--heart-mark--white.svg\": 146,\n\t\"./icon--history\": 147,\n\t\"./icon--history--white\": 148,\n\t\"./icon--history--white.svg\": 148,\n\t\"./icon--history.svg\": 147,\n\t\"./icon--info--blue\": 149,\n\t\"./icon--info--blue.svg\": 149,\n\t\"./icon--info--darkblue\": 150,\n\t\"./icon--info--darkblue.svg\": 150,\n\t\"./icon--links--blue\": 151,\n\t\"./icon--links--blue.svg\": 151,\n\t\"./icon--links--green\": 152,\n\t\"./icon--links--green.svg\": 152,\n\t\"./icon--lock\": 153,\n\t\"./icon--lock.svg\": 153,\n\t\"./icon--login\": 154,\n\t\"./icon--login--blue\": 155,\n\t\"./icon--login--blue.svg\": 155,\n\t\"./icon--login.svg\": 154,\n\t\"./icon--member\": 156,\n\t\"./icon--member--blue\": 157,\n\t\"./icon--member--blue.svg\": 157,\n\t\"./icon--member.svg\": 156,\n\t\"./icon--menu--consult\": 158,\n\t\"./icon--menu--consult.svg\": 158,\n\t\"./icon--menu--make-plan\": 159,\n\t\"./icon--menu--make-plan.svg\": 159,\n\t\"./icon--menu--search\": 160,\n\t\"./icon--menu--search.svg\": 160,\n\t\"./icon--menu--study\": 161,\n\t\"./icon--menu--study.svg\": 161,\n\t\"./icon--menu--xs\": 162,\n\t\"./icon--menu--xs.svg\": 162,\n\t\"./icon--minus\": 163,\n\t\"./icon--minus.svg\": 163,\n\t\"./icon--mypage\": 164,\n\t\"./icon--mypage.svg\": 164,\n\t\"./icon--normal\": 165,\n\t\"./icon--normal.svg\": 165,\n\t\"./icon--overwrite\": 166,\n\t\"./icon--overwrite-orange\": 167,\n\t\"./icon--overwrite-orange.svg\": 167,\n\t\"./icon--overwrite.svg\": 166,\n\t\"./icon--pen\": 168,\n\t\"./icon--pen.svg\": 168,\n\t\"./icon--plans-lp-fv-01\": 169,\n\t\"./icon--plans-lp-fv-01.png\": 169,\n\t\"./icon--plans-lp-fv-02\": 170,\n\t\"./icon--plans-lp-fv-02.png\": 170,\n\t\"./icon--plans-lp-fv-03\": 171,\n\t\"./icon--plans-lp-fv-03.png\": 171,\n\t\"./icon--plus\": 172,\n\t\"./icon--plus--ui-orange\": 173,\n\t\"./icon--plus--ui-orange.svg\": 173,\n\t\"./icon--plus--white\": 174,\n\t\"./icon--plus--white.svg\": 174,\n\t\"./icon--plus-square\": 175,\n\t\"./icon--plus-square.svg\": 175,\n\t\"./icon--plus.svg\": 172,\n\t\"./icon--question\": 176,\n\t\"./icon--question.svg\": 176,\n\t\"./icon--read-more--minus\": 177,\n\t\"./icon--read-more--minus.svg\": 177,\n\t\"./icon--read-more--plus\": 178,\n\t\"./icon--read-more--plus.svg\": 178,\n\t\"./icon--register\": 179,\n\t\"./icon--register.svg\": 179,\n\t\"./icon--rising-arrow\": 180,\n\t\"./icon--rising-arrow.svg\": 180,\n\t\"./icon--sc--circle-plus--off\": 181,\n\t\"./icon--sc--circle-plus--off.svg\": 181,\n\t\"./icon--sc--circle-plus--on\": 182,\n\t\"./icon--sc--circle-plus--on.svg\": 182,\n\t\"./icon--sc--select\": 183,\n\t\"./icon--sc--select--modal\": 184,\n\t\"./icon--sc--select--modal.svg\": 184,\n\t\"./icon--sc--select.svg\": 183,\n\t\"./icon--sc--submit-btn--off\": 185,\n\t\"./icon--sc--submit-btn--off.svg\": 185,\n\t\"./icon--sc--submit-btn--on\": 186,\n\t\"./icon--sc--submit-btn--on.svg\": 186,\n\t\"./icon--scroll-top\": 187,\n\t\"./icon--scroll-top.svg\": 187,\n\t\"./icon--search\": 188,\n\t\"./icon--search--enhanced\": 189,\n\t\"./icon--search--enhanced--xs\": 190,\n\t\"./icon--search--enhanced--xs--rv\": 191,\n\t\"./icon--search--enhanced--xs--rv.svg\": 191,\n\t\"./icon--search--enhanced--xs.svg\": 190,\n\t\"./icon--search--enhanced.svg\": 189,\n\t\"./icon--search--learnSearch\": 192,\n\t\"./icon--search--learnSearch.svg\": 192,\n\t\"./icon--search--main\": 193,\n\t\"./icon--search--main--type2\": 194,\n\t\"./icon--search--main--type2.svg\": 194,\n\t\"./icon--search--main--xs\": 195,\n\t\"./icon--search--main--xs.svg\": 195,\n\t\"./icon--search--main.svg\": 193,\n\t\"./icon--search--research\": 196,\n\t\"./icon--search--research.svg\": 196,\n\t\"./icon--search--xs\": 197,\n\t\"./icon--search--xs.svg\": 197,\n\t\"./icon--search-condition\": 198,\n\t\"./icon--search-condition.svg\": 198,\n\t\"./icon--search-result-not-found\": 199,\n\t\"./icon--search-result-not-found.svg\": 199,\n\t\"./icon--search.svg\": 188,\n\t\"./icon--star\": 200,\n\t\"./icon--star--gray\": 201,\n\t\"./icon--star--gray--filled\": 202,\n\t\"./icon--star--gray--filled.svg\": 202,\n\t\"./icon--star--gray.svg\": 201,\n\t\"./icon--star--white\": 203,\n\t\"./icon--star--white.svg\": 203,\n\t\"./icon--star--yellow--filled\": 204,\n\t\"./icon--star--yellow--filled.svg\": 204,\n\t\"./icon--star.svg\": 200,\n\t\"./icon--success\": 205,\n\t\"./icon--success.svg\": 205,\n\t\"./icon--switching--card\": 206,\n\t\"./icon--switching--card--on\": 207,\n\t\"./icon--switching--card--on.svg\": 207,\n\t\"./icon--switching--card.svg\": 206,\n\t\"./icon--switching--carousel--next\": 208,\n\t\"./icon--switching--carousel--next.svg\": 208,\n\t\"./icon--switching--carousel--prev\": 209,\n\t\"./icon--switching--carousel--prev.svg\": 209,\n\t\"./icon--switching--table\": 210,\n\t\"./icon--switching--table--on\": 211,\n\t\"./icon--switching--table--on.svg\": 211,\n\t\"./icon--switching--table.svg\": 210,\n\t\"./icon--tooltip\": 212,\n\t\"./icon--tooltip.svg\": 212,\n\t\"./icon--top-ov--book\": 213,\n\t\"./icon--top-ov--book.svg\": 213,\n\t\"./icon--top-ov--pc\": 214,\n\t\"./icon--top-ov--pc.svg\": 214,\n\t\"./icon--top-ov--pen\": 215,\n\t\"./icon--top-ov--pen.svg\": 215,\n\t\"./icon--top-ov--sp\": 216,\n\t\"./icon--top-ov--sp.svg\": 216,\n\t\"./icon--triangle--step\": 217,\n\t\"./icon--triangle--step.svg\": 217,\n\t\"./icon--upload\": 218,\n\t\"./icon--upload.svg\": 218,\n\t\"./icon--window-close\": 219,\n\t\"./icon--window-close--blue\": 220,\n\t\"./icon--window-close--blue.svg\": 220,\n\t\"./icon--window-close--cross-mark--white\": 221,\n\t\"./icon--window-close--cross-mark--white.svg\": 221,\n\t\"./icon--window-close--dark-gray\": 222,\n\t\"./icon--window-close--dark-gray.svg\": 222,\n\t\"./icon--window-close--xs\": 223,\n\t\"./icon--window-close--xs.svg\": 223,\n\t\"./icon--window-close.svg\": 219,\n\t\"./icon-newwin\": 224,\n\t\"./icon-newwin.png\": 224,\n\t\"./icon_shindan\": 225,\n\t\"./icon_shindan.svg\": 225,\n\t\"./inner-data-object\": 226,\n\t\"./inner-data-object.png\": 226,\n\t\"./label--yayoi-data-support\": 227,\n\t\"./label--yayoi-data-support.svg\": 227,\n\t\"./learn-search/fig-kv\": 228,\n\t\"./learn-search/fig-kv.svg\": 228,\n\t\"./learn-search/thumbnail--sample\": 229,\n\t\"./learn-search/thumbnail--sample.png\": 229,\n\t\"./logo--shikin-choutatu-navi\": 230,\n\t\"./logo--shikin-choutatu-navi.svg\": 230,\n\t\"./logo--shikin-choutatu-navi2\": 231,\n\t\"./logo--shikin-choutatu-navi2.svg\": 231,\n\t\"./logo-facebook\": 232,\n\t\"./logo-facebook-circle\": 233,\n\t\"./logo-facebook-circle.svg\": 233,\n\t\"./logo-facebook.svg\": 232,\n\t\"./logo-hatenabookmark\": 234,\n\t\"./logo-hatenabookmark.svg\": 234,\n\t\"./logo-line\": 235,\n\t\"./logo-line.svg\": 235,\n\t\"./logo-line2\": 236,\n\t\"./logo-line2.svg\": 236,\n\t\"./logo-orix\": 237,\n\t\"./logo-orix.svg\": 237,\n\t\"./logo-pocket\": 238,\n\t\"./logo-pocket.svg\": 238,\n\t\"./logo-twitter-circle\": 239,\n\t\"./logo-twitter-circle.svg\": 239,\n\t\"./logo-x\": 240,\n\t\"./logo-x.svg\": 240,\n\t\"./lp-fv--shikin\": 241,\n\t\"./lp-fv--shikin.png\": 241,\n\t\"./lp-sec-fts--consult\": 242,\n\t\"./lp-sec-fts--consult.jpg\": 242,\n\t\"./lp-sec-fts--create\": 243,\n\t\"./lp-sec-fts--create.jpg\": 243,\n\t\"./lp-sec-fts--search\": 244,\n\t\"./lp-sec-fts--search.jpg\": 244,\n\t\"./lp-sec-fts--shindan\": 245,\n\t\"./lp-sec-fts--shindan.png\": 245,\n\t\"./lp-sec-fts--study\": 246,\n\t\"./lp-sec-fts--study.jpg\": 246,\n\t\"./mail-bnr\": 247,\n\t\"./mail-bnr.jpg\": 247,\n\t\"./mail/arrow26\": 248,\n\t\"./mail/arrow26.png\": 248,\n\t\"./mail/arrow32\": 249,\n\t\"./mail/arrow32.png\": 249,\n\t\"./mail/banner217\": 250,\n\t\"./mail/banner217.jpg\": 250,\n\t\"./mail/button350\": 251,\n\t\"./mail/button350.png\": 251,\n\t\"./mail/button600\": 252,\n\t\"./mail/button600.png\": 252,\n\t\"./mail/footer_logo\": 253,\n\t\"./mail/footer_logo.png\": 253,\n\t\"./mail/mail_banner_01\": 14,\n\t\"./mail/mail_banner_01.jpg\": 426,\n\t\"./mail/mail_banner_01.png\": 14,\n\t\"./mail/mail_banner_02\": 15,\n\t\"./mail/mail_banner_02.jpg\": 427,\n\t\"./mail/mail_banner_02.png\": 15,\n\t\"./mail/mail_banner_03\": 16,\n\t\"./mail/mail_banner_03.jpg\": 428,\n\t\"./mail/mail_banner_03.png\": 16,\n\t\"./mail/mail_banner_04\": 254,\n\t\"./mail/mail_banner_04.jpg\": 254,\n\t\"./mail/mail_banner_05\": 255,\n\t\"./mail/mail_banner_05.jpg\": 255,\n\t\"./mail/mail_banner_06\": 256,\n\t\"./mail/mail_banner_06.jpg\": 256,\n\t\"./mail/mail_banner_07\": 257,\n\t\"./mail/mail_banner_07.jpg\": 257,\n\t\"./mail/mail_banner_08\": 258,\n\t\"./mail/mail_banner_08.jpg\": 258,\n\t\"./mail/mail_banner_09\": 259,\n\t\"./mail/mail_banner_09.jpg\": 259,\n\t\"./mail/spacer\": 260,\n\t\"./mail/spacer.gif\": 260,\n\t\"./mail_step_1\": 261,\n\t\"./mail_step_1.png\": 261,\n\t\"./mail_step_2\": 262,\n\t\"./mail_step_2.png\": 262,\n\t\"./mail_step_3\": 263,\n\t\"./mail_step_3.png\": 263,\n\t\"./mask--another-tab\": 264,\n\t\"./mask--another-tab.svg\": 264,\n\t\"./mask--chevron-down\": 265,\n\t\"./mask--chevron-down.svg\": 265,\n\t\"./mask--chevron-right\": 266,\n\t\"./mask--chevron-right.svg\": 266,\n\t\"./mask--login\": 267,\n\t\"./mask--login.svg\": 267,\n\t\"./mask--rising-arrow\": 268,\n\t\"./mask--rising-arrow.svg\": 268,\n\t\"./member-merit--bookmark\": 269,\n\t\"./member-merit--bookmark.svg\": 269,\n\t\"./member-merit--favorite\": 270,\n\t\"./member-merit--favorite.svg\": 270,\n\t\"./member-merit--illustration-1\": 271,\n\t\"./member-merit--illustration-1.svg\": 271,\n\t\"./member-merit--illustration-2\": 272,\n\t\"./member-merit--illustration-2.svg\": 272,\n\t\"./member-merit--mail\": 273,\n\t\"./member-merit--mail.svg\": 273,\n\t\"./member-merit--search\": 274,\n\t\"./member-merit--search.svg\": 274,\n\t\"./member-merit--sogyokeikaku\": 275,\n\t\"./member-merit--sogyokeikaku.svg\": 275,\n\t\"./member-merit_1\": 276,\n\t\"./member-merit_1.png\": 276,\n\t\"./member-merit_2\": 277,\n\t\"./member-merit_2.png\": 277,\n\t\"./member-merit_3\": 278,\n\t\"./member-merit_3.png\": 278,\n\t\"./member-merit_4\": 279,\n\t\"./member-merit_4.png\": 279,\n\t\"./member-merit_5\": 280,\n\t\"./member-merit_5.png\": 280,\n\t\"./member_step_1\": 281,\n\t\"./member_step_1.png\": 281,\n\t\"./member_step_2\": 282,\n\t\"./member_step_2.png\": 282,\n\t\"./member_step_3\": 283,\n\t\"./member_step_3.png\": 283,\n\t\"./member_step_4\": 284,\n\t\"./member_step_4.png\": 284,\n\t\"./member_step_easy\": 285,\n\t\"./member_step_easy.png\": 285,\n\t\"./object--kirakira\": 286,\n\t\"./object--kirakira.svg\": 286,\n\t\"./object--recommend-01\": 287,\n\t\"./object--recommend-01.svg\": 287,\n\t\"./object--recommend-02\": 288,\n\t\"./object--recommend-02.svg\": 288,\n\t\"./object--recommend-03\": 289,\n\t\"./object--recommend-03.svg\": 289,\n\t\"./object--recommend-mix\": 290,\n\t\"./object--recommend-mix.png\": 290,\n\t\"./object--salescopy-gadget-group\": 291,\n\t\"./object--salescopy-gadget-group.png\": 291,\n\t\"./ogp\": 292,\n\t\"./ogp.png\": 292,\n\t\"./ornament--arrow--main\": 293,\n\t\"./ornament--arrow--main.svg\": 293,\n\t\"./ornament--blade\": 294,\n\t\"./ornament--blade.svg\": 294,\n\t\"./ornament--hexagon\": 295,\n\t\"./ornament--hexagon--blue\": 296,\n\t\"./ornament--hexagon--blue.svg\": 296,\n\t\"./ornament--hexagon--xs\": 297,\n\t\"./ornament--hexagon--xs.svg\": 297,\n\t\"./ornament--hexagon.svg\": 295,\n\t\"./ornament--mark--main\": 298,\n\t\"./ornament--mark--main.svg\": 298,\n\t\"./ornament--triangle--main\": 299,\n\t\"./ornament--triangle--main.svg\": 299,\n\t\"./ornament--wave\": 300,\n\t\"./ornament--wave.svg\": 300,\n\t\"./pagination-switch--next\": 301,\n\t\"./pagination-switch--next--disabled\": 302,\n\t\"./pagination-switch--next--disabled.svg\": 302,\n\t\"./pagination-switch--next--sb\": 303,\n\t\"./pagination-switch--next--sb.svg\": 303,\n\t\"./pagination-switch--next.svg\": 301,\n\t\"./pagination-switch--prev\": 304,\n\t\"./pagination-switch--prev--disabled\": 305,\n\t\"./pagination-switch--prev--disabled.svg\": 305,\n\t\"./pagination-switch--prev--sb\": 306,\n\t\"./pagination-switch--prev--sb.svg\": 306,\n\t\"./pagination-switch--prev.svg\": 304,\n\t\"./plan-lp-genkinshushi\": 307,\n\t\"./plan-lp-genkinshushi.png\": 307,\n\t\"./plan-lp-related-01\": 308,\n\t\"./plan-lp-related-01.jpg\": 308,\n\t\"./plan-lp-related-02\": 309,\n\t\"./plan-lp-related-02.jpg\": 309,\n\t\"./plan-lp-related-03\": 310,\n\t\"./plan-lp-related-03.jpg\": 310,\n\t\"./plan-lp-related-04\": 311,\n\t\"./plan-lp-related-04.jpg\": 311,\n\t\"./plan-lp-related-05\": 312,\n\t\"./plan-lp-related-05.jpg\": 312,\n\t\"./plan-lp-related-06\": 313,\n\t\"./plan-lp-related-06.jpg\": 313,\n\t\"./plan-lp-related-07\": 314,\n\t\"./plan-lp-related-07.jpg\": 314,\n\t\"./plan-lp-related-08\": 315,\n\t\"./plan-lp-related-08.jpg\": 315,\n\t\"./plan-lp-related-09\": 316,\n\t\"./plan-lp-related-09.jpg\": 316,\n\t\"./plan-lp-sogyo-01\": 317,\n\t\"./plan-lp-sogyo-01.png\": 317,\n\t\"./plan-lp-sogyo-02\": 318,\n\t\"./plan-lp-sogyo-02.png\": 318,\n\t\"./plan-lp-sogyo-03\": 319,\n\t\"./plan-lp-sogyo-03.png\": 319,\n\t\"./plan-lp-sogyo-04\": 320,\n\t\"./plan-lp-sogyo-04.png\": 320,\n\t\"./plan-lp-suchi-01\": 321,\n\t\"./plan-lp-suchi-01.png\": 321,\n\t\"./plan-lp-suchi-02\": 322,\n\t\"./plan-lp-suchi-02-sp\": 323,\n\t\"./plan-lp-suchi-02-sp.png\": 323,\n\t\"./plan-lp-suchi-02.png\": 322,\n\t\"./plan-lp-suchi-03\": 324,\n\t\"./plan-lp-suchi-03.png\": 324,\n\t\"./plan-lp-suchi-04\": 325,\n\t\"./plan-lp-suchi-04.png\": 325,\n\t\"./register-bnr\": 326,\n\t\"./register-bnr.jpg\": 326,\n\t\"./search-ithojokin\": 327,\n\t\"./search-ithojokin-sp\": 328,\n\t\"./search-ithojokin-sp.png\": 328,\n\t\"./search-ithojokin.png\": 327,\n\t\"./select-form-ui-pair\": 329,\n\t\"./select-form-ui-pair.svg\": 329,\n\t\"./shindan-bnr-sp\": 330,\n\t\"./shindan-bnr-sp.jpg\": 330,\n\t\"./shindan-result-top\": 331,\n\t\"./shindan-result-top.png\": 331,\n\t\"./shindan_procedure_1\": 332,\n\t\"./shindan_procedure_1.png\": 332,\n\t\"./shindan_procedure_2\": 333,\n\t\"./shindan_procedure_2.png\": 333,\n\t\"./shindan_q1\": 334,\n\t\"./shindan_q1.svg\": 334,\n\t\"./shindan_q1_sp\": 335,\n\t\"./shindan_q1_sp.svg\": 335,\n\t\"./shindan_q2\": 336,\n\t\"./shindan_q2.svg\": 336,\n\t\"./shindan_q2_sp\": 337,\n\t\"./shindan_q2_sp.svg\": 337,\n\t\"./shindan_q3\": 338,\n\t\"./shindan_q3.svg\": 338,\n\t\"./shindan_q3_sp\": 339,\n\t\"./shindan_q3_sp.svg\": 339,\n\t\"./shindan_q4\": 340,\n\t\"./shindan_q4.svg\": 340,\n\t\"./shindan_q4_sp\": 341,\n\t\"./shindan_q4_sp.svg\": 341,\n\t\"./shindan_q5\": 342,\n\t\"./shindan_q5.svg\": 342,\n\t\"./shindan_q5_sp\": 343,\n\t\"./shindan_q5_sp.svg\": 343,\n\t\"./shindan_specialist_1\": 344,\n\t\"./shindan_specialist_1.png\": 344,\n\t\"./shindan_specialist_2\": 345,\n\t\"./shindan_specialist_2.png\": 345,\n\t\"./shindan_specialist_3\": 346,\n\t\"./shindan_specialist_3.png\": 346,\n\t\"./shindan_top\": 347,\n\t\"./shindan_top.png\": 347,\n\t\"./shindan_top_sp\": 348,\n\t\"./shindan_top_sp.png\": 348,\n\t\"./sidebar/banner--accountonline\": 349,\n\t\"./sidebar/banner--accountonline.png\": 349,\n\t\"./sidebar/banner--aoiroonline\": 350,\n\t\"./sidebar/banner--aoiroonline.png\": 350,\n\t\"./sidebar/banner--campaign-upgrade\": 351,\n\t\"./sidebar/banner--campaign-upgrade.png\": 351,\n\t\"./sidebar/banner--default\": 352,\n\t\"./sidebar/banner--default--type2\": 353,\n\t\"./sidebar/banner--default--type2.png\": 353,\n\t\"./sidebar/banner--default.png\": 352,\n\t\"./sidebar/banner--itbanking-btob\": 354,\n\t\"./sidebar/banner--itbanking-btob.png\": 354,\n\t\"./sidebar/banner--misoca\": 355,\n\t\"./sidebar/banner--misoca.png\": 355,\n\t\"./sidebar/banner--shiroiroonline\": 356,\n\t\"./sidebar/banner--shiroiroonline.png\": 356,\n\t\"./sidebar/banner--support-coronavirus\": 357,\n\t\"./sidebar/banner--support-coronavirus.png\": 357,\n\t\"./sidebar/banner--versus-coronavirus\": 358,\n\t\"./sidebar/banner--versus-coronavirus.png\": 358,\n\t\"./sidebar/banner--whitedeclaration\": 359,\n\t\"./sidebar/banner--whitedeclaration.png\": 359,\n\t\"./sidebar/banner--youtube-yayoichannel\": 360,\n\t\"./sidebar/banner--youtube-yayoichannel.png\": 360,\n\t\"./sidebar/bnr--sq--account\": 361,\n\t\"./sidebar/bnr--sq--account.png\": 361,\n\t\"./sidebar/bnr--sq--base-knowledge-of-working-capital\": 362,\n\t\"./sidebar/bnr--sq--base-knowledge-of-working-capital.jpg\": 362,\n\t\"./sidebar/bnr--sq--calctax\": 363,\n\t\"./sidebar/bnr--sq--calctax.png\": 363,\n\t\"./sidebar/bnr--sq--consult-expert\": 364,\n\t\"./sidebar/bnr--sq--consult-expert.jpg\": 364,\n\t\"./sidebar/bnr--sq--entrenavi\": 365,\n\t\"./sidebar/bnr--sq--entrenavi.png\": 365,\n\t\"./sidebar/bnr--sq--foundation\": 366,\n\t\"./sidebar/bnr--sq--foundation.png\": 366,\n\t\"./sidebar/bnr--sq--ftrguide\": 367,\n\t\"./sidebar/bnr--sq--ftrguide.png\": 367,\n\t\"./sidebar/bnr--sq--hojyokin-kihon\": 368,\n\t\"./sidebar/bnr--sq--hojyokin-kihon.jpg\": 368,\n\t\"./sidebar/bnr--sq--kaigyoutodoke\": 369,\n\t\"./sidebar/bnr--sq--kaigyoutodoke.jpg\": 369,\n\t\"./sidebar/bnr--sq--kariire-kihon\": 370,\n\t\"./sidebar/bnr--sq--kariire-kihon.jpg\": 370,\n\t\"./sidebar/bnr--sq--kigyouline\": 371,\n\t\"./sidebar/bnr--sq--kigyouline.png\": 371,\n\t\"./sidebar/bnr--sq--m-and-a\": 372,\n\t\"./sidebar/bnr--sq--m-and-a.jpg\": 372,\n\t\"./sidebar/bnr--sq--misoca\": 373,\n\t\"./sidebar/bnr--sq--misoca.png\": 373,\n\t\"./sidebar/bnr--sq--nintei-shien-kikan\": 374,\n\t\"./sidebar/bnr--sq--nintei-shien-kikan.jpg\": 374,\n\t\"./sidebar/bnr--sq--online-yuushi\": 375,\n\t\"./sidebar/bnr--sq--online-yuushi.jpg\": 375,\n\t\"./sidebar/bnr--sq--reschedule\": 376,\n\t\"./sidebar/bnr--sq--reschedule.jpg\": 376,\n\t\"./sidebar/bnr--sq--seidoyuushi\": 377,\n\t\"./sidebar/bnr--sq--seidoyuushi.jpg\": 377,\n\t\"./sidebar/bnr--sq--shikin-manabu\": 378,\n\t\"./sidebar/bnr--sq--shikin-manabu.jpg\": 378,\n\t\"./sidebar/bnr--sq--shinkoku-ol\": 379,\n\t\"./sidebar/bnr--sq--shinkoku-ol.png\": 379,\n\t\"./sidebar/bnr--sq--shinyouhosyoukyoukai\": 380,\n\t\"./sidebar/bnr--sq--shinyouhosyoukyoukai.jpg\": 380,\n\t\"./sidebar/bnr--sq--sumoviva\": 381,\n\t\"./sidebar/bnr--sq--sumoviva-01\": 382,\n\t\"./sidebar/bnr--sq--sumoviva-01.png\": 382,\n\t\"./sidebar/bnr--sq--sumoviva-02\": 383,\n\t\"./sidebar/bnr--sq--sumoviva-02.png\": 383,\n\t\"./sidebar/bnr--sq--sumoviva-03\": 384,\n\t\"./sidebar/bnr--sq--sumoviva-03.png\": 384,\n\t\"./sidebar/bnr--sq--sumoviva.png\": 381,\n\t\"./sidebar/bnr--sq--teleworking\": 385,\n\t\"./sidebar/bnr--sq--teleworking.png\": 385,\n\t\"./sidebar/bnr--sq--yahouonline\": 386,\n\t\"./sidebar/bnr--sq--yahouonline.png\": 386,\n\t\"./sidebar/bnr--sq--yayoianshinma\": 387,\n\t\"./sidebar/bnr--sq--yayoianshinma.png\": 387,\n\t\"./sidebar/bnr--sq--yokisenujitai\": 388,\n\t\"./sidebar/bnr--sq--yokisenujitai.jpg\": 388,\n\t\"./sidebar/bnr--sq--youtube-yayoichannel\": 389,\n\t\"./sidebar/bnr--sq--youtube-yayoichannel.png\": 389,\n\t\"./sidebar/bnr--sq--zeirishi-shien\": 390,\n\t\"./sidebar/bnr--sq--zeirishi-shien.jpg\": 390,\n\t\"./sidebar/bnr--sq--zeirishi-shokai\": 391,\n\t\"./sidebar/bnr--sq--zeirishi-shokai.jpeg\": 391,\n\t\"./sidebar/illust--yayoikaikei\": 392,\n\t\"./sidebar/illust--yayoikaikei.png\": 392,\n\t\"./sidebar/sogyokeikaku-banner\": 393,\n\t\"./sidebar/sogyokeikaku-banner.png\": 393,\n\t\"./sogyosuchikeikaku-judgement\": 394,\n\t\"./sogyosuchikeikaku-judgement.png\": 394,\n\t\"./sogyosuchikeikaku-plan\": 395,\n\t\"./sogyosuchikeikaku-plan.png\": 395,\n\t\"./sougyokeikaku-excel\": 396,\n\t\"./sougyokeikaku-excel.png\": 396,\n\t\"./sprite-general\": 397,\n\t\"./sprite-general.png\": 397,\n\t\"./suchi-banner-middle\": 398,\n\t\"./suchi-banner-middle.jpg\": 398,\n\t\"./suchi-banner-small\": 399,\n\t\"./suchi-banner-small.png\": 399,\n\t\"./suuchi-banner\": 400,\n\t\"./suuchi-banner.svg\": 400,\n\t\"./suuchi-phone\": 401,\n\t\"./suuchi-phone.png\": 401,\n\t\"./tag--yayoi-data-support\": 402,\n\t\"./tag--yayoi-data-support.svg\": 402,\n\t\"./top-fv--mv\": 403,\n\t\"./top-fv--mv.svg\": 403,\n\t\"./top-useful-situations-1\": 404,\n\t\"./top-useful-situations-1.svg\": 404,\n\t\"./top-useful-situations-2\": 405,\n\t\"./top-useful-situations-2.svg\": 405,\n\t\"./top-useful-situations-3\": 406,\n\t\"./top-useful-situations-3.svg\": 406,\n\t\"./top-useful-situations-4\": 407,\n\t\"./top-useful-situations-4.svg\": 407,\n\t\"./wave\": 408,\n\t\"./wave.png\": 408,\n\t\"./wave_registered\": 409,\n\t\"./wave_registered.png\": 409,\n\t\"./wave_sp\": 410,\n\t\"./wave_sp.png\": 410,\n\t\"./wave_white\": 411,\n\t\"./wave_white.png\": 411\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 = 419;","module.exports = __webpack_public_path__ + \"media/images/bnr--kaikei--sp-90f532aca050b92b9d63f1c7417d74a6.webp\";","module.exports = __webpack_public_path__ + \"media/images/bnr--kaikei--wide--pc-ddefea7bff75781ae8a4902c8f46a20a.webp\";","module.exports = __webpack_public_path__ + \"media/images/bnr--misoca--sp-263030c99ab93e34e5115c9bed991ac7.webp\";","module.exports = __webpack_public_path__ + \"media/images/bnr--misoca--wide--pc-793bb597db3c4c0f00ace3227b0bfa47.webp\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shinkoku--sp-1dd38d24a1a3cd8a0a8038147fb10869.webp\";","module.exports = __webpack_public_path__ + \"media/images/bnr--shinkoku--wide--pc-c44598f194dcbc634fee375c861acb7e.webp\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_01-30024428528d9cc4dded8b215c6283d2.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_02-b78a9f57048dcc1b01e4fa21c8cbefad.jpg\";","module.exports = __webpack_public_path__ + \"media/images/mail/mail_banner_03-3590a91b528e95bb4c12bc7be53600a4.jpg\";","// 創æ¥è¨ˆç”»æ›¸ã®å…¥åŠ›ãƒ•ã‚©ãƒ¼ãƒ 上ã§ã‚¨ãƒ³ã‚¿ãƒ¼ã‚’押ã—ã¦ã‚‚サブミットã—ãªã„\n$(function() {\n $(\"#sogyo_keikaku_form\").on(\"keypress\", function (event) {\n var isTextarea = false;\n $(\".js-textarea\").each(function(){\n if($(event.target).attr('id') == $(this).attr('id')) {\n isTextarea = true;\n }\n });\n\n var keyPressed = event.keyCode || event.which;\n if (!isTextarea && keyPressed === 13) {\n event.preventDefault();\n return false;\n }\n });\n});\n\n$(function() {\n $(\".js-validate\").on('input', function (e) {\n let isValid = true;\n const targetName = e.target.dataset.targetName;\n const targetViewType = e.target.dataset.targetViewType;\n let targetCharCount = parseInt(e.target.dataset.targetCharCount)\n $('[data-target-name=\"' + targetName + '\"]').each(function(){\n const charCount = parseInt(this.dataset.targetCharCount)\n const textLength = $(this).val().replace(/\\r?\\n/g, '');\n if(textLength.length > charCount) {\n isValid = false;\n targetCharCount = charCount;\n }\n });\n if (targetViewType == 'mobile_tablet') {\n if(isValid) {\n $(\"#\" + targetName + \"-error\" ).removeClass(\"d-block\");\n } else {\n $(\"#\" + targetName + \"-error\" ).html(\"ã“ã®ã‚¨ãƒªã‚¢ã®æ–‡å—æ•°ã®ç›®å®‰ã¯\" + targetCharCount + \"æ–‡å—ã§ã™ã€‚<br>æ–‡å—数をオーãƒãƒ¼ã™ã‚‹ã¨ã€ã‚¨ã‚¯ã‚»ãƒ«ã§ãã‚Œã„ã«è¡¨ç¤ºã•ã‚Œãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\");\n $(\"#\" + targetName + \"-error\" ).addClass(\"d-block\");\n }\n } else {\n if(isValid) {\n $(\"#\" + targetName + \"-error\" ).removeClass(\"d-block\");\n } else {\n if(targetName == \"sogyodoki\"){\n $(\"#\" + targetName + \"-error\" ).text(\"目安ã®ï¼‘è¡Œã‚ãŸã‚Šå…¨è§’æ–‡å—æ•° \" + targetCharCount + \" を超ãˆã¦å…¥åŠ›ã•ã‚Œã¦ã„ã‚‹è¡ŒãŒã‚ã‚Šã¾ã™ã€‚ã‚ã¾ã‚Šæ–‡å—æ•°ãŒå¢—ãˆã‚‹ã¨èªã¿ã«ãããªã‚Šã¾ã™ã®ã§ã”注æ„ãã ã•ã„\");\n } else {\n $(\"#\" + targetName + \"-error\" ).text(\"目安ã®å…¨è§’æ–‡å—æ•° \" + targetCharCount + \" を超ãˆã¦å…¥åŠ›ã•ã‚Œã¦ã„ã¾ã™ã€‚ã‚ã¾ã‚Šæ–‡å—æ•°ãŒå¢—ãˆã‚‹ã¨èªã¿ã«ãããªã‚Šã¾ã™ã®ã§ã”注æ„ãã ã•ã„\");\n }\n $(\"#\" + targetName + \"-error\" ).addClass(\"d-block\");\n }\n }\n });\n $(\".js-validate-textarea\").on('input', function (e) {\n let isValid = true;\n const targetName = e.target.dataset.targetName;\n const targetViewType = e.target.dataset.targetViewType;\n let targetCharCount = parseInt(e.target.dataset.targetCharCount);\n $('[data-target-name=\"' + targetName + '\"]').each(function(){\n const charCount = parseInt(this.dataset.targetCharCount)\n const texts = $(this).val().split(/\\n/);\n texts.forEach(text => {\n if(text.length > charCount) {\n isValid = false;\n }\n });\n });\n if (targetViewType == 'mobile_tablet') {\n if(isValid) {\n $(\"#\" + targetName + \"-error\" ).removeClass(\"d-block\");\n } else {\n if(targetName == \"sogyodoki\"){\n $(\"#\" + targetName + \"-error\" ).html(\"ã“ã®ã‚¨ãƒªã‚¢ã®æ–‡å—æ•°ã®ç›®å®‰ã¯1è¡Œ\" + targetCharCount + \"æ–‡å—\" + (targetCharCount * 4) + \"æ–‡å—ã§ã™ã€‚<br>æ–‡å—数をオーãƒãƒ¼ã™ã‚‹ã¨ã€ã‚¨ã‚¯ã‚»ãƒ«ã§ãã‚Œã„ã«è¡¨ç¤ºã•ã‚Œãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\");\n } else {\n $(\"#\" + targetName + \"-error\" ).html(\"ã“ã®ã‚¨ãƒªã‚¢ã®æ–‡å—æ•°ã®ç›®å®‰ã¯\" + targetCharCount + \"æ–‡å—ã§ã™ã€‚<br>æ–‡å—数をオーãƒãƒ¼ã™ã‚‹ã¨ã€ã‚¨ã‚¯ã‚»ãƒ«ã§ãã‚Œã„ã«è¡¨ç¤ºã•ã‚Œãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚\");\n }\n $(\"#\" + targetName + \"-error\" ).addClass(\"d-block\");\n }\n } else {\n if(isValid) {\n $(\"#\" + targetName + \"-error\" ).removeClass(\"d-block\");\n } else {\n $(\"#\" + targetName + \"-error\" ).text(\"目安ã®ï¼‘è¡Œã‚ãŸã‚Šå…¨è§’æ–‡å—æ•° \" + targetCharCount + \" を超ãˆã¦å…¥åŠ›ã•ã‚Œã¦ã„ã‚‹è¡ŒãŒã‚ã‚Šã¾ã™ã€‚ã‚ã¾ã‚Šæ–‡å—æ•°ãŒå¢—ãˆã‚‹ã¨èªã¿ã«ãããªã‚Šã¾ã™ã®ã§ã”注æ„ãã ã•ã„\");\n $(\"#\" + targetName + \"-error\" ).addClass(\"d-block\");\n }\n }\n });\n\n $(\".js-validate\").trigger('input');\n $(\".js-validate-textarea\").trigger('input');\n});\n\n// 知的財産権ç‰\n// 特ã«ãªã—をクリックã—ãŸã‚‰ã€Œç”³è«‹ä¸ã€ã€Œç™»éŒ²æ¸ˆã¿ã€ã‹ã‚‰ãƒã‚§ãƒƒã‚¯ã‚’外ã™\n$(function() {\n $(\"#select_chizai1\").on('click', function (e) {\n $(\"#select_chizai3\").prop('checked', false);\n $(\"#select_chizai4\").prop('checked', false);\n });\n});\n\n// 人数入力\n$(function() {\n $(\".js-input-people\").on('change', function (e) {\n SogyoKeikakuUpdateDelimitedMoney(this);\n });\n});\n\n// パーセント入力\n// 0~100。100より大ãã„数値ãŒå…¥åŠ›ã•ã‚ŒãŸå ´åˆã¯100をセット。全角ã¯åŠè§’ã«ã€‚マイナス入力ã¯ãƒžã‚¤ãƒŠã‚¹ã‚’削除ã—ã¦ãƒ—ラスã«ã™ã‚‹ã€‚数値以外ãŒå…¥åŠ›ã•ã‚ŒãŸå ´åˆå‰Šé™¤ã€‚\n$(function() {\n $(\".input-percent\").on('change', function (e) {\n let result = $(this).val();\n // 全角数å—ã®å¤‰æ›\n result = result.replace(/[ï¼-ï¼™]/g, function(s) {\n return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);\n });\n // ãƒã‚¤ãƒ•ãƒ³ã‚„マイナスãŒã‚ã‚‹å ´åˆã¯å‰Šé™¤ã™ã‚‹\n \"ï¼â€âˆ’‒—–―ーー─â”一-\".split(\"\").forEach((hyphen) => {\n result = result.replace(hyphen, \"\");\n });\n\n // 100より大ãã„数値ãŒå…¥åŠ›ã•ã‚ŒãŸå ´åˆã¯100をセット\n if (Number.isFinite(parseInt(result))) {\n if (result > 100) result = 100;\n } else {\n result = \"\";\n }\n\n $(this).val(result);\n });\n});\n\nexport function calcSection7() {\n setSetsubiShikinSogaku();\n setUntenShikinSogaku();\n setHitsuyounaShikinSogaku();\n setChotatsuHoho();\n checkSougakuAndSetMessage();\n}\n\n// レンダリング後ã«hidden fieldã‹ã‚‰text fieldã¸ã®åˆæœŸã‚»ãƒƒãƒˆ\n$(function() {\n $(\".js-sogyo-keikaku-set-delimited-money\").each(function(){\n if (this.value !== \"\") {\n // hidde fieldã‹ã‚‰text fieldã«å€¤ã‚’コピー\n SogyoKeikakuSetDelimitedMoney(this);\n }\n });\n});\n\n// 入力フォームã®ä¸èº«ã®ãƒã‚§ãƒƒã‚¯&変更\n$(function() {\n // ãƒãƒ¼ãƒ‰æ™‚ã«åˆæœŸè¨ˆç®—ã‚’è¡Œã†\n calcSection7();\n\n // on-change時ã®å‡¦ç†\n $(\".inputMoney\").on('change', function (e) {\n // text fieldをカンマ区切り&hidden fieldã¸ã®ã‚»ãƒƒãƒˆ\n SogyoKeikakuUpdateDelimitedMoney(this);\n\n // è¨å‚™è³‡é‡‘ç·é¡ã¾ãŸã¯é‹è»¢è³‡é‡‘ãŒå¤‰æ›´ã®å ´åˆ\n if ($(this).attr(\"class\").includes(\"setsubiShikin\") || $(this).attr(\"class\").includes(\"untenShikin\")) {\n // è¨å‚™è³‡é‡‘ç·é¡ã®è¨ˆç®—\n setSetsubiShikinSogaku();\n // é‹è»¢è³‡é‡‘ç·é¡ã®è¨ˆç®—\n setUntenShikinSogaku();\n // å¿…è¦ãªè³‡é‡‘ã®è¨ˆç®—\n setHitsuyounaShikinSogaku();\n // å¿…è¦ãªè³‡é‡‘ã¨èª¿é”ã®æ–¹æ³•ã®ãƒã‚§ãƒƒã‚¯\n checkSougakuAndSetMessage();\n } else if ($(this).attr(\"class\").includes(\"chotatsuHoho\")){\n // 調é”ã®æ–¹æ³•ã®åˆè¨ˆ\n setChotatsuHoho();\n // å¿…è¦ãªè³‡é‡‘ã¨èª¿é”ã®æ–¹æ³•ã®ãƒã‚§ãƒƒã‚¯\n checkSougakuAndSetMessage();\n }\n });\n});\n\nfunction sanitizeNumber(element) {\n let result = $(element).val()\n // 全角数å—ã®å¤‰æ›\n result = result.replace(/[ï¼-ï¼™]/g, function(s) {\n return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);\n });\n // ãƒã‚¤ãƒ•ãƒ³ã‚„マイナスãŒã‚ã‚‹å ´åˆã¯å‰Šé™¤ã™ã‚‹\n \"ï¼â€âˆ’‒—–―ーー─â”一-\".split(\"\").forEach((hyphen) => {\n result = result.replace(hyphen, \"\")\n });\n\n // 数値変æ›å‡ºæ¥ãªã„å ´åˆã¯\"\"ã«ç½®æ›\n result = Number.isFinite(parseInt(result)) ? result : \"\"\n\n // 100億以上ã¯ãƒˆãƒªãƒ ã™ã‚‹\n if (result.length > 9) result = result.slice(0, 9)\n\n $(element).val(result)\n}\n\nfunction sanitizeMoney(element) {\n let result = $(element).val()\n // 全角数å—ã®å¤‰æ›\n result = result.replace(/[ï¼-ï¼™]/g, function(s) {\n return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);\n });\n // ãƒã‚¤ãƒ•ãƒ³ã‚„マイナスãŒã‚ã‚‹å ´åˆã¯å‰Šé™¤ã™ã‚‹\n \"ï¼â€âˆ’‒—–―ーー─â”一-,,\".split(\"\").forEach((hyphen) => {\n result = result.replace(hyphen, \"\")\n });\n\n // 数値変æ›å‡ºæ¥ãªã„å ´åˆã¯0ã«ç½®æ›\n result = Number.isFinite(parseInt(result)) ? result : 0\n\n // 100億以上ã¯ãƒˆãƒªãƒ ã™ã‚‹\n if (result.length > 5) result = result.slice(0, 5)\n\n return parseInt(result)\n}\n\n// è¨å‚™è³‡é‡‘ç·é¡ã®è¨ˆç®—\nfunction setSetsubiShikinSogaku() {\n let result = 0;\n $(\".setsubiShikin\").each(function (){\n if (Number.isFinite(parseInt($(this).val()))){\n result += parseInt($(this).val().replace(/,/, ''));\n }\n })\n $(\"#setsubiShikinSogaku\").text(result.toLocaleString('ja-JP'));\n}\n\nfunction setUntenShikinSogaku() {\n let result = 0;\n $(\".untenShikin\").each(function (){\n if (Number.isFinite(parseInt($(this).val()))){\n result += parseInt($(this).val().replace(/,/, ''));\n }\n })\n $(\"#untenShikinSogaku\").text(result.toLocaleString('ja-JP'));\n}\n\nfunction setHitsuyounaShikinSogaku(){\n let result = 0;\n if (Number.isFinite(parseInt($(\"#setsubiShikinSogaku\").text()))){\n result += parseInt($(\"#setsubiShikinSogaku\").text().replace(/,/, ''));\n }\n if (Number.isFinite(parseInt($(\"#untenShikinSogaku\").text()))){\n result += parseInt($(\"#untenShikinSogaku\").text().replace(/,/, ''));\n }\n $(\"#hitsuyounaShikinSogaku\").text(result.toLocaleString('ja-JP'));\n}\n\nfunction checkSougakuAndSetMessage(){\n const hitsuyounaShikinSogaku = Number.isFinite(parseInt($(\"#hitsuyounaShikinSogaku\").text().replace(\",\", \"\"))) ? parseInt($(\"#hitsuyounaShikinSogaku\").text().replace(\",\", \"\")) : 0;\n const chotatsuHohoSogaku = Number.isFinite(parseInt($(\"#chotatsuHohoSogaku\").text().replace(\",\", \"\"))) ? parseInt($(\"#chotatsuHohoSogaku\").text().replace(\",\", \"\")) : 0;\n if (hitsuyounaShikinSogaku === chotatsuHohoSogaku) {\n $(\".main-form__feedback\").removeClass(\"d-none\");\n $(\".main-form__feedback--error\").addClass(\"d-none\");\n $(\"#totalHitsuyouShikin\").removeClass(\"unmatch\");\n $(\"#totalChotatsuHoHo\").removeClass(\"unmatch\");\n $(\"#hitsuyounaShikinSogakuErr\").addClass(\"d-none\");\n $(\"#chotatsuHohoSogakuErr\").addClass(\"d-none\");\n $(\"#formAmmount\").removeClass(\"error\");\n } else {\n $(\".main-form__feedback\").addClass(\"d-none\");\n $(\".main-form__feedback--error\").removeClass(\"d-none\");\n $(\"#totalHitsuyouShikin\").addClass(\"unmatch\");\n $(\"#totalChotatsuHoHo\").addClass(\"unmatch\");\n $(\"#hitsuyounaShikinSogakuErr\").removeClass(\"d-none\");\n $(\"#chotatsuHohoSogakuErr\").removeClass(\"d-none\");\n $(\"#formAmmount\").addClass(\"error\");\n }\n setInvalidToHitsuyoShikinAndChotatsuHoho(hitsuyounaShikinSogaku === chotatsuHohoSogaku);\n setDisabledToSogyoBtnNext();\n changeColorHikakuShikinSp(hitsuyounaShikinSogaku === chotatsuHohoSogaku);\n setReturnToContentsBtnPaddingBottom();\n}\n\nfunction setDisabledToSogyoBtnNext() {\n if ($(\"#sogyoBtnNext\").length) {\n if ($(\"#sogyoForm7\").hasClass(\"display\") && !$(\"#feedbackError\").hasClass(\"d-none\")) {\n $(\"#sogyoBtnNext\").prop(\"disabled\", true);\n } else {\n $(\"#sogyoBtnNext\").prop(\"disabled\", false);\n }\n }\n}\n\nfunction changeColorHikakuShikinSp(isValid) {\n if ($(\".js-hikaku_shikin_sp\").length) {\n if (isValid) {\n $(\".js-hikaku_shikin_sp\").removeClass(\"unmatch\");\n } else {\n $(\".js-hikaku_shikin_sp\").addClass(\"unmatch\");\n }\n }\n}\n\nfunction setInvalidToHitsuyoShikinAndChotatsuHoho(isValid) {\n $(\".setsubiShikin\").each(function (){\n $(this).removeClass(\"is-invalid\");\n if ($(this).val() && !isValid){\n $(this).addClass(\"is-invalid\");\n }\n })\n $(\".untenShikin\").each(function (){\n $(this).removeClass(\"is-invalid\");\n if ($(this).val() && !isValid){\n $(this).addClass(\"is-invalid\");\n }\n })\n $(\".chotatsuHoho\").each(function (){\n $(this).removeClass(\"is-invalid\");\n if ($(this).val() && !isValid){\n $(this).addClass(\"is-invalid\");\n }\n })\n}\n\nfunction setChotatsuHoho(){\n let result = 0;\n $(\".chotatsuHoho\").each(function (){\n if (Number.isFinite(parseInt($(this).val()))){\n result += parseInt($(this).val().replace(/,/, ''));\n }\n })\n $(\"#chotatsuHohoSogaku\").text(result.toLocaleString('ja-JP'));\n}\n\n// éŽåŽ»ã®äº‹æ¥çµŒé¨“ã€è³‡æ ¼æœ‰ç„¡ã€çŸ¥è²¡æœ‰ç„¡\n// 未é¸æŠžä¸ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’readonlyã«ã™ã‚‹(DBã«ã¯ä¿å˜ã—ãŸã„ãŸã‚)\n$(function() {\n toggleJigyoKeiken();\n $('input[name=\"jfc_template[jigyokeiken]\"]').on('change', function (e) {\n toggleJigyoKeiken();\n });\n toggleShikakuUmu();\n $('input[name=\"jfc_template[shikaku_umu]\"]').on('change', function (e) {\n toggleShikakuUmu();\n });\n toggleChizaiUmu();\n $('input[name=\"jfc_template[chizai_umu]\"]').on('change', function (e) {\n toggleChizaiUmu();\n }); \n});\n\nfunction toggleJigyoKeiken() {\n const checkedId = $('input[name=\"jfc_template[jigyokeiken]\"]:checked').attr('id')\n // if 事æ¥ã‚’経営ã—ã¦ã„ãŸã“ã¨ã¯ãªã„\n if (checkedId == \"select_business1\") {\n $('input[name=\"jfc_template[keizokujigyonaiyo]\"]').prop('readonly', true);\n disableSelectField($('select[name=\"jfc_template[yametajiki_nen]\"]'));\n disableSelectField($('select[name=\"jfc_template[yametajiki_getsu]\"]'));\n } else if (checkedId == \"select_business2\") {\n $('input[name=\"jfc_template[keizokujigyonaiyo]\"]').prop('readonly', false);\n disableSelectField($('select[name=\"jfc_template[yametajiki_nen]\"]'));\n disableSelectField($('select[name=\"jfc_template[yametajiki_getsu]\"]'));\n } else if (checkedId == \"select_business3\") {\n $('input[name=\"jfc_template[keizokujigyonaiyo]\"]').prop('readonly', true);\n enableSelectField($('select[name=\"jfc_template[yametajiki_nen]\"]'));\n enableSelectField($('select[name=\"jfc_template[yametajiki_getsu]\"]'));\n } else {\n $('input[name=\"jfc_template[keizokujigyonaiyo]\"]').prop('readonly', false);\n enableSelectField($('select[name=\"jfc_template[yametajiki_nen]\"]'));\n enableSelectField($('select[name=\"jfc_template[yametajiki_getsu]\"]'));\n }\n}\n\nfunction toggleShikakuUmu() {\n const checkedId = $('input[name=\"jfc_template[shikaku_umu]\"]:checked').attr('id')\n if (checkedId == \"select_shikaku1\") {\n $('input[name=\"jfc_template[shikakumei]\"]').prop('readonly', true);\n $('input[name=\"jfc_template[shikakubango]\"]').prop('readonly', true);\n disableSelectField($('select[name=\"jfc_template[shikakushutoku_nen]\"]'));\n disableSelectField($('select[name=\"jfc_template[shikakushutoku_getsu]\"]'));\n } else if (checkedId == \"select_shikaku2\") {\n $('input[name=\"jfc_template[shikakumei]\"]').prop('readonly', false);\n $('input[name=\"jfc_template[shikakubango]\"]').prop('readonly', false);\n enableSelectField($('select[name=\"jfc_template[shikakushutoku_nen]\"]'));\n enableSelectField($('select[name=\"jfc_template[shikakushutoku_getsu]\"]'));\n } else {\n $('input[name=\"jfc_template[shikakumei]\"]').prop('readonly', false);\n $('input[name=\"jfc_template[shikakubango]\"]').prop('readonly', false);\n enableSelectField($('select[name=\"jfc_template[shikakushutoku_nen]\"]'));\n enableSelectField($('select[name=\"jfc_template[shikakushutoku_getsu]\"]'));\n }\n}\n\nfunction toggleChizaiUmu() {\n const checkedId = $('input[name=\"jfc_template[chizai_umu]\"]:checked').attr('id')\n if (checkedId == \"select_chizai1\") {\n $('input[name=\"jfc_template[chizai_naiyo]\"]').prop('readonly', true);\n $('input[name=\"jfc_template[chizai_jokyo]\"]').prop('disabled', true);\n } else if (checkedId == \"select_chizai2\") {\n $('input[name=\"jfc_template[chizai_naiyo]\"]').prop('readonly', false);\n $('input[name=\"jfc_template[chizai_jokyo]\"]').prop('disabled', false);\n } else {\n $('input[name=\"jfc_template[chizai_naiyo]\"]').prop('readonly', false);\n $('input[name=\"jfc_template[chizai_jokyo]\"]').prop('disabled', false);\n }\n}\n\nfunction disableSelectField(jqSelectElm) {\n jqSelectElm.addClass('disabled')\n jqSelectElm.children().each((i, opt)=> {\n if(opt.selected) {\n opt.disabled = false;\n } else {\n opt.disabled = true;\n }\n });\n}\n\nfunction enableSelectField(jqSelectElm) {\n jqSelectElm.removeClass('disabled')\n jqSelectElm.children().each((i, opt)=> {\n opt.disabled = false;\n });\n}\n\nfunction SogyoKeikakuUpdateDelimitedMoney(textFieldElement) {\n // hidden fieldã¸å€¤ã‚’セット\n const hiddenElementId = textFieldElement.dataset.target;\n const hiddenElement = document.getElementById(hiddenElementId);\n hiddenElement.value = sanitizeMoney(textFieldElement);\n\n // text fieldã«ã‚«ãƒ³ãƒžã‚’付与\n $(textFieldElement).val(sanitizeMoney(textFieldElement).toLocaleString('ja-JP'));\n}\n\nfunction SogyoKeikakuSetDelimitedMoney(hiddenElement) {\n // hidden fieldã‹ã‚‰text fieldã«å€¤ã‚’コピー\n const inputElementId = \"text_\" + hiddenElement.id;\n const inputElement = document.getElementById(inputElementId);\n inputElement.value = parseInt(hiddenElement.value).toLocaleString('ja-JP');\n}\n\nfunction setSogyoKeikakuMainInnerMinHeight() {\n if ($(\"#sogyoKeikakuMainInner\").length) {\n const offsetTop = $(\"#sogyoKeikakuMainInner\").offset().top;\n const value = `calc(100vh - ${offsetTop}px)`;\n $(\"#sogyoKeikakuMainInner\").css(\"min-height\", value);\n }\n}\n\nfunction setReturnToContentsBtnPaddingBottom() {\n if (($(\"#sogyoSticky.display\").length || $(\"#sogyoContentsSticky.display\").length) && $(\"#returnToContentsBtn\").length) {\n let height = null;\n if ($(\"#sogyoSticky.display\").length) {\n height = $(\"#sogyoSticky.display\").outerHeight();\n } else if ($(\"#sogyoContentsSticky.display\").length) {\n height = $(\"#sogyoContentsSticky.display\").outerHeight();\n }\n if (height != null) {\n const value = `${height}px`;\n $(\"#returnToContentsBtn\").css(\"padding-bottom\", value);\n }\n }\n}\n\ntry {\n //スマホページé·ç§»\n let currentPage = \"\";\n function toggleForm() {\n var feedbacks = document.getElementsByClassName(\"main-form__feedback--sp\");\n var feedbackArray = Array.from(feedbacks);\n var formAmmount = document.getElementById(\"formAmmount\");\n if (currentPage === \"Contents\") {\n document.getElementById(\"sogyoFormContents\").classList.add(\"display\");\n document.getElementById(\"sogyoContentsSticky\").classList.add(\"display\");\n // document.getElementById(\"sogyoBtnReverseFinal\").classList.remove(\"display\");\n document.getElementById(\"sogyoSticky\").classList.remove(\"display\");\n document.getElementById(\"sogyo-menu\").classList.remove(\"display\");\n document.getElementById(\"sogyoBtnContents\").classList.remove(\"display\");\n document.getElementById(\"sogyoKeikakuMainWrapper\").classList.remove(\"display\");\n for (let i = 0; i < 10; i++) {\n let formId = \"sogyoForm\" + i.toString();\n let btnId = \"sogyoNavBtn\" + i.toString();\n document.getElementById(formId).classList.remove(\"display\");\n document\n .getElementById(btnId)\n .classList.remove(\"sogyo-menu__btn--selected\");\n }\n feedbackArray.forEach((feedback) => feedback.classList.remove(\"display\"));\n formAmmount.classList.remove(\"display\");\n } else {\n document.getElementById(\"sogyoFormContents\").classList.remove(\"display\");\n document\n .getElementById(\"sogyoContentsSticky\")\n .classList.remove(\"display\");\n // document.getElementById(\"sogyoBtnReverseFinal\").classList.remove(\"display\");\n document.getElementById(\"sogyo-menu\").classList.add(\"display\");\n document.getElementById(\"sogyoBtnContents\").classList.add(\"display\");\n document.getElementById(\"sogyoKeikakuMainWrapper\").classList.add(\"display\");\n for (let i = 0; i < 10; i++) {\n let formId = \"sogyoForm\" + i.toString();\n let btnId = \"sogyoNavBtn\" + i.toString();\n if (i.toString() === currentPage) {\n document.getElementById(formId).classList.add(\"display\");\n document\n .getElementById(btnId)\n .classList.add(\"sogyo-menu__btn--selected\");\n } else {\n document.getElementById(formId).classList.remove(\"display\");\n document\n .getElementById(btnId)\n .classList.remove(\"sogyo-menu__btn--selected\");\n }\n }\n if (currentPage === \"9\") {\n document.getElementById(\"sogyoContentsSticky\").classList.add(\"display\");\n // document.getElementById(\"sogyoBtnReverseFinal\").classList.add(\"display\");\n document.getElementById(\"sogyoSticky\").classList.remove(\"display\");\n } else {\n document.getElementById(\"sogyoSticky\").classList.add(\"display\");\n }\n\n if (currentPage === \"7\") {\n feedbackArray.forEach((feedback) => feedback.classList.add(\"display\"));\n formAmmount.classList.add(\"display\");\n } else {\n feedbackArray.forEach((feedback) =>\n feedback.classList.remove(\"display\")\n );\n formAmmount.classList.remove(\"display\");\n }\n setSogyoKeikakuMainInnerMinHeight();\n setReturnToContentsBtnPaddingBottom();\n }\n setDisabledToSogyoBtnNext();\n toggleSogyoBtnReverseFirstSogyoBtnReverseFinal();\n\n window.scroll({\n top: 0,\n behavior: \"instant\",\n });\n\n document.getElementById(\"sogyo_keikaku_form_sp_current_page\").value = currentPage;\n }\n window.addEventListener(\"load\", function() {\n if (document.getElementById(\"sogyo_keikaku_form_sp_current_page\") != null && document.getElementById(\"sogyo_keikaku_form_sp_current_page\").value != \"\") {\n currentPage = document.getElementById(\"sogyo_keikaku_form_sp_current_page\").value;\n toggleForm();\n }\n });\n function handleStepBtn(btnId) {\n if (document.getElementById(btnId)) {\n document.getElementById(btnId).addEventListener(\"click\", function () {\n let idNumber = btnId.replace(\"sogyoBtn\", \"\");\n currentPage = idNumber;\n toggleForm();\n });\n }\n }\n if (document.getElementById(\"sogyoBtnStepContents\")) {\n document\n .getElementById(\"sogyoBtnStepContents\")\n .addEventListener(\"click\", function () {\n currentPage = \"Contents\";\n toggleForm();\n });\n }\n function handleStepNavBtn(btnId) {\n if (document.getElementById(btnId)) {\n document.getElementById(btnId).addEventListener(\"click\", function () {\n let idNumber = btnId.replace(\"sogyoNavBtn\", \"\");\n currentPage = idNumber;\n toggleForm();\n });\n }\n }\n function handleStepReverseBtn() {\n if (document.getElementById(\"sogyoBtnReverse\")) {\n document\n .getElementById(\"sogyoBtnReverse\")\n .addEventListener(\"click\", function () {\n if (currentPage === \"0\") {\n currentPage = \"Contents\";\n } else {\n currentPage = (parseInt(currentPage) - 1).toString();\n }\n toggleForm();\n });\n }\n if (document.getElementById(\"sogyoBtnReverseFinal\")) {\n document\n .getElementById(\"sogyoBtnReverseFinal\")\n .addEventListener(\"click\", function () {\n if (currentPage === \"9\") {\n currentPage = \"8\";\n toggleForm();\n }\n });\n }\n }\n function handleStepNextBtn() {\n if (document.getElementById(\"sogyoBtnNext\")) {\n document\n .getElementById(\"sogyoBtnNext\")\n .addEventListener(\"click\", function () {\n currentPage = (parseInt(currentPage) + 1).toString();\n toggleForm();\n });\n }\n }\n\n handleStepBtn(\"sogyoBtn0\");\n handleStepBtn(\"sogyoBtn1\");\n handleStepBtn(\"sogyoBtn2\");\n handleStepBtn(\"sogyoBtn3\");\n handleStepBtn(\"sogyoBtn4\");\n handleStepBtn(\"sogyoBtn5\");\n handleStepBtn(\"sogyoBtn6\");\n handleStepBtn(\"sogyoBtn7\");\n handleStepBtn(\"sogyoBtn8\");\n handleStepBtn(\"sogyoBtn9\");\n handleStepBtn(\"sogyoBtnContents\");\n handleStepNavBtn(\"sogyoNavBtn0\");\n handleStepNavBtn(\"sogyoNavBtn1\");\n handleStepNavBtn(\"sogyoNavBtn2\");\n handleStepNavBtn(\"sogyoNavBtn3\");\n handleStepNavBtn(\"sogyoNavBtn4\");\n handleStepNavBtn(\"sogyoNavBtn5\");\n handleStepNavBtn(\"sogyoNavBtn6\");\n handleStepNavBtn(\"sogyoNavBtn7\");\n handleStepNavBtn(\"sogyoNavBtn8\");\n handleStepNavBtn(\"sogyoNavBtn9\");\n handleStepReverseBtn();\n handleStepNextBtn();\n\n //é …ç›®è¨å•ã®ãƒ—ルダウン\n function toggleAccordion(btnId, accordionId, iconId) {\n var accordionBtn = document.getElementById(btnId);\n var accordion = document.getElementById(accordionId);\n var icon = document.getElementById(iconId);\n if (accordionBtn && accordion && icon) {\n accordionBtn.addEventListener(\"click\", function () {\n if (accordion.classList.contains(\"display\")) {\n accordion.classList.remove(\"display\");\n icon.classList.remove(\"display\");\n } else {\n accordion.classList.add(\"display\");\n icon.classList.add(\"display\");\n }\n });\n }\n }\n\n function toggleAccordionIconOnLoad(accordionId, iconId) {\n var accordion = document.getElementById(accordionId);\n var icon = document.getElementById(iconId);\n if (accordion && icon) {\n if (accordion.classList.contains(\"display\")) {\n icon.classList.add(\"display\");\n } else {\n icon.classList.remove(\"display\");\n }\n }\n }\n\n function displayInputBySelect(selectId, inputId, keyword) {\n document.addEventListener(\"DOMContentLoaded\", function () {\n var selectElement = document.getElementById(selectId);\n var targetDiv = document.getElementById(inputId);\n\n if (selectElement) {\n selectElement.addEventListener(\"change\", function () {\n var selectedValue = selectElement.value;\n\n if (selectedValue === keyword) {\n targetDiv.classList.add(\"display\");\n } else {\n targetDiv.classList.remove(\"display\");\n }\n });\n }\n });\n }\n\n for (let i = 1; i <= 31; i++) {\n const btnId = `formAccordionBtn${i}`;\n const contentId = `formAccordion${i}`;\n const iconId = `formAccordionIcon${i}`;\n toggleAccordion(btnId, contentId, iconId);\n toggleAccordionIconOnLoad(contentId, iconId);\n }\n\n // displayInputBySelect(\"select_career1\", \"additionalInput1\", \"keizoku\");\n // displayInputBySelect(\"select_career1\", \"additionalInput2\", \"kako\");\n // displayInputBySelect(\"select_career2\", \"additionalInput3\", \"ari\");\n // displayInputBySelect(\"select_career3\", \"additionalInput4\", \"ari\");\n\n //入力ãƒã‚§ãƒƒã‚¯\n\n //0\n const sogyokeikakushomei = document.getElementById(\n \"jfc_template_sogyokeikakushomei\"\n );\n const templatefullname = document.getElementById(\"jfc_template_fullname\");\n const templatesakuseibi = document.getElementById(\"jfc_template_sakuseibi\");\n sogyokeikakushomei.addEventListener(\"input\", handleInputChangeItem0);\n templatefullname.addEventListener(\"input\", handleInputChangeItem0);\n templatesakuseibi.addEventListener(\"input\", handleInputChangeItem0);\n window.addEventListener(\"load\", handleInputChangeItem0);\n function handleInputChangeItem0() {\n if (document.getElementById(\"inputStatus0\") === null) {\n return;\n }\n if (\n sogyokeikakushomei.value !== \"\" ||\n templatefullname.value !== \"\" ||\n templatesakuseibi.value !== \"\"\n ) {\n document.getElementById(\"inputStatus0\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus0\").classList.remove(\"inputted\");\n }\n }\n\n //1\n const sogyodoki1 = document.getElementById(\"jfc_template_sogyodoki_1\");\n const sogyodoki2 = document.getElementById(\"jfc_template_sogyodoki_2\");\n const sogyodoki3 = document.getElementById(\"jfc_template_sogyodoki_3\");\n const sogyodoki4 = document.getElementById(\"jfc_template_sogyodoki_4\");\n sogyodoki1.addEventListener(\"input\", handleInputChangeItem1);\n sogyodoki2.addEventListener(\"input\", handleInputChangeItem1);\n sogyodoki3.addEventListener(\"input\", handleInputChangeItem1);\n sogyodoki4.addEventListener(\"input\", handleInputChangeItem1);\n window.addEventListener(\"load\", handleInputChangeItem1);\n function handleInputChangeItem1() {\n if (document.getElementById(\"inputStatus1\") === null) {\n return;\n }\n if (\n sogyodoki1.value !== \"\" ||\n sogyodoki2.value !== \"\" ||\n sogyodoki3.value !== \"\" ||\n sogyodoki4.value !== \"\"\n ) {\n document.getElementById(\"inputStatus1\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus1\").classList.remove(\"inputted\");\n }\n }\n\n //2\n const keirekiNen1 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_1\"\n );\n const keirekiGetsu1 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_1\"\n );\n const keirekiNaiyo1 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_1\"\n );\n const keirekiNen2 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_2\"\n );\n const keirekiGetsu2 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_2\"\n );\n const keirekiNaiyo2 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_2\"\n );\n const keirekiNen3 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_3\"\n );\n const keirekiGetsu3 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_3\"\n );\n const keirekiNaiyo3 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_3\"\n );\n const keirekiNen4 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_4\"\n );\n const keirekiGetsu4 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_4\"\n );\n const keirekiNaiyo4 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_4\"\n );\n const keirekiNen5 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_5\"\n );\n const keirekiGetsu5 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_5\"\n );\n const keirekiNaiyo5 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_5\"\n );\n const keirekiNen6 = document.getElementById(\n \"jfc_template_keieisyakeireki_nen_6\"\n );\n const keirekiGetsu6 = document.getElementById(\n \"jfc_template_keieisyakeireki_getsu_6\"\n );\n const keirekiNaiyo6 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_6\"\n );\n keirekiNen1.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu1.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo1.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNen2.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu2.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo2.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNen3.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu3.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo3.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNen4.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu4.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo4.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNen5.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu5.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo5.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNen6.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiGetsu6.addEventListener(\"input\", handleInputChangeRyakureki);\n keirekiNaiyo6.addEventListener(\"input\", handleInputChangeRyakureki);\n window.addEventListener(\"load\", handleInputChangeRyakureki);\n function handleInputChangeRyakureki() {\n if (document.getElementById(\"formAccordionCheck17\") === null) {\n return;\n }\n if (\n keirekiNen1.value !== \"\" ||\n keirekiGetsu1.value !== \"\" ||\n keirekiNaiyo1.value !== \"\" ||\n keirekiNen2.value !== \"\" ||\n keirekiGetsu2.value !== \"\" ||\n keirekiNaiyo2.value !== \"\" ||\n keirekiNen3.value !== \"\" ||\n keirekiGetsu3.value !== \"\" ||\n keirekiNaiyo3.value !== \"\" ||\n keirekiNen4.value !== \"\" ||\n keirekiGetsu4.value !== \"\" ||\n keirekiNaiyo4.value !== \"\" ||\n keirekiNen5.value !== \"\" ||\n keirekiGetsu5.value !== \"\" ||\n keirekiNaiyo5.value !== \"\" ||\n keirekiNen6.value !== \"\" ||\n keirekiGetsu6.value !== \"\" ||\n keirekiNaiyo6.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck17\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck17\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem2();\n }\n\n const career1_1 = document.querySelector(\"#formAccordion1 #select_business1\");\n const career1_2 = document.querySelector(\"#formAccordion1 #select_business2\");\n const career1_3 = document.querySelector(\"#formAccordion1 #select_business3\");\n career1_1.addEventListener(\"change\", handleInputChangeCarrer1);\n career1_2.addEventListener(\"change\", handleInputChangeCarrer1);\n career1_3.addEventListener(\"change\", handleInputChangeCarrer1);\n window.addEventListener(\"load\", handleInputChangeCarrer1);\n function handleInputChangeCarrer1() {\n if (\n career1_1.checked ||\n career1_2.checked ||\n career1_3.checked\n ) {\n document.getElementById(\"formAccordionCheck1\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck1\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem2();\n\n const additionalInput1 = document.getElementById(\"additionalInput1\");\n const additionalInput2 = document.getElementById(\"additionalInput2\");\n if (career1_1.checked) {\n additionalInput1.classList.remove(\"display\");\n additionalInput2.classList.remove(\"display\");\n } else if (career1_2.checked) {\n additionalInput1.classList.add(\"display\");\n additionalInput2.classList.remove(\"display\");\n } else if (career1_3.checked) {\n additionalInput1.classList.remove(\"display\");\n additionalInput2.classList.add(\"display\");\n } else {\n additionalInput1.classList.remove(\"display\");\n additionalInput2.classList.remove(\"display\");\n }\n }\n\n const career2_1 = document.querySelector(\"#formAccordion2 #select_shikaku1\");\n const career2_2 = document.querySelector(\"#formAccordion2 #select_shikaku2\");\n career2_1.addEventListener(\"change\", handleInputChangeCarrer2);\n career2_2.addEventListener(\"change\", handleInputChangeCarrer2);\n window.addEventListener(\"load\", handleInputChangeCarrer2);\n function handleInputChangeCarrer2() {\n if (\n career2_1.checked ||\n career2_2.checked\n ) {\n document.getElementById(\"formAccordionCheck2\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck2\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem2();\n\n const additionalInput3 = document.getElementById(\"additionalInput3\");\n if (career2_1.checked) {\n additionalInput3.classList.remove(\"display\");\n } else if (career2_2.checked) {\n additionalInput3.classList.add(\"display\");\n } else {\n additionalInput3.classList.remove(\"display\");\n }\n }\n\n const career3_1 = document.querySelector(\"#formAccordion3 #select_chizai1\");\n const career3_2 = document.querySelector(\"#formAccordion3 #select_chizai2\");\n career3_1.addEventListener(\"change\", handleInputChangeCarrer3);\n career3_2.addEventListener(\"change\", handleInputChangeCarrer3);\n window.addEventListener(\"load\", handleInputChangeCarrer3);\n function handleInputChangeCarrer3() {\n if (\n career3_1.checked ||\n career3_2.checked\n ) {\n document.getElementById(\"formAccordionCheck3\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck3\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem2();\n\n const additionalInput4 = document.getElementById(\"additionalInput4\");\n if (career3_1.checked) {\n additionalInput4.classList.remove(\"display\");\n } else if (career3_2.checked) {\n additionalInput4.classList.add(\"display\");\n } else {\n additionalInput4.classList.remove(\"display\");\n }\n }\n\n function handleInputChangeItem2() {\n if (\n keirekiNen1.value !== \"\" ||\n keirekiGetsu1.value !== \"\" ||\n keirekiNaiyo1.value !== \"\" ||\n keirekiNen2.value !== \"\" ||\n keirekiGetsu2.value !== \"\" ||\n keirekiNaiyo2.value !== \"\" ||\n keirekiNen3.value !== \"\" ||\n keirekiGetsu3.value !== \"\" ||\n keirekiNaiyo3.value !== \"\" ||\n keirekiNen4.value !== \"\" ||\n keirekiGetsu4.value !== \"\" ||\n keirekiNaiyo4.value !== \"\" ||\n keirekiNen5.value !== \"\" ||\n keirekiGetsu5.value !== \"\" ||\n keirekiNaiyo5.value !== \"\" ||\n keirekiNen6.value !== \"\" ||\n keirekiGetsu6.value !== \"\" ||\n keirekiNaiyo6.value !== \"\" ||\n career1_1.checked ||\n career1_2.checked ||\n career1_3.checked ||\n career2_1.checked ||\n career2_2.checked ||\n career3_1.checked ||\n career3_2.checked\n ) {\n document.getElementById(\"inputStatus2\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus2\").classList.remove(\"inputted\");\n }\n }\n\n //3\n const shohingaiyo1 = document.getElementById(\"jfc_template_shohingaiyo_1\");\n const shohinshare1 = document.getElementById(\"jfc_template_shohin_share_1\");\n const shohingaiyo2 = document.getElementById(\"jfc_template_shohingaiyo_2\");\n const shohinshare2 = document.getElementById(\"jfc_template_shohin_share_2\");\n const shohingaiyo3 = document.getElementById(\"jfc_template_shohingaiyo_3\");\n const shohinshare3 = document.getElementById(\"jfc_template_shohin_share_3\");\n shohingaiyo1.addEventListener(\"input\", handleInputChangeShohin);\n shohinshare1.addEventListener(\"input\", handleInputChangeShohin);\n shohingaiyo2.addEventListener(\"input\", handleInputChangeShohin);\n shohinshare2.addEventListener(\"input\", handleInputChangeShohin);\n shohingaiyo3.addEventListener(\"input\", handleInputChangeShohin);\n shohinshare3.addEventListener(\"input\", handleInputChangeShohin);\n window.addEventListener(\"load\", handleInputChangeShohin);\n function handleInputChangeShohin() {\n if (\n shohingaiyo1.value !== \"\" ||\n shohinshare1.value !== \"\" ||\n shohingaiyo2.value !== \"\" ||\n shohinshare2.value !== \"\" ||\n shohingaiyo3.value !== \"\" ||\n shohinshare3.value !== \"\"\n ) {\n document.getElementById(\"formAccordionShohin\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionShohin\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem3();\n }\n\n const salesPoint1 = document.getElementById(\"jfc_template_sales_point_1\");\n const salesPoint2 = document.getElementById(\"jfc_template_sales_point_2\");\n const salesPoint3 = document.getElementById(\"jfc_template_sales_point_3\");\n salesPoint1.addEventListener(\"input\", handleInputChangeSalesPoint);\n salesPoint2.addEventListener(\"input\", handleInputChangeSalesPoint);\n salesPoint3.addEventListener(\"input\", handleInputChangeSalesPoint);\n window.addEventListener(\"load\", handleInputChangeSalesPoint);\n function handleInputChangeSalesPoint() {\n if (\n salesPoint1.value !== \"\" ||\n salesPoint2.value !== \"\" ||\n salesPoint3.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck5\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck5\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem3();\n }\n\n const hambaiTarget1 = document.getElementById(\"jfc_template_hambai_target_1\");\n const hambaiTarget2 = document.getElementById(\"jfc_template_hambai_target_2\");\n const hambaiTarget3 = document.getElementById(\"jfc_template_hambai_target_3\");\n hambaiTarget1.addEventListener(\"input\", handleInputChangeHanbaiTarget);\n hambaiTarget2.addEventListener(\"input\", handleInputChangeHanbaiTarget);\n hambaiTarget3.addEventListener(\"input\", handleInputChangeHanbaiTarget);\n window.addEventListener(\"load\", handleInputChangeHanbaiTarget);\n function handleInputChangeHanbaiTarget() {\n if (\n hambaiTarget1.value !== \"\" ||\n hambaiTarget2.value !== \"\" ||\n hambaiTarget3.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck6\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck6\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem3();\n }\n\n const shijokankyo1 = document.getElementById(\"jfc_template_shijokankyo_1\");\n const shijokankyo2 = document.getElementById(\"jfc_template_shijokankyo_2\");\n const shijokankyo3 = document.getElementById(\"jfc_template_shijokankyo_3\");\n shijokankyo1.addEventListener(\"input\", handleInputChangeShijo);\n shijokankyo2.addEventListener(\"input\", handleInputChangeShijo);\n shijokankyo3.addEventListener(\"input\", handleInputChangeShijo);\n window.addEventListener(\"load\", handleInputChangeShijo);\n function handleInputChangeShijo() {\n if (\n shijokankyo1.value !== \"\" ||\n shijokankyo2.value !== \"\" ||\n shijokankyo3.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck7\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck7\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem3();\n }\n\n function handleInputChangeItem3() {\n if (\n shohingaiyo1.value !== \"\" ||\n shohinshare1.value !== \"\" ||\n shohingaiyo2.value !== \"\" ||\n shohinshare2.value !== \"\" ||\n shohingaiyo3.value !== \"\" ||\n shohinshare3.value !== \"\" ||\n salesPoint1.value !== \"\" ||\n salesPoint2.value !== \"\" ||\n salesPoint3.value !== \"\" ||\n hambaiTarget1.value !== \"\" ||\n hambaiTarget2.value !== \"\" ||\n hambaiTarget3.value !== \"\" ||\n shijokankyo1.value !== \"\" ||\n shijokankyo2.value !== \"\" ||\n shijokankyo3.value !== \"\"\n ) {\n document.getElementById(\"inputStatus3\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus3\").classList.remove(\"inputted\");\n }\n }\n\n //4\n const hambaisakimei1 = document.getElementById(\n \"jfc_template_hambaisakimei_1\"\n );\n const hambaisakimeiKana1 = document.getElementById(\n \"jfc_template_hambaisakimei_kana_1\"\n );\n const hambaisakiShozaichi1 = document.getElementById(\n \"jfc_template_hambaisaki_shozaichi_1\"\n );\n const hambaisakiShare1 = document.getElementById(\n \"jfc_template_hambaisaki_share_1\"\n );\n const hambaisakikakewariai1 = document.getElementById(\n \"jfc_template_hambaisaki_kakewariai_1\"\n );\n const hambaisakishimebi1 = document.getElementById(\n \"jfc_template_hambaisaki_shimebi_1\"\n );\n const hambaisakiKaishubi1 = document.getElementById(\n \"jfc_template_hambaisaki_kaishubi_1\"\n );\n const hambaisakimei2 = document.getElementById(\n \"jfc_template_hambaisakimei_2\"\n );\n const hambaisakimeiKana2 = document.getElementById(\n \"jfc_template_hambaisakimei_kana_2\"\n );\n const hambaisakiShozaichi2 = document.getElementById(\n \"jfc_template_hambaisaki_shozaichi_2\"\n );\n const hambaisakiShare2 = document.getElementById(\n \"jfc_template_hambaisaki_share_2\"\n );\n const hambaisakikakewariai2 = document.getElementById(\n \"jfc_template_hambaisaki_kakewariai_2\"\n );\n const hambaisakishimebi2 = document.getElementById(\n \"jfc_template_hambaisaki_shimebi_2\"\n );\n const hambaisakiKaishubi2 = document.getElementById(\n \"jfc_template_hambaisaki_kaishubi_2\"\n );\n const hambaisakiTorihikisakisu = document.getElementById(\n \"jfc_template_hambaisaki_torihikisakisu\"\n );\n const hambaisakiShareHoka = document.getElementById(\n \"jfc_template_hambaisaki_share_hoka\"\n );\n const hambaisakiKakewariaiHoka = document.getElementById(\n \"jfc_template_hambaisaki_kakewariai_hoka\"\n );\n const hambaisakiShimebiHoka = document.getElementById(\n \"jfc_template_hambaisaki_shimebi_hoka\"\n );\n const hambaisakiKaishubiHoka = document.getElementById(\n \"jfc_template_hambaisaki_kaishubi_hoka\"\n );\n hambaisakimei1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakimeiKana1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShozaichi1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShare1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakikakewariai1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakishimebi1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiKaishubi1.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakimei2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakimeiKana2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShozaichi2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShare2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakikakewariai2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakishimebi2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiKaishubi2.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiTorihikisakisu.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShareHoka.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiKakewariaiHoka.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiShimebiHoka.addEventListener(\"input\", handleInputChangeHanbaisaki);\n hambaisakiKaishubiHoka.addEventListener(\"input\", handleInputChangeHanbaisaki);\n window.addEventListener(\"load\", handleInputChangeHanbaisaki);\n function handleInputChangeHanbaisaki() {\n if (\n hambaisakimei1.value !== \"\" ||\n hambaisakimeiKana1.value !== \"\" ||\n hambaisakiShozaichi1.value !== \"\" ||\n hambaisakiShare1.value !== \"\" ||\n hambaisakikakewariai1.value !== \"\" ||\n hambaisakishimebi1.value !== \"\" ||\n hambaisakiKaishubi1.value !== \"\" ||\n hambaisakimei2.value !== \"\" ||\n hambaisakimeiKana2.value !== \"\" ||\n hambaisakiShozaichi2.value !== \"\" ||\n hambaisakiShare2.value !== \"\" ||\n hambaisakikakewariai2.value !== \"\" ||\n hambaisakishimebi2.value !== \"\" ||\n hambaisakiKaishubi2.value !== \"\" ||\n hambaisakiTorihikisakisu.value !== \"\" ||\n hambaisakiShareHoka.value !== \"\" ||\n hambaisakiKakewariaiHoka.value !== \"\" ||\n hambaisakiShimebiHoka.value !== \"\" ||\n hambaisakiKaishubiHoka.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck8\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck8\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem4();\n }\n\n const shiiresakimei1 = document.getElementById(\n \"jfc_template_shiiresakimei_1\"\n );\n const shiiresakimeiKana1 = document.getElementById(\n \"jfc_template_shiiresakimei_kana_1\"\n );\n const shiiresakiShozaichi1 = document.getElementById(\n \"jfc_template_shiiresaki_shozaichi_1\"\n );\n const shiiresakiShare1 = document.getElementById(\n \"jfc_template_shiiresaki_share_1\"\n );\n const shiiresakiKakewariai1 = document.getElementById(\n \"jfc_template_shiiresaki_kakewariai_1\"\n );\n const shiiresakiShimebi1 = document.getElementById(\n \"jfc_template_shiiresaki_shimebi_1\"\n );\n const shiiresakiKaishubi1 = document.getElementById(\n \"jfc_template_shiiresaki_kaishubi_1\"\n );\n const shiiresakimei2 = document.getElementById(\n \"jfc_template_shiiresakimei_2\"\n );\n const shiiresakimeiKana2 = document.getElementById(\n \"jfc_template_shiiresakimei_kana_2\"\n );\n const shiiresakiShozaichi2 = document.getElementById(\n \"jfc_template_shiiresaki_shozaichi_2\"\n );\n const shiiresakiShare2 = document.getElementById(\n \"jfc_template_shiiresaki_share_2\"\n );\n const shiiresakiKakewariai2 = document.getElementById(\n \"jfc_template_shiiresaki_kakewariai_2\"\n );\n const shiiresakiShimebi2 = document.getElementById(\n \"jfc_template_shiiresaki_shimebi_2\"\n );\n const shiiresakiKaishubi2 = document.getElementById(\n \"jfc_template_shiiresaki_kaishubi_2\"\n );\n const shiiresakitorihikisakisu = document.getElementById(\n \"jfc_template_shiiresaki_torihikisakisu\"\n );\n const shiiresakishareHoka = document.getElementById(\n \"jfc_template_shiiresaki_share_hoka\"\n );\n const shiiresakikakewariaiHoka = document.getElementById(\n \"jfc_template_shiiresaki_kakewariai_hoka\"\n );\n const shiiresakishimebiHoka = document.getElementById(\n \"jfc_template_shiiresaki_shimebi_hoka\"\n );\n const shiiresakiKaishubiHoka = document.getElementById(\n \"jfc_template_shiiresaki_kaishubi_hoka\"\n );\n shiiresakimei1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakimeiKana1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShozaichi1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShare1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiKakewariai1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShimebi1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiKaishubi1.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakimei2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakimeiKana2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShozaichi2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShare2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiKakewariai2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiShimebi2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiKaishubi2.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakitorihikisakisu.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakishareHoka.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakikakewariaiHoka.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakishimebiHoka.addEventListener(\"input\", handleInputChangeShiire);\n shiiresakiKaishubiHoka.addEventListener(\"input\", handleInputChangeShiire);\n window.addEventListener(\"load\", handleInputChangeShiire);\n function handleInputChangeShiire() {\n if (\n shiiresakimei1.value !== \"\" ||\n shiiresakimeiKana1.value !== \"\" ||\n shiiresakiShozaichi1.value !== \"\" ||\n shiiresakiShare1.value !== \"\" ||\n shiiresakiKakewariai1.value !== \"\" ||\n shiiresakiShimebi1.value !== \"\" ||\n shiiresakiKaishubi1.value !== \"\" ||\n shiiresakimei2.value !== \"\" ||\n shiiresakimeiKana2.value !== \"\" ||\n shiiresakiShozaichi2.value !== \"\" ||\n shiiresakiShare2.value !== \"\" ||\n shiiresakiKakewariai2.value !== \"\" ||\n shiiresakiShimebi2.value !== \"\" ||\n shiiresakiKaishubi2.value !== \"\" ||\n shiiresakitorihikisakisu.value !== \"\" ||\n shiiresakishareHoka.value !== \"\" ||\n shiiresakikakewariaiHoka.value !== \"\" ||\n shiiresakishimebiHoka.value !== \"\" ||\n shiiresakiKaishubiHoka.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck9\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck9\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem4();\n }\n\n const gaichusakimei1 = document.getElementById(\n \"jfc_template_gaichusakimei_1\"\n );\n const gaichusakimeiKana1 = document.getElementById(\n \"jfc_template_gaichusakimei_kana_1\"\n );\n const gaichusakiShozaichi1 = document.getElementById(\n \"jfc_template_gaichusaki_shozaichi_1\"\n );\n const gaichusakiShare1 = document.getElementById(\n \"jfc_template_gaichusaki_share_1\"\n );\n const gaichusakikakewariai1 = document.getElementById(\n \"jfc_template_gaichusaki_kakewariai_1\"\n );\n const gaichusakishimebi1 = document.getElementById(\n \"jfc_template_gaichusaki_shimebi_1\"\n );\n const gaichusakiKaishubi1 = document.getElementById(\n \"jfc_template_gaichusaki_kaishubi_1\"\n );\n const gaichusakitorihikisakisu = document.getElementById(\n \"jfc_template_gaichusaki_torihikisakisu\"\n );\n const gaichusakishareHoka = document.getElementById(\n \"jfc_template_gaichusaki_share_hoka\"\n );\n const gaichusakikakewariaiHoka = document.getElementById(\n \"jfc_template_gaichusaki_kakewariai_hoka\"\n );\n const gaichusakishimebiHoka = document.getElementById(\n \"jfc_template_gaichusaki_shimebi_hoka\"\n );\n const gaichusakiKaishubiHoka = document.getElementById(\n \"jfc_template_gaichusaki_kaishubi_hoka\"\n );\n gaichusakimei1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakimeiKana1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakiShozaichi1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakiShare1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakikakewariai1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakishimebi1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakiKaishubi1.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakitorihikisakisu.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakishareHoka.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakikakewariaiHoka.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakishimebiHoka.addEventListener(\"input\", handleInputChangeGaichu);\n gaichusakiKaishubiHoka.addEventListener(\"input\", handleInputChangeGaichu);\n window.addEventListener(\"load\", handleInputChangeGaichu);\n function handleInputChangeGaichu() {\n if (\n gaichusakimei1.value !== \"\" ||\n gaichusakimeiKana1.value !== \"\" ||\n gaichusakiShozaichi1.value !== \"\" ||\n gaichusakiShare1.value !== \"\" ||\n gaichusakikakewariai1.value !== \"\" ||\n gaichusakishimebi1.value !== \"\" ||\n gaichusakiKaishubi1.value !== \"\" ||\n gaichusakitorihikisakisu.value !== \"\" ||\n gaichusakishareHoka.value !== \"\" ||\n gaichusakikakewariaiHoka.value !== \"\" ||\n gaichusakishimebiHoka.value !== \"\" ||\n gaichusakiKaishubiHoka.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck10\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck10\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem4();\n }\n\n const jinkenhiShimebi = document.getElementById(\n \"jfc_template_jinkenhi_shimebi\"\n );\n const jinkenhiShiharaibi = document.getElementById(\n \"jfc_template_jinkenhi_shiharaibi\"\n );\n const jinkenhiBonusGetsu1 = document.getElementById(\n \"jfc_template_jinkenhi_bonus_getsu_1\"\n );\n const jinkenhiBonusGetsu2 = document.getElementById(\n \"jfc_template_jinkenhi_bonus_getsu_2\"\n );\n jinkenhiShimebi.addEventListener(\"input\", handleInputChangeJinkenhi);\n jinkenhiShiharaibi.addEventListener(\"input\", handleInputChangeJinkenhi);\n jinkenhiBonusGetsu1.addEventListener(\"input\", handleInputChangeJinkenhi);\n jinkenhiBonusGetsu2.addEventListener(\"input\", handleInputChangeJinkenhi);\n window.addEventListener(\"load\", handleInputChangeJinkenhi);\n function handleInputChangeJinkenhi() {\n if (\n jinkenhiShimebi.value !== \"\" ||\n jinkenhiShiharaibi.value !== \"\" ||\n jinkenhiBonusGetsu1.value !== \"\" ||\n jinkenhiBonusGetsu2.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck11\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck11\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem4();\n }\n\n function handleInputChangeItem4() {\n if (\n hambaisakimei1.value !== \"\" ||\n hambaisakimeiKana1.value !== \"\" ||\n hambaisakiShozaichi1.value !== \"\" ||\n hambaisakiShare1.value !== \"\" ||\n hambaisakikakewariai1.value !== \"\" ||\n hambaisakishimebi1.value !== \"\" ||\n hambaisakiKaishubi1.value !== \"\" ||\n hambaisakimei2.value !== \"\" ||\n hambaisakimeiKana2.value !== \"\" ||\n hambaisakiShozaichi2.value !== \"\" ||\n hambaisakiShare2.value !== \"\" ||\n hambaisakikakewariai2.value !== \"\" ||\n hambaisakishimebi2.value !== \"\" ||\n hambaisakiKaishubi2.value !== \"\" ||\n hambaisakiTorihikisakisu.value !== \"\" ||\n hambaisakiShareHoka.value !== \"\" ||\n hambaisakiKakewariaiHoka.value !== \"\" ||\n hambaisakiShimebiHoka.value !== \"\" ||\n hambaisakiKaishubiHoka.value !== \"\" ||\n shiiresakimei1.value !== \"\" ||\n shiiresakimeiKana1.value !== \"\" ||\n shiiresakiShozaichi1.value !== \"\" ||\n shiiresakiShare1.value !== \"\" ||\n shiiresakiKakewariai1.value !== \"\" ||\n shiiresakiShimebi1.value !== \"\" ||\n shiiresakiKaishubi1.value !== \"\" ||\n shiiresakimei2.value !== \"\" ||\n shiiresakimeiKana2.value !== \"\" ||\n shiiresakiShozaichi2.value !== \"\" ||\n shiiresakiShare2.value !== \"\" ||\n shiiresakiKakewariai2.value !== \"\" ||\n shiiresakiShimebi2.value !== \"\" ||\n shiiresakiKaishubi2.value !== \"\" ||\n shiiresakitorihikisakisu.value !== \"\" ||\n shiiresakishareHoka.value !== \"\" ||\n shiiresakikakewariaiHoka.value !== \"\" ||\n shiiresakishimebiHoka.value !== \"\" ||\n shiiresakiKaishubiHoka.value !== \"\" ||\n gaichusakimei1.value !== \"\" ||\n gaichusakimeiKana1.value !== \"\" ||\n gaichusakiShozaichi1.value !== \"\" ||\n gaichusakiShare1.value !== \"\" ||\n gaichusakikakewariai1.value !== \"\" ||\n gaichusakishimebi1.value !== \"\" ||\n gaichusakiKaishubi1.value !== \"\" ||\n gaichusakitorihikisakisu.value !== \"\" ||\n gaichusakishareHoka.value !== \"\" ||\n gaichusakikakewariaiHoka.value !== \"\" ||\n gaichusakishimebiHoka.value !== \"\" ||\n gaichusakiKaishubiHoka.value !== \"\" ||\n jinkenhiShimebi.value !== \"\" ||\n jinkenhiShiharaibi.value !== \"\" ||\n jinkenhiBonusGetsu1.value !== \"\" ||\n jinkenhiBonusGetsu2.value !== \"\"\n ) {\n document.getElementById(\"inputStatus4\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus4\").classList.remove(\"inputted\");\n }\n }\n\n //5\n const yakuinsu = document.getElementById(\"text_yakuinsu\");\n const jugyoinsu = document.getElementById(\"text_jugyoinsu\");\n const uchikazoku = document.getElementById(\"text_uchi_kazoku\");\n const uchipart = document.getElementById(\"text_uchi_part\");\n yakuinsu.addEventListener(\"input\", handleInputChangeItem5);\n jugyoinsu.addEventListener(\"input\", handleInputChangeItem5);\n uchikazoku.addEventListener(\"input\", handleInputChangeItem5);\n uchipart.addEventListener(\"input\", handleInputChangeItem5);\n window.addEventListener(\"load\", handleInputChangeItem5);\n function handleInputChangeItem5() {\n if (\n yakuinsu.value !== \"\" ||\n jugyoinsu.value !== \"\" ||\n uchikazoku.value !== \"\" ||\n uchipart.value !== \"\"\n ) {\n document.getElementById(\"inputStatus5\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus5\").classList.remove(\"inputted\");\n }\n }\n\n //6\n const kariiresaki1 = document.getElementById(\"jfc_template_kariiresaki_1\");\n const usage1jigyo = document.getElementById(\"usage1_jigyo\");\n const usage1jutaku = document.getElementById(\"usage1_jutaku\");\n const usage1car = document.getElementById(\"usage1_car\");\n const usage1kyoiku = document.getElementById(\"usage1_kyoiku\");\n const usage1card = document.getElementById(\"usage1_card\");\n const usage1sonota = document.getElementById(\"usage1_sonota\");\n const kariirezandaka1 = document.getElementById(\"text_kariirezandaka_1\");\n const nenkanhensaigaku1 = document.getElementById(\n \"text_kariire_nenkanhensaigaku_1\"\n );\n const kariiresaki2 = document.getElementById(\"jfc_template_kariiresaki_2\");\n const usage2jigyo = document.getElementById(\"usage2_jigyo\");\n const usage2jutaku = document.getElementById(\"usage2_jutaku\");\n const usage2car = document.getElementById(\"usage2_car\");\n const usage2kyoiku = document.getElementById(\"usage2_kyoiku\");\n const usage2card = document.getElementById(\"usage2_card\");\n const usage2sonota = document.getElementById(\"usage2_sonota\");\n const kariirezandaka2 = document.getElementById(\"text_kariirezandaka_2\");\n const nenkanhensaigaku2 = document.getElementById(\n \"text_kariire_nenkanhensaigaku_2\"\n );\n const kariiresaki3 = document.getElementById(\"jfc_template_kariiresaki_3\");\n const usage3jigyo = document.getElementById(\"usage3_jigyo\");\n const usage3jutaku = document.getElementById(\"usage3_jutaku\");\n const usage3car = document.getElementById(\"usage3_car\");\n const usage3kyoiku = document.getElementById(\"usage3_kyoiku\");\n const usage3card = document.getElementById(\"usage3_card\");\n const usage3sonota = document.getElementById(\"usage3_sonota\");\n const kariirezandaka3 = document.getElementById(\"text_kariirezandaka_3\");\n const nenkanhensaigaku3 = document.getElementById(\n \"text_kariire_nenkanhensaigaku_3\"\n );\n kariiresaki1.addEventListener(\"input\", handleInputChangeItem6);\n usage1jigyo.addEventListener(\"input\", handleInputChangeItem6);\n usage1jutaku.addEventListener(\"input\", handleInputChangeItem6);\n usage1car.addEventListener(\"input\", handleInputChangeItem6);\n usage1kyoiku.addEventListener(\"input\", handleInputChangeItem6);\n usage1card.addEventListener(\"input\", handleInputChangeItem6);\n usage1sonota.addEventListener(\"input\", handleInputChangeItem6);\n kariirezandaka1.addEventListener(\"input\", handleInputChangeItem6);\n nenkanhensaigaku1.addEventListener(\"input\", handleInputChangeItem6);\n kariiresaki2.addEventListener(\"input\", handleInputChangeItem6);\n usage2jigyo.addEventListener(\"input\", handleInputChangeItem6);\n usage2jutaku.addEventListener(\"input\", handleInputChangeItem6);\n usage2car.addEventListener(\"input\", handleInputChangeItem6);\n usage2kyoiku.addEventListener(\"input\", handleInputChangeItem6);\n usage2card.addEventListener(\"input\", handleInputChangeItem6);\n usage2sonota.addEventListener(\"input\", handleInputChangeItem6);\n kariirezandaka2.addEventListener(\"input\", handleInputChangeItem6);\n nenkanhensaigaku2.addEventListener(\"input\", handleInputChangeItem6);\n kariiresaki3.addEventListener(\"input\", handleInputChangeItem6);\n usage3jigyo.addEventListener(\"input\", handleInputChangeItem6);\n usage3jutaku.addEventListener(\"input\", handleInputChangeItem6);\n usage3car.addEventListener(\"input\", handleInputChangeItem6);\n usage3kyoiku.addEventListener(\"input\", handleInputChangeItem6);\n usage3card.addEventListener(\"input\", handleInputChangeItem6);\n usage3sonota.addEventListener(\"input\", handleInputChangeItem6);\n kariirezandaka3.addEventListener(\"input\", handleInputChangeItem6);\n nenkanhensaigaku3.addEventListener(\"input\", handleInputChangeItem6);\n window.addEventListener(\"load\", handleInputChangeItem6);\n function handleInputChangeItem6() {\n if (\n kariiresaki1.value !== \"\" ||\n usage1jigyo.checked ||\n usage1jutaku.checked ||\n usage1car.checked ||\n usage1kyoiku.checked ||\n usage1card.checked ||\n usage1sonota.checked ||\n kariirezandaka1.value !== \"\" ||\n nenkanhensaigaku1.value !== \"\" ||\n kariiresaki2.value !== \"\" ||\n usage2jigyo.checked ||\n usage2jutaku.checked ||\n usage2car.checked ||\n usage2kyoiku.checked ||\n usage2card.checked ||\n usage2sonota.checked ||\n kariirezandaka2.value !== \"\" ||\n nenkanhensaigaku2.value !== \"\" ||\n kariiresaki3.value !== \"\" ||\n usage3jigyo.checked ||\n usage3jutaku.checked ||\n usage3car.checked ||\n usage3kyoiku.checked ||\n usage3card.checked ||\n usage3sonota.checked ||\n kariirezandaka3.value !== \"\" ||\n nenkanhensaigaku3.value !== \"\"\n ) {\n document.getElementById(\"inputStatus6\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus6\").classList.remove(\"inputted\");\n }\n }\n\n //7\n const setsubishikingaiyo1 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_1\"\n );\n const setsubishikinmitsumorisaki1 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_1\"\n );\n const setsubishikinkingaku1 = document.getElementById(\n \"text_setsubishikin_kingaku_1\"\n );\n const setsubishikingaiyo2 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_2\"\n );\n const setsubishikinmitsumorisaki2 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_2\"\n );\n const setsubishikinkingaku2 = document.getElementById(\n \"text_setsubishikin_kingaku_2\"\n );\n const setsubishikingaiyo3 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_3\"\n );\n const setsubishikinmitsumorisaki3 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_3\"\n );\n const setsubishikinkingaku3 = document.getElementById(\n \"text_setsubishikin_kingaku_3\"\n );\n const setsubishikingaiyo4 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_4\"\n );\n const setsubishikinmitsumorisaki4 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_4\"\n );\n const setsubishikinkingaku4 = document.getElementById(\n \"text_setsubishikin_kingaku_4\"\n );\n const setsubishikingaiyo5 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_5\"\n );\n const setsubishikinmitsumorisaki5 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_5\"\n );\n const setsubishikinkingaku5 = document.getElementById(\n \"text_setsubishikin_kingaku_5\"\n );\n const setsubishikingaiyo6 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_6\"\n );\n const setsubishikinmitsumorisaki6 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_6\"\n );\n const setsubishikinkingaku6 = document.getElementById(\n \"text_setsubishikin_kingaku_6\"\n );\n const setsubishikingaiyo7 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_7\"\n );\n const setsubishikinmitsumorisaki7 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_7\"\n );\n const setsubishikinkingaku7 = document.getElementById(\n \"text_setsubishikin_kingaku_7\"\n );\n const setsubishikingaiyo8 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_8\"\n );\n const setsubishikinmitsumorisaki8 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_8\"\n );\n const setsubishikinkingaku8 = document.getElementById(\n \"text_setsubishikin_kingaku_8\"\n );\n const setsubishikingaiyo9 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_9\"\n );\n const setsubishikinmitsumorisaki9 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_9\"\n );\n const setsubishikinkingaku9 = document.getElementById(\n \"text_setsubishikin_kingaku_9\"\n );\n const setsubishikingaiyo10 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_10\"\n );\n const setsubishikinmitsumorisaki10 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_10\"\n );\n const setsubishikinkingaku10 = document.getElementById(\n \"text_setsubishikin_kingaku_10\"\n );\n const untenshikingaiyo1 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_1\"\n );\n const untenshikinkingaku1 = document.getElementById(\n \"text_untenshikin_kingaku_1\"\n );\n const untenshikingaiyo2 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_2\"\n );\n const untenshikinkingaku2 = document.getElementById(\n \"text_untenshikin_kingaku_2\"\n );\n const untenshikingaiyo3 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_3\"\n );\n const untenshikinkingaku3 = document.getElementById(\n \"text_untenshikin_kingaku_3\"\n );\n const untenshikingaiyo4 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_4\"\n );\n const untenshikinkingaku4 = document.getElementById(\n \"text_untenshikin_kingaku_4\"\n );\n setsubishikingaiyo1.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki1.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku1.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo2.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki2.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku2.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo3.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki3.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku3.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo4.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki4.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku4.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo5.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki5.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku5.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo6.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki6.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku6.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo7.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki7.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku7.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo8.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki8.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku8.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo9.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki9.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku9.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikingaiyo10.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinmitsumorisaki10.addEventListener(\"input\", handleInputChangeShikin);\n setsubishikinkingaku10.addEventListener(\"input\", handleInputChangeShikin);\n untenshikingaiyo1.addEventListener(\"input\", handleInputChangeShikin);\n untenshikinkingaku1.addEventListener(\"input\", handleInputChangeShikin);\n untenshikingaiyo2.addEventListener(\"input\", handleInputChangeShikin);\n untenshikinkingaku2.addEventListener(\"input\", handleInputChangeShikin);\n untenshikingaiyo3.addEventListener(\"input\", handleInputChangeShikin);\n untenshikinkingaku3.addEventListener(\"input\", handleInputChangeShikin);\n untenshikingaiyo4.addEventListener(\"input\", handleInputChangeShikin);\n untenshikinkingaku4.addEventListener(\"input\", handleInputChangeShikin);\n window.addEventListener(\"load\", handleInputChangeShikin);\n function handleInputChangeShikin() {\n if (\n setsubishikingaiyo1.value !== \"\" ||\n setsubishikinmitsumorisaki1.value !== \"\" ||\n setsubishikinkingaku1.value !== \"\" ||\n setsubishikingaiyo2.value !== \"\" ||\n setsubishikinmitsumorisaki2.value !== \"\" ||\n setsubishikinkingaku2.value !== \"\" ||\n setsubishikingaiyo3.value !== \"\" ||\n setsubishikinmitsumorisaki3.value !== \"\" ||\n setsubishikinkingaku3.value !== \"\" ||\n setsubishikingaiyo4.value !== \"\" ||\n setsubishikinmitsumorisaki4.value !== \"\" ||\n setsubishikinkingaku4.value !== \"\" ||\n setsubishikingaiyo5.value !== \"\" ||\n setsubishikinmitsumorisaki5.value !== \"\" ||\n setsubishikinkingaku5.value !== \"\" ||\n setsubishikingaiyo6.value !== \"\" ||\n setsubishikinmitsumorisaki6.value !== \"\" ||\n setsubishikinkingaku6.value !== \"\" ||\n setsubishikingaiyo7.value !== \"\" ||\n setsubishikinmitsumorisaki7.value !== \"\" ||\n setsubishikinkingaku7.value !== \"\" ||\n setsubishikingaiyo8.value !== \"\" ||\n setsubishikinmitsumorisaki8.value !== \"\" ||\n setsubishikinkingaku8.value !== \"\" ||\n setsubishikingaiyo9.value !== \"\" ||\n setsubishikinmitsumorisaki9.value !== \"\" ||\n setsubishikinkingaku9.value !== \"\" ||\n setsubishikingaiyo10.value !== \"\" ||\n setsubishikinmitsumorisaki10.value !== \"\" ||\n setsubishikinkingaku10.value !== \"\" ||\n untenshikingaiyo1.value !== \"\" ||\n untenshikinkingaku1.value !== \"\" ||\n untenshikingaiyo2.value !== \"\" ||\n untenshikinkingaku2.value !== \"\" ||\n untenshikingaiyo3.value !== \"\" ||\n untenshikinkingaku3.value !== \"\" ||\n untenshikingaiyo4.value !== \"\" ||\n untenshikinkingaku4.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck15\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck15\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem7();\n }\n\n const jikoshikin = document.getElementById(\"text_jikoshikin\");\n const shinzokuKariirekin = document.getElementById(\n \"text_shinzoku_kariirekin\"\n );\n const shinzokuKariiremoto = document.getElementById(\n \"jfc_template_shinzoku_kariiremoto\"\n );\n const shinzokuHensaihoho = document.getElementById(\n \"jfc_template_shinzoku_hensaihoho\"\n );\n const kokoKariirekin = document.getElementById(\"text_koko_kariirekin\");\n const kokoHensaihoho = document.getElementById(\n \"jfc_template_koko_hensaihoho\"\n );\n const sonotaKariirekin = document.getElementById(\"text_sonota_kariirekin\");\n const sonotaHensaihoho = document.getElementById(\n \"jfc_template_sonota_hensaihoho\"\n );\n jikoshikin.addEventListener(\"input\", handleInputChangeChotatsu);\n shinzokuKariirekin.addEventListener(\"input\", handleInputChangeChotatsu);\n shinzokuKariiremoto.addEventListener(\"input\", handleInputChangeChotatsu);\n shinzokuHensaihoho.addEventListener(\"input\", handleInputChangeChotatsu);\n kokoKariirekin.addEventListener(\"input\", handleInputChangeChotatsu);\n kokoHensaihoho.addEventListener(\"input\", handleInputChangeChotatsu);\n sonotaKariirekin.addEventListener(\"input\", handleInputChangeChotatsu);\n sonotaHensaihoho.addEventListener(\"input\", handleInputChangeChotatsu);\n window.addEventListener(\"load\", handleInputChangeChotatsu);\n function handleInputChangeChotatsu() {\n if (\n jikoshikin.value !== \"\" ||\n shinzokuKariirekin.value !== \"\" ||\n shinzokuKariiremoto.value !== \"\" ||\n shinzokuHensaihoho.value !== \"\" ||\n kokoKariirekin.value !== \"\" ||\n kokoHensaihoho.value !== \"\" ||\n sonotaKariirekin.value !== \"\" ||\n sonotaHensaihoho.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck16\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck16\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem7();\n }\n\n function handleInputChangeItem7() {\n if (\n setsubishikingaiyo1.value !== \"\" ||\n setsubishikinmitsumorisaki1.value !== \"\" ||\n setsubishikinkingaku1.value !== \"\" ||\n setsubishikingaiyo2.value !== \"\" ||\n setsubishikinmitsumorisaki2.value !== \"\" ||\n setsubishikinkingaku2.value !== \"\" ||\n setsubishikingaiyo3.value !== \"\" ||\n setsubishikinmitsumorisaki3.value !== \"\" ||\n setsubishikinkingaku3.value !== \"\" ||\n setsubishikingaiyo4.value !== \"\" ||\n setsubishikinmitsumorisaki4.value !== \"\" ||\n setsubishikinkingaku4.value !== \"\" ||\n setsubishikingaiyo5.value !== \"\" ||\n setsubishikinmitsumorisaki5.value !== \"\" ||\n setsubishikinkingaku5.value !== \"\" ||\n setsubishikingaiyo6.value !== \"\" ||\n setsubishikinmitsumorisaki6.value !== \"\" ||\n setsubishikinkingaku6.value !== \"\" ||\n setsubishikingaiyo7.value !== \"\" ||\n setsubishikinmitsumorisaki7.value !== \"\" ||\n setsubishikinkingaku7.value !== \"\" ||\n setsubishikingaiyo8.value !== \"\" ||\n setsubishikinmitsumorisaki8.value !== \"\" ||\n setsubishikinkingaku8.value !== \"\" ||\n setsubishikingaiyo9.value !== \"\" ||\n setsubishikinmitsumorisaki9.value !== \"\" ||\n setsubishikinkingaku9.value !== \"\" ||\n setsubishikingaiyo10.value !== \"\" ||\n setsubishikinmitsumorisaki10.value !== \"\" ||\n setsubishikinkingaku10.value !== \"\" ||\n untenshikingaiyo1.value !== \"\" ||\n untenshikinkingaku1.value !== \"\" ||\n untenshikingaiyo2.value !== \"\" ||\n untenshikinkingaku2.value !== \"\" ||\n untenshikingaiyo3.value !== \"\" ||\n untenshikinkingaku3.value !== \"\" ||\n untenshikingaiyo4.value !== \"\" ||\n untenshikinkingaku4.value !== \"\" ||\n jikoshikin.value !== \"\" ||\n shinzokuKariirekin.value !== \"\" ||\n shinzokuKariiremoto.value !== \"\" ||\n shinzokuHensaihoho.value !== \"\" ||\n kokoKariirekin.value !== \"\" ||\n kokoHensaihoho.value !== \"\" ||\n sonotaKariirekin.value !== \"\" ||\n sonotaHensaihoho.value !== \"\"\n ) {\n document.getElementById(\"inputStatus7\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus7\").classList.remove(\"inputted\");\n }\n }\n\n //8\n const kidoMedoNen = document.getElementById(\"jfc_template_kido_medo_nen\");\n const kidoMedoGetsu = document.getElementById(\"jfc_template_kido_medo_getsu\");\n kidoMedoNen.addEventListener(\"input\", handleInputChangeKido);\n kidoMedoGetsu.addEventListener(\"input\", handleInputChangeKido);\n window.addEventListener(\"load\", handleInputChangeKido);\n function handleInputChangeKido() {\n if (kidoMedoNen.value !== \"\" || kidoMedoGetsu.value !== \"\") {\n document.getElementById(\"formAccordionCheck12\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck12\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem8();\n }\n\n const toshouriagedaka = document.getElementById(\"text_tosho_uriagedaka\");\n const kidogouriagedaka = document.getElementById(\"text_kidogo_uriagedaka\");\n const toshouriagegenka = document.getElementById(\"text_tosho_uriagegenka\");\n const kidogouriagegenka = document.getElementById(\"text_kidogo_uriagegenka\");\n const toshojinkenhi = document.getElementById(\"text_tosho_jinkenhi\");\n const kidogojinkenhi = document.getElementById(\"text_kidogo_jinkenhi\");\n const toshoyachin = document.getElementById(\"text_tosho_yachin\");\n const kidogoyachin = document.getElementById(\"text_kidogo_yachin\");\n const toshorisoku = document.getElementById(\"text_tosho_risoku\");\n const kidogorisoku = document.getElementById(\"text_kidogo_risoku\");\n const toshosonota = document.getElementById(\"text_tosho_sonota\");\n const kidogosonota = document.getElementById(\"text_kidogo_sonota\");\n toshouriagedaka.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogouriagedaka.addEventListener(\"input\", handleInputChangeMitoshi);\n toshouriagegenka.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogouriagegenka.addEventListener(\"input\", handleInputChangeMitoshi);\n toshojinkenhi.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogojinkenhi.addEventListener(\"input\", handleInputChangeMitoshi);\n toshoyachin.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogoyachin.addEventListener(\"input\", handleInputChangeMitoshi);\n toshorisoku.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogorisoku.addEventListener(\"input\", handleInputChangeMitoshi);\n toshosonota.addEventListener(\"input\", handleInputChangeMitoshi);\n kidogosonota.addEventListener(\"input\", handleInputChangeMitoshi);\n window.addEventListener(\"load\", handleInputChangeMitoshi);\n function handleInputChangeMitoshi() {\n if (\n toshouriagedaka.value !== \"\" ||\n kidogouriagedaka.value !== \"\" ||\n toshouriagegenka.value !== \"\" ||\n kidogouriagegenka.value !== \"\" ||\n toshojinkenhi.value !== \"\" ||\n kidogojinkenhi.value !== \"\" ||\n toshoyachin.value !== \"\" ||\n kidogoyachin.value !== \"\" ||\n toshorisoku.value !== \"\" ||\n kidogorisoku.value !== \"\" ||\n toshosonota.value !== \"\" ||\n kidogosonota.value !== \"\"\n ) {\n document.getElementById(\"formAccordionCheck13\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck13\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem8();\n }\n\n const keisankonkyo = document.getElementById(\"jfc_template_keisankonkyo\");\n keisankonkyo.addEventListener(\"input\", handleInputChangeKonkyo);\n window.addEventListener(\"load\", handleInputChangeKonkyo);\n function handleInputChangeKonkyo() {\n if (keisankonkyo.value !== \"\") {\n document.getElementById(\"formAccordionCheck14\").classList.add(\"inputted\");\n } else {\n document\n .getElementById(\"formAccordionCheck14\")\n .classList.remove(\"inputted\");\n }\n handleInputChangeItem8();\n }\n\n function handleInputChangeItem8() {\n if (\n kidoMedoNen.value !== \"\" ||\n kidoMedoGetsu.value !== \"\" ||\n toshouriagedaka.value !== \"\" ||\n kidogouriagedaka.value !== \"\" ||\n toshouriagegenka.value !== \"\" ||\n kidogouriagegenka.value !== \"\" ||\n toshojinkenhi.value !== \"\" ||\n kidogojinkenhi.value !== \"\" ||\n toshoyachin.value !== \"\" ||\n kidogoyachin.value !== \"\" ||\n toshorisoku.value !== \"\" ||\n kidogorisoku.value !== \"\" ||\n toshosonota.value !== \"\" ||\n kidogosonota.value !== \"\" ||\n keisankonkyo.value !== \"\"\n ) {\n document.getElementById(\"inputStatus8\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus8\").classList.remove(\"inputted\");\n }\n }\n\n //9\n const jiyukinyuran = document.getElementById(\"jfc_template_jiyukinyuran\");\n jiyukinyuran.addEventListener(\"input\", handleInputChangeItem9);\n window.addEventListener(\"load\", handleInputChangeItem9);\n function handleInputChangeItem9() {\n if (jiyukinyuran.value !== \"\") {\n document.getElementById(\"inputStatus9\").classList.add(\"inputted\");\n } else {\n document.getElementById(\"inputStatus9\").classList.remove(\"inputted\");\n }\n }\n\n //ã•ã‚‰ã«è¡¨ç¤º\n const moreButton1 = document.getElementById(\"additionalBtnCareer\");\n const moreItemsClass1 = \"additionalCareer\";\n const moreButton2 = document.getElementById(\"additionalBtnService\");\n const moreItemsClass2 = \"additionalService\";\n const moreButton3 = document.getElementById(\"additionalBtnSalesPoint\");\n const moreItemsClass3 = \"additionalSalesPoint\";\n const moreButton4 = document.getElementById(\"additionalBtnTarget\");\n const moreItemsClass4 = \"additionalTarget\";\n const moreButton5 = document.getElementById(\"additionalBtnKankyo\");\n const moreItemsClass5 = \"additionalKankyo\";\n const moreButton6 = document.getElementById(\"additionalBtnHambaisaki\");\n const moreItemsClass6 = \"additionalHambaisaki\";\n const moreButton7 = document.getElementById(\"additionalBtnShiiresaki\");\n const moreItemsClass7 = \"additionalShiiresaki\";\n const moreButton8 = document.getElementById(\"additionalBtnGaichusaki\");\n const moreItemsClass8 = \"additionalGaichusaki\";\n const moreButton9 = document.getElementById(\"additionalBtnKariiresaki\");\n const moreItemsClass9 = \"additionalKariiresaki\";\n const moreButton10 = document.getElementById(\"additionalBtnSetsubi\");\n const moreItemsClass10 = \"additionalSetsubi\";\n const moreButton11 = document.getElementById(\"additionalBtnUnten\");\n const moreItemsClass11 = \"additionalUnten\";\n\n function addMoreItem(addClass) {\n const hiddenItems = document.querySelectorAll(`.${addClass}.hidden`);\n if (hiddenItems[0]) {\n hiddenItems[0].classList.remove(\"hidden\");\n }\n }\n\n function hideMoreButton(moreButton, addClass) {\n const hiddenItems = document.querySelectorAll(`.${addClass}.hidden`);\n if (!hiddenItems[0]) {\n moreButton.classList.add(\"d-none\");\n }\n }\n\n moreButton1.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass1);\n hideMoreButton(moreButton1, moreItemsClass1);\n });\n moreButton2.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass2);\n hideMoreButton(moreButton2, moreItemsClass2);\n });\n moreButton3.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass3);\n hideMoreButton(moreButton3, moreItemsClass3);\n });\n moreButton4.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass4);\n hideMoreButton(moreButton4, moreItemsClass4);\n });\n moreButton5.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass5);\n hideMoreButton(moreButton5, moreItemsClass5);\n });\n moreButton6.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass6);\n hideMoreButton(moreButton6, moreItemsClass6);\n });\n moreButton7.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass7);\n hideMoreButton(moreButton7, moreItemsClass7);\n });\n moreButton8.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass8);\n hideMoreButton(moreButton8, moreItemsClass8);\n });\n moreButton9.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass9);\n hideMoreButton(moreButton9, moreItemsClass9);\n });\n moreButton10.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass10);\n hideMoreButton(moreButton10, moreItemsClass10);\n });\n moreButton11.addEventListener(\"click\", function () {\n addMoreItem(moreItemsClass11);\n hideMoreButton(moreButton11, moreItemsClass11);\n });\n\n window.addEventListener(\"load\", hideMoreButton(moreButton1, moreItemsClass1));\n window.addEventListener(\"load\", hideMoreButton(moreButton2, moreItemsClass2));\n window.addEventListener(\"load\", hideMoreButton(moreButton3, moreItemsClass3));\n window.addEventListener(\"load\", hideMoreButton(moreButton4, moreItemsClass4));\n window.addEventListener(\"load\", hideMoreButton(moreButton5, moreItemsClass5));\n window.addEventListener(\"load\", hideMoreButton(moreButton6, moreItemsClass6));\n window.addEventListener(\"load\", hideMoreButton(moreButton7, moreItemsClass7));\n window.addEventListener(\"load\", hideMoreButton(moreButton8, moreItemsClass8));\n window.addEventListener(\"load\", hideMoreButton(moreButton9, moreItemsClass9));\n window.addEventListener(\"load\", hideMoreButton(moreButton10, moreItemsClass10));\n window.addEventListener(\"load\", hideMoreButton(moreButton11, moreItemsClass11));\n\n //入力文å—数を表示\n function writeInputLength(textarea, indicatorId) {\n const inputValueLength = textarea.value.length;\n const indicator = document.getElementById(indicatorId);\n indicator.textContent = inputValueLength;\n }\n\n const countedTextarea1 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_1\"\n );\n const countedTextarea2 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_2\"\n );\n const countedTextarea3 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_3\"\n );\n const countedTextarea4 = document.getElementById(\n \"jfc_template_shohingaiyo_1\"\n );\n const countedTextarea5 = document.getElementById(\n \"jfc_template_shohingaiyo_2\"\n );\n const countedTextarea6 = document.getElementById(\n \"jfc_template_shohingaiyo_3\"\n );\n const countedTextarea7 = document.getElementById(\n \"jfc_template_sales_point_1\"\n );\n const countedTextarea8 = document.getElementById(\n \"jfc_template_sales_point_2\"\n );\n const countedTextarea9 = document.getElementById(\n \"jfc_template_sales_point_3\"\n );\n const countedTextarea10 = document.getElementById(\n \"jfc_template_hambai_target_1\"\n );\n const countedTextarea11 = document.getElementById(\n \"jfc_template_hambai_target_2\"\n );\n const countedTextarea12 = document.getElementById(\n \"jfc_template_hambai_target_3\"\n );\n const countedTextarea13 = document.getElementById(\n \"jfc_template_shijokankyo_1\"\n );\n const countedTextarea14 = document.getElementById(\n \"jfc_template_shijokankyo_2\"\n );\n const countedTextarea15 = document.getElementById(\n \"jfc_template_shijokankyo_3\"\n );\n const countedTextarea16 = document.getElementById(\n \"jfc_template_kariiresaki_1\"\n );\n const countedTextarea17 = document.getElementById(\n \"jfc_template_kariiresaki_2\"\n );\n const countedTextarea18 = document.getElementById(\n \"jfc_template_kariiresaki_3\"\n );\n const countedTextarea19 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_1\"\n );\n const countedTextarea20 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_2\"\n );\n const countedTextarea21 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_3\"\n );\n const countedTextarea22 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_1\"\n );\n const countedTextarea23 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_2\"\n );\n const countedTextarea24 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_3\"\n );\n const countedTextarea25 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_1\"\n );\n const countedTextarea26 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_2\"\n );\n const countedTextarea27 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_3\"\n );\n const countedTextarea28 = document.getElementById(\n \"jfc_template_shinzoku_kariiremoto\"\n );\n const countedTextarea29 = document.getElementById(\n \"jfc_template_shinzoku_hensaihoho\"\n );\n const countedTextarea30 = document.getElementById(\n \"jfc_template_koko_hensaihoho\"\n );\n const countedTextarea31 = document.getElementById(\n \"jfc_template_sonota_hensaihoho\"\n );\n const countedTextarea32 = document.getElementById(\n \"jfc_template_keisankonkyo\"\n );\n const countedTextarea33 = document.getElementById(\n \"jfc_template_jiyukinyuran\"\n );\n const countedTextarea34 = document.getElementById(\n \"jfc_template_keizokujigyonaiyo\"\n );\n const countedTextarea35 = document.getElementById(\n \"jfc_template_shikakumei\"\n );\n const countedTextarea36 = document.getElementById(\n \"jfc_template_chizai_naiyo\"\n );\n const countedTextarea37 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_4\"\n );\n const countedTextarea38 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_5\"\n );\n const countedTextarea39 = document.getElementById(\n \"jfc_template_keieisyakeireki_naiyo_6\"\n );\n const countedTextarea40 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_4\"\n );\n const countedTextarea41 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_5\"\n );\n const countedTextarea42 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_6\"\n );\n const countedTextarea43 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_7\"\n );\n const countedTextarea44 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_8\"\n );\n const countedTextarea45 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_9\"\n );\n const countedTextarea46 = document.getElementById(\n \"jfc_template_setsubishikin_gaiyo_10\"\n );\n const countedTextarea47 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_4\"\n );\n const countedTextarea48 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_5\"\n );\n const countedTextarea49 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_6\"\n );\n const countedTextarea50 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_7\"\n );\n const countedTextarea51 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_8\"\n );\n const countedTextarea52 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_9\"\n );\n const countedTextarea53 = document.getElementById(\n \"jfc_template_setsubishikin_mitsumorisaki_10\"\n );\n const countedTextarea54 = document.getElementById(\n \"jfc_template_untenshikin_gaiyo_4\"\n );\n\n countedTextarea1.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea1, \"span_keieisyakeireki_naiyo_1\");\n });\n countedTextarea2.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea2, \"span_keieisyakeireki_naiyo_2\");\n });\n countedTextarea3.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea3, \"span_keieisyakeireki_naiyo_3\");\n });\n countedTextarea4.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea4, \"span_shohingaiyo_1\");\n });\n countedTextarea5.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea5, \"span_shohingaiyo_2\");\n });\n countedTextarea6.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea6, \"span_shohingaiyo_3\");\n });\n countedTextarea7.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea7, \"span_sales_point_1\");\n });\n countedTextarea8.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea8, \"span_sales_point_2\");\n });\n countedTextarea9.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea9, \"span_sales_point_3\");\n });\n countedTextarea10.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea10, \"span_hambai_target_1\");\n });\n countedTextarea11.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea11, \"span_hambai_target_2\");\n });\n countedTextarea12.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea12, \"span_hambai_target_3\");\n });\n countedTextarea13.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea13, \"span_shijokankyo_1\");\n });\n countedTextarea14.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea14, \"span_shijokankyo_2\");\n });\n countedTextarea15.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea15, \"span_shijokankyo_3\");\n });\n countedTextarea16.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea16, \"span_kariiresaki_1\");\n });\n countedTextarea17.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea17, \"span_kariiresaki_2\");\n });\n countedTextarea18.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea18, \"span_kariiresaki_3\");\n });\n countedTextarea19.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea19, \"span_setsubishikin_gaiyo_1\");\n });\n countedTextarea20.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea20, \"span_setsubishikin_gaiyo_2\");\n });\n countedTextarea21.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea21, \"span_setsubishikin_gaiyo_3\");\n });\n countedTextarea22.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea22, \"span_setsubishikin_mitsumorisaki_1\");\n });\n countedTextarea23.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea23, \"span_setsubishikin_mitsumorisaki_2\");\n });\n countedTextarea24.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea24, \"span_setsubishikin_mitsumorisaki_3\");\n });\n countedTextarea25.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea25, \"span_untenshikin_gaiyo_1\");\n });\n countedTextarea26.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea26, \"span_untenshikin_gaiyo_2\");\n });\n countedTextarea27.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea27, \"span_untenshikin_gaiyo_3\");\n });\n countedTextarea28.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea28, \"span_shinzoku_kariiremoto\");\n });\n countedTextarea29.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea29, \"span_shinzoku_hensaihoho\");\n });\n countedTextarea30.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea30, \"span_koko_hensaihoho\");\n });\n countedTextarea31.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea31, \"span_sonota_hensaihoho\");\n });\n countedTextarea32.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea32, \"span_keisankonkyo\");\n });\n countedTextarea33.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea33, \"span_jiyukinyuran\");\n });\n countedTextarea34.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea34, \"span_keizokujigyonaiyo\");\n });\n countedTextarea35.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea35, \"span_shikakumei\");\n });\n countedTextarea36.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea36, \"span_chizai_naiyo\");\n });\n countedTextarea37.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea37, \"span_keieisyakeireki_naiyo_4\");\n });\n countedTextarea38.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea38, \"span_keieisyakeireki_naiyo_5\");\n });\n countedTextarea39.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea39, \"span_keieisyakeireki_naiyo_6\");\n });\n countedTextarea40.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea40, \"span_setsubishikin_gaiyo_4\");\n });\n countedTextarea41.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea41, \"span_setsubishikin_gaiyo_5\");\n });\n countedTextarea42.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea42, \"span_setsubishikin_gaiyo_6\");\n });\n countedTextarea43.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea43, \"span_setsubishikin_gaiyo_7\");\n });\n countedTextarea44.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea44, \"span_setsubishikin_gaiyo_8\");\n });\n countedTextarea45.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea45, \"span_setsubishikin_gaiyo_9\");\n });\n countedTextarea46.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea46, \"span_setsubishikin_gaiyo_10\");\n });\n countedTextarea47.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea47, \"span_setsubishikin_mitsumorisaki_4\");\n });\n countedTextarea48.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea48, \"span_setsubishikin_mitsumorisaki_5\");\n });\n countedTextarea49.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea49, \"span_setsubishikin_mitsumorisaki_6\");\n });\n countedTextarea50.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea50, \"span_setsubishikin_mitsumorisaki_7\");\n });\n countedTextarea51.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea51, \"span_setsubishikin_mitsumorisaki_8\");\n });\n countedTextarea52.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea52, \"span_setsubishikin_mitsumorisaki_9\");\n });\n countedTextarea53.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea53, \"span_setsubishikin_mitsumorisaki_10\");\n });\n countedTextarea54.addEventListener(\"input\", function () {\n writeInputLength(countedTextarea54, \"span_untenshikin_gaiyo_4\");\n });\n\n const inputEvent = new Event(\"input\");\n countedTextarea1.dispatchEvent(inputEvent);\n countedTextarea2.dispatchEvent(inputEvent);\n countedTextarea3.dispatchEvent(inputEvent);\n countedTextarea4.dispatchEvent(inputEvent);\n countedTextarea5.dispatchEvent(inputEvent);\n countedTextarea6.dispatchEvent(inputEvent);\n countedTextarea7.dispatchEvent(inputEvent);\n countedTextarea8.dispatchEvent(inputEvent);\n countedTextarea9.dispatchEvent(inputEvent);\n countedTextarea10.dispatchEvent(inputEvent);\n countedTextarea11.dispatchEvent(inputEvent);\n countedTextarea12.dispatchEvent(inputEvent);\n countedTextarea13.dispatchEvent(inputEvent);\n countedTextarea14.dispatchEvent(inputEvent);\n countedTextarea15.dispatchEvent(inputEvent);\n countedTextarea16.dispatchEvent(inputEvent);\n countedTextarea17.dispatchEvent(inputEvent);\n countedTextarea18.dispatchEvent(inputEvent);\n countedTextarea19.dispatchEvent(inputEvent);\n countedTextarea20.dispatchEvent(inputEvent);\n countedTextarea21.dispatchEvent(inputEvent);\n countedTextarea22.dispatchEvent(inputEvent);\n countedTextarea23.dispatchEvent(inputEvent);\n countedTextarea24.dispatchEvent(inputEvent);\n countedTextarea25.dispatchEvent(inputEvent);\n countedTextarea26.dispatchEvent(inputEvent);\n countedTextarea27.dispatchEvent(inputEvent);\n countedTextarea28.dispatchEvent(inputEvent);\n countedTextarea29.dispatchEvent(inputEvent);\n countedTextarea30.dispatchEvent(inputEvent);\n countedTextarea31.dispatchEvent(inputEvent);\n countedTextarea32.dispatchEvent(inputEvent);\n countedTextarea33.dispatchEvent(inputEvent);\n countedTextarea34.dispatchEvent(inputEvent);\n countedTextarea35.dispatchEvent(inputEvent);\n countedTextarea36.dispatchEvent(inputEvent);\n countedTextarea37.dispatchEvent(inputEvent);\n countedTextarea38.dispatchEvent(inputEvent);\n countedTextarea39.dispatchEvent(inputEvent);\n countedTextarea40.dispatchEvent(inputEvent);\n countedTextarea41.dispatchEvent(inputEvent);\n countedTextarea42.dispatchEvent(inputEvent);\n countedTextarea43.dispatchEvent(inputEvent);\n countedTextarea44.dispatchEvent(inputEvent);\n countedTextarea45.dispatchEvent(inputEvent);\n countedTextarea46.dispatchEvent(inputEvent);\n countedTextarea47.dispatchEvent(inputEvent);\n countedTextarea48.dispatchEvent(inputEvent);\n countedTextarea49.dispatchEvent(inputEvent);\n countedTextarea50.dispatchEvent(inputEvent);\n countedTextarea51.dispatchEvent(inputEvent);\n countedTextarea52.dispatchEvent(inputEvent);\n countedTextarea53.dispatchEvent(inputEvent);\n countedTextarea54.dispatchEvent(inputEvent);\n\n $(\"#founding_template_reflected\").on(\"click\", function() {\n //7\n handleInputChangeShikin();\n handleInputChangeChotatsu();\n //8\n handleInputChangeKido();\n handleInputChangeMitoshi();\n handleInputChangeKonkyo();\n });\n\n function toggleSogyoBtnReverseFirstSogyoBtnReverseFinal() {\n if ($(\"#sogyoFormContents\").hasClass(\"display\")) {\n $(\"#sogyoBtnReverseFirst\").removeClass(\"d-none\");\n $(\"#sogyoBtnReverseFinal\").addClass(\"d-none\");\n } else if ($(\"#sogyoForm9\").hasClass(\"display\")) {\n $(\"#sogyoBtnReverseFinal\").removeClass(\"d-none\");\n $(\"#sogyoBtnReverseFirst\").addClass(\"d-none\");\n } else {\n $(\"#sogyoBtnReverseFirst\").addClass(\"d-none\");\n $(\"#sogyoBtnReverseFinal\").addClass(\"d-none\");\n }\n }\n toggleSogyoBtnReverseFirstSogyoBtnReverseFinal();\n} catch (error) {\n console.warn(\"ã“ã®ãƒšãƒ¼ã‚¸ã«ã¯å‰µæ¥è¨ˆç”»ã«é–¢ã™ã‚‹é …ç›®ã¯ã‚ã‚Šã¾ã›ã‚“\");\n}\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\nimport Rails from \"@rails/ujs\"\n//import Turbolinks from \"turbolinks\"\nimport * as ActiveStorage from \"@rails/activestorage\"\nimport \"channels\"\n\nRails.start()\n//Turbolinks.start()\nActiveStorage.start()\n\nrequire(\"trix\")\nrequire(\"@rails/actiontext\")\n\nimport \"bootstrap\"\nimport \"stylesheets/style\"\n\nrequire(\"src/muitiple-selective-checkbox\")\nrequire(\"src/modal-fetch\")\nrequire(\"src/customs\")\nrequire(\"src/createSwiper\")\nrequire(\"src/kaigyoShikinSlider\")\nrequire(\"src/untenShikinSlider\")\nrequire(\"src/clipboardcopy\")\nrequire(\"src/inputNumber\")\nrequire(\"src/sogyo-keikaku\")\n\nrequire(\"src/user\")\nrequire(\"src/search\")\nrequire(\"src/plan\")\nrequire(\"src/founding-template\")\nrequire(\"src/jfc-template\")\n\nrequire(\"src/easy-diagnosis\")\nrequire(\"src/shindan-form\")\n\nrequire(\"src/numBtn\")\nrequire(\"src/suuchi-keikaku\")\n\nrequire(\"src/copy-sp-modal\")\n\nrequire(\"src/learn-search/suggest\")\nrequire(\"src/learn-search/searchTag\")\nrequire(\"src/learn-search/category\")\nrequire(\"src/learn-search/favorite\")\nrequire(\"src/learn-search/scroll\")\nrequire(\"src/learn-search/result\")\n\nrequire(\"src/learn-search/study\")\n\nrequire(\"src/search-re25\");\nrequire('src/collapsible-section');\nrequire('src/site-header');\nrequire('src/site-footer');\n\n// .js.erbファイルã§jQueryを使用ã™ã‚‹ãŸã‚ã®è¨˜è¿°\nwindow.$ = jQuery;\n\nconst images = require.context(\"../../images\", true)\nconst imagePath = name => images(name, true)\n\n// tooltip åˆæœŸåŒ–\nimport { Tooltip } from \"bootstrap\";\nconst tooltipTriggerList = [].slice.call(\n document.querySelectorAll('[data-bs-toggle=\"tooltip\"]')\n);\nconst tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {\n return new Tooltip(tooltipTriggerEl);\n});\n","// ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã¨ã‚»ãƒ¬ã‚¯ãƒˆãƒœãƒƒã‚¯ã‚¹ã®è¤‡åˆã€‚'jquery-3.4.1.min.js'ãŒå¿…è¦ã€‚\nimport { Modal } from 'bootstrap'\n$(function() {\n const modalId = \"#modal-target\";\n const modalContentTargetId = \"#modal-content-target\";\n const apiUrl = \"/api/v1/ankens/\";\n var myModal;\n\n if ($(modalId).length) {\n myModal = new Modal($(modalId), {});\n }\n \n $(\".js-open-anken-detail-modal\").on('click', function() {\n var ankenId = $(this).data('id');\n var qParams = $(this).data('q-params');\n\n var url = apiUrl + ankenId;\n\n if (typeof qParams !== 'undefined' && qParams.length) {\n url = url + '?' + qParams;\n }\n\n $.get( url, function( data ) {\n $(modalContentTargetId).html(data);\n myModal.toggle();\n });\n });\n});","import Swiper from \"swiper/swiper-bundle\";\n\nconst option__original = {\n loop: false,\n autoplay: false,\n spaceBetween: 24,\n slidesPerView: 3,\n slidesPerGroup: 1,\n breakpoints: {\n 320: {\n slidesPerView: 1.1,\n spaceBetween: 10,\n slidesOffsetBefore: 10,\n },\n 768: {\n slidesPerView: 2.1,\n slidesOffsetBefore: 10,\n slidesPerGroup: 2,\n },\n 1025: {\n slidesPerView: 2.5,\n slidesPerGroup: 2,\n },\n },\n};\n\nconst option__means = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__means\",\n prevEl: \"#main-carousel__arrows-prev__means\",\n },\n});\n\nconst option__subsidy = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__subsidy\",\n prevEl: \"#main-carousel__arrows-prev__subsidy\",\n },\n});\n\nconst option__loan = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__loan\",\n prevEl: \"#main-carousel__arrows-prev__loan\",\n },\n});\n\nconst option__shindan = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__shindan\",\n prevEl: \"#main-carousel__arrows-prev__shindan\",\n },\n});\n\nconst option__history = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__history\",\n prevEl: \"#main-carousel__arrows-prev__history\",\n },\n breakpoints: {\n 320: {\n slidesPerView: 1.7,\n spaceBetween: 10,\n slidesOffsetBefore: 10,\n },\n 768: {\n slidesPerView: 3,\n slidesOffsetBefore: 10,\n },\n 1025: {\n slidesPerView: 4,\n slidesOffsetBefore: 0,\n },\n },\n});\n\nconst option__history__only = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__history\",\n prevEl: \"#main-carousel__arrows-prev__history\",\n },\n breakpoints: {\n 320: {\n slidesPerView: 1.7,\n spaceBetween: 10,\n slidesOffsetBefore: 10,\n },\n 768: {\n slidesPerView: 3,\n slidesOffsetBefore: 10,\n },\n 1025: {\n slidesPerView: 4.2,\n spaceBetween: 16,\n slidesOffsetBefore: 0,\n },\n },\n});\n\nconst option__mainDetailRelation = Object.assign({}, option__original, {\n navigation: {\n nextEl: \"#main-carousel__arrows-next__relation\",\n prevEl: \"#main-carousel__arrows-prev__relation\",\n disabledClass: \"inactive\",\n },\n breakpoints: {\n 320: {\n slidesPerView: 1.1,\n spaceBetween: 10,\n slidesOffsetBefore: 0,\n },\n 768: {\n slidesPerView: 2.1,\n spaceBetween: 10,\n slidesOffsetBefore: 0,\n },\n 1025: {\n slidesPerView: 3.1,\n spaceBetween: 10,\n slidesOffsetBefore: 0,\n },\n },\n});\n\nconst swiper__means = new Swiper(\"#swiper-container__means\", option__means);\nconst swiper__subsidy = new Swiper(\n \"#swiper-container__subsidy\",\n option__subsidy\n);\nconst swiper__loan = new Swiper(\"#swiper-container__loan\", option__loan);\n\nconst swiper__history = new Swiper(\n \"#swiper-container__history\",\n option__history\n);\n\nconst swiper__history__only = new Swiper(\n \"#swiper-container__history--onlycarousel\",\n option__history__only\n);\n\nconst swiper__shidan = new Swiper(\n \"#swiper-container__shindan\",\n option__shindan\n);\n\nconst swiper__mainDetailRelation = new Swiper(\n \"#swiper-container__main-detail-relation\",\n option__mainDetailRelation\n);\n","import { Tooltip } from \"bootstrap\";\n\n$(function () {\n for (let i = 1; i < 3; i++) {\n $(\"#copyButton\" + i).on(\"click\", function () {\n let copyTarget = $.trim($(\"#copyTarget\" + i).html()).replace(\n /<br>/g,\n \"\\n\"\n );\n navigator.clipboard.writeText(copyTarget);\n\n // ツールãƒãƒƒãƒ—ã§å®Œäº†é€šçŸ¥\n var tooltipEl = document.getElementById(\"copyButton\" + i);\n var tooltip = new Tooltip(tooltipEl);\n tooltip.show();\n setTimeout(function () {\n tooltip.hide();\n }, 1600);\n });\n }\n});\n","import { sanitizeMoney, updateDelimitedMoney } from \"./suchiUtil\";\nimport { automaticCalculationValidate } from \"./founding-template\";\n// 入力フォームã®ä¸èº«ã®ãƒã‚§ãƒƒã‚¯&変更\n$(function() {\n $(\".inputMoneyFillByZero\").on(\"change\", function (e) {\n let result = $(this).val();\n $(this).val(sanitizeMoney(result));\n });\n});\n\n// プラス/マイナスボタンã§å€¤ã‚’10ãšã¤å¤‰åŒ–\nconst inputEvent = new Event(\"input\");\nconst changeEvent = new Event(\"change\");\nconst suuchiNumBtnSets = document.querySelectorAll(\".suuchi-numBtn\");\nfunction incrementValue(input) {\n var inputValue = sanitizeMoney(input.value);\n if (input.value === \"\") {\n input.value = 100;\n } else {\n inputValue += 10;\n input.value = inputValue;\n }\n input.dispatchEvent(inputEvent);\n input.dispatchEvent(changeEvent);\n}\nfunction decrementValue(input) {\n var inputValue = sanitizeMoney(input.value);\n if (input.value === \"\") {\n input.value = 100;\n } else if (inputValue >= 10) {\n inputValue -= 10;\n input.value = inputValue;\n } else {\n input.value = 0;\n }\n input.dispatchEvent(inputEvent);\n input.dispatchEvent(changeEvent);\n}\nsuuchiNumBtnSets.forEach((numBtnSet) => {\n var suuchiInput = numBtnSet.querySelector(\".suuchiInput\");\n var suuchiPlus = numBtnSet.querySelector(\".suuchiPlus\");\n var suuchiMinus = numBtnSet.querySelector(\".suuchiMinus\");\n suuchiPlus.addEventListener(\"click\", function () {\n incrementValue(suuchiInput);\n });\n suuchiMinus.addEventListener(\"click\", function () {\n decrementValue(suuchiInput);\n });\n});\n\nconst step1SuuchiInputs = document.querySelectorAll(\"#form_suuchi_step1_sp .suuchiInput\");\nstep1SuuchiInputs.forEach((suuchiInput) => {\n suuchiInput.addEventListener(\"change\", function () {\n // カンマ区切り処ç†\n updateDelimitedMoney(suuchiInput, false);\n });\n});\n\nconst step2SuuchiInputs = document.querySelectorAll(\"#form_suuchi_step2_sp .suuchiInput\");\nstep2SuuchiInputs.forEach((suuchiInput) => {\n suuchiInput.addEventListener(\"change\", function () {\n // カンマ区切り処ç†\n updateDelimitedMoney(suuchiInput, true);\n });\n});\n","// æ–°è¦ä¼šå“¡ç™»éŒ²ç”»é¢ã§äº‹æ¥å½¢æ…‹ãŒé¸æŠžã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€åŒæ„ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã‚’éžæ´»æ€§ã«ã™ã‚‹\n$(function() {\n if ($('#register_agree_check_box').length) {\n var businessTypeRadioButtonSelector = '#user_registration_business_type input[name=\"user[business_type_cd]\"]';\n var registerAgreeCheckBoxSelector = '#register_agree_check_box';\n\n toggleRegisterAgreeCheckBox();\n\n $(businessTypeRadioButtonSelector).on('change', function() {\n toggleRegisterAgreeCheckBox();\n });\n\n function toggleRegisterAgreeCheckBox() {\n var errorStatus = checkMandatoryFields();\n if (errorStatus === true) {\n $(registerAgreeCheckBoxSelector).prop('disabled', true);\n $(registerAgreeCheckBoxSelector).prop('checked', false);\n $(registerAgreeCheckBoxSelector).trigger('change');\n } else {\n $(registerAgreeCheckBoxSelector).prop('disabled', false);\n }\n }\n\n function checkMandatoryFields() {\n var errorStatus = false;\n // 事æ¥å½¢æ…‹ã®nullãƒã‚§ãƒƒã‚¯\n if($(businessTypeRadioButtonSelector+':checked').val() === undefined) {\n errorStatus = true;\n }\n return errorStatus\n }\n }\n});\n\n// 利用è¦ç´„åŒæ„ã¨é€€ä¼šã®ç¢ºèªãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã¨submitボタン\n$(function() {\n const registerCheckBoxId = '#register_agree_check_box';\n const registerSubmitButtonId = '#register_submit_button';\n toggleSubmitButtonDisabled(registerCheckBoxId, registerSubmitButtonId);\n\n const withdrawalCheckBoxId = '#withdrawal_verified_check_box';\n const withdrawalSubmitButtonId = '#withdrawal_submit_button';\n toggleSubmitButtonDisabled(withdrawalCheckBoxId, withdrawalSubmitButtonId);\n\n function toggleSubmitButtonDisabled(checkBoxId, submitButtonId) {\n $(checkBoxId).on('change', function() {\n if ($(this).prop('checked')) {\n $(submitButtonId).prop('disabled', false);\n } else {\n $(submitButtonId).prop('disabled', true);\n }\n });\n }\n});\n\n// 事æ¥å½¢æ…‹ãŒon change時ã®æŒ™å‹•\n$('input[name=\"user[business_type_cd]\"]').on('change', function() {\n userBusinessTypeValidation($(this));\n});\n// ãƒãƒ¼ãƒ‰æ™‚ã®äº‹æ¥å½¢æ…‹ã®æŒ™å‹•\n$(function() {\n var element = $('input[name=\"user[business_type_cd]\"]:checked')\n if (element.length) {\n userBusinessTypeValidation(element);\n }\n});\n\n// 事æ¥å½¢æ…‹ãƒ©ã‚¸ã‚ªãƒœã‚¿ãƒ³ã®ãƒã‚§ãƒƒã‚¯çŠ¶æ…‹ã®è¦ç´ をクリックã§ãƒã‚§ãƒƒã‚¯ã‚’ã¯ãšã™\n/*\n$(function() {\n const inputs = $('input[name=\"user[business_type_cd]\"]');\n let checked = inputs.filter(':checked').val();\n\n inputs.on('click', function() {\n if ($(this).val() === checked) {\n $(this).prop('checked', false);\n checked = '';\n } else {\n $(this).prop('checked', true);\n checked = $(this).val();\n }\n\n userBusinessTypeValidation($(this));\n });\n});\n*/\n\nfunction userBusinessTypeValidation (element) {\n if (element.prop('checked')) {\n // 事æ¥å½¢æ…‹ãŒã€Œå‰µæ¥å‰ã€ã®æ™‚ã€ã€Œå¾“æ¥å“¡æ•°ã€ã¨ã€Œç¶™ç¶šå¹´æ•°ã€ã‚’éžæ´»æ€§çŠ¶æ…‹ã¨ã™ã‚‹\n if (element.val() === \"創æ¥å‰\") {\n $('#user_employee_number').val(\"\").addClass(\"default\").prop('disabled', true);\n $('#user_business_period_cd').val(\"\").addClass(\"default\").prop('disabled', true);\n } else {\n $('#user_employee_number').prop('disabled', false);\n $('#user_business_period_cd').prop('disabled', false);\n }\n // 事æ¥å½¢æ…‹ãŒã€Œæ³•äººã€ã¾ãŸã¯åˆæœŸå€¤ä»¥å¤–ã®å ´åˆã€ã€Œè³‡æœ¬é‡‘é¡ã€ã‚’éžæ´»æ€§çŠ¶æ…‹ã¨ã™ã‚‹\n if (element.val() === \"法人\" || element.val() === \"\") {\n $('#user_capital_amount').prop('disabled', false);\n } else {\n $('#user_capital_amount').val(\"\").addClass(\"default\").prop('disabled', true);\n }\n } else {\n $('#user_employee_number').prop('disabled', false);\n $('#user_business_period_cd').prop('disabled', false);\n $('#user_capital_amount').prop('disabled', false);\n }\n}\n\nimport {checkedCitiesOver, checkFreewordLengthOver} from './muitiple-selective-checkbox';\n$('.user-form-submit-button').on('click', (e) => {\n // 市区町æ‘ãŒåˆ¶é™ä»¥ä¸Šã¾ãŸã¯ãƒ•ãƒªãƒ¼ãƒ¯ãƒ¼ãƒ‰ã®æ–‡å—æ•°ãŒåˆ¶é™ä»¥ä¸Šã®å ´åˆsubmitã—ãªã„\n var hasError = checkedCitiesOver() || checkFreewordLengthOver();\n if(hasError){\n return false;\n }\n});\n","// ã€Œç™»éŒ²æƒ…å ±ã‚’åæ˜ ã€ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯æ™‚\n$('#reflect_user_data_to_search_condition_button').on('click', function() {\n $('#reflect_user_data_to_search_condition_form_submit_button').trigger('click');\n});\n\n// 「æ¡ä»¶ã‚¯ãƒªã‚¢ã€ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯æ™‚\n$('#clear_search_condition').on('click', function() {\n // 地域\n if (typeof checkedPrefs !== 'undefined') {\n checkedPrefs = [];\n }\n if (typeof checkedCities !== 'undefined') {\n checkedCities = [];\n }\n \n // 従æ¥å“¡æ•°\n $('#q_anken_employee_number').val('');\n // 継続年数\n $('#q_anken_business_period_cd').val('');\n // 資本金é¡\n $('#q_anken_capital_amount').val('');\n // 上記ã®3ã¤ã¯äº‹æ¥å½¢æ…‹ã®é¸æŠžã«ã‚ˆã‚Šéžæ´»æ€§çŠ¶æ…‹ã«ã™ã‚‹å ´åˆãŒã‚ã‚‹ãŸã‚ã€äº‹æ¥å½¢æ…‹ã®å‡¦ç†ã‚ˆã‚Šå‰ã«å®Ÿè¡Œã™ã‚‹\n \n // 事æ¥å½¢æ…‹\n $('.business-type').val('')\n $(\".business-type\").trigger('change');\n \n // æ¥ç¨®\n $('.chex-ind').prop('checked', false);\n \n // 希望金é¡\n $('#q_required_amount').val('')\n \n // 課題・資金使途\n $('.chex-use').prop('checked', false);\n \n // 訪å•ä¸è¦\n $('#q_anken_visit_required_unnecessary').prop('checked', false);\n \n // æ‹…ä¿æä¾›å¯ï¼ˆèžè³‡ã®ã¿ï¼‰\n $('#q_tanpo_required_necessary_or_necessary_in_some_cases').prop('checked', false);\n \n // 弥生製å“データ利用\n $('#q_is_yayoi_service_usable_usable').prop('checked', false);\n \n // 募集終了もå«ã‚€\n $('#q_including_offering_expired').prop('checked', false);\n \n // フリーワード\n $('#q_keyword').val('')\n \n $('.checkbox-ex--flat__select').trigger('change');\n $('#after_reset_search_condition').trigger('click');\n});\n\n// 外部リンククリック時ã«å®Ÿè¡Œ\n$(document).on('click', '.gtm-external-link', function() {\n const id = $(this).data('id');\n if (typeof id !== 'undefined' && id !== '' && id !== null) {\n $.ajax({\n type: \"POST\",\n url: \"/gtm_external_link\",\n data: {id: id}\n });\n }\n});\n\n\nimport { Modal } from 'bootstrap'\n// 未ãƒã‚°ã‚¤ãƒ³æ™‚ãŠæ°—ã«å…¥ã‚Šã‚¢ã‚¤ã‚³ãƒ³ã‚¯ãƒªãƒƒã‚¯æ™‚モーダル表示\n$(document).on('click', '.js-open_favorite_signup_login_modal', function() {\n const favoriteSignupLoginModal = new Modal(document.getElementById('favoriteSignupLoginModal'));\n favoriteSignupLoginModal.show();\n});\n// セッション切れリãƒãƒ¼ãƒ‰å¾Œãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤º\n$(function() {\n if ($('.js-open_session_timeout_modal').length) {\n const sessionTimeoutModal = new Modal(document.getElementById('sessionTimeoutModal'));\n sessionTimeoutModal.show();\n }\n if ($('.js-open_user_info_does_not_exist_modal').length) {\n const userInfoDoesNotExistModal = new Modal(document.getElementById('userInfoDoesNotExistModal'));\n userInfoDoesNotExistModal.show();\n }\n});\n\n// 多é‡ãƒ¢ãƒ¼ãƒ€ãƒ«å¯¾å¿œ\n$(function() {\n var myModals = document.querySelectorAll('.modal');\n\n myModals.forEach(function(myModal) {\n myModal.addEventListener('show.bs.modal', function (event) {\n var zIndex = 1040 + (10 * $('.modal:visible').length);\n $(event.target).css('z-index', zIndex);\n setTimeout(function() {\n $('.modal-backdrop')\n .not('.modal-stack')\n .css('z-index', zIndex - 1)\n .addClass('modal-stack');\n }, 0);\n })\n });\n\n myModals.forEach(function(myModal) {\n myModal.addEventListener('shown.bs.modal', function (event) {\n event.target.focus();\n })\n });\n\n myModals.forEach(function(myModal) {\n myModal.addEventListener('hidden.bs.modal', function (event) {\n if ($('.modal:visible').length > 0) {\n var $visibleModalsSortByZIndex = $('.modal:visible').sort(function(a, b) {\n return (parseInt($(a).css('z-index')) < parseInt($(b).css('z-index')) ? 1 : -1);\n });\n if ($visibleModalsSortByZIndex.length > 0) {\n $visibleModalsSortByZIndex[0].focus();\n }\n }\n });\n });\n});\n","import { Modal } from 'bootstrap'\n// 一時ä¿å˜ãƒšãƒ¼ã‚¸ãƒãƒ¼ãƒ‰å¾Œãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤º\n$(function() {\n if ($('.js-open_plan_save_success_modal').length) {\n const preserve = new Modal(document.getElementById('preserve'));\n preserve.show();\n }\n});\n// 削除確èªãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤º\n$(function() {\n const modalSelector = \"#copy\";\n const changeTargetSelector = \"#copy #js-plan_delete_form\";\n var myModal;\n\n if ($(modalSelector).length) {\n myModal = new Modal($(modalSelector), {});\n }\n\n $('.js-plan_delete_button').on('click', function() {\n var href = $(this).data('link-href');\n $(changeTargetSelector).attr('action', href);\n\n myModal.show();\n });\n});\n\n$(function() {\n // メールé€ä¿¡ãƒœã‚¿ãƒ³æ´»æ€§çŠ¶æ…‹åˆ‡æ›¿\n const emailAddressInputSelector = \".js-plan_download_modal_email_form_email_address\";\n const submitButtonSelector = \".js-plan_download_modal_email_form_submit_button\";\n // ãƒãƒ¼ãƒ‰æ™‚\n if ($(submitButtonSelector).length) {\n const sendButton = $(submitButtonSelector);\n const emailAddressVal = sendButton.siblings(emailAddressInputSelector).val();\n if (!emailAddressIsValid(emailAddressVal)) {\n sendButton.prop(\"disabled\", true);\n } else {\n sendButton.prop(\"disabled\", false);\n }\n }\n // メールアドレス変更時\n $(emailAddressInputSelector).on(\"change\", function() {\n const sendButton = $(this).siblings(submitButtonSelector);\n if (!emailAddressIsValid($(this).val())) {\n sendButton.prop(\"disabled\", true);\n } else {\n sendButton.prop(\"disabled\", false);\n }\n });\n // メールアドレスãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³\n function emailAddressIsValid(value) {\n let result = true;\n if (value == \"\") {\n result = false;\n } else if (!value.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/)) {\n result = false;\n }\n return result;\n }\n\n // ダウンãƒãƒ¼ãƒ‰ãƒ¢ãƒ¼ãƒ€ãƒ«\n const downloadModalSelector = \"#download-sp\";\n var downloadModal;\n if ($(downloadModalSelector).length) {\n downloadModal = new Modal($(downloadModalSelector), {});\n }\n if ($('.js-open_plan_download_modal').length) {\n downloadModal.show();\n }\n\n // メールé€ä¿¡å®Œäº†ãƒ¢ãƒ¼ãƒ€ãƒ«\n const emailSendCompletelyModalSelector = \"#send-sp\";\n var emailSendCompletelyModal;\n if ($(emailSendCompletelyModalSelector).length) {\n emailSendCompletelyModal = new Modal($(emailSendCompletelyModalSelector), {});\n }\n\n // メールé€ä¿¡ãƒ•ã‚©ãƒ¼ãƒ submit時ã«ã€ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ãƒ¢ãƒ¼ãƒ€ãƒ«ã‚’é–‰ã˜ã¦ã€ãƒ¡ãƒ¼ãƒ«é€ä¿¡å®Œäº†ãƒ¢ãƒ¼ãƒ€ãƒ«ã‚’é–‹ã\n $(\".js-plan_download_modal_email_form\").on(\"submit\", function() {\n downloadModal.hide();\n emailSendCompletelyModal.show();\n });\n\n // ダウンãƒãƒ¼ãƒ‰ãƒœã‚¿ãƒ³ã‚¯ãƒªãƒƒã‚¯æ™‚ã«ã€ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ãƒ¢ãƒ¼ãƒ€ãƒ«ã‚’é–‰ã˜ã‚‹\n $(\".js-close_plan_download_modal\").on(\"click\", function() {\n downloadModal.hide();\n });\n});\n\n// ãƒã‚¤ãƒ³ãƒˆãƒ¢ãƒ¼ãƒ€ãƒ«\n$(function() {\n const modalSelector = \"#point\";\n var myModal;\n\n if ($(modalSelector).length) {\n myModal = new Modal($(modalSelector), {});\n }\n\n if ($('.js-open_plan_point_modal').length) {\n myModal.show();\n }\n});\n\n$(function() {\n // 100æ–‡å—以上入力ã•ã‚ŒãŸã‚‰ãƒˆãƒªãƒ ã™ã‚‹\n $(\".js-trimOver100chars\").on('load input', function(e) {\n trimOverNchars(100, e.target);\n });\n // 5000æ–‡å—以上入力ã•ã‚ŒãŸã‚‰ãƒˆãƒªãƒ ã™ã‚‹\n $(\".js-trimOver5000chars\").on('load input', function(e) {\n trimOverNchars(5000, e.target);\n });\n});\n\nfunction trimOverNchars(maxLength, element) {\n if (element.value && element.value.length > maxLength) {\n element.value = element.value.slice(0, maxLength)\n }\n}\n\n$(function() {\n if ($('.js-open_signup_only_modal').length) {\n const noveltyRegisterModal = new Modal(document.getElementById('novelty-register-modal'));\n noveltyRegisterModal.show();\n }\n});\n","// モーダル。'jquery-3.4.1.min.js'ãŒå¿…è¦ã€‚\nimport { Modal } from \"bootstrap\";\nimport { calcSection7 } from \"./sogyo-keikaku\";\n\n// 創æ¥æ•°å€¤è¨ˆç”»é¸æŠžä¸€è¦§ãƒ¢ãƒ¼ãƒ€ãƒ«\n$(function () {\n const modalSelector = \"#new\";\n const modalContentTargetSelector = \"#new #modal-content-target\";\n const url = \"/plan/founding_templates/select_list\";\n var myModal;\n\n if ($(modalSelector).length) {\n myModal = new Modal($(modalSelector), {});\n }\n\n $(\".js-open_founding_template_select_list_modal\").on(\"click\", function () {\n $.get(url, function (data) {\n $(modalContentTargetSelector).html(data);\n myModal.show();\n });\n });\n\n $(\".js-open_founding_template_select_list_modal_sp\").on(\"click\", function () {\n $.get(url, { sp: 'true' }, function (data) {\n $(modalContentTargetSelector).html(data);\n myModal.show();\n });\n });\n});\n// 創æ¥æ•°å€¤è¨ˆç”»åæ˜ ç¢ºèªãƒ¢ãƒ¼ãƒ€ãƒ«\n$(function () {\n const modalSelector = \"#reflect\";\n const modalContentTargetSelector = \"#reflect #modal-content-target\";\n var myModal;\n\n if ($(modalSelector).length) {\n myModal = new Modal($(modalSelector), {});\n }\n\n $(document).on(\n \"click\",\n \".js-open_founding_template_reflect_modal\",\n function () {\n var selectedFoundingTemplate = $(this).data(\"selected-founding-template\");\n\n $(modalContentTargetSelector).data(\n \"selected-founding-template\",\n selectedFoundingTemplate\n );\n\n myModal.show();\n }\n );\n});\n\n// 創æ¥æ•°å€¤è¨ˆç”»åæ˜ \n$(function () {\n $(\".js-founding_template_reflect\").on(\"click\", function () {\n const selectedFoundingTemplate = $(this).data(\"selected-founding-template\");\n const selectedFoundingTemplateJson = JSON.parse(\n document.getElementById(selectedFoundingTemplate).text\n );\n\n $(\".js-founding_template_reflect_target_wrapper\")\n .find(\"input, textarea\")\n .val(\"\");\n\n // è¨å‚™è³‡é‡‘\n const jfc_template_setsubishikin_gaiyo_1 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_1;\n if (jfc_template_setsubishikin_gaiyo_1 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_1\").val(\n jfc_template_setsubishikin_gaiyo_1\n );\n }\n\n const jfc_template_setsubishikin_kingaku_1 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_1;\n if (jfc_template_setsubishikin_kingaku_1 != null) {\n $(\"#setsubishikin_kingaku_1\").val(jfc_template_setsubishikin_kingaku_1);\n $(\"#text_setsubishikin_kingaku_1\").val(\n jfc_template_setsubishikin_kingaku_1.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_2 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_2;\n if (jfc_template_setsubishikin_gaiyo_2 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_2\").val(\n jfc_template_setsubishikin_gaiyo_2\n );\n }\n\n const jfc_template_setsubishikin_kingaku_2 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_2;\n if (jfc_template_setsubishikin_kingaku_2 != null) {\n $(\"#setsubishikin_kingaku_2\").val(jfc_template_setsubishikin_kingaku_2);\n $(\"#text_setsubishikin_kingaku_2\").val(\n jfc_template_setsubishikin_kingaku_2.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_3 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_3;\n if (jfc_template_setsubishikin_gaiyo_3 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_3\").val(\n jfc_template_setsubishikin_gaiyo_3\n );\n }\n\n const jfc_template_setsubishikin_kingaku_3 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_3;\n if (jfc_template_setsubishikin_kingaku_3 != null) {\n $(\"#setsubishikin_kingaku_3\").val(jfc_template_setsubishikin_kingaku_3);\n $(\"#text_setsubishikin_kingaku_3\").val(\n jfc_template_setsubishikin_kingaku_3.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_4 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_4;\n if (jfc_template_setsubishikin_gaiyo_4 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_4\").val(\n jfc_template_setsubishikin_gaiyo_4\n );\n }\n\n const jfc_template_setsubishikin_kingaku_4 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_4;\n if (jfc_template_setsubishikin_kingaku_4 != null) {\n $(\"#setsubishikin_kingaku_4\").val(jfc_template_setsubishikin_kingaku_4);\n $(\"#text_setsubishikin_kingaku_4\").val(\n jfc_template_setsubishikin_kingaku_4.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_5 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_5;\n if (jfc_template_setsubishikin_gaiyo_5 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_5\").val(\n jfc_template_setsubishikin_gaiyo_5\n );\n }\n\n const jfc_template_setsubishikin_kingaku_5 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_5;\n if (jfc_template_setsubishikin_kingaku_5 != null) {\n $(\"#setsubishikin_kingaku_5\").val(jfc_template_setsubishikin_kingaku_5);\n $(\"#text_setsubishikin_kingaku_5\").val(\n jfc_template_setsubishikin_kingaku_5.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_6 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_6;\n if (jfc_template_setsubishikin_gaiyo_6 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_6\").val(\n jfc_template_setsubishikin_gaiyo_6\n );\n }\n\n const jfc_template_setsubishikin_kingaku_6 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_6;\n if (jfc_template_setsubishikin_kingaku_6 != null) {\n $(\"#setsubishikin_kingaku_6\").val(jfc_template_setsubishikin_kingaku_6);\n $(\"#text_setsubishikin_kingaku_6\").val(\n jfc_template_setsubishikin_kingaku_6.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_setsubishikin_gaiyo_7 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_gaiyo_7;\n if (jfc_template_setsubishikin_gaiyo_7 != null) {\n $(\"#jfc_template_setsubishikin_gaiyo_7\").val(\n jfc_template_setsubishikin_gaiyo_7\n );\n }\n\n const jfc_template_setsubishikin_kingaku_7 =\n selectedFoundingTemplateJson.jfc_template_setsubishikin_kingaku_7;\n if (jfc_template_setsubishikin_kingaku_7 != null) {\n $(\"#setsubishikin_kingaku_7\").val(jfc_template_setsubishikin_kingaku_7);\n $(\"#text_setsubishikin_kingaku_7\").val(\n jfc_template_setsubishikin_kingaku_7.toLocaleString(\"ja-JP\")\n );\n }\n\n // é‹è»¢è³‡é‡‘\n const jfc_template_untenshikin_gaiyo_1 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_gaiyo_1;\n if (jfc_template_untenshikin_gaiyo_1 != null) {\n $(\"#jfc_template_untenshikin_gaiyo_1\").val(\n jfc_template_untenshikin_gaiyo_1\n );\n }\n\n const jfc_template_untenshikin_kingaku_1 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_kingaku_1;\n if (jfc_template_untenshikin_kingaku_1 != null) {\n $(\"#untenshikin_kingaku_1\").val(jfc_template_untenshikin_kingaku_1);\n $(\"#text_untenshikin_kingaku_1\").val(\n jfc_template_untenshikin_kingaku_1.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_untenshikin_gaiyo_2 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_gaiyo_2;\n if (jfc_template_untenshikin_gaiyo_2 != null) {\n $(\"#jfc_template_untenshikin_gaiyo_2\").val(\n jfc_template_untenshikin_gaiyo_2\n );\n }\n\n const jfc_template_untenshikin_kingaku_2 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_kingaku_2;\n if (jfc_template_untenshikin_kingaku_2 != null) {\n $(\"#untenshikin_kingaku_2\").val(jfc_template_untenshikin_kingaku_2);\n $(\"#text_untenshikin_kingaku_2\").val(\n jfc_template_untenshikin_kingaku_2.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_untenshikin_gaiyo_3 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_gaiyo_3;\n if (jfc_template_untenshikin_gaiyo_3 != null) {\n $(\"#jfc_template_untenshikin_gaiyo_3\").val(\n jfc_template_untenshikin_gaiyo_3\n );\n }\n\n const jfc_template_untenshikin_kingaku_3 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_kingaku_3;\n if (jfc_template_untenshikin_kingaku_3 != null) {\n $(\"#untenshikin_kingaku_3\").val(jfc_template_untenshikin_kingaku_3);\n $(\"#text_untenshikin_kingaku_3\").val(\n jfc_template_untenshikin_kingaku_3.toLocaleString(\"ja-JP\")\n );\n }\n\n const jfc_template_untenshikin_gaiyo_4 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_gaiyo_4;\n if (jfc_template_untenshikin_gaiyo_4 != null) {\n $(\"#jfc_template_untenshikin_gaiyo_4\").val(\n jfc_template_untenshikin_gaiyo_4\n );\n }\n\n const jfc_template_untenshikin_kingaku_4 =\n selectedFoundingTemplateJson.jfc_template_untenshikin_kingaku_4;\n if (jfc_template_untenshikin_kingaku_4 != null) {\n $(\"#untenshikin_kingaku_4\").val(jfc_template_untenshikin_kingaku_4);\n $(\"#text_untenshikin_kingaku_4\").val(\n jfc_template_untenshikin_kingaku_4.toLocaleString(\"ja-JP\")\n );\n }\n\n // 自己資金\n const jfc_template_jikoshikin =\n selectedFoundingTemplateJson.jfc_template_jikoshikin;\n if (jfc_template_jikoshikin != null) {\n $(\"#jikoshikin\").val(jfc_template_jikoshikin);\n $(\"#text_jikoshikin\").val(\n jfc_template_jikoshikin.toLocaleString(\"ja-JP\")\n );\n }\n\n // 親ã€å…„弟ã€çŸ¥äººã€å‹äººç‰ã‹ã‚‰ã®å€Ÿå…¥ 金é¡\n const jfc_template_shinzoku_kariirekin =\n selectedFoundingTemplateJson.jfc_template_shinzoku_kariirekin;\n if (jfc_template_shinzoku_kariirekin != null) {\n $(\"#shinzoku_kariirekin\").val(jfc_template_shinzoku_kariirekin);\n $(\"#text_shinzoku_kariirekin\").val(\n jfc_template_shinzoku_kariirekin.toLocaleString(\"ja-JP\")\n );\n }\n\n // 日本政ç–金èžå…¬åº« 国民生活事æ¥ã‹ã‚‰ã®å€Ÿå…¥ 金é¡\n const jfc_template_koko_kariirekin =\n selectedFoundingTemplateJson.jfc_template_koko_kariirekin;\n if (jfc_template_koko_kariirekin != null) {\n $(\"#koko_kariirekin\").val(jfc_template_koko_kariirekin);\n $(\"#text_koko_kariirekin\").val(\n jfc_template_koko_kariirekin.toLocaleString(\"ja-JP\")\n );\n }\n\n // 売上高 創æ¥å½“åˆ\n const jfc_template_tosho_uriagedaka =\n selectedFoundingTemplateJson.jfc_template_tosho_uriagedaka;\n if (jfc_template_tosho_uriagedaka != null) {\n $(\"#tosho_uriagedaka\").val(jfc_template_tosho_uriagedaka);\n $(\"#text_tosho_uriagedaka\").val(\n jfc_template_tosho_uriagedaka.toLocaleString(\"ja-JP\")\n );\n }\n\n // 売上高 軌é“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_uriagedaka =\n selectedFoundingTemplateJson.jfc_template_kidogo_uriagedaka;\n if (jfc_template_kidogo_uriagedaka != null) {\n $(\"#kidogo_uriagedaka\").val(jfc_template_kidogo_uriagedaka);\n $(\"#text_kidogo_uriagedaka\").val(\n jfc_template_kidogo_uriagedaka.toLocaleString(\"ja-JP\")\n );\n }\n\n // 売上原価(仕入高) 創æ¥å½“åˆ\n const jfc_template_tosho_uriagegenka =\n selectedFoundingTemplateJson.jfc_template_tosho_uriagegenka;\n if (jfc_template_tosho_uriagegenka != null) {\n $(\"#tosho_uriagegenka\").val(jfc_template_tosho_uriagegenka);\n $(\"#text_tosho_uriagegenka\").val(\n jfc_template_tosho_uriagegenka.toLocaleString(\"ja-JP\")\n );\n }\n\n // 売上原価(仕入高) 軌é“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_uriagegenka =\n selectedFoundingTemplateJson.jfc_template_kidogo_uriagegenka;\n if (jfc_template_kidogo_uriagegenka != null) {\n $(\"#kidogo_uriagegenka\").val(jfc_template_kidogo_uriagegenka);\n $(\"#text_kidogo_uriagegenka\").val(\n jfc_template_kidogo_uriagegenka.toLocaleString(\"ja-JP\")\n );\n }\n\n // 人件費 創æ¥å½“åˆ\n const jfc_template_tosho_jinkenhi =\n selectedFoundingTemplateJson.jfc_template_tosho_jinkenhi;\n if (jfc_template_tosho_jinkenhi != null) {\n $(\"#tosho_jinkenhi\").val(jfc_template_tosho_jinkenhi);\n $(\"#text_tosho_jinkenhi\").val(\n jfc_template_tosho_jinkenhi.toLocaleString(\"ja-JP\")\n );\n }\n\n // 人件費 軌é“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_jinkenhi =\n selectedFoundingTemplateJson.jfc_template_kidogo_jinkenhi;\n if (jfc_template_kidogo_jinkenhi != null) {\n $(\"#kidogo_jinkenhi\").val(jfc_template_kidogo_jinkenhi);\n $(\"#text_kidogo_jinkenhi\").val(\n jfc_template_kidogo_jinkenhi.toLocaleString(\"ja-JP\")\n );\n }\n\n // 家賃 創æ¥å½“åˆ\n const jfc_template_tosho_yachin =\n selectedFoundingTemplateJson.jfc_template_tosho_yachin;\n if (jfc_template_tosho_yachin != null) {\n $(\"#tosho_yachin\").val(jfc_template_tosho_yachin);\n $(\"#text_tosho_yachin\").val(\n jfc_template_tosho_yachin.toLocaleString(\"ja-JP\")\n );\n }\n\n // 家賃 軌é“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_yachin =\n selectedFoundingTemplateJson.jfc_template_kidogo_yachin;\n if (jfc_template_kidogo_yachin != null) {\n $(\"#kidogo_yachin\").val(jfc_template_kidogo_yachin);\n $(\"#text_kidogo_yachin\").val(\n jfc_template_kidogo_yachin.toLocaleString(\"ja-JP\")\n );\n }\n\n // æ”¯æ‰•åˆ©æ¯ å‰µæ¥å½“åˆ\n const jfc_template_tosho_risoku =\n selectedFoundingTemplateJson.jfc_template_tosho_risoku;\n if (jfc_template_tosho_risoku != null) {\n $(\"#tosho_risoku\").val(jfc_template_tosho_risoku);\n $(\"#text_tosho_risoku\").val(\n jfc_template_tosho_risoku.toLocaleString(\"ja-JP\")\n );\n }\n\n // æ”¯æ‰•åˆ©æ¯ è»Œé“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_risoku =\n selectedFoundingTemplateJson.jfc_template_kidogo_risoku;\n if (jfc_template_kidogo_risoku != null) {\n $(\"#kidogo_risoku\").val(jfc_template_kidogo_risoku);\n $(\"#text_kidogo_risoku\").val(\n jfc_template_kidogo_risoku.toLocaleString(\"ja-JP\")\n );\n }\n\n // ãã®ä»– 創æ¥å½“åˆ\n const jfc_template_tosho_sonota =\n selectedFoundingTemplateJson.jfc_template_tosho_sonota;\n if (jfc_template_tosho_sonota != null) {\n $(\"#tosho_sonota\").val(jfc_template_tosho_sonota);\n $(\"#text_tosho_sonota\").val(\n jfc_template_tosho_sonota.toLocaleString(\"ja-JP\")\n );\n }\n\n // ãã®ä»– 軌é“ã«ä¹—ã£ãŸå¾Œ\n const jfc_template_kidogo_sonota =\n selectedFoundingTemplateJson.jfc_template_kidogo_sonota;\n if (jfc_template_kidogo_sonota != null) {\n $(\"#kidogo_sonota\").val(jfc_template_kidogo_sonota);\n $(\"#text_kidogo_sonota\").val(\n jfc_template_kidogo_sonota.toLocaleString(\"ja-JP\")\n );\n }\n\n // é …ç›®7 å¿…è¦ãªè³‡é‡‘ã¨èª¿é”方法ã®åˆè¨ˆå€¤è¨ˆç®—\n calcSection7();\n\n // モãƒã‚¤ãƒ«ç”»é¢ã®å…¥åŠ›çŠ¶æ…‹è¡¨ç¤ºã‚’変更\n $('#founding_template_reflected').trigger('click');\n });\n});\n\n// éš ã—ã¦ã„ãŸãƒ•ã‚©ãƒ¼ãƒ ã®è¡¨ç¤º\n$(function () {\n $(\".js-show-additional-form\").on(\"click\", function () {\n var targetId = $(this).data(\"target\");\n // åè¦ç´ ã§éš ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’全表示\n $(\"#\" + targetId)\n .children()\n .each(function () {\n $(this).removeClass(\"d-none\");\n });\n // ボタンè¦ç´ ã‚’éžè¡¨ç¤º\n $(this).addClass(\"d-none\");\n });\n});\n\n// フãƒãƒ¼ãƒ†ã‚£ãƒ³ã‚°ãƒ¡ãƒ‹ãƒ¥ãƒ¼\n$(function () {\n if ($(\".jfc-templates-aside\").length) {\n const thresholdOffset = 80;\n\n $(window).scroll(function () {\n const sectionBasicTop = $(\"#section_basic\").offset().top;\n const section1Top = $(\"#section_1\").offset().top;\n const section2Top = $(\"#section_2\").offset().top;\n const section3Top = $(\"#section_3\").offset().top;\n const section4Top = $(\"#section_4\").offset().top;\n const section5Top = $(\"#section_5\").offset().top;\n const section6Top = $(\"#section_6\").offset().top;\n const section7Top = $(\"#section_7\").offset().top;\n const section8Top = $(\"#section_8\").offset().top;\n const section9Top = $(\"#section_9\").offset().top;\n\n const scroll = $(window).scrollTop();\n\n const sectionThreshold = scroll + thresholdOffset;\n\n if (\n sectionBasicTop <= sectionThreshold &&\n sectionThreshold < section1Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_basic'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section1Top <= sectionThreshold &&\n sectionThreshold < section2Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_1'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section2Top <= sectionThreshold &&\n sectionThreshold < section3Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_2'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section3Top <= sectionThreshold &&\n sectionThreshold < section4Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_3'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section4Top <= sectionThreshold &&\n sectionThreshold < section5Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_4'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section5Top <= sectionThreshold &&\n sectionThreshold < section6Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_5'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section6Top <= sectionThreshold &&\n sectionThreshold < section7Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_6'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section7Top <= sectionThreshold &&\n sectionThreshold < section8Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_7'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (\n section8Top <= sectionThreshold &&\n sectionThreshold < section9Top\n ) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_8'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else if (section9Top <= sectionThreshold) {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n $(\"a[href='#section_9'].jfc-templates-aside__menu-item\").addClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n } else {\n $(\".jfc-templates-aside__menu-item\").removeClass(\n \"jfc-templates-aside__menu-item__active\"\n );\n }\n });\n }\n});\n\n$(function () {\n if ($(\"#jfc_templates_edit_sp_main_section\").length) {\n beforeunloadHandler();\n\n $(\"button[type='submit'], a:not(.anchor-link)\").on(\"click\", function() {\n $(window).off(\"beforeunload\");\n\n if ($(this).attr(\"id\") == \"plan_download_modal_plan_download_link\") {\n setTimeout(function() {\n beforeunloadHandler();\n }, 500);\n }\n });\n\n function beforeunloadHandler() {\n $(window).on(\"beforeunload\", function(event) {\n event.preventDefault();\n event.returnValue = \"\";\n });\n }\n }\n});\n","import {selectOnChangeSubmit} from '../packs/modules/select_on_change_submit'\nimport {deleteParameterFromUrl} from \"../packs/modules/delete_parameter_from_url\";\n\n$(() => {\n selectOnChangeSubmit(\".js-easy_diagnosis_order_subsidy_type_select\", \"#order_subsidy_type_hidden_value\", \"#easy_diagnosis_complete_form\");\n\n if (location.pathname.indexOf('/search/diagnose/') === 0) {\n deleteParameterFromUrl(location, 'from_submit_button');\n }\n});\n\n$(function() {\n if ($('#easy_diagnosis_start_form').length) {\n $('a[href=\"/log_in\"], a[href=\"/sign_up\"], #easy_diagnosis_start_form_submit').on('click', function() {\n // ã‹ã‚“ãŸã‚“診æ–回ç”フォームã®å€¤ã‚’jsonå½¢å¼ã«å¤‰æ›ã—ã¦cookieã«ä¿å˜\n const form = $('#easy_diagnosis_start_form');\n const elements = form.find('input:checked');\n\n const diagnosisAnswersArray = {}\n\n elements.each(function() {\n const regex = /^kantanshindan_answer\\[question_[0-9]{3}_answer\\]$/\n if (regex.test($(this).attr('name'))) {\n const item = $(this).attr('name').match(/[0-9]{3}/);\n if (item != null) {\n const key = item[0];\n const value = $(this).val();\n\n diagnosisAnswersArray[key] = value;\n }\n }\n });\n\n const diagnosisAnswersJson = JSON.stringify(diagnosisAnswersArray);\n\n setCookie('diagnosis_answers', diagnosisAnswersJson);\n });\n }\n\n function setCookie(key, value) {\n let cookie = key + '=' + encodeURIComponent(value) + ';';\n\n cookie += 'path=/;';\n\n // 有効期é™: 20å¹´\n let expires = new Date();\n expires.setFullYear(expires.getFullYear() + 20);\n cookie += 'expires=' + expires + ';';\n\n cookie += 'samesite=lax;';\n\n document.cookie = cookie;\n };\n\n function deleteCookie(key) {\n let cookie = key + '=;path=/;max-age=0;';\n document.cookie = cookie;\n };\n});\n","// â–¼ 注æ„書ã *********************************** //\n\nfunction toggleCautionQuestion104Answer() {\n const question104Answer = $(\"#kantanshindan_answer_question_104_answer\").prop(\"checked\");\n const question102Answer = $(\"input[name='kantanshindan_answer[question_102_answer]']:checked\").val();\n\n if (!(question104Answer || (!question104Answer && question102Answer === '1'))) {\n $(\"#caution__question_104_answer\").show();\n } else {\n $(\"#caution__question_104_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion105Answer() {\n const question105Answer = $(\"#kantanshindan_answer_question_105_answer\").prop(\"checked\");\n\n if (!question105Answer) {\n $(\"#caution__question_105_answer\").show();\n } else {\n $(\"#caution__question_105_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion106Answer() {\n const question106Answer = $(\"#kantanshindan_answer_question_106_answer\").prop(\"checked\");\n\n if (!question106Answer) {\n $(\"#caution__question_106_answer\").show();\n } else {\n $(\"#caution__question_106_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion107Answer() {\n const question107Answer = $(\"#kantanshindan_answer_question_107_answer\").prop(\"checked\");\n\n if (!question107Answer) {\n $(\"#caution__question_107_answer\").show();\n } else {\n $(\"#caution__question_107_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion108Answer() {\n const question108Answer = $(\"#kantanshindan_answer_question_108_answer\").prop(\"checked\");\n\n if (!question108Answer) {\n $(\"#caution__question_108_answer\").show();\n } else {\n $(\"#caution__question_108_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion109Answer() {\n const question109Answer = $(\"#kantanshindan_answer_question_109_answer\").prop(\"checked\");\n\n if (!question109Answer) {\n $(\"#caution__question_109_answer\").show();\n } else {\n $(\"#caution__question_109_answer\").hide();\n }\n}\n\nfunction toggleCautionQuestion110Answer() {\n const question110Answer = $(\"#kantanshindan_answer_question_110_answer\").prop(\"checked\");\n\n if (!question110Answer) {\n $(\"#caution__question_110_answer\").show();\n } else {\n $(\"#caution__question_110_answer\").hide();\n }\n}\n\n// â–² 注æ„書ã *********************************** //\n\n// â–¼ è¨å•è¡¨ç¤ºåˆ‡æ›¿ ******************************* //\n\n// 「雇用ã€ã«ã¤ã„ã¦å®Ÿæ–½ã—ãŸã„ã“ã¨ã‚’é¸æŠžã—ã¦ãã ã•ã„\nfunction toggleQ3Section() {\n const question103Answer = $(\"#kantanshindan_answer_question_103_answer\").prop(\"checked\");\n const question105Answer = $(\"#kantanshindan_answer_question_105_answer\").prop(\"checked\");\n const question106Answer = $(\"#kantanshindan_answer_question_106_answer\").prop(\"checked\");\n const question108Answer = $(\"#kantanshindan_answer_question_108_answer\").prop(\"checked\");\n const question109Answer = $(\"#kantanshindan_answer_question_109_answer\").prop(\"checked\");\n const question110Answer = $(\"#kantanshindan_answer_question_110_answer\").prop(\"checked\");\n\n if (!question103Answer || !question105Answer || !question106Answer || !question108Answer || !question109Answer || !question110Answer) {\n $(\"#shindan_q3\").hide();\n } else {\n $(\"#shindan_q3\").show();\n }\n}\n\n// 「従æ¥å“¡ã€ã«ã¤ã„ã¦å®Ÿæ–½ã—ãŸã„ã“ã¨ã‚’é¸æŠžã—ã¦ãã ã•ã„\nfunction toggleQ4Section() {\n const question102Answer = $(\"input[name='kantanshindan_answer[question_102_answer]']:checked\").val();\n const question103Answer = $(\"#kantanshindan_answer_question_103_answer\").prop(\"checked\");\n const question105Answer = $(\"#kantanshindan_answer_question_105_answer\").prop(\"checked\");\n const question106Answer = $(\"#kantanshindan_answer_question_106_answer\").prop(\"checked\");\n const question108Answer = $(\"#kantanshindan_answer_question_108_answer\").prop(\"checked\");\n const question109Answer = $(\"#kantanshindan_answer_question_109_answer\").prop(\"checked\");\n const question110Answer = $(\"#kantanshindan_answer_question_110_answer\").prop(\"checked\");\n\n if ((question102Answer === '1' && !question103Answer) || !question105Answer || !question106Answer || !question108Answer || !question109Answer || !question110Answer) {\n $(\"#shindan_q4\").hide();\n } else {\n $(\"#shindan_q4\").show();\n }\n}\n\n// â–² è¨å•è¡¨ç¤ºåˆ‡æ›¿ ******************************* //\n\n$('#shindan_q1 input').on('change', function() {\n toggleCautionQuestion104Answer();\n toggleCautionQuestion105Answer();\n toggleCautionQuestion106Answer();\n toggleCautionQuestion107Answer();\n toggleCautionQuestion108Answer();\n toggleCautionQuestion109Answer();\n toggleCautionQuestion110Answer();\n\n toggleQ3Section();\n toggleQ4Section();\n});\n\n// 表示éžè¡¨ç¤ºé–¢ä¿‚ã¯ã“ã“ã¾ã§\n\n// フォームallãƒã‚§ãƒƒã‚¯\nconst employmentCheckboxes = document.querySelectorAll(\n \".needs-of-employment--checkbox\"\n);\nconst businessCheckboxes = document.querySelectorAll(\n \".needs-of-business--checkbox\"\n);\nconst employeeCheckboxes = document.querySelectorAll(\n \".needs-of-employee--checkbox\"\n);\nconst othersCheckboxes = document.querySelectorAll(\n \".needs-of-others--checkbox\"\n);\n\n$(\"#needs-of-employment-allcheck\").on(\"change\", function () {\n if ($(this).prop(\"checked\")) {\n employmentCheckboxes.forEach((checkbox) => {\n checkbox.checked = true;\n });\n } else {\n employmentCheckboxes.forEach((checkbox) => {\n checkbox.checked = false;\n });\n }\n});\n\n$(\"#needs-of-business-allcheck\").on(\"change\", function () {\n if ($(this).prop(\"checked\")) {\n businessCheckboxes.forEach((checkbox) => {\n checkbox.checked = true;\n });\n } else {\n businessCheckboxes.forEach((checkbox) => {\n checkbox.checked = false;\n });\n }\n});\n\n$(\"#needs-of-employee-allcheck\").on(\"change\", function () {\n if ($(this).prop(\"checked\")) {\n employeeCheckboxes.forEach((checkbox) => {\n checkbox.checked = true;\n });\n } else {\n employeeCheckboxes.forEach((checkbox) => {\n checkbox.checked = false;\n });\n }\n});\n\n// ページãƒãƒ¼ãƒ‰æ™‚\n$(function() {\n toggleCautionQuestion104Answer();\n toggleCautionQuestion105Answer();\n toggleCautionQuestion106Answer();\n toggleCautionQuestion107Answer();\n toggleCautionQuestion108Answer();\n toggleCautionQuestion109Answer();\n toggleCautionQuestion110Answer();\n\n toggleQ3Section();\n toggleQ4Section();\n\n allCheck('.needs-of-employment--checkbox', '#needs-of-employment-allcheck');\n allCheck('.needs-of-business--checkbox', '#needs-of-business-allcheck');\n allCheck('.needs-of-employee--checkbox', '#needs-of-employee-allcheck');\n\n function allCheck(innerCheckboxSelector, allCheckboxSelector) {\n if ($(innerCheckboxSelector).length == $(innerCheckboxSelector + ':checked').length) {\n $(allCheckboxSelector).prop(\"checked\", true);\n }\n }\n});\n","function toggleTableAccordion(btnId, itemClass, btnTextId, btnIconId) {\n const accordionBtn = document.getElementById(btnId);\n const accordionItems = document.querySelectorAll(`.${itemClass}`);\n const btnText = document.getElementById(btnTextId);\n const btnIcon = document.getElementById(btnIconId);\n if (accordionBtn && accordionItems && btnText && btnIcon) {\n accordionBtn.addEventListener(\"click\", function () {\n accordionItems.forEach((item) => {\n if (item.classList.contains(\"display\")) {\n item.classList.remove(\"display\");\n btnText.textContent = \"内訳を見る\";\n btnIcon.style.transform = \"rotate(90deg)\";\n } else {\n item.classList.add(\"display\");\n btnText.textContent = \"é–‰ã˜ã‚‹\";\n btnIcon.style.transform = \"rotate(270deg)\";\n }\n });\n });\n }\n}\n\nfor (let i = 1; i <= 3; i++) {\n const btnId = `suuchiBtn${i}`;\n const itemClass = `suuchiTableDetail${i}`;\n const btnTextId = `suuchiBtnText${i}`;\n const btnIconId = `suuchiBtnIcon${i}`;\n toggleTableAccordion(btnId, itemClass, btnTextId, btnIconId);\n}\n","$(function() {\n const copySpModal = document.getElementById(\"copy-sp\");\n if (copySpModal) {\n copySpModal.addEventListener('show.bs.modal', event => {\n const button = event.relatedTarget;\n const copyText = button.getAttribute('data-bs-copy-text');\n const copyTarget = copySpModal.querySelector(\"#copyTarget2\");\n copyTarget.textContent = copyText;\n });\n }\n});\n","// const suggestResult = [\"助æˆé‡‘\", \"補助金\", \"助æˆé‡‘申請\"]; // ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‹ã‚‰é€ã‚‰ã‚Œã¦ãるサジェストé…列\n\nconst keywordHidden = document.getElementById(\"ls-keyword\");\nconst inputField = document.getElementById(\"ls-keywords\");\nconst suggestionsBox = document.getElementById(\"ls-suggestions\");\nconst inputFieldSp = document.getElementById(\"ls-keywords-sp\");\nconst suggestionsBoxSp = document.getElementById(\"ls-suggestions-sp\");\n\nlet getSuggestionsTimer;\nlet inputStr;\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n if (inputField) {\n inputField.addEventListener(\"input\", reflectInputTextField);\n inputField.addEventListener(\"keyup\", reflectInputTextField);\n inputField.addEventListener(\"click\", reflectInputTextField);\n\n inputField.addEventListener(\"input\", handleCursorMove);\n inputField.addEventListener(\"keyup\", handleCursorMove);\n inputField.addEventListener(\"click\", handleCursorMove);\n }\n if (inputFieldSp) {\n inputFieldSp.addEventListener(\"input\", reflectInputTextField);\n inputFieldSp.addEventListener(\"keyup\", reflectInputTextField);\n inputFieldSp.addEventListener(\"click\", reflectInputTextField);\n\n inputFieldSp.addEventListener(\"input\", handleCursorMove);\n inputFieldSp.addEventListener(\"keyup\", handleCursorMove);\n inputFieldSp.addEventListener(\"click\", handleCursorMove);\n }\n\n document.addEventListener(\"click\", (event) => {\n if (\n suggestionsBox &&\n !suggestionsBox.contains(event.target) &&\n event.target !== inputField\n ) {\n hideSuggestions(suggestionsBox);\n }\n\n if (\n suggestionsBoxSp &&\n !suggestionsBoxSp.contains(event.target) &&\n event.target !== inputFieldSp\n ) {\n hideSuggestions(suggestionsBoxSp);\n }\n });\n\n function handleCursorMove(event) {\n if (event.target == inputField) {\n inputStr = getWordAtCursor(inputField);\n } else {\n inputStr = getWordAtCursor(inputFieldSp);\n }\n\n if (getSuggestionsTimer) {\n clearTimeout(getSuggestionsTimer);\n }\n getSuggestionsTimer = setTimeout(getSuggestions, 100)\n }\n\n function getSuggestions() {\n if (inputStr) {\n query = \"/api/v1/study_search_suggestions?str=\" + inputStr\n $.getJSON(query)\n .done(function(data) {\n let suggestResult = [];\n if (data) {\n suggestResult = data;\n }\n displaySuggestions(suggestResult, inputField, suggestionsBox);\n displaySuggestions(suggestResult, inputFieldSp, suggestionsBoxSp);\n });\n } else {\n hideSuggestions(suggestionsBox);\n hideSuggestions(suggestionsBoxSp);\n }\n }\n\n function getWordAtCursor(inputElement) {\n const { selectionStart, value } = inputElement;\n\n const leftPart = value.slice(0, selectionStart);\n const leftSpaceIndex = leftPart.lastIndexOf(\" \");\n const leftFullWidthSpaceIndex = leftPart.lastIndexOf(\" \");\n const left = Math.max(leftSpaceIndex, leftFullWidthSpaceIndex) + 1;\n\n const rightPart = value.slice(selectionStart);\n const rightSpaceIndex = rightPart.indexOf(\" \");\n const rightFullWidthSpaceIndex = rightPart.indexOf(\" \");\n const right =\n selectionStart +\n (rightSpaceIndex === -1 && rightFullWidthSpaceIndex === -1\n ? rightPart.length\n : Math.min(\n rightSpaceIndex === -1 ? Infinity : rightSpaceIndex,\n rightFullWidthSpaceIndex === -1\n ? Infinity\n : rightFullWidthSpaceIndex\n ));\n\n const cursorWord = value.slice(left, right);\n\n return cursorWord;\n }\n\n function displaySuggestions(suggestions, inputField, suggestionsBox) {\n suggestionsBox.innerHTML = \"\";\n suggestions.forEach((suggestion) => {\n const suggestionItem = document.createElement(\"div\");\n suggestionItem.classList.add(\"ls-suggestion__item\");\n suggestionItem.textContent = suggestion;\n suggestionItem.addEventListener(\"click\", () => {\n replaceWordAtCursor(inputField, suggestion);\n reflectInputTextField();\n suggestionsBox.innerHTML = \"\";\n });\n suggestionsBox.appendChild(suggestionItem);\n });\n\n showSuggestions(suggestionsBox);\n }\n\n function replaceWordAtCursor(inputElement, newWord) {\n const { selectionStart, value } = inputElement;\n\n const leftPart = value.slice(0, selectionStart);\n const leftSpaceIndex = leftPart.lastIndexOf(\" \");\n const leftFullWidthSpaceIndex = leftPart.lastIndexOf(\" \");\n const left = Math.max(leftSpaceIndex, leftFullWidthSpaceIndex) + 1;\n\n const rightPart = value.slice(selectionStart);\n const rightSpaceIndex = rightPart.indexOf(\" \");\n const rightFullWidthSpaceIndex = rightPart.indexOf(\" \");\n const right =\n selectionStart +\n (rightSpaceIndex === -1 && rightFullWidthSpaceIndex === -1\n ? rightPart.length\n : Math.min(\n rightSpaceIndex === -1 ? Infinity : rightSpaceIndex,\n rightFullWidthSpaceIndex === -1\n ? Infinity\n : rightFullWidthSpaceIndex\n ));\n\n const before = value.slice(0, left);\n const after = value.slice(right);\n\n inputElement.value = before + newWord + after;\n\n const newCursorPosition = left + newWord.length;\n inputElement.setSelectionRange(newCursorPosition, newCursorPosition);\n }\n});\n\nfunction reflectInputTextField() {\n if (inputField.value !== keywordHidden.value) {\n keywordHidden.value = inputField.value;\n inputFieldSp.value = inputField.value;\n }\n if (inputFieldSp.value !== keywordHidden.value) {\n keywordHidden.value = inputFieldSp.value;\n inputField.value = inputFieldSp.value;\n }\n}\n\nfunction showSuggestions(suggestionsBox) {\n if (suggestionsBox) {\n suggestionsBox.style.display = \"block\";\n }\n}\n\nfunction hideSuggestions(suggestionsBox) {\n if (suggestionsBox) {\n suggestionsBox.style.display = \"none\";\n }\n}\n","// // TOPページã®ã‚¿ã‚°\n// const topSearchTagData = [\n// \"èžè³‡\",\n// \"金èžæ©Ÿé–¢\",\n// \"計画\",\n// \"審査\",\n// \"基本\",\n// \"資金繰り\",\n// \"銀行\",\n// \"専門家\",\n// \"申請\",\n// \"èµ·æ¥ãƒ»é–‹æ¥\",\n// ];\n\n// // 検索çµæžœãƒšãƒ¼ã‚¸ã®ã‚¿ã‚°ã§ã€ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‹ã‚‰å–å¾—\n// const resultSearchTagData = [\n// \"テスト1\",\n// \"テスト2\",\n// \"èžè³‡\",\n// \"金èžæ©Ÿé–¢\",\n// \"計画\",\n// \"審査\",\n// \"基本\",\n// \"資金繰り\",\n// \"銀行\",\n// \"専門家\",\n// \"申請\",\n// \"èµ·æ¥ãƒ»é–‹æ¥\",\n// ];\n\nconst tagsInput = document.getElementById(\"ls-tags\");\n\nconst searchTagsContainer = document.getElementById(\"ls-tagButton\");\nconst searchTagsContainerSp = document.getElementById(\"ls-tagButton-sp\");\nconst searchTagsResultContainer = document.getElementById(\"ls-tagButtonResult\");\nconst searchTagsResultContainerSp = document.getElementById(\n \"ls-tagButtonResult-sp\"\n);\n\nconst createTagsList = (tagData, targetList, isSp) => {\n tagData.forEach((tag) => {\n const button = document.createElement(\"button\");\n button.textContent = tag;\n button.type = \"button\";\n button.classList.add(\"ls-searchTag__item\");\n if (isSp) {\n button.classList.add(\"ls-searchTag__item--sp\");\n }\n targetList.appendChild(button);\n\n // タグを押ã—ãŸã¨ãã®æŒ™å‹•ã‚’実装\n button.addEventListener(\"click\", () => {\n toggleTagSelection(tag);\n });\n });\n};\n\nconst createTagsList1 = () => {\n const tagItems = document.querySelectorAll(\":not(#ls-popluarTagButton) > .ls-searchTag__item\")\n\n tagItems.forEach((tagItem) => {\n // タグを押ã—ãŸã¨ãã®æŒ™å‹•ã‚’実装\n tagItem.addEventListener(\"click\", () => {\n toggleTagSelection(tagItem.textContent);\n });\n });\n};\n\nconst toggleTagSelection = (tag) => {\n const buttons = document.querySelectorAll(\":not(#ls-popluarTagButton) > .ls-searchTag__item\")\n buttons.forEach((button) => {\n if (button.textContent === tag) {\n button.classList.toggle(\"selected\");\n }\n });\n updateTagsInput();\n};\n\n// タグを押ã—ãŸã¨ãã«ä¸€ç•ªå‰ã«æŒã£ã¦ãã‚‹\nconst prependTag = (targetList) => {\n document.querySelectorAll(\".ls-searchTag__item--sp\").forEach((button) => {\n button.addEventListener(\"click\", function () {\n targetList.prepend(this);\n sortSpTag(targetList);\n });\n });\n};\n\n// タグを押ã—ãŸã¨ãã«ä¸€ç•ªå‰ã«æŒã£ã¦ãã‚‹\nconst prependTag1 = (targetList) => {\n document.querySelectorAll(\"#ls-tagButton > .ls-searchTag__item\").forEach((pcTagButton) => {\n pcTagButton.addEventListener(\"click\", function () {\n let targetItem = null;\n targetList.querySelectorAll(\"button\").forEach((targetButton) => {\n if (targetButton.textContent === pcTagButton.textContent) {\n targetItem = targetButton;\n }\n });\n if (targetItem) {\n targetList.prepend(targetItem);\n }\n sortSpTag(targetList);\n });\n });\n}\n\n// é¸æŠžã•ã‚Œã¦ã„ã‚‹ã‚¿ã‚°ãŒå‰ã«é¸æŠžã•ã‚Œã¦ã„ãªã„ã‚¿ã‚°ãŒå¾Œã«ãªã‚‹ã‚ˆã†ã«ã‚¿ã‚°ã‚’並ã¹æ›¿ãˆã‚‹\nconst sortSpTag = (targetList) => {\n selectedButtons = []\n unSelectedButtons = []\n targetList.querySelectorAll(\"button\").forEach((button) => {\n if (button.classList.contains(\"selected\")) {\n selectedButtons.push(button);\n } else {\n unSelectedButtons.push(button);\n }\n });\n selectedButtons.forEach((button) => {\n targetList.append(button);\n });\n unSelectedButtons.forEach((button) => {\n targetList.append(button);\n });\n}\n\n// TOPページã«ã‚¿ã‚°ã‚’表示\nif (searchTagsContainer && searchTagsContainerSp) {\n // createTagsList(topSearchTagData, searchTagsContainer);\n // createTagsList(topSearchTagData, searchTagsContainerSp, true);\n createTagsList1();\n prependTag(searchTagsContainerSp);\n prependTag1(searchTagsContainerSp);\n}\n\n// // çµæžœãƒšãƒ¼ã‚¸ã«ã‚¿ã‚°ã‚’表示\n// if (searchTagsResultContainer && searchTagsResultContainerSp) {\n// createTagsList(resultSearchTagData, searchTagsResultContainer);\n// createTagsList(resultSearchTagData, searchTagsResultContainerSp, true);\n// prependTag(searchTagsResultContainerSp);\n\n// // çµæžœãƒšãƒ¼ã‚¸ã§ã¯æ¤œç´¢ã«ä½¿ã‚ã‚Œã¦ã„ã‚‹ã‚¿ã‚°ã‚’é¸æŠžçŠ¶æ…‹ã«ã™ã‚‹\n// document.addEventListener(\"DOMContentLoaded\", function () {\n// const urlParams = new URLSearchParams(window.location.search);\n// const tagsParam = urlParams.get(\"sc[tag]\");\n// tagsInput.value = tagsParam;\n// if (tagsParam) {\n// const tags = tagsParam.split(\",\").map((tag) => tag.trim());\n// const tagButtons = document.querySelectorAll(\".ls-searchTag__item\");\n// tagButtons.forEach((button) => {\n// if (tags.includes(button.textContent)) {\n// button.classList.add(\"selected\");\n// }\n// });\n// }\n// });\n// }\n\n// çµæžœãƒšãƒ¼ã‚¸ã‚’èªã¿è¾¼ã¿æ™‚ã«ã‚¿ã‚°ã‚’並ã¹æ›¿ãˆã‚‹\nif (searchTagsResultContainerSp) {\n document.addEventListener(\"DOMContentLoaded\", sortSpTag(searchTagsResultContainerSp));\n}\n\n// クエリパラメータã«åæ˜ ã•ã›ã‚‹\nconst updateTagsInput = () => {\n const selectedTags = [];\n const selectedTagButtons = document.querySelectorAll(\n \".ls-searchTag__item.selected\"\n );\n\n if (selectedTagButtons.length > 0) {\n selectedTagButtons.forEach((tag) => {\n selectedTags.push(tag.textContent);\n const uniqueSelectedTags = [...new Set(selectedTags)];\n tagsInput.value = uniqueSelectedTags.join(\", \");\n });\n } else {\n tagsInput.value = \"\";\n }\n};\n","// // ä»®ã®ã‚«ãƒ†ã‚´ãƒªãƒ¼ãƒ‡ãƒ¼ã‚¿\n// const categoryData = [\n// {\n// major: \"大カテゴリ1\",\n// minor: [\"å°ã‚«ãƒ†ã‚´ãƒª1-1\", \"å°ã‚«ãƒ†ã‚´ãƒª1-2\", \"å°ã‚«ãƒ†ã‚´ãƒª1-3\"],\n// },\n// {\n// major: \"大カテゴリ2\",\n// minor: [\"å°ã‚«ãƒ†ã‚´ãƒª2-1\", \"å°ã‚«ãƒ†ã‚´ãƒª2-2\", \"å°ã‚«ãƒ†ã‚´ãƒª2-3\"],\n// },\n// {\n// major: \"大カテゴリ3\",\n// minor: [\"å°ã‚«ãƒ†ã‚´ãƒª3-1\", \"å°ã‚«ãƒ†ã‚´ãƒª3-2\", \"å°ã‚«ãƒ†ã‚´ãƒª3-3\"],\n// },\n// ];\n\nconst categoryInput = document.getElementById(\"ls-category\");\n\nconst categoryButton = document.getElementById(\"ls-categoryButton\");\nconst categoryList = document.getElementById(\"ls-categoryList\");\n\nconst categoryButtonSp = document.getElementById(\"ls-categoryButtonSp\");\nconst categoryListSp = document.getElementById(\"ls-categoryListSp\");\nconst categoryListCloseSp = document.getElementById(\"ls-categoryListCloseSp\");\nconst categoryListBgSp = document.getElementById(\"ls-categoryListBgSp\");\n\nconst categoryListResult = document.getElementById(\"ls-categoryListResult\");\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n if (categoryList) {\n // categoryList.innerHTML = \"\";\n // categoryData.forEach((category) => {\n // const majorItem = createMajorCategory(category.major);\n // categoryList.appendChild(majorItem);\n // category.minor.forEach((minorCategory) => {\n // const minorItem = createMinorCategory(minorCategory);\n // categoryList.appendChild(minorItem);\n // });\n // });\n createCategoryDrawer1(categoryList);\n }\n\n if (categoryListSp) {\n // createCategoryDrawer(categoryListSp);\n createCategoryDrawer2(categoryListSp);\n }\n if (categoryListResult) {\n // createCategoryDrawer(categoryListResult);\n createCategoryDrawer3(categoryListResult);\n }\n});\n\nif (categoryButton) {\n categoryButton.addEventListener(\"click\", () => {\n categoryList.classList.toggle(\"show\");\n const iconPlus = categoryButton.querySelector(\n \".ls-categoryButton__icon--plus\"\n );\n const iconMinus = categoryButton.querySelector(\n \".ls-categoryButton__icon--minus\"\n );\n if (iconPlus && iconMinus) {\n iconPlus.classList.toggle(\"hidden\");\n iconMinus.classList.toggle(\"hidden\");\n }\n });\n}\n\nif (categoryButtonSp) {\n categoryButtonSp.addEventListener(\"click\", () => {\n categoryListSp.classList.toggle(\"show\");\n categoryListBgSp.classList.toggle(\"show\");\n });\n}\n\nif (categoryButtonSp) {\n categoryListBgSp.addEventListener(\"click\", () => {\n categoryListSp.classList.toggle(\"show\");\n categoryListBgSp.classList.toggle(\"show\");\n });\n}\n\nif (categoryListCloseSp) {\n categoryListCloseSp.addEventListener(\"click\", () => {\n categoryListSp.classList.remove(\"show\");\n categoryListBgSp.classList.remove(\"show\");\n });\n}\n\nconst createMajorCategory = (majorCategory) => {\n const item = document.createElement(\"button\");\n item.className = \"ls-categoryList__item ls-categoryList__item--major\";\n item.textContent = majorCategory;\n item.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(majorCategory);\n });\n return item;\n};\nconst createMinorCategory = (minorCategory) => {\n const item = document.createElement(\"button\");\n item.className = \"ls-categoryList__item ls-categoryList__item--minor\";\n item.textContent = minorCategory;\n item.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(minorCategory);\n });\n return item;\n};\nconst createCategoryDrawer = (targetList) => {\n categoryData.forEach((category) => {\n const categoryItem = document.createElement(\"div\");\n categoryItem.className = \"ls-categoryListSp__item\";\n\n const majorItem = document.createElement(\"div\");\n majorItem.className = \"ls-categoryListSp__item--major\";\n majorItem.innerHTML = `\n <div class=\"ls-categoryListSp__itemWrapper--major\">\n <button type=\"button\">${category.major}</button>\n <div class=\"ls-categoryListSp__toggleIcon\">\n <div class=\"ls-categoryListSp__toggleIcon--plus\"></div>\n <div class=\"ls-categoryListSp__toggleIcon--minus hidden\"></div>\n </div>\n </div>`;\n\n const majorButton = majorItem.querySelector(\"button\");\n majorButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(category.major);\n });\n\n const minorItemWrapper = document.createElement(\"div\");\n minorItemWrapper.className = \"ls-categoryListSp__itemWrapper--minor\";\n\n category.minor.forEach((item) => {\n const minorItem = document.createElement(\"button\");\n minorItem.type = \"button\";\n minorItem.textContent = item;\n minorItem.className = \"ls-categoryListSp__item--minor\";\n minorItemWrapper.appendChild(minorItem);\n\n minorItem.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(item);\n });\n });\n\n const toggleIcon = majorItem.querySelector(\n \".ls-categoryListSp__toggleIcon\"\n );\n const plusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--plus\"\n );\n const minusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--minus\"\n );\n\n toggleIcon.addEventListener(\"click\", (e) => {\n e.stopPropagation();\n\n if (!minorItemWrapper.classList.contains(\"show\")) {\n minorItemWrapper.style.display = \"block\";\n const height = minorItemWrapper.scrollHeight;\n minorItemWrapper.style.display = \"\";\n minorItemWrapper.style.setProperty(\"--content-height\", `${height}px`);\n } else {\n minorItemWrapper.style.setProperty(\"--content-height\", \"0px\");\n }\n\n minorItemWrapper.classList.toggle(\"show\");\n plusIcon.classList.toggle(\"hidden\");\n minusIcon.classList.toggle(\"hidden\");\n });\n\n categoryItem.appendChild(majorItem);\n categoryItem.appendChild(minorItemWrapper);\n targetList.appendChild(categoryItem);\n });\n};\n\nconst createCategoryDrawer1 = (targetList) => {\n const categoryListItems = targetList.querySelectorAll(\".ls-categoryList__item\");\n\n categoryListItems.forEach((categoryListItem) => {\n categoryListItem.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(categoryListItem.textContent);\n });\n });\n}\n\nconst createCategoryDrawer2 = (targetList) => {\n const categoryItems = targetList.querySelectorAll(\".ls-categoryListSp__item\");\n\n categoryItems.forEach((categoryItem) => {\n const majorItem = categoryItem.querySelector(\".ls-categoryListSp__item--major\");\n\n const majorButton = majorItem.querySelector(\"button\");\n majorButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(majorButton.textContent);\n });\n\n const minorItemWrapper = categoryItem.querySelector(\".ls-categoryListSp__itemWrapper--minor\");\n\n const minorItems = minorItemWrapper.querySelectorAll(\".ls-categoryListSp__item--minor\");\n minorItems.forEach((minorItem) => {\n minorItem.addEventListener(\"click\", (event) => {\n event.preventDefault();\n updateCategory(minorItem.textContent);\n });\n });\n\n const toggleIcon = majorItem.querySelector(\n \".ls-categoryListSp__toggleIcon\"\n );\n const plusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--plus\"\n );\n const minusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--minus\"\n );\n\n toggleIcon.addEventListener(\"click\", (e) => {\n e.stopPropagation();\n\n if (!minorItemWrapper.classList.contains(\"show\")) {\n minorItemWrapper.style.display = \"block\";\n const height = minorItemWrapper.scrollHeight;\n minorItemWrapper.style.display = \"\";\n minorItemWrapper.style.setProperty(\"--content-height\", `${height}px`);\n } else {\n minorItemWrapper.style.setProperty(\"--content-height\", \"0px\");\n }\n\n minorItemWrapper.classList.toggle(\"show\");\n plusIcon.classList.toggle(\"hidden\");\n minusIcon.classList.toggle(\"hidden\");\n });\n });\n};\n\nconst createCategoryDrawer3 = (targetList) => {\n const categoryItems = targetList.querySelectorAll(\".ls-categoryListSp__item\");\n\n categoryItems.forEach((categoryItem) => {\n const majorItem = categoryItem.querySelector(\".ls-categoryListSp__item--major\");\n const minorItemWrapper = categoryItem.querySelector(\".ls-categoryListSp__itemWrapper--minor\");\n\n const toggleIcon = majorItem.querySelector(\n \".ls-categoryListSp__toggleIcon\"\n );\n const plusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--plus\"\n );\n const minusIcon = toggleIcon.querySelector(\n \".ls-categoryListSp__toggleIcon--minus\"\n );\n\n toggleIcon.addEventListener(\"click\", (e) => {\n e.stopPropagation();\n\n if (!minorItemWrapper.classList.contains(\"show\")) {\n minorItemWrapper.style.display = \"block\";\n const height = minorItemWrapper.scrollHeight;\n minorItemWrapper.style.display = \"\";\n minorItemWrapper.style.setProperty(\"--content-height\", `${height}px`);\n } else {\n minorItemWrapper.style.setProperty(\"--content-height\", \"0px\");\n }\n\n minorItemWrapper.classList.toggle(\"show\");\n plusIcon.classList.toggle(\"hidden\");\n minusIcon.classList.toggle(\"hidden\");\n });\n });\n};\n\nconst updateCategory = (category) => {\n const categoryButtonText = categoryButton.querySelector(\n \".ls-categoryButton__text\"\n );\n if (categoryButtonText) {\n categoryButtonText.textContent = category;\n }\n const categoryButtonTextSp = categoryButtonSp.querySelector(\n \".ls-categoryButton__text\"\n );\n if (categoryButtonTextSp) {\n categoryButtonTextSp.textContent = category === \"ã™ã¹ã¦\" ? \"カテゴリé¸æŠž\" : category;\n }\n\n categoryList.classList.remove(\"show\");\n categoryListSp.classList.remove(\"show\");\n categoryListBgSp.classList.remove(\"show\");\n categoryInput.value = category === \"ã™ã¹ã¦\" ? \"\" : category;\n\n const categoryItem = categoryList.querySelectorAll(\".ls-categoryList__item\");\n categoryItem.forEach((item) => {\n if (item.textContent === category) {\n item.classList.add(\"selected\");\n } else {\n item.classList.remove(\"selected\");\n }\n });\n\n const categorySpMajorItem = categoryListSp.querySelectorAll(\".ls-categoryListSp__item--major\");\n categorySpMajorItem.forEach((item) => {\n const button = item.querySelector(\"button\");\n if (button.textContent === category) {\n item.classList.add(\"selected\");\n } else {\n item.classList.remove(\"selected\");\n }\n });\n\n const categorySpMinorItem = categoryListSp.querySelectorAll(\".ls-categoryListSp__item--minor\");\n categorySpMinorItem.forEach((item) => {\n if (item.textContent === category) {\n item.classList.add(\"selected\");\n } else {\n item.classList.remove(\"selected\");\n }\n });\n\n const categoryButtonIcon = categoryButton.querySelector(\n \".ls-categoryButton__icon\"\n );\n if (categoryButtonIcon) {\n const plusIcon = categoryButtonIcon.querySelector(\n \".ls-categoryButton__icon--plus\"\n );\n const minusIcon = categoryButtonIcon.querySelector(\n \".ls-categoryButton__icon--minus\"\n );\n\n if (plusIcon && minusIcon) {\n if (categoryList.classList.contains(\"show\")) {\n plusIcon.classList.add(\"hidden\");\n minusIcon.classList.remove(\"hidden\");\n } else {\n plusIcon.classList.remove(\"hidden\");\n minusIcon.classList.add(\"hidden\");\n }\n }\n }\n};\n","document.addEventListener(\"DOMContentLoaded\", function () {\n toggleStarActivation(\"popularSample01\");\n toggleStarActivation(\"popularSample02\");\n toggleStarActivation(\"popularSample03\");\n toggleStarActivation(\"usefulSample01\");\n toggleStarActivation(\"usefulSample02\");\n toggleStarActivation(\"usefulSample03\");\n toggleStarActivation(\"recommendSample01\");\n toggleStarActivation(\"recommendSample02\");\n toggleStarActivation(\"recommendSample03\");\n toggleStarActivation(\"favoriteSample01\");\n toggleStarActivation(\"favoriteSample02\");\n toggleStarActivation(\"favoriteSample03\");\n toggleStarActivation(\"resultSample01\");\n toggleStarActivation(\"resultSample02\");\n toggleStarActivation(\"resultSample03\");\n\n toggleStarActivationDetail();\n});\n\nconst toggleStarActivation = (contentId) => {\n const popularItem = document.getElementById(contentId);\n\n if (popularItem) {\n const favoriteButton = popularItem.querySelector(\"button\");\n const graystar = popularItem.querySelector(\".ls-favoriteIcon\");\n const yellowstar = popularItem.querySelector(\".ls-favoriteIcon--active\");\n\n favoriteButton.addEventListener(\"click\", function () {\n graystar.classList.toggle(\"hidden\");\n yellowstar.classList.toggle(\"hidden\");\n });\n }\n};\n\nconst toggleStarActivationDetail = () => {\n const favoriteButtons = document.querySelectorAll(\".detailFavorite\");\n\n favoriteButtons.forEach((button) => {\n const graystar = button.querySelector(\".ls-favoriteIcon\");\n const yellowstar = button.querySelector(\".ls-favoriteIcon--active\");\n\n button.addEventListener(\"click\", function () {\n graystar.classList.toggle(\"hidden\");\n yellowstar.classList.toggle(\"hidden\");\n });\n });\n};\n","document.addEventListener(\"DOMContentLoaded\", function () {\n const searchForm = document.querySelector(\".ls-searchForm\");\n if (!searchForm) return;\n\n const upperRow = searchForm.querySelector(\".ls-searchForm__row\");\n const lowerRow = searchForm.querySelector(\".ls-searchForm__row--lower\");\n if (!upperRow || !lowerRow) return;\n\n let lastScrollTop = 0;\n let ticking = false;\n\n function updateSearchForm(scrollTop) {\n const scrollDown = scrollTop > lastScrollTop;\n const upperRowHeight = upperRow.offsetHeight;\n const lowerRowHeight = lowerRow.offsetHeight;\n\n if (scrollTop > upperRowHeight) {\n upperRow.style.position = \"fixed\";\n upperRow.style.top = \"0\";\n upperRow.style.left = \"0\";\n upperRow.style.width = \"100%\";\n upperRow.style.zIndex = \"1000\";\n searchForm.style.paddingTop = `${upperRowHeight}px`;\n\n if (scrollDown) {\n lowerRow.style.transform = `translateY(-${lowerRowHeight}px)`;\n } else {\n lowerRow.style.transform = \"translateY(0)\";\n }\n\n lowerRow.style.position = \"fixed\";\n lowerRow.style.top = `${upperRowHeight}px`;\n lowerRow.style.left = \"0\";\n lowerRow.style.width = \"100%\";\n lowerRow.style.zIndex = \"999\";\n } else {\n upperRow.style.position = \"static\";\n upperRow.style.width = \"auto\";\n searchForm.style.paddingTop = \"0\";\n lowerRow.style.position = \"static\";\n lowerRow.style.transform = \"translateY(0)\";\n }\n\n lastScrollTop = scrollTop;\n }\n\n window.addEventListener(\"scroll\", function (e) {\n if (!ticking) {\n window.requestAnimationFrame(function () {\n updateSearchForm(window.pageYOffset);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n});\n","const categoryInput = document.getElementById(\"ls-category\");\nconst heading = document.getElementById(\"ls-resultHeading\");\nconst noResultHeading = document.getElementById(\"ls-noResultHeading\");\n\nfunction getQueryParam(param) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(param);\n}\n\nfunction updateHeading() {\n const category = getQueryParam(\"sc[category]\") || \"\";\n const tag = getQueryParam(\"sc[tag]\") || \"\";\n const keyword = getQueryParam(\"sc[keyword]\") || \"\";\n\n const decodedCategory = decodeURIComponent(category);\n const decodedTag = decodeURIComponent(tag);\n const decodedKeyword = decodeURIComponent(keyword);\n\n let headingText = \"\";\n let noResultHeadingText = \"ã‚ーワードã®æ¤œç´¢çµæžœ\";\n if (decodedCategory) headingText += `${decodedCategory} `;\n if (decodedTag) headingText += `${decodedTag} `;\n if (decodedKeyword) {\n headingText += `${decodedKeyword} `;\n noResultHeadingText = `${decodedKeyword}ã®æ¤œç´¢çµæžœ`;\n }\n headingText += \"ã®æ¤œç´¢çµæžœ\";\n\n if (heading) {\n heading.textContent = headingText.trim();\n }\n if (noResultHeading) {\n noResultHeading.textContent = noResultHeadingText;\n }\n\n updateCategoryButtonText(decodedCategory);\n updateKeywordInput(decodedKeyword);\n}\n\nfunction updateCategoryButtonText(category) {\n const categoryButton = document.getElementById(\"ls-categoryButton\");\n const categoryButtonSp = document.getElementById(\"ls-categoryButtonSp\");\n if (categoryButton) {\n const categoryText = categoryButton.querySelector(\n \".ls-categoryButton__text\"\n );\n if (categoryText) {\n categoryText.textContent = category || \"ã™ã¹ã¦\";\n }\n categoryInput.value = category;\n }\n if (categoryButtonSp) {\n const categoryText = categoryButtonSp.querySelector(\n \".ls-categoryButton__text\"\n );\n if (categoryText) {\n categoryText.textContent = category || \"カテゴリé¸æŠž\";\n }\n categoryInput.value = category;\n }\n}\n\nfunction updateKeywordInput(keyword) {\n const keywordInput = document.getElementById(\"ls-keywords\");\n const keywordInputSp = document.getElementById(\"ls-keywords-sp\");\n const keywordHidden = document.getElementById(\"ls-keyword\");\n if (keywordInput) {\n keywordInput.value = keyword;\n }\n if (keywordInputSp) {\n keywordInputSp.value = keyword;\n }\n if (keywordHidden) {\n keywordHidden.value = keyword;\n }\n}\n\n// document.addEventListener(\"DOMContentLoaded\", updateHeading);\n","$(function() {\n // 並ã³æ›¿ãˆ\n $('.js-search_study_sorting').on('change', function() {\n const value = $(this).val();\n const form = $('#search_study_sorting_form');\n form.find('[name=\"sort_by\"]').val(value);\n form.submit();\n });\n\n // ãŠæ°—ã«å…¥ã‚Šã‚¢ã‚¤ã‚³ãƒ³ã®ã‚¯ãƒªãƒƒã‚¯ã§è¨˜äº‹ã¸ã®ãƒªãƒ³ã‚¯ãŒå‹•ä½œã—ãªã„よã†ã«ã™ã‚‹\n $('.js-study_favorite_toggle_icon_form').on('click', function(event) {\n event.stopPropagation();\n });\n});\n\n$(function() {\n $(\"a[href^='https://www.yayoi-kk.co.jp/lp/freenance/'],a[href^='https://www.yayoi-kk.co.jp/lp/invoicecard/']\").on('click', function() {\n $.ajax({\n type: \"POST\",\n url: \"/api/v1/freenance_lp_link\"\n });\n });\n});\n","$(function() {\n // ページãƒãƒ¼ãƒ‰æ™‚\n $(document).ready(function() {\n // 実際ã®ãƒ•ã‚©ãƒ¼ãƒ è¦ç´ ã‹ã‚‰ãƒ¢ãƒ¼ãƒ€ãƒ«å†…ã®éƒ½é“府県ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã«åæ˜ ã™ã‚‹\n $('.chex-pref').each(function() {\n const inputId = $(this).attr('id');\n const inputChecked = $(this).prop('checked');\n\n const $inModalInput = $(`.js-sc-pref-checkbox[data-id='${inputId}']`);\n if (inputChecked) {\n $inModalInput.prop('checked', true);\n } else {\n $inModalInput.prop('checked', false);\n }\n });\n });\n\n // 市区町æ‘モーダルã®å†…容をå†ä½œæˆã™ã‚‹\n $(\"body\").on('click', '#reGenerateScCityModalContent', function() {\n const $cities = $('#cities');\n\n // 都é“府県毎ã®ãƒ‡ãƒ¼ã‚¿\n const $rows = $cities.children('.checkbox-ex__row');\n\n const $newElements = $('<div>');\n\n $rows.each(function() {\n const prefName = $(this).find('.checkbox-ex__heading').find('.checkbox-ex__data-object').text();\n\n const $areaGroupElement = $('<div>').addClass('sc-modal__main-content__area-group');\n const $areaTitleElement = $('<div>').addClass('sc-modal__main-content__area-title').text(prefName);\n $areaGroupElement.append($areaTitleElement);\n\n $areaContentsElement = $('<div>').addClass('sc-modal__main-content__area-contents');\n\n const $citySelectWrap = $(this).find('.checkbox-ex__select-group').find('.checkbox-ex__select');\n\n $citySelectWrap.each(function() {\n const $input = $(this).find('input');\n const $label = $(this).find('label');\n\n const inputId = $input.attr('id');\n const inputValue = $input.val();\n const inputChecked = $input.prop('checked');\n\n const labelText = $label.find('.checkbox-ex__data-object').text();\n\n $contentsItem = $('<div>').addClass('form-check').addClass('sc-modal__checkbox__wrapper');\n $cityInputElement = $('<input>').attr('type', 'checkbox').attr('id', `sc_${inputId}`).attr('data-id', inputId).val(inputValue).addClass('form-check-input').addClass('js-sc-city-checkbox');\n if (inputChecked) {\n $cityInputElement.prop('checked', true);\n }\n $cityLabelElement = $(`<label>`).attr('for', `sc_${inputId}`).text(labelText).addClass('form-check-label');\n\n $contentsItem.append($cityInputElement).append($cityLabelElement);\n $areaContentsElement.append($contentsItem);\n });\n\n $areaGroupElement.append($areaContentsElement);\n $newElements.append($areaGroupElement);\n });\n\n $('#mainSearchConditionCityModalMainContent').empty().append($newElements.children());\n });\n\n // モーダル内ã®ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ è¦ç´ ã«åæ˜ ã™ã‚‹\n $(\"body\").on('change', '.js-sc-pref-checkbox, .js-sc-city-checkbox, .js-sc-industry-checkbox, .js-sc-usage-checkbox, .js-sc-other-checkbox', function() {\n const inModalInputDataId = $(this).attr('data-id');\n const inModalInputChecked = $(this).prop('checked');\n\n const $input = $(`#${inModalInputDataId}`);\n if (inModalInputChecked) {\n $input.prop('checked', true);\n } else {\n $input.prop('checked', false);\n }\n\n $input.trigger('change');\n\n if ($(this).hasClass('js-sc-industry-checkbox') || $(this).hasClass('js-sc-usage-checkbox') || $(this).hasClass('js-sc-other-checkbox')) {\n refreshDisplayedOthersModalSelectedElementCount();\n }\n });\n\n // 事æ¥å½¢æ…‹ã‚»ãƒ¬ã‚¯ãƒˆãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionBusinessTypeSelect\").on('change', function() {\n const originVal = $(this).val();\n\n // 事æ¥å½¢æ…‹ã‚»ãƒ¬ã‚¯ãƒˆã®è¡¨ç¤ºã‚’変更ã™ã‚‹\n if (originVal) {\n $(this).removeClass('not-selected').removeClass('required-notice');\n } else {\n $(this).addClass('not-selected').addClass('required-notice');\n }\n\n $('#detail_search_q_anken_business_type_cd').val(originVal);\n $('#detail_search_q_anken_business_type_cd').trigger('change');\n });\n\n // 従æ¥å“¡æ•°ã‚»ãƒ¬ã‚¯ãƒˆãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionEmployeeNumberSelect\").on('change', function() {\n $('#q_anken_employee_number').val($(this).val());\n $('#q_anken_employee_number').trigger('change');\n\n refreshDisplayedOthersModalSelectedElementCount();\n });\n\n // 継続年数セレクトãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionBusinessPeriodCdSelect\").on('change', function() {\n $('#q_anken_business_period_cd').val($(this).val());\n $('#q_anken_business_period_cd').trigger('change');\n\n refreshDisplayedOthersModalSelectedElementCount();\n });\n\n // 資本金é¡ã‚»ãƒ¬ã‚¯ãƒˆãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionCapitalAmountSelect\").on('change', function() {\n $('#q_anken_capital_amount').val($(this).val());\n $('#q_anken_capital_amount').trigger('change');\n\n refreshDisplayedOthersModalSelectedElementCount();\n });\n\n // 希望金é¡ã‚»ãƒ¬ã‚¯ãƒˆãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionRequiredAmountSelect\").on('change', function() {\n $('#q_required_amount').val($(this).val());\n $('#q_required_amount').trigger('change');\n\n refreshDisplayedOthersModalSelectedElementCount();\n });\n\n // フリーワードãŒå¤‰æ›´ã•ã‚ŒãŸã‚‰å®Ÿéš›ã®ãƒ•ã‚©ãƒ¼ãƒ ã«åæ˜ ã™ã‚‹\n $(\"#mainSearchConditionKeyword\").on('change', function() {\n $('#q_keyword').val($(this).val());\n $('#q_keyword').trigger('change');\n\n refreshDisplayedOthersModalSelectedElementCount();\n });\n\n // 都é“府県や事æ¥å½¢æ…‹ãŒå¤‰æ›´ã•ã‚ŒãŸã¨ãã€ãれらã®é¸æŠžçŠ¶æ…‹ã«ã‚ˆã‚Šã€æ¤œç´¢ãƒœã‚¿ãƒ³ã®æ´»æ€§çŠ¶æ…‹ã‚’変更ã™ã‚‹\n $('#mainSearchConditionPrefButton, #mainSearchConditionBusinessTypeSelect').on('change', function() {\n $mainSearchConditionSubmitButton = $('#mainSearchConditionSubmitButton');\n if ($('#mainSearchConditionPrefButton').hasClass('not-selected') || $('#mainSearchConditionBusinessTypeSelect').hasClass('not-selected')) {\n $mainSearchConditionSubmitButton.prop('disabled', true);\n } else {\n $mainSearchConditionSubmitButton.prop('disabled', false);\n }\n });\n\n // 都é“府県é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«ã‚’é–‰ã˜ãŸã‚¿ã‚¤ãƒŸãƒ³ã‚°ã§ã€éƒ½é“府県ãŒé¸æŠžã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€éƒ½é“府県é¸æŠžãƒ¢ãƒ¼ãƒ€ãƒ«è¡¨ç¤ºãƒœã‚¿ãƒ³ã«å¿…é ˆã‚¨ãƒ©ãƒ¼è¡¨ç¤ºã‚’ãŠã“ãªã†\n const mainSearchConditionPrefModal = document.getElementById('mainSearchConditionPrefModal');\n if (mainSearchConditionPrefModal) {\n mainSearchConditionPrefModal.addEventListener('hidden.bs.modal', event => {\n const $mainSearchConditionPrefButton = $('#mainSearchConditionPrefButton');\n if ($mainSearchConditionPrefButton.hasClass('not-selected')) {\n $mainSearchConditionPrefButton.addClass('required-notice');\n }\n });\n }\n\n // 詳細æ¡ä»¶ãƒ¢ãƒ¼ãƒ€ãƒ«å†…ã®é¸æŠžæ•°ã‚’カウントã—ã¦è¡¨ç¤ºã™ã‚‹\n // カウント数表示を更新ã™ã‚‹\n function refreshDisplayedOthersModalSelectedElementCount() {\n const $mainSearchConditionOthersButton = $('#mainSearchConditionOthersButton');\n const $countTargetElements = $('#mainSearchConditionOthersModal').find('select, input').not('#mainSearchConditionIndustryHyde, #mainSearchConditionUsageHyde');\n if ($mainSearchConditionOthersButton.length) {\n let count = 0;\n if ($countTargetElements.length) {\n count = $countTargetElements.filter(function() {\n if ($(this).is('select')) {\n return $(this).val() !== null && $(this).val() !== '';\n } else if ($(this).is('input[type=\"checkbox\"]')) {\n return $(this).prop('checked');\n } else if ($(this).is('input[type=\"text\"]')) {\n return $(this).val().trim() !== '';\n }\n return false;\n }).length;\n }\n\n if (count >= 1) {\n $mainSearchConditionOthersButton.text(`æ¡ä»¶è¿½åŠ (${count})`);\n $mainSearchConditionOthersButton.removeClass('not-required-not-selected');\n } else {\n $mainSearchConditionOthersButton.text('æ¡ä»¶è¿½åŠ ');\n $mainSearchConditionOthersButton.addClass('not-required-not-selected');\n }\n }\n }\n // ページèªã¿è¾¼ã¿æ™‚ã«å®Ÿè¡Œã™ã‚‹\n refreshDisplayedOthersModalSelectedElementCount();\n});\n\n// ページãƒãƒ¼ãƒ‰å¾Œã«styleã«ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„る「transition: none;ã€ã‚’削除\nconst searchResultCardBookmarkTagStateHoverIcons = document.getElementsByClassName('js-search-result-card-bookmark-tag-state-hover-icon');\nwindow.addEventListener('load', () => {\n for (const searchResultCardBookmarkTagStateHoverIcon of searchResultCardBookmarkTagStateHoverIcons) {\n searchResultCardBookmarkTagStateHoverIcon.style.removeProperty('transition');\n }\n});\n","document.addEventListener(\"DOMContentLoaded\", () => {\n const searchResultCollapsibleSections = document.getElementsByClassName('js-search-result-collapsible-section');\n setToggleBehavior(searchResultCollapsibleSections);\n\n const siteHeaderToggles = document.getElementsByClassName('js-site-header-toggle');\n setToggleBehavior(siteHeaderToggles);\n\n const siteFooterToggleClassName = 'js-site-footer-toggle';\n const siteFooterToggles = document.getElementsByClassName(siteFooterToggleClassName);\n setToggleBehavior(siteFooterToggles);\n\n function isEnabled(collapsibleSection) {\n if (collapsibleSection.classList.contains(siteFooterToggleClassName) && window.matchMedia('(min-width: 768px)').matches) {\n return false;\n }\n return true;\n }\n\n function setToggleBehavior(collapsibleSections) {\n if (collapsibleSections) {\n const animateTiming = {\n duration: 200,\n easing: 'linear',\n };\n\n for (const collapsibleSection of collapsibleSections) {\n const summary = collapsibleSection.getElementsByTagName('summary')[0];\n const content = collapsibleSection.getElementsByTagName('div')[0];\n\n if (summary && content) {\n summary.addEventListener('click', (event) => {\n event.preventDefault();\n if (isEnabled(collapsibleSection)) {\n if (collapsibleSection.open) {\n // é–‰ã˜ã‚‹\n const closeAnimate = content.animate(\n {\n height: [content.offsetHeight + 'px', 0],\n },\n animateTiming\n );\n closeAnimate.onfinish = () => {\n collapsibleSection.open = false;\n }\n } else {\n // é–‹ã\n collapsibleSection.open = true;\n const openAnimate = content.animate(\n {\n height: [0, content.offsetHeight + 'px'],\n },\n animateTiming\n );\n }\n }\n });\n }\n }\n }\n }\n});\n","const html = document.getElementsByTagName('html')[0];\nconst siteHeader = document.getElementById('siteHeader');\nconst siteHeaderMenuBtn = document.getElementById('siteHeaderMenuBtn');\nconst siteHeaderMenuBtnText = document.getElementById('siteHeaderMenuBtnText');\nconst siteHeaderMenuContent = document.getElementById('siteHeaderMenuContent');\nconst siteHeaderNavBtns = document.getElementsByClassName('js-site-header-nav_btn');\nconst siteHeaderToggles = document.getElementsByClassName('js-site-header-toggle');\nconst siteHeaderMenuBackdrop = document.getElementById('siteHeaderMenuBackdrop');\nconst scrollTop = document.getElementById('scrollTop');\nconst siteDropdownPcContents = document.getElementsByClassName('js-site-dropdown-pc_content');\nconst siteHeaderNavBackdrops = document.getElementsByClassName('js-site-header-nav_backdrop');\n\nif (siteHeader) {\n // メニューを閉ã˜ã‚‹\n function closeMenu() {\n siteHeaderMenuBtn.setAttribute('aria-expanded', 'false');\n siteHeaderMenuBtnText.textContent = 'メニューを開ã';\n siteHeaderMenuContent.classList.remove('is-shown');\n html.classList.remove('is-menu-open');\n siteHeaderMenuBackdrop.classList.remove('is-shown');\n if (scrollTop) {\n scrollTop.removeAttribute('tabindex');\n }\n }\n\n // メニューを開ã\n function openMenu() {\n siteHeaderMenuBtn.setAttribute('aria-expanded', 'true');\n siteHeaderMenuBtnText.textContent = 'メニューを閉ã˜ã‚‹';\n siteHeaderMenuContent.classList.add('is-shown');\n html.classList.add('is-menu-open');\n siteHeaderMenuBackdrop.classList.add('is-shown');\n if (scrollTop) {\n scrollTop.setAttribute('tabindex', -1);\n }\n }\n\n // ãƒãƒ³ãƒãƒ¼ã‚¬ãƒ¼ãƒœã‚¿ãƒ³ã‚’押下\n siteHeaderMenuBtn.addEventListener('click', () => {\n if (siteHeaderMenuBtn.getAttribute('aria-expanded') === 'true') {\n // メニューを閉ã˜ã‚‹\n closeMenu();\n } else {\n // メニューを開ã\n openMenu();\n }\n });\n\n // メニューエリア外ã®èƒŒæ™¯ã‚’押下\n siteHeaderMenuBackdrop.addEventListener('click', () => {\n // メニューを閉ã˜ã‚‹\n closeMenu();\n });\n\n // ヘッダーã®é«˜ã•ã‚’カスタムプãƒãƒ‘ティã«ã‚»ãƒƒãƒˆã™ã‚‹\n function setCustomProperty() {\n const headerHeight = siteHeader.offsetHeight;\n document.documentElement.style.setProperty('--js-acq-height-header', headerHeight + 'px');\n }\n window.addEventListener('DOMContentLoaded', setCustomProperty);\n window.addEventListener('resize', setCustomProperty);\n\n // メディアクエリã«ã‚ˆã‚Šãƒ˜ãƒƒãƒ€ãƒ¼ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®çŠ¶æ…‹ã‚’変化\n function changedMediaQuery(event) {\n let toggleOpen;\n if (event.matches) {\n // PC\n toggleOpen = true;\n } else {\n // SP\n toggleOpen = false;\n }\n for (const toggle of siteHeaderToggles) {\n toggle.open = toggleOpen;\n }\n closeMenu();\n }\n const mediaQuery = window.matchMedia('(min-width: 992px)');\n mediaQuery.addEventListener('change', changedMediaQuery);\n changedMediaQuery(mediaQuery);\n\n // ヘッダーメニューã®ãƒžã‚¦ã‚¹ã‚ªãƒ¼ãƒãƒ¼å‹•ä½œ\n for (const btn of siteHeaderNavBtns) {\n const headerNavContent = document.getElementById(btn.getAttribute('aria-controls'));\n let siteHeaderNavBackdrop;\n if (headerNavContent.parentElement) {\n siteHeaderNavBackdrop = headerNavContent.parentElement.getElementsByClassName('js-site-header-nav_backdrop')[0];\n }\n const handleShow = () => {\n if (mediaQuery.matches) {\n btn.setAttribute('aria-expanded', 'true');\n headerNavContent.classList.add('is-shown');\n if (siteHeaderNavBackdrop) {\n siteHeaderNavBackdrop.classList.add('is-shown');\n }\n siteHeaderMenuBackdrop.classList.add('is-shown');\n if (scrollTop) {\n scrollTop.setAttribute('tabindex', -1);\n }\n }\n }\n const handleHide = () => {\n if (mediaQuery.matches) {\n btn.setAttribute('aria-expanded', 'false');\n headerNavContent.classList.remove('is-shown');\n if (siteHeaderNavBackdrop) {\n siteHeaderNavBackdrop.classList.remove('is-shown');\n }\n if (scrollTop) {\n scrollTop.removeAttribute('tabindex');\n }\n }\n }\n let timeoutID;\n btn.addEventListener('mouseenter', () => {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n timeoutID = setTimeout(handleShow, 200);\n });\n btn.addEventListener('mouseleave', () => {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n timeoutID = setTimeout(handleHide, 200);\n });\n headerNavContent.addEventListener('mouseenter', () => {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n });\n headerNavContent.addEventListener('mouseleave', () => {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n timeoutID = setTimeout(handleHide, 200);\n });\n }\n\n // ページãƒãƒ¼ãƒ‰å¾Œã«styleã«ã‚»ãƒƒãƒˆã•ã‚Œã¦ã„る「transition: none;ã€ã‚’削除\n window.addEventListener('load', () => {\n for (const siteDropdownPcContent of siteDropdownPcContents) {\n siteDropdownPcContent.style.removeProperty('transition');\n }\n for (const siteHeaderNavBackdrop of siteHeaderNavBackdrops) {\n siteHeaderNavBackdrop.style.removeProperty('transition');\n }\n siteHeaderMenuBackdrop.style.removeProperty('transition');\n });\n}\n\n// モーダルを開ã„ãŸã¨ãã®ã‚¬ã‚¿ã¤ããªã©ã¸ã®å¯¾å¿œ\nconst modals = document.getElementsByClassName('modal');\nfor (const modal of modals) {\n modal.addEventListener('show.bs.modal', () => {\n html.classList.add('is-modal-open');\n });\n modal.addEventListener('hidden.bs.modal', () => {\n html.classList.remove('is-modal-open');\n // モーダルを閉ã˜ãŸã¨ãã«å‹æ‰‹ã«ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã•ã‚Œã‚‹äº‹è±¡ã¸ã®å¯¾å¿œ\n document.documentElement.style.setProperty('scroll-padding-top', '0px');\n setTimeout(() => {\n document.documentElement.style.removeProperty('scroll-padding-top');\n }, 50);\n });\n}\n","const siteFooterToggles = document.getElementsByClassName('js-site-footer-toggle');\n\nif (siteFooterToggles) {\n // メディアクエリã«ã‚ˆã‚Šãƒ•ãƒƒã‚¿ãƒ¼ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®çŠ¶æ…‹ã‚’変化\n function changedMediaQuery(event) {\n let isPc;\n if (event.matches) {\n // PC\n isPc = true;\n } else {\n // SP\n isPc = false;\n }\n for (const toggle of siteFooterToggles) {\n toggle.open = isPc;\n const summary = toggle.getElementsByTagName('summary')[0];\n if (isPc === true) {\n summary.setAttribute('tabindex', -1);\n } else {\n summary.removeAttribute('tabindex');\n }\n }\n }\n const mediaQuery = window.matchMedia('(min-width: 768px)');\n mediaQuery.addEventListener('change', changedMediaQuery);\n changedMediaQuery(mediaQuery);\n}\n"],"sourceRoot":""}