{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/vue-plotly/dist/vue-plotly.umd.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/portal-vue/dist/portal-vue.common.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/bootstrap-vue/esm/vue.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config-set.js","webpack:///./node_modules/bootstrap-vue/esm/utils/plugins.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/bootstrap-vue/esm/constants/config.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/bootstrap-vue/esm/icons/iconstack.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slots.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/utils/model.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button-close.js","webpack:///./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/router.js","webpack:///./node_modules/bootstrap-vue/esm/constants/key-codes.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/cache.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/attrs.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listeners.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/link.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/button.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/html.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js","webpack:///./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/date.js","webpack:///./node_modules/bootstrap-vue/esm/utils/date.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/calendar.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/id.js","webpack:///./node_modules/bootstrap-vue/esm/components/calendar/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/utils/observe-dom.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/components/carousel/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/index.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/embed.js","webpack:///./node_modules/bootstrap-vue/esm/components/embed/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-datalist.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/hover.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-btn-label-control/bv-form-btn-label-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-datepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/index.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/form-rating.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-rating/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/model.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/form-select.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-select/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tag.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/form-tags.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-tags/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/time.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/form-timepicker.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-timepicker/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/container.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/jumbotron.js","webpack:///./node_modules/bootstrap-vue/esm/components/jumbotron/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/link/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/index.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-document.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-window.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style.js","webpack:///./node_modules/bootstrap-vue/esm/components/transporter/transporter.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/modal-manager.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/helpers/bv-modal.js","webpack:///./node_modules/bootstrap-vue/esm/components/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-form.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav-item-dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-brand.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/navbar-toggle.js","webpack:///./node_modules/bootstrap-vue/esm/components/navbar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/pagination-nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination-nav/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/popover.js","webpack:///./node_modules/bootstrap-vue/esm/directives/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress-bar.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/progress.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/bootstrap-vue/esm/components/progress/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-simple.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-table.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/time/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/toaster.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/helpers/bv-toast.js","webpack:///./node_modules/bootstrap-vue/esm/components/toast/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/hover/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/modal/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/helpers/bv-scrollspy.class.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/scrollspy.js","webpack:///./node_modules/bootstrap-vue/esm/directives/scrollspy/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/index.js","webpack:///./node_modules/bootstrap-vue/esm/directives/index.js","webpack:///./node_modules/bootstrap-vue/esm/index.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/make-icon.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icons.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/bootstrap-vue/esm/constants/props.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/bootstrap-vue/esm/icons/helpers/icon-base.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/bootstrap-vue/esm/icons/plugin.js","webpack:///./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/bootstrap-vue/esm/constants/safe-types.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/bootstrap-vue/esm/constants/env.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","root","factory","self","modules","installedModules","__webpack_require__","moduleId","i","l","m","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","0","incrementalConvexHull","orient","compareCell","compareCells","Simplex","vertices","adjacent","boundary","this","lastVisited","GlueFacet","cell","index","compareGlue","bakeOrient","code","push","proc","Function","join","flip","u","BAKED","Triangulation","dimension","simplices","interior","filter","tuple","Array","proto","points","randomSearch","Error","initialSimplex","slice","initialCoords","initialCell","list","verts","j","adj","v","k","indexOf","triangles","useRandom","insert","handleBoundaryDegeneracy","point","toVisit","pop","cellAdj","neighbor","nv","vv","walk","random","initIndex","Math","outerLoop","cellVerts","prev","addPeaks","tovisit","glueFacets","indexOfN","indexOfNeg1","na","vverts","vadj","ncell","opposite","uu","nface","nptr","sort","ai","bi","cells","nc","bcell","cv","ptr","parity","tokenize","tokenizeString","str","opt","generator","tokens","concat","orientation","colormodel","rgb","min","max","fmt","suffix","rgba","hsl","hsla","createLinePlot","createBuffer","createVAO","createTexture","unpackFloat","bsearch","ndarray","shaders","createShader","createPickShader","identity","distance","sqrt","filterClipBounds","bounds","result","PickResult","tau","position","dataCoordinate","arcLength","LinePlot","gl","shader","pickShader","buffer","vao","texture","clipBounds","Infinity","vertexCount","pickId","lineWidth","dashScale","opacity","hasAlpha","dirty","pixelRatio","options","scene","attributes","location","nextPosition","color","defaultTexture","data","wrap","REPEAT","linePlot","update","isTransparent","isOpaque","pickSlots","setPickBase","id","drawTransparent","draw","camera","uniforms","model","view","projection","dashTexture","screenShape","drawingBufferWidth","drawingBufferHeight","TRIANGLE_STRIP","unbind","drawPick","connectGaps","arcLengthArray","pointArray","positions","colors","hadGap","fill_loop","acolor","bcolor","w0","isNaN","isFinite","isArray","t0","dashArray","dashes","prefixSum","unshift","set","le","setPixels","dispose","pick","selection","ti","x","dataIndex","colorscaleCalc","gd","trace","surfacecolor","vals","containerStr","cLetter","z","d3","isNumeric","NOTEDATA","text","displayLength","ts","notifierContainer","select","selectAll","enter","append","classed","notes","style","each","thisText","note","html","on","transition","killNote","lines","split","duration","delay","thisIndex","splice","remove","LINKEDFILLS","tonextx","tonexty","tonext","plotinfo","cdscatter","group","prevtrace","groupIndex","groupIndices","needsSort","prevGroupIndex","nextGroupIndex","prevUnstackedGroupIndex","stackgroup","fill","_groupIndex","cdscatterSorted","traceA","traceB","prevtraces","visible","_nexttrace","_prevtrace","_ownfill","substr","moduleType","basePlotModule","categories","meta","supplyDefaults","calc","plot","hoverPoints","selectPoints","clamp","dtype","isInt","Uint8Array","Uint8ClampedArray","type","Ctor","output","normalize","floor","wrapper","INSERT_SORT_CUTOFF","n0","insertionSort","quickSort","left","right","jptr","y","swap","move","rotate","shufflePivot","px","py","compare","comparePivot","sixth","index1","index5","index3","index2","index4","el1","el2","el3","el4","el5","less","great","tmp","pivot1X","pivot1Y","pivot2X","pivot2Y","ptr0","ptr2","ptr4","ptr5","ptr6","ptr7","i1","circle","square","diamond","cross","computeTickMarks","Axes","Lib","AXES_NAMES","centerPoint","contourLevelsFromTicks","ticks","tlevel","clevel","axesOptions","glRange","glplot","axesPixels","sceneLayout","fullSceneLayout","axes","_length","hi","lo","pixelsPerDataUnit","dataScale","abs","_input_range","range","_m","tickModeCached","tickmode","nticks","constrain","autoTicks","dataTicks","calcTicks","replace","contourLevels","assign","Calendars","regionalOptions","invalidCalendar","invalidDate","invalidMonth","invalidYear","differentCalendars","local","calendars","_localCals","CDate","calendar","year","month","day","_calendar","_year","_month","_day","_validateLevel","isValid","_exports","pad","substring","BaseCalendar","shortYearCutoff","GregorianCalendar","language","instance","toLowerCase","cal","newDate","substituteDigits","digits","digit","substituteChineseDigits","powers","localNumber","power","units","date","leapYear","epoch","formatYear","monthOfYear","weekOfYear","daysInYear","dayOfYear","daysInMonth","dayOfWeek","weekDay","extraInfo","add","offset","period","compareTo","toJD","fromJD","jd","toJSDate","fromJSDate","jsd","toString","today","_validate","Date","minMonth","minDay","epochs","monthsInYear","firstMonth","fromMonthOfYear","ord","daysInWeek","_correctAdd","_add","resyncYearMonth","yearMonths","ymd","e","hasYearZero","w","dir","valid","error","jdEpoch","daysPerMonth","monthNames","monthNamesShort","dayNames","dayNamesShort","dayNamesMin","dateFormat","firstDay","isRTL","checkDate","setHours","setMinutes","setSeconds","setMilliseconds","getHours","getFullYear","getMonth","getDate","cdate","baseCalendar","gregorian","warp","invert","applyHomography","dest","src","Xi","X","out_c","inp_c","wr","out","pt","cd","pointNumber","cdi","kerning","canvas","document","createElement","ctx","getContext","asciiPairs","createPairs","family","pairs","table","fs","threshold","fontSize","font","pair","width","measureText","kerningWidth","emWidth","leftChar","fromCharCode","rightChar","ascii","hover","makeHoverPointText","pointData","xval","yval","hovermode","stash","rArray","thetaArray","theta","scatterPointData","newPointData","subplot","isPtInside","xLabelVal","yLabelVal","Color","colorScaleAttrs","hovertemplateAttrs","baseAttrs","extendFlat","overrideAll","makeContourProjAttr","axLetter","valType","dflt","makeContourAttr","show","start","editType","end","size","project","defaultLine","usecolormap","highlight","highlightcolor","highlightwidth","attrs","arrayOk","hovertext","hovertemplate","connectgaps","colorAttr","showScaleDflt","autoColorDflt","editTypeOverride","contours","hidesurface","lightposition","lighting","ambient","diffuse","specular","roughness","fresnel","_deprecated","zauto","zmin","zmax","hoverinfo","showlegend","transforms","Plotly","register","fullLayout","labels","_subplot","ax","mockAxis","lonlat","lonLabel","tickText","c2l","latLabel","fullData","tracei","filli","tracej","xaxis","yaxis","clone","Float32Array","xmlnsNamespaces","LINE_SPACING","getSize","_selection","_dimension","node","getBoundingClientRect","FIND_TEX","convertToTspans","_context","_callback","tex","attr","MathJax","match","parent","parentNode","empty","svgClass","_promises","Promise","resolve","parseInt","config","texToSVG","_svgEl","_glyphDefs","_svgBBox","newSvg","showText","mathjaxGroup","appendChild","insertBefore","cloneNode","firstChild","height","preserveAspectRatio","overflow","g","stroke","newSvgW","newSvgH","newX","middle","textHeight","dy","transform","hasLink","buildSVGText","positionText","LT_MATCH","GT_MATCH","cleanEscapesForTex","_texString","_config","originalRenderer","originalConfig","originalProcessSectionDelay","tmpDiv","Hub","Queue","extendDeepAll","processSectionDelay","Config","messageStyle","tex2jax","inlineMath","displayAlign","menuSettings","renderer","setRenderer","randomID","randstr","visibility","Typeset","glyphDefs","log","svgBBox","TAG_STYLES","sup","sub","span","em","SHIFT_DY","RESET_DY","ZERO_WIDTH_SPACE","PROTOCOLS","NEWLINES","SPLIT_TAGS","ONE_TAG","BR_TAG","BR_TAG_ALL","STYLEMATCH","HREFMATCH","TARGETMATCH","POPUPMATCH","getQuotedMatch","_str","re","convertEntities","COLORMATCH","plainText","opts","len","allowedTags","ellipsis","eLen","oldParts","newParts","prevTag","tagType","pLen","pLen2","entityToUnicode","mu","amp","lt","gt","nbsp","times","plusmn","deg","ENTITY_MATCH","fullMatch","innerMatch","outChar","charAt","fromCodePoint","stringFromCodePoint","stringFromCharCode","containerNode","currentNode","nodeStack","currentLine","newLine","lineNode","createElementNS","svg","class","oldNodeStack","enterNode","nodeSpec","nodeType","nodeAttrs","target","href","popup","onclick","newNode","addTextNode","resetter","createTextNode","exitNode","innerNode","hasLines","parts","parti","tagStyle","extra","css","dummyAnchor","protocol","encodeURI","decodeURI","alignHTMLWith","_base","container","thisRect","getTop","getLeft","alignH","horizontalAlign","alignV","verticalAlign","bRect","cRect","bottom","top","lineCount","setOrGet","val","thisX","thisY","nodeName","makeEditable","context","_delegate","delegate","dispatch","handlerElement","handleClick","appendEditable","mathjaxClass","selectElementContents","_el","el","createRange","selectNodeContents","sel","window","getSelection","removeAllRanges","addRange","focus","plotDiv","div","cStyle","parseFloat","initialText","fontFamily","background","outline","margin","padding","contenteditable","_editing","textContent","edit","editDiv","event","activeElement","blur","which","cancel","input","immediate","rebind","_fullLayout","uid","splomScenes","_splomScenes","reset","first","matrix","selectBatch","unselectBatch","destroy","matrixOptions","eventData","animatable","fillText","makeHoverInfo","loc","flags","hasName","hasLocation","hasZ","hasText","hasIdAsNameLabel","nameOverride","zLabel","extraText","isInside","geo","_polygons","contains","x0","x1","xa","c2p","ct","y0","y1","ya","Drawing","DESELECTDIM","barStyle","resizeText","styleTextPoints","gTrace","di","isBlank","cont","marker","line","dashLine","dash","selectedpoints","selected","connector","lineGroupStyle","scatterAttrs","FORMAT_LINK","impliedEdits","xtype","dx","ytype","transpose","values","zsmooth","hoverongaps","xgap","ygap","zhoverformat","Registry","edits","transitionOpts","makeOnCompleteCallback","onComplete","t1","t2","raf","easeFn","ease","easing","_transitionData","_interruptCallbacks","cancelAnimationFrame","transitionInterrupt","now","requestAnimationFrame","doFrame","unsetSubplotTransform","_defs","clipId","setTranslate","setScale","_offset","traceGroups","setPointGroupScale","setTextPointsScale","hideOutsideRangePoints","updateSubplot","progress","xlen","ylen","editX","xr1","editY","yr1","viewBox","xr0","simpleMap","r2l","dx0","dx1","l2r","yr0","dy0","dy1","drawOne","skipTitle","redrawComponents","_id","xScaleFactor","yScaleFactor","clipDx","clipDy","fracDx","fracDy","plotDx","plotDy","clipRect","zoomScalePts","zoomScaleTxt","transitionComplete","aobj","_name","then","tInterp","isBuffer","obj","constructor","isSlowBuffer","readFloatLE","_isBuffer","rules","Y","selector","fullSelector","addStyleRule","createCamera","createAxes","axesRanges","createSpikes","createSelect","createFBO","drawTriangle","mouseChange","perspective","ortho","isMobile","tablet","MouseSelect","mouse","screen","dataPosition","roundUpPow10","round","base","pow","ceil","defaultBool","createScene","body","glOptions","premultipliedAlpha","antialias","preserveDrawingBuffer","accumBuffer","preferFloat","accumShader","isOrtho","cameraObject","_ortho","cameraOptions","eye","center","up","zoomMin","zoomMax","enable","disable","spikeOptions","spikes","objects","pickBufferIds","pickBufferCount","pickBuffers","pickDirty","cameraParams","viewShape","contextLost","shape","aspect","aspectRatio","pickRadius","zNear","zFar","fovy","PI","clearColor","autoResize","autoBounds","autoScale","autoCenter","clipToBounds","snapToData","onselect","onrender","oncontextloss","mouseListener","_stopped","getAspectratio","setAspectratio","aspectratio","setBounds","axisIndex","setClearColor","clearRGBA","clear","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","pickShape","resizeListener","clientWidth","clientHeight","innerWidth","innerHeight","nextWidth","nextHeight","reallocPickIds","numObjs","numPick","obj_loop","pickCount","nbuffer","checkContextLoss","isContextLost","enabled","renderPick","colorMask","depthMask","BLEND","DEPTH_TEST","depthFunc","LEQUAL","buf","begin","addEventListener","idx","removeEventListener","_mouseRotating","_prevButtons","enableMouseListeners","buttons","prevObj","change","query","objPick","coord","nBounds","prevBounds","redraw","cameraMoved","tick","obb","olo","ohi","boundsChanged","tickSpacing","calcCameraParams","axesBounds","bindFramebuffer","FRAMEBUFFER","viewport","CULL_FACE","hasTransparent","LESS","blendEquation","FUNC_ADD","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","render","maxS","schema","subplots","rangeselector","layoutAttributes","handleDefaults","counter","head","tail","openEnded","matchBeginning","fullTail","startWithPrefix","RegExp","toIndexedObject","nativeGetOwnPropertyNames","f","windowNames","getOwnPropertyNames","getWindowNames","it","pool","array","cube","bitmask","stride","scalar","pointer","delta","step","pcube","qcube","pdelta","vert","createSurfaceExtractor","VERTEX_IDS","PHASES","VERTEX_COUNT","POOL_SIZE","POINTER","TEMPORARY","permBitmask","mask","order","compileSurfaceProcedure","vertexFunc","faceFunc","phaseFunc","scalarArgs","typesig","arrayArgs","funcName","vars","args","ptrStr","stepVal","sizeVariable","cubeDelta","cubeStep","signFlag","jperm","forLoopBegin","forLoopEnd","fillEmptySlice","phaseFuncArgs","processGridCell","vertexPredicate","vertexArgs","corner","subset","edge","faceArgs","createLoop","procedureCode","mallocUint32","freeUint32","msg","arrays","arrayArguments","scalars","scalarArguments","vertex","phase","getters","nodeTextOffsetHorizontal","nodeTextOffsetVertical","nodePadAcross","sankeyIterations","forceIterations","forceTicksPerFrame","cn","sankey","sankeyLinks","sankeyLink","sankeyNodeSet","sankeyNode","nodeRect","nodeCapture","nodeCentered","nodeLabelGuide","nodeLabel","nodeLabelTextPath","histogram2dCalc","convertColumnData","clean2dArray","interp2d","findEmpties","makeBoundArray","binned","getFromId","isContour","traceIs","isHist","isGL2D","_minDtick","zIn","isArray1D","_x","_y","_z","makeCalcdata","_emptypoints","noZsmooth","_input","warn","avgdx","maxErrX","avgdy","maxErrY","maxRowLength","xIn","xArray","yIn","yArray","_extremes","findExtremes","cd0","_text","_hovertext","xCenter","yCenter","xRanges","yRanges","pts","coloring","dummyTrace","xcalendar","ycalendar","xfill","yfill","Plots","svgTextUtils","Titles","axAttrs","cleanTicks","constants","ONEAVGYEAR","ONEAVGMONTH","ONEDAY","ONEHOUR","ONEMIN","ONESEC","MINUS_SIGN","BADNUM","alignmentConstants","MID_SHIFT","CAP_SHIFT","OPPOSITE_SIDE","setConvert","autoType","axisIds","id2name","name2id","cleanId","listIds","getFromTrace","autorange","getAutoRange","coerceRef","containerIn","containerOut","extraOption","axlist","_subplots","refAttr","attrDef","coerce","coercePosition","axRef","cleanPos","pos","ensureNumber","fraction2r","cleanPosition","axIds","_redrawOneComp","moduleName","methodName","stashName","shortCircuit","method","getComponentMethod","indices","ind","getDataConversions","targetArray","d2cTarget","_categories","d2c","c2d","toNum","autoShiftNumericBins","binStart","dataMin","dataMax","edgecount","midcount","intcount","blankCount","nearEdge","dtick","dataCount","binshift","autoShiftMonthBins","stats","findExactDates","exactDays","numMonths","Number","exactYears","tickIncrement","exactMonths","nextBinStart","arrayTicks","tickvals","ticktext","ticksOut","rng","r0expanded","r1expanded","tickMin","tickMax","tickVal2l","d2l_noadd","d2l","vali","tickTextObj","getDataToCoordFunc","counterLetter","minDtick","newDiff","newFirst","allow","_forceTick0","saveRangeInitial","overwrite","axList","hasOneAxisChanged","isNew","_rangeInitial","hasChanged","saveShowSpikeInitial","allSpikesEnabled","_showSpikeInitial","showspikes","_showspikes","_cartesianSpikesEnabled","autoBin","nbins","is2d","dummyAx","aggNums","_dataSpan","c2r","tick0","size0","distinctData","distinctVals","msexp","minDiff","LN10","minSize","roundUp","stdev","binEnd","bincount","finalSize","tickFirst","prepTicks","minPx","nt","tickfont","autoTickRound","_tmin","startTick","endTick","axrev","tickVals","isDLog","xPrevious","maxTicks","minor","isAngular","_tmax","_prevDateHead","_inCalcTicks","roundBase10","roundBase24","roundBase60","roundDays","roundLog1","roundLog2","roundAngles","roundDTick","roughDTick","roundingSet","_tickexponent","_tickround","tick0ms","tick0str","tick0len","tick1len","map","r2d","maxend","rangeexp","isSIFormat","exponentformat","beyondSI","tf","fontColor","formatDate","extraPrecision","tr","hoverformat","getTickFormat","M","S","headStr","dateStr","_dateFormat","_extraFormat","splitIndex","formatLog","hideexp","tickformat","dtChar0","numFormat","mod","absP","exponentFormat","firstChar","formatCategory","tt","formatMultiCategory","cats","tt2","text2","formatLinear","showexponent","formatAngle","thetaunit","num","frac","num2frac","deg2rad","isNeg","almostEq","findGCD","findPrecision","precision","number","gcd","getBase","dateTick0","roughX2","olddtick","axSign","tType","dtSigned","incrementMonth","tickset","x2","sRound","r0","tmin","dtNum","mult","newDTick","cnt","noSuffixPrefix","arrayMode","axType","isHidden","showAttr","firstOrLast","last","tickprefix","showtickprefix","ticksuffix","showticksuffix","tickson","showdividers","inbounds","l2p","xbnd","hoverLabelText","val2","logOffScale","tx","SIPREFIXES","exponent","fmtoverride","tickRound","separatethousands","ah","_numFormat","signedExponent","dp","numSeparate","_separators","getBoundaryVals","_push","bndIndex","xb","getSecondaryLabelVals","lookup","interp","getDividerVals","current","calcLabelLevelBbox","cls","_selections","thisLabel","selectTickLabel","bb","bBox","tickDataFn","axInfo","drawDividers","dividers","layer","exit","dividercolor","crispRound","dividerwidth","transFn","path","approxTitleDepth","title","extraLines","drawTitle","titleStandoff","axId","_depth","standoff","offsetBase","linewidth","side","showticklabels","avoid","getPxPosition","tickLabels","translation","getTranslate","offsetLeft","offsetTop","propContainer","propName","placeholder","_dfltTitle","clipEnds","anyCounterAxLineAtZero","counterAxis","mainCounterAxis","_mainAxis","zeroPosition","_plots","_mainSubplot","mainplotinfo","overlays","lineNearZero","counterLetterAxes","counterAxis2","ax2","showline","tolerance","zerolinewidth","closeEnough","pos2","_mainLinePosition","_mainMirrorPosition","linePositions","_linepositions","hasBarsOrFill","_fullData","gTick","mj","axAutoMarginID","axMirrorAutoMarginID","rangeSliderAutoMarginID","makeAxisGroups","traces","groups","groupsi","xi","yi","groupj","group0","mergeAxisGroups","intoSet","fromSet","swapAxisGroup","xIds","yIds","xFullAxes","yFullAxes","layout","allAxKeys","keys","noSwapAttrs","numericTypes","keyi","xVal","yVal","allEqual","coerceLinearX","coerceLinearY","xVali","yVali","swapAxisAttrs","annotations","ann","xref","yref","swapAttrs","dfltTitle","np","nestedProperty","tickstop","stopi","convertToMs","compareLogTicks","priority","leftPriority","rightPriority","isProperStop","convert","convertFn","leftDtick","rightDtick","isProperLogStop","isLeftDtickNull","isRightDtickNull","isDtickInRangeLeft","isDtickInRangeRight","tickformatstops","dtickrange","getSubplots","subplotObj","allSubplots","cartesian","gl2d","findSubplotsWithAxis","aParts","bParts","axMatch","subplotsWithAx","sp","makeClipPaths","_hasOnlyLargeSploms","fullWidth","fullHeight","xaList","yaList","clipList","axClips","_clips","_uid","arg","_paper","xaxislayer","yaxislayer","gridlayer","zerolinelayer","_infolayer","syncOrAsync","axDone","_r","_rl","mainLinePosition","mainMirrorPosition","mainPlotinfo","mainAxLayer","_vals","mirror","_tickAngles","_prevTickAngles","llbboxes","getLabelLevelBbox","valsClipped","makeTransFn","boundaryVals","gridVals","_gridVals","dividerVals","_subplotsWith","finishedGrids","mainCounterID","gridPath","drawGrid","drawZeroLine","tickSigns","getTickSigns","tickSubplots","mirrorTickPath","fullTickPath","tickPath","mainTickPath","makeTickPath","_anchorAxis","dividerLookup","drawTicks","linepositions","spTickPath","seq","drawLabels","labelFns","makeLabelFns","bboxKey","repositionOnUpdate","secondary","hasRangeSlider","llbbox","mirrorPush","rangeSliderPush","sMirror","outsideTickLen","ticklen","automargin","domainIndices","reverse","rExtra","xr","lExtra","xl","bExtra","yb","tExtra","yt","anchor","domain","_counterDomainMin","_counterDomainMax","autoMargin","sideOpposite","main","shift","sgn","angle","ticksOnOutsideLabels","labelStandoff","labelShift","rad","cos","sin","ff","flipIt","xFn","yFn","anchorFn","heightFn","h","tickangle","crisp","tickcolor","tickwidth","counterAx","showgrid","shouldShowZeroLine","isArrayMode","grid","_gw","gridwidth","gridcolor","zl","da","db","idSort","zerolinecolor","tickAngle","prevAngle","labelsReady","positionLabels","nLines","lineHeight","anchorHeight","mjWidth","mjShift","allLabelsReady","all","newPromise","autoangle","fixLabelOverlaps","maxFontSize","lbbArray","vLen","rotate90","bBoxIntersect","gap","lbb","_redrawFromAutoMarginCount","done","anchorAxis","gs","_size","zeroline","allowAutoMargin","axGroups","v100","kernels","gaussian","exp","makeKDE","calcItem","kernel","bandwidth","factor","sum","getPositionOnKdePath","valuePx","posLetter","valLetter","pointOnPath","findPointOnPath","pathLength","posCenterPx","posOnPath0","posOnPath1","getKdeValue","valueDist","extractVal","kde","posDensityScale","Iterator","callable","autoBind","defineProperties","TypeError","__list__","__context__","__nextIndex__","_onAdd","_onDelete","_onClear","_next","__redo__","_unBind","next","_createResult","_resolve","off","forEach","redo","iterator","_supply","layoutIn","layoutOut","traceType","category","hasTraceType","supplyLayoutDefaults","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","O","P","DEFAULT_NORMALS_EPSILON","DEFAULT_FACE_EPSILON","vertexNormals","faces","specifiedEpsilon","N","normals","epsilon","v0","v1","v2","d01","m01","d21","m21","norm","faceNormals","traceIn","traceOut","handleCalendarDefaults","minRowLength","Scene2D","layoutGlobalAttrs","Cartesian","fxAttrs","getSubplotData","idRoot","idRegex","attrRegex","_has","layoutAttrOverrides","baseLayoutAttrOverrides","plot_bgcolor","hoverlabel","subplotIds","subplotId","fullSubplotData","_scene2d","graphDiv","querySelector","staticPlot","plotGlPixelRatio","calcdata","clean","newFullData","newFullLayout","oldFullData","oldFullLayout","oldSceneKeys","oldSubplot","subplotData","drawFramework","toSVG","imageData","toImage","image","_glimages","xmlns","updateFx","dragmode","sprintf","glConstants","shaderName","addLineNumbers","formatCompilerError","errLog","typeName","FRAGMENT_SHADER","longForm","shortForm","errorStrings","errors","errorString","lineNo","trim","long","short","colorscaleDefaults","defaultColor","supplyIsoDefaults","isomin","isomax","dim","capDim","showCap","sliceDim","showSlice","showSpaceframe","showSurface","showContour","prefix","projNames","axesNames","lonaxisSpan","lataxisSpan","scopeDefaults","world","lonaxisRange","lataxisRange","projType","projRotate","usa","europe","projParallels","asia","africa","clipPad","landColor","waterColor","locationmodeToLayer","sphereSVG","fillLayers","ocean","land","lakes","lineLayers","subunits","countries","coastlines","rivers","frame","layers","layersForChoropleth","layerNameToAdjective","doubleBits","SMALLEST_DENORM","UINT_MAX","nextafter","NaN","pack","solid","dot","longdash","dashdot","longdashdot","crossTraceCalc","colorbar","formatLabels","styleOnSelect","countryRegex","turfArea","turfCentroid","turfBbox","loggers","isPlainObject","polygon","countryIds","locationmodeToIdFinder","countryNameToISO3","countryName","iso3","regex","locationToFeature","locationmode","features","filteredFeatures","locationId","properties","gu","feature2polygons","feature","appendPolygon","geometry","coords","coordinates","polygons","doesCrossAntiMerdian","_pts","tester","crossAntiMeridianIndex","stitch","si","getTraceGeojson","geojson","PlotlyGeoAssets","geojsonIn","extractTraceFeature","calcTrace","featuresOut","appendFeature","fIn","featureidkey","fOut","findCentroid","featuresIn","poly","maxArea","polyi","area","default","fetchTraceGeoData","calcData","promises","fetch","url","reject","json","err","status","wait","interval","setInterval","clearInterval","computeBbox","rat","mul","muls","sign","bn2num","words","scaleAndAdd","scale","hasColorscale","calcColorscale","subTypes","hasMarkers","StringIterator","setPrototypeOf","__length__","char","charCodeAt","keyFun","repeat","descend","unwrap","__webpack_exports__","nodes","force","sx","sy","initialize","_","constant","jiggle","add_add","cover","tree","xm","ym","xp","yp","_root","leaf","_x0","_y0","_x1","_y1","addAll","xz","yz","src_data","visit","extent","src_quad","find","radius","y2","q","x3","y3","quads","d2","retainer","previous","removeAll","callback","child","visitAfter","defaultX","src_x","defaultY","src_y","quadtree","Quadtree","leaf_copy","copy","treeProto","collide_x","vx","collide_y","vy","source","collide","radii","strength","iterations","ri","ri2","prepare","quad","rj","link_find","nodeById","nodeId","src_link","links","strengths","distances","count","bias","defaultStrength","link","alpha","initializeStrength","initializeDistance","noop","Dispatch","parseTypenames","typenames","types","typename","T","taskHead","taskTail","src_dispatch","timer_frame","timeout","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","setTimeout","clearNow","Timer","_call","_time","timer","time","restart","timerFlush","wake","nap","poke","sleep","clearTimeout","simulation_x","simulation_y","stop","initialRadius","initialAngle","src_simulation","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","fx","fy","initializeNodes","initializeForce","closest","manyBody","distanceMin2","distanceMax2","theta2","accumulate","weight","distanceMin","distanceMax","radial","radiuses","d3_force_src_x","d3_force_src_y","lookupCarpet","setContours","heatmappishCalc","a0","b0","carpet","_carpetTrace","aax","aaxis","bax","baxis","_a","_b","carpetdata","tracedata","_defaultColor","calcMarkerSize","TOO_MANY_POINTS","radialAxis","radialaxis","angularAxis","angularaxis","_theta","ppad","sizeAvg","twoProduct","robustSum","robustDiff","robustScale","NUM_EXPAND","cofactor","generateSum","expr","makeProduct","toks","determinant","makeSquare","terms","neg","posExpr","negExpr","funcArgs","inSphere0","inSphere1","inSphere2","CACHED","slowInSphere","generateInSphereTest","procArgs","linearOK","moreDates","inc","dcnt","ncnt","seen","stri","isDateTime","curvenums","curvecats","cleanNumber","multiCategory","isArrayOrTypedArray","noMultiCategory","gregorianCalendar","TaiwanCalendar","yearsOffset","_t2gYear","_g2tYear","taiwan","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","TAU","mapToEllipse","_ref","rx","ry","cosphi","sinphi","centerx","centery","approxUnitArc","ang1","ang2","tan","vectorAngle","ux","uy","acos","getArcCenter","cx","cy","largeArcFlag","sweepFlag","pxp","pyp","rxsq","rysq","pxpsq","pypsq","radicant","centerxp","centeryp","vx1","vy1","vx2","vy2","arcToBezier","_ref2","_ref2$xAxisRotation","xAxisRotation","_ref2$largeArcFlag","_ref2$sweepFlag","curves","lambda","_getArcCenter","_getArcCenter2","ratio","segments","curve","_mapToEllipse","_mapToEllipse2","_mapToEllipse3","arraysToCalcdata","binFunctions","normFunctions","doAvg","getBinSpanLabelRound","i2","pa","mainData","counterData","cumulativeSpec","cumulative","binsAndPos","calcAllAutoBins","binSpec","pos0","nonuniformBins","binEdges","bins","counts","inputPoints","total","histnorm","func","histfunc","densityNorm","rawCounterData","extremeFunc","sizeInit","binFunc","normFunc","isAvg","pr2c","r2c","roundFn","nMax","uniqueValsPerBin","leftGap","rightGap","ptNumber2cdIndex","posi","findBin","cdf","direction","currentbin","seriesLen","firstNonzero","lastNonzero","ph0","ph1","width1","tagSelected","_overlayEdgeCase","autoVals","binAttr","groupName","binOpts","_histogramBinOpts","isOverlay","barmode","cleanBound","cleanDate","setBound","newBins","allPos","isFirstVisible","has2dMap","hasHist2dContour","mainDatai","dirs","_autoBin","newBinSpec","sizeFound","handleSingleValueOverlays","traceInputBins","traceBinOptsCalc","mainStart","startIn","hasStart","startFound","traceStart","newStart","mainEnd","endIn","hasEnd","endFound","traceEnd","autoBinAttr","overlaidTraceGroup","getConnectedHistograms","pastThisTrace","singleValuedTraces","resulti","binSpeci","isSingleValued","dataVals","xid","yid","currentBin","vi","prevSum","firstHalfPoint","nextHalfPoint","prevRow","thisPt","neighborCount","newNeighborHash","foundNewNeighbors","empties","neighborHash","noNeighborList","nextRow","row","blank","rowLength","handleSampleDefaults","handleContoursDefaults","handleStyleDefaults","coerce2","Colorscale","constHalf","lineColor","cscale","extractOpts","colorscale","cdimage","imageLayer","makeTraceGroups","temp","plotGroup","imageWidth","imageHeight","isOffScreen","noImage","ipx","jpx","ipx0","ipx1","jpx0","jpx1","_scaler","fillStyle","fillRect","image3","toDataURL","getAxisGroup","Sieve","fullTraces","calcTraces","calcTracesHorz","calcTracesVert","fullTrace","barnorm","bargap","groupgap","bargroupgap","setGroupPositions","sa","excluded","included","initBase","setGroupPositionsInOverlayMode","setGroupPositionsInGroupMode","setGroupPositionsInStackOrRelativeMode","collectExtents","scalendar","hasB","hasBase","sieve","sepNegVal","overlapNoMerge","setOffsetAndWidth","sieveBars","normalizeBars","setBaseAndTop","setOffsetAndWidthInGroupMode","unhideBarsWithinTrace","stackBars","bar","isOutmostBar","_outmost","barGroupWidth","barWidthPlusGap","barWidth","offsetFromCenter","barwidth","poffset","bargroupwidth","bardelta","binWidth","applyAttributes","setBarCenterAndWidth","updatePositionAxis","distinctPositions","nTraces","overlap","groupId","alignmentGroups","_alignmentOpts","alignmentGroupOpts","alignmentgroup","nOffsetGroups","offsetGroups","_offsetIndex","newPoffset","calcTrace0","initialPoffset","_width","initialBarwidth","newBarwidth","pLetter","getAxisLetter","poffsetIsArray","barwidthIsArray","calcBar","allowMinDtick","vpad","calcBarOffset","calcBarWidth","padded","sLetter","allBaseAboveZero","tozero","isFunnel","put","inTraceSieve","sTop","sTiny","sMin","l2c","sMax","needsPadding","extents","pMin","pMax","roundFactor","p0","p1","pVal","s0","s1","fails","cellPad","columnExtentOffset","columnTitleOffset","emptyHeaderHeight","latexCheck","goldenRatio","lineBreaker","maxDimensionCount","overdrag","releaseTransitionDuration","releaseTransitionEase","scrollbarCaptureWidth","scrollbarHideDelay","scrollbarHideDuration","scrollbarOffset","scrollbarWidth","transitionDuration","transitionEase","uplift","wrapSpacer","wrapSplitCharacter","tableControlView","scrollBackground","yColumn","columnBlock","scrollAreaClip","scrollAreaClipRect","columnBoundary","columnBoundaryClippath","columnBoundaryRect","columnCells","columnCell","cellRect","cellText","cellTextHolder","scrollbarKit","scrollbar","scrollbarSlider","scrollbarGlyph","scrollbarCaptureZone","twoSum","scaleLinearExpansion","pq","bv","scales","sequential","Reds","sequentialminus","Blues","diverging","RdBu","coloraxis","_isSubplotObj","noColorAxis","barAttrs","lineAttrs","texttemplateAttrs","directionAttrs","dirTxt","measure","eventDataKeys","textinfo","extras","texttemplate","textposition","insidetextanchor","textangle","textfont","insidetextfont","outsidetextfont","constraintext","cliponaxis","increasing","decreasing","totals","offsetgroup","tubex","tubey","tubez","tubeu","traceCoordinate","tubev","tubew","divergence","handleXYDefaults","handleStackDefaults","handleMarkerDefaults","handleLineDefaults","handleLineShapeDefaults","handleTextDefaults","handleFillColorDefaults","stackGroupOpts","defaultMode","PTS_LINESONLY","gradient","dfltHoverOn","fillDflt","markerColor","hoveron","errorBarsSupplyDefaults","axis","inherit","coerceSelectionMarkerOpacity","csr","BN","cmp","1","mergeArray","customdata","mergeArrayCastPositive","symbol","markerLine","markerGradient","fontAttrs","anim","groupnorm","stackgaps","smoothing","simplify","fillcolor","symbolList","maxdisplayed","sizeref","sizemin","sizemode","unselected","colorEditType","getTopojsonFeatures","geoJsonUtils","geoUtils","scatterLayer","frontplot","gTraces","removeBADNUM","lineCoords","calcTraceToLineCoords","lineData","makePolygon","makeLine","calcPt","calcGeoJSON","geoLayout","locations","topojson","lonArray","latArray","fitbounds","bboxGeojson","lon","lonaxis","_ax","lat","lataxis","makeBubbleSizeFn","convertTextOpts","appendArrayPointValue","initContainer","makeBlank","paint","makeCircleOpts","colorFn","sizeFn","opacityFn","arrayColor","arraySize","arrayOpacity","addTraceOpacity","size2radius","makeColorScaleFuncFromTrace","mo","mo2","fns","isBADNUM","props","mcc","mc","mrc","ms","makeSelectedPointStyleFns","selectedOpacityFn","selectedColorFn","selectedSizeFn","makeSymbolGeoJSON","fillSymbol","getFillFunc","blankFillFunc","_module","pointValues","_meta","texttemplateString","_d3locale","mx","isVisible","hasFill","hasCircles","hasSymbols","circleOpts","iconSize","textOpts","choroplethAttrs","below","Template","handleDomainDefaults","defaults","subplotLayoutIn","subplotLayoutOut","subplotType","subplotAttributes","partition","ids","idsLength","baseId","newContainer","uirevision","dfltDomains","filterOps","coerceValue","operation","coercedValue","hasArrayValue","COMPARISON_OPS2","INTERVAL_OPS","SET_OPS","makeRangeSettings","makeInequalitySettings","sampleLetter","aggLetter","hasAggregationData","handleSubplotDefaults","handleTickValueDefaults","handleTickMarkDefaults","handleTickLabelDefaults","handleCategoryOrderDefaults","handleLineGridDefaults","axisNames","contIn","contOut","bgColor","combine","paper_bgcolor","sector","axName","coerceAxis","axIn","axOut","_attr","_traceIndices","_expandedIndex","dataAttr","axisName2dataArray","handleAxisTypeDefaults","axData","dfltColor","dfltFontColor","autoRange","isValidRange","cleanRange","dfltRange","coerceFont","counterclockwise","clockwise","tickSuffixDflt","outerTicks","showTickLabels","blend","showLine","showGrid","noZeroLine","undoCommands","isExecuting","execute","command","action","setCallback","callbackFunc","undo","hasUndo","hasRedo","getCommands","getPreviousCommand","getIndex","Scene","GL3D","SCENE","counterRegex","sceneIds","sceneId","fullSceneData","_scene","viewInitial","oldSceneKey","sceneNum","process","global","objectOrFunction","isFunction","_isArray","vertxNext","customSchedulerFn","asap","queue","flush","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","importScripts","MessageChannel","useNextTick","nextTick","useVertxTimer","useMutationObserver","observer","observe","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","useSetTimeout","globalSetTimeout","attemptVertx","vertx","runOnLoop","runOnContext","onFulfillment","onRejection","_arguments","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","Constructor","promise","PENDING","FULFILLED","REJECTED","GET_THEN_ERROR","ErrorObject","selfFulfillment","cannotReturnOwn","getThen","tryThen","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_reject","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","then$$","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","TRY_CATCH_ERROR","tryCatch","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator","_instanceConstructor","_remaining","_enumerate","validationError","entries","race","needsResolver","needsNew","polyfill","promiseToString","cast","_eachEntry","entry","resolve$$","_then","_settledAt","_willSettleAt","state","enumerator","_setScheduler","_setAsap","_asap","versions","getPrototypeOf","d3Hierarchy","makeColorScaleFn","makePullColorFn","generateExtendedColors","ALMOST_EQUAL","sunburstExtendedColorWays","treemapExtendedColorWays","countDescendants","nChild","children","branches","leaves","_values","getId","hasIds","parents","hasValues","parent2children","refs","addToLookup","isValidKey","isValidVal","pid","label","dummyId","hasMultipleRoots","impliedRoots","hasImpliedRoot","stratify","parentId","message","hierarchy","branchvalues","partialSum","reduce","pullColor","scaleColor","hasColors","_hasColorscale","_runCrossTraceCalc","desiredType","colorWay","colorMap","dfltColorCount","pickColor","cursorset","xanchor","yanchor","alias","t3","Icons","modeBarButtons","handleCartesian","ev","button","currentTarget","astr","getAttribute","mag","r1","fixedrange","rangeInitial","rangeNow","rangeNew","_isHoriz","setAttribute","handleDrag3d","gl3d","layoutUpdate","val2d","handleCamera3d","didUpdate","getNextHover3d","_previousVal","currentSpikes","hovermodeAStr","spikeAStr","handleHover3d","handleGeo","geoIds","newScale","resetView","getNextHover","toggleHover","newHover","setSpikelineVisibility","areSpikesOn","handleMapboxZoom","mapbox","aObj","zoom","viewKeys","toImageButtonOptions","format","icon","click","notifier","isIE","filename","catch","sendDataToCloud","disk","editInChartStudio","pencil","zoom2d","zoombox","pan2d","pan","select2d","selectbox","lasso2d","lasso","zoomIn2d","zoom_plus","zoomOut2d","zoom_minus","autoScale2d","autoscale","resetScale2d","home","hoverClosestCartesian","tooltip_basic","gravity","hoverCompareCartesian","tooltip_compare","zoom3d","pan3d","orbitRotation","tableRotation","resetCameraDefault3d","resetCameraLastSave3d","movie","hoverClosest3d","toggle","zoomInGeo","zoomOutGeo","resetGeo","hoverClosestGeo","hoverClosestGl2d","hoverClosestPie","resetViewSankey","_viewInitial","resetViews","toggleSpikelines","spikeline","resetViewMapbox","zoomInMapbox","zoomOutMapbox","$","$reduce","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forced","callbackfn","multiply","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","a30","a31","a32","a33","b1","b2","b3","getModuleCalcData","parcatsPlot","PARCATS","cdModuleAndOthers","hadTable","hasTable","_paperdiv","isBrowser","detect","supported","foo","trzy","annAttrs","templatedArray","ay","xshift","yshift","align","valign","bgcolor","bordercolor","borderpad","borderwidth","showarrow","arrowcolor","arrowhead","startarrowhead","arrowside","arrowsize","startarrowsize","arrowwidth","startstandoff","captureevents","classof","regexpExec","R","exec","from","Boolean","findMedian","genPartition","partitionStartLessThan","PARTITION_THRESHOLD","boxes","elemSize","boxPtr","aPtr","bPtr","mid","pivot","pivot0","value0","pivot1","value1","pivot2","value2","histogramAttrs","makeBinAttrs","heatmapAttrs","nbinsx","xbins","nbinsy","ybins","autobinx","autobiny","bingroup","xbingroup","ybingroup","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","axesProperties","getPlanes","splitPoly","cubeParams","m4mul","m4transpose","v4transformMat4","mvp","AxesRange3D","SCRATCH_P","SCRATCH_Q","RANGES","SCRATCH_X","params","ranges","frustum","i_loop","Q","positive","grad","vec3","vec4","GRID_TYPES","streamToTube","stream","maxDivergence","minDistance","maxNorm","velocities","divergences","vectors","previousVerts","currentVerts","intensities","previousIntensity","currentIntensity","currentVector","previousVector","facets","fwd","a1","tmp1","tmp2","tmp3","vertexIntensity","createTubes","streams","colormap","tubes","tube","newCell","findLastSmallerIndex","sampleMeshgrid","vectorField","gridInfo","meshgrid","z0","z1","x0off","x1off","y0off","y1off","z0off","z1off","mX0","mX1","mY0","mY1","mZ0","mZ1","xf","yf","zf","reversedX","reversedY","reversedZ","filled","v000","v001","v010","v011","v101","v110","v111","c00","c01","c10","c11","lerp","c0","c1","findMinSeparation","xs","minSeparation","calculateMinPositionDistance","ys","zs","zi","xSep","ySep","zSep","startingPositions","maxLength","tubeSize","absoluteTubeSize","gridFill","getVelocity","getDivergence","subtract","vz","minX","minY","minZ","maxX","maxY","maxZ","inBounds","boundsSize","maxStepSize","maxStepSizeSq","op","dv","dvLength","sqLen","squaredLength","squaredDistance","tubeScale","createMesh","createTubeMesh","crossTraceDefaults","annIn","annOut","borderColor","borderOpacity","borderWidth","showArrow","annotation","hoverText","globalHoverLabel","hoverBG","hoverBorder","contrast","unique_pred","unique_eq","unique","sorted","robustDot","planeT","plane","lerpW","wa","wb","splitPolygon","negative","classRe","functionToString","$forEach","tablePlot","TABLE","polybool","Fx","throttle","makeEventData","clearGlCanvases","redrawReglTraces","MINSELECT","filteredPolygon","polygonTester","getAxId","prepSelect","startX","startY","dragOptions","filterPoly","selectionTester","mergedPolygons","currentPolygon","searchInfo","zoomLayer","_zoomlayer","dragBBox","element","path0","pw","xaxes","ph","yaxes","allAxes","altKey","coerceSelectionsCache","BENDPX","outlines","fillRangeItems","corners","throttleID","SELECTID","searchTraces","determineSearchTraces","p2r","p2d","axValue","ascending","dataPts","lassoPoints","filtered","moveFn","selectdirection","xmin","xmax","ymin","ymax","addPt","selectionDefs","mergePolygons","multiTester","drawSelection","SELECTDELAY","thisSelection","traceSelection","traceSelections","fillSelectionItem","updateSelectedState","emit","clickFn","numClicks","evt","clickmode","clearSelectionsCache","selectOnClick","doneFn","doneFnCompleted","xAxes","yAxes","polygonOutlines","currentSelectionDef","thisTracesSelection","pointOrBinSelected","hoverData","_hoverdata","sendEvents","isHoverDataSet","clickedPtInfo","extractClickedPtInfo","isBinnedTrace","pointNumbers","isOnlyThisBinSelected","isOnlyOnePointSelected","isPointOrBinSelected","shiftKey","newPointSelectionDef","allSelectionDefs","isPointSelectionDef","newPointNumTester","pointSelectionDef","omitFirstEdge","idxWantedTrace","idxActualTrace","isRect","degenerate","testers","contained","selectingOnSameSubplot","_lastSelectedSubplot","hasModifierKey","clearSelect","xAxisIds","yAxisIds","_xaxes","_yaxes","info","createSearchInfo","sankeyInfo","paths","ppts","hoverOnBox","hoverDatum","binNumber","ptNum","ptNums","ptNumsSet","ptNumToTest","isSameTrace","tracesWithSelectedPts","fullInputTrace","_fullInput","tracePreGUI","_tracePreGUI","pointIndices","pointIndex","hasRegl","node3","nodeRangePlot3","res","difference","regions","inverted","union","zoomlayer","rationalize","handleArrayContainerDefaults","_hasNumber","_hasDelta","_hasGauge","_range","bignumberFontSize","deltaFontSize","gaugeIn","gaugeOut","axisIn","axisOut","auto","coerceGauge","gauge","coerceGaugeAxis","defaultNumberFontSize","relative","_scaleNumbers","isBullet","_isBullet","_isAngular","defaultBarThickness","valueThickness","handleItemDefaults","stepDefaults","stepIn","stepOut","steps","sizeRef","sizeMin","baseFn","baseSize","interactConstants","numStripRE","titleClass","editAttr","prop","traceIndex","containerGroup","isplaceholder","txt","editable","templateString","elShouldExist","ensureSingle","titleLayout","titleEl","scootTitle","transformVal","fontWeight","previousPromises","titleElIn","titleGroup","backside","shiftSign","titlebb","paperbb","maxshift","maxShift","avoidbb","shiftTemplate","setPlaceholder","SHOW_PLACEHOLDER","HIDE_PLACEHOLDER","allBlankCharCodes","original","locationCache","workingPath","workingTextWidth","segmentsIntersect","x4","y4","det","perpDistance2","xab","yab","llab","xac","yac","fcAB","xbc","ybc","crossProduct","segmentDistance","x12","y12","x34","y34","ll12","ll34","dist2","getTextLocation","totalPathLen","positionOnPath","textWidth","getPointAtLength","atan","pCenter","clearLocationCache","getVisibleSegment","pt0","ptTotal","pTotal","getTotalLength","getDistToPlot","distToPlot","isClosed","diff","iterationLimit","handleXYZDefaults","handleConstraintDefaults","isConstraint","convexHull1d","convexHull2d","convexHullnd","convexHull","ms2DateTime","dateTime2ms","numConstants","FP_SAFE","LOG_CLIP","fromLog","isValidCategory","toLog","clip","dt2ms","msecTenths","msRounded","ms2dt","getCategoryName","setCategoryIndex","_categoriesMap","curLength","setMultiCategoryIndex","arrayIn","arrayOut","getCategoryIndex","getCategoryPosition","p2l","p2c","d2r","l2d","d2p","r2p","r2c_just_indices","setupMultiCategory","traceIndices","matchGroups","_axisMatchGroups","axId2","ind0","ind1","rl0","rl1","r2fraction","rangeAttr","DFLTRANGEY","DFLTRANGEX","rangemode","linCenter","MIN_MS","MAX_MS","usePrivateRange","overlaying","_replotting","isTypedArray","subarray","isPtWithinRange","clearCalc","emptyCategories","found","categoriesMap","_initialCategories","sortByInitialCategories","affectedTraces","_matchGroup","locale","timeFormat","utc","separators","numberFormat","TEXTPAD","pi","tauEpsilon","Path","moveTo","closePath","lineTo","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","arc","ccw","cw","rect","src_path","point_x","point_y","linkSource","linkTarget","link_link","argv","curveHorizontal","linkHorizontal","dragElement","setCursor","makeDragBox","DRAGGERSIZE","initInteractions","mainplot","maindrag","onmousemove","_rehover","_hoversubplot","_lasthover","onmouseout","_dragging","unhover","showAxisDragHandles","hoverLayer","_hoverlayer","onmousedown","cursor","_draggers","az","zOld","rowlen","collen","getCollen","old2new","cleanZvalue","padOld2new","axisMapping","axMapping","traceCategories","xMap","yMap","zNew","getGraphDiv","gdElement","getElementById","isPlotDiv","HTMLElement","removeElement","elParent","removeChild","styleString","addRelatedStyleRule","styleSheet","sheet","insertRule","addRule","deleteRelatedStyleRule","ThaiCalendar","thai","Parser","DOMParser","ModeBar","graphInfo","createModeBar","modeBar","_modebardiv","_privateplot","modeBarId","className","displayModeBar","modebar","bgSelector","activecolor","needsNewButtons","hasButtons","needsNewLogo","hasLogo","displaylogo","needsNewLocale","removeAllButtons","updateButtons","watermark","logoGroup","getLogo","childNodes","updateActiveButton","_this","buttonElements","buttonsNames","buttonGroup","createGroup","buttonConfig","buttonName","createButton","createIcon","question","thisIcon","iconHeight","ascent","descent","svgNS","svgDoc","parseFromString","buttonClicked","dataAttrClicked","thisval","isToggleButton","button3","currentButtons","newplotlylogo","getBuiltIn","subtypes","lonlat2","modHalf","xy","oppAxisAttrs","helpers","rangeslider","calcAutorange","makeData","autoMarginOpts","WeakMapPoly","isValue","ensureValue","randomUniq","getIterator","forOf","toStringTagSymbol","isNative","objHasOwnProperty","iterable","WeakMap","delete","__weakMapData__","handleText","moduleHasSelected","moduleHasUnselected","moduleHasConstrain","moduleHasCliponaxis","moduleHasTextangle","moduleHasInsideanchor","handleGroupingDefaults","posAxId","alignmentOpts","alignmentIndex","offsetGroupOpts","offsetIndex","hasPathbar","hasBoth","hasInside","hasOutside","dfltFont","insideTextFontDefault","isTraceTextfontColorSet","isColorInheritedFromLayoutFont","pathbarTextFontDefault","sizes","isSize","extendDeep","colorAttrs","domainAttrs","axesAttrs","textFontAttrs","gaugeBarAttrs","thickness","items","stepsAttrs","valueformat","reference","INCREASING","SYMBOL","COLOR","DECREASING","float32","float","fract32","fract","narr","compile","CACHE","typeSig","compiled","ops","createTexture2D","linearTypes","filterTypes","wrapTypes","lazyInitLinearTypes","LINEAR","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","NEAREST","NEAREST_MIPMAP_NEAREST","LINEAR_MIPMAP_LINEAR","CLAMP_TO_EDGE","MIRRORED_REPEAT","acceptTextureDOM","HTMLCanvasElement","HTMLImageElement","HTMLVideoElement","ImageData","convertFloatToUint8","inp","reshapeTexture","maxSize","getParameter","MAX_TEXTURE_SIZE","_shape","texImage2D","TEXTURE_2D","_mipLevels","Texture2D","handle","_magFilter","_minFilter","_wrapS","_wrapT","_anisoSamples","wrapVector","wrapS","wrapT","_wrapVector","shapeVector","_shapeVector","isPacked","texSubImageArray","x_off","y_off","mip_level","cformat","ctype","mipLevels","packed","FLOAT","UNSIGNED_BYTE","LUMINANCE","ALPHA","LUMINANCE_ALPHA","RGB","RGBA","needsMip","texSubImage2D","pack_buffer","mallocFloat32","mallocUint8","pack_view","freeFloat32","freeUint8","initTexture","bindTexture","texParameteri","TEXTURE_MIN_FILTER","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","createTextureShape","maxTextureSize","getExtension","createTextureDOM","directData","createTextureArray","buf_store","malloc","buf_array","free","raw","minFilter","magFilter","mipSamples","psamples","ext","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","unit","activeTexture","TEXTURE0","ACTIVE_TEXTURE","deleteTexture","generateMipmap","heatmap","_opts","hasArrayRadius","cOpts","scl","reversescale","flipScale","scl01","color0","addOpacity","heatmapColor","zExp","sortAsc","sorterAsc","snapRatio","snapOvershoot","vAdjacent","snapClose","closeToCovering","ordinalScaleSnap","isHigh","existingRanges","overlappingExisting","aHere","aPrev","nextI","aNext","barHorizontalSetup","captureWidth","backgroundBarHorizontalSetup","setHighlight","brush","filterSpecified","sectionHeight","iNext","pixelRanges","unitToPx","getConsolidated","currentGap","unitRanges","pr","getRegion","fPix","handleHeight","clearCursor","styleHighlight","renderHighlight","tweenCallback","barToStyle","snapDuration","getInterval","active","closestInterval","intervals","pixIntervals","hoveredInterval","previousInterval","nextInterval","region","intervalPix","ordinal","unitTickvals","unitLocation","unitToPaddedPx","rangei","clickableOrdinalRange","dragstart","lThis","sourceEvent","stopPropagation","verticalPadding","unitRange","svgBrush","wasDragged","grabbingBar","pixelRange","grabPoint","barLength","stayingIntervals","multiselect","int2","startExtent","inBrushDrag","brushStartCallback","drag","newExtent","brushCallback","dragend","mousemove","grabLocation","brushClear","brushEndCallback","mergeIntervals","hasNewExtent","attachDragBehavior","preventDefault","behavior","startAsc","renderAxisBrush","axisBrush","highlightShadow","strokeWidth","strokeColor","strokeOpacity","fillColor","fillOpacity","ensureAxisBrush","axisOverlays","getBrushExtent","axisBrushMoved","dedupeRealRanges","currentInterval","makeFilter","consolidated","getBounds","makeBrush","rangeSpecified","initialRange","cleanRanges","sortedTickVals","rSnapped","relinkColorAttrs","outerCont","cbOpt","_colorAx","isAuto","autocolorscale","cbOpts","_colorAxes","bindAttribs","VAOEmulated","_elements","_attributes","_elementsType","UNSIGNED_SHORT","createVAOEmulated","elements","elementsType","drawElements","drawArrays","V8_VERSION","SPECIES","METHOD_NAME","dictionary","error2","days","shortDays","months","shortMonths","periods","dateTime","decimal","thousands","grouping","currency","dayMonth","dayMonthYear","scatterMarkerAttrs","scatterMarkerLineAttrs","q1","median","q3","lowerfence","upperfence","notched","notchwidth","notchspan","boxpoints","jitter","pointpos","boxmean","mean","sd","quartilemethod","outliercolor","outlierwidth","whiskerwidth","dup","cwiseCompiler","TEMPLATE_CACHE","GRADIENT_CACHE","EmptyProc","thisVars","localVars","centralDiff","pre","post","lvalue","rvalue","zeroOut","generateTemplate","names","generateGradient","boundaryConditions","token","handleBoundary","facet","cod","loStr","hiStr","pickStr","boundStr","bnd","outStr","cPickStr","dPickStr","aPickStr","bPickStr","sfaces","linkNames","linkArgs","bc","cached","byteLength","toByteArray","fromByteArray","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","extraBytes","maxChunkLength","len2","objName","hasErrorBars","symmetric","copyAttr","inheritObj","iota","namelength","hasOnlyLines","tinycolor","isValidScale","colorKey","isArrayWithOneNumber","showscale","cmin","cmax","constantAttrs","letterAttrs","colorAx","cont2","k2","_sync","extractScale","sclNew","makeColorScaleFunc","specs","toRgb","sclFunc","_sclFunc","linear","noNumericCheck","returnArray","colorArray2rbga","colorArray","colorObj","toRgbString","function","lineString","_coords","num2bn","numer","denom","snumer","sdenom","cmpn","styleOne","attachFxHandlers","onPathbar","slices","barDifY","viewX","viewY","pathSlice","toMoveInsideSlice","strTransform","hasTransition","handleSlicesExit","makeUpdateSliceInterpolator","makeUpdateTextInterpolator","refRect","eachWidth","_entryDepth","pathIds","listPath","sliceData","packing","inner","descendants","level","getPtId","updateSlices","sliceTop","setSliceCursor","hideOnRoot","hideOnLeaves","isTransitioning","_hoverX","_hoverY","slicePath","attrTween","pt2","transitionTime","CLICK_TRANSITION_TIME","transitionEasing","CLICK_TRANSITION_EASING","_transitioning","hovered","getPtLabel","sliceTextGroup","sliceText","ensureUniformFontSize","determineTextFont","textBB","weakMap","mergeLength","isOpenSymbol","dimensionDefaults","dimIn","dimOut","dimensions","handleAxisDefaults","dimLength","showUpper","showupperhalf","showLower","showlowerhalf","showDiag","diagonal","xAxesDflt","yAxesDflt","diag","_diag","xList","yList","fillAxisStashes","counterAxId","_splomAxes","matches","mustShiftX","mustShiftY","_axesDim","i0","iN","xaId","yaId","_splomSubplots","_splomGridDflt","xside","yside","isOpen","isBubble","getShaderReference","program","createProgram","GLError","SHADER_COUNTER","ShaderReference","programs","cache","ContextCache","deleteProgram","deleteShader","compileShader","shaderSource","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","console","linkProgram","vshader","fshader","attribs","attachShader","bindAttribLocation","getProgramParameter","LINK_STATUS","getProgramInfoLog","getCache","ctxCache","vref","fref","getProgram","isShader","shaderObj","prog","isProgram","containerClassName","bgClassName","rangePlotClassName","maskMinClassName","maskMaxClassName","slideBoxClassName","grabberMinClassName","grabAreaMinClassName","handleMinClassName","grabberMaxClassName","grabAreaMaxClassName","handleMaxClassName","maskMinOppAxisClassName","maskMaxOppAxisClassName","maskColor","maskOppAxisColor","slideBoxFill","slideBoxCursor","grabAreaFill","grabAreaCursor","grabAreaWidth","handleWidth","handleRadius","handleStrokeWidth","extraPad","fromValues","tempA","tempB","cosine","ch","uniq","LiftedPoint","compareLifted","ap","bp","triangulate1D","includePointAtInfinity","lifted","triangulate","upper","dpoints","dindex","hull","arrayEditor","_shapeUpperLayer","_shapeLowerLayer","shapelayer","shapes","drawShape","mainPlot","shapeLayer","getPathString","setClipPath","shapePosition","setupDragElement","shapePath","shapeOptions","clipAxes","setClipUrl","xAnchor","yAnchor","e0","optN","optS","optW","optE","pathIn","dragMode","MINWIDTH","MINHEIGHT","xPixelSized","xsizemode","yPixelSized","ysizemode","isLine","isPath","editHelpers","modifyItem","x2p","getDataToPixel","y2p","p2x","getPixelToData","p2y","sensoryElement","obtainSensoryElement","prepFn","startDrag","endDrag","abortDrag","createLineDragHandles","minSensoryWidth","sensoryWidth","circleStyle","circleRadius","updateDragMode","tagName","clientX","clientY","getCursor","renderVisualCues","deactivateClipPathTemporarily","moveShape","resizeShape","removeVisualCues","getUpdateObj","noOp","moveX","moveY","encodeDate","movePath","newX0","newY0","newX1","newY1","newN","newS","newW","newE","renderAnchor","isNotPath","visualCues","posX","midRange","extractPathCoords","paramIsX","posY","paramIsY","roundPositionForSharpStrokeRendering","crossPath","vBarPath","hBarPath","init","x2r","y2r","shapePositionToRange","decodeDate","convertPath","xAnchorPos","yAnchorPos","rArc","rightPt","topPt","xSizemode","ySizemode","segmentRE","segment","paramNumber","segmentType","xParams","yParams","nParams","numParams","paramString","paramRE","param","micropolar","UndoManager","manager","framework","_gd","previousConfigClone","convertedInput","undoManager","_inputConfig","_container","Axis","adapter","plotly","fillLayout","isPolar","getConfig","getLiveConfig","getLiveScales","angularScale","radialScale","setUndoPoint","configClone","util","cloneJson","_configClone","_previousConfigClone","paperDiv","paper","dflts","toInteger","integer","gapWithPathbar","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","internalObjectKeys","enumBugKeys","hiddenKeys","PolyBool","BuildLog","Epsilon","Intersecter","SegmentChainer","SegmentSelector","GeoJSON","buildLog","operate","poly1","poly2","seg1","seg2","comb","seg3","bl","addRegion","calculate","segments1","segments2","i3","combined","inverted1","inverted2","selectUnion","selectIntersect","intersect","selectDifference","selectDifferenceRev","differenceRev","selectXor","xor","polygonFromGeoJSON","toPolygon","polygonToGeoJSON","fromPolygon","bits","UnionFind","il","countVertices","vc","jl","cloneCells","ncells","l1","m1","l0","m0","as","bs","compareZipped","zipped","findCell","incidence","from_cells","to_cells","cl","kn","popCount","dual","vertex_count","skeleton","explode","k0","nextCombination","connectedComponents_dense","components","component_labels","ranks","connectedComponents_sparse","vj","connectedComponents","mesh3dAttrs","fromMesh3d","calcSelection","fixNum","prevGoodNum","serieslen","connectToNext","cNext","vTotal","begR","sumR","difR","drawArrowHead","drawRaw","modifyBase","annClipID","annPosPx","annGroup","annTextGroup","editTextPosition","textEvents","annotationText","annTextGroupInner","hoverOptions","hoverFont","bBoxRef","loneHover","outerContainer","loneUnhover","borderfull","annTextBG","isSizeConstrained","annTextClip","_topclips","annText","textLayout","initialEvent","fullAnnotation","drawGraphicalElements","anchor3","wholeLink","hasMathjax","anntextBB","annWidth","annHeight","outerWidth","outerHeight","shiftFraction","annotationIsOffscreen","letters","basePx","textPadShift","alignPosition","autoAlignFraction","textShift","tailRef","dimAngle","annSizeFromWidth","annSizeFromHeight","annSize","overallShift","posPx","posFraction","arrowLength","maxPx","shiftPlus","shiftMinus","xShift","yShift","texty","textx","setRect","baseTextTransform","drawArrow","headX","headY","tailX","tailY","textX","textY","rotationXYMatrix","applyTransform","apply2DTransform","applyTransform2","apply2DTransform2","xLeft","xRight","yTop","yBottom","edges","strokewidth","arrowColor","arrowSide","arrowGroup","arrow","annotationPosition","arrowDragHeadX","arrowDragHeadY","annx0","anny0","arrowDrag","annxy0","xcenter","ycenter","axref","ayref","notesBox","selectedObj","xUpdate","yUpdate","widthFraction","_xsize","_xshift","heightFraction","_ysize","_yshift","validateSymbol","registry","SymbolPolyfill","for","keyFor","subplotsDone","ip","jp","ni","nj","avgSurrounding","dxp","dxm","dap","dam","dbp","dbm","reldiff","overrelaxation","dmax","tol","resid","itermax","iter","d0","d1","j0","boundaryCnt","newVal","resolveException","is","createErrorBars","IDENTITY","ErrorBars","capSize","lineOffset","updateBounds","cz","orthoFix","pixelScaleF","LINES","FACE_TABLE","emitFace","offsets","inverse","rank","permutation","pinv","unrank","nf","transformQuat","qx","qy","qz","qw","ix","iy","iz","iw","gup","svgUtil","raiseToTop","cancelEeaseColumn","cancelTransition","prepareData","splitData","roundHalfWidth","maxLineWidth","scrollAreaBottomClipKey","columnBoundaryClipKey","specIndex","flatData","__data__","renderScrollbarKit","bypassVisibleBar","calcTotalHeight","blocks","rowBlocks","firstRowAnchor","rowsHeight","scrollbarState","totalHeight","scrollableAreaHeight","groupHeight","headerHeight","currentlyVisibleHeight","barWiggleRoom","wiggleRoom","topY","scrollY","bottomY","dragMultiplier","xPosition","columnDragInProgress","bbox","pixelVal","inverseScale","makeDragRow","origin","scrollbarScrollInProgress","renderColumnCellTree","allColumnBlock","renderColumnCells","renderColumnCell","supplyStylingValues","renderCellRect","sizeAndStyleRect","renderCellTextHolder","renderCellText","setFont","populateCellText","setCellHeightAndPositionY","splitToCells","keyWithinBlock","spec","col","column","gridPick","rowNumber","cellBorderWidth","columnWidth","atomicSelection","userSuppliedContent","stringSupplied","hasBreaks","userBrokenText","mayHaveMarkup","latex","isLatex","hasWrapSplitCharacter","textToRender","prefixSuffixedText","wrappingNeeded","wrapped","hasWrapCharacter","cellHeightMayIncrease","needsConvertToTspans","hrefPreservedText","fragments","hrefRestoredFragments","frag","fragment","renderCallback","wrapTextMaker","updateYPositionMaker","content","columnMoved","gdColumnsOriginalOrder","gdColumns","columnorder","easeColumn","cellsBlock","headerBlock","headerBlocks","auxiliaryBlocks","findPagesAndCacheHeights","scrollHeight","pages","pTop","blockIndex","block","blockRows","rows","rowHeight","allRowsHeight","pBottom","windowTop","windowBottom","updateBlockYPosition","cellsColumnBlock","page","yTranslate","conditionalPanelRerender","prevPages","allTableControlView","optionalMultiplier","optionalPosition","eventD","dd","multiplier","initialScrollY","revolverIndex","shouldComponentUpdate","currentRepaint","toRerender","getComputedTextLength","currentAddition","currentAdditionLength","separatorLength","rest","currentRow","currentRowLength","rowLengthLimit","settledY","getBlock","rowIndex","firstRowIndex","declaredRowHeight","requiredHeight","finalHeight","increase","columnCellElement","box","rectBox","currentTransform","baseVal","consolidate","yPosition","optionalWidth","rowAnchor","yOffset","getRow","rowBlock","wrappedTraceHolders","dynamic","wrappedTraceHolder","traceHolder","translateX","translateY","cvEnter","wheeling","newY","deltaY","noChange","vm","columns","movedColumn","sortableColumns","newOrder","xIndex","xScale","splitToPanels","dragHandle","headerColumnBlock","scatterGlAttrs","cartesianIdRegex","markerLineAttrs","markerAttrs","makeAxesValObject","freeLength","hoverOn","bx","by","bz","tickLen","tickWidth","tickColor","showTicks","createLines","Lines","vbo","lineVert","lineFrag","screenBox","drawLine","endX","endY","ctor","superCtor","super_","writable","configurable","TempCtor","createUniformWrapper","createAttributeWrapper","makeReflect","shaderCache","runtime","Shader","lastAttribCount","_vref","_fref","_relink","vertShader","fragShader","compareAttributes","vertSource","fragSource","newAttribCount","ACTIVE_ATTRIBUTES","oldAttribCount","enableVertexAttribArray","disableVertexAttribArray","useProgram","pvref","VERTEX_SHADER","pfref","testProgram","attributeUnpacked","attributeNames","attributeLocations","locVector","curLocation","uniformLocations","relink","getUniformLocation","vectorfield","vertexIntensityBounds","coneOffset","p2","u2","positionVectors","vectorScale","skipIt","minV","maxV","invertedMaxNorm","coneScale","coneSize","absoluteConeSize","intensity","createConeMesh","getDimIndex","visibleDims","_visibleDims","vmin","vmax","createScatter","createLine","createError","Text","prepareRegl","linkTraces","styleTextSelection","getViewport","cdata","success","regl","_glcanvas","error2d","line2d","scatter2d","fill2d","glText","textsToAdd","textsToRemove","removedTexts","textOptions","lineOptions","srcPos","firstptdef","lastptdef","errorBatch","errorXOptions","errorYOptions","markerOptions","fillOrder","fillOptions","fillData","nextTrace","nextOptions","nextPos","xx","yy","prevLinePos","hole","fillmode","selectMode","clickSelectEnabled","selPts","selIndices2selPoints","selDict","unselPts","xpx","ypx","unselOpts","markerUnselectedOptions","markerSelectedOptions","vpRange0","vpRange","bottomText","withColorscale","headerSize","_hovered","pathbar","_sankey","graph","partOfGroup","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","globalWindow","mozRequestAnimationFrame","webkitRequestAnimationFrame","forEachElement","isCollectionTyped","jQuery","Elements","getElementSize","offsetWidth","offsetHeight","setStyle","ResizeSensor","EventQueue","sizeInfo","newQueue","attachResizeEvent","resized","resizedAttached","resizeSensor","pointerEvents","zIndex","maxWidth","styleChild","expand","expandChild","shrink","shrinkChild","rafId","computedStyle","getComputedStyle","getPropertyValue","lastWidth","lastHeight","initialHiddenCheck","lastAnimationFrame","resetExpandShrink","scrollLeft","scrollTop","invisible","resetSensor","onResized","onScroll","addEvent","cb","attachEvent","elem","detach","mutations","addedNodes","childList","subtree","hasHover","matchMedia","version","userAgent","v8","INTERPTHRESHOLD","NEIGHBORSHIFTS","correctionOvershoot","maxFractionalChange","iterateInterp2d","emptyPoints","overshoot","neighborShift","neighborRow","neighborVal","neighborSum","initialVal","minNeighbor","maxNeighbor","negate","PersianCalendar","epBase","epYear","depoch","cycle","cyear","ycycle","aux1","aux2","yday","persian","jalali","PlotSchema","plotAttributes","dfltConfig","mergeTemplates","oldTemplate","newTemplate","oldKeys","mergeOne","oldVal","templater","arrayTemplater","_template","item","oldItem","newItem","defaultItems","templateitemname","getBaseKey","key2","baseKey2","walkStyleKeys","templateOut","getAttributeInfo","basePath","pathAttr","nextPath","getNextPath","nextBasePath","baseKey","_noTemplating","_isLinkedToArray","dfltDone","namedIndex","usedNames","dfltKey","arrayDefaultKey","dfltPath","pathInArray","itemPropInArray","dfltProp","templateProp","getLayoutInfo","getLayoutValObject","getTraceInfo","getTraceValObject","hasPlainObject","templateCount","makeTemplate","figure","_basePlotModules","_modules","template","traceTemplate","typeTemplates","oldTypeTemplates","oldTypeLen","typeLen","oldLayoutTemplate","oldDataTemplate","validateTemplate","figureIn","layoutTemplate","dataTemplate","errorList","layoutPaths","crawlLayoutForContainers","nextPaths","crawlLayoutTemplateForContainers","typeCount","crawlForMissingTemplates","stringifyFont","defaultChars","atlas","chars","newchars","textAlign","textBaseline","colorway","compressExpansion","attributeTextFont","attributeInsideTextFont","attributeOutsideTextFont","barcount","stylePoints","pointStyle","determineFont","stylePointsInSelectionMode","selectedPointStyle","styleTextInSelectionMode","txs","selectedFontColor","selectedTextStyle","layoutFont","textFont","barColor","getBarColor","getInsideTextFont","getOutsideTextFont","getTextFont","defaultValue","getFontValue","defaultFont","wouldFallBackToLayoutFont","attributeDefinition","attributeValue","familyValue","getValue","sizeValue","colorValue","coerceString","coerceNumber","coerceColor","sankeyCircular","justify","d3_array__WEBPACK_IMPORTED_MODULE_0__","d3_collection__WEBPACK_IMPORTED_MODULE_1__","d3_shape__WEBPACK_IMPORTED_MODULE_2__","elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__","elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default","targetDepth","depth","sourceLinks","targetLinks","_typeof","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","partOfCycle","circularLinkType","nodeCenter","linkSourceCenter","linkTargetCenter","defaultId","defaultNodes","defaultLinks","getNodeID","verticalMargin","baseRadius","paddingRatio","circularLinkGap","sortNodes","computeNodeLinks","identifyCircles","computeNodeValues","computeNodeDepths","selectCircularLinkTypes","computeNodeBreadths","computeLinkBreadths","linkSortingIterations","iteration","sortSourceLinks","sortTargetLinks","resolveNodeLinkOverlaps","fillHeight","addCircularPathData","circular","getCircleMargins","totalTopLinksWidth","totalBottomLinksWidth","totalRightLinksWidth","totalLeftLinksWidth","maxColumn","scaleSankeySize","currentWidth","currentHeight","newWidth","newHeight","scaleX","scaleY","sortKeys","initializeNodeBreadth","resolveCollisions","relaxLeftAndRight","thisPadding","ky","nodesLength","numberOfNonSelfLinkingCycles","columnsLength","nodeHeight","avg","avgTargetY","avgSourceY","y0cycle","y1cycle","nodeAlign","nodeWidth","nodePadding","nodePaddingRatio","circularLinkID","adjList","cycles","circularLinks","numberOfTops","numberOfBottoms","selfLinking","linkAngle","circularLinksCross","link1","link2","sourceCount","targetCount","onlyCircularLink","nodeSourceLinks","nodeTargetLinks","calcVerticalBuffer","sortLinkColumnAscending","circularPathData","verticalBuffer","bufferOverThisLink","topLinks","bottomLinks","arcRadius","leftNodeBuffer","rightNodeBuffer","sourceWidth","sourceX","targetX","sourceY","targetY","leftSmallArcRadius","leftLargeArcRadius","rightSmallArcRadius","rightLargeArcRadius","verticalFullExtent","verticalLeftInnerExtent","verticalRightInnerExtent","thisColumn","thisCircularLinkType","sameColumnLinks","sortLinkSourceYDescending","sortLinkSourceYAscending","radiusOffset","sortLinkTargetYDescending","sortLinkTargetYAscending","leftInnerExtent","rightInnerExtent","leftFullExtent","rightFullExtent","createCircularPathString","normalPath","pathString","linkColumnDistance","linkXLength","linkPerpendicularYToLinkSource","longerLink","shorterLink","heightFromY1ToPependicular","yPerpendicular","incline","linkPerpendicularYToLinkTarget","columnToTest","maxColumnToTest","numberOfColumnsToTest","B0_t","B1_t","B2_t","B3_t","py_t","linkY0AtColumn","linkY1AtColumn","adjustNodeHeight","otherNode","nodesOverlap","nodeA","nodeB","sankeyY0","sankeyY1","moveNodes","nodesSourceLinks","nodeSourceLinksLength","sameInclines","link2Adj","link1Adj","ySourceOffset","offsetFromBottom","nodesTargetLinks","nodesTargetLinksLength","yTargetOffset","minY0","maxY1","chartHeight","ASCEND","SIMPLEATTR","baseAttr","relativeAttr","compileSearch","predicate","reversed","extraArgs","useNdarray","earlyOut","compileBoundsSearch","ge","eq","convertTypedArray","isOrdinal","ses","ok","weakMapPermitHostObjects","doubleWeakMapCheckSilentFailure","HostWeakMap","navigator","testMap","testObject","freeze","gopn","defProp","isExtensible","HIDDEN_NAME_PREFIX","HIDDEN_NAME","crypto","getRandomValues","ArrayBuffer","ab","u8s","u8","isNotHiddenName","originalGetPropertyNames","getPropertyNames","oldFreeze","getHiddenRecord","oldSeal","seal","oldPreventExtensions","preventExtensions","calledAsFunctionWarningDone","OurWeakMap","calledAsFunctionWarning","get___","opt_default","hiddenRecord","has___","set___","delete___","lastIndex","constFunc","DoubleWeakMap","dset","hmap","omap","enableSwitching","dget","dhas","ddelete","permitHostObjects___","Proxy","mapLegacy","oldAttr","newAttr","_xlength","_ylength","surfaceColor","dims","contourDim","getOwnPropertyDescriptors","descriptors","formatRegExp","isString","inspect","JSON","stringify","isNull","isObject","deprecate","noDeprecation","warned","deprecated","throwDeprecation","traceDeprecation","debugEnviron","debugs","stylize","stylizeNoColor","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","hash","recurseTimes","ret","primitive","formatPrimitive","visibleKeys","isError","formatError","isRegExp","isDate","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","isNumber","desc","cur","numLinesEst","ar","isNullOrUndefined","isSymbol","objectToString","isPrimitive","debuglog","NODE_DEBUG","toUpperCase","timestamp","getMinutes","getSeconds","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","callbackify","callbackified","maybeCb","rej","promisify","promiseResolve","promiseReject","custom","solveIntersection","ratMul","ratDiv","ratSub","ratSign","rvSub","rvAdd","rvMuls","ratPerp","ba","dc","baXdc","ac","dcXac","contourAttrs","contourContourAttrs","atype","btype","autocontour","ncontours","showlines","showlabels","labelfont","labelformat","reg","compareAngle","robustProduct","testInterior","bcd","sabc","sabd","ic","abc","abd","createBackgroundCube","bg","BackgroundCube","Uint16Array","ELEMENT_ARRAY_BUFFER","normal","needsBG","POLYGON_OFFSET_FILL","polygonOffset","TRIANGLES","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","shouldUseNative","test1","test2","order2","test3","letter","symbols","to","drawModule","includeBasePlot","rs","rd","rc","rc2","ne","se","sw","nw","rt","r2","pentagon","hexagon","hexagon2","octagon","star","y5","hexagram","aPart","rp","hourglass","noDot","bowtie","needLine","noFill","asterisk","str2RGBArray","SpikeOptions","drawSides","createSpikeOptions","merge","spikecolor","spikesides","spikethickness","isIterable","histogram2dAttrs","GeoPoly","LineString","ls","eps","regionInsideRegion","pointInsideRegion","roots","addChild","forceWinding","winding","last_x","last_y","curr_x","curr_y","isclockwise","geopolys","addExterior","getInterior","barPlot","clearMinTextSize","plotConnectorRegions","cdModule","traceLayer","isHorizontal","connectors","getXY","layerClipId","plotConnectorLines","sAxis","pAxis","nextS0","nextP0","nextS1","nextP1","funnelmode","funnelgap","funnelgroupgap","hasClickToShow","sets","getToggleSets","explicitOff","onClick","toggleSets","onSet","offSet","annotationsOut","anni","showMode","pointj","toggleType","explicitOffSet","hoverLen","clicktoshow","clickData2r","_xclick","_yclick","constraintMapping","endPlus","contoursFinal","_operation","cs","pathinfo","basePathinfo","ci","crossings","starts","edgepaths","toLogRange","newType","doExtra","attrPrefix","currentVal","boxIntersectIter","bruteForce","bruteForcePartial","partial","bruteForceFull","full","sweep","BRUTE_FORCE_CUTOFF","SCAN_CUTOFF","SCAN_COMPLETE_CUTOFF","partitionInteriorContainsInterval","partitionStartEqual","partitionEndLessThanEqual","partitionContainsPoint","partitionContainsPointProper","IFRAME_SIZE","DFRAME_SIZE","INIT_CAPACITY","BOX_ISTACK","mallocInt32","BOX_DSTACK","mallocDouble","iterInit","levels","log2","maxInts","nextPow2","maxDoubles","iterPush","redStart","redEnd","blueStart","blueEnd","iptr","dptr","onePointPartial","red","redIndex","blueOffset","blue","blueId","bluePtr","blueX","red_loop","redPtr","retval","redId","onePointFull","initFull","xSize","xBoxes","ySize","yBoxes","yIndex","blueIndex","redCount","blueCount","scanComplete","scanBipartite","red0","sweepBipartite","blue0","blue1","red1","redX","sweepComplete","generateSolver","robustLinearSolve0d","robustLinearSolve1d","A","generateDispatch","toNumber","normalized","fromNumber","plotConnectors","isSum","waterfallmode","waterfallgap","waterfallgroupgap","boxLayoutAttrs","violinmode","boxmode","violingap","boxgap","violingroupgap","boxgroupgap","Loggers","pushUnique","ExtendModule","basePlotAttributes","baseLayoutAttributes","registerTraceModule","thisType","categoriesIn","subplotsRegistry","registerSubplot","categoryObj","allCategories","componentName","allTypes","componentsRegistry","mergeComponentAttrsToTrace","traceLayoutAttributes","bpmName","styleRules","plotType","findArrayRegexps","mergeComponentAttrsToSubplot","registerComponentModule","layoutArrayContainers","subplotName","transformType","transformsRegistry","mergeComponentAttrsToTransform","registerTransformModule","hasTransform","hasCalcTransform","calcTransform","registerLocale","baseLocale","newDict","newFormat","hasDict","hasFormat","locales","localeRegistry","localeObj","baseLocaleObj","arrayAttrRegexps","_arrayAttrRegexps","layoutArrayRegexes","componentSchema","traceAttrs","transformAttrs","subplotModule","subplotAttrs","subplotAttr","componentLayoutAttrs","getTraceType","apiMethodRegistry","collectableSubplotTypes","newModule","getModule","getTransformIndices","appVersion","hasX","hasY","_cheater","flattenVertexData","dstLength","containerArrayName","cartesianList","hasCartesianOrGL2D","itemi","hasXref","hasYref","newAxis","definePropertyModule","anObject","objectKeys","Properties","inheritColorFromMarker","markerLineColor","glslify","triVertSrc","triFragSrc","edgeVertSrc","edgeFragSrc","pointVertSrc","pointFragSrc","pickVertSrc","pickFragSrc","pickPointVertSrc","contourVertSrc","contourFragSrc","meshShader","wireShader","pointShader","pointPickShader","contourShader","getTraceColor","minRad","kink","dxRaw","dyRaw","dxy","distfn","getDistanceFunction","getClosest","xc","yc","sizeVal","sNorm","spikeDistance","xCross","polygonsIn","inside","yAvg","maxHoverDistance","pieCalc","assert","endian","isBN","_init","Buffer","wordSize","parseHex","parseBase","_initNumber","_initArray","_parseHex","_parseBase","strip","toArray","limbLen","limbPow","word","imuln","_iaddn","_expand","_normSign","zeros","groupSizes","groupBases","toBitArray","bitLength","bit","wbit","smallMulTo","carry","ncarry","rword","maxJ","groupSize","groupBase","isZero","modn","idivn","toJSON","toBuffer","toArrayLike","ArrayType","reqLength","littleEndian","andln","iushrn","clz32","_countBits","_zeroBits","zeroBits","toTwos","inotn","iaddn","fromTwos","testn","notn","ineg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","uxor","bytesNeeded","bitsLeft","setn","iadd","isub","comb10MulTo","al0","ah0","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","bl0","bh0","bl1","bh1","bl2","bh2","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","fftm","FFTM","mulp","mulTo","makeRBT","revBin","rb","permute","rbt","rws","iws","rtws","itws","rtwdf","itwdf","rtwdf_","itwdf_","ie","ro","io","guessLen13b","odd","conjugate","normalize13b","ws","convert13b","stub","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","iushln","carryMask","newCarry","ishln","hint","extended","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","bhi","bhiBits","qj","divmod","divn","umod","divRound","dm","half","acc","egcd","B","C","D","isEven","im","isOdd","jm","_invmp","invm","bincn","ucmp","gtn","gten","gte","ltn","lten","lte","eqn","Red","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","outLen","mod3","one","nOne","lpow","inv","windowSize","wnd","currentLen","mont","resetOpts","textSelectedOptions","textUnselectedOptions","initOpts","findZeroCrossings","core","µ","inputConfig","liveConfig","axisConfig","datum","_data","_index","dataOriginal","colorIndex","defaultColorRange","darker","strokeDash","strokeSize","isStacked","dataWithGroupId","grouped","nest","dataYStack","stacked","prevArray","yStack","sumArrays","chartCenter","highestStackedValue","arrayLast","flattenArray","DATAEXTENT","angularDataMerged","deduplicate","hasOnlyLineOrDotPlot","needsEndSpacing","useProvidedDomain","angularDomain","angularDomainStep","angularDomainWithPadding","tickCount","ticksCount","ticksStep","angularTicksStep","minorTicks","angularAxisRange","toPrecision","endPadding","doc","ownerDocument","importNode","documentElement","legendContainer","chartGroup","lineStyle","fontStyle","outlineColor","showLegend","display","datumClone","dotType","visibleInLegend","Legend","legendConfig","defaultConfig","reverseOrder","legend","legendBBox","getBBox","centeringOffset","titleBBox","gridLinesVisible","gridCircles","backgroundCircle","backgroundColor","currentAngle","tickSize","ticksSuffix","tickOrientation","angularAxisEnter","minorTickColor","tickLength","ticksText","labelOffset","labelsVisible","rewriteTicks","rightmostTickEndX","getCTM","hasGeometry","geometryContainer","geometryConfigs","geometryConfig","dB","iB","geometryConfigsGrouped","geometryConfigsGrouped2","finalGeometryConfig","angularValue","radialValue","guides","tooltipContainer","angularTooltip","tooltipPanel","radialTooltip","geometryTooltip","hasTick","angularGuideLine","mouseAngle","getMousePos","angleWithOriginOffset","convertToCartesian","angularGuideCircle","hide","newColor","textData","xClone","getinputConfig","category10","AREA","LINE","DOT","BAR","_override","_objA","_objB","_rndSnd","dataFromEquation2","_equation","_step","dataFromEquation","ensureArray","_val","_count","fillArrays","_obj","_valueNames","parse","validateKeys","objHasKeys","zip","arrayEqual","thetaRadians","_value","_digits","_referenceElement","mousePos","mouseX","mouseY","atan2","duplicatesCount","uniques","dups","duplicates","translator","sourceBranch","targetBranch","targetBranchCopy","previousValue","currentValue","PolyChart","colorScale","isStack","domainMin","pI","dataConfig","stackTop","stackedData","dotSize","getPolarCoordinates","interpolate","lineInterpolation","dotVisible","markStyle","lineSelection","angularRange","triangleAngle","startAngle","endAngle","innerRadius","outerRadius","geometryLayer","polarCoordinates","geometryType","getColorScale","category20","BarChart","AreaChart","DotPlot","flattenData","isContinuous","legendContainerGroup","svgEnter","dataNumbered","shapeGenerator","_type","squareSize","symbolTypes","colorBandWidth","legendElement","symbolType","legendAxis","textColor","tooltipEl","tooltipTextEl","backgroundEl","tooltipEnter","boxStyle","backGroundW","backGroundH","_pos","outputConfig","toTranslate","traceorder","funnels","funnelsVert","funnelsHorz","funnelnorm","minVal","maxVal","vertexShaderSource","fragmentShaderSource","maxDim","depthLimitEpsilon","maskHeight","dummyPixel","dataPixel","paletteTextureConfig","ensureDraw","read","_gl","SCISSOR_TEST","scissor","renderBlock","glAes","renderState","blockLineCount","sampleCount","rafKey","blockNumber","currentRafs","scissorX","scissorY","scissorWidth","viewBoxSize","clearOnly","drawCompleted","adjustDepth","palette","unitToColor","calcPickColor","rgbIndex","makePoints","paddedUnitValues","makeVecAttr","vecIndex","pointPairs","pad2","getAttrName","setAttributes","emptyAttributes","usage","makeItem","leftmost","rightmost","itemNumber","panelSizeX","panelSizeY","crossfilterDimensionIndex","drwLayer","constraints","canvasOverdrag","canvasWidth","canvasHeight","deselectedLinesColor","deselectedLines","itemModel","resolution","viewBoxPos","dim0A","dim0B","dim0C","dim0D","dim1A","dim1B","dim1C","dim1D","contextColor","layoutWidth","layoutHeight","scissorHeight","viewportX","viewportY","viewportWidth","viewportHeight","expandedPixelRange","dh","canvasGL","initialDims","maskTexture","isContext","isPick","paletteTexture","prevAxisOrder","profile","srcRGB","dstRGB","srcAlpha","dstAlpha","equation","cull","face","dither","loA","hiA","loB","hiB","loC","hiC","loD","hiD","dNew","viewModel","makeConstraints","limits","bitMask","prevEnd","nextRange","textureData","renderGLParcoords","panels","setChanged","panelCount","lowestX","highestX","dim0","canvasX","dim1","canvasY","nextX","readPixel","readPixels","pixelArray","meta_1","RADIUS","geomReduce","geom","calculateArea","polygonArea","ringArea","p3","lowerIndex","middleIndex","upperIndex","coordsLength","AX_ID_PATTERN","axNum","AX_NAME_PATTERN","only2d","idList","idi","sceneIds3D","zaxis","subplotLists","id1","id2","letter1","letter2","makeComputeErrorValue","dataPt","arrayminus","valMinus","computeErrorValue","computeErrorValueMinus","valueminus","scatterFormatLabels","headerGroupClassName","headerClassName","headerArrowClassName","dropdownButtonGroupClassName","dropdownButtonClassName","buttonClassName","itemRectClassName","itemTextClassName","menuIndexAttrName","autoMarginIdRoot","blankHeaderOpts","minWidth","minHeight","textPadX","arrowPadX","textOffsetX","textOffsetY","arrowOffsetX","gapButtonHeader","gapButton","activeColor","hoverColor","arrowSymbol","down","vectorizeText","getGlyph","GLYPH_CACHE","fontCache","lineSpacing","styletags","breaklines","bolds","italics","subscripts","superscripts","triSymbol","lineSymbol","bnsign","parseRect","parcats","parcatsModels","IslamicCalendar","islamic","treemapcolorway","extendtreemapcolors","crawl","objIn","objOut","valIn","valOut","nestedSchema","getNestedSchema","isInfoArray","isColorscale","isInSchema","valInPart","valOutPart","arrayItems","validate","_p","_nestedSchema","indexList","valInj","valOutj","fillLayoutSchema","dataOut","layoutSchema","traceSchema","traceLayoutAttr","dataIn","transformsIn","transformsOut","transformSchema","code2msgFunc","inBase","unused","convertPathToAttributeString","splitKey","keyMinusId","idMatch","mapboxgl","createMapboxLayer","Mapbox","_glcontainer","isStatic","createFramework","accessToken","styleObj","traceHash","layerList","belowLookup","dragging","accesstoken","updateMap","createMap","getStyleObj","Map","convertCenter","bearing","pitch","interactive","doubleClickZoom","boxZoom","attributionControl","addControl","AttributionControl","compact","_canvas","rejectOnError","initFx","once","fillBelowLookup","updateData","updateLayout","resolveOnRender","hasTraceAtTop","getBelow","val2list","traceType2orderIndex","choroplethmapbox","densitymapbox","scattermapbox","styleValuesMapbox","convertStyleVal","stylesNonMapbox","styleValueDflt","styleUrlPrefix","styleUrlSuffix","traceObj","calcDataSorted","idLoop","setCenter","setZoom","setBearing","setPitch","updateLayers","updateFramework","resize","_scrollZoom","scrollZoom","onRender","loaded","handler","mapOnErrorMsg","emitUpdate","viewNow","getView","getViewEditsWithDerived","fullLayoutNow","originalEvent","optsNow","_preGUI","getViewEdits","lngLat","lng","onClickInPanFn","clickMode","oldDragOptions","onClickInPanHandler","dragPan","pxpy","unproject","getCanvas","setOptions","getMapLayers","getStyle","addLayer","mapLayers","LngLat","mapCenter","getCenter","getZoom","getBearing","getPitch","_derived","open","high","low","close","configAttributes","plotlyServerURL","annotationTail","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","titleText","autosizable","responsive","fillFrame","frameMargins","doubleClick","doubleClickDelay","showAxisRangeEntryBoxes","showTips","showLink","linkText","noBlank","sendData","showSources","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","setBackground","topojsonURL","mapboxAccessToken","logging","notifyOnLogging","queueLength","globalTransforms","SHADERS","Pointcloud2D","offsetBuffer","pickBuffer","sizeMinCap","sizeMax","areaRatio","pointCount","pickOffset","createPointcloud2D","dataBox","visiblePointCountEstimate","pointVertex","pointFragment","pickVertex","pickFragment","addObject","removeObject","dataStraightThrough","idStraightThrough","idToIndex","Int32Array","packedId","unifiedDraw","MATRIX","PICK_VEC4","dataX","dataY","basicPointSize","pickPixelRatio","pointCloud","pointSize","centerFraction","DITHER","POINTS","pointId","dataCoord","calcHover","maxDistance","minDist","ptx","pty","dist","coordEach","bardir","createThunk","Procedure","argTypes","shimArgs","arrayBlockIndices","offsetArgs","offsetArgIndex","indexArgs","shapeArgs","debug","compileCwise","user_args","proc_args","arg_type","blockIndices","printCode","blockSize","m4interp","invert44","rotateX","rotateY","rotateZ","lookAt","translate","DEFAULT_CENTER","MatrixCameraController","initialMatrix","_components","prevMatrix","nextMatrix","computedMatrix","computedInverse","computedEye","computedUp","computedCenter","computedRadius","_limits","createMatrixCameraController","recalcMatrix","tidx","mat","comps","dt","imat","idle","lastT","setMatrix","yaw","roll","tvec","dz","setDistance","setDistanceLimits","lim","getDistanceLimits","hasColorbar","colorbarDefaults","npMaybe","parentCont","colorScaleDefaults","parentContIn","parentContOut","inTrace","thisFn","colorAxes","colorbarVisuals","minIn","maxIn","validMinMax","autoColorscaleDflt","sclIn","sclTemplate","showScale","handleABDefaults","_clipPathId","validData","coordDefaults","coordStr","coordType","isValidZ","allRowsAreArrays","oneRowIsFilled","hasOneNumber","xName","yName","handleLabelDefaults","showLines","_dfltShowLegend","pz","sc","cc","getDelay","getRedrawFunc","hasPolar","hasLegacyPolar","encodeSVG","encodeURIComponent","DOM_URL","URL","webkitURL","fixBinary","createObjectURL","blob","revokeObjectURL","createBlob","Blob","binary","atob","octetStream","IMAGE_URL_PREFIX","MSG_IE_BAD_FORMAT","initial","IntersectionObserver","isIntersecting","disconnect","leading","trailing","maxWait","modifiers","$el","$once","offsetParent","__visibility__listener__","debounce","inserted","__e","__g","F","G","W","virtual","U","valueOf","rootBounds","boundingClientRect","intersectionRect","intersectionRatio","_checkForIntersections","THROTTLE_TIMEOUT","_observationTargets","_queuedEntries","_rootMarginValues","_parseRootMargin","rootMargin","thresholds","_initThresholds","detatchEvent","host","IntersectionObserverEntry","POLL_INTERVAL","USE_MUTATION_OBSERVER","some","_registerInstance","_monitorIntersections","unobserve","_unmonitorIntersections","_unregisterInstance","takeRecords","_monitoringIntersections","_monitoringInterval","_domObserver","_rootIsInDom","_getRootRect","_rootContainsTarget","_computeTargetAndRootIntersection","_hasCrossedThreshold","_expandRectByRootMargin","padAttrs","buttonsAttrs","args2","showactive","borderLine","insertBlank","hasAnyBlanks","posAttr","newEntry","prevEntry","getInterp","pt1","subplotStackOpts","_scatterStackOpts","posj","sumj","groupOpts","valAttr","stackGroup","allPositions","_rawLength","cdj","arrayPad","ppadRaw","calcAxisExpansion","relinkPrivateKeys","toContainer","fromContainer","fromVal","toVal","minLen","platform","arch","execPath","browser","env","binding","cwd","chdir","kill","umask","dlopen","uptime","memoryUsage","uvCounters","NOT_FOUND","SUCCESS","EMPTY","IntervalTreeNode","leftPoints","rightPoints","createWrapper","rebuild","ntree","createIntervalTree","rebuildWithInterval","rebuildWithoutInterval","reportLeftRange","reportRightRange","reportRange","compareNumbers","compareBegin","compareEnd","leftIntervals","rightIntervals","centerIntervals","IntervalTree","rw","lw","queryPoint","queryInterval","tproto","Events","FROM_TL","FROM_BR","getLegendData","clickOrDoubleClick","legendItem","evtData","curveNumber","expandedIndex","frames","_frames","_group","clickVal","triggerHandler","_clickTimeout","_legendMouseDownTime","dblClickVal","drawTexts","isPieLike","isEditable","maxNameLength","_maxNameLength","textEl","ensureLength","textGap","newName","fullInput","groupbyIndices","kcont","keyedContainer","constructUpdate","targetLength","setupTraceToggle","newMouseDownTime","traceToggle","getTime","_dragged","computeTextDimensions","mathjaxNode","bw","mathjaxBB","textLines","textNode","titlePad","_titleWidth","_titleHeight","getTitleSize","computeLegendDimensions","isVertical","isGrouped","bw2","itemGap","endPad","getYanchor","isBelowPlotArea","isAbovePlotArea","_maxHeight","toggleRectWidth","_height","titleSize","tracegroupgap","_lgroupsLength","getXanchor","isLeftOfPlotArea","isRightOfPlotArea","isBeyondPlotAreaY","hw","_maxWidth","maxItemWidth","combinedItemWidth","maxRowWidth","maxGroupHeightInRow","groupOffsetX","groupOffsetY","maxWidthInGroup","offsetY","oneRowLegend","maxItemHeightInRow","offsetX","rowWidth","_effHeight","expandMargin","isRightAnchor","isCenterAnchor","isBottomAnchor","isMiddleAnchor","legendData","hiddenSlices","hiddenlabels","_topdefs","clipPath","ensureSingleById","scrollBox","scrollBar","scrollBarEnterAttrs","scrollBarColor","lx","ly","autoexpand","lx0","ly0","_scrollY","eventY0","eventY1","scrollBoxY0","scrollBarHeight","scrollBarMinHeight","scrollBarYMax","scrollBarMargin","scrollBoxYMax","scrollRatio","scrollBoxY","scrollBarWidth","scrollHandler","getScrollBarDragY","getNaturalDragY","scrollBarDrag","changedTouches","ctrlKey","scrollBoxTouchDrag","clickedTrace","scatterLineAttrs","newPlot","restyle","relayout","_guiRestyle","_guiRelayout","_guiUpdate","_storeDirectGUIEdit","react","extendTraces","prependTraces","addTraces","deleteTraces","moveTraces","purge","addFrames","deleteFrames","animate","setPlotConfig","downloadImage","templateApi","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","colorAttachmentArrays","saveFBOState","fbo","FRAMEBUFFER_BINDING","rbo","RENDERBUFFER_BINDING","TEXTURE_BINDING_2D","restoreFBOState","bindRenderbuffer","RENDERBUFFER","lazyInitColorAttachments","maxColorAttachments","MAX_COLOR_ATTACHMENTS_WEBGL","COLOR_ATTACHMENT0","NONE","throwFBOError","attachment","framebufferTexture2D","initRenderBuffer","component","createRenderbuffer","renderbufferStorage","framebufferRenderbuffer","rebuildFBO","createFramebuffer","numColors","_ext","useStencil","_useStencil","useDepth","_useDepth","colorType","_colorType","_color_rb","RGBA4","drawBuffersWEBGL","WEBGL_depth_texture","UNSIGNED_INT_24_8_WEBGL","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_COMPONENT","DEPTH_ATTACHMENT","_depth_rb","DEPTH_COMPONENT16","STENCIL_INDEX","STENCIL_ATTACHMENT","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","_destroyed","deleteFramebuffer","deleteRenderbuffer","Framebuffer","reshapeFBO","maxFBOSize","MAX_RENDERBUFFER_SIZE","WEBGL_draw_buffers","OES_texture_float","stencil","ternaryAxesAttrs","linecolor","titlefont","caxis","geoAxesAttrs","lightLine","scope","rotation","parallels","showcoastlines","coastlinecolor","coastlinewidth","showland","landcolor","showocean","oceancolor","showlakes","lakecolor","showrivers","rivercolor","riverwidth","showcountries","countrycolor","countrywidth","showsubunits","subunitcolor","subunitwidth","showframe","framecolor","framewidth","thisArg","targetObj","bindingValueHasChanged","changed","computeAnimateBindings","computeLayoutBindings","bindings","attrName","computeDataBindings","thisTraces","nAttr","thisPath","manageCommandObserver","commandList","onchange","_commandObserver","lookupTable","hasSimpleAPICommandBindings","check","checkEvents","_internalOn","_removeInternalListener","bindingsByValue","refBinding","computeAPICommandBindings","executeAPICommand","_method","allArgs","inCircle","testFlip","triangulation","stack","delaunayRefine","numPoints","stars","refDxy","dpdx","dpdy","offsetMultiplier","l2","offsetMultplier","defaultScale","getScale","parseScale","isValidScaleArray","highestVal","MAJOR_AXIS","MINOR_AXIS","SCREEN_AXIS","OFFSET_VEC","SHAPE","zeroVec","copyVec","vertBuffer","tickOffset","gridCount","gridOffset","vertBuf","drawAxisLine","minorAxis","majorAxis","noffset","screenAxis","drawAxisTicks","drawZero","createSlabDecomposition","createRBTree","orderSegments","SlabDecomposition","slabs","horizontal","compareHorizontal","searchBucket","lastNode","seg","IntervalSegment","closed","Event","numSegments","numEvents","events","horiz","castUp","bucket","hitNode","lastHit","lastSegment","otherHitNode","hbucket","compareInt","aw","bulletNumberDomainSize","bulletPadding","titlePadding","horizontalPadding","boxDefaults","spanmodeDflt","handlePointsDefaults","boxWidth","boxFillColor","boxLineColor","boxLineWidth","boxVisible","meanLineColor","meanLineWidth","meanLineVisible","meanline","exactEquals","isSvgPath","pathBounds","preprocessPolygon","makeSlabs","makeIntervalTree","visitInterval","intervalSearch","buildVerticalIndex","intervalTable","segs","buildSlabSearch","lastOrientation","classifyEmpty","createClassifyVertical","testVertical","createClassifyPointDegen","testNormal","loops","numLoops","vsegments","loop","numVertices","testSlab","imageDefaults","imageIn","imageOut","gdMock","axLetters","_imgIndices","addProjectionsToD3","d3_geo_projectFeature","d3_geo_projectGeometry","geometries","d3_geo_projectGeometryType","sink","d3_geo_projectObjectType","Feature","FeatureCollection","d3_geo_projectPoints","d3_geo_projectLines","d3_geo_projectPoint","d3_geo_projectLine","lineStart","d3_geo_projectNoop","lineEnd","d3_geo_projectPolygon","polygonStart","polygonEnd","holes","ring","d3_geo_projectClockwise","d3_geo_projectContains","Point","MultiPoint","MultiLineString","Polygon","MultiPolygon","Sphere","pj","xj","yj","ε","ε2","π","halfπ","radians","degrees","sinci","asin","projectionMutator","eckert4","λ","φ","δ","cosφ","interrupt","lobes","forward","hemilobes","lobe","hemibounds","pointEqual","stream_","sphere","λ0","φ0","φ1","λ2","φ2","resample","resampled","rotateStream","sphereStream","hammerAzimuthalEqualArea","azimuthalEqualArea","hammer","hammerQuarticAuthalic","hammerProjection","coefficient","kavrayskiy7","miller","mollweideBromleyθ","Cp","θ","Cpsinθ","mollweideBromley","Cx","Cy","mollweide","SQRT2","naturalEarth","φ4","robinsonConstants","robinson","sinusoidal","aitoff","sinciα","winkel3","sinλ","sinλ_2","cosλ_2","sinφ","sin_2φ","sin2φ","cos2φ","sin2λ_2","E","δxδλ","δxδφ","δyδλ","δyδφ","denominator","δλ","δφ","innerFill","nargs","has_index","pidx","outerFill","matched","indexStr","countMatches","orders","processBlock","dtypes","carg","arrNum","offArgIndex","offArg","localStr","arrStr","reStrArr","ptrStrArr","typeSummary","summary","generateCWiseOp","blockBegin","blockEnd","loopBegin","loopEnd","loopOrders","arglist","off_arg","init_string","loopName","axisIDs","rangeSlider","rangeSliderData","_offsetShift","_rangeSliderData","bottomDepth","titleHeight","listAxes","RELATIVE_CULL_TOLERANCE","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","EventEmitter","svgToImg","emitter","Image","ieSvgError","svgBlob","h0","h1","img","isIE9orBelow","isSafari","onload","imgData","drawImage","errorMsg","onerror","cheaterslope","ascal","bscal","aval","bval","nb","adata","bdata","slope","mouseOffset","supportsPassive","coverSlip","pointerOffset","unhoverRaw","dragCover","initialTarget","rightClick","_clampFn","minDrag","_mouseDownTime","onStart","_ontouchstart","passive","ontouchstart","clampFn","onDone","onMove","MINDRAG","dxdy","_dragdata","e2","MouseEvent","createEvent","initMouseEvent","bubbles","cancelable","screenX","screenY","metaKey","relatedTarget","dispatchEvent","extractPlanes","handlePrefixSuffix","showAttrDflt","getShowAttrDflt","tickPrefix","tickSuffix","handleOtherDefaults","contColor","tickFormat","tickformatStops","inclusionAttr","tickformatstopDefaults","showAttrsAll","showAttrs","sameVal","every","valueIn","valueOut","pass","defaultMLC","noSelect","noLine","gradientType","argument","OPEN_RE","isDotSymbol","DOT_RE","heatmapHoverPoints","hoverPt","createIsosurfaceTrace","styleText","fillGroupStyle","textPointStyle","fixRegExpWellKnownSymbolLogic","requireObjectCoercible","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","nativeReplace","maybeCallNative","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","regexp","functionalReplace","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","capture","vertSrc","fragSrc","isosurfaceAttrs","surface","spaceframe","caps","opacityscale","flatshading","contour","scatterMapboxAttrs","choroplethLayer","backplot","bboxFeature","stronglyConnectedComponents","lowValue","scc","sccLinks","sccAdjList","strongConnect","linkCount","allLinks","adjacencyList","alphaShape","parseColorScale","str2RgbaArray","zip3","Mesh3DTrace","mesh","parseColorArray","toDataCoords","toRoundIndex","delaunayCells","delaunayaxis","hasValidIndices","createMesh3DTrace","_trace","handlePick","selectIndex","textLabel","zcalendar","alphahull","lightPosition","vertexNormalsEpsilon","vertexnormalsepsilon","faceNormalsEpsilon","facenormalsepsilon","contourEnable","contourColor","contourWidth","useFacetNormals","intensitymode","vertexcolor","vertexColors","facecolor","cellColors","meshColor","invalidArguments","invalidFormat","missingNumberAt","unknownNameAt","unexpectedLiteralAt","unexpectedText","settings","UNIX_EPOCH","SECS_PER_DAY","TICKS_EPOCH","TICKS_PER_DAY","ATOM","COOKIE","FULL","ISO_8601","JULIAN","RFC_822","RFC_850","RFC_1036","RFC_1123","RFC_2822","RSS","TICKS","TIMESTAMP","W3C","monthNumbers","doubled","calculateWeek","iFormat","formatNumber","formatName","shortNames","longNames","formatMonth","localiseNumbers","formatMonthName","useLongName","localNumbers","literal","parseDate","parseMonth","doy","shortYear","getNumber","isDoubled","iValue","getMonthNumber","getName","getMonthName","checkLiteral","iSave","determineDate","dateSpec","defaultDate","currentDate","offsetString","pattern","Polar","DEFAULT_VERTEX_NORMALS_EPSILON","DEFAULT_FACE_NORMALS_EPSILON","getContour","closestPoint","SimplicialMesh","triShader","lineShader","trianglePositions","triangleIds","triangleColors","triangleUVs","triangleNormals","triangleVAO","edgePositions","edgeIds","edgeColors","edgeUVs","edgeVAO","pointPositions","pointIds","pointColors","pointUVs","pointSizes","pointVAO","contourPositions","contourVAO","triangleCount","edgeCount","contourLineWidth","contourCount","ambientLight","diffuseLight","specularLight","_model","_view","_projection","_resolution","getOpacityFromScale","genColormap","nshades","unpackIntensity","numVerts","cellIntensity","numCells","takeZComponent","createMeshShader","uv","createWireShader","createPointShader","createPointPickShader","createContourShader","createSimplicialMesh","meshTexture","vertexIds","vertexWeights","wi","pb","tPos","tCol","tNor","tUVs","tIds","ePos","eCol","eUVs","eIds","pPos","pCol","pUVs","pSiz","pIds","cellNormals","vertexUVs","cellUVs","intensityLo","intensityHi","cellIntensityBounds","meshPointSize","Uint32Array","inverseModel","kambient","kdiffuse","kspecular","eyePosition","invCameraMatrix","pickData","cellId","simplex","weights","interpIntensity","errorCoords","yh","noYS","xh","noXS","hasAnimation","keyFunc","xObj","error_x","yObj","error_y","sparse","errorbars","errorbar","vis","yerror","yw","xerror","xw","copy_ystyle","earcut","holeIndices","invSize","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","signedArea","insertNode","equals","removeNode","filterPoints","again","steiner","ear","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","zOrder","prevZ","nextZ","intersects","locallyInside","isValidDiagonal","getLeftmost","compareX","eliminateHole","findHoleBridge","hx","hy","my","tanMin","sectorContainsSector","sortLinked","numMerges","pSize","qSize","inSize","intersectsPolygon","middleInside","q2","o1","o2","o3","o4","onSegment","Node","an","deviation","trianglesArea","flatten","holeIndex","sz","handleShapeDefaults","shapeIn","shapeOut","dfltType","shapeType","xSizeMode","ySizeMode","pos2r","r2pos","attrAnchor","sizeMode","_shapeIndices","rangeToShapePosition","dflt0","dflt1","attr0","attr1","in0","in1","inAnchor","noneOrAll","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","colorAttributes","asmoothing","bsmoothing","imax","jmax","f0","f1","f2","f3","ak","u3","ou","ou2","ou3","v3","ov","ov2","ov3","str2BN","createSelectBuffer","selectRange","SelectResult","SelectBuffer","_readTimeout","_readCallback","c2","c3","toMoveInsideBar","uniformText","recordMinTextSize","drawDescendants","drawAncestors","getKey","isHierarchyRoot","plotOne","findEntryWithLevel","selAncestors","selDescendants","isRoot","uniformtext","maxDepth","getMaxDepth","hasVisibleDepth","vpw","vph","barW","barH","barPad","pathbarOrigin","findClosestEdge","ref","tiling","isLeftOfRect","isRightOfRect","isBottomOfRect","isTopOfRect","prevLookupPathbar","prevLookupSlices","nextOfPrevEntry","getPrev","getOrigin","_maxDepth","_backgroundColor","_atRootLevel","cenX","cenY","viewMapX","viewMapY","barY0","barX0","viewBarX","viewBarY","xStart","limitX0","edgeshape","pathAncestor","halfH","pL","pR","pA","pB","pC","pD","pathDescendant","FILLET","hasFlag","hasBottom","hasTop","isHeader","hasRight","hasLeft","leftToRight","limY","constrained","anchorX","anchorY","interpFromParent","parentPrev","makeExitSliceInterpolator","entryPrev","prev0","getTextTransform","isEntry","cdmodule","_treemaplayer","isFullReplot","oneYear","oneMonth","oneDay","oneHour","oneMin","oneSec","biggestDigitChanged","biggestGuaranteedDigitChanged","nextDigit","didDigitChange","dateParts1","dateParts","dateParts2","disambiguateEdges","dv0","dv1","dv2","edge0","edge1","leftDigit","rightDigit","dashExclude","increment","isRightEdge","dashPos","roundedV","nextV","fromQuat","z2","yx","zx","zy","zz","wx","wy","wz","createColormap","indicies","fromrgba","torgba","nsteps","cmap","amt","rgb2hex","rgbaStr","rgb2float","dig","hex","lineColorDflt","noDash","setConvertCartesian","setConvertPolar","doAutoRange","dragBox","rad2deg","_hasClipOnAxisFalse","vangles","radialAxisAngle","clipPaths","clipIds","clipIdBase","forTraces","_polarlayer","radialTickLayout","angularTickLayout","strTickLayout","axLayout","computeSectorBBox","ax0","ay0","ax1","ay1","snapToVertexAngle","angleDist","findIndexOfMin","updateElement","strTranslate","strRotate","polarCalcData","polarLayout","generalUpdatePerTraceModule","radialLayout","angularLayout","layerNames","frontPlotIndex","layerData","isAngularAxisBelowTraces","isRadialAxisBelowTraces","xDomain","yDomain","xOffset","xLength","yLength","sectorInRad","xLength2","yLength2","xDomain2","yDomain2","sectorBBox","dxSectorBBox","dySectorBBox","arDomain","arSector","xOffset2","yOffset2","cxx","cyy","updateAngularAxis","updateRadialAxis","updateRadialAxisTitle","mockCartesianAxis","dPath","pathSubplot","bboxIndices","setRange","rl","drl","hasRoomForIt","fillViewInitialKey","setGeometry","gridPathFn","pathArc","newTickLayout","tickSign","tLayer","tLayer2","_angle","angleRad","cosa","sina","t2g","_transFn","transFn2","cosRad","sinRad","gridshape","angleDelta","isAngleInsideSector","updateAngularDrag","updateRadialDrag","updateMainDrag","MINZOOM","OFFEDGE","clampTiny","findXYatLength","findEnclosingVertexAngles","chw","cornerHalfWidth","chl","cornerLen","mainDrag","makeDragger","dimmed","lum","zb","dragOpts","xy2r","xy2a","ra2xy","pathCorner","pathSector","am","rm","pathCornerForPolygons","va0","va1","innerPts","outerPts","xy0","xy1","mperp","midPts","zoomPrep","polarLayoutNow","getLuminance","makeZoombox","makeCorners","clampAndSetR0R1","rr0","rr1","applyZoomMove","path1","cpath","transitionZoombox","updateObj","computeZoomUpdates","zoomMove","findPolygonRadius","findIntersectionXY","zoomMoveForPolygons","vangles0","vangles1","zoomDone","removeZoombox","showDoubleClickNotifier","newRng","zoomClick","dragModeNow","findPolygonOffset","rngIndex","radialDragBoxSize","ty","angle0","rbase","moveFn2","angle1","rprime","radialDrag","makeRectDragger","dvec","rvec","comp","rotateMove","rerangeMove","computeRadialAxisUpdates","dr","moduleCalcData","moduleCalcDataVisible","filterVisible","dbs","angularDragBoxSize","angularDrag","pathAnnulus","rot0","rot1","rrot1","scatterTraces","scatterPoints","scatterTextPoints","trans","trans2","isFullCircle","computeRotationUpdates","thetag","c2g","isPtInsidePolygon","isPtInsideSector","pathPolygon","pathPolygonAnnulus","formatPiePercent","vRounded","lastIndexOf","formatPieValue","getFirstFilled","castOption","itemStr","ARROWPATHS","ends","startRot","endRot","headStyle","startHeadStyle","startScale","doStart","doEnd","backOff","backoff","startBackOff","hideLine","backOffX","backOffY","startBackOffX","startbackOffY","pathlen","start0","dstart","end0","dend","shortening","drawhead","arrowHeadStyle","rot","arrowScale","noRotate","ctz","roundRat","iv","ir","ybits","lastReading","_lastValue","secondLastReading","deltaRef","lastY","relativeDelta","fromcurrent","ordering","final","columnwidth","header","bitmap","Ternary","makeFramework","aTickLayout","bTickLayout","cTickLayout","_ternarylayer","defs","layoutId","ternaryCalcData","ternaryLayout","graphSize","adjustLayout","plotbg","clipIdRelative","clipDef","clipDefRelative","plotContainer","grids","plotLayers","toplevel","whRatio","xDomainFinal","yDomainFinal","xDomainCenter","yDomainCenter","wmax","hmax","amin","bmin","yDomain0","triangleClip","triangleClipRelative","plotTransform","bTransform","bgrid","aTransform","agrid","cTransform","cgrid","drawAxes","aline","bline","cline","doTitles","titlesuffix","drawAx","apad","bpad","axLayer","counterAngle","stashKey","caRad","CLEN","BLPATH","BRPATH","TOPPATH","STARTMARKER","SHOWZOOMOUTTIP","mins0","span0","mins","dragger","clickZoomPan","plotDrag","dragDone","panPrep","makeUpdate","_mins","getAFrac","getBFrac","getCFrac","afrac","bfrac","cfrac","xSpan","dxScaled","dyScaled","minsorted","minindices","plotTransform2","mouseButtons","mouseElement","srcElement","mouseRelativeX","mouseRelativeY","handleRThetaDefaults","createGLPlot2D","createPick","createGrid","createText","createBox","GLPlot2D","gridLineEnable","gridLineWidth","gridLineColor","tickMarkLength","tickMarkWidth","tickMarkColor","tickPad","tickEnable","labelPad","labelAngle","labelEnable","labelColor","titleCenter","titleEnable","titleAngle","titleColor","zeroLineEnable","zeroLineWidth","zeroLineColor","borderLineEnable","borderLineWidth","borderLineColor","_tickBounds","static","pickDelay","_pickTimeout","_drawPick","_depthCounter","deepClone","compareTicks","setDirty","setOverlayDirty","nextDepthValue","viewPixels","zeroIntercept","drawTickMarks","scrX","scrY","pickResult","pickValue","setScreenBox","nbox","setDataBox","different","setViewBox","axisTicks","labelSize","labelFont","titleFont","addOverlay","removeOverlay","SIMPLE_PROPERTY_REGEX","NAME","VALUE","BOTH","UNSET","baseObj","keyName","valueName","baseProp","changeTypes","indexLookup","isSimpleValueProp","changeType","newValue","rename","createBoxes","Boxes","boxVert","drawBox","loX","loY","hiX","hiY","scatterPolarFormatLabels","possibleTypes","tarjan","isIndex","convertToD3Sankey","linkSpec","hasLinkColorArray","linkedNodes","componentCount","colorscales","maxNodeId","nodeCount","groupLookup","nodeIndex","groupedLinks","concentrationscale","totalCount","hasNodeColorArray","childrenNodes","circularityPresent","nodeLen","sources","targets","init2dArray","_nodes","_links","_groups","_groupLookup","GLSpikes2D","createSpikes2D","spikeEnable","spikeWidth","spikeColor","spikeCenter","centerX","centerY","ArrayIterator","kind","__kind__","prettyPrint","spacing","stepStr","sigFigs","xstr","xis","defaultTicks","ticksEqual","ticksA","ticksB","equal","IndexedObject","nativeAssign","alphabet","chr","argumentsLength","createTextElements","getText","TextElements","tickX","labelCount","textVert","textFrag","DATA_AXIS","SCREEN_OFFSET","ZERO_2","textAngle","screenScale","dataAxis","screenOffset","titleCount","titleOffset","DATA_SHIFT","DATA_SCALE","TEXT_SCALE","boundScale","dataCenter","dataWidth","viewLo","viewHi","viewScale","screenLo","screenHi","dataShift","textScale","textCoordinate","axesTicks","coordScale","coordShift","divide","images","currentPos","currentSize","newPos","newSize","createOrbitController","filterVector","mat4FromQuat","quatFromFrame","len3","len4","normalize4","al","OrbitCameraController","initQuat","initCenter","initRadius","computedRotation","quat","rr","getMatrix","uz","ul","rz","ru","fz","fu","fr","fl","fromJSON","transformMat4","pickSrc","createPickContourShader","_undefined","fixup","pcompile","makeOp","assign_ops","band","bor","bxor","lshift","rshift","rrshift","unary_ops","not","bnot","recip","binary_ops","neq","leq","geq","math_unary","math_comm","math_noncomm","any","prod","norm2squared","norm2","norminf","norm1","inf","argmin","argmax","assigns","webpackPolyfill","isPrototype","FROM_BL","plots","plotBasePlot","cleanBasePlot","OHLCattrs","boxAttrs","lineColorDefault","showLabels","globalFont","CONVERT_TO_STRING","second","codeAt","generated","originalArray","EPOCHJD","utcFormat","DATETIME_REGEXP","DATETIME_REGEXP_CN","YFIRST","isWorldCalendar","lpad","sunday","isJSDate","tzOffset","getTimezoneOffset","offsetTweak","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getMilliseconds","isWorld","isChinese","H","cDate","calInstance","isIntercalary","toMonthIndex","UTC","setUTCFullYear","getUTCMonth","getUTCDate","NINETYDAYS","THREEHOURS","FIVEMIN","includeTime","msec10","dateJD","timeMs","getUTCHours","ms2DateTimeLocal","fracMatch","modDateFormat","formatter","fracSecs","toFixed","MAXSECONDS","formatTime","timePart","timeStr","sec","secStr","extraFormat","THREEDAYS","dMonth","setUTCMonth","hiddenStore","createStore","INCREASING_COLOR","DECREASING_COLOR","baseTraceAttrs","valObjectDef","valObjectMeta","validateFunction","propMock","coerceFunction","data_array","propOut","enumerated","string","okToCoerce","strict","colorlist","isColor","subplotid","flaglist","vParts","info_array","coercePart","propPart","twoD","vNew","vOut","arrayItems2D","innerItemsOnly","attribute","propIn","dfltObj","coerceHoverinfo","moduleAttrs","valObj","_dataLength","smoDflt","usmoDflt","bnsub","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","inputToRGB","_originalInput","_g","_roundA","_format","_gradientType","_ok","_tc_id","stringInputToObject","isValidCSSUnit","rgbToRgb","convertToPercentage","hsvToRgb","hslToRgb","boundAlpha","bound01","rgbToHsl","hue2rgb","rgbToHsv","rgbToHex","allow3Char","rgbaToHex","allow4Char","convertDecimalToHex","rgbaToArgbHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","part","monochromatic","hsv","toHsv","modification","isDark","getBrightness","isLight","getOriginalInput","getFormat","getAlpha","RsRGB","GsRGB","BsRGB","setAlpha","toHsvString","toHslString","toHex","toHexString","toHex8","toHex8String","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","needsAlphaFormat","_applyModification","_applyCombination","fromRatio","color1","color2","mix","rgb1","rgb2","readability","isReadable","wcag2","wcag2Parms","validateWCAG2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flipped","isOnePointZero","processPercent","isPercentage","parseIntFromHex","convertHexToDecimal","matchers","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","hsva","hex3","hex6","hex4","hex8","named","parms","brackets","escape","flat","bracket","pRE","replaceToken","refId","prevStr","replaceRef","curr","parenthesis","thicknessmode","lenmode","xpad","ypad","outlinecolor","outlinewidth","titleside","handleLonLatDefaults","isOutOfBounds","coerceEnumerated","arrayOrScalar","getLineWidth","mlw","baseAttributes","frameAttributes","animationAttributes","polarAreaAttrs","polarAxisAttrs","editTypes","IS_SUBPLOT_OBJ","IS_LINKED_TO_ARRAY","ARRAY_ATTR_REGEXPS","DEPRECATED","UNDERSCORE_ATTRS","layoutHeadAttr","basePlotModules","baseOverrides","recurseIntoValObject","valObject","newValObject","getTraceAttributes","copyBaseAttributes","copyModuleAttributes","fullAttrString","legendgroup","formatAttributes","isValObject","getLayoutAttributes","handleBasePlotModule","assignPolarLayoutAttrs","xkey","insertAttrs","getTransformAttributes","getFramesAttributes","mergeValTypeAndRole","formatArrayContainers","makeSrcAttr","role","itemName","newAttrs","valObjects","metaKeys","animation","specifiedLevel","attrString","findArrayAttributes","baseContainer","baseAttrName","arrayAttributes","isArrayStack","splittableAttr","crawlIntoTrace","astrPartial","newAstrPartial","tNum","objToString","heatmapPlot","makeCrossings","findAllPaths","emptyPathinfo","convertToConstraints","closeBoundaries","costConstants","LABELOPTIMIZER","makeBackground","plotgroup","perimeter","bggroup","bgfill","makeFills","hasFills","boundaryPath","fillgroup","fillitems","fullpath","prefixBoundary","joinAllPaths","endpt","newendpt","nexti","possiblei","addpath","startsleft","newloop","istop","isbottom","isleft","isright","smoothopen","ptNew","smoothclosed","makeLinesAndLabels","lineContainer","clipLinesForLabels","linegroup","lineClip","createLineClip","labelGroup","labelClipPathData","labelData","contourFormat","labelFormatter","dummyText","xLen","yLen","xRng","yRng","xMin","xMax","yMin","yMax","plotDiagonal","normLength","LABELDISTANCE","LABELINCREASE","calcTextOpts","LABELMIN","maxLabels","LABELMAX","findBestTextLocation","addLabelData","locationCost","halfWidth","halfHeight","normX","normY","cost","EDGECOST","ANGLECOST","labeli","dxd","dyd","sameLevel","distOffset","SAMELEVELDISTANCE","distFactor","NEIGHBORCOST","SAMELEVELFACTOR","clipGaps","clips","clipPathInfo","makeClipMask","emptyPoint","zmask","cdcontours","contourLayer","heatmapColoringLayer","cdheatmaps","leftedge","rightedge","bottomedge","topedge","fillPathinfo","makeLines","opencontourlines","pedgepaths","closedcontourlines","ppaths","formatAxis","_axis","plotBounds","INITIALSEARCHPOINTS","ITERATIONS","newLocation","newCost","MAXCOST","dxw","dxh","dyw","dyh","bBoxPts","lineClipPath","pieHelpers","parentString","isSunburst","isTreemap","_hasHoverLabel","_hasHoverEvent","onMouseOver","traceNow","ptNumber","getParent","_cast","castHoverinfo","hoverCenterX","hoverCenterY","pxmid","rInscribed","flag","valueLabel","currentPath","getPath","allPercents","insertPercent","percentParent","formatPercent","percentEntry","percentRoot","isValidTextValue","hoverItems","nameLength","hovertemplateLabels","rpx1","idealAlign","onMouseOut","noTransition","isLeaf","nextEntry","findEntryWithChild","nextLevel","typeClickEvtData","animOpts","g_ln","p_ln","lngamma","gamma","NATIVE_WEAK_MAP","objectHas","sharedKey","enforce","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","filterUnique","createParcatsModel","maxCats","createDimensionModel","dimensionInd","containerInd","displayInd","dimensionLabel","dragX","createCategoryModel","categoryInd","categoryValue","categoryLabel","valueInds","dragY","updateCategoryModel","categoryModel","valueInd","createPathModel","categoryInds","rawColor","updatePathModel","pathModel","getUniqueInfo","uniqueValues","uniqueValueCounts","uniqueValueInds","inds","uniqueVal","valInd","itemInd","uniqueCounts","validateDimensionDisplayInds","displayInds","displayindex","isRangePermutation","_displayindex","validateCategoryProperties","uniqueInfoDim","_categoryarray","_ticktext","indsSpecified","uniqueInfoDims","categoryValues","categoryorder","categoryarray","dimInd","markerColorscale","getMarkerColorInfo","tryColorscale","numValues","pathModels","categoryIndsDims","categoryIndsPath","pathColorInfo","pathKey","dimensionModels","catInd","catValue","catLabel","getPos","posAxis","hasPosArray","hasPos0","hasPosStep","pos0c","makeBins","initNestedArray","valAxis","numKey","boxVals","posArray","posDistinct","dPos","ptFilterFn","lf","uf","_hasPreCompStats","valArrayRaw","med","sortByVal","computeLowerFence","computeUpperFence","computeLowerOutlierBound","uo","computeUpperOutlierBound","computeNotchSpan","ln","un","imin","pts2","valArray","posBins","ptsPerBin","minLowerNotch","maxUpperNotch","usesExclusive","usesInclusive","lower","mci","TRACE_TO_CALC","scaleZoom","makePadFn","concatExtremes","getConstraintOpts","thisID","allAxisIds","idj","axj","doesNotConstrainRange","linkableAxes","counterAxj","thisGroup","linkableAxesNoLoops","updateConstraintGroups","constraintGroups","scaleanchor","scaleratio","groupi","keyj","thisGroupIndex","thisGroupKeys","baseScale","updateDomain","inputDomain","_inputDomain","constraintoward","matchOpts","scaleOpts","scaleanchorDflt","constrainDflt","_axisConstraintGroups","splomStash","axisID","normScale","minScale","maxScale","matchScale","normScales","hasAnyDomainConstraint","_inputRange","_constraintShrinkable","domainShrunk","rangeShrunk","rangeCenter","rangeMin","rangeMax","halfRange","outerMin","outerMax","getPad","extremes","minArray","maxArray","domainExpand","isConstrained","isView","DataView","_rowLength","len0","_constructor","arg0","argi","leni","allArray","totalLen","_requestRangeslider","rangeContainerIn","rangeContainerOut","yNames","rangemodeDflt","yAxOut","rangeMode","coerceRange","isCanvas","isElement","createCanvas","VectorMesh","triangleVectors","vector","createVectorMesh","tVec","velocity","surfaceAttrs","perStackAttrs","stackOpts","firstTrace","attrFound","traceHasAttr","isOrientation","trace2","heatmapCalc","zOut","cVals","min0","max0","isLeftAnchor","isTopAnchor","COMPARISON_OPS","CONSTRAINT_REDUCTION","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","hr","checkCollinear","modModule","twoPI","aBnds","rBnds","_path","aStart","aMid","aEnd","rStart","rEnd","isCircle","largeArc","d3_arraySlice","d3_array","d3_document","d3_documentElement","d3_window","defaultView","setProperty","d3_element_prototype","Element","d3_element_setAttribute","d3_element_setAttributeNS","setAttributeNS","d3_style_prototype","CSSStyleDeclaration","d3_style_setProperty","space","d3_ascending","d3_number","d3_numeric","d3_bisector","descending","quantile","numbers","variance","d3_bisect","d3_transposeLength","bisectLeft","bisect","bisectRight","bisector","shuffle","indexes","permutes","merged","d3_range_integerScale","d3_class","d3_Map","d3_map_proto","d3_map_zero","d3_map_escape","d3_map_unescape","d3_map_has","d3_map_remove","d3_map_keys","d3_map_size","d3_map_empty","d3_Set","d3_identity","d3_rebind","d3_vendorSymbol","d3_vendorPrefixes","prefixName","sortValues","rollup","mapType","keyValue","setter","valuesByKey","sortKey","keyMap","d3_noop","d3_dispatch","d3_dispatch_event","listeners","listenerByName","listener","d3_eventPreventDefault","d3_eventSource","d3_eventDispatch","of","thiz","argumentz","e1","requote","d3_requote_re","d3_subclass","__proto__","d3_selection","d3_selectionPrototype","d3_select","d3_selectAll","querySelectorAll","d3_selectMatches","d3_selectMatcher","Sizzle","matchesSelector","d3_selection_selector","d3_selection_selectorAll","subgroup","subnode","subgroups","d3_nsXhtml","d3_nsPrefix","xhtml","xlink","xml","d3_selection_attr","attrNull","removeAttribute","attrNullNS","removeAttributeNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","qualify","d3_collapse","d3_selection_classedRe","d3_selection_classes","d3_selection_classed","d3_selection_classedName","classedConstant","classedFunction","classList","d3_selection_style","styleNull","removeProperty","styleConstant","styleFunction","d3_selection_property","propertyNull","propertyConstant","propertyFunction","d3_selection_creator","namespace","namespaceURI","createNS","d3_selectionRemove","d3_selection_dataNode","d3_selection_filter","d3_selection_sortComparator","comparator","d3_selection_each","d3_selection_enter","d3_selection_enterPrototype","getAttributeNS","innerHTML","before","groupData","nodeData","updateNodes","enterNodes","exitNodes","nodeByKeyValue","keyValues","nextSibling","d3_selection_enterInsertBefore","d3_selection_on","d3_selection_onListener","d3_selection_onFilters","onRemove","onAdd","d3_selection_onFilter","upgroup","mouseenter","mouseleave","related","compareDocumentPosition","d3_event_dragSelect","d3_event_dragId","d3_event_dragSuppress","suppressClick","d3_mousePoint","d3_mouse_bug44083","ownerSVGElement","createSVGPoint","scrollX","border","ctm","getScreenCTM","pageX","pageY","matrixTransform","clientLeft","clientTop","d3_behavior_dragTouchId","identifier","touch","touches","mousedown","touchstart","subject","dragOffset","correspondingElement","dragged","dragId","dragName","dragSubject","moved","ended","dragRestore","position0","position1","τ","τε","d3_radians","d3_degrees","d3_sgn","d3_cross2d","d3_acos","d3_asin","d3_sinh","d3_cosh","d3_tanh","d3_haversin","ρ","ρ2","ρ4","interpolateZoom","ux0","uy0","ux1","uy1","coshr0","translate0","center0","mousewheelTimer","touchtime","scaleExtent","d3_behavior_zoomInfinity","zooming","mouseup","mousedowned","d3_behavior_zoomWheel","mousewheeled","dblclicked","touchstarted","scaleTo","translateTo","zoomTo","__chart__","rescale","zoomstarted","zoomed","zoomended","location0","d3_selection_interrupt","scale0","locations0","distance0","zoomName","touchmove","touchend","relocate","started","LN2","distance1","scale1","d3_behavior_zoomDelta","deltaMode","wheelDelta","view1","d3_transitionInheritId","tween","d3_color","d3_hsl","d3_rgb_parse","d3_rgb_hsl","d3_hslPrototype","d3_hsl_rgb","m2","d3_rgb","d3_hcl","d3_lab_hcl","d3_lab","d3_rgb_lab","brighter","hcl","d3_hclPrototype","d3_hcl_lab","d3_lab_K","lab","d3_lab_X","d3_lab_Y","d3_lab_Z","d3_labPrototype","d3_lab_rgb","d3_lab_xyz","d3_xyz_rgb","d3_xyz_lab","d3_rgbNumber","d3_rgbString","d3_rgbPrototype","d3_rgb_hex","d3_rgb_parseNumber","d3_rgb_names","d3_rgb_xyz","d3_functor","d3_xhrType","response","mimeType","d3_xhr","xhr","headers","request","XMLHttpRequest","responseType","respond","d3_xhrHasResponse","load","XDomainRequest","onreadystatechange","readyState","onprogress","send","setRequestHeader","overrideMimeType","beforesend","abort","d3_xhr_fixCallback","responseText","functor","dsv","delimiter","reFormat","delimiterCode","typedResponse","formatRow","parseRows","eol","EOL","EOF","I","formatRows","fieldSet","fields","field","csv","tsv","d3_timer_queueHead","d3_timer_queueTail","d3_timer_interval","d3_timer_timeout","d3_timer_frame","d3_timer","d3_timer_step","d3_timer_mark","d3_timer_sweep","d3_format_precision","d3_formatPrefixes","d3_formatPrefix","d3_locale_numberFormat","locale_decimal","locale_thousands","locale_grouping","locale_currency","formatGroup","specifier","d3_format_re","zfill","comma","d3_format_types","d3_format_typeDefault","zcomma","fullSuffix","formatPrefix","after","toExponential","d3_time","d3_date","d3_date_utc","getDay","getUTCDay","getUTCFullYear","setDate","d3_time_prototype","setUTCDate","setDay","setUTCDay","setFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setMonth","setUTCSeconds","setTime","d3_time_interval","range_utc","d3_time_interval_utc","d3_locale_timeFormat","locale_dateTime","locale_date","locale_time","locale_periods","locale_days","locale_shortDays","locale_months","locale_shortMonths","d3_time_format","d3_time_formatPads","d3_time_formats","L","Z","d3_time_parse","localZ","d3_time_parsers","multi","d3_time_formatMulti","d3_time_periodLookup","d3_time_dayRe","d3_time_formatRe","d3_time_dayLookup","d3_time_formatLookup","d3_time_dayAbbrevRe","d3_time_dayAbbrevLookup","d3_time_monthRe","d3_time_monthLookup","d3_time_monthAbbrevRe","d3_time_monthAbbrevLookup","d3_time_formatPad","sundayOfYear","mondayOfYear","d3_time_zone","d3_time_parseWeekdayAbbrev","d3_time_parseWeekday","d3_time_parseMonthAbbrev","d3_time_parseMonth","d3_time_parseLocaleFull","d3_time_parseDay","d3_time_parseHour24","d3_time_parseDayOfYear","d3_time_parseMilliseconds","d3_time_parseMonthNumber","d3_time_parseMinutes","d3_time_parseAmPm","d3_time_parseSeconds","d3_time_parseWeekNumberSunday","d3_time_parseWeekdayNumber","d3_time_parseWeekNumberMonday","d3_time_parseLocaleDate","d3_time_parseLocaleTime","d3_time_parseYear","d3_time_parseFullYear","d3_time_parseZone","d3_time_parseLiteralPercent","years","week","weeks","d3_time_numberRe","d3_time_percentRe","d3_time_expandYear","zh","zm","formats","d3_locale_enUS","d3_adder","d3_adderSum","d3_adderTemp","av","d3_geo_streamGeometry","d3_geo_streamGeometryType","d3_geo_streamObjectType","d3_geo_streamLine","d3_geo_streamPolygon","GeometryCollection","coordinate","d3_geo_areaSum","d3_geo_area","d3_geo_centroidW0","d3_geo_centroidW1","d3_geo_centroidX0","d3_geo_centroidY0","d3_geo_centroidZ0","d3_geo_centroidX1","d3_geo_centroidY1","d3_geo_centroidZ1","d3_geo_centroidX2","d3_geo_centroidY2","d3_geo_centroidZ2","d3_geo_areaRingSum","d3_geo_areaRingStart","λ00","φ00","cosφ0","sinφ0","nextPoint","dλ","sdλ","adλ","d3_geo_cartesian","spherical","d3_geo_cartesianDot","d3_geo_cartesianCross","d3_geo_cartesianAdd","d3_geo_cartesianScale","d3_geo_cartesianNormalize","d3_geo_spherical","d3_geo_sphericalEqual","λ1","λ_","λ__","φ__","dλSum","bound","ringPoint","ringStart","ringEnd","linePoint","equatorial","inflection","λi","antimeridian","φi","compareRanges","withinRange","best","centroid","d3_geo_centroid","d3_geo_centroidPoint","d3_geo_centroidLineStart","d3_geo_centroidLineEnd","d3_geo_centroidRingStart","d3_geo_centroidPointXYZ","d3_geo_compose","compose","d3_true","d3_geo_clipPolygon","clipStartInside","d3_geo_clipPolygonIntersection","d3_geo_clipPolygonLinkCircular","isSubject","other","d3_geo_clip","pointVisible","clipLine","clipStart","rotatedClipStart","pointRing","d3_geo_pointInPolygon","polygonStarted","d3_geo_clipSort","pointLine","d3_geo_clipBufferListener","ringListener","ringSegments","d3_geo_clipSegmentLength1","rejoin","d3_geo_clipAntimeridian","d3_geo_clipAntimeridianLine","d3_geo_clipAntimeridianInterpolate","sλ0","sλ1","d3_geo_clipAntimeridianIntersect","cosφ1","sinλ0_λ1","meridian","parallel","meridianNormal","polarAngle","point0","intersection","φarc","d3_geo_clipCircle","cr","smallRadius","notHemisphere","d3_geo_circleInterpolate","v00","point2","point1","two","n1","n2","n2n2","n1n2","n1xn2","polar","d3_geom_clipLine","d3_geo_clipExtentMAX","d3_geo_clipExtent","x__","y__","v__","x_","y_","v_","listener_","bufferListener","insidePolygon","wn","comparePoints","ca","d3_geo_conic","projectAt","d3_geo_projectionMutator","d3_geo_conicEqualArea","ρ0","ρ0_y","clipExtent","conicEqualArea","albers","albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","lower48Stream","alaskaStream","hawaiiStream","d3_geo_pathAreaSum","d3_geo_pathAreaPolygon","d3_geo_pathBoundsX0","d3_geo_pathBoundsY0","d3_geo_pathBoundsX1","d3_geo_pathBoundsY1","d3_geo_pathArea","d3_geo_pathAreaRingStart","x00","y00","d3_geo_pathBounds","d3_geo_pathBoundsPoint","d3_geo_pathBuffer","pointCircle","d3_geo_pathBufferCircle","pointLineStart","lineEndPolygon","pointRadius","d3_geo_lengthSum","d3_geo_pathCentroid","d3_geo_pathCentroidPoint","d3_geo_pathCentroidLineStart","d3_geo_pathCentroidLineEnd","d3_geo_pathCentroidRingStart","d3_geo_pathContext","d3_geo_resample","δ2","cosMinDistance","resampleRecursive","resampleNone","d3_geo_transformPoint","b00","resampleLineTo","dx2","dy2","d3_geo_pathProjectStream","d3_geo_projectionRadians","d3_geo_transform","d3_geo_projection","projectRotate","δx","δy","projectResample","δγ","preclip","postclip","clipAngle","d3_geo_rotation","invalidate","d3_geo_equirectangular","d3_geo_identityRotation","d3_geo_rotationλ","d3_geo_rotationφγ","d3_geo_forwardRotationλ","cosδφ","sinδφ","cosδγ","sinδγ","sr","d3_geo_circleAngle","d3_geo_graticuleX","d3_geo_graticuleY","d3_source","d3_target","d3_geo_interpolate","cy0","sy0","cy1","sy1","kx0","ky0","kx1","ky1","projectStream","contextStream","cacheStream","methods","equirectangular","Δλ","sinΔλ","cosΔλ","sinφ1","graticule","X1","X0","Y1","Y0","DX","DY","majorExtent","minorExtent","majorStep","minorStep","greatArc","source_","target_","d3_geo_length","d3_geo_lengthLineStart","d3_geo_azimuthal","azimuthal","cosλ","sinc","cosc","d3_geo_azimuthalEqualArea","cosλcosφ","d3_geo_azimuthalEquidistant","d3_geo_conicConformal","d3_geo_mercator","d3_geo_conicEquidistant","azimuthalEquidistant","conicConformal","conicEquidistant","d3_geo_gnomonic","d3_geo_mercatorProjection","clipAuto","gnomonic","mercator","d3_geo_orthographic","orthographic","d3_geo_stereographic","d3_geo_transverseMercator","d3_geom_pointX","d3_geom_pointY","d3_geom_hullUpper","hs","d3_geom_hullOrder","stereographic","transverseMercator","flippedPoints","skipLeft","skipRight","d3_geom_polygonPrototype","d3_geom_polygonInside","d3_geom_polygonIntersect","x43","y43","ua","d3_geom_polygonClosed","d3_geom_voronoiEdges","d3_geom_voronoiCells","d3_geom_voronoiBeaches","d3_geom_voronoiFirstCircle","d3_geom_voronoiCircles","d3_geom_voronoiBeachPool","d3_geom_voronoiCirclePool","d3_geom_voronoiBeach","d3_geom_voronoiRedBlackNode","site","d3_geom_voronoiCreateBeach","beach","d3_geom_voronoiDetachBeach","d3_geom_voronoiDetachCircle","d3_geom_voronoiRemoveBeach","disappearing","lArc","iArc","nArcs","d3_geom_voronoiSetEdgeEnd","d3_geom_voronoiCreateEdge","d3_geom_voronoiAttachCircle","d3_geom_voronoiAddBeach","dxl","dxr","directrix","d3_geom_voronoiLeftBreakPoint","d3_geom_voronoiRightBreakPoint","newArc","lSite","rSite","hb","hc","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","d3_geom_voronoiCell","d3_geom_voronoiCloseCells","iHalfEdge","halfEdges","nHalfEdges","iCell","d3_geom_voronoiHalfEdge","d3_geom_voronoiCreateBorderEdge","d3_geom_voronoiHalfEdgeOrder","d3_geom_voronoiCircle","cSite","ha","d3_geom_voronoiClipEdges","d3_geom_voronoiConnectEdge","vb","fm","fb","va","d3_geom_voronoiEdge","d3_geom_voronoiRedBlackTree","d3_geom_voronoiRedBlackRotateLeft","d3_geom_voronoiRedBlackRotateRight","d3_geom_voronoiRedBlackFirst","d3_geom_voronoi","sites","d3_geom_voronoiVertexOrder","diagram","grandpa","uncle","sibling","voronoi","d3_geom_voronoiClipExtent","d3_geom_voronoiTriangleArea","d3_geom_quadtreeCompatX","d3_geom_quadtreeCompatY","d3_geom_quadtreeNode","d3_geom_quadtreeVisit","d3_geom_quadtreeFind","minDistance2","distance2","d3_interpolateRgb","ag","br","d3_interpolateObject","d3_interpolate","d3_interpolateNumber","d3_interpolateString","bm","d3_interpolate_numberA","d3_interpolate_numberB","delaunay","compat","x1_","y1_","x2_","y2_","nx","ny","insertChild","nPoint","interpolateRgb","interpolateObject","interpolateNumber","interpolateString","interpolators","d3_interpolateArray","interpolateArray","d3_ease_default","d3_ease","d3_ease_poly","d3_ease_quad","cubic","d3_ease_cubic","d3_ease_sin","d3_ease_exp","d3_ease_circle","elastic","d3_ease_elastic","back","d3_ease_back","bounce","d3_ease_bounce","d3_ease_mode","d3_ease_reverse","d3_ease_reflect","d3_ease_clamp","d3_ease_cubicInOut","d3_interpolateHcl","bh","d3_interpolateHsl","d3_interpolateLab","aa","d3_interpolateRound","d3_transform","kx","d3_transformNormalize","kz","d3_transformDot","d3_transformCombine","skew","interpolateHcl","interpolateHsl","interpolateLab","interpolateRound","d3_transformIdentity","d3_interpolateTransformPop","d3_interpolateTranslate","ta","tb","d3_interpolateRotate","ra","d3_interpolateSkew","d3_interpolateScale","ka","kb","d3_interpolateTransform","d3_uninterpolateNumber","d3_uninterpolateClamp","d3_layout_bundlePath","lca","d3_layout_bundleLeastCommonAncestor","d3_layout_bundleAncestors","ancestors","aNodes","bNodes","aNode","bNode","sharedNode","d3_layout_forceDragstart","fixed","d3_layout_forceDragend","d3_layout_forceMouseover","d3_layout_forceMouseout","d3_layout_forceAccumulate","charges","charge","pointCharge","interpolateTransform","bundle","chord","chords","sortGroups","sortSubgroups","sortChords","groupSums","subgroupIndex","dj","subindex","resort","friction","linkDistance","d3_layout_forceLinkDistance","linkStrength","d3_layout_forceLinkStrength","chargeDistance2","d3_layout_forceChargeDistance2","repulse","dw","dn","dragmove","resume","chargeDistance","neighbors","candidates","d3_layout_hierarchyRebind","d3_layout_hierarchyLinks","d3_layout_hierarchyVisitBefore","d3_layout_hierarchyVisitAfter","nodes2","d3_layout_hierarchyChildren","d3_layout_hierarchyValue","d3_layout_hierarchySort","childs","revalue","pie","d3_layout_pieSortByValue","padAngle","arcs","d3_layout_stackX","d3_layout_stackY","d3_layout_stackOut","d3_layout_stackOrderDefault","d3_layout_stackOffsetZero","series","d3_layout_stackOrders","d3_layout_stackOffsets","d3_layout_stackMaxIndex","sums","d3_layout_stackReduceSum","tops","bottoms","silhouette","wiggle","s2","s3","o0","zero","d3_layout_stackSum","d3_layout_histogramBinSturges","d3_layout_histogramBinFixed","d3_layout_histogramRange","d3_layout_packSort","d3_layout_packInsert","_pack_next","_pack_prev","d3_layout_packSplice","d3_layout_packIntersects","d3_layout_packSiblings","d3_layout_packLink","d3_layout_packPlace","isect","d3_layout_packUnlink","d3_layout_packTransform","d3_layout_treeSeparation","d3_layout_treeLeft","d3_layout_treeRight","d3_layout_treeMove","wm","wp","d3_layout_treeShift","d3_layout_treeAncestor","vim","ancestor","d3_layout_clusterY","d3_layout_clusterX","d3_layout_clusterLeft","d3_layout_clusterRight","d3_layout_treemapPadNull","d3_layout_treemapPad","d3_scaleExtent","d3_scaleRange","rangeExtent","d3_scale_bilinear","uninterpolate","d3_scale_nice","nice","d3_scale_niceStep","d3_scale_niceIdentity","histogram","frequency","valuer","ranger","binner","bin","separation","nodeSize","root0","root1","wrapTree","firstWalk","secondWalk","sizeNode","node1","siblings","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","cluster","previousNode","treemap","stickies","sticky","squarify","score","remaining","worst","stickify","rmax","rmin","padFunction","padConstant","σ","logNormal","bates","irwinHall","d3_scale_polylinear","d3_scale_linear","rangeRound","d3_scale_linearTicks","d3_scale_linearTickFormat","d3_scale_linearNice","d3_scale_linearRebind","d3_scale_linearTickRange","d3_scale_linearPrecision","d3_scale_linearFormatPrecision","d3_scale_linearFormatSignificant","d3_scale_log","niced","d3_scale_logNiceNegative","d3_scale_logFormat","d3_scale_pow","powp","d3_scale_powPow","powb","d3_scale_ordinal","rangeBand","rangePoints","rangeRoundPoints","rangeBands","outerPadding","rangeRoundBands","d3_category10","d3_category20","category20b","d3_category20b","category20c","d3_category20c","d3_scale_quantile","quantiles","invertExtent","d3_scale_quantize","d3_scale_threshold","d3_scale_identity","d3_zero","quantize","d3_svg_arcInnerRadius","d3_svg_arcOuterRadius","cornerRadius","padRadius","d3_svg_arcAuto","d3_svg_arcStartAngle","d3_svg_arcEndAngle","d3_svg_arcPadAngle","circleSegment","d3_svg_arcSweep","rc1","rc0","oc","kc","lc","t30","d3_svg_arcCornerTangents","t12","t03","ox","oy","cx0","cx1","d3_svg_line","defined","d3_svg_lineLinear","interpolateKey","tension","d3_svg_lineInterpolators","d3_svg_lineLinearClosed","d3_svg_lineStep","d3_svg_lineStepBefore","d3_svg_lineStepAfter","basis","d3_svg_lineBasis","d3_svg_lineBasisOpen","d3_svg_lineBasisClosed","d3_svg_lineBundle","cardinal","d3_svg_lineCardinal","d3_svg_lineCardinalOpen","d3_svg_lineCardinalClosed","monotone","d3_svg_lineMonotone","d3_svg_lineHermite","d3_svg_lineCardinalTangents","tangents","lp","d3_svg_lineDot4","d3_svg_lineBasisBezier3","d3_svg_lineBasisBezier","d3_svg_lineBasisBezier1","d3_svg_lineBasisBezier2","d3_svg_lineSlope","d3_svg_lineFiniteDifferences","d3_svg_lineMonotoneTangents","d3_svg_lineRadial","d3_svg_area","interpolateReverse","points0","points1","fx0","fy0","fx1","fy1","d3_svg_chordRadius","d3_svg_diagonalProjection","d3_svg_diagonalRadialProjection","d3_svg_symbolSize","d3_svg_symbolType","d3_svg_symbolCircle","projection_","d3_svg_symbols","d3_svg_symbolTan30","d3_svg_symbolSqrt3","d3_transitionId","d3_transitionNamespace","d3_transitionInherit","d3_transitionNode","d3_transition","d3_selection_interruptNS","lock","activeId","d3_transitionPrototype","d3_transition_tween","d3_transition_text","tweens","schedule","elapsed","cancelId","subnodes","nameNS","attrTweenNS","styleTween","inheritId","id0","tickFormat_","d3_svg_axisDefaultOrient","innerTickSize","outerTickSize","tickPadding","tickArguments_","tickValues","tickTransform","tickEnter","tickExit","tickUpdate","pathUpdate","lineEnter","lineUpdate","textEnter","textUpdate","d3_svg_axisX","d3_svg_axisY","d3_svg_axisOrients","tickSubdivide","xExtentDomain","yExtentDomain","xExtent","yExtent","xClamp","yClamp","resizes","d3_svg_brushResizes","brushstart","d3_svg_brushCursor","gUpdate","backgroundUpdate","redrawX","redrawY","eventTarget","event_","resizing","resizingX","resizingY","keydown","keyup","brushmove","brushend","ex","ey","keyCode","move1","extent1","extent0","d3_time_formatUtc","d3_time_formatIso","d3_time_formatIsoNative","toISOString","d3_time_scale","tickMethod","d3_time_scaleSteps","d3_time_scaleMilliseconds","d3_time_scaleDate","skip","skipped","iso","seconds","minute","minutes","hour","timezone","hours","d3_time_scaleLocalMethods","d3_time_scaleLocalFormat","d3_time_scaleUtcMethods","d3_time_scaleUtcFormat","d3_json","d3_html","selectNode","createContextualFragment","responseXML","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","src_map","src_nest","createResult","setResult","createObject","setObject","setMap","Set","zLabelVal","_indexToPoints","percentInitial","percentPrevious","percentTotal","findNearestOnAxis","generateIsoMeshes","VolumeTrace","createVolumeTrace","rawId","_meshX","_meshY","_meshZ","_Ys","_Zs","_Xs","_meshI","_meshJ","_meshK","_meshIntensity","baseFilter","calcDataFilter","isCalcData","filterFn","getCentroid","isFunctionStringTag","isV","getStackOpts","interpolateGaps","setFirstScatter","xAttr","yAttr","xValid","yValid","xId","yId","firstScatter","_firstScatter","firstScatterGroup","stackOrientation","xOptions","yOptions","markerTrans","sizeOut","stackAx","clickModule","convertCoords","visibleDflt","autorangeDflt","reverseDflt","noHover","ticksonDflt","isMultiCategory","noTickson","showDividers","excludeWrapCoord","stopG","geometryMaybeCollection","isGeometryCollection","wrapShrink","coordIndex","isFeatureCollection","isFeature","featureIndex","geomIndex","multiFeatureIndex","geometryIndex","geomType","coordReduce","initialValue","currentCoord","propEach","propReduce","currentProperties","featureEach","featureReduce","currentFeature","coordAll","geomEach","featureProperties","featureBBox","featureId","currentGeometry","flattenEach","flattenReduce","segmentEach","segmentIndex","previousCoords","previousFeatureIndex","previousMultiIndex","prevGeomIndex","featureIndexCoord","multiPartIndexCoord","currentSegment","segmentReduce","lineEach","lineReduce","findSegment","findPoint","stepAttrs","sliderDefaults","sliderIn","sliderOut","stepCount","_stepCount","visSteps","_visibleSteps","currentValueIsVisible","countTrailingZeros","ctzNumber","BINATTRS","aStr","BINDIRECTIONS","binDir","allBinOpts","histTraces","mustMatchTracesLookup","otherTracesList","orientation2binDir","getAxisType","fillBinOpts","fallbackGroupName","needsNewItem","_xautoBinFinished","_yautoBinFinished","aGroupId","binGroupFound","bingroupIn","binGroup","binGroupInDir","attrSpec","nbinsFound","_pielayer","isRat","colorAxIn","colorAxOut","coerceAx","svgAttrs","colorMix","lightFraction","gridColorDflt","gridColor","gridWidth","showGridLines","showZeroLine","wrappedWellKnownSymbolModule","scatterGeoAttrs","mapboxAttrs","npGet","curPart","allSame","curCont","propStr","indexed","propParts","badContainer","npSet","ARGS_PATTERN","isDeletable","containerLevels","toDelete","setArrayAll","checkNewContainer","joinPropStr","newPart","toAdd","containerArray","innerParts","arrayVal","allSet","thisVal","thisPropStr","deleteThis","firstPart","nextPart","_sunburstlayer","colorDflt","colorDfltRgba","opacityDflt","calculateColor","colorIn","opacityIn","colorOut","validateColor","validateOpacity","formatColor","getColor","getOpacity","colori","opacityi","isArrayColorIn","isArrayOpacityIn","globalConfig","PlotlyConfig","MathJaxConfig","skipStartupTypeset","Configured","AxesOptions","tickFont","lineEnable","lineMirror","lineTickEnable","lineTickMirror","lineTickLength","lineTickWidth","lineTickColor","gridEnable","zeroEnable","backgroundEnable","_defaultTickPad","_defaultLabelPad","_defaultLineTickLength","createAxesOptions","showbackground","backgroundcolor","makeSet","yr","xd","yd","rowFromTo","rowFrom","rowTo","headerPanel","headerCells","headerRowBlocks","revolverPanel1","revolverPanel2","fromTo","buster","Int8Array","Int16Array","Float64Array","affineHull","linearlyIndependent","nhull","piecolorway","extendpiecolors","DATE_FORMAT_LINK","handleAxisPositionDefaults","axisLayoutAttrs","SI_PREFIX","drawBulletGauge","bullet","axisLayer","gaugeBg","gaugeOutline","bulletHeight","innerBulletHeight","bulletLeft","bulletRight","drawRect","bgBullet","styleShape","fgBullet","bulletOutline","drawAngularGauge","gaugePosition","valueToAngle","arcPathGenerator","drawArc","bgArc","valueArcPathGenerator","valueArc","valueArcPath","arcTween","thresholdArc","gaugeBorder","drawNumbers","bignumberbBox","deltabBox","numbersbBox","numbersX","numbersY","numbersAlign","numbersAnchor","transitionFormat","transitionValueFormat","transitionAx","drawBignumber","bignumberAx","bignumberSuffix","bignumberPrefix","writeNumber","interpolator","transitionFmt","drawDelta","deltaAx","deltaFmt","deltaValue","deltaFormatText","numberFmt","deltaFill","_deltaLastValue","writeDelta","bignumberCenter","deltaCenter","numbersScaler","scaleRatio","_numbersTop","newAngle","zrange","axisOptions","fitTextInsideBox","fitTextInsideCircle","elRadius","textAnchor","_indicatorlayer","hasGauge","angularGauge","angularaxisLayer","bulletGauge","bulletaxisLayer","titleY","titleX","titlebBox","scatterPolarAttrs","theta0","dtheta","AxisSpikes","OUTER_FACE","INNER_FACE","lastCubeProps","outerFace","innerFace","gridAttrs","roworder","noGridCell","getAxes","gridVal","splomVal","sizeDefaults","gridIn","dfltRows","dfltColumns","hasSubplotGrid","hasXaxes","hasYaxes","isSplomGenerated","gridOut","useDefaultSubplots","_hasSubplotGrid","dfltSideX","dfltSideY","rowOrder","dfltGapX","dfltGapY","_domains","fillGridPositions","dfltGap","dfltSide","dirGap","cellDomain","cellStart","contentDefaults","subplotsOut","yPos","axisMap","_axisMap","subplotsIn","rowOut","rowIn","fillGridAxes","anchors","_anchors","axisId","iFinal","axesIn","axesAllowed","fillOneAxis","parcoords","newIndex","visibleIndices","orig","origIndex","currentIndex","sorter","currentDims","fullIndices","inputIndices","iIn","filterChanged","initialDimIndex","newRanges","newConstraints","preGUI","constraintrange","fullDimension","restyleData","axesMoved","legendLayout","isReversed","minMax","setConvertRadial","rFilter","g2c","g2p","toRadians","fromRadians","setConvertAngular","_d2c","_c2d","coord0","dcoord","rad2c","c2rad","rad2t","t2rad","rad2g","g2rad","catLen","_period","g2t","applyOrigin","tittle","clearRect","topPx","firstTop","getImageData","bottomPx","baselinePx","baseline","alphabetic","medianPx","hangingPx","hanging","ideographicPx","ideographic","capHeight","xHeight","firstBottom","overshootPx","iData","UmmAlQuraCalendar","daysCount","mcjdn","ummalqura_dat","lunation","ii","ummalqura","near","far","mappers","dict","sunburstcolorway","extendsunburstcolors","alphaComplex","circumradius","scalegroup","scalemode","spanmode","piePlot","determineInsideTextFont","layoutAreas","prerenderTitles","positionTitleOutside","formatSliceLabel","getBetween","setCoords","baseratio","h2","totalValues","sumSteps","allPoints","getPoint","hidden","lastX","rY","prevLeft","prevRight","TL","TR","BL","BR","calcPos","_funnelarealayer","textPosition","titleTextGroup","globalThis","permutationSign","visited","_120","bezierX","bezierY","quadX","quadY","quadratic","large_arc_flag","sweep_flag","recursive","rx2","ry2","f2old","x2old","y2old","degress","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","write","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","NullProtoObject","ActiveXObject","safeToString","reNewLine","ia","Ab","Za","Bb","Cb","onDestroy","Db","$a","Eb","devicePixelRatio","extensions","optionalExtensions","Fb","restore","J","alloc","allocType","freeType","ma","eb","Ha","Ia","gb","Gb","persistentData","bufferData","Qa","bufferCount","deleteBuffer","bindBuffer","getTotalBufferSize","jb","Ra","ja","_reglType","_buffer","subdata","bufferSubData","createStream","destroyStream","getBuffer","_initBuffer","Hb","primType","vertCount","oes_element_index_uint","elementsCount","uint16","uint32","Sa","getElements","lb","Ib","Ea","mb","Ta","Jb","ob","Ja","qa","Kb","internalformat","flipY","premultiplyAlpha","compressed","unpackAlignment","colorSpace","channels","alignment","Lb","La","pixelStorei","needsFree","needsCopy","fa","ga","Ua","qb","naturalWidth","naturalHeight","sb","videoWidth","videoHeight","Ma","compressedTexSubImage2D","copyTexSubImage2D","genMipmaps","mipmapHint","mipmask","mipmap","compressedTexImage2D","copyTexImage2D","ib","anisotropic","Va","Mb","V","K","ext_texture_filter_anisotropic","refCount","bindCount","texInfo","Aa","pixels","textureCount","fast","nearest","none","rgba4","rgb565","luminance","ext_srgb","srgb","srgba","oes_texture_float","oes_texture_half_float","float16","webgl_depth_texture","webgl_compressed_texture_s3tc","webgl_compressed_texture_atc","webgl_compressed_texture_pvrtc","webgl_compressed_texture_etc1","Nb","textureFormats","oa","za","ea","maxTextureUnits","decRef","getTotalTextureSize","create2D","subimage","_texture","createCube","cubeCount","getTexture","Ob","renderbuffer","_renderbuffer","framebuffer","colorAttachments","depthStencilAttachment","stencilAttachment","depthAttachment","framebufferCount","getError","colorCount","colorTexture","colorFormat","depthTexture","depthStencilTexture","depthStencil","Wa","Na","_framebuffer","use","setFBO","ext_color_buffer_half_float","webgl_color_buffer_float","getFramebuffer","ub","divisor","Pb","maxAttributes","Record","Qb","fragId","vertId","uniformsCount","attributesCount","getActiveUniform","getActiveAttrib","getAttribLocation","getMaxUniformsCount","getMaxAttributesCount","shaderCount","Rb","framebufferWidth","framebufferHeight","Ba","Ca","Sb","def","save","cond","Oa","thisDep","contextDep","propDep","Tb","Ka","Fa","batchId","shared","invoke","attribCache","scopeAttrib","scissor_box","strings","progVar","OFFSET","ELEMENTS","isBufferArgs","primTypes","instances","Xa","compareFuncs","Ga","dst","blendFuncs","blendEquations","Pa","fail","zfail","zpass","stencilOps","Da","isStream","glTypes","drawBuffer","backBuffer","instancing","contextDynamic","needsContext","needsFramebuffer","la","isDynamic","unbox","DynamicVariable","ext_blend_minmax","angle_instanced_arrays","webgl_draw_buffers","orientationType","maxDrawbuffers","procs","Ub","define","accessor","Ya","Vb","colorBits","depthBits","stencilBits","subpixelBits","maxAnisotropic","pointSizeDims","lineWidthDims","maxViewportDims","maxCombinedTextureUnits","maxCubeMapSize","maxRenderbufferSize","maxVertexUniforms","maxVertexTextureUnits","maxVaryingVectors","maxFragmentUniforms","glsl","vendor","readFloat","npotTextureCube","int8","int16","int32","triangle","Wb","renderbufferCount","rgba16f","rgb16f","rgba32f","getTotalRenderbufferSize","never","lequal","greater","notequal","gequal","always","keep","decrement","Xb","endQueryIndex","startQueryIndex","ext_disjoint_timer_query","beginQuery","createQueryEXT","beginQueryEXT","endQuery","endQueryEXT","pushScopeStats","getQueryObjectEXT","gpuTime","getNumPendingQueries","deleteQueryEXT","refresh","opBack","opFront","cpuTime","batch","poll","clearDepth","clearStencil","getContextAttributes","framebuffer_reglType","framebufferCube","hasExtension","_refresh","timerCache","_clearTimeout","minInterval","previousOnDone","ReflectOwnKeys","Reflect","ReflectApply","receiver","ProcessEmitWarning","warning","ownKeys","NumberIsNaN","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","existing","newListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","_listeners","evlistener","unwrapListeners","arrayClone","listenerCount","spliceOne","RangeError","setMaxListeners","getMaxListeners","doError","er","addListener","prependListener","prependOnceListener","originalListener","removeAllListeners","rawListeners","eventNames","circuits","blocked","Ak","unblock","circuit","subgraph","minId","adjacencyStructureSCC","leastVertexComponent","sccs","ccs","leastVertex","vertexId","ShaderAttribute","_wrapper","_locations","_constFunc","addVectorAttribute","constFuncArgs","varNames","addMatrixAttribute","vertexAttribPointer","scratch","vertexAttrib","locs","mockGd","xLabel","yLabel","xyAttrs","copy_zstyle","xyzAttrs","error_z","hoverInfo","calcPoint","hoverPoint","yerr","yerrneg","xerr","xerrneg","scatter","scatter3d","scattergl","makeComputeError","parsed","do_convert","createShaderWrapper","perspectiveVertSrc","orthographicVertSrc","projectionVertSrc","drawFragSrc","ATTRIBUTES","pickPerspective","pickOrtho","pickProject","glyph","createPerspective","createOrtho","createProject","createPickPerspective","createPickOrtho","createPickProject","makeIncrements","nonuniform","binsToCalc","getRanges","uniqueVals","gapLow","gapHigh","xr2c","yr2c","xc2r","yc2r","xBinsAndPos","xBinSpec","xPos0","yBinsAndPos","yBinSpec","yPos0","onecol","zerocol","nonuniformBinsX","nonuniformBinsY","xEdges","yEdges","densitynorm","extremefunc","sizeinit","binfunc","normfunc","doavg","xinc","yinc","xBinSize","xBinStart","xBinEnd","yBinSize","yBinStart","yBinEnd","ipCol","uniqueValsPerX","uniqueValsPerY","xVals","yVals","xGapLow","xGapHigh","yGapLow","yGapHigh","YANGLE","HOVERARROWSIZE","HOVERTEXTPAD","HOVERFONTSIZE","HOVERFONT","HOVERMINTIME","HOVERID","axisLetter","crossAxisLetter","j1","gridlines","_gridlines","minorgridlines","_minorgridlines","boundarylines","_boundarylines","crossData","crossAxis","xcp","_xctrl","ycp","_yctrl","nea","neb","constructValueGridline","tj","pxy","dxydi0","dxydi1","dxydj0","dxydj1","xpoints","ypoints","b2j","crossLength","evalxy","dxydi","a2i","dxydj","constvar","constructArrayGridline","arraytick0","arraydtick","minorgridcount","minorgridcolor","minorgridwidth","startline","startlinecolor","startlinewidth","endline","endlinecolor","endlinewidth","annotationsDone","emitClick","stopImmediatePropagation","isAbsolute","isTotal","previousSum","hasTotals","rawS","mlc","els","unels","matrixOpts","unselectedOptions","selectedOptions","viewOpts","description","dfltX","dfltY","calcMarkerColorscale","isNonBlankString","isValidLoc","hasLocationData","scatterPlot","mlayer","rg","boxPlot","linePoints","cdViolins","violinLayer","makePath","baseTolerance","linearized","bPos","bdPos","hasBothSides","hasPositiveSide","hasNegativeSide","violins","pathPos","pathNeg","pathSel","density","posCenter","maxKDE","groupStats","_violinScaleGroupStats","maxCount","startPt","endPt","bdPosScaled","bPosPxOffset","plotBoxAndWhiskers","plotBoxMean","meanPaths","plotPoints","paste","traceAttr","cdAttr","makeCoerceHoverInfo","fillFn","fillArray","valuesuffix","arrangement","basePlotLayoutAttributes","handleTypeDefaults","handlePositionDefaults","appendList","ax2traces","xaMayHide","yaMayHide","xaMustDisplay","yaMustDisplay","yaMustNotReverse","yaMayReverse","axHasImage","noGrids","xaName","yaName","positionAxis","xNames","axNames","plotBgColor","axLayoutIn","axLayoutOut","getCounterAxes","counterAxes","getOverlayableAxes","axName2","_annIndices","_counterAxes","overlayableAxes","defaultOptions","spikedash","spikemode","spikesnap","showSpikes","rangeSliderDefaults","rangeSelectorDefaults","anchoredAxis","fixedRangeDflt","group2","layerName","getExtraText","isAll","hasLon","hasLat","lonShift","xval2","distFn","lonlatShifted","drawing","setPosition","setSize","translatePoint","translatePoints","hideOutsideRangePoint","singleLineStyle","ld","lw1","dashStyle","dlw","singleFillStyle","SYMBOLDEFS","symbolNames","symbolFuncs","symbolNeedLines","symbolNoDot","symbolNoFill","symDef","MAXSYMBOL","DOTPATH","makePointPath","symbolNumber","vbase","HORZGRADIENT","VERTGRADIENT","stopFormatter","gradientInfo","radialreversed","horizontalreversed","vertical","verticalreversed","gradientID","colorStops","fullID","stops","tc","tinyRGB","getFullUrl","className2query","_gradientUrlQueryParts","initGradients","gradientsGroup","makePointStyleFns","singlePointStyle","ms2mrc","om","perPointGradient","so","markerLineWidth","mlcc","lineScale","markerScale","mgt","gradientColor","mgc","selectedAttrs","unselectedAttrs","selectedMarker","unselectedMarker","smo","usmo","smoIsDefined","usmoIsDefined","smc","usmc","sms","usms","smsIsDefined","usmsIsDefined","makeSelectedTextStyleFns","selectedTextFont","unselectedTextFont","stc","selectedTextColorFn","mrc2","TEXTOFFSETSIGN","textPointPosition","markerRadius","numLines","extracTextFontSize","extractOption","tp","CatmullRomExp","makeTangent","prevpt","thispt","nextpt","smoothness","d1x","d1y","d2x","d2y","d1a","d2a","numx","numy","denom1","denom2","pLast","STEPPATH","hv","vh","hvh","vhv","STEPLINEAR","onestep","makeTester","testref","savedBBoxes","savedBBoxesCount","maxSavedBBoxes","nodeHash","inputText","localId","baseUrl","_exportedPlot","_baseUrl","inTester","testNode","innerBB","testRect","SCALE_RE","yScale","TEXT_POINT_LAST_TRANSLATION_RE","existingTransform","propertyKey","copyPathinfo","pi0","pi1","op0","op1","dupe_array","dupe_number","dupe","stringCoerce","toShortString","resolveMessage","defaultMessage","inputOptions","isOptional","errorMessage","SHOWISOLATETIP","itemClick","itemclick","itemDoubleClick","itemdoubleclick","attrUpdate","attrIndices","carrs","carrIdx","thisLabelIndex","hasLegendgroup","traceIndicesInGroup","nextVisibility","setVisibility","isClicked","isInGroup","notInLegend","otherState","isIsolated","updateKeys","insertUpdate","attrIndex","valueArray","lastGroupbyIndex","curState","hoverConstants","oldhoverdata","calcCommon","ptFunc","_numBoxes","literals100","operators","builtins100","literals300es","builtins300es","NORMAL","TOKEN","BLOCK_COMMENT","LINE_COMMENT","PREPROCESSOR","OPERATOR","INTEGER","IDENT","BUILTIN","KEYWORD","WHITESPACE","HEX","isnum","isoperator","allBuiltins","allLiterals","builtinsDict","literalsDict","chunk","block_comment","line_comment","preprocessor","operator","readtoken","whitespace","determine_operator","is_composite_operator","contentstr","getSubplotCalcData","MAPBOX","findAccessToken","mapboxIds","tokensUseful","tokensListed","hasOneSetMapboxStyle","wontWork","isMapboxStyle","noAccessTokenErrorMsg","missingStyleErrorMsg","multipleTokensErrorMsg","requiredVersion","wrongVersionErrorMsg","subplotCalcData","oldMapboxKeys","oldMapboxKey","subplotDiv","logo","mapboxLogo","path2","attributions","attributionGroup","attributionText","multilineAttributions","SANKEY","subplotUpdateFx","bgRect","_bgRect","newGroups","oldGroups","newGroup","findNode","hadPlot","hasPlot","circumcenter","avgDist","extendedColorWayList","hiddenLabels","_hasValues","dlabel","label0","allThisTraceLabels","isAggregated","shouldSort","extendedColorWays","colorString","cm","zminDesc","zmaxDesc","do_warp","do_warp_1","do_warp_2","do_warp_3","handleConstraintValueDefaults","zvalue","lineDfltColor","boxLayoutDefaults","plotObj","_ev","internalEv","_internalEv","_internalOnce","_removeAllInternalListeners","trigger","jQueryHandlerValue","nodeEventHandlerValue","handlers","arrayMax","maybeArray","squareStringMatrix","matrixIn","maxLen","padLen","emptyStrings","padArray","makeRowBlock","anchorToRowBlock","auxiliary","blockAnchorKeys","makeAnchorToRowBlock","rowHeights","minimumFillHeight","currentRowHeight","currentAnchor","currentBlockHeight","currentBlock","makeIdentity","currentFirstRowIndex","blockCounter","lastRowIndex","cellsValues","slicer","headerValuesIn","headerValues","groupWidth","headerRowHeights","anchorToHeaderRowBlock","uniqueKeys","columnOrder","columnWidths","totalColumnWidths","foundKey","compareOrientedCells","createTriangulation","removePair","compareLex","removeTriangle","addTriangle","ChineseCalendar","MONTH_NUMBER_REGEXP","_validateYear","monthIndex","toChineseMonth","isIntercalaryMonth","MONTH_NAME_REGEXP","monthName","MONTH_SHORT_NAME_REGEXP","monthString","intercalaryMonth","invalidIntercalaryMonth","maxMonthIndex","monthDaysTable","LUNAR_MONTH_DAYS","firstThursday","validatedYear","invalidyear","packedDate","CHINESE_NEW_YEAR","solar","toSolar","lunar","toLunar","fromString","dateString","DATE_REGEXP","resultYear","resultMonthIndex","resultCanBeIntercalaryMonth","correctedMonthIndex","chinese","yearOrDate","monthOrResult","solarDate","lunarDate","isValidYear","isValidMonth","isValidDay","chineseNewYearPackedDate","daysFromNewYear","chineseNewYearJSDate","jsDate","isIntercalaryOrResult","monthsFromNewYear","getUpdateObject","makeSelectorData","selectorKeyFunc","isActive","axisLayout","drawButtonRect","selectorLayout","getFillColor","_isActive","_isHovered","drawButtonText","getLabel","reposition","tHeight","hEff","tWidth","tLines","wEff","minButtonWidth","selectors","appendArrayMultiPointValues","percent","hoverOnBars","DIRSYMBOL","vAxis","deltaLabel","finalLabel","initialLabel","_glTrace","updateOnSelect","layerId","hr_name","NanakshahiCalendar","nanakshahi","isArguments","iteratorSymbol","autoContours","inputContours","isLonLatOverEdges","aLabel","bLabel","cLabel","axisOpts","slideBox","grabAreaMin","grabAreaMax","mouseMove","pixelMin","pixelMax","_pixelMin","_pixelMax","setDataRange","mouseUp","setPixelRange","oppAxisOpts","oppAxisRangeOpts","hw2","clampOppAxis","clampHandle","pixelMinOppAxis","d2pOppAxis","pixelMaxOppAxis","drawBg","borderCorrect","offsetShift","addClipPath","_clipId","drawRangePlot","rangePlots","isMainPlot","oppAxisName","mockFigure","isRangePlot","rangePlot","filterRangePlotCalcData","drawMasks","maskMin","maskMax","maskMinOppAxis","maskMaxOppAxis","maskOppBorder","drawSlideBox","drawGrabbers","grabberMin","grabberMax","handleFixAttrs","handleDynamicAttrs","handleMin","handleMax","grabAreaFixAttrs","keyFunction","rangeSliders","axRng","range0","range1","range0OppAxis","range1OppAxis","distOppAxis","recompose","decompose","slerp","state0","state1","quaternion","oldValue","tobj","gridline","_labels","endAnchor","isFirst","isLast","rootPosition","mouseEventOffset","getBoundingClientOffset","scatterGeoMarkerLineAttrs","createScatterPlot","DASH_PATTERNS","MARKER_SYMBOLS","calculateError","LineWithMarkers","errorBars","textMarkers","delaunayMesh","dataPoints","textLabels","constructDelaunay","filteredPoints","filteredIds","calculateErrorParams","parseAlignmentX","parseAlignmentY","calculateTextOffset","defaultAlignmentX","defaultAlignmentY","textOffset","calculateSize","sizeIn","calculateSymbol","symbolIn","formatParam","paramIn","extraFn","paramOut","convertPlotlyOptions","zc","scaleFactor","d3locale","lineDashes","scatterColor","scatterSize","scatterMarker","scatterLineWidth","scatterLineColor","scatterAngle","textSize","projectScale","projectOpacity","errorBounds","errorParams","errorColor","errorLineWidth","errorCapSize","delaunayAxis","surfaceaxis","delaunayColor","arrayToColor","createLineWithMarkers","scatterOptions","errorOptions","dashPattern","scatterOpacity","highlightScale","delaunayOptions","traceref","tracerefminus","doBind","nattribs","MAX_VERTEX_ATTRIBS","attrib","vertexAttrib1f","vertexAttrib2f","vertexAttrib3f","vertexAttrib4f","ARRAY_BUFFER","dimi","mimickAxisDefaults","axesList","helpers_1","xSum","ySum","colorBars","makeColorBarData","cbbg","cbfills","cblines","cbaxis","cbtitleunshift","cbtitle","cboutline","drawColorBar","_fillcolor","_line","_levels","_filllevels","_fillgradient","_zrange","calcOpts","moduleOpts","allowsMultiplotCbs","contName","_traceIndex","_propPrefix","colorAxOpts","titleSide","lineColormap","fillColormap","levelsIn","levelsOut","calcLevels","fillLevels","lineLevels","thickPx","thickFrac","lenPx","lenFrac","xpadFrac","yExtraPx","ypadFrac","xLeftFrac","yBottomFrac","yBottomPx","yTopPx","_lenFrac","_thickFrac","_xLeftFrac","_yBottomFrac","mockColorBarAxis","titlex","titley","autoNtick","dtFactor","dtexp","titleCont","titleOpts","dfltTitleOpts","otherClass","drawDummyTitle","drawCbTitle","drawAxis","titleTrans","mathJaxNode","lineSize","jsPlaceholder","nlines","fills","cbfill","zBounds","fillEl","cbline","positionCB","titleWidth","outerwidth","outerheight","xoffset","marginOpts","tFrac","bFrac","lFrac","rFrac","extraThickness","zr0","zr1","fillLevelsIn","cbAxisIn","cbAxisOut","mobileRE","tabletRE","BOTTOMSTART","TOPSTART","LEFTSTART","RIGHTSTART","NEWDELTA","CHOOSESADDLE","104","208","713","1114","SADDLEREMAINDER","2","4","7","8","11","13","14","scatterglPlot","sceneUpdate","subRArray","subThetaArray","markerSel","markerUnsel","textSel","textUnsel","rawx","rawy","fargs","reads","sizeLetter","percentInitialLabel","percentPreviousLabel","percentTotalLabel","colorbarOut","colorbarIn","createFilteredVector","cubicHermite","FilteredVector","velocity0","_velocity","_scratch","getZero","initState","initVelocity","initTime","steady","dcurve","derivative","stable","jump","sf","statePtr","toPosInt","validValue","arrayLike","Context","mapFn","ScrollBox","hbar","vbar","barRadius","boxL","boxR","boxT","boxB","isDown","isLeft","isRight","isUp","boxW","boxH","_box","needsHorizontalScrollBar","hbarW","hbarH","hbarL","hbarT","_hbarXMin","_hbarTranslateMax","needsVerticalScrollBar","vbarW","vbarH","vbarL","vbarT","_vbarYMin","_vbarTranslateMax","clipL","clipR","clipT","clipB","_clipRect","onBoxDrag","_onBoxDrag","_onBoxWheel","onBarDrag","_onBarDrag","translateXMax","translateYMax","convexHull2D","monotoneHull","DASHES","makeProjectionAttr","primitivesLoopSplice","inputs","isDeep","keepAllKeys","noArrayCopies","copyIsArray","allPrimitives","extendDeepNoArrays","postfix","padLeft","delim","totalDigits","handleOHLC","handleDirection","isLE","mLen","nBytes","eMax","eBias","nBits","insidetextorientation","pull","titleposition","mouseListen","buttonState","mods","alt","control","attached","updateMods","handleEvent","nextButtons","nextY","clearState","handleBlur","handleMods","handleMouseMove","handleMouseDown","handleMouseUp","attachListeners","detachListeners","ensureSingleAndAddDatum","cdSubplot","traceLayerClasses","zoomScaleQueryParts","plotMethod","zoomScale","clipOnAxisFalseQuery","clipOnAxisFalseTraces","makeSubplotData","regulars","xa2","ya2","makeSubplotLayer","xLayer","layerValue2layerClass","yLayer","hasOnlyLargeSploms","mainplotgroup","overlinesBelow","overaxesBelow","overplot","overlinesAbove","overaxesAbove","xlines","ylines","backLayer","imagelayer","purgeSubplotLayers","overlayIdsToRemove","removeSubplotExtras","subplotInfo","overlayInfo","transitionAxes","finalizeSubplots","spSVG","spAll","allX","allY","ki","pcd","oldPlots","newPlots","oldSubplotList","hadGl","hasGl","oldAxIDs","oldAxId","hadCartesian","hasCartesian","_cartesianlayer","oldSubplotId","subplotLayers","draglayer","imageRoot","canvases","canvasToImage","heatmapHover","xRange","yRange","regexpFlags","stickyHelpers","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","charsAdded","strCopy","multiline","hoverdistance","spikedistance","robustSubtract","EPSILON","ERRBOUND3","ERRBOUND4","orientation3Exact","orientation4Exact","adx","bdx","cdx","ady","bdy","cdy","adz","bdz","cdz","bdxcdy","cdxbdy","cdxady","adxcdy","adxbdy","bdxady","permanent","slowOrient","generateOrientationProc","b01","b02","b03","b04","b05","b06","b07","b08","b09","b10","b11","createView","mouseWheel","hasPassive","distanceLimits","pmatrix","keyBindingMode","enableWheel","rotateSpeed","zoomSpeed","translateSpeed","flipX","modes","ctime","sizeChanged","getMode","curUp","curEye","curCenter","setMode","_active","ncenter","neye","nup","_lastX","_lastY","_lastMods","handleInteraction","ctrl","drot","kzoom","wheelListener","shouldHide","minKey","getMinKey","minsize","pointsAccessorFunction","transformOne","srcArray","newTrace","arrayLookup","groupNameObj","transformIndex","originalPointsAccessor","groupNames","newData","arrayAttrs","styleLookup","indexCnts","suppliedName","nameformat","indexToPoints","clearExpandedTraceDefaultColors","_compareAsJSON","transformIn","transformOut","styleIn","styleOut","thisStyle","newTraces","compareOrientedCell","reduceCellComplex","detection","POLYFILL","NATIVE","describeVariables","descPart","quotedKeys","HiddenSymbol","isNativeSafe","NativeSymbol","generateName","setupStandardSymbols","setupSymbolRegistry","ignore","__description__","__name__","manage","AxisIDs","scatterCalc","expandForErrorBars","errExt","_bnds","sceneOptions","errorX","errorY","errorBarPositions","hasTooManyPoints","snap","monotoneTriangulate","makeIndex","delaunayFlip","filterTriangulation","canonicalizeEdge","compareEdge","canonicalizeEdges","getDefault","cdt2d","exterior","infinity","objPrototype","created","ie11BugWorkaround","textGet","globals","__TEXT_CACHE","shapeX","tri","fontcache","bufferSize","ew","xa0","ya0","xaHash","yaHash","xActive","yActive","allFixedRanges","hasScatterGl","hasSplom","hasSVG","updates","isMainDrag","singleEnd","recomputeAxisLists","hashValues","isDirectionActive","calcLinks","isSubplotConstrained","getDragCursor","zoomMode","zoomDragged","clearAndResetSelect","attrStr","getEndText","hAlign","vAlign","_hmpixcount","_hmlumcount","_transitioningWithDuration","noZoom","xyCorners","xCorners","yCorners","updateZoombox","zoomAxRanges","updateMatchedAxRange","dragTail","dragModePrev","isSelectOrLasso","_redrag","dragDataNow","updateSubplots","scrollViewBox","redrawTimer","REDRAWDELAY","zoomWheel","_enablescrollzoom","gbb","xfrac","yfrac","zoomWheelOneAxis","ticksAndAnnotations","axRange","doZoom","dragAxList","dxySign","dxyFraction","yStart","axArray","movedAx","newLinearizedEnd","otherEnd","axi","dZoom","newEnd","matchedAxes","constrainedAxes","xLinks","yLinks","activeAxIds","pushActiveAxIds","doubleClickConfig","plotinfos","splom","xrng","yrng","xScaleFactor2","yScaleFactor2","editX2","editY2","getShift","getLinkedScaleFactor","scaleAndGetShift","attachWheelEventHandler","dragClass","dragger3","activeVal","r0Fraction","r1Fraction","linkedAxes","axRangeLinear0","axRangeLinearSpan","linkedR0Fraction","pix","nsew","clen","xID","yID","xLinkID","yLinkID","xaHashLinked","xaxesLinked","yaHashLinked","yaxesLinked","wheelEventName","onwheel","_onwheel","onmousewheel","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","colorId","extend","updateDiff","f32","Scatter","paletteIds","markerTextures","markerCache","maxColors","tooManyColors","shaderOptions","paletteSize","scaleFract","translateFract","positionBuffer","xFract","positionFractBuffer","yFract","sizeBuffer","borderSize","colorBuffer","borderColorId","activation","drawMarker","circleOptions","drawCircle","pixelSize","_this2","_len","_key","drawItem","getMarkerDrawOptions","markerId","selectionBuffer","markerTexture","lod","markerActivation","_lod$l","_this3","_len2","_key2","ondraw","hasSize","hasColor","updateColor","_bounds","_positions","markers","markerMasks","addMarker","_id2","vp","_i2","_group2","_i3","_colorId","_i4","sdf","distArr","_i5","_i6","updatePalette","extend$1","reglScatter2d","scatter$$1","float2rat","rangeLinear","createHeatmap2D","GLHeatmap2D","weightBuffer","idBuffer","xData","yData","WEIGHTS","boundX","boundY","viewTransform","PICK_VECTOR","colorLevels","colorValues","lox","loy","hix","hiy","numX","numY","yc0","yc1","xc0","xc1","colorIdx","pieAttrs","sunburstAttrs","maxdepth","squarifyratio","depthfade","sqInit","isort","BLUE_FLAG","RED_SWEEP_QUEUE","RED_SWEEP_INDEX","BLUE_SWEEP_QUEUE","BLUE_SWEEP_INDEX","COMMON_SWEEP_QUEUE","COMMON_SWEEP_INDEX","SWEEP_EVENTS","rcount","eventLength","sqPop","sqPush","istart","iend","redOffset","redActive","blueActive","commonActive","redShift","blueShift","isRed","oidx","ensurePlainFunction","normalizeOptions","dgs","overwriteDefinition","resolveContext","yl","htx","hbg","hbc","hts","htc","htf","hnl","ht","fakeCd","pointData2","rVal","rLabel","thetaVal","thetaLabel","planarDual","numEdges","cut","noCut","nextCell","nextVertex","nextDir","nbhd","extractCycle","shouldGlue","pcycle","ncycle","LinkedList","selfIntersection","segmentNew","segmentId","myFill","above","otherFill","segmentCopy","event_root","eventCompare","p1_isStart","p1_1","p1_2","p2_isStart","p2_1","p2_2","pointsCompare","pointsSame","pointAboveOrOnLine","eventAdd","other_pt","here","isStart","eventAddSegmentStart","primary","ev_start","eventAddSegmentEnd","ev_end","eventAddSegment","eventUpdateEnd","segmentChop","eventDivide","primaryPolyInverted","secondaryPolyInverted","status_root","statusCompare","ev1","ev2","pointsCollinear","statusFindSurrounding","findTransition","checkIntersection","linesIntersect","a1_equ_b1","a2_equ_b2","a1_between","pointBetween","a2_between","alongA","alongB","isEmpty","getHead","surrounding","checkBothIntersections","eve","tempStatus","segmentUpdate","rewind","st","exists","statusRemove","b12","b20","b21","b22","createProperty","arraySpeciesCreate","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","dimensionIn","dimensionOut","orderDefault","isValidArray","labelfontDflt","categoryfontDefault","handleTraceDefaults","CANONICAL_TICK","coptic","discworld","ethiopian","hebrew","julian","mayan","nepali","CANONICAL_SUNDAY","DFLTRANGE","UNKNOWN","d3ToWorldCalendars","worldCalFmt","modifier","directive","directiveLen","directiveObj","replacementPart","getCal","allCals","calendarObj","makeAttrs","makeTraceAttrsDescription","xAttrs","axisAttrs","histogram2d","histogram2dcontour","mesh3d","ohlc","candlestick","valuecalendar","targetcalendar","decodeFloat","UINT8_VIEW","FLOAT_VIEW","arrRange","SPLOM","passes","passId","getBox","iloy","ihiy","jlox","jhix","iitem","jitem","this$1","planned","updateItem","i$1","tracePasses","passOffset","multirange","multipadding","ih","i$2","ref$1","ref$2","passes$1","passOffset$1","firstAxis","maybeCarpet","nativeDefineProperty","Attributes","commonList","animationAttrs","currentvalue","activebgcolor","gripBgActiveColor","railBgColor","railBorderColor","railBorderWidth","minorticklen","minorTickLength","LOG_CLIP_PLUS","LOG_CLIP_MINUS","clusterStartPt","clusterEndPt","clusterHighPt","clusterLowPt","clusterHighFirst","clusterUnitVector","thisVector","clusterRefDist","clusterHighVal","clusterLowVal","clusterMinDeviation","clusterMaxDeviation","thisDeviation","latestXFrac","latestYFrac","xLog","yLog","minTolerance","pti","getPt","crossesViewport","xFrac0","yFrac0","xFrac1","yFrac1","getTolerance","nextPt","xFrac","yFrac","offScreenFraction","toleranceGrowth","ptDist","xEdge","yEdge","lastXEdge","lastYEdge","lastFarPt","edgePt","getEdgeIntersections","maxScreensAway","xEdge0","xEdge1","yEdge0","yEdge1","getLinearEdgeIntersections","ptCount","ptInt","onlyConstrainedPoint","sameEdge","getHVEdgeIntersections","ptInt1","ptInt2","getABAEdgeIntersections","limit0","limit1","ptToAlter","midShift","getClosestCorner","updateEdge","xSame","ySame","xSame2","ySame2","updateEdgesForReentry","intersections","lastPt","horizontalOrder","alo","ahi","blo","getXRange","buttonLayout","currentRange","stepmode","base2","xrange","createMatrix","visibleLength","domains","dmn","needsBaseUpdate","commonLength","selOpts","splomCalcData","plainObject","customCreate","createGeo","GEO","plotGeo","geoId","geoCalcData","_geolayer","oldGeoKeys","oldGeoKey","oldGeo","subplotLayout","supplyGl3dAxisLayoutDefaults","handleGl3dDefaults","sceneLayoutIn","sceneLayoutOut","bgColorCombined","cameraKeys","hasAspect","defaultAspectMode","aspectMode","aspectmode","fullGl3dData","getDfltFromLayout","hasNon3D","RE","SelectBox","boxBuffer","boxShader","selectBox","innerColor","outerColor","createSelectBox","boxVertex","boxFragment","screenWidth","screenHeight","numArr","scalarScalar","linearExpansionSum","eptr","fptr","ei","fi","_bv","_av","_br","_ar","q0","boxIntersectWrapper","RESULT","boxEmpty","convertBoxes","boxIntersect","redList","redIds","blueList","blueIds","appendItem","intersectFullArray","intersectBipartiteArray","arg1","arg2","meshAttrs","makeSliceAttr","makeCapAttr","_responsiveChartHandler","bundlecolors","sortpaths","plotApi","imageDataOnly","isImpliedOrValid","fullOpts","clonedGd","layoutImage","configImage","redrawFunc","urlToImageData","_carpet","ij","ab2ij","interp1d","w00","w01","interp3d","u0","u1","w000","w010","w100","w110","w001","w011","w101","w111","interpNd","isHoriz","hovermodeDflt","hoverMode","hasMapbox","hasGeo","axisConstraints","enforceAxisConstraints","cleanAxisConstraints","SVG_TEXT_ANCHOR_START","SVG_TEXT_ANCHOR_MIDDLE","SVG_TEXT_ANCHOR_END","overlappingDomain","existingX","existingY","lsInner","autosize","_hasZeroWidth","_hasZeroHeight","drawMainTitle","getLinePosition","lwHalf","_lw","lowerBackgroundIDs","backgroundIds","lowerDomains","noNeedForBg","pgNode","plotgroupBg","xLinesXLeft","xLinesXRight","xLinesYBottom","xLinesYTop","leftYLineWidth","rightYLineWidth","yLinesYBottom","yLinesYTop","yLinesXLeft","yLinesXRight","connectYBottom","connectYTop","extraSubplot","lowerBackgrounds","_bgLayer","plotClipId","plotClip","xLinePath","xLinePathFree","yLinePath","yLinePathFree","mainPath","pathFn","pathFnFree","xPath","shouldShowLinesOrTicks","findCounterAxisLineWidth","yPath","shouldShowLineThisSide","anchorAx","sideIndex","getMainTitleX","hPadShift","getMainTitleY","vPadShift","getMainTitleTextAnchor","getMainTitleDy","layoutStyles","doAutoMargin","doTraceStyle","editStyleCalls","editStyle","doColorBars","layoutReplot","doLegend","doTicksRelayout","updateGrid","doModeBar","doCamera","setViewport","drawData","cartesianIds","polarIds","_splomGrid","doAutoRangeAndConstraints","groupLoop","finalDraw","drawMarginPushers","rawError","shortMessage","longMessage","definition","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","color_formatHex","formatHex","color_formatHsl","hslConvert","formatHsl","color_formatRgb","formatRgb","color_color","rgbn","Rgb","rgbConvert","color_rgb","rgb_formatHex","rgb_formatRgb","Hsl","hsl2rgb","displayable","src_basis","basisClosed","exponential","color_hue","nogamma","src_rgb","rgbGamma","rgbSpline","spline","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","genericArray","src_value","reA","reB","cssNode","cssRoot","cssView","svgNode","discrete","src_hue","skewX","parseCss","parseSvg","pxComma","pxParen","degParen","interpolateTransformCss","interpolateTransformSvg","rho","rho2","rho4","epsilon2","zoom_cosh","zoom_sinh","tanh","hsl_hsl","src_hsl","hslLong","Xn","Yn","Zn","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","lab2xyz","lrgb2rgb","hclConvert","lab_lab","hcl_hcl","src_hcl","hclLong","ED","EB","BC_DA","cubehelixConvert","Cubehelix","cubehelix_cubehelix","src_cubehelix_cubehelix","cubehelixGamma","cubehelix","cosh","sinh","src_cubehelix","cubehelixLong","piecewise","samples","hoverLabelAttrs","INT_BITS","INT_MAX","INT_MIN","isPow2","log10","prevPow2","REVERSE_TABLE","tab","interleave2","deinterleave2","interleave3","deinterleave3","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineWellKnownSymbol","setToStringTag","HIDDEN","TO_PRIMITIVE","setInternalState","ObjectPrototype","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","tag","$defineProperty","$defineProperties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","$replacer","getCubeEdges","pCubeVerts","cubeVerts","zero3","transformHg","FRUSTUM_PLANES","CUBE_EDGES","CUBE_AXIS","CUBE_RESULT","cubeEdges","farthest","cutCorner","cdOHLC","ohlcLayer","xo","yo","hoverModule","containerOrSelection","isD3Selection","castHoverOption","_coerce","supplyLayoutGlobalDefaults","inbox","quadrature","toPX","mouseWheelListen","noScroll","deltaX","deltaZ","makeColorMap","isColorbar","conePlot","Cone","ww","axisName2scaleIndex","anchor2coneOffset","tip","anchor2coneSpan","coneOpts","axisName","_normMax","meshData","_pad","createConeTrace","cone","polygonIn","polygonOut","xpyp","xstar","ystar","dsin","dcos","tanA","cotanA","del","makeRegularPolygon","makeClippedPolygon","a2xy","findXY","cycleIndex","xyN","minFn","adelta","transformForSVG","pts0","pts1","outer","chains","chainStart","first_match","matches_head","matches_pt1","second_match","next_match","chain","setMatch","chainNew","chainMatch","addToHead","grow","grow2","oppo","oppo2","chainRemoveHead","chainRemoveTail","chainClose","chainAddHead","chainAddTail","chainConnect","reverseF","reverseChain","appendChain","chainReverse","chain1","chain2","tail2","head2","chainJoin","TEMPLATEITEMNAME","templateAttrs","validItemName","lastChar","traceTemplater","traceCounts","typei","baseName","defaultsTemplate","templateItems","itemIn","templateItemName","templateItem","outi","_templateitemname","parentIn","itemOut","lengthIn","resetUpdate","updateOut","applyUpdate","updateToApply","hidesources","datarevision","editrevision","selectionrevision","nextSegmentId","curVert","segmentRemove","MayanCalendar","amod","haabMonths","tzolkinMonths","baktun","katun","forYear","haab","_toHaab","tzolkin","_toTzolkin","haabMonthName","haabMonth","haabDay","tzolkinDayName","tzolkinDay","tzolkinTrecena","arrayStr","rootContainers","regexpContainers","rootPart","maxpoints","TriangleCache","createABigTriangle","_triangleBuffer","barycentric","solve","baseframe","handleLabelsAndValues","hasLabels","hasPositive","_hasLabels","textInfo","textTemplate","titlePosition","scatterSubTypes","getButtonGroups","buttonsToRemove","buttonsToAdd","hasGL3D","hasPie","hasFunnelarea","hasGL2D","hasTernary","hasSankey","allAxesFixed","areAllAxesFixed","addGroup","commonGroup","zoomGroup","hoverGroup","resetGroup","dragModeGroup","hasNoHover","isSelectable","appendButtonsToGroups","selectable","fillCustomButton","customButtons","_modeBar","buttonGroups","convertOnSelect","LAYER_PREFIX","traceLayerPrefix","ChoroplethMapbox","sourceId","_update","optsAll","getSource","setData","_removeLayers","_addLayers","removeLayer","removeSource","choroplethMapbox","addSource","createSurfacePlot","surfaceNets","SURFACE_VERTEX_SIZE","QUAD","PERMUTATIONS","SurfacePickResult","N_COLORS","divseq","SurfacePlot","contourPickShader","contourBuffer","dynamicBuffer","dynamicVAO","objectOffset","intensityBounds","_shader","_pickShader","_coordinateBuffer","_vao","_colorMap","_contourShader","_contourPickShader","_contourBuffer","_contourVAO","_contourOffsets","_contourCounts","_vertexCount","_pickResult","_dynamicBuffer","_dynamicVAO","_dynamicOffsets","_dynamicCounts","contourTint","enableHighlight","highlightColor","highlightTint","highlightLevel","enableDynamic","dynamicLevel","dynamicColor","dynamicTint","dynamicWidth","surfaceProject","contourProject","colorBounds","_field","mallocFloat","vertexColor","ZERO_VEC","PROJECT_DATA","projections","computeProjectionData","cubeAxis","axisSquish","nclipBounds","UNIFORMS","lowerBound","upperBound","zOffset","MATRIX_INVERSE","DEFAULT_PERM","drawCore","transparent","clipClamped","projectData","PICK_UNIFORMS","handleArray","toColor","handleColor","coordinateBuffer","nparams","levelIndex","padField","dstField","srcField","srcShape","dstShape","levelsChanged","fsize","freeFloat","tick2","dfields","dxdu","dxdv","dydu","dydv","dzdu","dzdv","nz","nl","lo_intensity","hi_intensity","tverts","tptr","j_loop","vf","change_test","contourVerts","contourLevel","levelOffsets","levelCounts","edge_loop","axis_loop","iu","floatBuffer","dyanamicLevel","scratchBuffer","jx","jy","cu","scatterHover","yFracUp","textPart","_hovertitle","parcoordsPlot","hadParcoords","hasParcoords","JulianCalendar","posOffset","hasTypedArrays","DOUBLE_VIEW","UINT_VIEW","toDoubleLE","lowUintLE","highUintLE","toDoubleBE","lowUintBE","highUintBE","toDouble","writeUInt32LE","readDoubleLE","lowUint","writeDoubleLE","readUInt32LE","highUint","fraction","denormalized","hasPreCompStats","boxmeanDflt","notchedDflt","getDims","sLen","defaultOrientation","yDims","xDims","setInX","setInY","hasCategories","outlierColorDflt","lineoutliercolor","modeDflt","ORDER","ScatterMapbox","sourceIds","layerIds","setSourceData","scatterMapbox","barPointData","posVal","pRangeCalc","isClosest","isWaterfall","maxSpikeDistance","thisBarMinPos","thisBarMaxPos","minPos","maxPos","_positionFn","_minPos","_maxPos","positionFn","thisBarPositionFn","labelLabel","CopticCalendar","SUBPLOT_PATTERN","remainingCalcData","subplotX","subplotY","spmatch","Font","createRegl","createGl","fontAtlas","isObj","parseUnit","metrics","isStretchSupported","fontStretch","GlText","isRegl","charBuffer","charOffset","atlasSize","atlasDim","cols","charStep","positionOffset","normalViewport","viewportArray","baseFontSize","newAtlasChars","newFont","newFontSize","baseString","stretch","variant","fonts","fontString","textArray","textOffsets","atlasContext","baseChar","positionData","j$1","charIds","sizeData","i$3","ptr$1","count$1","j$2","prevChar","prevWidth","currWidth","prevOffset","kerning$1","maxCols","maxAtlasSize","atlasWidth","atlasHeight","atlasCanvas","alignOffset","baselineOffset","colorData","i$4","l$1","i$5","isBatch","i$6","ignoreCase","dotAll","fileSaver","_snapshotInProgress","messages","3","5","6","256","512","513","514","515","516","517","518","519","768","769","770","771","772","773","774","775","776","1024","1028","1029","1032","1280","1281","1282","1285","1286","2304","2305","2849","2884","2885","2886","2928","2929","2930","2931","2932","2960","2961","2962","2963","2964","2965","2966","2967","2968","2978","3024","3042","3088","3089","3106","3107","3317","3333","3379","3386","3408","3410","3411","3412","3413","3414","3415","3553","4352","4353","4354","5120","5121","5122","5123","5124","5125","5126","5386","5890","6401","6402","6406","6407","6408","6409","6410","7680","7681","7682","7683","7936","7937","7938","9728","9729","9984","9985","9986","9987","10240","10241","10242","10243","10497","10752","16384","32769","32770","32771","32772","32773","32774","32777","32778","32779","32819","32820","32823","32824","32854","32855","32873","32926","32928","32936","32937","32938","32939","32968","32969","32970","32971","33071","33170","33189","33306","33635","33648","33901","33902","33984","33985","33986","33987","33988","33989","33990","33991","33992","33993","33994","33995","33996","33997","33998","33999","34000","34001","34002","34003","34004","34005","34006","34007","34008","34009","34010","34011","34012","34013","34014","34015","34016","34024","34041","34055","34056","34067","34068","34069","34070","34071","34072","34073","34074","34076","34338","34339","34340","34341","34342","34373","34466","34467","34660","34661","34816","34817","34818","34819","34877","34921","34922","34930","34962","34963","34964","34965","34975","35040","35044","35048","35632","35633","35660","35661","35663","35664","35665","35666","35667","35668","35669","35670","35671","35672","35673","35674","35675","35676","35678","35680","35712","35713","35714","35715","35716","35717","35718","35719","35720","35721","35722","35724","35725","36003","36004","36005","36006","36007","36048","36049","36050","36051","36053","36054","36055","36057","36061","36064","36096","36128","36160","36161","36162","36163","36164","36168","36176","36177","36178","36179","36180","36181","36194","36336","36337","36338","36339","36340","36341","36346","36347","36348","36349","37440","37441","37442","37443","37444","thrower","ACCESSORS","argument0","argument1","TERNARY","ternaryIds","ternaryId","ternary","oldTernaryKeys","oldTernaryKey","oldTernary","EVENT_POINT","EVENT_END","EVENT_START","PartialHull","lowerIds","upperIds","compareEvent","testPoint","addPoint","hulls","findSplit","splitHulls","splitIdx","mergeHulls","mergeIdx","map1dArray","makepath","orientText","drawClipPath","clipsegments","bicubic","clipPathData","drawGridLines","lineClass","gridJoin","drawAxisLabels","labelClass","labelJoin","maxExtent","labelOrientation","labelEl","labelpadding","drawAxisTitles","labelOrientationA","labelOrientationB","aMin","aMax","bMin","bMax","ab2xy","dxyda_rough","dxydb_rough","drawAxisTitle","cdcarpet","carpetLayer","clipLayer","minorLayer","majorLayer","boundaryLayer","labelLayer","titleJoin","labelNorm","angleDiff","reverseTitle","vecNormalize","vecScale","generateContourExtractor","triangulateCube","zeroCrossings","buildSurfaceNets","cubeArgs","maskStr","extraFuncs","currentFunc","efName","denoms","crossingCount","totalCrossings","vertexStr","cStr","mesh1D","npos","ncel","dirLine","Error2D","drawErrors","errorBuffer","meshBuffer","positionFract","capOffset","drawGroup","errorCount","errorData","yPad","lightAmount","darkAmount","prevIndexToPoints","handleGeoDefaults","geoLayoutIn","geoLayoutOut","scopeParams","isAlbersUsa","_isAlbersUsa","isScoped","_isScoped","isConic","_isConic","isClipped","_isClipped","rangeDflt","dtickDflt","dfltSpans","hSpan","lonRange","latRange","lon0","lon1","projLon","centerLonDflt","centerLatDflt","centerLon","dfltProjRotate","dfltProjParallels","fitBounds","createVAONative","ExtensionShim","bindVertexArrayOES","bindVertexArray","createVertexArrayOES","createVertexArray","deleteVertexArrayOES","deleteVertexArray","SYMBOL_SIZE","SYMBOL_SDF_SIZE","SYMBOL_STROKE","gl10","containerArrayMatch","isAddVal","isRemoveVal","applyContainerArrayChanges","_nestedProperty","componentType","supplyComponentDefaults","replotLater","replot","recalc","fullVal","componentNum","objEdits","objKeys","objVal","adding","componentNums","componentArrayIn","componentArray","componentArrayFull","deletes","firstIndexChange","maxIndex","indicesToDraw","FRAGMENT","gridVert","gridFrag","tickVert","styleBox","boxSel","allBoxes","boxData","thisBox","waterfalls","waterfallsVert","waterfallsHorz","waterfallnorm","compare1st","compileConstructor","useGetters","procedure","CACHED_CONSTRUCTORS","index_str","shapeArg","strideArg","a_vars","c_vars","tShape","tStride","arrayDType","wrappedNDArrayCtor","ctor_list","setAutoType","getFirstNonEmptyTrace","calAttr","isBoxWithoutPositionCoords","getBoxPosLetter","boxPositions","isBox","isCandlestick","manageArrays","subroutines","numericNameWarningCount","numericNameWarningCountLimit","okToPlot","setPlotContext","graphWasEmpty","cleanData","cleanLayout","plotLegacyPolar","makePlotFramework","doCalcdata","clearResponsive","oldMargins","drawFrameworkCalls","cleanPlot","marginPushers","clearAutoMarginIds","marginPushersAgain","didMarginChange","positionAndAutorange","addLinks","rehover","redrag","plotDone","emitAfterPlot","opaqueSetBackground","plot3dPixelRatio","szIn","szOut","polarPlotSVG","placeholderText","setContenteditable","positivifyIndices","parentLength","positiveIndices","assertIndexArray","arrayName","checkMoveTracesArgs","currentIndices","newIndices","checkAddTracesArgs","assertExtendTracesArgs","maxPoints","maxPointsIsObject","getExtendProperties","maxp","updateProps","spliceTraces","updateArray","undoUpdate","undoPoints","concatTypedArray","arr0","arr1","newArray","remainder","both","numberOfItemsFromInsert","numberOfItemsFromTarget","targetBegin","undoArgs","undoFunc","redoFunc","redoArgs","startSequence","stopSequence","deletedTrace","sorterDes","movingTraceMap","_traces","clearPromiseQueue","coerceTraceIndices","_restyle","clearAxisTypes","fullReplot","markerSize","addAxRangeSequence","colorbars","undoit","redoit","undefinedToNull","makeNP","guiEditFlag","fullAttr","storeCurrent","arrayNew","objNew","objBoth","_guiEditing","layoutNP","cleanDeprecatedAttributeKeys","traceFlags","addToAxlist","axid","autorangeAttr","getFullTrace","doextra","hasParent","extraparam","allBins","arrayBins","vij","contFull","finalPart","prefixDot","innerContFull","impliedKey","labelsTo","valuesTo","topOrBottom","thicknorm","lennorm","swapXYData","dataArrayContainers","manageArrayContainers","oldAxisTitleRegex","colorbarRegex","oldAttrStr","newAttrStr","_relayout","axRangeSupplyDefaultsByPass","layoutstyle","axrange","rangesAltered","AX_RANGE_RE","AX_AUTORANGE_RE","AX_DOMAIN_RE","arrayEdits","axisAttr","newkey","layoutFlags","recordAlteredAxis","pleafPlus","plen","pend","pleaf","ptrunk","parentFull","vOld","oppositeAttr","_initialAutoSize","axFull","fullProp","updateValObject","finished","groupAxId","updateAutosize","oldWidth","oldHeight","plotAutoSize","traceUpdate","restyleSpecs","restyleFlags","relayoutSpecs","relayoutFlags","guiEdit","layoutUIControlPatterns","traceUIControlPatterns","findUIPattern","patternSpecs","getNewRev","revAttr","newRev","getFullTraceIndexFromUid","getTraceIndexFromUid","valsMatch","v1IsObj","v1IsArray","applyUIRevisions","oldRev","preGUIVal","newNP","layoutPreGUI","bothInheritAutorange","newRangeAccepted","axAttr","newAx","allTracePreGUI","fulli","newTracei","configChanged","oldConfig","diffConfig","skipUpdateCalc","immutable","diffLayout","newDataRevision","diffData","supplyDefaultsUpdateCalc","createTransitionData","transitionFromReact","_skipDefaults","sameTraceLength","nChanges","nChangesAnim","diffOpts","getValObject","seenUIDs","hasMakesDataTransform","getDiffFlags","oldContainer","outerparts","inArray","arrayIndex","valObjectCanBeDataArray","tickMode","canBeDataArray","wasArray","nowArray","inputKey","oldValIn","newValIn","arrayEditIndices","extraIndices","newConfig","frameOrGroupNameOrFrameList","animationOpts","_frameQueue","supplyAnimationDefaults","frameOpts","getTransitionOpts","getFrameOpts","callbackOnNthTime","_frameWaitingCnt","discardExistingFrames","onInterrupt","queueFrames","frameList","computedFrame","computeFrame","nextFrame","_lastFrameAt","_animationRaf","beginAnimationLoop","stopAnimationLoop","_currentFrame","newFrame","stringName","_timeToNext","_runningTransitions","configCounter","setTransitionConfig","allFrames","isFrameArray","isSingleFrame","frameOrName","_frameHash","currentFrame","filteredFrameList","bigIndex","insertions","_frameHashLocal","lookupName","collisionPresent","supplyFrameDefaults","revops","frameCount","_counter","modifyFrames","gd3","_toppaper","_hoverpaper","otherUids","layerBelow","_imageLowerLayer","layerAbove","_imageUpperLayer","_menulayer","attribution","tiles","tileSize","minzoom","maxzoom","styleValuesNonMapbox","layoutLayerPrefix","createWellKnownSymbol","withoutSetter","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromObject","assertSize","encoding","checked","isEncoding","actual","fromArrayLike","byteOffset","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","swap16","swap32","swap64","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","codePoints","bytes","checkOffset","checkInt","objectWriteUInt16","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatBE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","leadSurrogate","byteArray","nativeKeys","FAILS_ON_PRIMITIVES","ptsIn","rectFirstEdgeTest","rectContains","xmini","ycross","isSegmentBent","partParallel","segmentSquared","segmentLen","unitPerp","ptsFiltered","doneRawIndex","doneFilteredIndex","prevFilterLen","iLast","readComponents","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","boundFunction","findIndex","lineColorFn","lineWidthFn","fc","opacitySetting","deprecationWarning","domainAttr","mergeAttrs","nonCommonAttrs","commonAttrs","tickorientation","endpadding","keepRest","toList","occupied","aliases","extractContour","ndsort","contourAlgorithm","getDimension","getSigns","vertexSigns","getEdges","maxEdges","ePtr","nedges","getCrossingWeights","signs","edata","getCascade","lastV","unpackEdges","vcascade","uedges","uweights","closestPointToTriangle","xformMatrix","projectVertex","barycentricCoord","closestPointToPickLocation","pixelCoord","simplex2D","closestIndex","closestDist","DIMENSION","AXIS","VISIT","FLIP","ELEM_SIZE","RED_START","RED_END","RED_BOXES","RED_INDEX","RED_PTR","BLUE_START","BLUE_END","BLUE_BOXES","BLUE_INDEX","BLUE_PTR","RETVAL","INNER_LABEL","ARGS","generateBruteForce","redMajor","redLoop","blueLoop","bruteForcePlanner","codeStr","vec","plotinfoproxy","boxCalc","silvermanRule","ssd","iqr","calcBandwidth","calcSpan","spanOut","spanIn","spanTight","spanLoose","calcSpanItem","spanMin","spanMax","violinScaleGroupStats","scaleGroup","PIXELS_PER_INCH","getSizeBrutal","getPropertyInPX","testDIV","defaultCanvas","defaultContext","shim","nullObject","polyProps","validTypes","invert2","invert3","invert4","createSurface","homography","SurfaceTrace","contourStart","contourEnd","contourSize","minValues","maxValues","dataScaleX","dataScaleY","refineData","isColormapCircular","getXat","getYat","getZat","_interpolatedZ","xRatio","yRatio","shortPrimes","getPow","getFactors","smallestDivisor","leastCommonMultiple","arrayLCM","calcXnums","nums","totalDist","calcYnums","highlyComposites","MIN_RESOLUTION","MAX_RESOLUTION","insertIfNewLevel","createSurfaceTrace","estimateScale","resSrc","resDst","refineCoords","scaleW","scaleH","padWidth","padHeight","padImg","scaledImg","setContourLevels","newLevels","useNewLevels","needsUpdate","allLevels","rawCoords","highlightEnable","contourParams","supportsTransparency","getFilterFunc","targetCalendar","isOperationIn","d2cValue","preservegaps","getTargetArray","_arrayAttrs","attrTargetCalendar","initFn","filterFunc","originalArrays","forAllAttrs","passed","lineLayerMaker","findExtreme","fixExtremes","dimensionExtent","toText","texts","domainScale","unitVal","domainToPaddedUnitScale","padFraction","ordinalScale","unitToColorScale","colorTuples","polylinearUnitScales","someFiltersActive","deselectedLineColor","labelangle","labelSide","labelside","rangeFont","rangefont","canvasPixelRatio","rowContentWidth","colCount","tickDistance","callbacks","unitPad","_unitToPaddedPx","domainToPaddedUnit","specifiedConstraint","filterRangeSpecified","filterRange","brushMove","focusLayer","filtersActive","contextShown","contextLayer","truncatedValues","makeTickItem","sortTickItem","tickItems","visibleIndex","linePickActive","pickLayer","invScale","styleExtentTexts","axisExtentText","parcoordsInteractionState","calcTilt","updatePanelLayout","yAxis","calcAllTicks","linearFormat","extremeText","isTop","glContainer","glLayers","lastHovered","lineLayer","pixel","controlOverlay","parcoordsControlView","wantedTickCount","sdom","axisHeading","axisTitle","tilt","axisTitleOffset","axisExtent","axisExtentTop","axisExtentOffset","axisExtentTopText","axisExtentBottom","axisExtentBottomText","convertTickWidth","_minDiff","_xcalc","wHover","hasTextArray","hasHovertextArray","cPrev","oi","li","ohlcTracesOnThisXaxis","xcalc","cartesianConstants","xclick","yclick","handleAnnotationCommonDefaults","handleAnnotationDefaults","clickToShow","arrowPosDflt","arrowPosAttr","aaxRef","aDflt","xClick","yClick","frameAttrs","commandModule","positionPlayWithData","pathname","search","redrawText","resolveLastResize","_redrawTimer","_resolveResize","oldchanged","autoplay","linkContainer","toolspan","spacespan","sourcespan","PLOTLYENV","BASE_URL","hiddenformDiv","hiddenform","hiddenformInput","graphJson","submit","d3FormatKeys","extraFormatKeys","getTraceUids","prevFullInput","oldFullInput","thisFullInput","oldLen","seenUids","setUid","tryUid","newUid","emptySubplotLists","getFormatObj","formatKeys","formatDone","formatObj","includeFormat","formatFinished","formatKey","formatj","en","getFormatter","fillMetaTextHelpers","meta4data","findMainSubplot","isX","mainSubplotID","nextBestMainSubplotID","anchorID","counterIDs","counterPart","makesData","applyTransforms","initMargins","_pushmargin","_pushmarginIds","newLayout","oldCalcdata","_traceWord","_mapboxAccessToken","_initialAutoSizeIsDone","sanitizeMargins","missingWidthOrHeight","initialAutoSize","_visibleModules","splomAxes","splomSubplots","_traceUids","_globalTransforms","supplyDataDefaults","splomXa","splomYa","_hasPlotType","supplyLayoutModuleDefaults","crossTraceDefaultsFuncs","funci","_hasCartesian","_hasGeo","_hasGL3D","_hasGL2D","_hasTernary","_hasPie","linkSubplots","uids","oldTrace","_hasCalcTransform","oldArrayVal","hasInfoLayer","oldLoop","oldUid","oldSubplots","newSubplots","newSubplotList","mainAx","subplotSort","locateColorAttrs","_colorAttrs","origprop","visibleModules","colorCnt","pushModule","_transformModules","carpetIndex","carpetDependents","supplyTraceDefaults","sdInvisible","expandedTraces","expandedTrace","fullExpandedTrace","_expandedInput","carpetAxis","optsOut","supplyAnimationFrameDefaults","supplyAnimationTransitionDefaults","frameIn","frameOut","traceInIndex","attri","supplyTransformDefaults","transformModules","transformList","isFirstStage","doLaterStages","_dataTemplate","uniformtextMode","modebarDefaultColor","maxHeight","widthHasChanged","heightHasChanged","transitionData","clearThrottle","fid","undoqueue","undonum","styleModules","correction","plotWidth","plotHeight","pushMargin","pushMarginIds","ml","mr","mt","k1","pushleft","pushbottom","pl","newL","newR","ft","newB","newT","maxNumberOfRedraws","marginKeys","_transition","aborted","executeCallbacks","flushCallbacks","executeTransitions","numCallbacks","numCompleted","makeCallback","completeTransition","runFn","interruptPreviousTransitions","prepareFn","transitionStarting","margin0","margin1","dataonly","useDefaults","stripObj","fit","operations","oldName","frameName","destIndex","frameLookup","framePtr","frameStack","frameNameStack","extendLayout","extendTrace","recomputeFrameHash","extendObjectWithContainers","containerPaths","containerProp","containerVal","srcProp","destProp","srcContainer","destContainer","expandedObj","expandObjectPaths","containerObj","srcObj","destTrace","srcTrace","destLayout","srcLayout","transitionedTraces","axEdits","dataLength","traceIdx","axisAttrRe","traceTransitionOpts","hasAxisTransition","axisTransitionOpts","allTraceIndices","transitionTraces","_numViolins","_piecolormap","_sunburstcolormap","_treemapcolormap","_funnelareacolormap","cauto","transformCalci","calci","isContainer","setupAxisCategories","doCrossTraceCalc","sortAxisCategoriesByValue","sortAxisCategoriesByValueRegex","zMapCategory","counterAxLetter","xCategorical","yCategorical","aggFn","aggregator","categoriesValue","cat","catIndex","currentDimensionIndex","associatedXAxisID","mapping","_categoriesValue","categoriesAggregatedValue","_categoriesAggregatedValue","spType","spInfo","traceHashOld","moduleNameOld","fakeCalcTrace","fakeTrace","had","handleHoverLabelDefaults","STATIC_CANVAS","STATIC_CONTEXT","glPlot3d","createPlot","passiveSupported","str2RGBAarray","showNoWebGlMsg","svgContainer","clientRect","oldEventData","lastPicked","pdata","hoverinfoParts","isHoverinfoAll","vectorTx","uLabel","vLabel","wLabel","normLabel","divergenceLabel","drawAnnotations","tryCreatePlot","glplotOptions","staticMode","initializeGLPlot","initializeGLCamera","isCameraChanged","getCamera","isAspectChanged","relayoutCallback","saveLayout","recoverContext","make4thDimension","sceneContainer","plotArgs","convertAnnotations","cameraData","tryRecover","axisProperties","computeTraceBounds","computeAnnotationBounds","getCameraArrays","getLayoutCamera","sceneData","axisType","glplotLayout","dataBounds","traceIds","traceIdLoop","sceneBounds","axisDataRange","axisTypeRatios","objBounds","_lowerLogErrorBound","axesScaleRatio","axisRatio","axisAutoScaleFactor","userRatio","containerStyle","newOrtho","oldOrtho","cameraNestedProp","cameraDataLastSave","same","aspectData","aspectNestedProp","aspectDataLastSave","cameraChanged","aspectChanged","cameraFullNP","aspectFullNP","fullCamera","zUp","dataURL","createImageData","putImageData","ascendingComparator","ascendingBisect","array_array","src_max","valueof","src_mean","src_min","src_sum","zmin0","zmax0","zRange","gridLightness","mat4","fromRotationTranslation","zoomstartStyle","zoomendStyle","createGeoZoom","zoomConstructor","zoomScoped","zoomClipped","zoomNonClipped","initZoom","sync","userOpts","fullNp","fitScale","handleZoomstart","handleZoom","midPt","syncCb","handleZoomend","mouse0","rotate0","lastRotate","zoomPoint","mouse1","rotate1","didZoom","INSIDETOLORANCEPXS","outside","d3eventDispatch","zoomOn","_rotate","quaternionFromEuler","between","rotateBetween","newEuler","eulerFromQuaternion","rotateAngles","unRoll","euler","phi","sinLambda","cosLambda","sinPhi","cosPhi","sinGamma","cosGamma","halfgamma","ptRotated","rotateCartesian","newYaw1","newYaw2","newPitch1","newPitch2","dist1","angleDistance","yaw0","pitch0","yaw1","pitch1","dYaw","angleMod","dPitch","angleRads","vectorOut","HebrewCalendar","_leapYear","yearType","adjYear","_delay1","_delay2","present","showaxeslabels","noRoomForHeader","allData","minVisibleDepth","maxVisibleDepth","_maxVisibleLayers","prevEntryId","getRefRect","probability","SPLITTER","abig","bbig","err1","err2","err3","PREFERRED_STRING","closestPoint2d","V0","V1","V2","sqrDistance","tmp0","invDet","createPolar","oldIds","mustCleanScene","plotGroups","quadrants","hasOutsideText","cxFinal","cyFinal","outerCircle","px0","outerArc","px1","rim","determineOutsideTextFont","transformOutsideText","transformInsideText","textPosAngle","textXY","getCoords","rCenter","computeTransform","yLabelMin","yLabelMid","yLabelMax","labelExtraX","labelExtraY","finish","positionTitleInside","scootLabels","plotTextLines","traceBbox","lineStartX","lineStartY","textLinePath","finalX","yFromX","yNet","fullLayout2","percentLabel","hoverLabel","customColor","dummyTitle","titleBox","textDiameter","halfAngle","halfangle","midAngle","midangle","isTangential","isRadial","startangle","stopangle","allTransforms","considerCrossing","isCrossing","dStart","dStop","closestEdge","calcTanTransform","calcRadTransform","calcMaxHalfSize","calcRCenter","calcRotate","getInscribedRadiusFraction","plotSize","maxPull","topMiddle","getMaxPull","applyAspectRatio","getTitleSpace","pieBoxHeight","xHalf","yHalf","equatorFirst","farthestX","farthestY","xDiffSign","yDiffSign","thisQuad","oppositeQuad","wholeSide","thisQuadOutside","firstOppositeOutsidePt","topFirst","bottomFirst","scootOneLabel","prevPt","xBuffer","otherPt","otherOuterY","otherOuterX","newExtraX","prevOuterY","thisInnerY","thisOuterY","thisSliceOuterY","newExtraY","scaleGroups","groupScale","currentCoords","angleFactor","firstPt","hasLabel","hasValue","hasPercent","makeTemplateVariables","ptTx","cosA","sinA","midX","midY","noCenter","NepaliCalendar","daysPerYear","NEPALI_CALENDAR_DATA","month_number","nepaliYear","nepaliMonth","nepaliDay","gregorianDayOfYear","nepaliMonthToCheck","nepaliYearToCheck","_createMissingCalendarData","gregorianYear","gregorianDate","dayOfFirstJanInPaush","daysSinceJanFirstToEndOfNepaliMonth","nepaliDayOfMonth","tmp_calendar_data","nepaliYearToCreate","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","bgVert","bgFrag","VertexAttribute","VAONative","_attribs","_useElements","a2o","systems","stretches","variants","fams","verify","system","naiveFallback","__global__","absolutize","compress","NUM_EXPANDED","compileDeterminant","doBreak","broken","getIndices","sortedArray","getSortFunc","arrayOld","DensityMapbox","densityMapbox","topojsonUtils","topojsonFeature","getTopojsonName","getTopojsonPath","topojsonName","vendors","caf","frameDuration","_now","cp","cancelled","boxLine","meanLineStyle","m4FromQuat","AxisIds","cleanAxRef","cleanTitle","titleContainer","rewireAttr","oldAttrName","newAttrName","oldAttrSet","newAttrSet","cleanFinanceDir","dirContainer","dirName","commonPrefix","name1","name2","show1","show2","cleanTextPosition","emptyContainer","innerStr","xaxis1","yaxis1","scene1","axisAttrRegex","polarAttrRegex","ternaryAttrRegex","sceneAttrRegex","isdate","islog","autotick","cameraposition","annotationsLen","shapesLen","yeColor","reversescl","containerName","highlightWidth","increasingShowlegend","decreasingShowlegend","increasingName","decreasingName","filtersrc","prevStyles","styleKeys","copyYstyle","hoverInfoParts","traceIndicesOut","pLength","pLastIsNumber","contPath","ATTR_TAIL_RE","attrParent","sceneName","typeAttr","getSubplot","isTraceInSubplots","newDistance","passVal","getPointKey","pointVal","getPointData","keyVal","pointKeyMap","methodNames","PlotlyLocales","Snapshot","zref","INSERTION_SORT_THRESHOLD","getMallocFree","mallocUint16","freeUint16","mallocInt8","freeInt8","mallocInt16","freeInt16","freeInt32","freeDouble","createInsertionSort","allocator","scratch_shape","dataRead","dataWrite","createQuickSort","labelCounter","ele_size","toPointer","cacheLoop","ptrs","usePivot","lexicoLoop","cleanUp","compareSwap","a_id","b_id","lbl","moveElement","swapElements","tripleSwap","swapAndDecrement","storePivot","mem_dest","pivot_dest","doSort","walkPointer","compileSort","scratch_stride","nprod","sortArgs","edgeToAdjacency","createPointCloudRenderer","Pointcloud","pickXData","pickYData","pointcloudOptions","sizemax","pointcloud","createPointcloud","traceCoord","pickXYData","updateFast","userBounds","xbounds","ybounds","markerSizeMin","markerSizeMax","arearatio","copyArgArray","queueObj","queueIndex","undoQueue","sequence","inSequence","beginSequence","calls","plotDo","SHARED","perm","dfactorial","TIME_FORMAT_LINK","cheatertype","labelprefix","labelsuffix","titleoffset","attributeText","attributeTextPosition","getKeyFunc","dirSign","bartraces","isBar","shouldDisplayZeros","adjustPixel","pointGroup","bars","roundWithLine","expandToVisible","fixpx","styleFns","appendBarText","hasClipOnAxisFalse","appendTextNode","textSelection","getTextPosition","inStackOrRelativeMode","insideTextFont","outsideTextFont","barHeight","textHasSize","fitsInside","fitsInsideIfRotated","fitsInsideIfShrunk","toMoveOutsideBar","getRotateFromAngle","getRotatedTextSize","absSin","absCos","isEnd","toRight","toLeft","textpad","extrapad","calcTexttemplate","calcTextinfo","vLetter","formatLabel","percenTotalLabel","nPercent","hasMultiplePercents","svgSdf","convertStyle","convertTextStyle","convertTextSelection","convertMarkerStyle","convertMarkerSelection","overlay","convertErrorBarStyle","textfontIn","textpositionIn","textPos","tfc","tfs","tff","fonti","optsIn","multiSymbol","multiColor","multiLineColor","multiOpacity","multiSize","multiLineWidth","borderColors","getSymbolSdf","markerSizeFunc","borderSizes","sizeTotal","SYMBOL_SDF","SYMBOL_SVG_CIRCLE","symbolPath","symbolSdf","symbolFunc","isDot","convertLinePositions","midPtX","midPtY","hasNaN","convertErrorBarPositions","convertOneAxis","computeError","pOffset","eOffset","minShoe","maxHat","dl","lv","shoe","hat","convertTextPosition","markerOpts","fontOpts","hSign","vSign","xPad","markerStyle","markerSelection","RED","BLACK","RBNode","_color","repaint","recount","RedBlackTree","_compare","doVisitFull","doVisitHalf","doVisit","RedBlackTreeIterator","_stack","n_stack","d_stack","pp","ppp","at","last_ptr","iproto","swapNode","fixDoubleBlack","defaultCompare","cstack","getTilingMethod","treemapSquarify","treemapBinary","treemapDice","treemapSlice","treemapSliceDice","flipTree","swapXY","tile","paddingInner","paddingLeft","paddingRight","paddingTop","paddingBottom","defaultSeparation","meanX","meanXReduce","maxYReduce","leafLeft","leafRight","eachAfter","hierarchy_count","eachBefore","leastCommonAncestor","valued","defaultChildren","computeHeight","node_copy","copyData","enclose","circles","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","encloseBasis1","r21","r3","place","siblings_Node","packEnclose","sj","sk","optional","required","constantZero","defaultRadius","src_pack","radiusLeaf","packChildren","translateChild","treemap_round","dice","src_partition","positionNode","keyPrefix","preroot","ambiguous","defaultParentId","src_stratify","nodeKey","nodeByKey","tree_defaultSeparation","nextLeft","nextRight","moveSubtree","executeShifts","nextAncestor","TreeNode","treeRoot","treemap_slice","squarifyRatio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","src_treemap","paddingStack","paddingOuter","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","sliceDice","treemap_resquarify","resquarify","_squarify","STASHATTR","NO_CURSOR","savedCursor","classes","edgeVal2","boundaryMax","boundaryMin","contoursValue","includeGL3D","renderableValuePresent","ownTrace","traceId","makeTranslucent","makeTextContrasty","relatedLinks","relatedNodes","nodeHoveredStyle","linkHoveredStyle","nodeNonHoveredStyle","linkNonHoveredStyle","visitNodes","tinyColorAlpha","labelOpts","linkSelect","linkHover","sourceLabel","targetLabel","concentrationLabel","incomingLabel","outgoingLabel","linkHoverFollow","anchorIndex","flow","hoverCenter","hoverCenterPosition","valueFormat","valueSuffix","labelConcentration","tooltips","tooltip","linkUnhover","nodeSelect","nodeHover","nodeHoverFollow","rootBBox","boundingBox","hoverCenterX0","hoverCenterX1","tinyColorHue","nodeUnhover","linkEvents","follow","nodeEvents","monotoneConvexHull2D","convexHullnD","ich","aff","front","npoints","invPermute","boxHoverPoints","closePtData","violinLineAttrs","hasHoveronViolins","hasHoveronKDE","closeData","closeBoxData","hoverOnBoxes","vVal","kdePointData","vValPx","kdeVal","pOnPath","paOffset","paLength","spikePosAttr","hoverOnPoints","violinLine","distRatio","IsosurfaceTrace","beginVertextLength","allXs","allYs","allZs","allVs","activeFill","surfaceFill","spaceframeFill","drawingSurface","drawingSpaceframe","numFaces","Xs","Ys","Zs","_gridFill","_minValues","_maxValues","vMin","_vMin","vMax","_vMax","findVertexId","beginGroup","emptyVertices","addVertex","addFace","setFill","createOpenTri","xyzv","styleIncludes","mapValue","drawTri","allXYZVs","allABCs","openTri","pnts","drawQuad","abcd","makeTri","drawTetra","calcIntersection","pointOut","pointIn","inRange","almostInFinalRange","vErr","getXYZV","indecies","MAX_PASS","tryCreateTri","nPass","tryDrawTri","interpolated","tryCreateTetra","p4","addCube","p000","p001","p010","p011","p100","p101","p110","p111","addRect","previousResult","begin2dCell","p00","p01","p10","p11","beginSection","distRatios","makeSection","rX","rZ","begin3dCell","cellStyle","draw2dX","draw2dY","draw2dZ","draw3d","drawSpaceframe","drawSurface","drawSectionX","drawSectionY","drawSectionZ","insertGridPoints","drawAll","activeStyle","surfacePattern","surfaceCount","setupMinMax","preRes","activeMin","activeMax","exactIndices","ceilIndices","cap","connectorVisible","defaultFillColor","connectorLineWidth","cBase","DOUBLEQUOTE_REGEX","DUMMY_SUB","DUMMY_REGEX","htmlEntityDecode","hiddenDiv","replaced","xmlEntityEncode","toppaper","topGroups","topGroup","queryParts","XMLSerializer","serializeToString","traceOpts","layoutOpts","traceEditTypeFlags","layoutEditTypeFlags","falseObj","overrideContainers","overrideOne","editTypeParts","scatterglAttrs","MIN","createWave","minOpacity","fmtColor","colorstring","robustDotProduct","EXISTS","annAutorange","apos","aref","padplus","padminus","headSize","headPlus","headMinus","startHeadSize","startHeadPlus","startHeadMinus","extremeArrowHead","ppadplus","ppadminus","annotationList","sArray","pArray","barPolarCd","rAxis","aAxis","newRange","minmin","maxmax","axReverse","minpt","maxpt","minbest","maxbest","toZero","nonNegative","axLen","minSpan","mbest","getMaxPad","maxPad","rangeEnd","extrappad","_concat","collapseMinArray","collapseMaxArray","axeRangeOpts","dmin","ppadiplus","ppadiminus","isLog","hasArrayOption","vpadLinearized","makePadAccessor","vpadplus","vpadminus","collapseOpts","addItem","goodNumber","iMax","newPad","collapseArray","lessOrEqual","greaterOrEqual","atLeastAsExtreme","includeThis","clipAtZero","trimLeaves","e2a","live","dead","npositions","__TYPEDARRAY_POOL","UINT8","UINT16","UINT32","BIGUINT64","INT8","INT16","INT32","BIGINT64","DOUBLE","DATA","UINT8C","BUFFER","hasUint8C","hasBigUint64","BigUint64Array","hasBigInt64","BigInt64Array","POOL","freeArrayBuffer","log_n","freeTypedArray","mallocArrayBuffer","mallocUint8Clamped","mallocBigUint64","mallocBigInt64","mallocDataView","mallocBuffer","freeBigUint64","freeBigInt64","freeFloat64","freeUint8Clamped","freeDataView","freeBuffer","mallocFloat64","clearCache","scatterStyle","styleTrace","AFG","ALA","ALB","DZA","ASM","AND","AGO","AIA","ATA","ATG","ARG","ARM","ABW","AUS","AUT","AZE","BHS","BHR","BGD","BRB","BLR","BEL","BLZ","BEN","BMU","BTN","BOL","BES","BIH","BWA","BVT","BRA","IOT","BRN","BGR","BFA","BDI","CPV","KHM","CMR","CAN","CYM","CAF","TCD","CHL","CHN","CXR","CCK","COL","COM","COG","COK","CRI","CIV","HRV","CUB","CUW","CYP","CSK","CZE","COD","DNK","DJI","DMA","DOM","ECU","EGY","SLV","GNQ","ERI","EST","ETH","FLK","FRO","FJI","FIN","FRA","GUF","PYF","ATF","GAB","GMB","DDR","DEU","GHA","GIB","GRC","GRL","GRD","GLP","GUM","GTM","GGY","GIN","GNB","GUY","HTI","HMD","VAT","HND","HKG","HUN","ISL","IND","IDN","IRN","IRQ","IRL","IMN","ISR","ITA","JAM","JPN","JEY","JOR","KAZ","KEN","KIR","PRK","KWT","KGZ","LAO","LVA","LBN","LSO","LBR","LBY","LIE","LTU","LUX","MAC","MDG","MWI","MYS","MDV","MLI","MLT","MHL","MTQ","MRT","MUS","MYT","MEX","FSM","MCO","MNG","MNE","MSR","MAR","MOZ","MMR","NAM","NRU","NPL","NLD","ANT","NCL","NZL","NIC","NER","NGA","NIU","NFK","MNP","NOR","OMN","PAK","PLW","PSE","PAN","PNG","PRY","PER","PHL","PCN","POL","PRT","PRI","QAT","KOR","MDA","REU","ROU","RUS","RWA","BLM","SHN","KNA","LCA","MAF","SPM","VCT","WSM","SMR","STP","SAU","SEN","SRB","SYC","SLE","SGP","SXM","SVK","SVN","SLB","SOM","ZAF","SGS","SSD","ESP","LKA","SDN","SUR","SJM","SWZ","SWE","CHE","SYR","TWN","TJK","THA","MKD","TLS","TGO","TKL","TON","TTO","TUN","TUR","TKM","TCA","TUV","UGA","UKR","ARE","GBR","TZA","USA","UMI","URY","UZB","VUT","VEN","VNM","VGB","VIR","WLF","ESH","YEM","YMD","YUG","ZMB","EAZ","ZWE","objPropertyIsEnumerable","defVal","compareFn","simplifyPolygon","errorWeight","perim","minArea","outv","computeWeight","heapSwap","heap","heapWeight","heapParent","heapDown","tw","heapCount","heapUp","heapPop","heapUpdate","hmin","tortoiseHare","nh","tin","tout","cin","cout","calcXPaddingOptions","calcPaddingOptions","calcYPaddingOptions","isYAxis","axisDirectionReverted","beforePad","afterPad","shapeBounds","paramsToUse","convertVal","drawnParam","drawn","shapeList","vx0","vy0","performPlot","viewModels","createParcatsViewModel","layerSelection","traceEnter","pathsSelection","pathSelection","pathSelectionEnter","stylePathsNoHover","svgD","compareRawColor","mouseoverPath","mouseoutPath","clickPath","dimensionsSelection","dimensionSelection","categorySelection","categoryGroupEnterSelection","styleCategoriesNoHover","bandSelection","catViewModel","bands","bandsSelectionEnter","bandModel","parcatsViewModel","styleBandsNoHover","paperColor","catInRightDim","catModel","categorylabelfont","mouseoverCategoryBand","mouseoutCategory","dragDimensionStart","dragDimension","dragDimensionEnd","numDims","leftDimInd","hoverinfoItems","stylePathsHover","buildPointsArrayForPath","buildConstraintsForPath","pathCenterX","pathCenterY","hoverX","graphDivBBox","leftXs","dimWidths","leftDim","rightDim","topYs","prob","countLabel","probabilityLabel","hovertextParts","getTraceIndex","styleCategoryHover","styleBandsHover","bandsSelection","selectPathsThroughCategoryBandColor","catBandViewModel","allPaths","categoryViewModel","pathViewModel","styleForCategoryHovermode","bandElement","bandSel","bvm","styleForColorHovermode","bandViewModel","catPaths","emitPointsEventCategoryHovermode","eventName","emitPointsEventColorHovermode","createHoverLabelForCategoryHovermode","hoverLabelIdealAlign","rectSelection","rectBoundingBox","dimensionModel","createHoverLabelForDimensionHovermode","allHoverlabels","bandNode","createHoverLabelForColorHovermode","bandBoundingBox","bandColorCount","catCount","pColorAndCat","pCatGivenColor","pColorGivenCat","categorycount","colorcount","bandcolorcount","dragDimensionDisplayInd","initialDragDimensionDisplayInds","dragHasMoved","dragCategoryDisplayInd","catMouseX","catMouseY","initialDragCategoryDisplayInds","potentialClickBand","dragDimInd","prevDimInd","nextDimInd","dragCategory","categoryY","catDisplayInd","dimCategoryViews","catAbove","catBelow","prevDimension","nextDimension","updateDimensionViewModels","updatePathViewModels","updateSvgCategories","updateSvgPaths","traceInd","finalDragDimensionDisplayInds","anyDimsReordered","initDimDisplay","finalDimDisplay","anyCatsReordered","finalDragCategoryDisplayInds","initCatDisplay","sortedCategoryModels","newCategoryArray","newCategoryLabels","allTraces","dimLabelSelection","catLabelSelection","newAnchor","wrappedParcatsModel","parcatsModel","figureWidth","figureHeight","traceWidth","traceHeight","traceX","traceY","pathShape","buildSvgPath","leftXPositions","pathYs","pathHeight","curvature","refInterpolator","xRefPoints1","xRefPoints2","dimensionViewModels","nextYPositions","catToDisplayIndPerDim","dimToDisplayInd","displayToDimInd","pathDisplayCategoryInds","dimensionInds","sortArray1","sortArray2","pathViewModels","pathNumber","dimDisplayInd","catViewModle","numBands","lastCatBand","bandY","currentBand","dimensionsIndInfo","dimModel","createDimensionViewModel","dimDx","dimX0","dimX","categoryLabelPad","dimWidth","numDimensions","nextCatHeight","nextCatModel","nextCat","numCats","catSpacing","nextCatY","categoryIndInfo","var1Name","var2Name","arrayVarNames","colLen","col1","col2","textCol","hasColumnText","hoverTextCol","hasColumnHoverText","col1dv","col1vals","col2dv","col2vals","newArrays","after2before","arrayVarName","arrayVar","_after2before","coallesceUniforms","makeVector","makeGetter","makePropSetter","vidx","enumerateIndices","tprefix","makeSetter","storeProperty","processObject","coallesced","variable","_zlength","vPos","hPos","xInc","yInc","anchorVals","MapboxLayer","idSource","idLayer","sourceType","layerType","convertOpts","iconsize","placement","convertSourceOpts","sourcetype","sourceOpts","sourceattribution","needsNewImage","updateImage","needsNewSource","updateSource","updateLayer","needsNewLayer","updateStyle","_below","convertedOpts","sourcelayer","getLayer","mapboxLayer","cleanOne","valTrim","rgbStr","cstr","bcflat","fcflat","el0","findCategories","cloneLayoutOverride","tileClass","override","keyIsAxis","graphObj","oldData","oldLayout","axesImageOverride","linetickenable","plotTile","td","defaultLayout","fastTwoSum","NASHORN_BUG","buttonAttrs","xAxisMatch","yAxisMatch","JITTERCOUNT","JITTERSPREAD","cdbox","boxLayer","wdPos","bdPos0","bdPos1","whiskerWidth","lcenter","posc","pos1","posw0","posw1","posm0","posm1","useExtremes","seedPseudoRandom","gPoints","newJitter","typicalSpread","minSpread","spreadLimit","jitterFactors","maxJitterFactor","pmin","pmax","jitterFactor","jitterOffset","pseudoRandom","sl","sh","thunkName","string_typesig","shapeLengthConditions","shapeConditions","thunk","dcubicHermite","dh00","dh10","dh01","dh11","ti2","h00","h10","h01","h11","Axes2DOptions","AXES","createAxes2D","axTitle","axMirror","hasAxisInDfltPos","hasAxisInAltrPos","hasSharedAxis","mirrorLines","mirrorTicks","getLabelPad","getTickPad","getTickMarkLength","axSide","DiscworldCalendar","dow","century","centuries","20","21","runtimeUniforms","runtimeAttributes","GL_TO_GLSL_TYPES","GL_TABLE","getType","typeNames","tn","numUniforms","ACTIVE_UNIFORMS","numAttributes","TAG","parentOut","constraintRange","dimensionsIn","fontDflt","xctrl","yctrl","nea1","neb1","IS_RIGHT","memo","createTextSprites","VERTEX_SIZE","TextSprites","tryVectorizeText","pixelScale","alignDir","alignOpt","drawLabel","autoContour","missingEnd","aFrom","propertyNames","propertyName","ensure","arcToCurve","makeControlPoints","inferCubicControlPoint","p2e0","p2e1","xe","ye","je","xej","yej","zVal","v0In","dvIn","numbricks","isArrayOfTwoItemsOrMore","sizex","sizey","sizing","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","forceStringMethod","stringMethod","regexMethod","Camera2D","lastInputTime","lastPos","boxEnabled","boxInited","boxStart","boxEnd","dragStart","mouseContainer","unSetAutoRange","getSubplotConstraint","calcDataBox","updateRange","setRanges","smallDx","smallDy","dydx","panning","handleAnnotations","path2DSupported","parsePath","drawPath","bitmapSdf","pathSdf","viewbox","strokeStyle","isPath2DSupported","path2d","Path2D","setTransform","cutoff","idata","$map","tickmodeDefault","hoverSplit","getClosestPoint","hoverPseudoDistance","spikePseudoDistance","minAttr","maxAttr","centerShift","shiftPos","displayHalfWidth","hoverHalfWidth","pseudoDistance","xSpike","cdIndex","hoverParts","usedVals","valPx","getLabelLine","textParts","FaceIndex","constraint","classifyFaces","indexCells","locate","filterCells","isCat","dtickNum","getMarchingIndex","mi","startIndices","ystartIndices","twoWide","fadedColor","calcOneAxis","calcCoord","baseExtremes","Geo","hasChoropleth","basePaths","dataPaths","getProjection","projLayout","dummyFn","maxAngle","fitExtent","makeGraticule","oppRng","coordFn","makeRangeBox","lat0","lat1","dlon4","geoPromises","needsTopojson","topojsonNameNew","fetchTopojson","topojsonPath","hasInvalidBounds","updateProjection","saveViewInitial","updateBaseLayers","updateDims","choropleth","axLon","axLat","midLon","midLat","lonHalfSpan","latHalfSpan","rangeBox","attrToUnset","centerPx","isAxisLayer","isLineLayer","isFillLayer","allLayers","hFrameWidth","zoomReset","lonlatPx","hideShowPoints","createBackground","getCubeProperties","Ticks","copyVec3","tickAlign","labelAlign","_firstInit","_lines","_background","OffsetInfo","primalOffset","primalMinor","mirrorOffset","mirrorMinor","parseOption","cons","nextTicks","NUMBER","BOOLEAN","STRING","ticksUpdate","labelUpdate","LINE_OFFSET","computeLineOffset","dualOffset","dualMinor","CUBE_ENABLE","DEFAULT_PARAMS","ALIGN_OPTION_AUTO","PRIMAL_MINOR","MIRROR_MINOR","PRIMAL_OFFSET","cubeEnable","enableAlign","hv_ratio","alignTo","solveTickAlignments","major","roundingError","lessThan","greaterThan","linelow","binSize","valsIn","errDiff","dlow","dhigh","rounded","sortFn","notOrdered","notReversed","pairOrder","markerSymbols","menuDefaults","menuIn","menuOut","buttonDefaults","buttonIn","buttonOut","calcSDF","INF","intData","CanvasRenderingContext2D","gridOuter","gridInner","edt","edt1d","axisLineGridAttr","axisTickAttrs","radialAxisAttrs","angularAxisAttrs","mockAnnAxes","_xa","_pdata","_ya","anns","makeScaler","_sArray","ck","yrange","processPixels","cleanPSLG","toPolygonCrappy","TAG_bold","CHR_bold","TAG_italic","CHR_italic","TAG_super","CHR_super0","CHR_super","TAG_sub","CHR_sub0","CHR_sub","parseTag","TAG_CHR","opnTag","clsTag","nOPN","nCLS","isRecursive","remainingStr","transformPositions","getPixels","rawString","allStyles","xPos","zPos","allTexts","numberOfLines","nDone","writeBuffer","getTextFontSize","changeStyle","oldStyle","newStyle","ctxFont","oldIndex_Sub","newIndex_Sub","oldSub","newSub","oldIndex_Super","newIndex_Super","oldSuper","newSuper","wasBold","is_Bold","wasItalic","is_Italic","xCut","yCut","doSimplify","processPixelsImpl","polyline","nresult","nloops","nloop","fontVariant","unquote","globalKeywords","systemFontKeywords","fontWeightKeywords","fontStyleKeywords","fontStretchKeywords","splitBy","parseFont","parseLineHeight","normalizeArray","allowAboveRoot","basename","matchedSlash","resolvedPath","resolvedAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","sep","dirname","hasRoot","extname","startDot","startPart","preDotState","computeControlPoints","createSplineEvaluator","createIDerivativeEvaluator","createJDerivativeEvaluator","amax","bmax","arange","brange","atol","btol","isOccluded","i2a","j2b","ij2ab","i2c","extrapolate","iex","jex","der","dadi","dbdj","dxyda","dxydb","plus","minus","createViewController","createTurntable","createOrbit","ViewController","controllers","_controllerNames","_controllerList","_mode","turntable","COMMON_METHODS","orbit","argNames","getDistance","src_transform","topology","src_bbox","bboxPoint","bboxGeometry","feature_feature","feature_object","transformPoint","stitchedArcs","fragmentByStart","fragmentByEnd","emptyIndex","fg","gf","meshArcs","extractArcs","geomsByArc","extract0","extract1","extract2","extract3","geoms","planarRingArea","mergeArcs","polygonsByArc","extract","src_neighbors","indexesByArc","ik","quantizePoint","quantizeGeometry","untransform","hasInstance","unscopables","paren","separator","cleanParts","beginPath","TOTALS_COLOR","rMax","prevLookup","rpx0","y2rpx","rx2px","getTargetX","getTextXY","getTargetY","nextX1ofPrevEntry","parentChildren","interpX0X1FromParent","textPosAngleFn","rpx1Fn","x0Fn","x1Fn","scaleFn","rotateFn","_rCenterFn","rCenterFn","xmid","addPercent","percentParentLabel","percentEntryLabel","percentRootLabel","worker","workerBundleString","sharedChunk","workerUrl","p1x","p1y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","_mult","_div","rotateAround","_rotateAround","matMult","_matMult","_unit","perp","_perp","_round","distSqr","angleTo","angleWith","angleWithSep","setItem","removeItem","msRequestAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","resolveURL","hardwareConcurrency","API_URL","FEEDBACK_URL","REQUIRE_ACCESS_TOKEN","ACCESS_TOKEN","MAX_PARALLEL_IMAGE_REQUESTS","testSupport","_transformRequestFn","_customAccessToken","_createSkuToken","tokenExpiresAt","_skuToken","_skuTokenExpiresAt","_isSkuTokenExpired","transformRequest","normalizeStyleURL","_makeAPIURL","normalizeGlyphsURL","normalizeSourceURL","authority","normalizeSpriteURL","normalizeTileURL","canonicalizeTileURL","canonicalizeTileset","decodeURIComponent","anonId","pendingRequest","getStorageKey","btoa","fetchEventData","localStorage","getItem","saveEventData","processRequests","postEvent","EVENTS_URL","sdkIdentifier","sdkVersion","skuId","userId","vt","queueRequest","skuToken","postMapLoadEvent","postTurnstileEvent","lastSuccess","tokenU","et","ot","caches","statusText","Headers","Response","ReadableStream","ut","Unknown","Style","Source","Tile","Glyphs","SpriteImage","SpriteJSON","WorkerGlobalScope","referrer","AbortController","Request","credentials","signal","arrayBuffer","xt","actor","withCredentials","getResponseHeader","bt","requestParameters","cacheControl","expires","_t","wt","At","kt","St","_oneTimeListeners","fire","listens","_eventedParent","_eventedParentData","setEventedParent","zt","$version","$root","light","sprite","glyphs","source_vector","scheme","xyz","tms","source_raster","raster","source_raster_dem","terrarium","source_geojson","maximum","minimum","clusterRadius","clusterMaxZoom","clusterProperties","lineMetrics","generateId","source_video","video","urls","source_image","hillshade","layout_background","layout_fill","expression","parameters","layout_circle","layout_heatmap","layout_line","butt","bevel","miter","requires","layout_symbol","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","geometry_type","categorical","function_stop","expression_name","let","var","case","coalesce","ln2","typeof","boolean","collator","accumulated","upcase","downcase","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","paint_hillshade","paint_background","It","__line__","Ct","Bt","Et","Mt","Pt","Tt","Vt","Ft","Ot","Lt","Dt","Ut","Rt","jt","qt","Nt","Kt","itemType","Zt","Xt","Gt","Jt","parseCSSColor","Ht","Yt","sensitivity","Intl","Collator","resolvedLocale","resolvedOptions","$t","fontStack","Wt","sections","Qt","te","ee","serialize","expectedType","evaluate","eachChild","possibleOutputs","ae","oe","ue","parseColor","pe","featureState","formattedSection","_parseColorCache","ce","_evaluate","definitions","overloads","ve","checkSubtype","he","caseSensitive","diacriticSensitive","fe","de","me","boundExpression","_parse","typeAnnotation","outputs","be","we","Ae","ke","Se","ze","Ie","Ce","Be","Ee","Me","Pe","Te","Ve","Fe","Oe","Le","De","Ue","Re","interpolation","qe","interpolationFactor","controlPoints","Ne","Ke","Ze","Xe","inputType","cases","otherwise","outputIndex$1","Ge","Je","He","Ye","lhs","rhs","hasUntypedArgument","$e","We","Qe","nr","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","ur","lr","vr","gr","heatmapDensity","lineProgress","isSupportedScript","Ar","_warningHistory","_evaluator","_defaultValue","_enumValues","kr","Sr","enum","formatted","evaluateWithoutErrorHandling","zr","_styleExpression","isStateDependent","Ir","zoomStops","interpolationType","Cr","Br","_parameters","_specification","Er","valueSpec","objectElementValidators","styleSpec","objectKey","Mr","arrayElementValidator","Pr","Tr","Vr","expressionContext","propertyType","Fr","Or","deserialize","Lr","Dr","Rr","Ur","jr","Kr","qr","Nr","Zr","Xr","Gr","Jr","Hr","Yr","$r","Wr","Qr","rn","nn","paintProperty","layoutProperty","sn","pn","hn","bboxes","_insertReadonly","_forEachCell","_insertCell","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","yn","mn","writeable","klass","omit","shallow","vn","_classRegistryKey","gn","$name","xn","bn","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","An","Sn","zn","In","Cn","Bn","En","Mn","Pn","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isLoaded","Tn","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","Vn","specification","isDataDriven","possiblyEvaluate","Fn","transitioned","Ln","untransitioned","On","_properties","defaultTransitionablePropertyValues","setValue","getTransition","setTransition","Dn","prior","defaultTransitioningPropertyValues","jn","Un","defaultPropertyValues","Rn","isConstant","constantOr","defaultPossiblyEvaluatedValues","qn","Nn","overrides","Kn","_calculate","Gn","overridableProperties","Jn","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","getPaintProperty","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","Hn","Int8","Uint8","Int16","Uint16","Int32","Uint32","Float32","_structArray","_pos1","_pos2","_pos4","_pos8","$n","isTransferred","capacity","Wn","members","BYTES_PER_ELEMENT","Qn","_trim","bytesPerElement","_refreshViews","reserve","emplaceBack","emplace","ui","gi","anchorPointX","anchorPointY","sourceLayerIndex","bucketIndex","signedDistanceFromAnchor","anchorPoint","Ai","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","crossTileID","Si","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","textBoxScale","radialTextOffset","Ii","Ci","getoffsetX","Bi","tileUnitDistanceFromAnchor","Ei","getx","gety","gettileUnitDistanceFromAnchor","Mi","Pi","Ti","Vi","Fi","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","vertexOffset","primitiveOffset","primitiveLength","vaos","simpleSegment","Oi","Li","getPositions","Di","Ui","uniform1i","Ri","uniform1f","ji","uniform2f","qi","uniform3f","Ni","uniform4f","Ki","Zi","uniformMatrix4fv","Gi","Ji","uniformNames","defines","setConstantPatternPositions","populatePaintArray","updatePaintArray","upload","setUniforms","getBinding","Hi","patternPositions","patternTo","patternFrom","tlbr","Yi","paintVertexAttributes","paintVertexArray","paintVertexBuffer","createVertexBuffer","$i","useIntegerZoom","Wi","zoomInPaintVertexArray","zoomOutPaintVertexArray","patterns","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","Qi","binders","cacheKey","_buffers","_featureMap","_bufferOffset","createDynamic","populatePaintArrays","updatePaintArrays","getPaintVertexBuffers","getUniforms","updatePatternPaintBuffers","programConfigurations","needsUpload","composite","loadGeometry","overscaling","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","hypot","createBucket","queryRadius","queryIntersectsFeature","cameraToCenterDistance","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","no","vo","fo","oo","co","ao","ho","eo","po","go","bo","_o","wo","Ao","patternDependencies","ko","So","patternFeatures","indexArray2","addFeatures","indexBuffer2","zo","Io","Co","Bo","Eo","Mo","_pbf","_geometry","_keys","readFields","Po","readVarint","To","readSVarint","toGeoJSON","Vo","Fo","_features","Oo","readString","readDouble","readVarint64","readBoolean","Lo","Do","VectorTile","VectorTileFeature","VectorTileLayer","Uo","Ro","jo","qo","No","Ko","Zo","Xo","Jo","Go","Ho","Yo","$o","Wo","Qo","addLine","scaledDistance","totalDistance","mapbox_clip_start","clipEnd","mapbox_clip_end","updateDistance","addCurrentVertex","addHalfVertex","es","_updateGradient","gradientTexture","os","ss","us","ps","toLocaleUpperCase","toLocaleLowerCase","horizontalOnly","sectionIndex","ds","fromFeature","verticalizePunctuation","positionedGlyphs","getMaxScale","getSection","getSectionIndex","getCharCode","advance","As","9","10","12","32","vs","badness","priorBreak","ks","Ss","layoutSize","minZoom","maxZoom","Is","uSize","uSizeT","Cs","Bs","getSizeData","evaluateSizeForFeature","evaluateSizeForZoom","SIZE_PACK_FACTOR","Es","Ms","Ps","Ts","Vs","dynamicLayoutVertexArray","opacityVertexArray","placedSymbolArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","Fs","collisionVertexArray","collisionVertexBuffer","Os","collisionBoxArray","hasPaintOverrides","textSizeData","iconSizeData","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","Rs","collisionBox","collisionCircle","glyphOffsetArray","lineVertexArray","symbolInstances","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","allowVerticalPlacement","addToLineVertexArray","addSymbols","glyphOffset","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","textCircles","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasCollisionBoxData","hasCollisionCircleData","addIndicesForPlacedTextSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","sortFeatures","featureSortOrder","MAX_GLYPHS","addDynamicAttributes","Ls","Ds","runtimeType","getOverride","hasOverride","Us","_setPaintOverrides","hasPaintOverride","_interpolationType","js","qs","Ns","Ks","implementation","renderingMode","prerender","painter","Gs","Js","paddedRect","Hs","displaySize","haveRenderCallbacks","addImages","iconPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","$s","Ws","Qs","tu","eu","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","isSizePowerOfTwo","nu","au","Bytes","su","realloc","lu","writeVarint","pu","writeSVarint","hu","writeBoolean","yu","writeFixed32","du","writeSFixed32","writeFixed64","vu","writeSFixed64","xu","bu","Varint","Fixed64","Fixed32","readMessage","readFixed32","readSFixed32","readFixed64","readSFixed64","readBytes","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","writeString","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","_u","wu","Au","ku","Su","zu","_triggered","_channel","Iu","mapId","tasks","taskQueue","cancelCallbacks","invoker","receive","Cu","targetMapId","sourceMapId","getWorkerSource","Bu","setSouthWest","setNorthEast","_ne","Eu","_sw","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","toBounds","Mu","Pu","Tu","Vu","Fu","Ou","Lu","fromLngLat","toLngLat","toAltitude","meterInMercatorCoordinateUnits","Du","ju","getTilePoint","Uu","canonical","Ru","overscaledZ","scaledTo","isChildOf","isLessThan","unwrapTo","overscaleFactor","toUnwrapped","qu","_unpackTerrarium","_unpackMapbox","_idx","backfillBorder","Nu","Ku","_stringToNumber","_numberToString","encode","decode","Zu","_vectorTileFeature","Xu","Gu","stateChanges","deletedStates","updateState","removeFeatureState","getState","initializeTileState","setFeatureState","coalesceChanges","Ju","tileID","grid3D","featureIndexArray","Hu","Yu","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","cameraQueryGeometry","loadMatchingFeature","pixelPosMatrix","bucketLayerIDs","intersectionZ","lookupSymbolFeatures","hasLayer","$u","uses","buckets","expirationTime","hasSymbolBuckets","expiredRequestCount","Wu","Qu","registerFadeDuration","timeAdded","fadeEndTime","wasRequested","loadVectorData","hasData","unloadVectorData","latestFeatureIndex","latestRawTileData","justReloaded","imageAtlas","glyphAtlasImage","imageAtlasTexture","glyphAtlasTexture","unloadDEMData","dem","neighboringTiles","getBucket","queryRenderedFeatures","querySourceFeatures","_geojsonTileLayer","clearMask","maskedBoundsBuffer","maskedIndexBuffer","setMask","patternsLoaded","setExpiryData","getExpiryTimeout","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","boxStartIndex","_addLineCollisionCircles","boxEndIndex","ol","_down","ll","_up","peek","murmur3","murmur2","vl","compositeTextSizes","_l","compareText","Actor","AlphaImage","CanonicalTileID","CollisionBoxArray","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","ImageAtlas","ImagePosition","LineBucket","LngLatBounds","MercatorCoordinate","ONE_EM","OverscaledTileID","Point$1","ProgramConfiguration","Protobuf","RGBAImage","RequestManager","ResourceType","SegmentVector","SourceFeatureState","StructArrayLayout1ui2","StructArrayLayout2i4","StructArrayLayout2ui4","StructArrayLayout3ui6","StructArrayLayout4i8","SymbolBucket","Texture","Transitionable","Uniform1f","Uniform1i","Uniform2f","Uniform3f","Uniform4f","UniformColor","UniformMatrix4f","UnwrappedTileID","ValidationError","WritingMode","ZoomHistory","asyncAll","bezier","bindAll","cacheEntryPossiblyAdded","getActor","clearTileCache","clone$1","create$1","create$2","createCommonjsModule","createExpression","createLayout","createStyleLayer","deepEqual","emitValidationErrors","endsWith","enforceCacheSizeLimit","evaluateRadialOffset","evented","featureFilter","filterObject","fromRotation","getAnchorAlignment","getAnchorJustification","getArrayBuffer","getJSON","getReferrer","getVideo","muted","onloadstart","crossOrigin","isChar","isMapboxURL","keysDifference","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mvt","parseGlyphPBF","pbf","performSymbolLayout","tilePixelRatio","iconsNeedLinear","compositeIconSizes","layoutTextSize","layoutIconSize","textMaxSize","sdfIcons","plugin","polygonIntersectsPolygon","potpack","rasterBoundsAttributes","refProperties","registerForPluginAvailability","pluginURL","completionCallback","setCacheLimits","setRTLTextPlugin","sphericalToCartesian","symbolSize","transformMat3","uniqueId","validateCustomStyleLayer","validateLight","validateStyle","vectorTile","warnOnce","webpSupported","keyCache","_layerConfigs","_layers","familiesBySource","showCollisionBoxes","collectResourceTiming","returnDependencies","stacks","icons","glyphMap","iconMap","glyphPositions","getEntriesByName","mark","clearMarks","clearMeasures","_marks","rawData","Performance","layerIndex","loading","loadTile","resourceTiming","reloadTile","reloadCallback","abortTile","removeTile","rawImageData","FLATTENING","POLAR_RADIUS","_feature","tags","rawGeometry","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","within","trees","cluster_id","point_count","point_count_abbreviated","promoteId","transformed","numSimplified","numFeatures","tileCoords","timeEnd","indexMaxZoom","indexMaxPoints","splitTile","_geoJSONIndex","getTile","_cluster","getClusters","_limitZoom","getChildren","getLeaves","_appendLeaves","_addTileFeatures","getClusterExpansionZoom","_map","loadGeoJSON","loadData","_pendingCallback","abandoned","_pendingLoadDataParams","_loadData","superclusterOptions","geojsonVtOptions","clusterId","getClusterChildren","getClusterLeaves","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setLayers","getLayerIndex","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","loadRTLTextPlugin","reduceRight","isSealed","isFrozen","Worker","terminate","webGLContextAttributes","failIfMajorPerformanceCaveat","probablySupportsContext","supportsContext","disableDrag","enableDrag","userImage","TouchEvent","touchPos","mouseButton","InstallTrigger","callbackDispatchedThisFrame","requestors","atlasImage","setLoaded","_notify","addImage","removeImage","listImages","getImages","getPixelSize","getPattern","_updatePatternAtlas","atlasTexture","beginFrame","requestManager","localIdeographFontFamily","setURL","getGlyphs","requests","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","_transitionable","setLight","getLight","getDash","addDash","workerPool","actors","currentActor","acquire","vector_layers","vectorLayers","vectorLayerIds","broadcast","release","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","tileBounds","_getMapId","sourceDataType","hasTile","_refreshExpiredTiles","unloadTile","roundZoom","getTileTexture","extTextureFilterAnisotropic","extTextureFilterAnisotropicMax","saveTileTexture","needsHillshadePrepare","_getNeighboringTiles","backfilled","demTexture","_removed","_resourceTiming","workerOptions","_updateWorkerData","_finishLoading","setCoordinates","_boundsArray","boundsBuffer","boundsSegments","triggerRepaint","play","pause","seek","seekable","currentTime","paused","_hasInvalidDimensions","_playing","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","getFeatureState","_getAndRemoveByKey","getAndRemove","setMaxSize","dynamicDraw","unbindVAO","bindElementBuffer","DYNAMIC_DRAW","STATIC_DRAW","bindVertexBuffer","enableAttributes","setVertexAttribPointers","setDefault","stencilMask","ALWAYS","stencilFunc","KEEP","stencilOp","STENCIL_TEST","depthRange","ZERO","blendColor","BACK","cullFace","CCW","frontFace","extVertexArrayObject","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","colorAttachment","ReadOnly","ReadWrite","disabled","depthFail","blendFunction","Replace","unblended","alphaBlended","backCCW","stencilTest","depthTest","cullFaceSide","MAX_TEXTURE_MAX_ANISOTROPY_EXT","extTextureHalfFloat","setCullFace","setDepthMode","setStencilMode","setColorMode","_sourceLoaded","_paused","reload","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_coveredTiles","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","updateCacheSize","handleWrapJump","_prevLng","used","getVisibleUnwrappedCoordinates","coveringTiles","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","releaseSymbolFadeTiles","clearTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","workers","workerCount","setFilter","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setSprite","setGlyphs","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","boxUid","circleUid","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","useVertical","notEnoughRoom","needsFlipping","tileDistance","prevTileDistance","lastSegmentViewportDistance","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","hitTest","_queryCircle","_queryCellCircle","hitTestCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","approximateTileDistance","placeCollisionCircles","projectAnchor","cameraDistance","projectPoint","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","placed","skipFade","crossSourceCollisions","maxGroupID","collisionGroups","ID","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","prevPlacement","placedOrientations","placeLayerTile","placeLayerBucket","attemptAnchorPlacement","radialOffset","prevAnchor","markUsedJustification","markUsedOrientation","commit","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","symbolFadeChange","hasTransitions","stillRecent","setStale","_currentTileIndex","_seenCrossTileIDs","continuePlacement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","indexedSymbolInstances","getScaledCoordinates","findMatches","maxCrossTileID","generate","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","crossTileIDs","maxBucketInstanceId","bucketsInCurrentPlacement","pruneUnusedLayers","glyphManager","lineAtlas","crossTileSymbolIndex","_order","sourceCaches","_resetUpdates","_rtlTextPluginCallback","_validateLayer","loadURL","_request","_load","loadJSON","stylesheet","_spriteRequest","_serializeLayers","_updatedSources","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updatedPaintProps","setState","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","getSourceType","setSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","fragmentSource","vertexSource","prelude","backgroundPattern","clippingMask","heatmapTexture","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","boundDynamicVertexBuffer2","freshBind","currentNumAttributes","fixedUniforms","binderUniforms","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","LINE_STRIP","u_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_color","u_intensity","u_color_ramp","moving","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_maxzoom","u_ratio","u_units_to_pixels","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","colorModeForRenderPass","depthModeForSublayer","rotating","buffers","uniformValues","atlasInterpolation","isSDF","hasHalo","stencilModeForClipping","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","TEXTURE1","coveringZoomLevel","debugBuffer","tileBorderIndexBuffer","debugSegments","renderPass","programConfiguration","HALF_FLOAT_OES","viewportBuffer","viewportSegments","opaquePassEnabledForLayer","depthRangeFor3D","stencilModeFor3D","isPatternMissing","tileExtentBuffer","tileExtentSegments","setCustomLayerDefaults","customLayerMatrix","setBaseState","_tileTextures","setup","numSublayers","depthEpsilon","depthRboNeedsClear","emptyProgramConfiguration","depthRbo","stencilClearMode","nextStencilID","currentStencilSource","_renderTileClippingMasks","_tileClippingMaskIDs","NOTEQUAL","EQUAL","_showOverdrawInspector","CONSTANT_COLOR","currentLayer","opaquePassCutoff","renderLayer","showOverdrawInspector","showTileBoundaries","setupOffscreenDepthRenderbuffer","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","setMaxBounds","_center","_fov","_unmodified","_posMatrixCache","_alignedPosMatrixCache","renderWorldCopies","worldSize","fov","unmodified","_calcMatrices","rotationMatrix","_zoom","zoomFraction","_constrain","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pointLocation","pixelMatrixInverse","pixelMatrix","getMaxBounds","lngRange","alignedProjMatrix","projMatrix","mercatorMatrix","_constraining","getCameraPoint","_updateHash","_updateHashUnthrottled","addTo","_onHashChange","getHashString","jumpTo","history","replaceState","getCanvasContainer","_defaultPrevented","defaultPrevented","lngLats","_delta","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","isEnabled","_enabled","isZooming","_zooming","_aroundCenter","around","onWheel","WheelEvent","DOM_DELTA_LINE","_lastWheelEventTime","_timeout","_onTimeout","_lastWheelEvent","_start","_frameId","_cancelRenderFrame","_finishTimeout","_around","_aroundPoint","_requestRenderFrame","_onScrollFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","_prevEase","getContainer","_clickTolerance","clickTolerance","onMouseDown","_onMouseMove","_onKeyDown","_onMouseUp","_startPos","_lastPos","_fireEvent","_finish","fitScreenCoordinates","_button","_bearingSnap","bearingSnap","_pitchWithRotate","pitchWithRotate","_unbind","_deactivate","_startTime","_eventButton","_onBlur","_inertia","_prevPos","_lastMoveEvent","_onDragFrame","_drainInertiaBuffer","_normalizeBearing","_inertialRotate","resetNorth","noMoveStart","rotateTo","_onMove","onTouchStart","_onTouchEnd","_mouseDownPos","_inertialPan","panBy","delayEndEvents","easeTo","_tapped","_tappedPoint","_resetTapped","onDblClick","_onZoomEnd","disableRotation","_rotationDisabled","enableRotation","_startVec","_startAround","_gestureIntent","_onEnd","_getTouchEventData","_lastTouchEvent","_onTouchFrame","_startScale","_startBearing","snapToNorth","dragRotate","keyboard","touchZoomRotate","_moving","panTo","zoomIn","zoomOut","resetNorthPitch","cameraForBounds","_cameraForBoxAndBearing","_fitInternal","flyTo","prefersReducedMotion","_normalizeCenter","_rotating","_pitching","_prepareEase","_easeEndTimeoutID","_ease","_fireMoveEvents","_afterEase","speed","screenSpeed","maxDuration","isEasing","_easeFrameId","_onEaseFrame","_onEaseEnd","_easeStart","_easeOptions","_renderFrameCallback","getDefaultPosition","_innerContainer","_updateAttributions","_updateEditLink","_updateData","_updateCompact","_editLink","styleOwner","styleId","_hash","rel","customAttribution","owner","_attribHTML","_updateLogo","_logoRequired","mapbox_logo","_queue","_cleared","_currentlyRunning","run","trackResize","refreshExpiredTiles","maxTileCacheSize","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_renderTaskQueue","_controls","_mapId","maxBounds","_setupContainer","_setupPainter","_onWindowOnline","_onWindowResize","fitBoundsOptions","_localIdeographFontFamily","logoPosition","_controlPositions","removeControl","_containerDimensions","_resizeCanvas","setMinZoom","getMinZoom","setMaxZoom","getRenderWorldCopies","setRenderWorldCopies","getMaxZoom","isMoving","isRotating","delegates","mouseout","_delegatedListeners","_diffStyle","_updateStyle","_updateDiff","isStyleLoaded","areTilesLoaded","hasImage","loadImage","_canvasContainer","_detectMissingCSS","_missingCSSCanary","_contextLost","_contextRestored","_controlContainer","_frame","_styleDirty","_sourcesDirty","_render","_placementDirty","_repaint","loseContext","_showTileBoundaries","_vertices","_setCacheLimits","showCompass","showZoom","visualizePitch","_zoomInButton","_createButton","_zoomOutButton","_compass","_compassArrow","_updateZoomButtons","_rotateCompassArrow","_handler","_anchor","_draggable","draggable","_element","_defaultMarker","_popup","setDraggable","_onMapClick","_addDragHandler","_onUp","getLngLat","_lngLat","setLngLat","getElement","setPopup","togglePopup","getPopup","getOffset","setOffset","_positionDelta","isDraggable","positionOptions","enableHighAccuracy","maximumAge","trackUserLocation","showUserLocation","_setupUI","permissions","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_onSuccess","_lastKnownPosition","_watchState","_geolocateButton","_updateMarker","_updateCamera","_dotElement","longitude","latitude","accuracy","geolocateSource","_onError","_clearWatch","_timeoutId","_setup","watchPosition","getCurrentPosition","setUnit","_fullscreen","_fullscreenchange","_className","_checkFullscreenSupport","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_updateTitle","_onClickFullscreen","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","closeButton","closeOnClick","_onClickClose","_trackPointer","_content","trackPointer","setText","setDOMContent","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","_createContent","_closeButton","_tip","NavigationControl","GeolocateControl","ScaleControl","FullscreenControl","Popup","Marker","clearStorage","objIsPrototypeOf","isPrototypeOf","nullDesc","isNullBase","nullPolyfill","tmpObj1","tmpObj2","not_string","not_bool","not_type","not_primitive","numeric_arg","not_json","modulo","key_access","index_access","sprintf_format","sprintf_parse","vsprintf","parse_tree","pad_character","pad_length","is_positive","tree_length","param_no","pad_char","sprintf_cache","_fmt","arg_names","SyntaxError","field_list","replacement_field","field_match","_v","_w","processGrid","startx","starty","startz","slen","_startsX","_startsY","_startsZ","normMax","normMin","zMax","zMin","_slen","_xbnds","_ybnds","_zbnds","filledX","filledY","filledZ","firstX","firstY","firstZ","lastZ","getArray","getVals","getDir","arrK","arrJ","arrI","nk","arbitrary","_j","_k","dirK","dirJ","dirI","q000","q001","q010","q100","createPlot2D","createOptions","updateRefs","stopped","lastButtonState","isMouseOver","aticks","bticks","liveCanvas","updateSize","pickCanvas","pixelWidth","pixelHeight","xaxisName","yaxisName","xaIn","yaIn","curTicks","updateTraces","mockGraphDiv","domainX","domainY","xr2l","yr2l","xl2r","yl2r","emitPointAction","nextSelection","eventType","lastPickResult","traceUid","screenCoord","hoverFormatter","concentrationscalesDefaults","Out","hoverlabelDefault","nodeIn","nodeOut","coerceNode","defaultNodePalette","linkIn","linkOut","coerceLink","dfltArrangement","defaultLinkColor","baseOpts","hasArrayBase","basej","calculateAxisErrors","_lowerErrorBound","calculateErrors","aggregations","funcmode","aggAttrs","aggregateOneArray","groupings","aggregation","targetNP","conversions","getAggregateFunction","sortCalc","maxCnt","counti","total2","arrayAttrArray","aggregationOut","aggregationsIn","aggregationsOut","coercei","enabledi","groupArray","newGrouping","locationmodeDflt","locationMode","parseValues","ldata","ccol","vcalendar","bnadd","eyex","eyey","eyez","upx","upy","upz","centerz","defaultColumnOrder","specifiedColumnOrder","truncated","oneStepped","parentObjIn","parentObjOut","previousContOut","omega","cosom","sinom","Heatmap","zData","convertColorscale","createHeatmap","rowLen","colorOptions","barHover","hovermplate","groupClassName","inputAreaClass","railRectClass","railTouchRectClass","gripRectClass","tickRectClass","inputProxyClass","labelsClass","labelGroupClass","currentValueClass","railHeight","railRadius","railWidth","railBorder","railInset","stepInset","gripRadius","gripWidth","gripHeight","gripBorder","gripBorderWidth","gripBorderColor","gripBgColor","labelPadding","minorTickOffset","currentValuePadding","currentValueInset","planarGraphToPolyline","makeArray","makeArrayOfArrays","t00","t10","t11","containment","loopVertices","pmc","fadj","edgeAdjacency","internalVertices","sharedBoundary","nnbhr","scatterMapboxHoverPoints","carpetFont","baseHues","isShort","isRGB","saturation","lightness","brightness","MAX_VALUE","overrideCursor","YA_RADIANS","YFACTOR","YSHIFTX","YSHIFTY","_hover","noHoverEvent","overlayedSubplots","xaArray","yaArray","supportsCompare","spId","xvalArray","yvalArray","itemnum","curvenum","subploti","closedataPreviousLength","searchData","spikePoints","hLinePoint","vLinePoint","hasOneHorizontalTrace","hasUserCalledHover","dbb","pointerX","pointerY","ySpike","newPoints","newPoint","newPointNum","cleanPoint","closestPoints","tmpPoint","closestVPoints","closestVPt","fillSpikePoint","closestHPoints","closestHPt","selectClosestPoint","pointsData","thisSpikeDistance","resultPoint","spikelineOpts","oldspikepoints","_spikepoints","newspikepoints","tmpHPointData","tmpHPoint","tmpVPointData","tmpVPoint","spikesChanged","createSpikelines","newhoverdata","rotateLabels","commonLabelOpts","hoverLabels","createHoverText","hoverAvoidOverlaps","alignHoverText","hoverChanged","xvals","yvals","multiHover","hoverItem","container3","outerContainer3","tooltipSpacing","lastBottomY","EXTRA_STRING_REGEX","commonAttr","outerContainerBB","outerTop","showCommonLabel","traceHoverinfo","allHaveZ","commonLabel","lpath","ltext","commonBgColor","commonStroke","contrastColor","commonLabelFont","tbb","topsign","leftsign","lty","ltx","dummy","dummyBB","textClip","numsColor","nameColor","hovertemplateString","tx2","tx2width","tx2height","t2bb","anchorStartOK","anchorEndOK","hty","txTotalWidth","ty0","txwidth","txHalfWidth","overflowR","overflowL","axKey","donepositioning","topOverlap","bottomOverlap","sumdp","nummoves","nLabels","pointgroups","constrainGroup","grp","minPt","maxPt","deleteCount","axIsX","posref","g0","g1","horzSign","alignShift","txx","tx2x","getVal","calcKey","traceKey","xeText","yeText","infomode","showY","showX","hLinePointX","hLinePointY","ySnap","xBase","xEndSpike","dfltHLineColor","yMode","yThickness","yColor","xAcross0","xAcross1","vLinePointX","vLinePointY","xSnap","yBase","yEndSpike","dfltVLineColor","xMode","xThickness","xColor","yAcross0","yAcross1","oldPt","newPt","legendTraceCount","legendReallyHasATrace","defaultOrder","defaultYAnchor","itemsizing","saveLink","canUseSaveLink","objectUrl","msSaveBlob","download","Line2D","createShaders","dashMult","maxPatternLength","precisionThreshold","maxLines","drawMiterLine","miterMode","miterLimit","dashSize","drawRectLine","lineTop","aCoord","bCoord","aCoordFract","bCoordFract","aColor","bColor","prevCoord","nextCoord","drawFill","dashLength","lastId","bounds$1","boundsW","boundsH","rangeW","rangeH","dashData","l$2","i$7","c$1","d3_collection_src","weightedSource","weightedTarget","src_sankey","maxPaddedSpace","relaxRightToLeft","relaxLeftToRight","maxNodePadding","horizontalSource","horizontalTarget","sankeyLinkHorizontal","exprs","setPositionOffset","orientations","violinList","getPolygonizer","createMSTable","createCellPolygonizer","maxCellSize","tables","generateCase","alg","valueToString","makeReflectTypes","useIndex","handleTernaryDefaults","ternaryLayoutIn","ternaryLayoutOut","letterUpper","makePathFn","_a0","_a1","vaBar","cdbar","barLayer","rp0","rp1","thetag0","thetag1","rg1","thetagMid","colLength","transposeRagged","maxlen","zlen","yTranspose","translationMatrix","xys","createTurntableController","rotateM","normalize3","dot3","clamp1","findOrthoPair","TurntableController","computedRight","computedAngle","computedToward","maxDist","toward","ctheta","stheta","cphi","sphi","zAxis","dphi","droll","noSnap","ushift","vshift","ez","cf","tz","angleState","lastTheta","lastPhi","dataArrays","arraysToFill","dataArray","fillArray1","fillArray2","displaySum","normSum","hasBars","shouldBeGapless","gappedAnyway","usedSubplots","Grid","tickShader","compareTickNum","X_AXIS","Y_AXIS","SCR_OFFSET","TICK_SCALE","viewWidth","viewHeight","xTicksOffset","yTicksOffset","xEnd","xCount","yEnd","yCount","tickScale","OFFSET_X","OFFSET_Y","gridTicks","localTicks","m44","heatmapStyle","isConstraintType","colorLines","colorFills","firstFill","stylePie","pieCastOption","CST_MARKER_SIZE","CST_LINE_WIDTH","CST_MARKER_LINE_WIDTH","MAX_LINE_WIDTH","MAX_MARKER_LINE_WIDTH","getGradientDirection","constantItemSizing","boundLineWidth","cst","styleLines","dMod","tMod","showFill","showGradientLine","showGradientFill","fillGradient","markersOrText","anyFill","anyLine","pathStart","this3","minExtend","showMarkers","boundVal","attrIn","arrayToValFn","valToBound","pickFirst","dEdit","tEdit","ptgroup","styleWaterfalls","ptsData","styleBars","styleBarLike","styleFunnels","barpath","styleBoxes","styleCandles","styleOHLC","stylePies","stylePieLike","styleFunnelareas","d0Mod","styleSpatial","useGradient","traceGroup","markerOffsetY","clonePlot","cheaterBasis","arrayMinmax","calcGridlines","calcLabels","calcClipPath","smoothFill2dArray","avals","bvals","isBicubic","SUPPORTED_TYPES","GLBuffer","updateTypeArray","dataLen","makeScratchTypeArray","STREAM_DRAW","ndt","carpetAttrs","startLineColor","startLineWidth","showStartLine","endLineColor","endLineWidth","showEndLine","ouu2","autoMarginId","sliderOpts","makeSliderData","contOpts","sliderData","findDimensions","sliderLabels","maxLabelWidth","labelHeight","stepOpts","_dims","inputAreaWidth","outerLength","inputAreaStart","inputAreaLength","textableInputLength","availableSpacePerLabel","computedSpacePerLabel","labelStride","currentValueMaxWidth","currentValueHeight","currentValueTotalHeight","currentValueMaxLines","dummyGroup","curValPrefix","drawCurrentValue","curValSize","drawSlider","sliderGroup","drawRail","drawLabelGroup","drawTouchRect","drawGrip","setGripPosition","valueOverride","curVal","grip","attachGripEvents","labelItems","labelSteps","normalizedValueToPosition","handleInput","normalizedPosition","doTransition","quantizedPosition","quantizedIndex","setActive","doCallback","previousActive","slider","interaction","_nextMethod","_nextMethodRaf","$gd","getSliderOpts","positionToNormalizedValue","isMajor","computeLabelSteps","_invokingCommand","computedLength","sliders","clearSlider","sliderGroups","gSlider","createFills","traceJoin","fillJoin","cdscatterAll","selectMarkers","errorBarGroup","ownFillEl3","ownFillDir","thispath","thisrevpath","prevRevpath","prevPolygons","_prevRevpath","_nextFill","pathfn","revpathbase","revpathfn","thisPolygons","revpath","_ownFill","isEnter","lineJoin","clearFill","_prevPolygons","clipUrl","visFilter","visFilterWithGaps","gapFilter","hideFilter","hasNode","markerFilter","textFilter","showFilter","isInferZero","_needsCull","mnum","tnum","inboxFn","_cdi","segseg","ratCmp","ratToFloat","ratVec","boundRat","boundEdges","boundPoints","getCrossings","edgeBounds","getTJunctions","vertBounds","cutEdges","floatPoints","junctions","useColor","ratPoints","crossing","ef","junction","dedupPoints","floatBounds","noDupes","compareLex2","compareLex3","dedupEdges","preRound","snapRound","tjunctions","prevEdges","augEdges","modified","perspectiveMatrix","tmpVec4","pdum3","vec4multMat4","mat3from4","mat4x4","scale2","dragOne","splomGrid","makeGridData","fullView","lcolor","lwidth","gridBatches","zScale","lgroupToTraces","lgroups","hasOneNonBlankGroup","slicesShown","lgroupi","addOneItem","legendGroup","uniqueGroup","lgroup","labelj","ltraces","lgroupsLength","JUNK","invertPermutation","dfltAnchor","dfltDomain","dfltPosition","createTable","chull","constructVertex","constructCell","opts1","funnelareacolorway","extendfunnelareacolors","gl3dAxisAttrs","makeCameraVector","boxList","pointList","shownPts","boxdv","dPos0","numTotal","groupFraction","groupGapFraction","pushplus","pushminus","edgeplus","edgeminus","hasPts","pm","colorbarAttrs","palettes","noScale","onlyIfNumerical","colorscaleDflt","contextHead","autoImpliedEdits","minmaxImpliedEdits","isPlainFunction","normalizeOpts","dscr","equalPts","xtol","ytol","edgeflag","locStr","marchStep","getStartStep","getInterpPx","startLoc","startStep","atEdge","closedLoop","distgroup","cnt2","cnt3","newpt","ptcnt","ptavg","thisdist","edgepathi","edgepathj","closedpath","totaldist","distThresholdFactor","alldists","cropstart","distThreshold","getpt","doublemerged","locx","locy","zxy","handleLayerDefaults","layerIn","layerOut","typeDflt","mustBeRasterLayer","ovv2","d3Sankey","d3SankeyCircular","d3Force","sankeyModel","nodePad","nodeThickness","nodePointNumber","groupingNode","computeLinkConcentrations","flowKey","flows","flowLinks","totalPerLabel","concentration","totalOutflow","concentrationOut","totalInflow","concenrationIn","resolveCollisionsTopToBottom","snapToColumns","colX","orderedNodes","colNumber","guid","nodeLineColor","nodeLineWidth","linkLineColor","linkLineWidth","dragParallel","dragPerpendicular","forceLayouts","interactionState","dragInProgress","linkModel","basicKey","linkPath","createCircularClosedPathString","y0a","y0b","y1a","y1b","nodeModel","zoneThicknessPad","zoneLengthPad","visibleThickness","visibleWidth","visibleHeight","zoneX","zoneY","zoneWidth","zoneHeight","labelY","originalLayer","sizeAcross","darkBackground","uniqueNodeLabelPathId","updateNodePositions","updateNodeShapes","updateShapes","salientEnough","sankeyTransform","nodeCentering","textGuidePath","sankeyInverseTransform","textFlip","nodeTextColor","nodeTextOffset","attachPointerEvents","eventSet","attachDragHandler","dragBehavior","_dragCover","saveCurrentDragPosition","forceKey","attachForce","startForce","sameLayer","persistFinalNodePositions","switchToForceFormat","originalX","forceSimulation","forceCollide","snappingForce","faster","switchToSankeyFormat","maxVelocity","lastDraggedX","lastDraggedY","nodeX","nodeY","persistOriginalPlace","distinctLayerPositions","originalY","originalLayerIndex","firstRender","dragcover","styledData","dragboxClassName","objectAssign","hasOwn","pSlice","functionsHaveNames","pToString","arrbuf","truncate","something","rawname","getMessage","expected","stackStartFunction","AssertionError","_deepEqual","memos","actualIndex","objEquiv","actualVisitedObjects","aIsArgs","bIsArgs","notDeepStrictEqual","expectedException","_tryBlock","_throws","shouldThrow","userProvidedMessage","isUnwantedException","isUnexpectedException","generatedMessage","captureStackTrace","fn_name","next_line","notEqual","deepStrictEqual","notDeepEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","MAX_GROUP_ID","srcPoints","sublevels","levelItems","nextOffset","diam","levelGroups","sublevel","lolo","lohi","hilo","hihi","x$1","y$1","nminX","nminY","nmaxX","nmaxY","maxLevel","off0","off1","off2","off3","levelGroupStart","levelGroupEnd","startOffset","endOffset","contourPlot","axisAlignedLine","mapPathinfo","pedgepath","ppath","pathData","constrainToCarpet","levelData","pathABData","startVector","getUnitVector","endVector","minStart","maxEnd","abPt","pathVector","edgeVector","dAB","normalizeVector","vectorTan","ab2p","carpetcd","pathto","startpt","contourcarpetLayer","isAllBlank","mat4mult","getSimpleString","ScatterPlotPickResult","fixOpacity","PointCloud","orthoShader","projectShader","pointBuffer","glyphBuffer","pickPerspectiveShader","pickOrthoShader","pickProjectShader","lineVertexCount","projectHasAlpha","_selectResult","useOrtho","axesProject","highlightId","createPointCloud","pickBase","VIEW_SHAPE","U_VEC","V_VEC","MU_VEC","MV_VEC","SCRATCH_MATRIX","SCRATCH_VEC","CLIP_BOUNDS","augment","hg","af","setComponent","getClipBounds","drawProject","screenSize","pickGroup","pmodel","mdu","mdv","sv","fragClipBounds","NEG_INFINITY3","POS_INFINITY3","CLIP_GROUP","drawFull","pshader","forceDraw","get_glyphData","alignmentX","alignmentY","angles","lineColors","pickCounter","triVertexCount","count_loop","glyphData","glyphMesh","glyphLines","glyphBounds","positionArray","glyphArray","idArray","triOffset","isColorArray","isLineColorArray","glyphVisible","currentScript","scripts","getElementsByTagName","handleOpacity","handleOverlap","parcoordsLineLayers","parcoordsLineLayer","filterBarPattern","str2bn","makeRational","selectorOut","getPosDflt","anchoredList","selectorIn","posDflt","fontAttr","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","objectProto","nativeMax","nativeMin","lastArgs","lastThis","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","debounced","isInvoking","isObjectLike","isBinary","Ax","Ay","Bx","By","d_py_ly","d_rx_lx","d_px_lx","d_ry_ly","sqlen","pointsSameX","pointsSameY","pt3","axb","searchString","sqrDist","sqrLen","boxDeltaPos","boxDeltaNeg","dVal","isViolin","boxDelta","posAcceptance","xPx","yPx","ijClosest","tangent","tanIsoIdx","tanIsoPar","refidx","toIdx","isoIdx","vstart","vend","dirfloor","dirceil","dirmin","dirmax","idx0","idx1","findInterp","pixArray","maxBin","pix0","pix1","bin0","bin1","findInterpFromCenters","centerPixArray","putColor","pxIndex","heatmapLayer","xrev","yrev","canvasW","canvasH","xbi","ybi","pixcount","gcount","bcount","yinterp","xForPx","yForPx","xPixArray","yPixArray","xinterpArray","findInterpX","findInterpY","interpColor","setColor","pxArray","dlen","xGap","yGap","xGapLeft","yGapTop","avgColor","pixsize","xinterp","z00","z01","z10","z11","setPublicPath_i","_vm","_h","$createElement","_c","_self","directives","rawName","staticRenderFns","_defineProperty","lib","lib_default","eventsName","completeName","$emit","components_events","plotlyFunctions","functionName","components_methods","hit","camelize","enumerableOnly","_objectSpread","Plotlyvue_type_script_lang_js_","inheritAttrs","scheduled","innerLayout","mounted","watch","deep","old","_layout","computed","optionsFromAttrs","$attrs","beforeDestroy","onResize","_this4","$nextTick","allOptions","getPrintOptions","components_Plotlyvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$options","shadowRoot","_injectStyles","originalRender","beforeCreate","getOutsideTextFontKey","getInsideTextFontKey","getParentId","childId","keyStr","isOutsideText","tube2mesh","Streamtube","getDfltStartingPositions","getBoundPads","tubeOpts","meshx","meshy","meshz","xbnds","ybnds","zbnds","xpads","ypads","zpads","createStreamtubeTrace","streamtube","fromDataScale","uvx","arrayModule","coerceModule","datesModule","searchModule","statsModule","matrixModule","anglesModule","anchorUtils","geom2dModule","extendModule","loggersModule","regexModule","throttleModule","throttleDone","domModule","makePtIndex2PtNumber","ptIndex2ptNumber","attrList","part1","part2","_recursion","rem","OptionControl","optname","optObj","optionList","smooth","FWHM","alen","alen2","wlen","finalStep","fni","continueAsync","promiseError","stripTrailingSlash","hasAny","hasAll","hasFn","traceVal","isCdIndexValid","ptIndex","transformOpts","obj1","obj2","arrayLen","titleCase","containsAny","IS_IE9_OR_BELOW_REGEX","IS_SAFARI_REGEX","enterFn","objectFromPath","tmpObj","dottedPropertyRegex","indexedPropertyRegex","trailingPath","thousandsRe","decimalSep","thouSep","TEMPLATE_STRING_REGEX","getterCache","hovertemplateWarnings","templateFormatString","texttemplateWarnings","TEMPLATE_STRING_FORMAT_SEPARATOR","char0","char9","numA","numB","charA","charB","isNumA","isNumB","randSeed","lastVal","baseFont","needsCull","privates","fallback","forwardFrag","pickFrag","EthiopianCalendar","LOG2E","menuOpts","isFolded","gButton","buttonOpts","gHeader","buttonIndex","isSilentUpdate","drawButtons","drawHeader","headerOpts","posOpts","positionOverrides","headerWidth","setItemPosition","styleOnMouseOver","styleOnMouseOut","buttonData","openHeight","openWidth","scrollBoxPosition","menu","styleButtons","drawScrollBox","hideScrollBox","heights","widths","hasHBar","hasVBar","itemOpts","drawItemRect","drawItemText","height1","totalWidth","fakeButtons","paddedWidth","paddedHeight","overrideOpts","spanOffset","newMenuIndexAttr","menuData","clearAutoMargin","menus","headerGroups","scrollBoxId","_gButton","getCanvasContext","CSSRuleList","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","convertToPx","convertToDate","extractedCoordinates","relevantParamIdx","dataToPixel","pixelToData","strokeWidthIsOdd","posValAsInt","barycentricCircumcenter","barycenetric","feat","multiPoint","multiLineString","multiPolygon","featureCollection","coordinates_1","lineStrings","geometryCollection","radiansToLength","factors","lengthToRadians","lengthToDegrees","radiansToDegrees","bearingToAzimuth","degreesToRadians","convertLength","originalUnit","finalUnit","convertArea","startFactor","areaFactors","finalFactor","validateBBox","validateId","radians2degrees","degrees2radians","distanceToDegrees","distanceToRadians","radiansToDistance","bearingToAngle","convertDistance","earthRadius","centimeters","centimetres","feet","inches","kilometers","kilometres","meters","metres","miles","millimeters","millimetres","nauticalmiles","yards","unitsFactors","acres","imageDataAbove","imageDataSubplot","imageDataBelow","setImage","thisImage","_imgSrc","imagePromise","errorHandler","imagesBelow","imagesAbove","imagesOnSubplot","findIconComponent","iconName","iconComponent","$parent","iconProps","BIcon","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","interceptors","interceptor","fulfilled","rejected","getUri","paramsSerializer","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","isArrayIteratorMethod","getIteratorMethod","iteratorClose","Result","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","VueProto","getConfigValue","bvConfig","getComponentConfig","propKey","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUpCached","breakpoints","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isFormData","isArrayBuffer","isFile","isBlob","isArrayBufferView","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","CONSTRUCTOR_NAME","returnMethod","emptyObject","isUndef","isDef","isTrue","isFalse","_toString","isValidArrayIndex","isPromise","makeMap","expectsLowerCase","isReservedAttribute","remove$2","camelizeRE","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","nativeBind","_from","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","hasProto","inBrowser","UA","isIE9","isEdge","isIOS","_isServer","isFF","nativeWatch","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","_Set","hasSymbol","currentInstance","getCurrentInstance","proxy","setCurrentInstance","_scope","VNode","elm","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","uid$2","Dep","subs","addSub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","arrayProto","arrayMethods","methodsToPatch","__ob__","observeArray","dep","arrayKeys","NO_INIITIAL_VALUE","shouldObserve","toggleObserving","mockDep","Observer","mock","vmCount","defineReactive","ssrMockReactivity","isRef","__v_skip","customSetter","childOb","dependArray","isReadonly","_isVue","reactive","makeReactive","shallowReactive","isReactive","isShallow","__v_isShallow","__v_isReadonly","isProxy","toRaw","observed","markRaw","RefFlag","__v_isRef","createRef","shallowRef","rawValue","triggerRef","unref","proxyRefs","objectWithRefs","proxyWithRefUnwrap","customRef","toRefs","toRef","rawToReadonlyFlag","rawToShallowReadonlyFlag","readonly","createReadonly","existingFlag","existingProxy","defineReadonlyProperty","shallowReadonly","getterOrOptions","debugOptions","onlyGetter","watcher","Watcher","lazy","effect","WATCHER","WATCHER_CB","WATCHER_GETTER","WATCHER_CLEANUP","watchEffect","doWatch","watchPostEffect","watchSyncEffect","activeEffectScope","INITIAL_WATCHER_VALUE","onTrack","onTrigger","cleanup","invokeWithErrorHandling","forceTrigger","isMultiSource","traverse","_isDestroyed","onCleanup","baseGetter_1","onStop","noRecurse","queueWatcher","_isMounted","_preWatchers","teardown","EffectScope","detached","effects","cleanups","scopes","currentEffectScope","fromParent","effectScope","recordEffectScope","getCurrentScope","onScopeDispose","provide","resolveProvided","_provided","parentProvides","inject","treatDefaultAsFactory","provides","normalizeEvent","createFnInvoker","updateListeners","oldOn","createOnceHandler","mergeVNodeHook","hookKey","oldHook","wrappedHook","extractPropsFromVNodeData","propOptions","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","renderList","renderSlot","fallbackRender","bindObject","scopedSlotFn","$scopedSlots","$slots","slot","resolveFilter","resolveAsset","isKeyNotMatch","expect","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","_loop_1","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","$stable","$key","bindDynamicKeys","prependModifier","installRenderHelpers","_q","_f","resolveSlots","slots","name_1","name_2","isWhitespace","normalizeScopedSlots","ownerVm","scopedSlots","normalSlots","prevScopedSlots","hasNormalSlots","isStable","_normalized","$hasNormal","key_1","normalizeScopedSlot","key_2","proxyNormalSlot","initSetup","_setupContext","createSetupContext","setupResult","_props","_setupState","__sfc","_setupProxy","_attrsProxy","syncSetupProxy","_listenersProxy","$listeners","initSlotsProxy","expose","exposed","defineProxyAttr","_slotsProxy","syncSetupSlots","useSlots","useAttrs","useListeners","mergeDefaults","initRender","_vnode","parentVnode","_parentVnode","renderContext","_renderChildren","createElement$1","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","handleError","ensureCtor","createAsyncPlaceholder","resolveAsyncComponent","baseCtor","errorComp","resolved","owners","loadingComp","owners_1","sync_1","timerLoading_1","timerTimeout_1","$on","forceRender_1","renderCompleted","$forceUpdate","reject_1","res_1","getFirstComponentChild","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","createComponent","applyNS","registerDeepBindings","hooks","errorCaptured","globalHandleError","_handled","logError","timerFunc","isUsingMicroTask","pending","copies","p_1","setImmediate","counter_1","textNode_1","useCssModule","useCssVars","defineAsyncComponent","loader","loadingComponent","errorComponent","userOnError","suspensible","onError","retries","retry","thisRequest","userRetry","userFail","createLifeCycle","hookName","injectHook","mergeLifecycleHook","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onActivated","onDeactivated","onServerPrefetch","onRenderTracked","onRenderTriggered","injectErrorCapturedHook","onErrorCaptured","defineComponent","seenObjects","_traverse","isA","depId","target$1","uid$1","expOrFn","isRenderWatcher","_watcher","user","deps","newDeps","depIds","newDepIds","cleanupDeps","_isBeingDestroyed","initEvents","_hasHookEvent","updateComponentListeners","add$1","remove$1","$off","createOnceHandler$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i_1","cbs","activeInstance","setActiveInstance","prevActiveInstance","initLifecycle","abstract","$children","$refs","_inactive","_directInactive","lifecycleMixin","hydrating","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","$destroy","callHook$1","mountComponent","updateComponent","watcherOptions","preWatchers","updateChildComponent","propsData","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","prevVNode","prevListeners","propKeys","_propKeys","validateProp","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","setContext","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","performance_1","timeStamp","sortCompareFn","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueActivatedComponent","initProvide","provideOption","provided","initInjections","resolveInject","provideKey","provideDefault","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","createFunctionalComponent","mergeProps","cloneAndMarkFunctionalResult","vnodes","getComponentName","__name","_componentTag","componentVNodeHooks","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","$mount","oldVnode","hooksToMerge","cid","resolveConstructorOptions","transformModel","nativeOn","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook","strats","mergeData","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","dedupeHooks","mergeAssets","parent_1","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives$1","mergeOptions","extends","mixins","mergeField","strat","warnMissing","assets","camelizedId","PascalCaseId","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","sharedPropertyDefinition","sourceKey","initProps$1","initMethods","initData","initComputed$1","initWatch","propsOptions","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","$watch","stateMixin","dataDef","propsDef","$set","$delete","initMixin$1","initInternalComponent","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","latest","sealedOptions","initUse","installedPlugins","_installedPlugins","install","initMixin","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps","initComputed","Comp","initAssetRegisters","_getComponentName","pruneCache","keepAliveInstance","pruneCacheEntry","patternTypes","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","destroyed","updated","builtInComponents","initGlobalAPI","configDef","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","isTextInputType","multiple","createComment","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refValue","$refsValue","isFor","refInFor","_isString","_isRef","setSetupRef","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","activate","i_2","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","i_3","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","i_5","hydrate","postpatch","invokeInsertHook","i_6","isRenderedModule","inVPre","hasChildNodes","childrenMatch","i_7","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","i_8","i_9","insert_1","i_10","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook","componentUpdated","callInsert","emptyModifiers","getRawDirName","setupDef","baseModules","updateAttrs","oldAttrs","_v_attr_proxy","setAttr","isInPre","baseSetAttr","__ieph","blocker_1","updateClass","transitionClass","_transitionClasses","_prevClass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","event_1","useMicrotaskFix","attachedTimestamp_1","original_1","updateDOMListeners","updateDOMProps","oldProps","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","normalizedName","vendorNames","capName","oldStaticStyle","oldStyleBinding","normalizedStyle","whitespaceRE","addClass","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","getTransitionInfo","propCount","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","delays","durations","toMs","toggleDisplay","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions_1","curOptions_1","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","option","selectedIndex","initEvent","locateNode","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave_1","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","removed","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","el_1","WebkitTransform","_moveCb","_hasMove","oldPos","platformComponents","_interopDefault","combinePassengers","transports","slotProps","passengers","transport","newPassengers","stableSort","Wormhole","trackInstances","_transport$order","newTransport","$_getTransportIndex","newTransports","registerTarget","unregisterTarget","registerSource","unregisterSource","hasTarget","hasSource","hasContentFor","wormhole","Portal","slim","sendUpdate","closer","normalizeSlots","normalizeOwnChildren","slotContent","Tag","PortalTarget","ownTransports","noWrapper","_id$1","portalProps","targetProps","MountingPortal","bail","mountTo","targetSlim","targetSlotProps","targetTag","$props","portalTarget","mountEl","manual","Vue$$1","portalName","portalTargetName","MountingPortalName","defer","port","IS_IOS","IS_NODE","clearImmediate","ONREADYSTATECHANGE","runner","enhanceError","__CANCEL__","applyMixin","vuexInit","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","mutation","subscribeAction","deepCopy","forEachValue","Module","rawModule","_children","_rawModule","rawState","prototypeAccessors","namespaced","getChild","hasChild","actions","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","getNamespace","rawChildModule","unregister","isRegistered","Store","plugins","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modulesNamespaceMap","_watcherVM","_makeLocalGettersCache","payload","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","_payload","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","rootGetters","rawGetter","_Vue","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","isValidMap","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","groupEnd","COMPONENT_UID_KEY","serializedParams","hashmarkIndex","Iterators","_classCallCheck","_defineProperties","_createClass","protoProps","staticProps","BvConfig","$_config","configKeys","subConfig","setConfig","checkMultipleVue","checkMultipleVueWarned","MULTIPLE_VUE_WARNING","installed","registerComponents","registerDirectives","registerPlugins","installFactoryNoConfig","pluginFactory","pluginFactoryNoConfig","registerComponent","registerDirective","isAxiosError","fileName","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","urlParsingNode","hostname","requestURL","toFloat","UNSCOPABLES","ArrayPrototype","defaultConstructor","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","$padStart","WEBKIT_BUG","padStart","PROP_NAME","DEFAULT_BREAKPOINT","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","whitespaces","ltrim","rtrim","BIconstack","EVENT_NAME_ACTIVATE_TAB","EVENT_NAME_BLUR","EVENT_NAME_CANCEL","EVENT_NAME_CHANGE","EVENT_NAME_CHANGED","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_CONTEXT","EVENT_NAME_CONTEXT_CHANGED","EVENT_NAME_DESTROYED","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_DISMISSED","EVENT_NAME_DISMISS_COUNT_DOWN","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FILTERED","EVENT_NAME_FIRST","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HEAD_CLICKED","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_IMG_ERROR","EVENT_NAME_INPUT","EVENT_NAME_LAST","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_NEXT","EVENT_NAME_OK","EVENT_NAME_OPEN","EVENT_NAME_PAGE_CLICK","EVENT_NAME_PAUSED","EVENT_NAME_PREV","EVENT_NAME_REFRESH","EVENT_NAME_REFRESHED","EVENT_NAME_REMOVE","EVENT_NAME_ROW_CLICKED","EVENT_NAME_ROW_CONTEXTMENU","EVENT_NAME_ROW_DBLCLICKED","EVENT_NAME_ROW_HOVERED","EVENT_NAME_ROW_MIDDLE_CLICKED","EVENT_NAME_ROW_SELECTED","EVENT_NAME_ROW_UNHOVERED","EVENT_NAME_SELECTED","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","EVENT_NAME_SLIDING_END","EVENT_NAME_SLIDING_START","EVENT_NAME_SORT_CHANGED","EVENT_NAME_TAG_STATE","EVENT_NAME_TOGGLE","EVENT_NAME_UNPAUSED","EVENT_NAME_UPDATE","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","SLOT_NAME_ADD_BUTTON_TEXT","SLOT_NAME_APPEND","SLOT_NAME_ASIDE","SLOT_NAME_BADGE","SLOT_NAME_BOTTOM_ROW","SLOT_NAME_BUTTON_CONTENT","SLOT_NAME_CUSTOM_FOOT","SLOT_NAME_DECREMENT","SLOT_NAME_DEFAULT","SLOT_NAME_DESCRIPTION","SLOT_NAME_DISMISS","SLOT_NAME_DROP_PLACEHOLDER","SLOT_NAME_ELLIPSIS_TEXT","SLOT_NAME_EMPTY","SLOT_NAME_EMPTYFILTERED","SLOT_NAME_FILE_NAME","SLOT_NAME_FIRST","SLOT_NAME_FIRST_TEXT","SLOT_NAME_FOOTER","SLOT_NAME_HEADER","SLOT_NAME_HEADER_CLOSE","SLOT_NAME_ICON_CLEAR","SLOT_NAME_ICON_EMPTY","SLOT_NAME_ICON_FULL","SLOT_NAME_ICON_HALF","SLOT_NAME_IMG","SLOT_NAME_INCREMENT","SLOT_NAME_INVALID_FEEDBACK","SLOT_NAME_LABEL","SLOT_NAME_LAST_TEXT","SLOT_NAME_LEAD","SLOT_NAME_LOADING","SLOT_NAME_MODAL_BACKDROP","SLOT_NAME_MODAL_CANCEL","SLOT_NAME_MODAL_FOOTER","SLOT_NAME_MODAL_HEADER","SLOT_NAME_MODAL_HEADER_CLOSE","SLOT_NAME_MODAL_OK","SLOT_NAME_MODAL_TITLE","SLOT_NAME_NAV_NEXT_DECADE","SLOT_NAME_NAV_NEXT_MONTH","SLOT_NAME_NAV_NEXT_YEAR","SLOT_NAME_NAV_PEV_DECADE","SLOT_NAME_NAV_PEV_MONTH","SLOT_NAME_NAV_PEV_YEAR","SLOT_NAME_NAV_THIS_MONTH","SLOT_NAME_NEXT_TEXT","SLOT_NAME_OVERLAY","SLOT_NAME_PAGE","SLOT_NAME_PLACEHOLDER","SLOT_NAME_PREPEND","SLOT_NAME_PREV_TEXT","SLOT_NAME_ROW_DETAILS","SLOT_NAME_TABLE_BUSY","SLOT_NAME_TABLE_CAPTION","SLOT_NAME_TABLE_COLGROUP","SLOT_NAME_TABS_END","SLOT_NAME_TABS_START","SLOT_NAME_TEXT","SLOT_NAME_THEAD_TOP","SLOT_NAME_TITLE","SLOT_NAME_TOAST_TITLE","SLOT_NAME_TOP_ROW","SLOT_NAME_VALID_FEEDBACK","arrayIncludes","flattenDeep","ELEMENT_PROTO","TABABLE_SELECTOR","matchesEl","msMatchesSelector","webkitMatchesSelector","closestEl","parentElement","ELEMENT_NODE","requestAF","oRequestAnimationFrame","MutationObs","MozMutationObserver","excludes","isActiveElement","bcr","getBCR","hasAttr","hasClass","reflow","includeRoot","removeAttr","getAttr","removeStyle","getClientRects","win","pageYOffset","pageXOffset","parentOffset","elStyles","offsetParentStyles","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getTabables","rootEl","tabIndex","attemptFocus","_unused","attemptBlur","_unused2","_ref$type","_ref$defaultValue","_ref$validator","validator","_ref$event","normalizeSlotMixin","hasNormalizedSlot","normalizeSlot","vNodes","eventOn","eventOff","eventOnOff","stopEvent","_ref$preventDefault","_ref$propagation","propagation","_ref$immediatePropaga","immediatePropagation","actionName","ariaLabel","textVariant","BButtonClose","componentData","_watch","NO_FADE_PROPS","FADE_PROPS","noFade","transProps","BVTransition","_makeModelMixin","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","$_filterTimer","dismiss","$alert","$dismissButton","AlertPlugin","_unsupportedIterableToArray","_arrayLikeToArray","CLASS_NAME","BAspect","_aspect$split$map","_aspect$split$map2","$sizer","$content","AspectPlugin","ANCHOR_TAG","encodeReserveReplacer","computeTag","thisOrParent","routerComponentName","hasRouter","$router","$nuxt","_ref3","toFallback","CODE_BACKSPACE","CODE_DELETE","CODE_DOWN","CODE_END","CODE_ENTER","CODE_ESC","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_SPACE","CODE_UP","compareArrays","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","$data","proxyPropName","attrsMixin","listenOnRootMixin","listenOnRoot","listenOnRootOnce","emitOnRoot","_this$$root","listenersMixin","ROOT_EVENT_NAME_CLICKED","routerLinkProps","exact","exactActiveClass","routerTag","nuxtLinkProps","noPrefetch","prefetch","BLink","computedTag","isRouterLink","computedRel","computedHref","computedProps","computedAttrs","bvAttrs","tabindex","computedListeners","bvListeners","eventIsEvent","suppliedHandler","pill","pressed","squared","computeClass","computeAttrs","nonStandardTag","hashLink","autocomplete","BButton","focusin","focusout","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","BAvatar","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","marginStyle","overlapScale","marginRight","badgeStyle","onImgError","_class2","$badge","hasBadgeSlot","badgeText","BAvatarGroup","paddingStyle","$inner","AvatarPlugin","BBadge","BadgePlugin","htmlOrText","ariaCurrent","BBreadcrumbLink","suppliedProps","BBreadcrumbItem","BBreadcrumb","activeDefined","_item","BreadcrumbPlugin","ButtonPlugin","BBtn","BBtnClose","ariaRole","BButtonGroup","ButtonGroupPlugin","BBtnGroup","ITEM_SELECTOR","keyNav","BButtonToolbar","getItems","focusFirst","focusPrev","focusNext","focusLast","onFocusin","onKeydown","ButtonToolbarPlugin","BBtnToolbar","CALENDAR_GREGORY","CALENDAR_LONG","CALENDAR_NARROW","CALENDAR_SHORT","DATE_FORMAT_2_DIGIT","DATE_FORMAT_NUMERIC","_construct","Parent","Class","_isNativeReflectConstruct","construct","_setPrototypeOf","createDate","_date$split$map","_date$split$map2","formatYMD","DateTimeFormat","createDateFormatter","dtf","datesEqual","date1","date2","firstDateOfMonth","lastDateOfMonth","addYears","numberOfYears","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","oneDecadeAgo","oneDecadeAhead","RTL_LANGS","locale1","locale2","idMixin","localId_","safeId","ariaControls","dateDisabledFn","dateFormatOptions","weekday","dateInfoFn","hideHeader","initialDate","labelCalendar","labelCurrentMonth","labelHelp","labelNav","labelNextDecade","labelNextMonth","labelNextYear","labelNoDateSelected","labelPrevDecade","labelPrevMonth","labelPrevYear","labelSelected","labelToday","navButtonVariant","noHighlightToday","noKeyNav","roleDescription","selectedVariant","showDecadeNav","startWeekday","todayVariant","valueAsDate","weekdayHeaderFormat","BCalendar","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","valueId","widgetId","navId","gridId","gridCaptionId","gridHelpId","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","computedDateDisabledFn","computedDateInfoFn","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedTodayVariant","computedNavButtonVariant","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","minimumIntegerDigits","notation","prevDecadeDisabled","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","nextDecadeDisabled","startIndex","weekOffset","currentDay","dayYMD","dayDisabled","dateInfo","isThisMonth","isDisabled","calendarHeadings","newYMD","oldYMD","constrainDate","setLive","activated","deactivated","emitSelected","_this5","setGridFocusFlag","onKeydownWrapper","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevDecade","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","gotoNextDecade","onHeaderClick","_this6","hideDecadeNav","todayYMD","highlightToday","$header","labelSelectedDate","navScope","navProps","shiftV","navPrevProps","flipH","navNextProps","$prevDecadeIcon","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","$nextDecadeIcon","makeNavBtn","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","_class","isSelected","isToday","idCell","$btn","$gridHelp","$grid","$slot","$widget","lang","CalendarPlugin","bgVariant","borderVariant","titleTag","BCardTitle","subTitle","subTitleTag","subTitleTextVariant","BCardSubTitle","bodyClass","BCardBody","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","bodyTag","headerClass","headerHtml","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","footer","footerClass","footerHtml","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BLANK_TEMPLATE","blankColor","fluid","fluidGrow","srcset","thumbnail","BImg","BCardImg","baseClass","cardImgProps","imgSrc","noBody","BCard","imgLeft","imgRight","imgStart","imgEnd","imgBottom","slotScope","$imgFirst","$imgLast","$img","hasHeaderSlot","$footer","hasFooterSlot","OBSERVER_PROP_NAME","VisibilityObserver","doneOnce","createObserver","_prevModifiers","VBVisible","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","imgProps","blankHeight","blankSrc","blankWidth","BImgLazy","isShown","computedSrc","computedBlank","computedWidth","computedHeight","computedSrcset","computedSizes","updateShowProp","doShow","_modifiers","BCardImgLazy","textTag","BCardText","deck","BCardGroup","CardPlugin","obs","TEXT_NODE","removedNodes","DIRECTION","dirClass","overlayClass","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","controls","imgHeight","imgWidth","indicators","labelGotoSlide","labelIndicators","labelNext","labelPrev","noAnimation","noHoverPause","noTouch","noWrap","BCarousel","bvCarousel","isSliding","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","doSlide","$_interval","$_animationTimeout","$_touchTimeout","$_observer","updateSlides","setObserver","clearAnimationTimeout","clearTouchTimeout","_clearInterval","attributeFilter","slide","visibilityState","isCycling","calcDirection","currentSlide","nextSlide","onceTransEnd","curIndex","nextIndex","handleSwipe","absDeltaX","touchStart","pointerType","touchMove","touchEnd","idInner","$controls","makeControl","handlerWrapper","$indicators","imgAlt","imgBlank","imgBlankColor","caption","captionHtml","captionTag","contentTag","contentVisibleUp","textHtml","BCarouselSlide","contentClasses","$contentChildren","$child","CarouselPlugin","CLASS_NAME_SHOW","TRANSITION_PROPS","TRANSITION_HANDLERS","BVCollapse","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","accordion","isNav","BCollapse","transitioning","classObject","collapse","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","onEnter","onAfterEnter","onLeave","onAfterLeave","checkDisplayBlock","isBlock","clickHandler","openedId","openAccordion","isThis","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","KEYDOWN_KEY_CODES","removeRootListeners","resetProp","VBToggle","VBTogglePlugin","CollapsePlugin","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","BvEvent","eventInit","Defaults","nativeEvent","vueTarget","componentId","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","bvEvent","emitEvent","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","getPopperConfig","updatePopper","scheduleUpdate","popperConfig","boundariesElement","preventOverflow","rootCloseListener","refocus","_event","onMousedown","onEsc","onSplitClick","hideHandler","focusItem","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","BDropdown","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","$toggle","$menu","linkClass","BDropdownItem","closeDropdown","buttonClass","BDropdownItemButton","BDropdownHeader","BDropdownDivider","inline","novalidate","validated","BForm","formClass","BDropdownForm","textClass","BDropdownText","ariaDescribedby","headerClasses","headerVariant","BDropdownGroup","headerId","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","TYPES","BEmbed","EmbedPlugin","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","textField","valueField","formOptionsMixin","formOptions","normalizeOption","BFormDatalist","_methods","BFormText","ariaLive","forceShow","BFormInvalidFeedback","BFormValidFeedback","BFormRow","FormPlugin","BDatalist","BFormFeedback","SELECTOR","autofocus","form","formControlMixin","handleAutofocus","plain","formCustomMixin","formSizeMixin","sizeFormClass","formStateMixin","computedState","stateClass","computedAriaInvalid","ariaInvalid","_objectSpread2","ariaLabelledby","buttonVariant","formRadioCheckMixin","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","isChecked","isRadio","isBtnMode","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","computedForm","computedButtonVariant","buttonClasses","computedLocalCheckedWatcher","$input","handleChange","handleFocus","$button","$label","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","BFormCheckbox","setIndeterminate","indeterminate","_ref$target","uncheckedValue","BFormRadio","PASS_DOWN_ATTRS","formRadioCheckGroupMixin","groupClasses","isRadioGroup","optionComponent","$inputs","BFormCheckboxGroup","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","MOUSEENTER","MOUSELEAVE","createListener","_ref$value","hasListener","handlerChanged","VBHover","buttonOnly","formattedValue","BVFormBtnLabelControl","isHovered","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","invalid","btnScope","opened","$hidden","calendarProps","formBtnLabelControlProps","calendarWidth","closeButtonVariant","dark","labelCloseButton","labelResetButton","labelTodayButton","noCloseOnSelect","resetButton","resetButtonVariant","resetValue","todayButton","todayButtonVariant","BFormDatepicker","localYMD","localLocale","calendarYM","computedLang","computedResetValue","setAndClose","onSelected","onInput","onContext","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","_label2","$calendar","shown","FormDatepickerPlugin","BDatepicker","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","getAsEntry","webkitGetAsEntry","dataTransferItemList","traverseDirectories","isDirectory","createReader","file","$path","getAllFileEntriesInDirectory","directoryReader","entryPromises","readDirectoryEntries","readEntries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","noDrop","noDropPlaceholder","noTraverse","BFormFile","files","dropAllowed","computedAccept","extOrType","startMatch","endMatch","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","onDrop","dragenter","dragover","dragleave","drop","FormFilePlugin","BFile","escapeChar","firstCharCode","charCode","ALIGN_SELF_VALUES","breakpoint","computeBreakpointClass","memoize","breakpointPropMap","breakpointCol","breakpointOffset","breakpointOrder","alignSelf","BCol","_classList$push","hasColClasses","INPUTS","INPUT_SELECTOR","LEGEND_INTERACTIVE_ELEMENTS","feedbackAriaLive","invalidFeedback","labelFor","labelSrOnly","validFeedback","BFormGroup","contentColProps","getColProps","labelAlignClasses","getAlignClasses","labelColProps","updateAriaDescribedby","propValue","newIds","onLegendClick","isFieldset","labelId","labelTag","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","FormGroupPlugin","BFormFieldset","formSelectionMixin","selectionStart","selectionEnd","selectionDirection","_this$$refs$input","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","lazyFormatter","plaintext","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","updateValue","doUpdate","onBlur","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","noWheel","BFormInput","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","MIN_STARS","DEFAULT_STARS","BVFormRatingStar","focused","hasClear","rating","minStar","iconClear","iconEmpty","iconFull","iconHalf","noBorder","showClear","showValue","showValueMax","BFormRating","BIconStar","BIconStarHalf","BIconStarFill","BIconX","computedStars","computedRating","isInteractive","formattedRating","formatOptions","toLocaleString","amountRtl","onFocus","renderIcon","iconEmptyFn","iconHalfFn","iconFullFn","iconClearFn","$icon","FormRatingPlugin","BRating","labelField","optionsField","optionsMixin","BFormSelectOption","BFormSelectOptionGroup","selectSize","BFormSelect","computedSelectSize","inputClass","selectedValue","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","formatterFn","labelDecrement","labelIncrement","repeatDelay","repeatInterval","repeatStepMultiplier","repeatThreshold","BFormSpinbutton","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedDelay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedRTL","defaultFormatter","useGrouping","computedFormatter","computedSpinAttrs","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","onFocusBlur","stepUp","stepDown","resetTimers","handleStepRepeat","onKeyup","onMouseup","setMouseup","makeButton","IconCmp","keyRef","slotName","$increment","$decrement","$spin","FormSpinbuttonPlugin","BSpinbutton","noRemove","removeLabel","BFormTag","tagId","tagLabelId","$remove","$tag","DEFAULT_INPUT_FOCUS_SELECTOR","cleanTagsState","duplicate","addButtonText","addButtonVariant","addOnChange","duplicateTagText","ignoreInputFocusSelector","inputAttrs","inputId","invalidTagText","limitTagsText","noAddOnEnter","noOuterFocus","noTagRemove","removeOnDelete","tagClass","tagPills","tagRemoveLabel","tagRemovedLabel","tagValidator","tagVariant","BFormTags","newTag","removedTags","tagsState","computedInputId","computedInputType","computedInputAttrs","computedInputHandlers","onInputInput","onInputChange","onInputKeydown","computedSeparator","computedSeparatorRegExp","computedJoiner","joiner","computeIgnoreInputFocusSelector","disableAddButton","splitTags","validateTag","duplicateTags","hasDuplicateTags","invalidTags","hasInvalidTags","isLimitReached","addTag","parseTags","getInput","invalidAndDuplicates","removeTag","separatorRe","ignoreFocusSelector","onFocusout","_this7","defaultRender","inputHandlers","isDuplicate","isInvalid","$tags","duplicateFeedbackId","limitFeedbackId","tagListId","$field","$ul","$feedback","$invalid","$duplicate","$limit","$output","$removed","hasTags","FormTagsPlugin","BTags","BTag","maxRows","noAutoShrink","noResize","BFormTextarea","heightInPx","computedRows","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","$isServer","borderBottomWidth","contentRows","FormTextareaPlugin","BTextarea","NUMERIC","padLeftZeros","hh","mm","_value$split$map","_value$split$map2","ampm","requireSeconds","hms","hour12","labelAm","labelAmpm","labelHours","labelMinutes","labelNoTimeSelected","labelPm","labelSeconds","minutesStep","secondsStep","showSeconds","BTime","modelHours","modelMinutes","modelSeconds","modelAmpm","computedHMS","hourCycle","computedHourCycle","is12Hour","formattedTimeString","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","spinScopedSlots","flipV","_parseHMS","newHours","oldHours","spinners","formatHours","formatMinutes","formatSeconds","formatAmpm","setAmpm","onSpinLeftRight","spinIds","makeSpinbutton","spinbuttonProps","makeColon","$spinners","$value","timeProps","labelNowButton","noCloseButton","nowButton","nowButtonVariant","BFormTimepicker","localHMS","onNowButton","$time","FormTimepickerPlugin","BTimepicker","ImagePlugin","BInputGroupText","isText","BInputGroupAddon","BInputGroupAppend","BInputGroupPrepend","appendHtml","prependHtml","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","InputGroupPlugin","BContainer","containerFluid","headerLevel","lead","leadHtml","leadTag","BJumbotron","$lead","hasLeadSlot","JumbotronPlugin","COMMON_ALIGNMENT","computeRowColsClass","computeRowColsBreakpoint","rowColsPropList","rowColsProps","alignContent","noGutters","BRow","LayoutPlugin","LinkPlugin","BListGroup","actionTags","BListGroupItem","itemProps","ListGroupPlugin","BMediaAside","BMediaBody","rightAlign","BMedia","$aside","MediaPlugin","listenOnDocumentMixin","listenDocument","listenOnDocument","listenOffDocument","listenOnWindowMixin","listenWindow","listenOnWindow","listenOffWindow","getScopeId","scopedStyleMixin","scopedStyleAttrs","BVTransporterTarget","updatedNodes","$nodes","BVTransporter","unmountTarget","mountTarget","$_defaultFn","$_target","updateTarget","$container","defaultFn","_get","_superPropBase","_getPrototypeOf","_inherits","subClass","superClass","_createSuper","Derived","hasNativeReflectConstruct","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_BvEvent","BvModalEvent","_super","DEFAULT_ZINDEX","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","SELECTOR_NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","resetModal","getBaseZIndex","_getBCR","_paddingChangedForModal","_marginChangedForModal","actualPadding","actualMargin","modalManager","TRIGGER_BACKDROP","TRIGGER_ESC","TRIGGER_FORCE","TRIGGER_TOGGLE","BUTTON_CANCEL","BUTTON_CLOSE","BUTTON_OK","BUTTONS","OBSERVER_CONFIG","autoFocusButton","busy","buttonSize","cancelDisabled","cancelTitle","cancelTitleHtml","cancelVariant","centered","contentClass","dialogClass","headerCloseContent","headerCloseLabel","headerCloseVariant","hideBackdrop","hideFooter","hideHeaderClose","ignoreEnforceFocusSelector","modalClass","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","noStacking","okDisabled","okOnly","okTitle","okTitleHtml","okVariant","returnFocus","scrollable","titleHtml","titleSrOnly","BModal","isShow","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","modalId","modalOuterId","modalHeaderId","modalBodyId","modalTitleId","modalContentId","modalFooterId","modalBackdropId","modalClasses","modalStyles","sbWidth","dialogClasses","titleClasses","bodyClasses","footerClasses","_ref4","modalOuterStyle","onCancel","onClose","onOk","computeIgnoreEnforceFocusSelector","computedModalAttrs","$_returnFocus","showHandler","toggleHandler","modalListener","checkModalOverflow","updateModel","buildEvent","getActiveElement","showEvt","hideEvt","triggerEl","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","onDialogMousedown","onceModalMouseup","onClickOut","tabables","bottomTrap","topTrap","preventScroll","autoFocus","makeModal","$modalHeader","$closeButton","$body","$modalFooter","$cancelButton","$okButton","$modalContent","$tabTrapTop","$tabTrapBottom","$modalDialog","$modal","$backdrop","ROOT_ACTION_EVENT_NAME_SHOW","PROPERTY","_ref$modifiers","oldProp","VBModal","PROP_NAME_PRIV","BASE_PROPS","defaultResolver","propsToSlots","msgBoxContent","BMsgBox","handleDestroy","$route","asyncMsgBox","msgBox","bvModalEvt","makeMsgBox","BvModal","_this$_root","_this$_root2","BVModalPlugin","ModalPlugin","computeJustifyContent","cardHeader","justified","pills","small","tabs","BNav","linkAttrs","linkClasses","BNavItem","BNavText","formProps","BNavForm","BNavItemDropdown","toggleId","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","print","toggleable","BNavbar","breakpointClass","BNavbarNav","BNavbarBrand","isLink","BNavbarToggle","toggleState","handleStateEvt","expanded","NavbarPlugin","BNavToggle","BSpinner","POSITION_COVER","overlayTag","spinnerSmall","spinnerType","spinnerVariant","wrapTag","BOverlay","defaultOverlayFn","$overlay","$background","backdropFilter","OverlayPlugin","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","prevClass","prevText","paginationMixin","currentPage","localNumberOfPages","localLimit","btnSize","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","handleKeyNav","getButtons","btn","focusCurrent","pageNumbers","_this$paginationParam2","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","$btnContent","linkProps","makeEllipsis","makePageButton","btnContent","makePage","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","BPagination","pageSizeNumberOfPages","clickEvt","pageNum","PaginationPlugin","_linkProps","linkGen","noPageDetect","pageGen","useRouter","BPaginationNav","computedValue","setNumberOfPages","guessCurrentPage","getPageInfo","_link","makeLink","resolveLink","_link2","resolveRoute","route","guess","currentRoute","currentLink","PaginationNavPlugin","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","boundaryPadding","fallbackPlacement","BVPopper","getAttachment","templateType","onCreate","originalPlacement","popperPlacementChange","onUpdate","popperCreate","arrowOffset","renderTemplate","BVTooltipTemplate","customClass","templateClasses","noninteractive","templateAttributes","templateListeners","_makePropsConfigurabl","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","triggers","BVTooltip","activeTrigger","computedId","computedTriggers","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getTarget","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","titleUpdated","fixTitle","createTemplateAndShow","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","addAriaDescribedby","prevHoverState","getTargetId","isInModal","isDropdown","setRootListener","doHide","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","_this9","_this10","_this11","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","BTooltip","localTitle","localContent","templateData","templateTitleContent","$_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onHide","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BPopover","BV_POPOVER","DefaultTrigger","validTriggers","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","selectedTriggers","__bv_prev_data__","removePopover","VBPopover","VBPopoverPlugin","PopoverPlugin","animated","labelHtml","showProgress","striped","BProgressBar","bvProgress","progressBarClasses","computedAnimated","computedStriped","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","progressBarProps","BProgress","progressHeight","$childNodes","ProgressPlugin","backdrop","backdropVariant","closeLabel","noCloseOnRouteChange","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","$close","renderContent","renderBackdrop","onBackdropClick","BSidebar","hasTitle","titleId","fullPath","$_returnFocusEl","handleToggle","handleSync","onTopTrapFocus","enforceFocus","onBottomTrapFocus","$sidebar","SidebarPlugin","BSkeleton","BSkeletonIcon","cardImg","noAspect","BSkeletonImg","hasListenerMixin","$events","stackedMixin","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","noBorderCollapse","outlined","stickyHeader","tableClass","tableVariant","tableRendererMixin","bvTable","isResponsive","isStickyHeader","wrapperClasses","wrapperStyles","tableClasses","isTableSimple","computedItems","computedBusy","selectableTableClasses","tableAttrs","filteredItems","computedFields","selectableTableAttrs","ariaAttrs","captionId","rowCount","renderCaption","renderColgroup","renderThead","renderTbody","renderTfoot","$table","BTableSimple","isPositiveNumber","showFooter","tableProps","BSkeletonTable","$th","$thTr","$td","$tdTr","$tbody","$thead","$tfoot","BSkeletonWrapper","SkeletonPlugin","SpinnerPlugin","LIGHT","DARK","BTr","bvTableTr","bvTableRowGroup","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","hasStickyHeader","headVariant","footVariant","isRowDark","trClasses","trAttrs","bottomRowMixin","renderBottomRow","tbodyTrClass","tbodyTrAttr","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","stopIfBusy","renderBusy","captionMixin","$caption","hasCaptionSlot","colgroupMixin","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","$empty","isFiltered","stringifyObjectValues","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","ignoreFields","includeFields","fieldsObj","formattedRow","filterByFormatted","allowedKeys","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localItems","localFilterFn","criteria","filterFnFactory","defaultFilterFnFactory","clearFilterTimer","newCriteria","regExp","computedFieldsObj","origFields","sample","primaryKey","itemsMixin","paginatedItems","sortedItems","sortBy","localSortBy","sortDesc","localSortDesc","apiUrl","getFieldFormatter","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","_providerUpdate","clearSelected","_providerSetLocal","SELECT_MODES","noSelectOnClick","selectableMixin","selectedRows","selectedLastRow","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","selectableIsMultiSelect","setSelectionHandlers","_selectedRows","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","selectionHandler","_ref$sortBy","_ref$formatter","_ref$locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","TABLE_TAG_NAMES","containsNode","BTh","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","isRowHeader","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","$_bodyFieldSlotNameCache","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","tbody","trs","getTbodyTrIndex","onTbodyRowKeydown","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","defaultSlotName","lowercaseSlotName","auxclick","contextmenu","dblclick","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","$srLabel","$trs","topRowMixin","BTable","BTableLite","TableLitePlugin","TableSimplePlugin","TablePlugin","notDisabled","BVTabButton","bvTabs","posInSet","handleEvt","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","activeTabClass","card","navClass","navWrapperClass","noNavStyle","BTabs","currentTab","registeredTabs","localNavClass","$tab","activateTab","previousTab","nextTab","updateTabs","registerTab","unregisterTab","getTabs","$tabs","_isTab","getButtonForTab","updateButton","tabEvent","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","lastTab","$activeTab","$fallbackTab","_on","controlledBy","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","tabClasses","buttonId","computedNoFade","computedLazy","deactivate","TabsPlugin","TimePlugin","DefaultTransition","ariaAtomic","BToaster","doRender","staticName","$toaster","$target","MIN_DURATION","appendToast","autoHideDelay","isStatus","noAutoHide","toastClass","toaster","BToast","isMounted","isHiding","dismissStarted","resumeDismiss","toastClasses","computedDuration","computedToaster","transitionHandlers","ensureToaster","$_dismissTimer","clearDismissTimer","setHoverHandler","startDismissTimer","onPause","onUnPause","onLinkClick","hiddenEvt","makeToast","$headerContent","$toast","toastContent","BVToastPop","toast","BvToast","BVToastPlugin","ToastPlugin","BV_TOOLTIP","noninteractiveRE","removeTooltip","VBTooltip","VBTooltipPlugin","TooltipPlugin","componentsPlugin","VBHoverPlugin","VBModalPlugin","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","ROOT_EVENT_NAME_ACTIVATE","METHOD_OFFSET","METHOD_POSITION","Default","DefaultType","configTypes","valueType","BVScrollSpy","$scroller","$selector","$offsets","$targets","$activeTarget","$scrollHeight","$resizeTimeout","$scrollerObserver","$targetsObserver","$config","updateConfig","unlisten","cfg","Name","scroller","getScroller","setObservers","resizeThrottle","autoMethod","methodFn","getScrollTop","getScrollHeight","maxScroll","getOffsetHeight","isActiveTarget","dropdown","setActiveState","previousElementSibling","BV_SCROLLSPY","onlyDigitsRE","removeScrollspy","VBScrollspy","VBScrollspyPlugin","VBVisiblePlugin","directivesPlugin","BootstrapVue","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","facade","Wrapper","NewTargetPrototype","kebabName","iconNameClass","iconTitle","svgContent","BIconBlank","BIconAlarm","BIconAlarmFill","BIconAlignBottom","BIconAlignCenter","BIconAlignEnd","BIconAlignMiddle","BIconAlignStart","BIconAlignTop","BIconAlt","BIconApp","BIconAppIndicator","BIconArchive","BIconArchiveFill","BIconArrow90degDown","BIconArrow90degLeft","BIconArrow90degRight","BIconArrow90degUp","BIconArrowBarDown","BIconArrowBarLeft","BIconArrowBarRight","BIconArrowBarUp","BIconArrowClockwise","BIconArrowCounterclockwise","BIconArrowDown","BIconArrowDownCircle","BIconArrowDownCircleFill","BIconArrowDownLeft","BIconArrowDownLeftCircle","BIconArrowDownLeftCircleFill","BIconArrowDownLeftSquare","BIconArrowDownLeftSquareFill","BIconArrowDownRight","BIconArrowDownRightCircle","BIconArrowDownRightCircleFill","BIconArrowDownRightSquare","BIconArrowDownRightSquareFill","BIconArrowDownShort","BIconArrowDownSquare","BIconArrowDownSquareFill","BIconArrowDownUp","BIconArrowLeft","BIconArrowLeftCircle","BIconArrowLeftCircleFill","BIconArrowLeftRight","BIconArrowLeftShort","BIconArrowLeftSquare","BIconArrowLeftSquareFill","BIconArrowRepeat","BIconArrowReturnLeft","BIconArrowReturnRight","BIconArrowRight","BIconArrowRightCircle","BIconArrowRightCircleFill","BIconArrowRightShort","BIconArrowRightSquare","BIconArrowRightSquareFill","BIconArrowUp","BIconArrowUpCircle","BIconArrowUpCircleFill","BIconArrowUpLeft","BIconArrowUpLeftCircle","BIconArrowUpLeftCircleFill","BIconArrowUpLeftSquare","BIconArrowUpLeftSquareFill","BIconArrowUpRight","BIconArrowUpRightCircle","BIconArrowUpRightCircleFill","BIconArrowUpRightSquare","BIconArrowUpRightSquareFill","BIconArrowUpShort","BIconArrowUpSquare","BIconArrowUpSquareFill","BIconArrowsAngleContract","BIconArrowsAngleExpand","BIconArrowsCollapse","BIconArrowsExpand","BIconArrowsFullscreen","BIconArrowsMove","BIconAspectRatio","BIconAspectRatioFill","BIconAsterisk","BIconAt","BIconAward","BIconAwardFill","BIconBack","BIconBackspace","BIconBackspaceFill","BIconBackspaceReverse","BIconBackspaceReverseFill","BIconBadge4k","BIconBadge4kFill","BIconBadge8k","BIconBadge8kFill","BIconBadgeAd","BIconBadgeAdFill","BIconBadgeCc","BIconBadgeCcFill","BIconBadgeHd","BIconBadgeHdFill","BIconBadgeTm","BIconBadgeTmFill","BIconBadgeVo","BIconBadgeVoFill","BIconBag","BIconBagCheck","BIconBagCheckFill","BIconBagDash","BIconBagDashFill","BIconBagFill","BIconBagPlus","BIconBagPlusFill","BIconBagX","BIconBagXFill","BIconBarChart","BIconBarChartFill","BIconBarChartLine","BIconBarChartLineFill","BIconBarChartSteps","BIconBasket","BIconBasket2","BIconBasket2Fill","BIconBasket3","BIconBasket3Fill","BIconBasketFill","BIconBattery","BIconBatteryCharging","BIconBatteryFull","BIconBatteryHalf","BIconBell","BIconBellFill","BIconBezier","BIconBezier2","BIconBicycle","BIconBinoculars","BIconBinocularsFill","BIconBlockquoteLeft","BIconBlockquoteRight","BIconBook","BIconBookFill","BIconBookHalf","BIconBookmark","BIconBookmarkCheck","BIconBookmarkCheckFill","BIconBookmarkDash","BIconBookmarkDashFill","BIconBookmarkFill","BIconBookmarkHeart","BIconBookmarkHeartFill","BIconBookmarkPlus","BIconBookmarkPlusFill","BIconBookmarkStar","BIconBookmarkStarFill","BIconBookmarkX","BIconBookmarkXFill","BIconBookmarks","BIconBookmarksFill","BIconBookshelf","BIconBootstrap","BIconBootstrapFill","BIconBootstrapReboot","BIconBorderStyle","BIconBorderWidth","BIconBoundingBox","BIconBoundingBoxCircles","BIconBox","BIconBoxArrowDown","BIconBoxArrowDownLeft","BIconBoxArrowDownRight","BIconBoxArrowInDown","BIconBoxArrowInDownLeft","BIconBoxArrowInDownRight","BIconBoxArrowInLeft","BIconBoxArrowInRight","BIconBoxArrowInUp","BIconBoxArrowInUpLeft","BIconBoxArrowInUpRight","BIconBoxArrowLeft","BIconBoxArrowRight","BIconBoxArrowUp","BIconBoxArrowUpLeft","BIconBoxArrowUpRight","BIconBoxSeam","BIconBraces","BIconBricks","BIconBriefcase","BIconBriefcaseFill","BIconBrightnessAltHigh","BIconBrightnessAltHighFill","BIconBrightnessAltLow","BIconBrightnessAltLowFill","BIconBrightnessHigh","BIconBrightnessHighFill","BIconBrightnessLow","BIconBrightnessLowFill","BIconBroadcast","BIconBroadcastPin","BIconBrush","BIconBrushFill","BIconBucket","BIconBucketFill","BIconBug","BIconBugFill","BIconBuilding","BIconBullseye","BIconCalculator","BIconCalculatorFill","BIconCalendar","BIconCalendar2","BIconCalendar2Check","BIconCalendar2CheckFill","BIconCalendar2Date","BIconCalendar2DateFill","BIconCalendar2Day","BIconCalendar2DayFill","BIconCalendar2Event","BIconCalendar2EventFill","BIconCalendar2Fill","BIconCalendar2Minus","BIconCalendar2MinusFill","BIconCalendar2Month","BIconCalendar2MonthFill","BIconCalendar2Plus","BIconCalendar2PlusFill","BIconCalendar2Range","BIconCalendar2RangeFill","BIconCalendar2Week","BIconCalendar2WeekFill","BIconCalendar2X","BIconCalendar2XFill","BIconCalendar3","BIconCalendar3Event","BIconCalendar3EventFill","BIconCalendar3Fill","BIconCalendar3Range","BIconCalendar3RangeFill","BIconCalendar3Week","BIconCalendar3WeekFill","BIconCalendar4","BIconCalendar4Event","BIconCalendar4Range","BIconCalendar4Week","BIconCalendarCheck","BIconCalendarCheckFill","BIconCalendarDate","BIconCalendarDateFill","BIconCalendarDay","BIconCalendarDayFill","BIconCalendarEvent","BIconCalendarEventFill","BIconCalendarFill","BIconCalendarMinus","BIconCalendarMinusFill","BIconCalendarMonth","BIconCalendarMonthFill","BIconCalendarPlus","BIconCalendarPlusFill","BIconCalendarRange","BIconCalendarRangeFill","BIconCalendarWeek","BIconCalendarWeekFill","BIconCalendarX","BIconCalendarXFill","BIconCamera","BIconCamera2","BIconCameraFill","BIconCameraReels","BIconCameraReelsFill","BIconCameraVideo","BIconCameraVideoFill","BIconCameraVideoOff","BIconCameraVideoOffFill","BIconCapslock","BIconCapslockFill","BIconCardChecklist","BIconCardHeading","BIconCardImage","BIconCardList","BIconCardText","BIconCaretDown","BIconCaretDownFill","BIconCaretDownSquare","BIconCaretDownSquareFill","BIconCaretLeft","BIconCaretLeftFill","BIconCaretLeftSquare","BIconCaretLeftSquareFill","BIconCaretRight","BIconCaretRightFill","BIconCaretRightSquare","BIconCaretRightSquareFill","BIconCaretUp","BIconCaretUpFill","BIconCaretUpSquare","BIconCaretUpSquareFill","BIconCart","BIconCart2","BIconCart3","BIconCart4","BIconCartCheck","BIconCartCheckFill","BIconCartDash","BIconCartDashFill","BIconCartFill","BIconCartPlus","BIconCartPlusFill","BIconCartX","BIconCartXFill","BIconCash","BIconCashStack","BIconCast","BIconChat","BIconChatDots","BIconChatDotsFill","BIconChatFill","BIconChatLeft","BIconChatLeftDots","BIconChatLeftDotsFill","BIconChatLeftFill","BIconChatLeftQuote","BIconChatLeftQuoteFill","BIconChatLeftText","BIconChatLeftTextFill","BIconChatQuote","BIconChatQuoteFill","BIconChatRight","BIconChatRightDots","BIconChatRightDotsFill","BIconChatRightFill","BIconChatRightQuote","BIconChatRightQuoteFill","BIconChatRightText","BIconChatRightTextFill","BIconChatSquare","BIconChatSquareDots","BIconChatSquareDotsFill","BIconChatSquareFill","BIconChatSquareQuote","BIconChatSquareQuoteFill","BIconChatSquareText","BIconChatSquareTextFill","BIconChatText","BIconChatTextFill","BIconCheck","BIconCheck2","BIconCheck2All","BIconCheck2Circle","BIconCheck2Square","BIconCheckAll","BIconCheckCircle","BIconCheckCircleFill","BIconCheckSquare","BIconCheckSquareFill","BIconChevronBarContract","BIconChevronBarDown","BIconChevronBarExpand","BIconChevronBarLeft","BIconChevronBarRight","BIconChevronBarUp","BIconChevronCompactDown","BIconChevronCompactLeft","BIconChevronCompactRight","BIconChevronCompactUp","BIconChevronContract","BIconChevronDoubleDown","BIconChevronDoubleLeft","BIconChevronDoubleRight","BIconChevronDoubleUp","BIconChevronDown","BIconChevronExpand","BIconChevronLeft","BIconChevronRight","BIconChevronUp","BIconCircle","BIconCircleFill","BIconCircleHalf","BIconCircleSquare","BIconClipboard","BIconClipboardCheck","BIconClipboardData","BIconClipboardMinus","BIconClipboardPlus","BIconClipboardX","BIconClock","BIconClockFill","BIconClockHistory","BIconCloud","BIconCloudArrowDown","BIconCloudArrowDownFill","BIconCloudArrowUp","BIconCloudArrowUpFill","BIconCloudCheck","BIconCloudCheckFill","BIconCloudDownload","BIconCloudDownloadFill","BIconCloudFill","BIconCloudMinus","BIconCloudMinusFill","BIconCloudPlus","BIconCloudPlusFill","BIconCloudSlash","BIconCloudSlashFill","BIconCloudUpload","BIconCloudUploadFill","BIconCode","BIconCodeSlash","BIconCodeSquare","BIconCollection","BIconCollectionFill","BIconCollectionPlay","BIconCollectionPlayFill","BIconColumns","BIconColumnsGap","BIconCommand","BIconCompass","BIconCompassFill","BIconCone","BIconConeStriped","BIconController","BIconCpu","BIconCpuFill","BIconCreditCard","BIconCreditCard2Back","BIconCreditCard2BackFill","BIconCreditCard2Front","BIconCreditCard2FrontFill","BIconCreditCardFill","BIconCrop","BIconCup","BIconCupFill","BIconCupStraw","BIconCursor","BIconCursorFill","BIconCursorText","BIconDash","BIconDashCircle","BIconDashCircleFill","BIconDashSquare","BIconDashSquareFill","BIconDiagram2","BIconDiagram2Fill","BIconDiagram3","BIconDiagram3Fill","BIconDiamond","BIconDiamondFill","BIconDiamondHalf","BIconDice1","BIconDice1Fill","BIconDice2","BIconDice2Fill","BIconDice3","BIconDice3Fill","BIconDice4","BIconDice4Fill","BIconDice5","BIconDice5Fill","BIconDice6","BIconDice6Fill","BIconDisc","BIconDiscFill","BIconDiscord","BIconDisplay","BIconDisplayFill","BIconDistributeHorizontal","BIconDistributeVertical","BIconDoorClosed","BIconDoorClosedFill","BIconDoorOpen","BIconDoorOpenFill","BIconDot","BIconDownload","BIconDroplet","BIconDropletFill","BIconDropletHalf","BIconEarbuds","BIconEasel","BIconEaselFill","BIconEgg","BIconEggFill","BIconEggFried","BIconEject","BIconEjectFill","BIconEmojiAngry","BIconEmojiAngryFill","BIconEmojiDizzy","BIconEmojiDizzyFill","BIconEmojiExpressionless","BIconEmojiExpressionlessFill","BIconEmojiFrown","BIconEmojiFrownFill","BIconEmojiHeartEyes","BIconEmojiHeartEyesFill","BIconEmojiLaughing","BIconEmojiLaughingFill","BIconEmojiNeutral","BIconEmojiNeutralFill","BIconEmojiSmile","BIconEmojiSmileFill","BIconEmojiSmileUpsideDown","BIconEmojiSmileUpsideDownFill","BIconEmojiSunglasses","BIconEmojiSunglassesFill","BIconEmojiWink","BIconEmojiWinkFill","BIconEnvelope","BIconEnvelopeFill","BIconEnvelopeOpen","BIconEnvelopeOpenFill","BIconExclamation","BIconExclamationCircle","BIconExclamationCircleFill","BIconExclamationDiamond","BIconExclamationDiamondFill","BIconExclamationOctagon","BIconExclamationOctagonFill","BIconExclamationSquare","BIconExclamationSquareFill","BIconExclamationTriangle","BIconExclamationTriangleFill","BIconExclude","BIconEye","BIconEyeFill","BIconEyeSlash","BIconEyeSlashFill","BIconEyeglasses","BIconFacebook","BIconFile","BIconFileArrowDown","BIconFileArrowDownFill","BIconFileArrowUp","BIconFileArrowUpFill","BIconFileBarGraph","BIconFileBarGraphFill","BIconFileBinary","BIconFileBinaryFill","BIconFileBreak","BIconFileBreakFill","BIconFileCheck","BIconFileCheckFill","BIconFileCode","BIconFileCodeFill","BIconFileDiff","BIconFileDiffFill","BIconFileEarmark","BIconFileEarmarkArrowDown","BIconFileEarmarkArrowDownFill","BIconFileEarmarkArrowUp","BIconFileEarmarkArrowUpFill","BIconFileEarmarkBarGraph","BIconFileEarmarkBarGraphFill","BIconFileEarmarkBinary","BIconFileEarmarkBinaryFill","BIconFileEarmarkBreak","BIconFileEarmarkBreakFill","BIconFileEarmarkCheck","BIconFileEarmarkCheckFill","BIconFileEarmarkCode","BIconFileEarmarkCodeFill","BIconFileEarmarkDiff","BIconFileEarmarkDiffFill","BIconFileEarmarkEasel","BIconFileEarmarkEaselFill","BIconFileEarmarkExcel","BIconFileEarmarkExcelFill","BIconFileEarmarkFill","BIconFileEarmarkFont","BIconFileEarmarkFontFill","BIconFileEarmarkImage","BIconFileEarmarkImageFill","BIconFileEarmarkLock","BIconFileEarmarkLock2","BIconFileEarmarkLock2Fill","BIconFileEarmarkLockFill","BIconFileEarmarkMedical","BIconFileEarmarkMedicalFill","BIconFileEarmarkMinus","BIconFileEarmarkMinusFill","BIconFileEarmarkMusic","BIconFileEarmarkMusicFill","BIconFileEarmarkPerson","BIconFileEarmarkPersonFill","BIconFileEarmarkPlay","BIconFileEarmarkPlayFill","BIconFileEarmarkPlus","BIconFileEarmarkPlusFill","BIconFileEarmarkPost","BIconFileEarmarkPostFill","BIconFileEarmarkPpt","BIconFileEarmarkPptFill","BIconFileEarmarkRichtext","BIconFileEarmarkRichtextFill","BIconFileEarmarkRuled","BIconFileEarmarkRuledFill","BIconFileEarmarkSlides","BIconFileEarmarkSlidesFill","BIconFileEarmarkSpreadsheet","BIconFileEarmarkSpreadsheetFill","BIconFileEarmarkText","BIconFileEarmarkTextFill","BIconFileEarmarkWord","BIconFileEarmarkWordFill","BIconFileEarmarkX","BIconFileEarmarkXFill","BIconFileEarmarkZip","BIconFileEarmarkZipFill","BIconFileEasel","BIconFileEaselFill","BIconFileExcel","BIconFileExcelFill","BIconFileFill","BIconFileFont","BIconFileFontFill","BIconFileImage","BIconFileImageFill","BIconFileLock","BIconFileLock2","BIconFileLock2Fill","BIconFileLockFill","BIconFileMedical","BIconFileMedicalFill","BIconFileMinus","BIconFileMinusFill","BIconFileMusic","BIconFileMusicFill","BIconFilePerson","BIconFilePersonFill","BIconFilePlay","BIconFilePlayFill","BIconFilePlus","BIconFilePlusFill","BIconFilePost","BIconFilePostFill","BIconFilePpt","BIconFilePptFill","BIconFileRichtext","BIconFileRichtextFill","BIconFileRuled","BIconFileRuledFill","BIconFileSlides","BIconFileSlidesFill","BIconFileSpreadsheet","BIconFileSpreadsheetFill","BIconFileText","BIconFileTextFill","BIconFileWord","BIconFileWordFill","BIconFileX","BIconFileXFill","BIconFileZip","BIconFileZipFill","BIconFiles","BIconFilesAlt","BIconFilm","BIconFilter","BIconFilterCircle","BIconFilterCircleFill","BIconFilterLeft","BIconFilterRight","BIconFilterSquare","BIconFilterSquareFill","BIconFlag","BIconFlagFill","BIconFlower1","BIconFlower2","BIconFlower3","BIconFolder","BIconFolder2","BIconFolder2Open","BIconFolderCheck","BIconFolderFill","BIconFolderMinus","BIconFolderPlus","BIconFolderSymlink","BIconFolderSymlinkFill","BIconFolderX","BIconFonts","BIconForward","BIconForwardFill","BIconFront","BIconFullscreen","BIconFullscreenExit","BIconFunnel","BIconFunnelFill","BIconGear","BIconGearFill","BIconGearWide","BIconGearWideConnected","BIconGem","BIconGeo","BIconGeoAlt","BIconGeoAltFill","BIconGeoFill","BIconGift","BIconGiftFill","BIconGithub","BIconGlobe","BIconGlobe2","BIconGoogle","BIconGraphDown","BIconGraphUp","BIconGrid","BIconGrid1x2","BIconGrid1x2Fill","BIconGrid3x2","BIconGrid3x2Gap","BIconGrid3x2GapFill","BIconGrid3x3","BIconGrid3x3Gap","BIconGrid3x3GapFill","BIconGridFill","BIconGripHorizontal","BIconGripVertical","BIconHammer","BIconHandIndex","BIconHandIndexThumb","BIconHandThumbsDown","BIconHandThumbsUp","BIconHandbag","BIconHandbagFill","BIconHash","BIconHdd","BIconHddFill","BIconHddNetwork","BIconHddNetworkFill","BIconHddRack","BIconHddRackFill","BIconHddStack","BIconHddStackFill","BIconHeadphones","BIconHeadset","BIconHeart","BIconHeartFill","BIconHeartHalf","BIconHeptagon","BIconHeptagonFill","BIconHeptagonHalf","BIconHexagon","BIconHexagonFill","BIconHexagonHalf","BIconHourglass","BIconHourglassBottom","BIconHourglassSplit","BIconHourglassTop","BIconHouse","BIconHouseDoor","BIconHouseDoorFill","BIconHouseFill","BIconHr","BIconImage","BIconImageAlt","BIconImageFill","BIconImages","BIconInbox","BIconInboxFill","BIconInboxes","BIconInboxesFill","BIconInfo","BIconInfoCircle","BIconInfoCircleFill","BIconInfoSquare","BIconInfoSquareFill","BIconInputCursor","BIconInputCursorText","BIconInstagram","BIconIntersect","BIconJournal","BIconJournalAlbum","BIconJournalArrowDown","BIconJournalArrowUp","BIconJournalBookmark","BIconJournalBookmarkFill","BIconJournalCheck","BIconJournalCode","BIconJournalMedical","BIconJournalMinus","BIconJournalPlus","BIconJournalRichtext","BIconJournalText","BIconJournalX","BIconJournals","BIconJoystick","BIconJustify","BIconJustifyLeft","BIconJustifyRight","BIconKanban","BIconKanbanFill","BIconKey","BIconKeyFill","BIconKeyboard","BIconKeyboardFill","BIconLadder","BIconLamp","BIconLampFill","BIconLaptop","BIconLaptopFill","BIconLayers","BIconLayersFill","BIconLayersHalf","BIconLayoutSidebar","BIconLayoutSidebarInset","BIconLayoutSidebarInsetReverse","BIconLayoutSidebarReverse","BIconLayoutSplit","BIconLayoutTextSidebar","BIconLayoutTextSidebarReverse","BIconLayoutTextWindow","BIconLayoutTextWindowReverse","BIconLayoutThreeColumns","BIconLayoutWtf","BIconLifePreserver","BIconLightning","BIconLightningFill","BIconLink","BIconLink45deg","BIconLinkedin","BIconList","BIconListCheck","BIconListNested","BIconListOl","BIconListStars","BIconListTask","BIconListUl","BIconLock","BIconLockFill","BIconMailbox","BIconMailbox2","BIconMap","BIconMapFill","BIconMarkdown","BIconMarkdownFill","BIconMenuApp","BIconMenuAppFill","BIconMenuButton","BIconMenuButtonFill","BIconMenuButtonWide","BIconMenuButtonWideFill","BIconMenuDown","BIconMenuUp","BIconMic","BIconMicFill","BIconMicMute","BIconMicMuteFill","BIconMinecart","BIconMinecartLoaded","BIconMoon","BIconMouse","BIconMouse2","BIconMouse3","BIconMusicNote","BIconMusicNoteBeamed","BIconMusicNoteList","BIconMusicPlayer","BIconMusicPlayerFill","BIconNewspaper","BIconNodeMinus","BIconNodeMinusFill","BIconNodePlus","BIconNodePlusFill","BIconNut","BIconNutFill","BIconOctagon","BIconOctagonFill","BIconOctagonHalf","BIconOption","BIconOutlet","BIconPaperclip","BIconParagraph","BIconPatchCheck","BIconPatchCheckFill","BIconPatchExclamation","BIconPatchExclamationFill","BIconPatchMinus","BIconPatchMinusFill","BIconPatchPlus","BIconPatchPlusFill","BIconPatchQuestion","BIconPatchQuestionFill","BIconPause","BIconPauseBtn","BIconPauseBtnFill","BIconPauseCircle","BIconPauseCircleFill","BIconPauseFill","BIconPeace","BIconPeaceFill","BIconPen","BIconPenFill","BIconPencil","BIconPencilFill","BIconPencilSquare","BIconPentagon","BIconPentagonFill","BIconPentagonHalf","BIconPeople","BIconPeopleFill","BIconPercent","BIconPerson","BIconPersonBadge","BIconPersonBadgeFill","BIconPersonBoundingBox","BIconPersonCheck","BIconPersonCheckFill","BIconPersonCircle","BIconPersonDash","BIconPersonDashFill","BIconPersonFill","BIconPersonLinesFill","BIconPersonPlus","BIconPersonPlusFill","BIconPersonSquare","BIconPersonX","BIconPersonXFill","BIconPhone","BIconPhoneFill","BIconPhoneLandscape","BIconPhoneLandscapeFill","BIconPhoneVibrate","BIconPieChart","BIconPieChartFill","BIconPip","BIconPipFill","BIconPlay","BIconPlayBtn","BIconPlayBtnFill","BIconPlayCircle","BIconPlayCircleFill","BIconPlayFill","BIconPlug","BIconPlugFill","BIconPlus","BIconPlusCircle","BIconPlusCircleFill","BIconPlusSquare","BIconPlusSquareFill","BIconPower","BIconPrinter","BIconPrinterFill","BIconPuzzle","BIconPuzzleFill","BIconQuestion","BIconQuestionCircle","BIconQuestionCircleFill","BIconQuestionDiamond","BIconQuestionDiamondFill","BIconQuestionOctagon","BIconQuestionOctagonFill","BIconQuestionSquare","BIconQuestionSquareFill","BIconReceipt","BIconReceiptCutoff","BIconReception0","BIconReception1","BIconReception2","BIconReception3","BIconReception4","BIconRecord","BIconRecord2","BIconRecord2Fill","BIconRecordBtn","BIconRecordBtnFill","BIconRecordCircle","BIconRecordCircleFill","BIconRecordFill","BIconReply","BIconReplyAll","BIconReplyAllFill","BIconReplyFill","BIconRss","BIconRssFill","BIconScissors","BIconScrewdriver","BIconSearch","BIconSegmentedNav","BIconServer","BIconShare","BIconShareFill","BIconShield","BIconShieldCheck","BIconShieldExclamation","BIconShieldFill","BIconShieldFillCheck","BIconShieldFillExclamation","BIconShieldFillMinus","BIconShieldFillPlus","BIconShieldFillX","BIconShieldLock","BIconShieldLockFill","BIconShieldMinus","BIconShieldPlus","BIconShieldShaded","BIconShieldSlash","BIconShieldSlashFill","BIconShieldX","BIconShift","BIconShiftFill","BIconShop","BIconShopWindow","BIconShuffle","BIconSignpost","BIconSignpost2","BIconSignpost2Fill","BIconSignpostFill","BIconSignpostSplit","BIconSignpostSplitFill","BIconSim","BIconSimFill","BIconSkipBackward","BIconSkipBackwardBtn","BIconSkipBackwardBtnFill","BIconSkipBackwardCircle","BIconSkipBackwardCircleFill","BIconSkipBackwardFill","BIconSkipEnd","BIconSkipEndBtn","BIconSkipEndBtnFill","BIconSkipEndCircle","BIconSkipEndCircleFill","BIconSkipEndFill","BIconSkipForward","BIconSkipForwardBtn","BIconSkipForwardBtnFill","BIconSkipForwardCircle","BIconSkipForwardCircleFill","BIconSkipForwardFill","BIconSkipStart","BIconSkipStartBtn","BIconSkipStartBtnFill","BIconSkipStartCircle","BIconSkipStartCircleFill","BIconSkipStartFill","BIconSlack","BIconSlash","BIconSlashCircle","BIconSlashCircleFill","BIconSlashSquare","BIconSlashSquareFill","BIconSliders","BIconSmartwatch","BIconSortAlphaDown","BIconSortAlphaDownAlt","BIconSortAlphaUp","BIconSortAlphaUpAlt","BIconSortDown","BIconSortDownAlt","BIconSortNumericDown","BIconSortNumericDownAlt","BIconSortNumericUp","BIconSortNumericUpAlt","BIconSortUp","BIconSortUpAlt","BIconSoundwave","BIconSpeaker","BIconSpeakerFill","BIconSpellcheck","BIconSquare","BIconSquareFill","BIconSquareHalf","BIconStickies","BIconStickiesFill","BIconSticky","BIconStickyFill","BIconStop","BIconStopBtn","BIconStopBtnFill","BIconStopCircle","BIconStopCircleFill","BIconStopFill","BIconStoplights","BIconStoplightsFill","BIconStopwatch","BIconStopwatchFill","BIconSubtract","BIconSuitClub","BIconSuitClubFill","BIconSuitDiamond","BIconSuitDiamondFill","BIconSuitHeart","BIconSuitHeartFill","BIconSuitSpade","BIconSuitSpadeFill","BIconSun","BIconSunglasses","BIconTable","BIconTablet","BIconTabletFill","BIconTabletLandscape","BIconTabletLandscapeFill","BIconTag","BIconTagFill","BIconTags","BIconTagsFill","BIconTelephone","BIconTelephoneFill","BIconTelephoneForward","BIconTelephoneForwardFill","BIconTelephoneInbound","BIconTelephoneInboundFill","BIconTelephoneMinus","BIconTelephoneMinusFill","BIconTelephoneOutbound","BIconTelephoneOutboundFill","BIconTelephonePlus","BIconTelephonePlusFill","BIconTelephoneX","BIconTelephoneXFill","BIconTerminal","BIconTerminalFill","BIconTextCenter","BIconTextIndentLeft","BIconTextIndentRight","BIconTextLeft","BIconTextParagraph","BIconTextRight","BIconTextarea","BIconTextareaResize","BIconTextareaT","BIconThermometer","BIconThermometerHalf","BIconThreeDots","BIconThreeDotsVertical","BIconToggle2Off","BIconToggle2On","BIconToggleOff","BIconToggleOn","BIconToggles","BIconToggles2","BIconTools","BIconTrash","BIconTrash2","BIconTrash2Fill","BIconTrashFill","BIconTree","BIconTreeFill","BIconTriangle","BIconTriangleFill","BIconTriangleHalf","BIconTrophy","BIconTrophyFill","BIconTruck","BIconTruckFlatbed","BIconTv","BIconTvFill","BIconTwitch","BIconTwitter","BIconType","BIconTypeBold","BIconTypeH1","BIconTypeH2","BIconTypeH3","BIconTypeItalic","BIconTypeStrikethrough","BIconTypeUnderline","BIconUiChecks","BIconUiChecksGrid","BIconUiRadios","BIconUiRadiosGrid","BIconUnion","BIconUnlock","BIconUnlockFill","BIconUpc","BIconUpcScan","BIconUpload","BIconVectorPen","BIconViewList","BIconViewStacked","BIconVinyl","BIconVinylFill","BIconVoicemail","BIconVolumeDown","BIconVolumeDownFill","BIconVolumeMute","BIconVolumeMuteFill","BIconVolumeOff","BIconVolumeOffFill","BIconVolumeUp","BIconVolumeUpFill","BIconVr","BIconWallet","BIconWallet2","BIconWalletFill","BIconWatch","BIconWifi","BIconWifi1","BIconWifi2","BIconWifiOff","BIconWindow","BIconWrench","BIconXCircle","BIconXCircleFill","BIconXDiamond","BIconXDiamondFill","BIconXOctagon","BIconXOctagonFill","BIconXSquare","BIconXSquareFill","BIconYoutube","BIconZoomIn","BIconZoomOut","Cancel","secure","cookie","toGMTString","toType","toRawType","isUndefinedOrNull","isEvent","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","isAbsoluteURL","combineURLs","baseURL","requestedURL","encodeReserveRE","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","castQueryParamValue","stringifyQuery","trailingSlashRE","createRoute","record","redirectedFrom","router","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","bKeys","aVal","bKey","bVal","isIncludedRoute","queryIncludes","handleRouteEntered","enteredCbs","View","routerView","_routerViewCache","inactive","_routerRoot","vnodeData","routerViewDepth","cachedData","cachedComponent","configProps","fillPropsinData","registerRouteInstance","propsToPass","resolveProps","resolvePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","defaultDelimiter","escaped","escapeGroup","escapeString","encodeURIComponentPretty","encodeAsterisk","pretty","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","pathMatch","normalizeLocation","params$1","rawPath","parsedPath","toTypes","eventTypes","Link","exactPath","ariaCurrentValue","this$1$1","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","scopedSlot","navigate","isExactActive","findAnchor","aData","handler$1","event$1","aAttrs","registerInstance","callVal","_router","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","compileRouteRegex","redirect","childMatchAs","aliasRoute","createMatcher","addRoutes","addRoute","parentOrRoute","getRoutes","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","aliasedPath","aliasedMatch","aliasedRecord","Time","genStateKey","getStateKey","setStateKey","positionStore","setupScroll","scrollRestoration","protocolAndPath","absolutePath","stateCopy","handlePopState","handleScroll","isPop","app","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","saveScrollPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","hashStartsWithNumberRE","scrollTo","supportsPushState","pushState","NavigationFailureType","redirected","duplicated","createNavigationRedirectedError","createRouterError","stringifyRoute","createNavigationDuplicatedError","createNavigationCancelledError","createNavigationAbortedError","_isRouter","propertiesToLog","isNavigationFailure","errorType","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","records","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","bindEnterGuard","onReady","errorCb","transitionTo","onAbort","confirmTransition","updateRoute","ensureURL","afterHooks","lastRouteIndex","lastCurrentIndex","beforeHooks","enterGuards","resolveHooks","setupListeners","cleanupListener","HTML5History","_startLocation","getLocation","expectScroll","supportsScroll","handleRoutingEvent","fromRoute","getCurrentLocation","pathLowerCase","baseLowerCase","HashHistory","checkFallback","ensureSlash","getHash","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","handleInitialScroll","routeOrError","beforeEach","registerHook","beforeResolve","afterEach","getMatchedComponents","createHref","normalizedTo","VueRouter$1","START_LOCATION","CancelToken","executor","resolvePromise","getEnv","getNoWarn","RX_ARRAY_NOTATION","RX_BV_PREFIX","RX_DIGITS","RX_EXTENSION","RX_HASH","RX_HASH_ID","RX_HTML_TAGS","RX_HYPHENATE","RX_LOWER_UPPER","RX_NUMBER","RX_PLUS","RX_REGEXP_REPLACE","RX_SPACES","RX_SPACE_SPLIT","RX_STAR","RX_START_SPACE_WORD","RX_TRIM_LEFT","RX_TRIM_RIGHT","RX_UNDERSCORE","RX_UN_KEBAB","RX_DATE","RX_DATE_SPLIT","RX_TIME","RX_HREF","RX_ENCODED_COMMA","RX_ENCODE_REVERSE","RX_QUERY_START","RX_ASPECT","RX_ASPECT_SEPARATOR","RX_COL_CLASS","RX_ICON_PREFIX","RX_STRIP_LOCALE_MODS","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_DATE","PROP_TYPE_FUNCTION","PROP_TYPE_NUMBER","PROP_TYPE_OBJECT","PROP_TYPE_REG_EXP","PROP_TYPE_STRING","PROP_TYPE_ARRAY_FUNCTION","PROP_TYPE_ARRAY_OBJECT","PROP_TYPE_ARRAY_OBJECT_STRING","PROP_TYPE_ARRAY_STRING","PROP_TYPE_BOOLEAN_NUMBER","PROP_TYPE_BOOLEAN_NUMBER_STRING","PROP_TYPE_BOOLEAN_STRING","PROP_TYPE_DATE_STRING","PROP_TYPE_FUNCTION_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","PROP_TYPE_OBJECT_FUNCTION","PROP_TYPE_OBJECT_STRING","NativePromise","speciesConstructor","NON_GENERIC","real","onFinally","getRaw","mathAbs","mathCeil","mathFloor","mathPow","inheritIfRequired","NativeNumber","NumberPrototype","BROKEN_CLASSOF","third","radix","maxCode","NumberWrapper","BASE_ATTRS","focusable","STACKED_ATTRS","fontScale","shiftH","BVIconBase","hasScale","hasTransforms","hasShift","hasContent","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","TO_STRING_TAG_SUPPORT","IconsPlugin","BootstrapVueIcons","kebab","styleProp","styleList","argsKey","settle","cookies","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","unescape","Authorization","responseURL","responseHeaders","getAllResponseHeaders","responseData","onabort","ontimeout","timeoutErrorMessage","xsrfValue","onDownloadProgress","onUploadProgress","macrotask","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","task","IS_FILTER_OUT","filterOut","ignoreDuplicateOf","FormData","pipe","URLSearchParams","product","assignValue","stripBOM","NAME_ALERT","NAME_ASPECT","NAME_AVATAR","NAME_AVATAR_GROUP","NAME_BADGE","NAME_BREADCRUMB","NAME_BREADCRUMB_ITEM","NAME_BREADCRUMB_LINK","NAME_BUTTON","NAME_BUTTON_CLOSE","NAME_BUTTON_GROUP","NAME_BUTTON_TOOLBAR","NAME_CALENDAR","NAME_CARD","NAME_CARD_BODY","NAME_CARD_FOOTER","NAME_CARD_GROUP","NAME_CARD_HEADER","NAME_CARD_IMG","NAME_CARD_IMG_LAZY","NAME_CARD_SUB_TITLE","NAME_CARD_TEXT","NAME_CARD_TITLE","NAME_CAROUSEL","NAME_CAROUSEL_SLIDE","NAME_COL","NAME_COLLAPSE","NAME_CONTAINER","NAME_DROPDOWN","NAME_DROPDOWN_DIVIDER","NAME_DROPDOWN_FORM","NAME_DROPDOWN_GROUP","NAME_DROPDOWN_HEADER","NAME_DROPDOWN_ITEM","NAME_DROPDOWN_ITEM_BUTTON","NAME_DROPDOWN_TEXT","NAME_EMBED","NAME_FORM","NAME_FORM_CHECKBOX","NAME_FORM_CHECKBOX_GROUP","NAME_FORM_DATALIST","NAME_FORM_DATEPICKER","NAME_FORM_FILE","NAME_FORM_GROUP","NAME_FORM_INPUT","NAME_FORM_INVALID_FEEDBACK","NAME_FORM_RADIO","NAME_FORM_RADIO_GROUP","NAME_FORM_RATING","NAME_FORM_ROW","NAME_FORM_SELECT","NAME_FORM_SELECT_OPTION","NAME_FORM_SELECT_OPTION_GROUP","NAME_FORM_SPINBUTTON","NAME_FORM_TAG","NAME_FORM_TAGS","NAME_FORM_TEXT","NAME_FORM_TEXTAREA","NAME_FORM_TIMEPICKER","NAME_FORM_VALID_FEEDBACK","NAME_ICON","NAME_ICONSTACK","NAME_ICON_BASE","NAME_IMG","NAME_IMG_LAZY","NAME_INPUT_GROUP","NAME_INPUT_GROUP_ADDON","NAME_INPUT_GROUP_APPEND","NAME_INPUT_GROUP_PREPEND","NAME_INPUT_GROUP_TEXT","NAME_JUMBOTRON","NAME_LINK","NAME_LIST_GROUP","NAME_LIST_GROUP_ITEM","NAME_MEDIA","NAME_MEDIA_ASIDE","NAME_MEDIA_BODY","NAME_MODAL","NAME_MSG_BOX","NAME_NAV","NAME_NAVBAR","NAME_NAVBAR_BRAND","NAME_NAVBAR_NAV","NAME_NAVBAR_TOGGLE","NAME_NAV_FORM","NAME_NAV_ITEM","NAME_NAV_ITEM_DROPDOWN","NAME_NAV_TEXT","NAME_OVERLAY","NAME_PAGINATION","NAME_PAGINATION_NAV","NAME_POPOVER","NAME_PROGRESS","NAME_PROGRESS_BAR","NAME_ROW","NAME_SIDEBAR","NAME_SKELETON","NAME_SKELETON_ICON","NAME_SKELETON_IMG","NAME_SKELETON_TABLE","NAME_SKELETON_WRAPPER","NAME_SPINNER","NAME_TAB","NAME_TABLE","NAME_TABLE_CELL","NAME_TABLE_LITE","NAME_TABLE_SIMPLE","NAME_TABS","NAME_TBODY","NAME_TFOOT","NAME_TH","NAME_THEAD","NAME_TIME","NAME_TOAST","NAME_TOASTER","NAME_TOOLTIP","NAME_TR","NAME_COLLAPSE_HELPER","NAME_FORM_BUTTON_LABEL_CONTROL","NAME_FORM_RATING_STAR","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TAB_BUTTON_HELPER","NAME_TOAST_POP","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","NAME_TRANSPORTER","NAME_TRANSPORTER_TARGET","cloneDeep","_wrapNativeSuper","_isNativeFunction","_Object","_Element","_super2","SVGElement","_Element2","_super3","File","_Object2","_super4","newPromiseCapability","promiseCapability","createInstance","axios","spread","prefixPropName","unprefixPropName","suffixPropName","makeProp","requiredOrValidator","copyProps","transformFn","copied","pluckProps","keysToPluck","objToPluck","makePropConfigurable","componentKey","makePropsConfigurable","configurablePropDefaultFnName","hasPropFunction","aPossiblePrototype","CORRECT_SETTER","optionalProps","mergeDeep","readonlyDescriptor","CORRECT_PROTOTYPE_GETTER","addToUnscopables","defineIterator","ARRAY_ITERATOR","iterated","Arguments","relativeURL","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","redefineAll","setSpecies","anInstance","iterate","checkCorrectnessOfIteration","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","alreadyCalled","HAS_WINDOW_SUPPORT","HAS_DOCUMENT_SUPPORT","HAS_NAVIGATOR_SUPPORT","HAS_PROMISE_SUPPORT","HAS_MUTATION_OBSERVER_SUPPORT","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","IS_JSDOM","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","HAS_TOUCH_SUPPORT","maxTouchPoints","HAS_POINTER_EVENT_SUPPORT","PointerEvent","MSPointerEvent","HAS_INTERACTION_OBSERVER_SUPPORT","PromiseCapability","$$resolve","$$reject","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","taskDebounce","supportsMicroTasks","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","overflowX","getReferenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","findCommonOffsetParent","element1","element2","DOCUMENT_POSITION_FOLLOWING","setStart","setEnd","commonAncestorContainer","element1root","getScroll","upperSide","scrollingElement","includeScroll","getBordersSize","sideA","sideB","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","rects","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","modifiersToRun","isDestroyed","arrowStyles","positionFixed","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","setStyles","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","noRound","referenceWidth","popperWidth","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","validPlacements","BEHAVIORS","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","divider","splitRegex","mergeWithPrevious","transformProp","popperStyles","escapeWithReference","shiftvariation","shiftOffsets","subtractLength","onLoad","Popper","jquery","Utils","PopperUtils","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","kebabCase","pascalCase","startCase","$1","$2","lowerFirst","upperFirst","escapeRegExp","spaces","lowerCase"],"mappings":"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ACnBsyB,EAAqBvyB,EAASC,EAAU4D,EAAcvV,EAAQ3U,EAAQ,CAACo5C,UAAU,IAGlF1mB,EAAShvC,QAAQ4iC,KAChBtmB,EAAO,gBACP+4C,EAAmB1yB,EAASC,EAAU3R,EAAQ3U,IAGlD,IAAIq5C,EAAc,IAEf3mB,EAASC,WAAWrM,IAAaoM,EAAShvC,QAAQ4iC,MACjDtmB,EAAO,cACPA,EAAO,uBACPq5C,EAAY/oF,KAAK,WAGrB0vC,EAAO,QACc,SAAlBsmB,EAASvnD,OACRi6E,EAAwB3yB,EAASC,EAAU4D,EAAclqB,GACrD0yB,EAAS70C,SAASyoC,IAAWwyB,EAAwBzyB,EAASC,EAAUtmB,IAG3D,WAAlBsmB,EAASvnD,MAAuC,WAAlBunD,EAASvnD,MACtCs6E,EAAY/oF,KAAK,SAErB0vC,EAAO,UAAWq5C,EAAY5oF,KAAK,MAAQ,UAE3CoT,EAAI+1E,6BAA6BtzB,EAAUtmB,QAjDvCsmB,EAASjnD,SAAU,IAuDrB,KACA,SAAUlT,EAAQC,GAExBD,EAAOC,QAAU,CAEb,YACA,QACA,UACA,OACA,YACA,QACA,UACA,UACA,QACA,WACA,KACA,MACA,QACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,OACA,QACA,UACA,SACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,cACA,kBACA,kBACA,SAGA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,SACA,OACA,SACA,UACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,gBACA,sBACA,SACA,OACA,YACA,UAME,KACA,SAAUD,EAAQC,EAASkB,GAEjC,aAYA,IAAI+O,EAAY/O,EAAoB,QAKpCnB,EAAOC,QAAU,SAA0B0P,GACvC,IAAIspB,EAAStpB,EAAMspB,OACf0rF,EAAU1rF,EAAO41D,SAAW,EAC5B+1B,EAAU3rF,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D,YAAa3S,EAAoB,QACjC4S,aAAc5S,EAAoB,QAClC41B,YAAY,EAEZxjB,WAAY,QACZ9R,KAAM,UACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CACR,YAAa,MAAO,UAAW,cAAe,aAAc,eAC5D,aAEJC,KAAM,KAQJ,OACA,SAAU1T,EAAQC,GAExBD,EAAOC,QAAU,CAEf,MACE,OACA,MACA,MACA,OACA,OACA,OACA,QACA,MACA,QACA,OACA,OACA,UACA,WACA,MACA,QACA,MACA,OACA,cACA,QACA,QACA,eACA,2BACA,sBACA,kBACA,wBACA,eACA,gBACA,WACA,gBACA,0BACA,eACA,eACA,eACA,eACA,SACA,cACA,kBACA,mBACA,eACA,eACA,cACA,eACA,kBACA,gBACA,iBACA,4BACA,uBACA,mBACA,yBACA,gBACA,0BACA,wBACA,mBACA,iBACA,2BACA,wBACA,mBACA,kCACA,oBACA,kCACA,eACA,sBACA,0BACA,qBACA,sBACA,sBACA,gCACA,gCACA,qBACA,4BACA,qCACA,8BACA,+BACA,sCACA,+CACA,wCACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,YACA,kBACA,iBACA,kBACA,kBACA,kBACA,kBACA,WACA,gBACA,qBACA,eACA,cACA,sBACA,6BACA,sCACA,+BACA,oBACA,cACA,qBACA,mBACA,0BACA,mCACA,4BACA,YACA,cACA,mBACA,cACA,SACA,WACA,gBACA,MACA,OACA,iBACA,MACA,MACA,MACA,MACA,YACA,MACA,WACA,MACA,UACA,UACA,UACA,OACA,MACA,aACA,OACA,OACA,MACA,YACA,eACA,gBACA,mBACA,cACA,iBACA,kBACA,sBACA,oBACA,mBACA,uBACA,uBAME,OACA,SAAUD,EAAQC,EAASkB,GAEjC,aAGA,IAAIu2H,EAAUv2H,EAAoB,QAG9B2nR,EAAgB,CAAE,QAAU,EAAM,UAAY,EAAM,WAAa,GAErE9oR,EAAOC,QAAU,SAAUkC,GAC1B,QAAKu1H,EAAQv1H,IACNY,eAAevC,KAAKsoR,SAAsB3mR,KA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AO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KACrI,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAEjD,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACrI,QAME,OACA,SAAUxyW,EAAQC,GAcxB,SAAS0/B,EAAY3e,EAAK6hB,EAAML,EAAQowU,EAAMC,GAC1C,IAAI1pU,EAAI,EAAMriC,KAAK6uE,IAAI9yC,EAAO,GAC1BgzH,EAAK,GAAK+8M,EAAOC,GAiBrB,OAhBA7xV,EAAI,GAAKmoB,EAAI3G,EACbxhB,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAKmoB,EACTnoB,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,KAAO6xV,EAAMD,GAAQ/8M,EACzB70I,EAAI,KAAO,EACXA,EAAI,IAAM,EACVA,EAAI,IAAM,EACVA,EAAI,IAAO,EAAI6xV,EAAMD,EAAQ/8M,EAC7B70I,EAAI,IAAM,EACHA,EA/BXhhB,EAAOC,QAAU0/B,GAoCX,OACA,SAAU3/B,EAAQC,GAaxB,SAAS21G,EAAM50F,EAAKvgB,EAAGC,EAAG0B,GACxB,IAAI6kB,EAAKxmB,EAAE,GACTgsG,EAAKhsG,EAAE,GACPmxH,EAAKnxH,EAAE,GACPs9O,EAAKt9O,EAAE,GAKT,OAJAugB,EAAI,GAAKiG,EAAK7kB,GAAK1B,EAAE,GAAKumB,GAC1BjG,EAAI,GAAKyrF,EAAKrqG,GAAK1B,EAAE,GAAK+rG,GAC1BzrF,EAAI,GAAK4wG,EAAKxvH,GAAK1B,EAAE,GAAKkxH,GAC1B5wG,EAAI,GAAK+8N,EAAK37O,GAAK1B,EAAE,GAAKq9O,GACnB/8N,EApBThhB,EAAOC,QAAU21G,GA0BX,OACA,SAAU51G,EAAQC,EAASkB,GAEjC,IAAIivP,EAAyBjvP,EAAoB,QAIjDnB,EAAOC,QAAU,SAAUwvP,GACzB,OAAO7tP,OAAOwuP,EAAuBX,MAMjC,OACA,SAAUzvP,EAAQC,EAASkB,GAEjC,aAOAnB,EAAOC,QAAU,SAAqBw+B,EAAKirF,EAAMopP,GAC3C9tW,MAAM0J,QAAQokW,KAAUA,EAAU,GAAGxtW,MAAM9E,KAAKK,UAAW,IAEhE,IAAK,IAAIQ,EAAI,EAAGC,EAAIwxW,EAAQxyW,OAAQe,EAAIC,EAAGD,IAAK,CAC/C,IAAI0xW,EAAOD,EAAQzxW,GACnB,IAAK,IAAI8jH,KAAQ4tP,EAChB,SAAmBxyW,IAAfmpH,EAAKvE,IAAwBngH,MAAM0J,QAAQg7G,EAAKvE,KAAU1mF,EAAI0mF,KAAUuE,EAAKvE,KAE7EA,KAAQuE,EAAM,CACjB,IAAIl/G,EAEJ,IAAmB,IAAfuoW,EAAK5tP,GAAgB36G,EAASk/G,EAAKvE,OAClC,KAAmB,IAAf4tP,EAAK5tP,GAAiB,SAC1B,GAA0B,oBAAf4tP,EAAK5tP,KACpB36G,EAASuoW,EAAK5tP,GAAMuE,EAAKvE,GAAO1mF,EAAKirF,QACtBnpH,IAAXiK,GAAsB,SAG3Bi0B,EAAI0mF,GAAQ36G,GAKf,OAAOi0B,IAMF,OACA,SAAUz+B,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACb+yW,iBAAkB,CACd3uV,QAAS,YAETK,SAAU,QAGduuV,qBAAsB,CAClB5uV,QAAS,UACTC,MAAM,EAENI,SAAU,UAQZ,OACA,SAAU1kB,EAAQC,GAWxB,SAASmhE,EAAK3gE,EAAGC,GACf,OAAOD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAV5DV,EAAOC,QAAUmhE,GAgBX,OACA,SAAUphE,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUizW,EAEjB,IAAIt4B,EAAWz5U,EAAoB,QAC/BgyW,EAAehyW,EAAoB,QAEvC,SAAS+xW,EAAannS,EAAO7mE,GAC3B,OAAO01U,EAAS11U,GAAQJ,QAAO,SAAShB,GAEtC,IADA,IAAI66P,EAAU,IAAI35P,MAAMlB,EAAKxD,QACrBe,EAAE,EAAGA,EAAEyC,EAAKxD,SAAUe,EAC5Bs9P,EAAQt9P,GAAK6D,EAAOpB,EAAKzC,IAE3B,OAAO8xW,EAAax0G,GAAW5yL,EAAQ,OAMrC,OACA,SAAU/rE,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkB,EAAoB,OAApBA,GAAgCS,OAAO8mD,KAAOvnD,EAAoB,SAK7E,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI2xR,EAAW3xR,EAAoB,QAC/B8iB,EAAa9iB,EAAoB,QAAQ8iB,WAE7CjkB,EAAOC,QAAU,CACbiV,EAAG49Q,EAAS59Q,EACZ3F,EAAGujR,EAASvjR,EACZyoB,GAAI86P,EAAS96P,GACbK,GAAIy6P,EAASz6P,GACb52B,KAAMwiB,EAAW,GAAI6uQ,EAASrxR,KAAM,IAGpCsH,YAAakb,EAAW,GAAI6uQ,EAAS/pR,YAAa,IAIlD0sD,UAAW,CACPpxC,QAAS,SACTnb,IAAK,EAELwb,SAAU,QAId0uV,WAAY,CACR/uV,QAAS,SAETC,KAAM,GACNI,SAAU,QAGd2uV,UAAW,CACPhvV,QAAS,aACT2V,OAAQ,CAAC,QAAS,SAClB1V,KAAM,QAENI,SAAU,QAId4uV,SAAU,CACNjvV,QAAS,aACT2V,OAAQ,CAAC,OAAQ,OAAQ,UACzB1V,KAAM,OAENI,SAAU,QAGduI,KAAM,CACF5I,QAAS,aACTg2G,MAAO,CACH,CAACh2G,QAAS,MAAOK,SAAU,QAC3B,CAACL,QAAS,MAAOK,SAAU,SAG/BA,SAAU,QAIdwU,KAAM,CACF9sB,MAAO,CACHiY,QAAS,QAETK,SAAU,SAGdrC,MAAO,CACHgC,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNI,SAAU,SAGdA,SAAU,QAEdgqE,UAAWokM,EAASpkM,UAEpBxpF,OAAQ+e,EAAW,GAAI6uQ,EAAShnJ,UAAW,IAG3CC,OAAQ9nH,EAAW,GAAI6uQ,EAAS/mJ,OAAQ,IAGxCC,SAAU/nH,EAAW,GAAI6uQ,EAAS9mJ,SAAU,IAI5C3pH,MAAO4B,EAAW,GAAI6uQ,EAASzwQ,MAAO,IAItC4W,OAAQ65P,EAAS75P,OACjB7oB,KAAM0iR,EAAS1iR,KACfiV,UAAWytQ,EAASztQ,UACpBC,cAAewtQ,EAASxtQ,cAExBg6I,IAAK,CACDpsJ,QAAS,CACLmR,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdrC,MAAO,CACHgC,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,IAENI,SAAU,QAGdgqE,UAAW,CACPrqE,QAAS,QAETK,SAAU,SAGdwU,KAAM,CACF9sB,MAAO,CACHiY,QAAS,QAETK,SAAU,SAGdrC,MAAO,CACHgC,QAAS,SACTnb,IAAK,EAELwb,SAAU,SAGdA,SAAU,SAEdA,SAAU,QAGdq6N,SAAU,CACN7rO,QAAS,CACLmR,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdtY,MAAO,CACHiY,QAAS,QAETK,SAAU,SAGdrC,MAAO,CACHgC,QAAS,SACTnb,IAAK,EAELwb,SAAU,SAGdA,SAAU,QAGdmgC,KAAM,CACFxgC,QAAS,aACT2V,OAAQ,CAAC,OAAQ,WAAY,YAC7B1V,KAAM,OAENI,SAAU,QAIdonE,YAAagnM,EAAShnM,YACtBrH,eAAgBquM,EAASruM,eAEzBnrD,SAAUw5P,EAASx5P,SACnB01D,WAAY8jM,EAAS9jM,WAErB3B,QAAS,CACLhpE,QAAS,WACT8S,MAAO,CAAC,UAAW,SAAU,OAC7B7S,KAAM,qBACN2mE,OAAQ,CAAC,OAETvmE,SAAU,WAQZ,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBq3B,EAAUr3B,EAAoB,QAC9BuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QAEnCiwL,EAAUjwL,EAAoB,QAC9BkmQ,EAAkBj2E,EAAQi2E,gBAC1BC,EAAcnmQ,EAAoB,QAClComQ,EAAoBD,EAAYC,kBAChCl2E,EAAmBi2E,EAAYj2E,iBAC/BqkH,EAAav0S,EAAoB,QACjCoyW,EAAUpyW,EAAoB,QAE9BwxI,EAAmB4gO,EAAQ5gO,iBAC3B6gO,EAA0BD,EAAQC,wBAElCC,EAAcF,EAAQE,YACtBC,EAAkBH,EAAQG,gBAC1BC,EAAuBJ,EAAQI,qBAC/BC,EAAmBL,EAAQK,iBAmJ/B,SAAS16U,EAAKz4B,EAAGC,GACb,IAAIm5B,EAAKn5B,EAAE,GAAKD,EAAE,GACdoqB,EAAKnqB,EAAE,GAAKD,EAAE,GAElB,MAAO,IAAMo5B,EAAK,IAAMhP,EAG5B,SAASgpV,EAAWpzW,EAAGC,GACnB,MAAO,CACH,IAAOD,EAAE,GAAKC,EAAE,IAChB,IAAOD,EAAE,GAAKC,EAAE,KAIxB,SAASozW,EAAU5yV,GACf,GAAIA,EAAG5gB,OAAP,CAEA,IAAIqwC,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MAEZk0B,EAAcl0B,EAAMk0B,YAEpBsuB,EAAIxiD,EAAMokW,UACX5hT,EAAI,OAAOA,EAAI,MAClB,IAqBInvD,EAIA3B,EAAG+f,EAzBH4yV,EAAKltW,KAAKw5B,IAAI6xB,EAAG,GAEjBuH,EAAK/oB,EAAIq7G,OACTvyF,EAAKC,EAAKs6S,GAAM,EAAIA,GAEpBC,EAAcv6S,EACdw6S,EAAWz6S,EAAKC,EAgBhBy6S,EAAY,GAIhB,IAHAA,EAAUhwW,KAAKiwW,KAGX/yW,EAAI6f,EAAG5gB,OAAS,EAAGe,GAAK,EAAGA,IAE3B,GADA+f,EAAMF,EAAG7f,IACN+f,EAAIizV,OAAP,CAEA,IAAIrqU,EAAO5oB,EAAIvb,EAAIouW,EACnBC,GAAYlqU,EAEZmqU,EAAUhwW,KAAKiwW,KAGnB,IAAIj9P,EAAO7rG,IACPgsG,GAAQhsG,IACZ,IAAIjK,EAAI,EAAGA,EAAI8yW,EAAU7zW,OAAQe,IAC7B2B,EAAImxW,EAAU9yW,GACd81G,EAAOrwG,KAAKoC,IAAIiuG,EAAMn0G,EAAE,IACxBs0G,EAAOxwG,KAAKqC,IAAImuG,EAAMt0G,EAAE,IAI5B,IAAI3B,EAAI,EAAGA,EAAI8yW,EAAU7zW,OAAQe,IAC7B8yW,EAAU9yW,GAAG,KAAOi2G,EAAOH,GAAQ,EAGvC,IAAIm9P,EAAQH,EAAUA,EAAU7zW,OAAS,GAAG,GAGxC0B,EAAI2uC,EAAI3uC,EAERuyW,GAAMj9P,EAAOH,GAAQ,EACrB+iE,EAASl4K,EAAIsyW,EACbn6L,EAASn4K,EAAIuyW,EAAK1wU,EAMtB,IAHA8M,EAAI3uC,EAAIm4K,EAASo6L,EAGblzW,EAAI,EAAGA,EAAI8yW,EAAU7zW,OAAQe,IAC7B8yW,EAAU9yW,GAAG,IAAM64K,EACnBi6L,EAAU9yW,GAAG,IAAM84K,EAIvBn3K,EAAImxW,EAAU,GACd,IAAIK,EAAW,EAAExxW,EAAE,GAAIA,EAAE,IACrByxW,EAAY,CAACzxW,EAAE,GAAIA,EAAE,IAErBL,EAAI,EACR,IAAItB,EAAI6f,EAAG5gB,OAAS,EAAGe,GAAK,EAAGA,IAE3B,GADA+f,EAAMF,EAAG7f,IACN+f,EAAIizV,OAAP,CAEA1xW,GAAK,EACL,IAAI4M,EAAI4kW,EAAUxxW,GAAG,GACjBuS,EAAIi/V,EAAUxxW,GAAG,GAErBye,EAAIszV,GAAK,EAAEnlW,EAAG2F,GACdkM,EAAIuzV,GAAK,CAACplW,EAAG2F,GAEbkM,EAAIwzV,GAAKJ,EACTpzV,EAAIyzV,GAAKJ,EAETrzV,EAAIo1R,MAAQq9D,EAAWzyV,EAAIuzV,GAAIvzV,EAAIyzV,IAEnCL,EAAWpzV,EAAIszV,GACfD,EAAYrzV,EAAIuzV,IAlFpB,SAASG,IACL,IAAI5rS,EAAIpiE,KAAKuD,KAAK6pW,GAClB,MAAO,CACH3kW,EAAG25D,EACHh0D,GAAIg0D,GAIZ,SAASkrS,IACL,IAAIngU,EAAM6gU,IACV,MAAO,CAAC7gU,EAAI1kC,EAAG0kC,EAAI/+B,IA3L3BlV,EAAOC,QAAU,SAAcyP,EAAI6hL,GAC/B,IAAIzqK,EAAapX,EAAGymB,YAEpBk7J,EAAiB,aAAcvqK,GAE/B4sV,EAAgBniL,EAAU7hL,GAC1B+jW,EAAYliL,EAAUzqK,EAAWguC,OAEjCp9C,EAAIsoE,gBAAgBl5D,EAAWiuV,iBAAkBxjL,EAAU,SAASxgL,MAAK,SAASmQ,GAC9E,IAAIg/D,EAAYjwE,EAAGO,OAAO7M,MACtBgtC,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MAEhBmkW,EAAU5yV,GAEVg/D,EAAUnvE,MAAK,WACX,IAAI8hI,EAAS5iI,EAAGO,OAAO7M,MAAM8M,UAAU,WAAWnE,KAAK4U,GAEvD2xH,EAAOniI,QAAQC,OAAO,KACjBC,QAAQ,SAAS,GACtBiiI,EAAOhvF,OAAOjyC,SAEdihI,EAAO9hI,MAAK,SAASkQ,EAAI5f,GACrB,GAAG4f,EAAGozV,OACFpkW,EAAGO,OAAO7M,MAAM8M,UAAU,UAAUmB,aADxC,CAMAqP,EAAGE,YAAcF,EAAG5f,EACpB4f,EAAGipN,YAAcv6N,EAAM5L,MAEvB,IAAIkyE,EAAKtlC,EAAIslC,GACTC,EAAKvlC,EAAIulC,GACTk+D,EAAWnkI,EAAGO,OAAO7M,MACrBgxI,EAAYP,EAAS3jI,UAAU,gBAAgBnE,KAAK,CAAC2U,IAEzD0zH,EAAUjkI,QAAQC,OAAO,QACpBC,QAAQ,WAAW,GACnBE,MAAM,CAAC,iBAAkB,QAE9BsjI,EAAS5zI,KAAKmyI,EAAkBjjI,EAAIwR,GAEpC,IAAIqhB,EACA,KAAO0zC,EAAKh1D,EAAG0zV,GAAG,IAAM,KAAOz+R,EAAKj1D,EAAG0zV,GAAG,IAC1Cz7U,EAAKjY,EAAG0zV,GAAI1zV,EAAG4zV,IACf37U,EAAKjY,EAAG4zV,GAAI5zV,EAAG2zV,IACf17U,EAAKjY,EAAG2zV,GAAI3zV,EAAGyzV,IACf,IAEJ//N,EAAU/rH,KAAK,IAAK2Z,GAGpBqxU,EAAiBlkW,EAAIuR,EAAI0vB,GACzB,IAAIqkU,EAAet/D,EAAWl6B,WAAW7rQ,EAAMw7E,aAAclqE,EAAGiwB,KAC5DmkG,EAAiBjB,EAAS3jI,UAAU,eACnCnE,KAAK2U,EAAG7Q,MAA0B,SAAjB4kW,EAA2B,CAAC,GAAK,IAEvD3/N,EAAe3kI,QAAQC,OAAO,KACzBC,QAAQ,aAAa,GAC1BykI,EAAexxF,OAAOjyC,SAEtByjI,EAAetkI,MAAK,WAChB,IAAIukI,EAAY59H,EAAIiuG,aAAa11G,EAAGO,OAAO7M,MAAO,OAAQ,IAAI,SAASV,GAGnEA,EAAE2lB,KAAK,aAAc,MAGrBzG,EAAOzK,EAAI69H,sBAAsB7lI,EAAI8jW,EAAwB7jW,EAAOsR,EAAI6F,EAAW3E,OAEvFmzH,EAAUllI,KAAK6Q,EAAG7Q,MACbwY,KAAK,CACF,MAAS,YACTkC,UAAW,GACX,cAAe,WAElBtqB,KAAKg4B,EAAQrW,KAAMA,GACnB3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAGxC,IACIob,EAEAkN,EAAIC,EAHJw9G,EAASj9G,EAAQ+qB,KAAK+xF,EAAUjtH,QAIhCgQ,EAAKvxB,KAAKoC,IAAI+X,EAAG2zV,GAAG,GAAI3zV,EAAG4zV,GAAG,IAAM3+R,EACpC59C,EAAKxxB,KAAKqC,IAAI8X,EAAGyzV,GAAG,GAAIzzV,EAAG0zV,GAAG,IAAMz+R,EAExCl+C,EAAKlxB,KAAKqC,IAAI8X,EAAGyzV,GAAG,GAAIzzV,EAAG2zV,GAAG,IAAM3+R,EACpCh+C,EAAKnxB,KAAKoC,IAAI+X,EAAG0zV,GAAG,GAAI1zV,EAAG4zV,GAAG,IAAM5+R,EAEpCnrD,EAAYu8O,EAAgBrvO,EAAIC,EAAII,EAAIC,EAAIm9G,EAAQ,CAChDg8C,cAAc,EACd85E,aAAa,EACbj6M,MAAO,EACPT,OAAQ,WAGZ/lC,EAAU5I,SAAWC,EAAKyC,KAC1B2iP,EAAkB53P,EAAM0E,KAAMyW,EAAWhE,GACzC5F,EAAG7f,GAAGypB,UAAYA,EAElBwqH,EAAU1sH,KAAK,YAAalR,EAAIq0P,iBAAiBjhP,WAKzD,IAAImqV,EAAiBhlW,EAAGO,OAAO7M,MAAM8M,UAAU,eAC1CnE,KAAKqD,EAAMy0C,MAAMh0C,KAAO,CAAC,GAAK,IAEnC6kW,EAAevkW,QAAQC,OAAO,KACzBC,QAAQ,aAAa,GAC1BqkW,EAAepxT,OAAOjyC,SAEtBqjW,EAAelkW,MAAK,WAChB,IAAIulN,EAAY5+M,EAAIiuG,aAAa11G,EAAGO,OAAO7M,MAAO,OAAQ,IAAI,SAASV,GAEnEA,EAAE2lB,KAAK,aAAc,MAGrB28F,EAAM51G,EAAMy0C,MAAMh0C,KACnBT,EAAMojF,QACLwyB,EAAM7tG,EAAI+tG,eAAeF,EAAK51G,EAAMojF,QAGxCujI,EAAUlmN,KAAKm1G,GACV38F,KAAK,CACF,MAAS,YACTkC,UAAW,GACX,cAAe,WAEtBtqB,KAAKg4B,EAAQrW,KAAMxS,EAAMy0C,MAAMjiC,MAC/B3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAEpC,IAAIob,EAAY6oV,EAAqBhjU,EAAK7pB,EAAWguC,OAErDwhK,EAAU1tM,KAAK,YACX,aAAekC,EAAUvb,EAAI,IAAMub,EAAU5V,EAAI,KAChD4V,EAAUs7C,MAAQ,EAAK,SAAWt7C,EAAUs7C,MAAQ,IAAO,IAC5D,aAAet7C,EAAU82B,GAAK,IAAM92B,EAAU+tP,GAAK,gBA+HjE,OACA,SAAU74Q,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkB,EAAoB,OAApBA,GAAgC+zW,WAAa/zW,EAAoB,SAK5E,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUk1W,EAEjB,IAAIlgL,EAAqB,GAErBzrJ,EAAOroC,EAAoB,QAE/B,SAASg0W,EAAgBnyW,GACvB,IAAIL,EAAIK,EAAE1C,OACV,GAAGqC,EAAIsyL,EAAoB,CAGzB,IADA,IAAI5jI,EAAM,EACFhwD,EAAE,EAAGA,EAAEsB,IAAKtB,EAClB,IAAI,IAAIsE,EAAE,EAAGA,EAAEtE,IAAKsE,EAClB,GAAG3C,EAAE3B,GAAK2B,EAAE2C,GACV0rD,GAAOA,OACF,GAAGruD,EAAE3B,KAAO2B,EAAE2C,GACnB,OAAO,EAIb,OAAO0rD,EAGP,IAAI+jT,EAAU5rU,EAAK41F,YAAYz8H,GAC/B,IAAQtB,EAAE,EAAGA,EAAEsB,IAAKtB,EAClB+zW,EAAQ/zW,GAAK,EAGf,IADIgwD,EAAM,EACFhwD,EAAE,EAAGA,EAAEsB,IAAKtB,EAClB,IAAI+zW,EAAQ/zW,GAAI,CACd,IAAIsqE,EAAQ,EACZypS,EAAQ/zW,GAAK,EACb,IAAQsE,EAAE3C,EAAE3B,GAAIsE,IAAItE,EAAGsE,EAAE3C,EAAE2C,GAAI,CAC7B,GAAGyvW,EAAQzvW,GAET,OADA6jC,EAAK+1F,UAAU61O,GACR,EAETzpS,GAAS,EACTypS,EAAQzvW,GAAK,EAEF,EAARgmE,IACHta,GAAOA,GAKb,OADA7nB,EAAK+1F,UAAU61O,GACR/jT,IAML,OACA,SAAUrxD,EAAQC,GAGxB,IAAI+iP,EAAIl8O,KAAKg8B,GACTuyU,EAAOnyH,EAAQ,KAYnB,SAAS1uO,EAAU0vC,GAalB,IAXA,IAAIj9C,EACAuD,EAAS,GACT8qW,EAAU,EACVC,EAAU,EACVz6P,EAAS,EACTC,EAAS,EACTy6P,EAAQ,KACRC,EAAQ,KACRlmW,EAAI,EACJ2F,EAAI,EAEC7T,EAAI,EAAGktB,EAAM21B,EAAK5jD,OAAQe,EAAIktB,EAAKltB,IAAK,CAChD,IAAI07O,EAAM74L,EAAK7iD,GACX62F,EAAU6kJ,EAAI,GAClB,OAAQ7kJ,GACP,IAAK,IACJ4iB,EAASiiI,EAAI,GACbhiI,EAASgiI,EAAI,GACb,MACD,IAAK,IACJA,EAAMptH,EAAIpgH,EAAG2F,EAAE6nO,EAAI,GAAGA,EAAI,GAAGmG,EAAQnG,EAAI,IAAIA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAEtEA,EAAIhuO,QAAQ,KACRguO,EAAIz8O,OAAS,IAChBkK,EAAOrG,KAAK44O,EAAIprO,OAAO,EAAG,IAC1BorO,EAAIhuO,QAAQ,MAEb,MACD,IAAK,IAEJ,IAAIknE,EAAK1mE,EACL2mE,EAAKhhE,EACG,KAARjO,GAAuB,KAARA,IAClBgvE,GAAMA,EAAKq/R,EACXp/R,GAAMA,EAAKq/R,GAEZx4H,EAAM,CAAC,IAAK9mK,EAAIC,EAAI6mK,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAChD,MACD,IAAK,IACQ,KAAR91O,GAAuB,KAARA,GAClBuuW,EAAY,EAAJjmW,EAAQimW,EAChBC,EAAY,EAAJvgW,EAAQugW,IAEhBD,EAAQjmW,EACRkmW,EAAQvgW,GAET6nO,EAAM24H,EAAUnmW,EAAG2F,EAAGsgW,EAAOC,EAAO14H,EAAI,GAAIA,EAAI,IAChD,MACD,IAAK,IACJy4H,EAAQz4H,EAAI,GACZ04H,EAAQ14H,EAAI,GACZA,EAAM24H,EAAUnmW,EAAG2F,EAAG6nO,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAClD,MACD,IAAK,IACJA,EAAM7jN,EAAK3pB,EAAG2F,EAAG6nO,EAAI,GAAIA,EAAI,IAC7B,MACD,IAAK,IACJA,EAAM7jN,EAAK3pB,EAAG2F,EAAG6nO,EAAI,GAAI7nO,GACzB,MACD,IAAK,IACJ6nO,EAAM7jN,EAAK3pB,EAAG2F,EAAG3F,EAAGwtO,EAAI,IACxB,MACD,IAAK,IACJA,EAAM7jN,EAAK3pB,EAAG2F,EAAG4lG,EAAQC,GACzB,MAIF9zG,EAAOixF,EACP3oF,EAAIwtO,EAAIA,EAAIz8O,OAAS,GACrB4U,EAAI6nO,EAAIA,EAAIz8O,OAAS,GACjBy8O,EAAIz8O,OAAS,GAChBg1W,EAAUv4H,EAAIA,EAAIz8O,OAAS,GAC3Bi1W,EAAUx4H,EAAIA,EAAIz8O,OAAS,KAE3Bg1W,EAAU/lW,EACVgmW,EAAUrgW,GAEX1K,EAAOrG,KAAK44O,GAGb,OAAOvyO,EAGR,SAAS0uB,EAAKjB,EAAIK,EAAI2nB,EAAIgpB,GACzB,MAAO,CAAC,IAAKhxC,EAAIK,EAAI2nB,EAAIgpB,EAAIhpB,EAAIgpB,GAGlC,SAASysS,EAAUz9U,EAAIK,EAAI29C,EAAIC,EAAIj2B,EAAIgpB,GACtC,MAAO,CACN,IACAhxC,EAAG,EAAK,EAAE,EAAKg+C,EACf39C,EAAG,EAAK,EAAE,EAAK49C,EACfj2B,EAAG,EAAK,EAAE,EAAKg2B,EACfhN,EAAG,EAAK,EAAE,EAAKiN,EACfj2B,EACAgpB,GASF,SAAS0mD,EAAI13F,EAAIK,EAAI48C,EAAIC,EAAI7jB,EAAOqkT,EAAgBC,EAAY31T,EAAIgpB,EAAI4sS,GACvE,GAAKA,EAgCJ7vG,EAAK6vG,EAAU,GACf5vG,EAAK4vG,EAAU,GACf5/R,EAAK4/R,EAAU,GACf3/R,EAAK2/R,EAAU,OAnCA,CACf,IAAI3+O,EAAK7hH,EAAO4iB,EAAIK,GAAKg5B,GACzBr5B,EAAKi/F,EAAG3nH,EACR+oB,EAAK4+F,EAAGhiH,EACRgiH,EAAK7hH,EAAO4qC,EAAIgpB,GAAK3X,GACrBrR,EAAKi3E,EAAG3nH,EACR05D,EAAKiuD,EAAGhiH,EACR,IAAI3F,GAAK0oB,EAAKgoB,GAAM,EAChB/qC,GAAKojB,EAAK2wC,GAAM,EAChB9W,EAAK5iD,EAAIA,GAAM2lE,EAAKA,GAAOhgE,EAAIA,GAAMigE,EAAKA,GAC1ChjB,EAAI,IACPA,EAAIrrD,KAAKuD,KAAK8nD,GACd+iB,GAAK/iB,EACLgjB,GAAKhjB,GAEN,IAAI2jT,EAAM5gS,EAAKA,EACX6gS,EAAM5gS,EAAKA,EACXrvE,GAAK6vW,GAAkBC,GAAc,EAAI,GAC1C9uW,KAAKuD,KAAKvD,KAAK+R,KAAKi9V,EAAMC,EAAMD,EAAM5gW,EAAIA,EAAI6gW,EAAMxmW,EAAIA,IAAMumW,EAAM5gW,EAAIA,EAAI6gW,EAAMxmW,EAAIA,KACrFzJ,GAAKwF,MAAUxF,EAAI,GACvB,IAAImwE,EAAKnwE,EAAIovE,EAAKhgE,EAAIigE,GAAMl9C,EAAKgoB,GAAM,EACnCi2B,EAAKpwE,GAAKqvE,EAAK5lE,EAAI2lE,GAAM58C,EAAK2wC,GAAM,EACpC+8L,EAAKl/P,KAAKu8O,OAAO/qN,EAAK49C,GAAMf,GAAI4gN,QAAQ,IACxC9vB,EAAKn/P,KAAKu8O,OAAOp6K,EAAKiN,GAAMf,GAAI4gN,QAAQ,IAE5C/vB,EAAK/tO,EAAKg+C,EAAK+sK,EAAIgjB,EAAKA,EACxBC,EAAKhmN,EAAKg2B,EAAK+sK,EAAIijB,EAAKA,EACpBD,EAAK,IAAGA,EAAS,EAAJhjB,EAAQgjB,GACrBC,EAAK,IAAGA,EAAS,EAAJjjB,EAAQijB,GACrB2vG,GAAc5vG,EAAKC,IAAID,GAAc,EAAJhjB,IAChC4yH,GAAc3vG,EAAKD,IAAIC,GAAc,EAAJjjB,GAQvC,GAAIl8O,KAAK+R,IAAIotP,EAAKD,GAAMqvG,EAAM,CAC7B,IAAIW,EAAQ/vG,EACRgwG,EAAQh2T,EACRi2T,EAAQjtS,EACZg9L,EAAKD,EAAKqvG,GAAQO,GAAc3vG,EAAKD,EAAK,GAAK,GAC/C/lN,EAAKg2B,EAAKf,EAAKpuE,KAAK6qD,IAAIs0M,GACxBh9L,EAAKiN,EAAKf,EAAKruE,KAAK8qD,IAAIq0M,GACxB,IAAIzjJ,EAAMmN,EAAI1vE,EAAIgpB,EAAIiM,EAAIC,EAAI7jB,EAAO,EAAGskT,EAAYK,EAAOC,EAAO,CAACjwG,EAAI+vG,EAAO//R,EAAIC,IAEnF,IAAI9zE,EAAI0E,KAAK6uE,KAAKswL,EAAKD,GAAM,GACzBzD,EAAK,EAAI,EAAIrtL,EAAK9yE,EAClBogQ,EAAK,EAAI,EAAIrtL,EAAK/yE,EAClB01E,EAAQ,CACX,EAAI7/C,GAAMA,EAAKsqO,EAAKz7P,KAAK8qD,IAAIo0M,IAC7B,EAAI1tO,GAAMA,EAAKkqO,EAAK17P,KAAK6qD,IAAIq0M,IAC7B/lN,EAAKsiN,EAAKz7P,KAAK8qD,IAAIq0M,GACnBh9L,EAAKu5L,EAAK17P,KAAK6qD,IAAIs0M,GACnBhmN,EACAgpB,GAED,GAAI4sS,EAAW,OAAO/9R,EAClB0qC,IAAK1qC,EAAQA,EAAMhvE,OAAO05G,IAC9B,IAAK,IAAInhH,EAAI,EAAGA,EAAIy2E,EAAMx3E,QAAS,CAClC,IAAI68Q,EAAM9nQ,EAAOyiE,EAAMz2E,GAAIy2E,EAAMz2E,EAAE,GAAIiwD,GACvCwmB,EAAMz2E,KAAO87Q,EAAI5tQ,EACjBuoE,EAAMz2E,KAAO87Q,EAAIjoQ,EAElB,OAAO4iE,EAGR,SAASziE,EAAO9F,EAAG2F,EAAGw8C,GACrB,MAAO,CACNniD,EAAGA,EAAIzI,KAAK6qD,IAAID,GAAOx8C,EAAIpO,KAAK8qD,IAAIF,GACpCx8C,EAAG3F,EAAIzI,KAAK8qD,IAAIF,GAAOx8C,EAAIpO,KAAK6qD,IAAID,IAItC,SAASwxL,EAAQizH,GAChB,OAAOA,GAAWnzH,EAAI,KAlMvBhjP,EAAOC,QAAUuU,GAwMX,OACA,SAAUxU,EAAQC,EAASkB,GAEjC,IAmDIi1W,EAnDA53K,EAAWr9L,EAAoB,QAC/B21D,EAAmB31D,EAAoB,QACvC2lJ,EAAc3lJ,EAAoB,QAClC4lJ,EAAa5lJ,EAAoB,QACjC+P,EAAO/P,EAAoB,QAC3Bk1W,EAAwBl1W,EAAoB,QAC5Cq3S,EAAYr3S,EAAoB,QAEhCm1W,EAAK,IACLC,EAAK,IACLC,EAAY,YACZC,EAAS,SACTC,EAAWl+D,EAAU,YAErBm+D,EAAmB,aAEnBC,EAAY,SAAU/6M,GACxB,OAAO06M,EAAKE,EAASH,EAAKz6M,EAAU06M,EAAK,IAAME,EAASH,GAItDO,EAA4B,SAAUT,GACxCA,EAAgBU,MAAMF,EAAU,KAChCR,EAAgBvgJ,QAChB,IAAI51I,EAAOm2R,EAAgBW,aAAan1W,OAExC,OADAw0W,EAAkB,KACXn2R,GAIL+2R,EAA2B,WAE7B,IAEIC,EAFAC,EAASb,EAAsB,UAC/Bc,EAAK,OAASV,EAAS,IAU3B,OARAS,EAAOpmW,MAAMgmM,QAAU,OACvB5lM,EAAK6Y,YAAYmtV,GAEjBA,EAAOx2V,IAAMxgB,OAAOi3W,GACpBF,EAAiBC,EAAOE,cAAc71V,SACtC01V,EAAevhJ,OACfuhJ,EAAeH,MAAMF,EAAU,sBAC/BK,EAAephJ,QACRohJ,EAAet0I,GASpB00I,EAAkB,WACpB,IAEEjB,EAAkB70V,SAASuvC,QAAU,IAAIwmT,cAAc,YACvD,MAAOv4V,IACTs4V,EAAkBjB,EAAkBS,EAA0BT,GAAmBY,IACjF,IAAI12W,EAASwmJ,EAAYxmJ,OACzB,MAAOA,WAAiB+2W,EAAgBb,GAAW1vN,EAAYxmJ,IAC/D,OAAO+2W,KAGTtwN,EAAW2vN,IAAY,EAIvB12W,EAAOC,QAAU2B,OAAOY,QAAU,SAAgBu2D,EAAG2lI,GACnD,IAAIl0L,EAQJ,OAPU,OAANuuD,GACF49S,EAAiBH,GAAah4K,EAASzlI,GACvCvuD,EAAS,IAAImsW,EACbA,EAAiBH,GAAa,KAE9BhsW,EAAOksW,GAAY39S,GACdvuD,EAAS6sW,SACM92W,IAAfm+L,EAA2Bl0L,EAASssD,EAAiBtsD,EAAQk0L,KAMhE,OACA,SAAU1+L,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbsT,WAAY,YACZ9R,KAAM,SAEN8mC,iBAAkBpnC,EAAoB,QACtCm3D,qBAAsBn3D,EAAoB,QAC1C2sL,gBAAiB3sL,EAAoB,OAApBA,CAA4B,UAE7C8L,KAAM9L,EAAoB,QAE1Bg5V,cAAeh5V,EAAoB,UAMjC,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAKAnB,EAAOC,QAAW,WACjB,MAAuB,oBAAZk4H,SAC8C,qBAAlDv2H,OAAOkB,UAAU2a,SAASjd,KAAK,IAAI23H,SAF1B,IAQX,OACA,SAAUn4H,EAAQC,EAASkB,GAEjC,aAGA,IAAIo2W,EAAep2W,EAAoB,QAEnCq2W,EAAY,sBAEhBx3W,EAAOC,QAAU,SAAUkC,GAC1B,IAAIo1R,EAASggF,EAAap1W,GAC1B,OAAe,OAAXo1R,EAAwB,mCAExBA,EAAOj3R,OAAS,MAAKi3R,EAASA,EAAOjyR,MAAM,EAAG,IAAM,KAExDiyR,EAASA,EAAO/9Q,QAAQg+V,GAAW,SAAU5wS,GAC5C,OAAQA,GACP,IAAK,KACJ,MAAO,MACR,IAAK,KACJ,MAAO,MACR,IAAK,SACJ,MAAO,UACR,IAAK,SACJ,MAAO,UAER,QACC,MAAM,IAAIxhE,MAAM,4BAGZmyR,KAMF,OACA,SAAUv3R,EAAQC,EAASkB,IAEjC,SAAUk8U,EAAGo6B,GAAUz3W,EAAOC,QAAQw3W,KAAtC,CAAuD9zW,GAAK,WAAW,SAAS05U,EAAG58U,EAAEC,GAAGiD,KAAKoJ,GAAG2qW,IAAK/zW,KAAK0Q,KAAK5T,EAAEkD,KAAK2I,KAAK5L,EAAE,SAAS+2W,EAAGh3W,GAAG,GAAG,IAAIA,EAAEH,OAAO,MAAM,GAAG,IAAII,EAAED,EAAEqvB,OAAO,GAAGnvB,EAAEF,EAAEqvB,OAAOrvB,EAAEH,OAAO,GAAG,GAAG,EAAEG,EAAEH,QAAQI,IAAIC,IAAI,MAAMD,GAAG,MAAMA,GAAG,MAAM,CAAC,IAAID,EAAE6S,OAAO,EAAE7S,EAAEH,OAAO,GAAGkZ,QAAQ,MAAM,QAAQA,QAAQ,KAAK,OAAO,KAAK,GAAG9Y,EAAE,4CAA4CqtG,KAAKttG,GAAG,OAAOg3W,EAAGh3W,EAAE6S,OAAO,EACpZ5S,EAAEqD,QAAQ+E,OAAO2uW,EAAG/2W,EAAE,KAAKoI,OAAO2uW,EAAGh3W,EAAE6S,OAAO5S,EAAEqD,MAAMrD,EAAE,GAAGJ,UAAyB,GAAfI,EAAED,EAAE8Q,MAAM,KAAQ,IAAI7Q,EAAEJ,OAAO,MAAM,CAAC,IAAIG,EAAE+Y,QAAQ,MAAM,QAAQA,QAAQ,KAAK,OAAO,KAAU,IAAL/Y,EAAE,GAAOE,EAAE,EAAEA,EAAED,EAAEJ,SAASK,EAAEF,EAAEA,EAAEqI,OAAO2uW,EAAG/2W,EAAEC,KAAK,OAAOF,EAAE,SAASk3W,EAAGl3W,GAAG,MAAM,IAAIg3W,EAAGh3W,GAAG6D,KAAK,MAAM,IAAI,SAASszW,IAAK,IAAIn3W,EAAE,CAAC,GAAG,GAAGC,EAAE,CAAC,IAAI,MAAM,CAACqM,GAAG,SAASpM,GAAG,IAAI+d,EAAEje,EAAEE,GAAG,OAAG+d,IAAWA,EAAEje,EAAEE,GAAGD,EAAEJ,OAAOI,EAAEyD,KAAKxD,GAAU+d,IAAGhW,IAAI,SAASjI,GAAG,OAAOC,EAAED,KAAK,SAASo3W,EAAGp3W,EAAEC,EAAEC,GAAG,SAAS+d,IAAI,IAAIhe,EAAE6zB,OAAOkQ,WAAW/lB,EAAE6V,OAAOmQ,YAAYjkC,IAAI8gB,SAASmf,OACpfhiB,EAAEje,EAAE6nB,wBAAwB5nB,EAAEge,EAAE1J,MAAM0J,EAAE3J,KAAK2J,EAAEA,EAAEsU,OAAOtU,EAAEuU,KAAK3I,EAAEjI,MAAM1hB,EAAED,EAAE4pB,EAAEH,OAAOxpB,EAAE+d,EAAEqoO,EAAEz8N,EAAExZ,MAAM,CAACuR,MAAM3hB,EAAE,KAAKypB,OAAOzL,EAAE,OAAO,IAAI4L,EAAE/I,SAASC,cAAc,UAA6M,OAAnMulO,EAAEz8N,EAAExZ,MAAM,CAACsgT,OAAO,EAAEh8R,OAAO,EAAEC,QAAQ,EAAEpC,IAAI,EAAEle,KAAK,IAAItU,EAAEspB,YAAYO,GAAG7pB,IAAI8gB,SAASmf,OAAOpW,EAAExZ,MAAMnG,SAAS,WAAWo8O,EAAEtmP,EAAEqQ,MAAM,CAACskB,OAAO,EAAEC,QAAQ,KAAKd,OAAOwR,iBAAiB,SAASrnB,GAAE,GAAIA,IAAU,CAAC4C,OAAOgJ,EAAEwtV,UAAU,WAAWvjV,OAAO0R,oBAAoB,SAASvnB,GAAGje,EAAEwyH,YAAY3oG,KAAK,SAASytV,EAAGt3W,EAAEC,GAAG,SAASC,EAAEA,GAAG,IAAI,OAAOF,EAAEihB,WAAW/gB,EACjgBD,GAAG,MAAM4pB,GAAG,OAAO,MAAM,OAAO3pB,EAAE,UAAUA,EAAE,uBAAuBA,EAAE,sBAAsB,SAASq3W,EAAGv3W,GAAG,MAAM,kBAAkBA,EAAEA,EAAE8Q,QAAQ9Q,EAAE,SAAS2iL,EAAG3iL,GAAG,MAAM,kBAAkBA,EAAE8gB,SAASi6C,cAAc/6D,GAAGA,EAAE,SAASw3W,EAAGx3W,GAAG,IAAYE,EAAE+d,EAAE4L,EAAE9oB,EAAdd,EAAED,GAAG,GAAWA,EAAE,GAAG,IAAIuC,EAAE,GAAGmmC,EAAE,GAAGnnC,EAAE,qBAAqBuyB,OAAO,EAAEA,OAAO2jV,iBAAiBhvS,GAAE,EAAG9mE,EAAE,SAAS3B,KAAKc,EAAE,aACiI,GADpH,kBAAkBb,EAAEC,EAAE4gB,SAASi6C,cAAc96D,GAAG,kBAAkBA,IAAI,kBAAkBA,EAAE6yB,UAAU,oBAAoB7yB,EAAEqpB,aAAa,oBACzerpB,EAAE4nB,sBAAsB3nB,EAAED,EAAE,oBAAoBA,EAAEwpI,YAAY,oBAAoBxpI,EAAEupI,cAAczoI,EAAEd,EAAE4pB,EAAE9oB,EAAE8f,SAAS,OAAO5gB,EAAEc,EAAEd,EAAEqK,GAAG,WAAWrK,EAAE4pB,EAAE84J,EAAG1iL,EAAE4gB,QAAQ,cAAc5gB,IAAIge,EAAE0kK,EAAG1iL,EAAE4xB,YAAY,eAAe5xB,IAAID,EAAEC,EAAEuL,YAAY,eAAevL,IAAIsC,EAAEg1W,EAAGt3W,EAAEy3W,aAAa,uBAAuBz3W,IAAIyoC,EAAE6uU,EAAGt3W,EAAE03W,qBAAqB,WAAW13W,IAAI0B,EAAE1B,EAAEwsP,QAAQ,YAAYxsP,IAAIwoE,IAAIxoE,EAAEylN,SAAS,eAAezlN,IAAIsB,GAAGtB,EAAEoL,cAAcnL,IAAI,WAAWA,EAAE4yB,SAAS/X,cAAc8O,EAAE3pB,EAAE+d,EAAE/d,IAAOa,EAAE,CAAC,IAAI8oB,EAAE,CACre,GADse3pB,EAAEk3W,EAAGn5V,GAAG6C,SAASmf,KAC5ft+B,EAAEJ,IAAOrB,EAAE,OAAO,KAAK2pB,EAAE3pB,EAAE2gB,OAAO/f,EAAEZ,EAAEm3W,UAAUt2W,EAAEu2W,EAAGztV,EAAE7pB,GAAG,OAAOe,EAAE,CAACuJ,GAAGvJ,EAAE8f,OAAOgJ,EAAEgI,UAAU5T,EAAEy5V,WAAWn1W,EAAEo1W,mBAAmBjvU,EAAEr9B,WAAW9J,EAAEmkN,QAAQj9I,EAAEgkL,OAAO9qP,EAAE01W,UAAUv2W,IAAIA,IAAIa,EAAE,4FAA4F,MAAM,SAASi2W,EAAG53W,EAAEC,GAAG,SAASC,EAAED,GAAqB,IAAIC,EAAtBD,EAAEA,EAAE8a,cAAoB,IAAI7a,EAAE+d,EAAEhe,GAAGD,EAAEw/H,aAAav/H,GAAG,MAAM4pB,IAAI,QAAQ3pB,EAAE,IAAI,IAAI+d,EAAE,GAAG4L,EAAE,EAAEA,EAAE5pB,EAAEy3W,WAAW73W,SAASgqB,EAAE,CAAC,IAAI9oB,EAAEd,EAAEy3W,WAAW7tV,GAAG,IAAI3pB,EAAEa,GAAG,OAAOd,EAAEo3W,YAAYp3W,EAAEwsP,OAAO,IAAI1rP,EAAE,+GAC7e,KAAqC,OAAhCd,EAAE03W,mBAAmBvgT,QAAQl3D,GAAS,CAACw3W,WAAWz5V,EAAE45V,QAAQ,WAAW12W,OAAO8mD,KAAKhqC,GAAGm5C,SAAQ,SAASp3D,GAAG,GAAGie,EAAEje,KAAKE,EAAEF,GAAG,MAAM2E,MAAM,qCAAqC3E,QAAQ,SAAS83W,EAAE93W,EAAEC,GAAG,IAAI,IAAIC,EAAEqE,MAAMvE,GAAGie,EAAE,EAAEA,EAAEje,IAAIie,EAAE/d,EAAE+d,GAAGhe,EAAEge,GAAG,OAAO/d,EAAE,SAAS2iD,EAAG7iD,GAAG,IAAIC,EAAEC,EAAoF,OAAlFD,GAAG,MAAMD,IAAI,EAAEA,KAAKC,EAAEC,GAAG,IAAIF,IAAI,EAAEA,KAAKE,EAAED,GAAGC,EAAEA,GAAG,GAAGF,IAAI,EAAEA,KAAKE,EAAED,GAAGC,EAAEA,GAAG,EAAEF,IAAI,EAASC,EAAEC,EAAEF,IAAIE,GAAG,EAAE,SAASwsK,IAAK,SAAS1sK,EAAEA,GAAGA,EAAE,CAAC,IAAI,IAAIC,EAAE,GAAG,WAAWA,EAAEA,GAAG,GAAG,GAAGD,GAAGC,EAAE,CAACD,EAAEC,EAAE,MAAMD,EAAEA,EAAE,EAAgB,OAAdC,EAAEC,EAAE2iD,EAAG7iD,IAAI,GAAU,EAAEC,EAAEJ,OAAOI,EAAE4F,MAChf,IAAI68K,YAAY1iL,GAAG,SAASC,EAAED,GAAGE,EAAE2iD,EAAG7iD,EAAEmuI,aAAa,GAAGzqI,KAAK1D,GAAG,IAAIE,EAAE43W,EAAE,GAAE,WAAW,MAAM,MAAK,MAAM,CAACC,MAAM/3W,EAAE+/H,KAAK9/H,EAAE+3W,UAAU,SAAS/3W,EAAEC,GAAG,IAAIa,EAAE,KAAK,OAAOd,GAAG,KAAK,KAAKc,EAAE,IAAIkkW,UAAUjlW,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAI2S,WAAW1T,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAImkW,WAAWllW,EAAE,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAIkrL,YAAYjsL,EAAE,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAI43N,WAAW34N,EAAE,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAI08P,YAAYz9P,EAAE,EAAEE,GAAG,EAAEA,GAAG,MAAM,KAAK,KAAKa,EAAE,IAAIumB,aAAatnB,EAAE,EAAEE,GAAG,EAAEA,GAAG,MAAM,QAAQ,OAAO,KAAK,OAAOa,EAAElB,SAC1fK,EAAEa,EAAE6rH,SAAS,EAAE1sH,GAAGa,GAAGk3W,SAAS,SAASj4W,GAAGC,EAAED,EAAEyK,UAAU,SAASytW,EAAGl4W,GAAG,QAAQA,GAAG,kBAAkBA,GAAGuE,MAAM0J,QAAQjO,EAAE8hC,QAAQv9B,MAAM0J,QAAQjO,EAAEmpC,SAAS,kBAAkBnpC,EAAEuc,QAAQvc,EAAE8hC,MAAMjiC,SAASG,EAAEmpC,OAAOtpC,SAAS0E,MAAM0J,QAAQjO,EAAE6L,OAAO6wC,GAAE18C,EAAE6L,OAAO,SAAS4mD,EAAGzyD,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,GAAG,IAAI,IAAIwB,EAAE,EAAEA,EAAEtC,IAAIsC,EAAE,IAAI,IAAImmC,EAAE1oC,EAAEuC,GAAGhB,EAAE,EAAEA,EAAErB,IAAIqB,EAAE,IAAI,IAAIknE,EAAE//B,EAAEnnC,GAAGI,EAAE,EAAEA,EAAEsc,IAAItc,EAAEkoB,EAAE9oB,KAAK0nE,EAAE9mE,GAAG,SAASw2W,EAAGn4W,EAAEC,EAAEC,EAAE+d,EAAE4L,GAAG,IAAI,IAAI9oB,EAAE,EAAEwB,EAAErC,EAAE,EAAEqC,EAAEtC,EAAEJ,SAAS0C,EAAExB,GAAGd,EAAEsC,GAAG,IAAImmC,EAAEzoC,EAAEC,GAAG,GAAG,IAAID,EAAEJ,OAAOK,EAAE,CAAC,IAAIqB,EAAEtB,EAAEC,EAAE,GAAGuoE,EAAExoE,EAAEC,EAAE,GAAY,IAATD,EAAEA,EAAEC,EAAE,GAAOqC,EAAE,EAAEA,EAAEmmC,IAAInmC,EAAEkwD,EAAGzyD,EAAEuC,GAC1fhB,EAAEknE,EAAExoE,EAAEge,EAAE4L,GAAGA,GAAG9oB,OAAO,IAAIwB,EAAE,EAAEA,EAAEmmC,IAAInmC,EAAE41W,EAAGn4W,EAAEuC,GAAGtC,EAAEC,EAAE,EAAE+d,EAAE4L,GAAGA,GAAG9oB,EAAE,SAASq3W,EAAGp4W,GAAG,OAA6C,EAAtCq4W,GAAGl3W,OAAOkB,UAAU2a,SAASjd,KAAKC,IAAM,SAASi4U,EAAGj4U,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEJ,SAASK,EAAEF,EAAEE,GAAGD,EAAEC,GAAG,SAASo4W,EAAGt4W,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,EAAEwB,GAAG,IAAI,IAAImmC,EAAE,EAAEnnC,EAAE,EAAEA,EAAErB,IAAIqB,EAAE,IAAI,IAAIknE,EAAE,EAAEA,EAAExqD,IAAIwqD,EAAEzoE,EAAE0oC,KAAKzoC,EAAE4pB,EAAEtoB,EAAER,EAAE0nE,EAAElmE,GAAG,SAASg2W,EAAGv4W,EAAEC,EAAEC,EAAE+d,GAAG,SAAS4L,EAAE5pB,GAAGiD,KAAKoJ,GAAG/K,IAAI2B,KAAKuH,OAAOzK,EAAEiJ,eAAe/F,KAAK0Q,KAAK3T,EAAEiD,KAAK6/M,MAAM,MAAM7/M,KAAKirI,WAAW,EAAEjrI,KAAKgB,UAAU,EAAEhB,KAAKsQ,MAAM,KAAKtQ,KAAKs1W,eAAe,KAAKt4W,EAAEwlN,UAAUxiN,KAAKwyC,MAAM,CAACvxB,KAAK,IAAI,SAASpjB,EAAEd,EAAEC,EAAEmF,GAAGpF,EAAEkuI,WACtfjuI,EAAEiuI,WAAWnuI,EAAEy4W,WAAWx4W,EAAE2T,KAAK1T,EAAEmF,GAAG,SAAS9C,EAAEvC,EAAEC,EAAEC,EAAEwxD,EAAE7wD,EAAEod,GAAa,GAAVje,EAAE+iN,MAAM7iN,EAAKqE,MAAM0J,QAAQhO,IAAI,GAAGD,EAAEwT,MAAMk+C,GAAG,KAAK,EAAEzxD,EAAEJ,OAAO,GAAG0E,MAAM0J,QAAQhO,EAAE,IAAI,CAACY,EAAE01U,GAAGt2U,GAAG,IAAI,IAAImF,EAAEssD,EAAE,EAAEtsD,EAAEvE,EAAEhB,SAASuF,EAAEssD,GAAG7wD,EAAEuE,GAAGpF,EAAEkE,UAAUwtD,EAAEzxD,EAAEy4W,GAAGz4W,EAAEY,EAAEb,EAAEwT,OAAOzS,EAAEf,EAAEC,EAAEC,GAAG+d,EAAEje,EAAEw4W,eAAev4W,EAAE6O,EAAEmpW,SAASh4W,OAAO,kBAAkBA,EAAE,IAAID,EAAEkE,UAAUrD,EAAEA,EAAEiO,EAAEkpW,UAAUh4W,EAAEwT,MAAMvT,EAAEJ,QAAQo4U,EAAGp3U,EAAEZ,GAAGc,EAAEf,EAAEa,EAAEX,GAAG+d,EAAEje,EAAEw4W,eAAe33W,EAAEiO,EAAEmpW,SAASp3W,IAAI67C,GAAEz8C,EAAE,MAAMD,EAAEkE,UAAUjE,EAAE,GAAGJ,OAAOG,EAAEwT,MAAMk+C,GAAG0mT,EAAGn4W,EAAE,KAAK,KAAKA,EAAEy4W,GAAGz4W,EAAE,CAACA,EAAEJ,OAAOI,EAAE,GAAGJ,QAAQG,EAAEwT,OAAOzS,EAAEf,EAAEC,EAAEC,GACpf+d,EAAEje,EAAEw4W,eAAev4W,EAAE6O,EAAEmpW,SAASh4W,SAAS,GAAGy8C,GAAEz8C,GAAGD,EAAEwT,MAAMk+C,GAAG0mT,EAAGn4W,GAAGD,EAAEkE,UAAUrD,EAAEE,EAAEf,EAAEC,EAAEC,GAAG+d,IAAIje,EAAEw4W,eAAe,IAAI9kW,WAAW,IAAIA,WAAWzT,EAAEwK,eAAe,GAAGytW,EAAGj4W,GAAG,CAACY,EAAEZ,EAAE6hC,MAAM,IAAIjY,EAAE5pB,EAAEkpC,OAAkBT,GAAXtjC,EAAEnF,EAAEsc,OAAS,GAAEksD,EAAE,EAAElnE,EAAE,EAAEI,EAAE,EAAE,IAAId,EAAEhB,QAAQ6oC,EAAE7nC,EAAE,GAAG4nE,EAAE,EAAElnE,EAAEsoB,EAAE,GAAGloB,EAAE,GAAG,IAAId,EAAEhB,SAAS6oC,EAAE7nC,EAAE,GAAG4nE,EAAE5nE,EAAE,GAAGU,EAAEsoB,EAAE,GAAGloB,EAAEkoB,EAAE,IAAI7pB,EAAEwT,MAAMk+C,GAAG0mT,EAAGn4W,EAAE4L,OAAO,KAAK7L,EAAEkE,UAAUukE,EAAE5nE,EAAEiO,EAAEkpW,UAAUh4W,EAAEwT,MAAMk1B,EAAE+/B,GAAG6vS,EAAGz3W,EAAEZ,EAAE4L,KAAK68B,EAAE+/B,EAAElnE,EAAEI,EAAEyD,GAAGrE,EAAEf,EAAEa,EAAEX,GAAG+d,EAAEje,EAAEw4W,eAAe33W,EAAEiO,EAAEmpW,SAASp3W,QAAQZ,aAAayiL,cAAc1iL,EAAEwT,MAAM,KAAKxT,EAAEkE,UAAUrD,EAAEE,EAAEf,EAAEC,EACnfC,GAAG+d,IAAIje,EAAEw4W,eAAe,IAAI9kW,WAAW,IAAIA,WAAWzT,MAAM,SAASyoC,EAAExoC,GAAGD,EAAE04W,cAAc,IAAI,IAAI53W,EAAE,EAAEA,EAAEkd,EAAE0hF,MAAM9/F,SAASkB,EAAE,CAAC,IAAIsE,EAAE4Y,EAAE0hF,MAAM5+F,GAAGsE,EAAEoF,SAASvK,IAAIF,EAAE6jK,yBAAyB9iK,GAAGsE,EAAEoF,OAAO,MAAMzK,EAAE44W,aAAa14W,EAAEuK,QAAQvK,EAAEuK,OAAO,YAAYg+D,EAAEvoE,EAAEoM,IAAI,IAAI/K,EAAE,EAAEknE,EAAE,GAAG5+C,EAAExnB,UAAUJ,KAAK,WAAWjC,EAAE64W,WAAW31W,KAAK0Q,KAAK1Q,KAAKuH,SAASof,EAAExnB,UAAU8zB,QAAQ,WAAWuS,EAAExlC,OAAO,IAAIvB,EAAE,GAC3X,OAD8XzB,EAAEwlN,UAAUzlN,EAAE64W,mBAAmB,WAAW,IAAI94W,EAAE,EAA0D,OAAxDmB,OAAO8mD,KAAKwgB,GAAGrR,SAAQ,SAASn3D,GAAGD,GAAGyoE,EAAExoE,GAAGy1C,MAAMvxB,QAAcnkB,IAC3e,CAAC+B,OAAO,SAASjB,EAAEmd,EAAEld,EAAE2wD,GAAG,SAAS7wD,EAAEZ,GAAG,IAAIa,EAAE,MAAMmd,EAAE,KAAKld,EAAE,EAAEsE,EAAE,EAAEwkB,EAAE,EAA8Y,OAA5YtlB,MAAM0J,QAAQhO,IAAIy8C,GAAEz8C,IAAIi4W,EAAGj4W,IAAIA,aAAayiL,YAAYzkK,EAAEhe,EAAE,kBAAkBA,EAAEc,EAAI,EAAFd,EAAIA,IAAI,SAASA,IAAIge,EAAEhe,EAAE4L,MAAM,UAAU5L,IAAIa,EAAEi4W,GAAG94W,EAAE8iN,QAAQ,SAAS9iN,IAAIoF,EAAE2zW,GAAG/4W,EAAE2T,OAAO,cAAc3T,IAAI4pB,EAAc,EAAZ5pB,EAAEiE,WAAa,WAAWjE,IAAIc,EAAW,EAATd,EAAEJ,SAAWkE,EAAE9B,OAAOgc,EAAE1b,EAAEwB,EAAEka,EAAEnd,EAAEuE,EAAEwkB,EAAE6nC,IAAI3wD,GAAGf,EAAEy4W,WAAW10W,EAAE6P,KAAK7S,EAAED,GAAGiD,EAAEyP,MAAMnO,GAAG,KAAKtB,EAAEg/M,MAAMjiN,EAAEiD,EAAEG,UAAU2lB,EAAE9lB,EAAEoqI,WAAWptI,GAAGb,EAAEwlN,UAAU3hN,EAAE2xC,MAAMvxB,KAAKpgB,EAAEoqI,WAAW8qO,GAAGl1W,EAAEyP,QAAe3S,EAAEZ,EAAE04W,cAAc,IAAI50W,EACtf,IAAI8lB,EAAE5L,GACgQ,OAD7PwqD,EAAE1kE,EAAEuI,IAAIvI,EAAEhD,GAAGF,EAAEC,GAAGD,EAAEq4W,UAAU,SAASr4W,EAAEs4W,QAAQp1W,EAAElD,EAAEu4W,QAAQ,SAASn5W,EAAEC,GAAG,IAAe+d,EAAXnd,EAAS,GAANZ,GAAG,GAAgB,GAAT6D,EAAE9B,OAAUy6C,GAAEz8C,IAAIA,aAAayiL,YAAY1iL,EAAEq5W,cAAct1W,EAAE6P,KAAK9S,EAAEb,QAAQ,GAAGsE,MAAM0J,QAAQhO,IAAI,GAAG,EAAEA,EAAEJ,OAAO,GAAG,kBAAkBI,EAAE,GAAG,CAAC,IAAIc,EAAE+N,EAAEkpW,UAAUj0W,EAAEyP,MAAMvT,EAAEJ,QAAQo4U,EAAGl3U,EAAEd,GAAGD,EAAEq5W,cAAct1W,EAAE6P,KAAK9S,EAAEC,GAAG+N,EAAEmpW,SAASl3W,QAAWwD,MAAM0J,QAAQhO,EAAE,KAAKy8C,GAAEz8C,EAAE,OAAIge,EAAEs4T,GAAGt2U,GAAGc,EAAE23W,GAAGz4W,EAAEge,EAAEla,EAAEyP,OAAOxT,EAAEq5W,cAAct1W,EAAE6P,KAAK9S,EAAEC,GAAG+N,EAAEmpW,SAASl3W,SAAQ,GAAGm3W,EAAGj4W,GAAG,CAACge,EAAEhe,EAAE6hC,MAAM,IAAI4vB,EAAEzxD,EAAEkpC,OAAO9jC,EAAEtE,EAAE,EAAE8oB,EAAE,EAAEq4M,EAAE,EAAE,IAAIjkN,EAAEpe,QAAQkB,EAAEkd,EAAE,GACtf5Y,EAAE,EAAEwkB,EAAE6nC,EAAE,GAAGwwK,EAAE,GAAG,IAAIjkN,EAAEpe,SAASkB,EAAEkd,EAAE,GAAG5Y,EAAE4Y,EAAE,GAAG4L,EAAE6nC,EAAE,GAAGwwK,EAAExwK,EAAE,IAAIzzC,EAAE1Z,MAAM0J,QAAQhO,EAAE4L,MAAM9H,EAAEyP,MAAM4kW,EAAGn4W,EAAE4L,MAAMoS,EAAEnP,EAAEkpW,UAAU/5V,EAAEld,EAAEsE,GAAGizW,EAAGr6V,EAAEhe,EAAE4L,KAAK9K,EAAEsE,EAAEwkB,EAAEq4M,EAAEjiO,EAAEsc,QAAQvc,EAAEq5W,cAAct1W,EAAE6P,KAAK9S,EAAEmd,GAAGnP,EAAEmpW,SAASh6V,GAAG,OAAOpd,GAAGX,EAAEwlN,UAAU7kN,EAAE60C,MAAM3xC,EAAE2xC,OAAO70C,EAAEs1B,QAAQ,WAAWuS,EAAE3kC,IAAWlD,GAAGy4W,aAAa,SAASt5W,EAAEC,GAAG,IAAIC,EAAEyB,EAAEkE,MAAmD,OAA7C3F,IAAIA,EAAE,IAAI2pB,EAAE7pB,IAAIE,EAAE+B,OAAOM,EAAErC,EAAED,EAAE,MAAM,EAAE,GAAE,GAAWC,GAAGq5W,cAAc,SAASv5W,GAAG2B,EAAE+B,KAAK1D,IAAIyjC,MAAM,WAAWkZ,GAAE8rB,GAAGrR,QAAQ1uB,GAAG/mC,EAAEy1D,QAAQ1uB,IAAI8wU,UAAU,SAASx5W,GAAG,OAAOA,GAAGA,EAAEm5W,mBACtetvV,EAAE7pB,EAAEm5W,QAAQ,MAAMtB,QAAQ,WAAWl7T,GAAE8rB,GAAGrR,SAAQ,SAASn3D,GAAGA,EAAEwK,OAAOzK,EAAEiJ,eAAejJ,EAAE64W,WAAW54W,EAAE2T,KAAK3T,EAAEwK,QAAQzK,EAAEy4W,WAAWx4W,EAAE2T,KAAK3T,EAAEu4W,gBAAgBv4W,EAAEkuI,WAAWluI,EAAE8iN,WAAU02J,YAAYl3W,GAAG,SAASm3W,EAAG15W,EAAEC,EAAEC,EAAE+d,GAAG,SAAS4L,EAAE7pB,GAAGkD,KAAKoJ,GAAG/K,IAAImnC,EAAExlC,KAAKoJ,IAAIpJ,KAAKA,KAAKuH,OAAOzK,EAAEkD,KAAKy2W,SAAS,EAAEz2W,KAAK0Q,KAAK1Q,KAAK02W,UAAU,EAAE,SAAS74W,EAAEkd,EAAEld,EAAE8oB,EAAE6nC,EAAE7wD,EAAEkD,EAAEqB,GAAmB,GAAhB6Y,EAAExT,OAAOxI,OAAUlB,EAAE,CAAC,IAAI2nC,EAAEtjC,EAAEA,GAAGs3C,GAAE37C,MAAMm3W,EAAGn3W,IAAI27C,GAAE37C,EAAE8K,SAAS68B,EAAEzoC,EAAE45W,uBAAuB,KAAK,MAAM35W,EAAEu5W,YAAYx7V,EAAExT,OAAO1J,EAAE8oB,EAAE6e,EAAE,QAAQ1oC,EAAEy4W,WAAW,MAAM10W,EAAE8lB,GACnf5L,EAAExT,OAAO+I,MAAMk1B,GAAG,KAAKzqB,EAAExT,OAAOs4M,MAAMl5L,EAAE5L,EAAExT,OAAOvG,UAAU,EAAE+Z,EAAExT,OAAO0jI,WAAWpqI,EAAM,GAAJ2kC,EAAEtjC,GAAMA,EAAE,CAAC,OAAO6Y,EAAExT,OAAO+I,OAAO,KAAK,KAAK,KAAK,KAAKk1B,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,KAAKA,EAAE,KAAK,MAAM,KAAK,KAAK,KAAK,KAAKA,EAAE,KAAKzqB,EAAExT,OAAO+I,MAAMk1B,EAAEzqB,EAAErK,KAAK80B,EAAE3nC,EAAEF,EAAE,EAAEE,IAAIA,EAAEkd,EAAExT,OAAO0jI,WAAW,OAAOzlG,EAAE3nC,IAAI,EAAE,OAAO2nC,IAAI3nC,IAAI,IAAIkd,EAAE27V,UAAU74W,EAAEA,EAAE2wD,EAAE,EAAEA,IAAI3wD,EAAE,EAAE2wD,EAAEzzC,EAAExT,OAAOvG,UAAU,IAAIwtD,IAAI3wD,EAAE,GAAG,IAAI2wD,IAAI3wD,EAAE,GAAG,IAAI2wD,IAAI3wD,EAAE,IAAIkd,EAAE07V,SAAS54W,EAAE,SAASwB,EAAEvC,GAAGie,EAAE67V,uBAAuBpxU,EAAE1oC,EAAEsM,IAAItM,EAAEyK,OAAO0rB,UAAUn2B,EAAEyK,OAAO,KAAK,IAAIi+B,EAAE,GAAGnnC,EAAE,EAAEknE,EAAE,CAACwmE,MAAM,KAC1f8qO,OAAO,MAAM95W,EAAE45W,yBAAyBpxS,EAAEuxS,OAAO,MAAMnwV,EAAExnB,UAAUJ,KAAK,WAAWiB,KAAKuH,OAAOxI,QAAQ,IAAIN,EAAE,GAAG,MAAM,CAACI,OAAO,SAAS/B,EAAEC,GAAG,SAASoF,EAAErF,GAAG,GAAGA,EAAE,GAAG,kBAAkBA,EAAE0xD,EAAE1xD,GAAGa,EAAE84W,SAAS,EAAE94W,EAAE+4W,UAAY,EAAF55W,EAAIa,EAAE+S,KAAK,SAAS,CAAC,IAAI3T,EAAE,KAAKC,EAAE,MAAM+d,GAAG,EAAE4L,GAAG,EAAE6e,EAAE,EAAE5nC,EAAE,EAAKyD,MAAM0J,QAAQjO,IAAI08C,GAAE18C,IAAIk4W,EAAGl4W,GAAGC,EAAED,GAAU,SAASA,IAAIC,EAAED,EAAE6L,MAAM,UAAU7L,IAAIE,EAAE64W,GAAG/4W,EAAE+iN,QAAQ,cAAc/iN,IAAIie,EAAEg8V,GAAGj6W,EAAEonL,YAAY,UAAUpnL,IAAI6pB,EAAU,EAAR7pB,EAAEkrE,OAAS,SAASlrE,IAAIc,EAAE2nE,EAAEzoE,EAAE4T,OAAO,WAAW5T,EAAE0oC,EAAW,EAAT1oC,EAAEH,QAAiB6oC,EAAE7e,EAAE,OAC/e/oB,GAAG,OAAOA,EAAE4nC,GAAG,EAAU,OAAO5nC,GAAG,OAAOA,IAAE4nC,GAAG,KAAE3nC,EAAEF,EAAEZ,EAAEC,EAAE+d,EAAE4L,EAAE6e,EAAE5nC,QAAQ4wD,IAAI7wD,EAAE84W,SAAS,EAAE94W,EAAE+4W,UAAU,EAAE/4W,EAAE+S,KAAK,KAAK,OAAOvO,EAAE,IAAIqsD,EAAExxD,EAAE6B,OAAO,KAAK,OAAM,GAAIlB,EAAE,IAAIgpB,EAAE6nC,EAAEynT,SAAiJ,OAAxIl7V,EAAE67V,gBAAgBz0W,EAAErF,GAAGqF,EAAE6zW,UAAU,WAAW7zW,EAAE4jI,UAAUpoI,EAAEwE,EAAE+zW,QAAQ,SAASp5W,EAAEC,GAAkB,OAAfyxD,EAAE0nT,QAAQp5W,EAAEC,GAAUoF,GAAGA,EAAE8wB,QAAQ,WAAW5zB,EAAE1B,IAAWwE,GAAGi0W,aAAa,SAASt5W,GAAG,IAAIC,EAAE0B,EAAEkE,MAA8E,OAAxE5F,IAAIA,EAAE,IAAI4pB,EAAE3pB,EAAE6B,OAAO,KAAK,OAAM,GAAG,GAAIo3W,UAAUp4W,EAAEd,EAAED,EAAE,OAAO,GAAG,EAAE,EAAE,GAAUC,GAAGs5W,cAAc,SAASv5W,GAAG2B,EAAE+B,KAAK1D,IAAIk6W,YAAY,SAASl6W,GAAG,MAAM,oBACnfA,GAAGA,EAAEipI,qBAAqBp/G,EAAE7pB,EAAEipI,UAAU,MAAMxlG,MAAM,WAAWkZ,GAAEjU,GAAG0uB,QAAQ70D,KAAK,SAAS47U,EAAGn+U,GAAG,IAAI,IAAIC,EAAE6O,EAAEkpW,UAAU,KAAKh4W,EAAEH,QAAQK,EAAE,EAAEA,EAAEF,EAAEH,SAASK,EAAE,GAAG6N,MAAM/N,EAAEE,IAAID,EAAEC,GAAG,WAAW,GAAG2K,MAAW7K,EAAEE,GAAGD,EAAEC,GAAG,WAAW,IAAI2K,MAAW7K,EAAEE,GAAGD,EAAEC,GAAG,UAAU,CAACi6W,GAAG,GAAGn6W,EAAEE,GAAG,IAAI+d,EAAEm8V,GAAG,GAAGvwV,EAAE5L,IAAI,IAAI,GAAGld,GAAGkd,GAAG,IAAI,IAAI,IAAIA,EAAEA,GAAG,GAAG,KAAKhe,EAAEC,IAAI,GAAGa,EAAE8oB,GAAG,GAAG9oB,EAAE8oB,GAAG5L,EAAE,OAAO,GAAGld,GAAG,GAAGA,EAAE8oB,EAAE,MAAMA,GAAG9oB,EAAE,IAAI,IAAIkd,EAAE,OAAOhe,EAAE,SAAS83E,EAAG/3E,GAAG,OAAOuE,MAAM0J,QAAQjO,IAAI08C,GAAE18C,GAAG,SAASq6W,EAAGr6W,GAAG,MAAM,WAAWA,EAAE,IAAI,SAASs6W,EAAGt6W,GAAG,OAAOuE,MAAM0J,QAAQjO,KACxgB,IAAIA,EAAEH,QAAQ,kBAAkBG,EAAE,IAAI,SAASqrP,EAAGrrP,GAAG,SAAOuE,MAAM0J,QAAQjO,IAAI,IAAIA,EAAEH,SAAQk4E,EAAG/3E,EAAE,KAAU,SAAS8G,EAAG9G,GAAG,OAAOmB,OAAOkB,UAAU2a,SAASjd,KAAKC,GAAG,SAASu6W,EAAGv6W,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAE6G,EAAG9G,GAAG,OAAO,GAAGw6W,GAAGl1W,QAAQrF,KAAMq6W,EAAGt6W,IAAIqrP,EAAGrrP,IAAIk4W,EAAGl4W,IAAG,SAASy6W,EAAGz6W,EAAEC,GAAG,QAAQD,EAAE4T,MAAM5T,EAAE6L,KAAKsyU,EAAGl+U,GAAG6O,EAAEmpW,SAASh4W,IAAID,EAAE6L,KAAK5L,EAAE,SAASy6W,EAAG16W,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,GAAyD,GAAtDf,EAAE,qBAAqBuP,GAAEvP,GAAGuP,GAAEvP,GAAG2+T,GAAE3+T,GAAG26W,GAAG16W,GAAGc,IAAIf,GAAG,GAAM6pB,EAAE,CAAC,IAAI5L,EAAE,EAAE,GAAG/d,GAAG+d,GAAGje,EAAEE,EAAEA,EAAEA,GAAG,EAAE,OAAO+d,EAAE,OAAOje,EAAEE,EAAE+d,EAAE,SAAS28V,EAAG56W,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,EAAEwB,GAAG,SAASmmC,IAAIxlC,KAAK6iG,OACvf7iG,KAAK23W,eAAe,KAAK33W,KAAK0Q,KAAK,KAAK1Q,KAAK43W,MAAM53W,KAAK63W,iBAAiB73W,KAAK83W,YAAW,EAAG93W,KAAK+3W,gBAAgB,EAAE/3W,KAAKg4W,WAAW,MAAMh4W,KAAKi4W,SAASj4W,KAAKwmB,OAAOxmB,KAAK0e,MAAM,EAAE,SAASrgB,EAAEvB,EAAEC,GAAGD,EAAE66W,eAAe56W,EAAE46W,eAAe76W,EAAE+lG,OAAO9lG,EAAE8lG,OAAO/lG,EAAE4T,KAAK3T,EAAE2T,KAAK5T,EAAEg7W,WAAW/6W,EAAE+6W,WAAWh7W,EAAE+6W,iBAAiB96W,EAAE86W,iBAAiB/6W,EAAE86W,MAAM76W,EAAE66W,MAAM96W,EAAEi7W,gBAAgBh7W,EAAEg7W,gBAAgBj7W,EAAEk7W,WAAWj7W,EAAEi7W,WAAWl7W,EAAE4hB,MAAM3hB,EAAE2hB,MAAM5hB,EAAE0pB,OAAOzpB,EAAEypB,OAAO1pB,EAAEm7W,SAASl7W,EAAEk7W,SAAS,SAAS1yS,EAAEzoE,EAAEC,GAAG,GAAG,kBAAkBA,GAAGA,EAAE,CAAC,qBACnfA,IAAID,EAAE+6W,iBAAiB96W,EAAE86W,kBAAkB,UAAU96W,IAAID,EAAE86W,MAAM76W,EAAE66W,OAAO,cAAc76W,IAAID,EAAEi7W,gBAAgBh7W,EAAEm7W,WAAW,eAAen7W,IAAID,EAAEk7W,WAAWjiQ,EAAGh5G,EAAEi7W,aAAa,SAASj7W,IAAID,EAAE4T,KAAKuuN,EAAEliO,EAAE2T,OAAO,IAAI1T,EAAEF,EAAE4hB,MAAM3D,EAAEje,EAAE0pB,OAAO3oB,EAAEf,EAAEm7W,SAASzpT,GAAE,EAAG,UAAUzxD,GAAGC,EAAED,EAAE6hC,MAAM,GAAG7jB,EAAEhe,EAAE6hC,MAAM,GAAG,IAAI7hC,EAAE6hC,MAAMjiC,SAASkB,EAAEd,EAAE6hC,MAAM,GAAG4vB,GAAE,KAAM,WAAWzxD,IAAIC,EAAE+d,EAAEhe,EAAEsoE,QAAQ,UAAUtoE,IAAIC,EAAED,EAAE2hB,OAAO,WAAW3hB,IAAIge,EAAEhe,EAAEypB,QAAQ,aAAazpB,IAAIc,EAAEd,EAAEk7W,SAASzpT,GAAE,IAAK1xD,EAAE4hB,MAAQ,EAAF1hB,EAAIF,EAAE0pB,OAAS,EAAFzL,EAAIje,EAAEm7W,SAAW,EAAFp6W,EAAIb,GAAE,EAAG,WAC3eD,IAAIC,EAAED,EAAE8lG,OAAO9nF,EAAEje,EAAE66W,eAAev4I,EAAEpiO,GAAGF,EAAE+lG,OAAOs1Q,GAAGp9V,GAAG/d,KAAKiiO,KAAK,SAASliO,KAAKD,EAAE4T,KAAKuuN,EAAEjiO,IAAIA,KAAKkiO,IAAIpiO,EAAEg7W,YAAW,GAAI96W,GAAE,IAAKwxD,GAAGxxD,EAAEF,EAAEm7W,SAASx8C,GAAE3+T,EAAE+lG,QAAQr0C,IAAIxxD,GAAGF,EAAEm7W,WAAWG,GAAGt7W,EAAE+lG,UAAU/lG,EAAE+lG,OAAO/lG,EAAE66W,eAAeS,GAAGt7W,EAAEm7W,YAAY,SAASx5W,EAAE1B,GAAGD,EAAEu7W,YAAY,MAAMt7W,EAAE66W,OAAO96W,EAAEu7W,YAAY,MAAMt7W,EAAE86W,kBAAkB/6W,EAAEu7W,YAAY,MAAMt7W,EAAEi7W,YAAYl7W,EAAEu7W,YAAY,KAAKt7W,EAAEg7W,iBAAiB,SAASn6W,IAAI4nC,EAAE3oC,KAAKmD,MAAMA,KAAKm8J,QAAQn8J,KAAKmuQ,QAAQ,EAAEnuQ,KAAK2I,KAAK,KAAK3I,KAAKs4W,WAAU,EAAGt4W,KAAK83G,QAAQ,KAAK93G,KAAKu4W,WAC/e,EAAG,SAASrtK,EAAEpuM,EAAEC,GAAG,IAAIC,EAAE,KAAwG,GAAnGq6W,EAAGt6W,GAAGC,EAAED,EAAEA,IAAIwoE,EAAEzoE,EAAEC,GAAG,MAAMA,IAAID,EAAEqxQ,QAAY,EAAJpxQ,EAAE6O,GAAK,MAAM7O,IAAID,EAAEq/J,QAAY,EAAJp/J,EAAEwU,GAAK8lW,EAAGt6W,EAAE4L,QAAQ3L,EAAED,EAAE4L,OAAU5L,EAAE0pE,KAAK,CAAC,IAAI1rD,EAAE4L,EAAEk7L,cAAchkN,EAAE8oB,EAAEm7L,eAAehlN,EAAE4hB,MAAM5hB,EAAE4hB,OAAO3D,EAAEje,EAAEqxQ,QAAQrxQ,EAAE0pB,OAAO1pB,EAAE0pB,QAAQ3oB,EAAEf,EAAEq/J,QAAQr/J,EAAEy7W,WAAU,OAAQ,GAAIv7W,GAAwE,GAAGw8C,GAAEx8C,GAAGF,EAAEm7W,SAASn7W,EAAEm7W,UAAU,EAAEn7W,EAAE6L,KAAK3L,EAAE,SAASD,GAAG,OAAOD,EAAE4T,OAAO5T,EAAE4T,KAA2C,EAAtCykW,GAAGl3W,OAAOkB,UAAU2a,SAASjd,KAAKG,UAAY,GAAGo6W,EAAGp6W,GAAG,CAC5c,OAD6cF,EAAEm7W,SAASn7W,EAAEm7W,UAAU,EAAEl9V,EAAE/d,EAAEa,EACnfkd,EAAEpe,OAAcG,EAAE4T,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK7S,EAAE+N,EAAEkpW,UAAUh4W,EAAE4T,KAAK7S,GAAGA,EAAEwN,IAAI0P,GAAGje,EAAE6L,KAAK9K,EAAE,MAAM,KAAK,MAAMf,EAAE6L,KAAKsyU,EAAGlgU,GAAGje,EAAEo7W,UAAU,EAAEp7W,EAAEw7W,WAAU,OAAQ,GAAGtD,EAAGh4W,GAAG,CAAC+d,EAAE/d,EAAE2L,KAAKtH,MAAM0J,QAAQgQ,IAAI,OAAOje,EAAE4T,OAAO5T,EAAE4T,KAA2C,EAAtCykW,GAAGl3W,OAAOkB,UAAU2a,SAASjd,KAAKke,KAAWld,EAAEb,EAAE4hC,MAAR,IAAyB4G,EAAE7nC,EAAEqB,EAAEic,EAAjBuzC,EAAExxD,EAAEipC,OAAe,IAAIpoC,EAAElB,QAAQqC,EAAEnB,EAAE,GAAGod,EAAEuzC,EAAE,IAAIvzC,EAAEjc,EAAE,EAAEwmC,EAAE3nC,EAAE,GAAGF,EAAEE,EAAE,GAAGA,EAAE2wD,EAAE,GAAGA,EAAEA,EAAE,GAAG1xD,EAAEo7W,UAAU,EAAEp7W,EAAE4hB,MAAM8mB,EAAE1oC,EAAE0pB,OAAO7oB,EAAEb,EAAEm7W,SAASj5W,EAAElC,EAAE+lG,OAAO/lG,EAAE66W,eAAeS,GAAGp5W,GAAGlC,EAAEw7W,WAAU,EAAG9yU,EAAEvqB,EAAEje,EAAEA,EAAEqc,OAAOra,EAAElC,EAAE4hB,MAAMzD,EAAEne,EAAE0pB,OAAO7oB,EAAEb,EAAEm7W,SACtf,IAAI,IAAI1mW,EAAE3F,EAAEkpW,UAAU,QAAQh4W,EAAE4T,KAAK,KAAK5T,EAAE4T,KAAK1R,EAAEic,EAAEtd,GAAGy5T,EAAE,EAAEohD,EAAG,EAAEA,EAAGv9V,IAAIu9V,EAAG,IAAI,IAAIC,EAAG,EAAEA,EAAGz5W,IAAIy5W,EAAG,IAAI,IAAIlkV,EAAG,EAAEA,EAAG52B,IAAI42B,EAAGhjB,EAAE6lT,KAAKr8S,EAAEld,EAAE46W,EAAGjqT,EAAEgqT,EAAGhzU,EAAEjR,EAAGv3B,GAAGu6W,EAAGz6W,EAAEyU,QAAQ,GAAG3N,EAAG5G,KAAK07W,IAAI90W,EAAG5G,KAAKi8P,GAAGr1P,EAAG5G,KAAK07W,GAAG57W,EAAEg7G,QAAQ96G,EAAEF,EAAEg7G,QAAQ96G,EAAE2gB,OAAO7gB,EAAE4hB,MAAM5hB,EAAEg7G,QAAQp5F,MAAM5hB,EAAE0pB,OAAO1pB,EAAEg7G,QAAQtxF,OAAO1pB,EAAEm7W,SAAS,OAAO,GAAGr0W,EAAG5G,KAAK27W,GAAG77W,EAAEg7G,QAAQ96G,EAAEF,EAAE4hB,MAAM1hB,EAAE0hB,MAAM5hB,EAAE0pB,OAAOxpB,EAAEwpB,OAAO1pB,EAAEm7W,SAAS,OAAO,GAAGr0W,EAAG5G,KAAKmqM,GAAGrqM,EAAEg7G,QAAQ96G,EAAEF,EAAE4hB,MAAM1hB,EAAE47W,aAAa97W,EAAE0pB,OAAOxpB,EAAE67W,cAAc/7W,EAAEm7W,SAAS,OAAO,GAAGr0W,EAAG5G,KAAK87W,GAAGh8W,EAAEg7G,QAAQ96G,EAAEF,EAAE4hB,MAC/e1hB,EAAE+7W,WAAWj8W,EAAE0pB,OAAOxpB,EAAEg8W,YAAYl8W,EAAEm7W,SAAS,OAAO,GAAG9vH,EAAGnrP,GAAG,CAAiH,IAAhH+d,EAAEje,EAAE4hB,OAAO1hB,EAAE,GAAGL,OAAOkB,EAAEf,EAAE0pB,QAAQxpB,EAAEL,OAAO6xD,EAAE1xD,EAAEm7W,SAASzpT,EAAEqmB,EAAG73E,EAAE,GAAG,IAAIwxD,GAAGxxD,EAAE,GAAG,GAAGL,OAAO6xD,GAAG,EAAEhpB,EAAEyzU,GAAGr6U,MAAM5hC,GAAGgC,EAAE,EAAMic,EAAE,EAAEA,EAAEuqB,EAAE7oC,SAASse,EAAEjc,GAAGwmC,EAAEvqB,GAAGjc,EAAE4M,EAAEkpW,UAAU,QAAQh4W,EAAE4T,KAAK,KAAK5T,EAAE4T,KAAK1R,GAAGi6W,GAAG/4G,QAAQljQ,EAAEwoC,EAAE,GAAGxmC,GAAGu4W,EAAGz6W,EAAEkC,GAAGlC,EAAEo7W,UAAU,EAAEp7W,EAAE4hB,MAAM3D,EAAEje,EAAE0pB,OAAO3oB,EAAEf,EAAEm7W,SAASzpT,EAAE1xD,EAAE+lG,OAAO/lG,EAAE66W,eAAeS,GAAG5pT,GAAG1xD,EAAEw7W,WAAU,QAHzGx7W,EAAE4hB,MAAM5hB,EAAE4hB,OAAO,EAAE5hB,EAAE0pB,OAAO1pB,EAAE0pB,QAAQ,EAAE1pB,EAAEm7W,SAASn7W,EAAEm7W,UAAU,EAG8C,SAAS91W,EAAEpF,EAAEC,EAAEa,EAAE2wD,EAAEhpB,GAAG,IAAI7e,EAAE5pB,EAAE+6G,QAAQn6G,EAAEZ,EAAE4L,KAAKxG,EAAEpF,EAAE46W,eAAe34W,EAAEjC,EAAE8lG,OAAO5nF,EAAEle,EAAE2T,KAAKa,EAAExU,EAAE2hB,MAAM04S,EAAEr6T,EAAEypB,OAAO/nB,EAAE1B,GAAG4pB,EAAE7pB,EAAEw+H,cAAct+H,EAC1fwoC,EAAE3nC,EAAE2wD,EAAExvD,EAAEic,EAAE0L,GAAG5pB,EAAE+6W,WAAWh7W,EAAEo8W,wBAAwBl8W,EAAEwoC,EAAE3nC,EAAE2wD,EAAErsD,EAAEoP,EAAE6lT,EAAEz5T,GAAGZ,EAAEw7W,WAAWx9V,IAAIje,EAAEq8W,kBAAkBn8W,EAAEwoC,EAAE3nC,EAAE2wD,EAAEzxD,EAAEoxQ,QAAQpxQ,EAAEo/J,QAAQ5qJ,EAAE6lT,IAAIt6T,EAAEw+H,cAAct+H,EAAEwoC,EAAE3nC,EAAE2wD,EAAEj9C,EAAE6lT,EAAEp4T,EAAEic,EAAEtd,GAAG,SAAS6wD,IAAI,OAAO6G,GAAE1yD,OAAO,IAAI/E,EAAE,SAASD,EAAEb,GAAGA,EAAEw7W,WAAW1sW,EAAEmpW,SAASj4W,EAAE6L,MAAM/K,EAAEf,KAAKC,GAAGu4D,GAAE70D,KAAK1D,GAAG,SAAS+D,IAAI2kC,EAAE3oC,KAAKmD,MAAMA,KAAKo5W,YAAW,EAAGp5W,KAAKq5W,WAAW,KAAKr5W,KAAKs5W,QAAQ,EAAEt5W,KAAK2qR,OAAOtpR,MAAM,IAAI,SAASa,EAAEpF,EAAEC,EAAEC,GAAG,IAAIa,EAAEf,EAAE6tR,OAAO,GAAGn8N,IAAI1xD,EAAEw8W,QAAQ,EAAEz7W,EAAE6gB,MAAM5hB,EAAE4hB,MAAM3hB,EAAEc,EAAE2oB,OAAO1pB,EAAE0pB,OAAOxpB,EAAEa,EAAEo6W,SAASn7W,EAAEm7W,SAAS,EAAE,SAAStiT,EAAE74D,EACxfC,GAAG,IAAIC,EAAE,KAAK,GAAGq6W,EAAGt6W,GAAGC,EAAEF,EAAE6tR,OAAO,GAAGn8N,IAAInwD,EAAErB,EAAEF,GAAGouM,EAAEluM,EAAED,GAAGD,EAAEw8W,QAAQ,OAAO,GAAG/zS,EAAEzoE,EAAEC,GAAGsE,MAAM0J,QAAQhO,EAAEw8W,QAAQ,IAAI,IAAI17W,EAAEd,EAAEw8W,OAAOx+V,EAAE,EAAEA,EAAEld,EAAElB,SAASoe,EAAE/d,EAAEF,EAAE6tR,OAAO5vQ,GAAGyzC,IAAInwD,EAAErB,EAAEF,GAAGE,EAAE0hB,QAAQ3D,EAAE/d,EAAEwpB,SAASzL,EAAEmwL,EAAEluM,EAAEa,EAAEkd,IAAIje,EAAEw8W,SAAS,GAAGv+V,OAAO/d,EAAEF,EAAE6tR,OAAO,GAAGn8N,IAAInwD,EAAErB,EAAEF,GAAGouM,EAAEluM,EAAED,GAAGD,EAAEw8W,QAAQ,EAAEj7W,EAAEvB,EAAEA,EAAE6tR,OAAO,IAAI,SAAS1/E,EAAEluM,EAAEC,GAAG,IAAI,IAAIa,EAAEd,EAAE4tR,OAAOn8N,EAAE,EAAEA,EAAE3wD,EAAElB,QAAQkB,EAAE2wD,KAAKA,EAAE,CAAC,IAAIhpB,EAAE3nC,EAAE2wD,GAAG7nC,EAAE3pB,EAAEW,EAAE6wD,EAAErsD,EAAEqjC,EAAEsyE,QAAQ94G,EAAEwmC,EAAE78B,KAAKsS,EAAEuqB,EAAEmyU,eAAepmW,EAAEi0B,EAAEq9D,OAAOu0N,EAAE5xR,EAAE90B,KAAK8nW,EAAGhzU,EAAE9mB,MAAM+5V,EAAGjzU,EAAEhf,OAAO+N,EAAGiR,EAAEyyU,SAASx5W,EAAE+mC,GAAGrjC,EAAErF,EAAEu8H,WAAW1yG,EAAEhpB,EAAE4T,EAAEA,EAAE6lT,EAAEj1T,GAAGqjC,EAAEsyU,WAClfh7W,EAAE08W,qBAAqB7yV,EAAEhpB,EAAEsd,EAAEu9V,EAAGC,EAAG,EAAEz5W,GAAGwmC,EAAE+yU,WAAWx9V,IAAIje,EAAE28W,eAAe9yV,EAAEhpB,EAAE4T,EAAEi0B,EAAE2oO,QAAQ3oO,EAAE22H,QAAQq8M,EAAGC,EAAG,MAAMjzU,GAAGxmC,KAAKA,EAAE4M,EAAEu0U,KAAK20B,UAAU19C,EAAEohD,EAAGC,EAAGlkV,IAAKz3B,EAAEu8H,WAAW1yG,EAAEhpB,EAAE4T,EAAEinW,EAAGC,EAAG,EAAElnW,EAAE6lT,EAAEp4T,GAAGwmC,GAAGxmC,GAAG4M,EAAEu0U,KAAK40B,SAAS/1W,KAAK,SAASmsM,IAAI,IAAIruM,EAAE69U,GAAGh4U,OAAO,IAAI9B,EAAE2kC,EAAE3oC,KAAKC,GAAG,IAAI,IAAIC,EAAED,EAAEw8W,QAAQ,EAAE,GAAGv8W,IAAIA,EAAED,EAAE6tR,OAAO5tR,GAAG,KAAK,OAAOD,EAAE,SAAS48W,EAAG58W,GAAG,IAAI,IAAIC,EAAED,EAAE6tR,OAAO3tR,EAAE,EAAEA,EAAED,EAAEJ,SAASK,EAAED,EAAEC,IAAIW,EAAEZ,EAAEC,IAAID,EAAEC,GAAG,KAAK29U,GAAGn6U,KAAK1D,GAAG,SAASuP,IAAIrM,KAAKg9H,UAAUh9H,KAAK+8H,UAAU,KAAK/8H,KAAKi6H,MAAMj6H,KAAKg6H,MAAM,MAAMh6H,KAAK25W,YAAY,EAAE35W,KAAKo5W,YACvf,EAAGp5W,KAAKq5W,WAAW,KAAK,SAASjkT,EAAEt4D,EAAEC,GAAG,QAAQA,IAAID,EAAEigI,UAAU68O,EAAG78W,EAAEwI,KAAK,GAAGs0W,GAAGz3W,QAAQtF,EAAEigI,cAAc,UAAUhgI,KAAKD,EAAEs8W,YAAW,IAAK,QAAQr8W,IAAID,EAAEkgI,UAAU88O,EAAE/8W,EAAE2jG,MAAM,IAAI1jG,EAAEF,EAAEk9H,MAAMn8H,EAAEf,EAAEm9H,MAAM,GAAG,SAASl9H,EAAE,CAAC,IAAIge,EAAEhe,EAAE6L,KAAK,kBAAkBmS,EAAE/d,EAAEa,EAAEk8W,EAAEh/V,GAAG1Z,MAAM0J,QAAQgQ,KAAK/d,EAAE+8W,EAAEh/V,EAAE,IAAIld,EAAEk8W,EAAEh/V,EAAE,SAAS,UAAUhe,IAAIC,EAAE+8W,EAAEh9W,EAAEi9H,QAAQ,UAAUj9H,IAAIc,EAAEk8W,EAAEh9W,EAAEk9H,QAA6E,GAArEn9H,EAAEk9H,MAAMh9H,EAAEF,EAAEm9H,MAAMp8H,EAAE,gBAAgBd,IAAID,EAAE68W,YAAY58W,EAAE48W,aAAgB,WAAW58W,EAAE,CAAM,OAALC,GAAE,SAAiBD,EAAEw8W,QAAQ,IAAK,SAASz8W,EAAEu8W,WAAWjoC,EAAGr0U,EAAEw8W,QACnfv8W,EAAEF,EAAEs8W,YAAW,EAAG,MAAM,IAAK,UAAUp8W,EAAEF,EAAEs8W,WAAWr8W,EAAEw8W,OAAO,MAAM,IAAK,SAASz8W,EAAEs8W,YAAW,EAAGp8W,GAAE,GAAIA,GAAG,QAAQD,IAAID,EAAEigI,UAAU,OAAO,SAAS5yB,EAAEntG,EAAEa,GAAGf,EAAEi/H,cAAcl+H,EAAE,MAAMb,EAAE+/H,WAAWjgI,EAAEi/H,cAAcl+H,EAAE,MAAMb,EAAEggI,WAAWlgI,EAAEi/H,cAAcl+H,EAAE,MAAMb,EAAEg9H,OAAOl9H,EAAEi/H,cAAcl+H,EAAE,MAAMb,EAAEi9H,OAAOl9H,EAAEi9W,gCAAgCl9W,EAAEi/H,cAAcl+H,EAAE,MAAMb,EAAE28W,aAAa38W,EAAEo8W,aAAat8W,EAAEwsM,KAAK,MAAMtsM,EAAEq8W,YAAYv8W,EAAE6gI,eAAe9/H,IAAI,SAASmhO,EAAEjiO,GAAGyoC,EAAE3oC,KAAKmD,MAAMA,KAAKs5W,QAAQ,EAAEt5W,KAAK23W,eAAe,KAAK33W,KAAKoJ,GACvfwrB,KAAK50B,KAAKi6W,SAAS,EAAEj6W,KAAKqtB,OAAOtwB,EAAEiD,KAAKyH,QAAQ3K,EAAEmJ,gBAAgBjG,KAAKs9H,MAAM,EAAEt9H,KAAKk6W,UAAU,EAAEl6W,KAAKm6W,QAAQ,IAAI9tW,EAAEhN,EAAEmjN,UAAUxiN,KAAKwyC,MAAM,CAACvxB,KAAK,IAAI,SAAS4nD,EAAE9rE,GAAGD,EAAEygI,cAAc,OAAOzgI,EAAEg/H,YAAY/+H,EAAEswB,OAAOtwB,EAAE0K,SAAS,SAAS2yW,IAAK,IAAIr9W,EAAE23U,GAAG,GAAG33U,EAAED,EAAEg/H,YAAY/+H,EAAEswB,OAAOtwB,EAAE0K,SAAS3K,EAAEg/H,YAAY,KAAK,MAAM,SAASs5D,EAAEr4L,GAAG,IAAIC,EAAED,EAAE0K,QAAQsT,EAAEhe,EAAEugI,KAAK9uE,EAAEzxD,EAAEswB,OAAO,GAAGtS,IAAIje,EAAEygI,cAAc,MAAMxiH,GAAGje,EAAEg/H,YAAYttE,EAAE,MAAMkmR,GAAG35T,GAAG,MAAMje,EAAE4gI,cAAc1gI,GAAGD,EAAE0K,QAAQ,KAAK1K,EAAEuwG,OAAO,KAAKvwG,EAAEs9W,OAAO,KAAKt9W,EAAEk9W,SAAS,SAASh9V,GAAElgB,EAAEqM,IAC5fvL,EAAEy8W,eAAe,IAAIlpC,EAAG,CAAC,aAAa,KAAK,YAAY,KAAKsR,KAAK,KAAK63B,KAAK,MAAMR,EAAE,CAAC32S,OAAO,MAAM/yD,MAAM,MAAMs5C,OAAO,OAAOmwT,EAAE,CAACU,QAAQ,KAAKzsO,OAAO,MAAM6rO,EAAGx2H,EAAE,CAACm2H,OAAO,KAAK,yBAAyB,KAAK,wBAAwB,KAAK,wBAAwB,KAAK,uBAAuB,MAAMO,GAAG/jQ,EAAG,CAAC0kQ,KAAK,EAAE/2I,QAAQ,OAAOzE,EAAE,CAAClzF,MAAM,KAAK2uO,MAAM,MAAMC,OAAO,MAAM,UAAU,OAAOv7I,EAAE,CAACh3J,MAAM,KAAKwyS,UAAU,KAAK,kBAAkB,KAAKt1W,IAAI,KAAKK,KAAK,KAAK+0W,MAAM,MAAM,UAAU,MAAMC,OAAO,OAAOz7I,EAAE,GAAGniO,EAAE89W,WAC3ez7I,EAAE07I,KAAK,MAAM17I,EAAE27I,MAAM,OAAOh+W,EAAEi+W,oBAAoB/7I,EAAE/nG,QAAQ+nG,EAAE,SAAS,MAAMliO,EAAEk+W,yBAAyBh8I,EAAEi8I,QAAQj8I,EAAE,cAAc,OAAOliO,EAAEo+W,sBAAsB/3H,EAAEhkB,EAAE,CAAC5rD,MAAM,KAAK,gBAAgB,QAAQ4vE,EAAEnkB,EAAE,CAAC43I,OAAO,KAAKC,OAAO,KAAK,gBAAgB,SAAS/5W,EAAEq+W,+BAA+Bh4H,EAAElkB,EAAE,CAAC,gBAAgB,MAAM,iBAAiB,MAAM,iBAAiB,MAAM,iBAAiB,QAAQniO,EAAEs+W,8BAA8Bj4H,EAAElkB,EAAE,CAAC,UAAU,MAAM,0BAA0B,MAAM,8BAA8B,QACtfniO,EAAEu+W,gCAAgCl4H,EAAElkB,EAAE,CAAC,mBAAmB,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,oBAAoB,QAAQniO,EAAEw+W,gCAAgCr8I,EAAE,YAAY,OAAO,IAAIs8I,EAAGn6W,MAAMlC,UAAUwC,MAAM9E,KAAKC,EAAEo8H,aAAa,QAAQj7H,OAAO8mD,KAAKm6K,GAAGhrK,SAAQ,SAASp3D,GAAG,IAAIC,EAAEmiO,EAAEpiO,GAAG,GAAG0+W,EAAGp5W,QAAQrF,KAAKqiO,EAAEtiO,GAAGC,MAAK,IAAIwqU,EAAGtpU,OAAO8mD,KAAKq6K,GAAGpiO,EAAEy+W,eAAel0C,EAAG,IAAIqtC,EAAE,GAAG32W,OAAO8mD,KAAKq6K,GAAGlrK,SAAQ,SAASp3D,GAAG83W,EAAEx1I,EAAEtiO,IAAIA,KAAI,IAAIwyD,EAAG,GAAGrxD,OAAO8mD,KAAKk6K,GAAG/qK,SAAQ,SAASp3D,GAAGwyD,EAAG2vK,EAAEniO,IAAIA,KAAI,IAAI4+W,EAAG,GAAGz9W,OAAO8mD,KAAK+0T,GAAG5lT,SAAQ,SAASp3D,GAAG4+W,EAAG5B,EAAEh9W,IACxhBA,KAAI,IAAI6+W,EAAG,GAAG19W,OAAO8mD,KAAK60T,GAAI1lT,SAAQ,SAASp3D,GAAG6+W,EAAG/B,EAAG98W,IAAIA,KAAI,IAAIk+U,GAAG,GAAG/8U,OAAO8mD,KAAKg1T,GAAG7lT,SAAQ,SAASp3D,GAAGk+U,GAAG++B,EAAEj9W,IAAIA,KAAI,IAAIq7W,GAAG5wC,EAAGroO,QAAO,SAASpiG,EAAEC,GAAG,IAAIC,EAAEoiO,EAAEriO,GAA0H,OAAvH,OAAOC,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,OAAOA,GAAG,QAAQA,EAAEF,EAAEE,GAAGA,EAAE,QAAQA,GAAG,GAAGD,EAAEqF,QAAQ,QAAQtF,EAAEE,GAAG,KAAKF,EAAEE,GAAG,KAAYF,IAAG,IAAIu4D,GAAE,GAAGslR,GAAG,GAAG/lT,GAAG,EAAE3X,GAAE,GAAG2+V,GAAG5+W,EAAE6+W,gBAAgBnnC,GAAGrzU,MAAMu6W,IAAIljU,KAAI,WAAW,OAAO,QACO,OADA0qM,EAAEpkB,EAAE7/N,UAAU,CAACJ,KAAK,WAAWiB,KAAKk6W,WAAW,EAAE,IAAIn9W,EAAEiD,KAAKs9H,KAAK,GAAG,EAAEvgI,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAE4+W,KAAK5+W,EAAE,CAAC,IAAI+d,EAAE25T,GAAG13U,GAAG,GAAG+d,EAAE,CAAC,GAAG,EAAEA,EAAEm/V,UAAU,SAC/fn/V,EAAEuiH,MAAM,EAAEo3M,GAAG13U,GAAGgD,KAAKjD,EAAEC,EAAE,MAAMqC,EAAEmjN,SAAS3kN,EAAEg+W,gBAAgB9+W,EAAE,IAAIc,EAAEg+W,gBAAgB9+W,EAAE,GAAGiD,KAAKs9H,KAAKvgI,EAAED,EAAEygI,cAAc,MAAMxgI,GAAGD,EAAEg/H,YAAY97H,KAAKqtB,OAAOrtB,KAAKyH,SAAS,OAAO1K,GAAGkN,OAAO,aAAajK,KAAKk6W,WAAW4B,OAAO,WAAW,KAAK97W,KAAKi6W,UAAU7kL,EAAEp1L,SAASX,EAAEmjN,UAAU3kN,EAAEk+W,oBAAoB,WAAW,IAAIj/W,EAAE,EAA0D,OAAxDmB,OAAO8mD,KAAK9nC,IAAGi3C,SAAQ,SAASn3D,GAAGD,GAAGmgB,GAAElgB,GAAGy1C,MAAMvxB,QAAcnkB,IAAU,CAACk/W,SAAS,SAASj/W,EAAEC,GAAG,SAAS+d,EAAEje,EAAEC,GAAG,IAAIC,EAAEwoC,EAAE20U,QAAQ9tW,EAAExP,KAAKG,GAAG,IAAIa,EAAEstM,IAChB,MADoB,kBAAkBruM,EACjeoF,EAAErE,EAAI,EAAFf,EAD+d,kBAAkBC,EAC3e,EAAFA,EAAe,EAAFD,GAAKA,GAAGs4D,EAAEp4D,EAAEF,GAAG64D,EAAE93D,EAAEf,IAAIoF,EAAErE,EAAE,EAAE,GAAGb,EAAEo8W,aAAav7W,EAAEy7W,SAASz7W,EAAE6gB,OAAO,GAAG,GAAG8mB,EAAE8zU,QAAQz7W,EAAEy7W,QAAQj7W,EAAEmnC,EAAE3nC,GAAG2nC,EAAEmyU,eAAe95W,EAAE85W,eAAe58V,EAAE2D,MAAM7gB,EAAE6gB,MAAM3D,EAAEyL,OAAO3oB,EAAE2oB,OAAOqiD,EAAErjC,GAAGylK,EAAEptM,EAAE,MAAMssG,EAAEntG,EAAE,MAAMo9W,IAAKV,EAAG77W,GAAGwB,EAAEmjN,UAAUh9K,EAAEgN,MAAMvxB,KAAKu2V,EAAGhyU,EAAEmyU,eAAenyU,EAAE90B,KAAK7S,EAAE6gB,MAAM7gB,EAAE2oB,OAAOxpB,EAAEo8W,YAAW,IAAKr+V,EAAE8nF,OAAO+xQ,EAAEpvU,EAAEmyU,gBAAgB58V,EAAErK,KAAK4+C,EAAG9pB,EAAE90B,MAAMqK,EAAE2lF,IAAIg7Q,EAAG1+W,EAAEggI,WAAWjiH,EAAExV,IAAIo2W,EAAG3+W,EAAE+/H,WAAWhiH,EAAEi/G,MAAMghN,GAAGh+U,EAAEg9H,OAAOj/G,EAAEk/G,MAAM+gN,GAAGh+U,EAAEi9H,OAAcl/G,EAAE,IAAIyqB,EAAE,IAAIw5L,EAAE,MAExQ,OAF8Q/hN,GAAEuoB,EAAEp8B,IAAIo8B,EAAE3nC,EAAEy8W,eAAev/V,EAAEhe,EACnfC,GAAG+d,EAAEkhW,SAAS,SAASn/W,EAAEC,EAAEC,EAAEa,GAAGd,GAAG,EAAEC,GAAG,EAAEa,GAAG,EAAE,IAAImB,EAAEwvD,IAAyI,OAArInwD,EAAEW,EAAEwmC,GAAGxmC,EAAE0f,MAAM,EAAE1f,EAAEwnB,OAAO,EAAE0kL,EAAElsM,EAAElC,GAAGkC,EAAE0f,MAAM1f,EAAE0f,QAAQ8mB,EAAE9mB,OAAO7gB,GAAGd,EAAEiC,EAAEwnB,OAAOxnB,EAAEwnB,SAASgf,EAAEhf,QAAQ3oB,GAAGb,EAAE6rE,EAAErjC,GAAGrjC,EAAEnD,EAAE,KAAKjC,EAAEC,EAAEa,GAAGu8W,IAAKz8W,EAAEqB,GAAU+b,GAAGA,EAAE00M,OAAO,SAAS1yN,EAAEC,GAAG,IAAIa,EAAI,EAAFd,EAAIyxD,EAAI,EAAFxxD,GAAKa,EAAE,GAAGA,IAAI2nC,EAAE9mB,OAAO8vC,IAAIhpB,EAAEhf,OAAO,OAAOzL,EAAEA,EAAE2D,MAAM8mB,EAAE9mB,MAAM7gB,EAAEkd,EAAEyL,OAAOgf,EAAEhf,OAAOgoC,EAAEqa,EAAErjC,GAAG,IAAI,IAAIxmC,EAAEic,EAAEuqB,EAAEyyU,SAAS1mW,EAAEi0B,EAAE90B,KAAK0mT,EAAE,EAAE5xR,EAAE8zU,SAASliD,IAAIA,EAAE,CAAC,IAAIohD,EAAG36W,GAAGu5T,EAAEqhD,EAAGjqT,GAAG4oQ,EAAE,IAAIohD,IAAKC,EAAG,MAAMz5W,EAAE4M,EAAEu0U,KAAK20B,UAAUvjW,EAAEinW,EAAGC,EAAGx9V,GAAGne,EAAEu8H,WAAW,KAAK+9L,EAAE5xR,EAAEq9D,OAAO21Q,EAAGC,EAAG,EAAEjzU,EAAEq9D,OAAOr9D,EAAE90B,KAAK1R,GAClfA,GAAG4M,EAAEu0U,KAAK40B,SAAS/1W,GAAwE,OAArEo7W,IAAK/6W,EAAEmjN,UAAUh9K,EAAEgN,MAAMvxB,KAAKu2V,EAAGhyU,EAAEmyU,eAAenyU,EAAE90B,KAAK7S,EAAE2wD,GAAE,GAAG,IAAYzzC,GAAGA,EAAEi7V,UAAU,YAAYj7V,EAAEmhW,SAAS12U,EAAEnmC,EAAEmjN,UAAUznM,EAAEy3B,MAAMhN,EAAEgN,OAAOz3B,EAAEkY,QAAQ,WAAWuS,EAAEs2U,UAAiB/gW,GAAGohW,WAAW,SAASp/W,EAAEC,EAAE+d,EAAEyqB,EAAE7e,EAAEyqT,GAAI,SAASh8I,EAAEt4L,EAAEC,EAAEC,EAAEa,EAAEkd,EAAEyqB,GAAG,IAAIsrP,EAAE11P,EAAEx9B,EAAEu8W,QAAkB,IAAV9tW,EAAExP,KAAKu+B,GAAO01P,EAAE,EAAE,EAAEA,IAAIA,EAAE9xR,EAAE8xR,GAAG3lF,IAAI,GAAG,kBAAkBruM,GAAIA,GAA4C,GAAG,kBAAkBA,EAAE,GAAGC,EAAE44D,EAAE32D,EAAE,GAAGlC,GAAG64D,EAAE32D,EAAE,GAAGjC,GAAG44D,EAAE32D,EAAE,GAAGhC,GAAG24D,EAAE32D,EAAE,GAAGnB,GAAG83D,EAAE32D,EAAE,GAAG+b,GAAG46C,EAAE32D,EAAE,GAAGwmC,QAAQ,GAAG4vB,EAAEh6B,EAAEt+B,GAAGyoE,EAAE3nE,EAAEd,GAAG,UACpfA,EAAE,IAAIA,EAAEA,EAAE24D,MAAMq7N,EAAE,EAAE,EAAEA,IAAIA,EAAEzyR,EAAEW,EAAE8xR,GAAGlzR,GAAG+3D,EAAE32D,EAAE8xR,GAAGh0R,EAAEg0R,SAAS,IAAIA,EAAE,EAAE,EAAEA,IAAIA,EAAEn7N,EAAE32D,EAAE8xR,GAAGh0R,QAD6Q,IAAIA,EAAI,EAAFA,GAAK,EAAEg0R,EAAE,EAAE,EAAEA,IAAIA,EAAE5uR,EAAElD,EAAE8xR,GAAGh0R,EAAEA,GAC1J,IAAlJuB,EAAET,EAAEoB,EAAE,IAAIpB,EAAE07W,QAAQl+U,EAAEg+U,YAAYp6W,EAAE,GAAG0f,OAAO,GAAG,EAAE1f,EAAE,GAAGs6W,QAAQ17W,EAAE+5W,eAAe34W,EAAE,GAAG24W,eAAeviL,EAAE12K,MAAM1f,EAAE,GAAG0f,MAAM02K,EAAE5uK,OAAOxnB,EAAE,GAAGwnB,OAAOqiD,EAAEjrE,GAAOkzR,EAAE,EAAE,EAAEA,IAAIA,EAAE7lF,EAAEjsM,EAAE8xR,GAAG,MAAMA,GAA6O,IAA1O3mL,EAAE/uE,EAAE,OAAOg/U,IAAK/6W,EAAEmjN,UAAU5kN,EAAE40C,MAAMvxB,KAAKu2V,EAAG55W,EAAE+5W,eAAe/5W,EAAE8S,KAAK0kL,EAAE12K,MAAM02K,EAAE5uK,OAAO4U,EAAEg+U,YAAW,IAAKhkL,EAAEvyF,OAAO+xQ,EAAEh3W,EAAE+5W,gBAAgBviL,EAAE1kL,KAAK4+C,EAAG1xD,EAAE8S,MAAM0kL,EAAE10F,IAAIg7Q,EAAGtgV,EAAE4hG,WAAWo4D,EAAE7vL,IAAIo2W,EAAGvgV,EAAE2hG,WAAWq4D,EAAEp7D,MAAMghN,GAAG5/S,EAAE4+F,OAAOo7D,EAAEn7D,MAAM+gN,GAAG5/S,EAAE6+F,OAAW62J,EAAE,EAAE,EACtfA,IAAIA,EAAE4oF,EAAG16W,EAAE8xR,IAAI,OAAO17F,EAAE,IAAIx3L,EAAE,IAAIohO,EAAE,OAAO/hN,GAAErf,EAAEwL,IAAIxL,EAAEC,EAAEu+W,YAAY,IAAIp9W,EAAEqC,MAAM,GAC8G,OAD3G+zL,EAAEr4L,EAAEC,EAAE+d,EAAEyqB,EAAE7e,EAAEyqT,GAAIh8I,EAAE6mL,SAAS,SAASn/W,EAAEC,EAAEC,EAAEgC,EAAEnB,GAAGb,GAAG,EAAEgC,GAAG,EAAEnB,GAAG,EAAE,IAAIkd,EAAEyzC,IAA4I,OAAxInwD,EAAE0c,EAAEnd,GAAGmd,EAAE2D,MAAM,EAAE3D,EAAEyL,OAAO,EAAE0kL,EAAEnwL,EAAEhe,GAAGge,EAAE2D,MAAM3D,EAAE2D,QAAQ9gB,EAAE8gB,OAAO7gB,GAAGb,EAAE+d,EAAEyL,OAAOzL,EAAEyL,SAAS5oB,EAAE4oB,QAAQ3oB,GAAGmB,EAAE6pE,EAAEjrE,GAAGuE,EAAE4Y,EAAE,MAAMje,EAAEE,EAAEgC,EAAEnB,GAAGu8W,IAAKz8W,EAAEod,GAAUq6K,GAAGA,EAAEq6B,OAAO,SAAS1yN,GAAQ,GAALA,GAAG,EAAKA,IAAIa,EAAE8gB,MAAM,CAAC02K,EAAE12K,MAAM9gB,EAAE8gB,MAAM3hB,EAAEq4L,EAAE5uK,OAAO5oB,EAAE4oB,OAAOzpB,EAAE8rE,EAAEjrE,GAAG,IAAI,IAAIZ,EAAE,EAAE,EAAEA,IAAIA,EAAE,IAAI,IAAIgC,EAAE,EAAEpB,EAAE07W,SAASt6W,IAAIA,EAAElC,EAAEu8H,WAAW,MAAMr8H,EAAEgC,EAAEpB,EAAEilG,OAAO9lG,GAAGiC,EAAEjC,GAAGiC,EAAE,EAAEpB,EAAEilG,OAAOjlG,EAAE8S,KAAK,MACja,OADua0pW,IACpf/6W,EAAEmjN,UAAU5kN,EAAE40C,MAAMvxB,KAAKu2V,EAAG55W,EAAE+5W,eAAe/5W,EAAE8S,KAAK0kL,EAAE12K,MAAM02K,EAAE5uK,QAAO,GAAG,IAAY4uK,IAAIA,EAAE4gL,UAAU,cAAc5gL,EAAE8mL,SAASt+W,EAAEyB,EAAEmjN,UAAUptB,EAAE5iJ,MAAM50C,EAAE40C,OAAO4iJ,EAAEniK,QAAQ,WAAWr1B,EAAEk+W,UAAiB1mL,GAAG70J,MAAM,WAAW,IAAI,IAAIxjC,EAAE,EAAEA,EAAE6+W,KAAK7+W,EAAED,EAAEygI,cAAc,MAAMxgI,GAAGD,EAAEg/H,YAAY,KAAK,MAAM44M,GAAG33U,GAAG,KAAK08C,GAAEx8B,IAAGi3C,QAAQkhI,GAAGv3L,EAAEu+W,UAAU,EAAEv+W,EAAEy8W,aAAa,GAAG+B,WAAW,SAASv/W,GAAG,OAAO,MAAM63W,QAAQ,WAAW,IAAI,IAAI53W,EAAE,EAAEA,EAAE6+W,KAAK7+W,EAAE,CAAC,IAAIC,EAAE03U,GAAG33U,GAAGC,IAAIA,EAAEk9W,UAAU,EAAEl9W,EAAEsgI,MAAM,EAAEo3M,GAAG33U,GAAG,MAAM08C,GAAEx8B,IAAGi3C,SAAQ,SAASn3D,GAAGA,EAAE0K,QACtf3K,EAAEmJ,gBAAgBnJ,EAAEg/H,YAAY/+H,EAAEswB,OAAOtwB,EAAE0K,SAAS,IAAI,IAAIzK,EAAE,EAAE,GAAGA,IAAIA,EAAE,GAAG,KAAKD,EAAEu8W,QAAQ,GAAGt8W,GAAG,GAAG,OAAOD,EAAEswB,OAAOvwB,EAAEu8H,WAAW,KAAKr8H,EAAED,EAAE46W,eAAe56W,EAAE2hB,OAAO1hB,EAAED,EAAEypB,QAAQxpB,EAAE,EAAED,EAAE46W,eAAe56W,EAAE2T,KAAK,WAAW,IAAI,IAAI7S,EAAE,EAAE,EAAEA,IAAIA,EAAEf,EAAEu8H,WAAW,MAAMx7H,EAAEb,EAAED,EAAE46W,eAAe56W,EAAE2hB,OAAO1hB,EAAED,EAAEypB,QAAQxpB,EAAE,EAAED,EAAE46W,eAAe56W,EAAE2T,KAAK,MAAMy5F,EAAEptG,EAAEo9W,QAAQp9W,EAAEswB,aAAY,SAASivV,EAAGx/W,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,GAAG,SAASwB,EAAEvC,EAAEC,EAAEC,GAAGgD,KAAKqtB,OAAOvwB,EAAEkD,KAAKyH,QAAQ1K,EAAEiD,KAAKu8W,aAAav/W,EAAE,IAAIa,EAAEf,EAAE,EAAEC,GAAGD,EAAEC,EAAE2hB,MAAM7gB,EAAEd,EAAEypB,QAAQxpB,IAAIF,EAAEE,EAAE0hB,MAAM7gB,EAAEb,EAAEwpB,QACnfxmB,KAAK0e,MAAM5hB,EAAEkD,KAAKwmB,OAAO3oB,EAAE,SAAS2nC,EAAE1oC,GAAGA,IAAIA,EAAE2K,SAAS3K,EAAE2K,QAAQy0W,SAASJ,SAASh/W,EAAEy/W,cAAcz/W,EAAEy/W,aAAaC,cAAcV,UAAU,SAASz9W,EAAEvB,EAAEC,EAAEC,GAAGF,IAAIA,EAAE2K,QAAQ3K,EAAE2K,QAAQy0W,SAASjC,UAAU,EAAEn9W,EAAEy/W,aAAaC,cAAcvC,UAAU,GAAG,SAAS10S,EAAExoE,EAAEC,GAAGA,IAAIA,EAAEyK,QAAQ3K,EAAEqzO,qBAAqB,MAAMpzO,EAAEC,EAAEqwB,OAAOrwB,EAAEyK,QAAQy0W,SAASz0W,QAAQ,GAAG3K,EAAE0zO,wBAAwB,MAAMzzO,EAAE,MAAMC,EAAEu/W,aAAaC,cAAcD,eAAe,SAAS99W,EAAE3B,GAAG,IAAIC,EAAE,KAAKC,EAAE,KAAKa,EAAE,KAAKkd,EAAEje,EAC7V,MAD+V,kBAAkBA,IAAIie,EAAEje,EAAE6L,KACjf,WAAW7L,IAAIC,EAAW,EAATD,EAAEuwB,SAAWvwB,EAAEie,EAAEi7V,UAAU,cAAcl5W,GAAM,gBAAgBA,EAApBE,EAAE+d,EAAwB,iBAAiBje,IAAIe,EAAEkd,EAAEhe,EAAE,OAAc,IAAIsC,EAAEtC,EAAEC,EAAEa,GAAG,SAASD,EAAEd,EAAEC,EAAEC,EAAEa,EAAE2nC,GAAG,OAAGxoC,GAASF,EAAEie,EAAEihW,SAAS,CAACt9V,MAAM5hB,EAAE0pB,OAAOzpB,EAAE8lG,OAAOhlG,EAAE6S,KAAK80B,IAAI1oC,EAAEo/W,SAASjC,SAAS,EAAE,IAAI56W,EAAE,KAAKvC,EAAE,QAAMA,EAAE6pB,EAAE9nB,OAAO,CAAC6f,MAAM5hB,EAAE0pB,OAAOzpB,EAAE8lG,OAAOhlG,IAAIf,EAAE0/W,cAAcvC,SAAS,EAAS,IAAI56W,EAAE,MAAM,KAAKvC,IAAG,SAASouM,EAAEpuM,GAAG,OAAOA,IAAIA,EAAE2K,SAAS3K,EAAEy/W,cAAc,SAASp6W,EAAErF,EAAEC,EAAEC,GAAGF,IAAIA,EAAE2K,QAAQ3K,EAAE2K,QAAQgoN,OAAO1yN,EAAEC,GAAGF,EAAEy/W,cAAcz/W,EAAEy/W,aAAa9sJ,OAAO1yN,EACtfC,GAAGF,EAAE4hB,MAAM3hB,EAAED,EAAE0pB,OAAOxpB,GAAG,SAASwxD,IAAIxuD,KAAKoJ,GAAGgsD,IAAI+0C,EAAEnqG,KAAKoJ,IAAIpJ,KAAKA,KAAKy8W,YAAY3/W,EAAE4zO,oBAAoB1wO,KAAKwmB,OAAOxmB,KAAK0e,MAAM,EAAE1e,KAAK08W,iBAAiB,GAAG18W,KAAK28W,uBAAuB38W,KAAK48W,kBAAkB58W,KAAK68W,gBAAgB,KAAK,SAASl/W,EAAEb,GAAGA,EAAE4/W,iBAAiBxoT,QAAQ1uB,GAAGA,EAAE1oC,EAAE+/W,iBAAiBr3U,EAAE1oC,EAAE8/W,mBAAmBp3U,EAAE1oC,EAAE6/W,wBAAwB,SAAS97W,EAAE9D,GAAGD,EAAEq1O,kBAAkBp1O,EAAE0/W,aAAa1/W,EAAE0/W,YAAY,KAAK5+W,EAAEi/W,0BAA0B3yQ,EAAEptG,EAAEqM,IAAI,SAASlH,EAAEnF,GAAG,IAAIc,EAAEf,EAAE8mC,gBAAgB,MAAM7mC,EAAE0/W,aAClf,IAAI1hW,EAAEhe,EAAE2/W,iBAAiB,IAAI7+W,EAAE,EAAEA,EAAEkd,EAAEpe,SAASkB,EAAE0nE,EAAE,MAAM1nE,EAAEkd,EAAEld,IAAI,IAAIA,EAAEkd,EAAEpe,OAAOkB,EAAEb,EAAE6yO,sBAAsBhyO,EAAEf,EAAEqzO,qBAAqB,MAAM,MAAMtyO,EAAE,KAAK,KAAK,GAAGf,EAAEqzO,qBAAqB,MAAM,MAAM,KAAK,KAAK,GAAGrzO,EAAEqzO,qBAAqB,MAAM,MAAM,KAAK,KAAK,GAAGrzO,EAAEqzO,qBAAqB,MAAM,MAAM,KAAK,KAAK,GAAG5qK,EAAE,MAAMxoE,EAAE8/W,iBAAiBt3S,EAAE,MAAMxoE,EAAE6/W,mBAAmBr3S,EAAE,MAAMxoE,EAAE4/W,wBAAwB7/W,EAAEk1O,uBAAuB,OAAOl1O,EAAE2kC,gBAAgB3kC,EAAE8mC,gBAAgB,MAAMqnK,EAAEn3I,KAAKm3I,EAAEn3I,KAAK2oT,YAAY,MAAMxxK,EAAEhmB,IACnfgmB,EAAEn3I,KAAKh3D,EAAEigX,WAAW,SAASpnT,EAAE74D,EAAEC,GAAG,SAASC,EAAEF,EAAEC,GAAG,IAAIc,EAAE2nC,EAAE,EAAEgpB,EAAE,EAAE7nC,GAAE,EAAGxkB,GAAE,EAAGtE,EAAE,KAAK,IAAI0nE,GAAE,EAAG1kE,EAAE,OAAOxB,EAAE,QAAQs2D,EAAE,EAAErG,EAAG,KAAKosT,EAAG,KAAKzwK,EAAE,KAAK+vI,GAAG,EAAM,kBAAkBl+U,GAAE0oC,EAAI,EAAF1oC,EAAI0xD,EAAI,EAAFzxD,GAAKyoC,GAAU1oC,GAAG,UAAUA,GAAG0xD,EAAE1xD,EAAE8hC,MAAM4G,EAAEgpB,EAAE,GAAGA,EAAEA,EAAE,KAAK,WAAW1xD,IAAI0oC,EAAEgpB,EAAE1xD,EAAEuoE,QAAQ,UAAUvoE,IAAI0oC,EAAE1oC,EAAE4hB,OAAO,WAAW5hB,IAAI0xD,EAAE1xD,EAAE0pB,UAAY,UAAU1pB,GAAG,WAAWA,KAAEe,EAAEf,EAAE2L,OAAO3L,EAAEyN,OAAOlJ,MAAM0J,QAAQlN,IAAOA,IAAG,eAAef,IAAI64D,EAAe,EAAb74D,EAAEkgX,YAAc,iBAAiBlgX,IAAIyoE,IAAIzoE,EAAEmgX,aAAap8W,EAAE,SAAY,cAAc/D,IAAIuC,EAAEvC,EAAEm0O,WACnf1rK,KAAM,eAAelmE,GAAG,YAAYA,EAAEwB,EAAE,UAAkB,UAAUxB,GAAG,YAAYA,IAAEwB,EAAE,YAAU,gBAAgB/D,IAAI+D,EAAE/D,EAAEogX,YAAY,GAAGtxW,EAAExJ,QAAQvB,GAAG0kE,GAAE,EAAG,GAAG4lI,EAAE/oM,QAAQvB,KAAK0kE,GAAE,MAAQ,iBAAiBzoE,GAAG,wBAAwBA,KAAEk+U,KAAMl+U,EAAEqgX,eAAergX,EAAEsgX,sBAAqB,UAAUtgX,IAAI,mBAAmBA,EAAE02K,MAAM7sJ,EAAE7pB,EAAE02K,OAAOlkH,EAAGxyD,EAAE02K,MAAMrxK,GAAE,IAAK,YAAYrF,IAAI,mBAAmBA,EAAE61O,QAAQxwO,EAAErF,EAAE61O,SAAS+oI,EAAG5+W,EAAE61O,QAAQhsN,GAAE,IAAK,iBAAiB7pB,IAAI,mBAAmBA,EAAEugX,aAAa12V,EAAExkB,EAAErF,EAAEugX,cAAcpyK,EAAEnuM,EAAEugX,aACtfl7W,EAAEwkB,GAAE,KAAU6e,EAAEgpB,EAAE,EAAE,IAAIwwK,EAAE,KAAK3yN,EAAE,KAAK+2O,EAAE,KAAKv6K,EAAE,KAAK,GAAGxnE,MAAM0J,QAAQlN,GAAGmhO,EAAEnhO,EAAE66C,IAAIj6C,QAAQ,GAAGZ,EAAEmhO,EAAE,CAACvgO,EAAEZ,SAAS,IAAImhO,EAAE39N,MAAMs0D,GAAG93D,EAAE,EAAEA,EAAE83D,IAAI93D,EAAEmhO,EAAEnhO,GAAGD,EAAE4nC,EAAEgpB,EAAE+W,EAAE1kE,EAAExB,GAAqN,IAAlNmmC,EAAEA,GAAGw5L,EAAE,GAAGtgN,MAAM8vC,EAAEA,GAAGwwK,EAAE,GAAGx4M,OAAO8oC,EAAGjjD,EAAE5N,EAAE6wD,GAAI3oC,IAAIxkB,IAAIkK,EAAEzO,EAAE4nC,EAAEgpB,EAAEwsR,EAAG,QAAQ,WAAW0gC,EAAGt4H,EAAE3kP,EAAEi9W,GAAIv5W,IAAIwkB,IAAIy8N,EAAExlP,EAAE4nC,EAAEgpB,GAAE,EAAG,UAAU,UAAUy8I,EAAEpiI,EAAEpqE,EAAEwsM,IAAI37I,IAAKosT,GAAIv5W,GAAGwkB,IAAIkiD,EAAEjrE,EAAE4nC,EAAEgpB,EAAEwsR,EAAG,gBAAgB,kBAAkBr0T,EAAE,KAAS9oB,EAAE,EAAEA,EAAEmhO,EAAEriO,SAASkB,EAAEQ,EAAE2gO,EAAEnhO,GAAG2nC,EAAEgpB,GAAGwwK,EAAEnhO,IAAImhO,EAAEnhO,GAAG4J,UAAUtF,EAAEm7W,GAAGt+I,EAAEnhO,GAAG4J,QAAQy0W,SAASr5Q,QAAQ06Q,GAAGv+I,EAAEnhO,GAAG4J,QAAQy0W,SAASxrW,MAAM,OAAOiW,IAAIA,EAAExkB,IAC1P,OAAvP9D,EAAEgO,EAAEm5B,EAAEgpB,GAAGnwD,EAAE+kP,EAAE59M,EAAEgpB,GAAGnwD,EAAEwqE,EAAErjC,EAAEgpB,GAAG7wD,EAAEod,GAAGA,EAAE2D,MAAM8mB,EAAEzqB,EAAEyL,OAAOgoC,EAAEzzC,EAAE2hW,iBAAiB19I,EAAEjkN,EAAE8hW,gBAAgBxwW,EAAE0O,EAAE6hW,kBAAkBx5H,EAAEroO,EAAE4hW,uBAAuB9zS,EAAE7rE,EAAEyL,MAAMu2N,EAAEtmL,IAAIwyJ,GAAGluM,EAAEw2K,MAAM03B,EAAE7+L,GAAGrP,EAAE21O,QAAQznC,EAAEk4C,GAAGpmP,EAAEqgX,aAAanyK,EAAEriI,GAAG7rE,EAAE0hB,MAAM3D,EAAE2D,MAAM1hB,EAAEwpB,OAAOzL,EAAEyL,OAAOtkB,EAAE6Y,GAAU/d,EAAE,IAAI+d,EAAE,IAAIyzC,EAA8B,OAA5B3wD,EAAEi/W,mBAAmB9/W,EAAEF,EAAEC,GAAUqmP,EAAEpmP,EAAE,CAACyyN,OAAO,SAAS3yN,EAAEC,GAAG,IAAIc,EAAEsF,KAAKqC,IAAM,EAAF1I,EAAI,GAAG0oC,EAAEriC,KAAKqC,IAAM,EAAFzI,GAAKc,EAAE,GAAG,GAAGA,IAAIkd,EAAE2D,OAAO8mB,IAAIzqB,EAAEyL,OAAO,OAAOxpB,EAAE,IAAI,IAAIwxD,EAAEzzC,EAAE2hW,iBAAiB/1V,EAAE,EAAEA,EAAE6nC,EAAE7xD,SAASgqB,EAAExkB,EAAEqsD,EAAE7nC,GAAG9oB,EAAE2nC,GACnY,OADsYrjC,EAAE4Y,EAAE8hW,gBAAgBh/W,EAAE2nC,GAAGrjC,EAAE4Y,EAAE6hW,kBACnf/+W,EAAE2nC,GAAGrjC,EAAE4Y,EAAE4hW,uBAAuB9+W,EAAE2nC,GAAGzqB,EAAE2D,MAAM1hB,EAAE0hB,MAAM7gB,EAAEkd,EAAEyL,OAAOxpB,EAAEwpB,OAAOgf,EAAEtjC,EAAE6Y,GAAU/d,GAAGg5W,UAAU,cAAcwH,aAAaziW,EAAEkY,QAAQ,WAAWpyB,EAAEka,GAAGpd,EAAEod,IAAI0iW,IAAI,SAAS3gX,GAAGmuM,EAAEyyK,OAAO,CAACjB,YAAYz/W,GAAGF,MAAM,IAAImuM,EAAE,CAAChmB,IAAI,KAAKnxH,KAAK,KAAK5rD,OAAM,EAAGw1W,OAAO,MAAM9xW,EAAE,CAAC,QAAQu/L,EAAE,CAAC,QAAQ,SAAS,WAAWpuM,EAAE89W,UAAU1vK,EAAE3qM,KAAK,SAASzD,EAAE4gX,6BAA6BxyK,EAAE3qM,KAAK,UAAU,UAAUzD,EAAE6gX,0BAA0BzyK,EAAE3qM,KAAK,WAAW,IAAI6L,EAAE,CAAC,SAAStP,EAAEk+W,wBAAwB5uW,EAAE7L,KAAK,aAAa,WAC1ezD,EAAEi+W,mBAAmB3uW,EAAE7L,KAAK,QAAQ,WAAW,IAAI40D,EAAE,EAAE+0C,EAAE,GAAG,OAAOi5I,EAAEn4C,EAAE,CAAC4yK,eAAe,SAAS/gX,GAAG,MAAM,oBAAoBA,GAAG,gBAAgBA,EAAEk5W,YAAYl5W,EAAEA,EAAE0gX,aAAa1gX,aAAa0xD,GAAG1xD,EAAE,MAAM+B,OAAO82D,EAAEwmT,WAAW,SAASr/W,GAAG,SAASC,EAAED,GAAG,IAAIe,EAAE2nC,EAAE,CAAC/8B,MAAM,MAAM+lD,EAAE,EAAE7nC,EAAE,KAAK9oB,EAAE,OAAO,IAAIF,EAAE,QAAQC,EAAE,EAC5C,GADiD,kBAAkBd,EAAE0xD,EAAI,EAAF1xD,EAAYA,GAAG,UAAUA,EAAE0xD,EAAE1xD,EAAE8hC,MAAM,IAAI,WAAW9hC,IAAI0xD,EAAW,EAAT1xD,EAAEuoE,QAAU,UAAUvoE,EAAE0xD,EAAU,EAAR1xD,EAAE4hB,MAAQ,WAAW5hB,IAAI0xD,EAAW,EAAT1xD,EAAE0pB,UAAc,UAAU1pB,GAAG,WAAWA,KAAE6pB,EAAE7pB,EAAE2L,OAAO3L,EAAEyN,OAC/elJ,MAAM0J,QAAQ4b,IAAGA,IAAI,eAAe7pB,IAAIc,EAAe,EAAbd,EAAEkgX,YAAc,cAAclgX,IAAIa,EAAEb,EAAEm0O,WAAW,gBAAgBn0O,IAAIe,EAAEf,EAAEogX,cAAc,UAAUpgX,IAAI0oC,EAAEguI,MAAM12K,EAAE02K,OAAO,YAAY12K,IAAI0oC,EAAEmtM,QAAQ71O,EAAE61O,SAAS,iBAAiB71O,IAAI0oC,EAAE63U,aAAavgX,EAAEugX,eAAmB7uT,EAAE,EAAK7nC,EAAE,GAAGtlB,MAAM0J,QAAQ4b,GAAG,IAAI7pB,EAAE,GAAGe,EAAE,EAAEA,EAAE8oB,EAAEhqB,SAASkB,EAAEf,EAAEe,GAAG8oB,EAAE9oB,QAAQf,EAAE,CAAC6pB,QAAQ,IAAI7pB,EAAEuE,MAAMzD,GAAG+oB,EAAE,CAAC0+C,OAAO7W,EAAEq0C,OAAOhlG,EAAE6S,KAAK/S,GAAGE,EAAE,EAAEA,EAAED,IAAIC,EAAEf,EAAEe,GAAGkd,EAAEohW,WAAWx1V,GAA2B,IAAxB6e,EAAE/8B,MAAMpH,MAAMvE,EAAEH,QAAYkB,EAAE,EAAEA,EAAEf,EAAEH,SAASkB,EAAED,EAAEd,EAAEe,GAAG2wD,EAAEA,GAAG5wD,EAAE8gB,MAAM8mB,EAAE/8B,MAAM5K,GAAG,CAACwvB,OAAO,MACpf1kB,KAAK7L,EAAEe,IAAI,IAAIA,EAAE,EAAE,EAAEA,IAAIA,EAAE,CAAC,IAAID,EAAE,EAAEA,EAAEd,EAAEH,SAASiB,EAAE4nC,EAAE/8B,MAAM7K,GAAGyvB,OAAO,MAAMxvB,EAAE,EAAEA,IAAI2nC,EAAEguI,MAAMx2K,EAAE,GAAGw2K,MAAMhuI,EAAEmtM,QAAQ31O,EAAE,GAAG21O,QAAQntM,EAAE63U,aAAargX,EAAE,GAAGqgX,cAAiBrgX,EAAEa,GAAGb,EAAEa,GAAG2nC,GAAQxoC,EAAEa,GAAG83D,EAAEnwB,GAAG,OAAO49M,EAAErmP,EAAE,CAAC2hB,MAAM8vC,EAAEhoC,OAAOgoC,EAAE/lD,MAAM3L,IAAI,IAAIE,EAAEqE,MAAM,GAAQ,OAALtE,EAAED,GAAUsmP,EAAErmP,EAAE,CAAC04D,MAAMz4D,EAAEyyN,OAAO,SAAS3yN,GAAG,IAAIe,EAAI,EAAFf,EAAI,GAAGe,IAAId,EAAE2hB,MAAM,OAAO3hB,EAAE,IAAIge,EAAEhe,EAAE0L,MAAM,IAAI3L,EAAE,EAAEA,EAAEie,EAAEpe,SAASG,EAAEie,EAAEje,GAAG2yN,OAAO5xN,GAAG,IAAIf,EAAE,EAAE,EAAEA,IAAIA,EAAEE,EAAEF,GAAG2yN,OAAO5xN,GAAsB,OAAnBd,EAAE2hB,MAAM3hB,EAAEypB,OAAO3oB,EAASd,GAAGi5W,UAAU,kBAAkB/iV,QAAQ,WAAWj2B,EAAEk3D,SAAQ,SAASp3D,GAAGA,EAAEm2B,iBACzfsN,MAAM,WAAWkZ,GAAE0wD,GAAGj2C,QAAQrzD,IAAI8zW,QAAQ,WAAW1pK,EAAEhmB,IAAI,KAAKgmB,EAAEn3I,KAAK,KAAKm3I,EAAE/iM,OAAM,EAAGuxC,GAAE0wD,GAAGj2C,SAAQ,SAASn3D,GAAGA,EAAE0/W,YAAY3/W,EAAE4zO,oBAAoBxuO,EAAEnF,SAAQ,SAAS+gX,IAAK99W,KAAKib,EAAEjb,KAAKqM,EAAErM,KAAKuR,EAAEvR,KAAK4L,EAAE5L,KAAKy8F,MAAM,EAAEz8F,KAAKuH,OAAO,KAAKvH,KAAKihB,KAAK,EAAEjhB,KAAKu1L,YAAW,EAAGv1L,KAAK0Q,KAAK,KAAK1Q,KAAK+9W,QAAQ/9W,KAAKimC,OAAOjmC,KAAKqZ,OAAO,EAAE,SAAS2kW,EAAGlhX,EAAEC,EAAEC,EAAE+d,GAAgC,IAA7Bje,EAAEE,EAAEihX,cAAclhX,EAAEsE,MAAMvE,GAAOE,EAAE,EAAEA,EAAEF,IAAIE,EAAED,EAAEC,GAAG,IAAI8gX,EAAG,MAAM,CAACI,OAAOJ,EAAG5qI,MAAM,GAAGz2I,MAAM1/F,GAAG,SAASohX,EAAGrhX,EAAEC,EAAEC,EAAE+d,GAAG,SAAS4L,EAAE7pB,EAAEC,EAAEC,EAAEa,GAAGmC,KAAKlC,KAAKhB,EAAEkD,KAAKoJ,GAAGrM,EAAEiD,KAAKuI,SAChfvL,EAAEgD,KAAKs9G,KAAKz/G,EAAE,SAASA,EAAEf,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAEH,SAASK,EAAE,GAAGF,EAAEE,GAAGoM,KAAKrM,EAAEqM,GAA6B,YAAzBtM,EAAEE,GAAGuL,SAASxL,EAAEwL,UAAgBzL,EAAE0D,KAAKzD,GAAG,SAASsC,EAAErC,EAAEa,EAAEkd,GAAGA,EAAE,QAAQ/d,EAAEuoE,EAAE9mE,EAAE,IAAI+mC,EAAEzqB,EAAEld,GAAG,IAAI2nC,EAAE,CAAC,IAAI7e,EAAE5pB,EAAEgI,IAAIlH,GAAG2nC,EAAE1oC,EAAEwJ,aAAatJ,GAAGF,EAAEm4I,aAAazvG,EAAE7e,GAAG7pB,EAAEk4I,cAAcxvG,GAAGzqB,EAAEld,GAAG2nC,EAAE,OAAOA,EAAE,SAASA,EAAE1oC,EAAEC,GAAGiD,KAAKoJ,GAAGjH,IAAInC,KAAKo+W,OAAOthX,EAAEkD,KAAKq+W,OAAOthX,EAAEiD,KAAKs0I,QAAQ,KAAKt0I,KAAKwJ,SAAS,GAAGxJ,KAAKsI,WAAW,GAAGyS,EAAEynM,UAAUxiN,KAAKwyC,MAAM,CAAC8rU,cAAc,EAAEC,gBAAgB,IAAI,SAASlgX,EAAErB,EAAEwoC,GAAG,IAAI5nC,EAAEuE,EAAEvE,EAAEyB,EAAE,MAAMrC,EAAEohX,QAAQj8W,EAAE9C,EAAE,MAAMrC,EAAEqhX,QAAQ,IAAI94S,EAAEvoE,EAAEs3I,QACtfx3I,EAAEy3I,gBAAgBz3I,EAAE44I,aAAanwE,EAAE3nE,GAAGd,EAAE44I,aAAanwE,EAAEpjE,GAAGrF,EAAEw4I,YAAY/vE,GAAG,IAAIlnE,EAAEvB,EAAE84I,oBAAoBrwE,EAAE,OAAOxqD,EAAEynM,UAAUxlN,EAAEw1C,MAAM8rU,cAAcjgX,GAAG,IAAII,EAAEzB,EAAEwM,SAAS,IAAI5L,EAAE,EAAEA,EAAES,IAAIT,EAAE,GAAGuE,EAAErF,EAAE0hX,iBAAiBj5S,EAAE3nE,GAAG,GAAG,EAAEuE,EAAE8e,KAAK,IAAI,IAAIiqL,EAAE,EAAEA,EAAE/oM,EAAE8e,OAAOiqL,EAAE,CAAC,IAAI7+L,EAAElK,EAAErE,KAAK+X,QAAQ,MAAM,IAAIq1L,EAAE,KAAKrtM,EAAEY,EAAE,IAAIkoB,EAAEta,EAAEtP,EAAEqM,GAAGiD,GAAGvP,EAAE0kK,mBAAmBj8F,EAAEl5D,GAAGlK,SAAStE,EAAEY,EAAE,IAAIkoB,EAAExkB,EAAErE,KAAKf,EAAEqM,GAAGjH,EAAErE,MAAMhB,EAAE0kK,mBAAmBj8F,EAAEpjE,EAAErE,MAAMqE,IAA2F,IAAvF9D,EAAEvB,EAAE84I,oBAAoBrwE,EAAE,OAAOxqD,EAAEynM,UAAUxlN,EAAEw1C,MAAM+rU,gBAAgBlgX,GAAGI,EAAEzB,EAAEsL,WAAe1K,EAAE,EAAEA,EACtfS,IAAIT,GAAGuE,EAAErF,EAAE2hX,gBAAgBl5S,EAAE3nE,KAAKC,EAAEY,EAAE,IAAIkoB,EAAExkB,EAAErE,KAAKf,EAAEqM,GAAGjH,EAAErE,MAAMhB,EAAE4hX,kBAAkBn5S,EAAEpjE,EAAErE,MAAMqE,IAAI,IAAIojE,EAAE,GAAG9mE,EAAE,GAAGb,EAAE,GAAGstM,EAAE,GAAG/oM,EAAE,EAAiR,OAA/Q4Y,EAAEynM,UAAUxlN,EAAE2hX,oBAAoB,WAAW,IAAI7hX,EAAE,EAA6E,OAA3EouM,EAAEh3I,SAAQ,SAASn3D,GAAGA,EAAEy1C,MAAM8rU,cAAcxhX,IAAIA,EAAEC,EAAEy1C,MAAM8rU,kBAAwBxhX,GAAGE,EAAE4hX,sBAAsB,WAAW,IAAI9hX,EAAE,EAAiF,OAA/EouM,EAAEh3I,SAAQ,SAASn3D,GAAGA,EAAEy1C,MAAM+rU,gBAAgBzhX,IAAIA,EAAEC,EAAEy1C,MAAM+rU,oBAA0BzhX,IAAU,CAACyjC,MAAM,WAAW,IAAIxjC,EAAED,EAAEi4I,aAAah2I,KAAKjC,GAAG28C,GAAE8rB,GAAGrR,QAAQn3D,GAAGwoE,EAAE,GAAG9rB,GAAEh7C,GAAGy1D,QAAQn3D,GAAG0B,EAAE,GAAGysM,EAAEh3I,SAAQ,SAASn3D,GAAGD,EAAEg4I,cAAc/3I,EAAEu3I,YACphB42D,EAAEvuM,OAAO,EAAEiB,EAAE,GAAGZ,EAAE6hX,YAAY,GAAGvqO,QAAQ,SAASx3I,EAAEC,EAAEc,GAAG,IAAIkd,EAAEnd,EAAEb,GAAGge,IAAIA,EAAEnd,EAAEb,GAAG,IAAI,IAAI4pB,EAAE5L,EAAEje,GAA6D,OAA1D6pB,IAAIA,EAAE,IAAI6e,EAAEzoC,EAAED,GAAGE,EAAE6hX,cAAcxgX,EAAEsoB,EAAE9oB,GAAGkd,EAAEje,GAAG6pB,EAAEukL,EAAE1qM,KAAKmmB,IAAWA,GAAGguV,QAAQ,WAAWpvS,EAAE,GAAG9mE,EAAE,GAAG,IAAI,IAAI3B,EAAE,EAAEA,EAAEouM,EAAEvuM,SAASG,EAAEuB,EAAE6sM,EAAEpuM,KAAKuK,OAAOhI,EAAEw4J,MAAM,EAAEpxH,MAAM,GAAG,SAASq4U,EAAGhiX,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,EAAEwB,GAAG,SAASmmC,EAAE3nC,GAAG,IAAI2nC,EAAEA,EAAE,OAAOzoC,EAAE+2D,KAAK,KAAK/2D,EAAE+2D,KAAK4oT,iBAAiB,GAAGj1W,QAAQy0W,SAASxrW,KAAK,IAAIiW,EAAE,EAAEtoB,EAAE,EAAE8D,EAAE4Y,EAAEgkW,iBAAiBvwT,EAAEzzC,EAAEikW,kBAAkBrhX,EAAE,KAC1P,OAD+P67C,GAAE37C,GAAGF,EAAEE,EAAEA,IAAI8oB,EAAM,EAAJ9oB,EAAE+N,EAAIvN,EAAM,EAAJR,EAAE0T,EAAIpP,EAAkC,GAA/BtE,EAAE6gB,OAAO3D,EAAEgkW,iBAAiBp4V,GAAK6nC,EAC1d,GAD6d3wD,EAAE2oB,QACtfzL,EAAEikW,kBAAkB3gX,GAAKV,EAAEE,EAAE8K,MAAM,MAAM3L,IAAIa,EAAEsE,EAAEqsD,EAAE,EAAE7wD,IAAI,OAAO6nC,EAAE7nC,EAAE,IAAI6S,WAAW3S,GAAG,OAAO2nC,IAAI7nC,EAAEA,GAAG,IAAIymB,aAAavmB,KAAKf,EAAEu7W,YAAY,KAAK,GAAGv7W,EAAE+nN,WAAWl+L,EAAEtoB,EAAE8D,EAAEqsD,EAAE,KAAKhpB,EAAE7nC,GAAUA,EAAE,SAASU,EAAEvB,GAAG,IAAIE,EAA2D,OAAzDD,EAAE2gX,OAAO,CAACjB,YAAY3/W,EAAE2/W,cAAa,WAAWz/W,EAAEwoC,EAAE1oC,MAAYE,EAAE,OAAO,SAASF,GAAG,OAAOA,GAAG,gBAAgBA,EAAEuB,EAAEvB,GAAG0oC,EAAE1oC,IAAI,SAASmiX,EAAGniX,GAAG,OAAOuE,MAAMlC,UAAUwC,MAAM9E,KAAKC,GAAG,SAASoiX,EAAGpiX,GAAG,OAAOmiX,EAAGniX,GAAG6D,KAAK,IAAI,SAASw+W,IAAK,SAASriX,IAAI,IAAIA,EAAE,GAAGC,EAAE,GAAG,OAAOqmP,GAAE,WAAWtmP,EAAE0D,KAAKvD,MAAMH,EAAEmiX,EAAG/hX,cAClf,CAACkiX,IAAI,WAAW,IAAIvhX,EAAE,IAAIb,IAA4F,OAAxFD,EAAEyD,KAAK3C,GAAG,EAAEX,UAAUP,SAASG,EAAE0D,KAAK3C,EAAE,KAAKf,EAAE0D,KAAKvD,MAAMH,EAAEmiX,EAAG/hX,YAAYJ,EAAE0D,KAAK,MAAa3C,GAAGic,SAAS,WAAW,OAAOolW,EAAG,CAAC,EAAEniX,EAAEJ,OAAO,OAAOI,EAAE4D,KAAK,KAAK,IAAI,GAAGu+W,EAAGpiX,QAAQ,SAASC,IAAI,SAASA,EAAED,EAAEie,GAAGld,EAAEf,EAAEie,EAAE,IAAI/d,EAAEoiX,IAAItiX,EAAEie,GAAG,KAAK,IAAI/d,EAAEF,IAAIe,EAAEf,IAAIie,EAAE/d,EAAE8c,SAAS6M,EAAE9oB,EAAEic,SAAS,OAAOspO,GAAE,WAAWpmP,EAAEC,MAAMD,EAAEiiX,EAAG/hX,cAAa,CAACkiX,IAAIpiX,EAAEoiX,IAAIhjR,MAAMp/F,EAAEkjD,KAAKriD,EAAEwhX,KAAKtiX,EAAEsO,IAAI,SAASvO,EAAEe,EAAEkd,GAAGhe,EAAED,EAAEe,GAAGb,EAAEF,EAAEe,EAAE,IAAIkd,EAAE,MAAMjB,SAAS,WAAW,OAAOiB,IAAI4L,OAAO,IAAI3pB,EAAE,EAAE+d,EAAE,GAAG4L,EAAE,GAAG9oB,EAAEf,IAAIuC,EAAE,GAAG,MAAM,CAACw2F,OAAOh4F,EAC7fsqE,KAAK,SAASrrE,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAE4pB,EAAEhqB,SAASI,EAAE,GAAG4pB,EAAE5pB,KAAKD,EAAE,OAAOie,EAAEhe,GAAiC,OAA9BA,EAAE,IAAIC,IAAI+d,EAAEva,KAAKzD,GAAG4pB,EAAEnmB,KAAK1D,GAAUC,GAAGk8J,MAAMn8J,EAAE2D,KAAK,SAAS3D,EAAEE,GAAG,SAASa,IAAI,IAAIf,EAAE,IAAIie,EAAEpe,OAAiB,OAAVoe,EAAEva,KAAK1D,GAAUA,EAAE,IAAIie,EAAE,GAAG/d,EAAEA,GAAG,EAAE,IAAI,IAAI2pB,EAAE,EAAEA,EAAE3pB,IAAI2pB,EAAE9oB,IAAQ8oB,EAAE5pB,IAAN,IAAUmuM,EAAEvkL,EAAE7M,SAAS,OAAOza,EAAEvC,GAAGsmP,EAAEz8N,EAAE,CAACgiC,IAAI9qD,EAAEic,SAAS,WAAW,OAAOolW,EAAG,CAAC,YAAYnkW,EAAEpa,OAAO,KAAKuqM,IAAI,UAAUgoC,MAAMn2O,EAAEuiX,KAAK,WAAW,IAAIxiX,EAAEoiX,EAAGhiX,WAAWF,EAAED,IAAIc,EAAEd,IAAIge,EAAE/d,EAAE8c,SAAS6M,EAAE9oB,EAAEic,SAAS,OAAOspO,EAAEpmP,EAAE,CAAC29B,KAAK,WAAoC,OAAzB39B,EAAEC,MAAMD,EAAEiiX,EAAG/hX,YAAmB8C,MAAM,KAAO,WACne,OAD8enC,EAAEZ,MAAMY,EACrgBohX,EAAG/hX,YAAmB8C,MAAM8Z,SAAS,WAAW,IAAI/c,EAAE4pB,IAAyB,OAArB5pB,IAAIA,EAAE,QAAQA,EAAE,KAAYmiX,EAAG,CAAC,MAAMpiX,EAAE,KAAKie,IAAI,IAAIhe,QAAQw6H,QAAQ,WAAW,IAAIz6H,EAAE,CAAC,gBAAgBe,EAAE,YAAYI,OAAO8mD,KAAK1lD,GAAG60D,SAAQ,SAASn3D,GAAGD,EAAE0D,KAAK,IAAIzD,EAAE,KAAKsC,EAAEtC,GAAG+c,WAAW,QAAOhd,EAAE0D,KAAK,KAAK,IAAIzD,EAAEmiX,EAAGpiX,GAAG+Y,QAAQ,KAAK,OAAOA,QAAQ,KAAK,OAAOA,QAAQ,KAAK,OAAO,OAAOnV,SAASzD,MAAM,KAAK8d,EAAE5V,OAAOpI,IAAIE,MAAM,KAAK0pB,KAAK,SAAS44V,EAAGziX,GAAG,OAAOuE,MAAM0J,QAAQjO,IAAI08C,GAAE18C,IAAIk4W,EAAGl4W,GAAG,SAAS+3U,EAAG/3U,GAAG,OAAOA,EAAEsH,MAAK,SAAStH,EAAEE,GAAG,MAAM,aAC5eF,GAAG,EAAE,aAAaE,EAAE,EAAEF,EAAEE,GAAG,EAAE,KAAI,SAAS0+T,EAAE5+T,EAAEC,EAAEC,EAAE+d,GAAG/a,KAAKw/W,QAAQ1iX,EAAEkD,KAAKy/W,WAAW1iX,EAAEiD,KAAK0/W,QAAQ1iX,EAAEgD,KAAKgN,OAAO+N,EAAE,SAASi6T,EAAGl4U,GAAG,OAAOA,KAAKA,EAAE0iX,SAAS1iX,EAAE2iX,YAAY3iX,EAAE4iX,SAAS,SAASv0K,EAAEruM,GAAG,OAAO,IAAI4+T,GAAE,GAAG,GAAG,EAAG5+T,GAAG,SAASu4D,EAAEv4D,EAAEC,GAAG,IAAIC,EAAEF,EAAE4T,KAAK,OAAO,IAAI1T,GAAGA,EAAEF,EAAE6L,KAAKhM,OAAO,IAAI++T,GAAE,EAAG,GAAG1+T,EAAE,GAAGA,EAAED,IAAI,IAAIC,GAAGA,EAAEF,EAAE6L,KAAK,IAAI+yT,EAAE1+T,EAAEwiX,QAAQxiX,EAAEyiX,WAAWziX,EAAE0iX,QAAQ3iX,IAAI,IAAI2+T,EAAE,IAAI1+T,EAAE,IAAIA,EAAE,IAAIA,EAAED,GAAG,SAAS4iX,EAAG7iX,EAAEC,EAAEC,EAAE+d,EAAE4L,EAAE9oB,EAAEwB,EAAEmmC,EAAEnnC,EAAEknE,EAAE9mE,EAAEb,EAAEstM,EAAE/oM,EAAEqsD,GAAG,SAAS7wD,EAAEb,GAAG,OAAOA,EAAE+Y,QAAQ,IAAI,KAAK,SAAShV,EAAE/D,EAAEC,EAAEC,GAAG,IAAIa,EAAEF,EAAEb,GAAG8iX,GAAGp/W,KAAK1D,GACzf+iX,GAAGhiX,GAAGg9U,GAAGh9U,KAAKb,EAAEmhF,GAAGtgF,GAAGd,EAAE,SAASmF,EAAEpF,EAAEC,EAAEC,GAAG,IAAIa,EAAEF,EAAEb,GAAG8iX,GAAGp/W,KAAK1D,GAAGuE,MAAM0J,QAAQ/N,IAAI69U,GAAGh9U,GAAGb,EAAE2E,QAAQk+W,GAAGhiX,GAAGb,EAAE2E,SAASk5U,GAAGh9U,GAAGgiX,GAAGhiX,GAAGb,EAAE09U,GAAG78U,GAAGd,EAAE,SAAS44D,IAAI,IAAI74D,EAAEqiX,IAAKniX,EAAEF,EAAEqrE,KAAKtqE,EAAEf,EAAE+4F,OAAO/4F,EAAEsM,GAAGquW,KAAK36W,EAAEgjX,QAAQ,IAAI,IAAI/kW,EAAE/d,EAAE4G,IAAI4hC,EAAE1oC,EAAEijX,OAAO,CAAC1xR,MAAM,MAAMpwF,OAAO8mD,KAAKnhD,IAAIswD,SAAQ,SAASp3D,GAAG0oC,EAAE1oC,GAAGe,EAAEuhX,IAAIrkW,EAAE,IAAIje,MAAK,IAAI6pB,EAAE7pB,EAAEg3D,KAAK,GAAGv/B,EAAGz3B,EAAEuiD,QAAQ,GAAGphD,OAAO8mD,KAAK21R,IAAIxmR,SAAQ,SAASp3D,GAAGuE,MAAM0J,QAAQ8vU,GAAG/9U,MAAM6pB,EAAE7pB,GAAGe,EAAEuhX,IAAI55U,EAAEsuB,KAAK,IAAIh3D,GAAGy3B,EAAGz3B,GAAGe,EAAEuhX,IAAI55U,EAAE6Z,QAAQ,IAAIviD,OAAM,IAAIg0R,EAAEh0R,EAAEqxC,UAAU,GAAGlwC,OAAO8mD,KAAK20R,IAAIxlR,SAAQ,SAASp3D,GAAGg0R,EAAEh0R,GAC1fe,EAAEuhX,IAAI78L,KAAKC,UAAUk3J,GAAG58U,QAAOA,EAAEkjX,OAAO,SAASjjX,EAAEc,GAAG,OAAOA,EAAE6S,MAAM,KAAK,EAAE,IAAIqK,EAAE,CAAC,OAAOyqB,EAAE1V,QAAQ0V,EAAE6oD,MAAMvxF,EAAEgjX,SAAS,OAAO/iX,EAAEqiX,IAAIpiX,EAAEa,EAAE8K,MAAM,SAASoS,EAAEpZ,MAAM,EAAEwB,KAAKqC,IAAI3H,EAAE8K,KAAKhM,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE,OAAOI,EAAEqiX,IAAI55U,EAAE6oD,MAAMxwF,EAAE8K,MAAM,KAAK,EAAE,OAAO5L,EAAEqiX,IAAI55U,EAAE1V,QAAQjyB,EAAE8K,MAAM,KAAK,EAAE,OAAO5L,EAAEqiX,IAAI,OAAOvhX,EAAE8K,MAAM,KAAK,EAAE,OAAO9K,EAAE8K,KAAKqE,OAAOlQ,EAAEC,GAAGc,EAAE8K,KAAKs8P,MAAMnoQ,EAAEmjX,YAAY,GAAG,IAAI7kV,EAAE,GAAyH,OAAtHt+B,EAAEojX,YAAY,SAASpjX,GAAa,GAAVA,EAAEC,EAAEqM,GAAGtM,GAAMA,KAAKs+B,EAAE,OAAOA,EAAEt+B,GAAG,IAAIe,EAAE0nE,EAAE2tK,MAAMp2O,GAA4B,OAAzBe,IAAIA,EAAE0nE,EAAE2tK,MAAMp2O,GAAG,IAAI83B,IAAWwG,EAAEt+B,GAAGE,EAAEa,IAAWf,EACrf,SAASmuM,EAAEnuM,GAAG,IAAkCE,EAA9BD,EAAED,EAAE,UAA4B,GAAlBA,EAAEA,EAAEy/J,QAAiB,YAAYx/J,EAAE,CAAC,IAAIc,IAAId,EAAEylN,QAAQxlN,EAAEmuM,GAAE,SAASruM,EAAEC,GAAG,OAAOc,KAAIb,EAAEghC,OAAOngC,OAAO,GAAG,YAAYf,EAAE,CAAC,IAAIie,EAAEje,EAAE0lN,QAAQxlN,EAAEq4D,EAAEt6C,GAAE,SAASje,EAAEC,GAAG,OAAOD,EAAEkjX,OAAOjjX,EAAEge,MAAK,OAAO/d,EAAE,SAASqP,EAAEvP,EAAEC,GAAG,IAAIC,EAAEF,EAAE,UAAUe,EAAEf,EAAEy/J,QAAQ,GAAG,gBAAgBv/J,EAAE,CAAC,IAAI+d,EAAE/d,EAAEy/W,YAAY,OAAO1hW,GAAGA,EAAEyqB,EAAEq4U,eAAe9iW,GAAGowL,GAAE,SAASruM,EAAEC,GAAG,IAAIC,EAAEF,EAAEqrE,KAAKptD,GAAGld,EAAEf,EAAEijX,OACrX,OAD4XhjX,EAAEsO,IAAIxN,EAAE4+W,YAAY,QAAQz/W,GAAGa,EAAEA,EAAEiyB,QAAQ/yB,EAAEsO,IAAIxN,EAAE,oBAAoBb,EAAE,UAAUD,EAAEsO,IAAIxN,EAAE,qBAAqBb,EAAE,WACveA,MAAKmuM,GAAE,SAASruM,EAAEC,GAAG,IAAIC,EAAEF,EAAEijX,OAAmK,OAA5JhjX,EAAEsO,IAAIrO,EAAEy/W,YAAY,QAAQ,QAAQz/W,EAAEA,EAAE8yB,QAAQ/yB,EAAEsO,IAAIrO,EAAE,oBAAoBA,EAAE,uBAAuBD,EAAEsO,IAAIrO,EAAE,qBAAqBA,EAAE,wBAA8B,UAAS,GAAG,gBAAgBa,EAAE,CAAC,IAAI8oB,EAAE9oB,EAAE4+W,YAAY,OAAOpnT,EAAE1uC,GAAE,SAAS7pB,EAAEC,GAAG,IAAIC,EAAEF,EAAEkjX,OAAOjjX,EAAE4pB,GAAG9oB,EAAEf,EAAEijX,OAAOhlW,EAAEld,EAAE4+W,YAAYz/W,EAAED,EAAEqiX,IAAIrkW,EAAE,mBAAmB/d,EAAE,KAChU,OADqUD,EAAEsO,IAAI0P,EAAE,QAAQ/d,GAAGa,EAAEA,EAAEiyB,QAAQ/yB,EAAEsO,IAAIxN,EAAE,oBAAoBb,EAAE,IAAIA,EAAE,UAAUa,EAAE,uBAAuBd,EAAEsO,IAAIxN,EAAE,qBAAqBb,EAAE,IACjfA,EAAE,WAAWa,EAAE,wBAA+Bb,KAAI,OAAO,KAAK,SAAS4O,EAAE9O,EAAEC,EAAEC,GAAG,SAASa,EAAEf,GAAG,GAAGA,KAAKie,EAAE,CAAC,IAAI/d,EAAE+d,EAAEje,GAAGA,GAAE,EAAG,IAAqB6pB,EAAE6nC,EAAnBxvD,EAAM,EAAJhC,EAAE4O,EAAIu7K,EAAO,EAAJnqL,EAAEuU,EAAoE,MAA5D,UAAUvU,EAAE2pB,EAAU,EAAR3pB,EAAE0hB,MAAQ5hB,GAAE,EAAG,WAAWE,EAAEwxD,EAAW,EAATxxD,EAAEwpB,OAAS1pB,GAAE,EAAU,IAAI4+T,GAAG5+T,GAAGC,GAAGA,EAAEyiX,SAAS1iX,GAAGC,GAAGA,EAAE0iX,YAAY3iX,GAAGC,GAAGA,EAAE2iX,SAAQ,SAAS5iX,EAAEC,GAAG,IAAIc,EAAEf,EAAEijX,OAAOjwV,QAAQ/U,EAAE4L,EAAE,UAAU3pB,IAAI+d,EAAEhe,EAAEqiX,IAAIvhX,EAAE,IAAI,mBAAmB,IAAImB,IAAI,IAAIwmC,EAAEgpB,EAA4D,MAA1D,WAAWxxD,IAAIwoC,EAAEzoC,EAAEqiX,IAAIvhX,EAAE,IAAI,oBAAoB,IAAIspL,IAAW,CAACnoL,EAAEmoL,EAAGpsK,EAAEyqB,MAAK,GAAG1oC,KAAK0oC,EAAE,CAAC,IAAIj0B,EAAEi0B,EAAE1oC,GAChH,OADmHA,EAAEu4D,EAAE9jD,GAAE,SAASzU,EAAEC,GAAG,IAAIC,EACpfF,EAAEkjX,OAAOjjX,EAAEwU,GAAG1T,EAAEf,EAAEijX,OAAOjwV,QAAQ/U,EAAEhe,EAAEqiX,IAAIpiX,EAAE,QAAQgC,EAAEjC,EAAEqiX,IAAIpiX,EAAE,QAAQo+B,EAAEr+B,EAAEqiX,IAAI,cAAcpiX,EAAE,IAAIA,EAAE,YAAY,IAAIa,EAAE,IAAI,mBAAmB,IAAIkd,EAAE,KAAK/d,EAAED,EAAEqiX,IAAI,eAAepiX,EAAE,IAAIA,EAAE,aAAa,IAAIa,EAAE,IAAI,oBAAoB,IAAImB,EAAE,KAAK,MAAM,CAAC+b,EAAE/b,EAAEo8B,EAAEp+B,MAAKD,IAAID,EAAE0iX,QAAQ1iX,EAAE0iX,SAASziX,EAAEyiX,QAAQ1iX,EAAE2iX,WAAW3iX,EAAE2iX,YAAY1iX,EAAE0iX,WAAW3iX,EAAE4iX,QAAQ5iX,EAAE4iX,SAAS3iX,EAAE2iX,SAAgB5iX,EAAE,OAAOC,EAAE,IAAI2+T,EAAE3+T,EAAEyiX,QAAQziX,EAAE0iX,WAAW1iX,EAAE2iX,SAAQ,SAAS5iX,EAAEC,GAAG,IAAIC,EAAEF,EAAEijX,OAAOjwV,QAAQ,MAAM,CAAC,EAAE,EAAE/yB,EAAEqiX,IAAIpiX,EAAE,IAAI,oBAAoBD,EAAEqiX,IAAIpiX,EACxf,IAAI,yBAAwB,KAAK,IAAI+d,EAAEje,EAAE,UAAU0oC,EAAE1oC,EAAEy/J,QAAQ,GAAGz/J,EAAEe,EAAE,YAAY,CAAC,IAAI8oB,EAAE7pB,EAAEA,EAAE,IAAI4+T,EAAE5+T,EAAE0iX,QAAQ1iX,EAAE2iX,WAAW3iX,EAAE4iX,SAAQ,SAAS5iX,EAAEC,GAAG,IAAIC,EAAE2pB,EAAE3Z,OAAOlQ,EAAEC,GAAGc,EAAEf,EAAEijX,OAAOjwV,QAAuE,OAA/D/yB,EAAEsO,IAAIxN,EAAE,iBAAiBb,EAAE,IAAID,EAAEsO,IAAIxN,EAAE,kBAAkBb,EAAE,IAAWA,KAAI,MAAM,CAAC8mC,SAAShnC,EAAEqjX,YAAYtiX,EAAE,gBAAgB,SAASulP,EAAEtmP,GAAG,SAASE,EAAEF,GAAG,GAAGA,KAAKe,EAAE,CAAC,IAAImB,EAAEjC,EAAEqM,GAAGvL,EAAEf,IAAqC,OAAjCA,EAAEquM,GAAE,WAAW,OAAOnsM,KAAIlC,EAAEsM,GAAGpK,EAASlC,EAAE,GAAGA,KAAKie,EAAE,CAAC,IAAIyqB,EAAEzqB,EAAEje,GAAG,OAAOu4D,EAAE7vB,GAAE,SAAS1oC,EAAEC,GAAG,IAAIC,EAAEF,EAAEkjX,OAAOjjX,EAAEyoC,GAAG,OAAOzoC,EAAEqiX,IAAItiX,EAAEijX,OAAOK,QAC9e,OAAOpjX,EAAE,QAAO,OAAO,KAAK,IAAIa,EAAEf,EAAE,UAAUie,EAAEje,EAAEy/J,QAAQ/2H,EAAExoC,EAAE,QAAQ2pB,EAAE3pB,EAAE,QAAQwxD,EAAE,KAAiV,OAA5UwmR,EAAGxvS,IAAIwvS,EAAGruT,IAAI6nC,EAAE/vD,EAAE61I,QAAQ3tH,EAAEvd,GAAGo8B,EAAEp8B,IAAItM,EAAEquM,GAAE,SAASruM,EAAEC,GAAG,OAAOD,EAAEqrE,KAAK3Z,OAAM1xD,EAAE,IAAI4+T,EAAEl2R,GAAGA,EAAEg6U,SAAS74V,GAAGA,EAAE64V,QAAQh6U,GAAGA,EAAEi6U,YAAY94V,GAAGA,EAAE84V,WAAWj6U,GAAGA,EAAEk6U,SAAS/4V,GAAGA,EAAE+4V,SAAQ,SAAS5iX,EAAEC,GAAG,IAAsBc,EAA4Ckd,EAA9D/d,EAAEF,EAAEijX,OAAO14W,OAA2F,OAAlFxJ,EAAE2nC,EAAEA,EAAEx4B,OAAOlQ,EAAEC,GAAGA,EAAEqiX,IAAIpiX,EAAE,IAAI,QAAc+d,EAAE4L,EAAEA,EAAE3Z,OAAOlQ,EAAEC,GAAGA,EAAEqiX,IAAIpiX,EAAE,IAAI,QAAeD,EAAEqiX,IAAIpiX,EAAE,YAAY+d,EAAE,IAAIld,EAAE,QAAa,CAACg6J,KAAKryH,EAAEiB,KAAK9f,EAAE05V,QAAQvjX,EAAEw3I,QAAQ9lF,GAAG,SAAS4G,EAAEt4D,EAAEC,GAAG,SAASC,EAAEF,EAAEC,GAAG,GAAGD,KAClfie,EAAE,CAAC,IAAIld,EAAO,EAALkd,EAAEje,GAAK,OAAOquM,GAAE,SAASruM,EAAEE,GAAmB,OAAhBD,IAAID,EAAEwjX,OAAOziX,GAAUA,KAAI,GAAGf,KAAK0oC,EAAE,CAAC,IAAIxmC,EAAEwmC,EAAE1oC,GAAG,OAAOu4D,EAAEr2D,GAAE,SAASlC,EAAEE,GAAG,IAAIa,EAAEf,EAAEkjX,OAAOhjX,EAAEgC,GAAmB,OAAhBjC,IAAID,EAAEwjX,OAAOziX,GAAUA,KAAI,OAAOd,GAAG4pB,EAAEwkL,GAAE,SAASruM,EAAEC,GAAgB,OAAbD,EAAEwjX,OAAO,IAAW,KAAI,KAAK,IAAIvlW,EAAEje,EAAE,UAAU0oC,EAAE1oC,EAAEy/J,QAAQ51I,EAAE,WAAW,GAAG,aAAa5L,EAAE,CAAC,IAAIje,EAAEie,EAAEqrH,SAASm5O,EAAGziX,GAAGA,EAAEe,EAAEm5W,YAAYn5W,EAAEgB,OAAO/B,GAAE,IAAKA,IAAIA,EAAEe,EAAEm5W,YAAYl6W,IAAI,IAAIC,EAAEouM,GAAE,SAASpuM,EAAEC,GAAG,GAAGF,EAAE,CAAC,IAAIe,EAAEd,EAAEorE,KAAKrrE,GAAG,OAAOC,EAAEwjX,SAAS1iX,EAAE,OAAOd,EAAEwjX,SAAS,QAAiB,OAAVxjX,EAAEyB,MAAM1B,EAASC,EAAE,GAAG,aAAayoC,EAAE,CAAC,IAAIxoC,EAAEwoC,EAAE4gG,SAC7e,OAAO/wE,EAAEr4D,GAAE,SAASF,EAAEC,GAAG,IAAIc,EAAEf,EAAEijX,OAAOhlW,EAAEld,EAAE2iX,aAA0BxhX,GAAbnB,EAAEA,EAAEuoI,SAAWtpI,EAAEkjX,OAAOjjX,EAAEC,IAAGwoC,EAAEzoC,EAAEqiX,IAAI,QAAQrkW,EAAEhe,EAAEqiX,IAAIrkW,EAAE,IAAI/b,EAAE,KAAKA,EAAElC,EAAEwiX,KAAKvkW,GAAG4f,KAAK6K,EAAE,IAAI3nC,EAAE,iBAAiBmB,EAAE,MAAM,QAAQwmC,EAAE,IAAI3nC,EAAE,gBAAgBmB,EAAE,MAAoE,OAA9DjC,EAAEq/F,MAAMp9F,GAAGjC,EAAEmjD,KAAKpjD,EAAEwiX,KAAKvkW,GAAG4f,KAAK98B,EAAE,kBAAkB2nC,EAAE,OAAc1oC,EAAEyjX,SAAS/6U,KAAI,OAAO,KADvD,GAC+DgpB,EAAExxD,EAAE,UAAS,GAAI,MAAM,CAACopI,SAASz/G,EAAEu9J,UAAU,WAAW,GAAG,cAAcnpK,EAAE,CAAC,IAAIje,EAAEie,EAAEmpK,UAAU,OAAOinB,GAAE,SAASpuM,EAAEC,GAAG,OAAO+5W,GAAGj6W,MAAK,GAAG,cAAc0oC,EAAE,CAAC,IAAIzoC,EAAEyoC,EAAE0+I,UAAU,OAAO7uH,EAAEt4D,GAAE,SAASD,EACtfE,GAAG,IAAIa,EAAEf,EAAEqxC,UAAUsyU,UAAU1lW,EAAEje,EAAEkjX,OAAOhjX,EAAED,GAAG,OAAOC,EAAEoiX,IAAIvhX,EAAE,IAAIkd,EAAE,QAAO,OAAO4L,EAAEquT,EAAGruT,GAAGA,EAAEnoB,MAAM2sM,GAAE,SAASruM,EAAEC,GAAG,OAAOA,EAAEqiX,IAAItiX,EAAEyjX,SAAS,gBAAep1K,GAAE,WAAW,OAAO,KAAI,IAAIuwH,EAAE/0S,EAAE64V,QAAQ74V,EAAE84V,WAAW94V,EAAE+4V,SAAQ,SAAS5iX,EAAEC,GAAG,IAAIC,EAAEF,EAAEyjX,SAAS,OAAOxjX,EAAEqiX,IAAIpiX,EAAE,IAAIA,EAAE,aAAa,MAAK,KADuE,GAC/DgrE,MAAM,WAAW,GAAG,UAAUjtD,EAAE,CAAC,IAAIje,EAAU,EAARie,EAAEitD,MAAQ,OAAOmjI,GAAE,WAAW,OAAOruM,KAAI,GAAG,UAAU0oC,EAAE,CAAC,IAAIzoC,EAAEyoC,EAAEwiC,MAAM,OAAO3S,EAAEt4D,GAAE,SAASD,EAAEE,GAAG,OAAOF,EAAEkjX,OAAOhjX,EAAED,MAAK,OAAO4pB,EAAEquT,EAAGruT,GAAGA,EAAE6nC,EAAE,IAAIktQ,EAAEltQ,EAAEgxT,QAAQhxT,EAAEixT,WAAWjxT,EAAEkxT,SACtf,SAAS5iX,EAAEC,GAAG,OAAOA,EAAEqiX,IAAItiX,EAAEyjX,SAAS,cAAczjX,EAAEwjX,WAAUn1K,GAAE,SAASruM,EAAEC,GAAG,OAAOA,EAAEqiX,IAAItiX,EAAEyjX,SAAS,iBAAgBp1K,GAAE,WAAW,OAAO,KAAI,IAAIuwH,EAAE/0S,EAAE64V,SAAShxT,EAAEgxT,QAAQ74V,EAAE84V,YAAYjxT,EAAEixT,WAAW94V,EAAE+4V,SAASlxT,EAAEkxT,SAAQ,SAAS5iX,EAAEC,GAAG,IAAIC,EAAEF,EAAEyjX,SAAS,OAAOzjX,EAAEwjX,OAAOvjX,EAAEqiX,IAAIpiX,EAAE,IAAIA,EAAE,cAAcF,EAAEwjX,OAAO,OAAOvjX,EAAEqiX,IAAIpiX,EAAE,IAAIA,EAAE,oBAAmB,KAD3C,GACmD0jX,UAAU1jX,EAAE,aAAY,GAAIqc,OAAOm1C,GAAG,SAAS27C,EAAErtG,EAAEC,GAAG,IAAIC,EAAEF,EAAE,UAAUe,EAAEf,EAAEy/J,QAAQxhJ,EAAE,GAOrX,OAPwX6kW,GAAG1rT,SAAQ,SAASp3D,GAAG,SAASC,EAAEyoC,EAAE7e,GAAG,GAAG7pB,KAAKE,EAAE,CAAC,IAAIie,EAAEuqB,EAAExoC,EAAEF,IACpfie,EAAE/b,GAAGmsM,GAAE,WAAW,OAAOlwL,UAAS,GAAGne,KAAKe,EAAE,CAAC,IAAI2wD,EAAE3wD,EAAEf,GAAGie,EAAE/b,GAAGq2D,EAAE7G,GAAE,SAAS1xD,EAAEC,GAAG,OAAO4pB,EAAE7pB,EAAEC,EAAED,EAAEkjX,OAAOjjX,EAAEyxD,QAAO,IAAIxvD,EAAErB,EAAEb,GAAG,OAAOA,GAAG,IAAK,cAAc,IAAK,eAAe,IAAK,SAAS,IAAK,iBAAiB,IAAK,eAAe,IAAK,iBAAiB,IAAK,uBAAuB,IAAK,eAAe,IAAK,gBAAgB,IAAK,aAAa,OAAOC,GAAE,SAASD,GAAG,OAAOA,KAAG,SAASA,EAAEC,EAAEC,GAAG,OAAOA,KAAI,IAAK,aAAa,OAAOD,GAAE,SAASD,GAAG,OAAO6jX,GAAG7jX,MAAI,SAASA,EAAEC,EAAEC,GAAG,OAAOD,EAAEqiX,IAAItiX,EAAEqxC,UAAUyyU,aAAa,IACpf5jX,EAAE,QAAO,IAAK,cAAc,OAAOD,GAAE,SAASD,GAAG,OAAOA,KAAG,SAASA,EAAEC,EAAEC,GAA6C,OAA1CF,EAAEC,EAAEqiX,IAAI,IAAIpiX,EAAE,OAAOD,EAAEA,EAAEqiX,IAAI,IAAIpiX,EAAE,OAAa,CAACF,EAAEC,MAAK,IAAK,aAAa,OAAOA,GAAE,SAASD,GAAG,MAAM,CAAC+jX,GAAG,WAAW/jX,EAAEA,EAAE2lN,OAAO3lN,EAAEigB,KAAK8jW,GAAG,WAAW/jX,EAAEA,EAAE4lN,OAAO5lN,EAAEgkX,KAAKD,GAAG,aAAa/jX,EAAEA,EAAE6lN,SAAS7lN,EAAEigB,KAAK8jW,GAAG,aAAa/jX,EAAEA,EAAE8lN,SAAS9lN,EAAEgkX,SAAO,SAAShkX,EAAEC,EAAEC,GAAG,SAASa,EAAEf,EAAEie,GAAG,OAAOhe,EAAEqiX,IAAI,IAAItiX,EAAEie,EAAE,QAAQ/d,EAAE,IAAIA,EAAE,IAAIF,EAAEie,EAAE,IAAI/d,EAAE,IAAIF,GAAGA,EAAEA,EAAEqxC,UAAU4yU,WAAW,IAAIhmW,EAAEld,EAAE,MAAM,OAAOmB,EAAEnB,EAAE,MAAM,OAA4B2nC,GAArBzqB,EAAEhe,EAAEqiX,IAAItiX,EAAE,IAAIie,EAAE,KAAOhe,EAAEqiX,IAAItiX,EAAE,IACnfe,EAAE,MAAM,SAAS,MAAKmB,EAAEjC,EAAEqiX,IAAItiX,EAAE,IAAIkC,EAAE,KAAyC,OAApClC,EAAEC,EAAEqiX,IAAItiX,EAAE,IAAIe,EAAE,MAAM,SAAS,KAAW,CAACkd,EAAE/b,EAAEwmC,EAAE1oC,MAAK,IAAK,iBAAiB,OAAOC,GAAE,SAASD,GAAG,MAAG,kBAAkBA,EAAQ,CAACmgB,GAAEngB,GAAGmgB,GAAEngB,IAAO,kBAAkBA,EAAQ,CAACmgB,GAAEngB,EAAEwI,KAAK2X,GAAEngB,EAAEsrE,aAA3C,KAAoD,SAAStrE,EAAEC,EAAEC,GAAG,IAAIa,EAAEf,EAAEqxC,UAAU6yU,eAAejmW,EAAEhe,EAAEqiX,MAAMpgX,EAAEjC,EAAEqiX,MAA2I,OAArItiX,EAAEA,EAAEwiX,KAAK,UAAUtiX,EAAE,eAAeF,EAAE69B,KAAK5f,EAAE,IAAI/b,EAAE,IAAInB,EAAE,IAAIb,EAAE,MAAMF,EAAE,QAAQie,EAAE,IAAIld,EAAE,IAAIb,EAAE,SAASgC,EAAE,IAAInB,EAAE,IAAIb,EAAE,YAAYD,EAAED,GAAS,CAACie,EAAE/b,MAAK,IAAK,cAAc,OAAOjC,GAAE,SAASD,GAAG,OAAO83W,EAAE,GAAE,SAAS73W,GAAG,OAAOD,EAAEC,SACzgB,SAASD,EAAEC,EAAEC,GAAG,OAAO43W,EAAE,GAAE,SAAS93W,GAAG,OAAOC,EAAEqiX,IAAI,IAAIpiX,EAAE,IAAIF,EAAE,WAAS,IAAK,eAAe,OAAOC,GAAE,SAASD,GAAG,OAAS,EAAFA,KAAK,SAASA,EAAEC,EAAEC,GAAG,OAAOD,EAAEqiX,IAAIpiX,EAAE,SAAQ,IAAK,eAAe,OAAOD,GAAE,SAASD,GAAG,MAAM,CAAC6jX,GAAG7jX,EAAEmtF,KAAK,QAAQntF,EAAEmoQ,KAAK,EAAE,SAASnoQ,EAAEA,EAAEoqC,MAAM,MAAI,SAASpqC,EAAEC,EAAEC,GAAGF,EAAEC,EAAEqiX,IAAI,YAAYpiX,EAAE,IAAIF,EAAEqxC,UAAUyyU,aAAa,IAAI5jX,EAAE,QAAQ,IAAI,MAAM,IAAIa,EAAEd,EAAEqiX,IAAIpiX,EAAE,UAAqD,OAA3CD,EAAEA,EAAEqiX,IAAI,aAAapiX,EAAE,IAAIA,EAAE,cAAoB,CAACF,EAAEe,EAAEd,MAAK,IAAK,kBAAkB,IAAK,iBAAiB,OAAOA,GAAE,SAASA,GAAG,MAAM,CAAC,mBAC9fD,EAAE,KAAK,KAAKmkX,GAAGlkX,EAAEmkX,MAAM,QAAQD,GAAGlkX,EAAEokX,OAAO,QAAQF,GAAGlkX,EAAEqkX,OAAO,YAAU,SAASrkX,EAAEC,EAAEa,GAAG,SAASkd,EAAEje,GAAG,OAAOE,EAAEoiX,IAAI,IAAItiX,EAAE,QAAQe,EAAE,IAAImB,EAAE,IAAInB,EAAE,IAAIf,EAAE,KAAK,MAAM,IAAIkC,EAAEjC,EAAEoxC,UAAUkzU,WAAW,MAAM,CAAC,mBAAmBvkX,EAAE,KAAK,KAAKie,EAAE,QAAQA,EAAE,SAASA,EAAE,aAAY,IAAK,uBAAuB,OAAOhe,GAAE,SAASD,GAAG,MAAM,CAAU,EAATA,EAAEi1D,OAAiB,EAARj1D,EAAEyb,UAAU,SAASzb,EAAEC,EAAEC,GAAgD,OAA7CF,EAAEC,EAAEqiX,IAAIpiX,EAAE,aAAaD,EAAEA,EAAEqiX,IAAIpiX,EAAE,YAAkB,CAACF,EAAEC,MAAK,IAAK,YAAY,OAAOA,GAAE,SAASD,GAAG,IAAIC,EAAE,EAC7c,MAD+c,UAAUD,EAAEC,EAAE,KAAK,SAASD,IAAIC,EAAE,MAC1eA,KAAG,SAASD,EAAEC,EAAEC,GAAG,OAAOD,EAAEqiX,IAAIpiX,EAAE,cAAc,KAAK,IAAI,SAAQ,IAAK,YAAY,OAAOD,GAAE,SAASD,GAAG,OAAOA,KAAG,SAASA,EAAEC,EAAEC,GAAG,OAAOA,KAAI,IAAK,YAAY,OAAOD,GAAE,SAASD,GAAG,OAAOk5G,GAAGl5G,MAAI,SAASA,EAAEC,EAAEC,GAAG,OAAOD,EAAEqiX,IAAIpiX,EAAE,wBAAuB,IAAK,YAAY,OAAOD,GAAE,SAASD,GAAG,OAAOA,EAAE47C,KAAI,SAAS57C,GAAG,QAAQA,QAAK,SAASA,EAAEC,EAAEC,GAAG,OAAO43W,EAAE,GAAE,SAAS93W,GAAG,MAAM,KAAKE,EAAE,IAAIF,EAAE,UAAQ,IAAK,kBAAkB,OAAOC,GAAE,SAASD,GAAG,MAAM,CAAC,UAAUA,EAAEA,EAAE0B,MAAM,IAAI1B,EAAE8f,WAAS,SAAS9f,EAAEC,EAAEC,GAC/b,OADkcF,EAAEC,EAAEqiX,IAAI,cACzfpiX,EAAE,KAAKA,EAAE,YAAYD,EAAEA,EAAEqiX,IAAI,KAAKpiX,EAAE,WAAiB,CAACF,EAAEC,UAAege,EAAE,SAASikN,EAAEliO,EAAEC,GAAG,IAAIC,EAAEF,EAAE,UAAUe,EAAEf,EAAEy/J,QAAQxhJ,EAAE,GACqC,OADlC9c,OAAO8mD,KAAK/nD,GAAGk3D,SAAQ,SAASp3D,GAAG,IAAWe,EAAPd,EAAEC,EAAEF,GAAK,GAAG,kBAAkBC,GAAG,mBAAmBA,EAAEc,EAAEstM,GAAE,WAAW,OAAOpuM,UAAS,GAAG,oBAAoBA,EAAE,CAAC,IAAIiC,EAAEjC,EAAEi5W,UAAa,cAAch3W,GAAG,gBAAgBA,EAAEnB,EAAEstM,GAAE,SAASruM,GAAG,OAAOA,EAAEqrE,KAAKprE,MAAa,gBAAgBiC,GAAG,oBAAoBA,IAAEnB,EAAEstM,GAAE,SAASruM,GAAG,OAAOA,EAAEqrE,KAAKprE,EAAE0L,MAAM,aAAWosE,EAAG93E,KAAKc,EAAEstM,GAAE,SAASruM,GAAG,OAAOA,EAAE+4F,OAAOupR,IAAI,IAC3fxK,EAAE73W,EAAEJ,QAAO,SAASG,GAAG,OAAOC,EAAED,MAAK,SAAQe,EAAEW,MAAMzB,EAAEge,EAAEje,GAAGe,KAAII,OAAO8mD,KAAKlnD,GAAGq2D,SAAQ,SAASp3D,GAAG,IAAIC,EAAEc,EAAEf,GAAGie,EAAEje,GAAGu4D,EAAEt4D,GAAE,SAASD,EAAEE,GAAG,OAAOF,EAAEkjX,OAAOhjX,EAAED,SAAcge,EAAE,SAAS8tD,EAAE/rE,EAAEE,GAAG,IAAIa,EAAEf,EAAE,UAAUie,EAAEje,EAAEy/J,QAAQ/2H,EAAE,GAIjD,OAJoDvnC,OAAO8mD,KAAKlnD,GAAGq2D,SAAQ,SAASp3D,GAAG,IAAIE,EAAEa,EAAEf,GAAGie,EAAEhe,EAAEqM,GAAGtM,GAAGkC,EAAE,IAAI41B,GAAG,GAAG2qV,EAAGviX,GAAGgC,EAAEy9F,MAAM,EAAEz9F,EAAEuI,OAAOof,EAAE2vV,UAAU3vV,EAAE9nB,OAAO7B,EAAE,OAAM,GAAG,IAAKgC,EAAE0R,KAAK,MAAM,CAAC,IAAIuK,EAAE0L,EAAE2vV,UAAUt5W,GAAG,GAAGie,EAAEjc,EAAEy9F,MAAM,EAAEz9F,EAAEuI,OAAO0T,EAAEjc,EAAE0R,KAAK,OAAO,GAAG,aAAa1T,EAAE,CAAC,IAAIwxD,EAAExxD,EAAE8mE,SAAS9kE,EAAEuI,OAAO,OAAOvI,EAAEy9F,MAAM,EAAE,kBAAkBjuC,EACvfxvD,EAAE4M,EAAE4iD,EAAE8yT,GAAGptT,SAAQ,SAASp3D,EAAEC,GAAGA,EAAEyxD,EAAE7xD,SAASqC,EAAElC,GAAG0xD,EAAEzxD,WAAU,CAAKke,EAAEskW,EAAGviX,EAAEuK,QAAQof,EAAE2vV,UAAU3vV,EAAE9nB,OAAO7B,EAAEuK,OAAO,OAAM,GAAG,IAAKof,EAAE2vV,UAAUt5W,EAAEuK,QAA7E,IAAqFpF,EAAW,EAATnF,EAAEqc,OAASzb,EAAW,EAATZ,EAAEipC,OAASmxR,EAAS,EAAPp6T,EAAEikB,KAAOtjB,IAAIX,EAAEu4L,WAAWl2L,EAAE,EAAE,SAASrC,IAAIqC,EAAEy2W,GAAG94W,EAAE0T,OAAO1T,EAAY,EAAVA,EAAE+gX,QAAU/+W,EAAEuI,OAAO0T,EAAEjc,EAAEy9F,MAAM,EAAEz9F,EAAEiiB,KAAKm2S,EAAEp4T,EAAEu2L,WAAW53L,EAAEqB,EAAE0R,KAAKrR,GAAG4b,EAAE3K,MAAMtR,EAAEqa,OAAOlX,EAAEnD,EAAEinC,OAAOroC,EAAEoB,EAAE++W,QAAQ/gX,GAAGwoC,EAAE1oC,GAAGquM,GAAE,SAASruM,EAAEC,GAAG,IAAIC,EAAEF,EAAEmjX,YAAY,GAAGllW,KAAK/d,EAAE,OAAOA,EAAE+d,GAAG,IAAIld,EAAE,CAAC0jX,UAAS,GACrY,OADyYtjX,OAAO8mD,KAAK/lD,GAAGk1D,SAAQ,SAASp3D,GAAGe,EAAEf,GAAGkC,EAAElC,MAAKkC,EAAEuI,SAAS1J,EAAE0J,OAAOzK,EAAEqrE,KAAKnpE,EAAEuI,QACvf1J,EAAE6S,KAAK7S,EAAE6S,MAAM7S,EAAE0J,OAAO,UAAiBvK,EAAE+d,GAAGld,QAAMI,OAAO8mD,KAAKhqC,GAAGm5C,SAAQ,SAASp3D,GAAG,IAAIC,EAAEge,EAAEje,GAAG0oC,EAAE1oC,GAAGu4D,EAAEt4D,GAAE,SAASD,EAAEE,GAAG,SAASa,EAAEf,GAAGE,EAAEie,EAAEne,GAAG,IAAIie,EAAE,IAAIje,EAAE,OAAO,IAAIie,EAAEje,EAAEkjX,OAAOhjX,EAAED,GAAGiC,EAAElC,EAAEijX,OAAOv6U,EAAE1oC,EAAEqxC,UAAUxnB,EAAE3nB,EAAEwhX,aAAwBvlW,GAAXjc,EAAEA,EAAEuI,OAAS,CAACg6W,SAASvkX,EAAEoiX,KAAI,KAAK5wT,EAAE,IAAI55B,GAAG45B,EAAEiuC,MAAM,EAAEx+F,OAAO8mD,KAAKyJ,GAAG0F,SAAQ,SAASp3D,GAAGme,EAAEne,GAAGE,EAAEoiX,IAAI,GAAG5wT,EAAE1xD,OAAM,IAAIyU,EAAE0J,EAAE1T,OAAOpF,EAAE8Y,EAAEvK,KAEvM,OAF4M1T,EAAE,MAAM2pB,EAAE,IAAI5L,EAAE,MAAME,EAAEsmW,SAAS,SAAShwW,EAAE,IAAIvS,EAAE,iBAAiB,MAAM,IAAI+b,EAAE,KAAK5Y,EAAE,IAAIoP,EAAE,UAAU,SAASA,EAAE,IAAIvS,EAAE,cAAc+b,EAAE,KAAK,MACjfxJ,EAAE,KAAKpP,EAAE,IAAIoP,EAAE,UAAU,0BAA0BwJ,EAAE,KAAKE,EAAEwhF,MAAM,IAAI,EAAE,IAAI,aAAa1hF,EAAE,2BAA2BE,EAAEqmW,GAAG,IAAI,IAAIvmW,EAAE,aAAaumW,GAAG3/W,MAAM,GAAG+2C,KAAI,SAAS57C,GAAG,OAAOme,EAAEne,MAAK6D,KAAK,KAAK,MAAM,SAAS2gX,GAAG5oU,KAAI,SAAS57C,EAAEC,GAAG,OAAOke,EAAEne,GAAG,IAAIie,EAAE,oBAAoBhe,EAAE,IAAIge,EAAE,aAAahe,EAAE,UAAS4D,KAAK,IAAI,UAAU,MAAMgmB,EAAE,IAAI5L,EAAE,aAAaxJ,EAAE,IAAIvS,EAAE,iBAAiB,MAAM,IAAI+b,EAAE,YAAY,SAASxJ,EAAE,IAAIvS,EAAE,cAAc+b,EAAE,YAAY,IAAI5Y,EAAE,cAAc4Y,EAAE,IAAIyqB,EAAEg8U,QAAQ,IAAIzmW,EAAE,UAAUxJ,EAAE,UAClf0J,EAAEs6K,WAAW,MAAMx6K,EAAE,gBAAgBld,EAAE,QAAQA,EAAE,UAAUA,EAAE,UAAUA,EAAE,WAAWb,EAAE,MAAMA,EAAEkjD,KAAK,MAAMjlC,EAAEsmW,SAAS,KAAKviX,EAAE,kBAAkBuS,EAAE,KAAK,KAAY0J,QAAauqB,EAAE,SAASgU,EAAE18C,GAAG,IAAIC,EAAED,EAAE,UAAUE,EAAEF,EAAEy/J,QAAQ1+J,EAAE,GAAuO,OAApOI,OAAO8mD,KAAKhoD,GAAGm3D,SAAQ,SAASp3D,GAAG,IAAIE,EAAED,EAAED,GAAGe,EAAEf,GAAGquM,GAAE,SAASruM,EAAEC,GAAG,MAAM,kBAAkBC,GAAG,mBAAmBA,EAAE,GAAGA,EAAEF,EAAEqrE,KAAKnrE,SAAOiB,OAAO8mD,KAAK/nD,GAAGk3D,SAAQ,SAASp3D,GAAG,IAAIC,EAAEC,EAAEF,GAAGe,EAAEf,GAAGu4D,EAAEt4D,GAAE,SAASD,EAAEE,GAAG,OAAOF,EAAEkjX,OAAOhjX,EAAED,SAAcc,EAAE,SAASu3L,EAAEt4L,EAAEC,EAAEC,EAAEa,EAAEkd,GAAG,IAAIyqB,EAAEn5B,EAAEvP,EAAEie,GAAG4L,EAAE/a,EAAE9O,EACpf0oC,EAAEzqB,GAAGyzC,EAAE4G,EAAEt4D,EAAEie,GAAG5Y,EAAEgoG,EAAErtG,EAAEie,GAAGnd,EAAEwlP,EAAEtmP,EAAEie,GAAGosK,EAAGxgK,EAAEmd,SAA0N,OAAjNqjJ,IAAKhlL,EAAE2hC,SAASqjJ,GAAIA,EAAGxpL,EAAE,gBAAgBgpB,EAAEA,EAAEwgK,MAAOhlL,EAAEglL,GAAIxgK,GAAGA,EAAE,EAAE1oB,OAAO8mD,KAAK5iD,GAAGxF,OAAO6oC,EAAE,CAACi3U,YAAYj3U,EAAEl8B,KAAKklD,EAAEnnD,OAAOzJ,EAAE6+F,MAAMt6F,EAAE+F,MAAMye,GAAG6e,EAAEg9K,QAAQvX,EAAEnuM,EAAEie,GAAGyqB,EAAEh8B,SAASw1N,EAAEhiO,EAAE+d,GAAGyqB,EAAEl9B,WAAWugE,EAAE9rE,EAAEge,GAAGyqB,EAAE1V,QAAQ0pB,EAAE37C,EAAEkd,GAAUyqB,EAAE,SAAS4rS,EAAGt0U,EAAEC,EAAEC,GAAG,IAAIa,EAAEf,EAAEijX,OAAOjwV,QAAQ/U,EAAEje,EAAEo2O,QAAQj1O,OAAO8mD,KAAK/nD,GAAGk3D,SAAQ,SAAS1uB,GAAGzoC,EAAEsiX,KAAKxhX,EAAE,IAAI2nC,GAAGzqB,EAAEld,EAAE,IAAI2nC,EAAE,IAAIxoC,EAAEwoC,GAAGx4B,OAAOlQ,EAAEC,GAAG,QAAOA,EAAEge,GAAG,SAASg/V,EAAEj9W,EAAEC,EAAEC,EAAEa,GAAG,IAAsC2wD,EAAlCzzC,EAAEje,EAAEijX,OAAOv6U,EAAEzqB,EAAE3T,GAAGuf,EAAE5L,EAAE0hW,YAAc/nC,KAAKlmR,EAAEzxD,EAAEqiX,IAAIrkW,EAAEy5V,WAAW,wBAClf,IAAIryW,EAAErF,EAAEqxC,UAAUpzB,EAAE5Y,EAAEs/W,WAAWt/W,EAAEA,EAAEu/W,WAAW5kX,EAAEE,EAAEA,EAAEgQ,OAAOlQ,EAAEC,GAAGA,EAAEqiX,IAAIz4V,EAAE,SAAS9oB,GAAGd,EAAE,MAAMD,EAAE,MAAM6pB,EAAE,UAAU5pB,EAAE,MAAMD,EAAE,KAAK0oC,EAAE,oBAAoB,MAAM,IAAI1oC,EAAE,kBAAkB43U,IAAI33U,EAAEyxD,EAAE,qBAAqBzzC,EAAE,IAAIje,EAAE,+BAA+BC,EAAE,SAASyoC,EAAE,oBAAoB,MAAM,WAAWkvS,IAAI33U,EAAEyxD,EAAE,qBAAqBrsD,EAAE,MAAMpF,EAAE,IAAI4pB,EAAE,QAAQ7pB,EAAE,KAAKe,GAAGd,EAAE,KAAK,SAAS+8W,EAAEh9W,EAAEC,EAAEC,GAAG,IAAIa,EAAEf,EAAEijX,OAAOhlW,EAAEld,EAAEuJ,GAAGo+B,EAAE1oC,EAAEuiD,QAAQ14B,EAAE7pB,EAAEg3D,KAAKtF,EAAE3wD,EAAEwhD,QAAQl9C,EAAEtE,EAAEi2D,KAAKl2D,EAAEd,EAAEwiX,KAAK9wT,EAAE,UAAUoxT,GAAG1rT,SAAQ,SAASn3D,GACxd,IAAIc,EAAEod,EAA1B,GAD+ele,EAAEY,EAAEZ,KAC9eA,KAAKC,EAAEy/F,OAAgB,GAAG1/F,KAAK4pB,EAAE,CAAC9oB,EAAE8oB,EAAE5pB,GAAGke,EAAEuqB,EAAEzoC,GAAG,IAAIq6T,EAAEw9C,EAAE/5B,GAAG99U,GAAGJ,QAAO,SAASG,GAAG,OAAOc,EAAEwhX,IAAIvhX,EAAE,IAAIf,EAAE,QAAOc,EAAEd,EAAEwiX,KAAKloD,EAAE1+Q,KAAI,SAAS57C,EAAEC,GAAG,OAAOD,EAAE,MAAMme,EAAE,IAAIle,EAAE,OAAM4D,KAAK,OAAOg6B,KAAK5f,EAAE,IAAI2/T,GAAG39U,GAAG,IAAIq6T,EAAE,KAAKA,EAAE1+Q,KAAI,SAAS57C,EAAEC,GAAG,OAAOke,EAAE,IAAIle,EAAE,KAAKD,KAAI6D,KAAK,KAAK,WAAW9C,EAAED,EAAEwhX,IAAIj9W,EAAE,IAAIpF,GAAGq6T,EAAEt6T,EAAEwiX,KAAKzhX,EAAE,MAAM2wD,EAAE,IAAIzxD,GAAGa,EAAEw5T,GAAGr6T,KAAKohF,GAAGi5O,EAAEt6T,EAAEwiX,KAAKzhX,GAAG88B,KAAK5f,EAAE,WAAWojE,GAAGphF,GAAG,MAAM,QAAQge,EAAE,YAAYojE,GAAGphF,GAAG,MAAMyxD,EAAE,IAAIzxD,EAAE,IAAIc,EAAE,KAAKu5T,EAAEr8S,EAAE,IAAI2/T,GAAG39U,GAAG,IAAIc,EAAE,KAAK2wD,EAAE,IAAIzxD,EAAE,IAAIc,EAAE,QAAQ,IAAII,OAAO8mD,KAAK/nD,EAAEy/F,OAAO9/F,QACpfiB,EAAE4wD,EAAE,iBAAiBzxD,EAAEa,GAAG,SAAS8vG,EAAE5wG,EAAEC,EAAEC,EAAEa,GAAG,IAAIkd,EAAEje,EAAEijX,OAAOv6U,EAAE1oC,EAAEuiD,QAAQ14B,EAAE5L,EAAEskC,QAAQmP,EAAEzzC,EAAE3T,GAAGytU,EAAG52U,OAAO8mD,KAAK/nD,IAAIk3D,SAAQ,SAASn5C,GAAG,IAAI5Y,EAAEnF,EAAE+d,GAAG,IAAIld,GAAGA,EAAEsE,GAAG,CAAC,IAAIvE,EAAEuE,EAAE6K,OAAOlQ,EAAEC,GAAG,GAAGohF,GAAGpjE,GAAG,CAAC,IAAIpd,EAAEwgF,GAAGpjE,GAAGi6T,EAAG7yU,GAAKpF,EAAEyxD,EAAJ5wD,EAAM,WAAuB,YAAZD,EAAE,MAA8BZ,EAAED,EAAEwiX,KAAK1hX,GAAG+8B,KAAK6zB,EAAE,WAAW7wD,EAAE,MAAM,QAAQ6wD,EAAE,YAAY7wD,EAAE,OAAOZ,EAAE4pB,EAAE,IAAI5L,EAAE,IAAInd,EAAE,UAAU,GAAGi3E,EAAGj3E,GAAG,CAAC,IAAIyB,EAAEmmC,EAAEzqB,GAAGhe,EAAEyxD,EAAE,IAAIksR,GAAG3/T,GAAG,IAAInd,EAAE,KAAKA,EAAE86C,KAAI,SAAS57C,EAAEC,GAAG,OAAOsC,EAAE,IAAItC,EAAE,KAAKD,KAAI6D,KAAK,KAAK,UAAU5D,EAAEyxD,EAAE,IAAIksR,GAAG3/T,GAAG,IAAInd,EAAE,KAAK+oB,EAAE,IAAI5L,EAAE,IAAInd,EAAE,SAChf,SAASm4G,EAAGj5G,EAAEC,GAAG6+W,KAAK9+W,EAAE6kX,WAAW5kX,EAAEqiX,IAAItiX,EAAEijX,OAAOvL,WAAW,4BAA4B,SAASv1I,EAAEniO,EAAEC,EAAEC,EAAEa,EAAEkd,GAAG,SAASyqB,IAAI,MAAM,qBAAqBgkC,YAAY,aAAa,oBAAoB,SAAS7iD,EAAE7pB,GAAG2B,EAAE1B,EAAEqiX,MAAMtiX,EAAE2B,EAAE,IAAI+mC,IAAI,KAAK,kBAAkBzqB,EAAEje,EAAEqqL,EAAG,WAAWpsK,EAAE,KAAKje,EAAEqqL,EAAG,aAAahlL,IAAItE,GAAGQ,EAAEtB,EAAEqiX,MAAMtiX,EAAEuB,EAAE,IAAIknE,EAAE,6BAA6BzoE,EAAEyoE,EAAE,eAAe4hH,EAAG,OAAO,SAAS34H,EAAE1xD,GAAGA,EAAEqqL,EAAG,aAAa3hJ,IAAI,IAAI/mC,EAAE,KAAK0D,IAAItE,EAAEf,EAAEyoE,EAAE,mBAAmBlnE,EAAE,IAAIknE,EAAE,2BAA2B4hH,EAAG,MACjfrqL,EAAEyoE,EAAE,iBAAiB,SAAS3nE,EAAEd,GAAG,IAAIE,EAAED,EAAEqiX,IAAI//W,EAAE,YAAYtC,EAAEsC,EAAE,YAAYvC,EAAE,KAAKC,EAAEmjD,KAAK7gD,EAAE,YAAYrC,EAAE,KAAK,IAAgEyB,EAAEJ,EAA9DV,EAAEb,EAAEijX,OAAO54L,EAAGrqL,EAAE01C,MAAMnzC,EAAE1B,EAAE0hD,QAAQkmB,EAAE5nE,EAAEosE,MAA0B,GAApB/sE,EAAEA,EAAEwlN,QAAmBxlN,EAAE,CAAC,GAAGg4U,EAAGh4U,GAAmD,YAA/CA,EAAEghC,QAAQrX,EAAE5pB,GAAGyxD,EAAEzxD,EAAEmjD,MAAMtiD,EAAE,SAASA,EAAE,UAAgBZ,EAAEA,EAAEgQ,OAAOlQ,EAAEC,GAAGa,EAAEZ,QAAQA,EAAED,EAAEqiX,IAAI//W,EAAE,YAAY1B,EAAEb,EAAEm8J,QAAQtyI,EAAEhpB,GAAGZ,EAAE,MAAMC,EAAE,KAAKW,EAAE,KAAKb,EAAEA,EAAEm8J,QAAQzqG,EAAE1xD,GAAGC,EAAEmjD,KAAK,MAAMljD,EAAE,KAAKF,EAAE,KAAK,SAASsiO,EAAEtiO,EAAEC,EAAEC,EAAEa,EAAEkd,GAAG,SAASyqB,EAAE1oC,GAAG,OAAOA,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,OAAO,EAAE,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,OAAO,EAC7f,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,OAAO,EAAE,QAAQ,OAAO,GAAG,SAAS6pB,EAAE3pB,EAAEa,EAAEkd,GAAG,SAASyqB,IAAIzoC,EAAE,OAAOwU,EAAE,YAAYpP,EAAE,4BAA4BxE,EAAE,OAAO,IAAagpB,EAAT3pB,EAAE+d,EAAErK,KAAOiW,EAAE5L,EAAEkG,KAAKlkB,EAAEqiX,IAAIrkW,EAAEkG,KAAK,KAAKpjB,GAAGA,EAAEd,EAAE,MAAMwU,EAAE,WAAWvU,EAAE,KAAKuU,EAAE,WAAWoV,EAAE,KAAK4+C,EAAE7sB,KAAI,SAAS57C,GAAG,OAAOyU,EAAE,IAAIzU,EAAE,MAAMie,EAAEje,MAAK6D,KAAK,MAAM,KAAKwB,EAAE,eAAe,MAAM,IAAIi1T,EAAE,YAAYj1T,EAAE,wBAAwB,CAACxE,EAAEgpB,EAAE3pB,EAAE+d,EAAEw6K,WAAWx6K,EAAEkrB,OAAOlrB,EAAE1B,QAAQ,KAAK9H,EAAE,SAASvU,EAAE,IAAIuU,EAAE,SAASoV,EAAE,IAAI4+C,EAAE7sB,KAAI,SAAS57C,GAAG,OAAOyU,EAAE,IAAIzU,EAAE,IAAIie,EAAEje,GAAG,OAAM6D,KAAK,IAC5f,KAAKi7W,KAAK5+W,EAAE+d,EAAEgjW,QAAQhhX,EAAE,MAAMwU,EAAE,cAAcvU,EAAE,KAAKF,EAAE6kX,WAAW,6BAA6B,CAAChkX,EAAEX,GAAG,KAAKuU,EAAE,YAAYvU,EAAE,OAAO,SAASY,IAAIb,EAAE,MAAMwU,EAAE,YAAYpP,EAAE,6BAA6BxE,EAAE,KAAK4T,EAAE,gBAAgB,OAAO+vW,GAAG5oU,KAAI,SAAS57C,EAAEC,GAAG,OAAOwU,EAAE,IAAIzU,EAAE,MAAMuC,EAAEtC,MAAK4D,KAAK,MAAM,KAAKwB,EAAE,mBAAmBxE,EAAE,IAAI0B,EAAE,KAAKiiX,GAAG5oU,KAAI,SAAS57C,EAAEC,GAAG,OAAOwU,EAAE,IAAIzU,EAAE,IAAIuC,EAAEtC,GAAG,OAAM4D,KAAK,IAAI,KAAK,IAAIwB,EAAEqsD,EAAEpnD,GAAGzJ,EAAEZ,EAAEqiX,IAAIpiX,EAAE,aAAauU,EAAExU,EAAEqiX,IAAI5wT,EAAElmD,WAAW,IAAI3K,EAAE,KAAKX,EAAE+d,EAAE0hF,MAAM,IAAI26N,EAAEr8S,EAAExT,OAAOlI,EAAE,CAAC0b,EAAEnP,EAAEmP,EAAExJ,EAAEwJ,EAAE1O,EAAE0O,EAAEE,GACnfsqD,EAAE,CAAC,SAAS,aAAa,SAAS,UAAU,IAAIvoE,EAAEwoC,IAAI,IAAIxoC,EAAEY,KAAKb,EAAE,MAAMC,EAAE,MAAM,EAAE,MAAMwoC,IAAIzoC,EAAE,UAAUa,IAAIb,EAAE,MAAM,IAAIyxD,EAAE1xD,EAAEijX,OAAOliX,EAAEq2D,SAAQ,SAASr2D,GAAG,IAA+BD,EAA3B4wD,EAAE3wD,EAAEC,KAAKqE,EAAEnF,EAAEsL,WAAWkmD,GAAK,GAAGrsD,EAAE,CAAC,IAAI4Y,EAAE5Y,GAAG,OAAOvE,EAAEuE,EAAE6K,OAAOlQ,EAAEC,OAAO,CAAC,IAAIge,EAAEikC,IAAI,OAAO,IAAIrhD,EAAEb,EAAEojX,YAAY1xT,GAAG5wD,EAAE,GAAGK,OAAO8mD,KAAK,IAAInwB,IAAIs/B,SAAQ,SAASp3D,GAAGc,EAAEd,GAAGC,EAAEqiX,IAAIzhX,EAAE,IAAIb,MAAK6pB,EAAE7pB,EAAEqrE,KAAKtqE,GAAG2nC,EAAE3nC,EAAEy/G,KAAK5sG,MAAM9S,MAAK,SAASshO,EAAEpiO,EAAEE,EAAEa,EAAEkd,EAAEyqB,GAAG,IAAI,IAAsBrjC,EAAlBwkB,EAAE7pB,EAAEijX,OAAOvxT,EAAE7nC,EAAEvf,GAAKxJ,EAAE,EAAEA,EAAEmd,EAAEpe,SAASiB,EAAE,CAAC,IAC3aS,EAD+aV,EAAEod,EAAEnd,GAAGyB,EAAE1B,EAAEG,KAAKynE,EAAE5nE,EAAE2/G,KAAK5sG,KAAKjS,EAAEZ,EAAE2L,SAASnK,GAAG1B,EAAEb,EAAEqrE,KAAKxqE,GAClf,YAAc,GAAGc,EAAE,CAAC,IAAI+mC,EAAE/mC,GAAG,SAAS,GAAGu2U,EAAGv2U,GAAG,CAAW,GAAVY,EAAEZ,EAAED,MAAS,QAAQ+mE,GAAG,QAAQA,EAAEA,EAAEzoE,EAAEqrE,KAAK9oE,EAAE68W,UAAU78W,EAAEoJ,MAAM,GAAGyzW,UAAUl/W,EAAEwxD,EAAE,cAAc7wD,EAAE,IAAI4nE,EAAE,aAAavoE,EAAEkjD,KAAKqlB,EAAE,mBAAmB,GAAG,QAAQA,GAAG,QAAQA,GAAG,QAAQA,EAAElmE,EAAEvC,EAAE+4F,OAAOupR,IAAI,qBAAqB/9W,MAAMlC,UAAUwC,MAAM9E,KAAKwC,GAAG,MAAMZ,EAAE,EAAE,QAAQ8mE,EAAE9mE,EAAE,EAAE,QAAQ8mE,IAAI9mE,EAAE,GAAGzB,EAAEwxD,EAAE,iBAAiB/vD,EAAE,MAAMd,EAAE,UAAU0B,EAAE,UAAU,CAAC,OAAOkmE,GAAG,KAAK,KAAKpjE,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EACvf,KAAK,MAAM,KAAK,KAAKA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAKnF,EAAEwxD,EAAE,WAAWrsD,EAAE,IAAIxE,EAAE,IAAIk3E,EAAGx1E,GAAGgC,MAAMlC,UAAUwC,MAAM9E,KAAKwC,GAAGA,EAAE,MAAM,SAAchB,EAAEI,EAAEuO,OAAOlQ,EAAEE,OAAO,CAAC,IAAIwoC,EAAEwZ,IAAI,SAAS3gD,EAAErB,EAAEoiX,IAAIz4V,EAAEnd,SAAS,IAAIzM,EAAEqM,GAAG/J,GAAG,KAC/T,OADoU,QAAQkmE,EAAEvoE,EAAE,MAAMqB,EAAE,KAAKA,EAAE,+BAA+BA,EAAE,IAAIA,EAAE,aAAa,KAAK,QAAQknE,GAAGvoE,EAAE,MAAMqB,EAAE,KAAKA,EAAE,mCAAmCA,EAAE,IAAIA,EAAE,aACxe,KAAKgB,EAAE,EAASkmE,GAAG,KAAK,MAAM,KAAK,MAAMA,EAAEvoE,EAAEoiX,IAAI/gX,EAAE,aAAarB,EAAEwxD,EAAE,cAAc7wD,EAAE,IAAI4nE,EAAE,aAAavoE,EAAEkjD,KAAKqlB,EAAE,cAAc,SAAS,KAAK,KAAK,KAAK,MAAMpjE,EAAE,KAAK,MAAM,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM8C,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM8C,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,KAAK8C,EAAE,KAAK,MAAM,KAAK,MAAMA,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,MAAM8C,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,MAAM8C,EAAE,KAAK9C,EAAE,EAAE,MAAM,KAAK,MAAM8C,EAAE,YAAY,MAAM,KAAK,MAAMA,EAAE,YAAY,MAAM,KAAK,MAAMA,EAAE,YAC7c,GADydnF,EAAEwxD,EAAE,WAAWrsD,EAAE,IACjfxE,EAAE,KAAQ,MAAMwE,EAAEgqB,OAAO,GAAG,CAAKxuB,EAAEwF,KAAKw5B,IAAI4oC,EAAE,MAAM,EAAE,GAAzB,IAA4BrjE,EAAEpF,EAAE+4F,OAAOupR,IAAI,oBAAoBzhX,EAAE,KAAKX,EAAE,wBAAwBqB,EAAE,MAAMA,EAAE,6BAA6BA,EAAE,KAAKu2W,EAAEj3W,GAAE,SAASb,GAAG,OAAOoF,EAAE,IAAIpF,EAAE,KAAKuB,EAAE,IAAIvB,EAAE,OAAM,IAAIoF,EAAE,UAAclF,EAAJ,EAAEqC,EAAIu1W,EAAEv1W,GAAE,SAASvC,GAAG,OAAOuB,EAAE,IAAIvB,EAAE,OAASuB,GAAGrB,EAAE,OAAO,SAASy8C,EAAE38C,EAAEC,EAAEC,EAAEa,GAAG,SAASkd,EAAEyqB,GAAG,IAAI7e,EAAEhpB,EAAE6nC,GAAG,OAAO7e,EAAEA,EAAE84V,YAAY5hX,EAAE+jX,gBAAgBj7V,EAAE+4V,QAAQ/4V,EAAE3Z,OAAOlQ,EAAEE,GAAG2pB,EAAE3Z,OAAOlQ,EAAEC,GAAGA,EAAEqiX,IAAIxhX,EAAE,IAAI4nC,GAAG,SAASA,IAAI,SAAS1oC,IAAIE,EAAE6D,EAAE,+BAA+B,CAAC0kE,EAAE9mE,EAAEysM,EACpf7sM,EAAE,OAAO6sM,EAAE,aAAahpM,GAAG,MAAM,SAASnF,IAAIC,EAAE6D,EAAE,6BAA6B,CAAC0kE,EAAElnE,EAAEI,EAAEyD,GAAG,MAAM7C,EAAEiwD,EAAGxyD,KAAKE,EAAE,MAAMqC,EAAE,MAAMvC,IAAIE,EAAE,UAAUD,IAAIC,EAAE,MAAMD,IAAI,SAAS4pB,IAAI,SAAS7pB,IAAIE,EAAEmF,EAAE,iBAAiB,CAACojE,EAAE9mE,EAAEysM,EAAE7sM,EAAE,OAAO6sM,EAAE,cAAc,MAAM,SAASnuM,IAAIC,EAAEmF,EAAE,eAAe,CAACojE,EAAElnE,EAAEI,GAAG,MAAMY,EAAEiwD,EAAGxyD,KAAKE,EAAE,MAAMqC,EAAE,MAAMvC,IAAIE,EAAE,UAAUD,IAAIC,EAAE,MAAMD,IAAI,IACFmF,EAAErB,EADI2tD,EAAE1xD,EAAEijX,OAAO59W,EAAEqsD,EAAEpnD,GAAGxJ,EAAE4wD,EAAEllD,KAAK3L,EAAEE,EAAEyL,KAAKjK,EAAE,WAAW,IAAI0b,EAAEpd,EAAEyoI,SAAS5gG,EAAEzoC,EAChV,OADqVge,IAAMA,EAAE0kW,YAAY5hX,EAAE+jX,gBAAgB7mW,EAAE2kW,WAAQl6U,EAAExoC,GAAE+d,EAAEA,EAAE/N,OAAOlQ,EAAE0oC,IAAQzqB,EAAEyqB,EAAE45U,IAAIxhX,EACpf,IAAI,YAAYmd,GAAGyqB,EAAE,MAAMzqB,EAAE,IAAI5Y,EAAE,qBAAqB4Y,EAAE,oBAA2BA,EAD2S,GACtSwqD,EAAExqD,EAAE,aAAa1c,EAAE0c,EAAE,UAAUtc,EAAE,WAAW,IAAIsc,EAAEpd,EAAEqqE,MAAMxiC,EAAEzoC,EAAqG,OAAhGge,IAAMA,EAAE0kW,YAAY5hX,EAAE+jX,gBAAgB7mW,EAAE2kW,WAAQl6U,EAAExoC,GAAE+d,EAAEA,EAAE/N,OAAOlQ,EAAE0oC,IAAQzqB,EAAEyqB,EAAE45U,IAAIxhX,EAAE,IAAI,SAAgBmd,EAAvI,GAA4I,GAAG,kBAAkBtc,GAAG,GAAG,IAAIA,EAAE,YAAYzB,EAAE,MAAMyB,EAAE,MAAMzB,EAAEkjD,KAAK,KAAa07T,KAAK15W,EAAE6Y,EAAE,aAAala,EAAE/D,EAAE6kX,YAAY,IAAIz2K,EAAE7rM,EAAE,QAAQiwD,EAAG3xD,EAAEyoI,UAAU4uM,EAAGr3U,EAAEyoI,UAAUw1O,KAAK,kBAAkB15W,GAAG,GAAGA,GAAG,kBAAkBA,GAAGlF,EAAE,MAAMkF,EAAE,QAAQsjC,IACnfxoC,EAAE,YAAYkF,EAAE,QAAQykB,IAAI3pB,EAAE,MAAMwoC,IAAI7e,IAAI,SAAS4gT,EAAGzqU,EAAEC,EAAEC,EAAEa,EAAEkd,GAA+G,OAA5Ghe,EAAE44D,IAAI56C,EAAEhe,EAAE0D,KAAK,OAAOsa,GAAG6gW,KAAK7+W,EAAE4kX,WAAW5mW,EAAEqkW,IAAIriX,EAAEgjX,OAAOvL,WAAW,4BAA4B13W,EAAEC,EAAEge,EAAE/d,EAAEa,GAAUd,EAAEw6H,UAAUx6F,KAAK,SAAS0+R,EAAE3+T,EAAEC,EAAEC,EAAEa,GAAGk4G,EAAGj5G,EAAEC,GAAGqiO,EAAEtiO,EAAEC,EAAEC,EAAEa,EAAEyK,YAAW,WAAW,OAAM,KAAK42N,EAAEpiO,EAAEC,EAAEC,EAAEa,EAAE2L,UAAS,WAAW,OAAM,KAAKiwC,EAAE38C,EAAEC,EAAEA,EAAEC,GAAG,SAASsyD,EAAGxyD,EAAEC,GAAG,IAAIC,EAAEF,EAAE2D,KAAK,OAAO,GAAGs1G,EAAGj5G,EAAEE,GAAGo0U,EAAGt0U,EAAEE,EAAED,EAAE+yB,SAASiqV,EAAEj9W,EAAEE,EAAED,EAAE0/W,aAAa3C,EAAEh9W,EAAEE,EAAED,GAAG2wG,EAAE5wG,EAAEE,EAAED,EAAE0/F,OAAOwiI,EAAEniO,EAAEE,EAAED,GAAE,GAAG,GAAI,IAAIc,EAAEd,EAAEsK,OAAOg5W,QAAQrzW,OAAOlQ,EAAEE,GAChd,GADmdA,EAAEF,EAAEijX,OAAO34W,GAAG,eACjfvJ,EAAE,cAAiBd,EAAEsK,OAAOitI,QAAQmnL,EAAE3+T,EAAEE,EAAED,EAAEA,EAAEsK,OAAOitI,aAAa,CAAC,IAAIv5H,EAAEje,EAAE+4F,OAAOupR,IAAI,MAAM55U,EAAExoC,EAAEoiX,IAAIvhX,EAAE,OAAO8oB,EAAE3pB,EAAEoiX,IAAIrkW,EAAE,IAAIyqB,EAAE,KAAKxoC,EAAEF,EAAEwiX,KAAK34V,GAAGgU,KAAKhU,EAAE,mBAAmB,QAAQA,EAAE,IAAI5L,EAAE,IAAIyqB,EAAE,KAAK1oC,EAAEqrE,MAAK,SAASnrE,GAAG,OAAOuqU,EAAG9L,EAAE3+T,EAAEC,EAAEC,EAAE,MAAK,IAAIa,EAAE,KAAK8oB,EAAE,oBAAoB,EAAE1oB,OAAO8mD,KAAKhoD,EAAE0/F,OAAO9/F,QAAQK,EAAEF,EAAEijX,OAAO1gU,QAAQ,gBAAgB,SAASq8T,EAAG5+W,EAAEC,EAAEC,EAAEa,GAAG,SAASkd,IAAI,OAAM,EAAGje,EAAEgjX,QAAQ,KAAK/pQ,EAAGj5G,EAAEC,GAAGqiO,EAAEtiO,EAAEC,EAAEC,EAAEa,EAAEyK,WAAWyS,GAAGmkN,EAAEpiO,EAAEC,EAAEC,EAAEa,EAAE2L,SAASuR,GAAG0+B,EAAE38C,EAAEC,EAAEA,EAAEC,GAAG,SAAS2+W,EAAG7+W,EAAEC,EAAEC,EAAEa,GAAG,SAASkd,EAAEje,GAAG,OAAOA,EAAE2iX,YACvf94V,GAAG7pB,EAAE4iX,QAAQ,SAASl6U,EAAE1oC,GAAG,OAAOie,EAAEje,GAAGi5G,EAAGj5G,EAAEC,GAAG,IAAI4pB,EAAE3pB,EAAEyiX,WAAWjxT,EAAEzxD,EAAEqiX,MAAMj9W,EAAEpF,EAAEqiX,MAAMtiX,EAAEijX,OAAO1xR,MAAMlsF,EAAErF,EAAEgjX,QAAQtxT,EAAE,IAAI5wD,EAAEd,EAAEo2O,QAAQv1O,EAAEb,EAAEo2O,QAAQn2O,EAAEa,EAAEw+F,MAAM,OAAO5tC,EAAE,MAAMA,EAAE,IAAI,KAAK,MAAMA,EAAE,KAAKrsD,EAAE,IAAI,KAAK,IAAIqsD,EAAE,KAAK7wD,EAAE,IAAIC,EAAEsiD,MAAMljD,EAAE6kX,cAAczwC,EAAGt0U,EAAEa,EAAEX,EAAE8yB,SAAS9yB,EAAE8kX,kBAAkB/H,EAAEj9W,EAAEa,EAAEX,EAAEy/W,aAAa/uQ,EAAE5wG,EAAEa,EAAEX,EAAEy/F,MAAM1hF,GAAG/d,EAAEwlN,SAASznM,EAAE/d,EAAEwlN,UAAUyc,EAAEniO,EAAEa,EAAEX,GAAE,GAAG,GAAIa,GAAGuhO,EAAEtiO,EAAEc,EAAEZ,EAAEa,EAAEyK,WAAWk9B,GAAG45L,EAAEtiO,EAAEa,EAAEX,EAAEa,EAAEyK,WAAWyS,GAAGmkN,EAAEpiO,EAAEc,EAAEZ,EAAEa,EAAE2L,SAASg8B,GAAG05L,EAAEpiO,EAAEa,EAAEX,EAAEa,EAAE2L,SAASuR,GAAG0+B,EAAE38C,EAAEc,EAAED,EAAEX,KAAKD,EAAED,EAAE+4F,OAAOupR,IAAI,MAAMvhX,EAAEb,EAAEqK,OAAOg5W,QAAQrzW,OAAOlQ,EACngBa,GAAGwE,EAAExE,EAAEyhX,IAAIvhX,EAAE,OAAOD,EAAED,EAAEyhX,IAAIriX,EAAE,IAAIoF,EAAE,KAAKxE,EAAEb,EAAEijX,OAAO34W,GAAG,eAAevJ,EAAE,aAAa,OAAOD,EAAE,KAAKA,EAAE,IAAIb,EAAE,IAAIoF,EAAE,KAAKrF,EAAEqrE,MAAK,SAASprE,GAAG,OAAOwqU,EAAGm0C,EAAG5+W,EAAEE,EAAED,EAAE,MAAK,IAAIc,EAAE,MAAMD,EAAE,iBAAiB4wD,EAAE,KAAKA,EAAE,OAAO,SAASwsR,EAAGl+U,EAAEC,GAAG,SAASC,EAAEF,GAAG,OAAOA,EAAE2iX,YAAY1kW,GAAGje,EAAE4iX,QAAQ,IAAI7hX,EAAEf,EAAE2D,KAAK,QAAQ,GAAG3D,EAAEgjX,QAAQ,IAAI/pQ,EAAGj5G,EAAEe,GAAG,IAAIkd,GAAE,EAAGyqB,GAAE,EAAGvnC,OAAO8mD,KAAKhoD,EAAE+yB,SAASokC,SAAQ,SAASp3D,GAAGie,EAAEA,GAAGhe,EAAE+yB,QAAQhzB,GAAG4iX,WAAU3kW,IAAIq2T,EAAGt0U,EAAEe,EAAEd,EAAE+yB,SAAS0V,GAAE,GAAI,IAAI7e,EAAE5pB,EAAE0/W,YAAYjuT,GAAE,EACvN,GAD0N7nC,GAAGA,EAAE+4V,QAAQ3kW,EAAEyzC,GAAE,EAAG7nC,EAAE84V,YAAY1kW,IAAIyzC,GAAE,GACjfA,GAAGurT,EAAEj9W,EAAEe,EAAE8oB,IAAIozV,EAAEj9W,EAAEe,EAAE,MAAMd,EAAE0/F,MAAM34D,UAAU/mC,EAAE0/F,MAAM34D,SAAS47U,UAAU3kW,GAAE,GAAI++V,EAAEh9W,EAAEe,EAAEd,GAAG2wG,EAAE5wG,EAAEe,EAAEd,EAAE0/F,OAAM,SAAS3/F,GAAG,OAAOE,EAAEF,MAAKC,EAAEylN,SAASxlN,EAAED,EAAEylN,UAAUyc,EAAEniO,EAAEe,EAAEd,GAAE,EAAG,MAAMA,EAAE0iX,WAAW1kW,EAAEhe,EAAE8kX,aAAar8U,EAAEzoC,EAAE+kX,iBAAiBtzT,EAAEhpB,EAAEzoC,EAAEsK,OAAOg5W,QAAW76U,EAAEi6U,YAAY1kW,GAAGyqB,EAAEk6U,QAAQ/D,EAAG7+W,EAAEe,EAAEd,EAAE,WAAW,GAAGyoC,EAAEA,EAAEx4B,OAAOlQ,EAAEe,GAAGA,EAAEf,EAAEijX,OAAO34W,GAAG,eAAeo+B,EAAE,cAAczoC,EAAEsK,OAAOitI,QAAQqnO,EAAG7+W,EAAEe,EAAEd,EAAEA,EAAEsK,OAAOitI,aAAa,CAAK3tH,EAAE7pB,EAAE+4F,OAAOupR,IAAI,MAAM5wT,EAAE3wD,EAAEuhX,IAAI55U,EAAE,OAAnC,IAA0CrjC,EAAEtE,EAAEuhX,IAAIz4V,EAAE,IAAI6nC,EAAE,KAAK3wD,EAAEf,EAAEwiX,KAAKn9W,GAAGw4B,KAAKx4B,EAAE,sBAAsB,QAAQA,EAClgB,IAAIwkB,EAAE,IAAI6nC,EAAE,KAAK1xD,EAAEqrE,MAAK,SAASnrE,GAAG,OAAOuqU,EAAGo0C,EAAG7+W,EAAEC,EAAEC,EAAE,MAAK,IAAIwoC,EAAE,KAAKrjC,EAAE,uBAAuB,EAAElE,OAAO8mD,KAAKhoD,EAAE0/F,OAAO9/F,QAAQkB,EAAEf,EAAEijX,OAAO1gU,QAAQ,gBAAgB,SAASy0T,GAAGh3W,EAAEE,GAAG,SAASa,EAAEd,GAAG,IAAI4pB,EAAE3pB,EAAEqK,OAAOtK,GAAG4pB,GAAG5L,EAAE1P,IAAIm6B,EAAEn+B,OAAO,IAAItK,EAAE4pB,EAAE3Z,OAAOlQ,EAAEie,IAAI,IAAIA,EAAEje,EAAE2D,KAAK,QAAQ,GAAG3D,EAAEgjX,QAAQ,KAAK,IAAIt6U,EAAE1oC,EAAEijX,OAAOp5V,EAAE6e,EAAE6Z,QAAQ+xR,EAAGt0U,EAAEie,EAAE/d,EAAE8yB,SAAS9yB,EAAEy/W,aAAaz/W,EAAEy/W,YAAYzvW,OAAOlQ,EAAEie,GAAG85T,EAAG52U,OAAO8mD,KAAK/nD,EAAEy/F,QAAQvoC,SAAQ,SAASn3D,GAAG,IAAIc,EAAEb,EAAEy/F,MAAM1/F,GAAGiQ,OAAOlQ,EAAEie,GAAG85D,EAAGh3E,GAAGA,EAAEq2D,SAAQ,SAASl3D,EAAEa,GAAGkd,EAAE1P,IAAIvO,EAAEg3D,KAAK/2D,GAAG,IAAIc,EACnf,IAAIb,MAAK+d,EAAE1P,IAAIm6B,EAAEsuB,KAAK,IAAI/2D,EAAEc,MAAKohO,EAAEniO,EAAEie,EAAE/d,GAAE,GAAG,GAAI,CAAC,WAAW,SAAS,QAAQ,YAAY,aAAak3D,SAAQ,SAASn3D,GAAG,IAAIc,EAAEb,EAAEsM,KAAKvM,GAAGc,GAAGkd,EAAE1P,IAAIm6B,EAAEl8B,KAAK,IAAIvM,EAAE,GAAGc,EAAEmP,OAAOlQ,EAAEie,OAAM9c,OAAO8mD,KAAK/nD,EAAEwM,UAAU0qD,SAAQ,SAASr2D,GAAGkd,EAAE1P,IAAIm6B,EAAEh8B,SAAS,IAAIzM,EAAEqM,GAAGvL,GAAG,IAAIb,EAAEwM,SAAS3L,GAAGmP,OAAOlQ,EAAEie,OAAM9c,OAAO8mD,KAAK/nD,EAAEsL,YAAY4rD,SAAQ,SAASn3D,GAAG,IAAIc,EAAEb,EAAEsL,WAAWvL,GAAGiQ,OAAOlQ,EAAEie,GAAGyqB,EAAE1oC,EAAEojX,YAAYnjX,GAAGkB,OAAO8mD,KAAK,IAAInwB,IAAIs/B,SAAQ,SAASp3D,GAAGie,EAAE1P,IAAIm6B,EAAE,IAAI1oC,EAAEe,EAAEf,UAAQe,EAAE,QAAQA,EAAE,QAAQ,EAAEI,OAAO8mD,KAAK/nD,EAAEy/F,OAAO9/F,SAASoe,EAAE4L,EACvf,gBAAgB5L,EAAEmlC,KAAKv5B,EAAE,iBAAiB5L,EAAE,MAAMje,EAAEijX,OAAOjwV,QAAQ,OAAOhzB,EAAEgjX,QAAQ,MAAM,SAAS9K,GAAGl4W,GAAG,GAAG,kBAAkBA,IAAI+3E,EAAG/3E,GAAG,CAAC,IAAI,IAAIC,EAAEkB,OAAO8mD,KAAKjoD,GAAGE,EAAE,EAAEA,EAAED,EAAEJ,SAASK,EAAE,GAAG+kX,EAAGC,UAAUllX,EAAEC,EAAEC,KAAK,OAAM,EAAG,OAAM,GAAI,SAAS+4W,GAAGj5W,EAAEC,EAAEC,GAAG,SAASa,EAAEf,EAAEC,GAAG4pB,EAAEutC,SAAQ,SAASl3D,GAAG,IAAIa,EAAEkd,EAAE/d,GAAG+kX,EAAGC,UAAUnkX,KAAKA,EAAEf,EAAEkjX,OAAOjjX,EAAEc,GAAGd,EAAEY,EAAE,IAAIX,EAAE,IAAIa,EAAE,SAAQ,IAAIkd,EAAEhe,EAAE,UAAUC,GAAG,GAAG+d,GAAGi6V,GAAGj6V,GAAG,CAAC,IAAIyqB,EAAE1oC,EAAE+4F,OAAOlvE,EAAE1oB,OAAO8mD,KAAKhqC,GAAGyzC,GAAE,EAAGrsD,GAAE,EAAGvE,GAAE,EAAGD,EAAEb,EAAE+4F,OAAOupR,IAAI,MAAMz4V,EAAEutC,SAAQ,SAASn3D,GAAG,IAAIC,EAAE+d,EAAEhe,GAAG,GAAGglX,EAAGC,UAAUhlX,GAAG,oBAClfA,IAAIA,EAAE+d,EAAEhe,GAAGglX,EAAGE,MAAMjlX,IAAID,EAAEs4D,EAAEr4D,EAAE,MAAMwxD,EAAEA,GAAGzxD,EAAEyiX,QAAQ5hX,EAAEA,GAAGb,EAAE2iX,QAAQv9W,EAAEA,GAAGpF,EAAE0iX,eAAe,CAAgB,OAAfj6U,EAAE7nC,EAAE,IAAIZ,EAAE,YAAmBC,GAAG,IAAK,SAASwoC,EAAExoC,GAAG,MAAM,IAAK,SAASwoC,EAAE,IAAIxoC,EAAE,KAAK,MAAM,IAAK,SAASqE,MAAM0J,QAAQ/N,IAAIwoC,EAAE,IAAIxoC,EAAE2D,OAAO,KAAK,MAAM,QAAQ6kC,EAAE1oC,EAAEqrE,KAAKnrE,IAAIwoC,EAAE,SAAQzoC,EAAEw/J,QAAQv/J,GAAG,IAAI+kX,EAAGG,gBAAgB,EAAE,CAAC1C,QAAQhxT,EAAEixT,WAAWt9W,EAAEu9W,QAAQ9hX,EAAEqnQ,IAAItnQ,EAAEqP,OAAOnP,WAAWd,EAAE,UAAUC,IAAI,IAAI43B,GAAG2wC,EAAE24S,OAAOjhW,GAAE,CAAC7D,IAAI,MAAMi6F,SAAS,MAAM,mBAAmB,OAAOr2G,EAAEmlX,mBAAmBllW,GAAE1X,IAAI,MAAM0X,GAAEzX,IAAI,OAChf,IAAIo2W,GAAG5+W,EAAEolX,uBAAuB1tC,GAAG13U,EAAEqlX,mBAAmBxnC,GAAG,CAAC3yU,OAAM,EAAGs6M,QAAQh0J,EAAEg0J,SAASq9J,GAAG,GAAGD,GAAG,GAAGzhS,GAAG,GAAGu8P,GAAG,GAAG75U,EAAE,SAAS,MAAMA,EAAE,eAAe,MAAMqB,EAAE,cAAc,aAAa,CAAC,EAAE,EAAE,EAAE,IAAIA,EAAE,iBAAiB,wBAAwB,CAAC,MAAM,QAAQA,EAAE,aAAa,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAIrB,EAAE,eAAe,MAAK,GAAIqB,EAAE,aAAa,YAAY,KAAKA,EAAE,cAAc,aAAa,CAAC,EAAE,IAAIA,EAAE,aAAa,aAAY,GAAIA,EAAE,YAAY,YAAY,EAAC,GAAG,GAAG,GAAG,IAAKrB,EAAE,cAAc,MAAMqB,EAAE,YAAY,WAClf,MAAMA,EAAE,YAAY,YAAY,MAAMA,EAAE,YAAY,YAAY,GAAGrB,EAAE,uBAAuB,OAAOqB,EAAE,uBAAuB,gBAAgB,CAAC,EAAE,IAAIrB,EAAE,eAAe,OAAOA,EAAE,gBAAgB,OAAOqB,EAAE,kBAAkB,iBAAiB,CAAC,GAAE,IAAKrB,EAAE,iBAAiB,MAAMqB,EAAE,eAAe,eAAe,GAAGA,EAAE,eAAe,cAAc,CAAC,IAAI,GAAG,IAAIA,EAAE,kBAAkB,oBAAoB,CAAC,KAAK,KAAK,KAAK,OAAOA,EAAE,iBAAiB,oBAAoB,CAAC,KAAK,KAAK,KAAK,OAAOrB,EAAE,iBAAiB,MAAMqB,EAAE,cAChf,UAAU,CAAC,EAAE,EAAEpF,EAAEgN,mBAAmBhN,EAAEiN,sBAAsB7H,EAAE,WAAW,WAAW,CAAC,EAAE,EAAEpF,EAAEgN,mBAAmBhN,EAAEiN,sBAAsB,IAAInG,GAAG,CAACwD,GAAGtK,EAAEgzB,QAAQo7K,EAAEk1K,QAAQrjX,EAAE+2D,KAAK+rT,GAAGxgU,QAAQw7R,GAAGvxU,KAAK1L,EAAEwoI,SAASvoI,EAAE0J,OAAOof,EAAEtf,OAAO5I,EAAE6J,WAAWi9D,EAAEk3B,MAAMjzF,SAASnL,EAAEo+W,YAAYj3U,EAAEgvU,WAAWx3W,EAAE+sE,MAAM5nE,EAAEq+W,aAAajB,GAAI7lC,GAAG,CAAC+mC,UAAU1J,GAAG6J,aAAaD,GAAGI,WAAWF,GAAGG,eAAe/jW,GAAEokW,WAAWJ,GAAGO,QAAQ1L,GAAGwM,gBAAgBtsQ,IAAI0+N,KAAKgF,GAAGgoC,WAAW,CAAC,MAAMhoC,GAAG+nC,WAAW7M,EAAE75V,EAAEwnW,gBAAe,SAASzlX,GAAG,OAAO,IAAIA,EAAE,CAAC,GAClf83W,EAAE93W,GAAE,SAASA,GAAG,OAAO,MAAMA,SAAO,IAAI26W,GAAG,EAAE,MAAM,CAAC3jT,KAAK+rT,GAAGxgU,QAAQw7R,GAAG2nC,MAAM,WAAW,IAAI1lX,EAAE64D,IAAI54D,EAAED,EAAE2D,KAAK,QAAQzD,EAAEF,EAAE2D,KAAK,WAAW5C,EAAEf,EAAEm8J,QAAQl8J,EAAEc,GAAGb,EAAEa,GAAG,IAA0FD,EAAtF4nC,EAAE1oC,EAAEijX,OAAOp5V,EAAE6e,EAAEp+B,GAAGonD,EAAEhpB,EAAEsuB,KAAK3xD,EAAEqjC,EAAE6Z,QAAQxhD,EAAEsE,EAAE,iBAAiB43W,EAAEj9W,EAAEC,GAAGg9W,EAAEj9W,EAAEE,EAAE,MAAK,GAAU4+W,KAAKh+W,EAAEd,EAAEqrE,KAAKyzS,KAAK,IAAI,IAAIj+W,EAAE,EAAEA,EAAEod,EAAEkjW,gBAAgBtgX,EAAE,CAAC,IAAI0B,EAAErC,EAAEoiX,IAAI55U,EAAEl9B,WAAW,IAAI3K,EAAE,KAAK4nE,EAAEzoE,EAAEwiX,KAAKjgX,EAAE,WAAWkmE,EAAE5qC,KAAKhU,EAAE,4BAA4BhpB,EAAE,KAAKgpB,EAAE,eAAe,MAAM,IAAItnB,EAAE,mBAAmBsnB,EAAE,wBAAwBhpB,EAAE,IAAI0B,EAAE,SAASA,EAAE,SAClfA,EAAE,eAAeA,EAAE,WAAWA,EAAE,aAAa,QAAQsnB,EAAE,6BAA6BhpB,EAAE,KAAKgpB,EAAE,mBAAmBhpB,EAAE,IAAI0B,EAAE,MAAMA,EAAE,MAAMA,EAAE,MAAMA,EAAE,OAAOA,EAAE,iBAAiBrC,EAAEuoE,GAAGq2S,IAAI5+W,EAAEY,EAAE,6BAA6BD,EAAE,IAAI0B,EAAE,cACuJ,OADzIpB,OAAO8mD,KAAKo5B,IAAIjqB,SAAQ,SAASn5C,GAAG,IAAIyqB,EAAE24C,GAAGpjE,GAAGnd,EAAEC,EAAEuhX,IAAI5wT,EAAE,IAAIzzC,GAAGpd,EAAEb,EAAEm8J,QAAQt7J,EAAE,MAAMC,EAAE,KAAK+oB,EAAE,WAAW6e,EAAE,UAAU7e,EAAE,YAAY6e,EAAE,KAAKrjC,EAAE,IAAI4Y,EAAE,IAAInd,EAAE,KAAKZ,EAAEW,GAAGZ,EAAE,MAAMa,EAAE,MAAMuE,EAAE,IAAI4Y,EAAE,KAAKpd,EAAE,QAAOM,OAAO8mD,KAAK21R,IAAIxmR,SAAQ,SAASn5C,GAAG,IAAoBpd,EAAE0B,EAAlBmmC,EAAEk1S,GAAG3/T,GAAGnd,EAAEi9U,GAAG9/T,GAAOwqD,EAAEzoE,EAAEm8J,QAClf1zF,EAAE5+C,EAAE,IAAI6e,EAAE,KAAKqvC,EAAGj3E,IAAI4nC,EAAE5nC,EAAEjB,OAAOgB,EAAEb,EAAE+4F,OAAOupR,IAAI5wT,EAAE,IAAIzzC,GAAG1b,EAAEvC,EAAE+4F,OAAOupR,IAAIj9W,EAAE,IAAI4Y,GAAGwqD,EAAEqvS,EAAEpvU,GAAE,SAAS1oC,GAAG,OAAOa,EAAE,IAAIb,EAAE,OAAM,KAAK83W,EAAEpvU,GAAE,SAAS1oC,GAAG,OAAOuC,EAAE,IAAIvC,EAAE,KAAKa,EAAE,IAAIb,EAAE,QAAO6D,KAAK,KAAK5D,EAAE,MAAM63W,EAAEpvU,GAAE,SAAS1oC,GAAG,OAAOa,EAAE,IAAIb,EAAE,OAAOuC,EAAE,IAAIvC,EAAE,OAAM6D,KAAK,MAAM,KAAK4kE,EAAE,OAAO5nE,EAAEE,EAAEuhX,IAAI5wT,EAAE,IAAIzzC,GAAG1b,EAAExB,EAAEuhX,IAAIj9W,EAAE,IAAI4Y,GAAGwqD,EAAE5nE,EAAE,KAAKwE,EAAE,IAAI4Y,EAAE,IAAIpd,EAAE,KAAKZ,EAAE,MAAMY,EAAE,MAAM0B,EAAE,KAAKkmE,EAAE,MAAMvoE,EAAEuoE,MAAYzoE,EAAEy6H,UAF/S,GAE4TA,QAAQ,SAASz6H,EAAEC,EAAEC,EAAEa,EAAEkd,GAAG,IAAIyqB,EAAEmwB,IAC5V,OADgWnwB,EAAEgN,MAAMhN,EAAE2iC,KAAKptD,GAAG9c,OAAO8mD,KAAKhoD,EAAE,WAAWm3D,SAAQ,SAASp3D,GAAGi5W,GAAGvwU,EAAEzoC,EACnfD,MAAK2lX,GAAGvuT,SAAQ,SAASn3D,GAAGg5W,GAAGvwU,EAAE1oC,EAAEC,MAAKC,EAAEo4L,EAAEt4L,EAAEC,EAAEC,EAAEa,EAAE2nC,GAAG8pB,EAAG9pB,EAAExoC,GAAG82W,GAAGtuU,EAAExoC,GAAGg+U,EAAGx1S,EAAExoC,GAAUwoC,EAAE+xF,YAAY,SAASxqE,EAAGjwD,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAEH,SAASK,EAAE,GAAGF,EAAEE,KAAKD,EAAE,OAAOC,EAAE,OAAO,EAAE,IAAIomP,EAAE,SAAStmP,EAAEC,GAAG,IAAI,IAAIC,EAAEiB,OAAO8mD,KAAKhoD,GAAGge,EAAE,EAAEA,EAAE/d,EAAEL,SAASoe,EAAEje,EAAEE,EAAE+d,IAAIhe,EAAEC,EAAE+d,IAAI,OAAOje,GAAGi3W,EAAG,EAAEgO,EAAG,CAACG,gBAAgBxoC,EAAGgpC,OAAO,SAAS5lX,EAAEC,GAAG,OAAO,IAAI28U,EAAG58U,EAAEk3W,EAAGj3W,EAAE,MAAMilX,UAAU,SAASllX,GAAG,MAAM,oBAAoBA,IAAIA,EAAEk5W,WAAWl5W,aAAa48U,GAAIuoC,MAAM,SAASnlX,EAAEC,GAAG,MAAM,oBAAoBD,EAAE,IAAI48U,EAAG,EAAE58U,GAAGA,GAAG6lX,SAAS3O,GAAI4O,EAClf,CAAC9uT,KAAK,oBAAoBn8B,sBAAsB,SAAS76B,GAAG,OAAO66B,sBAAsB76B,IAAI,SAASA,GAAG,OAAO4sE,WAAW5sE,EAAE,KAAKs1B,OAAO,oBAAoBoF,qBAAqB,SAAS16B,GAAG,OAAO06B,qBAAqB16B,IAAIytE,cAAc4nM,EAAG,qBAAqB3oM,aAAaA,YAAY9xC,IAAI,WAAW,OAAO8xC,YAAY9xC,OAAO,WAAW,OAAO,IAAIzd,MAAMrO,EAAE49J,IAAK59J,EAAEu0U,KAAK32K,IAAK,IAAIq5M,EAAG,SAAS/lX,EAAEC,GAAG,IAAIC,EAAE,EAAED,EAAEi9W,iCAAiCh9W,EAAEF,EAAEo8H,aAAa,QAAQ,IAAIn+G,EAAE,EAAE4L,EAAE,EAAE5pB,EAAEslX,qBAAqBtnW,EAAEje,EAAEo8H,aAAa,OAClgBvyG,EAAE7pB,EAAEo8H,aAAa,QAAQ,IAAIr7H,IAAId,EAAEi+W,kBAAkB,GAAGn9W,EAAE,CAACA,EAAEf,EAAEmJ,gBAAgBnJ,EAAEg/H,YAAY,KAAKj+H,GAAGf,EAAEu8H,WAAW,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,IAAIh6H,EAAEvC,EAAE4zO,oBAAqH,GAAjG5zO,EAAE8mC,gBAAgB,MAAMvkC,GAAGvC,EAAEqzO,qBAAqB,MAAM,MAAM,KAAKtyO,EAAE,GAAGf,EAAEg/H,YAAY,KAAK,MAAS,QAAQh/H,EAAEk1O,uBAAuB,OAAOn0O,GAAE,MAAO,CAACf,EAAEgnC,SAAS,EAAE,EAAE,EAAE,GAAGhnC,EAAEsiC,WAAW,EAAE,EAAE,EAAE,GAAGtiC,EAAEyjC,MAAM,OAAO,IAAIiF,EAAE55B,EAAEkpW,UAAU,KAAK,GAAGh4W,EAAE+nN,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,KAAKr/K,GAAG1oC,EAAEigX,WAAWl/W,GAAE,GAAIf,EAAEq1O,kBAAkB9yO,GAAGvC,EAAE4gI,cAAc7/H,GACrfA,EAAE,IAAI2nC,EAAE,IAAI55B,EAAEmpW,SAASvvU,IAA0W,OAAtWA,GAAE,EAAG,qBAAqBq5I,YAAY,OAAOziL,KAAKyiL,UAAU1U,YAAY,YAAY/tK,KAAKyiL,UAAUkb,aAAa,OAAO39L,KAAKyiL,UAAU1U,cAAc3kI,EAAE1oC,EAAEmJ,gBAAgB5G,EAAEuM,EAAEkpW,UAAU,KAAK,IAAIh4W,EAAEygI,cAAc,OAAOzgI,EAAEg/H,YAAY,MAAMt2F,GAAG1oC,EAAEu8H,WAAW,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,KAAKh6H,GAAGuM,EAAEmpW,SAAS11W,GAAGvC,EAAEg/H,YAAY,MAAM,MAAMh/H,EAAE4gI,cAAcl4F,GAAGA,GAAG1oC,EAAEigX,YAAkB,CAAC+F,UAAU,CAAChmX,EAAEo8H,aAAa,MAAMp8H,EAAEo8H,aAAa,MAAMp8H,EAAEo8H,aAAa,MAAMp8H,EAAEo8H,aAAa,OAAO6pP,UAAUjmX,EAAEo8H,aAAa,MACjgB8pP,YAAYlmX,EAAEo8H,aAAa,MAAM+pP,aAAanmX,EAAEo8H,aAAa,MAAMs7O,WAAWv2W,OAAO8mD,KAAKhoD,GAAGoE,QAAO,SAASrE,GAAG,QAAQC,EAAED,MAAKomX,eAAelmX,EAAEulX,eAAexnW,EAAE80N,oBAAoBlpN,EAAEw8V,cAAcrmX,EAAEo8H,aAAa,OAAOkqP,cAActmX,EAAEo8H,aAAa,OAAOmqP,gBAAgBvmX,EAAEo8H,aAAa,MAAMoqP,wBAAwBxmX,EAAEo8H,aAAa,OAAOqqP,eAAezmX,EAAEo8H,aAAa,OAAOsqP,oBAAoB1mX,EAAEo8H,aAAa,OAAO2iP,gBAAgB/+W,EAAEo8H,aAAa,OAAOmD,eAAev/H,EAAEo8H,aAAa,MAAM+kP,cAAcnhX,EAAEo8H,aAAa,OACxgBuqP,kBAAkB3mX,EAAEo8H,aAAa,OAAOwqP,sBAAsB5mX,EAAEo8H,aAAa,OAAOyqP,kBAAkB7mX,EAAEo8H,aAAa,OAAO0qP,oBAAoB9mX,EAAEo8H,aAAa,OAAO2qP,KAAK/mX,EAAEo8H,aAAa,OAAOxwG,SAAS5rB,EAAEo8H,aAAa,MAAM4qP,OAAOhnX,EAAEo8H,aAAa,MAAMgxC,QAAQptK,EAAEo8H,aAAa,MAAM6qP,UAAUlmX,EAAEmmX,gBAAgBx+U,IAAIgU,GAAE,SAAS18C,GAAG,OAAOA,aAAa0T,YAAY1T,aAAaisL,aAAajsL,aAAay9P,aAAaz9P,aAAailW,WAAWjlW,aAAaklW,YAAYllW,aAAa24N,YAAY34N,aAAasnB,cACjftnB,aAAamlW,cAAcnlW,aAAa2T,mBAAmBgpC,GAAE,SAAS38C,GAAG,OAAOmB,OAAO8mD,KAAKjoD,GAAG47C,KAAI,SAAS37C,GAAG,OAAOD,EAAEC,OAAMk8W,GAAG,CAACr6U,MAAM,SAAS9hC,GAAG,IAAI,IAAIC,EAAE,GAAGD,EAAEH,OAAOG,EAAEA,EAAE,GAAGC,EAAEyD,KAAK1D,EAAEH,QAAQ,OAAOI,GAAGmjQ,QAAQ,SAASpjQ,EAAEC,EAAEC,EAAE+d,GAAG,IAAI4L,EAAE,EAAE,GAAG5pB,EAAEJ,OAAO,IAAI,IAAIkB,EAAE,EAAEA,EAAEd,EAAEJ,SAASkB,EAAE8oB,GAAG5pB,EAAEc,QAAQ8oB,EAAE,EAAwB,OAAtB3pB,EAAE+d,GAAGnP,EAAEkpW,UAAU93W,EAAE2pB,GAAU5pB,EAAEJ,QAAQ,KAAK,EAAE,MAAM,KAAK,EAAS,IAAPoe,EAAEhe,EAAE,GAAOA,EAAE,EAAEA,EAAEge,IAAIhe,EAAEC,EAAED,GAAGD,EAAEC,GAAG,MAAM,KAAK,EAAgB,IAAdge,EAAEhe,EAAE,GAAGA,EAAEA,EAAE,GAAOc,EAAE8oB,EAAE,EAAE9oB,EAAEkd,IAAIld,EAAE,IAAI,IAAIwB,EAAEvC,EAAEe,GAAG2nC,EAAE,EAAEA,EAAEzoC,IAAIyoC,EAAExoC,EAAE2pB,KAAKtnB,EAAEmmC,GAAG,MAAM,KAAK,EAAE+pB,EAAGzyD,EAAEC,EAAE,GAAGA,EAAE,GAAGA,EAAE,GACpfC,EAAE,GAAG,MAAM,QAAQi4W,EAAGn4W,EAAEC,EAAE,EAAEC,EAAE,GAAG,OAAOA,IAAIm4W,GAAG,CAAC,qBAAqB,KAAK,sBAAsB,KAAK,sBAAsB,KAAK,sBAAsB,KAAK,6BAA6B,KAAK,uBAAuB,KAAK,uBAAuB,KAAK,wBAAwB,KAAK,wBAAwB,KAAK,uBAAuB,MAAMW,GAAG,CAACmO,KAAK,KAAKC,MAAM,KAAKC,MAAM,KAAKp4O,MAAM,KAAK8qO,OAAO,KAAKC,OAAO,KAAK,MAAQ,KAAK5/O,QAAQ,MAAM2+O,GAAG,CAACt5M,QAAQ,MAAMtuD,OAAO,MAAM,OAAS,OAAOunQ,GAAGyD,GAAG/4G,QAAQmzE,GAAG4lC,GAAGr6U,MACjfm3U,GAAG,GAAGA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAE,IAAIgB,GAAG,CAACx1W,OAAO,EAAEkB,MAAM,EAAEkL,MAAM,EAAE4nB,KAAK,EAAElzB,UAAU,EAAE+hX,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,GAAGnN,GAAG,IAAI7yV,aAAa,GAAG8yV,GAAG,IAAI38G,YAAY08G,GAAG1vW,QAAQsyW,GAAG,CAAC,KAAK,KAAK,KAAK,MAAMzB,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,MAAM38C,GAAE,GAAGA,GAAE,MAAMA,GAAE,MAAMA,GAAE,MAAM,EAAEA,GAAE,OAAOA,GAAE,MAAM,EAAEA,GAAE,MAAMA,GAAE,OAAO,EAAEA,GAAE,MAAMA,GAAE,OAAO,EAAE,IAAIi9C,GAAGvB,EAAG,qBAAqBl+G,GAAGk+G,EAAG,4BAA4BwB,GAAGxB,EAAG,eAAehwK,GAAGgwK,EAAG,oBACjf2B,GAAG3B,EAAG,oBAAoBG,GAAGr5W,OAAO8mD,KAAKowT,IAAIhwW,OAAO,CAACuzW,GAAGz/G,GAAG0/G,GAAGxxK,GAAG2xK,KAAKrB,GAAG,GAAGA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,OAAO,EAAEA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAE,IAAIprW,GAAE,GAAGA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,GAAGA,GAAE,OAAO,GAAGA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,GAAGA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,GAAGA,GAAE,OAAO,IAAIA,GAAE,OAAO,GAAGA,GAAE,OAAO,IAAIA,GAAE,OAAO,GAAG,IAAIqhG,GAAE,GAAGA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAEA,GAAE,OAAO,GAAGA,GAAE,OAAO,EAAEA,GAAE,OAAO,EAAE,IAAI22Q,GAAG,SAASvnX,EAAEC,EAAEC,EAAE+d,EAAE4L,GAAG,SAAS9oB,EAAEf,GAAGkD,KAAKoJ,GAAGm8D,IAAIvlE,KAAKi6W,SACzf,EAAEj6W,KAAKu8W,aAAaz/W,EAAEkD,KAAK6iG,OAAO,MAAM7iG,KAAKwmB,OAAOxmB,KAAK0e,MAAM,EAAEiI,EAAE67L,UAAUxiN,KAAKwyC,MAAM,CAACvxB,KAAK,IAAI,SAAS5hB,EAAEtC,GAAG,IAAIC,EAAED,EAAEw/W,aAAaz/W,EAAE4yO,iBAAiB,MAAM,MAAM5yO,EAAEs1O,mBAAmBp1O,GAAGD,EAAEw/W,aAAa,KAAKx/W,EAAEk9W,SAAS,SAASx7W,EAAE1B,EAAEqM,IAAI2R,EAAEupW,oBAAoB,IAAI9+U,EAAE,CAACk1U,MAAM,MAAMC,OAAO,MAAM,UAAU,MAAMnnM,MAAM,MAAMm/D,QAAQ,MAAM,gBAAgB,OAAO51O,EAAE89W,WAAWr1U,EAAEu1U,MAAM,OAAOh+W,EAAE4gX,8BAA8Bn4U,EAAE++U,QAAQ,MAAM/+U,EAAEg/U,OAAO,OAAOznX,EAAE6gX,2BAA2Bp4U,EAAEi/U,QAAQ,OAAO,IAAIpmX,EAAE,GACnfJ,OAAO8mD,KAAKvf,GAAG0uB,SAAQ,SAASp3D,GAAGuB,EAAEmnC,EAAE1oC,IAAIA,KAAI,IAAIyoE,EAAE,EAAE9mE,EAAE,GAA2L,OAAxLZ,EAAEsB,UAAU28W,OAAO,WAAW,KAAK97W,KAAKi6W,UAAU56W,EAAEW,OAAO2mB,EAAE67L,UAAUznM,EAAE2pW,yBAAyB,WAAW,IAAI5nX,EAAE,EAA0D,OAAxDmB,OAAO8mD,KAAKtmD,GAAGy1D,SAAQ,SAASn3D,GAAGD,GAAG2B,EAAE1B,GAAGy1C,MAAMvxB,QAAcnkB,IAAU,CAAC+B,OAAO,SAAS9B,EAAEC,GAAG,SAASmF,EAAEpF,EAAEC,GAAG,IAAIa,EAAE,EAAEkd,EAAE,EAAEnd,EAAE,MACtP,GAD4P,kBAAkBb,GAAGA,GAAG,UAAUA,GAAGge,EAAEhe,EAAE6hC,MAAM/gC,EAAO,EAALkd,EAAE,GAAKA,EAAO,EAALA,EAAE,KAAO,WAAWhe,IAAIc,EAAEkd,EAAW,EAAThe,EAAEsoE,QAAU,UAAUtoE,IAAIc,EAAU,EAARd,EAAE2hB,OAAS,WAAW3hB,IAAIge,EAAW,EAAThe,EAAEypB,SAAW,WAAWzpB,IAAIa,EAAE4nC,EAAEzoC,EAAE8lG,UAAU,kBACve9lG,GAAGc,EAAI,EAAFd,EAAIge,EAAE,kBAAkB/d,EAAI,EAAFA,EAAIa,GAAGd,IAAIc,EAAEkd,EAAE,GAAMld,IAAI2wD,EAAE9vC,OAAO3D,IAAIyzC,EAAEhoC,QAAQ5oB,IAAI4wD,EAAEq0C,OAAO,OAAO1gG,EAAEuc,MAAM8vC,EAAE9vC,MAAM7gB,EAAEsE,EAAEqkB,OAAOgoC,EAAEhoC,OAAOzL,EAAEyzC,EAAEq0C,OAAOjlG,EAAEd,EAAE4yO,iBAAiB,MAAMlhL,EAAE+tT,cAAcz/W,EAAEyzO,oBAAoB,MAAM3yO,EAAEC,EAAEkd,GAAG4L,EAAE67L,UAAUh0J,EAAEhc,MAAMvxB,KAAKysF,GAAEl/C,EAAEq0C,QAAQr0C,EAAE9vC,MAAM8vC,EAAEhoC,QAAQrkB,EAAE0gG,OAAOxkG,EAAEmwD,EAAEq0C,QAAQ1gG,EAAE,IAAIqsD,EAAE,IAAI3wD,EAAEf,EAAEwzO,sBACpE,OAD0F7xO,EAAE+vD,EAAEplD,IAAIolD,EAAEzzC,EAAEupW,oBAAoBniX,EAAEpF,EAAEC,GAAGmF,EAAEstN,OAAO,SAAS1yN,EAAEC,GAAG,IAAIa,EAAI,EAAFd,EAAIge,EAAI,EAAF/d,GAAKa,EAAE,OAAGA,IAAI2wD,EAAE9vC,OAAO3D,IAAIyzC,EAAEhoC,SAAgBrkB,EAAEuc,MAAM8vC,EAAE9vC,MAAM7gB,EAAEsE,EAAEqkB,OAAOgoC,EAAEhoC,OAAOzL,EACpfje,EAAE4yO,iBAAiB,MAAMlhL,EAAE+tT,cAAcz/W,EAAEyzO,oBAAoB,MAAM/hL,EAAEq0C,OAAOhlG,EAAEkd,GAAG4L,EAAE67L,UAAUh0J,EAAEhc,MAAMvxB,KAAKysF,GAAEl/C,EAAEq0C,QAAQr0C,EAAE9vC,MAAM8vC,EAAEhoC,SAD4UrkB,GAC1TA,EAAE6zW,UAAU,eAAe7zW,EAAEq6W,cAAchuT,EAAE7nC,EAAE67L,UAAUrgN,EAAEqwC,MAAMgc,EAAEhc,OAAOrwC,EAAE8wB,QAAQ,WAAWu7B,EAAEstT,UAAiB35W,GAAGo+B,MAAM,WAAWkZ,GAAEh7C,GAAGy1D,QAAQ70D,IAAIs1W,QAAQ,WAAWl7T,GAAEh7C,GAAGy1D,SAAQ,SAASn3D,GAAGA,EAAEw/W,aAAaz/W,EAAEwzO,qBAAqBxzO,EAAE4yO,iBAAiB,MAAM3yO,EAAEw/W,cAAcz/W,EAAEyzO,oBAAoB,MAAMxzO,EAAE8lG,OAAO9lG,EAAE2hB,MAAM3hB,EAAEypB,WAAU1pB,EAAE4yO,iBAAiB,MAClf,SAAS4tI,GAAG,GAAGA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAE,IAAIC,GAAG,GAAGA,GAAG,MAAM,EAAEA,GAAG,MAAM,EAAEA,GAAG,OAAO,EAAE,IAAI+D,GAAG,CAAC,IAAI,IAAI,IAAI,KAAKmB,GAAG,kIAAkI70W,MAAM,KAAKizW,GAAG,CAACthX,EAAE,EAAE2qF,EAAE,EAAEi2P,KAAK,EAAEnxI,IAAI,EAAE,YAAY,IAAI,sBAAsB,IAAI,YAAY,IAAI,sBAAsB,IAAI,YAAY,IAAI,sBAAsB,IAAI,YAAY,IAAI,sBAAsB,IAAI,iBAAiB,MAAM,2BAA2B,MAAM,iBAAiB,MACpgB,2BAA2B,MAAM,qBAAqB,KAAK2xK,GAAG,CAACgE,MAAM,IAAIhyW,KAAK,IAAI,IAAI,IAAIw1Q,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAIy8F,OAAO,IAAI,KAAK,IAAIC,QAAQ,IAAI,IAAI,IAAIC,SAAS,IAAI,KAAK,IAAI,MAAM,IAAIC,OAAO,IAAI,KAAK,IAAIC,OAAO,KAAK/D,GAAG,CAAC1hX,EAAE,EAAE4gV,KAAK,EAAE8kC,KAAK,KAAKpvW,QAAQ,KAAKk0P,UAAU,KAAKm7G,UAAU,KAAK,iBAAiB,MAAM,iBAAiB,MAAMtoW,OAAO,MAAMo5F,GAAG,CAACkW,GAAG,KAAKD,IAAI,MAAMjtE,GAAG,IAAI08Q,GAAE,GAAG,GAAG,GAAG,eAAcypD,GAAG,SAASroX,EAAEC,GAAG,SAASC,IAAIgD,KAAKolX,cAAcplX,KAAKqlX,iBAAiB,EAAErlX,KAAKgyD,IAAI,EAAEhyD,KAAKwyC,MACrf,KAAK,SAASz3B,EAAEje,EAAEC,EAAEc,GAAG,IAAIkd,EAAE1b,EAAEsD,OAAO,IAAI3F,EAAE+d,EAAEsqW,gBAAgBvoX,EAAEie,EAAEqqW,cAAcroX,EAAEge,EAAEi3C,IAAI,EAAEj3C,EAAEy3B,MAAM30C,EAAE2nC,EAAEhlC,KAAKua,GAAG,IAAIhe,EAAEuoX,yBAAyB,OAAO,KAAK,IAAI3+V,EAAE,GAAG9oB,EAAE,GAAGwB,EAAE,GAAGmmC,EAAE,GAAGnnC,EAAE,GAAGknE,EAAE,GAAG,MAAM,CAACggT,WAAW,SAASzoX,GAAG,IAAIE,EAAE2pB,EAAEhkB,OAAO5F,EAAEuoX,yBAAyBE,iBAAiBzoX,EAAEuoX,yBAAyBG,cAAc,MAAMzoX,GAAGa,EAAE2C,KAAKxD,GAAG+d,EAAEld,EAAElB,OAAO,EAAEkB,EAAElB,OAAOG,IAAI4oX,SAAS,WAAW3oX,EAAEuoX,yBAAyBK,YAAY,QAAQC,eAAe7qW,EAAEhS,OAAO,WAAW,IAAIjM,EAAEE,EAAa,GAAXF,EAAEe,EAAElB,OAAU,IAAIG,EAAE,CAACyoE,EAAE5oE,OAC/ewG,KAAKqC,IAAI+/D,EAAE5oE,OAAOG,EAAE,GAAGuB,EAAE1B,OAAOwG,KAAKqC,IAAInH,EAAE1B,OAAOG,EAAE,GAAGuB,EAAE,GAAG,EAAE,IAAI0c,EAAEwqD,EAAE,GAAG,EAAE,IAAIvoE,EAAEF,EAAE,EAAEE,EAAEa,EAAElB,SAASK,EAAE,CAAC,IAAImF,EAAEtE,EAAEb,GAAGD,EAAEuoX,yBAAyBO,kBAAkB1jX,EAAE,QAAQ4Y,GAAGhe,EAAEuoX,yBAAyBO,kBAAkB1jX,EAAE,OAAOwkB,EAAEnmB,KAAK2B,IAAItE,EAAEf,KAAKqF,EAAE9D,EAAErB,EAAE,GAAG+d,EAAEwqD,EAAEvoE,EAAE,GAAGF,EAAa,IAAXe,EAAElB,OAAOG,EAAME,EAAEF,EAAE,EAAEE,EAAEwoC,EAAE7oC,SAASK,EAAE,CAAK+d,EAAEyqB,EAAExoC,GAAR,IAAWwxD,EAAEzzC,EAAEsqW,gBAAgBljX,EAAE4Y,EAAEqqW,cAAcrqW,EAAEi3C,KAAK3zD,EAAE8D,GAAG9D,EAAEmwD,GAAGA,EAAE+W,EAAE/W,GAAGrsD,EAAEojE,EAAEpjE,GAAGA,IAAIqsD,GAAGzzC,EAAEy3B,MAAMszU,SAAS/qW,EAAEi3C,IAAI,IAAI3yD,EAAEmB,KAAKua,KAAKA,EAAEsqW,gBAAgB72T,EAAEzzC,EAAEqqW,cAAcjjX,EAAEqjC,EAAE1oC,KAAKie,GAAGyqB,EAAE7oC,OAAOG,IAAIipX,qBAAqB,WAAW,OAAOloX,EAAElB,QAC/gB4jC,MAAM,WAAW5Z,EAAEnmB,KAAKvD,MAAM0pB,EAAE9oB,GAAG,IAAI,IAAIf,EAAE,EAAEA,EAAE6pB,EAAEhqB,OAAOG,IAAIC,EAAEuoX,yBAAyBU,eAAer/V,EAAE7pB,IAAIe,EAAElB,OAAO,EAAEgqB,EAAEhqB,OAAO,GAAGg4W,QAAQ,WAAW92W,EAAElB,OAAO,EAAEgqB,EAAEhqB,OAAO,KAAK,OAAO,SAASG,GAAG,SAASC,IAAI,GAAG,IAAIkiO,EAAEtiO,OAAOsuM,GAAGA,EAAEliM,SAASw+T,GAAG,SAAS,CAACA,GAAGq7C,EAAG9uT,KAAK/2D,GAAG0B,IAAI,IAAI,IAAI3B,EAAEmiO,EAAEtiO,OAAO,EAAE,GAAGG,IAAIA,EAAE,CAAC,IAAIE,EAAEiiO,EAAEniO,GAAGE,GAAGA,EAAEo4D,EAAE,KAAK,GAAGjzD,EAAEk0F,QAAQ40G,GAAGA,EAAEliM,UAAU,SAAS/L,KAAKuqU,IAAI,EAAEtoG,EAAEtiO,SAAS4qU,GAAGq7C,EAAG9uT,KAAK/2D,IAAI,SAASge,IAAIwsT,KAAKq7C,EAAGxwV,OAAOr1B,GAAGwqU,GAAG,MAAM,SAAS5gT,EAAE7pB,GAAGA,EAAE6mI,iBAAiB5oH,IAAIqkN,EAAElrK,SAAQ,SAASp3D,GAAGA,OACjf,SAASe,EAAEf,GAAGqF,EAAE46W,WAAWp/W,EAAEg3W,UAAUjnQ,EAAEinQ,UAAU31I,EAAE21I,UAAUv/K,EAAEu/K,UAAUn7T,EAAEm7T,UAAUoF,EAAEpF,UAAU1pK,GAAGA,EAAE0pK,UAAUmF,EAAE0I,MAAMyD,UAAUjpX,IAAIkiO,EAAEhrK,SAAQ,SAASp3D,GAAGA,OAAM,SAASuC,EAAEvC,GAAG,SAASC,EAAED,GAAG,IAAIE,EAAE,GAAGa,EAAE,GAA6F,OAA1FI,OAAO8mD,KAAKjoD,GAAGo3D,SAAQ,SAASn3D,GAAG,IAAIge,EAAEje,EAAEC,GAAGglX,EAAGC,UAAUjnW,GAAGld,EAAEd,GAAGglX,EAAGE,MAAMlnW,EAAEhe,GAAGC,EAAED,GAAGge,KAAU,CAACwhJ,QAAQ1+J,EAAE,OAASb,GAAG,SAASA,EAAEF,GAAG,KAAKc,EAAEjB,OAAOG,GAAGc,EAAE4C,KAAK,MAAM,OAAO5C,EAAE,IAAIC,EAAEd,EAAED,EAAEgzB,SAAS,IAAI/U,EAAEhe,EAAED,EAAE0M,UAAU,IAAIg8B,EAAEzoC,EAAED,EAAEwL,YAAY,IAAIqe,EAAE5pB,EAAE,SAASD,GAAG,SAASC,EAAED,GAAG,GAAGA,KAAKE,EAAE,CAAC,IAAIa,EAAEb,EAAEF,UAAUE,EAAEF,GACxfmB,OAAO8mD,KAAKlnD,GAAGq2D,SAAQ,SAASn3D,GAAGC,EAAEF,EAAE,IAAIC,GAAGc,EAAEd,OAAM,IAAIC,EAAEomP,EAAE,GAAGtmP,GAAsP,cAA5OE,EAAEwM,gBAAgBxM,EAAEsL,kBAAkBtL,EAAE8yB,QAAQ,YAAY9yB,GAAGA,EAAE21O,QAAQ1+H,KAAKj3G,EAAE21O,QAAQuzI,OAAOlpX,EAAE21O,QAAQwzI,QAAQnpX,EAAE21O,QAAQ1+H,UAAUj3G,EAAE21O,QAAQ1+H,IAAIl3G,EAAE,SAASA,EAAE,SAASA,EAAE,QAAQA,EAAE,WAAWA,EAAE,iBAAiBA,EAAE,WAAWA,EAAE,UAAiBC,EADiI,CAC9HF,IAAIA,EAAE,CAACgpX,QAAQ,EAAEM,QAAQ,EAAEp+S,MAAM,GAAOnqE,EAAEi8W,EAAEviP,QAAQ5wG,EAAE6e,EAAEzqB,EAAEld,EAAEf,GAAxB,IAA2B0xD,EAAE3wD,EAAEyL,KAAKnH,EAAEtE,EAAEwoX,MAAM1oX,EAAEE,EAAEq1O,MAAMt1O,EAAE,GAAG,OAAOwlP,GAAE,SAAStmP,EAAEC,GAAG,IAAIc,EAAE,GAAG,oBAAoBf,EAAE,OAAOa,EAAEd,KAAKmD,KAAK,KAAKlD,EAAE,GAClf,GAAG,oBAAoBC,EAAE,GAAG,kBAAkBD,EAAE,IAAIe,EAAE,EAAEA,EAAEf,IAAIe,EAAEF,EAAEd,KAAKmD,KAAK,KAAKjD,EAAEc,OAAQ,KAAGwD,MAAM0J,QAAQjO,GAAqD,OAAOa,EAAEd,KAAKmD,KAAKlD,EAAEC,EAAE,GAAzE,IAAIc,EAAE,EAAEA,EAAEf,EAAEH,SAASkB,EAAEF,EAAEd,KAAKmD,KAAKlD,EAAEe,GAAGd,EAAEc,QAAuC,GAAG,kBAAkBf,GAAG,GAAG,EAAEA,EAAE,OAAOqF,EAAEtF,KAAKmD,KAAKhD,EAAI,EAAFF,GAAO,EAAFA,OAAU,KAAGuE,MAAM0J,QAAQjO,GAAoD,OAAO0xD,EAAE3xD,KAAKmD,KAAKlD,GAAnE,GAAGA,EAAEH,OAAO,OAAOwF,EAAEtF,KAAKmD,KAAKlD,EAAEA,EAAEH,WAAoC,CAAC61C,MAAM11C,IAAI,SAAS0oC,EAAE1oC,EAAEC,GAAG,IAAIC,EAAE,EAAE88W,EAAE0I,MAAM8D,OAAO,IAAIzoX,EAAEd,EAAE0L,MAAM5K,IAAIsE,EAAEi9B,YAAYvhC,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGb,GAAG,OAAO,UAAUD,IAAIoF,EAAEokX,YAAYxpX,EAAEy2K,OAC7fx2K,GAAG,KAAK,YAAYD,IAAIoF,EAAEqkX,aAAuB,EAAVzpX,EAAE41O,SAAW31O,GAAG,MAAMmF,EAAEo+B,MAAMvjC,GAAG,SAASqB,EAAEvB,GAAiB,OAAdmiO,EAAEz+N,KAAK1D,GAAGE,IAAU,CAACo1B,OAAO,WAAW,SAASr1B,IAAI,IAAID,EAAEiwD,EAAGkyK,EAAEliO,GAAGkiO,EAAEniO,GAAGmiO,EAAEA,EAAEtiO,OAAO,KAAKsiO,EAAEtiO,OAAO,GAAGsiO,EAAEtiO,QAAQoe,IAAI,IAAI/d,EAAE+vD,EAAGkyK,EAAEniO,GAAGmiO,EAAEjiO,GAAGD,IAAI,SAASwoE,IAAI,IAAIzoE,EAAE28C,EAAE3V,SAAS/mC,EAAE08C,EAAE0mU,YAAYrjX,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAG,EAAEq4D,EAAEysJ,cAAczsJ,EAAE2pT,iBAAiB3pT,EAAEtrD,mBAAmBhN,EAAE,GAAGC,EAAE,GAAGoF,EAAE2H,mBAAmBsrD,EAAE0sJ,eAAe1sJ,EAAE4pT,kBAAkB5pT,EAAErrD,oBAAoBjN,EAAE,GAAGC,EAAE,GAAGoF,EAAE4H,oBAAoB,SAAStL,IAAI22D,EAAEhyB,MAAM,EAAEgyB,EAAE4U,KAAK39D,IAClfk5D,IAAIu0S,EAAE0I,MAAM8D,OAAO,SAAS1oX,IAAI2nE,IAAIu0S,EAAE0I,MAAMyD,UAAUh7K,GAAGA,EAAEliM,SAAS,SAASsD,IAAI,OAAO8lQ,IAAKhnE,GAAG,IAAY,GAARruM,EAAEw3W,EAAGx3W,IAAOA,EAAE,OAAO,KAAK,IAAIqF,EAAErF,EAAEsK,GAAGonD,EAAErsD,EAAEskX,uBAAuBtkX,EAAEs/B,gBAAgB,IAAI9jC,EAAE+2W,EAAGvyW,EAAErF,GAAG,IAAIa,EAAE,OAAO,KAAK,IAAIkD,EAAEozW,IAAK/xW,EAAE,CAACuzW,YAAY,EAAEmB,cAAc,EAAEkG,iBAAiB,EAAE+B,YAAY,EAAEvE,aAAa,EAAE8B,UAAU,EAAEkI,kBAAkB,EAAEzI,gBAAgB,GAAGjwW,EAAEjO,EAAE62W,WAAWvpK,EAAEk6K,GAAGhjX,EAAEyJ,GAAGu/L,EAAEgnE,IAAKyiG,EAAEzyW,EAAE2H,mBAAmBurD,EAAElzD,EAAE4H,oBAAoBqrD,EAAE,CAAChyB,KAAK,EAAE4mC,KAAK,EAAE63I,cAAc+yJ,EAAE9yJ,eAAezsJ,EAAE0pT,iBAAiBnK,EACvfoK,kBAAkB3pT,EAAEvrD,mBAAmB8qW,EAAE7qW,oBAAoBsrD,EAAEltD,WAAWrL,EAAEqL,YAAYgiG,EAAE04Q,EAAG1gX,EAAEyJ,GAAiBozN,GAAd41I,EAAEoJ,EAAG77W,EAAEyJ,EAAEu+F,EAAEtpG,GAAKw0W,EAAGlzW,EAAED,EAAEpF,EAAE83W,IAAG/rS,EAAE2tS,EAAGr0W,EAAEyJ,EAAEozN,EAAE98N,GAAGwrG,EAAEywQ,EAAGh8W,EAAEtB,EAAEqB,EAAEpF,GAAGs4L,EAAEsiL,EAAGv1W,EAAEyJ,EAAEu+F,GAAE,WAAW2vQ,EAAE0I,MAAM8D,SAAQlxT,EAAElzD,EAAEpF,GAAG08C,EAAE6qU,GAAGliX,EAAEyJ,EAAEu+F,EAAEjoG,EAAEpF,GAAGi9W,EAAEuC,EAAGn6W,EAAEyJ,EAAEu+F,EAAEirF,EAAE57I,EAAEt3C,GAAG43W,EAAE6F,EAAGx9W,EAAEtB,EAAE+K,EAAEu+F,EAAE60H,EAAEn2J,EAAEusH,EAAE2kL,EAAE,GAAGnF,EAAElnQ,EAAE,CAAC04B,SAAS,KAAK89C,UAAU,EAAEl8G,OAAO,EAAE3uD,OAAO,EAAEqnW,WAAW,GAAGtrT,EAAE61I,EAAEnuM,GAAkC28C,GAA/B54C,EAAEi+W,EAAG38W,EAAE43W,EAAED,EAAE0I,MAAM8D,KAAKlxT,EAAE5G,EAAE5iD,EAAEu+F,GAAK2vQ,EAAEhmT,MAAK2nQ,EAAEt5T,EAAEwb,OAAOshN,EAAE,GAAGG,EAAE,GAAGF,EAAE,GAAGw8F,GAAE,CAAC5+T,EAAEq3W,WAAW5sC,GAAG,KAAK9L,IAAIA,EAAEr5R,iBAAiB,mBAAmBzb,GAAE,GAAI80S,EAAEr5R,iBAAiB,uBACpevkC,GAAE,IAAK,IAAI67U,GAAGqgC,EAAE2D,OAAOr+W,EAAE,CAACo9W,YAAYsF,EAAGW,OAAO7lX,KAAK,KAAK,EAAE,iBAEgL,OAF/Je,IAAI4wD,EAAE40L,EAAE/jP,EAAE,CAACkhC,MAAM,SAASzjC,GAAG,GAAG,gBAAgBA,EAAE,GAAGA,EAAE2/W,aAAa,oBAAoB3/W,EAAE4pX,qBAAqB,IAAI,IAAI3pX,EAAE,EAAE,EAAEA,IAAIA,EAAE28U,GAAGt2F,EAAE,CAACq5H,YAAY3/W,EAAE2/W,YAAYhnT,MAAM14D,IAAID,GAAG0oC,QAAQk0S,GAAG58U,EAAE0oC,QAAQA,EAAE,KAAK1oC,IAAI0kH,KAAKugQ,EAAGW,OAAO3jX,KAAK,KAAK,GAAG+wB,QAAQiyV,EAAGW,OAAO3jX,KAAK,KAAK,GAAG,KAAOgjX,EAAGW,OAAO3jX,KAAK,KAAK,GAAGuK,KAAKjK,EAAE,IAAIkI,OAAO,SAASzK,GAAG,OAAOkiO,EAAEngO,OAAO/B,EAAE,OAAM,GAAG,IAAKspI,SAAS,SAAStpI,GAAG,OAAO+rE,EAAEhqE,OAAO/B,GAAE,IAAK2K,QAAQ2tL,EAAE4mL,SAASj2U,KAAKqvJ,EAAE+mL,WAC1fI,aAAa/iU,EAAE36C,OAAO49W,YAAY1C,EAAEl7W,OAAO8nX,gBAAgB5M,EAAEoC,WAAW7zW,WAAWkmD,EAAEsO,MAAMz+D,EAAEmP,GAAG,SAAS1Q,EAAEC,GAAG,IAAIC,EAAE,OAAOF,GAAG,IAAK,QAAQ,OAAOuB,EAAEtB,GAAG,IAAK,OAAOC,EAAEoiO,EAAE,MAAM,IAAK,UAAUpiO,EAAEkiO,EAAE,MAAM,IAAK,UAAUliO,EAAE0+T,GAAY,OAAV1+T,EAAEwD,KAAKzD,GAAS,CAACq1B,OAAO,WAAW,IAAI,IAAIt1B,EAAE,EAAEA,EAAEE,EAAEL,SAASG,EAAE,GAAGE,EAAEF,KAAKC,EAAE,CAACC,EAAEF,GAAGE,EAAEA,EAAEL,OAAO,GAAGK,EAAE2F,MAAM,UAAUihN,OAAOz5G,EAAEy8Q,aAAa,SAAS9pX,GAAG,OAAO,GAAGqtG,EAAEqqQ,WAAWpyW,QAAQtF,EAAE+a,gBAAgBgmM,KAAKh9M,EAAEoyB,QAAQ,WAAWgsM,EAAEtiO,OAAO,EAAEoe,IAAI0gT,IAAIA,EAAEn5R,oBAAoB,mBAAmB3b,GAClf80S,EAAEn5R,oBAAoB,uBAAuBzkC,IAAI6vG,EAAEntE,QAAQw5U,EAAEx5U,QAAQiZ,EAAEjZ,QAAQ60J,EAAE70J,QAAQsoC,EAAEtoC,QAAQy+L,EAAEz+L,QAAQ0qK,GAAGA,EAAE1qK,QAAQm7R,GAAExnQ,SAAQ,SAASp3D,GAAGA,QAAOghN,IAAI37M,EAAE0kX,SAASjpX,EAAE0oX,KAAK,WAAW7nX,IAAIwsM,GAAGA,EAAEliM,UAAU2uB,IAAIrrB,EAAEmmC,MAAMtwC,IAAIpF,EAAEysP,OAAO,KAAK/6L,GAAUA,OAK7O,OACA,SAAUnyD,EAAQC,EAASkB,GAEjC,aAGA,IAAIszJ,EAAmBtzJ,EAAoB,QACvCuzJ,EAAmBvzJ,EAAoB,QAE3CnB,EAAOC,QAAU,SAAUkC,GAC1B,OAAIuyJ,EAAGvyJ,GAAeA,EACfsyJ,EAAiBtyJ,EAAO,6BAA8BtB,UAAU,MAMlE,OACA,SAAUb,EAAQC,EAASkB,GAEjC,aAWA,IAAIspX,EAAa,GAqFjB,SAASC,EAAcnyO,GAChBA,GAAyB,OAAhBA,EAAM7qE,QACdQ,aAAaqqE,EAAM7qE,OACnB6qE,EAAM7qE,MAAQ,MAxEtBztE,EAAQo6G,SAAW,SAAkBttG,EAAI49W,EAAajhT,GAClD,IAAI6uE,EAAQkyO,EAAW19W,GACnBsuB,EAAMzd,KAAKyd,MAEf,IAAIk9G,EAAO,CAMP,IAAI,IAAIoxE,KAAO8gK,EACRA,EAAW9gK,GAAKr5M,GAAK+qB,EAAM,YACnBovV,EAAW9gK,GAG1BpxE,EAAQkyO,EAAW19W,GAAM,CAACuD,GAAI,EAAGo9D,MAAO,MAK5C,SAASqgC,IACLrkC,IACA6uE,EAAMjoI,GAAKsN,KAAKyd,MACbk9G,EAAM20G,SACL30G,EAAM20G,SACN30G,EAAM20G,OAAS,MAPvBw9H,EAAcnyO,GAWXl9G,EAAMk9G,EAAMjoI,GAAKq6W,EAChB58Q,IAIJwqC,EAAM7qE,MAAQL,YAAW,WACrB0gC,IACAwqC,EAAM7qE,MAAQ,OACfi9S,IAGP1qX,EAAQ00D,KAAO,SAAS5nD,GACpB,IAAIwrI,EAAQkyO,EAAW19W,GACvB,OAAIwrI,GAAUA,EAAM7qE,MAEb,IAAItkD,SAAQ,SAASC,GACxB,IAAIuhW,EAAiBryO,EAAM20G,OAC3B30G,EAAM20G,OAAS,WACR09H,GAAgBA,IACnBvhW,IACAkvH,EAAM20G,OAAS,SAPW9jO,QAAQC,WAkB9CppB,EAAQikC,MAAQ,SAASn3B,GACrB,GAAGA,EACC29W,EAAcD,EAAW19W,WAClB09W,EAAW19W,QAElB,IAAI,IAAI48M,KAAO8gK,EAAYxqX,EAAQikC,MAAMylL,KAc3C,OACA,SAAU3pN,EAAQC,EAASkB,GAEjC,aAwBA,IAOI0pX,EAPA/8Q,EAAuB,kBAAZg9Q,QAAuBA,QAAU,KAC5CC,EAAej9Q,GAAwB,oBAAZA,EAAEltG,MAC7BktG,EAAEltG,MACF,SAAsBowB,EAAQg6V,EAAUx/U,GACxC,OAAOnnC,SAASvB,UAAUlC,MAAMJ,KAAKwwB,EAAQg6V,EAAUx/U,IAiB3D,SAASy/U,EAAmBC,GACtBlyO,SAAWA,QAAQjpG,MAAMipG,QAAQjpG,KAAKm7U,GAb1CL,EADE/8Q,GAA0B,oBAAdA,EAAEq9Q,QACCr9Q,EAAEq9Q,QACVvpX,OAAOqrL,sBACC,SAAwBj8J,GACvC,OAAOpvB,OAAOynC,oBAAoBrY,GAC/BloB,OAAOlH,OAAOqrL,sBAAsBj8J,KAGxB,SAAwBA,GACvC,OAAOpvB,OAAOynC,oBAAoBrY,IAQtC,IAAIo6V,EAAc70U,OAAO/nC,OAAS,SAAqBrM,GACrD,OAAOA,IAAUA,GAGnB,SAASsoP,IACPA,EAAaloG,KAAK/hJ,KAAKmD,MAEzB3D,EAAOC,QAAUwqP,EAGjBA,EAAaA,aAAeA,EAE5BA,EAAa3nP,UAAUuoX,aAAU9qX,EACjCkqP,EAAa3nP,UAAUwoX,aAAe,EACtC7gI,EAAa3nP,UAAUyoX,mBAAgBhrX,EAIvC,IAAIirX,EAAsB,GAE1B,SAASC,EAAc3gE,GACrB,GAAwB,oBAAbA,EACT,MAAM,IAAI/zP,UAAU,0EAA4E+zP,GAsCpG,SAAS4gE,EAAiBrrX,GACxB,YAA2BE,IAAvBF,EAAKkrX,cACA9gI,EAAa+gI,oBACfnrX,EAAKkrX,cAmDd,SAASI,EAAa36V,EAAQ3c,EAAMy2S,EAAU8gE,GAC5C,IAAIrqX,EACA87O,EACAwuI,EAsBJ,GApBAJ,EAAc3gE,GAEdztE,EAASrsN,EAAOq6V,aACD9qX,IAAX88O,GACFA,EAASrsN,EAAOq6V,QAAUzpX,OAAOY,OAAO,MACxCwuB,EAAOs6V,aAAe,SAIK/qX,IAAvB88O,EAAOyuI,cACT96V,EAAOktF,KAAK,cAAe7pG,EACfy2S,EAASA,SAAWA,EAASA,SAAWA,GAIpDztE,EAASrsN,EAAOq6V,SAElBQ,EAAWxuI,EAAOhpO,SAGH9T,IAAbsrX,EAEFA,EAAWxuI,EAAOhpO,GAAQy2S,IACxB95R,EAAOs6V,kBAeT,GAbwB,oBAAbO,EAETA,EAAWxuI,EAAOhpO,GAChBu3W,EAAU,CAAC9gE,EAAU+gE,GAAY,CAACA,EAAU/gE,GAErC8gE,EACTC,EAAS98W,QAAQ+7S,GAEjB+gE,EAAS1nX,KAAK2mT,GAIhBvpT,EAAImqX,EAAiB16V,GACjBzvB,EAAI,GAAKsqX,EAASvrX,OAASiB,IAAMsqX,EAASrlM,OAAQ,CACpDqlM,EAASrlM,QAAS,EAGlB,IAAI5nK,EAAI,IAAIxZ,MAAM,+CACEymX,EAASvrX,OAAS,IAAMJ,OAAOmU,GADjC,qEAIlBuK,EAAEnd,KAAO,8BACTmd,EAAE+rO,QAAU35N,EACZpS,EAAEvK,KAAOA,EACTuK,EAAE+sD,MAAQkgT,EAASvrX,OACnB2qX,EAAmBrsW,GAIvB,OAAOoS,EAcT,SAAS+6V,IACP,IAAKpoX,KAAKqoX,MAGR,OAFAroX,KAAKqtB,OAAOi7V,eAAetoX,KAAK0Q,KAAM1Q,KAAKuoX,QAC3CvoX,KAAKqoX,OAAQ,EACY,IAArBnrX,UAAUP,OACLqD,KAAKmnT,SAAStqT,KAAKmD,KAAKqtB,QAC1BrtB,KAAKmnT,SAASlqT,MAAM+C,KAAKqtB,OAAQnwB,WAI5C,SAASsrX,EAAUn7V,EAAQ3c,EAAMy2S,GAC/B,IAAI1qN,EAAQ,CAAE4rR,OAAO,EAAOE,YAAQ3rX,EAAWywB,OAAQA,EAAQ3c,KAAMA,EAAMy2S,SAAUA,GACjF7vJ,EAAU8wN,EAAYrpX,KAAK09F,GAG/B,OAFA66D,EAAQ6vJ,SAAWA,EACnB1qN,EAAM8rR,OAASjxN,EACRA,EA0HT,SAASmxN,EAAWp7V,EAAQ3c,EAAM4yD,GAChC,IAAIo2K,EAASrsN,EAAOq6V,QAEpB,QAAe9qX,IAAX88O,EACF,MAAO,GAET,IAAIgvI,EAAahvI,EAAOhpO,GACxB,YAAmB9T,IAAf8rX,EACK,GAEiB,oBAAfA,EACFplT,EAAS,CAAColT,EAAWvhE,UAAYuhE,GAAc,CAACA,GAElDplT,EACLqlT,EAAgBD,GAAcE,EAAWF,EAAYA,EAAW/rX,QAoBpE,SAASksX,EAAcn4W,GACrB,IAAIgpO,EAAS15O,KAAK0nX,QAElB,QAAe9qX,IAAX88O,EAAsB,CACxB,IAAIgvI,EAAahvI,EAAOhpO,GAExB,GAA0B,oBAAfg4W,EACT,OAAO,EACF,QAAmB9rX,IAAf8rX,EACT,OAAOA,EAAW/rX,OAItB,OAAO,EAOT,SAASisX,EAAW/3S,EAAK7xE,GAEvB,IADA,IAAIynE,EAAO,IAAIplE,MAAMrC,GACZtB,EAAI,EAAGA,EAAIsB,IAAKtB,EACvB+oE,EAAK/oE,GAAKmzE,EAAInzE,GAChB,OAAO+oE,EAGT,SAASqiT,EAAUhnX,EAAM1B,GACvB,KAAOA,EAAQ,EAAI0B,EAAKnF,OAAQyD,IAC9B0B,EAAK1B,GAAS0B,EAAK1B,EAAQ,GAC7B0B,EAAKa,MAGP,SAASgmX,EAAgB93S,GAEvB,IADA,IAAIozG,EAAM,IAAI5iL,MAAMwvE,EAAIl0E,QACfe,EAAI,EAAGA,EAAIumL,EAAItnL,SAAUe,EAChCumL,EAAIvmL,GAAKmzE,EAAInzE,GAAGypT,UAAYt2O,EAAInzE,GAElC,OAAOumL,EAlXThmL,OAAOC,eAAe4oP,EAAc,sBAAuB,CACzD3oP,YAAY,EACZC,IAAK,WACH,OAAOypX,GAETx8W,IAAK,SAASs9C,GACZ,GAAmB,kBAARA,GAAoBA,EAAM,GAAK8+T,EAAY9+T,GACpD,MAAM,IAAIogU,WAAW,kGAAoGpgU,EAAM,KAEjIk/T,EAAsBl/T,KAI1Bm+L,EAAaloG,KAAO,gBAEGhiJ,IAAjBoD,KAAK0nX,SACL1nX,KAAK0nX,UAAYzpX,OAAO8+F,eAAe/8F,MAAM0nX,UAC/C1nX,KAAK0nX,QAAUzpX,OAAOY,OAAO,MAC7BmB,KAAK2nX,aAAe,GAGtB3nX,KAAK4nX,cAAgB5nX,KAAK4nX,oBAAiBhrX,GAK7CkqP,EAAa3nP,UAAU6pX,gBAAkB,SAAyBhqX,GAChE,GAAiB,kBAANA,GAAkBA,EAAI,GAAKyoX,EAAYzoX,GAChD,MAAM,IAAI+pX,WAAW,gFAAkF/pX,EAAI,KAG7G,OADAgB,KAAK4nX,cAAgB5oX,EACdgB,MAST8mP,EAAa3nP,UAAU8pX,gBAAkB,WACvC,OAAOlB,EAAiB/nX,OAG1B8mP,EAAa3nP,UAAUo7G,KAAO,SAAc7pG,GAE1C,IADA,IAAIm3B,EAAO,GACFnqC,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAAKmqC,EAAKrnC,KAAKtD,UAAUQ,IAC/D,IAAIwrX,EAAoB,UAATx4W,EAEXgpO,EAAS15O,KAAK0nX,QAClB,QAAe9qX,IAAX88O,EACFwvI,EAAWA,QAA4BtsX,IAAjB88O,EAAOt+N,WAC1B,IAAK8tW,EACR,OAAO,EAGT,GAAIA,EAAS,CACX,IAAIC,EAGJ,GAFIthV,EAAKlrC,OAAS,IAChBwsX,EAAKthV,EAAK,IACRshV,aAAc1nX,MAGhB,MAAM0nX,EAGR,IAAIxnT,EAAM,IAAIlgE,MAAM,oBAAsB0nX,EAAK,KAAOA,EAAGrqR,QAAU,IAAM,KAEzE,MADAn9B,EAAI7xC,QAAUq5V,EACRxnT,EAGR,IAAImuJ,EAAU4pB,EAAOhpO,GAErB,QAAgB9T,IAAZkzN,EACF,OAAO,EAET,GAAuB,oBAAZA,EACTs3J,EAAat3J,EAAS9vN,KAAM6nC,OAE5B,KAAIjd,EAAMklM,EAAQnzN,OACdsqT,EAAY2hE,EAAW94J,EAASllM,GACpC,IAASltB,EAAI,EAAGA,EAAIktB,IAAOltB,EACzB0pX,EAAangE,EAAUvpT,GAAIsC,KAAM6nC,GAGrC,OAAO,GAiETi/M,EAAa3nP,UAAUiqX,YAAc,SAAqB14W,EAAMy2S,GAC9D,OAAO6gE,EAAahoX,KAAM0Q,EAAMy2S,GAAU,IAG5CrgE,EAAa3nP,UAAUqO,GAAKs5O,EAAa3nP,UAAUiqX,YAEnDtiI,EAAa3nP,UAAUkqX,gBACnB,SAAyB34W,EAAMy2S,GAC7B,OAAO6gE,EAAahoX,KAAM0Q,EAAMy2S,GAAU,IAqBhDrgE,EAAa3nP,UAAU2uN,KAAO,SAAcp9M,EAAMy2S,GAGhD,OAFA2gE,EAAc3gE,GACdnnT,KAAKwN,GAAGkD,EAAM83W,EAAUxoX,KAAM0Q,EAAMy2S,IAC7BnnT,MAGT8mP,EAAa3nP,UAAUmqX,oBACnB,SAA6B54W,EAAMy2S,GAGjC,OAFA2gE,EAAc3gE,GACdnnT,KAAKqpX,gBAAgB34W,EAAM83W,EAAUxoX,KAAM0Q,EAAMy2S,IAC1CnnT,MAIb8mP,EAAa3nP,UAAUmpX,eACnB,SAAwB53W,EAAMy2S,GAC5B,IAAIrlT,EAAM43O,EAAQ1yO,EAAUtJ,EAAG6rX,EAK/B,GAHAzB,EAAc3gE,GAEdztE,EAAS15O,KAAK0nX,aACC9qX,IAAX88O,EACF,OAAO15O,KAGT,GADA8B,EAAO43O,EAAOhpO,QACD9T,IAATkF,EACF,OAAO9B,KAET,GAAI8B,IAASqlT,GAAYrlT,EAAKqlT,WAAaA,EACb,MAAtBnnT,KAAK2nX,aACT3nX,KAAK0nX,QAAUzpX,OAAOY,OAAO,cAEtB66O,EAAOhpO,GACVgpO,EAAO4uI,gBACTtoX,KAAKu6G,KAAK,iBAAkB7pG,EAAM5O,EAAKqlT,UAAYA,SAElD,GAAoB,oBAATrlT,EAAqB,CAGrC,IAFAkF,GAAY,EAEPtJ,EAAIoE,EAAKnF,OAAS,EAAGe,GAAK,EAAGA,IAChC,GAAIoE,EAAKpE,KAAOypT,GAAYrlT,EAAKpE,GAAGypT,WAAaA,EAAU,CACzDoiE,EAAmBznX,EAAKpE,GAAGypT,SAC3BngT,EAAWtJ,EACX,MAIJ,GAAIsJ,EAAW,EACb,OAAOhH,KAEQ,IAAbgH,EACFlF,EAAK2rD,QAELq7T,EAAUhnX,EAAMkF,GAGE,IAAhBlF,EAAKnF,SACP+8O,EAAOhpO,GAAQ5O,EAAK,SAEQlF,IAA1B88O,EAAO4uI,gBACTtoX,KAAKu6G,KAAK,iBAAkB7pG,EAAM64W,GAAoBpiE,GAG1D,OAAOnnT,MAGb8mP,EAAa3nP,UAAU80D,IAAM6yL,EAAa3nP,UAAUmpX,eAEpDxhI,EAAa3nP,UAAUqqX,mBACnB,SAA4B94W,GAC1B,IAAIu2S,EAAWvtE,EAAQh8O,EAGvB,GADAg8O,EAAS15O,KAAK0nX,aACC9qX,IAAX88O,EACF,OAAO15O,KAGT,QAA8BpD,IAA1B88O,EAAO4uI,eAUT,OATyB,IAArBprX,UAAUP,QACZqD,KAAK0nX,QAAUzpX,OAAOY,OAAO,MAC7BmB,KAAK2nX,aAAe,QACM/qX,IAAjB88O,EAAOhpO,KACY,MAAtB1Q,KAAK2nX,aACT3nX,KAAK0nX,QAAUzpX,OAAOY,OAAO,aAEtB66O,EAAOhpO,IAEX1Q,KAIT,GAAyB,IAArB9C,UAAUP,OAAc,CAC1B,IACImC,EADAimD,EAAO9mD,OAAO8mD,KAAK20L,GAEvB,IAAKh8O,EAAI,EAAGA,EAAIqnD,EAAKpoD,SAAUe,EAC7BoB,EAAMimD,EAAKrnD,GACC,mBAARoB,GACJkB,KAAKwpX,mBAAmB1qX,GAK1B,OAHAkB,KAAKwpX,mBAAmB,kBACxBxpX,KAAK0nX,QAAUzpX,OAAOY,OAAO,MAC7BmB,KAAK2nX,aAAe,EACb3nX,KAKT,GAFAinT,EAAYvtE,EAAOhpO,GAEM,oBAAdu2S,EACTjnT,KAAKsoX,eAAe53W,EAAMu2S,QACrB,QAAkBrqT,IAAdqqT,EAET,IAAKvpT,EAAIupT,EAAUtqT,OAAS,EAAGe,GAAK,EAAGA,IACrCsC,KAAKsoX,eAAe53W,EAAMu2S,EAAUvpT,IAIxC,OAAOsC,MAoBb8mP,EAAa3nP,UAAU8nT,UAAY,SAAmBv2S,GACpD,OAAO+3W,EAAWzoX,KAAM0Q,GAAM,IAGhCo2O,EAAa3nP,UAAUsqX,aAAe,SAAsB/4W,GAC1D,OAAO+3W,EAAWzoX,KAAM0Q,GAAM,IAGhCo2O,EAAa+hI,cAAgB,SAAS7hI,EAASt2O,GAC7C,MAAqC,oBAA1Bs2O,EAAQ6hI,cACV7hI,EAAQ6hI,cAAcn4W,GAEtBm4W,EAAchsX,KAAKmqP,EAASt2O,IAIvCo2O,EAAa3nP,UAAU0pX,cAAgBA,EAiBvC/hI,EAAa3nP,UAAUuqX,WAAa,WAClC,OAAO1pX,KAAK2nX,aAAe,EAAIT,EAAelnX,KAAK0nX,SAAW,KA2B1D,OACA,SAAUrrX,EAAQC,EAASkB,GAEjC,IAAI4nR,EAAS5nR,EAAoB,QAEjCnB,EAAOC,QAAU,SAAsBgxJ,GACnC,IAMIhuJ,EANAqqX,EAAW,GAEXlzI,EAAQ,GACRmzI,EAAU,GACV3+K,EAAI,GACJ4+K,EAAK,GAGT,SAASC,EAAQjpX,GACb+oX,EAAQ/oX,IAAK,EACVoqM,EAAE7rM,eAAeyB,IAChB5C,OAAO8mD,KAAKkmJ,EAAEpqM,IAAIqzD,SAAQ,SAASj5C,UACxBgwL,EAAEpqM,GAAGoa,GACT2uW,EAAQ3uW,IAAK6uW,EAAQ7uW,MAKpC,SAAS8uW,EAAQ7nX,GACb,IAMIxE,EACAud,EAPA6uG,GAAQ,EAQZ,IANA2sH,EAAMj2O,KAAK0B,GACX0nX,EAAQ1nX,IAAK,EAKTxE,EAAI,EAAGA,EAAImsX,EAAG3nX,GAAGvF,OAAQe,IACzBud,EAAI4uW,EAAG3nX,GAAGxE,GACPud,IAAM3b,GACLsR,EAAOtR,EAAGm3O,GACV3sH,GAAQ,GACD8/P,EAAQ3uW,KACf6uG,EAAQigQ,EAAQ9uW,IAKxB,GAAG6uG,EACCggQ,EAAQ5nX,QAER,IAAIxE,EAAI,EAAGA,EAAImsX,EAAG3nX,GAAGvF,OAAQe,IAAK,CAC9Bud,EAAI4uW,EAAG3nX,GAAGxE,GACV,IAAI0+F,EAAQ6uG,EAAEhwL,GAEVmhF,IACAA,EAAQ,GACR6uG,EAAEhwL,GAAKmhF,GAGXA,EAAMnhF,IAAK,EAInB,OADAw7N,EAAM9zO,MACCmnH,EAGX,SAASl5G,EAAOkQ,EAAO21N,GACnB,IAAIjrE,EAAQ,GAAGrmK,OAAOsxO,GAAOtxO,OAAO2b,GACpC6oW,EAASnpX,KAAKgrK,GAGlB,SAASw+M,EAASC,GAEd,IAAI,IAAIvsX,EAAI,EAAGA,EAAI4vJ,EAAM3wJ,OAAQe,IAC1BA,EAAIusX,IAAO38N,EAAM5vJ,GAAK,IACzB4vJ,EAAM5vJ,GAAK4vJ,EAAM5vJ,GAAGyD,QAAO,SAASzD,GAChC,OAAOA,GAAKusX,KAKxB,SAASC,EAAsB7/Q,GAE3B2/Q,EAAS3/Q,GAcT,IAbA,IAYI8/Q,EAZAxjW,EAAI2mI,EAGJ88N,EAAOhlG,EAAOz+P,GAGd0jW,EAAMD,EAAK7iO,WAAWpmJ,QAAO,SAASmuP,GACtC,OAAOA,EAAI3yP,OAAS,KAIpB2tX,EAAc3iX,IAEVjK,EAAI,EAAGA,EAAI2sX,EAAI1tX,OAAQe,IAC3B,IAAI,IAAIsE,EAAI,EAAGA,EAAIqoX,EAAI3sX,GAAGf,OAAQqF,IAC3BqoX,EAAI3sX,GAAGsE,GAAKsoX,IACXA,EAAcD,EAAI3sX,GAAGsE,GACrBmoX,EAAuBzsX,GAKnC,IAAIi/N,EAAK0tJ,EAAIF,GAEb,IAAIxtJ,EAAI,OAAO,EAGf,IAAI9kD,EAAUvqB,EAAM50G,KAAI,SAAS/6C,EAAGyC,GAChC,OAA0B,IAAvBu8N,EAAGv6N,QAAQhC,GAAsB,GAC7BzC,EAAEwD,QAAO,SAASzD,GACrB,OAA0B,IAAnBi/N,EAAGv6N,QAAQ1E,SAI1B,MAAO,CACH4sX,YAAaA,EACbzyM,QAASA,GAIjBv4K,EAAI,EACJ,IAAIN,EAAIsuJ,EAAM3wJ,OACd,MAAM2C,EAAIN,EAAG,CAGT,IAAIK,EAAI6qX,EAAsB5qX,GAO9B,GAJAA,EAAID,EAAEirX,YAENT,EAAKxqX,EAAEw4K,QAEJgyM,EAAI,CACH,IAAI,IAAInsX,EAAI,EAAGA,EAAImsX,EAAGltX,OAAQe,IAC1B,IAAI,IAAIsE,EAAI,EAAGA,EAAI6nX,EAAGnsX,GAAGf,OAAQqF,IAAK,CAClC,IAAIuoX,EAAWV,EAAGnsX,GAAGsE,GACrB4nX,GAASW,IAAY,EACrBt/K,EAAEs/K,GAAY,GAGtBR,EAAQzqX,GACRA,GAAQ,OAERA,EAAIN,EAKZ,OAAO2qX,IAML,OACA,SAAUttX,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUmjK,EAEjB,IAAIjrB,EAAUh3I,EAAoB,QAElC,SAASgtX,EACLpjX,EACA2J,EACA3Q,EACAksF,EACAtrF,EACA+/K,GACF/gL,KAAK89M,IAAa12M,EAClBpH,KAAKyqX,SAAa15W,EAClB/Q,KAAKowM,OAAahwM,EAClBJ,KAAK0qX,WAAap+R,EAClBtsF,KAAKykB,WAAazjB,EAClBhB,KAAK2qX,WAAa5pM,EAGpB,IAAIz/K,EAAQkpX,EAAgBrrX,UAwC5B,SAASyrX,EACLxjX,EACA2J,EACA3Q,EACAksF,EACAtrF,EACA85B,EACAh9B,GAKF,IAFA,IAAI+sX,EAAgB,CAAE,KAAM,KACxBC,EAAW,GACPptX,EAAE,EAAGA,EAAEsD,IAAatD,EAC1BmtX,EAAcrqX,KAAK,IAAI9C,GACvBotX,EAAStqX,KAAK,IAAI9C,GAEpBmtX,EAAcrqX,KACZ,gDACAQ,EAAY,OACZ8pX,EAASnqX,OACT,gCACAK,EACA,aACF,IAAI+/K,EAAYrgL,SAASzD,MAAM,KAAM4tX,GAGjC5lW,EAAO,IAAIulW,EACXpjX,EACA2J,EACA3Q,EACAksF,EACAtrF,EACA+/K,GAGJ9iL,OAAOC,eAAe48B,EAAKh9B,EAAM,CAC/BuN,IAAK,SAASO,GAGZ,OAFAxE,EAAGu5J,yBAAyBr0E,EAAUlsF,IACtC2gL,EAAU35K,EAAIklF,EAAUlsF,GAAQwL,GACzBA,GAEPxN,IAAK,WACL,OAAO6mB,GAEP9mB,YAAY,IAIlB,SAAS4sX,EACL3jX,EACA2J,EACA3Q,EACAksF,EACAtrF,EACA85B,EACAh9B,GAIF,IAFA,IAAIkwB,EAAQ,IAAI3sB,MAAML,GAClBwgB,EAAQ,IAAIngB,MAAML,GACdtD,EAAE,EAAGA,EAAEsD,IAAatD,EAC1BktX,EACIxjX,EACA2J,EACA3Q,EAAM1C,GACN4uF,EACAtrF,EACAgtB,EACAtwB,GACJ8jB,EAAM9jB,GAAKswB,EAAMtwB,GAGnBO,OAAOC,eAAe8vB,EAAO,WAAY,CACvC3iB,IAAK,SAASnJ,GACZ,GAAGb,MAAM0J,QAAQ7I,GACf,IAAI,IAAIxE,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B8jB,EAAM9jB,GAAG6K,SAAWrG,EAAExE,QAGxB,IAAQA,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B8jB,EAAM9jB,GAAG6K,SAAWrG,EAAIxE,EAG5B,OAAOwE,GAEP9D,IAAK,WAEL,IADA,IAAIyI,EAAS,IAAIxF,MAAML,GACftD,EAAE,EAAGA,EAAEsD,IAAatD,EAC1BmJ,EAAOnJ,GAAK4uF,EAAUlsF,EAAM1C,IAE9B,OAAOmJ,GAEP1I,YAAY,IAGhB6vB,EAAMmY,QAAU,SAASz1B,EAAM6kL,EAAYtvJ,EAAQ5sB,GACjD3I,EAAaA,GAAQtJ,EAAG0zH,MACxBy6D,IAAeA,EACftvJ,EAAaA,GAAWjlC,EAAYA,EACpCqY,EAAaA,GAAU,EACvB,IAAI,IAAI3b,EAAE,EAAGA,EAAEsD,IAAatD,EAAG,CAC7B,IAAI6K,EAAW+jF,EAAUlsF,EAAM1C,IAC/B0J,EAAG4jX,oBACGziX,EACAvH,EACA0P,EACA6kL,EACAtvJ,EACA5sB,EAAS3b,EAAIsD,GACnBoG,EAAGs5J,wBAAwBn4J,KAI/B,IAAI0iX,EAAU,IAAI5pX,MAAML,GACpBkqX,EAAe9jX,EAAG,eAAiBpG,EAAY,MAEnD/C,OAAOC,eAAe48B,EAAKh9B,EAAM,CAC/BuN,IAAK,SAASO,GACZ,IAAI,IAAIlO,EAAE,EAAGA,EAAEsD,IAAatD,EAAG,CAC7B,IAAI61B,EAAM+4D,EAAUlsF,EAAM1C,IAE1B,GADA0J,EAAGu5J,yBAAyBptI,GACzBlyB,MAAM0J,QAAQa,EAAE,IACjBs/W,EAAaruX,KAAKuK,EAAImsB,EAAK3nB,EAAElO,QACxB,CACL,IAAI,IAAIsE,EAAE,EAAGA,EAAEhB,IAAagB,EAC1BipX,EAAQjpX,GAAK4J,EAAE5K,EAAUtD,EAAIsE,GAE/BkpX,EAAaruX,KAAKuK,EAAImsB,EAAK03V,IAG/B,OAAOr/W,GAEPxN,IAAK,WACL,OAAO4vB,GAEP7vB,YAAY,IAKlB,SAASshK,EACLr4J,EACA2J,EACAzI,EACAgkF,GAGF,IADA,IAAIxxD,EAAM,GACFp9B,EAAE,EAAGsB,EAAEsJ,EAAW3L,OAAQe,EAAEsB,IAAKtB,EAAG,CAE1C,IAAIZ,EAAIwL,EAAW5K,GACfI,EAAOhB,EAAEgB,KACT4S,EAAO5T,EAAE4T,KACTy6W,EAAOruX,EAAEwvF,UAEb,OAAO57E,GACL,IAAK,OACL,IAAK,MACL,IAAK,QACHk6W,EACIxjX,EACA2J,EACAo6W,EAAK,GACL7+R,EACA,EACAxxD,EACAh9B,GACN,MAEA,QACE,GAAG4S,EAAKtO,QAAQ,QAAU,EAAG,CAC3B,IAAIvE,EAAI6S,EAAKwyD,WAAWxyD,EAAK/T,OAAO,GAAK,GACzC,GAAGkB,EAAI,GAAKA,EAAI,EACd,MAAM,IAAI22I,EAAQ,GAAI,mCAAqC12I,EAAO,KAAO4S,GAE3Ek6W,EACIxjX,EACA2J,EACAo6W,EAAK,GACL7+R,EACAzuF,EACAi9B,EACAh9B,OACC,MAAG4S,EAAKtO,QAAQ,QAAU,GAc/B,MAAM,IAAIoyI,EAAQ,GAAI,mCAAqC12I,EAAO,KAAO4S,GAbrE7S,EAAI6S,EAAKwyD,WAAWxyD,EAAK/T,OAAO,GAAK,GACzC,GAAGkB,EAAI,GAAKA,EAAI,EACd,MAAM,IAAI22I,EAAQ,GAAI,mCAAqC12I,EAAO,KAAO4S,GAE3Eq6W,EACI3jX,EACA2J,EACAo6W,EACA7+R,EACAzuF,EACAi9B,EACAh9B,GAIR,OAGJ,OAAOg9B,EA9OTx5B,EAAM6kC,QAAU,SACZz1B,EACA6kL,EACAtvJ,EACA5sB,GAEF,IAAIhc,EAAY2C,KACZoH,EAAY/J,EAAKygN,IACjBv1M,EAAYlL,EAAKqtX,WAAWrtX,EAAK+yM,QAErChpM,EAAG4jX,oBACCziX,EACAlL,EAAKonB,WACL/T,GAAQtJ,EAAG0zH,QACTy6D,EACFtvJ,GAAU,EACV5sB,GAAU,GACdjS,EAAGs5J,wBAAwBn4J,IAG7BjH,EAAM+J,IAAM,SAASgpB,EAAIC,EAAIgoB,EAAIkpB,GAC/B,OAAOxlE,KAAK2qX,WAAW3qX,KAAK0qX,WAAW1qX,KAAKowM,QAAS/7K,EAAIC,EAAIgoB,EAAIkpB,IAGnEvnE,OAAOC,eAAeoD,EAAO,WAAY,CACvClD,IAAK,WACH,OAAO4B,KAAK0qX,WAAW1qX,KAAKowM,SAE5B/kM,IAAK,SAASnJ,GAKd,OAJGA,IAAMlC,KAAK0qX,WAAW1qX,KAAKowM,UAC5BpwM,KAAK0qX,WAAW1qX,KAAKowM,QAAY,EAAFluM,EAC/BlC,KAAKyqX,SAASn2O,QAAU,MAEjB,EAAFpyI,MAmNL,OACA,SAAU7F,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAE/BnB,EAAOC,QAAU,SAAsBmhB,EAAKzR,EAAOmX,GAC/C,IAAIC,EAAS,GAETgoW,EAAS,CAAC54V,YAAarP,GACvBoR,EAAKzgB,EAAKy7B,aAAa67U,EAAQp/W,EAAO,KACtC4oB,EAAK9gB,EAAKy7B,aAAa67U,EAAQp/W,EAAO,KAK1C,OAHAoX,EAAOioW,OAASv3W,EAAK4P,SAAS6Q,EAAI9W,EAAI7R,GAAG,GAAMa,KAC/C2W,EAAOkoW,OAASx3W,EAAK4P,SAASkR,EAAInX,EAAIlM,GAAG,GAAM9E,KAExC2W,IAML,OACA,SAAU/mB,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1B+iB,EAAc/iB,EAAoB,QAAQ+iB,YAE1CjY,EAAa9K,EAAoB,QAEjC+tX,EAAU,CACV5vH,QAAS5nP,EAAIuM,WAAW,GAAIhY,GAC5BuzP,QAAS9nP,EAAIuM,WAAW,GAAIhY,WAEzBijX,EAAQ5vH,QAAQ6vH,mBAChBD,EAAQ1vH,QAAQ2vH,mBAChBD,EAAQ1vH,QAAQS,YAEvB,IAAImvH,EAAW,CACX9vH,QAAS5nP,EAAIuM,WAAW,GAAIhY,GAC5BuzP,QAAS9nP,EAAIuM,WAAW,GAAIhY,GAC5BojX,QAAS33W,EAAIuM,WAAW,GAAIhY,IA+BhC,SAASqjX,EAAUC,EAAW5/W,EAAO6/W,IAC7B7/W,EAAM6vP,SAAW,IAAItsP,UACrBs8W,EAAWC,KAAOF,EAAUxwH,GAAKwwH,EAAUr6W,EACvCvF,EAAM6vP,QAAQxvH,YAAWw/O,EAAWE,QAAUH,EAAUr6W,EAAIq6W,EAAUp5Q,MAE1ExmG,EAAM2vP,SAAW,IAAIpsP,UACrBs8W,EAAWG,KAAOJ,EAAUtwH,GAAKswH,EAAUhgX,EACvCI,EAAM2vP,QAAQtvH,YAAWw/O,EAAWI,QAAUL,EAAUhgX,EAAIggX,EAAUv5Q,YApC3Eo5Q,EAAS9vH,QAAQW,mBACjBmvH,EAAS5vH,QAAQS,mBACjBmvH,EAASC,QAAQpvH,mBACjBmvH,EAASC,QAAQF,YAExBnvX,EAAOC,QAAU,CACbsT,WAAY,YACZ9R,KAAM,YAEN2mC,OAAQ,CACJqf,OAAQ,CACJooU,QAASX,EACT/rS,IAAK+rS,EACL1oC,UAAW0oC,EACXY,UAAW5rW,EAAYkrW,EAAU,OAAQ,UACzCW,UAAW7rW,EAAYgrW,EAAS,OAAQ,YAIhDv7W,eAAgBxS,EAAoB,QAEpCyS,KAAMzS,EAAoB,QAC1B6uX,iBAAkB7uX,EAAoB,QAEtC0S,KAAM1S,EAAoB,QAC1B2P,MAAO3P,EAAoB,QAC3BmuX,UAAWA,IAiBT,OACA,SAAUtvX,EAAQC,EAASkB,GAEjC,aAKA,IAAIy6M,EAAQz6M,EAAoB,QAC5BoI,EAAMpI,EAAoB,QAC1B6S,EAAQ7S,EAAoB,QAEhCnB,EAAOC,QAAU,SAAemM,GAC/B,IAAI4tB,EAGAi2V,EAASr0K,EAAMxvM,GAEnB,OAAK6jX,EAAOroE,OAEZ5tR,EAASh1B,MAAM,GACfg1B,EAAO,GAAKhmB,EAAMi8W,EAAOj2V,OAAO,GAAI,EAAG,KACvCA,EAAO,GAAKhmB,EAAMi8W,EAAOj2V,OAAO,GAAI,EAAG,KACvCA,EAAO,GAAKhmB,EAAMi8W,EAAOj2V,OAAO,GAAI,EAAG,KAEf,MAApBi2V,EAAOroE,MAAM,KAChB5tR,EAASzwB,EAAIN,IAAI+wB,IAGlBA,EAAO71B,KAAK6P,EAAMi8W,EAAOlkT,MAAO,EAAG,IAE5B/xC,GAbmB,KAmBrB,OACA,SAAUh6B,EAAQC,EAASkB,GAEjC,aAGA,IAAI4I,EAAU5I,EAAoB,QAC9B+uX,EAAa/uX,EAAoB,QAErCnB,EAAOC,QAAU,SAAiBu0E,EAAKhqE,GACrC,IAAI+3B,EAAQ,GAAI5hC,EAAI6zE,EAAKuvL,EAAK,EAC9B,MAAM/+P,MAAM0J,QAAQ/N,GAClB4hC,EAAMp+B,KAAKxD,EAAEL,QACbyjQ,GAAMpjQ,EAAEL,OACRK,EAAIA,EAAE,GAER,OAAoB,IAAjB4hC,EAAMjiC,OACAyJ,KAELS,IACFA,EAAST,EAAQ,IAAI67V,aAAa7hG,GAAKxhO,IAEzC2tV,EAAW1lX,EAAQgqE,GACZhqE,KAMH,OACA,SAAUxK,EAAQC,EAASkB,GAEjC,IAAIq4F,EAASr4F,EAAoB,QAC7Bo1V,EAAgBp1V,EAAoB,QAEpCg3H,EAAU3+B,EAAO2+B,QAErBn4H,EAAOC,QAA6B,oBAAZk4H,GAA0B,cAAcp4H,KAAKw2V,EAAcp+N,KAK7E,OACA,SAAUn4H,EAAQC,EAASkB,GAEjC,IAAIgvX,EAAsBhvX,EAAoB,QAC1C09L,EAAU19L,EAAoB,QAE9BivX,EAAqBvxL,EAAQ,CAAC,q6CAC9BwxL,EAAsBxxL,EAAQ,CAAC,m+CAC/ByxL,EAAoBzxL,EAAQ,CAAC,qiDAC7B0xL,EAAc1xL,EAAQ,CAAC,q1BACvBQ,EAAcR,EAAQ,CAAC,wyBAEvB2xL,EAAa,CACf,CAAC/uX,KAAM,WAAY4S,KAAM,QACzB,CAAC5S,KAAM,QAAS4S,KAAM,QACtB,CAAC5S,KAAM,QAAS4S,KAAM,QACtB,CAAC5S,KAAM,KAAM4S,KAAM,SAGjBsrB,EAAc,CACdyN,OAAQgjV,EACR30N,SAAU80N,EACVtkX,WAAYukX,GAEd5wV,EAAQ,CACNwN,OAAQijV,EACR50N,SAAU80N,EACVtkX,WAAYukX,GAEd3rW,EAAU,CACRuoB,OAAQkjV,EACR70N,SAAU80N,EACVtkX,WAAYukX,GAEdC,EAAkB,CAChBrjV,OAAQgjV,EACR30N,SAAU4jC,EACVpzL,WAAYukX,GAEdE,EAAY,CACVtjV,OAAQijV,EACR50N,SAAU4jC,EACVpzL,WAAYukX,GAEdG,EAAc,CACZvjV,OAAQkjV,EACR70N,SAAU4jC,EACVpzL,WAAYukX,GAGhB,SAASvmX,EAAac,EAAI2V,GACxB,IAAI1V,EAASmlX,EAAoBplX,EAAI2V,GACjCkI,EAAO5d,EAAOiB,WAKlB,OAJA2c,EAAKje,SAASuB,SAAW,EACzB0c,EAAKxc,MAAMF,SAAW,EACtB0c,EAAKgoW,MAAM1kX,SAAW,EACtB0c,EAAK7b,GAAGb,SAAW,EACZlB,EAGT/K,EAAQ4wX,kBAAoB,SAAS9lX,GACnC,OAAOd,EAAac,EAAI40B,IAE1B1/B,EAAQ6wX,YAAc,SAAS/lX,GAC7B,OAAOd,EAAac,EAAI60B,IAE1B3/B,EAAQ8wX,cAAgB,SAAShmX,GAC/B,OAAOd,EAAac,EAAI8Z,IAE1B5kB,EAAQ+wX,sBAAwB,SAASjmX,GACvC,OAAOd,EAAac,EAAI0lX,IAE1BxwX,EAAQgxX,gBAAkB,SAASlmX,GACjC,OAAOd,EAAac,EAAI2lX,IAE1BzwX,EAAQixX,kBAAoB,SAASnmX,GACnC,OAAOd,EAAac,EAAI4lX,KAMpB,OACA,SAAU3wX,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BsW,EAAOtW,EAAoB,QAE3Bg3E,EAAeh3E,EAAoB,QACnCi3E,EAAgBj3E,EAAoB,QACpCk3E,EAAQl3E,EAAoB,QAC5Bm3E,EAAuBn3E,EAAoB,QAC3C23E,EAAkB33E,EAAoB,QAAQ23E,gBAsKlD,SAASq4S,EAAe5iW,EAAK4qD,EAAM0+B,EAAIu5Q,GACnC,IACI/vX,EADA2f,EAAM,IAAIhc,MAAMupB,GAEpB,GAAG6iW,EACC,IAAI/vX,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK2f,EAAI3f,GAAK,GAAK83E,EAAK93E,EAAI,GAAK83E,EAAK93E,QACvD,CACH,IAAI+xE,EAAM,EAAIykC,EACd,IAAIx2G,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK2f,EAAI3f,GAAK+xE,EAEtC,OAAOpyD,EAGX,SAASqwW,EAAWn3S,EAAKf,GACrB,MAAO,CACH10D,MAAOy1D,EAAIf,EAAK10D,OAChBE,IAAKu1D,EAAIf,EAAKx0D,KACdC,KAAMu0D,EAAKv0D,MAInB,SAAS0sW,EAAUrgO,EAAOsgO,EAAYC,EAAQC,EAASxqW,EAAI3M,GACvD,IAAIjZ,EACAktB,EAAM0iI,EAAM3wJ,OAAS,EACrB0gB,EAAM,IAAIhc,MAAMupB,GAChB4rD,EAAU7B,EAAqBk5S,EAAQC,EAASxgO,EAAOhqI,EAAI3M,GAE/D,IAAIjZ,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB,IAAIwE,GAAK0rX,GAAc,IAAIlwX,GAC3B2f,EAAI3f,QAAWd,IAANsF,EACL,CAACs0E,EAAQ82E,EAAM5vJ,IAAK84E,EAAQ82E,EAAM5vJ,EAAI,IAAI,IAC1C,CAACwE,EAAGA,GAEZ,OAAOmb,EApMXhhB,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAUItO,EAAGsE,EAAGhD,EAAGpB,EAVT22B,EAAKzgB,EAAKu3B,UAAUt/B,EAAIC,EAAMiY,OAC9B2Q,EAAK9gB,EAAKu3B,UAAUt/B,EAAIC,EAAMkY,OAE9BwpB,EAAY1hC,EAAM0hC,UAClBC,EAAY3hC,EAAM2hC,UAClBogV,EAAO,SAAS7rX,GAAK,OAAOqyB,EAAGgiD,IAAIr0E,EAAG,EAAGwrC,IACzCsgV,EAAO,SAAS9rX,GAAK,OAAO0yB,EAAG2hD,IAAIr0E,EAAG,EAAGyrC,IACzCsgV,EAAO,SAAS/rX,GAAK,OAAOqyB,EAAGkhB,IAAIvzC,EAAG,EAAGwrC,IACzCwgV,EAAO,SAAShsX,GAAK,OAAO0yB,EAAG6gB,IAAIvzC,EAAG,EAAGyrC,IAKzCwgV,EAAch5S,EAAgBppE,EAAIC,EAAOuoB,EAAI,KAC7C65V,EAAWD,EAAY,GACvBE,EAAQF,EAAY,GACpBG,EAAcn5S,EAAgBppE,EAAIC,EAAO4oB,EAAI,KAC7C25V,EAAWD,EAAY,GACvBE,EAAQF,EAAY,GAEpBpmO,EAAYl8I,EAAM6I,QACnBw5W,EAAM1xX,OAASurJ,GAAWmmO,EAAMrgX,OAAOk6I,EAAWmmO,EAAM1xX,OAASurJ,GACjEsmO,EAAM7xX,OAASurJ,GAAWsmO,EAAMxgX,OAAOk6I,EAAWsmO,EAAM7xX,OAASurJ,GAGpE,IAAI77I,EAAI,GACJoiX,EAAS,GACTC,EAAU,GACVC,EAA2C,kBAAlBP,EAASntW,KAClC2tW,EAA2C,kBAAlBL,EAASttW,KAClC4tW,EAAS,GACTC,EAAS,GACTljR,EAAQ+iR,EAAkBE,EAAST,EACnCtiR,EAAQ8iR,EAAkBE,EAASP,EACnC54S,EAAQ,EACRF,EAAS,GACTC,EAAc,GACdrf,EAAOrqD,EAAM4pE,SACbC,EAAO7pE,EAAM8pE,SACbi5S,GAA2C,IAA7B14T,EAAKj0D,QAAQ,WAC3B4sX,EAAuB,QAATn5S,GAA2B,QAATA,EAChCo5S,EAAWD,EAAc,KAAO,EAChCE,EAAU16S,EAAaxM,MACvBmnT,EAAW16S,EAAcpe,GACzB+4T,GAAQ,EACRC,EAAO,GACPC,EAAO,GAOPt5S,EAAkB,MAAOhqE,EACzBA,EAAMK,EACJ,WAAYL,GAAS3K,MAAM0J,QAAQiB,EAAMspB,OAAO7sB,OAC9CuD,EAAMspB,OAAO7sB,MAAQ,GAC1ButE,GAA2B,UAATH,IACjBu5S,EAAiB,QAATv5S,EACRq5S,EAAU16S,EAAaqB,IAI3B,IAAI05S,EAAWnB,EAASntW,KACpBuuW,GAAYzB,EAAKK,EAASttW,OAC1B2uW,GAAU1B,EAAKK,EAASptW,MACvBwuW,GAAY17W,EAAKg/B,cAAc08U,GAAWD,GAAU,EAAO7hV,IAAc,IAE9E,IAAIhwC,EAAI8xX,GAAW9xX,EAAI+xX,GAAS/xX,EAAIoW,EAAKg/B,cAAcp1C,EAAG6xX,GAAU,EAAO7hV,GACvE+gV,EAAOjuX,KAAKyuX,GACZJ,EAAOruX,KAAK9C,GACT0xX,GAAOV,EAAQluX,KAAK,GAE3BquX,EAAOruX,KAAK9C,GAEZ,IAAI65U,GAAKk3C,EAAO9xX,OACZu5B,IAAMx4B,EAAI8xX,IAAaj4C,GACvBljT,GAAK45V,EAAKuB,GAAYt5V,GAAK,GAE3Bw5V,GAAWnB,EAASttW,KACpB0uW,GAAY3B,EAAKO,EAASztW,OAC1B8uW,GAAU5B,EAAKO,EAASvtW,MACvB2uW,GAAY77W,EAAKg/B,cAAc68U,GAAWD,IAAU,EAAO/hV,IAAc,IAE9E,IAAIjwC,EAAIiyX,GAAWjyX,EAAIkyX,GAASlyX,EAAIoW,EAAKg/B,cAAcp1C,EAAGgyX,IAAU,EAAO/hV,GAAY,CACnFthC,EAAE7L,KAAKiuX,EAAO9sX,SACdmtX,EAAOtuX,KAAK9C,GACZ,IAAImyX,GAAQ,IAAIxuX,MAAMk2U,IACtB,IAAIv1U,EAAI,EAAGA,EAAIu1U,GAAIv1U,IAAK6tX,GAAM7tX,GAAK,GACnC0zE,EAAYl1E,KAAKqvX,IACdT,GAAO35S,EAAOj1E,KAAKkuX,EAAQ/sX,SAElCmtX,EAAOtuX,KAAK9C,GAEZ,IAAI85U,GAAKnrU,EAAE1P,OACPuqB,IAAMxpB,EAAIiyX,IAAan4C,GACvB9iT,GAAKw5V,EAAKyB,GAAYzoW,GAAK,GAE5B6nW,IACCM,EAAO7B,EAAeiB,EAAO9xX,OAAQivG,EAAO11E,GAAIy4V,GAChDW,EAAO9B,EAAenhX,EAAE1P,OAAQmvG,EAAO5kF,GAAI0nW,IAK3CD,GAA+B,SAAZp6V,EAAG7jB,OAAiBk7F,EAAQ8hR,EAAWK,EAAMniR,IAChEgjR,GAA+B,SAAZh6V,EAAGlkB,OAAiBo7F,EAAQ4hR,EAAWM,EAAMliR,IAGpE,IAAIgkR,IAAiB,EACjBC,IAAiB,EACjBC,GAAQ,IAAI3uX,MAAMk2U,IAClB04C,GAAQ,IAAI5uX,MAAMm2U,IAClB04C,GAAUvoX,IACVwoX,GAAWxoX,IACXyoX,GAAUzoX,IACV0oX,GAAW1oX,IACf,IAAIjK,EAAI,EAAGA,EAAIwqJ,EAAWxqJ,IAAK,CAC3B,IAAIumD,GAAKoqU,EAAM3wX,GACXwmD,GAAKsqU,EAAM9wX,GACfsB,EAAI+U,EAAIgjE,QAAQ9yB,GAAI2nD,GACpBhuG,EAAImW,EAAIgjE,QAAQ7yB,GAAI4nD,GACjB9sG,GAAK,GAAKA,EAAIu4U,IAAM35U,GAAK,GAAKA,EAAI45U,KACjC7hQ,GAASu5S,EAAQlwX,EAAGtB,EAAG2O,EAAEzO,GAAIo4E,EAAgBP,EAAO73E,IACpD83E,EAAY93E,GAAGoB,GAAGwB,KAAK9C,GAEpBoyX,UACiBlzX,IAAbozX,GAAMhxX,GAAkBgxX,GAAMhxX,GAAKilD,GAC9B+rU,GAAMhxX,KAAOilD,KAAI6rU,IAAiB,IAE3CC,UACiBnzX,IAAbqzX,GAAMryX,GAAkBqyX,GAAMryX,GAAKsmD,GAC9B+rU,GAAMryX,KAAOsmD,KAAI6rU,IAAiB,IAG9CG,GAAU/sX,KAAKoC,IAAI2qX,GAASjsU,GAAK4qU,EAAO7vX,IACxCmxX,GAAWhtX,KAAKoC,IAAI4qX,GAAUtB,EAAO7vX,EAAI,GAAKilD,IAC9CmsU,GAAUjtX,KAAKoC,IAAI6qX,GAASlsU,GAAK4qU,EAAOlxX,IACxCyyX,GAAWltX,KAAKoC,IAAI8qX,GAAUvB,EAAOlxX,EAAI,GAAKsmD,KAItD,GAAGkrU,EACC,IAAIxxX,EAAI,EAAGA,EAAI45U,GAAI55U,IAAK+3E,GAASjB,EAAMroE,EAAEzO,GAAI63E,EAAO73E,IAExD,GAAGuxX,EACC,IAAIvxX,EAAI,EAAGA,EAAI45U,GAAI55U,IAAKuxX,EAAS9iX,EAAEzO,GAAI+3E,EAAO05S,EAAMC,EAAK1xX,IAG7D,MAAO,CACHgO,EAAGyiX,EACHhhV,QAASsgV,EAAUkB,EAAQiB,IAAkBE,GAAOE,GAASC,GAAU57V,EAAImZ,GAC3ErZ,GAAIA,GACJ6B,GAAIA,GACJ3kB,EAAGi9W,EACHlhV,QAASqgV,EAAUmB,EAAQiB,IAAkBE,GAAOG,GAASC,GAAUz7V,EAAI+Y,GAC3EjZ,GAAIA,GACJxN,GAAIA,GACJ7a,EAAGA,EACHkhC,IAAKmoC,KA0CP,OACA,SAAUr5E,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CAEbg0X,OAAQ,GAKRC,eAAgB,EAEhBC,aAAc,EAEdC,cAAe,GACfC,UAAW,oBAGXC,aAAc,GAGdC,QAAS,WAMP,OACA,SAAUv0X,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAC3B8iB,EAAa9iB,EAAoB,QAAQ8iB,WAE7CjkB,EAAOC,QAAU,SAAuB0P,EAAO6kX,EAAYC,GACvD,IAAIpzX,EAAGsE,EAAG2uJ,EACN+7B,EAAK9lL,EAAQu/T,EAAIC,EAAIpnU,EAAGR,EAAO0D,EAC/B6uX,EAAIj7T,EAAIC,EAAIl4D,EAEZ8K,EAAOqD,EAAM,IAAM6kX,GACnBjnS,EAAO59E,EAAM6kX,EAAa,QAE1BG,EAAYpnS,EAAKqnS,WAAa,GAC9BC,EAAiBtnS,EAAKunS,gBAAkB,GACxCC,EAAgBxnS,EAAKynS,eAAiB,GAEtCC,EAAYtlX,EAAM,IAAM8kX,GACxBS,EAAYvlX,EAAM8kX,EAAkB,QAEnB,UAAlBlnS,EAAKr0E,WACJq0E,EAAK12C,SAAWvqC,EAAKhH,SAGzB,IAAI6vX,EAAMxlX,EAAMylX,OACZC,EAAM1lX,EAAM2lX,OACZC,EAAMJ,EAAI,GAAG70X,OACbk1X,EAAML,EAAI70X,OACViH,EAAKoI,EAAMihE,GAAGtwE,OACdwrP,EAAKn8O,EAAMkhE,GAAGvwE,OAElBmX,EAAK0iC,UAAUozC,GAGM,UAAlBA,EAAKr0E,iBAA6Bq0E,EAAK12C,SAQ1C,IAAIjN,EAAS2jD,EAAKiB,UAAY,EAAI,EAElC,SAASinS,EAAuBtzX,GAC5B,IAAId,EAAGsE,EAAG2uJ,EAAIohO,EAAIC,EAAKr+O,EAAIhoI,EAAI4nH,EAAI0+P,EAAQC,EAAQC,EAAQC,EACvDC,EAAU,GACVC,EAAU,GACVruM,EAAM,GAEV,GAAkB,MAAf4sM,EAqBC,IAnBA7uX,EAAIgK,EAAMumX,IAAI/zX,GAKdmyJ,EAAKxtJ,KAAK2N,MAAM3N,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI4iP,EAAK,EAAGnmP,KAC7C+vX,EAAK/vX,EAAI2uJ,EAETszB,EAAItnL,OAASwrP,EACblkE,EAAIuuM,YAAc5uX,EAElBqgL,EAAI1wD,GAAK,SAAS71H,GACd,OAAOsO,EAAMymX,OAAO,GAAI/0X,EAAGsE,IAG/BiiL,EAAIuY,IAAM,SAAS7oD,EAAIhoI,GACnB,OAAOK,EAAM0mX,MAAM,GAAI/+O,EAAIgd,EAAIhlJ,EAAIomX,IAGnCr0X,EAAI,EAAGA,EAAIkG,EAAIlG,IACfi2I,EAAKxwI,KAAKoC,IAAI3B,EAAK,EAAGlG,GACtBiO,EAAKjO,EAAIi2I,EACTpgB,EAAKvnH,EAAMymX,OAAO,GAAI/0X,EAAGsE,GAEtBuvX,EAAU1mS,WAAantF,EAAI,IAE1Bu0X,EAASjmX,EAAM0mX,MAAM,GAAIh1X,EAAI,EAAGizJ,EAAI,EAAGohO,GACvCM,EAAQ7xX,KAAKwxX,EAAI,GAAKC,EAAO,GAAK,GAClCK,EAAQ9xX,KAAKwxX,EAAI,GAAKC,EAAO,GAAK,GAGlCC,EAASlmX,EAAM0mX,MAAM,GAAIh1X,EAAI,EAAGizJ,EAAI,EAAGohO,GACvCM,EAAQ7xX,KAAK+yH,EAAG,GAAK2+P,EAAO,GAAK,GACjCI,EAAQ9xX,KAAK+yH,EAAG,GAAK2+P,EAAO,GAAK,IAGrCG,EAAQ7xX,KAAK+yH,EAAG,IAChB++P,EAAQ9xX,KAAK+yH,EAAG,IAEhBy+P,EAAMz+P,OAkBV,IAfA71H,EAAIsO,EAAM2mX,IAAIn0X,GACdm1I,EAAKxwI,KAAK2N,MAAM3N,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI3B,EAAK,EAAGlG,KAC7CiO,EAAKjO,EAAIi2I,EAETswC,EAAItnL,OAASiH,EACbqgL,EAAIuuM,YAAcrqI,EAElBlkE,EAAI1wD,GAAK,SAASvxH,GACd,OAAOgK,EAAMymX,OAAO,GAAI/0X,EAAGsE,IAG/BiiL,EAAIuY,IAAM,SAAS7rC,EAAIohO,GACnB,OAAO/lX,EAAM4mX,MAAM,GAAIj/O,EAAIgd,EAAIhlJ,EAAIomX,IAGnC/vX,EAAI,EAAGA,EAAImmP,EAAInmP,IACf2uJ,EAAKxtJ,KAAKoC,IAAI4iP,EAAK,EAAGnmP,GACtB+vX,EAAK/vX,EAAI2uJ,EACTp9B,EAAKvnH,EAAMymX,OAAO,GAAI/0X,EAAGsE,GAEtBuvX,EAAU1mS,WAAa7oF,EAAI,IAE1BmwX,EAASnmX,EAAM4mX,MAAM,GAAIj/O,EAAI3xI,EAAI,EAAG2J,EAAI,GACxC0mX,EAAQ7xX,KAAKwxX,EAAI,GAAKG,EAAO,GAAK,GAClCG,EAAQ9xX,KAAKwxX,EAAI,GAAKG,EAAO,GAAK,GAGlCC,EAASpmX,EAAM4mX,MAAM,GAAIj/O,EAAI3xI,EAAI,EAAG2J,EAAI,GACxC0mX,EAAQ7xX,KAAK+yH,EAAG,GAAK6+P,EAAO,GAAK,GACjCE,EAAQ9xX,KAAK+yH,EAAG,GAAK6+P,EAAO,GAAK,IAGrCC,EAAQ7xX,KAAK+yH,EAAG,IAChB++P,EAAQ9xX,KAAK+yH,EAAG,IAEhBy+P,EAAMz+P,EAcd,OAVA0wD,EAAI4sM,WAAaA,EACjB5sM,EAAIr6F,KAAOA,EACXq6F,EAAIstM,UAAYA,EAChBttM,EAAIzlL,MAAQA,EACZylL,EAAI4uM,SAAW/B,EACf7sM,EAAI7jL,MAAQpB,EACZilL,EAAIr4K,EAAIymX,EACRpuM,EAAI1yK,EAAI+gX,EACRruM,EAAIp5F,UAAY0mS,EAAU1mS,UAEnBo5F,EAGX,SAAS6uM,EAAuBzwV,GAC5B,IAAIrgC,EAAG2xI,EAAIgd,EAAIhlJ,EAAIomX,EACfM,EAAU,GACVC,EAAU,GACVruM,EAAM,GAIV,GAHAA,EAAItnL,OAASgM,EAAKhM,OAClBsnL,EAAIuuM,YAAclB,EAAU30X,OAEV,MAAfk0X,EAcC,IAbAlgO,EAAKxtJ,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI4iP,EAAK,EAAG9lN,IAClC0vV,EAAK5uX,KAAKoC,IAAI,EAAGpC,KAAKqC,IAAI,EAAG68B,EAAMsuH,IAEnCszB,EAAI1wD,GAAK,SAAS71H,GACd,OAAOsO,EAAMymX,OAAO,GAAI/0X,EAAG2kC,IAG/B4hJ,EAAIuY,IAAM,SAAS7oD,EAAIhoI,GACnB,OAAOK,EAAM0mX,MAAM,GAAI/+O,EAAIgd,EAAIhlJ,EAAIomX,IAKnC/vX,EAAI,EAAGA,EAAI4vX,EAAK5vX,IAChBqwX,EAAQrwX,GAAKwvX,EAAInvV,EAAM4D,GAAQjkC,GAC/BswX,EAAQtwX,GAAK0vX,EAAIrvV,EAAM4D,GAAQjkC,QAgBnC,IAbA2xI,EAAKxwI,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI3B,EAAK,EAAGy+B,IAClC12B,EAAKxI,KAAKoC,IAAI,EAAGpC,KAAKqC,IAAI,EAAG68B,EAAMsxG,IAEnCswC,EAAI1wD,GAAK,SAASvxH,GACd,OAAOgK,EAAMymX,OAAO,GAAIpwV,EAAKrgC,IAGjCiiL,EAAIuY,IAAM,SAAS7rC,EAAIohO,GACnB,OAAO/lX,EAAM4mX,MAAM,GAAIj/O,EAAIgd,EAAIhlJ,EAAIomX,IAKnC/vX,EAAI,EAAGA,EAAI6vX,EAAK7vX,IAChBqwX,EAAQrwX,GAAKwvX,EAAIxvX,GAAGqgC,EAAM4D,GAC1BqsV,EAAQtwX,GAAK0vX,EAAI1vX,GAAGqgC,EAAM4D,GAclC,OAVAg+I,EAAI4sM,WAAaA,EACjB5sM,EAAIr6F,KAAOA,EACXq6F,EAAIstM,UAAYA,EAChBttM,EAAIzlL,MAAQmK,EAAK05B,GACjB4hJ,EAAI4uM,SAAW/B,EACf7sM,EAAI7jL,MAAQiiC,EACZ4hJ,EAAIr4K,EAAIymX,EACRpuM,EAAI1yK,EAAI+gX,EACRruM,EAAIp5F,UAAY0mS,EAAU1mS,UAEnBo5F,EAGX,GAAqB,UAAlBr6F,EAAKr0E,SAAsB,CAiB1B,IAbAm3K,EAAM,MACN9lL,EAAS,CACLzD,KAAK2N,OAAQnI,EAAKhM,OAAS,EAAKitF,EAAKmpS,YAAcnpS,EAAKopS,YAAc,EAAItmM,IAC1EvpL,KAAKy5B,MAAQgtD,EAAKmpS,WAAcnpS,EAAKopS,YAAc,EAAItmM,KACzDtoL,MAAK,SAAStH,EAAGC,GAAI,OAAOD,EAAIC,KAIlCopU,EAAKv/T,EAAO,GAAK,EACjBw/T,EAAKx/T,EAAO,GAAK,EAIb5H,EAAImnU,EAAInnU,EAAIonU,EAAIpnU,IAChBgD,EAAI4nF,EAAKmpS,WAAanpS,EAAKopS,WAAah0X,EACrCgD,EAAI,GAAKA,EAAI2G,EAAKhM,OAAS,GAC9Bq0X,EAAUxwX,KAAK8f,EAAWwyW,EAAuB9wX,GAAI,CACjDyG,MAAOmhF,EAAKx6B,UACZ1wC,MAAOkrE,EAAKz6B,aAIpB,IAAInwD,EAAImnU,EAAInnU,EAAIonU,EAAIpnU,IAMhB,GALA2xJ,EAAK/mE,EAAKmpS,WAAanpS,EAAKopS,WAAah0X,EACzC+xX,EAAK5tX,KAAKoC,IAAIorJ,EAAK/mE,EAAKopS,WAAYrqX,EAAKhM,OAAS,KAI/Cg0J,EAAK,GAAKA,EAAKhoJ,EAAKhM,OAAS,MAC7Bo0X,EAAK,GAAKA,EAAKpoX,EAAKhM,OAAS,GAKhC,IAHAm5D,EAAKntD,EAAKgoJ,GACV56F,EAAKptD,EAAKooX,GAENrzX,EAAI,EAAGA,EAAIksF,EAAKqpS,eAAgBv1X,IAChCG,EAAIkzX,EAAKpgO,EAIN9yJ,GAAK,IAGRqE,EAAI4zD,GAAMC,EAAKD,IAAOp4D,EAAI,IAAMksF,EAAKqpS,eAAiB,IAAMrpS,EAAKopS,WAAan1X,GAI3EqE,EAAIyG,EAAK,IAAMzG,EAAIyG,EAAKA,EAAKhM,OAAS,IACzCu0X,EAAe1wX,KAAK8f,EAAWwxW,EAAuB5vX,GAAI,CACtDuG,MAAOmhF,EAAKspS,eACZx0W,MAAOkrE,EAAKupS,mBAKrBvpS,EAAKwpS,WACJhC,EAAc5wX,KAAK8f,EAAWwyW,EAAuB,GAAI,CACrDrqX,MAAOmhF,EAAKypS,eACZ30W,MAAOkrE,EAAK0pS,kBAIjB1pS,EAAK2pS,SACJnC,EAAc5wX,KAAK8f,EAAWwyW,EAAuBnqX,EAAKhM,OAAS,GAAI,CACnE8L,MAAOmhF,EAAK4pS,aACZ90W,MAAOkrE,EAAK6pS,oBAGjB,CAoBH,IAXA/mM,EAAM,MACN9lL,EAAS,CACLzD,KAAK2N,OAAOnI,EAAKA,EAAKhM,OAAS,GAAKitF,EAAKl0C,OAASk0C,EAAKx3C,OAAS,EAAIs6I,IACpEvpL,KAAKy5B,MAAMj0B,EAAK,GAAKihF,EAAKl0C,OAASk0C,EAAKx3C,OAAS,EAAIs6I,KACvDtoL,MAAK,SAAStH,EAAGC,GAAI,OAAOD,EAAIC,KAIlCopU,EAAKv/T,EAAO,GACZw/T,EAAKx/T,EAAO,GAER5H,EAAImnU,EAAInnU,GAAKonU,EAAIpnU,IACjBR,EAAQorF,EAAKl0C,MAAQk0C,EAAKx3C,MAAQpzC,EAElCgyX,EAAUxwX,KAAK8f,EAAWwxW,EAAuBtzX,GAAQ,CACrDiK,MAAOmhF,EAAKx6B,UACZ1wC,MAAOkrE,EAAKz6B,aAIpB,IAAInwD,EAAImnU,EAAK,EAAGnnU,EAAIonU,EAAK,EAAGpnU,IAGxB,IAFAR,EAAQorF,EAAKl0C,MAAQk0C,EAAKx3C,MAAQpzC,EAE9BtB,EAAI,EAAGA,EAAIksF,EAAKqpS,eAAgBv1X,IAChCwE,EAAI1D,EAAQorF,EAAKx3C,OAAS10C,EAAI,IAAMksF,EAAKqpS,eAAiB,GACvD/wX,EAAIyG,EAAK,IAAMzG,EAAIyG,EAAKA,EAAKhM,OAAS,IACzCu0X,EAAe1wX,KAAK8f,EAAWwxW,EAAuB5vX,GAAI,CACtDuG,MAAOmhF,EAAKspS,eACZx0W,MAAOkrE,EAAKupS,kBAKrBvpS,EAAKwpS,WACJhC,EAAc5wX,KAAK8f,EAAWwxW,EAAuBnpX,EAAK,IAAK,CAC3DF,MAAOmhF,EAAKypS,eACZ30W,MAAOkrE,EAAK0pS,kBAIjB1pS,EAAK2pS,SACJnC,EAAc5wX,KAAK8f,EAAWwxW,EAAuBnpX,EAAKA,EAAKhM,OAAS,IAAK,CACzE8L,MAAOmhF,EAAK4pS,aACZ90W,MAAOkrE,EAAK6pS,mBAStB,OACA,SAAUp3X,EAAQC,EAASkB,GAEjC,aAWA,IAAIm5B,EAAWn5B,EAAoB,QAC/B0hB,EAAQ1hB,EAAoB,QAAQ0hB,MAExC7iB,EAAOC,QAAU,SAAeyP,EAAI2uG,EAAK56F,GACrC,IAAI4zW,EAAkB/8V,EAASsa,mBAAmB,cAAe,UAA3Cta,CAAsD5qB,EAAIA,EAAGwvG,YAUnF,SAASo4Q,IAAc5nX,EAAGwuG,KAAK,eAAgB,CAACh5G,OAAQwK,EAAGwvG,WAAYvpF,MAAO0oF,SAN/D99G,IAAZkjB,GAGCZ,EAAMnT,EAAI2uG,EAAK56F,GAAS,GAKzB/T,EAAGwvG,YAAcb,GAAOA,EAAIrtF,SACxBqmW,GAAmBA,EAAgB/4V,KAClC+4V,EAAgB/4V,KAAKg5V,GAClBA,IAGJj5Q,EAAIk5Q,0BAA0Bl5Q,EAAIk5Q,8BAOvC,OACA,SAAUv3X,EAAQC,EAASkB,GAEjC,aAGA,SAASqgL,EAAcl2I,EAAUm2I,EAAWC,EAAUC,EAAWC,EAAYC,GAC3E,IAAI39K,EAAO,CACT,YAAaonC,EAAU,UAAWq2I,EAAUr9K,KAAK,KAAO,KAC5Du9K,EAAW,GAAK,SAAWH,EAAW,MAAQ,MAC9C,mCACsBE,EAAa,UAAY,OAqB7C,OApBGC,EACEJ,EAAU17K,QAAQ,KAAO,EAC1B7B,EAAKC,KAAK,sCAEVD,EAAKC,KAAK,mDAGZD,EAAKC,KAAK,OAAQs9K,EAAW,UAE5BC,EACDx9K,EAAKC,KAAK,qBAEVD,EAAKC,KAAK,qBAEZD,EAAKC,KAAK,KACP09K,EACD39K,EAAKC,KAAK,eAEVD,EAAKC,KAAK,cAELD,EAAKI,KAAK,IAGnB,SAASw9K,EAAoBL,EAAWC,EAAUr4K,EAAQw4K,GACxD,IAAIr3K,EAAS,IAAInG,SAAS,CAC1Bm9K,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAOG,GAClEL,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAMG,GACjEL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAOG,GAC5EL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAMG,GAC7E,2BAA4Bx4K,EAAQ,6YAYXA,GAAQ/E,KAAK,KACpC,OAAOkG,IAGTxK,EAAOC,QAAU,CACf8hL,GAAID,EAAoB,MAAM,EAAO,MACrCzyJ,GAAIyyJ,EAAoB,KAAK,EAAO,MACpC1yJ,GAAI0yJ,EAAoB,KAAK,EAAM,MACnC7yK,GAAI6yK,EAAoB,MAAM,EAAM,MACpCE,GAAIF,EAAoB,KAAK,EAAM,MAAM,KAMrC,OACA,SAAU9hL,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAC3B2sF,EAAa3sF,EAAoB,QAAQ2sF,WACzC49D,EAAgBvqJ,EAAoB,QACpCmxC,EAASnxC,EAAoB,QAAQmxC,OAEzC,SAASklV,EAAW/2X,GAChB,MAAc,MAANA,GAAmB,aAANA,EAGzB,SAASg3X,EAAQh3X,GACb,MAAc,MAANA,GAAmB,UAANA,EAGzBT,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAEIiV,EAAMqvB,EAFN/b,EAAKzgB,EAAKu3B,UAAUt/B,EAAIC,EAAMiY,OAAS,KACvC2Q,EAAK9gB,EAAKu3B,UAAUt/B,EAAIC,EAAMkY,OAAS,KAGlB,MAAtBlY,EAAM5G,aACL6b,EAAOsT,EAAGyX,aAAahgC,EAAO,KAC9BskC,EAAM1b,EAAGoX,aAAahgC,EAAO,OAE7BiV,EAAO2T,EAAGoX,aAAahgC,EAAO,KAC9BskC,EAAM/b,EAAGyX,aAAahgC,EAAO,MAajC,IATA,IAKI++Q,EALA7iI,EAAY/kJ,KAAKoC,IAAI+qC,EAAI3zC,OAAQskB,EAAKtkB,QACtC4gB,EAAK,IAAIlc,MAAM6mJ,GAGf6rO,EAAc,EAGdC,GAAY,EAERt2X,EAAI,EAAGA,EAAIwqJ,EAAWxqJ,IAAK,CAC/B,IAAI65R,EAASt2Q,EAAKvjB,IAAM,EAEpByqJ,GAAgB,GACjBlnI,EAAKvjB,KAAOixC,GAAUmlV,EAAQ9nX,EAAMm7E,QAAQzpF,KAAOm2X,EAAW7nX,EAAMm7E,QAAQzpF,MACxEA,EAAI,EAAIwqJ,IAAcjnI,EAAKvjB,EAAI,KAAOixC,GAAUmlV,EAAQ9nX,EAAMm7E,QAAQzpF,EAAI,KAAOm2X,EAAW7nX,EAAMm7E,QAAQzpF,EAAI,OAC7GyqJ,GAAgB,GAIxB,IAAI1qI,EAAMF,EAAG7f,GAAK,CACdA,EAAGA,EACH2B,EAAGixC,EAAI5yC,GACP4B,EAAGi4R,EACH08F,KAAM18F,EACNnvI,MAAOD,GAGR0rO,EAAW7nX,EAAMm7E,QAAQzpF,KACxBq2X,EAAct2W,EAAIne,EAElBme,EAAIi4K,OAAQ,EACZj4K,EAAIvC,IAAM,SACVuC,EAAIne,EAAIy0X,GACFD,EAAQ9nX,EAAMm7E,QAAQzpF,KAC5B+f,EAAIi4K,OAAQ,EACZj4K,EAAIvC,IAAM,SACVuC,EAAIne,EAAIy0X,IAGRt2W,EAAIi4K,OAAQ,EACZj4K,EAAIvC,IAAMuC,EAAIw2W,KAAO,EAAI,aAAe,aACxClpG,EAAUttQ,EAAIne,EACdme,EAAIne,EAAIy0X,EAAchpG,EACtBgpG,GAAehpG,GAGJ,WAAZttQ,EAAIvC,MACH84W,GAAY,GAGbhoX,EAAMykF,MACLhzE,EAAIrU,GAAK7M,OAAOyP,EAAMykF,IAAI/yF,KAG9B+f,EAAIvb,GAAK8J,EAAM0wB,MAAQ,GAAKq3V,EAShC,OANGx2W,EAAG5gB,SAAQ4gB,EAAG,GAAGy2W,UAAYA,GAEhC7pS,EAAWn+E,EAAMS,KAAM8Q,EAAI,MAC3B4sE,EAAWn+E,EAAM0V,UAAWnE,EAAI,OAChCwqI,EAAcxqI,EAAIvR,GAEXuR,IAML,KACA,SAAUlhB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBq3B,EAAUr3B,EAAoB,QAC9B0iB,EAAQ1iB,EAAoB,QAC5Bs3B,EAAct3B,EAAoB,QAAQs3B,YAC1CC,EAAWv3B,EAAoB,QAC/Bw3B,EAAax3B,EAAoB,QAAQw3B,WACzCC,EAAkBF,EAASE,gBAE/B,SAAS9nB,EAAMpB,EAAIwR,EAAIoT,GACnB,IAAIrxB,EAAIqxB,GAAYrkB,EAAGO,OAAOd,GAAIe,UAAU,iBAAiBA,UAAU,WACvEkoB,EAAWjpB,EAAIzM,EAAG,UAElBA,EAAE6N,MAAM,WAAW,SAAStP,GAAK,OAAOA,EAAE,GAAGmO,MAAMhE,WAEnD1I,EAAE8N,MAAK,SAASvP,GACZ,IAAIq3B,EAAS5oB,EAAGO,OAAO7M,MACnBgM,EAAQnO,EAAE,GAAGmO,MAEjBkpB,EAAOpoB,UAAU,iBAAiBM,MAAK,SAAS+nB,GAC5C,IAAIA,EAAGC,QAAS,CACZ,IAAIC,EAAOrpB,EAAMspB,OAEjBhpB,EAAGO,OAAO7M,MACLnD,KAAKqjB,EAAMjR,KAAMkmB,EAAGo5D,IAAMl5D,EAAK5sB,OAC/B5L,KAAKqjB,EAAM0G,OAAQuO,EAAG++V,KAAO7+V,EAAKE,KAAK9sB,OACvC5L,KAAKg4B,EAAQW,SAAUH,EAAKE,KAAKE,KAAMN,EAAGkyQ,KAAOhyQ,EAAKE,KAAK7W,OAC3DvR,MAAM,UAAWnB,EAAM0pB,iBAAmBP,EAAGQ,SAAWb,EAAc,OAInFG,EAAgBC,EAAQlpB,EAAOD,GAE/BmpB,EAAOpoB,UAAU,YAAYM,MAAK,WAC9Bd,EAAGO,OAAO7M,MAAM8M,UAAU,QAAQK,MAAM,eAAgB,GAAGtQ,KAAKqjB,EAAMjR,KAAMjD,EAAM4pB,UAAUm1D,cAGhG71D,EAAOpoB,UAAU,UAAUM,MAAK,WAC5B,IAAIioB,EAAOrpB,EAAM4pB,UAAUL,KAE3BV,EAAQgB,eACJvpB,EAAGO,OAAO7M,MAAM8M,UAAU,QAC1BuoB,EAAK3W,MACL2W,EAAK5sB,MACL4sB,EAAKI,YAMrBp5B,EAAOC,QAAU,CACb6Q,MAAOA,IAML,OACA,SAAU9Q,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BolE,EAAWplE,EAAoB,QAC/Bi2H,EAAUj2H,EAAoB,SAElCnB,EAAOC,QAAU,SAAgBo7G,EAAYH,GACzC,IAAIh6F,EAAKm6F,EAAWn6F,GAChBvR,EAAQuR,EAAG,GAAGvR,MACdwT,EAAQjC,EAAG,GAAG9e,EACd4J,EAAQqvG,EAAWrvG,MACnBi7J,EAAQj7J,EAAM6qB,cAAcowI,MAC5B/uI,EAAKmjF,EAAWzzF,MAChB2Q,EAAK8iF,EAAWxzF,MAChBxY,EAAY,GAEhB,IAAIrD,EAAO,OAAOqD,EAElB,IAAIghI,GAAiB9pE,EAASC,WAAW72D,KAAW42D,EAAShvC,QAAQ5nB,GACrE,IAAqB,IAAlBA,EAAMuD,SAAoBm9H,EAAc,OAAOhhI,EAElD,IAAIu4C,EAAKwvE,EAAQgvC,YAAYz2J,EAAOuoB,GAChC2vB,EAAKuvE,EAAQgvC,YAAYz2J,EAAO4oB,GACpC,IAAU,IAAPqvB,IAAuB,IAAPC,EAAc,OAAOx4C,EAExC,IAAIk6J,EAAMpmJ,EAAMomJ,IAAI3hH,GAChB4hH,EAAMrmJ,EAAMqmJ,IAAI3hH,GAChBt4C,EAAI03J,EAAMr/G,GACV1yC,EAAI+xJ,EAAMp/G,GACViwU,EAAM,GACNC,EAAQ,GAIZ,IAAuB,IAApB78Q,IAA8BA,EAAgBoF,WAC7C,IAAI,IAAIj/G,EAAI,EAAGA,EAAIkO,EAAEjP,OAAQe,IACtB65G,EAAgBnjF,SAAS,CAACwxI,EAAIloK,GAAImoK,EAAInoK,IAAK,KAAMA,EAAGg6G,IACnDy8Q,EAAI3zX,KAAK9C,GACTgO,EAAUlL,KAAK,CACXgd,YAAa9f,EACbkO,EAAGA,EAAElO,GACL6T,EAAGA,EAAE7T,MAGT02X,EAAM5zX,KAAK9C,GAKvB,IAAI22X,EAAahsX,EAAM6qB,cAcvB,OAZIihW,EAAIx3X,QAAWy3X,EAAMz3X,OAEd0L,EAAM0qB,YAAYp2B,QAAW0L,EAAM2qB,cAAcr2B,QACxD0L,EAAMyqB,OAAO/pB,OACTV,EAAMisX,kBACNvgX,EAAIuM,WAAW,GAAI+zW,EAAYhsX,EAAMksX,gBAAiBlsX,EAAMmsX,WAJhEnsX,EAAMyqB,OAAO/pB,OAAOsrX,EAAY,MAQpChsX,EAAM0qB,YAAcohW,EACpB9rX,EAAM2qB,cAAgBohW,EAEf1oX,IAML,KACA,SAAUrP,EAAQC,EAASkB,GAEjC,aAWA,IAAIm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAE9BnB,EAAOC,QAAU,SAA8Bi6D,EAASC,EAAUtmB,EAAQ2U,GACtE,IAAIj5C,EAAIskC,EAAO,KACX3+B,EAAI2+B,EAAO,KACXzX,EAAO1kB,EAAI2iD,aAAa9qD,GACxB8sB,EAAO3kB,EAAI2iD,aAAanlD,GAK5B,GAAIknB,GAASC,EAAb,CAKA89B,EAAS3hD,QAAU1R,KAAKoC,IAAIkzB,EAAMC,GAElC,IAAI+9B,EAAyB9/B,EAASsa,mBAAmB,YAAa,uBACtEwlB,EAAuBF,EAASC,EAAU,CAAC,IAAK,KAAM3R,GAGtD,IAAI8sC,EAAqBzhD,EAAO,MAAQA,EAAO,gBAE5CyhD,GAAoBzhD,EAAO,YAC9BA,EAAO,YAIPA,EAAO,YACPA,EAAO,iBAlBHsmB,EAASjnD,SAAU,IAwBrB,OACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAWA,IAAI8iB,EAAa9iB,EAAoB,QAAQ8iB,WAuB7ChkB,EAAQgM,WAAa,SAASqiB,EAAMwD,GAChCxD,EAAOA,GAAQ,GACfwD,EAAQA,GAAS,GAEjB,IAAIuO,EAAO,CACPhc,QAAS,aAETK,SAAU4J,EAAK5J,SACf21G,MAAO,CACH,CAACh2G,QAAS,SAAUnb,IAAK,EAAGC,IAAK,EAAGub,SAAU4J,EAAK5J,UACnD,CAACL,QAAS,SAAUnb,IAAK,EAAGC,IAAK,EAAGub,SAAU4J,EAAK5J,WAEvDJ,KAAM,CAAC,EAAG,IAOVtD,GAJWsN,EAAK7sB,MAAO6sB,EAAK7sB,KACjB6sB,EAAK3e,MACLmiB,EAAMsmW,aAAoBtmW,EAAMsmW,YAErC,CACN7oX,EAAG0U,EAAW,GAAIoc,EAAM,IAGxBnrB,EAAG+O,EAAW,GAAIoc,EAAM,IAGxB3b,SAAU4J,EAAK5J,WAsBnB,OAnBI4J,EAAKq9U,aACL3qV,EAAIi+D,IAAM,CACN56D,QAAS,UACTnb,IAAK,EACLob,KAAM,EAENI,SAAU4J,EAAK5J,UAGnB1D,EAAIg5I,OAAS,CACT31I,QAAS,UACTnb,IAAK,EACLob,KAAM,EAENI,SAAU4J,EAAK5J,WAKhB1D,GAGX/gB,EAAQ6zF,SAAW,SAASvgD,EAAciV,EAAQ3U,EAAQ4gD,GACtD,IAAI4jS,EAAS5jS,GAAeA,EAAYllF,GAAM,CAAC,EAAG,GAC9C+oX,EAAS7jS,GAAeA,EAAYv/E,GAAM,CAAC,EAAG,GAE9C09C,EAAOpK,EAAOoK,KAClB,GAAGA,EAAM,CACL,IAAIonG,EAASnmH,EAAO,sBACNtzC,IAAXy5J,IACIA,EAASpnG,EAAKiuG,QAASw3N,EAAQzlU,EAAKm6S,SAASx9V,EAAEyqJ,UACtCzmH,EAAaud,OAAOkpG,QAGpC,IAAI/6E,EAAMprC,EAAO,mBACNtzC,IAAR0+E,IACIA,EAAMrsB,EAAKkqG,KAAMw7N,EAAQ1lU,EAAKm6S,SAAS73V,EAAE+pE,UAChC1rC,EAAaud,OAAOmuB,KAIxC,IAAI1vE,EAAIskC,EAAO,WAAYwkV,GACvBnjX,EAAI2+B,EAAO,WAAYykV,GAGtB/oX,EAAE,GAAKA,EAAE,KAAKgkC,EAAaud,OAAOvhD,EAAI8oX,EAAM/yX,SAC5C4P,EAAE,GAAKA,EAAE,KAAKq+B,EAAaud,OAAO57C,EAAIojX,EAAMhzX,WAM/C,OACA,SAAUtF,EAAQC,EAASkB,GAEjC,aAkBAnB,EAAOC,QAAU,SAAyByP,GACtC,IAAIoX,EAAapX,EAAGymB,YAEjBrP,EAAWsgJ,WAAatgJ,EAAWsgJ,UAAUxiJ,QAC5CkC,EAAWsgJ,UAAUr2J,MAAK,SAASvP,GAC5BA,EAAE2lK,MAAM3lK,EAAE2lK,KAAKjjI,MAAM,CAAC93B,OAAO,EAAM+qK,OAAO,SAQnD,OACA,SAAUn3K,EAAQC,EAASkB,GAEjC,aAYA,IAAI+O,EAAY/O,EAAoB,QAChCmxC,EAASnxC,EAAoB,QAAQmxC,OAErCimV,EAAuBp3X,EAAoB,QAC3C+2E,EAAmB/2E,EAAoB,QACvCuqJ,EAAgBvqJ,EAAoB,QAEpCqmE,EAAIrmE,EAAoB,QAAQqmE,EAEpC,SAASgxT,EAAiB3yX,GACtB,OAAOA,GAAkB,kBAANA,EAGvB7F,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAII8oX,EAJAC,EAAkB1zX,MAAM0J,QAAQiB,EAAMsgF,WACtC1hE,EAAMmqW,EAAkB/oX,EAAMsgF,UAAU3vF,OAASqP,EAAM6I,QACvD0rD,EAAY,IAAIl/D,MAAMupB,GAItBkqW,EADD9oX,EAAMm0D,QACQ,SAASj+D,GAAK,OAAO2yX,EAAiB3yX,IAAMqK,EAAUrK,IAEtD2yX,EAGjB,IAAI,IAAIn3X,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACzB,IAAIyuF,EAAS5rB,EAAU7iE,GAAK,GAE5B,GAAGq3X,EAAiB,CAChB,IAAIxhW,EAAMvnB,EAAMsgF,UAAU5uF,GAC1ByuF,EAAO54D,IAAMuhW,EAAWvhW,GAAOA,EAAM,SAClC,CACH,IAAIq5D,EAAM5gF,EAAM4gF,IAAIlvF,GAChBqvF,EAAM/gF,EAAM+gF,IAAIrvF,GAEjB6O,EAAUqgF,IAAQrgF,EAAUwgF,GAAMZ,EAAO3oE,OAAS,EAAEopE,GAAMG,GACxDZ,EAAO3oE,OAAS,CAACmrB,EAAQA,IAiBtC,OAbA4lC,EAAiBhU,EAAWv0D,GAC5B4oX,EAAqB7oX,EAAIC,GACzB+7I,EAAcxnF,EAAWv0D,GAEtB4e,IACC21C,EAAU,GAAG9hE,EAAI,CACb2kB,OAAQ,CACJ2pE,IAAKlpB,EAAE93D,EAAI,QAAU,IACrB6gF,IAAK/oB,EAAE93D,EAAI,QAAU,OAK1Bw0D,IAML,OACA,SAAUlkE,EAAQC,EAASkB,GAEjC,IAAIklL,EAAWllL,EAAoB,QAEnCnB,EAAOC,QAAU,SAAUspC,GACzB,IAAK88I,EAAS98I,GACZ,MAAMwtB,UAAU72D,OAAOqpC,GAAM,qBAC7B,OAAOA,IAML,KACA,SAAUvpC,EAAQC,EAASkB,GAEjC,aAWA,IAAIw3X,EAAcx3X,EAAoB,QAClCmxC,EAASnxC,EAAoB,QAAQmxC,OAEzCtyC,EAAOC,QAAU,SAAcyP,EAAI+T,EAASm2P,GAexC,IAdA,IAAIg/G,EAASn1W,EAAQi9C,OAAO4uB,UAAU9+E,OAAO,kBAEzCyB,EAAW,CACX2V,MAAOnE,EAAQmE,MACfC,MAAOpE,EAAQoE,MACfhU,KAAM4P,EAAQygI,UACd0tC,YAAanuK,EAAQksP,oBAAsBlsP,EAAQssP,QAAQE,UAAY,MAGvE9+L,EAAa1tD,EAAQ0tD,WACrBE,EAAc5tD,EAAQ4tD,YAIlBhwE,EAAI,EAAGA,EAAIu4Q,EAAet5Q,OAAQe,IAGtC,IAFA,IAAI+f,EAAMw4P,EAAev4Q,GAEjBsE,EAAI,EAAGA,EAAIyb,EAAI9gB,OAAQqF,IAAK,CAChC,IAAIub,EAAKE,EAAIzb,GACT3D,EAAIkf,EAAGlf,EAEX,GAAGA,IAAMswC,EACLpxB,EAAG3R,EAAI2R,EAAGhM,EAAIo9B,MACX,CACH,IAAIumV,EAAK1nT,EAAW2pM,IAAI94Q,GACpB64Q,EAASxpM,EAAYypM,IAAI55P,EAAGoC,OAChCpC,EAAG3R,EAAIspX,EAAK/xX,KAAK6qD,IAAIkpN,GACrB35P,EAAGhM,EAAI2jX,EAAK/xX,KAAK8qD,IAAIipN,IAKjC89G,EAAYjpX,EAAIuC,EAAU2nQ,EAAgBg/G,KAMxC,KACA,SAAU54X,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBuW,EAAMvW,EAAoB,QAC1Bq3B,EAAUr3B,EAAoB,QAE9B23X,EAAU33X,EAAoB,QAC9B43X,EAAa53X,EAAoB,QACjCi2H,EAAUj2H,EAAoB,QAElCnB,EAAOC,QAAU,SAAcyP,EAAIuC,EAAU+mX,EAAWC,GACpD,IAAInyW,EAAapX,EAAGymB,YAChB+B,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAElB,SAASqxW,EAAShoV,GACd,IAAI2mC,EAAWkhT,EAAW7nV,EAAK,CAC3BtpB,MAAOsQ,EACPrQ,MAAO0Q,EACPzqB,aAAa,EACbqrX,cAAe,IACf52V,MAAO,SACPksD,UAAU,EACV2qS,YAAY,IAEhB,OAAO5gW,EAAQ83Q,WAAWz4N,EAAS,GAAI,GAG3CngE,EAAIsoE,gBAAgBi5S,EAAaD,EAAW,iBAAiBjoX,MAAK,SAASmQ,GACvE,IAAIg/D,EAAYjwE,EAAGO,OAAO7M,MACtBgtC,EAAMzvB,EAAG,GACT9e,EAAIuuC,EAAIvuC,EACRuN,EAAQghC,EAAIhhC,MAEhB,IAAqB,IAAlBA,EAAMuD,SAAoB9Q,EAAE6mB,MAC3Bi3D,EAAUtuE,aADd,CAKA,IAAIynX,EAAOj3X,EAAEi3X,KACTC,EAAQl3X,EAAEk3X,MACVj8E,EAAUprS,EAAS7P,EAAE2zD,UAAY,QACjC+mP,EAAU7qS,EAAS7P,EAAE0zD,UAAY,QACjCyjU,EAA8B,SAAf5pX,EAAMk1C,KACrB20U,EAAkBD,GAA+B,aAAf5pX,EAAMk1C,KACxC40U,EAAkBF,GAA+B,aAAf5pX,EAAMk1C,KAExC60U,EAAUx5S,EAAUzvE,UAAU,eAAenE,KAAKoL,EAAIvN,UAE1DuvX,EAAQhpX,QAAQC,OAAO,QAClBG,MAAM,gBAAiB,sBACvB8X,KAAK,QAAS,UAEnB8wW,EAAQ71U,OAAOjyC,SAEf8nX,EAAQ3oX,MAAK,SAASvP,GAClB,IAMI4kE,EAUAuzT,EAASC,EAAS11U,EAClB7iD,EAAGyE,EAAGorC,EAAKjwB,EAjBX44W,EAAU5pX,EAAGO,OAAO7M,MACpBm2X,EAAUt4X,EAAEs4X,QACZvrW,EAAMurW,EAAQx5X,OACdy5X,EAAYj9E,EAAQx1R,IAAI9lB,EAAEyyC,IAAMolV,GAAM,GACtCljU,EAAc2mP,EAAQv7P,IAAIw4U,GAG9B,GAAGpqX,EAAM0S,MACL+jD,EAAQhkE,EAAE43X,OAASV,MAChB,CACH,IAAIW,EAAanzW,EAAWozW,uBAAuBvqX,EAAMyjW,YACzDhtS,EAA4B,UAApBz2D,EAAM0jW,UACT4mB,EAAWD,OAASV,GAAUW,EAAWE,SAAW34X,EAAE0vC,IAAI5wC,QAC3D25X,EAAWD,OAASV,EAM5B,GAAGE,EAAiB,CAEhB,IADAtoV,EAAM,IAAIlsC,MAAMupB,GACZltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAChB4f,EAAKiwB,EAAI7vC,GAAK,GACd4f,EAAG7e,EAAE0zD,WAAaikU,EAAaD,EAAQz4X,GAAGwE,EAAIugE,EAC9CnlD,EAAG7e,EAAE2zD,WAAasnP,EAAQ/1R,IAAIwyW,EAAQz4X,GAAGe,GAAG,GAEhDu3X,EAAUT,EAAShoV,GAGvB,GAAGuoV,EAAiB,CAEhB,IADAvoV,EAAM,IAAIlsC,MAAMupB,GACZzoB,EAAI,EAAGzE,EAAIktB,EAAM,EAAGzoB,EAAIyoB,EAAKzoB,IAAKzE,IAClC4f,EAAKiwB,EAAIprC,GAAK,GACdmb,EAAG7e,EAAE0zD,WAAaikU,EAAaD,EAAQz4X,GAAGwE,EAAIugE,EAC9CnlD,EAAG7e,EAAE2zD,WAAasnP,EAAQ/1R,IAAIwyW,EAAQz4X,GAAGe,GAAG,GAEhDw3X,EAAUV,EAAShoV,GAGvB,GAAGqoV,EACCr1U,EAAOy1U,EAAU,IAAMC,EAAQtmX,OAAO,GAAK,QACxC,CACH,IAAI8mX,EAAU,CAACjkU,EAAaknP,EAAQllR,IAAI2hW,EAAQ,GAAG13X,IAC/Ci4X,EAAQ,CAAClkU,EAAaknP,EAAQllR,IAAI2hW,EAAQvrW,EAAM,GAAGnsB,IAE9B,MAAtBuN,EAAM5G,cACLqxX,EAAQhqU,UACRiqU,EAAMjqU,WAINlM,EADDs1U,EACQ,IAAMY,EAAU,IAAMT,EAAQrmX,OAAO,GAAK,IAAM+mX,EAEhD,IAAMA,EAAQ,IAAMT,EAAQtmX,OAAO,GAAK,IAAM8mX,EAG7DP,EAAQjxW,KAAK,IAAKs7B,GAIlB1iD,EAAE20D,YAAcA,EAChB30D,EAAEk1D,gBAAkB0P,EAAQkzT,EAC5B93X,EAAE0iD,KAAO21U,EAAQxxW,OACjB7mB,EAAE00D,WAAa10D,EAAE0iD,KAAKolE,kBAAoBiwQ,EAAe,EAAI,MAGjE,IAGIe,EACAC,EA2BAn6X,EA/BA0yR,EAAWnjR,EAAM2vJ,IACjBi/E,EAAWu0C,EAASzwQ,MACpBq8N,GAAgBo0C,EAAS55P,MAAQ,IAAI7W,MAItCk3W,GACCe,EAAchB,EAAQ/6I,EACtBg8I,EAAe,GACTf,GACNc,EAAc,CAAC,EAAGhB,EAAQ/6I,EAAW,GACrCg8I,EAAe77I,EAAe,CAACnvO,EAAG,EAAG2F,GAAI,GAAG9S,EAAE0zD,aAE9CwkU,EAAc,CAAChB,EAAQ/6I,EAAW,EAAG,GACrCg8I,EAAe77I,EAAe,CAACnvO,GAAI,EAAG2F,EAAG,GAAG9S,EAAE0zD,YAIlDgjU,EAAQ0B,mBAAmBt6S,EAAW,CAACjsC,IAAK6oQ,EAAS1pR,IAAKiqR,GAAU1tS,EAAO,CACvE0pX,KAAMA,EACNC,MAAOgB,EACPC,aAAcA,IAIlBzB,EAAQ2B,YAAYv6S,EAAW,CAACjsC,IAAK6oQ,EAAS1pR,IAAKiqR,GAAU1tS,EAAO,CAChE0pX,KAAMA,EACNC,MAAOgB,EACPC,aAAcA,KAId5qX,EAAM2vJ,IAAIpsJ,SAAWvD,EAAMovO,SAAS7rO,UACpC9S,EAAKsX,EAAIvN,UAKb,IAAIuwX,EAAYx6S,EAAUzvE,UAAU,iBAAiBnE,KAAKlM,GAAM,IAChEs6X,EAAUhqX,QAAQC,OAAO,QACpBiY,KAAK,QAAS,YACd9X,MAAM,OAAQ,QACdA,MAAM,gBAAiB,sBAC5B4pX,EAAU72U,OAAOjyC,SACjB8oX,EAAU3pX,MAAK,SAASvP,GACpB,IAAIqE,EAAIw3S,EAAQllR,IAAI32B,EAAE0qI,MAAM,GACxBlpI,EAAIo0H,EAAQxhE,qBAAqBp0D,EAAGmO,EAAO9J,GAE/CoK,EAAGO,OAAO7M,MAAMilB,KAAK,IACK,MAAtBjZ,EAAM5G,YACF,IAAMlD,EAAI,IAAM7C,EAAE,GAAK,IAAMA,EAAE,GAC/B,IAAMA,EAAE,GAAK,IAAM6C,EAAI,IAAM7C,EAAE,OAI3C81X,EAAQ6B,WAAWz6S,EAAW,CAAC3wE,EAAG2oB,EAAIhjB,EAAGqjB,GAAK5oB,EAAOvN,SAOvD,OACA,SAAUpC,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAuCnC,SAASy5X,EAAMC,EAAW35W,EAAI45W,EAAQ16X,GAClCA,EAAKA,GAAMsX,EAAIvN,SAEZnF,MAAM0J,QAAQmsX,KACb35W,EAAG,GAAG45W,GAAU16X,EAAGy6X,IAzC3B76X,EAAOC,QAAU,SAAcyP,GAC3B,IAAIisD,EAAWjsD,EAAGisD,SACd70C,EAAapX,EAAGymB,YAEpB,SAAS4kW,EAAoBprX,GACzB,OAAO,SAASyjB,GACZ,OAAO1b,EAAIghR,gBAAgB,CAACjyQ,UAAW2M,GAAM,CAACy/D,QAASljF,EAAMkjF,SAAU/rE,IAI/E,IAAI,IAAIzlB,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAK,CACrC,IAAI6f,EAAKy6C,EAASt6D,GACdsO,EAAQuR,EAAG,GAAGvR,MAKlB,IAAG2qB,EAAS4U,QAAQv/B,EAAO,YAA3B,CAEA,IAAIqrX,EAAS1gW,EAAS4U,QAAQv/B,EAAO,SAAWirX,EAAQljX,EAAIujX,UAE5DD,EAAOrrX,EAAM8W,UAAWvF,EAAI,KAAM65W,EAAoBprX,IAEnDA,EAAM2V,eAAe01W,EAAOrrX,EAAM2V,cAAepE,EAAI,MAEpDvR,EAAMurD,aAEV8/T,EAAOrrX,EAAMurD,WAAW4xC,QAAS5rF,EAAI,OACrC85W,EAAOrrX,EAAMurD,WAAW6xC,YAAa7rF,EAAI,OACzC85W,EAAOrrX,EAAMurD,WAAW/4C,KAAKyC,KAAM1D,EAAI,OACvC85W,EAAOrrX,EAAMurD,WAAW/4C,KAAK/V,MAAO8U,EAAI,OACxC85W,EAAOrrX,EAAMurD,WAAW/4C,KAAKN,OAAQX,EAAI,OACzC85W,EAAOrrX,EAAMurD,WAAWk1E,WAAYlvH,EAAI,OACxC85W,EAAOrrX,EAAMurD,WAAW0xC,MAAO1rF,EAAI,YAerC,OACA,SAAUlhB,EAAQC,EAASkB,GAEjC,aAoBAnB,EAAOC,QAAU,SAASquB,GACtB,IAAI5J,EAAW4J,EAAK5J,SACpB,MAAO,CACHtiB,EAAG,CACCiiB,QAAS,SACTC,KAAM,EAENI,SAAUA,GAGd1iB,EAAG,CACCqiB,QAAS,SACTC,KAAM,EAENI,SAAUA,GAGdhkB,EAAG,CACC2jB,QAAS,SACTC,KAAM,EAENI,SAAUA,GAGdpjB,EAAG,CACC+iB,QAAS,SACTC,KAAM,EAENI,SAAUA,GAGdA,SAAUA,KAOZ,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAE1B28D,EAAqB38D,EAAoB,QACzC8K,EAAa9K,EAAoB,QAErCnB,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAI9f,EAAIqvC,EAAO,KACXhuC,EAAIguC,EAAO,KACXj1B,EAAIi1B,EAAO,KAEXtkC,EAAIskC,EAAO,KACX3+B,EAAI2+B,EAAO,KACX7jC,EAAI6jC,EAAO,KAGVrvC,GAAMA,EAAElE,QAAWuF,GAAMA,EAAEvF,QAAWse,GAAMA,EAAEte,QAC9CiP,GAAMA,EAAEjP,QAAW4U,GAAMA,EAAE5U,QAAW0P,GAAMA,EAAE1P,QAMnDuzC,EAAO,YACPA,EAAO,YACPA,EAAO,YAEPA,EAAO,gBACPA,EAAO,WAEPA,EAAO,oBACPA,EAAO,oBACPA,EAAO,qBACPA,EAAO,sBACPA,EAAO,oBACPA,EAAO,mBACPA,EAAO,mBACPA,EAAO,mBAEPiqB,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,GAAI5uD,QAAS,MAE5E8jC,EAAO,QACPA,EAAO,aACPA,EAAO,iBAKPsmB,EAAS3hD,QAAU,MA7Bf2hD,EAASjnD,SAAU,IAmCrB,OACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAWA,IAAIitF,EAAYjtF,EAAoB,QAChC6iB,EAAY7iB,EAAoB,QAChC44H,EAAa54H,EAAoB,QACjCs5D,EAAUt5D,EAAoB,QAC9B64H,EAAc74H,EAAoB,QAAQ8K,WAC1C8X,EAAqB5iB,EAAoB,QAAQ4iB,mBACjD2hP,EAAkBvkQ,EAAoB,QACtCqrG,EAAiBrrG,EAAoB,QAAQqrG,eAE7CvoF,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAI1CiB,GAFchkB,EAAoB,QAAQu4B,YAElC15B,EAAOC,QAAUikB,EAAY,CACrCuC,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C0Q,MAAO,GACP/R,SAAS,IAGb81C,WAAYT,EAAQS,WACpBpK,OAAQkpE,EAAY,CAACv4H,KAAM,SAAUkO,OAAO,IAE5C5G,YAAa,CACTsb,QAAS,aACT2V,OAAQ,CAAC,IAAK,KACd1V,KAAM,KAKVi2G,YAAa,CACTl2G,QAAS,SACTC,KAAM,OAKV42W,YAAa,CACT72W,QAAS,SACTC,KAAM,IAKV62W,YAAa,CACT92W,QAAS,aACT2V,OAAQ,CAAC,OAAQ,gBAAiB,WAAY,SAC9C1V,KAAM,QAKVgnE,SAAU8C,EAAU,IAIpB/lE,KAAM,CACF65E,MAAO,CACH79E,QAAS,aACTC,KAAM,IAIVojC,OAAQ,CACJrjC,QAAS,aACTsV,aAAc,CAAC,EAAK,GAAI,EAAK,IAC7Bq8G,WAAY,EACZ2rB,YAAY,EACZr9I,KAAM,GACN+1G,MAAO,CAACh2G,QAAS,SAAUK,SAAU,SAIzCnV,EAAG,CACC8U,QAAS,aACTC,KAAM,IAIVpP,EAAG,CACCmP,QAAS,aACTC,KAAM,IAIVlY,MAAO,CACHiY,QAAS,QAETe,SAAS,GAGb8T,KAAM,CACF9sB,MAAO,CACHiY,QAAS,QAETC,KAAMy1G,EAAWj1G,YACjBM,SAAS,GAGb/C,MAAO,CACHgC,QAAS,SAETnb,IAAK,EACLob,KAAM,GACNc,SAAS,IAIjBnK,IAAK,CACDoJ,QAAS,SACTe,SAAS,EACTlc,IAAK,EACLob,KAAM,IAIV81G,UAAW,CACP/1G,QAAS,SACTe,SAAS,EACTlc,IAAK,EACLob,KAAM,IAIVmC,UAAW,CACPpC,QAAS,aACT2V,OAAQ,CAAC,MAAO,OAAQ,QACxB1V,KAAM,OAIV42C,WAAYT,EAAQS,WACpB51C,cAAevB,EAAmB,GAAI,CAElC2kC,KAAM,CAAC,QAAS,YAKxBojB,KAAM,CACFo2B,MAAO,CACH79E,QAAS,aACTC,KAAM,IAIVlY,MAAO,CACHiY,QAAS,QAETe,SAAS,GAGb8T,KAAM,CACF9sB,MAAO,CACHiY,QAAS,QAETC,KAAMy1G,EAAWj1G,YACjBM,SAAS,GAGb/C,MAAO,CACHgC,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNc,SAAS,IAIjBslD,OAAQ,CACJrmD,QAAS,aAETC,KAAM,IAGV0M,OAAQ,CACJ3M,QAAS,aAETC,KAAM,IAGVniB,MAAO,CACHkiB,QAAS,aACTC,KAAM,IAIVmC,UAAW,CACPpC,QAAS,aACT2V,OAAQ,CAAC,MAAO,OAAQ,QACxB1V,KAAM,OAIV42C,WAAYT,EAAQS,WACpB51C,cAAevB,EAAmB,GAAI,CAElC2kC,KAAM,CAAC,QAAS,WAEpB4gO,YAAa98K,EAAe,sBAAuB,CAC/C9nF,SAAU,OACVw9E,MAAO,CACH79E,QAAS,SAETK,SAAU,OAEVJ,KAAM,IAEVssH,KAAM,CACFvsH,QAAS,SAETK,SAAU,OACVJ,KAAM,GAGVqsH,KAAM,CACFtsH,QAAS,SAETK,SAAU,OACVJ,KAAM,GAGVu7D,WAAY57D,EAAWyhP,IAAkB7lL,WAAY,CAACv7D,KAAM,CAAC,CAAC,EAAG,SAAU,CAAC,EAAG,gBAKxF,OAAQ,WACXa,EAAMwB,gBAAapmB,GAKb,OACA,SAAUP,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1B0iB,EAAQ1iB,EAAoB,QAC5ByyF,EAAWzyF,EAAoB,QAC/Bi6X,EAA2Bj6X,EAAoB,QAE/ConC,EAAmBpnC,EAAoB,QACvCk6X,EAAqBl6X,EAAoB,QACzC80I,EAAqB90I,EAAoB,QACzC0oH,EAA2B1oH,EAAoB,QAAQ0oH,yBACvDyxQ,EAAyBn6X,EAAoB,QAE7C0xC,EAAU1xC,EAAoB,QAC9B2xC,EAAUD,EAAQC,QAClBC,EAAUF,EAAQE,QAElBzY,EAAWn5B,EAAoB,QAC/B+tC,EAAU5U,EAAS4U,QACnB0F,EAAqBta,EAASsa,mBAElC,SAAS2mV,EAAWviW,EAAMlzB,EAAGyqK,GACtBvrK,MAAM0J,QAAQsqB,EAAKlzB,IAAKkzB,EAAKlzB,GAAG3B,KAAKosK,GACnCv3I,EAAKlzB,GAAK,CAACyqK,GAGpBvwK,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAW1wC,GAChE,IAUInmB,EAAGsE,EAVH61X,EAAY,GACZC,EAAY,GACZC,EAAY,GACZC,EAAgB,GAChBC,EAAgB,GAChBC,EAAmB,GACnBC,EAAe,GACfC,EAAa,GACbtkS,EAAa,GACbukS,EAAU,GAId,IAAI36X,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACjC,IAAIsO,EAAQ6X,EAASnmB,GACrB,GAAI6tC,EAAQv/B,EAAO,cAAiBu/B,EAAQv/B,EAAO,QAAnD,CAEA,IAAIssX,EAUAC,EATJ,GAAGvsX,EAAMiY,MACLq0W,EAASnpV,EAAQnjC,EAAMiY,OACvB2zW,EAAWC,EAAWS,EAAQtsX,QAC3B,GAAGA,EAAMisG,MACZ,IAAIj2G,EAAI,EAAGA,EAAIgK,EAAMisG,MAAMt7G,OAAQqF,IAC/B41X,EAAWC,EAAW1oV,EAAQnjC,EAAMisG,MAAMj2G,IAAKgK,GAKvD,GAAGA,EAAMkY,MACLq0W,EAASppV,EAAQnjC,EAAMkY,OACvB0zW,EAAWC,EAAWU,EAAQvsX,QAC3B,GAAGA,EAAMmsG,MACZ,IAAIn2G,EAAI,EAAGA,EAAIgK,EAAMmsG,MAAMx7G,OAAQqF,IAC/B41X,EAAWC,EAAW1oV,EAAQnjC,EAAMmsG,MAAMn2G,IAAKgK,GA4CvD,GAvCkB,WAAfA,EAAM0E,KACoB,MAAtB1E,EAAM5G,aACFkzX,IAAQR,EAAUQ,IAAU,GAC5BC,IAAQJ,EAAaI,IAAU,IAE/BA,IAAQR,EAAUQ,IAAU,GAEd,UAAfvsX,EAAM0E,MACT6nX,IAAQH,EAAWG,IAAU,GAC7BD,IAAQF,EAAWE,IAAU,KAE7BC,IACCN,EAAcM,IAAU,EACxBL,EAAiBK,IAAU,GAG3BhtV,EAAQv/B,EAAO,YAA6B,WAAfA,EAAM0E,MAAsB1E,EAAMkuL,WAC5Do+L,IAAQN,EAAcM,IAAU,IAYzB,WAAftsX,EAAM0E,MAAqB1E,EAAMkuL,UAC7Bo+L,IAAQR,EAAUQ,IAAU,GAIhC/sV,EAAQv/B,EAAO,WACd8nF,EAAWwkS,IAAU,EACrBxkS,EAAWykS,IAAU,GAGtBhtV,EAAQv/B,EAAO,YAAa,CAC3B,IAAIwsX,EAAqC,MAAtBxsX,EAAM5G,YAAsBmzX,EAASD,EACxDD,EAAQG,IAAgB,IAIhC,IAAI9zV,EAAW6vB,EAAUxkB,UACrB0U,EAAO/f,EAASzgB,MAChBygC,EAAOhgB,EAASxgB,MAChBu0W,EAAS1kX,EAAIklB,UAAUwrB,EAAMtV,GAC7B4wQ,EAAShsS,EAAIklB,UAAUyrB,EAAMvV,GAC7BupV,EAAUD,EAAOtzX,OAAO46S,GAIxB44E,EAAcz4W,EAAMqR,WACrBkzB,EAAK9nD,QAAU+nD,EAAK/nD,SACnBg8X,EAAc5kX,EAAIm8B,OAAOokB,EAAUC,EAAWkjU,EAA0B,iBAG5E,IAEIhlS,EAAQhyE,EAAUm4W,EAAYC,EAF9BxmS,EAAUnyE,EAAMoyE,QAAQqmS,EAAapkU,EAAUg+B,eAInD,SAASriD,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAO0oV,EAAYC,EAAaj0V,EAAkB3f,EAAMtE,GAGvE,SAASi7D,EAAQ32D,EAAMtE,GACnB,OAAO5M,EAAI6nE,QAAQg9S,EAAYC,EAAaj0V,EAAkB3f,EAAMtE,GAGxE,SAASm4W,EAAer4W,GACpB,MAAqB,MAAbA,EAAoBikC,EAAOD,EAGvC,IAAIs0U,EAAc,CAACntX,EAAGktX,EAAe,KAAMvnX,EAAGunX,EAAe,MACzD98E,EAAa+8E,EAAYntX,EAAEzG,OAAO4zX,EAAYxnX,GAElD,SAASynX,EAAmBv4W,EAAUgyE,GAIlC,IAHA,IAAI3wF,EAAqB,MAAb2e,EAAoBg4W,EAAS14E,EACrC1iS,EAAM,GAEFrb,EAAI,EAAGA,EAAIF,EAAKnF,OAAQqF,IAAK,CACjC,IAAIi3X,EAAUn3X,EAAKE,GAEhBi3X,IAAYxmS,IAAYn+B,EAAS2kU,IAAY,IAAI1vQ,YAChDlsG,EAAI7c,KAAK4uC,EAAQ6pV,IAIzB,OAAO57W,EAIX,IAAI3f,EAAI,EAAGA,EAAIg7X,EAAQ/7X,OAAQe,IAAK,CAChC+0F,EAASimS,EAAQh7X,GACjB+iB,EAAWgyE,EAAOtmE,OAAO,GAErBpY,EAAIuqD,cAAchK,EAASm+B,MAC3Bn+B,EAASm+B,GAAU,IAGvBmmS,EAAatkU,EAASm+B,GACtBomS,EAAc5oS,EAASW,aAAar8B,EAAWk+B,EAAQhyE,EAAW,QAElE,IAAIqjC,EAAS+zU,EAAUplS,IAAW,GAClComS,EAAY/lS,cAAgBhvC,EAAOpL,KAAI,SAASj6C,GAAK,OAAOA,EAAEs0F,kBAC9D8lS,EAAYK,YAAc,GAC1BL,EAAY73H,cAAgB,GAC5B63H,EAAY37I,YAAc,GAC1B27I,EAAYvuU,cAAgB,GAC5BuuU,EAAYM,aAAe,GAG3BN,EAAYn+V,MAAQm+V,EAAYhmS,MAAQJ,EACxC,IAAIrpF,EAAKyvX,EAAYj/V,IAAMwV,EAAQqjD,GAE/B2mS,EAAkBJ,EAAmBv4W,EAAUgyE,GAE/CgkQ,GACc,MAAbh2U,IAAqBu3W,EAAcvlS,IAAWqlS,EAAUrlS,IAC3C,MAAbhyE,IAAqBw3W,EAAcxlS,IAAWslS,EAAUtlS,GAEzDkkQ,GACc,MAAbl2U,KAEKy3W,EAAiBzlS,IAAW0lS,EAAa1lS,IAC3C2lS,EAAW3lS,IAGf4mS,GAAiB,CACjBtvM,OAAQtpK,EACRjC,KAAM+1C,EAAU/1C,KAChBs1E,WAAYA,EAAWrB,GACvByB,UAAWmkS,EAAQ5lS,GACnB9pF,KAAMm7C,EACNuuC,QAASA,EACT17E,SAAU49C,EAAU59C,SACpB41C,YAAY,EACZkqS,YAAaA,GACbE,YAAaA,GACbj5C,aAAcnpP,EAAU++E,YAAc,IAAI7yH,IAAa,IAAIrX,IAG/D8mC,EAAO,aAAcqkB,EAAUs8B,YAE/B6mS,EAAmBkB,EAAYC,EAAa3oV,EAAQmpV,IACpD/mP,EAAmBsmP,EAAYC,EAAa3oV,EAAQmpV,GAAgB9kU,GAEpE,IAAI23H,GAAatwG,EAAQ,cACrBwwG,GAAiBxwG,EAAQ,kBACzB09S,GAAY19S,EAAQ,aACpB29S,GAAY39S,EAAQ,aACpB49S,GAAY59S,EAAQ,aACpB69S,GAAavpV,EAAO,eAAgBg8I,MAAgBE,MAAoBktM,MAAeC,MAAeC,IAEtGC,YACOZ,EAAY3sM,kBACZ2sM,EAAYzsM,sBACZysM,EAAYS,iBACZT,EAAYU,iBACZV,EAAYW,WAGvB7B,EAAuBiB,EAAYC,EAAa3oV,EAAQ,CACpD65I,OAAQtpK,EACRs4W,YAAaA,EAAYt4W,GACzB24W,gBAAiBA,EACjBnqU,KAAMsF,EAAUtF,OAGpB/e,EAAO,kBAEP2oV,EAAY1sV,OAASysV,EAIzB,IAAIc,GAAsBzoV,EAAmB,cAAe,kBACxD0oV,GAAwB1oV,EAAmB,gBAAiB,kBAEhE,IAAIvzC,EAAI,EAAGA,EAAI+6X,EAAO97X,OAAQe,IAC1B+0F,EAASgmS,EAAO/6X,GAChBk7X,EAAatkU,EAASm+B,GACtBomS,EAActkU,EAAUk+B,GAExBinS,GAAoBplU,EAAUC,EAAWk+B,GAEjB,SAArBomS,EAAYnoX,MACXipX,GACIf,EACAC,EACAtkU,EACAwrP,EACA84E,EAAYliX,UAIpBu5B,EAAO,cAGX,IAAIxyC,EAAI,EAAGA,EAAIqiT,EAAOpjT,OAAQe,IAAK,CAC/B+0F,EAASstN,EAAOriT,GAChBk7X,EAAatkU,EAASm+B,GACtBomS,EAActkU,EAAUk+B,GAExB,IAAImnS,GAAerlU,EAAUplB,EAAQ0pV,EAAY3rU,SAE7C2sU,GAAiB5oV,EAAmB,cAAe,YAAlCA,CAA+C2oV,IAEpE1pV,EAAO,aAAc2pV,IAWzB,IAAIp9E,GAAmBloP,EAAUkpP,sBAAwB,GAErDl1L,GAAch0D,EAAUi0D,iBAAmB,GAE/C,IAAI9qH,EAAI,EAAGA,EAAIg7X,EAAQ/7X,OAAQe,IAAK,CAMhC,IAAI6/S,GAKAC,GAVJ/qN,EAASimS,EAAQh7X,GACjB+iB,EAAWgyE,EAAOtmE,OAAO,GACzBysW,EAAatkU,EAASm+B,GACtBomS,EAActkU,EAAUk+B,GAIpB8qN,GADY,MAAb98R,IAAqBm4W,EAAWx5X,eAAe,gBAAkBg5X,EAAW3lS,GACzDomS,EAAY3rU,YACRtwD,EAItB4gT,IADAo7E,EAAWx5X,eAAe,cAAgBg5X,EAAW3lS,GACrC,cACI71F,EAExBspH,EAAyB0yQ,EAAYC,EAAa3oV,EAAQ,CACtD8rQ,WAAYA,EACZznP,UAAWA,EACXgpP,gBAAiBA,GACjBC,cAAeA,KAIvB,IAAI9/S,EAAI,EAAGA,EAAI6qH,GAAY5rH,OAAQe,IAAK,CACpC,IAGImjD,GAHAryC,GAAQ+5G,GAAY7qH,GACpB21C,GAAM,KACN7D,GAAY,KAIhB,IAAIqR,MAAQryC,GACRqqX,EAActkU,EAAUplB,EAAQ0R,KAC5Bg4U,EAAYtlP,UACZlgG,GAAMwlV,EAAYzjX,MAClBo6B,GAAYqpV,EAAYrpV,WAKhC,GAAW,OAAR6D,IAA8B,OAAd7D,GACf,IAAIqR,MAAQryC,GAAO,CACfqqX,EAActkU,EAAUplB,EAAQ0R,KAChCxN,GAAMwlV,EAAYzjX,MAClBo6B,GAAYqpV,EAAYrpV,UACxB,MAIR,IAAIqR,MAAQryC,GACRqqX,EAActkU,EAAUplB,EAAQ0R,KAC7Bg4U,EAAYtlP,UACXslP,EAAYzjX,MAAQi+B,GAAI1xC,QACxBk3X,EAAYrpV,UAAYA,IAE5BqpV,EAAY1uQ,YAAc37G,GAI9B,GAAGiuS,GAAiB9/S,OAChB,IAAIkkD,MAAQryC,GACR,IAAIxM,EAAI,EAAGA,EAAIy6S,GAAiB9/S,OAAQqF,IAAK,CACzC,IAAI83X,GAASr9E,GAAiBz6S,GAC9B,IAAI,IAAIymH,MAASqxQ,GACVj5U,KAAS4nE,KACR10G,EAAIq4B,KAAK,QAAUq8E,GAAV,qGAIFqxQ,GAAOrxQ,IACXxqH,OAAO8mD,KAAK+0U,IAAQn9X,OAAS,GAC5B8/S,GAAiBzuS,OAAOhM,EAAG,QAarD,OACA,SAAU3F,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCk3G,mBAAoBl3G,EAAoB,QACxCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1Bu8X,UAAW,eACXj8T,SAAUtgE,EAAoB,QAC9B2P,MAAO3P,EAAoB,QAC3B2S,YAAa3S,EAAoB,QACjC21B,UAAW31B,EAAoB,QAE/BoS,WAAY,QACZ9R,KAAM,cACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,YAAa,MAAO,QAAS,YAAa,cACvDC,KAAM,KASJ,OACA,SAAU1T,EAAQC,EAASkB,GAEjC,IAAI+lF,EAAQ/lF,EAAoB,QAGhCnB,EAAOC,SAAWinF,GAAM,WACtB,OAA8E,GAAvEtlF,OAAOC,eAAe,GAAI,EAAG,CAAEE,IAAK,WAAc,OAAO,KAAQ,OAMpE,OACA,SAAU/B,EAAQC,EAASkB,GAEjC,aAYA,IAAIi5G,EAAKj5G,EAAoB,QACzBuW,EAAMvW,EAAoB,QAC1B2+L,EAAgB3+L,EAAoB,QACpC61B,EAAWtf,EAAIsf,SACfsb,EAASnxC,EAAoB,QAAQmxC,OAgEzC,SAASqrV,EAAahuX,EAAOmpB,EAAI/R,GAC7B,IAAGpX,EAAM2V,cAAT,CAEA,IAAImB,EAAYqS,EAAGrgB,IAAM9I,EAAM8W,UAC3BkL,EAAQlL,EAAUlV,MAAM,KACxBqsX,GAAkC,IAA1BjsW,EAAM5rB,QAAQ,OACtB83X,GAAmC,IAA1BlsW,EAAM5rB,QAAQ,OACvB+3X,GAAmC,IAA1BnsW,EAAM5rB,QAAQ,OACvBohB,EAAS2R,EAAG3R,OACZ/W,EAAO,GAoBX,OAZGwtX,GAAUC,GAAUC,EACnB1tX,EAAKjM,KAAK,IAAMqiG,EAAOr/E,EAAO,IAAM,KAAOq/E,EAAOr/E,EAAO,IAAM,KACzD02W,EACNztX,EAAKjM,KAAK4iB,EAAOwpE,IAAMiW,EAAOr/E,EAAO,KAC/B22W,GACN1tX,EAAKjM,KAAK4iB,EAAO2pE,IAAM8V,EAAOr/E,EAAO,MAGtCy2W,IAAoC,IAA3BjsW,EAAM5rB,QAAQ,UACtBixB,EAAS8B,EAAInpB,EAAOS,GAGjBA,EAAK9L,KAAK,QAhBjB,SAASkiG,EAAO3gG,GACZ,OAAOA,EAAI,KA5EnB7F,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,GACnD,IAAI/B,EAAK6B,EAAU7B,GACfvR,EAAQuR,EAAG,GAAGvR,MACduoB,EAAKnV,EAAUmV,GACfK,EAAKxV,EAAUwV,GACf9U,EAAUV,EAAUU,QAGpBktK,EAAW3tK,GAAQ,EACnBlc,KAAK2N,OAAOuO,EAAO,KAAO,KAC1Blc,KAAKy5B,MAAMvd,EAAO,KAAO,KAGzB+6W,EAAqB,IAAVptM,EACXqtM,EAAQh7W,EAAO+6W,EAEnB,SAASE,EAAOz8X,GACZ,IAAI2lB,EAAS3lB,EAAE2lB,OACf,GAAGA,EAAO,KAAOmrB,EAAQ,OAAOhnC,IAEhC,IAAIilF,EAAM74E,EAAIu/G,QAAQ9vG,EAAO,GAAI,KAC7BupE,EAAMvpE,EAAO,GACblG,EAAKwC,EAAQoB,QAAQ,CAAC0rE,EAAKG,IAC3B72D,EAAK5Y,EAAG1R,EAAI2oB,EAAGC,IAAI,CAAC6lW,EAAOttS,IAC3B7lE,EAAK5J,EAAG/L,EAAIqjB,EAAGJ,IAAI,CAACo4D,EAAKttE,IACzByuC,EAAM5qD,KAAKqC,IAAI,EAAG3H,EAAE2wF,KAAO,GAE/B,OAAOrrF,KAAKqC,IAAIrC,KAAKuD,KAAKwvB,EAAKA,EAAKhP,EAAKA,GAAM6mC,EAAK,EAAI,EAAIA,GAMhE,GAHA0oD,EAAGkmF,WAAWp/K,EAAI+8W,EAAQl7W,IAGH,IAApBA,EAAUhf,MAAb,CAEA,IAAI+0B,EAAK5X,EAAG6B,EAAUhf,OAClBojB,EAAS2R,EAAG3R,OACZ+2W,EAAgB,CAACxmX,EAAIu/G,QAAQ9vG,EAAO,GAAI,KAAO42W,EAAU52W,EAAO,IAGhEo5K,EAAKroK,EAAGC,IAAI+lW,GACZ19L,EAAKjoK,EAAGJ,IAAI+lW,GACZxsU,EAAM54B,EAAGq5D,KAAO,EAEpBpvE,EAAUiV,GAAKuoK,EAAK7uI,EACpB3uC,EAAUkV,GAAKsoK,EAAK7uI,EACpB3uC,EAAUsV,GAAKmoK,EAAK9uI,EACpB3uC,EAAUuV,GAAKkoK,EAAK9uI,EAEpB,IAAI5qC,EAAa,GACjBA,EAAWnX,EAAM8T,SAAW,CAACuD,SAAUvD,GACvC,IAAIsD,EAASpX,EAAMkjF,QAAQnxB,aAAa5oC,EAAInpB,EAAOmX,GAQnD,OAPA/D,EAAUqE,SAAWL,EAAOK,SAC5BrE,EAAUwE,SAAWR,EAAOQ,SAE5BxE,EAAU3W,MAAQ0zL,EAAcnwL,EAAOmpB,GACvC/V,EAAU4U,UAAYgmW,EAAahuX,EAAOmpB,EAAI5X,EAAG,GAAG9e,EAAE2kB,QACtDhE,EAAUuC,cAAgB3V,EAAM2V,cAEzB,CAACvC,MAsCN,OACA,SAAU/iB,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QACzB+O,EAAY/O,EAAoB,QAChCmvI,EAAYnvI,EAAoB,QAEhCm5B,EAAWn5B,EAAoB,QAC/B0iB,EAAQ1iB,EAAoB,QAC5Bq+E,EAAar+E,EAAoB,QACjCuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QAEnC6mB,EAAkB7mB,EAAoB,QACtC06W,EAAY16W,EAAoB,QAChC8mB,EAAe4zV,EAAU5zV,aACzBwQ,EAAct3B,EAAoB,QAAQs3B,YAE1C8tC,EAAWplE,EAAoB,QAC/ByvF,EAAmBzvF,EAAoB,QACvC2vF,EAAwB3vF,EAAoB,QAAQ2vF,sBAEpDqtS,EAAUn+X,EAAOC,QAAU,GAM/Bk+X,EAAQh8W,KAAO,SAASlf,EAAG4e,EAAQ+C,EAAMxY,GAElCsL,EAAIuqD,cAAcpgD,KACjBzV,EAAQyV,EAAOzV,MACfwY,EAAO/C,EAAO+C,KACd/C,EAASA,EAAOA,QAEjBA,GAAQ5e,EAAE6N,MAAM,cAAe+Q,GAC/B+C,EAAO,GAAG3hB,EAAE6N,MAAM,YAAa8T,EAAO,MACtCxY,GAAOnJ,EAAEzC,KAAKqjB,EAAMjR,KAAMxG,IASjC+xX,EAAQC,YAAc,SAASn7X,EAAGsM,EAAG2F,GAAKjS,EAAE2lB,KAAK,IAAKrZ,GAAGqZ,KAAK,IAAK1T,IACnEipX,EAAQE,QAAU,SAASp7X,EAAG2b,EAAGuzC,GAAKlvD,EAAE2lB,KAAK,QAAShK,GAAGgK,KAAK,SAAUupC,IACxEgsU,EAAQpuO,QAAU,SAAS9sJ,EAAGsM,EAAG2F,EAAG0J,EAAGuzC,GACnClvD,EAAEzC,KAAK29X,EAAQC,YAAa7uX,EAAG2F,GAAG1U,KAAK29X,EAAQE,QAASz/W,EAAGuzC,IAc/DgsU,EAAQG,eAAiB,SAAS98X,EAAG8yB,EAAK4D,EAAIK,GAC1C,IAAIhpB,EAAI2oB,EAAGC,IAAI32B,EAAE+N,GACb2F,EAAIqjB,EAAGJ,IAAI32B,EAAE0T,GAEjB,SAAGhF,EAAUX,IAAMW,EAAUgF,IAAMof,EAAIjM,UAER,SAAxBiM,EAAIjM,OAAOkL,SACVe,EAAI1L,KAAK,IAAKrZ,GAAGqZ,KAAK,IAAK1T,GAE3Bof,EAAI1L,KAAK,YAAa,aAAerZ,EAAI,IAAM2F,EAAI,MAMpD,IAGXipX,EAAQI,gBAAkB,SAASt7X,EAAGi1B,EAAIK,GACtCt1B,EAAE8N,MAAK,SAASvP,GACZ,IAAI8yB,EAAMrkB,EAAGO,OAAO7M,MACpBw6X,EAAQG,eAAe98X,EAAG8yB,EAAK4D,EAAIK,OAI3C4lW,EAAQK,sBAAwB,SAASh9X,EAAG8yB,EAAK4D,EAAIK,EAAI8Y,EAAWC,GAChEhd,EAAI1L,KACA,UACCsP,EAAGo1F,gBAAgB9rH,EAAG6vC,IAAc9Y,EAAG+0F,gBAAgB9rH,EAAG8vC,GAAc,KAAO,SAIxF6sV,EAAQliW,uBAAyB,SAASH,EAAarY,GACnD,GAAIA,EAAQksP,oBAAZ,CAEA,IAAIz3O,EAAKzU,EAAQmE,MACb2Q,EAAK9U,EAAQoE,MAEjBiU,EAAY/qB,MAAK,SAASvP,GACtB,IAAImO,EAAQnO,EAAE,GAAGmO,MACb0hC,EAAY1hC,EAAM0hC,UAClBC,EAAY3hC,EAAM2hC,UAClBtS,EAAW1E,EAAS4U,QAAQv/B,EAAO,YAAc,WAAa,oBAElEmsB,EAAYrrB,UAAUuuB,GAAUjuB,MAAK,SAASvP,GAC1C28X,EAAQK,sBAAsBh9X,EAAGyO,EAAGO,OAAO7M,MAAOu0B,EAAIK,EAAI8Y,EAAWC,WAKjF6sV,EAAQp6U,WAAa,SAASr0C,EAAIjE,EAAW6Y,GAIzC,OAAI7Y,GAAcyE,EAAUzE,GAGzBiE,EAAG+Y,SAASgzC,WAAmBhwD,EAE/BA,EAAY,EAAU,EAClB3E,KAAKs5B,MAAM30B,GAN6B6Y,GAAQ,GAS3D65W,EAAQM,gBAAkB,SAASj9X,EAAGyB,EAAGsmO,EAAIkjH,EAAIiyC,GAC7Cz7X,EAAE6N,MAAM,OAAQ,QAChB,IAAIooB,KAAU13B,GAAK,IAAI,IAAM,IAAImO,OAAS,IAAIupB,MAAQ,GAClDylW,EAAMp1J,GAAMrwM,EAAK7W,OAAS,EAC1B+W,EAAOslW,GAAMxlW,EAAKE,MAAQ,GAE9BvV,EAAM0G,OAAOtnB,EAAGwpV,GAAMvzT,EAAK9sB,OAC3B+xX,EAAQhlW,SAASl2B,EAAGm2B,EAAMulW,IAG9BR,EAAQ3kW,eAAiB,SAASv2B,EAAGsmO,EAAIkjH,EAAIiyC,GACzCz7X,EAAE6N,MAAM,OAAQ,QACfC,MAAK,SAASvP,GACX,IAAI03B,KAAU13B,GAAK,IAAI,IAAM,IAAImO,OAAS,IAAIupB,MAAQ,GAClDylW,EAAMp1J,GAAMrwM,EAAK7W,OAAS,EAC1B+W,EAAOslW,GAAMxlW,EAAKE,MAAQ,GAE9BnpB,EAAGO,OAAO7M,MACLnD,KAAKqjB,EAAM0G,OAAQkiU,GAAMvzT,EAAK9sB,OAC9B5L,KAAK29X,EAAQhlW,SAAUC,EAAMulW,OAI1CR,EAAQhlW,SAAW,SAASl2B,EAAGm2B,EAAM3tB,GACjCA,GAAaA,GAAa,EAE1B2tB,EAAO+kW,EAAQS,UAAUxlW,EAAM3tB,GAE/BxI,EAAE6N,MAAM,CACJ,mBAAoBsoB,EACpB,eAAgB3tB,EAAY,QAIpC0yX,EAAQS,UAAY,SAASxlW,EAAM3tB,GAC/BA,GAAaA,GAAa,EAC1B,IAAIozX,EAAM/3X,KAAKqC,IAAIsC,EAAW,GAa9B,MAXY,UAAT2tB,EAAkBA,EAAO,GACX,QAATA,EAAgBA,EAAOylW,EAAM,MAAQA,EAAM,KAClC,SAATzlW,EAAiBA,EAAQ,EAAIylW,EAAO,MAAS,EAAIA,EAAO,KAC/C,aAATzlW,EAAqBA,EAAQ,EAAIylW,EAAO,MAAS,EAAIA,EAAO,KACnD,YAATzlW,EACJA,EAAQ,EAAIylW,EAAO,MAAQA,EAAM,MAAQA,EAAM,MAAQA,EAAM,KAC9C,gBAATzlW,IACNA,EAAQ,EAAIylW,EAAO,MAAS,EAAIA,EAAO,MAAQA,EAAM,MAAS,EAAIA,EAAO,MAItEzlW,GAIX+kW,EAAQW,gBAAkB,SAASxqW,GAC/B,IAAIjM,EAAOpY,EAAGO,OAAO8jB,EAAIjM,QACrB/b,EAAO+b,EAAK/b,OACZoiF,KAAepiF,EAAK,IAAM,IAAI,IAAM,IAAIqD,OAAS,IAAI++E,UACtDA,GACCp6D,EAAI9zB,KAAKqjB,EAAMjR,KAAM87E,IAI7ByvS,EAAQluI,eAAiB,SAAShtP,GAC9BA,EAAE6N,MAAM,eAAgB,GACvBC,MAAK,SAASvP,GACX,IAAI+gC,EAAQtyB,EAAGO,OAAO7M,MAGnBnC,EAAE,GAAGmO,OACJ4yB,EAAM/hC,KAAKqjB,EAAMjR,KAAMpR,EAAE,GAAGmO,MAAM++E,eAK9C,IAAIqwS,EAAa59X,EAAoB,QAErCg9X,EAAQa,YAAc,GACtBb,EAAQc,YAAc,GACtBd,EAAQe,gBAAkB,GAC1Bf,EAAQgB,YAAc,GACtBhB,EAAQiB,aAAe,GACvBjB,EAAQxvS,WAAa,GAErB/sF,OAAO8mD,KAAKq2U,GAAYlnU,SAAQ,SAAS/xD,GACrC,IAAIu5X,EAASN,EAAWj5X,GACpBnD,EAAI08X,EAAO18X,EACfw7X,EAAQxvS,WAAWxqF,KACfxB,EACAmD,EACAnD,EAAI,IACJmD,EAAI,SAERq4X,EAAQa,YAAYr8X,GAAKmD,EACzBq4X,EAAQc,YAAYt8X,GAAK08X,EAAOl2V,EAE7Bk2V,EAAOhwM,WACN8uM,EAAQe,gBAAgBv8X,IAAK,GAE9B08X,EAAOlwM,MACNgvM,EAAQgB,YAAYx8X,IAAK,EAEzBw7X,EAAQxvS,WAAWxqF,KACfxB,EAAI,IACJmD,EAAI,OACJnD,EAAI,IACJmD,EAAI,aAGTu5X,EAAO/vM,SACN6uM,EAAQiB,aAAaz8X,IAAK,MAIlC,IAAI28X,EAAYnB,EAAQa,YAAY1+X,OAEhCi/X,EAAU,8BAqBd,SAASC,EAAcC,EAAcz9X,GACjC,IAAIq+B,EAAOo/V,EAAe,IAC1B,OAAOtB,EAAQc,YAAY5+V,GAAMr+B,IAAMy9X,GAAgB,IAAMF,EAAU,IArB3EpB,EAAQsB,aAAe,SAAS55X,GAC5B,GAAgB,kBAANA,EAAgB,CACtB,IAAI65X,EAAQ,EACT75X,EAAEE,QAAQ,SAAW,IACpB25X,EAAQ,IACR75X,EAAIA,EAAE2T,QAAQ,QAAS,KAExB3T,EAAEE,QAAQ,QAAU,IACnB25X,GAAS,IACT75X,EAAIA,EAAE2T,QAAQ,OAAQ,KAE1B3T,EAAIs4X,EAAQa,YAAYj5X,QAAQF,GAC7BA,GAAK,IAAKA,GAAK65X,GAGtB,OAAQ75X,EAAI,KAAOy5X,GAAaz5X,GAAK,IACjC,EAAIiB,KAAK2N,MAAM3N,KAAKqC,IAAItD,EAAG,KAQnC,IAAI85X,EAAe,CAAC1nW,GAAI,EAAGgoB,GAAI,EAAG3nB,GAAI,EAAG2wC,GAAI,GACzC22T,EAAe,CAAC3nW,GAAI,EAAGgoB,GAAI,EAAG3nB,GAAI,EAAG2wC,GAAI,GACzC42T,EAAgB5vX,EAAGu2F,OAAO,QAC1Bs5R,EAAe,CACfjwT,OAAQ,CAACxnD,KAAM,kBACf03W,eAAgB,CAAC13W,KAAM,iBAAkBq5J,UAAU,GACnDi7D,WAAY,CAACt0N,KAAM,iBAAkBlD,MAAOw6W,GAC5CK,mBAAoB,CAAC33W,KAAM,iBAAkBlD,MAAOw6W,EAAcj+M,UAAU,GAC5Eu+M,SAAU,CAAC53W,KAAM,iBAAkBlD,MAAOy6W,GAC1CM,iBAAkB,CAAC73W,KAAM,iBAAkBlD,MAAOy6W,EAAcl+M,UAAU,IAiB9Ey8M,EAAQlxS,SAAW,SAAS34D,EAAK5kB,EAAIywX,EAAY9rX,EAAMwrE,EAAYslC,GAI/D,IAHA,IAAI52F,EAAMsxD,EAAWv/E,OACjB2gH,EAAO6+Q,EAAazrX,GACpB+rX,EAAa,IAAIp7X,MAAMupB,GACnBltB,EAAI,EAAGA,EAAIktB,EAAKltB,IACjB4/G,EAAKygE,SACJ0+M,EAAW7xW,EAAM,EAAIltB,GAAK,CAACw+X,EAAuC,KAAxB,EAAIhgT,EAAWx+E,GAAG,KAAYw+E,EAAWx+E,GAAG,IAEtF++X,EAAW/+X,GAAK,CAACw+X,EAAiC,IAAnBhgT,EAAWx+E,GAAG,IAAWw+E,EAAWx+E,GAAG,IAI9E,IAAIylB,EAAapX,EAAGymB,YAChBkqW,EAAS,IAAMv5W,EAAWulC,KAAO,IAAM8zU,EAEvClzS,EAAWnmE,EAAW2U,MAAMjrB,OAAO,cAClCC,UAAU,IAAM4vX,GAChB/zX,KAAK,CAAC+H,EAAO+rX,EAAW97X,KAAK,MAAOoT,EAAIvN,UAE7C8iF,EAASppC,OAAOjyC,SAEhBq7E,EAASv8E,QACJC,OAAOswG,EAAK54F,MACZtX,MAAK,WACF,IAAIojB,EAAKlkB,EAAGO,OAAO7M,MAChBs9G,EAAK97F,OAAOgP,EAAGvL,KAAKq4F,EAAK97F,OAE5BgP,EAAGvL,KAAK,KAAMy3W,GAEd,IAAIC,EAAQnsW,EAAG1jB,UAAU,QACpBnE,KAAK8zX,GACVE,EAAMz8U,OAAOjyC,SACb0uX,EAAM5vX,QAAQC,OAAO,QAErB2vX,EAAMvvX,MAAK,SAASvP,GAChB,IAAI++X,EAAKjwP,EAAU9uI,EAAE,IACrByO,EAAGO,OAAO7M,MAAMilB,KAAK,CACjB5L,OAAQxb,EAAE,GAAK,IACf,aAAcqiB,EAAM28W,QAAQD,GAC5B,eAAgBA,EAAG5jG,mBAKnCroQ,EAAIxjB,MAAMq0G,EAAMs7Q,EAAWJ,EAAQ3wX,IAC9BoB,MAAMq0G,EAAO,WAAY,MAE9B,IAAIu7Q,EAAkB,SAASz9X,GAC3B,MAAO,IAAMA,EAAE2lB,KAAK,SAASpP,QAAQ,MAAO,MAE5C1T,EAAI46X,EAAgBzwX,EAAGO,OAAO8jB,EAAIjM,OAAOW,aACzC,IAAM03W,EAAgBpsW,GAC1BxN,EAAW65W,uBAAuB76X,GAAK,GAU3Cq4X,EAAQyC,cAAgB,SAASlxX,GAC7B,IAAIoX,EAAapX,EAAGymB,YAEhB0qW,EAAiBnpX,EAAIiuG,aAAa7+F,EAAW2U,MAAO,IAAK,aAC7DolW,EAAepwX,UAAU,iCAAiCmB,SAI1DkV,EAAW65W,uBAAyB,IAIxCxC,EAAQppN,WAAa,SAAS9xK,EAAG0M,EAAOD,GACpC,GAAIzM,EAAE2hB,OAAN,CAEA,IAAIktE,EAAMqsS,EAAQ2C,kBAAkBnxX,GAEpC1M,EAAE8N,MAAK,SAASvP,GACZ28X,EAAQ4C,iBAAiBv/X,EAAGyO,EAAGO,OAAO7M,MAAOgM,EAAOmiF,EAAKpiF,QAIjEyuX,EAAQ4C,iBAAmB,SAASv/X,EAAG8yB,EAAK3kB,EAAOmiF,EAAKpiF,GACpD,IAAIupB,EAAStpB,EAAMspB,OACfi1D,EAAaj1D,EAAOC,KAOxB,GALA5E,EAAIxjB,MAAM,UACNghF,EAAIQ,kBAAoBR,EAAIQ,kBAAkB9wF,QAChCjB,IAATiB,EAAEowF,GAAmB34D,EAAOttB,QAAUnK,EAAEowF,IAG9CE,EAAIkvS,OAAQ,CACX,IAAIh/X,EAIAA,EADQ,YAATR,EAAE4wF,IAAoC,YAAhBn5D,EAAOrU,KACxB,EAEAktE,EAAIkvS,OAAOx/X,EAAE4wF,IAIrB5wF,EAAE2wF,IAAMnwF,EAEL8vF,EAAIU,iBACHxwF,EAAIR,EAAE2wF,IAAML,EAAIU,eAAehxF,IAInC,IAAI+N,EAAI4uX,EAAQsB,aAAaj+X,EAAE0xF,IAAMj6D,EAAOg1D,SAAW,EAIvDzsF,EAAEy/X,GAAK1xX,EAAI,KAAO,IAElB+kB,EAAI1L,KAAK,IAAK42W,EAAcjwX,EAAGvN,IAGnC,IACI+lI,EAAWroD,EAAWj0E,EADtBy1X,GAAmB,EAIvB,GAAG1/X,EAAE2/X,GACD11X,EAAYyiF,EAAWo+C,aACvB5sD,EAAYwO,EAAWm+C,aACvBtE,EAAY9uG,EAAOozG,iBAChB,CACH,IAAI+0P,GAAmBlzS,GAAc,IAAI7rE,MAEzC5W,GACIjK,EAAEwpS,IAAM,GACRo2F,EAAkB,IAEjB5/X,EAAEmO,OAASnO,EAAEmO,MAAMspB,OAAOC,MAAQ,IAAI7W,MAAQ,GAAK,GACpD,GAAK,EAEMq9D,EAAZ,QAASl+E,EAAeA,EAAE6/X,KAAOvvS,EAAIwvS,UAAU9/X,EAAEq2X,KAE5CngX,EAAIo8D,oBAAoBoa,EAAW9hF,OAAoByX,EAAMiB,YACpDopE,EAAW9hF,MAEzBsL,EAAIo8D,oBAAoB76C,EAAO7sB,SAC9B27H,EAAYlkH,EAAMiB,YAClBo8W,GAAmB,GAInBn5P,EADD,OAAQvmI,EACKA,EAAEywF,IAAMH,EAAIyvS,YAAY//X,EAAE0wF,IAE1Bj5D,EAAO7sB,OAAS,gBAG7B0lF,EAAIS,kBACHw1C,EAAYj2C,EAAIS,gBAAgB/wF,IAIxC,GAAGA,EAAEy/X,GAGD3sW,EAAI9zB,KAAKqjB,EAAM0G,OAAQw9G,GAClBj3H,MAAM,CACH,gBAAiBrF,GAAa,GAAK,KACnCmH,KAAM,aAEX,CACH0hB,EAAIxjB,MAAM,gBAAiBtP,EAAEu3B,QAAU,EAAIttB,GAAa,MAExD,IAAI0iF,EAAiBl1D,EAAOg0D,SAExBuiK,EAAehuP,EAAEggY,IAWrB,GAVGhyI,EAAc0xI,GAAmB,EAC/B1xI,EAAerhK,GAAkBA,EAAe95E,KAIlDrP,MAAM0J,QAAQ8gP,KACbA,EAAeA,EAAa,GACxBswI,EAAatwI,KAAeA,EAAe,IAGhDA,GAAiC,SAAjBA,EAAyB,CACxC,IAAIiyI,EAAgBjgY,EAAEkgY,IACnBD,EAAeP,GAAmB,EAChCO,EAAgBtzS,EAAe/hF,MAEpC,IAAI+zX,EAAaxwX,EAAMymB,IACpB8qW,IAAkBf,GAAc,IAAM3+X,EAAEH,GAE3C88X,EAAQlxS,SAAS34D,EAAK5kB,EAAIywX,EAAY3wI,EAClC,CAAC,CAAC,EAAGiyI,GAAgB,CAAC,EAAG15P,IAAa,aAE1ClkH,EAAMjR,KAAK0hB,EAAKyzG,GAGjBt8H,GACCoY,EAAM0G,OAAO+J,EAAKorD,KAK9By+S,EAAQ2C,kBAAoB,SAASnxX,GACjC,IAAIqR,EAAM,GACNiY,EAAStpB,EAAMspB,OAiBnB,OAbAjY,EAAIugX,YAAcpD,EAAQjiF,cAAcjjR,EAAQ,IAChDjY,EAAIsgX,UAAYnD,EAAQjiF,cAAcjjR,EAAQ,QAE3CqB,EAAS4U,QAAQv/B,EAAO,aACvBqR,EAAIggX,OAASz6T,EAASwxE,SAASpoI,GAC3BihF,EAAiBjhF,GACjB,WAAa,OAAQspB,EAAOrU,MAAQ,GAAK,IAG9CjV,EAAM0pB,gBACL3hB,EAAIuM,WAAWjD,EAAKm9W,EAAQ9rS,0BAA0B1iF,IAGnDqR,GAGXm9W,EAAQ9rS,0BAA4B,SAAS1iF,GACzC,IAAIqR,EAAM,GAEN2gX,EAAgBhyX,EAAM2pB,UAAY,GAClCsoW,EAAkBjyX,EAAMq/E,YAAc,GAEtC/1D,EAAStpB,EAAMspB,QAAU,GACzB4oW,EAAiBF,EAAc1oW,QAAU,GACzC6oW,EAAmBF,EAAgB3oW,QAAU,GAE7C24D,EAAK34D,EAAOttB,QACZo2X,EAAMF,EAAel2X,QACrBq2X,EAAOF,EAAiBn2X,QACxBs2X,OAAuB1hY,IAARwhY,EACfG,OAAyB3hY,IAATyhY,GAEjBtqX,EAAIo8D,oBAAoB8d,IAAOqwS,GAAgBC,KAC9ClhX,EAAIsxE,kBAAoB,SAAS9wF,GAC7B,IAAI6+B,OAAgB9/B,IAATiB,EAAEowF,GAAmB34D,EAAOttB,QAAUnK,EAAEowF,GAEnD,OAAGpwF,EAAE83B,SACM2oW,EAAeF,EAAM1hW,EAErB6hW,EAAgBF,EAAOvpW,EAAc4H,IAKxD,IAAI6xD,EAAKj5D,EAAO7sB,MACZ+1X,EAAMN,EAAez1X,MACrBg2X,EAAON,EAAiB11X,OAEzB+1X,GAAOC,KACNphX,EAAIuxE,gBAAkB,SAAS/wF,GAC3B,IAAI6+B,EAAO7+B,EAAEywF,KAAOC,EAEpB,OAAG1wF,EAAE83B,SACM6oW,GAAO9hW,EAEP+hW,GAAQ/hW,IAK3B,IAAI+xD,EAAKn5D,EAAOrU,KACZy9W,EAAMR,EAAej9W,KACrB09W,EAAOR,EAAiBl9W,KACxB29W,OAAuBhiY,IAAR8hY,EACfG,OAAyBjiY,IAAT+hY,EAcpB,OAZGhoW,EAAS4U,QAAQv/B,EAAO,aAAe4yX,GAAgBC,KACtDxhX,EAAIwxE,eAAiB,SAAShxF,GAC1B,IAAI6+B,EAAO7+B,EAAE2wF,KAAOC,EAAK,EAEzB,OAAG5wF,EAAE83B,SACMipW,EAAeF,EAAM,EAAIhiW,EAEzBmiW,EAAgBF,EAAO,EAAIjiW,IAKvCrf,GAGXm9W,EAAQsE,yBAA2B,SAAS9yX,GACxC,IAAIqR,EAAM,GAEN2gX,EAAgBhyX,EAAM2pB,UAAY,GAClCsoW,EAAkBjyX,EAAMq/E,YAAc,GAEtCwmF,EAAW7lK,EAAM27E,UAAY,GAC7Bo3S,EAAmBf,EAAcr2S,UAAY,GAC7Cq3S,EAAqBf,EAAgBt2S,UAAY,GAEjDi1S,EAAK/qN,EAASppK,MACdw2X,EAAMF,EAAiBt2X,MACvB6hH,EAAM00Q,EAAmBv2X,MAa7B,OAXA4U,EAAI6hX,oBAAsB,SAASrhY,GAC/B,IAAI6+B,EAAO7+B,EAAE++X,IAAMA,EAEnB,OAAG/+X,EAAE83B,SACMspW,GAAOviW,EAEX4tF,IACS20Q,EAAMviW,EAAOxc,EAAMm+G,WAAW3hG,EAAM5H,KAIjDzX,GAGXm9W,EAAQjpN,mBAAqB,SAASjyK,EAAG0M,GACrC,GAAI1M,EAAE2hB,QAAWjV,EAAM0pB,eAAvB,CAEA,IAAIy4D,EAAMqsS,EAAQ9rS,0BAA0B1iF,GACxCspB,EAAStpB,EAAMspB,QAAU,GACzBm2B,EAAM,GAEP0iC,EAAIQ,mBACHljC,EAAIjrD,MAAK,SAAS8c,EAAIzf,GAClByf,EAAGnQ,MAAM,UAAWghF,EAAIQ,kBAAkB9wF,OAI/CswF,EAAIS,iBACHnjC,EAAIjrD,MAAK,SAAS8c,EAAIzf,GAClBqiB,EAAMjR,KAAKqO,EAAI6wE,EAAIS,gBAAgB/wF,OAIxCswF,EAAIU,gBACHpjC,EAAIjrD,MAAK,SAAS8c,EAAIzf,GAClB,IAAI0xF,EAAK1xF,EAAE0xF,IAAMj6D,EAAOg1D,QAAU,EAC9B60S,EAAOhxS,EAAIU,eAAehxF,GAE9Byf,EAAG2H,KAAK,IAAK42W,EAAcrB,EAAQsB,aAAavsS,GAAK4vS,IAGrDthY,EAAEshY,KAAOA,KAId1zU,EAAI9uD,QACH2C,EAAE8N,MAAK,SAASvP,GAEZ,IADA,IAAIyf,EAAKhR,EAAGO,OAAO7M,MACXtC,EAAI,EAAGA,EAAI+tD,EAAI9uD,OAAQe,IAC3B+tD,EAAI/tD,GAAG4f,EAAIzf,QAM3B28X,EAAQjiF,cAAgB,SAASjjR,EAAQ0lC,GACrC,IAAI3lC,EAAO2lC,EAASjnD,EAAImyC,eAAe5wB,EAAQ0lC,GAAQ58D,MAAQk3B,EAE/D,GAAGD,EAAM,CACL,IAAI84G,EAAa94G,EAAK5sB,MACtB,IAAI4sB,EAAK6mD,YAAc7mD,EAAKmwG,WAAazxH,EAAIo8D,oBAAoBg+D,GAC7D,OAAOtyD,EAAWmS,4BAA4B34D,GAGtD,OAAOthB,EAAIvN,UAGf,IAAI44X,EAAiB,CACjBt+W,MAAO,EAAGE,KAAM,EAAGgG,OAAQ,EAAGqI,OAAQ,EAAGC,KAAM,GAGnD,SAAS+vW,EAAkB//X,EAAG+xW,EAAc9yV,EAAU+gX,GAClD,IAAI9wX,EAAQlC,EAAGO,OAAOvN,EAAEolB,OAAOW,YAE3BnjB,GAAqC,IAAjCmvW,EAAajvW,QAAQ,OACzB,OACoC,IAApCivW,EAAajvW,QAAQ,UAAmB,SAAW,SACnDosD,GAAsC,IAAlC6iT,EAAajvW,QAAQ,QACzB,OACmC,IAAnCivW,EAAajvW,QAAQ,SAAkB,QAAU,SAKjD/D,EAAIihY,EAAeA,EAAe,GAAM,EAAI,EAE5CC,GAAYxxV,EAAaxe,UAAUjwB,GAAK,GAAKglB,EAAe,EAC5D4R,EAAKkpW,EAAe5wU,GAAKnwD,EACzB6oB,EAAgB,IAAX3I,EAAkB6gX,EAAel9X,GAAK7D,GAC1C+gY,EAAel9X,GAAK,GAAKq9X,EAAWhhX,EAAW,EAGpDjf,EAAE2lB,KAAK,cAAeupC,GACtBhgD,EAAMyW,KAAK,YAAa,aAAeiR,EAAK,IAAMhP,EAAK,KAG3D,SAASs4W,EAAmB3hY,EAAGmO,GAC3B,IAAIuS,EAAW1gB,EAAE8O,IAAMX,EAAM27E,SAAS1mE,KACtC,OAAQ1U,EAAUgS,IAAaA,EAAW,EAAKA,EAAW,EAI9Di8W,EAAQjuI,eAAiB,SAASjtP,EAAG0M,EAAOD,GACxC,GAAIzM,EAAE2hB,OAAN,CAEA,IAAIi+W,EACJ,GAAGlzX,EAAM0pB,eAAgB,CACrB,IAAIy4D,EAAMqsS,EAAQsE,yBAAyB9yX,GAC3CkzX,EAAsB/wS,EAAI+wS,oBAG9B,IAAI33S,EAAev7E,EAAMu7E,aACrBpkE,EAAapX,EAAGymB,YAEpBlzB,EAAE8N,MAAK,SAASvP,GACZ,IAAIwB,EAAIiN,EAAGO,OAAO7M,MAEdyM,EAAO86E,EACPxzE,EAAI0rX,cAAc5hY,EAAGmO,EAAO,MAAO,gBACnC+H,EAAI0rX,cAAc5hY,EAAGmO,EAAO,KAAM,QAEtC,GAAIS,GAAiB,IAATA,EAAZ,CAKA,GAAG86E,EAAc,CACb,IAAInkE,EAASpX,EAAMkjF,QAAQnxB,aAAe/xD,EAAMkjF,QAAQnxB,aAAalgE,EAAGmO,EAAOmX,GAAc,GACzFgsE,EAAc,GAClBhC,EAAsBgC,EAAanjF,EAAOnO,EAAEH,GAC5C,IAAIqS,EAAO/D,EAAMojF,OAAS,GAC1B3iF,EAAOsH,EAAIs7E,mBAAmB5iF,EAAM2W,EAAQD,EAAWmsE,UAAWH,EAAatxF,EAAGkS,GAGtF,IAAIugC,EAAMzyC,EAAE6hY,IAAM1zX,EAAMw7E,aACpBjpE,EAAWihX,EAAmB3hY,EAAGmO,GACjCktC,EAAYgmV,EACZA,EAAoBrhY,GACnBA,EAAE++X,IAAM5wX,EAAM27E,SAASl/E,MAE5BpJ,EAAExC,KAAK29X,EAAQh8W,KACP3gB,EAAEo7C,IAAMjtC,EAAM27E,SAASzpE,OACvBK,EACA26B,GACHzsC,KAAKA,GACL5P,KAAKkxC,EAAalpB,gBAAiB9Y,GACnClP,KAAKwiY,EAAmB/uV,EAAK/xB,EAAU1gB,EAAE2wF,UAxB1CnvF,EAAE4O,cA4BdusX,EAAQ7oN,kBAAoB,SAASryK,EAAG0M,GACpC,GAAI1M,EAAE2hB,QAAWjV,EAAM0pB,eAAvB,CAEA,IAAIy4D,EAAMqsS,EAAQsE,yBAAyB9yX,GAE3C1M,EAAE8N,MAAK,SAASvP,GACZ,IAAIogD,EAAK3xC,EAAGO,OAAO7M,MACf48X,EAAKzuS,EAAI+wS,oBAAoBrhY,GAC7B6hY,EAAK7hY,EAAE6hY,IAAM1zX,EAAMw7E,aACnBjpE,EAAWihX,EAAmB3hY,EAAGmO,GAErCkU,EAAMjR,KAAKgvC,EAAI2+U,GACfyC,EAAkBphV,EAAIyhV,EAAInhX,EAAU1gB,EAAEshY,MAAQthY,EAAE2wF,UAMxD,IAAImxS,EAAgB,GAqCpB,SAASC,EAAYC,EAAQC,EAAQC,EAAQC,GACzC,IAAIC,EAAMJ,EAAO,GAAKC,EAAO,GACzBI,EAAML,EAAO,GAAKC,EAAO,GACzBK,EAAMJ,EAAO,GAAKD,EAAO,GACzBM,EAAML,EAAO,GAAKD,EAAO,GACzBO,EAAMl9X,KAAKw5B,IAAIsjW,EAAMA,EAAMC,EAAMA,EAAKP,EAAgB,GACtDW,EAAMn9X,KAAKw5B,IAAIwjW,EAAMA,EAAMC,EAAMA,EAAKT,EAAgB,GACtDY,GAAQD,EAAMA,EAAML,EAAMI,EAAMA,EAAMF,GAAOH,EAC7CQ,GAAQF,EAAMA,EAAMJ,EAAMG,EAAMA,EAAMD,GAAOJ,EAC7CS,EAAS,EAAIH,GAAOD,EAAMC,GAC1BI,EAAS,EAAIL,GAAOA,EAAMC,GAC9B,MAAO,CACH,CACIh0X,EAAGmwB,MAAMqjW,EAAO,IAAMW,GAAUF,EAAOE,GAAS,GAChDn0X,EAAGmwB,MAAMqjW,EAAO,IAAMW,GAAUD,EAAOC,GAAS,IACjD,CACCn0X,EAAGmwB,MAAMqjW,EAAO,IAAMY,GAAUH,EAAOG,GAAS,GAChDp0X,EAAGmwB,MAAMqjW,EAAO,IAAMY,GAAUF,EAAOE,GAAS,KArD5DlG,EAAQ7tF,WAAa,SAASp/P,EAAKyyV,GAC/B,GAAGzyV,EAAI5wC,OAAS,EAAK,MAAO,IAAM4wC,EAAI5sC,KAAK,KAC3C,IAEIjD,EAFA6iD,EAAO,IAAMhT,EAAI,GACjBu9S,EAAW,GAEf,IAAIptV,EAAI,EAAGA,EAAI6vC,EAAI5wC,OAAS,EAAGe,IAC3BotV,EAAStqV,KAAKo/X,EAAYryV,EAAI7vC,EAAI,GAAI6vC,EAAI7vC,GAAI6vC,EAAI7vC,EAAI,GAAIsiY,IAG9D,IADAz/U,GAAQ,IAAMuqS,EAAS,GAAG,GAAK,IAAMv9S,EAAI,GACrC7vC,EAAI,EAAGA,EAAI6vC,EAAI5wC,OAAS,EAAGe,IAC3B6iD,GAAQ,IAAMuqS,EAASptV,EAAI,GAAG,GAAK,IAAMotV,EAASptV,EAAI,GAAG,GAAK,IAAM6vC,EAAI7vC,GAG5E,OADA6iD,GAAQ,IAAMuqS,EAASv9S,EAAI5wC,OAAS,GAAG,GAAK,IAAM4wC,EAAIA,EAAI5wC,OAAS,GAC5D4jD,GAGXi6U,EAAQ3tF,aAAe,SAASt/P,EAAKyyV,GACjC,GAAGzyV,EAAI5wC,OAAS,EAAK,MAAO,IAAM4wC,EAAI5sC,KAAK,KAAO,IAClD,IAGIjD,EAHA6iD,EAAO,IAAMhT,EAAI,GACjBozV,EAAQpzV,EAAI5wC,OAAS,EACrBmuV,EAAW,CAAC80C,EAAYryV,EAAIozV,GAAQpzV,EAAI,GAAIA,EAAI,GAAIyyV,IAExD,IAAItiY,EAAI,EAAGA,EAAIijY,EAAOjjY,IAClBotV,EAAStqV,KAAKo/X,EAAYryV,EAAI7vC,EAAI,GAAI6vC,EAAI7vC,GAAI6vC,EAAI7vC,EAAI,GAAIsiY,IAM9D,IAJAl1C,EAAStqV,KACLo/X,EAAYryV,EAAIozV,EAAQ,GAAIpzV,EAAIozV,GAAQpzV,EAAI,GAAIyyV,IAGhDtiY,EAAI,EAAGA,GAAKijY,EAAOjjY,IACnB6iD,GAAQ,IAAMuqS,EAASptV,EAAI,GAAG,GAAK,IAAMotV,EAASptV,GAAG,GAAK,IAAM6vC,EAAI7vC,GAGxE,OADA6iD,GAAQ,IAAMuqS,EAAS61C,GAAO,GAAK,IAAM71C,EAAS,GAAG,GAAK,IAAMv9S,EAAI,GAAK,IAClEgT,GA2BX,IAAIqgV,EAAW,CACXC,GAAI,SAAS39S,EAAIC,GACb,MAAO,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,GAAK,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,IAE5D29S,GAAI,SAAS59S,EAAIC,GACb,MAAO,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,GAAK,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,IAE5D49S,IAAK,SAAS79S,EAAIC,GACd,MAAO,IAAM72E,EAAGmwB,OAAOymD,EAAG,GAAKC,EAAG,IAAM,EAAG,GAAK,IAC5C72E,EAAGmwB,MAAM0mD,EAAG,GAAI,GAAK,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,IAEnD69S,IAAK,SAAS99S,EAAIC,GACd,MAAO,IAAM72E,EAAGmwB,OAAOymD,EAAG,GAAKC,EAAG,IAAM,EAAG,GAAK,IAC5C72E,EAAGmwB,MAAM0mD,EAAG,GAAI,GAAK,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,KAGnD89S,EAAa,SAAS/9S,EAAIC,GAC1B,MAAO,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,GAAK,IAAM72E,EAAGmwB,MAAM0mD,EAAG,GAAI,IAE5Dq3S,EAAQz5Q,MAAQ,SAASniF,GACrB,IAAIsiW,EAAUN,EAAShiW,IAAUqiW,EACjC,OAAO,SAAS1zV,GAEZ,IADA,IAAIgT,EAAO,IAAMj0C,EAAGmwB,MAAM8Q,EAAI,GAAG,GAAI,GAAK,IAAMjhC,EAAGmwB,MAAM8Q,EAAI,GAAG,GAAI,GAC5D7vC,EAAI,EAAGA,EAAI6vC,EAAI5wC,OAAQe,IAC3B6iD,GAAQ2gV,EAAQ3zV,EAAI7vC,EAAI,GAAI6vC,EAAI7vC,IAEpC,OAAO6iD,IAMfi6U,EAAQ2G,WAAa,WACjB,IAAIrhU,EAAS/rD,EAAI43N,iBAAiBr/N,EAAGO,OAAO,QAAS,MAAO,oBAAoB,SAASvN,GACrFA,EAAE2lB,KAAKZ,EAAgB83U,UAClBhvV,MAAM,CACHnG,SAAU,WACVoK,KAAM,WACNke,IAAK,WACL5Q,MAAO,SACP8H,OAAQ,SACR,UAAW,SAOnB46W,EAAUrtX,EAAIiuG,aAAaliD,EAAQ,OAAQ,sBAAsB,SAASxgE,GAC1EA,EAAE2lB,KAAK,IAAK,eACP9X,MAAM,CACH,eAAgB,EAChB8B,KAAM,aAIlBurX,EAAQ16T,OAASA,EACjB06T,EAAQ4G,QAAUA,GAyBtB5G,EAAQ6G,YAAc,GACtB,IAAIC,EAAmB,EACnBC,EAAiB,IA8GrB,SAASC,EAAS98W,GACd,IAAI+8W,EAAY/8W,EAAK+7E,aAAa,oBAClC,GAAiB,OAAdghS,EACH,OAAOA,EACH/8W,EAAK+7E,aAAa,aAClB/7E,EAAK+7E,aAAa,eAClB/7E,EAAK+7E,aAAa,SAmB1B,SAASq8R,EAAW4E,EAAS31X,GACzB,IAAI21X,EAAS,OAAO,KAEpB,IAAI5xW,EAAU/jB,EAAG+Y,SACb68W,EAAU7xW,EAAQ8xW,cAAgB,GAAM9xW,EAAQ+xW,UAAY,GAChE,MAAO,QAAWF,EAAU,IAAMD,EAAU,KA1IhDlH,EAAQ56U,KAAO,SAASl7B,EAAMo9W,EAAU/9M,GAUpC,IAAI1mK,EAiDA0kX,EAAUjiU,EAhDd,GAFIikH,IAAMA,EAAOy9M,EAAS98W,IAEvBq/J,GAEC,GADA1mK,EAAMm9W,EAAQ6G,YAAYt9M,GACvB1mK,EAAK,OAAOtJ,EAAIuM,WAAW,GAAIjD,QAC/B,GAA8B,IAA3BqH,EAAK+sG,WAAW90H,OAAc,CAOpC,IAAImxB,EAAYpJ,EAAK+sG,WAAW,GAGhC,GADAsyD,EAAOy9M,EAAS1zW,GACbi2J,EAAM,CACL,IAAIn4K,GAAKkiB,EAAU2yE,aAAa,MAAQ,EACpClvF,GAAKuc,EAAU2yE,aAAa,MAAQ,EACpCt5E,EAAY2G,EAAU2yE,aAAa,aAEvC,IAAIt5E,EAAW,CAGX,IAAI66W,EAAUxH,EAAQ56U,KAAK9xB,GAAW,EAAOi2J,GAS7C,OARGn4K,IACCo2X,EAAQ5wX,MAAQxF,EAChBo2X,EAAQ3wX,OAASzF,GAElB2F,IACCywX,EAAQ1yW,KAAO/d,EACfywX,EAAQ3yW,QAAU9d,GAEfywX,EAeX,GAHAj+M,GAAQ,IAAMn4K,EAAI,IAAM2F,EAAI,IAAM4V,EAElC9J,EAAMm9W,EAAQ6G,YAAYt9M,GACvB1mK,EAAK,OAAOtJ,EAAIuM,WAAW,GAAIjD,IAIvCykX,EACCC,EAAWr9W,GAEXo7C,EAAS06T,EAAQ16T,OAAOp7C,OAGxBq9W,EAAWr9W,EAAK4B,WAAU,GAC1Bw5C,EAAO15C,YAAY27W,IAIvBz1X,EAAGO,OAAOk1X,GACL98W,KAAK,YAAa,MAClBpoB,KAAKkxC,EAAazmB,aAAc,EAAG,GAExC,IAAI26W,EAAWF,EAASp9W,wBACpBkrH,EAAU2qP,EAAQ4G,QACjB18W,OACAC,wBAEDm9W,GAAUhiU,EAAOwvD,YAAYyyQ,GAEjC,IAAIpiV,EAAK,CACLn5B,OAAQy7W,EAASz7W,OACjB9H,MAAOujX,EAASvjX,MAChBtN,KAAM6wX,EAAS7wX,KAAOy+H,EAAQz+H,KAC9Bke,IAAK2yW,EAAS3yW,IAAMugH,EAAQvgH,IAC5Bje,MAAO4wX,EAAS5wX,MAAQw+H,EAAQz+H,KAChCie,OAAQ4yW,EAAS5yW,OAASwgH,EAAQvgH,KAetC,OATGgyW,GAAoBC,IACnB/G,EAAQ6G,YAAc,GACtBC,EAAmB,GAIpBv9M,IAAMy2M,EAAQ6G,YAAYt9M,GAAQpkI,GACrC2hV,IAEOvtX,EAAIuM,WAAW,GAAIq/B,IA0B9B66U,EAAQtgP,WAAa,SAAS56I,EAAGoiY,EAAS31X,GACtCzM,EAAE2lB,KAAK,YAAa63W,EAAW4E,EAAS31X,KAW5CyuX,EAAQh5U,aAAe,SAASs2D,GAG5B,IAAIvtF,EAAK,0DACLxsB,EAAS+5G,EAAQ7yF,KAAO,OAAS,eACjCkC,EAAY2wF,EAAQ/5G,GAAQ,cAAgB,GAE5Cy6N,EAAYrxM,EAAUtR,QAAQ0U,GAAI,SAASpF,EAAOg+D,EAAIy+E,GACtD,MAAO,CAACz+E,EAAIy+E,GAAIjhK,KAAK,QAExBiN,MAAM,KAEP,MAAO,CACHhC,GAAI4sN,EAAU,IAAM,EACpBjnN,GAAIinN,EAAU,IAAM,IAI5BgiK,EAAQxiW,aAAe,SAAS8/E,EAASlsG,EAAG2F,GACxC,IAAIgZ,EAAK,yBACLxsB,EAAS+5G,EAAQ7yF,KAAO,OAAS,eACjCyhS,EAAS5uM,EAAQ7yF,KAAO,OAAS,eACjCkC,EAAY2wF,EAAQ/5G,GAAQ,cAAgB,GAWhD,OATA6N,EAAIA,GAAK,EACT2F,EAAIA,GAAK,EAET4V,EAAYA,EAAUtR,QAAQ0U,EAAI,IAAIyvC,OACtC7yC,GAAa,cAAgBvb,EAAI,KAAO2F,EAAI,IAC5C4V,EAAYA,EAAU6yC,OAEtB89C,EAAQ4uM,GAAQ,YAAav/R,GAEtBA,GAGXqzW,EAAQpjJ,SAAW,SAASt/H,GACxB,IAAIvtF,EAAK,iDACLxsB,EAAS+5G,EAAQ7yF,KAAO,OAAS,eACjCkC,EAAY2wF,EAAQ/5G,GAAQ,cAAgB,GAE5Cy6N,EAAYrxM,EAAUtR,QAAQ0U,GAAI,SAASpF,EAAOg+D,EAAIy+E,GACtD,MAAO,CAACz+E,EAAIy+E,GAAIjhK,KAAK,QAExBiN,MAAM,KAEP,MAAO,CACHhC,GAAI4sN,EAAU,IAAM,EACpBjnN,GAAIinN,EAAU,IAAM,IAI5BgiK,EAAQviW,SAAW,SAAS6/E,EAASlsG,EAAG2F,GACpC,IAAIgZ,EAAK,qBACLxsB,EAAS+5G,EAAQ7yF,KAAO,OAAS,eACjCyhS,EAAS5uM,EAAQ7yF,KAAO,OAAS,eACjCkC,EAAY2wF,EAAQ/5G,GAAQ,cAAgB,GAWhD,OATA6N,EAAIA,GAAK,EACT2F,EAAIA,GAAK,EAET4V,EAAYA,EAAUtR,QAAQ0U,EAAI,IAAIyvC,OACtC7yC,GAAa,UAAYvb,EAAI,KAAO2F,EAAI,IACxC4V,EAAYA,EAAU6yC,OAEtB89C,EAAQ4uM,GAAQ,YAAav/R,GAEtBA,GAGX,IAAI+6W,EAAW,UAEf1H,EAAQpiW,mBAAqB,SAAS1sB,EAAW6xJ,EAAQ4kO,GAIrD,GAHA5kO,EAASA,GAAU,EACnB4kO,EAASA,GAAU,EAEfz2X,EAAJ,CAGA,IAAI+2D,EAAoB,IAAX86F,GAA2B,IAAX4kO,EACzB,GACA,UAAY5kO,EAAS,IAAM4kO,EAAS,IAExCz2X,EAAU0B,MAAK,WACX,IAAI3O,GAAKuB,KAAKygG,aAAa,cAAgB,IAAI5qF,QAAQqsX,EAAU,IACjEzjY,GAAKgkE,EACLhkE,EAAIA,EAAEu7D,OACNh6D,KAAKihG,aAAa,YAAaxiG,QAIvC,IAAI2jY,EAAiC,yBAErC5H,EAAQniW,mBAAqB,SAAS3sB,EAAW6xJ,EAAQ4kO,GACjDz2X,GAEJA,EAAU0B,MAAK,WACX,IAAI4V,EACAwN,EAAKlkB,EAAGO,OAAO7M,MACfyM,EAAO+jB,EAAG3jB,OAAO,QAErB,GAAIJ,EAAKiY,OAAT,CAEA,IAAI9Y,EAAIwlB,WAAW3kB,EAAKwY,KAAK,MAAQ,GACjC1T,EAAI6f,WAAW3kB,EAAKwY,KAAK,MAAQ,GAEjCo9W,GAAqB7xW,EAAGvL,KAAK,cAAgB,IAAIE,MAAMi9W,GAGvDp/W,EADU,IAAXu6I,GAA2B,IAAX4kO,EACF,GAEA,CACT,aAAev2X,EAAI,IAAM2F,EAAI,IAC7B,SAAWgsJ,EAAS,IAAM4kO,EAAS,IACnC,cAAiBv2X,EAAK,KAAQ2F,EAAK,KAIxC8wX,GACCr/W,EAAWxiB,KAAK6hY,GAGpB7xW,EAAGvL,KAAK,YAAajC,EAAWriB,KAAK,YAOvC,KACA,SAAUtE,EAAQC,EAASkB,GAEjC,aAEA,IAAIu3D,EAAcv3D,EAAoB,QAClCo9L,EAAuBp9L,EAAoB,QAC3Cs3D,EAA2Bt3D,EAAoB,QAEnDnB,EAAOC,QAAU,SAAU2C,EAAQH,EAAKN,GACtC,IAAI8jY,EAAcvtU,EAAYj2D,GAC1BwjY,KAAerjY,EAAQ27L,EAAqBp1J,EAAEvmC,EAAQqjY,EAAaxtU,EAAyB,EAAGt2D,IAC9FS,EAAOqjY,GAAe9jY,IAMvB,OACA,SAAUnC,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAiF9B,SAAS+kY,EAAa73Q,GAClB,OAAO32G,EAAIuM,WAAW,GAAIoqG,EAAI,CAC1B+lE,UAAW18K,EAAIoiH,WAAW,GAAIzL,EAAG+lE,WACjChzE,MAAO1pG,EAAIoiH,WAAW,GAAIzL,EAAGjN,OAC7B+yE,OAAQz8K,EAAIoiH,WAAW,GAAIzL,EAAG8lE,UA7EtCn0L,EAAOC,QAAU,SAAS8zL,EAAUn/F,GAChC,IAAIvzF,EAAG8kY,EAAKC,EAERC,EAAM,SAAS7xT,GAAO,OAAOA,EAAIpkB,WACjCk2U,EAAM,SAAS9xT,GAAO,OAAOA,GAEjC,OAAOogB,GACH,IAAK,IACL,IAAK,IACD,OAAOm/F,EACX,IAAK,IASD,IARuB,IAApBA,EAASzzL,QACRoX,EAAIq4B,KAAK,gEAKbo2V,EAAMpyM,EAAS,GAEX1yL,EAAI,EAAGA,EAAI8kY,EAAI/xM,UAAU9zL,OAAQe,IACjC8kY,EAAI/xM,UAAU/yL,GAAKglY,EAAIF,EAAI/xM,UAAU/yL,IAEzC,IAAIA,EAAI,EAAGA,EAAI8kY,EAAI/kR,MAAM9gH,OAAQe,IAC7B8kY,EAAI/kR,MAAM//G,GAAKglY,EAAIF,EAAI/kR,MAAM//G,IAEjC,IAAIA,EAAI,EAAGA,EAAI8kY,EAAIhyM,OAAO7zL,OAAQe,IAC9B8kY,EAAIhyM,OAAO9yL,GAAKglY,EAAIF,EAAIhyM,OAAO9yL,IAGnC,OAAO0yL,EACX,IAAK,KACD,IAAIv9K,EAAM6vX,EACVA,EAAMC,EACNA,EAAM9vX,EAGV,IAAK,KAaD,IAXuB,IAApBu9K,EAASzzL,QACRoX,EAAIq4B,KAAK,sEAObo2V,EAAMD,EAAanyM,EAAS,IAC5BqyM,EAAMF,EAAanyM,EAAS,IAExB1yL,EAAI,EAAGA,EAAI8kY,EAAI/xM,UAAU9zL,OAAQe,IACjC8kY,EAAI/xM,UAAU/yL,GAAKglY,EAAIF,EAAI/xM,UAAU/yL,IAEzC,IAAIA,EAAI,EAAGA,EAAI8kY,EAAI/kR,MAAM9gH,OAAQe,IAC7B8kY,EAAI/kR,MAAM//G,GAAKglY,EAAIF,EAAI/kR,MAAM//G,IAEjC,IAAIA,EAAI,EAAGA,EAAI8kY,EAAIhyM,OAAO7zL,OAAQe,IAC9B8kY,EAAIhyM,OAAO9yL,GAAKglY,EAAIF,EAAIhyM,OAAO9yL,IAGnC,MAAM+kY,EAAIhyM,UAAU9zL,OAChB6lY,EAAI/xM,UAAUjwL,KAAKmiY,EAAIF,EAAIhyM,UAAUhjI,UAEzC,MAAMg1U,EAAIhlR,MAAM9gH,OACZ6lY,EAAI/kR,MAAMj9G,KAAKmiY,EAAIF,EAAIhlR,MAAMhwD,UAEjC,MAAMg1U,EAAIjyM,OAAO7zL,OACb6lY,EAAIhyM,OAAOhwL,KAAKmiY,EAAIF,EAAIjyM,OAAO/iI,UAGnC,MAAO,CAAC+0U,MAed,OACA,SAAUnmY,EAAQC,GAExBD,EAAOC,QAAU,WACb,IAAK,IAAIoB,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAClC,QAAqBd,IAAjBM,UAAUQ,GAAkB,OAAOR,UAAUQ,KAOnD,OACA,SAAUrB,EAAQC,EAASkB,GAEjC,aAGA,SAASolY,EAAW56T,EAAOxpE,EAAOd,GAChC,IAAIV,EAAa,EAATgrE,EAAMtqE,GACd,GAAGV,GAAK,EACN,MAAO,GAET,IAA2BgF,EAAvB6E,EAAS,IAAIxF,MAAMrE,GACvB,GAAGU,IAAMsqE,EAAMrrE,OAAO,EACpB,IAAIqF,EAAE,EAAGA,EAAEhF,IAAKgF,EACd6E,EAAO7E,GAAKxD,OAGd,IAAIwD,EAAE,EAAGA,EAAEhF,IAAKgF,EACd6E,EAAO7E,GAAK4gY,EAAW56T,EAAOxpE,EAAOd,EAAE,GAG3C,OAAOmJ,EAGT,SAASg8X,EAAY76T,EAAOxpE,GAC1B,IAAIqI,EAAQnJ,EAEZ,IADAmJ,EAAS,IAAIxF,MAAM2mE,GACftqE,EAAE,EAAGA,EAAEsqE,IAAStqE,EAClBmJ,EAAOnJ,GAAKc,EAEd,OAAOqI,EAGT,SAASi8X,EAAK96T,EAAOxpE,GAInB,OAHoB,qBAAVA,IACRA,EAAQ,UAEIwpE,GACZ,IAAK,SACH,GAAGA,EAAQ,EACT,OAAO66T,EAAkB,EAAN76T,EAASxpE,GAEhC,MACA,IAAK,SACH,GAA6B,kBAAlBwpE,EAAY,OACrB,OAAO46T,EAAW56T,EAAOxpE,EAAO,GAEpC,MAEF,MAAO,GAGTnC,EAAOC,QAAUwmY,GAIX,OACA,SAAUzmY,EAAQC,EAASkB,GAEjC,aAGA,IAAIu2H,EAAgBv2H,EAAoB,QACpCklL,EAAgBllL,EAAoB,QACpCulY,EAAgBvlY,EAAoB,QACpCwlY,EAAgBxlY,EAAoB,QAEpCylY,EAAiB,SAAUnkS,EAAStgG,GACvC,OAAOsgG,EAAQjpF,QAAQ,KAAMmtX,EAAcxkY,KAG5CnC,EAAOC,QAAU,SAAUkC,EAAO0kY,EAAgBC,GACjD,IAAKzgN,EAASygN,GAAe,MAAM,IAAI/vU,UAAU6vU,EAAeC,EAAgB1kY,IAChF,IAAKu1H,EAAQv1H,GAAQ,CACpB,GAAI,YAAa2kY,EAAc,OAAOA,EAAa,WACnD,GAAIA,EAAaC,WAAY,OAAO,KAErC,IAAIC,EAAeN,EAAaI,EAAaE,cAE7C,MADKtvQ,EAAQsvQ,KAAeA,EAAeH,GACrC,IAAI9vU,UAAU6vU,EAAeI,EAAc7kY,MAM5C,OACA,SAAUnC,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAE/B8lY,GAAiB,EAErBjnY,EAAOC,QAAU,SAAqBqqB,EAAG5a,EAAI0uG,GACzC,IAAIt3F,EAAapX,EAAGymB,YAEpB,IAAGzmB,EAAGq8N,WAAYr8N,EAAG6lB,SAArB,CAEA,IAYIlzB,EAZA6kY,EAAYpgX,EAAWwwL,OAAO6vL,UAC9BC,EAAkBtgX,EAAWwwL,OAAO+vL,gBAcxC,GAZiB,IAAdjpR,GAAiC,WAAd8oR,GAA8C,iBAApBE,GAC5CH,GAAkBv3X,EAAGpD,MAAQoD,EAAG+Y,SAASquM,UAEzCp/M,EAAIivF,SAASjvF,EAAI8vD,EAAE93D,EAAI,+CAAgD,QACvEu3X,GAAiB,GAEjBA,GAAiB,EAIJ,IAAd7oR,EAAiB/7G,EAAO6kY,EACL,IAAd9oR,IAAiB/7G,EAAO+kY,GAC5B/kY,EAAJ,CAEA,IASIhB,EAAGsE,EAAG4lO,EAAO9oO,EAAKimD,EAAMt1B,EATxB87M,EAAepoN,EAAWqoN,aAC1BroN,EAAWqoN,aAAa7pO,QACxB,GAEA0kO,EAAa1/M,EAAEhe,OAAO,GAAG,GACzBkb,EAAW9X,EAAGw3C,UACds6B,EAAYwoJ,EAAWr6N,MACvB28R,EAAc9qN,EAAU8qN,YAGxBg7F,EAAa,GACbC,EAAc,GACdC,EAAQ,GACRC,EAAU,GAwDd,GAAGntW,EAAS4U,QAAQsyC,EAAW,YAAa,CACxC,IAAIp+B,EAAY4mL,EAAW9nI,MACvBwlS,EAAiBx4J,EAAanpO,QAAQq9C,GAE9B,WAAT/gD,GACwB,IAApBqlY,EAAuBx4J,EAAa/qO,KAAKi/C,GACvC8rL,EAAav9N,OAAO+1X,EAAgB,GAC1B,iBAATrlY,IACN6sO,EAAe,GACfx/N,EAAGisD,SAAS,GAAG9D,SAAQ,SAASr2D,GACzB4hD,IAAc5hD,EAAE0gG,OACfgtI,EAAa/qO,KAAK3C,EAAE0gG,UAGzBxyF,EAAGymB,YAAYg5M,cAAgBz/N,EAAGymB,YAAYg5M,aAAa7uO,SAAW4uO,EAAa5uO,SAA8B,IAApBonY,IAC5Fx4J,EAAe,KAIvB50M,EAAS95B,KAAK,eAAgBkP,EAAI,eAAgBw/N,OAC/C,CACH,IAEIznN,EAFAkgX,EAAiBr7F,GAAeA,EAAYhsS,OAC5CsnY,EAAsB,GAE1B,GAAGD,EACC,IAAItmY,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAC5BomB,EAASD,EAASnmB,GACdomB,EAAOvU,SACRuU,EAAO6kR,cAAgBA,GACtBs7F,EAAoBzjY,KAAK9C,GAKrC,GAAY,WAATgB,EAAmB,CAClB,IAAIwlY,EAEJ,OAAOrmT,EAAUtuE,SACb,KAAK,EACD20X,EAAiB,aACjB,MACJ,KAAK,EACDA,GAAiB,EACjB,MACJ,IAAK,aACDA,GAAiB,EACjB,MAGR,GAAGF,EACC,IAAItmY,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,KACD,IAAxBmmB,EAASnmB,GAAG6R,SAAqBsU,EAASnmB,GAAGirS,cAAgBA,GAC5Dw7F,EAActgX,EAASnmB,GAAIwmY,QAInCC,EAActmT,EAAWqmT,QAE1B,GAAY,iBAATxlY,EAAyB,CAG/B,IAAI0lY,EAAWC,EAAWC,EAAaC,EACnCC,GAAa,EACjB,IAAI9mY,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAG5B,GAFA0mY,EAAYvgX,EAASnmB,KAAOmgF,EAC5BymT,GAAyC,IAA3BzgX,EAASnmB,GAAGqlB,YACvBqhX,IAAaE,IAEhBD,EAAaL,GAAkBngX,EAASnmB,GAAGirS,cAAgBA,GAEvD07F,IAAqC,IAAxBxgX,EAASnmB,GAAG6R,UAAqBonB,EAAS4U,QAAQ1nB,EAASnmB,GAAI,wBAAwB,CACpG8mY,GAAa,EACb,MAIR,IAAI9mY,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAE5B,IAA2B,IAAxBmmB,EAASnmB,GAAG6R,UAEZonB,EAAS4U,QAAQ1nB,EAASnmB,GAAI,uBAIjC,OAAOmgF,EAAUtuE,SACb,IAAK,aACD40X,EAActgX,EAASnmB,IAAI,GAC3B,MACJ,KAAK,EACD6mY,IAAaC,GAAoB,aACjCJ,EAAYvgX,EAASnmB,KAAOmgF,EAE5BymT,GAA0C,IAA3BzgX,EAASnmB,GAAGqlB,aAAwBc,EAASnmB,GAAGirS,YAC/D07F,EAAYD,GAAcJ,GAAkBngX,EAASnmB,GAAGirS,cAAgBA,EACxEw7F,EAActgX,EAASnmB,MAAK2mY,IAAaC,IAAsBC,GAC/D,OAKhB,IAAI7mY,EAAI,EAAGA,EAAImmY,EAAMlnY,OAAQe,IAEzB,GADAkqO,EAAQi8J,EAAMnmY,GACVkqO,EAAJ,CACA,IAAI7+N,EAAS6+N,EAAME,kBAEf28J,EAAaxmY,OAAO8mD,KAAKh8C,GAC7B,IAAI/G,EAAI,EAAGA,EAAIyiY,EAAW9nY,OAAQqF,IAC9BlD,EAAM2lY,EAAWziY,GACjBytB,EAAMk0W,EAAW7kY,GAAO6kY,EAAW7kY,IAAQ,GAC3C2wB,EAAIq0W,EAAQpmY,IAAMqL,EAAOjK,GASjC,IADAimD,EAAO9mD,OAAO8mD,KAAK4+U,GACfjmY,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IAExB,IADAoB,EAAMimD,EAAKrnD,GACPsE,EAAI,EAAGA,EAAI4hY,EAAYjnY,OAAQqF,IAE3B2hY,EAAW7kY,GAAKM,eAAe4C,KAC/B2hY,EAAW7kY,GAAKkD,QAAKpF,GAKjC+5B,EAAS95B,KAAK,cAAekP,EAAI43X,EAAYC,KAtLjD,SAASc,EAAajjR,EAAY3iH,EAAKN,GACnC,IAAImmY,EAAYf,EAAYxhY,QAAQq/G,GAChCmjR,EAAajB,EAAW7kY,GAY5B,OAXI8lY,IACAA,EAAajB,EAAW7kY,GAAO,KAGK,IAArC8kY,EAAYxhY,QAAQq/G,KACnBmiR,EAAYpjY,KAAKihH,GACjBkjR,EAAYf,EAAYjnY,OAAS,GAGrCioY,EAAWD,GAAanmY,EAEjBmmY,EAGX,SAASR,EAActmT,EAAW/0D,GAC9B,IAAI4+M,EAAY7pJ,EAAUwgC,WAC1B,GAAG1nF,EAASuhK,aAAawvC,EAAW,WAAY,CAC5C,IAAIE,EAAQi8J,EAAMn8J,EAAUtnO,OAC5B,IAAIwnO,EAAO,CACP,IAAID,EAAiBhxM,EAASmjK,oBAAoB4tC,EAAW,WACzDm9J,EAAmBl9J,EAAeA,EAAehrO,OAAS,GAC9DirO,EAAQ7zN,EAAI8zN,eAAeH,EAAW,cAAgBm9J,EAAmB,WAAY,SAAU,iBAC/FhB,EAAMn8J,EAAUtnO,OAASwnO,EAG7B,IAAIk9J,EAAWl9J,EAAMxpO,IAAIy/E,EAAU8oJ,aAOnB/pO,IAAbkoY,IACCA,GAAW,IAGC,IAAbA,GAECl9J,EAAMv8N,IAAIwyE,EAAU8oJ,OAAQ79M,GAEhCg7W,EAAQp8J,EAAUtnO,OAASskY,EAAah9J,EAAUtnO,MAAO,WAAiC,IAAtBsnO,EAAUn4N,aAC3E,CAIH,IAAI20X,GAAuC,IAAtBx8J,EAAUn4N,SAA4BuZ,EAE3D47W,EAAah9J,EAAUtnO,MAAO,UAAW8jY,OA2I/C,OACA,SAAU7nY,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,SAAmB+gB,EAAKC,GAIrC,OAHAD,EAAIuvE,IAAMtvE,EAAGsvE,IACbvvE,EAAI0vE,IAAMzvE,EAAGyvE,IACb1vE,EAAIhR,EAAIiR,EAAGjR,EACJgR,IAML,OACA,SAAUhhB,EAAQC,EAASkB,GAEjC,aAWA,IAAIwoO,EAASxoO,EAAoB,QAC7Bk5G,EAAWl5G,EAAoB,QAC/BuxH,EAAcvxH,EAAoB,QAAQuxH,YAE1Cg2Q,EAAiBvnY,EAAoB,QAErCkwH,EAAUrxH,EAAOC,QAAU,GAE/BoxH,EAAQ4pC,QAAU,SAASvrJ,EAAI2uG,EAAK56F,GAChC/T,EAAKgjH,EAAYhjH,GAGdA,EAAGymB,aACFkkF,EAASn2E,MAAMx0B,EAAGymB,YAAYk2B,KAAOq8U,EAAenU,SAGxDljQ,EAAQoP,IAAI/wH,EAAI2uG,EAAK56F,IAKzB4tG,EAAQoP,IAAM,SAAa/wH,EAAI2uG,GAC3B,IAAIv3F,EAAapX,EAAGymB,YAChBwyW,EAAej5X,EAAGwvG,WAElBb,IAAKA,EAAM,IACZA,EAAIrtF,SACqD,IAAzD24M,EAAOa,eAAe96N,EAAI,qBAAsB2uG,KAInDv3F,EAAW0qG,YAAY/gH,UAAU,KAAKmB,SACtCkV,EAAW0qG,YAAY/gH,UAAU,QAAQmB,SACzCkV,EAAW0qG,YAAY/gH,UAAU,UAAUmB,SAC3ClC,EAAGwvG,gBAAa3+G,EAEb89G,EAAIrtF,QAAU23W,GACbj5X,EAAGwuG,KAAK,iBAAkB,CACtBvoF,MAAO0oF,EACPn5G,OAAQyjY,OAQd,KACA,SAAU3oY,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BsW,EAAOtW,EAAoB,QAE3BynY,EAAaznY,EAAoB,QAAQynY,WA0B7C,SAASC,EAAOlnY,EAAGwwD,EAAG7wD,EAAGX,GACrB,MAAO,CACHuI,IAAK5H,EACLgqI,GAAIxkI,KAAKoC,IAAIvH,EAAGhB,GAChBq9S,IAAKr9S,EACL6qI,GAAI1kI,KAAKqC,IAAIxH,EAAGhB,GAChBwI,IAAKgpD,GA9BbnyD,EAAOC,QAAU,SAASyP,EAAIC,GAC1B,IAAImX,EAAapX,EAAGymB,YAChB+B,EAAKzgB,EAAKu3B,UAAUt/B,EAAIC,EAAMiY,OAC9B2Q,EAAK9gB,EAAKu3B,UAAUt/B,EAAIC,EAAMkY,OAE9BtY,EAAI2oB,EAAGyX,aAAahgC,EAAO,KAE3BuR,EAAK0nX,EAAWl5X,EAAIC,EAAOJ,EAAGgpB,EAAIswW,GAEtC,OAAG3nX,EAAG5gB,QACFoX,EAAIuM,WAAW/C,EAAG,GAAG9e,EAAG,CACpBy8C,IAAK/3B,EAAWgiX,UAChBprF,KAAMhmS,EAAI8hC,aAAajqC,GAAGmqC,QAAU,EACpCoc,UAAW,IACXC,UAAW,MAGfjvC,EAAWgiX,YACJ5nX,GAEA,CAAC,CAAC9e,EAAG,CAAC6mB,OAAO,OAiBtB,KACA,SAAUjpB,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUuI,EAEjB,IAAIugY,EAAc5nY,EAAoB,QAClC6nY,EAAY7nY,EAAoB,QAChC8nY,EAAc9nY,EAAoB,QAClC+nY,EAAgB/nY,EAAoB,QACpCgoY,EAAgBhoY,EAAoB,QAEpCioY,EAAS,IACTC,EAAQ,KACRC,EAAgB,EAChBC,EAAe,EACfC,EAAe,EACfC,EAAW,EACXC,EAAU,EACVjrQ,EAAQ,EACRkrQ,EAAQ,EACRC,EAAU,EACVC,EAAU,EACVC,EAAa,EACbhvE,EAAM,GACNivE,EAAM,GAEN1tV,EAAM,CACN,gBACA,eACA,eACA,WACA,UACA,QACA,QACA,UACA,UACA,aACA,MACA,WAGJ,SAAS7zC,EAASG,GAChB,IAGIhI,EACAogD,EAWAxyB,EAfAltB,EAAI,EACJi4E,EAAQ,EACRj3E,EAAO+mY,EAGPvtO,EAAU,GACVhzJ,EAAS,GAGTqwB,EAAO,EACP6gI,EAAM,EACNt1I,EAAQ,EACRulX,GAAQ,EACRC,GAAa,EACbj0W,EAAQ,GAGZrtB,EAAMA,GAAO,GACb,IAAIuhY,EAAcjB,EACdkB,EAAcpB,EACE,WAAhBpgY,EAAIklK,UACNq8N,EAAcf,EACdgB,EAAcjB,GAIhB,IAAIkB,EAAe,GAAIC,EAAe,GACtC,IAAShpY,EAAI,EAAGA,EAAI6oY,EAAY5pY,OAAQe,IACtC+oY,EAAaF,EAAY7oY,KAAM,EAEjC,IAASA,EAAI,EAAGA,EAAI8oY,EAAY7pY,OAAQe,IACtCgpY,EAAaF,EAAY9oY,KAAM,EAGjC,OAAO,SAASiL,GAEd,OADAzD,EAAS,GACI,OAATyD,EAAsBwqW,EAAMxqW,GACzBqY,KAGT,SAAS8oH,EAAMnhI,GACTA,EAAKhM,QACPuI,EAAO1E,KAAK,CACVkQ,KAAMgoC,EAAIh6C,GACViK,KAAMA,EACN3B,SAAU8Z,EACVyU,KAAMA,EACN8gI,OAAQD,IAKd,SAAS+8M,EAAMwzB,GASb,IAAIvpV,EARJ1/C,EAAI,EAEAipY,EAAM7sX,WAAU6sX,EAAQA,EAAM7sX,YAElCuY,GAASs0W,EAAM9wX,QAAQ,QAAS,MAChC+U,EAAMyH,EAAM11B,OAKZ,MAAMK,EAAIq1B,EAAM30B,GAAIA,EAAIktB,EAAK,CAG3B,OAFAwyB,EAAO1/C,EAEAgB,GACL,KAAKinY,EAAejoY,EAAIkpY,IAAiB,MACzC,KAAKhB,EAAcloY,EAAImpY,IAAgB,MACvC,KAAKhB,EAAcnoY,EAAIopY,IAAgB,MACvC,KAAKhB,EAAUpoY,EAAIqpY,IAAY,MAC/B,KAAKhB,EAASroY,EAAIwkJ,IAAW,MAC7B,KAAKkkP,EAAK1oY,EAAI8tQ,IAAO,MACrB,KAAK1wI,EAAOp9H,EAAIypI,IAAW,MAC3B,KAAKu+P,EAAOhoY,EAAIspY,IAAa,MAC7B,KAAKb,EAAYzoY,EAAIupY,IAAc,MACnC,KAAKxB,EAAQ/nY,EAAIurL,IAAU,MAG7B,GAAG7rI,IAAS1/C,EACV,OAAO20B,EAAM+qB,IACX,IAAK,KAAMg5G,EAAM,IAAK7gI,EAAM,MAC5B,UAAW6gI,EAAK,OAOtB,OAFAzgF,GAASj4E,EACT20B,EAAQA,EAAM1wB,MAAMjE,GACbwH,EAGT,SAAS8b,EAAI2lX,GAOX,OANGzuO,EAAQv7J,QACTmtI,EAAMouB,EAAQv3J,KAAK,KAGrBjC,EAAOy4T,EACPrtL,EAAM,SACC5kI,EAGT,SAAS+jL,IAGP,OAFA/wB,EAAUA,EAAQv7J,OAAS,GAAKu7J,EAEpB,MAAT96G,GAAsB,MAANpgD,GACjB8jB,EAAQ60D,EAAQj4E,EAAI,EACpBgB,EAAOinY,EACPvoV,EAAOpgD,EACAU,EAAI,GAGD,MAAT0/C,GAAsB,MAANpgD,GACjB8jB,EAAQ60D,EAAQj4E,EAAI,EACpBgB,EAAOknY,EACPxoV,EAAOpgD,EACAU,EAAI,GAGJ,MAANV,GACD0B,EAAOmnY,EACP/kX,EAAQ60D,EAAQj4E,EACTA,GAGN,KAAKtB,KAAKY,IACX0B,EAAOynY,EACPrlX,EAAQ60D,EAAQj4E,EACTA,IAGT2oY,EAAQ,KAAKjqY,KAAKY,GAClBspY,EAAa,SAASlqY,KAAKY,GAE3B8jB,EAAQ60D,EAAQj4E,EAChBgB,EAAO2nY,EAAQN,EAAUO,EAAaR,EAAWJ,EAC1ChoY,GAGT,SAASupY,IACP,MAAG,SAAS7qY,KAAKY,IACf8sI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,IAETw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAGb,SAASopY,IACP,MAAU,OAAN9pY,GAAoB,OAANA,GAAwB,OAATogD,GAKjC86G,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,IANTosI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,GAOX,SAASmpY,IACP,OAAOC,IAGT,SAASF,IACP,MAAS,MAAN5pY,GAAsB,MAATogD,GACd86G,EAAQ13J,KAAKxD,GACb8sI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,EAAI,IAGbw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAGb,SAASqpY,IACP,GAAY,MAAT3pV,GAAgB,KAAKhhD,KAAKY,GAE3B,OADA0B,EAAOo8H,EACAp9H,EAGT,GAAY,MAAT0/C,GAAsB,MAANpgD,EAEjB,OADA0B,EAAOinY,EACAjoY,EAGT,GAAY,MAAT0/C,GAAsB,MAANpgD,EAEjB,OADA0B,EAAOknY,EACAloY,EAGT,GAAS,MAANV,GAAak7J,EAAQv7J,OAAQ,CAC9B,MAAMuqY,EAAmBhvO,IAGzB,OADAx5J,EAAOo8H,EACAp9H,EAGT,GAAS,MAANV,GAAmB,MAANA,GAAmB,MAANA,EAAW,CACtC,GAAGk7J,EAAQv7J,OAAQ,MAAMuqY,EAAmBhvO,IAG5C,OAFApuB,EAAM9sI,GACN0B,EAAO+mY,EACA/nY,EAAI,EAGb,IAAIypY,EAA2C,IAAnBjvO,EAAQv7J,QAAsB,MAANK,EACpD,GAAG,YAAYZ,KAAKY,IAAMmqY,EAAuB,CAC/C,MAAMD,EAAmBhvO,IAEzB,OADAx5J,EAAO+mY,EACA/nY,EAKT,OAFAw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,EAGb,SAASwpY,EAAmBhlW,GAC1B,IACIG,EACAw8E,EAFA78G,EAAI,EAIR,EAAG,CAID,GAHAqgC,EAAMgjW,EAAUjjY,QAAQ8/B,EAAIvgC,MAAM,EAAGugC,EAAIvlC,OAASqF,GAAGrB,KAAK,KAC1Dk+G,EAAMwmR,EAAUhjW,IAEJ,IAATA,EAAY,CACb,GAAGrgC,IAAMkgC,EAAIvlC,OAAS,EAAG,SACzBkiH,EAAM38E,EAAIvgC,MAAM,EAAG,GAAGhB,KAAK,IAO7B,OAJAmpI,EAAMjrB,GAEN/9F,GAAS+9F,EAAIliH,OACbu7J,EAAUA,EAAQv2J,MAAMk9G,EAAIliH,QACrBu7J,EAAQv7J,aACT,GAGV,SAAS6uQ,IACP,MAAG,eAAepvQ,KAAKY,IACrB8sI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,IAGTw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAGb,SAASwkJ,IACP,MAAS,MAANllJ,GAOA,OAAOZ,KAAKY,IANbk7J,EAAQ13J,KAAKxD,GACb0B,EAAOo8H,EACP19E,EAAOpgD,EACAU,EAAI,GAUJ,MAANV,GAAgC,IAAnBk7J,EAAQv7J,QAA+B,MAAfu7J,EAAQ,IAC9Cx5J,EAAO0nY,EACPluO,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAGV,QAAQtB,KAAKY,IACd8sI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,IAGTw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAGb,SAASypI,IAOP,MANS,MAANnqI,IACDk7J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACPU,GAAK,GAGJ,OAAOtB,KAAKY,IACbk7J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,IAGF,MAANV,GAAmB,MAANA,IAAc,OAAOZ,KAAKghD,KAMzC,QAAQhhD,KAAKY,IACd8sI,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,IARPw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,GAcf,SAASspY,IACP,GAAG,WAAW5qY,KAAKY,GAAI,CACrB,IAAIoqY,EAAalvO,EAAQv3J,KAAK,IAU9B,OAREjC,EADCgoY,EAAaU,GACPlB,EACCO,EAAaW,GACdnB,EAEAD,EAETl8P,EAAMouB,EAAQv3J,KAAK,KACnBjC,EAAO+mY,EACA/nY,EAIT,OAFAw6J,EAAQ13J,KAAKxD,GACbogD,EAAOpgD,EACAU,EAAI,KAOT,OACA,SAAUrB,EAAQC,EAASkB,GAEjC,aAWA,IAAIwuN,EAAWxuN,EAAoB,QAE/BuW,EAAMvW,EAAoB,QAC1B6pY,EAAqB7pY,EAAoB,QAAQ6pY,mBACjDhjX,EAAkB7mB,EAAoB,QACtC8O,EAAK9O,EAAoB,QACzBq3B,EAAUr3B,EAAoB,QAC9BuwC,EAAevwC,EAAoB,QAEnC0uN,EAAS1uN,EAAoB,QAE7B8pY,EAAS,SAETn5V,EAAY7xC,EAAQ6xC,UAAY3wC,EAAoB,QAyLxD,SAAS+pY,EAAgBx7X,EAAIy7X,GACzB,IAAIrkX,EAAapX,EAAGymB,YAChB1C,EAAU/jB,EAAG+Y,SAGjB,GAAiC,KAA9BgL,EAAQikM,kBAA0B,MAAO,GAS5C,IAPA,IAAI0zK,EAAe,GACfC,EAAe,GACfC,GAAuB,EACvBC,GAAW,EAIPlqY,EAAI,EAAGA,EAAI8pY,EAAU7qY,OAAQe,IAAK,CACtC,IAAIitB,EAAOxH,EAAWqkX,EAAU9pY,IAC5BosI,EAAQn/G,EAAKiiM,YAEdi7K,EAAcl9W,EAAKxd,SACf28H,EACC/1H,EAAIuiL,WAAWmxM,EAAc39P,IAE1B+9P,EAAcl9W,EAAKwhB,OAAOh/B,SACzB4G,EAAIqH,MAAM,2DACVusX,GAAuB,GAE3BC,GAAW,IAIhB99P,GACC/1H,EAAIuiL,WAAWoxM,EAAc59P,GAIrC,GAAG89P,EAAU,CACT,IAAIx+V,EAAMu+V,EACNx5V,EAAU25V,sBACV35V,EAAU45V,qBAEd,MADAh0X,EAAIqH,MAAMguB,GACJ,IAAI3nC,MAAM2nC,GAGpB,OAAGq+V,EAAa9qY,QACT8qY,EAAa9qY,OAAS,GACrBoX,EAAIq4B,KAAK+B,EAAU65V,wBAEhBP,EAAa,KAEjBC,EAAa/qY,QACZoX,EAAIkV,IAAI,CACJ,gCAAiCy+W,EAAa/mY,KAAK,KACnD,0DACFA,KAAK,MAEJ,IAIf,SAASknY,EAAcvoY,GACnB,MAAoB,kBAANA,KACkC,IAA5C6uC,EAAUugL,kBAAkBtsN,QAAQ9C,IACT,IAA3BA,EAAE8C,QAAQ,cArPlB9F,EAAQwB,KAAOwpY,EAEfhrY,EAAQ2oB,KAAO,UAEf3oB,EAAQ06D,OAASswU,EAEjBhrY,EAAQ26D,QAAU36D,EAAQ46D,UAAYnjD,EAAIqhF,aAAakyS,GAEvDhrY,EAAQgM,WAAa,CACjBwX,QAAS,CACLY,QAAS,YAETC,KAAM,SACNI,SAAU,SAKlBzkB,EAAQsoC,iBAAmBpnC,EAAoB,QAE/ClB,EAAQq4D,qBAAuBn3D,EAAoB,QAEnDlB,EAAQ4T,KAAO,SAAcnE,GACzB,IAAIoX,EAAapX,EAAGymB,YAChB6uC,EAAWt1D,EAAGisD,SACdwvU,EAAYrkX,EAAW4sB,UAAUu3V,GAErC,GAAGt7K,EAAS9hD,UAAY/7H,EAAU85V,gBAC9B,MAAM,IAAIxmY,MAAM0sC,EAAU+5V,sBAG9B,IAAI57K,EAAci7K,EAAgBx7X,EAAIy7X,GACtCx7K,EAASM,YAAcA,EAEvB,IAAI,IAAI5uN,EAAI,EAAGA,EAAI8pY,EAAU7qY,OAAQe,IAAK,CACtC,IAAI0L,EAAKo+X,EAAU9pY,GACfyqY,EAAkBd,EAAmBhmU,EAAUimU,EAAQl+X,GACvDuhB,EAAOxH,EAAW/Z,GAClBo5F,EAAS73E,EAAKtH,SAEdm/E,IACAA,EAAS,IAAI0pH,EAAOngN,EAAI3C,GACxB+Z,EAAW/Z,GAAIia,SAAWm/E,GAG1BA,EAAO/M,cACP+M,EAAO/M,YAAc,CACjB73D,OAAQ7pB,EAAIuM,WAAW,GAAIqK,EAAKiT,QAChC8kE,KAAM/3E,EAAK+3E,KACXwqH,QAASviM,EAAKuiM,QACdC,MAAOxiM,EAAKwiM,QAIpB3qH,EAAOtyF,KAAKi4X,EAAiBhlX,EAAYpX,EAAGyZ,aAIpDlpB,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAG9D,IAFA,IAAI+vU,EAAgB/vU,EAActoB,UAAUu3V,IAAW,GAE/C5pY,EAAI,EAAGA,EAAI0qY,EAAczrY,OAAQe,IAAK,CAC1C,IAAI2qY,EAAeD,EAAc1qY,IAE7By6D,EAAckwU,IAAmBhwU,EAAcgwU,GAAchlX,UAC7Dg1C,EAAcgwU,GAAchlX,SAAS4P,YAKjD32B,EAAQo8D,MAAQ,SAAS3sD,GAKrB,IAJA,IAAIoX,EAAapX,EAAGymB,YAChBglC,EAAar0C,EAAW4sB,UAAUu3V,GAClCrmX,EAAOkC,EAAWguC,MAEdzzD,EAAI,EAAGA,EAAI85D,EAAW76D,OAAQe,IAAK,CACvC,IAAIitB,EAAOxH,EAAWq0C,EAAW95D,IAC7ByvD,EAASxiC,EAAKwiC,OACdq1C,EAAS73E,EAAKtH,SAEds1C,EAAY6pC,EAAO5pC,QAAQ,OAC3BC,EAAQ11C,EAAW21C,UAAU9rD,OAAO,aAExC6rD,EAAM5zC,KAAK,CACP8zC,MAAO10C,EAAgByI,IACvB,aAAc6rC,EACd/sD,EAAGqV,EAAKtjB,EAAIsjB,EAAKhG,EAAIkyC,EAAOvhD,EAAE,GAC9B2F,EAAG0P,EAAKxiB,EAAIwiB,EAAKutC,GAAK,EAAIrB,EAAO57C,EAAE,IACnCmN,MAAOuC,EAAKhG,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,IACxC4a,OAAQvF,EAAKutC,GAAKrB,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,IACzCkV,oBAAqB,SAGzB,IAAI6hX,EAAah8X,EAAGO,OAAO8d,EAAKtH,SAAS6N,KAGrCw/U,EAA0E,OAAjE43B,EAAWz7X,OAAO,uBAAuB6X,OAAOg6M,aAC7D,IAAIgyI,EAAQ,CACR,IAAI63B,EAAOplX,EAAW21C,UAAU9rD,OAAO,KACvCu7X,EAAKtjX,KAAK,YAAa,cAAgBhE,EAAKtjB,EAAIsjB,EAAKhG,EAAIkyC,EAAOvhD,EAAE,GAAK,IAAM,MAAQqV,EAAKxiB,EAAIwiB,EAAKutC,GAAK,EAAIrB,EAAO57C,EAAE,IAAM,IAAM,KACjIg3X,EAAKv7X,OAAO,QACTiY,KAAK,IAAKkpB,EAAUq6V,WAAWzwR,OAC/B5qG,MAAM,CACHnF,QAAS,GACTiH,KAAM,UACN,oBAAqB,QAG3Bs5X,EAAKv7X,OAAO,QACTiY,KAAK,IAAKkpB,EAAUq6V,WAAW10H,OAC/B3mQ,MAAM,UAAW,KACjBA,MAAM,oBAAqB,OAE9Bo7X,EAAKv7X,OAAO,QACTiY,KAAK,IAAKkpB,EAAUq6V,WAAWC,OAC/Bt7X,MAAM,UAAW,KACjBA,MAAM,oBAAqB,OAE9Bo7X,EAAKv7X,OAAO,WACTiY,KAAK,SAAUkpB,EAAUq6V,WAAWjqU,SACpCpxD,MAAM,CACHnF,QAAS,GACTiH,KAAM,UACN,oBAAqB,QAK/B,IAAIy5X,EAAeJ,EACIz7X,OAAO,yBAAyBJ,OAChCoJ,QAAQ,mBAAoB,IAE/C8yX,EAAmBxlX,EAAW21C,UAAU9rD,OAAO,KAE/C47X,EAAkBD,EAAiB37X,OAAO,QAC9C47X,EACGn8X,KAAKi8X,GACLz7X,QAAQ,sBAAsB,GAC9BgY,KAAK,CACF,YAAa,GACb,cAAe,QACf,MAAS,sBACT,cAAe,MACf,mBAAoByjX,IAG1B,IAAI9oV,EAAO/qB,EAAQ+qB,KAAKgpV,EAAgBlkX,QAGpCwjJ,EAAWjnJ,EAAKhG,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,IAChD,GAAIg0C,EAAKlhC,MAAQwpJ,EAAW,EAAI,CAC5B,IAAI2gO,EAAwBH,EAAa96X,MAAM,KAAKjN,KAAK,QACzDioY,EACGn8X,KAAKo8X,GACL5jX,KAAK,mBAAoB4jX,GACzBhsY,KAAKkxC,EAAalpB,gBAAiB9Y,GAEtC6zC,EAAO/qB,EAAQ+qB,KAAKgpV,EAAgBlkX,QAExCkkX,EAAgB3jX,KAAK,YAAa,kBAAmC,EAAd26B,EAAKp5B,QAAc,KAG1EmiX,EACGpmY,OAAO,OAAQ,uBACf0iB,KAAK,CACFrZ,GAAIg0C,EAAKlhC,MAAQ,EACjBnN,GAAIquC,EAAKp5B,OAAS,EAClB9H,MAAOkhC,EAAKlhC,MAAQ,EACpB8H,OAAQo5B,EAAKp5B,OAAS,EACtBvX,KAAM,8BAIZ,IAAIk3V,EAAa,EACbvmT,EAAKlhC,MAAQ,EAAKwpJ,IAAUi+L,EAAaj+L,GAAYtoH,EAAKlhC,MAAQ,IAEtE,IAAIrF,EAAS,CAAE4H,EAAKtjB,EAAIsjB,EAAKhG,EAAIkyC,EAAOvhD,EAAE,GAAMqV,EAAKxiB,EAAIwiB,EAAKutC,GAAK,EAAIrB,EAAO57C,EAAE,KAChFo3X,EAAiB1jX,KAAK,YAAa,aAAe5L,EAAO,GAAK,IAAMA,EAAO,GAAK,WAAa8sV,EAAa,OAwElH7pW,EAAQ08D,SAAW,SAASjtD,GAIxB,IAHA,IAAIoX,EAAapX,EAAGymB,YAChBglC,EAAar0C,EAAW4sB,UAAUu3V,GAE9B5pY,EAAI,EAAGA,EAAI85D,EAAW76D,OAAQe,IAAK,CACvC,IAAI6pD,EAAapkC,EAAWq0C,EAAW95D,IAAI2lB,SAC3CkkC,EAAWyR,SAAS71C,MAOtB,OACA,SAAU9mB,EAAQC,GAExBD,EAAOC,QAAU,SAAUspC,GACzB,MAAqB,kBAAPA,EAAyB,OAAPA,EAA4B,oBAAPA,IAMjD,OACA,SAAUvpC,EAAQC,EAASkB,GAEjC,aAWA,IAAI+iB,EAAc/iB,EAAoB,QAAQ+iB,YAC1CynF,EAAoBxqG,EAAoB,QAAQwqG,kBAChD93F,EAAO1S,EAAoB,QAC3Bs5D,EAAUt5D,EAAoB,QAE9BsvH,EAAYtvH,EAAoB,QAChCqvH,EAAcrvH,EAAoB,QAClC05G,EAAa15G,EAAoB,QAAQ05G,WACzCnjG,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAE/BsrY,EAAS,SA8Bb,SAASC,EAAgBh9X,EAAI3L,GACzB,IAAI4L,EAAQD,EAAGw3C,UAAUnjD,GACrB+iB,EAAapX,EAAGymB,YAEhBmoH,EAAWx3H,EAAW81C,SACtB80D,EAAiC,QAAxB5qG,EAAW81C,SAAqB,OAAS,YAClD+vU,EAASh9X,EAAMi9X,QAEnB,GAAgB,QAAbtuP,GAAmC,SAAbA,EAAzB,CAEA7tB,EAAUk8Q,EAAQj7Q,GAElB,IAAI9pG,EAAQ,CACR2V,IAAK,IACLpF,IAAKzgB,EAAIvN,SACT0xB,QAASlsB,EAAMw6J,QAAQ9J,WACvB7nJ,QAAS7I,EAAMw6J,QAAQ9nJ,OAEvBwF,EAAQ,CACR0V,IAAK,IACLpF,IAAKzgB,EAAIvN,SACT0xB,QAASlsB,EAAMw6J,QAAQ7J,WACvB9nJ,QAAS7I,EAAMw6J,QAAQhgJ,QAKvB6wF,EAAc,CACdtrG,GAAIA,EACJ+rG,QAASkxR,EAAOtkX,OAChBpW,SAAU,CACNlF,GAAIhJ,EACJ6jB,MAAOA,EACPC,MAAOA,EACPu0F,eAAgB1kG,EAAIw0D,MAExBzoD,QAAS1f,EAET63G,MAAO,CAACh0F,GACRk0F,MAAO,CAACj0F,GACR62F,gBAAiB,SAASrvG,GACtB,IACIw9X,EADA52F,EAAWvmS,EAAGw3C,UAAUnjD,GAExB+oY,EAAY72F,EAAS5tR,KAAKq/B,OAAOpiD,QACjCynY,EAAW,GAEf,SAASC,EAAS/rX,GAEd,IADA,IAAIkmD,EAAQ8uO,EAAS9rI,QAAQC,MAAMjjG,MAC3B9lE,EAAI,EAAGA,EAAI8lE,EAAM7mE,OAAQe,IAC7B,GAAG8lE,EAAM9lE,GAAG8f,cAAgBF,EAAI,OAAOkmD,EAAM9lE,GAIrD,IAAI,IAAIsE,EAAI,EAAGA,EAAI0J,EAAU/O,OAAQqF,IAAK,CACtC,IAAI0iB,EAAO2kX,EAAS39X,EAAU1J,GAAGwb,aACjC,GAAIkH,EAGJ,GAAGA,EAAKlW,MAAO,CAEX,IAAI,IAAIrM,EAAI,EAAGA,EAAIuiB,EAAK0hQ,cAAczpR,OAAQwF,IAC1CinY,EAAS5oY,KAAKkkB,EAAK0hQ,cAAcjkR,GAAGqb,aAGxC2rX,EAAUzkX,EAAKlH,YAAc80R,EAAS5tR,KAAKmzL,SAAU,OAErDuxL,EAAS5oY,KAAKkkB,EAAKlH,aAI3B0rX,EAAYC,EACPhoY,OAAOmpG,SACPnlG,OAAO,CAACikY,IAEbzyW,EAAS95B,KAAK,cAAekP,EAAI,CAC7B,cAAe,CAAEm9X,IAClB9oY,IAIX,OAAqB,SAAS2a,EAAGo8F,EAAQC,GACrCF,EAAWn8F,EAAGo8F,EAAQC,EAAQC,EAAasjC,KAG/C9tB,EAAY+xB,KAAKvnC,IAhHrB/6G,EAAQwB,KAAOgrY,EAEfxsY,EAAQ+6D,wBAA0B92C,EAAY,CAC1Cg3C,WAAYT,EAAQS,YACrB,OAAQ,UAEXj7D,EAAQ4T,KAAO,SAASnE,GACpB,IAAIs1D,EAAW2mC,EAAkBj8F,EAAGisD,SAAU8wU,GAAQ,GACtD54X,EAAKnE,EAAIs1D,GACT/kE,EAAQ08D,SAASjtD,IAGrBzP,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D,IAAIixU,EAAWjxU,EAAclB,MAAQkB,EAAclB,KAAK2xU,GACpDS,EAAWpxU,EAAchB,MAAQgB,EAAchB,KAAK2xU,GAErDQ,IAAYC,IACXlxU,EAAciwC,UAAUx7F,UAAU,WAAWmB,SAC7CoqD,EAAciwC,UAAUx7F,UAAU,aAAamB,WAIvD3R,EAAQ08D,SAAW,SAASjtD,GACxB,IAAI,IAAIrO,EAAI,EAAGA,EAAIqO,EAAGw3C,UAAU5mD,OAAQe,IACpCqrY,EAAgBh9X,EAAIrO,KA8FtB,KACA,SAAUrB,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUkzW,EAEjB,IAAIg6B,EAAehsY,EAAoB,QAEvC,SAASgyW,EAAajuW,GAGpB,IAFA,IAAIq8B,EAAS4rW,EAAajoY,GACtBkoY,EAAU,EACN/rY,EAAE,EAAGA,EAAE6D,EAAO5E,SAAUe,EAE9B,IADA,IAAI2B,EAAIkC,EAAO7D,GACPsE,EAAE,EAAGA,EAAE47B,EAAOjhC,SAAUqF,EAC9BynY,GAAWtmY,KAAKw5B,IAAIt9B,EAAE2C,GAAK47B,EAAO57B,GAAI,GAG1C,OAAOmB,KAAKuD,KAAK+iY,EAAUloY,EAAO5E,UAK9B,OACA,SAAUN,EAAQC,EAASkB,GAEjC,aAWA,IAAI+O,EAAY/O,EAAoB,QAChCmvI,EAAYnvI,EAAoB,QAEhC0iB,EAAQ1iB,EAAoB,QAE5BksY,EAAuB,GAE3B,SAASz5X,EAAKlE,EAAIC,GACd,IAWItO,EAAG4f,EAXHC,EAAK,GAEL4F,EAAapX,EAAGymB,YAChBm3W,EAAexmX,EAAWqoN,cAAgB,GAE1CpoN,EAASpX,EAAMoX,OACf7Y,EAASyB,EAAMspB,OAAO/qB,QAAU,GAChC2B,EAAOF,EAAMqqB,OACbzL,EAAM5e,EAAM6I,QACZmpF,EAAYhyF,EAAM49X,YAAch/W,EAIpC,GAAG5e,EAAM69X,OAEL,IADAzmX,EAAS,IAAI/hB,MAAMupB,GACfltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAChB0lB,EAAO1lB,GAAKnB,OAAOyP,EAAM89X,OAASpsY,EAAIsO,EAAM69X,QAIpD,IAAIE,EAAqB,GACrB5qS,EAAYjC,EAAgB/5E,EAAW,IAAMnX,EAAM0E,KAAO,aAC1D23I,EAAS,EACT2hP,GAAe,EAEnB,IAAItsY,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB,IAAIwE,EAAGq8F,EAAOmyQ,EACd,GAAG1yQ,EAAW,CAEV,GADA97F,EAAIgK,EAAKxO,IACL6O,EAAUrK,GAAI,SAElB,GADAA,GAAKA,EACFA,EAAI,EAAG,cACPA,EAAI,EAEXq8F,EAAQn7E,EAAO1lB,QACFd,IAAV2hG,GAAiC,KAAVA,IAAcA,EAAQ7gG,GAChD6gG,EAAQhiG,OAAOgiG,GAEf,IAAIwlS,EAAiBgG,EAAmBxrS,QAClB3hG,IAAnBmnY,GACCgG,EAAmBxrS,GAAShhF,EAAG5gB,OAE/B+zW,GAA0C,IAAjCi5B,EAAavnY,QAAQm8F,GAE1BmyQ,IAAQroN,GAAUnmJ,GAEtBqb,EAAG/c,KAAK,CACJ0B,EAAGA,EACHq8F,MAAOA,EACP91F,MAAO02F,EAAU50F,EAAO7M,GAAI6gG,GAC5B7gG,EAAGA,EACH6vC,IAAK,CAAC7vC,GACNgzW,OAAQA,MAGZs5B,GAAe,EAEf1sX,EAAKC,EAAGwmX,GACRzmX,EAAGpb,GAAKA,EACRob,EAAGiwB,IAAI/sC,KAAK9C,GACR4f,EAAGozV,SAAQroN,GAAUnmJ,IAET,IAAbob,EAAG7U,OAAmB8B,EAAO7M,KAC5B4f,EAAG7U,MAAQ02F,EAAU50F,EAAO7M,GAAI6gG,KAK5C,IAAI0rS,EAA6B,eAAfj+X,EAAM0E,KAAyBs5X,EAAeh+X,EAAM5H,KAMtE,OALG6lY,GAAY1sX,EAAGnZ,MAAK,SAAStH,EAAGC,GAAK,OAAOA,EAAEmF,EAAIpF,EAAEoF,KAGpDqb,EAAG,KAAIA,EAAG,GAAG8qI,OAASA,GAElB9qI,EAGX,SAAS2/E,EAAgBwC,GACrB,OAAO,SAAmBj3F,EAAOW,GAC7B,QAAIX,IAEJA,EAAQkkI,EAAUlkI,KACdA,EAAM2O,YAEV3O,EAAQyX,EAAMm+G,WAAW51H,EAAOA,EAAMuwR,YAClCt5L,EAASt2F,KAAKs2F,EAASt2F,GAAMX,GAE1BA,KAWf,SAASo1D,EAAe9xD,EAAIuC,GACxB,IAAIkxF,GAAelxF,GAAY,IAAIoC,KAC/B8uF,IAAaA,EAAc,OAE/B,IAAIr8E,EAAapX,EAAGymB,YAChBwlC,EAAWjsD,EAAGisD,SACdynC,EAAWt8E,EAAWq8E,EAAc,YACpCE,EAAWv8E,EAAW,IAAMq8E,EAAc,YAE3Cr8E,EAAW,SAAWq8E,EAAc,YACnCC,EAAWtC,EAAuBsC,EAAUiqS,IAIhD,IAFA,IAAI/pS,EAAiB,EAEbjiG,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAK,CACrC,IAAI6f,EAAKy6C,EAASt6D,GACd82D,EAAYj3C,EAAG,GAAGvR,MAAM0E,KAC5B,GAAG8jD,IAAcgrC,EAEjB,IAAI,IAAIx9F,EAAI,EAAGA,EAAIub,EAAG5gB,OAAQqF,IAAK,CAC/B,IAAIsb,EAAKC,EAAGvb,IACI,IAAbsb,EAAG7U,QAECi3F,EAASpiF,EAAGihF,OACXjhF,EAAG7U,MAAQi3F,EAASpiF,EAAGihF,QAEvBmB,EAASpiF,EAAGihF,OAASjhF,EAAG7U,MAAQg3F,EAASE,EAAiBF,EAAS9iG,QACnEgjG,QAWpB,SAASxC,EAAuBk+L,EAAW6uG,GACvC,IAAIxsY,EACAysY,EAAc5nN,KAAKC,UAAU64G,GAC7B9wR,EAAS2/X,EAAkBC,GAC/B,IAAI5/X,EAAQ,CAGR,IAFAA,EAAS8wR,EAAU15R,QAEfjE,EAAI,EAAGA,EAAI29R,EAAU1+R,OAAQe,IAC7B6M,EAAO/J,KAAKmsI,EAAU0uJ,EAAU39R,IAAIk6R,QAAQ,IAAI4B,eAGpD,IAAI97R,EAAI,EAAGA,EAAI29R,EAAU1+R,OAAQe,IAC7B6M,EAAO/J,KAAKmsI,EAAU0uJ,EAAU39R,IAAIo6R,OAAO,IAAI0B,eAEnD0wG,EAAkBC,GAAe5/X,EAGrC,OAAOA,EAGXlO,EAAOC,QAAU,CACb2T,KAAMA,EACN4tD,eAAgBA,EAEhBq/B,gBAAiBA,EACjBC,uBAAwBA,IAMtB,OACA,SAAU9gG,EAAQC,EAASkB,GAEjC,aAmBA,IARA,IAAI6iB,EAAY7iB,EAAoB,QAChC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjDE,EAAa9iB,EAAoB,QAAQ8iB,WACzCjb,EAAa7H,EAAoB,QAAQ6H,WAEzC+kY,EAAK,CAAC,MAAO,OAAQ,MAAO,QAC5BC,EAAW,GACXC,EAAW,GACP5sY,EAAI,EAAGA,EAAI0sY,EAAGztY,OAAQe,IAC1B2sY,EAAS7pY,KAAK,YAAc4pY,EAAG1sY,GAAK,wBAA0B2H,EAAW+kY,EAAG1sY,IAAI6H,IAAI5E,KAAK,MAAQ,MACjG2pY,EAAS9pY,KAAK,YAAc4pY,EAAG1sY,GAAK,wBAA0B2H,EAAW+kY,EAAG1sY,IAAI8H,IAAI7E,KAAK,MAAQ,MAGrGtE,EAAOC,QAAUgkB,EAAW,CACxBjU,EAAG,CACCqU,QAAS,aAETK,SAAU,QAGd1b,WAAY,CACRqb,QAAS,aACT2V,OAAQ+zW,EACRzpX,KAAM,MAENI,SAAU,QAGd6B,KAAM,CACFlC,QAAS,aACTg2G,MAAO,CACH,CAACh2G,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,SAGlCA,SAAU,QAGd8B,KAAM,CACFnC,QAAS,aACTg2G,MAAO,CACH,CAACh2G,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,QAC9B,CAACL,QAAS,SAAUK,SAAU,SAGlCA,SAAU,QAGdsT,GAAI,CACA3T,QAAS,MACTC,KAAM,EAENI,SAAU,uBAGd2T,GAAI,CACAhU,QAAS,MACTC,KAAM,EAENI,SAAU,uBAGdmV,GAAI,CACAxV,QAAS,SACTC,KAAM,EAENI,SAAU,QAGdmG,GAAI,CACAxG,QAAS,SACTC,KAAM,EAENI,SAAU,QAGdtU,KAAM,CACFiU,QAAS,aACTK,SAAU,QAGdW,UAAW,CACPhB,QAAS,aACTK,SAAU,QAGd+B,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C0Q,MAAO,CAAC,IAAK,IAAK,IAAK,QAAS,OAAQ,QACxC7S,KAAM,oBAEVgB,cAAevB,EAAmB,GAAI,CAClC2kC,KAAM,CAAC,IAAK,QAAS,gBAGzB/hC,gBAAYpmB,KAMV,OACA,SAAUP,EAAQC,EAASkB,GAEjC,aAGA,IAAI2hD,EAAU3hD,EAAoB,QAG9B+sY,EAAU/sY,EAAoB,OAApBA,CAA4B,CAAC,KAAO,CAAC,QAAQ,QAAQ,SAAS,SAAS,UAAU,IAAM,CAAC,KAAO,4CAA4C,KAAO,CAAC,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,IAAI,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,+GAA+G,KAAO,CAAC,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAK,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAM,MAAQ,IAAI,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,KAAK,KAAO,GAAG,SAAW,GAAG,UAAY,IAAI,OAAQ,EAAM,SAAW,SAAS,UAAY,KAExoCgtY,EAAYhtY,EAAoB,OAApBA,CAA4B,CAAC,KAAO,CAAC,QAAQ,QAAQ,SAAS,SAAS,UAAU,IAAM,CAAC,KAAO,oBAAoB,KAAO,GAAG,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,sHAAsH,KAAO,CAAC,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAK,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,IAAI,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,KAAK,KAAO,GAAG,SAAW,GAAG,UAAY,IAAI,OAAQ,EAAM,SAAW,SAAS,UAAY,KAEtyBitY,EAAYjtY,EAAoB,OAApBA,CAA4B,CAAC,KAAO,CAAC,QAAQ,QAAQ,SAAS,SAAS,UAAU,IAAM,CAAC,KAAO,sBAAsB,KAAO,GAAG,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,qIAAqI,KAAO,CAAC,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAK,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,IAAI,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,KAAK,KAAO,GAAG,SAAW,GAAG,UAAY,IAAI,OAAQ,EAAM,SAAW,SAAS,UAAY,KAEvzBktY,EAAYltY,EAAoB,OAApBA,CAA4B,CAAC,KAAO,CAAC,QAAQ,QAAQ,SAAS,SAAS,UAAU,IAAM,CAAC,KAAO,wBAAwB,KAAO,GAAG,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,oJAAoJ,KAAO,CAAC,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAK,QAAS,EAAM,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,GAAG,CAAC,KAAO,mBAAmB,QAAS,EAAM,QAAS,EAAK,MAAQ,IAAI,SAAW,CAAC,eAAe,UAAY,IAAI,KAAO,CAAC,KAAO,KAAK,KAAO,GAAG,SAAW,GAAG,UAAY,IAAI,OAAQ,EAAM,SAAW,SAAS,UAAY,KAE50BnB,EAAOC,QAAU,SAAcwgB,EAAMC,EAAK84D,GACxC,OAAO94D,EAAI6hB,MAAMjiC,QACf,KAAK,EACH6tY,EAAU1tX,EAAM+4D,EAAM12B,EAAOuxG,GAAI3zI,GACjC,MACF,KAAK,EACH0tX,EAAU3tX,EAAM+4D,EAAM12B,EAAOwmB,GAAI5oD,GACjC,MACF,KAAK,EACH2tX,EAAU5tX,EAAM+4D,EAAM12B,EAAO7yC,GAAIyQ,GACjC,MACF,QACEwtX,EAAQztX,EAAM+4D,EAAM12B,EAAOpgD,UAAKnC,EAAWmgB,GAAMA,EAAI6hB,MAAMjiC,QAC3D,MAEJ,OAAOmgB,IAMH,OACA,SAAUzgB,EAAQC,EAASkB,GAEjC,aAWA,IAAI+O,EAAY/O,EAAoB,QAEhC8+N,EAAsB9+N,EAAoB,QAE1C0iB,EAAQ1iB,EAAoB,QAC5B6gI,EAAan+G,EAAMm+G,WACnBr2H,EAAUkY,EAAMlY,QAEhB+oF,EAAYvzF,EAAoB,QAChCqkT,EAAuB9wN,EAAU8wN,qBACjCzwN,EAAkBL,EAAUK,gBAkChC,SAASu5S,EAA8Bz6V,EAAQjuB,GAC3C,IAAI2oX,GAEgD,IAAjDx5S,EAAgBhvF,QAAQ6f,EAASgvE,YAEhC/gD,EAAO,iBAAkB,CAAC,EAAG,IAEzB7uC,MAAM0J,QAAQkX,EAASzjB,OAKjByjB,EAASzjB,MAAM7B,OAAS,EAC9BslB,EAASzjB,MAAQyjB,EAASzjB,MAAMmD,MAAM,GACZ,IAApBsgB,EAAStlB,OACfslB,EAASzjB,MAAQ,CAAC,EAAG,GACfyjB,EAAStlB,OAAS,GACxBiuY,EAASx5W,WAAWnP,EAASzjB,MAAM,IACnCyjB,EAASzjB,MAAQ,CAACosY,EAAQA,EAAS,IAEnC3oX,EAASzjB,MAAQ,CACb4yB,WAAWnP,EAASzjB,MAAM,IAC1B4yB,WAAWnP,EAASzjB,MAAM,KAd3B+N,EAAU0V,EAASzjB,SAClBosY,EAASx5W,WAAWnP,EAASzjB,OAC7ByjB,EAASzjB,MAAQ,CAACosY,EAAQA,EAAS,MAiB3C16V,EAAO,iBAAkB,GAErB3jC,EAAU0V,EAASzjB,SAChB6C,MAAM0J,QAAQkX,EAASzjB,OACtByjB,EAASzjB,MAAQ4yB,WAAWnP,EAASzjB,MAAM,IAE3CyjB,EAASzjB,MAAQ,IAjEjCnC,EAAOC,QAAU,SAAkCi6D,EAASC,EAAUtmB,EAAQ2U,EAAQuV,EAAczvC,GAChG,IACI4xM,EAAWxgJ,EAAWqoD,EADtBniH,EAAWu0C,EAASv0C,SAGpBgvE,EAAY/gD,EAAO,sBAcvB,GAbAjuB,EAASiuK,WAAa2xH,EAAqB5wN,GAE3C05S,EAA8Bz6V,EAAQjuB,GAErB,MAAdgvE,EACCsrI,EAAYt6M,EAAS6lK,WAAY,GAEjCy0C,EAAYrsL,EAAO,sBACnBk0F,EAAYl0F,EAAO,YAAamuF,GAC3B9nE,EAAQhhC,MAAQ,IAAI9sB,OAAS2xD,EAAc,MAIjDmiK,EAAW,CACV,IAAIsuK,EAAgBzmQ,GAAap8H,EAAQo8H,GACrC/F,EAAW7nE,EAASu0B,UAAW,GAC/B3wB,EACJ2hB,EAAY7rC,EAAO,aAAc26V,GACjC36V,EAAO,aAAc,GACrBA,EAAO,aAGXA,EAAO,kBAEPosL,EAAoBpsL,EAAQ2U,EAAQk3B,EAAWpxD,KA6C7C,OACA,SAAUtuB,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BonC,EAAmBpnC,EAAoB,QACvCstY,EAAoBttY,EAAoB,QAE5CnB,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAW1wC,GAChE,SAASqsB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOokB,EAAUC,EAAW3vB,EAAkB3f,EAAMtE,GAEnEmqX,EAAkBz2U,QAAQC,EAAUC,EAAW1wC,EAAUqsB,EAAQ,YAM/D,KACA,SAAU7zC,EAAQC,EAASkB,GAEjC,aAcA,IAAIspP,EAAetpP,EAAoB,QAAQspP,aAE3C9gB,EAAS,CAETpnF,KAAM,SAASmsP,GAKX,GAAGA,EAAQC,eAAelkJ,EAAc,OAAOikJ,EAE/C,IAAI1qS,EAAK,IAAIymJ,EACTmkJ,EAAa,IAAInkJ,EAyDrB,OAlDAikJ,EAAQC,IAAM3qS,EAUd0qS,EAAQG,YAAcD,EAWtBF,EAAQv9X,GAAK6yF,EAAG7yF,GAAGzO,KAAKshG,GACxB0qS,EAAQj9K,KAAOztH,EAAGytH,KAAK/uN,KAAKshG,GAC5B0qS,EAAQziB,eAAiBjoR,EAAGioR,eAAevpX,KAAKshG,GAChD0qS,EAAQvhB,mBAAqBnpR,EAAGmpR,mBAAmBzqX,KAAKshG,GAMxD0qS,EAAQj1J,YAAcm1J,EAAWz9X,GAAGzO,KAAKksY,GACzCF,EAAQI,cAAgBF,EAAWn9K,KAAK/uN,KAAKksY,GAC7CF,EAAQh1J,wBAA0Bk1J,EAAW3iB,eAAevpX,KAAKksY,GACjEF,EAAQK,4BAA8BH,EAAWzhB,mBAAmBzqX,KAAKksY,GAQzEF,EAAQxwR,KAAO,SAASvoF,EAAOrpB,GACN,qBAAXu+J,QACNA,OAAO6jO,GAASM,QAAQr5W,EAAOrpB,GAGnC03F,EAAGka,KAAKvoF,EAAOrpB,GACfsiY,EAAW1wR,KAAKvoF,EAAOrpB,IAGpBoiY,GASXlkK,eAAgB,SAASkkK,EAAS/4W,EAAOrpB,GACrC,IAAI2iY,EACAC,EAMiB,qBAAXrkO,SACNokO,EAAqBpkO,OAAO6jO,GAASlkK,eAAe70M,EAAOrpB,IAM/D,IAAI03F,EAAK0qS,EAAQC,IACjB,IAAI3qS,EAAI,OAAOirS,EAEf,IAwBI5tY,EAxBA8tY,EAAWnrS,EAAGqnR,QAAQ11V,GAC1B,IAAIw5W,EAAU,OAAOF,EAGrB,SAASruY,EAAM6yN,GAMX,OAAGA,EAAQq3F,UACP9mN,EAAGioR,eAAet2V,EAAO89L,EAAQq3F,UAC7Br3F,EAAQu4J,WAAZ,GACIv4J,EAAQu4J,OAAQ,EACTv4J,EAAQq3F,SAASlqT,MAAMojG,EAAI,CAAC13F,MAGhCmnN,EAAQ7yN,MAAMojG,EAAI,CAAC13F,IAQlC,IAHA6iY,EAAWnqY,MAAM0J,QAAQygY,GAAYA,EAAW,CAACA,GAG7C9tY,EAAI,EAAGA,EAAI8tY,EAAS7uY,OAAS,EAAGe,IAChCT,EAAMuuY,EAAS9tY,IAUnB,OAPA6tY,EAAwBtuY,EAAMuuY,EAAS9tY,SAOTd,IAAvB0uY,EACHA,EACAC,GAGRh9J,MAAO,SAASw8J,GAeZ,cAdOA,EAAQC,WACRD,EAAQv9X,UACRu9X,EAAQj9K,YACRi9K,EAAQziB,sBACRyiB,EAAQvhB,0BACRuhB,EAAQxwR,YAERwwR,EAAQC,WACRD,EAAQG,mBACRH,EAAQj1J,mBACRi1J,EAAQI,qBACRJ,EAAQh1J,+BACRg1J,EAAQK,4BAERL,IAKf1uY,EAAOC,QAAU0pO,GAKX,KACA,SAAU3pO,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1BsgE,SAAU,CACNnvC,UAAW,OACXppB,IAAK,OACLC,IAAK,QAGToK,WAAY,QACZ9R,KAAM,UACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,aACbC,KAAM,KAQJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbsT,WAAY,QACZ9R,KAAM,cACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,YAAa,MAAO,aAAc,cAAe,aAC9DC,KAAM,GAINzH,WAAY9K,EAAoB,QAChConC,iBAAkBpnC,EAAoB,QACtCm3D,qBAAsBn3D,EAAoB,QAAQm3D,qBAClDkJ,eAAgBrgE,EAAoB,QAAQqgE,eAC5C7tD,eAAgBxS,EAAoB,QACpCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAAQ0S,KAClC6pX,UAAW,WACX5sX,MAAO3P,EAAoB,QAAQ2P,MACnCgD,YAAa3S,EAAoB,QAAQ2S,YACzCC,aAAc5S,EAAoB,UAMhC,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAIR,EAAIQ,EAAoB,QACxB8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzC/T,EAAY/O,EAAoB,QA4FpC,SAASiuY,EAASC,GACd,GAAGrqY,MAAM0J,QAAQ2gY,GAAa,CAE1B,IADA,IAAIlmY,EAAM,EACF9H,EAAI,EAAGA,EAAIguY,EAAW/uY,OAAQe,IAClC8H,EAAMrC,KAAKqC,IAAIA,EAAKimY,EAASC,EAAWhuY,KAE5C,OAAO8H,EAEX,OAAOkmY,EAGX,SAAS15U,EAAIl1D,EAAGC,GAAK,OAAOD,EAAIC,EAIhC,SAAS4uY,EAAmBC,GACxB,IAGIluY,EAHAo1B,EAAS84W,EAASjqY,QAClB2hO,EAAS37N,IACTkkY,EAAS,EAEb,IAAInuY,EAAI,EAAGA,EAAIo1B,EAAOn2B,OAAQe,IACtB2D,MAAM0J,QAAQ+nB,EAAOp1B,MAAKo1B,EAAOp1B,GAAK,CAACo1B,EAAOp1B,KAClD4lO,EAASngO,KAAKoC,IAAI+9N,EAAQxwM,EAAOp1B,GAAGf,QACpCkvY,EAAS1oY,KAAKqC,IAAIqmY,EAAQ/4W,EAAOp1B,GAAGf,QAGxC,GAAG2mO,IAAWuoK,EACV,IAAInuY,EAAI,EAAGA,EAAIo1B,EAAOn2B,OAAQe,IAAK,CAC/B,IAAIouY,EAASD,EAAS/4W,EAAOp1B,GAAGf,OAC7BmvY,IAAQh5W,EAAOp1B,GAAKo1B,EAAOp1B,GAAGyH,OAAO4mY,EAAaD,KAG7D,OAAOh5W,EAGX,SAASi5W,EAAanhX,GAElB,IADA,IAAIohX,EAAW,IAAI3qY,MAAMupB,GACjB5oB,EAAI,EAAGA,EAAI4oB,EAAK5oB,IAAKgqY,EAAShqY,GAAK,GAC3C,OAAOgqY,EAGX,SAASzuO,EAAO1/J,GACZ,OAAOA,EAAEm6D,SAASklG,QAAQh+D,QAAO,SAAS57F,EAAMwwD,GAC5C,OAAOA,EAAKwpG,OAASz/J,EAAEy/J,OAASh6J,EAAOwwD,EAAK2iG,YAAcnzJ,IAC3D,GAGP,SAAS2oY,EAAaC,EAAkBC,GACpC,IAAIC,EAAkBnuY,OAAO8mD,KAAKmnV,GAClC,OAAOE,EAAgB1zV,KAAI,SAASv2C,GAAI,OAAOme,EAAW,GAAI4rX,EAAiB/pY,GAAI,CAACw2J,gBAAiBwzO,OAGzG,SAASE,EAAqBC,EAAYC,GAQtC,IAPA,IACIC,EADAN,EAAmB,GAEnBO,EAAgB,EAChBC,EAAqB,EACrBC,EAAeC,IACfC,EAAuB,EACvBC,EAAe,EACXpvY,EAAI,EAAGA,EAAI4uY,EAAW3vY,OAAQe,IAClC8uY,EAAmBF,EAAW5uY,GAC9BivY,EAAaxzO,KAAK34J,KAAK,CACnB46J,SAAU19J,EACV07J,UAAWozO,IAEfE,GAAsBF,GACnBE,GAAsBH,GAAqB7uY,IAAM4uY,EAAW3vY,OAAS,KACpEuvY,EAAiBO,GAAiBE,EAClCA,EAAa7tY,IAAMguY,IACnBH,EAAatxO,cAAgBwxO,EAC7BF,EAAaI,aAAervY,EAC5BivY,EAAeC,IACfH,GAAiBC,EACjBG,EAAuBnvY,EAAI,EAC3BgvY,EAAqB,GAI7B,OAAOR,EAGX,SAASU,IACL,MAAO,CACHvxO,cAAe,KACf0xO,aAAc,KACd5zO,KAAM,IA/Kd98J,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAAIghY,EAAcrB,EAAmB3/X,EAAMzH,MAAM8xB,QAC7C42W,EAAS,SAASnwY,GAClB,OAAOA,EAAE6E,MAAMqK,EAAM0uQ,OAAOrkP,OAAO15B,OAAQG,EAAEH,SAE7CuwY,EAAiBvB,EAAmB3/X,EAAM0uQ,OAAOrkP,QAClD62W,EAAevwY,SAAWuwY,EAAe,GAAGvwY,SAC3CuwY,EAAe,GAAK,CAAC,IACrBA,EAAiBvB,EAAmBuB,IAExC,IAAIC,EAAeD,EACd/nY,OAAO8nY,EAAOD,GAAat0V,KAAI,WAC5B,OAAOqzV,GAAcmB,EAAe,IAAM,CAAC,KAAKvwY,YAGpDwwD,EAASnhD,EAAMmhD,OACfigV,EAAajqY,KAAK2N,MAAM/E,EAAGymB,YAAY2+B,MAAMl2C,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,KACzEwoJ,EAAcjxJ,KAAK2N,MAAM/E,EAAGymB,YAAY2+B,MAAM3C,GAAKrB,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,KAC1E87X,EAAmBrhY,EAAM0uQ,OAAOrkP,OAAO15B,OACvCwwY,EAAa,GAAGz0V,KAAI,WAAa,OAAO1sC,EAAM0uQ,OAAOl0P,UACrD,CAACxpB,EAAE2mF,mBACH2oT,EAAaU,EAAYrwY,OAASqwY,EAAY,GAAGt0V,KAAI,WAAa,OAAO1sC,EAAMzH,MAAMiiB,UAAa,GAClG6tI,EAAeg5O,EAAiBnuS,OAAOltC,EAAK,GAC5C6mG,EAAezE,EAAcC,EAC7Bk4O,EAAoB1zO,EAAe77J,EAAE0nF,OACrCwnT,EAAmBG,EAAqBC,EAAYC,GACpDe,EAAyBjB,EAAqBgB,EAAkBh5O,GAChEqtM,EAAkBuqC,EAAaqB,EAAwB,IACvDx5O,EAAYm4O,EAAaC,EAAkBxqC,GAC3C6rC,EAAa,GACbC,EAAcxhY,EAAMqyG,WAAWi6C,YAAYnzJ,OAAO8nY,EAAOD,EAAYt0V,KAAI,SAAS76C,EAAGH,GAAI,OAAOA,OAChG+vY,EAAeN,EAAaz0V,KAAI,SAAS76C,EAAGH,GAC5C,IAAIc,EAAQ6C,MAAM0J,QAAQiB,EAAMyuQ,aAC5BzuQ,EAAMyuQ,YAAYt3Q,KAAKoC,IAAI7H,EAAGsO,EAAMyuQ,YAAY99Q,OAAS,IACzDqP,EAAMyuQ,YACV,OAAOluQ,EAAU/N,GAASo0C,OAAOp0C,GAAS,KAE1CkvY,EAAoBD,EAAavuS,OAAOltC,EAAK,GAGjDy7U,EAAeA,EAAa/0V,KAAI,SAAS76C,GAAK,OAAOA,EAAI6vY,EAAoBN,KAE7E,IAAIh6O,EAAejwJ,KAAKqC,IAAIimY,EAASz/X,EAAM0uQ,OAAOnlP,KAAK7W,OAAQ+sX,EAASz/X,EAAMzH,MAAMgxB,KAAK7W,QAErFs5C,EAAW,CAEXl5D,IAAKkN,EAAMymB,IAAM1mB,EAAG+Y,SAASgzC,WAC7B4kG,WAAYvvG,EAAOvhD,EAAE,GAAKG,EAAGymB,YAAY2+B,MAAMl2C,EAC/C0hJ,WAAY5wJ,EAAGymB,YAAY2+B,MAAM3C,GAAK,EAAIrB,EAAO57C,EAAE,IACnD0P,KAAMlV,EAAGymB,YAAY2+B,MACrBzyC,MAAO0uX,EACPh6O,aAAcA,EACd5sI,OAAQ4tI,EACRo5O,YAAaA,EACbp5O,YAAaA,EACbN,UAAWA,EACX4tM,gBAAiBA,EACjBhtM,QAAS,EACTnwJ,MAAO+b,EAAW,GAAItU,EAAMzH,MAAO,CAAC8xB,OAAQ22W,IAC5CvrC,YAAanhV,EAAW,GAAItU,EAAM0uQ,OAAQ,CAACrkP,OAAQ82W,IACnD90O,UAAW80O,EAAaz0V,KAAI,SAAS76C,GAAI,OAAOA,EAAE,MAClDu6J,uBAAwB+0O,EAAaz0V,KAAI,SAAS76C,GAAI,OAAOA,EAAE,MAC/Di8J,UAAW,CAAC,EAAG,GACf7F,eAAgB,CAACmB,2BAA2B,GAC5C8H,QAASiwO,EAAaz0V,KAAI,SAAS6lD,EAAO7gG,GACtC,IAAIiwY,EAAWJ,EAAWhvS,GAC1BgvS,EAAWhvS,IAAUovS,GAAY,GAAK,EACtC,IAAI7uY,EAAMy/F,EAAQ,KAAOgvS,EAAWhvS,GACpC,MAAO,CACHz/F,IAAKA,EACLy/F,MAAOA,EACPg1D,UAAW71J,EACX4/J,OAAQkwO,EAAY9vY,GACpB6/J,OAAQA,EACR3xJ,OAAGhP,EACHo7D,cAAUp7D,EACV65J,YAAag3O,EAAa/vY,QAUtC,OALAs6D,EAASklG,QAAQhpG,SAAQ,SAASkiG,GAC9BA,EAAIp+F,SAAWA,EACfo+F,EAAIxqJ,EAAI2xJ,EAAOnH,MAGZp+F,IAgGL,KACA,SAAU37D,EAAQC,EAASkB,GAEjC,aAGA,IAAImC,EAAenC,EAAoB,QACnCoH,EAASpH,EAAoB,QAIjC,SAASowY,EAAqB9wY,EAAGC,GAC/B,OAAO4C,EAAa7C,EAAGC,IAAM6H,EAAO9H,GAAK8H,EAAO7H,GAHlDV,EAAOC,QAAUsxY,GASX,OACA,SAAUvxY,EAAQC,EAASkB,GAEjC,aAGA,IAAI2I,EAAU3I,EAAoB,QAIlC,SAASuD,EAAc61O,EAAOtpF,GAC5BttJ,KAAK42O,MAAQA,EACb52O,KAAKstJ,MAAQA,EAJfjxJ,EAAOC,QAAUuxY,EAOjB,IAAIvsY,EAAQP,EAAc5B,UAE1B,SAAS2uY,EAAWhsY,EAAME,EAAGG,GAC3B,IAAI,IAAIzE,EAAE,EAAGsB,EAAE8C,EAAKnF,OAAQe,EAAEsB,EAAGtB,GAAG,EAClC,GAAGoE,EAAKpE,EAAE,KAAOsE,GAAKF,EAAKpE,KAAOyE,EAIhC,OAHAL,EAAKpE,EAAE,GAAKoE,EAAK9C,EAAE,GACnB8C,EAAKpE,GAAKoE,EAAK9C,EAAE,QACjB8C,EAAKnF,OAASqC,EAAI,GA+ExB,SAAS6uY,EAAoB31I,EAAU5qG,GAErC,IADA,IAAIspF,EAAQ,IAAIv1O,MAAM62P,GACdx6P,EAAE,EAAGA,EAAEw6P,IAAYx6P,EACzBk5O,EAAMl5O,GAAK,GAEb,OAAO,IAAIqD,EAAc61O,EAAOtpF,GA9ElChsJ,EAAM6kH,aAAe,WACnB,IAAIprG,EAAI,CAAC,EAAE,GACX,SAASgzX,EAAWjxY,EAAGC,GACrB,OAAOD,EAAE,GAAKC,EAAE,IAAMD,EAAE,GAAKC,EAAE,GAEjC,OAAO,SAASW,EAAGsE,GAGjB,OAFA+Y,EAAE,GAAK5X,KAAKoC,IAAI7H,EAAEsE,GAClB+Y,EAAE,GAAK5X,KAAKqC,IAAI9H,EAAEsE,GACXmE,EAAQk4K,GAAGr+K,KAAKstJ,MAAOvyI,EAAGgzX,IAAe,GAR/B,GAYrBzsY,EAAM0sY,eAAiB,SAAStwY,EAAGsE,EAAGG,GACpC,IAAIy0O,EAAQ52O,KAAK42O,MACjBk3J,EAAWl3J,EAAMl5O,GAAIsE,EAAGG,GACxB2rY,EAAWl3J,EAAM50O,GAAIG,EAAGzE,GACxBowY,EAAWl3J,EAAMz0O,GAAIzE,EAAGsE,IAG1BV,EAAM2sY,YAAc,SAASvwY,EAAGsE,EAAGG,GACjC,IAAIy0O,EAAQ52O,KAAK42O,MACjBA,EAAMl5O,GAAG8C,KAAKwB,EAAGG,GACjBy0O,EAAM50O,GAAGxB,KAAK2B,EAAGzE,GACjBk5O,EAAMz0O,GAAG3B,KAAK9C,EAAGsE,IAGnBV,EAAM0C,SAAW,SAAShC,EAAGtE,GAE3B,IADA,IAAIoE,EAAO9B,KAAK42O,MAAMl5O,GACdyE,EAAE,EAAGnD,EAAE8C,EAAKnF,OAAQwF,EAAEnD,EAAGmD,GAAG,EAClC,GAAGL,EAAKK,KAAOH,EACb,OAAOF,EAAKK,EAAE,GAGlB,OAAQ,GAGVb,EAAMV,KAAO,SAASlD,EAAGsE,GACvB,IAAIlF,EAAIkD,KAAKgE,SAAStG,EAAGsE,GACrBjF,EAAIiD,KAAKgE,SAAShC,EAAGtE,GACzBsC,KAAKguY,eAAetwY,EAAGsE,EAAGlF,GAC1BkD,KAAKguY,eAAehsY,EAAGtE,EAAGX,GAC1BiD,KAAKiuY,YAAYvwY,EAAGX,EAAGD,GACvBkD,KAAKiuY,YAAYjsY,EAAGlF,EAAGC,IAGzBuE,EAAMgsJ,MAAQ,WAGZ,IAFA,IAAIspF,EAAQ52O,KAAK42O,MACb/vO,EAAS,GACLnJ,EAAE,EAAGsB,EAAE43O,EAAMj6O,OAAQe,EAAEsB,IAAKtB,EAElC,IADA,IAAIoE,EAAO80O,EAAMl5O,GACTsE,EAAE,EAAGpE,EAAEkE,EAAKnF,OAAQqF,EAAEpE,EAAGoE,GAAG,EAClC6E,EAAOrG,KAAK,CAACsB,EAAKE,GAAIF,EAAKE,EAAE,KAGjC,OAAO6E,GAGTvF,EAAMiD,MAAQ,WAGZ,IAFA,IAAIqyO,EAAQ52O,KAAK42O,MACb/vO,EAAS,GACLnJ,EAAE,EAAGsB,EAAE43O,EAAMj6O,OAAQe,EAAEsB,IAAKtB,EAElC,IADA,IAAIoE,EAAO80O,EAAMl5O,GACTsE,EAAE,EAAGpE,EAAEkE,EAAKnF,OAAQqF,EAAEpE,EAAGoE,GAAG,EAAG,CACrC,IAAI1C,EAAIwC,EAAKE,GACTvD,EAAIqD,EAAKE,EAAE,GACZtE,EAAIyF,KAAKoC,IAAIjG,EAAGb,IACjBoI,EAAOrG,KAAK,CAAC9C,EAAG4B,EAAGb,IAIzB,OAAOoI,IAcH,OACA,SAAUxK,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QAG7B6yE,EAAoB7iB,EAAK51C,WAM7B,SAASs2X,EAAgBv2X,GACrB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IAG9Ei4X,EAAgB/uY,UAAY,IAAIquD,EAAK/wC,aAErC1G,EAAOm4X,EAAgB/uY,UAAW,CAG9BrB,KAAM,UAGNud,QAAS,UAGTL,aAAa,EAIbd,SAAU,EAIVI,WAAY,EAGZH,OAAQ,EAiBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,UACNsc,OAAQ,CAAC,MAAO,MAChBo5O,aAAc,SAASh7O,EAAMypE,GACzB,GAAoB,kBAATzpE,EAAmB,CAC1B,IAAI2M,EAAQ3M,EAAK2M,MAAMgpX,GACvB,OAAO,EAAUhpX,EAAM,GAAK,GAGhC,IAAIvO,EAAO5W,KAAKouY,cAAc51X,GAC1B61X,EAAa71X,EAAK3B,QAElBA,EAAQ,GAAK7W,KAAKsuY,eAAe13X,EAAMy3X,GAU3C,OARIpsT,GAAUprE,EAAMla,OAAS,IACzBka,EAAQ,IAAMA,GAGd7W,KAAKuuY,mBAAmB33X,EAAMy3X,KAC9Bx3X,GAAS,KAGNA,GAEX0E,WAAY,SAAS/C,GACjB,GAAoB,kBAATA,EAAmB,CAC1B,IAAI2M,EAAQ3M,EAAK2M,MAAMqpX,GACvB,OAAO,EAAUrpX,EAAM,GAAK,GAGhC,IAAIvO,EAAO5W,KAAKouY,cAAc51X,GAC1B61X,EAAa71X,EAAK3B,QAElBA,EAAQ7W,KAAKsuY,eAAe13X,EAAMy3X,GAElCI,EAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KACtC,KAAK,KAAK,KAAK,KAAK,MAAM,OAAO53X,EAAQ,GAM7C,OAJI7W,KAAKuuY,mBAAmB33X,EAAMy3X,KAC9BI,EAAY,IAAMA,GAGfA,GAEXjzX,gBAAiB,SAAShD,GACtB,GAAoB,kBAATA,EAAmB,CAC1B,IAAI2M,EAAQ3M,EAAK2M,MAAMupX,GACvB,OAAO,EAAUvpX,EAAM,GAAK,GAGhC,IAAIvO,EAAO5W,KAAKouY,cAAc51X,GAC1B61X,EAAa71X,EAAK3B,QAElBA,EAAQ7W,KAAKsuY,eAAe13X,EAAMy3X,GAElCI,EAAY,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IACjC,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM53X,EAAQ,GAMvC,OAJI7W,KAAKuuY,mBAAmB33X,EAAMy3X,KAC9BI,EAAY,IAAMA,GAGfA,GAEXl6I,WAAY,SAAS39O,EAAM+3X,GACvB/3X,EAAO5W,KAAKouY,cAAcx3X,GAC1B,IACIq6Q,EADAp6Q,EAAQ8O,SAASgpX,GAGrB,GAAK9jY,MAAMgM,GAIgB,MAAnB83X,EAAY,KACZ19G,GAAgB,EAChB09G,EAAcA,EAAYp3X,UAAU,IAEI,MAAxCo3X,EAAYA,EAAYhyY,OAAS,KACjCgyY,EAAcA,EAAYp3X,UAAU,EAAGo3X,EAAYhyY,OAAS,IAEhEka,EAAQ,EACJ,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IACrB,IAAI,IAAI,IAAI,IAAI,KAAK,MAAMzU,QAAQusY,OAbxB,CACf,IAAIjxY,EAAIixY,EAAYA,EAAYhyY,OAAS,GACzCs0R,EAAuB,MAANvzR,GAAmB,MAANA,EAclC,IAAI2wY,EAAaruY,KAAKkxR,aAAat6Q,EAAMC,EAAOo6Q,GAChD,OAAOo9G,GAEX5yX,SAAU,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC7EC,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DC,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAClD1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IAWfsyX,cAAe,SAASx3X,EAAMwE,GAK1B,GAJIxE,EAAKA,OACLA,EAAOA,EAAKA,QAGI,kBAATA,GAAqBA,EAAO,MAAQA,EAAO,KAClD,MAAMwE,EAAMvF,QAAQ,QAAS7V,KAAKuW,MAAMzY,MAG5C,OAAO8Y,GAUXs6Q,aAAc,SAASt6Q,EAAMC,EAAOo6Q,GAEhC,IAWIo9G,EAXAO,EAAmB5uY,KAAK4uY,iBAAiBh4X,GAGzCi4X,EACC59G,GAAiBp6Q,IAAU+3X,EAChC,GAAIC,GAA2Bh4X,EAAQ,GAAKA,EAAQ,GAChD,MAAM22C,EAAKj3C,MAAMH,aACZP,QAAQ,QAAS7V,KAAKuW,MAAMzY,MAcrC,OALIuwY,EAHCO,GAEM39G,GAAiBp6Q,GAAS+3X,EACpB/3X,EAAQ,EAERA,EAJAA,EAAQ,EAOlBw3X,GASXC,eAAgB,SAAS13X,EAAMy3X,GACvBz3X,EAAKA,OACLA,EAAOA,EAAKA,OACZy3X,EAAaz3X,EAAKC,SAItB,IAUIA,EAVA+3X,EAAmB5uY,KAAK4uY,iBAAiBh4X,GAGzCk4X,EAAgB,EAAqB,GAAK,GAC9C,GAAIT,EAAa,GAAKA,EAAaS,EAC/B,MAAMthV,EAAKj3C,MAAMH,aACZP,QAAQ,QAAS7V,KAAKuW,MAAMzY,MAcrC,OALI+Y,EAHC+3X,EAEKP,EAAaO,EACXP,EAAa,EAEbA,EAJAA,EAAa,EAOlBx3X,GAQX+3X,iBAAkB,SAASh4X,GACvBA,EAAO5W,KAAKouY,cAAcx3X,GAE1B,IAAIm4X,EAAiBC,EAAiBp4X,EAAOo4X,EAAiB,IAC1DJ,EAAmBG,GAAkB,GAEzC,OAAOH,GASXL,mBAAoB,SAAS33X,EAAMy3X,GAC3Bz3X,EAAKA,OACLA,EAAOA,EAAKA,OACZy3X,EAAaz3X,EAAKC,SAGtB,IAAI+3X,EAAmB5uY,KAAK4uY,iBAAiBh4X,GAE7C,QAASg4X,GAAoBA,IAAqBP,GAQtD51X,SAAU,SAAS7B,GACf,OAAwC,IAAhC5W,KAAK4uY,iBAAiBh4X,IAUlCiC,WAAY,SAASjC,EAAMy3X,EAAYv3X,GAEnC,IAUIm4X,EAVAC,EACAlvY,KAAKouY,cAAcx3X,EAAM42C,EAAKj3C,MAAM44X,aACpCC,EACAC,EAAiBH,EAAgBG,EAAiB,IAElD99X,EAAK69X,GAAc,EAAK,KACxBxxY,EAAKwxY,GAAc,EAAK,GACxBvxY,EAAiB,GAAbuxY,EAIRH,EAAgB5+T,EAAkBt4D,QAAQxG,EAAG3T,EAAGC,GAChDoxY,EAAc71X,IAAI,GAAK61X,EAAch2X,aAAe,GAAI,KAGxD,IAAII,EACArZ,KAAKwZ,KAAK5C,EAAMy3X,EAAYv3X,GAAOm4X,EAAcz1X,OACrD,OAAO,EAAIrW,KAAK2N,MAAMuI,EAAS,IAQnCgB,aAAc,SAASzD,GACnB,OAAQ5W,KAAKyY,SAAS7B,GAAS,GAAK,IASxCoC,YAAa,SAASpC,EAAMy3X,GACpBz3X,EAAKA,OACLy3X,EAAaz3X,EAAKC,QAClBD,EAAOA,EAAKA,QAGhBA,EAAO5W,KAAKouY,cAAcx3X,GAE1B,IAAIm4X,EAAiBC,EAAiBp4X,EAAOo4X,EAAiB,IAE1DJ,EAAmBG,GAAkB,GACrCD,EAAgB,EAAqB,GAAK,GAC9C,GAAIT,EAAaS,EACb,MAAMthV,EAAKj3C,MAAMH,aACZP,QAAQ,QAAS7V,KAAKuW,MAAMzY,MAGrC,IAAIkb,EAAe+1X,EAAkB,GAAM,GAAKV,EAC5C,GAAK,GAET,OAAOr1X,GAUXE,QAAS,SAAStC,EAAMy3X,EAAYv3X,GAChC,OAAQ9W,KAAKiZ,UAAUrC,EAAMy3X,EAAYv3X,IAAQ,GAAK,GAW1D0C,KAAM,SAAS5C,EAAMy3X,EAAYv3X,GAC7B,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACvDS,EAAO5W,KAAKouY,cAAc51X,EAAK5B,QAC/By3X,EAAa71X,EAAK3B,QAClBC,EAAM0B,EAAK1B,MAEX,IAAIm6Q,EAAgBjxR,KAAKuuY,mBAAmB33X,EAAMy3X,GAC9Cx3X,EAAQ7W,KAAKsuY,eAAe13X,EAAMy3X,GAElCiB,EAAQC,EAAQ34X,EAAMC,EAAOC,EAAKm6Q,GAEtC,OAAO5gN,EAAkB72D,KAAK81X,EAAM14X,KAAM04X,EAAMz4X,MAAOy4X,EAAMx4X,MAOjE2C,OAAQ,SAASC,GACb,IAAIlB,EAAO63D,EAAkB52D,OAAOC,GAChC81X,EAAQC,EAAQj3X,EAAK5B,OAAQ4B,EAAK3B,QAAS2B,EAAK1B,OAChDu3X,EAAaruY,KAAKkxR,aAClBs+G,EAAM54X,KAAM44X,EAAM34X,MAAO24X,EAAMv+G,eACnC,OAAOjxR,KAAK+X,QAAQy3X,EAAM54X,KAAMy3X,EAAYmB,EAAM14X,MAQtD44X,WAAY,SAASC,GACjB,IAAIxqX,EAAQwqX,EAAWxqX,MAAMyqX,GAEzBh5X,EAAO5W,KAAKouY,eAAejpX,EAAM,IAEjCtO,GAASsO,EAAM,GACf8rQ,IAAkB9rQ,EAAM,GACxBkpX,EAAaruY,KAAKkxR,aAAat6Q,EAAMC,EAAOo6Q,GAE5Cn6Q,GAAOqO,EAAM,GAEjB,OAAOnlB,KAAK+X,QAAQnB,EAAMy3X,EAAYv3X,IAW1CsC,IAAK,SAASZ,EAAMa,EAAQC,GACxB,IAAI1C,EAAO4B,EAAK5B,OACZy3X,EAAa71X,EAAK3B,QAClBo6Q,EAAgBjxR,KAAKuuY,mBAAmB33X,EAAMy3X,GAC9Cx3X,EAAQ7W,KAAKsuY,eAAe13X,EAAMy3X,GAElC7xX,EAAQve,OAAO8+F,eAAemxS,EAAgB/uY,WAC7Cia,IAAIvc,KAAKmD,KAAMwY,EAAMa,EAAQC,GAElC,GAAe,MAAXA,EAAgB,CAEhB,IAAIu2X,EAAarzX,EAAM5F,OACnBk5X,EAAmBtzX,EAAM3F,QAIzBk5X,EACA/vY,KAAKuuY,mBAAmBsB,EAAYh5X,GAEpCm5X,EACC/+G,GAAiB8+G,EAClB/vY,KAAKkxR,aAAa2+G,EAAYh5X,GAAO,GACrC7W,KAAKkxR,aAAa2+G,EAAYh5X,GAAO,GAErCm5X,IAAwBF,GACxBtzX,EAAM3F,MAAMm5X,GAIpB,OAAOxzX,KAKf,IAAIozX,EAAc,sDACdzB,EAAsB,eACtBK,EAAoB,sBACpBE,EAA0B,qBAG9BlhV,EAAKh3C,UAAUy5X,QAAU/B,EAezB,IAAIc,EAAmB,CAAC,KAAM,KAAQ,KAAQ,MAC1C,KAAO,MAAQ,KAAO,KAAO,MAAQ,KAAQ,KAAO,MAAQ,KAC5D,MAAS,KAAO,KAAQ,MAAQ,KAAQ,KAAQ,MAAQ,KACxD,KAAQ,MAAQ,KAAO,MAAQ,KAAQ,KAAQ,MAAQ,KACvD,KAAQ,MAAQ,KAAQ,MAAQ,KAAO,KAAQ,MAAQ,KACvD,KAAO,MAAQ,KAAO,KAAQ,MAAQ,KAAO,MAAQ,KACrD,KAAQ,MAAQ,KAAO,KAAO,MAAQ,KAAQ,MAAQ,KACtD,KAAQ,MAAQ,KAAQ,KAAO,MAAQ,KAAO,KAAQ,MACtD,KAAQ,MAAQ,KAAO,KAAQ,MAAQ,KAAO,KAAQ,MACtD,KAAO,MAAS,KAAQ,KAAO,MAAQ,KAAQ,KAAO,MACtD,KAAQ,KAAO,MAAQ,KAAQ,MAAQ,KAAO,KAAQ,MACtD,KAAO,KAAQ,MAAQ,KAAQ,MAAS,KAAQ,KAAQ,MACxD,KAAQ,KAAO,MAAQ,KAAQ,MAAS,KAAO,KAAO,MACtD,KAAQ,KAAQ,MAAQ,KAAO,KAAO,MAAQ,KAAQ,MACtD,KAAO,KAAQ,MAAQ,KAAQ,KAAQ,MAAQ,KAAQ,KACvD,MAAQ,KAAO,MAAQ,KAAO,KAAQ,MAAQ,KAAQ,KACtD,MAAQ,KAAQ,MAAS,KAAO,KAAQ,MAAQ,KAAO,KACvD,MAAQ,KAAO,KAAQ,MAAQ,KAAO,MAAQ,KAAQ,KACtD,MAAQ,KAAQ,KAAO,MAAQ,KAAQ,MAAS,KAAO,KACvD,MAAQ,KAAQ,KAAQ,MAAQ,KAAQ,KAAO,MAAQ,KACvD,MAAQ,KAAQ,KAAQ,MAAQ,KAAO,KAAQ,MAAQ,KACvD,MAAS,KAAO,KAAO,MAAQ,KAAQ,KAAO,MAAQ,KACtD,KAAQ,MAAQ,KAAQ,MAAQ,KAAQ,KAAQ,MAAQ,KACxD,KAAQ,MAAQ,KAAO,MAAS,KAAQ,KAAQ,MAAQ,KACxD,KAAO,MAAQ,KAAQ,KAAO,MAAQ,KAAO,MAAQ,KAAO,KAC5D,MAAQ,KAAO,KAAQ,MAAQ,KAAQ,MAAS,KAAQ,KACxD,MAAQ,KAAO,KAAO,MAAQ,KAAQ,KAAQ,MAAQ,KACtD,MAAQ,KAAQ,KAAO,MAAQ,KAAO,KAAQ,MAAQ,KACtD,MAAS,KAAO,MAOhBK,EAAmB,CAAC,KAAM,OAAS,OAAS,OAAS,OACrD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACtD,OAAS,OAAS,OAAS,OAAS,OAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QACtD,QAAS,QAAS,QAAU,QAAU,QAAU,QAAU,QAC1D,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,QAAU,QAClD,QAAU,QAAU,QAAU,QAAU,SAE5C,SAASI,EAAQS,EAAYC,EAAer5X,EAAKjQ,GAC7C,IAAIupY,EACAC,EAEJ,GAAyB,kBAAfH,EACNE,EAAYF,EACZG,EAAYF,GAAiB,OAE1B,CACH,IAAIG,EAAqC,kBAAfJ,GACrBA,GAAc,MAAUA,GAAc,KAC3C,IAAII,EACA,MAAM,IAAI7uY,MAAM,sCAEpB,IAAI8uY,EAAyC,kBAAlBJ,GACtBA,GAAiB,GAAOA,GAAiB,GAC9C,IAAII,EACA,MAAM,IAAI9uY,MAAM,oCAEpB,IAAI+uY,EAA6B,kBAAR15X,GAAsBA,GAAO,GAAOA,GAAO,GACpE,IAAI05X,EACA,MAAM,IAAI/uY,MAAM,kCAEpB2uY,EAAY,CACRx5X,KAAMs5X,EACNr5X,MAAOs5X,EACPr5X,IAAKA,GAETu5X,EAAYxpY,GAAU,GAI1B,IAAI4pY,EACApB,EAAiBe,EAAUx5X,KAAOy4X,EAAiB,IAEnDD,EAAcgB,EAAUx5X,MAAQ,EAAMw5X,EAAUv5X,OAAS,EACvDu5X,EAAUt5X,IAEhBu5X,EAAUz5X,KAAQw4X,GAAcqB,EAC5BL,EAAUx5X,KACVw5X,EAAUx5X,KAAO,EAErB65X,EACIpB,EAAiBgB,EAAUz5X,KAAOy4X,EAAiB,IAEvD,IAKIqB,EALAn/X,EAAKk/X,GAA4B,EAAK,KACtC7yY,EAAK6yY,GAA4B,EAAK,GACtC5yY,EAA+B,GAA3B4yY,EAKJE,EAAuB,IAAI12X,KAAK1I,EAAG3T,EAAG,EAAGC,GACzC+yY,EAAS,IAAI32X,KAAKm2X,EAAUx5X,KAAMw5X,EAAUv5X,MAAQ,EAAGu5X,EAAUt5X,KAErE45X,EAAkBvtY,KAAKs5B,OAClBm0W,EAASD,GAAwB,OAGtC,IAEIjzY,EAFAqxY,EAAiBC,EAAiBqB,EAAUz5X,KAAOo4X,EAAiB,IAGxE,IAAItxY,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACpB,IAAIsb,EAAe+1X,EAAkB,GAAM,GAAKrxY,EAAO,GAAK,GAE5D,GAAIgzY,EAAkB13X,EAClB,MAGJ03X,GAAmB13X,EAGvB,IAAI41X,EAAmBG,GAAkB,GAczC,OAbKH,GAAoBlxY,EAAIkxY,GACzByB,EAAUp/G,eAAgB,EAC1Bo/G,EAAUx5X,MAAQ,EAAInZ,GACfA,IAAMkxY,GACbyB,EAAUp/G,eAAgB,EAC1Bo/G,EAAUx5X,MAAQnZ,IAElB2yY,EAAUp/G,eAAgB,EAC1Bo/G,EAAUx5X,MAAQnZ,GAGtB2yY,EAAUv5X,IAAM,EAAI45X,EAEbL,EAGX,SAASd,EAAQW,EAAYC,EAAer5X,EAAK+5X,EAAuBhqY,GACpE,IAAIupY,EACAC,EAuCAK,EArCJ,GAAyB,kBAAfR,EACNG,EAAYH,EACZE,EAAYD,GAAiB,OAE1B,CACH,IAAIG,EAAqC,kBAAfJ,GACrBA,GAAc,MAAUA,GAAc,KAC3C,IAAII,EACA,MAAM,IAAI7uY,MAAM,sCAEpB,IAAI8uY,EAAyC,kBAAlBJ,GACtBA,GAAiB,GAAOA,GAAiB,GAC9C,IAAII,EACA,MAAM,IAAI9uY,MAAM,oCAEpB,IAIIwvR,EAJAu/G,EAA6B,kBAAR15X,GAAsBA,GAAO,GAAOA,GAAO,GACpE,IAAI05X,EACA,MAAM,IAAI/uY,MAAM,kCAGgB,kBAA1BovY,GACN5/G,GAAgB,EAChBm/G,EAAYS,IAEZ5/G,IAAkB4/G,EAClBT,EAAYvpY,GAAU,IAG1BwpY,EAAY,CACRz5X,KAAMs5X,EACNr5X,MAAOs5X,EACPr5X,IAAKA,EACLm6Q,cAAeA,GAOvBy/G,EAAkBL,EAAUv5X,IAAM,EAElC,IAGIg6X,EAHA/B,EAAiBC,EAAiBqB,EAAUz5X,KAAOo4X,EAAiB,IACpEJ,EAAmBG,GAAkB,GAMrC+B,EAHClC,IAEMyB,EAAUx5X,MAAQ+3X,GAElByB,EAAUp/G,eADGo/G,EAAUx5X,MAFVw5X,EAAUx5X,MAAQ,EAS1C,IAAI,IAAInZ,EAAI,EAAGA,EAAIozY,EAAmBpzY,IAAK,CACvC,IAAIsb,EAAe+1X,EAAkB,GAAM,GAAKrxY,EAAO,GAAK,GAC5DgzY,GAAmB13X,EAIvB,IAAIo2X,EAAaC,EAAiBgB,EAAUz5X,KAAOy4X,EAAiB,IAEhE99X,EAAK69X,GAAc,EAAK,KACxBxxY,EAAKwxY,GAAc,EAAK,GACxBvxY,EAAiB,GAAbuxY,EAGJwB,EAAS,IAAI32X,KAAK1I,EAAG3T,EAAI,EAAGC,EAAI6yY,GAMpC,OAJAN,EAAUx5X,KAAOg6X,EAAOv0X,cACxB+zX,EAAUv5X,MAAQ,EAAI+5X,EAAOt0X,WAC7B8zX,EAAUt5X,IAAM85X,EAAOr0X,UAEhB6zX,IAOL,OACA,SAAU/zY,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAE1ByoH,EAAoBzoH,EAAoB,QACxCm+E,EAAsBn+E,EAAoB,QAC1C28D,EAAqB38D,EAAoB,QACzC8K,EAAa9K,EAAoB,QAGrCnB,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAIi7M,EAAY31G,EAAkB1vD,EAASC,EAAUtmB,EAAQ2U,GACzD+2K,GAKJ1rL,EAAO,QACPA,EAAO,aACPA,EAAO,iBAEPyrC,EAAoBplB,EAASC,EAAUtmB,EAAQ2U,GAE/C3U,EAAO,eACPA,EAAO,cAAen8B,EAAI63B,UAAU4qB,EAASnqD,KAA4B,IAArBmqD,EAASlgC,SAE7D6jC,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,GAAI5uD,QAAS,OAbxEoqD,EAASjnD,SAAU,IAmBrB,OACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBm5B,EAAWn5B,EAAoB,QAC/BswC,EAAQtwC,EAAoB,QAC5B0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAC9BuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QACnC0xC,EAAU1xC,EAAoB,QAE9BoxC,EAAqBpxC,EAAoB,QACzC8mB,EAAesqB,EAAmBtqB,aAClC2hN,EAAUr3L,EAAmBq3L,QAC7BC,EAAUt3L,EAAmBs3L,QAE7B/3L,EAAY3wC,EAAoB,QAChCuzY,EAAkBvzY,EAAoB,QA6D1C,SAASwzY,EAAiBjlY,GAItB,IAHA,IAAI6I,EAAOs6B,EAAQptC,KAAKiK,EAAI,KAAK,GAC7BpD,EAAO,GAEHjL,EAAI,EAAGA,EAAIkX,EAAKjY,OAAQe,IAAK,CACjC,IAAIksF,EAAOh1E,EAAKlX,GAEbksF,EAAKjlD,eAAiBilD,EAAKjlD,cAAcp1B,SACxC5G,EAAKnI,KAAKopF,GAIlB,OAAOjhF,EAGX,SAASsoY,EAAgBpzY,GACrB,OAAOA,EAAE+7B,IAGb,SAASs3W,EAASC,EAAYxmX,EAAM5hB,GAChC,GAAiB,QAAd4hB,EAAK0b,KACJ,OAAgC,IAAzB8qW,EAAW3hW,UAElB,IAAIuV,EAAO9mD,OAAO8mD,KAAKh8C,GAEvB,OACIooY,EAAW/7X,MAAM,KAAOrM,EAAOg8C,EAAK,KACpCosV,EAAW/7X,MAAM,KAAOrM,EAAOg8C,EAAK,IAKhD,SAASqsV,EAAe9wS,EAAQ+wS,EAAgBxzY,GAC5C,IAAIsuH,EAAOp4G,EAAIiuG,aAAa1hB,EAAQ,OAAQ,iBAAiB,SAAShhG,GAClEA,EAAE2lB,KAAK,kBAAmB,iBAG9BknG,EAAKlnG,KAAK,CACN,GAAMkpB,EAAUojC,GAChB,GAAMpjC,EAAUqjC,KAGpB26C,EAAKtvH,KAAKqjB,EAAM0G,OAAQyqX,EAAejoS,aAClCvsG,KAAKqjB,EAAMjR,KAAMqiY,EAAaD,EAAgBxzY,IAC9CsP,MAAM,eAAgBkkY,EAAe/nS,YAAc,MAG5D,SAASgoS,EAAaD,EAAgBxzY,GAClC,OAAQA,EAAE0zY,WAAa1zY,EAAE2zY,WACrBH,EAAexgR,YACfwgR,EAAeloS,QAGvB,SAASsoS,EAAenxS,EAAQ+wS,EAAgBxzY,EAAGkO,GAC/C,SAASi+I,EAAW1qJ,GAChByuC,EAAalpB,gBAAgBvlB,EAAGyM,GAGpC,IAAIU,EAAOsH,EAAIiuG,aAAa1hB,EAAQ,OAAQ,iBAAiB,SAAShhG,GAClEA,EAAE2N,QAAQ,oBAAoB,GACzBgY,KAAK,cAAe,aAG7BxY,EAAK5P,KAAKg4B,EAAQrW,KAAM6yX,EAAe7yX,MAClC/R,KAAKilY,EAAS7zY,EAAGkO,EAAGymB,YAAY48D,QAChCvyF,KAAKmtJ,GAGd,SAAS0nP,EAAS/mX,EAAMykE,GACpB,OAAGzkE,EAAK4zE,MACGnP,EACHr7E,EAAI+tG,eAAen3F,EAAK4zE,MAAOnP,GAC/BzkE,EAAK4zE,MAGI,QAAd5zE,EAAK0b,KAAuB,MAExB1b,EAAKq9C,MAAQr9C,EAAK0b,KAAKla,OAAO,GAGzC,SAASwlX,EAAW5lY,EAAI22B,EAAS/X,EAAM8nE,EAAQp3D,GAC3C,IAAI3c,EAAQ,EACR8H,EAAS,EAETuuF,EAAcpqF,EAAK2+E,YAEvB5mE,EAAQt1B,MAAK,WACT,IAAIkzF,EAASh0F,EAAGO,OAAO7M,MACnByM,EAAO6zF,EAAOzzF,OAAO,kBAErB+kY,EAAUjnX,EAAKnM,KAAKyC,KAAOqD,EAC3ButX,EAAO1uY,KAAKqC,IAAIosY,EAAU7jW,EAAaxe,UAAU9iB,GAAO,IAAM,EAElE+Z,EAASrjB,KAAKqC,IAAIghB,EAAQqrX,MAG9BnvW,EAAQt1B,MAAK,WACT,IAAIkzF,EAASh0F,EAAGO,OAAO7M,MACnBmsH,EAAO7rB,EAAOzzF,OAAO,kBACrBJ,EAAO6zF,EAAOzzF,OAAO,kBAErBilY,EAASrlY,EAAKiY,QAAUmQ,EAAQ+qB,KAAKnzC,EAAKiY,QAAQhG,MAClDkzX,EAAUjnX,EAAKnM,KAAKyC,KAAOqD,EAC3BytX,EAAShkW,EAAaxe,UAAU9iB,GAEhCulY,EAAO7uY,KAAKqC,IAAIssY,EAAS,GAAI3jW,EAAU8jW,gBAM3C3xS,EAAOr7E,KAAK,YAAa,cACpB8vF,EAAcr2F,GAAS,IAAMq2F,EAClC,KAEAoX,EAAKlnG,KAAK,CACNrZ,EAAG,EACH2F,EAAG,EACHmN,MAAOszX,EACPxrX,OAAQA,IAGZunB,EAAazmB,aAAa7a,EAAMulY,EAAO,EACnCxrX,EAAS,GAAMurX,EAAS,GAAKH,EAAU,EAAK,GAEhDlzX,GAASszX,EAAO,KAGpB,IAAI12H,EAAYvvQ,EAAGymB,YAAY2+B,MAC3B66K,EAAKsvC,EAAU39Q,EAAI29Q,EAAUrgQ,EAAI0P,EAAK/e,EACtCqgO,EAAKqvC,EAAU78Q,EAAI68Q,EAAU9sN,GAAK,EAAI7jC,EAAKpZ,GAE3CuuF,EAAU,OACX/rF,EAAIm3N,cAAcvgN,KACjBqhN,GAAMttN,EACNohF,EAAU,SAEX/rF,EAAIo3N,eAAexgN,KAClBqhN,GAAMttN,EAAQ,EACdohF,EAAU,UAGd,IAAIC,EAAU,MACXhsF,EAAIq3N,eAAezgN,KAClBshN,GAAMzlN,EACNu5E,EAAU,UAEXhsF,EAAIs3N,eAAe1gN,KAClBshN,GAAMzlN,EAAS,EACfu5E,EAAU,UAGdrhF,EAAQvb,KAAKy5B,KAAKle,GAClB8H,EAASrjB,KAAKy5B,KAAKpW,GACnBwlN,EAAK7oO,KAAKs5B,MAAMuvM,GAChBC,EAAK9oO,KAAKs5B,MAAMwvM,GAEhBn+L,EAAMwf,WAAWvhD,EAAI0mF,EAAS,kBAAmB,CAC7C7mF,EAAG+e,EAAK/e,EACR2F,EAAGoZ,EAAKpZ,EACR5T,EAAG+gB,EAAQunN,EAAQnmI,GACnBzhG,EAAGqgB,EAAQwnN,EAAQpmI,GACnB/iG,EAAGypB,EAAS0/M,EAAQnmI,GACpBthG,EAAG+nB,EAASy/M,EAAQlmI,KAGxB1kE,EAASpW,KAAK,YAAa,aAAe+mN,EAAK,IAAMC,EAAK,KAjO9D5vO,EAAOC,QAAU,SAAcyP,GAC3B,IAAIoX,EAAapX,EAAGymB,YAEhB0/W,EAAY/uX,EAAW8lC,WAAWn8C,UAAU,kBAC3CnE,KAAKqoY,EAAiBjlY,GAAKklY,GAEhCiB,EAAUnlY,QAAQC,OAAO,KACpBC,QAAQ,iBAAiB,GAE9BilY,EAAUhyV,OAAOjyC,SAEjBikY,EAAU/kY,MAAM,CACZ4gH,OAAQ,UACR,iBAAkB,QAGtBmkR,EAAU9kY,MAAK,SAASvP,GACpB,IAAIw9B,EAAW/uB,EAAGO,OAAO7M,MACrBmxY,EAAatzY,EACbwzY,EAAiBF,EAAWxsW,cAE5BjC,EAAUrH,EAASvuB,UAAU,YAC5BnE,KAAKoL,EAAIoiQ,cAAck7H,EAAe3uW,UAE3CA,EAAQ31B,QAAQC,OAAO,KAClBC,QAAQ,UAAU,GAEvBy1B,EAAQwd,OAAOjyC,SAEfy0B,EAAQt1B,MAAK,SAASvP,GAClB,IAAIyiG,EAASh0F,EAAGO,OAAO7M,MACnB+I,EAASgoY,EAAgBI,EAAYtzY,GAEzCA,EAAE0zY,UAAYL,EAASC,EAAYtzY,EAAGkL,GAEtCu3F,EAAOzjG,KAAKu0Y,EAAgBC,EAAgBxzY,GAC5CyiG,EAAOzjG,KAAK40Y,EAAgBJ,EAAgBxzY,EAAGkO,GAE/Cu0F,EAAO9yF,GAAG,SAAS,WACZzB,EAAGq8N,UAENzxM,EAAS95B,KAAK,eAAgBkP,EAAIhD,MAGtCu3F,EAAO9yF,GAAG,aAAa,WACnB3P,EAAE2zY,YAAa,EACflxS,EAAOzjG,KAAKu0Y,EAAgBC,EAAgBxzY,MAGhDyiG,EAAO9yF,GAAG,YAAY,WAClB3P,EAAE2zY,YAAa,EACflxS,EAAOzjG,KAAKu0Y,EAAgBC,EAAgBxzY,SAIpD8zY,EAAW5lY,EAAI22B,EAAS2uW,EAAgBF,EAAWz2W,MAAOW,QAgL5D,KACA,SAAUh/B,EAAQC,EAASkB,GAEjC,aAWA,IAAI20Y,EAA8B30Y,EAAoB,QAAQ20Y,4BAK9D91Y,EAAOC,QAAU,SAAmBghB,EAAItR,GACpC,IAAIqR,EAAM,CACNkpN,YAAav6N,EAAM5L,MACnBy7G,aAAcv+F,EAAGiwB,IACjB5kC,KAAMqD,EAAMmgC,OACZtoB,SAAU7X,EACVuyF,MAAOjhF,EAAGihF,MACV91F,MAAO6U,EAAG7U,MACVjK,MAAO8e,EAAGpb,EACVkwY,QAAS90X,EAAG80X,QACZ3lY,KAAM6Q,EAAG7Q,KAGTvK,EAAGob,EAAGpb,GAiBV,OAbqB,IAAlBob,EAAGiwB,IAAI5wC,SAAc0gB,EAAIG,YAAcH,EAAI3f,EAAI4f,EAAGiwB,IAAI,IAKzD4kW,EAA4B90X,EAAKrR,EAAOsR,EAAGiwB,KAGzB,eAAfvhC,EAAM0E,cACE2M,EAAInb,SACJmb,EAAI3f,GAGR2f,IAML,OACA,SAAUhhB,EAAQC,EAASkB,GAEjC,aAWA,IAAIsgD,EAAiBtgD,EAAoB,QAAQsgD,eAC7C91C,EAAUxK,EAAoB,QAAQwK,QACtCqqY,EAAc70Y,EAAoB,QAAQ60Y,YAC1CjsW,EAAQ5oC,EAAoB,QAE5B80Y,EAAY,CACZtqT,WAAY5hD,EAAM0wF,WAAWC,OAC7B9uC,WAAY7hD,EAAM6wF,WAAWF,QAoEjC,SAASolE,EAAcnwL,EAAOmpB,GAC1B,IAAIE,EAAOrpB,EAAMmpB,EAAGja,KAAKoa,OACrBi5D,EAAKl5D,EAAK5sB,MACVyrX,EAAM7+V,EAAKE,KAAK9sB,MAChB4+R,EAAMhyQ,EAAKE,KAAK7W,MACpB,OAAG1W,EAAQumF,GAAYA,EACfvmF,EAAQksX,IAAQ7sF,EAAY6sF,OAA/B,EAvET73X,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,EAAMC,GACzD,IAAI9c,EAAQ4vY,EAAYjzX,EAAWC,EAAMC,EAAMC,GAC/C,GAAI9c,EAAJ,CAEA,IAAI8a,EAAK9a,EAAM8a,GACXvR,EAAQuR,EAAG,GAAGvR,MACd8hL,EAAsC,MAAtB9hL,EAAM5G,YAEtBmtY,EAAQzkN,EAAe1uK,EAAUmV,GAAKnV,EAAUwV,GAOhDx0B,EAAQqC,EAAMrC,MACd+0B,EAAK5X,EAAGnd,GAER6gB,EAAQkU,EAAQ,MAAIA,EAAGp4B,EAAIo4B,EAAG71B,EAAI61B,EAAG8+V,KAEzC,IAAI9+V,EAAGugK,MAAO,CACVjzL,EAAMu7N,QAAU7oM,EAAGp4B,EAAIo4B,EAAG71B,EAAI2hB,EAC9Bxe,EAAM2jC,MAAQnlB,EACdxe,EAAM+3Q,MAAQ/3Q,EAAMu7N,QAAUv7N,EAAM2jC,MAEpC,IAAIlkC,EAAI0xP,EAAazwP,KAAK+R,IAAIzS,EAAM2jC,QACpC3jC,EAAM+vY,WAAavxX,EAAO,EAAI,IAAM/e,EAAI,IAAMA,EAC9CO,EAAMgwY,WAAa7+I,EAAanxP,EAAM+3Q,OACtC/3Q,EAAMiwY,aAAe9+I,EAAanxP,EAAMu7N,SAG5C,IAAIl7M,EAAYqS,EAAGrgB,IAAM9I,EAAM8W,UAC3BrW,EAAO,GACX,GAAGqW,GAA2B,SAAdA,GAAsC,SAAdA,EAAsB,CAC1D,IAAIm3W,EAAuB,QAAdn3W,EACTkL,EAAQlL,EAAUlV,MAAM,KAExBw5P,EAAU,SAAS2rC,GAAQ,OAAOknF,IAAkC,IAAzBjsW,EAAM5rB,QAAQ2wS,IAEzD59Q,EAAGugK,SACA0xE,EAAQ,UACUA,EAAhBt5E,EAAwB,IAAgB,MAEzCrhL,EAAKjM,KAAKiC,EAAMgwY,YAEjBrrI,EAAQ,WACJnmP,EAAO,EACNxU,EAAKjM,KAAKiC,EAAM+vY,WAAa,IAAMF,EAAUrqT,YAE7Cx7E,EAAKjM,KAAKiC,EAAM+vY,WAAa,IAAMF,EAAUtqT,aAGlDo/K,EAAQ,YACP36P,EAAKjM,KAAK,YAAciC,EAAMiwY,eAS1C,OAJGjmY,EAAK9P,SAAQ8F,EAAMuxB,UAAYvnB,EAAK9L,KAAK,SAE5C8B,EAAMgG,MAAQ0zL,EAAcnwL,EAAOmpB,GAE5B,CAAC1yB,GApDR,SAASmxP,EAAa92P,GAClB,OAAOghD,EAAey0V,EAAOz1Y,MAkE/B,KACA,SAAUT,EAAQC,EAASkB,GAEjC,IAAImkQ,EAAQnkQ,EAAoB,QAE5B44G,EAAmB11G,SAASoZ,SAGE,mBAAvB6nP,EAAMixF,gBACfjxF,EAAMixF,cAAgB,SAAUhtT,GAC9B,OAAOwwE,EAAiBv5G,KAAK+oC,KAIjCvpC,EAAOC,QAAUqlQ,EAAMixF,eAKjB,OACA,SAAUv2V,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChConC,iBAAkBpnC,EAAoB,QACtCwS,eAAgBxS,EAAoB,QAAQwS,eAC5C0kG,mBAAoBl3G,EAAoB,QAAQk3G,mBAChD//C,qBAAsBn3D,EAAoB,QAC1CyS,KAAMzS,EAAoB,QAC1BqgE,eAAgBrgE,EAAoB,QACpC0S,KAAM1S,EAAoB,QAC1B2P,MAAO3P,EAAoB,QAAQ2P,MACnCgD,YAAa3S,EAAoB,QACjC21B,UAAW31B,EAAoB,QAE/B4S,aAAc5S,EAAoB,QAElCoS,WAAY,QACZ9R,KAAM,YACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,WAAY,YAAa,MAAO,WAAY,aAAc,aACvEC,KAAM,KAQJ,OACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAC9ByS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,SAC1B2S,YAAa3S,EAAoB,QACjC21B,UAAW31B,EAAoB,QAC/B4S,aAAc5S,EAAoB,QAElCwgE,cAAe,SAAS6F,EAAGtmD,GACvB,GAAGA,EAAI,CACH,IAAIvR,EAAQuR,EAAG,GAAGvR,MAClBA,EAAM2mY,SAASC,eAAer1X,KAItC6wM,SAAU,SAASpiN,EAAO8T,GAKtB,IAJA,IAAIyxM,EAAYzxM,EAAQsxM,eAIhB1zN,EAAI6zN,EAAU50N,OAAS,EAAGe,GAAK,EAAGA,IAAK,CAC3C,IAAIm1Y,EAAUthL,EAAU7zN,GAAG0L,GAE3B,GAAsB,kBAAZypY,GACuB,IAA7BA,EAAQzwY,QAAQ,SAEhB,IAAI,IAAIJ,EAAItE,EAAI,EAAGsE,EAAIuvN,EAAU50N,OAAQqF,IAGrC,GAFA6wY,EAAUthL,EAAUvvN,GAAGoH,GAED,kBAAZypY,IAC0B,IAAhCA,EAAQzwY,QAAQ,WAEhB,OAAOywY,IAO3BjjY,WAAY,QACZ9R,KAAM,mBACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,SAAU,KAAM,YAAa,cAC1CC,KAAM,CACF+iY,QAAS,uBAQX,OACA,SAAUz2Y,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QAOjC,SAASu1Y,EAAmBp7X,GACxB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IAG9E88X,EAAmB5zY,UAAY,IAAIquD,EAAK/wC,aAExC,IAAIC,EAAY8wC,EAAK51C,SAAS,aAE9B7B,EAAOg9X,EAAmB5zY,UAAW,CAGjCrB,KAAM,aAGNud,QAAS,UAGTC,aAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAG3DN,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAiBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,aACNsc,OAAQ,CAAC,KAAM,MACfmB,WAAY,CAAC,OAAQ,UAAW,OAAQ,OAAQ,QAAS,SACzD,OAAQ,QAAS,SAAU,MAAO,OAAQ,UAC1CC,gBAAiB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC/FC,SAAU,CAAC,UAAW,YAAa,WAAY,WAAY,aAAc,eAAgB,UACzFC,cAAe,CAAC,MAAO,SAAU,OAAQ,OAAQ,SAAU,WAAY,MACvEC,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAClD1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IASfrD,SAAU,SAAS7B,GACf,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAChDqzC,EAAKj3C,MAAMF,aAAem3C,EAAKv3C,gBAAgB,IAAII,aACvD,OAAOqG,EAAUjE,SAASD,EAAK5B,QAAU4B,EAAK5B,OAAS,EAAI,EAAI,GAAK,OAUxEiC,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,IAAIiF,EAAY/b,KAAK+X,QAAQnB,EAAMC,EAAOC,GAE1C,OADAiF,EAAU3C,IAAI,GAAK2C,EAAU9C,aAAe,GAAI,KACzC9V,KAAK2N,OAAOiL,EAAUhD,YAAc,GAAK,GAAK,GASzDC,YAAa,SAASpC,EAAMC,GACxB,IAAI2B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cAC/D,OAAOpW,KAAKsb,aAAa9C,EAAK3B,QAAU,IAClB,KAAjB2B,EAAK3B,SAAkB7W,KAAKyY,SAASD,EAAK5B,QAAU,EAAI,IAUjEsC,QAAS,SAAStC,EAAMC,EAAOC,GAC3B,OAAQ9W,KAAKiZ,UAAUrC,EAAMC,EAAOC,IAAQ,GAAK,GAWrD0C,KAAM,SAAS5C,EAAMC,EAAOC,GACxB,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMH,cACnDQ,EAAO4B,EAAK5B,OACZA,EAAO,GAAKA,IAEhB,IADA,IAAI49O,EAAMh8O,EAAK1B,MACNlZ,EAAI,EAAGA,EAAI4a,EAAK3B,QAASjZ,IAC9B42P,GAAOx0P,KAAKsb,aAAa1d,EAAI,GAEjC,OAAO42P,EAAM93O,EAAUlD,KAAK5C,EAAO,KAAM,EAAG,KAOhD6C,OAAQ,SAASC,GACbA,EAAKvW,KAAK2N,MAAM4I,EAAK,IACrB,IAAI9C,EAAOzT,KAAK2N,OAAO4I,GAAM1Z,KAAKqb,QAAU,IAAM,KAClD,MAAO3B,GAAM1Z,KAAKwZ,KAAK5C,EAAO,EAAG,EAAG,GAChCA,IAEJ,IAAIE,EAAM4C,EAAKvW,KAAK2N,MAAM9Q,KAAKwZ,KAAK5C,EAAM,EAAG,GAAK,IAAO,EACrDC,EAAQ,EACZ,MAAOC,EAAM9W,KAAKgZ,YAAYpC,EAAMC,GAChCC,GAAO9W,KAAKgZ,YAAYpC,EAAMC,GAC9BA,IAEJ,OAAO7W,KAAK+X,QAAQnB,EAAMC,EAAOC,MAKzC02C,EAAKh3C,UAAUw8X,WAAaD,GAMtB,OACA,SAAU12Y,EAAQC,EAASkB,GAEjC,aAYA,IAAI+O,EAAY/O,EAAoB,QAChCmxC,EAASnxC,EAAoB,QAAQmxC,OAErC76B,EAAOtW,EAAoB,QAE3BmlE,EAAiBnlE,EAAoB,QACrC+2E,EAAmB/2E,EAAoB,QACvCuqJ,EAAgBvqJ,EAAoB,QACpC8vE,EAAiB9vE,EAAoB,QAAQ8vE,eAEjDjxE,EAAOC,QAAU,SAAcyP,EAAIC,GAU/B,IATA,IAAImX,EAAapX,EAAGymB,YAChBilC,EAAYzrD,EAAM8T,QAClB0tD,EAAarqD,EAAWs0C,GAAWgW,WACnCC,EAAcvqD,EAAWs0C,GAAWkW,YACpCluD,EAAS+tD,EAAWxhC,aAAahgC,EAAO,KACxC0T,EAAaguD,EAAY1hC,aAAahgC,EAAO,SAC7C4e,EAAM5e,EAAM6I,QACZ0I,EAAK,IAAIlc,MAAMupB,GAEXltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACzB,IAAIW,EAAIohB,EAAO/hB,GACXiiB,EAAQD,EAAWhiB,GACnB+f,EAAMF,EAAG7f,GAAK,GAEf6O,EAAUlO,IAAMkO,EAAUoT,IACzBlC,EAAIpf,EAAIA,EACRof,EAAIkC,MAAQA,GAEZlC,EAAIpf,EAAIswC,EAIhB,IAAIk/B,EAAOP,EAAethE,EAAO4e,GAOjC,OANA5e,EAAM8gC,UAAUlhC,EAAIkI,EAAKi5B,aAAaygC,EAAY/tD,EAAQ,CAACouD,KAAMA,IAEjElL,EAAe52D,EAAIC,GACnBuoE,EAAiBh3D,EAAIvR,GACrB+7I,EAAcxqI,EAAIvR,GAEXuR,IAML,OACA,SAAUlhB,EAAQC,EAASkB,GAEjC,aAGA,IAAIy1Y,EAAiBz1Y,EAAoB,QACrC6kL,EAAiB7kL,EAAoB,QACrC8pR,EAAiB9pR,EAAoB,QACrCslE,EAAiBtlE,EAAoB,QACrC+2H,EAAiB/2H,EAAoB,QACrC01Y,EAAiB11Y,EAAoB,QAAQ42D,SAEjD/3D,EAAOC,QAAU,SAAUw+B,GAC1B,MAA6C,oBAAlCy5F,EAASz5F,GAAKo4W,GAAuCp4W,EAAIo4W,KAChED,EAAYn4W,GAAa,IAAIwsP,EAAcxsP,GAC3CunJ,EAASvnJ,GAAa,IAAIgoC,EAAehoC,GACtC,IAAIwsP,EAAcxsP,KAMpB,OACA,SAAUz+B,EAAQC,EAASkB,GAEjC,aAWA,IAAI4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjD4mE,EAAoBxpF,EAAoB,QAAQwpF,kBAChD1mE,EAAa9iB,EAAoB,QAAQ8iB,WACzCwV,EAAet4B,EAAoB,QACnC6iB,EAAY7iB,EAAoB,QAChCupF,EAAYjxD,EAAaP,KAE7Bl5B,EAAOC,QAAU,CACboC,KAAMo3B,EAAap3B,KAEnBL,EAAG,CACCqiB,QAAS,aACTK,SAAU,uBAIdpB,MAAO,CACHe,QAAS,aACTK,SAAU,uBAIdy7B,GAAI,CACA97B,QAAS,MACTC,KAAM,EAENI,SAAU,uBAGdi1P,GAAI,CACAt1P,QAAS,SACTC,KAAM,EAENI,SAAU,QAIdumV,OAAQ,CACJ5mV,QAAS,MACTC,KAAM,EAENI,SAAU,uBAGdwmV,OAAQ,CACJ7mV,QAAS,SAETK,SAAU,QAIdk6B,UAAW,CACPv6B,QAAS,aACT2V,OAAQ,CAAC,UAAW,UAAW,YAC/B1V,KAAM,UAENI,SAAU,uBAIdtU,KAAMqpB,EAAarpB,KACnB86E,aAAcP,EAAkB,CAACjmE,SAAU,QAAS,CAChDgkC,KAAM,CAAC,IAAK,QAAS,UAEzBrjC,UAAWoU,EAAapU,UAExB6T,KAAM,CACF9sB,MAAOs+E,EAAUt+E,MACjBiW,MAAOqoE,EAAUroE,MACjB+W,KAAMsxD,EAAUtxD,KAChBmJ,MAAOte,EAAW,GAAIymE,EAAUnoD,MAAO,CACnCvI,OAAQ,CAAC,SAAU,YAEvBw0D,UAAW9D,EAAU8D,UACrB9pE,SAAU,QAEda,YAAakU,EAAalU,YAE1B0T,OAAQQ,EAAaR,OACrByyD,WAAYznE,EAAW,GAAIwV,EAAaiyD,WAAY,CAACpnE,MAAM,IAE3D6mE,aAAc1xD,EAAa0xD,aAC3BG,SAAU7xD,EAAa6xD,SAEvB14E,KAAMqR,EAAW,GAAIwV,EAAa7mB,KAAM,CACpConB,OAAQ,CAAC,OAAQ,SAAU,UAC3B1V,KAAM,SAGVoqE,UAAWj1D,EAAai1D,UAOxBjoE,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C0Q,MAAO,CAAC,IAAK,QAAS,OAAQ,UAElCk2D,QAAS5zD,EAAa4zD,QACtB/nE,cAAevB,IAEfuV,SAAUG,EAAaH,SACvB01D,WAAYv1D,EAAau1D,aAMvB,OACA,SAAUhvF,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAC3BuW,EAAMvW,EAAoB,QA8E9B,SAAS21Y,EAAaryX,EAAOE,EAAK6mK,GAC9B,IAAIvyI,EAAU,CACV5kC,KAAM,SACN0E,MAAO,CAAC0L,EAAOE,IAQnB,OALAlN,EAAK4B,UACD4/B,GACCt0B,EAAMF,IAAU+mK,GAAa,KAG3BvyI,EAvFXj5C,EAAOC,QAAU,SAAqB0P,EAAOE,GACzC,IAAI+V,EAAWjW,EAAMiW,SAGrB,GAAGjW,EAAM47K,YAAa,CAGlB,IAAIhlK,EAAO5W,EAAM4W,KACbC,EAAO7W,EAAM6W,MACd7W,EAAM2W,YAAkB/lB,IAATgmB,KACdA,EAAO7O,EAAIwhC,QAAQpyC,KAAKoC,IAAK,KAAM2G,KAEpCF,EAAM2W,YAAkB/lB,IAATimB,KACdA,EAAO9O,EAAIwhC,QAAQpyC,KAAKqC,IAAK,KAAM0G,IAGvC,IAAIopC,EAAU69V,EAAavwX,EAAMC,EAAM7W,EAAM67K,WAC7C5lK,EAAShB,KAAOq0B,EAAQlD,MACxBnwB,EAASnB,MAAQhN,EAAKyiC,UAAUjB,GAChCA,EAAQlgC,MAAMq3C,UACdxqC,EAASjB,IAAMlN,EAAKyiC,UAAUjB,GAE3BrzB,EAASnB,QAAU8B,IAAMX,EAASnB,OAASmB,EAAShB,MACpDgB,EAASjB,MAAQ6B,IAAMZ,EAASjB,KAAOiB,EAAShB,MAKhDgB,EAASnB,MAAQmB,EAASjB,MACzBiB,EAASnB,MAAQmB,EAASjB,KAAOiB,EAASnB,MAAQmB,EAASjB,KAAO,GAMlEhV,EAAMmgC,OAAOlqB,WAAUjW,EAAMmgC,OAAOlqB,SAAW,IACnDlO,EAAIuM,WAAWtU,EAAMmgC,OAAOlqB,SAAU,CAClCnB,MAAOmB,EAASnB,MAChBE,IAAKiB,EAASjB,IACdC,KAAMgB,EAAShB,OAEnBjV,EAAMmgC,OAAOy7I,aAAc,OACxB,GAAqB,eAAlB3lK,EAASvR,KAAuB,CAEtC,IAWQ2lV,EAXJv1U,EAAQmB,EAASnB,MACjBE,EAAMiB,EAASjB,IACfoyX,EAAgBpnY,EAAMmgC,OAAOlqB,SAQjC,GANGnB,EAAQE,IACPiB,EAASnB,MAAQsyX,EAActyX,MAAQE,EACvCA,EAAMiB,EAASjB,IAAMoyX,EAAcpyX,IAAMF,EACzCA,EAAQmB,EAASnB,SAGhBmB,EAAShB,KAAO,GAECo1U,EAAfv1U,IAAUE,EAAe,EACbmyX,EAAaryX,EAAOE,EAAKhV,EAAM67K,WAAWz1I,MAEzDghW,EAAcnyX,KAAOgB,EAAShB,KAAOo1U,KAkC3C,OACA,SAAUh6V,EAAQC,EAASkB,GAEjC,aAWA,IAAIi5G,EAAKj5G,EAAoB,QACzBmxC,EAASnxC,EAAoB,QAAQmxC,OAErCwtJ,EAAgB3+L,EAAoB,QACpC61B,EAAW71B,EAAoB,QAAQ61B,SACvC/qB,EAAa9K,EAAoB,QA8DrC,SAASw8X,EAAahuX,EAAOsR,EAAI8B,EAAWgE,GACxC,IAAGpX,EAAM2V,cAAT,CAEA,IAAImB,EAAYxF,EAAGxI,IAAM9I,EAAM8W,UAE3BkL,EAAsB,QAAdlL,EACRxa,EAAWwa,UAAU0Q,MACrB1Q,EAAUlV,MAAM,KAEhB8lB,GAA6C,IAA/B1F,EAAM5rB,QAAQ,aAAsBf,MAAM0J,QAAQiB,EAAMsgF,WACtE4tS,GAAoC,IAA1BlsW,EAAM5rB,QAAQ,OACxB+3X,GAAoC,IAA1BnsW,EAAM5rB,QAAQ,OACxBwxB,GAAsC,IAA3B5F,EAAM5rB,QAAQ,QACzBqK,EAAO,GAkBX,OAdGinB,EACCjnB,EAAKjM,KAAK8c,EAAGiW,KACP2mW,GAAUC,EAChB1tX,EAAKjM,KAAK,IAAMqiG,EAAOzjF,EAAUqE,UAAY,KAAOo/E,EAAOzjF,EAAUwE,UAAY,KAC3Es2W,EACNztX,EAAKjM,KAAK4iB,EAAOwpE,IAAMiW,EAAOzjF,EAAUqE,WAClC02W,GACN1tX,EAAKjM,KAAK4iB,EAAO2pE,IAAM8V,EAAOzjF,EAAUwE,WAGzCgQ,GACCP,EAAS/V,EAAItR,EAAOS,GAGjBA,EAAK9L,KAAK,QAhBjB,SAASkiG,EAAOpzE,GAAO,OAAOA,EAAM,KA3ExCpzB,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,GACnD,IAAI/B,EAAK6B,EAAU7B,GACfvR,EAAQuR,EAAG,GAAGvR,MACduoB,EAAKnV,EAAUmV,GACfK,EAAKxV,EAAUwV,GACfV,EAAM9U,EAAUU,QAEhBuzX,EAAoBn/W,EAAIvqB,WAAW0pY,kBACnCnyX,EAAUgT,EAAIhT,QAElB,SAASo5W,EAAOz8X,GACZ,IAAI2lB,EAAS3lB,EAAE2lB,OAEf,GAAGA,EAAO,KAAOmrB,EAAQ,OAAOhnC,IAChC,GAAG0rY,EAAkB7vX,GAAS,OAAO7b,IAErC,IAAI2V,EAAK4D,EAAQsC,GACb5R,EAAKsP,EAAQ,CAAC7B,EAAMC,IACpB4W,EAAK/yB,KAAK+R,IAAIoI,EAAG,GAAK1L,EAAG,IACzBsV,EAAK/jB,KAAK+R,IAAIoI,EAAG,GAAK1L,EAAG,IACzBm8C,EAAM5qD,KAAKqC,IAAI,EAAG3H,EAAE2wF,KAAO,GAK/B,OAAOrrF,KAAKqC,IAAIrC,KAAKuD,KAAKwvB,EAAKA,EAAKhP,EAAKA,GAAM6mC,EAAK,EAAI,EAAIA,GAMhE,GAHA0oD,EAAGkmF,WAAWp/K,EAAI+8W,EAAQl7W,IAGH,IAApBA,EAAUhf,MAAb,CAEA,IAAI+0B,EAAK5X,EAAG6B,EAAUhf,OAClBojB,EAAS2R,EAAG3R,OACZ8sB,EAAM,CAAC/b,EAAGC,IAAIhR,GAASoR,EAAGJ,IAAIhR,IAC9BuqC,EAAM54B,EAAGq5D,KAAO,EAEpBpvE,EAAUiV,GAAKic,EAAI,GAAKyd,EACxB3uC,EAAUkV,GAAKgc,EAAI,GAAKyd,EACxB3uC,EAAUsV,GAAK4b,EAAI,GAAKyd,EACxB3uC,EAAUuV,GAAK2b,EAAI,GAAKyd,EAExB3uC,EAAUmU,IAAM4B,EAAG5B,IACnBnU,EAAUwtE,IAAMppE,EAAO,GACvBpE,EAAU2tE,IAAMvpE,EAAO,GAEvB,IAAIL,EAAa,GACjBA,EAAWnX,EAAMkoB,KAAO,CAAC7Q,SAAU6Q,GACnC,IAAI9Q,EAASpX,EAAMkjF,QAAQnxB,aAAa5oC,EAAInpB,EAAOmX,GAQnD,OAPA/D,EAAUqE,SAAWL,EAAOK,SAC5BrE,EAAUwE,SAAWR,EAAOQ,SAE5BxE,EAAU3W,MAAQ0zL,EAAcnwL,EAAOmpB,GACvC/V,EAAU4U,UAAYgmW,EAAahuX,EAAOmpB,EAAI/V,EAAW7B,EAAG,GAAG9e,EAAE2kB,QACjEhE,EAAUuC,cAAgB3V,EAAM2V,cAEzB,CAACvC,MAwCN,OACA,SAAU/iB,EAAQC,EAASkB,GAEjC,aAEA,IAAI2uB,EAAS3uB,EAAoB,QAAQ2uB,OAIzC9vB,EAAOC,QAAU,SAAUm9C,EAAGr5C,EAAOutP,GACnC,OAAOvtP,GAASutP,EAAUxhO,EAAOstB,EAAGr5C,GAAOzD,OAAS,KAMhD,OACA,SAAUN,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAE/BnB,EAAOC,QAAU,SAAsBmhB,EAAKzR,EAAOmX,GAC/C,IAAIC,EAAS,GAETtD,EAAUqD,EAAWnX,EAAM8T,SAASuD,SAKxC,OAJAD,EAAOkwX,OAASx/X,EAAK4P,SAAS5D,EAAQgtD,MAAOrvD,EAAI3gB,GAAG,GAAM2P,KAC1D2W,EAAOmwX,OAASz/X,EAAK4P,SAAS5D,EAAQktD,MAAOvvD,EAAI1gB,GAAG,GAAM0P,KAC1D2W,EAAOowX,OAAS1/X,EAAK4P,SAAS5D,EAAQizN,MAAOt1N,EAAIzgB,GAAG,GAAMyP,KAEnD2W,IAML,OACA,SAAU/mB,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1B28D,EAAqB38D,EAAoB,QACzC8K,EAAa9K,EAAoB,QAErCnB,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAI2rE,EAAYp8C,EAAO,aACnB7jC,EAAI6jC,EAAO,KACXiwB,EAAUjwB,EAAO,WAErB,GAAIn8B,EAAIo8D,oBAAoBmc,IAAeA,EAAU3vF,QAChDoX,EAAIo8D,oBAAoB9jE,IAAOA,EAAE1P,SACZ,kBAAZwjE,GAAoC,KAAZA,GAAmBpsD,EAAIuqD,cAAc6B,IAF3E,CAQAjwB,EAAO,gBAEPsmB,EAAS3hD,QAAU1R,KAAKoC,IAAI+mF,EAAU3vF,OAAQ0P,EAAE1P,QAEhDuzC,EAAO,SAEPA,EAAO,QACPA,EAAO,aACPA,EAAO,iBAEP,IAAIm3P,EAAMn3P,EAAO,qBACdm3P,GAAKn3P,EAAO,qBACfA,EAAO,kBAEPiqB,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,GAAI5uD,QAAS,MAE5E2H,EAAI+1E,6BAA6BtzB,EAAUtmB,QApBvCsmB,EAASjnD,SAAU,IA0BrB,OACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBm5B,EAAWn5B,EAAoB,QAC/BswC,EAAQtwC,EAAoB,QAE5BuW,EAAMvW,EAAoB,QAC1Bq3B,EAAUr3B,EAAoB,QAC9B0iB,EAAQ1iB,EAAoB,QAC5BwwC,EAASxwC,EAAoB,QAE7Bq5D,EAAYr5D,EAAoB,QAChCmoP,EAAUnoP,EAAoB,QAE9BqvH,EAAcrvH,EAAoB,QAClCsvH,EAAYtvH,EAAoB,QAEhC2wC,EAAY3wC,EAAoB,QA4JpC,SAASs8I,EAAiB8rG,EAAa75O,EAAI0nY,EAAU9oX,GACjD,IAAI+oX,EAAW9tJ,EAAY/4O,OAAO,QAAUshC,EAAU0oG,mBAAmBnyH,OACrEivX,EAAc/tJ,EAAY/4O,OAAO,QAAUshC,EAAU4oG,sBAAsBryH,OAC3EkvX,EAAchuJ,EAAY/4O,OAAO,QAAUshC,EAAU+oG,sBAAsBxyH,OAE/EkhO,EAAYp4O,GAAG,aAAa,WACxB,IAAIwkB,EAAQ1lB,EAAG0lB,MACX3E,EAAS2E,EAAM3E,OACf8pF,EAASnlF,EAAMyqH,QACfquF,EAAU3zH,EAASyuI,EAAYlhO,OAAOC,wBAAwBvT,KAC9D8rM,EAASvyL,EAAKu9F,IAAIurR,EAASpqV,IAAI,IAC/B8zJ,EAASxyL,EAAKu9F,IAAIurR,EAASpqV,IAAI,IAE/Bu/L,EAAY/7H,EAAY47H,YAK5B,SAASorJ,EAAU94X,GACf,IACI+4X,EAAUC,EAAUhmR,EADpB3nF,GAASrrB,EAAE0hI,QAAUtlC,EAGzB,OAAO9pF,GACH,KAAKqmX,EACD3lR,EAAS,YACT+lR,EAAW52L,EAAS92K,EACpB2tW,EAAW52L,EAAS/2K,EACpB,MAEJ,KAAKutW,EACD5lR,EAAS,aACT+lR,EAAW52L,EAAS92K,EACpB2tW,EAAW52L,EACX,MAEJ,KAAKy2L,EACD7lR,EAAS,aACT+lR,EAAW52L,EACX62L,EAAW52L,EAAS/2K,EACpB,MAEJ,QACI2nF,EAAS,YACT+lR,EAAWhpK,EACXipK,EAAWjpK,EAAU1kM,EACrB,MAGR,GAAG2tW,EAAWD,EAAU,CACpB,IAAIjhY,EAAMkhY,EACVA,EAAWD,EACXA,EAAWjhY,EAGf8X,EAAKqpX,UAAYF,EACjBnpX,EAAKspX,UAAYF,EAEjBjnR,EAAUxgH,EAAGO,OAAO+7O,GAAY76H,GAChCmmR,EAAatuJ,EAAa75O,EAAI0nY,EAAU9oX,GAG5C,SAASwpX,IACLvrJ,EAAUtmN,oBAAoB,YAAauxW,GAC3CjrJ,EAAUtmN,oBAAoB,UAAW6xW,GACzCpgY,EAAIq7G,cAAcw5H,GAjDtBA,EAAUxmN,iBAAiB,YAAayxW,GACxCjrJ,EAAUxmN,iBAAiB,UAAW+xW,MAqD9C,SAASD,EAAatuJ,EAAa75O,EAAI0nY,EAAU9oX,GAC7C,SAASta,EAAMnO,GACX,OAAOuxY,EAASp6W,IAAItlB,EAAI0B,UAAUvT,EAAGyoB,EAAK0+B,IAAI,GAAI1+B,EAAK0+B,IAAI,KAG/D,IAAIxX,EAAUxhC,EAAMsa,EAAKquF,IAAIruF,EAAKqpX,YAC9BliW,EAAUzhC,EAAMsa,EAAKquF,IAAIruF,EAAKspX,YAElCrjX,OAAO+G,uBAAsB,WACzBhB,EAAS95B,KAAK,eAAgBkP,EAAI0nY,EAAS/4W,MAAQ,SAAU,CAACmX,EAASC,OAI/E,SAASsiW,EAAcxuJ,EAAa75O,EAAI0nY,EAAU9oX,EAAM0pX,EAAaC,GACjE,IAAIC,EAAMpmW,EAAU0pG,YAAc,EAElC,SAASxnI,EAAMnO,GACX,OAAO6R,EAAI0B,UAAUvT,EAAG,EAAGyoB,EAAK02D,QAGpC,SAASmzT,EAAatyY,GAClB,OAAO6R,EAAI0B,UAAUvT,EAAG,EAAGyoB,EAAK++M,SAGpC,SAAS+qK,EAAYvyY,GACjB,OAAO6R,EAAI0B,UAAUvT,GAAIqyY,EAAK5pX,EAAK02D,OAASkzT,GAGhD,IAAIT,EAAWzjY,EAAMsa,EAAKu9F,IAAIurR,EAASpqV,IAAI,KACvC0qV,EAAW1jY,EAAMsa,EAAKu9F,IAAIurR,EAASpqV,IAAI,KAa3C,GAXAu8L,EAAY/4O,OAAO,QAAUshC,EAAU0oG,mBAClC5xH,KAAK,IAAK6uX,GACV7uX,KAAK,QAAS8uX,EAAWD,GAE9BluJ,EAAY/4O,OAAO,QAAUshC,EAAUwoG,kBAClC1xH,KAAK,QAAS6uX,GAEnBluJ,EAAY/4O,OAAO,QAAUshC,EAAUyoG,kBAClC3xH,KAAK,IAAK8uX,GACV9uX,KAAK,QAAS0F,EAAK02D,OAAS0yT,GAEC,UAA/BO,EAAiBprR,UAAuB,CACvC,IAAIwrR,EAAkB/pX,EAAK++M,QAAU8qK,EAAa7pX,EAAKgqX,WAAWN,EAAYhrV,IAAI,KAC9EurV,EAAkBjqX,EAAK++M,QAAU8qK,EAAa7pX,EAAKgqX,WAAWN,EAAYhrV,IAAI,KAElFu8L,EAAY/4O,OAAO,QAAUshC,EAAUipG,yBAClCnyH,KAAK,IAAK6uX,GACV7uX,KAAK,SAAUyvX,GACfzvX,KAAK,QAAS8uX,EAAWD,GAE9BluJ,EAAY/4O,OAAO,QAAUshC,EAAUkpG,yBAClCpyH,KAAK,IAAK6uX,GACV7uX,KAAK,IAAK2vX,GACV3vX,KAAK,SAAU0F,EAAK++M,QAAUkrK,GAC9B3vX,KAAK,QAAS8uX,EAAWD,GAE9BluJ,EAAY/4O,OAAO,QAAUshC,EAAU0oG,mBAClC5xH,KAAK,IAAKyvX,GACVzvX,KAAK,SAAU2vX,EAAkBF,GAK1C,IAAIr7X,EAAS,GAETy0R,EAAO3qS,KAAKs5B,MAAMg4W,EAAYX,EAAWS,IAAQl7X,EACjD00R,EAAO5qS,KAAKs5B,MAAMg4W,EAAYV,EAAWQ,IAAQl7X,EAErDusO,EAAY/4O,OAAO,KAAOshC,EAAU2oG,qBAC/B7xH,KAAK,YAAa,aAAe6oR,EAAO,IAAMz0R,EAAS,KAE5DusO,EAAY/4O,OAAO,KAAOshC,EAAU8oG,qBAC/BhyH,KAAK,YAAa,aAAe8oR,EAAO,IAAM10R,EAAS,KAGhE,SAASw7X,EAAOjvJ,EAAa75O,EAAI0nY,EAAU9oX,GACvC,IAAIk+J,EAAK90K,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAUsoG,aAAa,SAASn3I,GAC3EA,EAAE2lB,KAAK,CACHrZ,EAAG,EACH2F,EAAG,EACH,kBAAmB,kBAIvBujY,EAAiBnqX,EAAK2+E,YAAc,IAAO,EAC3C3+E,EAAK2+E,YACL3+E,EAAK2+E,YAAc,EAEnByrS,GAAepqX,EAAKm7N,aACpBlgB,EAAK/wM,EAAQurB,WAAWr0C,EAAI4e,EAAK2+E,aAErCu/E,EAAG5jK,KAAK,CACJvG,MAAOiM,EAAK02D,OAASyzT,EACrBtuX,OAAQmE,EAAK++M,QAAUorK,EACvB3tX,UAAW,aAAe4tX,EAAc,IAAMA,EAAc,IAC5D9lY,KAAM0b,EAAKw+E,QACXviF,OAAQ+D,EAAKy+E,YACb,eAAgBw8H,IAIxB,SAASovK,EAAYpvJ,EAAa75O,EAAI0nY,EAAU9oX,GAC5C,IAAIxH,EAAapX,EAAGymB,YAEhBk5M,EAAW33N,EAAI43N,iBAAiBxoN,EAAWsoN,SAAU,WAAY9gN,EAAKsqX,SAAS,SAAS31Y,GACxFA,EAAE0N,OAAO,QAAQiY,KAAK,CAAErZ,EAAG,EAAG2F,EAAG,OAGrCm6N,EAAS7+N,OAAO,QAAQoY,KAAK,CACzBvG,MAAOiM,EAAK02D,OACZ76D,OAAQmE,EAAK++M,UAIrB,SAASwrK,EAActvJ,EAAa75O,EAAI0nY,EAAU9oX,GAC9C,IAaI43B,EAbA8e,EAAWt1D,EAAGisD,SAEdm9U,EAAavvJ,EAAY94O,UAAU,KAAOqhC,EAAUuoG,oBACnD/tI,KAAK8qY,EAASnpV,cAAev2C,EAAIvN,UAEtC2uY,EAAWpoY,QAAQC,OAAO,KACrBiY,KAAK,SAAS,SAAS7b,GAAM,OAAO+kC,EAAUuoG,mBAAqB,IAAMttI,KACzEvM,KAAKg4B,EAAQqlH,WAAYvvH,EAAKsqX,QAASlpY,GAE5CopY,EAAWhuW,QAEXguW,EAAWj1V,OAAOjyC,SAIlBknY,EAAW/nY,MAAK,SAAShE,EAAI1L,GACzB,IAAI0tS,EAAY9+R,EAAGO,OAAO7M,MACtBo1Y,EAAoB,IAAN13Y,EAEd22Y,EAAc1uJ,EAAQt6M,UAAUt/B,EAAI3C,EAAI,KACxCisY,EAAchB,EAAY35W,MAC1B45W,EAAmB3pX,EAAK0qX,GAExBC,EAAa,CACb3sY,KAAM,GACNk8C,OAAQ,CACJ5gC,MAAO,CACHvT,KAAM+iY,EAAS/iY,KACfy8C,OAAQ,CAAC,EAAG,GACZ/3C,MAAOuV,EAAKvV,MAAMzT,QAClBgV,SAAU88X,EAAS98X,UAEvB+H,MAAOiM,EAAK02D,OACZ76D,OAAQmE,EAAK++M,QACbj4M,OAAQ,CAAEhzB,EAAG,EAAG1B,EAAG,EAAGY,EAAG,EAAGU,EAAG,IAEnCymB,SAAU/Y,EAAG+Y,UAGjBwwX,EAAWzwV,OAAOwwV,GAAe,CAC7B3kY,KAAM2jY,EAAY3jY,KAClBy8C,OAAQ,CAAC,EAAG,GACZ/3C,MAAsC,UAA/Bk/X,EAAiBprR,UAAwBorR,EAAiBl/X,MAAMzT,QAAU0yY,EAAYj/X,MAAMzT,QACnGgV,SAAU09X,EAAY19X,UAG1Bm3B,EAAM99B,eAAeslY,GAErB,IAAI/gX,EAAK+gX,EAAW9iX,YAAYvO,MAC5B2Q,EAAK0gX,EAAW9iX,YAAY6iX,GAEhC9gX,EAAGq1F,YACHr1F,EAAG0D,WACHrD,EAAGg1F,YACHh1F,EAAGqD,WAEH,IAAI3pB,EAAW,CACXlF,GAAIA,EACJgiS,UAAWA,EACXnnR,MAAOsQ,EACPrQ,MAAO0Q,EACP2gX,aAAa,GAGdH,EAAY7yV,EAAej0C,GAE1BA,EAAS4+G,SAAW,KACpB5+G,EAASi0C,aAAeA,GAG5BsU,EAAU2+U,UAAUzpY,EAAIuC,EAAUmnY,EAAwBp0U,EAAUj4D,OAI5E,SAASqsY,EAAwBp0U,EAAU5J,GAGvC,IAFA,IAAIp6C,EAAM,GAEF3f,EAAI,EAAGA,EAAI2jE,EAAS1kE,OAAQe,IAAK,CACrC,IAAI6iE,EAAYc,EAAS3jE,GACrBsO,EAAQu0D,EAAU,GAAGv0D,MAEtBA,EAAMiY,MAAQjY,EAAMkY,QAAUuzC,GAC7Bp6C,EAAI7c,KAAK+/D,GAIjB,OAAOljD,EAGX,SAASq4X,EAAU9vJ,EAAa75O,EAAI0nY,EAAU9oX,EAAM2pX,GAChD,IAAIqB,EAAU5hY,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAUwoG,kBAAkB,SAASr3I,GACrFA,EAAE2lB,KAAK,CACHrZ,EAAG,EACH2F,EAAG,EACH,kBAAmB,kBAI3BokY,EACK1wX,KAAK,SAAU0F,EAAK++M,SACpB7sO,KAAKqjB,EAAMjR,KAAMk/B,EAAUmpG,WAEhC,IAAIs+P,EAAU7hY,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAUyoG,kBAAkB,SAASt3I,GACrFA,EAAE2lB,KAAK,CACH1T,EAAG,EACH,kBAAmB,kBAS3B,GALAqkY,EACK3wX,KAAK,SAAU0F,EAAK++M,SACpB7sO,KAAKqjB,EAAMjR,KAAMk/B,EAAUmpG,WAGE,UAA/Bg9P,EAAiBprR,UAAuB,CACvC,IAAI2sR,EAAiB9hY,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAUipG,yBAAyB,SAAS93I,GACnGA,EAAE2lB,KAAK,CACH1T,EAAG,EACH,kBAAmB,kBAI3BskY,EACK5wX,KAAK,QAAS0F,EAAK02D,QACnBxkF,KAAKqjB,EAAMjR,KAAMk/B,EAAUopG,kBAEhC,IAAIu+P,EAAiB/hY,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAUkpG,yBAAyB,SAAS/3I,GACnGA,EAAE2lB,KAAK,CACH1T,EAAG,EACH,kBAAmB,kBAI3BukY,EACK7wX,KAAK,QAAS0F,EAAK02D,QACnBl0E,MAAM,aAAcghC,EAAU4nW,eAC9Bl5Y,KAAKqjB,EAAMjR,KAAMk/B,EAAUopG,mBAIxC,SAASy+P,EAAapwJ,EAAa75O,EAAI0nY,EAAU9oX,GAC7C,IAAG5e,EAAG+Y,SAASgzC,WAAf,CAEA,IAAI47U,EAAW3/X,EAAIiuG,aAAa4jI,EAAa,OAAQz3M,EAAU0oG,mBAAmB,SAASv3I,GACvFA,EAAE2lB,KAAK,CACH1T,EAAG,EACHw8G,OAAQ5/E,EAAUspG,eAClB,kBAAmB,kBAI3Bi8P,EAASzuX,KAAK,CACVuB,OAAQmE,EAAK++M,QACbz6N,KAAMk/B,EAAUqpG,gBAIxB,SAASy+P,EAAarwJ,EAAa75O,EAAI0nY,EAAU9oX,GAE7C,IAAIurX,EAAaniY,EAAIiuG,aAAa4jI,EAAa,IAAKz3M,EAAU2oG,qBAC1Dq/P,EAAapiY,EAAIiuG,aAAa4jI,EAAa,IAAKz3M,EAAU8oG,qBAG1Dm/P,EAAiB,CACjBxqY,EAAG,EACH8S,MAAOyvB,EAAU0pG,YACjBtmE,GAAIpjC,EAAU2pG,aACd7oI,KAAMiR,EAAMqR,WACZ3K,OAAQ1G,EAAMiB,YACd,eAAgBgtB,EAAU4pG,kBAC1B,kBAAmB,cAEnBs+P,EAAqB,CACrB9kY,EAAGpO,KAAKs5B,MAAM9R,EAAK++M,QAAU,GAC7BljN,OAAQrjB,KAAKs5B,MAAM9R,EAAK++M,QAAU,IAElC4sK,EAAYviY,EAAIiuG,aAAak0R,EAAY,OAAQ/nW,EAAU6oG,oBAAoB,SAAS13I,GACxFA,EAAE2lB,KAAKmxX,MAEXE,EAAUrxX,KAAKoxX,GAEf,IAAIE,EAAYxiY,EAAIiuG,aAAam0R,EAAY,OAAQhoW,EAAUgpG,oBAAoB,SAAS73I,GACxFA,EAAE2lB,KAAKmxX,MAKX,GAHAG,EAAUtxX,KAAKoxX,IAGZtqY,EAAG+Y,SAASgzC,WAAf,CAEA,IAAI0+U,EAAmB,CACnB93X,MAAOyvB,EAAUypG,cACjBhsI,EAAG,EACH2F,EAAG,EACHtC,KAAMk/B,EAAUupG,aAChB3pB,OAAQ5/E,EAAUwpG,gBAGlBg8P,EAAc5/X,EAAIiuG,aAAak0R,EAAY,OAAQ/nW,EAAU4oG,sBAAsB,SAASz3I,GAC5FA,EAAE2lB,KAAKuxX,MAEX7C,EAAY1uX,KAAK,SAAU0F,EAAK++M,SAEhC,IAAIkqK,EAAc7/X,EAAIiuG,aAAam0R,EAAY,OAAQhoW,EAAU+oG,sBAAsB,SAAS53I,GAC5FA,EAAE2lB,KAAKuxX,MAEX5C,EAAY3uX,KAAK,SAAU0F,EAAK++M,UAhiBpCrtO,EAAOC,QAAU,SAASyP,GAGtB,IAFA,IAAIoX,EAAapX,EAAGymB,YAChBqzN,EAAkB1iO,EAAW4iO,iBACzBroP,EAAI,EAAGA,EAAImoP,EAAgBlpP,OAAQe,IAAK,CAC5C,IAAIitB,EAAOk7N,EAAgBnoP,GAAGywC,EAAUrwC,MAExC6sB,EAAKsqX,QAAUtqX,EAAKiP,IAAM,IAAMzW,EAAWulC,KAoB/C,SAAS+tV,EAAYhD,GACjB,OAAOA,EAAS/4W,MAGpB,IAAIg8W,EAAevzX,EAAW8lC,WACzBn8C,UAAU,KAAOqhC,EAAUqoG,oBAC3B7tI,KAAKk9O,EAAiB4wJ,GAG3BC,EAAax2V,OAAO9yC,MAAK,SAASqmY,GAC9B,IAAI9oX,EAAO8oX,EAAStlW,EAAUrwC,MAC9BqlB,EAAWsoN,SAAS5+N,OAAO,IAAM8d,EAAKsqX,SAAShnY,YAChDA,SAG2B,IAA3B43O,EAAgBlpP,SAEnB+5Y,EAAa3pY,QAAQC,OAAO,KACvBC,QAAQkhC,EAAUqoG,oBAAoB,GACtCvxH,KAAK,iBAAkB,OAG5ByxX,EAAatpY,MAAK,SAASqmY,GACvB,IAAI7tJ,EAAct5O,EAAGO,OAAO7M,MACxB2qB,EAAO8oX,EAAStlW,EAAUrwC,MAC1Bu2Y,EAAclxX,EAAWwiO,EAAQx2M,QAAQskW,EAASvmV,SAClDonV,EAAmB3pX,EAAKg7N,EAAQx2M,QAAQskW,EAASvmV,SAIrD,GAAGviC,EAAKvV,MAAO,CACX,IAEIw/P,EAFAvhO,EAAMt/B,EAAIklB,UAAUtO,EAAKvV,MAAOq+X,EAASv6W,KACzCy9W,EAAQ5iY,EAAIklB,UAAUw6W,EAASr+X,MAAOq+X,EAASv6W,KAI/C07O,EADD+hI,EAAM,GAAKA,EAAM,GACP,CACLxzY,KAAKoC,IAAI8tC,EAAI,GAAIsjW,EAAM,IACvBxzY,KAAKqC,IAAI6tC,EAAI,GAAIsjW,EAAM,KAGlB,CACLxzY,KAAKqC,IAAI6tC,EAAI,GAAIsjW,EAAM,IACvBxzY,KAAKoC,IAAI8tC,EAAI,GAAIsjW,EAAM,KAI/BhsX,EAAKvV,MAAQuV,EAAKwhB,OAAO/2B,MAAQrB,EAAIklB,UAAU27O,EAAQ6+H,EAASp6W,KAGpEo6W,EAASjgT,WAAW,qBAIpB,IAAItiC,EAAK/tC,EAAWguC,MAChBhE,EAASsmV,EAAStmV,OAEtBxiC,EAAK02D,OAASnwB,EAAGj2C,GAAKkyC,EAAO,GAAKA,EAAO,IAEzC,IAAIvhD,EAAIzI,KAAKs5B,MAAMy0B,EAAGvzD,EAAKuzD,EAAGj2C,EAAIkyC,EAAO,IAErC57C,EAAIpO,KAAKs5B,MACTy0B,EAAGzyD,EAAIyyD,EAAG1C,GAAK,EAAIilV,EAASrmV,oBACT,WAAlBqmV,EAASvyV,KAAoBuyV,EAAS3yV,OAAS,GAChDn2B,EAAKm7N,aAAe33M,EAAU6pG,UAGlC4tG,EAAY3gO,KAAK,YAAa,aAAerZ,EAAI,IAAM2F,EAAI,KAI3D,IAAIqlY,EAASnD,EAASv6W,IAAIvO,EAAKvV,MAAM,IACjCyhY,EAASpD,EAASv6W,IAAIvO,EAAKvV,MAAM,IACjC0hN,EAAO+/K,EAASD,EAYpB,GAVAjsX,EAAKquF,IAAM,SAAS92G,GAChB,OAAQA,EAAIyoB,EAAK02D,OAAUy1I,EAAO8/K,GAGtCjsX,EAAKu9F,IAAM,SAAShmH,GAChB,OAAQA,EAAI00Y,GAAU9/K,EAAOnsM,EAAK02D,QAGtC12D,EAAK0+B,IAAM,CAACutV,EAAQC,GAEc,UAA/BvC,EAAiBprR,UAAuB,CACvC,IAAI4tR,EAAgBzC,EAAYn7W,IAAIo7W,EAAiBl/X,MAAM,IACvD2hY,EAAgB1C,EAAYn7W,IAAIo7W,EAAiBl/X,MAAM,IACvD4hY,EAAcD,EAAgBD,EAElCnsX,EAAKgqX,WAAa,SAASzyY,GACvB,OAAQA,EAAI40Y,GAAiBE,EAAcrsX,EAAK++M,SAMxDkc,EACK/oP,KAAKg4Y,EAAQ9oY,EAAI0nY,EAAU9oX,GAC3B9tB,KAAKm4Y,EAAajpY,EAAI0nY,EAAU9oX,GAChC9tB,KAAKq4Y,EAAenpY,EAAI0nY,EAAU9oX,GAClC9tB,KAAK64Y,EAAW3pY,EAAI0nY,EAAU9oX,EAAM2pX,GACpCz3Y,KAAKm5Y,EAAcjqY,EAAI0nY,EAAU9oX,GACjC9tB,KAAKo5Y,EAAclqY,EAAI0nY,EAAU9oX,GAGtCmvH,EAAiB8rG,EAAa75O,EAAI0nY,EAAU9oX,GAG5CypX,EAAcxuJ,EAAa75O,EAAI0nY,EAAU9oX,EAAM0pX,EAAaC,GAIvC,WAAlBb,EAASvyV,MACRlT,EAAO1kC,KAAKyC,EAAI0nY,EAAS75W,IAAM,QAAS,CACpC+nB,cAAe8xV,EACf7xV,SAAU6xV,EAAS/4W,MAAQ,SAC3BmnB,YAAa1+B,EAAW2+B,WAAWl2C,EACnCtD,WAAY,CACRsD,EAAG6nY,EAASv7W,QAAUu7W,EAAS5+X,QAAU,EACzCtD,EAAGA,EAAIoZ,EAAK++M,QAAU/+M,EAAKm7N,aAAe,GAAK,IAAM2tJ,EAAShzV,MAAMjiC,KAAKyC,KACzE,cAAe,kBAmZ7B,OACA,SAAU5kB,EAAQC,EAASkB,GAEjC,IAAIy0G,EAAOz0G,EAAoB,QAE3By5Y,EAAYz5Y,EAAoB,QAChC05Y,EAAY15Y,EAAoB,QAChCixE,EAAcjxE,EAAoB,QAClC25Y,EAAQ35Y,EAAoB,QAE5B45Y,EAAS36S,IACT46S,EAAS56S,IACT5pF,EAAM4pF,IAGV,SAASy9G,EAAY78L,EAAKyD,EAAOE,EAAKonD,GAClC,GAA2B,IAAvBqG,EAAY3tD,IAAqC,IAArB2tD,EAAYztD,GACxC,OAAO,EAGX,IAAIw7B,EAAK06V,EAAUp2X,EAAOs2X,EAAO5+K,UAAW4+K,EAAO30U,MAAO20U,EAAOl9D,KAAMk9D,EAAOp7W,YAAao7W,EAAOE,YAC9F32S,EAAKu2S,EAAUl2X,EAAKq2X,EAAO7+K,UAAW6+K,EAAO50U,MAAO40U,EAAOn9D,KAAMm9D,EAAOr7W,YAAaq7W,EAAOC,YAChG,SAAK96V,IAAOmkD,KAKZsR,EAAKp/F,EAAI2lN,UAAW4+K,EAAO5+K,UAAW6+K,EAAO7+K,UAAWpwJ,GACxD6pC,EAAKp/F,EAAIqnU,KAAMk9D,EAAOl9D,KAAMm9D,EAAOn9D,KAAM9xQ,GACzC6pC,EAAKp/F,EAAI4vD,MAAO20U,EAAO30U,MAAO40U,EAAO50U,MAAO2F,GAC5C6pC,EAAKp/F,EAAImpB,YAAao7W,EAAOp7W,YAAaq7W,EAAOr7W,YAAaosC,GAC9D+uU,EAAMtkY,EAAIykY,WAAYF,EAAOE,WAAYD,EAAOC,WAAYlvU,GAG5D6uU,EAAU55X,EAAKxK,EAAI2lN,UAAW3lN,EAAI4vD,MAAO5vD,EAAIqnU,KAAMrnU,EAAImpB,YAAanpB,EAAIykY,aACjE,GAGX,SAAS76S,IACL,MAAO,CACH+7H,UAAW3qH,IACXprC,MAAOorC,EAAK,GACZqsO,KAAMrsO,IACN7xE,YAAa8xE,IACbwpS,WAAYxpS,KAIpB,SAASD,EAAK7uG,GACV,MAAO,CAACA,GAAG,EAAEA,GAAG,EAAEA,GAAG,GAGzB,SAAS8uG,IACL,MAAO,CAAC,EAAE,EAAE,EAAE,GAvClBzxG,EAAOC,QAAU49M,GA4CX,OACA,SAAU79M,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkhF,EAEjB,IAAI3nC,EAAer4C,EAAoB,QAAQq4C,aAC3ClH,EAASnxC,EAAoB,QAAQmxC,OAgBzC,SAAS6uC,EAAM15B,EAAQn5B,GACnB3qB,KAAK8jD,OAASA,EACd9jD,KAAK++E,UAAYp0D,EAAKo0D,UACtB/+E,KAAKg/E,eAAiBr0D,EAAKq0D,eAM3B,IAHA,IAAIxH,EAAS7vE,IAET2C,EAAY,GACR5M,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAAK,CAEnC,IADA,IAAIsO,EAAQ83C,EAAOpmD,GACXsE,EAAI,EAAGA,EAAIgK,EAAMrP,OAAQqF,IAAK,CAClC,IAAIw9E,EAAMxzE,EAAMhK,GACbw9E,EAAIngF,IAAMsvC,GAAQrkC,EAAU9J,KAAKg/E,EAAIngF,GAEzC2M,EAAM,IAAMA,EAAM,GAAGwrE,SACpBA,EAASr0E,KAAKoC,IAAIyG,EAAM,GAAGwrE,OAAQA,IAG3Cx3E,KAAKsK,UAAYA,EAEjB,IAAI4pG,EAAKr+D,EAAavrC,GACtBtK,KAAKugF,kBAAoB2zB,EAAGhoG,KACN,IAAnBgoG,EAAGhoG,KAAKvP,QAAgB66E,IAAW7vE,IAAU3H,KAAK+1C,QAAUyhC,EAC1Dx3E,KAAK+1C,QAAU5yC,KAAKoC,IAAI2uG,EAAGn+D,QAASyhC,GAEzCx3E,KAAKmgF,SAAWngF,KAAK+1C,QAErB/1C,KAAKw1E,KAAO,GAWhBgI,EAAMr+E,UAAUmjF,IAAM,SAAat7E,EAAUxI,GACzC,IAAI+/F,EAAQv+F,KAAK0xY,SAAS1qY,EAAUxI,GAChC+4Y,EAAWv3Y,KAAKw1E,KAAK+oB,IAAU,EAInC,OAFAv+F,KAAKw1E,KAAK+oB,GAASg5S,EAAW/4Y,EAEvB+4Y,GAYX/5T,EAAMr+E,UAAUf,IAAM,SAAa4I,EAAUxI,GACzC,IAAI+/F,EAAQv+F,KAAK0xY,SAAS1qY,EAAUxI,GACpC,OAAOwB,KAAKw1E,KAAK+oB,IAAU,GAc/B/gB,EAAMr+E,UAAUuyY,SAAW,SAAkB1qY,EAAUxI,GACnD,IAAIw8D,EAAUx8D,EAAQ,GAAKwB,KAAK++E,UAAa,IAAM,IAC/Cwf,EAASv+F,KAAmB,eAC5BgH,EACA7D,KAAKs5B,MAAMz1B,EAAWhH,KAAKmgF,UAC/B,OAAOnlB,EAASujC,IAMd,OACA,SAAUliG,EAAQC,EAASkB,GAEjC,aAWA,IAAIsW,EAAOtW,EAAoB,QAC3B8iB,EAAa9iB,EAAoB,QAAQ8iB,WAE7CjkB,EAAOC,QAAU,SAAoB0P,EAAO49E,GACxC,IAAIlsF,EAAG85Y,EAAMx8U,EAAQt1D,EAAQ+xY,EAEzBr0X,EAASwmE,EAAK8tT,QAAU,GACxB1mB,EAAYpnS,EAAKqnS,WAErB,IAAIvzX,EAAI,EAAGA,EAAIszX,EAAUr0X,OAAQe,IAC7B+5Y,EAAWzmB,EAAUtzX,IAEkC,IAApD,CAAC,QAAS,QAAQ0E,QAAQwnF,EAAKzoC,kBAC9Bq2V,EAAO1jY,EAAK4P,SAASkmE,EAAM6tT,EAASj5Y,OAEpC8hB,EAAWk3X,EAAM,CACbx8U,OAAQA,EACRt1D,OAAQA,EACRiyY,WAAW,EACXpkR,GAAIkkR,EAASlkR,GAAG,GAChBipE,IAAKi7M,EAASj7M,IAAI,EAAG,GACrB5yG,KAAM6tT,EAAS7tT,KACfjtF,OAAQ86Y,EAASlmB,UAAU50X,OAC3B6hB,KAAMi5X,EAAS7tT,KAAKjzC,SACpBihW,QAAe,IAANl6Y,EACTm6Y,OAAQn6Y,IAAMszX,EAAUr0X,OAAS,IAGrCymB,EAAO5iB,KAAKg3Y,KAGqC,IAAlD,CAAC,MAAO,QAAQp1Y,QAAQwnF,EAAKzoC,kBAC5Bq2V,EAAO1jY,EAAK4P,SAASkmE,EAAM6tT,EAASj5Y,OAEpC8hB,EAAWk3X,EAAM,CACbG,WAAW,EACXpkR,GAAIkkR,EAASlkR,GAAGkkR,EAASjlB,YAAc,GACvCh2L,IAAKi7M,EAASj7M,IAAIi7M,EAASjlB,YAAc,EAAG,GAC5C5oS,KAAM6tT,EAAS7tT,KACfjtF,OAAQ86Y,EAASlmB,UAAU50X,OAC3B6hB,KAAMi5X,EAAS7tT,KAAKjzC,SACpBihW,QAAe,IAANl6Y,EACTm6Y,OAAQn6Y,IAAMszX,EAAUr0X,OAAS,IAGrCymB,EAAO5iB,KAAKg3Y,MAQlB,OACA,SAAUn7Y,EAAQC,EAASkB,GAEjC,aAWA,IAAI2yE,EAAsB3yE,EAAoB,QAAQ2yE,oBAOtD9zE,EAAOC,QAAU,SAAkB+gB,EAAK1U,EAAMktE,GAC1C,IAAIn4E,EAWJ,IATIyyE,EAAoB9yD,GAGdA,EAAI1gB,OAASgM,EAAKhM,SAGxB0gB,EAAMA,EAAI1b,MAAM,EAAGgH,EAAKhM,SAJxB0gB,EAAM,GAON3f,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IACxB2f,EAAI3f,GAAKm4E,EAAKltE,EAAKjL,IAGvB,OAAO2f,IAML,OACA,SAAUhhB,EAAQC,GAExB,IAAIw7Y,EAAe,CAAE1mY,KAAM,EAAGke,IAAK,GAGnC,SAASyoX,EAAkB13S,EAAIhzE,EAAQhQ,GACrCgQ,EAASA,GAAUgzE,EAAGE,eAAiBF,EAAGy/K,WACrCz+Q,MAAM0J,QAAQsS,KACjBA,EAAM,CAAE,EAAG,IAEb,IAAIi1D,EAAK+tB,EAAGo8C,SAAW,EACnBlqE,EAAK8tB,EAAGq8C,SAAW,EACnBvwB,EAAO6rR,EAAwB3qX,GAGnC,OAFAhQ,EAAI,GAAKi1D,EAAK65C,EAAK/6G,KACnBiM,EAAI,GAAKk1D,EAAK45C,EAAK78F,IACZjS,EAGT,SAAS26X,EAAyBlgS,GAChC,OAAIA,IAAYlnF,QACZknF,IAAYl6F,UACZk6F,IAAYl6F,SAASmf,KAChB+6W,EAEAhgS,EAAQnzF,wBApBnBtoB,EAAOC,QAAUy7Y,GA2BX,OACA,SAAU17Y,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACb80I,sBAAuB,IACvBE,wBAAyB,SACzBlqD,cAAe,CAEX,cACA,OACA,QAIA,cACA,eACA,mBAOF,OACA,SAAU/qF,EAAQC,EAASkB,GAEjC,aAWA,IAAI4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjDw8U,EAAkBp/V,EAAoB,QACtC2iB,EAAkB3iB,EAAoB,QACtC6iB,EAAY7iB,EAAoB,QAChC2jB,EAAc3jB,EAAoB,QAAQ2jB,YAE1Cb,EAAa9iB,EAAoB,QAAQ8iB,WAEzC23X,EAA4Br7C,EAAgBtnU,OAAOC,KAEvDl5B,EAAOC,QAAUgkB,EAAW,CACxBgsE,UAAW,CACP5rE,QAAS,aACTK,SAAU,QAGdg+C,aAAc69R,EAAgB79R,aAC9B1yD,EAAG,CACCqU,QAAS,aACTK,SAAU,QAGdo/C,QAAS7/C,EAAW,GAAIs8U,EAAgBz8R,QAAS,IAGjDQ,aAAci8R,EAAgBj8R,aAE9Bl0D,KAAM6T,EAAW,GAAIs8U,EAAgBnwV,KAAM,IAG3CiV,UAAWpB,EAAW,GAAIs8U,EAAgBl7U,UAAW,IAGrD4T,OAAQ,CACJC,KAAM,CACF9sB,MAAO6X,EAAW,GAAI23X,EAA0BxvY,MAAO,CAACkY,KAAMQ,IAC9DzC,MAAO4B,EAAW,GAAI23X,EAA0Bv5X,MAAO,CAACiC,KAAM,IAC9DI,SAAU,QAEd/Y,QAAS,CACL0Y,QAAS,SACTe,SAAS,EACTlc,IAAK,EACLC,IAAK,EACLmb,KAAM,EAENI,SAAU,SAGdA,SAAU,QAGd4U,SAAU,CACNL,OAAQ,CACJttB,QAAS40V,EAAgBjnU,SAASL,OAAOttB,QACzC+Y,SAAU,QAEdA,SAAU,QAEdsqE,WAAY,CACR/1D,OAAQ,CACJttB,QAAS40V,EAAgBvxQ,WAAW/1D,OAAOttB,QAC3C+Y,SAAU,QAEdA,SAAU,QAGd+B,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C/B,SAAU,OACVyS,MAAO,CAAC,WAAY,IAAK,OAAQ,UAErC7R,cAAevB,IACf2C,WAAYzC,EAAW,GAAID,EAAU0C,WAAY,CAACpC,MAAM,KAGxDR,EAAgB,GAAI,CAChB/T,QAAS,IACT4V,iBAAkB,WAOpB,OACA,SAAU3lB,EAAQC,GAUxB,SAASK,EAAOG,GACZ,IAAI8O,EAAI9O,EAAE,GACNyU,EAAIzU,EAAE,GACNuP,EAAIvP,EAAE,GACV,OAAOqG,KAAKuD,KAAKkF,EAAEA,EAAI2F,EAAEA,EAAIlF,EAAEA,GAZnChQ,EAAOC,QAAUK,GAiBX,OACA,SAAUN,EAAQC,EAASkB,GAEjC,aAYA,IAAIsI,EAAiBtI,EAAoB,QACrC06Y,EAAoB16Y,EAAoB,QACxCwzJ,EAAkBxzJ,EAAoB,QACtCg3G,EAAah3G,EAAoB,QACjCs7I,EAAct7I,EAAoB,QAElCuW,EAAMvW,EAAoB,QAC1BuyP,EAAgBvyP,EAAoB,QACpC2hW,EAAc3hW,EAAoB,QAAQ2hW,YAC1ClyQ,EAAmBzvF,EAAoB,QACvC26Y,EAAgB36Y,EAAoB,QACpC46Y,EAAiB56Y,EAAoB,QAErCsW,EAAOtW,EAAoB,QAC3B2vF,EAAwB3vF,EAAoB,QAAQ2vF,sBAEpDkrT,EAAiB76Y,EAAoB,QAEzC,SAAS86Y,EAAgBjwY,EAAOoqB,GAC5BzyB,KAAKqI,MAAQA,EACbrI,KAAKyyB,IAAMA,EACXzyB,KAAK8I,SAAW,KAChB9I,KAAKg1X,YAAc,KACnBh1X,KAAKu4Y,UAAY,KACjBv4Y,KAAKw4Y,YAAc,KACnBx4Y,KAAKy4Y,aAAe,KACpBz4Y,KAAKyI,MAAQ,KACbzI,KAAKtB,KAAO,GACZsB,KAAK04Y,WAAa,GAClB14Y,KAAK2jC,WAAa,CACd,EAAEh8B,KAAWA,KAAWA,KACxB,CAACA,IAAUA,IAAUA,MAEzB3H,KAAK24Y,WAAa,KAClB34Y,KAAK2I,KAAO,KAGhB,IAAIrH,EAAQg3Y,EAAgBn5Y,UAwC5B,SAASy5Y,EAAkBr3Y,EAAQkH,EAAOmhF,GACtC,IAIIlsF,EAJAmD,GAAK+oF,EAAO,GAAK,EACjB1nF,GAAK0nF,EAAO,GAAK,EACjBivT,EAAiB,GACjBC,EAAc,GAGlB,IAAIp7Y,EAAI,EAAGA,EAAI6D,EAAO5E,SAAUe,EAAG,CAC/B,IAAI2B,EAAIkC,EAAO7D,IACZmN,MAAMxL,EAAEwB,KAAQiK,SAASzL,EAAEwB,MAC3BgK,MAAMxL,EAAE6C,KAAQ4I,SAASzL,EAAE6C,MAG9B22Y,EAAer4Y,KAAK,CAACnB,EAAEwB,GAAIxB,EAAE6C,KAC7B42Y,EAAYt4Y,KAAK9C,IAErB,IAAI6G,EAAQu0I,EAAY+/P,GACxB,IAAIn7Y,EAAI,EAAGA,EAAI6G,EAAM5H,SAAUe,EAE3B,IADA,IAAIV,EAAIuH,EAAM7G,GACNsE,EAAI,EAAGA,EAAIhF,EAAEL,SAAUqF,EAC3BhF,EAAEgF,GAAK82Y,EAAY97Y,EAAEgF,IAG7B,MAAO,CACHsI,UAAW/I,EACXgD,MAAOA,EACPutP,UAAWrpP,GAInB,SAASswY,EAAqBl/U,GAK1B,IAJA,IAAIs3F,EAAU,CAAC,EAAK,EAAK,GACrB1oJ,EAAQ,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IACtCX,EAAY,CAAC,EAAK,EAAK,GAEnBpK,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIqd,EAAI8+C,EAAOn8D,GAEZqd,IAAuB,IAAlBA,EAAEywW,cAA+C,IAAtB3xT,EAAO,GAAGtqD,UAAmBwL,EAAI8+C,EAAO,IACvE9+C,GAAMA,EAAExL,UAEZ4hJ,EAAQzzJ,GAAKqd,EAAE2D,MAAQ,EACvBjW,EAAM/K,GAAKqyP,EAAch1O,EAAEtS,OAC3BX,EAAUpK,GAAKqd,EAAE07G,WAGrB,MAAO,CAAC06B,QAASA,EAAS1oJ,MAAOA,EAAOX,UAAWA,GAGvD,SAASkxY,EAAgBl8Y,GACrB,OAAS,OAANA,QAAoBF,IAANE,EAAwB,EAEjCA,EAAEsF,QAAQ,SAAW,GAAM,EAC3BtF,EAAEsF,QAAQ,UAAY,EAAK,EAAI,EAG3C,SAAS62Y,EAAgBn8Y,GACrB,OAAS,OAANA,QAAoBF,IAANE,EAAwB,EAEjCA,EAAEsF,QAAQ,QAAU,GAAM,EAC1BtF,EAAEsF,QAAQ,WAAa,EAAK,EAAI,EAG5C,SAAS82Y,EAAoBxZ,GAGzB,IAAIyZ,EAAoB,EACpBC,EAAoB,EAEpBC,EAAa,CACbF,EACAC,GAGJ,GAAG/3Y,MAAM0J,QAAQ20X,GACb,IAAI,IAAIhiY,EAAI,EAAGA,EAAIgiY,EAAG/iY,OAAQe,IAC1B27Y,EAAW37Y,GAAK,CACZy7Y,EACAC,GAED1Z,EAAGhiY,KACF27Y,EAAW37Y,GAAG,GAAKs7Y,EAAgBtZ,EAAGhiY,IACtC27Y,EAAW37Y,GAAG,GAAKu7Y,EAAgBvZ,EAAGhiY,UAI9C27Y,EAAW,GAAKL,EAAgBtZ,GAChC2Z,EAAW,GAAKJ,EAAgBvZ,GAGpC,OAAO2Z,EAIX,SAASC,EAAcC,EAAQ9rT,GAE3B,OAAOA,EAAgB,EAAT8rT,GAGlB,SAASC,EAAgBC,GACrB,OAAOrB,EAAeqB,GAG1B,SAASC,EAAYC,EAAS/uX,EAAK05H,EAAW3jI,EAAMi5X,GAChD,IAAIC,EAAW,KAEf,GAAG9lY,EAAIo8D,oBAAoBwpU,GAAU,CACjCE,EAAW,GAEX,IAAI,IAAIn8Y,EAAI,EAAGA,EAAIktB,EAAKltB,SACFd,IAAf+8Y,EAAQj8Y,GAAkBm8Y,EAASn8Y,GAAKijB,EACtCk5X,EAASn8Y,GAAK4mJ,EAAUq1P,EAAQj8Y,GAAIk8Y,QAE1CC,EAAWv1P,EAAUq1P,EAAS5lY,EAAIvN,UAEzC,OAAOqzY,EAIX,SAASC,EAAqBzxY,EAAOM,GACjC,IAeIi0L,EAAIC,EAAIk9M,EACRzsS,EAAQ5vG,EACR+O,EAjBAlL,EAAS,GACTmT,EAAcrM,EAAMsM,gBACpBqlY,EAAc3xY,EAAM4M,UACpBgP,EAAQvP,EAAYuP,MACpBC,EAAQxP,EAAYwP,MACpBgiM,EAAQxxM,EAAYwxM,MACpB5wL,EAAS3sB,EAAK2sB,OACdC,EAAO5sB,EAAK4sB,KACZ3pB,EAAIjD,EAAKiD,GAAK,GACd2F,EAAI5I,EAAK4I,GAAK,GACdlF,EAAI1D,EAAK0D,GAAK,GACdue,EAAMhf,EAAEjP,OACR+wC,EAAY/kC,EAAK+kC,UACjBC,EAAYhlC,EAAKglC,UACjBmjN,EAAYnoP,EAAKmoP,UAMrB,IAAIpzP,EAAI,EAAGA,EAAIktB,EAAKltB,IAEhBk/L,EAAK34K,EAAM2vB,IAAIhoC,EAAElO,GAAI,EAAGgwC,GAAassW,EAAY,GACjDn9M,EAAK34K,EAAM0vB,IAAIriC,EAAE7T,GAAI,EAAGiwC,GAAaqsW,EAAY,GACjDD,EAAK7zL,EAAMtyK,IAAIvnC,EAAE3O,GAAI,EAAGozP,GAAakpJ,EAAY,GAEjDz4Y,EAAO7D,GAAK,CAACk/L,EAAIC,EAAIk9M,GAIzB,GAAG14Y,MAAM0J,QAAQpC,EAAK8D,MAAOA,EAAO9D,EAAK8D,UACpC,QAAiB7P,IAAd+L,EAAK8D,KAET,IADAA,EAAO,IAAIpL,MAAMupB,GACbltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK+O,EAAK/O,GAAKiL,EAAK8D,KAG5C,SAASylR,EAAUz/L,EAAQhjE,GACvB,IAAInM,EAAK5O,EAAY+9E,GACrB,OAAO3+E,EAAK4P,SAASJ,EAAIA,EAAGswB,IAAInkB,IAAM,GAAMhjB,KAIhD,IAAI86E,EAAe5+E,EAAK4+E,aACxB,GAAGA,EAAc,CACb,IAAIpkE,EAAa9a,EAAM8a,WACnB82X,EAAW92X,EAAWmsE,UACtBvkF,EAAU1J,MAAM0J,QAAQw8E,GACxB5xB,EAAI5qD,EAAU5H,KAAKoC,IAAIgiF,EAAa5qF,OAAQiuB,GAAOA,EACnDg3F,EAAM72G,EACN,SAASrN,GAAK,OAAO6pF,EAAa7pF,IAClC,WAAa,OAAO6pF,GAIxB,IAFA96E,EAAO,IAAIpL,MAAMs0D,GAEbj4D,EAAI,EAAGA,EAAIi4D,EAAGj4D,IAAK,CACnB,IAAIG,EAAI,CAAC+N,EAAGA,EAAElO,GAAI6T,EAAGA,EAAE7T,GAAI2O,EAAGA,EAAE3O,IAC5B0lB,EAAS,CACTioW,OAAQn5F,EAAU,QAAStmR,EAAElO,IAC7B4tX,OAAQp5F,EAAU,QAAS3gR,EAAE7T,IAC7Bq2B,OAAQm+P,EAAU,QAAS7lR,EAAE3O,KAE7ByxF,EAAc,GAClBhC,EAAsBgC,EAAaxmF,EAAMjL,GACzC,IAAIqS,EAAOpH,EAAKymF,OAAS,GACzB3iF,EAAK/O,GAAKqW,EAAIs7E,mBAAmBuyB,EAAIlkH,GAAI0lB,EAAQ62X,EAAU9qT,EAAatxF,EAAGkS,IAiBnF,GAZAu9F,EAAS,CACLtmG,SAAUzF,EACV7C,KAAMiK,EAAKjK,KACX+N,KAAMA,GAGP,SAAU9D,IACT2kG,EAAOvxB,UAAYojR,EAAY5pU,EAAM,EAAG3K,GACxC0iF,EAAOxlG,UAAYytB,EAAK7W,MACxB4uF,EAAO4sS,WAAa3kX,EAAKE,MAG1B,WAAY9sB,EAAM,CACjB,IAAI8kF,EAASR,EAAiBtkF,GAE9B2kG,EAAO6sS,aAAeh7C,EAAY7pU,EAAQ,EAAG1K,GAC7C0iF,EAAO8sS,YAAcV,EAAYpkX,EAAOrU,KAAM2J,EAAK0uX,EAAe,GAAI7rT,GACtE6f,EAAO+sS,cAAgBX,EAAYpkX,EAAOg1D,OAAQ1/D,EAAK4uX,EAAiB,KACxElsS,EAAOgtS,iBAAmBhlX,EAAOC,KAAK7W,MACtC4uF,EAAOitS,iBAAmBp7C,EAAY7pU,EAAOC,KAAM,EAAG3K,GACtD0iF,EAAOktS,aAAe,EAGvB,iBAAkB7xY,IACjB2kG,EAAO+rS,WAAaH,EAAoBvwY,EAAK6+E,cAC7C8lB,EAAO4uG,UAAYijJ,EAAYx2V,EAAKg/E,SAAU,EAAG/8D,GACjD0iF,EAAOmtS,SAAWf,EAAY/wY,EAAKg/E,SAAS1mE,KAAM2J,EAAK7W,EAAIvN,SAAU,IACrE8mG,EAAOukE,SAAWlpK,EAAKg/E,SAASzpE,OAChCovF,EAAO67K,UAAY,GAGvB,IAAInnG,EAAO,CAAC,IAAK,IAAK,KAItB,IAHA10E,EAAOpsF,QAAU,EAAC,GAAO,GAAO,GAChCosF,EAAOotS,aAAe,CAAC,EAAG,EAAG,GAC7BptS,EAAOqtS,eAAiB,CAAC,EAAG,EAAG,GAC3Bj9Y,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACnB,IAAIiM,EAAahB,EAAKgB,WAAWq4K,EAAKtkL,KAClC4vG,EAAOpsF,QAAQxjB,GAAKiM,EAAWkX,QAC/BysF,EAAOqtS,eAAej9Y,GAAKiM,EAAW3B,QACtCslG,EAAOotS,aAAah9Y,GAAKiM,EAAW84D,OAI5C6qC,EAAOstS,YAAcvC,EAAe1vY,EAAMqxY,EAAatlY,GAEvD,IAAImmY,EAAc9B,EAAqB,CAACpwY,EAAKgzP,QAAShzP,EAAKkzP,QAASlzP,EAAK+iX,UAQzE,OAPAp+Q,EAAOwtS,WAAaD,EAAYpyY,MAChC6kG,EAAOytS,eAAiBF,EAAY/yY,UACpCwlG,EAAO0tS,aAAeH,EAAY1pP,QAElC7jD,EAAO2tS,aAAetyY,EAAKuyY,YAC3B5tS,EAAO6tS,cAAgBprJ,EAAcpnP,EAAKsD,cAEnCqhG,EAGX,SAAS8tS,EAAa3yY,GAClB,GAAGpH,MAAM0J,QAAQtC,GAAQ,CACrB,IAAIzL,EAAIyL,EAAM,GAId,OAFGpH,MAAM0J,QAAQ/N,KAAIyL,EAAQzL,GAEtB,OAASyL,EAAM9G,MAAM,EAAG,GAAG+2C,KAAI,SAAS9sC,GAC3C,OAAOzI,KAAKs5B,MAAU,IAAJ7wB,MACjB,IAGT,OAAO,KA6LX,SAASyvY,EAAsBhzY,EAAOM,GAClC,IAAIuH,EAAO,IAAIooY,EAAgBjwY,EAAOM,EAAK8pB,KAE3C,OADAviB,EAAKnH,OAAOJ,GACLuH,EAteX5O,EAAMqvP,WAAa,SAASjlP,GACxB,GAAGA,EAAUzM,SACRyM,EAAUzM,SAAWe,KAAK8I,UAC1B4C,EAAUzM,SAAWe,KAAKy4Y,cAC1B/sY,EAAUzM,SAAWe,KAAKw4Y,aAC1B9sY,EAAUzM,SAAWe,KAAKg1X,aAC7B,CACE,IAAI7jV,EAAMzlC,EAAUtL,MAAQsL,EAAU/C,KAAKvI,MA2B3C,OAzBGsL,EAAUzM,OAAOoiB,WAChB3V,EAAUzM,OAAOoiB,UAAU,MAE5BrhB,KAAKg1X,cACJtpX,EAAUzM,OAASe,KAAKg1X,YACxBh1X,KAAKg1X,YAAY3zW,UAAU3V,EAAU/C,OAGzC+C,EAAUmlP,UAAY,GACnB7wP,KAAK24Y,aACDt3Y,MAAM0J,QAAQ/K,KAAK24Y,aACf34Y,KAAK24Y,WAAWxnW,IAAiC,IAAzBnxC,KAAK24Y,WAAWxnW,MACvCzlC,EAAUmlP,UAAY7wP,KAAK24Y,WAAWxnW,IAG1CzlC,EAAUmlP,UAAY7wP,KAAK24Y,YAInCjtY,EAAU88E,gBAAkB,CACxBxoF,KAAK2I,KAAKiD,EAAEulC,GACZnxC,KAAK2I,KAAK4I,EAAE4/B,GACZnxC,KAAK2I,KAAK0D,EAAE8kC,KAGT,IAuQf7vC,EAAMyH,OAAS,SAASJ,GACpB,IACIw7J,EACAm3O,EACAC,EACAr3O,EAJA98J,EAAKpH,KAAKqI,MAAMmM,OAAOpN,GAKvBo0Y,EAAcrD,EAAc36U,MAGhCx9D,KAAK2I,KAAOA,EAGZ,IAAIP,EAAU0xY,EAAqB95Y,KAAKqI,MAAOM,GAE5C,SAAUP,IACTpI,KAAKtB,KAAO0J,EAAQ1J,MAErB,eAAgB0J,GACZA,EAAQ8xY,cAAc/B,IACrBqD,EAAcrD,EAAc/vY,EAAQ8xY,aAI5Cl6Y,KAAKyI,MAAQ2yY,EAAahzY,EAAQ+xY,eACrBiB,EAAahzY,EAAQ2zE,WAGlC/7E,KAAK04Y,WAAatwY,EAAQpB,SAE1Bm9J,EAAc,CACV/8J,GAAIpH,KAAKqI,MAAMmM,OAAOpN,GACtBJ,SAAUoB,EAAQpB,SAClByB,MAAOL,EAAQ2zE,UACfj0E,UAAWM,EAAQN,WAAa,EAChCoD,OAAQswY,EAAY,GACpBzzY,UAAWyzY,EAAY,GACvBxzY,QAASW,EAAKX,QACdmC,YAAaxB,EAAKiZ,cAGa,IAAhC5hB,KAAKtB,KAAK0D,QAAQ,SACdpC,KAAK8I,SAAU9I,KAAK8I,SAASC,OAAOo7J,IAEnCnkK,KAAK8I,SAAWhD,EAAeq+J,GAC/BnkK,KAAK8I,SAAS4nP,OAAS1wP,KACvBA,KAAKqI,MAAMmM,OAAO4E,IAAIpZ,KAAK8I,WAEzB9I,KAAK8I,WACX9I,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAK8I,UAC9B9I,KAAK8I,SAAS0C,UACdxL,KAAK8I,SAAW,MAIpB,IAAI2yY,EAAiB9yY,EAAKX,QAsF1B,GArFGW,EAAK2sB,QAAU3sB,EAAK2sB,OAAOttB,UAASyzY,GAAkB9yY,EAAK2sB,OAAOttB,SAErEszY,EAAiB,CACbl0Y,GAAIpH,KAAKqI,MAAMmM,OAAOpN,GACtBJ,SAAUoB,EAAQpB,SAClByB,MAAOL,EAAQ+xY,aACfl5X,KAAM7Y,EAAQgyY,YACdntB,MAAO7kX,EAAQiyY,cACfryY,QAASyzY,EACTvrE,cAAc,EACdpoU,UAAWM,EAAQkyY,iBACnBv+T,UAAW3zE,EAAQmyY,iBACnBr5X,QAAS9Y,EAAQ8Y,QACjBw5X,aAActyY,EAAQsyY,aACtBC,eAAgBvyY,EAAQuyY,iBAGS,IAAlC36Y,KAAKtB,KAAK0D,QAAQ,WACdpC,KAAKg1X,YAAah1X,KAAKg1X,YAAYjsX,OAAOuyY,IAEzCt7Y,KAAKg1X,YAAckjB,EAAkBoD,GACrCt7Y,KAAKg1X,YAAYtkI,OAAS1wP,KAC1BA,KAAKg1X,YAAY0mB,eAAiB,EAClC17Y,KAAKqI,MAAMmM,OAAO4E,IAAIpZ,KAAKg1X,cAEzBh1X,KAAKg1X,cACXh1X,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKg1X,aAC9Bh1X,KAAKg1X,YAAYxpX,UACjBxL,KAAKg1X,YAAc,MAGvB9wN,EAAc,CACV98J,GAAIpH,KAAKqI,MAAMmM,OAAOpN,GACtBJ,SAAUoB,EAAQpB,SAClBimX,MAAO7kX,EAAQqE,KACfhE,MAAOL,EAAQ8zM,UACfj7L,KAAM7Y,EAAQqyY,SACd9sV,MAAOvlD,EAAQ+gR,UACf+uF,UAAW9vW,EAAQixY,WACnB76X,KAAMpW,EAAQypK,SACdq+J,cAAc,EACdpoU,UAAW,EACXoZ,SAAS,EACTlZ,QAASW,EAAKX,SAGlBhI,KAAK24Y,WAAahwY,EAAK+Y,WAAa/Y,EAAK8D,MAEP,IAA/BzM,KAAKtB,KAAK0D,QAAQ,QACdpC,KAAKw4Y,YAAax4Y,KAAKw4Y,YAAYzvY,OAAOm7J,IAEzClkK,KAAKw4Y,YAAcN,EAAkBh0O,GACrClkK,KAAKw4Y,YAAY9nJ,OAAS1wP,KAC1BA,KAAKw4Y,YAAYkD,eAAiB,EAClC17Y,KAAKqI,MAAMmM,OAAO4E,IAAIpZ,KAAKw4Y,cAEzBx4Y,KAAKw4Y,cACXx4Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKw4Y,aAC9Bx4Y,KAAKw4Y,YAAYhtY,UACjBxL,KAAKw4Y,YAAc,MAGvB+C,EAAe,CACXn0Y,GAAIpH,KAAKqI,MAAMmM,OAAOpN,GACtBJ,SAAUoB,EAAQpB,SAClByB,MAAOL,EAAQ0yY,WACf1/X,MAAOhT,EAAQwyY,YACf9yY,UAAWM,EAAQ2yY,eACnB5pP,QAAS/oJ,EAAQ4yY,aACjBhzY,QAASW,EAAKX,SAEfhI,KAAKu4Y,UACDnwY,EAAQwyY,YACP56Y,KAAKu4Y,UAAUxvY,OAAOwyY,IAEtBv7Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKu4Y,WAC9Bv4Y,KAAKu4Y,UAAU/sY,UACfxL,KAAKu4Y,UAAY,MAEfnwY,EAAQwyY,cACd56Y,KAAKu4Y,UAAYvnP,EAAgBuqP,GACjCv7Y,KAAKu4Y,UAAU7nJ,OAAS1wP,KACxBA,KAAKqI,MAAMmM,OAAO4E,IAAIpZ,KAAKu4Y,YAG5BnwY,EAAQ6yY,cAAgB,EAAG,CAC1B,IAAIU,EAAkB/C,EAClBxwY,EAAQpB,SACRoB,EAAQ+yY,cACR/yY,EAAQ6yY,cAEZU,EAAgB3zY,QAAUW,EAAKX,QAE5BhI,KAAKy4Y,aACJz4Y,KAAKy4Y,aAAa1vY,OAAO4yY,IAEzBA,EAAgBv0Y,GAAKA,EACrBpH,KAAKy4Y,aAAejkS,EAAWmnS,GAC/B37Y,KAAKy4Y,aAAa/nJ,OAAS1wP,KAC3BA,KAAKqI,MAAMmM,OAAO4E,IAAIpZ,KAAKy4Y,oBAEzBz4Y,KAAKy4Y,eACXz4Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKy4Y,cAC9Bz4Y,KAAKy4Y,aAAajtY,UAClBxL,KAAKy4Y,aAAe,OAI5Bn3Y,EAAMkK,QAAU,WACTxL,KAAK8I,WACJ9I,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAK8I,UAC9B9I,KAAK8I,SAAS0C,WAEfxL,KAAKg1X,cACJh1X,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKg1X,aAC9Bh1X,KAAKg1X,YAAYxpX,WAElBxL,KAAKu4Y,YACJv4Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKu4Y,WAC9Bv4Y,KAAKu4Y,UAAU/sY,WAEhBxL,KAAKw4Y,cACJx4Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKw4Y,aAC9Bx4Y,KAAKw4Y,YAAYhtY,WAElBxL,KAAKy4Y,eACJz4Y,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKy4Y,cAC9Bz4Y,KAAKy4Y,aAAajtY,YAU1BnP,EAAOC,QAAU++Y,GAKX,OACA,SAAUh/Y,EAAQC,EAASkB,GAEjC,aAYAnB,EAAOC,QAAU,CACbiT,QAAS,CACLmR,QAAS,UAETK,SAAU,QAGdrQ,KAAM,CACFgQ,QAAS,aACT2V,OAAQ,CAAC,UAAW,WAAY,OAAQ,QAExCtV,SAAU,QAGdsrH,UAAW,CACP3rH,QAAS,UAETK,SAAU,QAGd+kB,MAAO,CACHplB,QAAS,aACTK,SAAU,QAGd2lM,WAAY,CACRhmM,QAAS,aACTK,SAAU,QAGdviB,MAAO,CACHkiB,QAAS,SACTnb,IAAK,EACLob,KAAM,GAENI,SAAU,QAGd+lM,WAAY,CACRpmM,QAAS,SACTnb,IAAK,EACLob,KAAM,GAENI,SAAU,QAGd66X,SAAU,CACNl7X,QAAS,UACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,SAEd86X,cAAe,CACXn7X,QAAS,UACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,SAEdu7O,YAAa,CACT57O,QAAS,UAETK,SAAU,QAEdyqW,YAAa,CACT9qW,QAAS,UAETK,SAAU,SAEdtY,MAAO,CACHiY,QAAS,QAETK,SAAU,SAGd01G,UAAW,CACP/1G,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,SAGdrC,MAAO,CACHgC,QAAS,SACTnb,IAAK,EAELwb,SAAU,QAGdA,SAAU,OAEV2B,YAAa,CACT1a,QAAS,CACL0Y,QAAS,SAETK,SAAU,YAShB,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGA,SAASs+Y,EAAO10Y,EAAIg/H,EAAU99H,GACzB89H,EACDA,EAASrnI,OAETqI,EAAGuuW,WAAWvuW,EAAG4hL,qBAAsB,MAEzC,IAAI+yN,EAAkD,EAAvC30Y,EAAG8xH,aAAa9xH,EAAG40Y,oBAClC,GAAG1zY,EAAY,CACb,GAAGA,EAAW3L,OAASo/Y,EACrB,MAAM,IAAIt6Y,MAAM,sCAElB,IAAI,IAAI/D,EAAE,EAAGA,EAAE4K,EAAW3L,SAAUe,EAAG,CACrC,IAAIu+Y,EAAS3zY,EAAW5K,GACxB,GAAGu+Y,EAAO10Y,OAAQ,CAChB,IAAIA,EAAS00Y,EAAO10Y,OAChB0Z,EAAOg7X,EAAOh7X,MAAQ,EACtBvQ,EAAOurY,EAAOvrY,MAAQtJ,EAAG0zH,MACzBy6D,IAAe0mN,EAAO1mN,WACtBtvJ,EAASg2W,EAAOh2W,QAAU,EAC1B5sB,EAAS4iY,EAAO5iY,QAAU,EAC9B9R,EAAOxI,OACPqI,EAAGs5J,wBAAwBhjK,GAC3B0J,EAAG4jX,oBAAoBttX,EAAGujB,EAAMvQ,EAAM6kL,EAAYtvJ,EAAQ5sB,OACrD,CACL,GAAqB,kBAAX4iY,EACR70Y,EAAG80Y,eAAex+Y,EAAGu+Y,QAChB,GAAqB,IAAlBA,EAAOt/Y,OACfyK,EAAG80Y,eAAex+Y,EAAGu+Y,EAAO,SACvB,GAAqB,IAAlBA,EAAOt/Y,OACfyK,EAAG+0Y,eAAez+Y,EAAGu+Y,EAAO,GAAIA,EAAO,SAClC,GAAqB,IAAlBA,EAAOt/Y,OACfyK,EAAGg1Y,eAAe1+Y,EAAGu+Y,EAAO,GAAIA,EAAO,GAAIA,EAAO,QAC7C,IAAqB,IAAlBA,EAAOt/Y,OAGf,MAAM,IAAI8E,MAAM,oCAFhB2F,EAAGi1Y,eAAe3+Y,EAAGu+Y,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAI/D70Y,EAAGu5J,yBAAyBjjK,IAGhC,KAAMA,EAAEq+Y,IAAYr+Y,EAClB0J,EAAGu5J,yBAAyBjjK,OAEzB,CACL0J,EAAGuuW,WAAWvuW,EAAGk1Y,aAAc,MAC/B,IAAQ5+Y,EAAE,EAAGA,EAAEq+Y,IAAYr+Y,EACzB0J,EAAGu5J,yBAAyBjjK,IAKlCrB,EAAOC,QAAUw/Y,GAIX,OACA,SAAUz/Y,EAAQC,EAASkB,GAEjC,aAoBAnB,EAAOC,QAAU,SAASk6D,EAAU67E,EAAYr/C,EAAUpoE,GAEtD,IAAIltB,EAAG6+Y,EACP,IAFI3xX,IAAKA,EAAMjjB,KAEXjK,EAAI,EAAGA,EAAI20I,EAAW11I,OAAQe,IAC9B6+Y,EAAOlqQ,EAAW30I,GACf6+Y,EAAKhtY,UAASqb,EAAMznB,KAAKoC,IAAIqlB,EAAK2xX,EAAKvpT,GAAUr2F,SAKxD,IAHGiuB,IAAQjjB,MAAUijB,EAAM,GAE3B4rC,EAAS3hD,QAAU+V,EACfltB,EAAI,EAAGA,EAAI20I,EAAW11I,OAAQe,IAC9B6+Y,EAAOlqQ,EAAW30I,GACf6+Y,EAAKhtY,UAASgtY,EAAK1nY,QAAU+V,GAGpC,OAAOA,IAML,OACA,SAAUvuB,EAAQC,EAASkB,IAEL,SAASq4F,GAASx5F,EAAOC,QACnDu5F,EAAOrsB,aACPqsB,EAAOrsB,YAAY9xC,IAAM,WACvB,OAAO8xC,YAAY9xC,OACjBzd,KAAKyd,KAAO,WACd,OAAQ,IAAIzd,QAGapd,KAAKmD,KAAMxC,EAAoB,UAItD,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAYAnB,EAAOC,QAAU,CACb8qF,cAAe,CAAC,eAMd,OACA,SAAU/qF,EAAQC,EAASkB,GAEjC,aAWA,IAAI80I,EAAqB90I,EAAoB,QACzCyyF,EAAWzyF,EAAoB,QAoBnC,SAASg/Y,EAAmBjmV,EAASC,EAAUrzC,EAAYiwE,GACvD,IAAIqpT,EAAW,CAAC,QAAS,SAEzBA,EAASvoV,SAAQ,SAASu+B,GACtB,IAAIhyE,EAAWgyE,EAAOtmE,OAAO,GACzBwmE,EAAOp8B,EAAQk8B,IAAW,GAC1BG,EAAQ3C,EAASW,aAAap6B,EAAUi8B,GAExC4mS,EAAiB,CACjB1iV,SAAU,IACVvtC,GAAIqX,EAAW,OACfspK,OAAQtpK,EACRjC,KAAMg4C,EAASh4C,KACf1gB,KAAM20F,EACN9pF,KAAM4tD,EAAQ91C,GACd9J,SAAU6/C,EAAS7/C,SACnBy8E,UAAWA,EACXf,QAASlvE,EAAWovE,cACpBpvE,WAAYA,GAGhBmvH,EAAmB3/C,EAAMC,EAAOymS,GAChCzmS,EAAMrhD,YAAcqhD,EAAMrhD,aAAe,GAIrCglB,EAAQk8B,IAAyB,MAAdE,EAAKjiF,OACxB6lD,EAAQk8B,GAAU,CAAC/hF,KAAMiiF,EAAKjiF,UA7C1CrU,EAAOC,QAAU,SAA0Bi6D,EAASC,EAAUrzC,EAAY+sB,EAAQkjD,GAC9E,IAAIt2F,EAAIozC,EAAO,KAEXpzC,IACAozC,EAAO,MACPA,EAAO,OAGX,IAAInzC,EAAImzC,EAAO,KAEXnzC,IACAmzC,EAAO,MACPA,EAAO,OAGXssW,EAAmBjmV,EAASC,EAAUrzC,EAAYiwE,KAsChD,OACA,SAAU/2F,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1B8K,EAAa9K,EAAoB,QACjC0yF,EAAuB1yF,EAAoB,QAAQ2yF,SACnDwkC,EAAan3H,EAAoB,QAAQm3H,WAEzC94C,EAAar+E,EAAoB,QACjCklE,EAAgBmZ,EAAWnZ,cAC3BvI,EAAqB0hB,EAAWh3C,eAEpCxoC,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAIyC,EAAS8sB,EAAO,UAChB6tD,EAAU7tD,EAAO,WAErB,GAAI9sB,GAAWA,EAAOzmB,QAAWohG,GAAYA,EAAQphG,OAArD,CAKA,IAAIuP,EAAOgkC,EAAO,UACfhkC,GAAQA,EAAKvP,OACZuzC,EAAO,gBAEPA,EAAO,SAGXA,EAAO,SACPA,EAAO,YAEP,IAAIpoC,EAAYooC,EAAO,qBACpBpoC,GAAWooC,EAAO,oBAAqB2U,EAAO0tC,eAEjDriD,EAAO,iBACP,IAAIk2H,EAAiB5vG,EAAS8oC,eAC1B58B,EAAcnM,EAAS,SAAU,YAChCA,EAAQjhC,QAAU,IAAIqxD,UAExBy/E,GACCjsG,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,UAAW5uD,QAAS,MAGvF8jC,EAAO,eAAgBk2H,EAAiB,EAAI,IAE5C,IAAI35J,EAAOyjC,EAAO,QAClBA,EAAO,gBACHsmB,EAAS+wB,cAAcr3C,EAAO,WAAY7uC,MAAM0J,QAAQ0B,GAAQ,aAAe,SAEnFyjC,EAAO,aACPA,EAAO,iBAEP,IAAIs3C,EAAe,OACnBmtC,EAAWp+D,EAASC,EAAU3R,EAAQ3U,EAAQs3C,EAAc,CACxDotC,mBAAmB,EACnBC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBC,oBAAoB,EACpBC,uBAAuB,IAG3B/kF,EAAO,yBAEPggD,EAAqB15B,EAAU3R,EAAQ3U,GAGvCsmB,EAAS3hD,QAAU,UAlDf2hD,EAASjnD,SAAU,IAwDrB,OACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAEAS,OAAOC,eAAe5B,EAAS,aAAc,CAAEkC,OAAO,IACtD,IAAIumN,EAASvnN,EAAoB,QAC7Bk/Y,EAAYl/Y,EAAoB,QAkBpC,SAASolU,EAASziQ,EAAS/3D,QACP,IAAZA,IAAsBA,EAAU,IACpC,IAAIu0Y,EAAO,EACPC,EAAO,EACPhyX,EAAM,EAMV,OALAm6L,EAAOgS,UAAU52J,GAAS,SAAUp9B,GAChC45W,GAAQ55W,EAAM,GACd65W,GAAQ75W,EAAM,GACdnY,OAEG8xX,EAAUj6Y,MAAM,CAACk6Y,EAAO/xX,EAAKgyX,EAAOhyX,GAAMxiB,EAAQ+2D,YAE7D7iE,EAAQ6kE,QAAUyhQ,GAKZ,OACA,SAAUvmU,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBmvI,EAAYnvI,EAAoB,QAEhCswC,EAAQtwC,EAAoB,QAC5Bm5B,EAAWn5B,EAAoB,QAC/BsW,EAAOtW,EAAoB,QAC3BqvH,EAAcrvH,EAAoB,QAClCuW,EAAMvW,EAAoB,QAC1B8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCwsG,EAAYtvH,EAAoB,QAChCq3B,EAAUr3B,EAAoB,QAC9B0iB,EAAQ1iB,EAAoB,QAC5BwwC,EAASxwC,EAAoB,QAC7BuwC,EAAevwC,EAAoB,QACnC0gI,EAAY1gI,EAAoB,QAAQ0gI,UAExCoU,EAAqB90I,EAAoB,QACzCglW,EAA6BhlW,EAAoB,QACjDilW,EAAkBjlW,EAAoB,QAEtCoxC,EAAqBpxC,EAAoB,QACzC8mB,EAAesqB,EAAmBtqB,aAClC2hN,EAAUr3L,EAAmBq3L,QAC7BC,EAAUt3L,EAAmBs3L,QAE7Bh8L,EAAK1sC,EAAoB,QAAQ0sC,GAErC,SAAS5gC,EAAKyC,GACV,IAAIoX,EAAapX,EAAGymB,YAEhBqqX,EAAY15X,EAAW8lC,WACtBn8C,UAAU,KAAOo9B,EAAG4zB,UACpBn1D,KAAKm0Y,EAAiB/wY,IAAK,SAAS4e,GAAQ,OAAOA,EAAKiP,OAE7DijX,EAAU9vY,QAAQC,OAAO,KACpBiY,KAAK,SAAS,SAAS0F,GAAQ,OAAOA,EAAKiP,OAC3C3sB,QAAQi9B,EAAG4zB,UAAU,GAE1B++U,EAAUzvY,MAAK,SAASud,GACpB,IAAIhE,EAAIra,EAAGO,OAAO7M,MAElB+T,EAAIiuG,aAAar7F,EAAG,OAAQujB,EAAG6yW,MAC/BhpY,EAAIiuG,aAAar7F,EAAG,IAAKujB,EAAG8yW,SAC5BjpY,EAAIiuG,aAAar7F,EAAG,IAAKujB,EAAG+yW,SAC5BlpY,EAAIiuG,aAAar7F,EAAG,IAAKujB,EAAGgzW,QAAQ,SAAS59Y,GAAKA,EAAE2N,QAAQi9B,EAAGwkB,OAAO,MACtE36C,EAAIiuG,aAAar7F,EAAG,IAAKujB,EAAGizW,gBAAgB,SAAS79Y,GAAKA,EAAE0N,OAAO,KAAKC,QAAQi9B,EAAGkzW,SAAS,MAC5FrpY,EAAIiuG,aAAar7F,EAAG,OAAQujB,EAAGmzW,WAE/B,IAAIrsV,EAAOssV,EAAa32X,EAAGgE,EAAM5e,GAC9BilD,GAAQA,EAAKr2B,OAAO5uB,EAAGyZ,WAAa,IAAIhlB,KAAKwwD,GAE7CjlD,EAAG+Y,SAAS8R,MAAM27L,kBACjB1iM,EAAalJ,EAAGgE,EAAM5e,MAI9B8wY,EAAU38V,OACL9yC,MAAK,SAASud,GAAQmjB,EAAMwf,WAAWvhD,EAAI4e,EAAKiP,QAChD3rB,SAEL4uY,EAAU11W,QAGd,SAAS21W,EAAiB/wY,GACtB,IAKI4e,EAEA0K,EAEArpB,EAEAu5H,EAXApiH,EAAapX,EAAGymB,YAChBwlC,EAAWjsD,EAAGisD,SACd36C,EAAM,GAWV,SAASsyL,EAAShlL,GACd,OAAOrK,EAAWqK,EAAM,CAIpB4yX,WAAY,KAEZC,MAAO,CAAC/0Y,MAAO,KAAMiW,MAAO,KAAM+W,KAAM,MAKxCgoX,QAAS,CAAC38X,MAAO,KAAME,IAAK,KAAMC,KAAM,MAIxCy8X,YAAa,KAGbC,cAAe,KAEfC,QAAS,OAIjB,SAASC,IACoB,oBAAft4Q,EAAMt1H,KACZs1H,EAAMt1H,KAAKlE,EAAIC,EAAO2e,IAEtBA,EAAKgzX,cAAgBtoX,EAAK4oG,aACtBC,EAAU7oG,EAAK6mD,YACf7mD,EAAK6mD,WACTvxD,EAAKizX,QAAU,CAACvoX,EAAKkwG,EAAMhgI,KAAM8vB,EAAKkwG,EAAM//H,OAIpD,IAAI,IAAI9H,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAK,CACrC,IAAI6f,EAAKy6C,EAASt6D,GAClBsO,EAAQuR,EAAG,GAAGvR,MACd,IAAI8xY,EAAa9xY,EAAMkjF,QAAQpxB,SAE/B,IAAqB,IAAlB9xD,EAAMuD,SAAoBuuY,EAIzB,IAHA,IAAIC,EAAqB18Y,MAAM0J,QAAQ+yY,GACnCn4Q,EAASo4Q,EAAqBD,EAAa,CAACA,GAExC97Y,EAAI,EAAGA,EAAI2jI,EAAOhpI,OAAQqF,IAAK,CACnCujI,EAAQI,EAAO3jI,GACf,IAAIg8Y,EAAWz4Q,EAAM52G,UACrB0G,EAAO2oX,EAAWhyY,EAAMgyY,GAAYhyY,EAEjCqpB,GAAQA,EAAK03G,YACZpiH,EAAOglL,EAASt6K,EAAKyoC,UACrBnzC,EAAKiP,IAAM,KAAO5tB,EAAMymB,KAAOsrX,GAAsBC,EAAW,IAAMA,EAAW,IACjFrzX,EAAKszX,YAAcjyY,EAAM5L,MACzBuqB,EAAKuzX,aAAeF,EAAWA,EAAW,IAAM,IAAM,YACtDrzX,EAAKykE,MAAQpjF,EAAMojF,MACnByuT,IACAxgY,EAAI7c,KAAKmqB,KAMzB,IAAI,IAAIxoB,KAAKghB,EAAWyiH,WAGpB,GAFAvwG,EAAOlS,EAAWhhB,GAEfkzB,EAAK03G,UAAW,CACf,IAAIoxQ,EAAch7X,EAAWyiH,WAAWzjI,GAExCwoB,EAAOglL,EAASt6K,EAAKyoC,UACrBnzC,EAAKiP,IAAM,KAAOz3B,EAClBwoB,EAAKuzX,YAAc/7Y,EAAI,aACvBwoB,EAAKykE,MAAQjsE,EAAWisE,MAExBm2C,EAAQ,CAAChgI,IAAK,OAAQC,IAAK,QACL,YAAnB24Y,EAAY,KACXnyY,EAAQmyY,EAAY,GACpB54Q,EAAMt1H,KAAOjE,EAAMkjF,QAAQpxB,SAAS7tD,MAGxC4tY,IACAxgY,EAAI7c,KAAKmqB,GAIjB,OAAOtN,EAGX,SAASigY,EAAa32X,EAAGgE,EAAM5e,GAC3B,IAAIoX,EAAapX,EAAGymB,YAChB0+B,EAAK/tC,EAAWguC,MAEhBizE,EAAYz5G,EAAK4yX,WACjBhoX,EAAO5K,EAAK6yX,MACZ/8V,EAAQ91B,EAAK81B,MACb29V,EAAY39V,EAAMS,KAElBolT,EAAS37U,EAAKizX,SACdtxY,EAAG44D,QAA6B,oBAAdk/D,EAA2BA,EAAY7uG,EAAK9sB,OAAO0kD,UAErEkxV,EAAqC,oBAAf9oX,EAAK9sB,MAC3B8sB,EAAK9sB,MACL,WAAa,OAAO8sB,EAAK9sB,OACzB61Y,EAAoC,oBAAdl6Q,EACtBA,EACA,WAAa,OAAOA,GAEpBm6Q,EAAW5zX,EAAK8yX,QAChBe,EAAYC,EAAW1yY,EAAI4e,EAAM27U,GACjCo4C,EAAaF,EAAUvvY,KACvB0vY,EAAaH,EAAUjpX,KAQvBqpX,EAAUz7Y,KAAKs5B,MAAM9R,EAAK8rG,WAAoC,aAAvB9rG,EAAK87Q,cAA+Bv1O,EAAGj2C,EAAI,IAClF4jY,EAAYD,EAAU1tV,EAAGj2C,EACzB6jY,EAAQ37Y,KAAKs5B,MAAM9R,EAAKC,KAAwB,aAAjBD,EAAK+7Q,QAAyBx1O,EAAG1C,EAAI,IACpEuwV,EAAUD,EAAQ5tV,EAAG1C,EACrBwwV,EAAWr0X,EAAKg8Q,KAAOz1O,EAAGj2C,EAC1BgkY,GAAYt0X,EAAK2+E,YAAc3+E,EAAKm8Q,cAAgB,EACpDo4G,EAAWv0X,EAAKi8Q,KAAO11O,EAAG1C,EAI1B0+F,EAAQ/pJ,KAAKs5B,MAAM9R,EAAK/e,EAAIslD,EAAGj2C,EAAI0P,EAAKg8Q,MAExCw4G,EAAYx0X,EAAK/e,EAAIizY,GAAa,CAAC73X,OAAQ,GAAK3V,MAAO,GAAGsZ,EAAKm1E,UAAY,GAG3Es/S,EAAcz0X,EAAKpZ,EAAIwtY,IAAY,CAACzvX,KAAM,GAAKD,OAAQ,IAAK1E,EAAKo1E,UAAY,GAAK,IAClFs/S,EAAYl8Y,KAAKs5B,MAAMy0B,EAAG1C,GAAK,EAAI4wV,IACnCE,EAASD,EAAYP,EAGzBn0X,EAAK40X,SAAWR,EAChBp0X,EAAK60X,WAAaX,EAClBl0X,EAAK80X,WAAaN,EAClBx0X,EAAK+0X,aAAeN,EAGpB,IAAI97X,EAAKqH,EAAKumR,MAAQyuG,EAAiB5zY,EAAI4e,EAAM27U,GAYjD,GARAhjV,EAAGtc,SAAW2jB,EAAK/e,EAAIozY,EAAWH,GAEW,IAA1C,CAAC,MAAO,UAAUz8Y,QAAQg8Y,KACzB96X,EAAGm9B,MAAMS,KAAOk9V,EAChB96X,EAAGs8X,OAASj1X,EAAK/e,EAAIozY,EACrB17X,EAAGu8X,OAAST,GAA8B,QAAf3+V,EAAMS,KAAiB69V,EAAUG,EAAWA,IAGxE3pX,EAAK9sB,OAA2B,SAAlBkiB,EAAKpV,SAAqB,CACvC+N,EAAG/N,SAAW,SACd+N,EAAGoyB,MAAQ6oW,EAASz9X,MACpB,IAAIsxB,EAAQmsW,EAASt9X,KAEjB6+X,EAAY/rY,EAAI0B,WAAW4pY,EAAYC,GAAU,GAAI,EAAG,IAAM,EAC9DS,GAAYz5C,EAAO,GAAKA,EAAO,MAAQ37U,EAAKnV,QAAUsqY,GAAa1tW,GACvE,GAAG2tW,EAAW,EAAG,CACb,IAAIC,EAAQ78Y,KAAKw5B,IAAI,GAAIx5B,KAAK2N,MAAM3N,KAAK8lB,IAAI82X,GAAY58Y,KAAK6yC,OAC9D5D,GAAS4tW,EAAQjsY,EAAImiC,QAAQ6pW,EAAWC,EAAO,CAAC,EAAG,EAAG,MAIlD78Y,KAAK+R,IAAIqpY,EAASz9X,OAASy9X,EAASt9X,KAAO,MAAQ,EAAI,OACvDqC,EAAGoyB,MAAQ,GAGnBpyB,EAAG8uB,MAAQA,EAKf9uB,EAAG6pC,OAAS,CACRiyV,EAAcF,EACdE,EAAcL,EAAUG,GAG5B57X,EAAG2U,WAEHtR,EAAE1B,KAAK,YAAa,aAAe9hB,KAAKs5B,MAAMy0B,EAAGvzD,GAAK,IAAMwF,KAAKs5B,MAAMy0B,EAAGzyD,GAAK,KAE/E,IAIIyjH,EAJA+9R,EAAYt5X,EAAE9Z,OAAO,IAAMq9B,EAAGizW,gBAC7Bl4X,KAAK,YAAa,cAAgB9hB,KAAKs5B,MAAMy0B,EAAGvzD,GAAK,KAAOwF,KAAKs5B,MAAMy0B,EAAGzyD,GAAK,KAEhFm/Q,EAAUj3P,EAAE9Z,OAAO,IAAMq9B,EAAGgzW,QAE5Bj3J,EAAc,EAElB,SAAStlM,EAAU2gE,EAAY4+R,GAC3B,IAAIC,EAAgB,CAChBx+V,cAAer+B,EACfs+B,SAAUj3B,EAAKuzX,YAAc,QAC7Bz8R,WAAY92F,EAAKszX,YACjB7uT,MAAOzkE,EAAKykE,MACZvtC,YAAa1+B,EAAW2+B,WAAWgc,SACnC4jD,eAAgB/6F,EAAE9Z,OAAO,IAAMq9B,EAAGkzW,UAOlCgD,EAAsC,MAAzB9+R,EAAWn1F,OAAO,GAC/Bm1F,EAAW3xG,OAAO,GAClB,IAAM2xG,EACV36F,EAAE7Z,UAAU,IAAMszY,EAAa,KAAOA,EAAa,eAAenyY,SAElE+/B,EAAO1kC,KAAKyC,EAAIu1G,EAAYhhG,EAAW6/X,EAAeD,GAAa,KAGvE,SAASG,KACL,IAA6C,IAA1C,CAAC,MAAO,UAAUj+Y,QAAQg8Y,GAAmB,CAI5C,IAEI7sY,EAFA3F,EAAIslD,EAAGvzD,GAAKgtB,EAAK/e,EAAIozY,GAAY9tV,EAAGj2C,EACpCsD,EAAW+E,EAAGm9B,MAAMjiC,KAAKyC,KAIzB1P,EADa,QAAd6sY,GACM,GAAKgB,EAAcL,EAAUG,IAAahuV,EAAG1C,EAC9C0C,EAAGzyD,EAAI,EAAe,IAAX8f,GAEV,GAAK6gY,EAAcF,IAAahuV,EAAG1C,EACpC0C,EAAGzyD,EAAI,EAAe,IAAX8f,EAEnBoiC,EAAUr9B,EAAGsW,IAAM,QAAS,CACxBtxB,WAAY,CAACsD,EAAGA,EAAG2F,EAAGA,EAAG,cAAe,YAKpD,SAAS+uY,KACL,IAA6C,IAA1C,CAAC,MAAO,UAAUl+Y,QAAQg8Y,GAAmB,CAC5C,IAAI7/X,EAAW+E,EAAGm9B,MAAMjiC,KAAKyC,KACzB1P,EAAI+R,EAAG4U,QAAU5U,EAAGzO,QAAU,EAC9BjJ,EAAIslD,EAAGvzD,GAAK2lB,EAAGtc,UAAY,GAAKkqD,EAAGj2C,GAAkB,UAAZqI,EAAG49B,KAC5C,GAAK3iC,GAAa+E,EAAG69B,eAAiB,EAAI,KACzC,GAAK5iC,GAAa+E,EAAG69B,eAAiB,GAAM,IAKjDR,EAAU,IAAMr9B,EAAGsW,IAAM,QAAS,CAC9BwnB,MAAO,CACH11C,UAAWY,EAAGO,OAAOd,GAAIe,UAAU,KAAOwW,EAAGsW,IAAM,QACnDsnB,KAAMk9V,EACN38V,WAAYyP,EAAGvzD,EACf+jD,UAAW,EACXohE,SAAU3/F,EAAWzE,OAEzBpW,WAAY,CAACsD,EAAGA,EAAG2F,EAAGA,EAAG,cAAe,UACxC4V,UAAW,CAACzV,OAAQ,MAAO2H,OAAQ,MAK/C,SAASknY,KACL,IAA6C,IAA1C,CAAC,MAAO,UAAUn+Y,QAAQg8Y,GAAmB,CAE5C,IAAI57R,EAAa77F,EAAE9Z,OAAO,IAAMq9B,EAAGkzW,SAC/BzqL,EAAYnwG,EAAW31G,OAAO,QAC9B2zY,EAAa,EAAE71X,EAAKm8Q,aAAe,EAAGn8Q,EAAKm8Q,aAAe,GAC1D25G,EAAcj+R,EACb31G,OAAO,KAAOyW,EAAGsW,IAAM,oBACvBlV,OACDg8X,EAAW,KAcf,GAbG/tL,EAAUjuM,SACTg8X,EAAW/6X,SAASgtM,EAAUjuM,OAAOvX,MAAMoR,SAAU,IAAM+F,GAE5Dm8X,GACCx6J,EAAcpxN,EAAQ+qB,KAAK6gW,GAAaj6X,OACrCy/N,EAAcy6J,IAGbF,EAAW,KAAOv6J,EAAcy6J,GAAY,IAE1C/tL,EAAUjuM,SAAWiuM,EAAU1lN,QAAQi9B,EAAGy2W,iBAChD16J,EAAcpxN,EAAQ+qB,KAAK+yK,EAAUjuM,QAAQ8B,QAE9Cy/N,EAAa,CAKZ,GAFAA,GAAe,EAEE,QAAdm4J,EACC96X,EAAG6pC,OAAO,IAAM84L,EAAc/0L,EAAG1C,EACjCgyV,EAAW,KAAO,MACf,CACHl9X,EAAG6pC,OAAO,IAAM84L,EAAc/0L,EAAG1C,EACjC,IAAIoyV,EAAS7yW,EAAaxe,UAAUojM,GACpC6tL,EAAW,KAAO,EAAII,GAAUF,EAGpCl+R,EAAWv9F,KAAK,YAAa,aAAeu7X,EAAa,KACzDl9X,EAAG2U,YAIXtR,EAAE7Z,UAAU,IAAMo9B,EAAG8yW,QAAU,KAAO9yW,EAAG+yW,SACpCh4X,KAAK,YAAa,eAAiB9hB,KAAKs5B,MAAMy0B,EAAG1C,GAAK,EAAIlrC,EAAG6pC,OAAO,KAAO,KAEhFywN,EAAQ34P,KAAK,YAAa,eAAiB9hB,KAAKs5B,OAAOy0B,EAAGzyD,GAAK,KAE/D,IAAIoiZ,EAAQl6X,EAAE9Z,OAAO,IAAMq9B,EAAG8yW,SACzBlwY,UAAU,QAAUo9B,EAAG42W,QACvBn4Y,KAAK+1Y,GACVmC,EAAM9zY,QAAQC,OAAO,QAChBC,QAAQi9B,EAAG42W,QAAQ,GACnB3zY,MAAM,SAAU,QACrB0zY,EAAM3gW,OAAOjyC,SAEb,IAAI8yY,EAAUz6C,EACT5tT,IAAIp1B,EAAGkR,KACPkkB,IAAIv1C,KAAKs5B,OACTr4B,MAAK,SAAStH,EAAGC,GAAK,OAAOD,EAAIC,KAEtC8jZ,EAAMzzY,MAAK,SAASvP,EAAGH,GACnB,IAAI2O,EAAI,CACG,IAAN3O,EAAW4oW,EAAO,IAAMo4C,EAAWhhZ,GAAKghZ,EAAWhhZ,EAAI,IAAM,EAC7DA,IAAMghZ,EAAW/hZ,OAAS,EAAK2pW,EAAO,IAAMo4C,EAAWhhZ,GAAKghZ,EAAWhhZ,EAAI,IAAM,GAErFg7C,IAAIp1B,EAAGkR,KACPkkB,IAAIv1C,KAAKs5B,OAIVpwB,EAAE,GAAK0H,EAAI0B,UAAUpJ,EAAE,IAAMA,EAAE,GAAKA,EAAE,IAAM,GAAK,EAAG00Y,EAAQ,GAAIA,EAAQ,IAKxE,IAAIC,EAAS10Y,EAAGO,OAAO7M,MAAMilB,KAAK,CAC9BrZ,EAAGshJ,EACHxuI,MAAOvb,KAAKqC,IAAIo5Y,EAAS,GACzBrtY,EAAGjF,EAAG/G,IAAI8G,GACVma,OAAQrjB,KAAKqC,IAAI8G,EAAG9G,IAAI6G,GAAKC,EAAG/G,IAAI8G,GAAI,KAG5C,GAAGse,EAAKgzX,cACJ9oX,EAAQy0D,SAAS03T,EAAQj1Y,EAAI4e,EAAKiP,IAAK,WAAYjP,EAAKgzX,cAAe,YACpE,CAGH,IAAIxT,EAAcmU,EAAazgZ,GAAGgY,QAAQ,KAAM,IAChDmrY,EAAO/7X,KAAK,OAAQ0nH,EAAUw9P,GAAa3wG,mBAInD,IAAI7rR,EAAQgZ,EAAE9Z,OAAO,IAAMq9B,EAAG+yW,SACzBnwY,UAAU,QAAUo9B,EAAG+2W,QACvBt4Y,KAAK4sB,EAAK9sB,OAAS8sB,EAAK7W,MAAQigY,EAAa,IAClDhxY,EAAMZ,QAAQC,OAAO,QAChBC,QAAQi9B,EAAG+2W,QAAQ,GACxBtzY,EAAMuyC,OAAOjyC,SACbN,EAAMP,MAAK,SAASvP,GAChByO,EAAGO,OAAO7M,MACLilB,KAAK,IAAK,IAAMioI,EAAQ,KACpB/pJ,KAAKs5B,MAAMnZ,EAAGkR,IAAI32B,IAAO03B,EAAK7W,MAAQ,EAAK,GAAK,IAAMkgY,GAC1D/hZ,KAAKg4B,EAAQgB,eAAgBN,EAAK7W,MAAO2/X,EAAaxgZ,GAAI03B,EAAKE,SAIxEmoP,EAAQ9wQ,UAAU,KAAOwW,EAAGsW,IAAM,aAAa3rB,SAE/C,IAAIw/C,EAAQy/F,EAAQ0xP,GACfj0X,EAAKm8Q,cAAgB,GAAK,GAAoB,YAAfn8Q,EAAKxW,MAAsB,EAAI,GAE/DjI,EAAO4H,EAAK8B,UAAU0N,GACtBg9B,EAAUxsC,EAAKm2C,YAAY3mC,GAC3B8sP,EAAWt8P,EAAK+2C,aAAavnC,GAAI,GASrC,OAPAxP,EAAKw3C,UAAUv/C,EAAIuX,EAAI,CACnBpX,KAAmB,WAAboX,EAAGnP,MAAqBL,EAAKiuC,SAASz+B,EAAIpX,GAAQA,EACxD+zC,MAAO29N,EACPr9N,KAAMzsC,EAAKq3C,aAAa7nC,EAAImqC,EAAO2iN,GACnC9vN,QAASA,IAGNxsC,EAAK43C,WAAW3/C,EAAIuX,EAAI,CAC3BpX,KAAMA,EACN+zC,MAAO29N,EACPt9N,QAASA,EACTqL,SAAU73C,EAAK83C,aAAatoC,EAAImqC,KAQxC,SAASyzV,KACL,IAAIpgX,EAAa89W,EAAUj0X,EAAKm8Q,aAAe,EAAIjyQ,EAAQ+qB,KAAKg+N,EAAQl5P,QAAQhG,MAGhF,GAFAwjG,EAAU+9R,EAAUpzY,OAAO,QAExBq1G,EAAQx9F,SAAWw9F,EAAQj1G,QAAQi9B,EAAGy2W,eAAgB,CACrD,IACIQ,EADAV,EAAcR,EAAUpzY,OAAO,KAAOyW,EAAGsW,IAAM,oBAAoBlV,OAGnEy8X,EADDV,IAAyD,IAA1C,CAAC,MAAO,UAAUr+Y,QAAQg8Y,GAC3BvpX,EAAQ+qB,KAAK6gW,GAAa/hY,MAM1BmW,EAAQ+qB,KAAKqgW,EAAUv7X,QAAQrT,MAAQ67I,EAAQh8F,EAAGvzD,EAEnEmjC,EAAa39B,KAAKqC,IAAIs7B,EAAYqgX,GAGtC,IAAIC,EAAa,EAAIz2X,EAAKg8Q,KAAO7lQ,EAAanW,EAAK2+E,YAAc3+E,EAAKm8Q,aAAe,EACjFu6G,EAAchC,EAAYC,EAE9B34X,EAAE9Z,OAAO,IAAMq9B,EAAG6yW,MAAM93X,KAAK,CACzBrZ,EAAGshJ,EAAQviI,EAAKg8Q,MAAQh8Q,EAAK2+E,YAAc3+E,EAAKm8Q,cAAgB,EAChEv1R,EAAG+tY,EAASL,EACZvgY,MAAOvb,KAAKqC,IAAI47Y,EAAY,GAC5B56X,OAAQrjB,KAAKqC,IAAI67Y,EAAc,EAAIpC,EAAU,KAEhDpiZ,KAAKqjB,EAAMjR,KAAM0b,EAAKw+E,SACtBtsG,KAAKqjB,EAAM0G,OAAQ+D,EAAKy+E,aACxBj8F,MAAM,eAAgBwd,EAAK2+E,aAE5B3iF,EAAE7Z,UAAU,IAAMo9B,EAAGmzW,WAAWp4X,KAAK,CACjCrZ,EAAGshJ,EACH37I,EAAG+tY,EAAS30X,EAAKi8Q,MAAsB,QAAdw3G,EAAsBn4J,EAAc,GAC7DvnO,MAAOvb,KAAKqC,IAAIo5Y,EAAS,GACzBp4X,OAAQrjB,KAAKqC,IAAI67Y,EAAc,EAAI12X,EAAKi8Q,KAAO3gD,EAAa,KAE/DppP,KAAKqjB,EAAM0G,OAAQ+D,EAAKk8Q,cACxB15R,MAAM,CACH8B,KAAM,OACN,eAAgB0b,EAAKm8Q,eAIzB,IAAIw6G,GAAW,CAAC1jX,OAAQ,GAAKvsB,MAAO,GAAGsZ,EAAKm1E,UAAY,GAAKshT,EAC7Dz6X,EAAE1B,KAAK,YAAa,cAAgBisC,EAAGvzD,EAAI2jZ,GAAW,IAAMpwV,EAAGzyD,EAAI,KAGnE,IAAI8iZ,EAAa,GACbC,EAAQv7K,EAAQt7M,EAAKo1E,SACrB0hT,EAAQv7K,EAAQv7M,EAAKo1E,SACL,WAAjBp1E,EAAK+7Q,SACJ66G,EAAWhwY,EAAIoZ,EAAKpZ,EACpBgwY,EAAW9iZ,EAAI4iZ,EAAcG,EAC7BD,EAAWxkZ,EAAIskZ,EAAcI,IAE7BF,EAAW9iZ,EAAI8iZ,EAAWxkZ,EAAI,EAC9BwkZ,EAAWt0V,GAAKtiC,EAAKpZ,EAAIoZ,EAAKC,IAAM42X,EACpCD,EAAWx0V,GAAKpiC,EAAKpZ,EAAIoZ,EAAKC,IAAM62X,GAGxC,IAAIC,EAAQz7K,EAAQt7M,EAAKm1E,SACrB6hT,EAAQz7K,EAAQv7M,EAAKm1E,SACzB,GAA0B,WAAvBn1E,EAAK87Q,cACJ86G,EAAW31Y,EAAI+e,EAAK/e,EACpB21Y,EAAW5jZ,EAAIyjZ,EAAaM,EAC5BH,EAAWljZ,EAAI+iZ,EAAaO,MACzB,CACH,IAAIC,EAAiBR,EAAaxC,EAClC2C,EAAW5jZ,EAAIikZ,EAAiBF,EAChCH,EAAWljZ,EAAIujZ,EAAiBD,EAChCJ,EAAW10V,GAAKliC,EAAK/e,EAAI+e,EAAK8rG,UAAYirR,EAC1CH,EAAW50V,GAAKhiC,EAAK/e,EAAI+e,EAAK8rG,UAAYkrR,EAG9C7zW,EAAMwf,WAAWvhD,EAAI4e,EAAKiP,IAAK2nX,GAGnC,OAAOxtY,EAAIm1C,YAAY,CACnBpb,EAAMw0E,iBACN+9R,GACAE,GACAD,GACAxyW,EAAMw0E,iBACN4+R,IACDn1Y,GAGP,SAAS8jB,EAAalJ,EAAGgE,EAAM5e,GAC3B,IAEIf,EAAI+lG,EAAIC,EAFR7tF,EAAapX,EAAGymB,YAChB0+B,EAAK/tC,EAAWguC,MAGpB07D,EAAY+xB,KAAK,CACb9mC,QAASnxF,EAAEjC,OACX3Y,GAAIA,EACJ+vI,OAAQ,WACJ9wI,EAAK2b,EAAE1B,KAAK,aACZ6nG,EAAUnmG,IAEd2yF,OAAQ,SAASpjF,EAAIhP,GACjBP,EAAE1B,KAAK,YAAaja,gBAA0BkrB,EAAK,IAAMhP,EAAK,KAE9D6pF,EAAK8b,EAAY5jB,MAAMt+E,EAAK80X,WAAcvpX,EAAKg7B,EAAGj2C,EAAI0P,EAAK60X,WACvD,EAAG,EAAG70X,EAAKm1E,SACfkR,EAAK6b,EAAY5jB,MAAMt+E,EAAK+0X,aAAgBx4X,EAAKgqC,EAAG1C,EAAI7jC,EAAK40X,SACzD,EAAG,EAAG50X,EAAKo1E,SAEf,IAAIhW,EAAM8iC,EAAY8vB,UAAU5rC,EAAIC,EAAIrmF,EAAKm1E,QAASn1E,EAAKo1E,SAC3D+sB,EAAUnmG,EAAGojE,IAEjB+wB,OAAQ,WAGJ,GAFAgS,EAAUnmG,QAEA/pB,IAAPm0G,QAA2Bn0G,IAAPo0G,EAAkB,CACrC,IAAIjoG,EAAS,GACbA,EAAO4hB,EAAKuzX,YAAc,KAAOntS,EACjChoG,EAAO4hB,EAAKuzX,YAAc,KAAOltS,OACTp0G,IAArB+tB,EAAKszX,YACJtnX,EAAS95B,KAAK,cAAekP,EAAIhD,EAAQ4hB,EAAKszX,aAE9CtnX,EAAS95B,KAAK,eAAgBkP,EAAIhD,OAOtD,SAAS01Y,EAAW1yY,EAAI4e,EAAM27U,GAC1B,IAGI3oW,EACAD,EAJA6gZ,EAAW5zX,EAAK8yX,QAChBkB,EAAa,GACbD,EAAa,GAIbv4P,EAAKo4P,EAASv9X,IAAMu9X,EAASt9X,KAAO,IACpCwrK,EAAK8xN,EAASt9X,KACd4gY,EAAO,MAAQv7C,EAAO,GAAK,KAAQA,EAAO,GAC1Cw7C,EAAO,MAAQx7C,EAAO,GAAK,KAAQA,EAAO,GAE9C,IAAI5oW,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAErB,GADAC,EAAI4gZ,EAASz9X,MAAQpjB,EAAI+uL,EACtBA,EAAK,EAAK9uL,GAAKwoJ,EAAOxoJ,GAAKwoJ,EAAK,MAChCxoJ,EAAIkkZ,GAAOlkZ,EAAImkZ,GAAKnD,EAAWn+Y,KAAK7C,GAG3C,GAAGgtB,EAAKgzX,cACJe,EAAa,CAAC,QACX,GAA8B,oBAApB/zX,EAAK4yX,WAA2B,CAC7C,IAAIwE,EAAep3X,EAAK+yX,YAExB,GAAGqE,EAGC,IAFA57P,EAAK47P,EAAa/gY,IAAM+gY,EAAa9gY,KAAO,IAC5CwrK,EAAKs1N,EAAa9gY,KACdvjB,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAErB,GADAC,EAAIokZ,EAAajhY,MAAQpjB,EAAI+uL,EAC1BA,EAAK,EAAK9uL,GAAKwoJ,EAAOxoJ,GAAKwoJ,EAAK,MAChCxoJ,EAAI2oW,EAAO,IAAM3oW,EAAI2oW,EAAO,IAAIo4C,EAAWl+Y,KAAK7C,QAGvD+gZ,EAAaC,EAAWjmW,KAAI,SAASx2C,GACjC,OAAOA,EAAIq8Y,EAASt9X,KAAO,KAE/By9X,EAAWl+Y,KAAKk+Y,EAAWA,EAAW/hZ,OAAS,GAAK4hZ,EAASt9X,WAE3D0J,EAAK4yX,YAAyC,kBAApB5yX,EAAK4yX,aAGrCmB,EAAa,CAAC,IAQlB,OALGH,EAASt9X,KAAO,IACf09X,EAAWlyV,UACXiyV,EAAWjyV,WAGR,CAACl3B,KAAMopX,EAAY1vY,KAAMyvY,GAGpC,SAASiB,EAAiB5zY,EAAI4e,EAAM27U,GAChC,IAAInjV,EAAapX,EAAGymB,YAEhBwvX,EAAW,CACXtxY,KAAM,SACN0E,MAAOkxV,EACP/wV,SAAUoV,EAAKpV,SACfC,OAAQmV,EAAKnV,OACbkgC,MAAO/qB,EAAK+qB,MACZtD,MAAOznB,EAAKynB,MACZc,SAAUvoB,EAAKuoB,SACfC,SAAUxoB,EAAKwoB,SACfh/B,MAAOwW,EAAKxW,MACZm4C,QAAS3hC,EAAK2hC,QACdsC,UAAWjkC,EAAKikC,UAChBD,UAAWhkC,EAAKgkC,UAChBxN,eAAgBx2B,EAAKw2B,eACrBxK,SAAUhsB,EAAKgsB,SACf8X,UAAW9jC,EAAK8jC,UAChBxU,WAAYtvB,EAAKsvB,WACjBlB,eAAgBpuB,EAAKouB,eACrBuF,kBAAmB3zB,EAAK2zB,kBACxBvD,aAAcpwB,EAAKowB,aACnBuC,eAAgB3yB,EAAK2yB,eACrBD,WAAY1yB,EAAK0yB,WACjBG,eAAgB7yB,EAAK6yB,eACrBD,WAAY5yB,EAAK4yB,WACjBkD,MAAO91B,EAAK81B,MACZoC,UAAU,EACVqK,OAAQ,OACRhM,KAAM,QACNl6C,SAAU,GAGVi7Y,EAAY,CACZvxY,KAAM,SACNkpB,IAAK,IAAMjP,EAAKiP,KAGhB2sU,EAAc,CACdx8K,OAAQ,IACRvrK,KAAM2E,EAAW3E,KACjBo4U,SAAS,EACTG,WAAW,EACXpgV,SAAUwM,EAAWxM,UAGzB,SAASu5B,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAO8xW,EAAUC,EAAWx/C,EAAiBx9U,EAAMtE,GAMlE,OAHA2xH,EAAmB0vQ,EAAUC,EAAW/xW,EAAQq2T,EAAapjV,GAC7Dq/U,EAA2Bw/C,EAAUC,EAAW/xW,EAAQq2T,GAEjD07C,EAGX5lZ,EAAOC,QAAU,CACbgN,KAAMA,IAMJ,OACA,SAAUjN,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU4/B,EACjB7/B,EAAOC,QAAQ4/B,SAAWA,EAC1B7/B,EAAOC,QAAQ6kE,QAAUjlC,EAEzB,IAAIgmX,EAAW,kUAEXC,EAAW,6VAEf,SAASjmX,EAAUvR,GACZA,IAAMA,EAAO,IAClB,IAAIymT,EAAKzmT,EAAKymT,GAKd,OAJKA,GAA2B,qBAAdvyJ,YAA2BuyJ,EAAKvyJ,UAAU1U,WACxDinK,GAAMA,EAAG7b,SAA+C,kBAA7B6b,EAAG7b,QAAQ,gBACxC6b,EAAKA,EAAG7b,QAAQ,eAEA,kBAAP6b,IAEJzmT,EAAKwR,OAASgmX,EAAS/lZ,KAAKg1U,GAAM8wE,EAAS9lZ,KAAKg1U,MAMnD,OACA,SAAU/0U,EAAQC,EAASkB,GAEjC,aAUAnB,EAAOC,QAAU,CAGb8lZ,YAAa,CAAC,EAAG,EAAG,GAAI,IAAK,KAC7BC,SAAU,CAAC,EAAG,EAAG,EAAG,IAAK,KACzBC,UAAW,CAAC,EAAG,GAAI,GAAI,IAAK,MAC5BC,WAAY,CAAC,EAAG,EAAG,GAAI,IAAK,MAI5BC,SAAU,CACN,KAAM,EAAE,EAAG,GAAI,CAAC,GAAI,GAAI,EAAE,EAAG,GAC7B,CAAC,EAAG,GAAI,KAAM,CAAC,GAAI,GAAI,EAAE,EAAG,GAC5B,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,KAAM,CAAC,EAAG,GAC1B,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,GAAI,IAKzBC,aAAc,CACVC,IAAK,CAAC,EAAG,GACTC,IAAK,CAAC,EAAG,GACTC,IAAK,CAAC,EAAG,IACTC,KAAM,CAAC,GAAI,KAKfC,gBAAiB,CAAC54T,EAAG,EAAG64T,EAAG,EAAGC,EAAG,EAAGC,EAAG,GAAIC,EAAG,EAAGC,GAAI,GAAIC,GAAI,EAAGC,GAAI,IAGpEj1G,cAAe,EAKfC,cAAe,GAIfE,SAAU,EAGVE,SAAU,GAGVvD,eAAgB,CAEZgE,SAAU,EAEVC,UAAW,EAEXQ,aAAc,EAEdC,gBAAiB,GAGjBH,kBAAmB,EAEnB+B,QAAS,IAGTJ,oBAAqB,GAErBC,WAAY,KAOd,OACA,SAAUh1S,EAAQC,EAASkB,GAEjC,aAWA,IAAI8mV,EAAU9mV,EAAoB,QAC9B+O,EAAY/O,EAAoB,QAEhC8lZ,EAAgB9lZ,EAAoB,QACpC+lZ,EAAc/lZ,EAAoB,QAClCmpD,EAAUnpD,EAAoB,QAE9BuW,EAAMvW,EAAoB,QAE1B+vE,EAAkB/vE,EAAoB,QAAQ+vE,gBAElDlxE,EAAOC,QAAU,SAAcyP,EAAI+T,EAASwjJ,GACxC,GAAIA,EAAM3mK,OAAV,CAEA,IAAI6wE,EAAa1tD,EAAQ0tD,WACrBE,EAAc5tD,EAAQ4tD,YACtBrlE,EAAQk7Y,EAAYx3Y,EAAI+T,GA4G5B,OA1GAwjJ,EAAMpvG,SAAQ,SAAS3lD,GACnB,GAAIA,GAAcA,EAAU,IAAOA,EAAU,GAAGvC,MAAhD,CACA,IAOItO,EAPA6f,EAAKhP,EAAU,GACfvC,EAAQuR,EAAGvR,MACXwT,EAAQjC,EAAG9e,EACXmsB,EAAM5e,EAAM6I,QACZ4K,EAASD,EAAMnhB,EACfqhB,EAAaF,EAAMG,MACnBgL,EAAOnL,EAAMmL,KAGb64X,EAAY/jY,EAAO9d,QACnB8hZ,EAAgB/jY,EAAW/d,QAG/B,IAAIjE,EAAI,EAAGA,EAAI+hB,EAAO9iB,OAAQe,IACtBoiB,EAAQC,WAAW,CAAC1hB,EAAGohB,EAAO/hB,GAAIiiB,MAAOD,EAAWhiB,OACpD8lZ,EAAU9lZ,GAAK4/D,IACfmmV,EAAc/lZ,GAAK4/D,KAI3B,IAAIhzD,EAAY,IAAIjJ,MAAY,EAANupB,GACtBhf,EAAIvK,MAAMupB,GACVrZ,EAAIlQ,MAAMupB,GAEd,IAAIltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB,IACIunK,EAAIC,EADJ7mK,EAAImlZ,EAAU9lZ,GAGlB,GAAG6O,EAAUlO,GAAI,CACb,IAAI62X,EAAK1nT,EAAW2pM,IAAI94Q,GACpB64Q,EAASxpM,EAAYypM,IAAIssI,EAAc/lZ,GAAIsO,EAAMivC,WACrDgqH,EAAKiwN,EAAK/xX,KAAK6qD,IAAIkpN,GACnBhyG,EAAKgwN,EAAK/xX,KAAK8qD,IAAIipN,QAEnBjyG,EAAKC,EAAK5nG,IAEd1xD,EAAElO,GAAK4M,EAAc,EAAJ5M,GAASunK,EAC1B1zJ,EAAE7T,GAAK4M,EAAc,EAAJ5M,EAAQ,GAAKwnK,EAGlC1lJ,EAAM0kD,KAAOogR,EAAQh6U,GAGlBqgB,EAAK2K,QAAU1K,GAAO2iD,IACrB5iD,EAAK2K,OAAOgvT,QAAU9kU,EAAM0kD,MAG7Bv5C,EAAK2K,SACJ3K,EAAK+4X,UAAUp5Y,UAAYqgB,EAAKg5X,YAAYr5Y,UAAYqgB,EAAK2K,OAAOhrB,UAAYA,GAGjFqgB,EAAK4K,MAAQjrB,EAAU3N,OAAS,GAC/BoX,EAAIuM,WACAqK,EAAK4K,KACLoxB,EAAQvD,cAAcr3C,EAAIC,EAAO1B,IAItCqgB,EAAKle,OACJsH,EAAIuM,WACAqK,EAAKle,KACL,CAACnC,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAK2K,SAEpDvhB,EAAIuM,WACAqK,EAAKi5X,QACL,CAACt5Y,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAK+4X,YAEpD3vY,EAAIuM,WACAqK,EAAKk5X,UACL,CAACv5Y,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAKg5X,eAIrDh5X,EAAK1b,OAAS5G,EAAMw7J,SAAQx7J,EAAMw7J,QAAS,GAC3Cl5I,EAAK2K,SAAWjtB,EAAMu7J,YAAWv7J,EAAMu7J,WAAY,GACnDj5I,EAAK4K,OAASltB,EAAMs7J,SAAQt7J,EAAMs7J,QAAS,GAC3Ch5I,EAAKle,OAASpE,EAAMy7J,SAAQz7J,EAAMy7J,QAAS,GAE9Cz7J,EAAM87J,YAAY3jK,KAAKmqB,EAAK4K,MAC5BltB,EAAMu8J,YAAYpkK,KAAKmqB,EAAK1b,MAC5B5G,EAAMq8J,cAAclkK,KAAKmqB,EAAK2K,QAC9BjtB,EAAM29J,sBAAsBxlK,KAAKmqB,EAAK+4X,WACtCr7Y,EAAM09J,wBAAwBvlK,KAAKmqB,EAAKg5X,aACxCt7Y,EAAM67J,YAAY1jK,KAAKmqB,EAAKle,MAC5BpE,EAAMonM,oBAAoBjvM,KAAKmqB,EAAKi5X,SACpCv7Y,EAAMqnM,sBAAsBlvM,KAAKmqB,EAAKk5X,WACtCx7Y,EAAM0qB,YAAYvyB,KAAK,IACvB6H,EAAM2qB,cAAcxyB,KAAK,IAEzBgf,EAAM5T,EAAIA,EACV4T,EAAMjO,EAAIA,EACViO,EAAMskY,KAAOl4Y,EACb4T,EAAMukY,KAAOxyY,EACbiO,EAAMnhB,EAAIohB,EACVD,EAAMG,MAAQD,EACdF,EAAMlV,UAAYA,EAClBkV,EAAMg2E,OAASntF,EACfmX,EAAMpf,MAAQiI,EAAM2/D,MACpB3/D,EAAM2/D,YAGHs7U,EAAcv3Y,EAAI+T,EAASwjJ,MAMhC,OACA,SAAUjnK,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkuG,EAEjB,IAAIjqG,EAAO,4LAEX,SAASiqG,EAAaszE,EAAWj2I,GAC/B,IAAIm8W,EAAO,SAASp2Y,MAAM,IAAIzI,OAAO0iC,GACjCo8W,EAAQ,GAUZ,OATGnmO,EAAU17K,QAAQ,OAAS,GAC5B6hZ,EAAMzjZ,KAAK,aAEVs9K,EAAU17K,QAAQ,OAAS,GAC5B6hZ,EAAMzjZ,KAAK,aAEbwjZ,EAAMxjZ,KACJD,EAAKsV,QAAQ,IAAKouY,EAAMtjZ,QACnBkV,QAAQ,IAAKioK,IACbp9K,SAASzD,WAAM,EAAQ+mZ,KAK1B,OACA,SAAU3nZ,EAAQC,EAASkB,GAEjC,aAWA,IAAIwK,EAAUxK,EAAoB,QAAQwK,QACtCqqY,EAAc70Y,EAAoB,QAAQ60Y,YAC1C/+F,EAAgB91S,EAAoB,QAAQ81S,cAmDhD,SAASn3G,EAAcnwL,EAAOmpB,GAC1B,IAAIE,EAAOrpB,EAAMspB,OACbi5D,EAAKp5D,EAAGo5D,IAAMl5D,EAAK5sB,MACnByrX,EAAM/+V,EAAG++V,KAAO7+V,EAAKE,KAAK9sB,MAC1B4+R,EAAMlyQ,EAAGkyQ,KAAOhyQ,EAAKE,KAAK7W,MAC9B,OAAG1W,EAAQumF,GAAYA,EACfvmF,EAAQksX,IAAQ7sF,EAAY6sF,OAA/B,EAvDT73X,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,EAAMC,GACzD,IAAI9c,EAAQ4vY,EAAYjzX,EAAWC,EAAMC,EAAMC,GAC/C,GAAI9c,EAAJ,CAEA,IAAI8a,EAAK9a,EAAM8a,GACXvR,EAAQuR,EAAG,GAAGvR,MACd8hL,EAAsC,MAAtB9hL,EAAM5G,YAGtBhF,EAAQqC,EAAMrC,MACd+0B,EAAK5X,EAAGnd,GAER8jZ,EAAap2N,EAAe,IAAM,IACtCrrL,EAAMyhZ,EAAa,YAAc/uX,EAAG71B,EAEpCmD,EAAMmxV,eAAiBz+T,EAAGmzH,KAC1B7lJ,EAAM0hZ,oBAAsB7wG,EAAcn+Q,EAAGmzH,KAAM,GAEnD7lJ,EAAMoxV,gBAAkB1+T,EAAGqzH,KAC3B/lJ,EAAM2hZ,qBAAuB9wG,EAAcn+Q,EAAGqzH,KAAM,GAEpD/lJ,EAAMqxV,aAAe3+T,EAAGozH,KACxB9lJ,EAAM4hZ,kBAAoB/wG,EAAcn+Q,EAAGozH,KAAM,GAEjD,IAAIzlI,EAAYqS,EAAGrgB,IAAM9I,EAAM8W,UAC3BrW,EAAO,GACX,GAAGqW,GAA2B,SAAdA,GAAsC,SAAdA,EAAsB,CAC1D,IAAIm3W,EAAuB,QAAdn3W,EACTkL,EAAQlL,EAAUlV,MAAM,KAExBw5P,EAAU,SAAS2rC,GAAQ,OAAOknF,IAAkC,IAAzBjsW,EAAM5rB,QAAQ2wS,IAE1D3rC,EAAQ,oBACP36P,EAAKjM,KAAKiC,EAAM0hZ,oBAAsB,eAEvC/8I,EAAQ,qBACP36P,EAAKjM,KAAKiC,EAAM2hZ,qBAAuB,gBAExCh9I,EAAQ,kBACP36P,EAAKjM,KAAKiC,EAAM4hZ,kBAAoB,aAO5C,OAJA5hZ,EAAMuxB,UAAYvnB,EAAK9L,KAAK,QAE5B8B,EAAMgG,MAAQ0zL,EAAcnwL,EAAOmpB,GAE5B,CAAC1yB,MAeN,OACA,SAAUpG,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1ByyF,EAAWzyF,EAAoB,QAE/Bq0F,EAA0Br0F,EAAoB,QAC9Cs0F,EAAyBt0F,EAAoB,QAC7Cu0F,EAA0Bv0F,EAAoB,QAE9C8K,EAAa9K,EAAoB,QAErCnB,EAAOC,QAAU,SAA0BqzC,EAAaC,EAAciV,GAClE,IAAIy/V,EAAcr0T,EAASW,aAAahhD,EAAc,YAClD20W,EAAa50W,EAAYmuB,UAAY,GAEzC,SAAS5tB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOq0W,EAAYD,EAAah8Y,EAAY2c,EAAMtE,GAGjE,IAAI8lR,EAAgBv2P,EAAO,iBAC3BA,EAAO,YAAgC,aAAlBu2P,EACjB,IAAM5hP,EAAOnmC,MAAQmmC,EAAOpzB,OAAO9zB,EAAIknD,EAAOpzB,OAAOpzB,GACrD,IAGJ,IAAIqoS,EAAUx2P,EAAO,WACrBA,EAAO,MAAoB,aAAZw2P,EACX,EACA7hP,EAAOr+B,OAASq+B,EAAOpzB,OAAOhzB,EAAIomD,EAAOpzB,OAAO10B,GAGpDmzC,EAAO,KACPA,EAAO,WACPA,EAAO,QACPA,EAAO,KACPA,EAAO,WACPA,EAAO,QACPn8B,EAAI0tP,UAAU8iJ,EAAYD,EAAa,CAAC,IAAK,MAE7Cp0W,EAAO,gBACPA,EAAO,gBACPA,EAAO,eACPA,EAAO,eACPA,EAAO,WAEP2hD,EAAwB0yT,EAAYD,EAAap0W,EAAQ,UAEzD,IAAIvlB,EAAO,CAACmpE,YAAY,EAAOt1E,KAAMqmC,EAAOrmC,MAC5CuzE,EAAwBwyT,EAAYD,EAAap0W,EAAQ,SAAUvlB,GACnEmnE,EAAuByyT,EAAYD,EAAap0W,EAAQ,SAAUvlB,GAElEulB,EAAO,aAAc2U,EAAO/C,WAAWgc,UACvC/pD,EAAI2/E,WAAWxjD,EAAQ,aAAc2U,EAAOrmC,MAC5C0xB,EAAO,gBAML,OACA,SAAU7zC,EAAQC,EAASkB,GAEjC,aAWA,IAAIukQ,EAAkBvkQ,EAAoB,QAE1CnB,EAAOC,QAAU,CACb6sG,QAAS,CACLzoF,QAAS,QACTC,KAAMohP,EAAgBxwO,WAEtBxQ,SAAU,QAGdqoF,YAAa,CACT1oF,QAAS,QACTC,KAAMohP,EAAgB5gP,YAEtBJ,SAAU,QAGduoF,YAAa,CACT5oF,QAAS,UACTC,KAAM,EACNpb,IAAK,EAELwb,SAAU,QAGdyuB,UAAW,CACP9uB,QAAS,UACTC,MAAM,EAENI,SAAU,OACViV,aAAc,CAAC,gBAAYp5B,EAAW,gBAAYA,IAGtDwY,MAAO,CACHsL,QAAS,aAETg2G,MAAO,CACH,CAACh2G,QAAS,MAAOK,SAAU,OAAQiV,aAAc,CAAC,cAAc,IAChE,CAACtV,QAAS,MAAOK,SAAU,OAAQiV,aAAc,CAAC,cAAc,KAEpEjV,SAAU,OACViV,aAAc,CAAC,WAAa,IAGhCygG,UAAW,CACP/1G,QAAS,SACTC,KAAM,IACNpb,IAAK,EACLC,IAAK,EAELub,SAAU,QAGdxR,QAAS,CACLmR,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdA,SAAU,SAMR,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkoZ,EAEjB,IAAIC,EAAejnZ,EAAoB,QACnC2I,EAAU3I,EAAoB,QAElC,SAAS6S,EAAM0E,EAAID,EAAIlJ,GACrB,OAAOzI,KAAKoC,IAAIuP,EAAI3R,KAAKqC,IAAIuP,EAAInJ,IAGnC,SAAS84Y,EAAetN,EAAQuN,EAAW35Y,GACzChL,KAAKgB,UAAao2Y,EAAOz6Y,OACzBqD,KAAK4G,OAAa,CAAE,IAAIvF,MAAMrB,KAAKgB,WAAY,IAAIK,MAAMrB,KAAKgB,YAC9D,IAAI,IAAItD,EAAE,EAAGA,EAAEsC,KAAKgB,YAAatD,EAC/BsC,KAAK4G,OAAO,GAAGlJ,IAAMiK,IACrB3H,KAAK4G,OAAO,GAAGlJ,GAAKiK,IAEtB3H,KAAK44F,OAAaw+S,EAAOz1Y,QAAQ8qD,UACjCzsD,KAAK4kZ,UAAaD,EAAUhjZ,QAAQ8qD,UACpCzsD,KAAK8pE,MAAa,CAAE9+D,GACpBhL,KAAK6kZ,SAAa,CAAEzN,EAAOz1Y,QAASy1Y,EAAOz1Y,QAASy1Y,EAAOz1Y,QAASy1Y,EAAOz1Y,QAASy1Y,EAAOz1Y,SAG7F,IAAIL,EAAQojZ,EAAevlZ,UA0O3B,SAAS2lZ,EAAQjnZ,GAEf,IADA,IAAIgJ,EAAS,IAAIxF,MAAMxD,GACfH,EAAE,EAAGA,EAAEG,IAAKH,EAClBmJ,EAAOnJ,GAAK,EAEd,OAAOmJ,EAGT,SAAS29Y,EAAqBO,EAAWC,EAAcC,GACrD,OAAO/nZ,UAAUP,QACf,KAAK,EACH,OAAO,IAAI+nZ,EAAe,CAAC,GAAI,CAAC,GAAI,GACtC,KAAK,EACH,GAAwB,kBAAdK,EAAwB,CAChC,IAAI5kE,EAAO2kE,EAAQC,GACnB,OAAO,IAAIL,EAAevkE,EAAMA,EAAM,GAEtC,OAAO,IAAIukE,EAAeK,EAAWD,EAAQC,EAAUpoZ,QAAS,GAEpE,KAAK,EACH,GAA2B,kBAAjBqoZ,EAA2B,CAC/B7kE,EAAO2kE,EAAQC,EAAUpoZ,QAC7B,OAAO,IAAI+nZ,EAAeK,EAAW5kE,GAAO6kE,GAE5CC,EAAW,EAEf,KAAK,EACH,GAAGF,EAAUpoZ,SAAWqoZ,EAAaroZ,OACnC,MAAM,IAAI8E,MAAM,yCAElB,OAAO,IAAIijZ,EAAeK,EAAWC,EAAcC,IAtQzD3jZ,EAAM+0F,MAAQ,SAAS53F,GACrB,IAAI4jC,EAAMl8B,EAAQulB,GAAG1rB,KAAK8pE,MAAOrrE,GAAK,EACnC4jC,GAAO,IAGVriC,KAAK8pE,MAAM97D,OAAO,EAAGq0B,GACrBriC,KAAK44F,OAAO5qF,OAAO,EAAGq0B,EAAMriC,KAAKgB,WACjChB,KAAK4kZ,UAAU52Y,OAAO,EAAGq0B,EAAMriC,KAAKgB,aAGtCM,EAAM6yE,MAAQ,SAAS11E,GACrB,IAAIurE,EAAYhqE,KAAK8pE,MACjB9qE,EAAYgrE,EAAKrtE,OACjB0lC,EAAYl8B,EAAQmF,GAAG0+D,EAAMvrE,GAC7BoI,EAAY7G,KAAK6kZ,SAAS,GAC1BpoT,EAAYz8F,KAAK44F,OACjBgoN,EAAY5gT,KAAK4kZ,UACjB/mZ,EAAYmC,KAAKgB,UACjB4F,EAAY5G,KAAK4G,OACrB,GAAGy7B,EAAM,EAEP,IADA,IAAI19B,EAAM9G,EAAE,EACJH,EAAE,EAAGA,EAAEG,IAAKH,IAAKiH,EACvBkC,EAAOnJ,GAAK++F,EAAM93F,QAEf,GAAG09B,GAAOrjC,EAAE,EACjB,CAAI2F,EAAM83F,EAAM9/F,OAAO,EAAvB,IACIs8C,EAAKx6C,EAAIurE,EAAKhrE,EAAE,GACpB,IAAQtB,EAAE,EAAGA,EAAEG,IAAKH,IAAKiH,EACvBkC,EAAOnJ,GAAK++F,EAAM93F,GAAOs0C,EAAK2nQ,EAASj8S,OAEpC,CACDA,EAAM9G,GAAKwkC,EAAI,GAAK,EAAxB,IACIr3B,EAAMg/D,EAAK3nC,GACXrL,EAAMgzC,EAAK3nC,EAAI,GACfs3L,EAAO3iM,EAAKhsB,GAAO,EACnBqpB,EAAMr0B,KAAK6kZ,SAAS,GACpBvwX,EAAMt0B,KAAK6kZ,SAAS,GACpB/uV,EAAM91D,KAAK6kZ,SAAS,GACpB9uV,EAAM/1D,KAAK6kZ,SAAS,GACpBK,GAAS,EACb,IAAQxnZ,EAAE,EAAGA,EAAEG,IAAKH,IAAKiH,EACvB0vB,EAAG32B,GAAK++F,EAAM93F,GACdmxD,EAAGp4D,GAAKkjT,EAASj8S,GAAOg1N,EACxBrlM,EAAG52B,GAAK++F,EAAM93F,EAAI9G,GAClBk4D,EAAGr4D,GAAKkjT,EAASj8S,EAAI9G,GAAK87N,EAC1BurL,EAASA,GAAW7wX,EAAG32B,KAAO42B,EAAG52B,IAAMo4D,EAAGp4D,KAAOq4D,EAAGr4D,IAAgB,IAAVo4D,EAAGp4D,GAE/D,GAAGwnZ,EACD,IAAQxnZ,EAAE,EAAGA,EAAEG,IAAKH,EAClBmJ,EAAOnJ,GAAK22B,EAAG32B,QAGjB+mZ,EAAapwX,EAAIyhC,EAAIxhC,EAAIyhC,GAAKt3D,EAAEuM,GAAI2uN,EAAI9yN,GAG5C,IAAIkO,EAAKnO,EAAO,GACZkO,EAAKlO,EAAO,GAChB,IAAQlJ,EAAE,EAAGA,EAAEG,IAAKH,EAClBmJ,EAAOnJ,GAAK2S,EAAM0E,EAAGrX,GAAIoX,EAAGpX,GAAImJ,EAAOnJ,IAEzC,OAAOmJ,GAGTvF,EAAM6jZ,OAAS,SAAS1mZ,GACtB,IAAIurE,EAAWhqE,KAAK8pE,MAChB9qE,EAAWgrE,EAAKrtE,OAChB0lC,EAAWl8B,EAAQmF,GAAG0+D,EAAMvrE,GAC5BoI,EAAW7G,KAAK6kZ,SAAS,GACzBpoT,EAAWz8F,KAAK44F,OAChBgoN,EAAW5gT,KAAK4kZ,UAChB/mZ,EAAWmC,KAAKgB,UACpB,GAAGqhC,GAAOrjC,EAAE,EAGV,IAFA,IAAI2F,EAAM83F,EAAM9/F,OAAO,EAEfe,GADKssE,EAAKhrE,EAAE,GACV,GAAGtB,EAAEG,IAAKH,IAAKiH,EACvBkC,EAAOnJ,GAAKkjT,EAASj8S,OAElB,CACDA,EAAM9G,GAAKwkC,EAAI,GAAK,EAAxB,IACIr3B,EAAKg/D,EAAK3nC,GACVrL,EAAKgzC,EAAK3nC,EAAI,GACds3L,EAAM3iM,EAAKhsB,GAAO,EAClBqpB,EAAKr0B,KAAK6kZ,SAAS,GACnBvwX,EAAKt0B,KAAK6kZ,SAAS,GACnB/uV,EAAK91D,KAAK6kZ,SAAS,GACnB9uV,EAAK/1D,KAAK6kZ,SAAS,GACnBK,GAAS,EACb,IAAQxnZ,EAAE,EAAGA,EAAEG,IAAKH,IAAKiH,EACvB0vB,EAAG32B,GAAK++F,EAAM93F,GACdmxD,EAAGp4D,GAAKkjT,EAASj8S,GAAOg1N,EACxBrlM,EAAG52B,GAAK++F,EAAM93F,EAAI9G,GAClBk4D,EAAGr4D,GAAKkjT,EAASj8S,EAAI9G,GAAK87N,EAC1BurL,EAASA,GAAW7wX,EAAG32B,KAAO42B,EAAG52B,IAAMo4D,EAAGp4D,KAAOq4D,EAAGr4D,IAAgB,IAAVo4D,EAAGp4D,GAE/D,GAAGwnZ,EACD,IAAQxnZ,EAAE,EAAGA,EAAEG,IAAKH,EAClBmJ,EAAOnJ,GAAK,MAET,CACL+mZ,EAAaW,WAAW/wX,EAAIyhC,EAAIxhC,EAAIyhC,GAAKt3D,EAAEuM,GAAI2uN,EAAI9yN,GACnD,IAAQnJ,EAAE,EAAGA,EAAEG,IAAKH,EAClBmJ,EAAOnJ,IAAMi8N,GAInB,OAAO9yN,GAGTvF,EAAMw4N,MAAQ,WACZ,IAAI9vJ,EAAOhqE,KAAK8pE,MAChB,OAAOE,EAAKA,EAAKrtE,OAAO,IAG1B2E,EAAM+jZ,OAAS,WAGb,IAFA,IAAIzkG,EAAW5gT,KAAK4kZ,UAChBjgZ,EAAMi8S,EAASjkT,OACXe,EAAEsC,KAAKgB,UAAU,EAAGtD,GAAG,IAAKA,EAClC,GAAGkjT,IAAWj8S,GACZ,OAAO,EAGX,OAAO,GAGTrD,EAAMgkZ,KAAO,SAAS7mZ,GACpB,IAAIuM,EAAKhL,KAAK85N,QACVj8N,EAAKmC,KAAKgB,UACd,KAAGvC,EAAIuM,GAAM9N,UAAUP,SAAWkB,EAAE,GAApC,CAGA,IAAI4+F,EAAYz8F,KAAK44F,OACjBgoN,EAAY5gT,KAAK4kZ,UACjBjgZ,EAAY83F,EAAM9/F,OAAOqD,KAAKgB,UAC9B4F,EAAY5G,KAAK4G,OACjBmO,EAAYnO,EAAO,GACnBkO,EAAYlO,EAAO,GACvB5G,KAAK8pE,MAAMtpE,KAAKwK,EAAIvM,GACpB,IAAI,IAAIuD,EAAE,EAAGA,EAAE,IAAKA,EAClB,IAAI,IAAItE,EAAE,EAAGA,EAAEG,IAAKH,EAClB++F,EAAMj8F,KAAKi8F,EAAM93F,MACjBi8S,EAASpgT,KAAK,GAGlBR,KAAK8pE,MAAMtpE,KAAK/B,GAChB,IAAQf,EAAEG,EAAGH,EAAE,IAAKA,EAClB++F,EAAMj8F,KAAK6P,EAAM0E,EAAGrX,EAAE,GAAIoX,EAAGpX,EAAE,GAAIR,UAAUQ,KAC7CkjT,EAASpgT,KAAK,KAIlBc,EAAMd,KAAO,SAAS/B,GACpB,IAAIuM,EAAKhL,KAAK85N,QACVj8N,EAAKmC,KAAKgB,UACd,KAAGvC,EAAIuM,GAAM9N,UAAUP,SAAWkB,EAAE,GAApC,CAGA,IAAI4+F,EAAYz8F,KAAK44F,OACjBgoN,EAAY5gT,KAAK4kZ,UACjBjgZ,EAAY83F,EAAM9/F,OAAOqD,KAAKgB,UAC9B24N,EAAYl7N,EAAIuM,EAChBpE,EAAY5G,KAAK4G,OACjBmO,EAAYnO,EAAO,GACnBkO,EAAYlO,EAAO,GACnB2+Y,EAAa5rL,EAAK,KAAQ,EAAEA,EAAK,EACrC35N,KAAK8pE,MAAMtpE,KAAK/B,GAChB,IAAI,IAAIf,EAAEG,EAAGH,EAAE,IAAKA,EAAG,CACrB,IAAIk/L,EAAKvsL,EAAM0E,EAAGrX,EAAE,GAAIoX,EAAGpX,EAAE,GAAIR,UAAUQ,IAC3C++F,EAAMj8F,KAAKo8L,GACXgkH,EAASpgT,MAAMo8L,EAAKngG,EAAM93F,MAAU4gZ,MAIxCjkZ,EAAM+J,IAAM,SAAS5M,GACnB,IAAIZ,EAAImC,KAAKgB,UACb,KAAGvC,EAAIuB,KAAK85N,SAAW58N,UAAUP,SAAWkB,EAAE,GAA9C,CAGA,IAAI4+F,EAAYz8F,KAAK44F,OACjBgoN,EAAY5gT,KAAK4kZ,UACjBh+Y,EAAY5G,KAAK4G,OACjBmO,EAAYnO,EAAO,GACnBkO,EAAYlO,EAAO,GACvB5G,KAAK8pE,MAAMtpE,KAAK/B,GAChB,IAAI,IAAIf,EAAEG,EAAGH,EAAE,IAAKA,EAClB++F,EAAMj8F,KAAK6P,EAAM0E,EAAGrX,EAAE,GAAIoX,EAAGpX,EAAE,GAAIR,UAAUQ,KAC7CkjT,EAASpgT,KAAK,KAIlBc,EAAMmQ,KAAO,SAAShT,GACpB,IAAIuM,EAAKhL,KAAK85N,QACVj8N,EAAKmC,KAAKgB,UACd,KAAGvC,GAAKuM,GAAM9N,UAAUP,SAAWkB,EAAE,GAArC,CAGA,IAAI4+F,EAAWz8F,KAAK44F,OAChBgoN,EAAW5gT,KAAK4kZ,UAChBY,EAAW/oT,EAAM9/F,OAASqD,KAAKgB,UAC/B4F,EAAW5G,KAAK4G,OAChBmO,EAAWnO,EAAO,GAClBkO,EAAWlO,EAAO,GAClB+yN,EAAWl7N,EAAIuM,EACfu6Y,EAAY5rL,EAAK,KAAQ,EAAEA,EAAK,EACpC35N,KAAK8pE,MAAMtpE,KAAK/B,GAChB,IAAI,IAAIf,EAAEG,EAAGH,EAAE,IAAKA,EAAG,CACrB,IAAIw4B,EAAKh5B,UAAUQ,GACnB++F,EAAMj8F,KAAK6P,EAAM0E,EAAGrX,EAAE,GAAIoX,EAAGpX,EAAE,GAAI++F,EAAM+oT,KAActvX,IACvD0qR,EAASpgT,KAAK01B,EAAKqvX,MAIvBjkZ,EAAMu4N,KAAO,SAASp7N,GACpB,IAAIuM,EAAKhL,KAAK85N,QACd,KAAGr7N,EAAIuM,GAAP,CAGA,IAAInN,EAAWmC,KAAKgB,UAChBy7F,EAAWz8F,KAAK44F,OAChBgoN,EAAW5gT,KAAK4kZ,UAChBY,EAAW/oT,EAAM9/F,OAAOkB,EACxB+I,EAAW5G,KAAK4G,OAChBmO,EAAWnO,EAAO,GAClBkO,EAAWlO,EAAO,GAClB+yN,EAAWl7N,EAAIuM,EACnBhL,KAAK8pE,MAAMtpE,KAAK/B,GAChB,IAAI,IAAIf,EAAEG,EAAE,EAAGH,GAAG,IAAKA,EACrB++F,EAAMj8F,KAAK6P,EAAM0E,EAAGrX,GAAIoX,EAAGpX,GAAI++F,EAAM+oT,GAAY7rL,EAAKinF,EAAS4kG,KAC/D5kG,EAASpgT,KAAK,GACdglZ,GAAY,KAyCV,OACA,SAAUnpZ,EAAQC,EAASkB,GAEjC,aAGA,IAAI01Y,EAAiB11Y,EAAoB,QAAQ42D,SAC7C6+U,EAAiBz1Y,EAAoB,QACrCu4F,EAAiBv4F,EAAoB,QACrCioZ,EAAiBjoZ,EAAoB,QACrCy1D,EAAiBz1D,EAAoB,QACrCkoZ,EAAiBloZ,EAAoB,QACrCu2H,EAAiBv2H,EAAoB,QACrC6kL,EAAiB7kL,EAAoB,QACrCuN,EAAiB1J,MAAM0J,QACvBlO,EAAiB6D,SAASvB,UAAUtC,KACpCmoL,EAAiB,CAAE1lB,cAAc,EAAMnhK,YAAY,EAAMkhK,UAAU,EAAM7gK,MAAO,MAChFN,EAAiBD,OAAOC,eAG5B7B,EAAOC,QAAU,SAAUqpZ,GAC1B,IAEIC,EACAloZ,EACAsE,EACA6uE,EACAl0E,EACA4D,EACA6zD,EACAvtD,EACAqtH,EACA11H,EAXAqnZ,EAAQ3oZ,UAAU,GAClBw3O,EAAUx3O,UAAU,GAexB,GAHAyoZ,EAAY1nZ,OAAOynZ,EAAWC,IAE1B5xR,EAAQ8xR,IAAQ5yV,EAAS4yV,GACxB7lZ,MAAQA,OAASqB,OAAU00F,EAAW/1F,MAqB1C4lZ,EAAU5lZ,SArBuC,CAEjD,IAAK6lZ,EAAO,CACX,GAAI5S,EAAY0S,GAGf,OADAhpZ,EAASgpZ,EAAUhpZ,OACJ,IAAXA,EAAqB0E,MAAMpE,MAAM,KAAM0oZ,IAC3C90U,EAAM,IAAIxvE,MAAM,GAChBwvE,EAAI,GAAK80U,EAAU,GACZ90U,GAER,GAAI9lE,EAAQ46Y,GAAY,CAGvB,IADA90U,EAAM,IAAIxvE,MAAO1E,EAASgpZ,EAAUhpZ,QAC/Be,EAAI,EAAGA,EAAIf,IAAUe,EAAGmzE,EAAInzE,GAAKioZ,EAAUjoZ,GAChD,OAAOmzE,GAGTA,EAAM,GAMP,IAAK9lE,EAAQ46Y,GACZ,QAAkD/oZ,KAA7Cs3H,EAAcyxR,EAAUzS,IAAgC,CAE5D9+U,EAAWnB,EAASihE,GAAar3H,KAAK8oZ,GAClCC,IAAS/0U,EAAM,IAAI+0U,GACvB/+Y,EAASutD,EAASN,OAClBp2D,EAAI,EACJ,OAAQmJ,EAAOmqD,KACdxyD,EAAQqnZ,EAAQhpZ,EAAKA,KAAKgpZ,EAAOnxK,EAAS7tO,EAAOrI,MAAOd,GAAKmJ,EAAOrI,MAChEonZ,GACH5gO,EAAKxmL,MAAQA,EACbN,EAAe2yE,EAAKnzE,EAAGsnL,IAEvBn0G,EAAInzE,GAAKc,EAEVqI,EAASutD,EAASN,SAChBp2D,EAEHf,EAASe,OACH,GAAI2kL,EAASsjO,GAAY,CAI/B,IAFAhpZ,EAASgpZ,EAAUhpZ,OACfipZ,IAAS/0U,EAAM,IAAI+0U,GAClBloZ,EAAI,EAAGsE,EAAI,EAAGtE,EAAIf,IAAUe,EAChCc,EAAQmnZ,EAAUjoZ,GACdA,EAAI,EAAIf,IACX4D,EAAO/B,EAAM0kE,WAAW,GAEpB3iE,GAAQ,OAAUA,GAAQ,QAAQ/B,GAASmnZ,IAAYjoZ,KAE5Dc,EAAQqnZ,EAAQhpZ,EAAKA,KAAKgpZ,EAAOnxK,EAASl2O,EAAOwD,GAAKxD,EAClDonZ,GACH5gO,EAAKxmL,MAAQA,EACbN,EAAe2yE,EAAK7uE,EAAGgjL,IAEvBn0G,EAAI7uE,GAAKxD,IAERwD,EAEHrF,EAASqF,EAGX,QAAepF,IAAXD,EAIH,IAFAA,EAAS8oZ,EAASE,EAAUhpZ,QACxBipZ,IAAS/0U,EAAM,IAAI+0U,EAAQjpZ,IAC1Be,EAAI,EAAGA,EAAIf,IAAUe,EACzBc,EAAQqnZ,EAAQhpZ,EAAKA,KAAKgpZ,EAAOnxK,EAASixK,EAAUjoZ,GAAIA,GAAKioZ,EAAUjoZ,GACnEkoZ,GACH5gO,EAAKxmL,MAAQA,EACbN,EAAe2yE,EAAKnzE,EAAGsnL,IAEvBn0G,EAAInzE,GAAKc,EAQZ,OAJIonZ,IACH5gO,EAAKxmL,MAAQ,KACbqyE,EAAIl0E,OAASA,GAEPk0E,IAMF,OACA,SAAUx0E,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUwpZ,EAEjB,IAAIx5Y,EAAK9O,EAAoB,QAEzB0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAE9BuW,EAAMvW,EAAoB,QAU9B,SAASsoZ,EAAU/5Y,EAAI4iB,EAAWvlB,GAC9BpJ,KAAK+L,GAAKA,EACV/L,KAAK2uB,UAAYA,EACjB3uB,KAAKoJ,GAAKA,EAGVpJ,KAAKgH,SAAW,KAChBhH,KAAK08J,WAAa,KAClB18J,KAAK28J,WAAa,KAClB38J,KAAK+lZ,KAAO,KACZ/lZ,KAAKgmZ,KAAO,KAGZhmZ,KAAK6oL,GAAK7oL,KAAK2uB,UAAU7hB,UAAU,qBAAqBnE,KAAK,CAAC,IAE9D3I,KAAK6oL,GAAG3oI,OACH1yC,GAAG,QAAS,MACZA,GAAG,QAAS,MACZS,SAELjO,KAAK6oL,GAAG97K,QAAQC,OAAO,QAClBC,QAAQ,gBAAgB,GACxBE,MAAM,iBAAkB,OACxB8X,KAAK,CACFjd,QAAS,EACT4D,EAAG,EACH2F,EAAG,EACHmN,MAAO,EACP8H,OAAQ,IAKpBs/X,EAAUjmU,SAAW,EACrBimU,EAAUrjR,UAAY,GACtBqjR,EAAUG,UAAY,EACtBH,EAAUhhJ,OAAS,EACnBghJ,EAAUh0O,SAAW,UAgBrBg0O,EAAU3mZ,UAAU6+B,OAAS,SAAgBh3B,EAAU01J,EAAYC,GAC/D,IAAIx5I,EAAanjB,KAAK+L,GAAGymB,YACrB21B,EAAYhlC,EAAWzE,MACvB0pC,EAAajlC,EAAWqD,OAG5BxmB,KAAKgH,SAAWA,EAEhB,IAWIk/Y,EAAMC,EACNC,EAAMC,EAZN1oZ,EAAIqC,KAAKgH,SAASrJ,EAClBsd,EAAIjb,KAAKgH,SAASiU,EAClBxc,EAAIuB,KAAKgH,SAASvI,EAClB+vD,EAAIxuD,KAAKgH,SAASwnD,EAClByoB,EAAYj3E,KAAKgH,SAASiwE,UAC1BqvU,EAAwB,SAAdrvU,EACVsvU,EAAwB,SAAdtvU,EACVuvU,EAAyB,UAAdvvU,EACXwvU,EAAsB,OAAdxvU,EACRyvU,EAAOzrY,EACP0rY,EAAOn4V,EAIP83V,GAAWC,GAAWC,GAAYC,IAClCzmZ,KAAKgH,SAASiwE,UAAY,OAC1BqvU,GAAS,GAGb,IAAIt9K,EAAas9K,GAAUG,EACxBz9K,GACCk9K,EAAOvoZ,EACPwoZ,EAAOD,EAAOQ,EAEXJ,GAECF,EAAO3nZ,EACP4nZ,EAAOljZ,KAAKoC,IAAI6gZ,EAAOO,EAAMv+V,GAC7Bu+V,EAAON,EAAOD,IAGdC,EAAO5nZ,EAAIkoZ,EACXP,EAAOjjZ,KAAKqC,IAAI6gZ,EAAOM,EAAM,GAC7BA,EAAON,EAAOD,KAGlBA,EAAO3nZ,EACP4nZ,EAAOD,EAAOO,EAEXJ,GAECJ,EAAOxoZ,EAAI+oZ,EACXR,EAAO/iZ,KAAKqC,IAAI2gZ,EAAOO,EAAM,GAC7BA,EAAOP,EAAOD,IAGdA,EAAOvoZ,EACPwoZ,EAAOhjZ,KAAKoC,IAAI2gZ,EAAOQ,EAAMv+V,GAC7Bu+V,EAAOP,EAAOD,IAItBlmZ,KAAK4mZ,KAAO,CACRjpZ,EAAGuoZ,EACHznZ,EAAG2nZ,EACHnrY,EAAGyrY,EACHl4V,EAAGm4V,GAIP,IAAIE,EAA4B5rY,EAAIyrY,EAChCI,EAAQhB,EAAUrjR,UAAY,EAAIqjR,EAAUhhJ,OAC5CiiJ,EAAQjB,EAAUjmU,SAAW,EAAIimU,EAAUhhJ,OAE3CkiJ,EAAQrpZ,EACRspZ,EAAQxoZ,EAAI+vD,EAEby4V,EAAQF,EAAQ3+V,IAAY6+V,EAAQ7+V,EAAa2+V,GAEpD,IAAIhB,EAAO/lZ,KAAK2uB,UAAU7hB,UAAU,6BAA6BnE,KACzD,EAA6B,CAAC,GAAK,IAE3Co9Y,EAAK7lW,OACA1yC,GAAG,QAAS,MACZS,SAEL83Y,EAAKh5Y,QAAQC,OAAO,QACfC,QAAQ,wBAAwB,GAChCpQ,KAAKqjB,EAAMjR,KAAM62Y,EAAUh0O,UAE7B+0O,GACC7mZ,KAAK+lZ,KAAOA,EAAK9gY,KAAK,CAClB,GAAM6gY,EAAUG,UAChB,GAAMH,EAAUG,UAChB,EAAKe,EACL,EAAKC,EACL,MAASH,EACT,OAAUC,IAId/mZ,KAAKknZ,UAAYF,EAAQF,EAAQ,EACjC9mZ,KAAKmnZ,kBAAoBT,EAAOI,WAEzB9mZ,KAAK+lZ,YACL/lZ,KAAKknZ,iBACLlnZ,KAAKmnZ,mBAIhB,IAAIC,EAA0B54V,EAAIm4V,EAC9BU,EAAQvB,EAAUjmU,SAAW,EAAIimU,EAAUhhJ,OAC3CwiJ,EAAQxB,EAAUrjR,UAAY,EAAIqjR,EAAUhhJ,OAE5CyiJ,EAAQ5pZ,EAAIsd,EACZusY,EAAQ/oZ,EAET8oZ,EAAQF,EAAQl/V,IAAWo/V,EAAQp/V,EAAYk/V,GAElD,IAAIrB,EAAOhmZ,KAAK2uB,UAAU7hB,UAAU,2BAA2BnE,KACvD,EAA2B,CAAC,GAAK,IAEzCq9Y,EAAK9lW,OACA1yC,GAAG,QAAS,MACZS,SAEL+3Y,EAAKj5Y,QAAQC,OAAO,QACfC,QAAQ,sBAAsB,GAC9BpQ,KAAKqjB,EAAMjR,KAAM62Y,EAAUh0O,UAE7Bs1O,GACCpnZ,KAAKgmZ,KAAOA,EAAK/gY,KAAK,CAClB,GAAM6gY,EAAUG,UAChB,GAAMH,EAAUG,UAChB,EAAKsB,EACL,EAAKC,EACL,MAASH,EACT,OAAUC,IAIdtnZ,KAAKynZ,UAAYD,EAAQF,EAAQ,EACjCtnZ,KAAK0nZ,kBAAoBf,EAAOW,WAEzBtnZ,KAAKgmZ,YACLhmZ,KAAKynZ,iBACLznZ,KAAK0nZ,mBAIhB,IAAI3vX,EAAS/3B,KAAKoJ,GACdu+Y,EAAQzB,EAAO,GACf0B,EAAQ,EAA2BzB,EAAOkB,EAAQ,GAAMlB,EAAO,GAC/D0B,EAAQzB,EAAO,GACf0B,EAAQ,EAA6BzB,EAAOU,EAAQ,GAAMV,EAAO,GAEjE36K,EAAWvoN,EAAWsoN,SAAS3+N,UAAU,IAAMirB,GAC9CpvB,KAAMk+Y,GAA4BO,EAA0B,CAAC,GAAK,IAqCvE,GAnCA17K,EAASxrL,OAAOjyC,SAEhBy9N,EAAS3+N,QACJC,OAAO,YAAYiY,KAAK,KAAM8S,GAC9B/qB,OAAO,QAET65Y,GAA4BO,GAC3BpnZ,KAAK+nZ,UAAYr8K,EAAS7+N,OAAO,QAAQoY,KAAK,CAC1CrZ,EAAGzI,KAAK2N,MAAM62Y,GACdp2Y,EAAGpO,KAAK2N,MAAM+2Y,GACdnpY,MAAOvb,KAAKy5B,KAAKgrX,GAASzkZ,KAAK2N,MAAM62Y,GACrCnhY,OAAQrjB,KAAKy5B,KAAKkrX,GAAS3kZ,KAAK2N,MAAM+2Y,KAG1C7nZ,KAAK2uB,UAAU9xB,KAAKg4B,EAAQqlH,WAAYniH,EAAQ/3B,KAAK+L,IAErD/L,KAAK6oL,GAAG5jK,KAAK,CACTrZ,EAAGjO,EACH4T,EAAG9S,EACHigB,MAAOzD,EACPuL,OAAQgoC,MAGZxuD,KAAK6oL,GAAG5jK,KAAK,CACTvG,MAAO,EACP8H,OAAQ,IAEZxmB,KAAK2uB,UACAnhB,GAAG,QAAS,MACZA,GAAG,QAAS,MACZ3Q,KAAKg4B,EAAQqlH,WAAY,aACvBl6I,KAAK+nZ,WAIblB,GAA4BO,EAAwB,CACnD,IAAIY,EAAY17Y,EAAGs3H,SAASZ,OACvBx1H,GAAG,aAAa,WACblB,EAAG0lB,MAAMgwG,YAAY2B,oBAExBn2H,GAAG,OAAQxN,KAAKioZ,WAAWlpZ,KAAKiB,OAErCA,KAAK2uB,UACAnhB,GAAG,QAAS,MACZA,GAAG,QAASxN,KAAKkoZ,YAAYnpZ,KAAKiB,OAClCwN,GAAG,QAAS,MACZ3Q,KAAKmrZ,GAEV,IAAIG,EAAY77Y,EAAGs3H,SAASZ,OACvBx1H,GAAG,aAAa,WACblB,EAAG0lB,MAAMgwG,YAAY2B,iBACrBr3H,EAAG0lB,MAAMgwG,YAAYC,qBAExBz0H,GAAG,OAAQxN,KAAKooZ,WAAWrpZ,KAAKiB,OAElC6mZ,GACC7mZ,KAAK+lZ,KACAv4Y,GAAG,QAAS,MACZ3Q,KAAKsrZ,GAGXf,GACCpnZ,KAAKgmZ,KACAx4Y,GAAG,QAAS,MACZ3Q,KAAKsrZ,GAKlBnoZ,KAAKg4B,aAAa0kI,EAAYC,IAQlCmpP,EAAU3mZ,UAAU8+B,QAAU,YACvBj+B,KAAK+lZ,MAAQ/lZ,KAAKgmZ,QACjBhmZ,KAAK6oL,GAAG5jK,KAAK,CACTvG,MAAO,EACP8H,OAAQ,IAEZxmB,KAAK2uB,UACAnhB,GAAG,QAAS,MACZA,GAAG,QAAS,MACZ3Q,KAAKg4B,EAAQqlH,WAAY,aACvBl6I,KAAK+nZ,WAGb/nZ,KAAK+lZ,OACJ/lZ,KAAK+lZ,KAAKv4Y,GAAG,QAAS,MACtBxN,KAAK+lZ,KAAK93Y,gBACHjO,KAAK+lZ,YACL/lZ,KAAKknZ,iBACLlnZ,KAAKmnZ,mBAGbnnZ,KAAKgmZ,OACJhmZ,KAAKgmZ,KAAKx4Y,GAAG,QAAS,MACtBxN,KAAKgmZ,KAAK/3Y,gBACHjO,KAAKgmZ,YACLhmZ,KAAKynZ,iBACLznZ,KAAK0nZ,oBASpB5B,EAAU3mZ,UAAU8oZ,WAAa,WAC7B,IAAIvrP,EAAa18J,KAAK08J,WAClBC,EAAa38J,KAAK28J,WAEnB38J,KAAK+lZ,OACJrpP,GAAcpwJ,EAAG0lB,MAAMkE,IAGxBl2B,KAAKgmZ,OACJrpP,GAAcrwJ,EAAG0lB,MAAM9K,IAG3BlnB,KAAKg4B,aAAa0kI,EAAYC,IAQlCmpP,EAAU3mZ,UAAU+oZ,YAAc,WAC9B,IAAIxrP,EAAa18J,KAAK08J,WAClBC,EAAa38J,KAAK28J,WAEnB38J,KAAK+lZ,OACJrpP,GAAcpwJ,EAAG0lB,MAAM+qI,QAGxB/8J,KAAKgmZ,OACJrpP,GAAcrwJ,EAAG0lB,MAAM+qI,QAG3B/8J,KAAKg4B,aAAa0kI,EAAYC,IAQlCmpP,EAAU3mZ,UAAUipZ,WAAa,WAC7B,IAAI1rP,EAAa18J,KAAK08J,WAClBC,EAAa38J,KAAK28J,WAEtB,GAAG38J,KAAK+lZ,KAAM,CACV,IAAIj4G,EAAOpxI,EAAa18J,KAAKknZ,UACzBn5G,EAAOD,EAAO9tS,KAAKmnZ,kBACnBv7Y,EAAImI,EAAI0B,UAAUnJ,EAAG0lB,MAAMpmB,EAAGkiS,EAAMC,GACpCh9L,GAAMnlG,EAAIkiS,IAASC,EAAOD,GAE1Bu6G,EAAgBroZ,KAAKgH,SAASiU,EAAIjb,KAAK4mZ,KAAK3rY,EAEhDyhJ,EAAa3rD,EAAKs3S,EAGtB,GAAGroZ,KAAKgmZ,KAAM,CACV,IAAIh4G,EAAOrxI,EAAa38J,KAAKynZ,UACzBx5G,EAAOD,EAAOhuS,KAAK0nZ,kBACnBn2Y,EAAIwC,EAAI0B,UAAUnJ,EAAG0lB,MAAMzgB,EAAGy8R,EAAMC,GACpCj9L,GAAMz/F,EAAIy8R,IAASC,EAAOD,GAE1Bs6G,EAAgBtoZ,KAAKgH,SAASwnD,EAAIxuD,KAAK4mZ,KAAKp4V,EAEhDmuG,EAAa3rD,EAAKs3S,EAGtBtoZ,KAAKg4B,aAAa0kI,EAAYC,IAUlCmpP,EAAU3mZ,UAAU64B,aAAe,SAAsB0kI,EAAYC,GAEjE,IAAI0rP,EAAgBroZ,KAAKgH,SAASiU,EAAIjb,KAAK4mZ,KAAK3rY,EAC5CqtY,EAAgBtoZ,KAAKgH,SAASwnD,EAAIxuD,KAAK4mZ,KAAKp4V,EAmBhD,GAjBAkuG,EAAa3oJ,EAAI0B,UAAUinJ,GAAc,EAAG,EAAG2rP,GAC/C1rP,EAAa5oJ,EAAI0B,UAAUknJ,GAAc,EAAG,EAAG2rP,GAE/CtoZ,KAAK08J,WAAaA,EAClB18J,KAAK28J,WAAaA,EAElB38J,KAAK2uB,UAAU9xB,KAAKg4B,EAAQmD,aACxBh4B,KAAK4mZ,KAAKjpZ,EAAIqC,KAAKgH,SAASrJ,EAAI++J,EAChC18J,KAAK4mZ,KAAKnoZ,EAAIuB,KAAKgH,SAASvI,EAAIk+J,GAEjC38J,KAAK+nZ,WACJ/nZ,KAAK+nZ,UAAU9iY,KAAK,CAChBrZ,EAAGzI,KAAK2N,MAAM9Q,KAAKgH,SAASrJ,EAAI++J,EAAa,IAC7CnrJ,EAAGpO,KAAK2N,MAAM9Q,KAAKgH,SAASvI,EAAIk+J,EAAa,MAIlD38J,KAAK+lZ,KAAM,CACV,IAAIh1S,EAAK2rD,EAAa2rP,EAEtBroZ,KAAK+lZ,KAAKlpZ,KAAKg4B,EAAQmD,aACnB0kI,EAAa3rD,EAAK/wG,KAAKmnZ,kBACvBxqP,GAGR,GAAG38J,KAAKgmZ,KAAM,CACV,IAAIh1S,EAAK2rD,EAAa2rP,EAEtBtoZ,KAAKgmZ,KAAKnpZ,KAAKg4B,EAAQmD,aACnB0kI,EACAC,EAAa3rD,EAAKhxG,KAAK0nZ,sBAO7B,OACA,SAAUrrZ,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUisZ,EAEjB,IAAIC,EAAehrZ,EAAoB,QAEvC,SAAS+qZ,EAAahnZ,GACpB,IAAI23I,EAAOsvQ,EAAajnZ,GACpBitD,EAAI0qF,EAAKv8I,OACb,GAAG6xD,GAAK,EACN,MAAO,GAIT,IAFA,IAAI8+F,EAAQ,IAAIjsJ,MAAMmtD,GAClB1xD,EAAIo8I,EAAK1qF,EAAE,GACP9wD,EAAE,EAAGA,EAAE8wD,IAAK9wD,EAAG,CACrB,IAAIX,EAAIm8I,EAAKx7I,GACb4vJ,EAAM5vJ,GAAK,CAACZ,EAAEC,GACdD,EAAIC,EAEN,OAAOuwJ,IAMH,KACA,SAAUjxJ,EAAQC,EAASkB,GAEjC,aAGA,IAAIklL,EAAWllL,EAAoB,QAEnCnB,EAAOC,QAAU,SAAUkC,GAC1B,IAAKkkL,EAASlkL,GAAQ,OAAO,EAC7B,IACC,QAAKA,EAAMu8B,aACJv8B,EAAMu8B,YAAY57B,YAAcX,EACtC,MAAO4c,GACR,OAAO,KAOH,KACA,SAAU/e,EAAQC,EAASkB,GAEjC,aAWA,IAAIs4B,EAAet4B,EAAoB,QACnCukQ,EAAkBvkQ,EAAoB,QACtC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjD4mE,EAAoBxpF,EAAoB,QAAQwpF,kBAChD3mE,EAAY7iB,EAAoB,QAChCirZ,EAASjrZ,EAAoB,QAE7B46Y,EAAiB56Y,EAAoB,QACrC8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAE1CktN,EAAmB33M,EAAaP,KAChCkyG,EAAqB3xG,EAAaR,OAClCoyG,EAAyBD,EAAmBlyG,KAE5CwxD,EAAYzmE,EAAW,CACvB5B,MAAO+uN,EAAiB/uN,MACxB+W,KAAM,CACF/U,QAAS,aACT2V,OAAQp4B,OAAO8mD,KAAK0jW,GACpB9nY,KAAM,UAIXohP,EAAgB,SAEnB,SAAS2mJ,EAAmBjoY,GACxB,MAAO,CACHI,KAAM,CACFH,QAAS,UAETC,MAAM,GAGV3Y,QAAS,CACL0Y,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,GAGV8hD,MAAO,CACH/hD,QAAS,SAETnb,IAAK,EACLC,IAAK,GACLmb,KAAM,EAAI,IAMtB,IAAIa,EAAQnlB,EAAOC,QAAUikB,EAAY,CACrC3U,EAAGkqB,EAAalqB,EAChB2F,EAAGukB,EAAavkB,EAChBlF,EAAG,CACCqU,QAAS,cAIbjU,KAAM6T,EAAW,GAAIwV,EAAarpB,KAAM,IAGxC86E,aAAcP,EAAkB,GAAI,IAGpCtlE,UAAWpB,EAAW,GAAIwV,EAAapU,UAAW,IAGlDC,cAAevB,IAEf1hB,KAAM4hB,EAAW,GAAIwV,EAAap3B,KAC9B,CAACiiB,KAAM,kBACXu6X,YAAa,CACTx6X,QAAS,aAET2V,OAAQ,EAAE,EAAG,EAAG,EAAG,GACnB1V,MAAO,GAGX1U,aAAc,CACVyU,QAAS,SAIb/W,WAAY,CACRiC,EAAG88Y,EAAmB,KACtBn3Y,EAAGm3Y,EAAmB,KACtBr8Y,EAAGq8Y,EAAmB,MAG1B9mY,YAAakU,EAAalU,YAC1B2T,KAAMwxD,EAENzxD,OAAQhV,EAAW,CACfgqE,OAAQ,CACJ5pE,QAAS,aACT2V,OAAQp4B,OAAO8mD,KAAKqzV,GAEpBz3X,KAAM,SACNc,SAAS,GAGbR,KAAMX,EAAW,GAAImnH,EAAmBxmH,KAAM,CAACN,KAAM,IACrDuqE,QAASu8C,EAAmBv8C,QAC5BC,QAASs8C,EAAmBt8C,QAC5BC,SAAUq8C,EAAmBr8C,SAC7BpjF,QAASsY,EAAW,GAAImnH,EAAmBz/H,QAAS,CAChDyZ,SAAS,IAGbq8C,SAAU2pE,EAAmB3pE,SAE7BvoC,KAAMjV,EAAW,CACb5B,MAAO4B,EAAW,GAAIonH,EAAuBhpH,MAAO,CAAC+C,SAAS,KAE9DsgP,EAAgB,iBAGpBA,EAAgB,WAGpBv6K,aAAclnE,EAAW,GAAIwV,EAAa0xD,aAAc,CAAC7mE,KAAM,eAC/DgnE,SAAU,CACNl/E,MAAOqtB,EAAa6xD,SAASl/E,MAC7BwY,KAAM6U,EAAa6xD,SAAS1mE,KAC5B/C,OAAQoC,EAAW,GAAIwV,EAAa6xD,SAASzpE,OAAQ,CAACuD,SAAS,KAGnEqB,UAAWxC,EAAW,GAAID,EAAUyC,YACrC,OAAQ,UAEXtB,EAAM5V,EAAEmV,SAAWS,EAAMjQ,EAAEwP,SAAWS,EAAMnV,EAAE0U,SAAW,uBAKnD,KACA,SAAU1kB,EAAQC,GAWxB,SAASmqE,EAAKppD,EAAKvgB,GAIf,OAHAugB,EAAI,GAAKvgB,EAAE,GACXugB,EAAI,GAAKvgB,EAAE,GACXugB,EAAI,GAAKvgB,EAAE,GACJugB,EAbXhhB,EAAOC,QAAUmqE,GAkBX,KACA,SAAUpqE,EAAQC,EAASkB,GAEjC,aAYA,IAAI8gE,EAAgB9gE,EAAoB,QACpCuN,EAAU1J,MAAM0J,QAEpB,SAAS49Y,EAAqB5hV,EAAQ15C,GAClC,IAAI3vB,EAAGc,EACP,IAAId,EAAI,EAAGA,EAAIqpE,EAAOpqE,OAAQe,IAAK,CAE/B,GADAc,EAAQuoE,EAAOrpE,GACF,OAAVc,GAAoC,kBAAZ,EACvB,OAAO,OAEE,IAAVA,IACC6uB,EAAO3vB,GAAKc,GAGpB,OAAO,EAoCX,SAAS+kL,EAAQqlO,EAAQC,EAAQC,EAAaC,GAC1C,IAGI12X,EAAOvzB,EAAKie,EAAK0pD,EAAMuiV,EAAa7kY,EAAO8kY,EAH3C57X,EAASu7X,EAAO,GAChBjsZ,EAASisZ,EAAOjsZ,OAMpB,GAAc,IAAXA,GAAgBoO,EAAQsiB,IAAWtiB,EAAQ69Y,EAAO,KAAyB,IAAlBv7X,EAAO1wB,OAAc,CAG7E,GAFAssZ,EAAgBN,EAAqBC,EAAO,GAAIv7X,GAE7C47X,EACC,OAAO57X,EAEPA,EAAOrf,OAAO,EAAGqf,EAAO1wB,QAIhC,IAAI,IAAIe,EAAI,EAAGA,EAAIf,EAAQe,IAGvB,IAAIoB,KAFJuzB,EAAQu2X,EAAOlrZ,GAEJ20B,EACPtV,EAAMsQ,EAAOvuB,GACb2nE,EAAOp0C,EAAMvzB,GAEViqZ,GAAiBh+Y,EAAQ07D,GAGxBp5C,EAAOvuB,GAAO2nE,EACRoiV,GAAUpiV,IAASnI,EAAcmI,KAAUuiV,EAAcj+Y,EAAQ07D,MAGpEuiV,GACCA,GAAc,EACd7kY,EAAQpH,GAAOhS,EAAQgS,GAAOA,EAAM,IAEpCoH,EAAQpH,GAAOuhD,EAAcvhD,GAAOA,EAAM,GAI9CsQ,EAAOvuB,GAAOykL,EAAQ,CAACp/J,EAAOsiD,GAAOoiV,EAAQC,EAAaC,KACpC,qBAATtiV,GAAwBqiV,KAGrCz7X,EAAOvuB,GAAO2nE,GAK1B,OAAOp5C,EAlFX/wB,EAAQgkB,WAAa,WACjB,OAAOijK,EAAQrmL,WAAW,GAAO,GAAO,IAG5CZ,EAAQ65H,WAAa,WACjB,OAAOotD,EAAQrmL,WAAW,GAAM,GAAO,IAG3CZ,EAAQ4rB,cAAgB,WACpB,OAAOq7J,EAAQrmL,WAAW,GAAM,GAAM,IAG1CZ,EAAQ4sZ,mBAAqB,WACzB,OAAO3lO,EAAQrmL,WAAW,GAAM,GAAO,KA2ErC,OACA,SAAUb,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,OACA,SAAUnB,EAAQC,GAExB,IAAI8M,EAAK,EACL+/Y,EAAUhmZ,KAAKF,SAEnB5G,EAAOC,QAAU,SAAUwC,GACzB,MAAO,UAAYvC,YAAeK,IAARkC,EAAoB,GAAKA,GAAO,QAAUsK,EAAK+/Y,GAASrvY,SAAS,MAMvF,KACA,SAAUzd,EAAQC,EAASkB,GAEjC,aAWA,IAAI0iB,EAAQ1iB,EAAoB,QAC5BklE,EAAgBllE,EAAoB,QAAQklE,cAC5CvI,EAAqB38D,EAAoB,QAE7CnB,EAAOC,QAAU,SAA6Bi6D,EAASC,EAAUtmB,EAAQkqB,EAAcvV,GACnF3U,EAAO,eAAgBkqB,GAEpBsI,EAAcnM,EAAS,WACtB4D,EACI5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,UAAW5uD,QAAS,MAIxE8jC,EAAO,oBAAqBhwB,EAAMiB,aAE/BuhD,EAAcnM,EAAS,gBACtB4D,EACI5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,eAAgB5uD,QAAS,MAI7E8jC,EAAO,qBACPA,EAAO,kBACPA,EAAO,yBACPA,EAAO,6BAML,KACA,SAAU7zC,EAAQC,EAASkB,GAEjC,IAAIo3D,EAAcp3D,EAAoB,QAClCo9L,EAAuBp9L,EAAoB,QAC3Cs3D,EAA2Bt3D,EAAoB,QAEnDnB,EAAOC,QAAUs4D,EAAc,SAAU31D,EAAQH,EAAKN,GACpD,OAAOo8L,EAAqBp1J,EAAEvmC,EAAQH,EAAKg2D,EAAyB,EAAGt2D,KACrE,SAAUS,EAAQH,EAAKN,GAEzB,OADAS,EAAOH,GAAON,EACPS,IAMH,OACA,SAAU5C,EAAQC,EAASkB,GAEjC,IAAI4rZ,EAAU5rZ,EAAoB,QAGlC,SAAS67D,EAAgBu6N,EAAQ9yQ,EAAOuoY,GACtCvoY,EAAyB,kBAAVA,EAAqBA,EAAQ,EAC5CuoY,EAAQA,GAAS,KAEjB,IAAI17Y,EAAQimR,EAAOhmR,MAAM,SACrB07Y,EAAc/sZ,OAAOoR,EAAMhR,OAASmkB,EAAQ,GAAGnkB,OACnD,OAAOgR,EAAM+qC,KAAI,SAAUnjB,EAAM73B,GAC/B,IAAIV,EAAIU,EAAIojB,EACR7I,EAAS1b,OAAOS,GAAGL,OACnBq+D,EAASouV,EAAQpsZ,EAAGssZ,EAAcrxY,GACtC,OAAO+iD,EAASquV,EAAQ9zX,KACvB50B,KAAK,MAZVtE,EAAOC,QAAU+8D,GAkBX,OACA,SAAUh9D,EAAQC,GAWxB,SAASuU,EAAUwM,EAAKvgB,GACpB,IAAI8O,EAAI9O,EAAE,GACNyU,EAAIzU,EAAE,GACNuP,EAAIvP,EAAE,GACN8tB,EAAMhf,EAAEA,EAAI2F,EAAEA,EAAIlF,EAAEA,EAQxB,OAPIue,EAAM,IAENA,EAAM,EAAIznB,KAAKuD,KAAKkkB,GACpBvN,EAAI,GAAKvgB,EAAE,GAAK8tB,EAChBvN,EAAI,GAAKvgB,EAAE,GAAK8tB,EAChBvN,EAAI,GAAKvgB,EAAE,GAAK8tB,GAEbvN,EArBXhhB,EAAOC,QAAUuU,GA0BX,KACA,SAAUxU,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1B+rZ,EAAa/rZ,EAAoB,QACjC8K,EAAa9K,EAAoB,QA0BrC,SAASgsZ,EAAgBjzV,EAASC,EAAUtmB,EAAQ+mC,GAChD/mC,EAAO+mC,EAAY,eACnB/mC,EAAO+mC,EAAY,cAAezgB,EAASjhC,KAAK7W,OAChDwxB,EAAO+mC,EAAY,aAAczgB,EAASjhC,KAAKE,MA3BnDp5B,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAIiK,EAAM2+X,EAAWhzV,EAASC,EAAUtmB,EAAQ2U,GAC5Cj6B,GAKJslB,EAAO,cACPA,EAAO,aAEPs5W,EAAgBjzV,EAASC,EAAUtmB,EAAQ,cAC3Cs5W,EAAgBjzV,EAASC,EAAUtmB,EAAQ,cAE3CA,EAAO,QACPA,EAAO,aACPA,EAAO,aAEP2U,EAAO+6P,oBAAoBppP,EAASvyC,QAAS,GAdzCuyC,EAASjnD,SAAU,IA0BrB,KACA,SAAUlT,EAAQC,GAExBA,EAAQuhN,KAAO,SAAUt2M,EAAQ8R,EAAQowY,EAAMC,EAAMC,GACnD,IAAI5uY,EAAGnd,EACHmtB,EAAiB,EAAT4+X,EAAcD,EAAO,EAC7BE,GAAQ,GAAK7+X,GAAQ,EACrB8+X,EAAQD,GAAQ,EAChBE,GAAS,EACTpsZ,EAAI+rZ,EAAQE,EAAS,EAAK,EAC1B9rZ,EAAI4rZ,GAAQ,EAAI,EAChBnqZ,EAAIiI,EAAO8R,EAAS3b,GAOxB,IALAA,GAAKG,EAELkd,EAAIzb,GAAM,IAAOwqZ,GAAU,EAC3BxqZ,KAAQwqZ,EACRA,GAAS/+X,EACF++X,EAAQ,EAAG/uY,EAAS,IAAJA,EAAWxT,EAAO8R,EAAS3b,GAAIA,GAAKG,EAAGisZ,GAAS,GAKvE,IAHAlsZ,EAAImd,GAAM,IAAO+uY,GAAU,EAC3B/uY,KAAQ+uY,EACRA,GAASJ,EACFI,EAAQ,EAAGlsZ,EAAS,IAAJA,EAAW2J,EAAO8R,EAAS3b,GAAIA,GAAKG,EAAGisZ,GAAS,GAEvE,GAAU,IAAN/uY,EACFA,EAAI,EAAI8uY,MACH,IAAI9uY,IAAM6uY,EACf,OAAOhsZ,EAAI0/D,IAAsB31D,KAAdrI,GAAK,EAAI,GAE5B1B,GAAQuF,KAAKw5B,IAAI,EAAG+sX,GACpB3uY,GAAQ8uY,EAEV,OAAQvqZ,GAAK,EAAI,GAAK1B,EAAIuF,KAAKw5B,IAAI,EAAG5hB,EAAI2uY,IAG5CptZ,EAAQ62W,MAAQ,SAAU5rW,EAAQ/I,EAAO6a,EAAQowY,EAAMC,EAAMC,GAC3D,IAAI5uY,EAAGnd,EAAGZ,EACN+tB,EAAiB,EAAT4+X,EAAcD,EAAO,EAC7BE,GAAQ,GAAK7+X,GAAQ,EACrB8+X,EAAQD,GAAQ,EAChBh/N,EAAe,KAAT8+N,EAAcvmZ,KAAKw5B,IAAI,GAAI,IAAMx5B,KAAKw5B,IAAI,GAAI,IAAM,EAC1Dj/B,EAAI+rZ,EAAO,EAAKE,EAAS,EACzB9rZ,EAAI4rZ,EAAO,GAAK,EAChBnqZ,EAAId,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ2E,KAAK+R,IAAI1W,GAEbqM,MAAMrM,IAAUA,IAAUmJ,KAC5B/J,EAAIiN,MAAMrM,GAAS,EAAI,EACvBuc,EAAI6uY,IAEJ7uY,EAAI5X,KAAK2N,MAAM3N,KAAK8lB,IAAIzqB,GAAS2E,KAAKovT,KAClC/zT,GAASxB,EAAImG,KAAKw5B,IAAI,GAAI5hB,IAAM,IAClCA,IACA/d,GAAK,GAGLwB,GADEuc,EAAI8uY,GAAS,EACNj/N,EAAK5tL,EAEL4tL,EAAKznL,KAAKw5B,IAAI,EAAG,EAAIktX,GAE5BrrZ,EAAQxB,GAAK,IACf+d,IACA/d,GAAK,GAGH+d,EAAI8uY,GAASD,GACfhsZ,EAAI,EACJmd,EAAI6uY,GACK7uY,EAAI8uY,GAAS,GACtBjsZ,GAAMY,EAAQxB,EAAK,GAAKmG,KAAKw5B,IAAI,EAAG+sX,GACpC3uY,GAAQ8uY,IAERjsZ,EAAIY,EAAQ2E,KAAKw5B,IAAI,EAAGktX,EAAQ,GAAK1mZ,KAAKw5B,IAAI,EAAG+sX,GACjD3uY,EAAI,IAID2uY,GAAQ,EAAGniZ,EAAO8R,EAAS3b,GAAS,IAAJE,EAAUF,GAAKG,EAAGD,GAAK,IAAK8rZ,GAAQ,GAI3E,IAFA3uY,EAAKA,GAAK2uY,EAAQ9rZ,EAClBmtB,GAAQ2+X,EACD3+X,EAAO,EAAGxjB,EAAO8R,EAAS3b,GAAS,IAAJqd,EAAUrd,GAAKG,EAAGkd,GAAK,IAAKgQ,GAAQ,GAE1ExjB,EAAO8R,EAAS3b,EAAIG,IAAU,IAAJyB,IAMtB,OACA,SAAUjD,EAAQC,EAASkB,GAEjC,aAWA,IAAI6iB,EAAY7iB,EAAoB,QAChC64H,EAAc74H,EAAoB,QAAQ8K,WAC1CmiF,EAAYjtF,EAAoB,QAChC44H,EAAa54H,EAAoB,QACjC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjD4mE,EAAoBxpF,EAAoB,QAAQwpF,kBAEhD1mE,EAAa9iB,EAAoB,QAAQ8iB,WAEzCi2G,EAAgB9rC,EAAU,CAC1B1pE,SAAU,OACVU,SAAS,EACT6pE,cAAe,SAInBjvF,EAAOC,QAAU,CACb8mB,OAAQ,CACJ1C,QAAS,aACTK,SAAU,QAId+oX,OAAQ,CACJppX,QAAS,SAETC,KAAM,EACNI,SAAU,QAGd8oX,OAAQ,CACJnpX,QAAS,SAETC,KAAM,EACNI,SAAU,QAIdsV,OAAQ,CACJ3V,QAAS,aACTK,SAAU,QAIduU,OAAQ,CACJ/qB,OAAQ,CACJmW,QAAS,aACTK,SAAU,QAIdwU,KAAM,CACF9sB,MAAO,CACHiY,QAAS,QAETC,KAAMy1G,EAAWj1G,YACjBM,SAAS,EACTV,SAAU,SAGdrC,MAAO,CACHgC,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNc,SAAS,EACTV,SAAU,SAGdA,SAAU,QAEdA,SAAU,QAGdtU,KAAM,CACFiU,QAAS,aACTK,SAAU,QAGdW,UAAW,CACPhB,QAAS,SAETC,KAAM,GACNc,SAAS,EACTV,SAAU,SAQd0uV,WAAY,CACR/uV,QAAS,SAETC,KAAM,GACNI,SAAU,QAKdsmE,SAAU,CACN3mE,QAAS,WAET8S,MAAO,CAAC,QAAS,OAAQ,QAAS,WAClC8zD,OAAQ,CAAC,QACTvmE,SAAU,QAGd+B,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C0Q,MAAO,CAAC,QAAS,OAAQ,QAAS,UAAW,UAEjD7R,cAAevB,EAAmB,GAAI,CAClC2kC,KAAM,CAAC,QAAS,QAAS,QAAS,UAAW,UAEjDwiC,aAAcP,EAAkB,CAACjmE,SAAU,QAAS,CAChDgkC,KAAM,CAAC,QAAS,QAAS,QAAS,UAAW,UAEjDyiC,aAAc,CACV9mE,QAAS,aAET2V,OAAQ,CAAC,SAAU,UAAW,OAAQ,QACtC1V,KAAM,OACNc,SAAS,EACTV,SAAU,QAGd4mE,SAAUrnE,EAAW,GAAIi2G,EAAe,IAGxCwzR,sBAAuB,CACnBrpY,QAAS,aAET2V,OAAQ,CAAC,aAAc,SAAU,aAAc,QAC/C1V,KAAM,OACNI,SAAU,QAGd6mE,eAAgBtnE,EAAW,GAAIi2G,EAAe,IAG9C1uC,gBAAiBvnE,EAAW,GAAIi2G,EAAe,IAG/ChqE,WAAY,CACR7rC,QAAS,UACTC,MAAM,EAENI,SAAU,QAId0/B,MAAO,CACHh0C,KAAM,CACFiU,QAAS,SACTC,KAAM,GAENI,SAAU,QAGdvC,KAAM8B,EAAW,GAAIi2G,EAAe,IAGpCvvH,SAAU,CACN0Z,QAAS,aACT2V,OAAQ,CACJ,WAAY,aAAc,YAC1B,gBACA,cAAe,gBAAiB,gBAGpCtV,SAAU,QAIdA,SAAU,QAIdosC,OAAQkpE,EAAY,CAACv4H,KAAM,MAAOkO,OAAO,EAAM+U,SAAU,SAEzDqkJ,KAAM,CACF1kJ,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EACNI,SAAU,QAKd3c,KAAM,CACFsc,QAAS,UAETC,MAAM,EACNI,SAAU,QAGdk2D,UAAW,CAQPv2D,QAAS,aACT2V,OAAQ,CAAC,YAAa,oBAEtB1V,KAAM,mBACNI,SAAU,QAGdoyN,SAAU,CACNzyN,QAAS,SAETnb,KAAM,IACNC,IAAK,IACLmb,KAAM,EACNI,SAAU,QAIdipY,KAAM,CACFtpY,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EACNc,SAAS,EACTV,SAAU,QAId2B,YAAa,CACT+9B,MAAO,CACH//B,QAAS,SACTC,KAAM,GAENI,SAAU,QAGd+xN,UAAWxyN,EAAW,GAAIi2G,EAAe,IAGzC0zR,cAAe,CACXvpY,QAAS,aACT2V,OAAQ,CACJ,WAAY,aAAc,YAC1B,gBACA,cAAe,gBAAiB,gBAGpCtV,SAAU,WAShB,OACA,SAAU1kB,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUkB,EAAoB,SAK/B,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU4tZ,EAEjB,IAAI7tX,EAAQ7+B,EAAoB,QAEhC,SAAS0sZ,EAAapyS,EAAS/xC,GACxBA,IACHA,EAAW+xC,EACXA,EAAUlnF,QAGZ,IAAIu5X,EAAc,EACdv+Y,EAAI,EACJ2F,EAAI,EACJ64Y,EAAO,CACT38V,OAAO,EACP48V,KAAK,EACLC,SAAS,EACTv6Y,MAAM,GAEJw6Y,GAAW,EAEf,SAASC,EAAYnqT,GACnB,IAAIw0I,GAAU,EAiBd,MAhBI,WAAYx0I,IACdw0I,EAAUA,GAAWx0I,EAAGgY,SAAW+xS,EAAKC,IACxCD,EAAKC,MAAQhqT,EAAGgY,QAEd,aAAchY,IAChBw0I,EAAUA,GAAWx0I,EAAG4b,WAAamuS,EAAK38V,MAC1C28V,EAAK38V,QAAU4yC,EAAG4b,UAEhB,YAAa5b,IACfw0I,EAAUA,GAAWx0I,EAAGitI,UAAY88K,EAAKE,QACzCF,EAAKE,UAAYjqT,EAAGitI,SAElB,YAAajtI,IACfw0I,EAAUA,GAAWx0I,EAAG+pJ,UAAYggK,EAAKr6Y,KACzCq6Y,EAAKr6Y,OAASswF,EAAG+pJ,SAEZvV,EAGT,SAAS41K,EAAaC,EAAarqT,GACjC,IAAIskH,EAAQtoL,EAAMzwB,EAAEy0F,GAChBsqT,EAAQtuX,EAAM9qB,EAAE8uF,GAChB,YAAaA,IACfqqT,EAA2B,EAAbrqT,EAAG39D,UAEfgoX,IAAgBP,GAClBxlM,IAAU/4M,GACV++Y,IAAUp5Y,GACVi5Y,EAAWnqT,MACX8pT,EAA4B,EAAdO,EACd9+Y,EAAI+4M,GAAS,EACbpzM,EAAIo5Y,GAAS,EACb5kV,GAAYA,EAASokV,EAAav+Y,EAAG2F,EAAG64Y,IAI5C,SAASQ,EAAYvqT,GACnBoqT,EAAY,EAAGpqT,GAGjB,SAASwqT,KACHV,GACFv+Y,GACA2F,GACA64Y,EAAK38V,OACL28V,EAAKC,KACLD,EAAKr6Y,MACLq6Y,EAAKE,WACL1+Y,EAAI2F,EAAI,EACR44Y,EAAc,EACdC,EAAK38V,MAAQ28V,EAAKC,IAAMD,EAAKE,QAAUF,EAAKr6Y,MAAO,EACnDg2D,GAAYA,EAAS,EAAG,EAAG,EAAGqkV,IAIlC,SAASU,EAAYzqT,GACfmqT,EAAWnqT,IACbt6B,GAAYA,EAASokV,EAAav+Y,EAAG2F,EAAG64Y,GAI5C,SAASW,EAAiB1qT,GACE,IAAtBhkE,EAAMqG,QAAQ29D,GAChBoqT,EAAY,EAAGpqT,GAEfoqT,EAAYN,EAAa9pT,GAI7B,SAAS2qT,EAAiB3qT,GACxBoqT,EAAYN,EAAc9tX,EAAMqG,QAAQ29D,GAAKA,GAG/C,SAAS4qT,EAAe5qT,GACtBoqT,EAAYN,GAAe9tX,EAAMqG,QAAQ29D,GAAKA,GAGhD,SAAS6qT,IACHX,IAGJA,GAAW,EAEXzyS,EAAQ11E,iBAAiB,YAAa2oX,GAEtCjzS,EAAQ11E,iBAAiB,YAAa4oX,GAEtClzS,EAAQ11E,iBAAiB,UAAW6oX,GAEpCnzS,EAAQ11E,iBAAiB,aAAcwoX,GACvC9yS,EAAQ11E,iBAAiB,aAAcwoX,GACvC9yS,EAAQ11E,iBAAiB,WAAYwoX,GACrC9yS,EAAQ11E,iBAAiB,YAAawoX,GAEtC9yS,EAAQ11E,iBAAiB,OAAQyoX,GAEjC/yS,EAAQ11E,iBAAiB,QAAS0oX,GAClChzS,EAAQ11E,iBAAiB,UAAW0oX,GACpChzS,EAAQ11E,iBAAiB,WAAY0oX,GAEjChzS,IAAYlnF,SACdA,OAAOwR,iBAAiB,OAAQyoX,GAEhCj6X,OAAOwR,iBAAiB,QAAS0oX,GACjCl6X,OAAOwR,iBAAiB,UAAW0oX,GACnCl6X,OAAOwR,iBAAiB,WAAY0oX,KAIxC,SAASK,IACFZ,IAGLA,GAAW,EAEXzyS,EAAQx1E,oBAAoB,YAAayoX,GAEzCjzS,EAAQx1E,oBAAoB,YAAa0oX,GAEzClzS,EAAQx1E,oBAAoB,UAAW2oX,GAEvCnzS,EAAQx1E,oBAAoB,aAAcsoX,GAC1C9yS,EAAQx1E,oBAAoB,aAAcsoX,GAC1C9yS,EAAQx1E,oBAAoB,WAAYsoX,GACxC9yS,EAAQx1E,oBAAoB,YAAasoX,GAEzC9yS,EAAQx1E,oBAAoB,OAAQuoX,GAEpC/yS,EAAQx1E,oBAAoB,QAASwoX,GACrChzS,EAAQx1E,oBAAoB,UAAWwoX,GACvChzS,EAAQx1E,oBAAoB,WAAYwoX,GAEpChzS,IAAYlnF,SACdA,OAAO0R,oBAAoB,OAAQuoX,GAEnCj6X,OAAO0R,oBAAoB,QAASwoX,GACpCl6X,OAAO0R,oBAAoB,UAAWwoX,GACtCl6X,OAAO0R,oBAAoB,WAAYwoX,KAK3CI,IAEA,IAAIrkZ,EAAS,CACXixG,QAASA,GAiCX,OA9BA75G,OAAOk1D,iBAAiBtsD,EAAQ,CAC9B66B,QAAS,CACPtjC,IAAK,WAAc,OAAOmsZ,GAC1Bl/Y,IAAK,SAAUm6B,GACTA,EACF0lX,IAEAC,KAGJhtZ,YAAY,GAEdukC,QAAS,CACPtkC,IAAK,WAAc,OAAO+rZ,GAC1BhsZ,YAAY,GAEdyN,EAAG,CACDxN,IAAK,WAAc,OAAOwN,GAC1BzN,YAAY,GAEdoT,EAAG,CACDnT,IAAK,WAAc,OAAOmT,GAC1BpT,YAAY,GAEdisZ,KAAM,CACJhsZ,IAAK,WAAc,OAAOgsZ,GAC1BjsZ,YAAY,KAIT0I,IAMH,OACA,SAAUxK,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QAEzBm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAC1BswC,EAAQtwC,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAE9BwqG,EAAoBxqG,EAAoB,QAAQwqG,kBAChD94D,EAAU1xC,EAAoB,QAC9B2wC,EAAY3wC,EAAoB,QAChC6mB,EAAkB7mB,EAAoB,QAEtCwkH,EAAejuG,EAAIiuG,aAEvB,SAASopS,EAAwBhmY,EAAQ+H,EAAUsjG,GAC/C,OAAO18G,EAAIiuG,aAAa58F,EAAQ+H,EAAUsjG,GAAW,SAASnxH,GAC1DA,EAAE4wM,MAAMz/E,MAuKhB,SAASwzI,EAAQl4P,EAAIuC,EAAU+8Y,EAAWx0X,EAAgBC,GAStD,IARA,IAGIo4D,EAASiZ,EAAmBylF,EAH5B09N,EAAoBn9W,EAAUm9W,kBAC9BnoY,EAAapX,EAAGymB,YAChBl1B,EAAU6lB,EAAW+rJ,SAGrB4+F,EAAY,GACZy9I,EAAsB,GAElB7tZ,EAAI,EAAGA,EAAIJ,EAAQX,OAAQe,IAAK,CACpCwxF,EAAU5xF,EAAQI,GAClB,IAAII,EAAOoxF,EAAQpxF,KACfgS,EAAa6mB,EAASr5B,QAAQQ,GAAMgS,WAExC,GAAGA,EAAWgd,IAAK,CACf,IAAI2jG,EAAavhC,EAAQ6qS,WAAaj8X,EAAO,QACzC0tZ,EAAat8T,EAAQh/E,KAGzBi4F,EAAoBH,EAAkBqjT,EAAWG,GACjD59N,EAAWzlF,EAAkB,GAG7BkjT,EAAYljT,EAAkB,GAE3BylF,EAASjxL,QACRmxQ,EAAUttQ,KAAK,CACX9C,EAAG4tZ,EAAkBlpZ,QAAQquH,GAC7BA,UAAWA,EACX+6R,WAAYA,EACZ59N,SAAUA,IAIf99K,EAAW27Y,WACVF,EAAoB/qZ,KAAK,IAAMiwH,IAK3Cq9I,EAAU1pQ,MAAK,SAAStH,EAAGC,GAAK,OAAOD,EAAEY,EAAIX,EAAEW,KAE/C,IAAIq/D,EAASzuD,EAAS4B,KAAKpD,UAAU,YAChCnE,KAAKmlQ,GAAW,SAASjwQ,GAAK,OAAOA,EAAE4yH,aAkC5C,GAhCA1zD,EAAOhwD,QAAQC,OAAO,KACjBiY,KAAK,SAAS,SAASpnB,GAAK,OAAOA,EAAE4yH,aACrCxjH,QAAQ,UAAU,GAClBA,QAAQ,YAAaqB,EAASinY,aAEnCx4U,EAAO7c,OAAOjyC,SAEd8uD,EAAO51B,QAEP41B,EAAO3vD,MAAK,SAASvP,GACjB,IAAI8yB,EAAMrkB,EAAGO,OAAO7M,MAChBywH,EAAY5yH,EAAE4yH,UAElB5yH,EAAE2tZ,WACEz/Y,EAAIuC,EAAUzQ,EAAE+vL,SAAUj9J,EAC1BkG,EAAgBC,IAI4C,IAA7DqX,EAAUu9W,qBAAqBtpZ,QAAQ,IAAMquH,IAC5C57F,EAAQqlH,WAAWvpH,EAAKriB,EAAS2/K,YAAaliL,MAKnDoX,EAAWg0C,KAAK,eACf+3B,EAAUv4D,EAASkjK,UAAU,aAC7BjM,EAAW5lF,EAAkBqjT,EAAWn8T,GAAS,GACjDA,EAAQh/E,KAAKnE,EAAIuC,EAAUs/K,KAI3B7hL,EAAG+Y,SAASgzC,aACTxpD,EAAS09P,sBACR19P,EAASq9Y,sBAAwBr9Y,EAAS4B,KACrCpD,UAAUqhC,EAAUu9W,qBAAqB/qZ,KAAK,MAC9CmM,UAAU,WAGhBy+Y,EAAoB5uZ,QAAQ,CAC3B,IAAImnD,EAASx1C,EAAS4B,KACjBpD,UAAUy+Y,EAAoB5qZ,KAAK,MACnCmM,UAAU,UAEfwB,EAASgsB,aAAewpB,EAAOh3C,UAAU,cACzCwB,EAASisB,aAAeupB,EAAOh3C,UAAU,eAsGrD,SAAS8+Y,EAAgB7/Y,GACrB,IAGIrO,EAAGsE,EAAGoH,EAAIkF,EAAUimB,EAAIK,EAHxBzR,EAAapX,EAAGymB,YAChBi+D,EAAMttE,EAAW4sB,UAAU0X,UAC3B78B,EAAM6lE,EAAI9zF,OAIVkvZ,EAAW,GACXrpW,EAAW,GAEf,IAAI9kD,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB0L,EAAKqnF,EAAI/yF,GACT4Q,EAAW6U,EAAWk/B,OAAOj5C,GAC7BmrB,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAEd,IAAI4nY,EAAMv3X,EAAG4tB,UACT4pW,EAAMn3X,EAAGutB,UACT+qE,EAAW4+R,EAAIlyX,IAAMmyX,EAAInyX,IACzB2oB,EAAep/B,EAAWk/B,OAAO6qE,GACrC5+G,EAASk0C,SAAW,GAEjB0qE,IAAa9jH,GAAMm5C,GAClBj0C,EAAS4+G,SAAWA,EACpB5+G,EAASi0C,aAAeA,EACxBC,EAAShiD,KAAK4I,KAEdkF,EAAS4+G,cAAWtwH,EACpB0R,EAASk7C,kBAAe5sD,EACxBivZ,EAASrrZ,KAAK4I,IAKtB,IAAI1L,EAAI,EAAGA,EAAI8kD,EAAS7lD,OAAQe,IAC5B0L,EAAKo5C,EAAS9kD,GACd4Q,EAAW6U,EAAWk/B,OAAOj5C,GAC7BkF,EAASi0C,aAAaC,SAAShiD,KAAK8N,GAIxC,IAAIkpD,EAAaq0V,EAAS1mZ,OAAOq9C,GAC7BgW,EAAc,IAAIn3D,MAAMupB,GAE5B,IAAIltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB0L,EAAKouD,EAAW95D,GAChB4Q,EAAW6U,EAAWk/B,OAAOj5C,GAC7BmrB,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAId,IAAIrmB,EAAI,CAACuL,EAAImrB,EAAG0rB,MAAOrrB,EAAGqrB,MAAO1rB,EAAGg1F,YAAc,GAAI30F,EAAG20F,YAAc,IACvE,IAAIvnH,EAAI,EAAGA,EAAIsM,EAASk0C,SAAS7lD,OAAQqF,IACrCnE,EAAE2C,KAAK8N,EAASk0C,SAASxgD,GAAGoH,IAEhCovD,EAAY96D,GAAKG,EAGrB,OAAO26D,EAGX,SAASwzV,EAAiBjgZ,EAAIuC,GAC1B,IAAI88R,EAAY98R,EAAS88R,UACrBhiS,EAAKkF,EAASlF,GACd6iZ,EAAS99W,EAAU+9W,sBAAsB59Y,EAAS2V,MAAMg8B,OACxDksW,EAASh+W,EAAU+9W,sBAAsB59Y,EAAS4V,MAAM+7B,OACxDmsW,EAAqBrgZ,EAAGymB,YAAY01B,oBAExC,GAAI55C,EAAS4+G,SA4CN,CACH,IAAI3qE,EAAej0C,EAASi0C,aACxB8pW,EAAgB9pW,EAAa6oP,UAC7BwqD,EAAMxsV,EAAK,KACXysV,EAAMzsV,EAAK,KAOfkF,EAASy6C,UAAYxG,EAAawG,UAClCz6C,EAAS06C,cAAgBzG,EAAayG,cAEtCg5D,EAAaz/D,EAAa+pW,eAAgB,OAAQ12D,GAClD5zO,EAAaz/D,EAAa+pW,eAAgB,OAAQz2D,GAClD7zO,EAAaz/D,EAAagqW,cAAe,IAAK32D,GAC9C5zO,EAAaz/D,EAAagqW,cAAe,IAAK12D,GAE9CvnV,EAAS4B,KAAO8xG,EAAaz/D,EAAaiqW,SAAU,IAAKpjZ,GAEzD44G,EAAaz/D,EAAakqW,eAAgB,OAAQ72D,GAClD5zO,EAAaz/D,EAAakqW,eAAgB,OAAQ52D,GAClD7zO,EAAaz/D,EAAamqW,cAAe,IAAK92D,GAC9C5zO,EAAaz/D,EAAamqW,cAAe,IAAK72D,GAG9CvnV,EAASq+Y,OAASN,EAAcx/Y,OAAO,cAAgBo/Y,GAAQp/Y,OAAO,IAAM+oV,GAC5EtnV,EAASs+Y,OAASP,EAAcx/Y,OAAO,cAAgBs/Y,GAAQt/Y,OAAO,IAAMgpV,GAC5EvnV,EAASu6C,WAAawjW,EAAcx/Y,OAAO,aAAeo/Y,GAAQp/Y,OAAO,IAAM+oV,GAC/EtnV,EAASw6C,WAAaujW,EAAcx/Y,OAAO,aAAes/Y,GAAQt/Y,OAAO,IAAMgpV,QAzE/E,GAAGu2D,EAMC99Y,EAASq+Y,OAAS3qS,EAAaopL,EAAW,OAAQ,gBAClD98R,EAASs+Y,OAAS5qS,EAAaopL,EAAW,OAAQ,gBAClD98R,EAASu6C,WAAam5D,EAAaopL,EAAW,IAAK,oBACnD98R,EAASw6C,WAAak5D,EAAaopL,EAAW,IAAK,wBAChD,CACH,IAAIyhH,EAAY7qS,EAAaopL,EAAW,IAAK,iBAC7C98R,EAASgrI,WAAat3B,EAAa6qS,EAAW,IAAK,cACnDv+Y,EAASw+Y,WAAa9qS,EAAa6qS,EAAW,IAAK,cAEnDv+Y,EAASy6C,UAAYi5D,EAAaopL,EAAW,IAAK,aAClD98R,EAAS06C,cAAgBg5D,EAAaopL,EAAW,IAAK,iBAEtDppL,EAAaopL,EAAW,OAAQ,gBAChCppL,EAAaopL,EAAW,OAAQ,gBAChC98R,EAASg+Y,eAAiBtqS,EAAaopL,EAAW,IAAK,mBAEvDppL,EAAaopL,EAAW,IAAK,oBAC7BppL,EAAaopL,EAAW,IAAK,oBAC7B98R,EAASi+Y,cAAgBvqS,EAAaopL,EAAW,IAAK,kBAEtD98R,EAAS4B,KAAO8xG,EAAaopL,EAAW,IAAK,QAC7C98R,EAASk+Y,SAAWxqS,EAAaopL,EAAW,IAAK,YAEjD98R,EAASq+Y,OAAS3qS,EAAaopL,EAAW,OAAQ,gBAClD98R,EAASs+Y,OAAS5qS,EAAaopL,EAAW,OAAQ,gBAClD98R,EAASm+Y,eAAiBzqS,EAAaopL,EAAW,IAAK,mBAEvDppL,EAAaopL,EAAW,IAAK,oBAC7BppL,EAAaopL,EAAW,IAAK,oBAC7B98R,EAASo+Y,cAAgB1qS,EAAaopL,EAAW,IAAK,kBAGtD98R,EAASq+Y,OAASvhH,EAAUv+R,OAAO,WAAao/Y,GAChD39Y,EAASs+Y,OAASxhH,EAAUv+R,OAAO,WAAas/Y,GAChD79Y,EAASu6C,WAAauiP,EAAUv+R,OAAO,eAAiBo/Y,GACxD39Y,EAASw6C,WAAasiP,EAAUv+R,OAAO,eAAiBs/Y,GAqC5DC,IACAhB,EAAwB98Y,EAASy6C,UAAW,IAAKz6C,EAAS2V,MAAM2V,KAChEwxX,EAAwB98Y,EAASy6C,UAAW,IAAKz6C,EAAS4V,MAAM0V,KAChEtrB,EAASy6C,UAAUj8C,UAAU,KACxB4rC,KAAI,SAAS76C,GAAK,OAAOA,EAAE,MAC3BuG,KAAK8qC,EAAQsgB,SAGtBlhD,EAASq+Y,OACJx/Y,MAAM,OAAQ,QACdF,QAAQ,SAAS,GAEtBqB,EAASs+Y,OACJz/Y,MAAM,OAAQ,QACdF,QAAQ,SAAS,GAG1B,SAAS8/Y,EAAmBhwV,EAAQ55C,GAChC,GAAI45C,EAAJ,CAEA,IAAIiwV,EAAqB,GAgBzB,IAAI,IAAI7qZ,KAdR46D,EAAO3vD,MAAK,SAASvP,GACjB,IAAIuL,EAAKvL,EAAE,GACPutS,EAAY9+R,EAAGO,OAAO7M,MAE1BorS,EAAUn9R,SACVg/Y,EAAoB7jZ,EAAI+Z,GACxB6pY,EAAmB5jZ,IAAM,KAQhB+Z,EAAWk/B,OAIpB,IAHA,IAAI6qW,EAAc/pY,EAAWk/B,OAAOlgD,GAChCqgD,EAAW0qW,EAAY1qW,UAAY,GAE/BxgD,EAAI,EAAGA,EAAIwgD,EAAS7lD,OAAQqF,IAAK,CACrC,IAAImrZ,EAAc3qW,EAASxgD,GAExBgrZ,EAAmBG,EAAY/jZ,KAC9B+jZ,EAAYj9Y,KAAKpD,UAAU,UAAUmB,WAMrD,SAASg/Y,EAAoBx1V,EAAWt0C,GACpCA,EAAW6qG,UAAUlhH,UAAU,KAAO2qD,GAAWxpD,SACjDkV,EAAW2U,MAAMjrB,OAAO,QAAUsW,EAAWulC,KAAO+O,EAAY,QAAQxpD,SA3iB5E3R,EAAQwB,KAAO,YAEfxB,EAAQ2oB,KAAO,CAAC,QAAS,SAEzB3oB,EAAQ06D,OAAS,CAAC,IAAK,KAEvB16D,EAAQ26D,QAAU9oB,EAAU8oB,QAE5B36D,EAAQ46D,UAAY/oB,EAAU+oB,UAE9B56D,EAAQgM,WAAa9K,EAAoB,QAEzClB,EAAQsoC,iBAAmBpnC,EAAoB,QAE/ClB,EAAQq4D,qBAAuBn3D,EAAoB,QAEnDlB,EAAQ8wZ,eAAiB5vZ,EAAoB,QAE7ClB,EAAQ+wZ,iBAAmB,SAAS/4V,EAAUC,GAC1C,IAOI72D,EAAGumD,EAAIC,EAPPxf,EAAW6vB,EAAUxkB,UACrBmjG,EAAQxuG,EAASzgB,MACjBkvH,EAAQzuG,EAASxgB,MACjBopY,EAAQ5oX,EAAS+iB,UACjB8lW,EAAQD,EAAMnoZ,OAAOu/B,EAASgjB,MAAQ,IACtC8lW,EAAO,GACPC,EAAO,GAGX,IAAI/vZ,EAAI,EAAGA,EAAI6vZ,EAAM5wZ,OAAQe,IAAK,CAC9B,IAAIswB,EAAQu/X,EAAM7vZ,GAAGkQ,MAAM,KAC3B4/Y,EAAKx/X,EAAM,IAAM,EACjBy/X,EAAK,IAAMz/X,EAAM,IAAM,EAI3B,IAAItwB,EAAI,EAAGA,EAAIw1I,EAAMv2I,OAAQe,IACzBumD,EAAKivF,EAAMx1I,GACP8vZ,EAAKvpW,KACLC,GAAMoQ,EAASplB,EAAQC,QAAQ8U,KAAQ,IAAIiJ,OACvC/e,EAAU8oB,QAAQ1lD,EAAEnV,KAAK8nD,KAAKA,EAAK,KACvCopW,EAAM9sZ,KAAKyjD,EAAKC,GAChBqpW,EAAM/sZ,KAAKyjD,EAAKC,GAEZupW,EAAKvpW,KACLupW,EAAKvpW,GAAM,EACXnwC,EAAIuiL,WAAWnjD,EAAOjvF,KAMlC,IAAIxmD,EAAI,EAAGA,EAAIy1I,EAAMx2I,OAAQe,IACzBwmD,EAAKivF,EAAMz1I,GACP+vZ,EAAKvpW,KACLD,GAAMqQ,EAASplB,EAAQC,QAAQ+U,KAAQ,IAAIgJ,OACvC/e,EAAU8oB,QAAQrrD,EAAExP,KAAK6nD,KAAKA,EAAK,KACvCqpW,EAAM9sZ,KAAKyjD,EAAKC,GAChBqpW,EAAM/sZ,KAAKyjD,EAAKC,GAEZspW,EAAKvpW,KACLupW,EAAKvpW,GAAM,EACXlwC,EAAIuiL,WAAWpjD,EAAOjvF,KAQlC,IAAIspW,EAAM5wZ,OAAQ,CAGd,IAAI,IAAI+wZ,KAFRzpW,EAAK,GACLC,EAAK,GACSoQ,EACV,GAAGnmB,EAAU+oB,UAAU96D,KAAKsxZ,GAAK,CAC7B,IAAIjtY,EAAWitY,EAAGvhY,OAAO,GACT,MAAb1L,IACKwjC,IAAQypW,EAAG/9Y,OAAO,IAAMs0C,EAAGt0C,OAAO,MAClCs0C,EAAKypW,KAEFxpW,IAAQwpW,EAAG/9Y,OAAO,IAAMu0C,EAAGv0C,OAAO,MACzCu0C,EAAKwpW,GAIjBzpW,EAAKA,EAAK/U,EAAQE,QAAQ6U,GAAM,IAChCC,EAAKA,EAAKhV,EAAQE,QAAQ8U,GAAM,IAChCgvF,EAAM1yI,KAAKyjD,GACXkvF,EAAM3yI,KAAK0jD,GACXopW,EAAM9sZ,KAAKyjD,EAAKC,KAgBxB5nD,EAAQ4T,KAAO,SAASnE,EAAI+3C,EAAQjtB,EAAgBC,GAChD,IAGIp5B,EAHAylB,EAAapX,EAAGymB,YAChBkS,EAAWvhB,EAAW4sB,UAAU0X,UAChCuQ,EAAWjsD,EAAGisD,SAGlB,IAAI32D,MAAM0J,QAAQ+4C,GAId,IADAA,EAAS,GACLpmD,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAKomD,EAAOtjD,KAAK9C,GAGrD,IAAIA,EAAI,EAAGA,EAAIgnC,EAAS/nC,OAAQe,IAAK,CAQjC,IAPA,IAKIiwZ,EALA7tY,EAAU4kB,EAAShnC,GACnBwvZ,EAAc/pY,EAAWk/B,OAAOviC,GAGhCurY,EAAY,GAGRrpZ,EAAI,EAAGA,EAAIg2D,EAASr7D,OAAQqF,IAAK,CACrC,IAAIub,EAAKy6C,EAASh2D,GACdgK,EAAQuR,EAAG,GAAGvR,MAIfA,EAAMiY,MAAQjY,EAAMkY,QAAUpE,MAKO,IAAjCgkC,EAAO1hD,QAAQ4J,EAAM5L,QAAiB4L,EAAM2gE,UAMvCghV,GACAA,EAAI,GAAG3hZ,MAAMiY,MAAQ0pY,EAAI,GAAG3hZ,MAAMkY,QAAUpE,IACc,IAA1D,CAAC,UAAW,UAAW,UAAU1d,QAAQ4J,EAAMiD,QACnB,IAA5Bo8Y,EAAUjpZ,QAAQurZ,IAElBtC,EAAU7qZ,KAAKmtZ,GAGnBtC,EAAU7qZ,KAAK+c,IAKnBowY,EAAMpwY,GAId0mP,EAAQl4P,EAAImhZ,EAAa7B,EAAWx0X,EAAgBC,KAmG5Dx6B,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D,IAGI/pD,EACA5Q,EAAGyE,EAJHyrZ,EAAWv1V,EAAchW,QAAU,GACnCwrW,EAAW11V,EAAc9V,QAAU,GACnCyrW,EAAiBz1V,EAActoB,WAAa,GAOhD,GAAGsoB,EAAcnQ,sBAAwBiQ,EAAcjQ,oBACnD,IAAI/lD,KAAKyrZ,EACLt/Y,EAAWs/Y,EAASzrZ,GACjBmM,EAAS88R,WAAW98R,EAAS88R,UAAUn9R,SAIlD,IAAI8/Y,EAAS11V,EAAclB,MAAQkB,EAAclB,KAAK,MAClD62V,EAAS71V,EAAchB,MAAQgB,EAAchB,KAAK,MAEtD,GAAG42V,IAAUC,EACT,IAAI7rZ,KAAKyrZ,EACLt/Y,EAAWs/Y,EAASzrZ,GACjBmM,EAASknF,QAAQlnF,EAASknF,OAAOviE,UAM5C,GAAG66X,EAAe7pY,OAAS6pY,EAAe5pY,MAAO,CAC7C,IAAI+pY,EAAW/+W,EAAQI,QAAQ,CAAC9c,YAAa6lC,IAC7C,IAAI36D,EAAI,EAAGA,EAAIuwZ,EAAStxZ,OAAQe,IAAK,CACjC,IAAIwwZ,EAAUD,EAASvwZ,GACnBy6D,EAAcjpB,EAAQC,QAAQ++W,KAC9B71V,EAAcpP,WAAWn8C,UAAU,MAAQohZ,EAAU,SAASjgZ,UAK1E,IAAIkgZ,EAAgB91V,EAAclB,MAAQkB,EAAclB,KAAK,aACzDi3V,EAAgBj2V,EAAchB,MAAQgB,EAAchB,KAAK,aAE7D,GAAGg3V,IAAiBC,EAGhBrB,EAAmB10V,EAAcg2V,gBAAgBvhZ,UAAU,YAAaurD,GACxEA,EAAcvgC,MAAMhrB,UAAU,aAAamB,gBACpCoqD,EAAcolP,2BAClB,GAAGqwG,EAAermW,UAGrB,IAAI/pD,EAAI,EAAGA,EAAIowZ,EAAermW,UAAU9qD,OAAQe,IAAK,CACjD,IAAI4wZ,EAAeR,EAAermW,UAAU/pD,GAC5C,IAAImwZ,EAASS,GAAe,CACxB,IAAIjzX,EAAW,IAAMizX,EAAe,KAAOA,EAAe,OAASA,EAAe,KAClFj2V,EAAcg2V,gBAAgBvhZ,UAAUuuB,GAAUptB,SAClDg/Y,EAAoBqB,EAAcj2V,MAMlD/7D,EAAQm8D,cAAgB,SAAS1sD,GAC7B,IAAIoX,EAAapX,EAAGymB,YAChBgmC,EAAcozV,EAAgB7/Y,GAE9BwiZ,EAAgBprY,EAAWkrY,gBAAgBvhZ,UAAU,YACpDnE,KAAK6vD,EAAaj8D,QAEvBgyZ,EAAcxhZ,QAAQC,OAAO,KACxBiY,KAAK,SAAS,SAASpnB,GAAK,MAAO,WAAaA,EAAE,MAEvD0wZ,EAAcpnX,QAEdonX,EAAcruW,OACTrjD,KAAKkwZ,EAAoB5pY,GAE9BorY,EAAcnhZ,MAAK,SAASvP,GACxB,IAAIuL,EAAKvL,EAAE,GACPyQ,EAAW6U,EAAWk/B,OAAOj5C,GAEjCkF,EAAS88R,UAAY9+R,EAAGO,OAAO7M,MAC/BgsZ,EAAiBjgZ,EAAIuC,GAKrBA,EAASkgZ,UAAYxsS,EAAa7+F,EAAW6qG,UAAW,IAAK5kH,OAIrE9M,EAAQk5Y,UAAY,SAASzpY,EAAIuC,EAAU+8Y,GACvCW,EAAiBjgZ,EAAIuC,GACrB21P,EAAQl4P,EAAIuC,EAAU+8Y,GACtBv9W,EAAM3gC,MAAMpB,IA8MhBzP,EAAQo8D,MAAQ,SAAS3sD,GACrB,IAAI0iZ,EAAY1iZ,EAAGymB,YAAYsmC,UAC3B37D,EAAOmP,EAAGO,OAAOd,GAAIe,UAAU,kBAC/B4hZ,EAAWvxZ,EAAKgE,QAAO,SAAStD,EAAGH,GAAI,OAAOA,IAAMP,EAAK8jB,OAAS,KACjEnU,UAAU,wCAEf,SAAS6hZ,IACL,IAAIhxY,EAAS3d,KACT24D,EAAYh7C,EAAO2/D,UAAU,aAC7BzkB,EAAQ41V,EAAUzhZ,OAAO,aAE7B6rD,EAAM5zC,KAAK,CACP8zC,MAAO10C,EAAgByI,IACvB,aAAc6rC,EACdlyC,oBAAqB,OACrB7a,EAAG,EACH2F,EAAG,EACHmN,MAAOf,EAAOe,MACd8H,OAAQ7I,EAAO6I,SAIvBkoY,EAASthZ,KAAKuhZ,IAGlBryZ,EAAQ08D,SAAWx7D,EAAoB,QAAQw7D,UAKzC,OACA,SAAU38D,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbq5L,cAAe,CACXj1K,QAAS,aACT2V,OAAQ,CAAC,QAAS,WAClB1V,KAAM,QAENI,SAAU,QAGd60K,aAAc,CACVl1K,QAAS,SACTnb,IAAK,EACLC,IAAK,EAELub,SAAU,QAGd80K,kBAAmB,CACfn1K,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EAENI,SAAU,UAQZ,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGA,IAAIwwE,EAAYxwE,EAAoB,QAChC0wE,EAAc1wE,EAAoB,QAItC,SAAS4qL,EAActrL,EAAGC,GACxB,GAAgB,IAAbD,EAAEH,OACH,OAAOuxE,EAAYnxE,EAAGD,EAAE,IAE1B,GAAgB,IAAbC,EAAEJ,OACH,OAAOuxE,EAAYpxE,EAAGC,EAAE,IAE1B,GAAgB,IAAbD,EAAEH,QAA6B,IAAbI,EAAEJ,OACrB,MAAO,CAAC,GAEV,IAAI0B,EAAI,CAAC,GACT,GAAGvB,EAAEH,OAASI,EAAEJ,OACd,IAAI,IAAIe,EAAE,EAAGA,EAAEZ,EAAEH,SAAUe,EACzBW,EAAI2vE,EAAU3vE,EAAG6vE,EAAYnxE,EAAGD,EAAEY,UAGpC,IAAQA,EAAE,EAAGA,EAAEX,EAAEJ,SAAUe,EACzBW,EAAI2vE,EAAU3vE,EAAG6vE,EAAYpxE,EAAGC,EAAEW,KAGtC,OAAOW,EAtBThC,EAAOC,QAAU8rL,GA2BX,OACA,SAAU/rL,EAAQC,EAASkB,GAEjC,aAGA,IAAIy1Y,EAAcz1Y,EAAoB,QAClCu2H,EAAcv2H,EAAoB,QAClC6kL,EAAc7kL,EAAoB,QAElC01Y,EAAiB11Y,EAAoB,QAAQ42D,SAC7CrpD,EAAiB1J,MAAM0J,QAE3B1O,EAAOC,QAAU,SAAUkC,GAC1B,QAAKu1H,EAAQv1H,OACTuM,EAAQvM,OACR6jL,EAAS7jL,OACTy0Y,EAAYz0Y,IACwB,oBAA1BA,EAAM00Y,QAMf,KACA,SAAU72Y,EAAQC,EAASkB,GAEjC,aAYA,IAAIoxZ,EAAepxZ,EAAoB,QACnCsgD,EAAiBtgD,EAAoB,QAAQsgD,eAEjDzhD,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,EAAMC,EAAWquG,EAAYmhI,GAChF,IAAIxhN,EAAMqhX,EAAaxvY,EAAWC,EAAMC,EAAMC,EAAWquG,EAAYmhI,GAErE,GAAIxhN,EAAJ,CAEAnuB,EAAYmuB,EAAI,GAChB,IAAI2D,EAAU9xB,EAAUhf,MACpBo3U,EAAKtmS,EAAQ,GACbqmS,EAAKrmS,EAAQ,GACblE,EAAM5tB,EAAU7B,GAAG,GACnBsxY,EAAS7hX,EAAIK,QAAQkqS,GACrBu3E,EAAS9hX,EAAIM,QAAQkqS,GAKzB,OAHAp4T,EAAUisW,OAASvtU,EAAe1+B,EAAUmV,GAAIs6X,EAAO,GAAIA,EAAO,IAClEzvY,EAAUksW,OAASxtU,EAAe1+B,EAAUwV,GAAIk6X,EAAO,GAAIA,EAAO,IAE3DvhX,KAML,KACA,SAAUlxC,EAAQC,EAASkB,GAEjC,aAEA,IAAIuxZ,EAAcvxZ,EAAoB,QAClCwxZ,EAAgBxxZ,EAAoB,QAEpCyxZ,EAAa5pX,OAAOlmC,UAAUirG,KAI9B4iJ,EAAgBzwP,OAAO4C,UAAU0W,QAEjCq5Y,EAAcD,EAEdE,EAA2B,WAC7B,IAAIC,EAAM,IACNC,EAAM,MAGV,OAFAJ,EAAWpyZ,KAAKuyZ,EAAK,KACrBH,EAAWpyZ,KAAKwyZ,EAAK,KACI,IAAlBD,EAAItuO,WAAqC,IAAlBuuO,EAAIvuO,UALL,GAQ3BwuO,EAAgBN,EAAcM,eAAiBN,EAAcO,aAG7DC,OAAuC5yZ,IAAvB,OAAOwtG,KAAK,IAAI,GAEhCqlT,EAAQN,GAA4BK,GAAiBF,EAErDG,IACFP,EAAc,SAAcnqZ,GAC1B,IACI+7K,EAAW4uO,EAAQvqY,EAAOznB,EAD1B6sB,EAAKvqB,KAEL0kV,EAAS4qE,GAAiB/kY,EAAGm6T,OAC7BlxT,EAAQu7X,EAAYlyZ,KAAK0tB,GACzBw8C,EAASx8C,EAAGw8C,OACZ4oV,EAAa,EACbC,EAAU7qZ,EA+Cd,OA7CI2/U,IACFlxT,EAAQA,EAAM3d,QAAQ,IAAK,KACC,IAAxB2d,EAAMpxB,QAAQ,OAChBoxB,GAAS,KAGXo8X,EAAUrzZ,OAAOwI,GAAKpD,MAAM4oB,EAAGu2J,WAE3Bv2J,EAAGu2J,UAAY,KAAOv2J,EAAGslY,WAAatlY,EAAGslY,WAAuC,OAA1B9qZ,EAAIwlB,EAAGu2J,UAAY,MAC3E/5G,EAAS,OAASA,EAAS,IAC3B6oV,EAAU,IAAMA,EAChBD,KAIFD,EAAS,IAAIrqX,OAAO,OAAS0hC,EAAS,IAAKvzC,IAGzCg8X,IACFE,EAAS,IAAIrqX,OAAO,IAAM0hC,EAAS,WAAYvzC,IAE7C27X,IAA0BruO,EAAYv2J,EAAGu2J,WAE7C37J,EAAQ8pY,EAAWpyZ,KAAK6nV,EAASgrE,EAASnlY,EAAIqlY,GAE1ClrE,EACEv/T,GACFA,EAAMkN,MAAQlN,EAAMkN,MAAM1wB,MAAMguZ,GAChCxqY,EAAM,GAAKA,EAAM,GAAGxjB,MAAMguZ,GAC1BxqY,EAAM/kB,MAAQmqB,EAAGu2J,UACjBv2J,EAAGu2J,WAAa37J,EAAM,GAAGxoB,QACpB4tB,EAAGu2J,UAAY,EACbquO,GAA4BhqY,IACrCoF,EAAGu2J,UAAYv2J,EAAGsrE,OAAS1wE,EAAM/kB,MAAQ+kB,EAAM,GAAGxoB,OAASmkL,GAEzD0uO,GAAiBrqY,GAASA,EAAMxoB,OAAS,GAG3CqwP,EAAcnwP,KAAKsoB,EAAM,GAAIuqY,GAAQ,WACnC,IAAKhyZ,EAAI,EAAGA,EAAIR,UAAUP,OAAS,EAAGe,SACfd,IAAjBM,UAAUQ,KAAkBynB,EAAMznB,QAAKd,MAK1CuoB,IAIX9oB,EAAOC,QAAU4yZ,GAKX,OACA,SAAU7yZ,EAAQC,EAASkB,GAEjC,aAWA,IAAI2wC,EAAY3wC,EAAoB,QAEhCitF,EAAYjtF,EAAoB,OAApBA,CAA4B,CACxCujB,SAAU,SAGd0pE,EAAUvsE,OAAOyC,KAAOwtB,EAAUuiV,UAClCjmS,EAAUxpE,KAAKN,KAAOwtB,EAAUsiV,cAEhCp0X,EAAOC,QAAU,CACbq+G,UAAW,CACPj6F,QAAS,WAET8S,MAAO,CAAC,QAAS,UACjB7S,KAAM,QACNI,SAAU,OACVumE,OAAQ,CAAC,SAGbruB,SAAU,CACNv4C,QAAS,aAET2V,OAAQ,CAAC,OAAQ,MAAO,SAAU,QAAS,QAAS,aAAa,GACjE1V,KAAM,OACNI,SAAU,WAGdxB,UAAW,CACPmB,QAAS,aAET2V,OAAQ,CAAC,IAAK,IAAK,WAAW,GAC9BtV,SAAU,WAGd+uY,cAAe,CACXpvY,QAAS,UACTnb,KAAM,EACNob,KAAM,GAENI,SAAU,QAGdgvY,cAAe,CACXrvY,QAAS,UACTnb,KAAM,EACNob,KAAM,GAENI,SAAU,QAGdw2C,WAAY,CACR4xC,QAAS,CACLzoF,QAAS,QAETK,SAAU,QAGdqoF,YAAa,CACT1oF,QAAS,QAETK,SAAU,QAGdvC,KAAMisE,EACNwe,MAAO,CACHvoF,QAAS,aACT2V,OAAQ,CAAC,OAAQ,QAAS,QAC1B1V,KAAM,OAENI,SAAU,QAGd0rH,WAAY,CACR/rH,QAAS,UACTnb,KAAM,EACNob,KAAM,GAENI,SAAU,QAGdA,SAAU,QAEdw4F,gBAAiB,CACb74F,QAAS,aAET2V,OAAQ,CAAC,IAAK,IAAK,IAAK,OACxB1V,KAAM,MAENI,SAAU,UAOZ,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGA,IAAIuwE,EAAavwE,EAAoB,QACjCwwE,EAAYxwE,EAAoB,QAChC0wE,EAAc1wE,EAAoB,QAClCwyZ,EAAiBxyZ,EAAoB,QAErC2wE,EAAa,EAEb8hV,EAAc,sBACdC,GAAe,EAAM,GAAOD,GAAWA,EACvCE,GAAe,EAAM,GAAOF,GAAWA,EAE3C,SAAS7hV,EAASxwE,EAAGZ,GAEnB,IADA,IAAI6J,EAAS,IAAIxF,MAAMzD,EAAEjB,OAAO,GACxBe,EAAE,EAAGA,EAAEE,EAAEjB,SAAUe,EAEzB,IADA,IAAIW,EAAIwI,EAAOnJ,EAAE,GAAK,IAAI2D,MAAMzD,EAAEjB,OAAO,GACjCqF,EAAE,EAAEG,EAAE,EAAGH,EAAEpE,EAAEjB,SAAUqF,EAC1BA,IAAMhF,IAGTqB,EAAE8D,KAAOvE,EAAEF,GAAGsE,IAGlB,OAAO6E,EAGT,SAASisB,EAAO9zB,GAEd,IADA,IAAI6H,EAAS,IAAIxF,MAAMrC,GACftB,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrBmJ,EAAOnJ,GAAK,IAAI2D,MAAMrC,GACtB,IAAI,IAAIgD,EAAE,EAAGA,EAAEhD,IAAKgD,EAClB6E,EAAOnJ,GAAGsE,GAAK,CAAC,IAAKA,EAAG,IAAMhD,EAAEtB,EAAE,EAAI,KAAKiD,KAAK,IAGpD,OAAOkG,EAGT,SAASw7D,EAAKrjE,GACZ,OAAO,EAAJA,EACM,IAEF,GAGT,SAASqvE,EAAYC,GACnB,GAAmB,IAAhBA,EAAK3xE,OACN,OAAO2xE,EAAK,GACP,GAAmB,IAAhBA,EAAK3xE,OACb,MAAO,CAAC,OAAQ2xE,EAAK,GAAI,IAAKA,EAAK,GAAI,KAAK3tE,KAAK,IAEjD,IAAI/C,EAAI0wE,EAAK3xE,QAAQ,EACrB,MAAO,CAAC,OAAQ0xE,EAAYC,EAAK3sE,MAAM,EAAG/D,IAAK,IAAKywE,EAAYC,EAAK3sE,MAAM/D,IAAK,KAAK+C,KAAK,IAI9F,SAAS8tE,EAAY7wE,GACnB,GAAgB,IAAbA,EAAEjB,OACH,MAAO,CAAC,CAAC,YAAaiB,EAAE,GAAG,GAAI,IAAKA,EAAE,GAAG,GAAI,WAAYA,EAAE,GAAG,GAAI,IAAKA,EAAE,GAAG,GAAI,MAAM+C,KAAK,KAG3F,IADA,IAAI2tE,EAAO,GACH5wE,EAAE,EAAGA,EAAEE,EAAEjB,SAAUe,EACzB4wE,EAAK9tE,KAAK,CAAC,SAAU6tE,EAAYI,EAAYL,EAASxwE,EAAGF,KAAM,IAAK2kE,EAAK3kE,GAAIE,EAAE,GAAGF,GAAI,KAAKiD,KAAK,KAElG,OAAO2tE,EAIX,SAASlpE,EAAYpG,GAKnB,IAJA,IAAIsxC,EAAM,GACNs+B,EAAM,GACNhxE,EAAIk1B,EAAO9zB,GACX6oC,EAAO,GACHnqC,EAAE,EAAGA,EAAEsB,IAAKtB,EACP,KAAL,EAAFA,GACF4yC,EAAI9vC,KAAKvD,MAAMqzC,EAAKm+B,EAAYL,EAASxwE,EAAGF,KAE5CkxE,EAAIpuE,KAAKvD,MAAM2xE,EAAKH,EAAYL,EAASxwE,EAAGF,KAE9CmqC,EAAKrnC,KAAK,IAAM9C,GAElB,IAAImxE,EAAUR,EAAY/9B,GACtBw+B,EAAUT,EAAYO,GACtBjnC,EAAW,cAAgB3oC,EAAI,QAC/BuB,EAAO,CAAC,YAAaonC,EAAU,IAAKE,EAAKlnC,OAAQ,WAAYkuE,EAAS,MAAOC,EAAS,6CAC3DnnC,GAAUhnC,KAAK,IAC1CF,EAAO,IAAIC,SAAS,MAAO,OAAQ,QAAS,MAAOH,GACvD,OAAOE,EAAKutE,EAAWD,EAAYG,EAAa8hV,GAGlD,IAAII,EAAoBhrZ,EAAY,GAChCirZ,EAAoBjrZ,EAAY,GAEhC+pE,EAAS,CACX,WAA0B,OAAO,GACjC,WAA0B,OAAO,GACjC,SAAsBryE,EAAGC,GACvB,OAAOA,EAAE,GAAKD,EAAE,IAElB,SAAsBA,EAAGC,EAAGC,GAC1B,IAGIsC,EAHA3B,GAAKb,EAAE,GAAKE,EAAE,KAAOD,EAAE,GAAKC,EAAE,IAC9BqB,GAAKvB,EAAE,GAAKE,EAAE,KAAOD,EAAE,GAAKC,EAAE,IAC9B4mH,EAAMjmH,EAAIU,EAEd,GAAGV,EAAI,EAAG,CACR,GAAGU,GAAK,EACN,OAAOulH,EAEPtkH,EAAI3B,EAAIU,MAEL,MAAGV,EAAI,GAOZ,OAAOimH,EANP,GAAGvlH,GAAK,EACN,OAAOulH,EAEPtkH,IAAM3B,EAAIU,GAKd,IAAIgyJ,EAAM6/P,EAAY5wZ,EACtB,OAAGskH,GAAOysC,GAAOzsC,IAAQysC,EAChBzsC,EAEFwsS,EAAkBtzZ,EAAGC,EAAGC,IAEjC,SAAsBF,EAAEC,EAAEC,EAAEa,GAC1B,IAAIyyZ,EAAMxzZ,EAAE,GAAKe,EAAE,GACf0yZ,EAAMxzZ,EAAE,GAAKc,EAAE,GACf2yZ,EAAMxzZ,EAAE,GAAKa,EAAE,GACf4yZ,EAAM3zZ,EAAE,GAAKe,EAAE,GACf6yZ,EAAM3zZ,EAAE,GAAKc,EAAE,GACf8yZ,EAAM3zZ,EAAE,GAAKa,EAAE,GACf+yZ,EAAM9zZ,EAAE,GAAKe,EAAE,GACfgzZ,EAAM9zZ,EAAE,GAAKc,EAAE,GACfizZ,EAAM9zZ,EAAE,GAAKa,EAAE,GACfkzZ,EAASR,EAAMI,EACfK,EAASR,EAAME,EACfO,EAAST,EAAMC,EACfS,EAASZ,EAAMK,EACfQ,EAASb,EAAMI,EACfU,EAASb,EAAME,EACf7sS,EAAMgtS,GAAOG,EAASC,GAChBH,GAAOI,EAASC,GAChBJ,GAAOK,EAASC,GACtBC,GAAaluZ,KAAK+R,IAAI67Y,GAAU5tZ,KAAK+R,IAAI87Y,IAAW7tZ,KAAK+R,IAAI07Y,IAChDztZ,KAAK+R,IAAI+7Y,GAAU9tZ,KAAK+R,IAAIg8Y,IAAW/tZ,KAAK+R,IAAI27Y,IAChD1tZ,KAAK+R,IAAIi8Y,GAAUhuZ,KAAK+R,IAAIk8Y,IAAWjuZ,KAAK+R,IAAI47Y,GAC7DzgQ,EAAM8/P,EAAYkB,EACtB,OAAKztS,EAAMysC,IAAUzsC,EAAMysC,EAClBzsC,EAEFysS,EAAkBvzZ,EAAEC,EAAEC,EAAEa,KAInC,SAASyzZ,EAAWzpX,GAClB,IAAIpnC,EAAO0uE,EAAOtnC,EAAKlrC,QAIvB,OAHI8D,IACFA,EAAO0uE,EAAOtnC,EAAKlrC,QAAUyI,EAAYyiC,EAAKlrC,SAEzC8D,EAAKxD,WAAML,EAAWirC,GAG/B,SAAS0pX,IACP,MAAMpiV,EAAOxyE,QAAUwxE,EACrBgB,EAAO3uE,KAAK4E,EAAY+pE,EAAOxyE,SAIjC,IAFA,IAAIkrC,EAAO,GACPynC,EAAW,CAAC,QACR5xE,EAAE,EAAGA,GAAGywE,IAAczwE,EAC5BmqC,EAAKrnC,KAAK,IAAM9C,GAChB4xE,EAAS9uE,KAAK,IAAM9C,GAEtB,IAAI6C,EAAO,CACT,2BAA4BsnC,EAAKlnC,OAAQ,sDAE3C,IAAQjD,EAAE,EAAGA,GAAGywE,IAAczwE,EAC5B6C,EAAKC,KAAK,QAAS9C,EAAG,YAAaA,EAAG,IAAKmqC,EAAKlmC,MAAM,EAAGjE,GAAGiD,OAAQ,MAEtEJ,EAAKC,KAAK,mIACV8uE,EAAS9uE,KAAKD,EAAKI,KAAK,KAExB,IAAIF,EAAOC,SAASzD,WAAML,EAAW0yE,GACrCjzE,EAAOC,QAAUmE,EAAKxD,WAAML,EAAW,CAAC00Z,GAAYnsZ,OAAOgqE,IAC3D,IAAQzxE,EAAE,EAAGA,GAAGywE,IAAczwE,EAC5BrB,EAAOC,QAAQoB,GAAKyxE,EAAOzxE,GAI/B6zZ,KAIM,KACA,SAAUl1Z,EAAQC,GAWxB,SAASsgB,EAAOS,EAAKvgB,GACjB,IAAI+pG,EAAM/pG,EAAE,GAAIgqG,EAAMhqG,EAAE,GAAIiqG,EAAMjqG,EAAE,GAAIkqG,EAAMlqG,EAAE,GAC5CmqG,EAAMnqG,EAAE,GAAIoqG,EAAMpqG,EAAE,GAAIqqG,EAAMrqG,EAAE,GAAIsqG,EAAMtqG,EAAE,GAC5CuqG,EAAMvqG,EAAE,GAAIwqG,EAAMxqG,EAAE,GAAIyqG,EAAMzqG,EAAE,IAAK0qG,EAAM1qG,EAAE,IAC7C2qG,EAAM3qG,EAAE,IAAK4qG,EAAM5qG,EAAE,IAAK6qG,EAAM7qG,EAAE,IAAK8qG,EAAM9qG,EAAE,IAE/C6tU,EAAM9jO,EAAMK,EAAMJ,EAAMG,EACxBuqT,EAAM3qT,EAAMM,EAAMJ,EAAME,EACxBwqT,EAAM5qT,EAAMO,EAAMJ,EAAMC,EACxByqT,EAAM5qT,EAAMK,EAAMJ,EAAMG,EACxByqT,EAAM7qT,EAAMM,EAAMJ,EAAME,EACxB0qT,EAAM7qT,EAAMK,EAAMJ,EAAMG,EACxB0qT,EAAMxqT,EAAMK,EAAMJ,EAAMG,EACxBqqT,EAAMzqT,EAAMM,EAAMJ,EAAME,EACxBsqT,EAAM1qT,EAAMO,EAAMJ,EAAMC,EACxBuqT,EAAM1qT,EAAMK,EAAMJ,EAAMG,EACxBuqT,EAAM3qT,EAAMM,EAAMJ,EAAME,EACxBwqT,EAAM3qT,EAAMK,EAAMJ,EAAMG,EAGxBic,EAAM+mN,EAAMunF,EAAMV,EAAMS,EAAMR,EAAMO,EAAMN,EAAMK,EAAMJ,EAAMG,EAAMF,EAAMC,EAE5E,OAAKjuS,GAGLA,EAAM,EAAMA,EAEZvmG,EAAI,IAAM6pF,EAAMgrT,EAAM/qT,EAAM8qT,EAAM7qT,EAAM4qT,GAAOpuS,EAC/CvmG,EAAI,IAAM0pF,EAAMkrT,EAAMnrT,EAAMorT,EAAMlrT,EAAMgrT,GAAOpuS,EAC/CvmG,EAAI,IAAMqqF,EAAMkqT,EAAMjqT,EAAMgqT,EAAM/pT,EAAM8pT,GAAO9tS,EAC/CvmG,EAAI,IAAMkqF,EAAMoqT,EAAMrqT,EAAMsqT,EAAMpqT,EAAMkqT,GAAO9tS,EAC/CvmG,EAAI,IAAM8pF,EAAM4qT,EAAM9qT,EAAMirT,EAAM9qT,EAAM0qT,GAAOluS,EAC/CvmG,EAAI,IAAMwpF,EAAMqrT,EAAMnrT,EAAMgrT,EAAM/qT,EAAM8qT,GAAOluS,EAC/CvmG,EAAI,IAAMsqF,EAAM8pT,EAAMhqT,EAAMmqT,EAAMhqT,EAAM4pT,GAAO5tS,EAC/CvmG,EAAI,IAAMgqF,EAAMuqT,EAAMrqT,EAAMkqT,EAAMjqT,EAAMgqT,GAAO5tS,EAC/CvmG,EAAI,IAAM4pF,EAAMgrT,EAAM/qT,EAAM6qT,EAAM3qT,EAAMyqT,GAAOjuS,EAC/CvmG,EAAI,IAAMypF,EAAMirT,EAAMlrT,EAAMorT,EAAMjrT,EAAM6qT,GAAOjuS,EAC/CvmG,EAAI,KAAOoqF,EAAMkqT,EAAMjqT,EAAM+pT,EAAM7pT,EAAM+iO,GAAO/mN,EAChDvmG,EAAI,KAAOiqF,EAAMmqT,EAAMpqT,EAAMsqT,EAAMnqT,EAAMmjO,GAAO/mN,EAChDvmG,EAAI,KAAO6pF,EAAM4qT,EAAM7qT,EAAM+qT,EAAM7qT,EAAM0qT,GAAOjuS,EAChDvmG,EAAI,KAAOwpF,EAAMmrT,EAAMlrT,EAAMgrT,EAAM/qT,EAAM8qT,GAAOjuS,EAChDvmG,EAAI,KAAOqqF,EAAM8pT,EAAM/pT,EAAMiqT,EAAM/pT,EAAMgjO,GAAO/mN,EAChDvmG,EAAI,KAAOgqF,EAAMqqT,EAAMpqT,EAAMkqT,EAAMjqT,EAAMojO,GAAO/mN,EAEzCvmG,GArBI,KAhCfhhB,EAAOC,QAAUsgB,GA0DX,KACA,SAAUvgB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUk/B,EAEjB,IAAI9D,EAAcl6B,EAAoB,QAClC20Z,EAAc30Z,EAAoB,QAClCu+B,EAAcv+B,EAAoB,QAClC40Z,EAAc50Z,EAAoB,QAClC+qP,EAAc/qP,EAAoB,QAClC60Z,EAAc70Z,EAAoB,QAEtC,SAASg+B,EAAas8E,EAAS1vG,GAC7B0vG,EAAUA,GAAWl6F,SAASmf,KAC9B30B,EAAUA,GAAW,GAErB,IAAIw7M,EAAU,CAAE,IAAMj8M,KACnB,mBAAoBS,IACrBw7M,EAAO,GAAKx7M,EAAQkqZ,eAAe,GACnC1uM,EAAO,GAAKx7M,EAAQkqZ,eAAe,IAElC,YAAalqZ,IACdw7M,EAAO,GAAKx7M,EAAQ01B,SAEnB,YAAa11B,IACdw7M,EAAO,GAAKx7M,EAAQ21B,SAGtB,IAAIr0B,EAAOyoZ,EAAW,CACpBv0X,OAAQx1B,EAAQw1B,QAAU,CAAC,EAAE,EAAE,GAC/BC,GAAQz1B,EAAQy1B,IAAU,CAAC,EAAE,EAAE,GAC/BF,IAAQv1B,EAAQu1B,KAAU,CAAC,EAAE,EAAE,IAC/Bj/B,KAAQ0J,EAAQ1J,MAAU,QAC1B4zZ,eAAgB1uM,IAGd2uM,EAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GACzC9rZ,EAAW,EACXiY,EAAUo5F,EAAQl3E,YAClBpa,EAAUsxF,EAAQj3E,aAElBt3B,EAAS,CACXipZ,eAAgB,SAChBC,aAAa,EACb/oZ,KAAoBA,EACpBouG,QAAoBA,EACpBhqG,MAAoB1F,EAAQ0F,OAAkB,GAC9C4kZ,YAAoBtqZ,EAAQsqZ,aAAkB,EAC9CC,UAAoBvqZ,EAAQuqZ,WAAkB,EAC9CC,eAAoBxqZ,EAAQwqZ,gBAAkB,EAC9CC,QAAsBzqZ,EAAQyqZ,MAC9Bj7C,QAAsBxvW,EAAQwvW,MAC9Bk7C,MAAoBppZ,EAAKopZ,MACzBr1X,OAAQr1B,EAAQq1B,QAAWr1B,EAAQuB,YAA0C,iBAA5BvB,EAAQuB,WAAW+G,OAA4B,EAChG0yB,KAAM,WACJ,IAAI3kC,EAAIi5B,IACJ5pB,EAAQ9N,KAAK8N,MACbilZ,EAAQt0Z,EAAI,EAAIqP,EACpBpE,EAAKmwN,KAAKp7N,EAAEqP,GACZpE,EAAK6vN,aAAaw5L,GAClBrpZ,EAAK2sF,MAAM53F,GAAG,IAAU,EAANqP,IAGlB,IAFA,IAAIu3C,GAAW,EACXvyB,EAASppB,EAAKqvN,eACVr7N,EAAE,EAAGA,EAAE,KAAMA,EACnB2nD,EAAWA,GAAaktW,EAAQ70Z,KAAOo1B,EAAOp1B,GAC9C60Z,EAAQ70Z,GAAKo1B,EAAOp1B,GAEtB,IAAIs1Z,EACAl7S,EAAQl3E,cAAgBliB,GACxBo5F,EAAQj3E,eAAiBra,EAG7B,OAFA9H,EAASo5F,EAAQl3E,YACjBpa,EAASsxF,EAAQj3E,aACdwkB,GACO2tW,GAEVvsZ,EAAWtD,KAAKuuD,IAAIhoD,EAAK0vN,eAAe,KACjC,IAETb,OAAQ,SAAS56L,EAAKC,EAAQC,GAC5Bn0B,EAAK6uN,OAAO7uN,EAAKowN,QAASn8L,EAAKC,EAAQC,IAEzCnsB,OAAQ,SAASy7M,EAAO6M,EAAKC,GAC3BvwN,EAAKgI,OAAOhI,EAAKowN,QAAS3M,EAAO6M,EAAKC,IAExCt2H,IAAK,SAASztE,EAAIhP,EAAIizM,GACpBzwN,EAAKi6F,IAAIj6F,EAAKowN,QAAS5jM,EAAIhP,EAAIizM,IAEjC3B,UAAW,SAAStiM,EAAIhP,EAAIizM,GAC1BzwN,EAAK8uN,UAAU9uN,EAAKowN,QAAS5jM,EAAIhP,EAAIizM,KAoMzC,OAhMAl8N,OAAOk1D,iBAAiB5pD,EAAQ,CAC9BupB,OAAQ,CACN10B,IAAK,WACH,OAAOsL,EAAKqvN,gBAEd1tN,IAAK,SAASouN,GAEZ,OADA/vN,EAAKqwN,UAAUrwN,EAAKowN,QAASL,GACtB/vN,EAAKqvN,gBAEd56N,YAAY,GAEdO,KAAM,CACJN,IAAK,WACH,OAAOsL,EAAKupZ,WAEd5nZ,IAAK,SAAS3M,GACZ,IAAIw0Z,EAAQxpZ,EAAKwvN,WAAWv3N,QACxBwxZ,EAASzpZ,EAAKuvN,YAAYt3N,QAC1ByxZ,EAAY1pZ,EAAKyvN,eAAex3N,QAEpC,GADA+H,EAAK2pZ,QAAQ30Z,GACD,cAATA,EAAsB,CAEvB,IAAIsM,EAAK0sB,IACThuB,EAAK4pZ,QAAQ/6L,OAAOvtN,EAAImoZ,EAAQC,EAAWF,GAC3CxpZ,EAAK4pZ,QAAQ/6L,OAAOvtN,EAAK,IAAKmoZ,EAAQC,EAAW,CAAC,EAAG,EAAG,IACxD1pZ,EAAK4pZ,QAAQj9T,MAAMrrF,GAErB,OAAOtB,EAAKupZ,WAEd90Z,YAAY,GAEdy/B,OAAQ,CACNx/B,IAAK,WACH,OAAOsL,EAAKyvN,gBAEd9tN,IAAK,SAASkoZ,GAEZ,OADA7pZ,EAAK6uN,OAAO7uN,EAAKowN,QAAS,KAAMy5L,GACzB7pZ,EAAKyvN,gBAEdh7N,YAAY,GAEdw/B,IAAK,CACHv/B,IAAK,WACH,OAAOsL,EAAKuvN,aAEd5tN,IAAK,SAASmoZ,GAEZ,OADA9pZ,EAAK6uN,OAAO7uN,EAAKowN,QAAS05L,GACnB9pZ,EAAKuvN,aAEd96N,YAAY,GAEd0/B,GAAI,CACFz/B,IAAK,WACH,OAAOsL,EAAKwvN,YAEd7tN,IAAK,SAASooZ,GAEZ,OADA/pZ,EAAK6uN,OAAO7uN,EAAKowN,QAAS,KAAM,KAAM25L,GAC/B/pZ,EAAKwvN,YAEd/6N,YAAY,GAEdsI,SAAU,CACRrI,IAAK,WACH,OAAOqI,GAET4E,IAAK,SAASxN,GAEZ,OADA6L,EAAK0wN,YAAY1wN,EAAKowN,QAASj8N,GACxBA,GAETM,YAAY,GAEdm0Z,eAAgB,CACdl0Z,IAAK,WACH,OAAOsL,EAAK6wN,kBAAkB3W,IAEhCv4M,IAAK,SAASnJ,GAEZ,OADAwH,EAAK2wN,kBAAkBn4N,GAChBA,GAET/D,YAAY,KAIhB25G,EAAQ11E,iBAAiB,eAAe,SAASi+D,GAE/C,OADAA,EAAGsjC,kBACI,KAGTp6H,EAAOmqZ,QAAU,EACjBnqZ,EAAOoqZ,QAAU,EACjBpqZ,EAAOqqZ,UAAY,CAACnmW,OAAO,EAAO68V,SAAS,EAAOD,KAAK,EAAOt6Y,MAAM,GAEpExG,EAAOk5B,qBAAuB,WA2B5B,SAASoxX,EAAmBnxX,EAAS92B,EAAG2F,EAAG64Y,GACzC,IAAIoI,EAAiBjpZ,EAAOipZ,eAE5B,IAAsB,IAAnBA,EAAH,CAEA,IAAI9gZ,EAA4B,WAAnB8gZ,EACT7uT,EAAyB,QAAnB6uT,EACN9vT,EAA0B,SAAnB8vT,EAEPsB,IAAS1J,EAAKE,QACdD,IAAQD,EAAKC,IACb58V,IAAU28V,EAAK38V,MACfr8C,KAAoB,EAAVsxB,GACVrxB,KAAqB,EAAVqxB,GACX1b,KAAsB,EAAV0b,GAEZ+/B,EAAQ,EAAMq1C,EAAQj3E,aACtB3K,EAAQusC,GAAS72D,EAAIrC,EAAOmqZ,QAC5BxsY,EAAQu7C,GAASlxD,EAAIhI,EAAOoqZ,QAE5Bd,EAAQtpZ,EAAOspZ,MAAQ,GAAK,EAC5Bj7C,EAAQruW,EAAOquW,MAAQ,GAAK,EAE5Bm8C,EAAQ5wZ,KAAKg8B,GAAK51B,EAAOmpZ,YAEzBj0Z,EAAIi5B,IAER,IAAsB,IAAnBnuB,EAAOmqZ,SAAoC,IAAnBnqZ,EAAOoqZ,UAC5BjiZ,GAAUN,IAAS0iZ,IAASzJ,IAAQ58V,GAAWr8C,IAAS0iZ,IAASzJ,GAAO58V,IAE1E/jD,EAAKgI,OAAOjT,EAAGo0Z,EAAQkB,EAAO79X,GAAK0hV,EAAQm8C,EAAO7sY,EAAI,IAGpDy8E,GAAOvyF,IAAS0iZ,IAASzJ,IAAQ58V,GAAUp8C,GAAUD,GAAQ0iZ,IAASzJ,IAAQ58V,IAEhF/jD,EAAKi6F,IAAIllG,GAAI8K,EAAOqpZ,eAAiB18X,EAAKzvB,EAAU8C,EAAOqpZ,eAAiB1rY,EAAKzgB,EAAU,GAGzFi8F,GAAQtxF,IAAS0iZ,IAASzJ,IAAQ58V,GAAUzmC,GAAW5V,IAAS0iZ,GAAQzJ,IAAQ58V,GAAQ,CAE1F,IAAIumW,GAASzqZ,EAAOopZ,UAAYzrY,EAAK0J,OAAOmQ,aAAetiC,EAAIiL,EAAKowN,SAAW,IAC/EpwN,EAAKi6F,IAAIllG,EAAG,EAAG,EAAGgI,GAAYtD,KAAKuuD,IAAIsiW,GAAS,IAQpD,OAJAzqZ,EAAOmqZ,OAAS9nZ,EAChBrC,EAAOoqZ,OAASpiZ,EAChBhI,EAAOqqZ,UAAYxJ,GAEZ,GA1ET7gZ,EAAOu2B,cAAgB/D,EAAY+7E,EAAS+7S,GAG5C/7S,EAAQ11E,iBAAiB,cAAc,SAAUi+D,GAC/C,IAAIkzB,EAAKg1H,EAAYloJ,EAAGgtI,eAAe,GAAIv1H,GAC3C+7S,EAAkB,EAAGtgS,EAAG,GAAIA,EAAG,GAAIhqH,EAAOqqZ,WAC1CC,EAAkB,EAAGtgS,EAAG,GAAIA,EAAG,GAAIhqH,EAAOqqZ,WAE1CvzT,EAAGsjC,qBACF0uR,GAAa,CAACjpK,SAAS,IAE1BtxI,EAAQ11E,iBAAiB,aAAa,SAAUi+D,GAC9C,IAAIkzB,EAAKg1H,EAAYloJ,EAAGgtI,eAAe,GAAIv1H,GAC3C+7S,EAAkB,EAAGtgS,EAAG,GAAIA,EAAG,GAAIhqH,EAAOqqZ,WAE1CvzT,EAAGsjC,qBACF0uR,GAAa,CAACjpK,SAAS,IAE1BtxI,EAAQ11E,iBAAiB,YAAY,SAAUi+D,GAE7CwzT,EAAkB,EAAGtqZ,EAAOmqZ,OAAQnqZ,EAAOoqZ,OAAQpqZ,EAAOqqZ,WAE1DvzT,EAAGsjC,qBACF0uR,GAAa,CAACjpK,SAAS,IAsD1B7/O,EAAO0qZ,cAAgB7B,EAAWt6S,GAAS,SAAS5hF,EAAIhP,GAEtD,IAA6B,IAA1B3d,EAAOipZ,gBACNjpZ,EAAOkpZ,YAAX,CAEA,IAAII,EAAQtpZ,EAAOspZ,MAAQ,GAAK,EAC5Bj7C,EAAQruW,EAAOquW,MAAQ,GAAK,EAC5Bn5W,EAAIi5B,IACR,GAAGv0B,KAAK+R,IAAIghB,GAAM/yB,KAAK+R,IAAIgS,GACzBxd,EAAKgI,OAAOjT,EAAG,EAAG,GAAIy3B,EAAK28X,EAAQ1vZ,KAAKg8B,GAAK51B,EAAOmpZ,YAAc9hY,OAAOkQ,iBAEzE,IAAIv3B,EAAOk0B,OAAQ,CACjB,IAAIu2X,GAASzqZ,EAAOopZ,UAAY/6C,EAAQ1wV,EAAK0J,OAAOmQ,aAAetiC,EAAIiL,EAAKowN,SAAW,GACvFpwN,EAAKi6F,IAAIllG,EAAG,EAAG,EAAGgI,GAAYtD,KAAKuuD,IAAIsiW,GAAS,SAGnD,IAGLzqZ,EAAOk5B,uBAEAl5B,IAMH,OACA,SAAUlN,EAAQC,EAASkB,GAEjC,aAIA,IAAIovR,OAAa,EAEjBvwR,EAAOC,QAAU,SAAUkC,GAAS,OAAOA,IAAUouR,GAAwB,OAAVpuR,IAK7D,OACA,SAAUnC,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBuW,EAAMvW,EAAoB,QAE9B,SAASw3B,EAAWjpB,EAAImpB,EAAQs/B,GAC5B,IAAIrxC,EAAapX,EAAGymB,YAChByjB,EAAU9yB,EAAW,IAAMqxC,EAAY,gBAC3C,GAAGve,EAAS,CACR,IAEI5a,EAFA64X,EAA6C,SAAhC/wY,EAAWmhP,YAAY5lQ,KAGxC,OAAO81D,GACH,IAAK,aACL,IAAK,MACL,IAAK,WACDn5B,EAAW,UACX,MACJ,IAAK,UACDA,EAAW,qBACX,MACJ,QACIA,EAAW,qBAGnBnG,EAAOpoB,UAAUuuB,GAAUjuB,MAAK,SAASvP,GACrC,IAAIspB,EAAYtpB,EAAEspB,UAClB,GAAGA,EAAW,CACVA,EAAUs7C,MAASyxV,GAAc/sY,EAAUsvL,KAAQ,EAAIxgK,EAAU9uB,EAAU5I,SAE3E,IAAIiS,EAAKlkB,EAAGO,OAAO7M,MAAM6M,OAAO,QAChC2jB,EAAGvL,KAAK,YAAalR,EAAIq0P,iBAAiBjhP,SAM1D,SAASy8O,EACLpvM,EACArtC,EACAhE,GAEA,GAAGA,EAAWmhP,YAAY5lQ,KAAM,CAC5B,IAAIy1Z,EAASC,EAAU5/V,GACnBve,EAAU9yB,EAAWmhP,YAAY+vJ,QACjCpzY,EAAOkG,EAAUs7C,MAAQt7C,EAAU5I,SAEvC4I,EAAUsvL,KAAOx1L,EAAOg1B,EAExB9yB,EAAWgxY,GAAUhxY,EAAWgxY,IAAWxsZ,IACvCwf,EAAUsvL,OACVtzL,EAAWgxY,GAAUhxZ,KAAKoC,IACtB4d,EAAWgxY,GACXhxZ,KAAKqC,IAAIyb,EAAMg1B,MAM/B,SAASy3I,EACLl5H,EACArxC,GAEA,IAAIgxY,EAASC,EAAU5/V,GACvBrxC,EAAWgxY,QAAUv3Z,EAGzB,SAASw3Z,EAAU5/V,GACf,MAAO,IAAMA,EAAY,eAG7Bn4D,EAAOC,QAAU,CACbsnQ,kBAAmBA,EACnBl2E,iBAAkBA,EAClB14J,WAAYA,IAMV,OACA,SAAU34B,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BwuK,EAAaxuK,EAAoB,QACjCswC,EAAQtwC,EAAoB,QAC5B82Z,EAAyB92Z,EAAoB,QAAQ82Z,uBAkIzD,SAASC,EAAavoZ,EAAOywF,GACzB,IAAI/+F,EAAGsE,EAAGG,EAAG8iB,EAAMuvY,EAAU38U,EAAW48U,EAAUzxY,EAAY0xY,EAC1DC,EAEAhqY,EAAO8xE,EAAMt1E,UACbytY,EAAiBn4T,EAAMm4T,eACvB7wW,EAAS/3C,EAAMgX,WAAW4xY,GAAgB7wW,OAC1C8wW,EAAyBP,EAAuBtoZ,EAAMgX,WAAY2H,GAEtE,IAAK5W,EAAIo8D,oBAAoBpsB,IAA8B,IAAlBA,EAAOpnD,OAC5C,MAAO,CAACqP,GAGZ,IAAI8oZ,EAAa/gZ,EAAIuhS,aAAavxP,GAC9BgxW,EAAU,IAAI1zZ,MAAMyzZ,EAAWn4Z,QAC/BiuB,EAAMm5B,EAAOpnD,OAEbq4Z,EAAahpP,EAAWg+H,oBAAoBh+R,GAE5C63K,EAASl5J,EAAKk5J,QAAU,GACxBoxO,EAAc,GAClB,IAAIv3Z,EAAI,EAAGA,EAAImmL,EAAOlnL,OAAQe,IAC1Bu3Z,EAAYpxO,EAAOnmL,GAAG2vB,QAAUw2J,EAAOnmL,GAAGc,MAG3CmsB,EAAKk5J,SACJ8wO,EAAe5gZ,EAAI8zN,eAAel9M,EAAM,SAAU,SAAU,eAIhE,IAAI05P,EAAc,GACd6wI,EAAY,GAEhB,IAAIx3Z,EAAI,EAAGA,EAAIo3Z,EAAWn4Z,OAAQe,IAAK,CACnCm6E,EAAYi9U,EAAWp3Z,GACvB2mR,EAAYxsM,GAAan6E,EACzBw3Z,EAAUr9U,GAAa,EAGvB48U,EAAWM,EAAQr3Z,GAAKqW,EAAIm1Y,mBAAmB,GAAIl9Y,GACnDyoZ,EAAS9tL,OAAS9uJ,EAClB48U,EAASzxY,WAAW4xY,GAAgBjhE,eAAiB,GAErD,IAAIwhE,EAAe,KAsBnB,IArBGR,IACCQ,EAAeR,EAAav2Z,IAAIy5E,IAIhC48U,EAAS32Z,KADVq3Z,GAAiC,KAAjBA,EACCA,EAEAphZ,EAAI+tG,eAAen3F,EAAKyqY,WAAY,CAChDppZ,MAAOA,EAAMlO,KACb0Q,MAAOqpE,IAUf70D,EAAayxY,EAASzxY,WACtByxY,EAASzxY,WAAa,GAClBhhB,EAAI,EAAGA,EAAIghB,EAAWrmB,OAAQqF,IAC9ByyZ,EAASzxY,WAAWhhB,GAAK+R,EAAIm1Y,mBAAmB,GAAIlmY,EAAWhhB,IAInE,IAAIA,EAAI,EAAGA,EAAIgzZ,EAAWr4Z,OAAQqF,IAC9B+R,EAAImyC,eAAeuuW,EAAUO,EAAWhzZ,IAAIqJ,IAAI,IAOxD,IAAIlJ,EAAI,EAAGA,EAAI6yZ,EAAWr4Z,OAAQwF,IAAK,CAInC,IAHA8iB,EAAO+vY,EAAW7yZ,GAGdH,EAAI,EAAG0yZ,EAAc,GAAI1yZ,EAAI8yZ,EAAWn4Z,OAAQqF,IAChD0yZ,EAAY1yZ,GAAK+R,EAAImyC,eAAe6uW,EAAQ/yZ,GAAIijB,GAAM7mB,MAO1D,IAHAo2Z,EAAWzgZ,EAAImyC,eAAel6C,EAAOiZ,GAAM7mB,MAGvC4D,EAAI,EAAGA,EAAI4oB,EAAK5oB,IAEhB0yZ,EAAYrwI,EAAYtgO,EAAO/hD,KAAKxB,KAAKg0Z,EAASxyZ,IAI1D,IAAIA,EAAI,EAAGA,EAAI4oB,EAAK5oB,IAAK,CACrByyZ,EAAWM,EAAQ1wI,EAAYtgO,EAAO/hD,KAEtC,IAAIqzZ,EAAgBZ,EAASzxY,WAAW4xY,GAAgBjhE,eACxD0hE,EAAcH,EAAUnxW,EAAO/hD,KAAO6yZ,EAAuB7yZ,GAC7DkzZ,EAAUnxW,EAAO/hD,MAGrB,IAAItE,EAAI,EAAGA,EAAIo3Z,EAAWn4Z,OAAQe,IAC9Bm6E,EAAYi9U,EAAWp3Z,GACvB+2Z,EAAWM,EAAQr3Z,GAEnBowC,EAAMwnX,gCAAgCb,GAItCA,EAAW1gZ,EAAIm1Y,mBAAmBuL,EAAUQ,EAAYp9U,IAAc,IAG1E,OAAOk9U,EAnPXz4Z,EAAQsT,WAAa,YAErBtT,EAAQwB,KAAO,UAEfxB,EAAQgM,WAAa,CACjBo5B,QAAS,CACLhhB,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdgjC,OAAQ,CACJrjC,QAAS,aACTC,KAAM,GAENI,SAAU,QAGdq0Y,WAAY,CACR10Y,QAAS,SAETK,SAAU,QAGd8iK,OAAQ,CACJ/V,iBAAkB,QAClBzgJ,OAAQ,CACJ3M,QAAS,SAETK,SAAU,QAGdviB,MAAO,CACHkiB,QAAS,MAETC,KAAM,GACNI,SAAU,OAEVw0Y,gBAAgB,GAEpBx0Y,SAAU,QAEdA,SAAU,QAkBdzkB,EAAQ0T,eAAiB,SAASwlZ,EAAah/V,EAAU3R,GACrD,IAAInnD,EACA+3Z,EAAe,GAEnB,SAASvlX,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOslX,EAAaC,EAAcn5Z,EAAQgM,WAAY2c,EAAMtE,GAG3E,IAAI+gB,EAAUwO,EAAO,WAErB,IAAIxO,EAAS,OAAO+zX,EAEpBvlX,EAAO,UACPA,EAAO,aAAc2U,EAAOqwO,YAAc,EAAI,sBAAwB,YAEtE,IAAIwgI,EAAUF,EAAY3xO,OACtB8xO,EAAWF,EAAa5xO,OAAS,GAErC,GAAG6xO,EACC,IAAIh4Z,EAAI,EAAGA,EAAIg4Z,EAAQ/4Z,OAAQe,IAAK,CAChC,IAAIk4Z,EAAYD,EAASj4Z,GAAK,GAC9BqW,EAAIm8B,OAAOwlX,EAAQh4Z,GAAIi4Z,EAASj4Z,GAAIpB,EAAQgM,WAAWu7K,OAAQ,UAC/D,IAAIrlL,EAAQuV,EAAIm8B,OAAOwlX,EAAQh4Z,GAAIi4Z,EAASj4Z,GAAIpB,EAAQgM,WAAWu7K,OAAQ,SAKxE9vK,EAAIuqD,cAAc9/D,GAAQo3Z,EAAUp3Z,MAAQuV,EAAIoiH,WAAW,GAAI33H,GAC1DA,UAAco3Z,EAAUp3Z,MAIxC,OAAOi3Z,GAoBXn5Z,EAAQ6qB,UAAY,SAASxe,EAAM8zF,GAC/B,IAAIo5T,EAAWn4Z,EAAGsE,EACd+yZ,EAAU,GAEd,IAAIr3Z,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IAGxB,IAFAm4Z,EAAYtB,EAAa5rZ,EAAKjL,GAAI++F,GAE9Bz6F,EAAI,EAAGA,EAAI6zZ,EAAUl5Z,OAAQqF,IAC7B+yZ,EAAQv0Z,KAAKq1Z,EAAU7zZ,IAI/B,OAAO+yZ,IA4HL,OACA,SAAU14Z,EAAQC,EAASkB,GAEjC,aAGA,IAAIkC,EAAclC,EAAoB,QAClCs4Z,EAAsBt4Z,EAAoB,QAC1C4H,EAAc5H,EAAoB,QAItC,SAASu4Z,EAAkBxxZ,GACzBA,EAAMH,KAAK0xZ,GAGX,IAFA,IAAI92Z,EAAIuF,EAAM5H,OACVgI,EAAM,EACFjH,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrB,IAAIV,EAAIuH,EAAM7G,GACVM,EAAIoH,EAAYpI,GACpB,GAAS,IAANgB,EAAH,CAGA,GAAG2G,EAAM,EAAG,CACV,IAAI6gC,EAAIjhC,EAAMI,EAAI,GAClB,GAAyB,IAAtBjF,EAAY1C,EAAGwoC,IACfpgC,EAAYogC,KAAUxnC,EAAG,CAC1B2G,GAAO,EACP,UAGJJ,EAAMI,KAAS3H,GAGjB,OADAuH,EAAM5H,OAASgI,EACRJ,EAvBTlI,EAAOC,QAAUy5Z,GA6BX,OACA,SAAU15Z,EAAQC,EAASkB,GAEjC,IAAI+lF,EAAQ/lF,EAAoB,QAE5B2wP,EAAc,kBAEd5rG,EAAW,SAAUjjF,EAAS02V,GAChC,IAAIx3Z,EAAQmK,EAAKkI,EAAUyuD,IAC3B,OAAO9gE,GAASy3Z,GACZz3Z,GAAS03Z,IACW,mBAAbF,EAA0BzyU,EAAMyyU,KACrCA,IAGJnlZ,EAAY0xI,EAAS1xI,UAAY,SAAU+iR,GAC7C,OAAOr3R,OAAOq3R,GAAQ/9Q,QAAQs4O,EAAa,KAAKt2O,eAG9ClP,EAAO45I,EAAS55I,KAAO,GACvButZ,EAAS3zQ,EAAS2zQ,OAAS,IAC3BD,EAAW1zQ,EAAS0zQ,SAAW,IAEnC55Z,EAAOC,QAAUimJ,GAKX,OACA,SAAUlmJ,EAAQC,EAASkB,GAEjC,aAWA,IAAIu4B,EAAcv4B,EAAoB,QAAQu4B,YAC1CwsU,EAAmB/kW,EAAoB,QAAQ+kW,iBAEb,CAClC,mEACA,yGACAxsU,EACA,wCACA,sHACAwsU,EACA,8CACF5hW,KAAK,KAEP,SAASw1Z,EAAkBhoY,GACvB,IAAIioY,EAAWjoY,EAAMsmW,YAAc,IAAMtmW,EAAMsmW,YAAc,GACzD1vU,EAAO52B,EAAM42B,MAAQ,GACzB,GAAGA,EAAKpoD,OAAS,EAAG,CAEhB,IADA,IAAI05Z,EAAa,GACT34Z,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IAC5B24Z,EAAW34Z,GAAK,IAAMqnD,EAAKrnD,GAAK,IAEpC04Z,GAAsB,8CAElBA,EADe,IAAhBrxW,EAAKpoD,OACO,YAAc05Z,EAAW,GAEzB,aAAeA,EAAW10Z,MAAM,GAAI,GAAGhB,KAAK,MAAQ,QAAU01Z,EAAW10Z,OAAO,GAAK,IAGxG,OAAOy0Z,EAGX95Z,EAAQ8jB,mBAAqB,SAASuK,EAAMwD,GACxCxD,EAAOA,GAAQ,GACfwD,EAAQA,GAAS,GAEFgoY,EAAkBhoY,GAAjC,IAEIxM,EAAgB,CAChBjB,QAAS,SAETC,KAAM,GACNI,SAAU4J,EAAK5J,UAAY,QAQ/B,OAJoB,IAAjB4J,EAAKlJ,UACJE,EAAcF,SAAU,GAGrBE,GAGXrlB,EAAQ0qF,kBAAoB,SAASr8D,EAAMwD,GACvCxD,EAAOA,GAAQ,GACfwD,EAAQA,GAAS,GAEFgoY,EAAkBhoY,GAAjC,IAEIo5D,EAAe,CACf7mE,QAAS,SAETC,KAAM,GACNI,SAAU4J,EAAK5J,UAAY,QAO/B,OAHoB,IAAjB4J,EAAKlJ,UACJ8lE,EAAa9lE,SAAU,GAEpB8lE,IAML,OACA,SAAUlrF,EAAQC,EAASkB,GAEjC,aAKA,IAWI2xJ,EAAgBmnQ,EAAcC,EAX9B14Z,EAAuBL,EAAoB,QAC3CyxJ,EAAuBzxJ,EAAoB,QAC3Cg5Z,EAAuBh5Z,EAAoB,QAAQc,OACnDm4Z,EAAuBj5Z,EAAoB,QAC3Ck5Z,EAAuBl5Z,EAAoB,QAC3Cm5Z,EAAuBn5Z,EAAoB,QAE3CqB,EAASZ,OAAOY,OAChBs0D,EAAmBl1D,OAAOk1D,iBAC1Bj1D,EAAiBD,OAAOC,eAI5B,GAA4B,oBAAjBs4Z,EACV,IACCj6Z,OAAOi6Z,KACPD,GAAe,EACd,MAAOK,SAETJ,EAAe,KAKhBF,EAAe,SAAgB7hC,GAC9B,GAAIz0X,gBAAgBs2Z,EAAc,MAAM,IAAIljW,UAAU,+BACtD,OAAO+7F,EAAeslO,IAKvBp4X,EAAOC,QAAU6yJ,EAAiB,SAAS7wJ,EAAOm2X,GACjD,IAAInqS,EACJ,GAAItqF,gBAAgB1B,EAAQ,MAAM,IAAI80D,UAAU,+BAChD,OAAImjW,EAAqBC,EAAa/hC,IACtCnqS,EAASzrF,EAAOy3Z,EAAan3Z,WAC7Bs1X,OAA8B73X,IAAhB63X,EAA4B,GAAKl4X,OAAOk4X,GAC/CthU,EAAiBm3B,EAAQ,CAC/BusU,gBAAiBh5Z,EAAE,GAAI42X,GACvBqiC,SAAUj5Z,EAAE,GAAI44Z,EAAahiC,QAI/BiiC,EAAqBvnQ,GACrBwnQ,EAAoBxnQ,GAGpBh8F,EAAiBmjW,EAAan3Z,UAAW,CACxC47B,YAAal9B,EAAEsxJ,GACfr1I,SAAUjc,EAAE,IAAI,WAAc,OAAOmC,KAAK82Z,cAK3C3jW,EAAiBg8F,EAAehwJ,UAAW,CAC1C2a,SAAUjc,GAAE,WAAc,MAAO,WAAaoxJ,EAAejvJ,MAAM62Z,gBAAkB,OACrFx3L,QAASxhO,GAAE,WAAc,OAAOoxJ,EAAejvJ,WAEhD9B,EACCixJ,EAAehwJ,UACfgwJ,EAAep6F,YACfl3D,EAAE,IAAI,WACL,IAAIysF,EAAS2kE,EAAejvJ,MAC5B,MAAsB,kBAAXsqF,EAA4BA,EAChCA,EAAOxwE,eAGhB5b,EAAeixJ,EAAehwJ,UAAWgwJ,EAAe5wJ,YAAaV,EAAE,IAAK,WAG5EK,EACCo4Z,EAAan3Z,UAAWgwJ,EAAe5wJ,YACvCV,EAAE,IAAKsxJ,EAAehwJ,UAAUgwJ,EAAe5wJ,eAOhDL,EACCo4Z,EAAan3Z,UAAWgwJ,EAAep6F,YACvCl3D,EAAE,IAAKsxJ,EAAehwJ,UAAUgwJ,EAAep6F,gBAM1C,KACA,SAAU14D,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAC9BugE,aAAcvgE,EAAoB,QAClCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1B2P,MAAO3P,EAAoB,QAAQ2P,MACnC6wD,cAAexgE,EAAoB,QAAQwgE,cAC3C7tD,YAAa3S,EAAoB,QACjC4S,aAAc5S,EAAoB,QAClC21B,UAAW31B,EAAoB,QAE/BoS,WAAY,QACZ9R,KAAM,iBACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,UAAW,UAAW,aAAc,gBACjDC,KAAM,KASJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAaAnB,EAAOC,QAAU,SAAe2kB,EAAMw0D,GAGlC,IAFA,IAAIgB,EAAOx1D,EAAKtkB,OACZg5E,EAAQ,EACJj4E,EAAI,EAAGA,EAAI+4E,EAAM/4E,IAClB+3E,EAAO/3E,IACNujB,EAAKvjB,IAAM+3E,EAAO/3E,GAClBi4E,GAAS10D,EAAKvjB,IACXujB,EAAKvjB,GAAK,KAErB,OAAOi4E,IAML,KACA,SAAUt5E,EAAQC,GAYxB,SAAS27I,EAAWrsI,EAAG2F,EAAGlF,GACtB,IAAIgR,EAAM,IAAI+G,aAAa,GAI3B,OAHA/G,EAAI,GAAKzR,EACTyR,EAAI,GAAK9L,EACT8L,EAAI,GAAKhR,EACFgR,EAfXhhB,EAAOC,QAAU27I,GAoBX,KACA,SAAU57I,EAAQC,GAWxB,SAASwU,EAAMuM,EAAKvgB,GAIlB,OAHAugB,EAAI,GAAKla,KAAK2N,MAAMhU,EAAE,IACtBugB,EAAI,GAAKla,KAAK2N,MAAMhU,EAAE,IACtBugB,EAAI,GAAKla,KAAK2N,MAAMhU,EAAE,IACfugB,EAbThhB,EAAOC,QAAUwU,GAmBX,OACA,SAAUzU,EAAQC,EAASkB,GAEjC,aAYAlB,EAAQy6Z,OAASv5Z,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8mV,EAAU9mV,EAAoB,QAE9BuW,EAAMvW,EAAoB,QAC1Bw5Z,EAAUx5Z,EAAoB,QAC9BuvC,EAAevvC,EAAoB,QAAQuvC,aAE3CkqX,EAAcz5Z,EAAoB,QAClC8vE,EAAiB2pV,EAAY3pV,eAC7B01J,EAAoBi0L,EAAYj0L,kBAChCuyH,EAAkB0hE,EAAY1hE,gBAC9B5yR,EAAiBnlE,EAAoB,QACrCmpD,EAAUnpD,EAAoB,QAC9B+lZ,EAAc/lZ,EAAoB,QAElCmxC,EAASnxC,EAAoB,QAAQmxC,OACrC4+B,EAAkB/vE,EAAoB,QAAQ+vE,gBAmGlD,SAAS2pV,EAAmBlrZ,EAAOsX,EAAIqH,GACnC,IAAIk0R,EAAW7yS,EAAM8gC,UAAUxpB,EAAGsW,KAC9Bu9X,EAASpqX,EAAazpB,EAAIqH,EAAKysY,MAAO,CAACn1U,QAAQ,IACnD48N,EAASt5S,IAAMs5S,EAASt5S,IAAIJ,OAAOgyZ,EAAO5xZ,KAC1Cs5S,EAASr5S,IAAMq5S,EAASr5S,IAAIL,OAAOgyZ,EAAO3xZ,KAG9C,SAAS6xZ,EAAatrZ,EAAI+T,EAAS9T,EAAO1B,EAAWsB,EAAG2F,GACpD,IAAIoZ,EAAOg8B,EAAQx5C,MAAMpB,EAAIC,GAa7B,GAXG2e,EAAK2K,SACJ3K,EAAK2K,OAAOhrB,UAAYA,GAGzBqgB,EAAK4K,MAAQjrB,EAAU3N,OAAS,GAC/BoX,EAAIuM,WACAqK,EAAK4K,KACLoxB,EAAQvD,cAAcr3C,EAAIC,EAAO1B,IAItCqgB,EAAK2sY,QAAU3sY,EAAK4sY,OAAQ,CAC3B,IAAI19V,EAASlT,EAAQ6wW,kBAAkBzrZ,EAAIC,EAAO1B,EAAWsB,EAAG2F,GAE7DoZ,EAAK2sY,QACJvjZ,EAAIuM,WAAWqK,EAAK2sY,OAAQz9V,EAAOjuD,GAEpC+e,EAAK4sY,QACJxjZ,EAAIuM,WAAWqK,EAAK4sY,OAAQ19V,EAAOtoD,GAsB3C,OAlBGoZ,EAAKle,OACJsH,EAAIuM,WACAqK,EAAKle,KACL,CAACnC,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAK2K,SAEpDvhB,EAAIuM,WACAqK,EAAKi5X,QACL,CAACt5Y,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAK+4X,YAEpD3vY,EAAIuM,WACAqK,EAAKk5X,UACL,CAACv5Y,UAAWA,GACZq8C,EAAQ0qT,aAAatlW,EAAIC,EAAO2e,EAAKle,KAAMke,EAAKg5X,eAIjDh5X,EAnJXtuB,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAQItO,EAAGunK,EAAIC,EARP/hJ,EAAapX,EAAGymB,YAChB+B,EAAKyiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMiY,OACjC2Q,EAAKoiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMkY,OACjCpE,EAAUqD,EAAWk/B,OAAOr2C,EAAMiY,MAAQjY,EAAMkY,OAChD0G,EAAM5e,EAAM6I,QACZ4iZ,EAAmB7sY,GAAO2iD,EAC1B2+D,EAAa,EAANthH,EACPpL,EAAQ,GAGR5T,EAAII,EAAM6/B,GAAKtX,EAAGyX,aAAahgC,EAAO,KACtCuF,EAAIvF,EAAM8/B,GAAKlX,EAAGoX,aAAahgC,EAAO,KAItC1B,EAAY,IAAIjJ,MAAM6qI,GAC1B,IAAIxuI,EAAI,EAAGA,EAAIktB,EAAKltB,IAChBunK,EAAKr5J,EAAElO,GACPwnK,EAAK3zJ,EAAE7T,GACP4M,EAAc,EAAJ5M,GAASunK,IAAOt2H,EAAS2uB,IAAM2nG,EACzC36J,EAAc,EAAJ5M,EAAQ,GAAKwnK,IAAOv2H,EAAS2uB,IAAM4nG,EAGjD,GAAe,QAAZ3wI,EAAG7jB,KACF,IAAIhT,EAAI,EAAGA,EAAIwuI,EAAMxuI,GAAK,EACtB4M,EAAU5M,GAAK62B,EAAG5Q,IAAIrZ,EAAU5M,IAGxC,GAAe,QAAZk3B,EAAGlkB,KACF,IAAIhT,EAAI,EAAGA,EAAIwuI,EAAMxuI,GAAK,EACtB4M,EAAU5M,GAAKk3B,EAAGjR,IAAIrZ,EAAU5M,IAMxC,GAAG+5Z,GAAiC,QAAZljY,EAAG7jB,MAA8B,QAAZkkB,EAAGlkB,KAE5C8O,EAAM0kD,KAAOogR,EAAQh6U,OAClB,CACH,IAAImmF,EAAMjxE,EAAMixE,IAAM,IAAIpvF,MAAMupB,GAChC,IAAIltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAChB+yF,EAAI/yF,GAAKA,EAKjBilE,EAAe52D,EAAIC,GACnB,IAOI6hE,EAPAljD,EAAO0sY,EAAatrZ,EAAI+T,EAAS9T,EAAO1B,EAAWsB,EAAG2F,GACtDlJ,EAAQk7Y,EAAYx3Y,EAAI+T,GA4C5B,OAvCAy1U,EAAgBpyU,EAAYnX,GAExByrZ,EAEM9sY,EAAK2K,SACXu4C,EAAO,GAAKljD,EAAK2K,OAAOw4C,SAAW3qE,KAAKqC,IAAImlB,EAAK2K,OAAOrU,KAAM,KAF9D4sD,EAAOP,EAAethE,EAAO4e,GAIjCo4M,EAAkBj3N,EAAIC,EAAOuoB,EAAIK,EAAIhpB,EAAG2F,EAAGs8D,GACxCljD,EAAK2sY,QAAQJ,EAAmBlrZ,EAAOuoB,EAAI5J,EAAK2sY,QAChD3sY,EAAK4sY,QAAQL,EAAmBlrZ,EAAO4oB,EAAIjK,EAAK4sY,QAGhD5sY,EAAK1b,OAAS5G,EAAMw7J,SAAQx7J,EAAMw7J,QAAS,GAC3Cl5I,EAAK2K,SAAWjtB,EAAMu7J,YAAWv7J,EAAMu7J,WAAY,GACnDj5I,EAAK4K,OAASltB,EAAMs7J,SAAQt7J,EAAMs7J,QAAS,IAC1Ch5I,EAAK2sY,SAAU3sY,EAAK4sY,QAAYlvZ,EAAMq7J,UAASr7J,EAAMq7J,SAAU,GAChE/4I,EAAKle,OAASpE,EAAMy7J,SAAQz7J,EAAMy7J,QAAS,GAC3Cn5I,EAAK2K,SAAQ3K,EAAK2K,OAAOoiY,KAAO9sY,GAEnCviB,EAAM87J,YAAY3jK,KAAKmqB,EAAK4K,MAC5BltB,EAAMm8J,cAAchkK,KAAKmqB,EAAK2sY,QAC9BjvZ,EAAMo8J,cAAcjkK,KAAKmqB,EAAK4sY,QAC9BlvZ,EAAMu8J,YAAYpkK,KAAKmqB,EAAK1b,MAC5B5G,EAAMq8J,cAAclkK,KAAKmqB,EAAK2K,QAC9BjtB,EAAM29J,sBAAsBxlK,KAAKmqB,EAAK+4X,WACtCr7Y,EAAM09J,wBAAwBvlK,KAAKmqB,EAAKg5X,aACxCt7Y,EAAM67J,YAAY1jK,KAAKmqB,EAAKle,MAC5BpE,EAAMonM,oBAAoBjvM,KAAKmqB,EAAKi5X,SACpCv7Y,EAAMqnM,sBAAsBlvM,KAAKmqB,EAAKk5X,WACtCx7Y,EAAM0qB,YAAYvyB,KAAK,IACvB6H,EAAM2qB,cAAcxyB,KAAK,IAEzBgf,EAAMg2E,OAASntF,EACfmX,EAAMpf,MAAQiI,EAAM2/D,MACpBxoD,EAAM5T,EAAIA,EACV4T,EAAMjO,EAAIA,EACViO,EAAMlV,UAAYA,EAClBjC,EAAM2/D,QAEC,CAAC,CAACp8D,GAAG,EAAO2F,GAAG,EAAO9S,EAAG+gB,EAAOxT,MAAOA,MA2D5C,OACA,SAAU3P,EAAQC,GAWxB,SAASu1J,EAASx0I,EAAKvgB,GAKrB,OAJAugB,EAAI,GAAK,EAAMvgB,EAAE,GACjBugB,EAAI,GAAK,EAAMvgB,EAAE,GACjBugB,EAAI,GAAK,EAAMvgB,EAAE,GACjBugB,EAAI,GAAK,EAAMvgB,EAAE,GACVugB,EAdThhB,EAAOC,QAAUu1J,GAoBX,OACA,SAAUx1J,EAAQC,EAASkB,GAEjC,aAGA,IAAIm6Z,EAAsBn6Z,EAAoB,QAC1Co6Z,EAAYp6Z,EAAoB,QAChCq6Z,EAAer6Z,EAAoB,QACnCs6Z,EAAsBt6Z,EAAoB,QAI9C,SAASu6Z,EAAiBh9Y,GACxB,MAAO,CAAC5X,KAAKoC,IAAIwV,EAAE,GAAIA,EAAE,IAAK5X,KAAKqC,IAAIuV,EAAE,GAAIA,EAAE,KAGjD,SAASi9Y,EAAYl7Z,EAAGC,GACtB,OAAOD,EAAE,GAAGC,EAAE,IAAMD,EAAE,GAAGC,EAAE,GAG7B,SAASk7Z,EAAkB3qQ,GACzB,OAAOA,EAAM50G,IAAIq/W,GAAkB3zZ,KAAK4zZ,GAG1C,SAASE,EAAW9vZ,EAASlJ,EAAUyhB,GACrC,OAAGzhB,KAAYkJ,EACNA,EAAQlJ,GAEVyhB,EAGT,SAASw3Y,EAAM52Z,EAAQ+rJ,EAAOllJ,GAExB/G,MAAM0J,QAAQuiJ,IAIhBllJ,EAAUA,GAAW,GACrBklJ,EAAQA,GAAS,KAJjBllJ,EAAUklJ,GAAS,GACnBA,EAAQ,IAOV,IAAI2pL,IAAaihF,EAAW9vZ,EAAS,YAAY,GAC7ClH,IAAag3Z,EAAW9vZ,EAAS,YAAY,GAC7CgwZ,IAAaF,EAAW9vZ,EAAS,YAAY,GAC7CiwZ,IAAaH,EAAW9vZ,EAAS,YAAY,GAGjD,IAAKlH,IAAak3Z,GAA+B,IAAlB72Z,EAAO5E,OACpC,MAAO,GAIT,IAAI4H,EAAQozZ,EAAoBp2Z,EAAQ+rJ,GAGxC,GAAG2pL,GAAY/1U,IAAak3Z,GAAYC,EAAU,CAIhD,IADA,IAAI7hL,EAAgBohL,EAAUr2Z,EAAO5E,OAAQs7Z,EAAkB3qQ,IACvD5vJ,EAAE,EAAGA,EAAE6G,EAAM5H,SAAUe,EAAG,CAChC,IAAI8nC,EAAIjhC,EAAM7G,GACd84O,EAAcy3J,YAAYzoW,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAS1C,OALGyxS,GACD4gF,EAAat2Z,EAAQi1O,GAInB4hL,EAEOl3Z,EAEDm3Z,EACDP,EAAoBthL,EAAe,EAAG6hL,GAEtC7hL,EAAcjyO,QAJduzZ,EAAoBthL,EAAgB,EAAG6hL,GAFvCP,EAAoBthL,GAAgB,GAU7C,OAAOjyO,EAxEXlI,EAAOC,QAAU67Z,GA+EX,KACA,SAAU97Z,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAGA,IAAIK,EAAIL,EAAoB,QAExBqB,EAASZ,OAAOY,OAAQX,EAAiBD,OAAOC,eAAgBo6Z,EAAer6Z,OAAOkB,UAEtFo5Z,EAAU15Z,EAAO,MACrBxC,EAAOC,QAAU,SAAU0oL,GAC1B,IAAiBlnL,EAAM06Z,EAAnBrP,EAAU,EACd,MAAOoP,EAAQvzO,GAAQmkO,GAAW,OAAQA,EAkB1C,OAjBAnkO,GAAQmkO,GAAW,GACnBoP,EAAQvzO,IAAQ,EAChBlnL,EAAO,KAAOknL,EACd9mL,EACCo6Z,EACAx6Z,EACAD,EAAEqzD,GAAG,MAAM,SAAU1yD,GAKhBg6Z,IACJA,GAAoB,EACpBt6Z,EAAe8B,KAAMlC,EAAMD,EAAEW,IAC7Bg6Z,GAAoB,OAGf16Z,IAMF,KACA,SAAUzB,EAAQC,EAASkB,GAEjC,cAC4B,SAASo4F,GAErCv5F,EAAOC,QAAUm8Z,EAEjB,IAAIjwM,EAAgBhrN,EAAoB,QAEpCk7Z,EAAU9nY,QAAUglE,EAAQC,QAAU,GACtC8iU,EAAgBD,EAAQC,cAAgB,GAG5C,SAASr1V,EAAO4sL,GAMd,IALA,IAAI3rP,EAAY2rP,EAAK3rP,MACjB+F,EAAY4lP,EAAK5lP,UACjB3B,EAAY,IAAIyb,aAA4B,EAAf7f,EAAM5H,QACnCgI,EAAY,EACZi0Z,EAAY,EACRl7Z,EAAE,EAAGA,EAAE6G,EAAM5H,SAAUe,EAE7B,IADA,IAAIm7Z,EAAMt0Z,EAAM7G,GACRsE,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB,IAAIS,EAAQ6H,EAAUuuZ,EAAI72Z,IAC1B2G,EAAKhE,KAASlC,EAAM,GACpBkG,EAAKhE,KAASlC,EAAM,GAAK,IACzBm2Z,EAAcz1Z,KAAKqC,IAAI/C,EAAM,GAAIm2Z,GAGrC,MAAO,CACLjwZ,KAAOA,EACPi2B,MAAOg6X,GAIX,SAASH,EAAQj6Y,EAAM/R,EAAMke,GACvBA,EAAOA,GAAQ,GAAnB,IACImuY,EAAYH,EAAan6Y,GACzBs6Y,IACFA,EAAYH,EAAan6Y,GAAQ,CAC/B,IAAK,CACH7V,KAAQ,IAAIyb,aAAa,GACzBwa,MAAO,MAIb,IAAIsxN,EAAO4oK,EAAUrsZ,GACrB,IAAIyjP,EACF,GAAGzjP,EAAK9P,QAAU,IAAM,KAAKP,KAAKqQ,GAChCyjP,EAAO4oK,EAAUrsZ,GAAQ62D,EAAOklJ,EAAc/7M,EAAM,CAClDpK,WAAe,EACfmc,KAAeA,EACfmyJ,UAAehmJ,EAAKgmJ,WAAa,OACjCC,aAAe,aACfi4C,UAAW,CACPC,YAAY,EACPC,OAAO,EACTC,SAAS,EACZC,YAAY,EACdC,cAAc,UAGb,CAKL,IAJA,IAAIl7L,EAAQvhB,EAAKmB,MAAM,WACnBrG,EAAS,IAAIlG,MAAM2sB,EAAMrxB,QACzBo8Z,EAAa,EACbH,EAAS,EACLl7Z,EAAE,EAAGA,EAAEswB,EAAMrxB,SAAUe,EAC7B6J,EAAO7J,GAAK+6Z,EAAQj6Y,EAAMwP,EAAMtwB,IAChCq7Z,GAAcxxZ,EAAO7J,GAAGiL,KAAKhM,OAC7Bi8Z,GAAUrxZ,EAAO7J,GAAGkhC,MACjBlhC,EAAE,IACHk7Z,GAAU,KAId,IAAIjwZ,EAAO,IAAIyb,aAAa20Y,GACxBp0Z,EAAU,EACVwpQ,GAAW,GAAMyqJ,EACrB,IAAQl7Z,EAAE,EAAGA,EAAE6J,EAAO5K,SAAUe,EAAG,CAEjC,IADA,IAAI2qP,EAAQ9gP,EAAO7J,GAAGiL,KACd3G,EAAE,EAAGA,EAAEqmP,EAAM1rP,OAAQqF,GAAG,EAC9B2G,EAAKhE,KAAS0jP,EAAMrmP,GAAKmsQ,EACzBxlQ,EAAKhE,KAAS0jP,EAAMrmP,EAAE,GAExBmsQ,GAAW5mQ,EAAO7J,GAAGkhC,MAAQ,IAG/BsxN,EAAO4oK,EAAUrsZ,GAAQ,CACvB9D,KAAOA,EACPi2B,MAAOg6X,GAKZ,OAAO1oK,EAnFVwoK,EAAQC,aAAe,KAsFM97Z,KAAKmD,KAAMxC,EAAoB,UAItD,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBmvI,EAAYnvI,EAAoB,QAChCgrP,EAAkBhrP,EAAoB,QAEtCm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QACnC0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAC9Bi5G,EAAKj5G,EAAoB,QACzBsW,EAAOtW,EAAoB,QAC3BsvH,EAAYtvH,EAAoB,QAChCqvH,EAAcrvH,EAAoB,QAClCyoO,EAAUzoO,EAAoB,QAAQyoO,QACtCrvH,EAAkBp5G,EAAoB,QACtCq5G,EAAmBr5G,EAAoB,QAAQq5G,iBAE/C/oE,EAAQtwC,EAAoB,QAE5B6tC,EAAY7tC,EAAoB,QAAQ6tC,UACxC6rE,EAAa15G,EAAoB,QAAQ05G,WACzC+F,EAAcz/G,EAAoB,QAAQy/G,YAC1CpC,EAAgBr9G,EAAoB,QAAQq9G,cAC5C8gM,EAAYn+S,EAAoB,QAEhC2wC,EAAY3wC,EAAoB,QAChCisP,EAAUt7M,EAAUs7M,QACpB6nB,EAAUnjO,EAAUmjO,QAGpB+M,GAAiB,EAWrB,SAAStxJ,EAAYhhH,EAAIuC,EAAU1C,EAAG2F,EAAG0J,EAAGuzC,EAAG5vD,EAAIo6Z,GAO/C,IAKIC,EAAKC,EAELC,EAAQC,EAERnhT,EAAOE,EAEP9F,GAAIG,GAEJwF,GAAIE,GAIJrwC,GAEA0rE,GAEA8lR,GAASC,GAETC,GAEA5gY,GAAOE,GAEP2gY,GAAcC,GAAUC,GAExBC,GA7BAz6S,GAAYnzG,EAAGymB,YAAYolF,WAC3BgiT,GAAch7Z,EAAKo6Z,IAAO,OAC1Ba,GAAiC,KAApBj7Z,EAAKo6Z,GAAIr8Z,OA6B1B,SAASm9Z,KAcL,GAbAb,EAAM3qZ,EAAS2V,MACfi1Y,EAAM5qZ,EAAS4V,MACf8zF,GAAKihT,EAAIpkZ,QACTqjG,GAAKghT,EAAIrkZ,QACTw9F,GAAK4mT,EAAI/gY,QACTs6E,GAAK0mT,EAAIhhY,QAETihY,EAAS,GACTA,EAAOF,EAAIr/X,KAAOq/X,EAClBG,EAAS,GACTA,EAAOF,EAAIt/X,KAAOs/X,EAGft6Z,GAAMo6Z,EAEL,IADA,IAAIx2W,EAAWl0C,EAASk0C,SAChB9kD,EAAI,EAAGA,EAAI8kD,EAAS7lD,OAAQe,IAAK,CACrC,IAAI62B,EAAKiuB,EAAS9kD,GAAGumB,MACrBk1Y,EAAO5kY,EAAGqF,KAAOrF,EACjB,IAAIK,EAAK4tB,EAAS9kD,GAAGwmB,MACrBk1Y,EAAOxkY,EAAGgF,KAAOhF,EAIzBqjF,EAAQ8hT,EAAWZ,GACnBhhT,EAAQ4hT,EAAWX,GACnBC,GAAUW,EAAkB/hT,EAAO+gT,GACnCM,GAAUU,EAAkB7hT,EAAOv5G,GACnC26Z,IAAkBD,KAAYD,GAE9BxxV,GAAQoyV,EAAUluZ,EAAIA,EAAGymB,YAAYirR,sBAAuB07G,EAAQC,GACpE7lR,GAAU0mR,EAAUluZ,EAAIA,EAAGymB,YAAYg2F,iBAAkB2wS,EAAQC,GACjEzgY,GAAQqgY,GAAMnxV,GAAMqyV,sBAAwB3mR,GAAQ2mR,qBACpDrhY,GAAQj6B,GAAMipE,GAAMqyV,sBAAwB3mR,GAAQ2mR,qBAEpD,IAAI/2Y,EAAapX,EAAGymB,YACpBgnY,GAAer2Y,EAAWg0C,KAAK,aAC/BsiW,GAAWt2Y,EAAWg0C,KAAK,SAC3BuiW,GAASv2Y,EAAWg0C,KAAK,OAG7B2iW,KAEA,IAAI/rS,GAASosS,EAAcb,GAAUD,GAASttZ,EAAGymB,YAAYymC,SAAU2gW,IACnEn7I,GAAUhJ,EAAgBnnQ,EAAU1P,EAAKo6Z,EAAK,OAAQjrS,GAAQniH,EAAG2F,EAAG0J,EAAGuzC,GAK3E,GAAG+qW,KAAmBK,GAGlB,OAFAn7I,GAAQ3wJ,YAAc,KACtB2wJ,GAAQtxQ,MAAM66J,cAAgB,OACvBy2G,GAGX,IAwJIpqP,GAAIK,GAEJinI,GAEAu2G,GAEAn6J,GAEAk6J,GAEAmoJ,GAEAjoJ,GAEAz5J,GAEA2hT,GAxKAhjT,GAAc,CACdS,QAAS2mK,GACT1yQ,GAAIA,EACJuC,SAAUA,GAwFd,SAASgsZ,KAELjjT,GAAY/oG,SAAS5C,WAAY,EAEjCuxG,EAAYlxG,GAGhB,SAASyuG,GAAQC,EAAWC,GACxB,IAAIC,EAAY5uG,EAAGymB,YAAYmoF,UAM/B,GAJA+5J,EAAc3oQ,GAEG,IAAd0uG,GAAoBo/S,IAAW7mM,KAE/B4mM,GACIj/S,EAAUv4G,QAAQ,WAAa,GAC9By4G,EAAcH,EAAK3uG,EAAIksG,EAAOE,EAAO7pG,EAASlF,GAAIiuG,IAGnDsD,EAAUv4G,QAAQ,UAAY,GAC7Bq0G,EAAG1T,MAAMh3F,EAAI2uG,EAAKpsG,EAASlF,SAE5B,GAAiB,IAAdqxG,GAAmBo/S,GAAW,CACpC,IAAIv2Y,EAAK1kB,EAAKs6Z,EAAMD,EAChBj4Y,EAAc,MAAPpiB,GAAqB,MAAPo6Z,EAAc,EAAI,EACvCuB,EAAUj3Y,EAAGoX,MAAQ,UAAY1Z,EAAM,IACvCqQ,EAAcmpY,EAAWl3Y,EAAItC,GAC7By5Y,EAAS,OACTC,EAAS,SAEb,GAAGp3Y,EAAGs9E,WAAY,OAEfhiG,GACC87Z,EAAiB,MAAP97Z,EAAc,MAAQ,SACjB,UAAZ0kB,EAAG49B,OAAkBu5W,EAAS,UACpB,MAAPzB,IAAYyB,EAAS,SAE5B1uZ,EAAG+Y,SAASouM,yBACX5mN,EAAGO,OAAO4xQ,IACL5hR,KAAKkxC,EAAale,aAAc,CAC7B9jB,GAAIA,EACJumB,WAAW,EACXf,WAAYxlB,EAAGymB,YAAY+/D,cAC3B9lF,KAAMlQ,OAAO80B,GACbpiB,KAAMqU,EAAGqzB,SAAWrzB,EAAGqzB,SAASluC,MAAQ,OACxCumB,gBAAiByrY,EACjBvrY,cAAewrY,IAElBltZ,GAAG,QAAQ,SAASf,GACjB,IAAIvK,EAAIohB,EAAG0kG,IAAIv7G,QACN7P,IAANsF,GACCy0B,EAAS95B,KAAK,eAAgBkP,EAAIwuZ,EAASr4Z,OA4BnE,SAASmxQ,GAASt4P,EAAGo8F,EAAQC,GACzB,IAAIS,EAAW4mK,GAAQ95P,wBACvB0P,GAAK8iF,EAASU,EAASzmG,KACvBsjB,GAAK0iF,EAASS,EAASvoF,IACvBqsI,GAAM,CAACh+J,EAAG02B,GAAIh2B,EAAGg2B,GAAIpZ,EAAG,EAAGxc,EAAGi2B,GAAI33B,EAAG23B,GAAI85B,EAAG,GAC5C0jN,GAAMnmQ,EAAG4uZ,YACJ5uZ,EAAG6uZ,YAAc7uZ,EAAG4uZ,YACrBhuR,EAAU5gI,EAAGymB,YAAY8kC,cAAci8M,eAC3Cx7J,GAAQ,QAAUC,GAAK,IAAME,GAAK,OAClC+5J,IAAS,EACTmoJ,GAAW,KACXC,IAAc,EACdloJ,GAAKqB,EAAYt0J,GAAWgzJ,GAAK7/J,GAAIG,GAAIuF,IACzCW,GAAU+6J,EAAYv0J,GAAW7M,GAAIG,IAGzC,SAAS2hK,GAASh7O,EAAKI,GACnB,GAAGxtB,EAAG8uZ,2BACF,OAAO,EAGX,IAAIvmY,EAAKnxB,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAIyyG,GAAI7+E,EAAM9E,KACpCM,EAAKxxB,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI2yG,GAAI3+E,EAAM7E,KACpCwB,EAAK/yB,KAAK+R,IAAIof,EAAKD,IACnBnN,EAAK/jB,KAAK+R,IAAIyf,EAAKD,IAOvB,SAASomY,IACLV,GAAW,GACXz+P,GAAIt9J,EAAIs9J,GAAIh+J,EACZg+J,GAAIl9J,EAAIk9J,GAAI5+J,EACZ27G,GAAQzzF,KAAK,IAAK,SAGtB,GAZA02I,GAAIh+J,EAAIwF,KAAKoC,IAAI8uB,GAAIC,GACrBqnI,GAAIt9J,EAAI8E,KAAKqC,IAAI6uB,GAAIC,GACrBqnI,GAAIl9J,EAAI0E,KAAKoC,IAAImvB,GAAIC,GACrBgnI,GAAI5+J,EAAIoG,KAAKqC,IAAIkvB,GAAIC,GASlBkzC,GAAMqyV,qBACFhkY,EAAKo7O,GAAWpqP,EAAKoqP,GACpB8oJ,GAAW,KACRlkY,EAAK8hF,GAAK9wF,EAAKgxF,IACdhxF,EAAKgP,EAAKgiF,GAAKF,GACZtjF,GAAKC,EAAIgnI,GAAIl9J,EAAIi2B,GAAKxN,EACpBy0I,GAAI5+J,EAAI23B,GAAKxN,IAElBgP,EAAKhP,EAAK8wF,GAAKE,GACZ7jF,GAAKC,EAAIqnI,GAAIh+J,EAAI02B,GAAK6B,EACpBylI,GAAIt9J,EAAIg2B,GAAK6B,GAEtBwiF,GAAQzzF,KAAK,IAAK81Y,EAAUp/P,MAE5Bm/P,SAED,GAAGvnR,GAAQ2mR,qBACd,GAAGhkY,EAAKo7O,GAAWpqP,EAAKoqP,EAAS,CAC7B8oJ,GAAW,KAEX,IAAI59W,EAAKr5C,KAAKoC,IAAIo2J,GAAIh+J,EAAIq6G,IAAKE,GAAKyjD,GAAI5+J,GAAKm7G,IACzCvX,EAAKx9F,KAAKqC,IAAIm2J,GAAIt9J,EAAI25G,IAAKE,GAAKyjD,GAAIl9J,GAAKy5G,IAE7CyjD,GAAIh+J,EAAI6+C,EAAKw7D,GACb2jD,GAAIt9J,EAAIsiG,EAAKqX,GACb2jD,GAAI5+J,GAAK,EAAIy/C,GAAM07D,GACnByjD,GAAIl9J,GAAK,EAAIkiG,GAAMuX,GACnBQ,GAAQzzF,KAAK,IAAK81Y,EAAUp/P,UAE5Bm/P,SAEGxB,IAAWpyY,EAAK/jB,KAAKoC,IAAIpC,KAAKqC,IAAS,GAAL0wB,EAAUuzN,GAAU6nB,GAI1Dp7O,EAAKuzN,IAAY4vK,GAChByB,KAEAn/P,GAAIl9J,EAAI,EACRk9J,GAAI5+J,EAAIm7G,GACRkiT,GAAW,IACX1hT,GAAQzzF,KAAK,IAAK+1Y,EAASr/P,GAAKjnI,OAE7B2kY,IAAWnjY,EAAK/yB,KAAKoC,IAAS,GAAL2hB,EAAUoqP,IAC1C31G,GAAIh+J,EAAI,EACRg+J,GAAIt9J,EAAI25G,GACRoiT,GAAW,IACX1hT,GAAQzzF,KAAK,IAAKg2Y,EAASt/P,GAAKtnI,OAEhC+lY,GAAW,KACX1hT,GAAQzzF,KAAK,IAAK81Y,EAAUp/P,MAEhCA,GAAI1gJ,EAAI0gJ,GAAIt9J,EAAIs9J,GAAIh+J,EACpBg+J,GAAIntG,EAAImtG,GAAI5+J,EAAI4+J,GAAIl9J,EAEjB27Z,KAAUC,IAAc,GAC3BtuZ,EAAGq8N,SAAWiyL,GAEda,EAAc/oJ,GAAIz5J,GAASijD,GAAK5jD,GAAOk6J,GAAQC,IAC/CgC,KACAnoQ,EAAGwuG,KAAK,qBAAsBo/S,IAC9B1nJ,IAAS,EAGb,SAASiC,KACLylJ,GAAU,GAGM,OAAbS,IAAkC,MAAbA,KACpBe,EAAaljT,EAAO0jD,GAAIh+J,EAAIq6G,GAAI2jD,GAAIt9J,EAAI25G,GAAI2hT,GAAS9xV,GAAMowC,OAC3DmjT,GAAqB,IAAKzB,KAEd,OAAbS,IAAkC,MAAbA,KACpBe,EAAahjT,GAAQD,GAAKyjD,GAAI5+J,GAAKm7G,IAAKA,GAAKyjD,GAAIl9J,GAAKy5G,GAAIyhT,GAAS9xV,GAAMswC,OACzEijT,GAAqB,IAAKzB,KAIlC,SAASllJ,KACLP,KACAQ,EAAc3oQ,GACdsvZ,KACA1mJ,EAAwB5oQ,GA5R5BsrG,GAAYykC,OAAS,SAAS/gI,EAAGo8F,EAAQC,GACrC,IAAIkkT,EAAejkT,GAAYp+C,SAC3B67M,EAAc/oQ,EAAGymB,YAAYymC,SAC9B67M,IAAgBwmJ,IACfjkT,GAAYp+C,SAAW67M,GAG3BglJ,KAEIP,KACGK,GAGI7+Y,EAAEkhG,SACkB,QAAhB64J,EAAuBA,EAAc,OAC/BymJ,EAAgBzmJ,KAAcA,EAAc,OAC/C/5P,EAAEuyN,UACRwnC,EAAc,OAIlBA,EAAc,OAIMz9J,GAAY2xI,QAArB,UAAhB8rB,EAA+C,OACvBl4Q,EAExB2+Z,EAAgBzmJ,IACfz9J,GAAYY,MAAQA,EACpBZ,GAAYc,MAAQA,EAEpBjB,EAAWn8F,EAAGo8F,EAAQC,EAAQC,GAAay9J,KAE3Cz9J,GAAYmD,QAAUA,GACnB+gT,EAAgBD,IAWfhB,KAGAf,KACmB,SAAhBzkJ,GACCz9J,GAAYiC,OAAS66J,GACrB98J,GAAYyD,OAAS25J,GAKrBp9J,GAAY2xI,QAAU,EAEtBqqB,GAASt4P,EAAGo8F,EAAQC,IACE,QAAhB09J,IACNz9J,GAAYiC,OAASqlK,GACrBtnK,GAAYyD,OAASugT,MAKjCtvZ,EAAGymB,YAAYgpY,QAAU,WACrB,IAAIC,EAAc1vZ,EAAG49O,UAErB,GAAG8xK,GAAeA,EAAY3jT,UAAY2mK,GAAS,CAC/C,IAAI3J,EAAc/oQ,EAAGymB,YAAYymC,SAE7BsiW,EAAgBzmJ,KAChBglJ,KACA4B,GAAe,CAAC,EAAG,EAAG1jT,GAAIE,KAC1Bb,GAAYiC,OAAOmiT,EAAYvlY,GAAIulY,EAAYv0Y,QAmE/D2lG,EAAY+xB,KAAKvnC,IAiJjB,IAAIskT,GAAgB,CAAC,EAAG,EAAG3jT,GAAIE,IAE3B0jT,GAAc,KACdC,GAAc1tX,EAAU0tX,YACxB3uS,GAAW5+G,EAAS4+G,SAAWnhH,EAAGymB,YAAY6vB,OAAO/zC,EAAS4+G,UAAY5+G,EAE9E,SAASwtZ,GAAU/gZ,GAIf,GAAIhP,EAAG+Y,SAAS4qM,YAAYjoK,WAAc17C,EAAGymB,YAAYupY,kBAAzD,CAOA,GAHAzB,KAGGvuZ,EAAG8uZ,2BAGF,OAFA9/Y,EAAE4oH,sBACF5oH,EAAEknH,kBAIN63R,KAEAvvV,aAAaqxV,IAEb,IAAIhpG,GAAc73S,EAAEgiJ,OAEpB,GADIjyJ,SAAS8nT,KAAaA,EAAa73S,EAAE63S,WAAa,IAClD9nT,SAAS8nT,GAAb,CAKA,IAIIl1T,EAJAglG,EAAOv/F,KAAKuuD,KAAKvuD,KAAKoC,IAAIpC,KAAKqC,IAAIotT,GAAa,IAAK,IAAM,KAC3DopG,EAAM9uS,GAASshS,UAAU3hZ,OAAO,aAAa6X,OAAOC,wBACpDs3Y,GAASlhZ,EAAE0hI,QAAUu/Q,EAAI5qZ,MAAQ4qZ,EAAIt9Y,MACrCw9Y,GAASF,EAAI3sY,OAAStU,EAAE2hI,SAAWs/Q,EAAIx1Y,OAY3C,GAAGmS,GAAO,CAKN,IAFIqgY,IAAIiD,EAAQ,IAEZv+Z,EAAI,EAAGA,EAAIu6G,EAAMt7G,OAAQe,IACzBy+Z,EAAiBlkT,EAAMv6G,GAAIu+Z,EAAOv5T,GAEtC04T,GAAqB,KAErBO,GAAc,IAAMj5T,EACpBi5T,GAAc,IAAMA,GAAc,GAAKM,GAAS,EAAIv5T,EAAO,GAE/D,GAAG7pE,GAAO,CAGN,IAFIj6B,IAAIs9Z,EAAQ,IAEZx+Z,EAAI,EAAGA,EAAIy6G,EAAMx7G,OAAQe,IACzBy+Z,EAAiBhkT,EAAMz6G,GAAIw+Z,EAAOx5T,GAEtC04T,GAAqB,KAErBO,GAAc,IAAMj5T,EACpBi5T,GAAc,IAAMA,GAAc,IAAM,EAAIO,IAAU,EAAIx5T,EAAO,GAIrEg5T,GAAeC,IACfS,KAEArwZ,EAAGwuG,KAAK,qBAAsBo/S,IAI9BiC,GAAclyV,YAAW,WACrBiyV,GAAgB,CAAC,EAAG,EAAG3jT,GAAIE,IAC3BmjT,OACDQ,IAEH9gZ,EAAE4oH,sBAzDE5vH,EAAIkV,IAAI,yCAA0ClO,GAUtD,SAASohZ,EAAiB74Y,EAAI8yM,EAAgB1zH,GAC1C,IAAGp/E,EAAGs9E,WAAN,CAEA,IAAIy7T,EAAUtoZ,EAAIklB,UAAU3V,EAAGlO,MAAOkO,EAAG4V,KACrC48B,EAAKumW,EAAQ,IAAMA,EAAQ,GAAKA,EAAQ,IAAMjmM,EAElD9yM,EAAGlO,MAAQinZ,EAAQ3jX,IAAI4jX,GADvB,SAASA,EAAOp6Z,GAAK,OAAOohB,EAAG+V,IAAIy8B,GAAM5zD,EAAI4zD,GAAM4sC,KAoD3D,SAASi8K,GAASzoP,EAAIhP,GAElB,IAAGnb,EAAG8uZ,2BAAN,CAOA,GAFA9uZ,EAAGymB,YAAYg3F,aAAc,EAEd,OAAZ6vS,IAAgC,OAAZC,GAYnB,OAXGD,KACCkD,EAAWtkT,EAAO/hF,GAClBklY,GAAqB,MAEtB9B,KACCiD,EAAWpkT,EAAOjxF,GAClBk0Y,GAAqB,MAEzBM,GAAe,CAACrC,IAAWnjY,EAAK,EAAGojY,IAAWpyY,EAAK,EAAG8wF,GAAIE,KAC1DkkT,UACArwZ,EAAGwuG,KAAK,qBAAsBo/S,IA6BlC,GAAG9xV,GAAMqyV,sBAAwBb,IAAWC,GAAS,CAGjD,IAAIkD,EAAwB,MAAZnD,MAAkC,MAAZC,IAAoB,GAAK,EAC3DmD,GAAevmY,EAAK8hF,GAAKwkT,EAAUt1Y,EAAKgxF,IAAM,EAClDhiF,EAAKumY,EAAczkT,GACnB9wF,EAAKs1Y,EAAUC,EAAcvkT,GAGlB,MAAZmhT,GAAiBnjY,EAAKikM,EAAGliH,EAAO,EAAG/hF,GAClB,MAAZmjY,GAAiBnjY,EAAKikM,EAAGliH,EAAO,GAAI/hF,GACnCmjY,KAASnjY,EAAK,GAER,MAAZojY,GAAiBpyY,EAAKizM,EAAGhiH,EAAO,EAAGjxF,GAClB,MAAZoyY,GAAiBpyY,EAAKizM,EAAGhiH,EAAO,GAAIjxF,GACnCoyY,KAASpyY,EAAK,GAEvB,IAAIq/O,EAAsB,MAAZ8yJ,GAAmBnjY,EAAK,EAClCwmY,EAAsB,MAAZpD,GAAmBpyY,EAAK,EAEtC,GAAG2gD,GAAMqyV,qBAAsB,CAC3B,IAAIx8Z,EACJ,IAAI27Z,IAA8B,IAAnBC,GAAQ38Z,OAAc,CAGjC,IAAIe,EAAI,EAAGA,EAAIu6G,EAAMt7G,OAAQe,IACzBu6G,EAAMv6G,GAAG0X,MAAQ6iG,EAAMv6G,GAAG0rD,GAAGznD,QAC7Bg6S,EAAU1jM,EAAMv6G,GAAI,EAAIwpB,EAAKgxF,IAEjChiF,EAAKhP,EAAK8wF,GAAKE,GACfquJ,EAASrwO,EAAK,EAElB,IAAIojY,IAA8B,IAAnBD,GAAQ18Z,OAAc,CACjC,IAAIe,EAAI,EAAGA,EAAIy6G,EAAMx7G,OAAQe,IACzBy6G,EAAMz6G,GAAG0X,MAAQ+iG,EAAMz6G,GAAG0rD,GAAGznD,QAC7Bg6S,EAAUxjM,EAAMz6G,GAAI,EAAIw4B,EAAK8hF,IAEjC9wF,EAAKgP,EAAKgiF,GAAKF,GACf0kT,EAASx1Y,EAAK,GAItBk0Y,GAAqB,KACrBA,GAAqB,KACrBM,GAAe,CAACn1J,EAAQm2J,EAAQ1kT,GAAK9hF,EAAIgiF,GAAKhxF,IAC9Ck1Y,KACArwZ,EAAGwuG,KAAK,qBAAsBo/S,IAlE9B,SAASx/L,EAAGwiM,EAAS37Y,EAAKnjB,GAItB,IAHA,IACI++Z,EACAC,EAFAC,EAAW,EAAI97Y,EAGXtjB,EAAI,EAAGA,EAAIi/Z,EAAQhga,OAAQe,IAAK,CACpC,IAAIq/Z,EAAMJ,EAAQj/Z,GAClB,IAAGq/Z,EAAIn8T,WAAP,CACAg8T,EAAUG,EACVF,EAAmBE,EAAI1zW,IAAIyzW,IACtBC,EAAI1zW,IAAIroC,GAAO+7Y,EAAI1zW,IAAIyzW,IAAaE,EAAMn/Z,EAAIk/Z,EAAIloZ,SACvD,IAAIooZ,EAASF,EAAI1jY,IAAIwjY,IAIP,IAAXI,QAA+Brga,IAAXqga,IAAsBF,EAAI3nZ,MAAM4L,GAAOi8Y,IAElE,OAAOL,EAAQ/nZ,SAAW+nZ,EAAQvzW,IAAIroC,GAAO67Y,IACxCD,EAAQvzW,IAAIroC,GAAO47Y,EAAQvzW,IAAIyzW,KAoD5C,SAAS1B,GAAqB36Y,EAAUpD,GASpC,IARA,IAAI6/Y,EAAc3pR,GAAQ2mR,qBACtB,CAACtuZ,EAAGusG,EAAO5mG,EAAG0mG,GAAOx3F,GACrB8yH,GAAQ9yH,EAAW,QAEnB08Y,EAAkB5pR,GAAQ2mR,qBAC1B,CAACtuZ,EAAGqsG,EAAO1mG,EAAG4mG,GAAO13F,GACrB,GAEI/iB,EAAI,EAAGA,EAAIw/Z,EAAYvga,OAAQe,IAAK,CACxC,IAAI4lB,EAAK45Y,EAAYx/Z,GACjBmjD,EAAOv9B,EAAGsW,IACV6uF,EAAQ8qB,GAAQ6pR,OAAOv8W,IAAS0yF,GAAQ8pR,OAAOx8W,GAC/C+B,EAAMu6W,EAAgB,IAAMhE,EAAO1wS,IAAU2wS,EAAO3wS,GAErD7lE,IACIvlC,GAECA,EAAIiG,EAAGoX,MAAQ,aAAerd,EAAIulC,EAAIloB,MAAQ,aAC9Crd,EAAIiG,EAAGoX,MAAQ,aAAerd,EAAIulC,EAAIloB,MAAQ,cAE9CpX,EAAGlO,MAAQwtC,EAAIxtC,MAAMzT,UAQrC,SAASy6Z,KACL,IACI1+Z,EADA4/Z,EAAc,GAGlB,SAASC,EAAgB/oX,GACrB,IAAI92C,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IACtB82C,EAAO92C,GAAGkjG,YAAY08T,EAAY98Z,KAAKg0C,EAAO92C,GAAGk8B,KAgB7D,IAZGjB,KACC4kY,EAAgBtlT,GAChBslT,EAAgB11V,GAAMowC,OACtBslT,EAAgBhqR,GAAQt7B,QAEzBp/E,KACC0kY,EAAgBplT,GAChBolT,EAAgB11V,GAAMswC,OACtBolT,EAAgBhqR,GAAQp7B,QAG5BwhT,GAAU,GACNj8Z,EAAI,EAAGA,EAAI4/Z,EAAY3ga,OAAQe,IAAK,CACpC,IAAImjD,EAAOy8W,EAAY5/Z,GACnB4lB,EAAK+nB,EAAUt/B,EAAI80C,GACvB/sC,EAAK2lB,QAAQ1tB,EAAIuX,EAAI,CAACoW,WAAW,IACjCigY,GAAQr2Y,EAAGoX,MAAQ,aAAepX,EAAGlO,MAAM,GAC3CukZ,GAAQr2Y,EAAGoX,MAAQ,aAAepX,EAAGlO,MAAM,GAG/CtB,EAAK6lB,iBAAiB5tB,EAAIuxZ,GAG9B,SAAStqM,KACL,IAAGjnN,EAAG8uZ,2BAAN,CAEA,IAAI2C,EAAoBzxZ,EAAG+Y,SAASkuM,YAEhCx+K,EAAS,GACV6kX,KAAS7kX,EAASA,EAAOrvC,OAAO8yG,IAChCqhT,KAAS9kX,EAASA,EAAOrvC,OAAOgzG,IAChCo7B,GAAQt7B,QAAOzjE,EAASA,EAAOrvC,OAAOouI,GAAQt7B,QAC9Cs7B,GAAQp7B,QAAO3jE,EAASA,EAAOrvC,OAAOouI,GAAQp7B,QAEjD,IACI70F,EAAI5lB,EAAGmjG,EADPr/E,EAAQ,GAQZ,GAAyB,mBAAtBg8Y,EAGC,IAFAA,EAAoB,WAEhB9/Z,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAE1B,GADA4lB,EAAKkxB,EAAO92C,GACR4lB,EAAGqxB,gBACCrxB,EAAGlO,MAAM,KAAOkO,EAAGqxB,cAAc,IACjCrxB,EAAGlO,MAAM,KAAOkO,EAAGqxB,cAAc,MAEnCrxB,EAAGqxB,gBAAkBrxB,EAAGksB,UAC5B,CACEguX,EAAoB,QACpB,MAKZ,GAAyB,aAAtBA,EAGC,IAAI9/Z,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAC1B4lB,EAAKkxB,EAAO92C,GACR4lB,EAAGs9E,aAAYp/E,EAAM8B,EAAGoX,MAAQ,eAAgB,QAErD,GAAyB,UAAtB8iY,EAWN,KARGnE,IAAWxxV,GAAMqyV,wBAAsB1lX,EAASA,EAAOrvC,OAAO0iE,GAAMowC,QACpEqhT,KAAYzxV,GAAMqyV,uBAAsB1lX,EAASA,EAAOrvC,OAAO0iE,GAAMswC,QAErEtwC,GAAMqyV,uBACDb,GACKC,KAAS9kX,EAASA,EAAOrvC,OAAOgzG,IAD5B3jE,EAASA,EAAOrvC,OAAO8yG,IAIpCv6G,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAC1B4lB,EAAKkxB,EAAO92C,GAER4lB,EAAGs9E,aACCt9E,EAAGqxB,eAGHksD,EAAev9E,EAAGqxB,cAClBnzB,EAAM8B,EAAGoX,MAAQ,aAAemmE,EAAa,GAC7Cr/E,EAAM8B,EAAGoX,MAAQ,aAAemmE,EAAa,IAJ7Cr/E,EAAM8B,EAAGoX,MAAQ,eAAgB,GAUjD3uB,EAAGwuG,KAAK,qBAAsB,MAC9B5jF,EAAS95B,KAAK,eAAgBkP,EAAIyV,IAItC,SAAS65Y,KAILK,GAAe,CAAC,EAAG,EAAG1jT,GAAIE,KAI1BnkG,EAAIm1C,YAAY,CACZpb,EAAMw0E,iBACN,WACIv2G,EAAGymB,YAAYg3F,aAAc,EAC7B7yF,EAAS95B,KAAK,eAAgBkP,EAAI4tZ,MAEvC5tZ,GAOP,SAAS2vZ,GAAe3iY,GACpB,IAGIr7B,EAAGsqD,EAAIzzB,EAAIK,EAHXzR,EAAapX,EAAGymB,YAChBirY,EAAYt6Y,EAAWk/B,OACvB3d,EAAWvhB,EAAW4sB,UAAU0X,UAOpC,GAJGgyW,IACC9iY,EAASkgK,iBAAiB6mO,MAAM16R,KAAKj3H,GAGtCytZ,GACC,IAAI97Z,EAAI,EAAGA,EAAIgnC,EAAS/nC,OAAQe,IAK5B,GAJAsqD,EAAKy1W,EAAU/4X,EAAShnC,IACxB62B,EAAKyzB,EAAG/jC,MACR2Q,EAAKozB,EAAG9jC,MAEL8jC,EAAGwtC,OAAQ,CACV,IAAImoU,EAAO5pZ,EAAIklB,UAAU1E,EAAGnf,MAAOmf,EAAG2E,KAClC0kY,EAAO7pZ,EAAIklB,UAAUrE,EAAGxf,MAAOwf,EAAGsE,KACtC8uB,EAAGwtC,OAAOzsF,OAAO,CAACqM,MAAO,CAACuoZ,EAAK,GAAIC,EAAK,GAAID,EAAK,GAAIC,EAAK,MAUtE,IALGnE,IAAYD,MACX5iT,EAAgB7qG,GAChB8qG,EAAiB9qG,IAGlB2tZ,GAAQ,CACP,IAAI7/X,EAAed,EAAQ,GAAKkgY,EAAIpkZ,QAChCilB,EAAef,EAAQ,GAAKmgY,EAAIrkZ,QAEpC,IAAInX,EAAI,EAAGA,EAAIgnC,EAAS/nC,OAAQe,IAAK,CACjCsqD,EAAKy1W,EAAU/4X,EAAShnC,IACxB62B,EAAKyzB,EAAG/jC,MACR2Q,EAAKozB,EAAG9jC,MAER,IAGI25Y,EAAeC,EACf/jY,EAAQC,EAJR+jY,EAASplY,KAAUpE,EAAGqsE,YAAcu4T,EAAO5kY,EAAGqF,KAC9CokY,EAASnlY,KAAUjE,EAAGgsE,YAAcw4T,EAAOxkY,EAAGgF,KAsClD,GAjCGmkY,GACCF,EAAgBhkY,EAChBE,EAASi/X,EAAKjgY,EAAQ,GAAKklY,GAAS1pY,EAAIspY,IAClCtqR,GAAQ4lR,OAAO5kY,EAAGqF,MACxBikY,EAAgBhkY,EAChBE,EAAShB,EAAQ,GAAKxE,EAAG1f,QAAUokZ,EAAIpkZ,SACjC0+H,GAAQ6lR,OAAO7kY,EAAGqF,MACxBikY,EAAgB/jY,EAChBC,EAAqB,OAAZu/X,IACJvgY,EAAQ,GAAKxE,EAAG1f,QAAUqkZ,EAAIrkZ,QAC/BopZ,GAAS1pY,EAAIspY,EAAe,CAAC7+Z,EAAG,MAAOM,EAAG,UAAUg6Z,OAExDuE,EAAgBK,GAAqB3pY,EAAIsF,EAAcC,GACvDC,EAASokY,GAAiB5pY,EAAIspY,IAG/BG,GACCF,EAAgBhkY,EAChBE,EAASp7B,EAAKm6B,EAAQ,GAAKklY,GAASrpY,EAAIkpY,IAClCvqR,GAAQ6lR,OAAOxkY,EAAGgF,MACxBkkY,EAAgBhkY,EAChBE,EAASjB,EAAQ,GAAKnE,EAAG/f,QAAUqkZ,EAAIrkZ,SACjC0+H,GAAQ4lR,OAAOvkY,EAAGgF,MACxBkkY,EAAgBjkY,EAChBG,EAAqB,OAAZq/X,IACJtgY,EAAQ,GAAKnE,EAAG/f,QAAUokZ,EAAIpkZ,QAC/BopZ,GAASrpY,EAAIkpY,EAAe,CAAC/iZ,EAAG,QAASE,EAAG,QAAQo+Y,OAExDyE,EAAgBI,GAAqBtpY,EAAIiF,EAAcC,GACvDE,EAASmkY,GAAiBvpY,EAAIkpY,IAI9BD,GAAkBC,EAAtB,CAKID,IAAeA,EAAgB,GAC/BC,IAAeA,EAAgB,GAEnC,IAAI3jY,EAAS5F,EAAG2D,QAAU6B,EAAS8jY,EAC/BzjY,EAASxF,EAAGsD,QAAU8B,EAAS8jY,EAMnC91W,EAAG3tB,SACEx9B,KAAKg4B,EAAQmD,aAAc+B,EAAQC,GACnCn9B,KAAKg4B,EAAQoD,SAAU4lY,EAAeC,GAE3C91W,EAAG93C,KACErT,KAAKg4B,EAAQmD,aAAcmC,EAAQC,GACnCv9B,KAAKg4B,EAAQoD,SAAU,EAAI4lY,EAAe,EAAIC,GAMhDD,IAAkB71W,EAAGnuB,cAAgBikY,IAAkB91W,EAAGluB,eACzDjF,EAAQuD,mBAAmB4vB,EAAG1tB,aAAcujY,EAAeC,GAC3DjpY,EAAQwD,mBAAmB2vB,EAAGztB,aAAcsjY,EAAeC,IAG/DjpY,EAAQyD,uBAAuB0vB,EAAG2jW,sBAAuB3jW,GAGzDA,EAAGnuB,aAAegkY,EAClB71W,EAAGluB,aAAegkY,KAQ9B,SAASI,GAAqB56Y,EAAIuW,EAAcC,GAC5C,OAAGxW,EAAGs9E,WAAmB,EAEtBjoE,IAASkvC,GAAMsxV,OAAO71Y,EAAGsW,KACjBC,EAERhB,KAAUgvC,GAAMqyV,qBAAuBryV,GAAMsxV,OAAStxV,GAAMuxV,QAAQ91Y,EAAGsW,KAC/DE,EAEJ,EAGX,SAASqkY,GAAiB76Y,EAAI02X,GAC1B,OAAGA,GACC12X,EAAGlO,MAAQkO,EAAG8lC,GAAGznD,QACjBg6S,EAAUr4R,EAAI02X,GACPikB,GAAS36Y,EAAI02X,IAEjB,EAGX,SAASikB,GAAS36Y,EAAI02X,EAAa3vS,GAC/B,OAAO/mF,EAAGzO,SAAW,EAAImlY,GAAe/zK,EAAQ57H,GAAQ/mF,EAAG85R,iBAAmB,UAGlF,OAtZGx+S,EAAGjC,OAASq8Z,EAAGr8Z,SAAW,GACzByha,EAAwB3/I,GAASq9I,IAqZ9Br9I,GAGX,SAASzM,EAAY1jQ,EAAUshB,EAAUyuY,EAAWtwS,GAChD,IAAIuwS,EAAWvqZ,EAAIiuG,aAAa1zG,EAASkgZ,UAAW5+X,EAAUyuY,GAAW,SAAS/+Z,GAC9EA,EAAE2N,QAAQ,QAAQ,GACbE,MAAM,CAAC8B,KAAM,cAAe,eAAgB,IAC5CgW,KAAK,eAAgB3W,EAASlF,OAKvC,OAFAk1Z,EAASzha,KAAKiwH,EAAWiB,GAElBuwS,EAAS55Y,OAGpB,SAAS+wP,EAAgBnnQ,EAAU+vZ,EAAWtwS,EAAQniH,EAAG2F,EAAG0J,EAAGuzC,GAC3D,IAAIiwN,EAAUzM,EAAY1jQ,EAAU,OAAQ+vZ,EAAWtwS,GAEvD,OADAzhH,EAAGO,OAAO4xQ,GAAS5hR,KAAKg4B,EAAQu3H,QAASxgJ,EAAG2F,EAAG0J,EAAGuzC,GAC3CiwN,EAGX,SAASu7I,EAAkBxlX,EAAQ+pX,GAC/B,IAAI,IAAI7ga,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAC9B,IAAI82C,EAAO92C,GAAGkjG,WAAY,OAAO29T,EAErC,MAAO,GAGX,SAAS/D,EAAWl3Y,EAAItC,GACpB,IAEIuqP,EAFAvgG,EAAa1nJ,EAAGlO,MAAM4L,GACtB+kG,EAAO5iH,KAAK+R,IAAI81J,EAAa1nJ,EAAGlO,MAAM,EAAI4L,IAK9C,MAAe,SAAZsC,EAAG5S,KACKs6J,EACW,QAAZ1nJ,EAAG5S,MACT66P,EAAMpoQ,KAAKy5B,KAAKz5B,KAAKqC,IAAI,GAAIrC,KAAK8lB,IAAI88F,GAAQ5iH,KAAK6yC,OAAS,EACrD1pC,EAAGu2F,OAAO,IAAM0oK,EAAM,IAAtBj/P,CAA2BnJ,KAAKw5B,IAAI,GAAIquI,MAE/CugG,EAAMpoQ,KAAK2N,MAAM3N,KAAK8lB,IAAI9lB,KAAK+R,IAAI81J,IAAe7nK,KAAK6yC,MACnD7yC,KAAK2N,MAAM3N,KAAK8lB,IAAI88F,GAAQ5iH,KAAK6yC,MAAQ,EACtC1pC,EAAGu2F,OAAO,IAAMtmG,OAAOgvQ,GAAO,IAA9Bj/P,CAAmC0+J,IAIlD,SAASmwP,EAAa3mX,EAAQgqX,EAAYC,EAAY9E,EAAS+E,GAC3D,IAAI,IAAIhha,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CACnC,IAAIq/Z,EAAMvoX,EAAO92C,GACjB,IAAGq/Z,EAAIn8T,WAAP,CAEA,IAAI+9T,EAAiB5B,EAAI1zW,IAAI,GACzBu1W,EAAoB7B,EAAI1zW,IAAI,GAAKs1W,EACrChF,EAAQoD,EAAIriY,MAAQ,aAAeqiY,EAAI1jY,IAAIslY,EAAiBC,EAAoBJ,GAChF7E,EAAQoD,EAAIriY,MAAQ,aAAeqiY,EAAI1jY,IAAIslY,EAAiBC,EAAoBH,IAIpF,GAAGC,GAAcA,EAAW/ha,OAAQ,CAChC,IAAIkia,GAAoBL,GAAc,EAAIC,IAAe,EACzDtD,EAAauD,EAAYG,EAAkB,EAAIA,EAAkBlF,EAAS,KAIlF,SAAS4C,EAAW/nX,EAAQsqX,GACxB,IAAI,IAAIpha,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CACnC,IAAIq/Z,EAAMvoX,EAAO92C,GACbq/Z,EAAIn8T,aACJm8T,EAAI3nZ,MAAQ,CACR2nZ,EAAI1jY,IAAI0jY,EAAI1zW,IAAI,GAAKy1W,EAAM/B,EAAI1nZ,IAC/B0nZ,EAAI1jY,IAAI0jY,EAAI1zW,IAAI,GAAKy1W,EAAM/B,EAAI1nZ,OAW/C,SAAS2nZ,EAAMn/Z,GACX,OAAO,GAAMA,GAAK,EAAKsF,KAAKoC,IAAI1H,EAAG,IAC/B,GAAK,EAAIsF,KAAKqC,IAAI3H,GAAI,IAAO,QAGrC,SAASs8Z,EAAc4E,EAAM9lW,EAAU2gW,GACnC,OAAImF,EACQ,SAATA,EAGInF,EAAmB,GACN,QAAb3gW,EAA2B,OACvB,YAEJ8lW,EAAKlnZ,cAAgB,UARX,UAWrB,SAAS27P,EAAYt0J,EAAWgzJ,EAAK7/J,EAAIG,EAAIuF,GACzC,OAAOmH,EAAUlyG,OAAO,QACnBiY,KAAK,QAAS,WACd9X,MAAM,CACH,KAAQ+kQ,EAAM,GAAM,gBAAkB,sBACtC,eAAgB,IAEnBjtP,KAAK,YAAa,aAAeotF,EAAK,KAAOG,EAAK,KAClDvtF,KAAK,IAAK8yF,EAAQ,KAG3B,SAAS07J,EAAYv0J,EAAW7M,EAAIG,GAChC,OAAO0M,EAAUlyG,OAAO,QACnBiY,KAAK,QAAS,mBACd9X,MAAM,CACH8B,KAAMiR,EAAMqR,WACZ3K,OAAQ1G,EAAMiB,YACd,eAAgB,EAChBnZ,QAAS,IAEZid,KAAK,YAAa,aAAeotF,EAAK,KAAOG,EAAK,KAClDvtF,KAAK,IAAK,SAGnB,SAASi2Y,EAAc/oJ,EAAIz5J,EAASijD,EAAK5jD,EAAOk6J,EAAQC,GACpDC,EAAGltP,KAAK,IACJ8yF,EAAQ,IAAO4jD,EAAK,EAAI,IAAOA,EAAK,EAAI,IAAOA,EAAK,EACpD,IAAOA,EAAK,EAAI,KAAQA,EAAK,EAAI,KAAQA,EAAK,EAAI,KACtDq4G,EAAkB7B,EAAIz5J,EAASu5J,EAAQC,GAG3C,SAAS8B,EAAkB7B,EAAIz5J,EAASu5J,EAAQC,GACxCD,IACAE,EAAG1kQ,aACEN,MAAM,OAAQ+kQ,EAAM,GAAM,kBACvB,yBACHrkQ,SAAS,KACd6qG,EAAQjrG,aACHN,MAAM,UAAW,GACjBU,SAAS,MAItB,SAAS6mQ,EAAc3oQ,GACnBO,EAAGO,OAAOd,GACLe,UAAU,mEACVmB,SAGT,SAAS0mQ,EAAwB5oQ,GAC1BsyQ,GAAkBtyQ,EAAGpD,MAAQoD,EAAG+Y,SAASquM,WACxCp/M,EAAIivF,SAASjvF,EAAI8vD,EAAE93D,EAAI,iCAAkC,QACzDsyQ,GAAiB,GAIzB,SAASk9I,EAAgBtiW,GACrB,MAAoB,UAAbA,GAAqC,WAAbA,EAGnC,SAAS+hW,EAASr/P,EAAKjnI,GACnB,MAAO,KACFinI,EAAIh+J,EAAI,IAAO,KAAO+2B,EAAK48O,EAAU,IACtC,QAAU,EAAIA,EAAU,GAAK,QAC5B31G,EAAIt9J,EAAI,IAAO,KAAOq2B,EAAK48O,EAAU,IACtC,OAAS,EAAIA,EAAU,GAAK,OAGpC,SAAS2pJ,EAASt/P,EAAKtnI,GACnB,MAAO,KACFA,EAAKi9O,EAAU,IAAO,KAAO31G,EAAIl9J,EAAI,IACtC,QAAU,EAAI6yQ,EAAU,GAAK,QAC5Bj9O,EAAKi9O,EAAU,IAAO,KAAO31G,EAAI5+J,EAAI,IACtC,OAAS,EAAIu0Q,EAAU,GAAK,OAGpC,SAASypJ,EAAUp/P,GACf,IAAIqjQ,EAAO77Z,KAAK2N,MAAM3N,KAAKoC,IAAIo2J,EAAI5+J,EAAI4+J,EAAIl9J,EAAGk9J,EAAIt9J,EAAIs9J,EAAIh+J,EAAG2zQ,GAAW,GACxE,MAAO,KACF31G,EAAIh+J,EAAI,KAAO,KAAOg+J,EAAIl9J,EAAI,GAAMuga,GAAQ,OAAUA,EACnD,IAAMA,EAAO,SAAWA,EAAO,GAAK,MACvCrjQ,EAAIt9J,EAAI,KAAO,KAAOs9J,EAAIl9J,EAAI,GAAMuga,GAAQ,QAAWA,EACpD,KAAQA,EAAQ,QAAUA,EAAO,GAAK,MACzCrjQ,EAAIt9J,EAAI,KAAO,KAAOs9J,EAAI5+J,EAAI,GAAMiia,GAAQ,OAASA,EAClD,KAAQA,EAAQ,OAASA,EAAO,GAAK,MACxCrjQ,EAAIh+J,EAAI,KAAO,KAAOg+J,EAAI5+J,EAAI,GAAMiia,GAAQ,MAAQA,EACjD,IAAMA,EAAO,QAAUA,EAAO,GAAK,IAG/C,SAAS/E,EAAUluZ,EAAIg4C,EAAQo1W,EAAQC,GAMnC,IALA,IAGI6F,EAAKC,EAAKC,EAASC,EAHnBlF,GAAuB,EACvBkD,EAAS,GACTC,EAAS,GAGL3/Z,EAAI,EAAGA,EAAIqmD,EAAOpnD,OAAQe,IAAK,CACnC,IAAI8Q,EAAQu1C,EAAOrmD,GAEnB,IAAIuha,KAAO9F,EACP,GAAG3qZ,EAAMywZ,GAAM,CAIX,IAAIE,KAAW3wZ,GACgB,MAAtB2wZ,EAAQhzY,OAAO,GAAagtY,EAASC,GAAQ+F,KAC9C/B,EAAO+B,GAAWF,GAK1B,IAAIC,KAAO9F,EACJ5qZ,EAAM0wZ,KAAMhF,GAAuB,GAOlD,IAAIgF,KAAO9F,EACP,GAAG5qZ,EAAM0wZ,GACL,IAAIE,KAAW5wZ,GACgB,MAAtB4wZ,EAAQjzY,OAAO,GAAagtY,EAASC,GAAQgG,KAC9C/B,EAAO+B,GAAWF,GAOnChF,IAICnmZ,EAAIuM,WAAW88Y,EAAQC,GACvBA,EAAS,IAGb,IAAIgC,EAAe,GACfC,EAAc,GAClB,IAAIH,KAAW/B,EAAQ,CACnB,IAAI7oY,EAAK8W,EAAUt/B,EAAIozZ,GACvBG,EAAY9+Z,KAAK+zB,GACjB8qY,EAAa9qY,EAAGqF,KAAOrF,EAG3B,IAAIgrY,EAAe,GACfC,EAAc,GAClB,IAAIJ,KAAW/B,EAAQ,CACnB,IAAIzoY,EAAKyW,EAAUt/B,EAAIqzZ,GACvBI,EAAYh/Z,KAAKo0B,GACjB2qY,EAAa3qY,EAAGgF,KAAOhF,EAG3B,MAAO,CACHukY,OAAQkG,EACRjG,OAAQmG,EACRtnT,MAAOqnT,EACPnnT,MAAOqnT,EACPpC,OAAQA,EACRC,OAAQA,EACRnD,qBAAsBA,GAK9B,SAASkE,EAAwBtmT,EAASg4G,GACtC,GAAI04B,EAGG,CACH,IAAIi3K,OAAqC7ia,IAApBk7G,EAAQ4nT,QAAwB,QAAU,aAE5D5nT,EAAQ6nT,UACP7nT,EAAQx1E,oBAAoBm9X,EAAgB3nT,EAAQ6nT,UAExD7nT,EAAQ6nT,SAAW7vM,EAEnBh4G,EAAQ11E,iBAAiBq9X,EAAgB3vM,EAAS,CAACs5B,SAAS,cAVrCxsP,IAApBk7G,EAAQ4nT,QAAuB5nT,EAAQ4nT,QAAU5vM,OACnBlzN,IAAzBk7G,EAAQ8nT,eAA4B9nT,EAAQ8nT,aAAe9vM,GAa3E,SAASiqM,EAAWh2O,GAChB,IAAI1mK,EAAM,GACV,IAAI,IAAIlb,KAAK4hL,EAAM1mK,EAAI7c,KAAKujL,EAAK5hL,IACjC,OAAOkb,EAGXhhB,EAAOC,QAAU,CACbywH,YAAaA,EAEbilJ,YAAaA,EACbyD,gBAAiBA,EACjBjC,YAAaA,EACbC,YAAaA,EAEbynJ,cAAeA,EACfH,UAAWA,EACX/mJ,kBAAmBA,EACnBU,cAAeA,EACfC,wBAAyBA,EAEzBypJ,wBAAyBA,IAMvB,OACA,SAAU/ha,EAAQC,EAASkB,GAEjC,aAGA,IAAIu2H,EAAUv2H,EAAoB,QAElCnB,EAAOC,QAAU,SAAUkC,GAC1B,IAAKu1H,EAAQv1H,GAAQ,MAAM,IAAI40D,UAAU,gCACzC,OAAO50D,IAMF,OACA,SAAUnC,EAAQC,EAASkB,GAEjC,aAGA,SAASmzE,EAAeE,EAAKnzE,GAC3B,OAAOmia,EAAgBhvV,IAAQivV,EAAsBjvV,EAAKnzE,IAAMqia,IAGlE,SAASC,EAAmBnvV,GAC1B,OAAOovV,EAAmBpvV,IAAQqvV,EAAiBrvV,IAAQsvV,IAG7D,SAASF,EAAmBpvV,GAC1B,GAAIxvE,MAAM0J,QAAQ8lE,GAAM,CACtB,IAAK,IAAInzE,EAAI,EAAG0ia,EAAO,IAAI/+Z,MAAMwvE,EAAIl0E,QAASe,EAAImzE,EAAIl0E,OAAQe,IAAK0ia,EAAK1ia,GAAKmzE,EAAInzE,GAEjF,OAAO0ia,GAIX,SAASP,EAAgBhvV,GACvB,GAAIxvE,MAAM0J,QAAQ8lE,GAAM,OAAOA,EAGjC,SAASqvV,EAAiB1vQ,GACxB,GAAIlyJ,OAAO81D,YAAYn2D,OAAOuyJ,IAAkD,uBAAzCvyJ,OAAOkB,UAAU2a,SAASjd,KAAK2zJ,GAAgC,OAAOnvJ,MAAMgpG,KAAKmmD,GAG1H,SAASsvQ,EAAsBjvV,EAAKnzE,GAClC,IAAIozE,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKr0E,EAET,IACE,IAAK,IAAiCs0E,EAA7BC,EAAKN,EAAIvyE,OAAO81D,cAAmB2c,GAAMG,EAAKC,EAAGrd,QAAQ9C,MAAO+f,GAAK,EAG5E,GAFAD,EAAKtwE,KAAK0wE,EAAG1yE,OAETd,GAAKozE,EAAKn0E,SAAWe,EAAG,MAE9B,MAAOikE,GACPqP,GAAK,EACLC,EAAKtP,EACL,QACA,IACOoP,GAAsB,MAAhBI,EAAG,WAAmBA,EAAG,YACpC,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,EAGT,SAASqvV,IACP,MAAM,IAAI/sW,UAAU,mDAGtB,SAAS2sW,IACP,MAAM,IAAI3sW,UAAU,wDAGtB,IAAIztD,EAAOnI,EAAoB,QAE3BsnI,EAAYtnI,EAAoB,QAEhC6ia,EAAU7ia,EAAoB,QAE9B8mV,EAAU9mV,EAAoB,QAE9B8ia,EAAS9ia,EAAoB,QAE7B09L,EAAU19L,EAAoB,QAE9BiO,EAAOjO,EAAoB,QAE3B+ia,EAAa/ia,EAAoB,QAEjC0iQ,EAAU1iQ,EAAoB,QAE9BsqM,EAAKtqM,EAAoB,QAEzBgja,EAAMhja,EAAoB,QAE1B8rN,EAAY9rN,EAAoB,QAEhC0uX,EAAUu0C,EAEd,SAASA,EAAQj9P,EAAMp7J,GACrB,IAAIupH,EAAQ3xH,KAEZ,KAAMA,gBAAgByga,GAAU,OAAO,IAAIA,EAAQj9P,EAAMp7J,GAErC,oBAATo7J,GACJp7J,IAASA,EAAU,IACxBA,EAAQo7J,KAAOA,IAEfp7J,EAAUo7J,EACVA,EAAO,MAGLp7J,GAAWA,EAAQzL,SAAQyL,EAAQkC,UAAYlC,GACnDo7J,EAAOp7J,EAAQo7J,KAEf,IACI8+C,EADAl7M,EAAKo8J,EAAKs6C,IAEVkB,EAAU,GACV0hN,EAAa,GAEjB38W,EAAS,GAET48W,EAAiB,CAAC,MACdC,EAAc,CAAC,MACfC,EAAY,IACZ5nS,EAAU,IAGdj5H,KAAK8ga,cAAgBh5N,EAErBwa,EAAiB9+C,EAAK/7J,QAAQ,CAC5BkB,KAAM,IAAI6H,WAAuB,EAAZqwZ,GACrBniZ,MAAOmiZ,EACPr6Y,OAAQ,EACR9V,KAAM,QACNmyF,OAAQ,OACRm3B,MAAO,QACPC,MAAO,QACPv5B,IAAK,UACLn7F,IAAK,YAEP+6Z,EAAOtga,KAAM,CACXwjK,KAAMA,EACNp8J,GAAIA,EACJ28C,OAAQA,EACR68W,YAAaA,EACbD,eAAgBA,EAChB3hN,QAASA,EACT0hN,WAAYA,EACZp+M,eAAgBA,EAChBu+M,UAAWA,EACX5nS,QAASA,EACTt7G,OAAQvW,EAAGuW,SAEb3d,KAAK+I,OAAOX,GAEZ,IAAI24Z,EAAgB,CAClBv3Z,SAAU,CACRrB,WAAYq7J,EAAK1zI,QAAQ,cACzBkvL,QAASsD,EACT0+M,YAAa,SAAqBljZ,EAAK0jG,GACrC,MAAO,CAACmQ,EAAMmvS,cAAgB,EAAID,EAAWv+M,EAAe97L,SAE9Di8C,MAAO+gG,EAAKhiD,KAAK,SACjBy/S,WAAYz9P,EAAKhiD,KAAK,cACtBg3G,UAAWh1D,EAAKhiD,KAAK,aACrB0/S,eAAgB19P,EAAKhiD,KAAK,kBAC1Bx5G,QAASw7J,EAAKhiD,KAAK,WACnBlsF,OAAQkuI,EAAKhiD,KAAK,kBAEpBl5G,WAAY,CAEVsD,EAAG,SAAWkS,EAAK0jG,GACjB,OAAOA,EAAKg0O,OAAS,CACnBjuV,OAAQi6G,EAAK2/S,eACbl7X,OAAQ,EACR5sB,OAAQ,IAGZ9H,EAAG,SAAWuM,EAAK0jG,GACjB,OAAOA,EAAKi0O,OAAS,CACnBluV,OAAQi6G,EAAK2/S,eACbl7X,OAAQ,EACR5sB,OAAQ,IAGZ+nZ,OAAQ,SAAgBtjZ,EAAK0jG,GAC3B,OAAOA,EAAKg0O,MAAQ,CAClB1xR,SAAU,CAAC,EAAG,IACZ,CACFv8D,OAAQi6G,EAAK6/S,oBACbp7X,OAAQ,EACR5sB,OAAQ,IAGZioZ,OAAQ,SAAgBxjZ,EAAK0jG,GAC3B,OAAOA,EAAKi0O,MAAQ,CAClB3xR,SAAU,CAAC,EAAG,IACZ,CACFv8D,OAAQi6G,EAAK6/S,oBACbp7X,OAAQ,EACR5sB,OAAQ,IAGZ4H,KAAM,SAAcnD,EAAK0jG,GACvB,OAAOA,EAAKvgG,KAAKtkB,OAAS,CACxB4K,OAAQi6G,EAAK+/S,WACbt7X,OAAQ,EACR5sB,OAAQ,GACN,CACFyqD,SAAU,CAAC3gE,KAAKs5B,MAAkB,IAAZ+kF,EAAKvgG,KAAa0wG,EAAMsH,YAGlDuoS,WAAY,SAAoB1jZ,EAAK0jG,GACnC,OAAOA,EAAKggT,WAAW7ka,OAAS,CAC9B4K,OAAQi6G,EAAK+/S,WACbt7X,OAAQ,EACR5sB,OAAQ,GACN,CACFyqD,SAAU,CAAC3gE,KAAKs5B,MAAwB,IAAlB+kF,EAAKggT,WAAmB7vS,EAAMsH,YAGxDonS,QAAS,SAAiBviZ,EAAK0jG,GAC7B,OAAOA,EAAK/4G,MAAM9L,OAAS,CACzB4K,OAAQi6G,EAAKigT,YACbx7X,OAAQ0rF,EAAMmvS,cAAgB,EAAI,EAClCznZ,OAAQ,GACN,CACFyqD,SAAU6tD,EAAMmvS,cAAgB9hN,EAAQr9M,MAAmB,EAAb6/G,EAAK/4G,MAAwB,EAAb+4G,EAAK/4G,MAAY,GAAK,CAAC+4G,EAAK/4G,SAG9Fi5Z,cAAe,SAAuB5jZ,EAAK0jG,GACzC,OAAOA,EAAK3M,YAAYl4G,OAAS,CAC/B4K,OAAQi6G,EAAKigT,YACbx7X,OAAQ0rF,EAAMmvS,cAAgB,EAAI,EAClCznZ,OAAQs4G,EAAMmvS,cAAgB,EAAI,GAChC,CACFh9V,SAAU6tD,EAAMmvS,cAAgB9hN,EAAQr9M,MAAyB,EAAnB6/G,EAAK3M,YAAoC,EAAnB2M,EAAK3M,YAAkB,GAAK,CAAC2M,EAAK3M,eAG1Gq8R,SAAU,SAAkBpzX,EAAK0jG,GAC/B,OAA2B,IAApBA,EAAKmgT,WAAsB,CAChC79V,SAAU,CAAC,IACT09C,EAAKmgT,WAAangT,EAAKmgT,WAAa,CACtC79V,SAAU,CAAC,MAIjBkwB,MAAO,CACLh2D,QAAQ,EACRv1B,MAAO,CAAC,EAAG,EAAG,EAAG,GAEjBotE,KAAM,CACJ4sI,OAAQ,YACRC,OAAQ,sBACRC,SAAU,sBACVC,SAAU,QAGd5E,QAAS,CACPhgL,QAAQ,EACR29H,IAAK6H,EAAKhiD,KAAK,aAEjB19E,SAAU0/H,EAAKhiD,KAAK,YACpBmxH,QAAS,CACP30M,QAAQ,GAEVw1I,MAAO,CACLx1I,QAAQ,GAEVooG,SAAUo9B,EAAKhiD,KAAK,YACpBx5C,MAAOw7F,EAAKhiD,KAAK,SACjBnoG,OAAQmqJ,EAAKhiD,KAAK,UAClB0iE,UAAW,UAGTxf,EAAgB47P,EAAO,GAAIS,GAC/Br8P,EAAc7M,KAAOqjC,EAAQ,CAAC,wjCAC9Bx2B,EAAcj+H,KAAOy0J,EAAQ,CAAC,4mDAC9Bl7L,KAAK4ha,WAAap+P,EAAKkB,GAEvB,IAAIm9P,EAAgBvB,EAAO,GAAIS,GAC/Bc,EAAchqQ,KAAOqjC,EAAQ,CAAC,0xBAC9B2mO,EAAcp7X,KAAOy0J,EAAQ,CAAC,w/CAE1B4M,IACF+5N,EAAchqQ,KAAOgqQ,EAAchqQ,KAAKhiJ,QAAQ,aAAc,cAC9D6uJ,EAAc7M,KAAO6M,EAAc7M,KAAKhiJ,QAAQ,aAAc,eAGhE7V,KAAK8ha,WAAat+P,EAAKq+P,GAIzBpB,EAAQtwU,SAAW,CACjB1nF,MAAO,QACPosG,YAAa,cACb2sT,WAAY,EACZvgZ,KAAM,GACNjZ,QAAS,EACTstB,YAAQ14B,EACRknC,SAAU,KACV1uB,MAAO,KACP2sZ,UAAW,KACX/5V,MAAO,EACP3uD,OAAQ,EACRzS,OAAQ,KACR0D,UAAW,GACXotZ,KAAM,KAIR+I,EAAQtha,UAAUolC,OAAS,WAMzB,OALIrnC,UAAUP,QACZqD,KAAK+I,OAAO9L,MAAM+C,KAAM9C,WAG1B8C,KAAKsJ,OACEtJ,MAITyga,EAAQtha,UAAUmK,KAAO,WAGvB,IAFA,IAAI04Z,EAAShia,KAEJiia,EAAO/ka,UAAUP,OAAQkrC,EAAO,IAAIxmC,MAAM4ga,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6X,EAAKq6X,GAAQhla,UAAUgla,GAGzB,IAAIn+W,EAAS/jD,KAAK+jD,OASlB,GAPoB,IAAhBlc,EAAKlrC,QAAgB0E,MAAM0J,QAAQ88B,EAAK,MAAuB,OAAfA,EAAK,GAAG,IAAexmC,MAAM0J,QAAQ88B,EAAK,GAAG,OAC/FA,EAAOA,EAAK,IAId7nC,KAAKwjK,KAAKqjN,WAENh/U,EAAKlrC,OACP,IAAK,IAAIe,EAAI,EAAGA,EAAImqC,EAAKlrC,OAAQe,IAC/BsC,KAAKmia,SAASzka,EAAGmqC,EAAKnqC,SAItBqmD,EAAOmQ,SAAQ,SAAU1lD,EAAO9Q,GAC9Bska,EAAOG,SAASzka,MAItB,OAAOsC,MAITyga,EAAQtha,UAAUgja,SAAW,SAAU/4Z,EAAI+qX,GACzC,IAAIpwU,EAAS/jD,KAAK+jD,OACdv1C,EAAQu1C,EAAO36C,GAanB,GANmB,kBAAR+qX,IACT/qX,EAAK+qX,EACL3lX,EAAQu1C,EAAOowU,GACfA,EAAM,MAGF3lX,GAASA,EAAMw5D,OAASx5D,EAAMxG,QAApC,CAEIwG,EAAMmzZ,WAAW,IAEnB3ha,KAAK8ha,WAAW9ha,KAAKoia,qBAAqB,EAAG5zZ,EAAO2lX,IAMtD,IAFA,IAAI9N,EAAQ,GAEH3oX,EAAI,EAAGA,EAAI8Q,EAAMmzZ,WAAWhla,OAAQe,IACtC8Q,EAAMmzZ,WAAWjka,MAA8B,IAAxB8Q,EAAMmzZ,WAAWjka,IAAgB8Q,EAAMmzZ,WAAWjka,GAAGiL,KAAKhM,SACtF0pX,EAAM7lX,KAAKvD,MAAMopX,EAAO25C,EAAmBhga,KAAKoia,qBAAqB1ka,EAAG8Q,EAAO2lX,KAG7E9N,EAAM1pX,QACRqD,KAAK4ha,WAAWv7C,KAKpBo6C,EAAQtha,UAAUija,qBAAuB,SAAUC,EAAU7zZ,EAAO43H,GAClE,IAAIhxH,EAAQ5G,EAAM4G,MACd8uD,EAAO11D,EAAM01D,KACbpgC,EAAWt1B,EAAMs1B,SACjB69X,EAAanzZ,EAAMmzZ,WACnBW,EAAkB9zZ,EAAM8zZ,gBACxBt6V,EAAQx5D,EAAMw5D,MACPhoE,KAAKwjK,KAEhB,IAAKt/F,EAEH,OAAIkiE,EACK,CAACk6R,EAAO,GAAI9xZ,EAAO,CACxB+zZ,cAAevia,KAAK2ga,eAAe0B,GACnCV,WAAYA,EAAWU,GACvBr6V,MAAOo+D,EAASzpI,OAChBypI,SAAUA,EACV/sH,OAAQ,KAIL,CAACinZ,EAAO,GAAI9xZ,EAAO,CACxB+zZ,cAAevia,KAAK2ga,eAAe0B,GACnCV,WAAYA,EAAWU,GACvBhpZ,OAAQ,KAKZ,IAAIgtW,EAAQ,GACRm8C,EAAMt+V,EAAK9uD,MAAMA,EAAO,CAC1BotZ,KAAK,EACL5wZ,GAAI,EAAEwD,EAAM,GAAKA,EAAM,IAAM0uB,EAASplB,OAAQtJ,EAAM,GAAKA,EAAM,IAAM0uB,EAAStd,UAGhF,GAAI4/G,EAAU,CAKZ,IAJA,IAAIq8R,EAAmBd,EAAWU,GAC9Bn7X,EAAOu7X,EAAiB95Z,KACxBA,EAAO,IAAI6H,WAAWw3D,GAEjBtqE,EAAI,EAAGA,EAAI0oI,EAASzpI,OAAQe,IAAK,CACxC,IAAI0L,EAAKg9H,EAAS1oI,GAClBiL,EAAKS,GAAM89B,EAAOA,EAAK99B,GAAM,EAG/Bk5Z,EAAgBpsD,QAAQvtW,GAG1B,IAAK,IAAIhL,EAAI6ka,EAAI7la,OAAQgB,KAAM,CAC7B,IAAI+ka,EAAS/xV,EAAe6xV,EAAI7ka,GAAI,GAChC0sG,EAAOq4T,EAAO,GACdz4O,EAAKy4O,EAAO,GAEhBr8C,EAAM7lX,KAAK8/Z,EAAO,GAAI9xZ,EAAO,CAC3B+zZ,cAAevia,KAAK2ga,eAAe0B,GACnCV,WAAYv7R,EAAWk8R,EAAkBX,EAAWU,GACpDhpZ,OAAQgxF,EACRriC,MAAOiiH,EAAK5/E,KAIhB,OAAOg8Q,GAITo6C,EAAQtha,UAAU4J,OAAS,WAGzB,IAFA,IAAI45Z,EAAS3ia,KAEJ4ia,EAAQ1la,UAAUP,OAAQkrC,EAAO,IAAIxmC,MAAMuha,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFh7X,EAAKg7X,GAAS3la,UAAU2la,GAG1B,GAAKh7X,EAAKlrC,OAAV,CAEoB,IAAhBkrC,EAAKlrC,QAAgB0E,MAAM0J,QAAQ88B,EAAK,MAAKA,EAAOA,EAAK,IAC7D,IAAIkc,EAAS/jD,KAAK+jD,OACd38C,EAAKpH,KAAKoH,GACVo8J,EAAOxjK,KAAKwjK,KACZvqC,EAAUj5H,KAAKi5H,QACf4nS,EAAY7ga,KAAK6ga,UACjB7hN,EAAUh/M,KAAKg/M,QACnBh/M,KAAK+jD,OAASA,EAASlc,EAAK6Q,KAAI,SAAUtwC,EAAS1K,GACjD,IAAI8Q,EAAQu1C,EAAOrmD,GACnB,QAAgBd,IAAZwL,EAAuB,OAAOoG,EAClB,OAAZpG,EAAkBA,EAAU,CAC9BkC,UAAW,MACiB,oBAAZlC,EAAwBA,EAAU,CAClD06Z,OAAQ16Z,GACuB,kBAAfA,EAAQ,KAAiBA,EAAU,CACnDkC,UAAWlC,IAGbA,EAAUqD,EAAKrD,EAAS,CACtBkC,UAAW,wBACXotZ,KAAM,wBACNz2Y,KAAM,oBACNugZ,WAAY,+IACZ/4Z,MAAO,yCACPosG,YAAa,2DACbv/E,OAAQ,uBACRlgB,MAAO,wBACP0uB,SAAU,oCACV97B,QAAS,6BACTpB,OAAQ,iCACRk6Z,cAAe,oEAES,OAAtB14Z,EAAQkC,YAAoBlC,EAAQkC,UAAY,IACvB,MAAzBlC,EAAQ04Z,gBAAuB6B,EAAO7B,cAAgB14Z,EAAQ04Z,eAE7DtyZ,IACHu1C,EAAOrmD,GAAK8Q,EAAQ,CAClBpF,GAAI1L,EACJ+kE,MAAO,KACP+1J,UAAW,KACXyoM,WAAY,KACZC,eAAgB,KAEhBS,WAAY,GAEZW,gBAAiB9+P,EAAKj8J,OAAO,CAC3BoB,KAAM,IAAI6H,WAAW,GACrBqvM,MAAO,SACPnvM,KAAM,UAIR6wZ,WAAY/9P,EAAKj8J,OAAO,CACtBoB,KAAM,IAAI6H,WAAW,GACrBqvM,MAAO,UACPnvM,KAAM,UAER+wZ,YAAaj+P,EAAKj8J,OAAO,CACvBoB,KAAM,IAAI6H,WAAW,GACrBqvM,MAAO,UACPnvM,KAAM,UAERywZ,eAAgB39P,EAAKj8J,OAAO,CAC1BoB,KAAM,IAAI6H,WAAW,GACrBqvM,MAAO,UACPnvM,KAAM,UAER2wZ,oBAAqB79P,EAAKj8J,OAAO,CAC/BoB,KAAM,IAAI6H,WAAW,GACrBqvM,MAAO,UACPnvM,KAAM,WAGVtI,EAAUk4Z,EAAO,GAAIG,EAAQtwU,SAAU/nF,IAIrCA,EAAQkC,aAAe,WAAYlC,KACrCA,EAAQktB,OAAS9mB,EAAM8mB,cAChB9mB,EAAM8mB,QAIXltB,EAAQktB,UAAY,cAAeltB,KACrCA,EAAQkC,UAAYkE,EAAMlE,iBACnBkE,EAAMlE,WAIf,IAAIy4Z,EAAU,EACVC,EAAW,EA+Lf,GA9LAzC,EAAW/xZ,EAAOpG,EAAS,CAAC,CAC1BsvZ,MAAM,EACNz2Y,KAAM,SAAc3hB,EAAGkP,GAGrB,OAFS,MAALlP,IAAWA,EAAImha,EAAQtwU,SAASlvE,MACpC8hZ,GAAWzja,GAAKA,EAAE3C,OAAS,EAAI,EACxB2C,GAETkia,WAAY,SAAoBlia,EAAGkP,GAGjC,OAFS,MAALlP,IAAWA,EAAImha,EAAQtwU,SAASqxU,YACpCuB,GAAWzja,GAAKA,EAAE3C,OAAS,EAAI,EACxB2C,GAET0I,QAASopB,WAET3oB,MAAO,SAAezL,EAAGwR,GAIvB,OAHS,MAALxR,IAAWA,EAAIyja,EAAQtwU,SAAS1nF,OACpCzL,EAAI2la,EAAOM,YAAYjma,GACvBgma,IACOhma,GAET63G,YAAa,SAAqB73G,EAAGwR,GAInC,OAHS,MAALxR,IAAWA,EAAIyja,EAAQtwU,SAAS0kB,aACpC73G,EAAI2la,EAAOM,YAAYjma,GACvBgma,IACOhma,GAET4J,OAAQ,SAAgBs8Z,EAAS10Z,EAAOpG,GAEtC,MADM,UAAWA,IAAUA,EAAQgN,MAAQ,MACpC8tZ,GAET54Z,UAAW,SAAmB64Z,EAAY30Z,EAAOpG,GAC/C,IAAIsvZ,EAAOlpZ,EAAMkpZ,KACbyJ,EAAiB3yZ,EAAM2yZ,eACvBE,EAAsB7yZ,EAAM6yZ,oBAC5BiB,EAAkB9zZ,EAAM8zZ,gBAE5B,GAAIa,EAAWv3Z,GAAKu3Z,EAAW5xZ,EAkC7B,OAjCI4xZ,EAAWv3Z,EAAEjP,OACf6R,EAAMgnV,MAAQ,CACZjuV,OAAQi8J,EAAKj8J,OAAO47Z,EAAWv3Z,GAC/ByN,OAAQ,EACR4sB,OAAQ,EACR+hC,MAAOm7V,EAAWv3Z,EAAEjP,QAGtB6R,EAAMgnV,MAAQ,CACZjuV,OAAQ47Z,EAAWv3Z,EAAErE,OACrB8R,OAA8B,EAAtB8pZ,EAAWv3Z,EAAEyN,QAAc,EACnC4sB,OAAqC,GAA5Bk9X,EAAWv3Z,EAAEq6B,QAAU,GAChC+hC,MAAOm7V,EAAWv3Z,EAAEo8D,OAIpBm7V,EAAW5xZ,EAAE5U,OACf6R,EAAMinV,MAAQ,CACZluV,OAAQi8J,EAAKj8J,OAAO47Z,EAAW5xZ,GAC/B8H,OAAQ,EACR4sB,OAAQ,EACR+hC,MAAOm7V,EAAW5xZ,EAAE5U,QAGtB6R,EAAMinV,MAAQ,CACZluV,OAAQ47Z,EAAW5xZ,EAAEhK,OACrB8R,OAA8B,EAAtB8pZ,EAAW5xZ,EAAE8H,QAAc,EACnC4sB,OAAqC,GAA5Bk9X,EAAW5xZ,EAAE00B,QAAU,GAChC+hC,MAAOm7V,EAAW5xZ,EAAEy2D,OAIxBx5D,EAAMw5D,MAAQ7kE,KAAKqC,IAAIgJ,EAAMgnV,MAAMxtR,MAAOx5D,EAAMinV,MAAMztR,OAC/Cm7V,EAGTA,EAAajjK,EAAQijK,EAAY,WACjC,IAAIn7V,EAAQx5D,EAAMw5D,MAAQ7kE,KAAK2N,MAAMqyZ,EAAWxma,OAAS,GACrDiK,EAAS4H,EAAM5H,OAASohE,EAAQ88D,EAAUq+R,EAAY,GAAK,KAuB/D,GArBK/6Z,EAAQgN,OAAU5G,EAAM4G,eACpB5G,EAAM4G,MACbhN,EAAQgN,MAAQxO,GAIbwB,EAAQktB,QAAW9mB,EAAM8mB,gBACrB9mB,EAAM8mB,OACbltB,EAAQktB,OAAS,MAIfoiY,KAAkB,IAATA,GAAiB1vV,EAAQ0vV,GACpClpZ,EAAM01D,KAAOogR,EAAQ6+E,EAAY,CAC/Bv8Z,OAAQA,IAGH8wZ,GAAQA,EAAK/6Z,SAClB6R,EAAM01D,KAAOwzV,GAGblpZ,EAAM01D,KAAM,CACd,IAAIv5C,EAAO,CACTu5J,UAAW,SACX27B,MAAO,SACPl3M,KAAM6F,EAAM01D,KACZxzD,KAAM,UAEJlC,EAAM43H,SAAU53H,EAAM43H,SAASz7G,GAAWnc,EAAM43H,SAAWo9B,EAAKp9B,SAASz7G,GAkB/E,OAdAw2Y,EAAe,CACbx4Z,KAAM63Z,EAAIrpS,MAAMgsS,GAChBtjN,MAAO,YAETwhN,EAAoB,CAClB14Z,KAAM63Z,EAAInpS,MAAM8rS,GAChBtjN,MAAO,YAGTyiN,EAAgB,CACd35Z,KAAM,IAAI6H,WAAWw3D,GACrBt3D,KAAM,QACNmvM,MAAO,WAEFsjN,IAER,CAED7tY,OAAQ,SAAgB8tY,EAAS50Z,EAAOpG,GACtC,IAAIu5Z,EAAanzZ,EAAMmzZ,WAOvB,GALAA,EAAWztW,SAAQ,SAAU3sD,GAC3B,OAAOA,GAAUA,EAAO0rB,SAAW1rB,EAAO0rB,aAE5C0uY,EAAWhla,OAAS,EAEfyma,GAAiC,kBAAfA,EAAQ,GAK1B,CAGD,IAFA,IAAIC,EAAc,GAETlyV,EAAK,EAAGxzE,EAAIwF,KAAKoC,IAAI69Z,EAAQzma,OAAQ6R,EAAMw5D,OAAQmJ,EAAKxzE,EAAGwzE,IAAM,CACxE,IAAIv3C,EAAM+oY,EAAOW,UAAUF,EAAQjyV,IAE9BkyV,EAAYzpY,KAAMypY,EAAYzpY,GAAO,IAAIppB,WAAWhC,EAAMw5D,QAE/Dq7V,EAAYzpY,GAAKu3C,GAAM,EAGzB,IAAK,IAAIoyV,EAAO,EAAGA,EAAOF,EAAY1ma,OAAQ4ma,IAC5C,GAAKF,EAAYE,GAAjB,CACA,IAAI54Y,EAAO,CACThiB,KAAM06Z,EAAYE,GAClB7yZ,KAAM,QACNmvM,MAAO,UAGJ8hN,EAAW4B,GAGd5B,EAAW4B,GAAM54Y,GAFjBg3Y,EAAW4B,GAAQ//P,EAAKj8J,OAAOojB,GAKjCg3Y,EAAW4B,GAAM56Z,KAAO06Z,EAAYE,QA9BM,CAC9C,IAAIn6Z,EAAKu5Z,EAAOW,UAAUF,GAE1BzB,EAAWv4Z,IAAM,EA+BnB,OAAOg6Z,GAEThuZ,MAAO,SAAeoqG,EAAQhxG,EAAOpG,GACnC,IAAIxB,EAAS4H,EAAM5H,OAEnB,GAAKA,EAML,OALK44G,IAAQA,EAAS54G,GACtB4H,EAAMi0D,MAAQ,CAAC,GAAK+8C,EAAO,GAAKA,EAAO,IAAK,GAAKA,EAAO,GAAKA,EAAO,KACpEhxG,EAAMgqN,UAAY,EAAEh5G,EAAO,IAAKA,EAAO,IACvChxG,EAAMyyZ,WAAaT,EAAInpS,MAAM7oH,EAAMi0D,OACnCj0D,EAAM0yZ,eAAiBV,EAAInpS,MAAM7oH,EAAMgqN,WAChCh5G,GAET17E,SAAU,SAAkB0/X,GAC1B,IAAIr3S,EAAOm9F,EAAUk6M,GAAM,CAACp8Z,EAAG0C,mBAAoB1C,EAAG2C,sBAGtD,OAAOoiH,MAIP42S,EAAS,CACX,IAAIp8L,EAASn4N,EACTw5D,EAAQ2+J,EAAO3+J,MACf/mD,EAAO0lN,EAAO1lN,KACdugZ,EAAa76L,EAAO66L,WACpBD,EAAa56L,EAAO46L,WACpBtrS,EAAQ,IAAIzlH,WAAmB,EAARw3D,GAE3B,GAAI/mD,EAAKtkB,QAAU6ka,EAAW7ka,OAC5B,IAAK,IAAI8ma,EAAM,EAAGA,EAAMz7V,EAAOy7V,IAE7BxtS,EAAY,EAANwtS,GAAWtga,KAAKs5B,MAA+C,KAA3B,MAAbxb,EAAKwiZ,GAAexiZ,EAAOA,EAAKwiZ,IAAcxqS,GAC3EhD,EAAY,EAANwtS,EAAU,GAAKtga,KAAKs5B,MAAiE,KAAvC,MAAnB+kY,EAAWiC,GAAejC,EAAaA,EAAWiC,IAAcxqS,GAIrGsoS,EAAW,CACT54Z,KAAMstH,EACN4pF,MAAO,YAKX,GAAImjN,EAAU,CACZ,IAKIz4Z,EALAm5Z,EAAUl1Z,EACVqpM,EAAS6rN,EAAQ17V,MACjBv/D,EAAQi7Z,EAAQj7Z,MAChBosG,EAAc6uT,EAAQ7uT,YACtB4sT,EAAciC,EAAQjC,YAG1B,GAAIkB,EAAO7B,eACT,GAAIr4Z,EAAM9L,QAAUk4G,EAAYl4G,OAAQ,CACtC4N,EAAS,IAAIiG,WAAoB,EAATqnM,GAExB,IAAK,IAAI8rN,EAAM,EAAGA,EAAM9rN,EAAQ8rN,IAAO,CACrC,IAAIC,EAAWn7Z,EAAMk7Z,GACrBp5Z,EAAa,EAANo5Z,GAAW3kN,EAAmB,EAAX4kN,GAC1Br5Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAmB,EAAX4kN,EAAe,GAC7Cr5Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAmB,EAAX4kN,EAAe,GAC7Cr5Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAmB,EAAX4kN,EAAe,GAC7C,IAAIlC,EAAgB7sT,EAAY8uT,GAChCp5Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAwB,EAAhB0iN,GAC9Bn3Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAwB,EAAhB0iN,EAAoB,GAClDn3Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAwB,EAAhB0iN,EAAoB,GAClDn3Z,EAAa,EAANo5Z,EAAU,GAAK3kN,EAAwB,EAAhB0iN,EAAoB,UAMpD,GAAIj5Z,EAAM9L,QAAUk4G,EAAYl4G,OAAQ,CAEtC4N,EAAS,IAAIiG,WAAoB,EAATqnM,EAAa,GAErC,IAAK,IAAIgsN,EAAM,EAAGA,EAAMhsN,EAAQgsN,IAEZ,MAAdp7Z,EAAMo7Z,KACRt5Z,EAAa,EAANs5Z,GAAWp7Z,EAAMo7Z,GAAOhD,EAC/Bt2Z,EAAa,EAANs5Z,EAAU,GAAK1ga,KAAK2N,MAAMrI,EAAMo7Z,GAAOhD,IAGxB,MAApBhsT,EAAYgvT,KACdt5Z,EAAa,EAANs5Z,EAAU,GAAKhvT,EAAYgvT,GAAOhD,EACzCt2Z,EAAa,EAANs5Z,EAAU,GAAK1ga,KAAK2N,MAAM+jG,EAAYgvT,GAAOhD,IAM9DY,EAAY,CACV94Z,KAAM4B,GAAU,IAAIiG,WAAW,GAC/BE,KAAM,QACNmvM,MAAO,YAIX,OAAOrxM,OAKXiyZ,EAAQtha,UAAUmka,UAAY,SAAUQ,GACtC,IAMIC,EANApD,EAAiB3ga,KAAK2ga,eACtBn9P,EAAOxjK,KAAKwjK,KACZo9P,EAAc5ga,KAAK4ga,YACnBtwX,EAAa,MAAPwzX,EAAc,EAAIlD,EAAYx+Z,QAAQ0ha,GAChD,GAAIxzX,GAAO,EAAG,OAAOA,EAIrB,GAAIwzX,aAAetzZ,YAAcszZ,aAAerzZ,kBAC9CszZ,EAAUD,MACL,CACLC,EAAU,IAAIvzZ,WAAWszZ,EAAInna,QAE7B,IAAK,IAAIe,EAAI,EAAGC,EAAImma,EAAInna,OAAQe,EAAIC,EAAGD,IACrCqma,EAAQrma,GAAc,IAAToma,EAAIpma,GAIrB,IAAI2nE,EAASliE,KAAK2N,MAAM3N,KAAKuD,KAAKq9Z,EAAQpna,SAU1C,OATA2zC,EAAMqwX,EAAehka,OACrBika,EAAYpga,KAAKsja,GACjBnD,EAAenga,KAAKgjK,EAAK/7J,QAAQ,CAC/BwwW,SAAU,EACVtvW,KAAMo7Z,EACN1+V,OAAQA,EACRq7B,IAAK,SACLn7F,IAAK,YAEA+qC,GAITmwX,EAAQtha,UAAU8ja,YAAc,SAAU14Z,GACxC,IAAIm2Z,EAAa1ga,KAAK0ga,WAClB1hN,EAAUh/M,KAAKg/M,QACf6hN,EAAY7ga,KAAK6ga,UAEhBx/Z,MAAM0J,QAAQR,KACjBA,EAAS,CAACA,IAGZ,IAAI83B,EAAM,GAEV,GAAyB,kBAAd93B,EAAO,GAAiB,CACjC,IAAIsmM,EAAU,GAEd,GAAIxvM,MAAM0J,QAAQR,GAChB,IAAK,IAAI7M,EAAI,EAAGA,EAAI6M,EAAO5N,OAAQe,GAAK,EACtCmzM,EAAQrwM,KAAK+J,EAAO5I,MAAMjE,EAAGA,EAAI,SAGnC,IAAK,IAAIsma,EAAM,EAAGA,EAAMz5Z,EAAO5N,OAAQqna,GAAO,EAC5CnzN,EAAQrwM,KAAK+J,EAAOm/G,SAASs6S,EAAKA,EAAM,IAI5Cz5Z,EAASsmM,EAGX,IAAK,IAAIozN,EAAM,EAAGA,EAAM15Z,EAAO5N,OAAQsna,IAAO,CAC5C,IAAIx7Z,EAAQ8B,EAAO05Z,GACnBx7Z,EAAQ9C,EAAK8C,EAAO,SACpB,IAAIW,EAAKi3Z,EAAQ53Z,GAAO,GAExB,GAAsB,MAAlBi4Z,EAAWt3Z,GAAa,CAC1B,IAAIknC,EAAM0uK,EAAQriN,OAClB+ja,EAAWt3Z,GAAMjG,KAAK2N,MAAMw/B,EAAM,GAClC0uK,EAAQ1uK,GAAO7nC,EAAM,GACrBu2M,EAAQ1uK,EAAM,GAAK7nC,EAAM,GACzBu2M,EAAQ1uK,EAAM,GAAK7nC,EAAM,GACzBu2M,EAAQ1uK,EAAM,GAAK7nC,EAAM,GAG3B45B,EAAI4hY,GAAOvD,EAAWt3Z,GAQxB,OAJKpJ,KAAK8ga,eAAiB9hN,EAAQriN,OAAqB,EAAZkka,IAAe7ga,KAAK8ga,eAAgB,GAEhF9ga,KAAKkka,cAAcllN,GAEG,IAAf38K,EAAI1lC,OAAe0lC,EAAI,GAAKA,GAGrCo+X,EAAQtha,UAAU+ka,cAAgB,SAAUllN,GAC1C,IAAIh/M,KAAK8ga,cAAT,CACA,IAAID,EAAY7ga,KAAK6ga,UACjBv+M,EAAiBtiN,KAAKsiN,eACtB/mD,EAAiBp4J,KAAKy5B,KAAsB,IAAjBoiL,EAAQriN,OAAekka,GAEtD,GAAItlQ,EAAiB,EAAG,CACtByjD,EAAUA,EAAQr9M,QAElB,IAAK,IAAIjE,EAAqB,IAAjBshN,EAAQriN,OAAekka,EAAWnja,EAAI69J,EAAiBslQ,EAAWnja,IAC7EshN,EAAQx+M,KAAK,EAAG,EAAG,EAAG,GAKtB8hN,EAAe97L,OAAS+0I,GAC1B+mD,EAAemN,OAAOoxM,EAAWtlQ,GAInC+mD,EAAe25J,SAAS,CACtBv9V,MAAOvb,KAAKoC,IAAqB,IAAjBy5M,EAAQriN,OAAckka,GACtCr6Y,OAAQ+0I,EACR5yJ,KAAMq2M,GACL,EAAG,KAIRyhN,EAAQtha,UAAU8zB,QAAU,WAiB1B,OAhBAjzB,KAAK+jD,OAAOmQ,SAAQ,SAAU1lD,GAC5BA,EAAM+yZ,WAAWtuY,UACjBzkB,EAAM2yZ,eAAeluY,UACrBzkB,EAAM6yZ,oBAAoBpuY,UAC1BzkB,EAAMizZ,YAAYxuY,UAClBzkB,EAAMmzZ,WAAWztW,SAAQ,SAAUn3D,GACjC,OAAOA,GAAKA,EAAEk2B,SAAWl2B,EAAEk2B,aAE7BzkB,EAAM8zZ,gBAAgBrvY,UAClBzkB,EAAM43H,UAAU53H,EAAM43H,SAASnzG,aAErCjzB,KAAK+jD,OAAOpnD,OAAS,EACrBqD,KAAKsiN,eAAervL,UACpBjzB,KAAK2ga,eAAezsW,SAAQ,SAAU0tD,GACpC,OAAOA,GAAOA,EAAI3uF,SAAW2uF,EAAI3uF,aAE5BjzB,MAGT,IAAImka,EAAW3ma,EAAoB,QAE/B4ma,EAAgB,SAAuB5gQ,EAAMp7J,GAC/C,IAAIi8Z,EAAa,IAAIn4C,EAAQ1oN,EAAMp7J,GAC/Bm8B,EAAS8/X,EAAW9/X,OAAOxlC,KAAKsla,GAcpC,OAZAF,EAAS5/X,EAAQ,CACfA,OAAQA,EACRx7B,OAAQs7Z,EAAWt7Z,OAAOhK,KAAKsla,GAC/B/6Z,KAAM+6Z,EAAW/6Z,KAAKvK,KAAKsla,GAC3BpxY,QAASoxY,EAAWpxY,QAAQl0B,KAAKsla,GACjC7gQ,KAAM6gQ,EAAW7gQ,KACjBp8J,GAAIi9Z,EAAWj9Z,GACfuW,OAAQ0mZ,EAAWj9Z,GAAGuW,OACtBomC,OAAQsgX,EAAWtgX,OACnBq/W,QAASiB,EAAWzD,YACpB5hN,QAASqlN,EAAWrlN,UAEfz6K,GAGTloC,EAAOC,QAAU8na,GAKX,OACA,SAAU/na,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUgoa,EAEjB,IAAIpiW,EAAM1kE,EAAoB,QAE9B,SAAS8ma,EAAUpia,GAEjB,IADA,IAAI2E,EAAS,IAAIxF,MAAMa,EAAEvF,QACjBe,EAAE,EAAGA,EAAEwE,EAAEvF,SAAUe,EACzBmJ,EAAOnJ,GAAKwkE,EAAIhgE,EAAExE,IAEpB,OAAOmJ,IAMH,KACA,SAAUxK,EAAQC,EAASkB,GAEjC,aAYA,IAAIsxR,EAAUtxR,EAAoB,QAAQsxR,QAE1CzyR,EAAOC,QAAU,SAAmBgnB,EAAIyuC,EAAQqkK,QACtBx5N,IAAnBw5N,IACCA,EAAiB04D,EAAQxrQ,EAAG85R,iBAAmB,WAGnD,IAAImnH,EAAc,CAACjhZ,EAAG4V,IAAI5V,EAAGlO,MAAM,IAAKkO,EAAG4V,IAAI5V,EAAGlO,MAAM,KACpDwoB,EAAS2mY,EAAY,IAAMA,EAAY,GAAKA,EAAY,IAAMnuM,EAElE9yM,EAAGlO,MAAQkO,EAAG6oB,OAAO/2B,MAAQ,CACzBkO,EAAG+V,IAAIuE,GAAU2mY,EAAY,GAAK3mY,GAAUm0B,GAC5CzuC,EAAG+V,IAAIuE,GAAU2mY,EAAY,GAAK3mY,GAAUm0B,MAO9C,KACA,SAAU11D,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkoa,EAEjB,IAAIr+Z,EAAU3I,EAAoB,QAC9BgvI,EAAOhvI,EAAoB,SAC3BqoC,EAAOroC,EAAoB,QAC3B8I,EAAe9I,EAAoB,QACnCuI,EAAevI,EAAoB,QAEnC6I,EAAU7I,EAAoB,QAElC,SAASina,EACPv0Z,EACA7I,EACAC,EACA65Z,EACAuD,EACAjD,EACAkD,GACA3ka,KAAKkQ,KAAOA,EACZlQ,KAAKqH,OAASA,EACdrH,KAAKsH,WAAaA,EAClBtH,KAAKmha,eAAiBA,EACtBnha,KAAK0ka,aAAeA,EACpB1ka,KAAKyha,YAAcA,EACnBzha,KAAK2ka,SAAWA,EAChB3ka,KAAK4ka,MAAQ,GACb5ka,KAAK6ka,MAAQ,GACb7ka,KAAK4+B,MAAQ,CAAC,EAAG,GACjB5+B,KAAK4G,OAAS,CAACe,IAAUA,KAAWA,KAAWA,KAC/C3H,KAAK40N,WAAa,EAGpB,IAAItzN,EAAQmja,EAAYtla,UAEpB2la,EAAU,CACZ,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,GAyPL,SAASN,EAAiBt0Z,EAAM9H,GAC9B,IAAIhB,EAAK8I,EAAK9I,GAEVC,EAASf,EAAac,EAAIf,EAAQojC,OAAQpjC,EAAQyxJ,UAClDxwJ,EAAahB,EAAac,EAAIf,EAAQ6uN,WAAY7uN,EAAQ8uN,cAE1DgsM,EAAiBp7Z,EAAaqB,GAC9Bs9Z,EAAiB3+Z,EAAaqB,GAC9Bq6Z,EAAc17Z,EAAaqB,GAC3Bu9Z,EAAW5+Z,EAAaqB,GAExBw2H,EAAU,IAAI6mS,EAChBv0Z,EACA7I,EACAC,EACA65Z,EACAuD,EACAjD,EACAkD,GAKF,OAHA/mS,EAAQ70H,OAAOX,GACf8H,EAAKklN,UAAUx3F,GAERA,EA7QTt8H,EAAMgI,KAAO,WACX,IAAIssN,EAAS,CACX,EAAG,EAAG,EACN,EAAG,EAAG,EACN,EAAG,EAAG,GAGR,OAAO,WACL,IAAI1lN,EAAOlQ,KAAKkQ,KACZ7I,EAASrH,KAAKqH,OACdT,EAAS5G,KAAK4G,OACd+1O,EAAc38O,KAAK28O,YAEvB,KAAIA,GAAe,GAAnB,CAIA,IAAIv1O,EAAK8I,EAAK9I,GACV0tN,EAAU5kN,EAAK4kN,QAEfiwM,EAASn+Z,EAAO,GAAKA,EAAO,GAC5Bo+Z,EAASp+Z,EAAO,GAAKA,EAAO,GAC5BkvN,EAAQhB,EAAQ,GAAKA,EAAQ,GAC7BiB,EAAQjB,EAAQ,GAAKA,EAAQ,GAEjCc,EAAO,GAAK,EAAMmvM,EAASjvM,EAC3BF,EAAO,GAAK,EAAMovM,EAASjvM,EAC3BH,EAAO,GAAK,GAAOhvN,EAAO,GAAKkuN,EAAQ,IAAMgB,EAAQ,EACrDF,EAAO,GAAK,GAAOhvN,EAAO,GAAKkuN,EAAQ,IAAMiB,EAAQ,EAErD1uN,EAAOtI,OAEP,IAAIyK,EAAWnC,EAAOmC,SACtBA,EAASy7Z,cAAgBrvM,EAEzBpsN,EAASo1B,MAAQ5+B,KAAK4+B,MAEtB,IAAIt2B,EAAajB,EAAOiB,WACxBtI,KAAKmha,eAAepia,OACpBuJ,EAAWtB,SAASm/B,UAEpBnmC,KAAK0ka,aAAa3la,OAClBuJ,EAAWyjE,OAAO5lC,QAAQ/+B,EAAG2zH,eAAe,GAE5C/6H,KAAKyha,YAAY1ia,OACjBuJ,EAAWG,MAAM09B,QAAQ/+B,EAAG2zH,eAAe,GAE3C3zH,EAAGm/H,WAAWn/H,EAAGiiL,UAAW,EAAGszD,KA/CtB,GAmDbr7O,EAAM4I,SAAW,WACf,IAAI0rN,EAAS,CACX,EAAG,EAAG,EACN,EAAG,EAAG,EACN,EAAG,EAAG,GAGJsvM,EAAc,CAAC,EAAG,EAAG,EAAG,GAE5B,OAAO,SAAUtwM,GACf,IAAI1kN,EAAOlQ,KAAKkQ,KACZ7I,EAASrH,KAAKsH,WACdV,EAAS5G,KAAK4G,OACd+1O,EAAc38O,KAAK28O,YAEvB,KAAIA,GAAe,GAAnB,CAIA,IAAIv1O,EAAK8I,EAAK9I,GACV0tN,EAAU5kN,EAAK4kN,QAEfiwM,EAASn+Z,EAAO,GAAKA,EAAO,GAC5Bo+Z,EAASp+Z,EAAO,GAAKA,EAAO,GAC5BkvN,EAAQhB,EAAQ,GAAKA,EAAQ,GAC7BiB,EAAQjB,EAAQ,GAAKA,EAAQ,GAEjCc,EAAO,GAAK,EAAMmvM,EAASjvM,EAC3BF,EAAO,GAAK,EAAMovM,EAASjvM,EAC3BH,EAAO,GAAK,GAAOhvN,EAAO,GAAKkuN,EAAQ,IAAMgB,EAAQ,EACrDF,EAAO,GAAK,GAAOhvN,EAAO,GAAKkuN,EAAQ,IAAMiB,EAAQ,EAErD,IAAK,IAAIr4N,EAAI,EAAGA,EAAI,IAAKA,EACvBwna,EAAYxna,GAAMk3N,GAAmB,EAAJl3N,EAAU,IAG7CsC,KAAK40N,WAAaA,EAElBvtN,EAAOtI,OAEP,IAAIyK,EAAWnC,EAAOmC,SACtBA,EAASy7Z,cAAgBrvM,EACzBpsN,EAASorN,WAAaswM,EACtB17Z,EAASo1B,MAAQ5+B,KAAK4+B,MAEtB,IAAIt2B,EAAajB,EAAOiB,WAYxB,OAXAtI,KAAKmha,eAAepia,OACpBuJ,EAAWtB,SAASm/B,UAEpBnmC,KAAK0ka,aAAa3la,OAClBuJ,EAAWyjE,OAAO5lC,QAAQ/+B,EAAG2zH,eAAe,GAE5C/6H,KAAK2ka,SAAS5la,OACduJ,EAAWT,OAAOs+B,QAAQ/+B,EAAG2zH,eAAe,GAE5C3zH,EAAGm/H,WAAWn/H,EAAGiiL,UAAW,EAAGszD,GAExB/nB,EAAa50N,KAAK4+B,MAAM,GAAK5+B,KAAK4+B,MAAM,KAzDlC,GA6DjBt9B,EAAMmK,KAAO,SAAUG,EAAG2F,EAAG/S,GAC3B,IAAIo2N,EAAa50N,KAAK40N,WAClBD,EAAa30N,KAAK4+B,MAAM,GAAK5+B,KAAK4+B,MAAM,GAC5C,GAAIpgC,EAAQo2N,GAAcp2N,GAASo2N,EAAaD,EAC9C,OAAO,KAET,IAAI4B,EAAU/3N,EAAQo2N,EAClBgwM,EAAQ5ka,KAAK4ka,MACbC,EAAQ7ka,KAAK6ka,MACjB,MAAO,CACL5la,OAAQe,KACRu2N,QAASA,EACTC,UAAW,CACTouM,EAAMruM,EAAUv2N,KAAK4+B,MAAM,IAC3BimY,EAAOtuM,EAAUv2N,KAAK4+B,MAAM,GAAM,MAIxCt9B,EAAMyH,OAAS,SAAUX,GACvBA,EAAUA,GAAW,GAErB,IAAIw2B,EAAQx2B,EAAQw2B,OAAS,CAAC,EAAG,GAE7BhzB,EAAIxD,EAAQwD,GAAK4gI,EAAK5tG,EAAM,IAC5BrtB,EAAInJ,EAAQmJ,GAAKi7H,EAAK5tG,EAAM,IAC5BvyB,EAAIjE,EAAQiE,GAAK,IAAI+X,aAAawa,EAAM,GAAKA,EAAM,IAEvD5+B,KAAK4ka,MAAQh5Z,EACb5L,KAAK6ka,MAAQtzZ,EAEb,IAAI4zZ,EAAc/8Z,EAAQ+8Z,aAAe,CAAC,GACtCC,EAAch9Z,EAAQg9Z,aAAe,CAAC,EAAG,EAAG,EAAG,GAC/CpoD,EAAamoD,EAAYxoa,OAEzBiK,EAAS5G,KAAK4G,OACdy+Z,EAAMz+Z,EAAO,GAAKgF,EAAE,GACpB05Z,EAAM1+Z,EAAO,GAAK2K,EAAE,GACpBg0Z,EAAM3+Z,EAAO,GAAKgF,EAAEA,EAAEjP,OAAS,GAC/B6oa,EAAM5+Z,EAAO,GAAK2K,EAAEA,EAAE5U,OAAS,GAE/B01G,EAAK,GAAOkzT,EAAMF,GAClB7yT,EAAK,GAAOgzT,EAAMF,GAElBG,EAAO7mY,EAAM,GACb8mY,EAAO9mY,EAAM,GAEjB5+B,KAAK4+B,MAAQ,CAAC6mY,EAAMC,GAEpB,IAAIxtK,GAAYutK,EAAO,IAAMC,EAAO,IAAMZ,EAAQnoa,SAAW,GAE7DqD,KAAK28O,YAAcub,EASnB,IAPA,IAAI3tP,EAASs7B,EAAK41F,YAAuB,EAAXy8H,GAC1B5tP,EAAYu7B,EAAK21F,cAAyB,EAAX08H,GAC/B+C,EAAYp1N,EAAK41F,YAAwB,EAAXy8H,GAC9BznK,EAAM5qD,EAAKqD,aAAagvN,GAExBvzP,EAAM,EAED3C,EAAI,EAAGA,EAAI0ja,EAAO,IAAK1ja,EAG9B,IAFA,IAAI2ja,EAAMnzT,GAAMjhG,EAAEvP,GAAKsja,GACnBM,EAAMpzT,GAAMjhG,EAAEvP,EAAI,GAAKsja,GAClB5na,EAAI,EAAGA,EAAI+na,EAAO,IAAK/na,EAI9B,IAHA,IAAImoa,EAAMxzT,GAAMzmG,EAAElO,GAAK2na,GACnBS,EAAMzzT,GAAMzmG,EAAElO,EAAI,GAAK2na,GAElBlrQ,EAAK,EAAGA,EAAK2qQ,EAAQnoa,OAAQw9J,GAAM,EAAG,CAC7C,IAKI97J,EAAGsoB,EAAG5pB,EAAGD,EALTo5B,EAAK4uY,EAAQ3qQ,GACbjzI,EAAK49Y,EAAQ3qQ,EAAK,GAClB9gJ,GAAUrX,EAAIklB,GAAMu+Y,GAAQ/na,EAAIw4B,GAChC6jX,EAAK1tY,EAAEgN,GACP0sZ,EAAW5/Z,EAAQmF,GAAG65Z,EAAaprB,GAEvC,GAAIgsB,EAAW,EACb1na,EAAI+ma,EAAY,GAChBz+Y,EAAIy+Y,EAAY,GAChBroa,EAAIqoa,EAAY,GAChBtoa,EAAIsoa,EAAY,QACX,GAAIW,IAAa/oD,EAAa,EACnC3+W,EAAI+ma,EAAY,EAAIpoD,EAAa,GACjCr2V,EAAIy+Y,EAAY,EAAIpoD,EAAa,GACjCjgX,EAAIqoa,EAAY,EAAIpoD,EAAa,GACjClgX,EAAIsoa,EAAY,EAAIpoD,EAAa,OAC5B,CACL,IAAIv+W,GAAKs7Y,EAAKorB,EAAYY,KACvBZ,EAAYY,EAAW,GAAKZ,EAAYY,IACvCp6Z,EAAK,EAAMlN,EACXk1I,EAAK,EAAIoyR,EACTvyZ,EAAK,GAAKuyZ,EAAW,GACzB1na,EAAIsN,EAAKy5Z,EAAYzxR,GAAMl1I,EAAI2ma,EAAY5xZ,GAC3CmT,EAAIhb,EAAKy5Z,EAAYzxR,EAAK,GAAKl1I,EAAI2ma,EAAY5xZ,EAAK,GACpDzW,EAAI4O,EAAKy5Z,EAAYzxR,EAAK,GAAKl1I,EAAI2ma,EAAY5xZ,EAAK,GACpD1W,EAAI6O,EAAKy5Z,EAAYzxR,EAAK,GAAKl1I,EAAI2ma,EAAY5xZ,EAAK,GAGtDjJ,EAAO,EAAI5F,GAAO,IAAMtG,EACxBkM,EAAO,EAAI5F,EAAM,GAAK,IAAMgiB,EAC5Bpc,EAAO,EAAI5F,EAAM,GAAK,IAAM5H,EAC5BwN,EAAO,EAAI5F,EAAM,GAAK,IAAM7H,EAE5BwN,EAAU,EAAE3F,GAAW,GAAJkha,EAAa,GAAJC,EAC5Bx7Z,EAAU,EAAE3F,EAAI,GAAS,GAAJgha,EAAa,GAAJC,EAE9B3qK,EAAQ,EAAEt2P,GAAOuxB,EACjB+kO,EAAQ,EAAEt2P,EAAI,GAAKuiB,EAEnBupE,EAAI9rF,GAAO3C,EAAIyja,EAAO/na,EAEtBiH,GAAO,EAKb3E,KAAKmha,eAAep4Z,OAAOuB,GAC3BtK,KAAK0ka,aAAa37Z,OAAOkyP,GACzBj7P,KAAKyha,YAAY14Z,OAAOwB,GACxBvK,KAAK2ka,SAAS57Z,OAAO0nF,GAErB5qD,EAAKg3F,KAAKvyH,GACVu7B,EAAKg3F,KAAKtyH,GACVs7B,EAAKg3F,KAAKo+H,GACVp1N,EAAKg3F,KAAKpsC,IAGZnvF,EAAMkK,QAAU,WACdxL,KAAKqH,OAAOmE,UACZxL,KAAKsH,WAAWkE,UAChBxL,KAAKmha,eAAe31Z,UACpBxL,KAAK0ka,aAAal5Z,UAClBxL,KAAKyha,YAAYj2Z,UACjBxL,KAAK2ka,SAASn5Z,UACdxL,KAAKkQ,KAAKmlN,aAAar1N,QAgCnB,KACA,SAAU3D,EAAQC,EAASkB,GAEjC,aAaAnB,EAAOC,QAAU,CACbsT,WAAY,YACZ9R,KAAM,SAEN8mC,iBAAkBpnC,EAAoB,QACtCm3D,qBAAsBn3D,EAAoB,QAE1C8L,KAAM9L,EAAoB,QAC1B2P,MAAO3P,EAAoB,UAMzB,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjD4mE,EAAoBxpF,EAAoB,QAAQwpF,kBAEhD7mE,EAAkB3iB,EAAoB,QACtC64H,EAAc74H,EAAoB,QAAQ8K,WAC1C09Z,EAAWxoa,EAAoB,QAC/Byoa,EAAgBzoa,EAAoB,QACpC2wC,EAAY3wC,EAAoB,QAChC8iB,EAAa9iB,EAAoB,QAAQ8iB,WAE7CjkB,EAAOC,QAAU,CACb8mB,OAAQ6iZ,EAAc7iZ,OACtB26E,QAASkoU,EAAcloU,QAEvB1nE,OAAQ4vY,EAAc5vY,OACtB2oE,aAAcinU,EAAcjnU,aAC5Bh3B,MAAOi+V,EAAcj+V,MAErBsoE,MAAO21R,EAAc31R,MACrB41R,SAAUD,EAAcC,SAExBhhK,OAAQ,CACJ/0H,QAAS,CACLzvH,QAAS,aACT2V,OAAQ,CACJ,WACA,SACA,OACA,QACA,aACA,cAEJ1V,KAAM,WAENI,SAAU,QAIdolZ,cAAe,CACXzlZ,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNI,SAAU,QAIdngB,KAAM,CACF8f,QAAS,WAET8S,MAAO,CACH,IACA,KAEJ7S,KAAM,GACNI,SAAU,QAIdzJ,IAAK,CACDoJ,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNI,SAAU,QAIdA,SAAU,QAGduU,OAAQhV,EAAW,CACfhJ,IAAK,CACD7Y,EAAG,CACCiiB,QAAS,SAETnb,IAAK,EACLwb,SAAU,QAGdpjB,EAAG,CACC+iB,QAAS,SAETnb,IAAK,EACLwb,SAAU,QAGd1iB,EAAG,CACCqiB,QAAS,SAETnb,IAAK,EACLwb,SAAU,QAGdhkB,EAAG,CACC2jB,QAAS,SAETnb,IAAK,EACLwb,SAAU,QAIdA,SAAU,QAGdxW,OAAQ07Z,EAAc3wY,OAAO/qB,OAE7B67Z,UAAW,CACP1lZ,QAAS,aACT2V,OAAQ,EAAC,GAAM,EAAO,YACtBtV,SAAU,SAKdwU,KAAM0wY,EAAc3wY,OAAOC,KAE3BxU,SAAU,QAEVZ,EAAgB,SAAU,CACtB0B,UAAW,SACX6oE,MAAM,KAId67E,QAAS,CACLh3J,QAAS,CACLmR,QAAS,UACTC,MAAM,EAENI,SAAU,QAIdmgC,KAAM,CACFxgC,QAAS,aACT2V,OAAQ,CACJ,MACA,UAEJ1V,KAAM,MAENI,SAAU,QAId0lP,UAAW,CACP/lP,QAAS,aACT2V,OAAQ,CACJ,IACA,IACA,IACA,IACA,MAEJ1V,KAAM,IAENI,SAAU,QAId01G,UAAW,CACP/1G,QAAS,SACTnb,IAAK,GAELwb,SAAU,QAId4mE,SAAUrnE,EAAW,GAAI0lZ,EAASr+U,SAAU,IAI5C5mE,SAAU,QAGdtU,KAAMu5Z,EAASv5Z,KACf46E,SAAU4+U,EAAc5+U,SAExBE,aAAcP,EAAkB,CAACjmE,SAAU,QAAS,CAChDgkC,KAAM5W,EAAUi5C,cAAcjiF,OAAO,CAAC,QAAS,YAGnDuc,UAAWskZ,EAAStkZ,UACpBoB,UAAWmjZ,EAAcnjZ,UACzBnB,cAAevB,EAAmB,GAAI,CAClC2kC,KAAM5W,EAAUi5C,gBAGpBO,SAAUq+U,EAASr+U,SACnBC,eAAgBo+U,EAASp+U,eACzBC,gBAAiBvnE,EAAW,GAAI0lZ,EAASn+U,gBAAiB,IAI1DL,aAAc,CACV9mE,QAAS,aACT2V,OAAQ,CACJ,WAAY,aAAc,YAC1B,cAAe,gBAAiB,eAChC,cAAe,gBAAiB,gBAEpC1V,KAAM,WAENI,SAAU,QAIdosC,OAAQkpE,EAAY,CAACv4H,KAAM,UAAWkO,OAAO,EAAM+U,SAAU,WAM3D,OACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU,CACfsiJ,KAAgBynR,EAChB1xO,eAAgBA,EAChBK,cAAgBA,EAChBP,cAAgBA,EAChBD,aAAgBA,GAGlB,IAAI3uJ,EAAQroC,EAAoB,QAC5BioJ,EAAQjoJ,EAAoB,QAC5B8oa,EAAQ9oa,EAAoB,QAG5B+oa,EAAa,GAAG,GAGhBv0O,EAAqB,KACrBw0O,EAAqB3gY,EAAKqsJ,YAAYF,GACtCy0O,EAAqB5gY,EAAKqsJ,YAAYF,GACtC00O,EAAqB7gY,EAAKqsJ,YAAYF,GACtC20O,EAAqB9gY,EAAKqsJ,YAAYF,GACtC40O,EAAqB/gY,EAAKqsJ,YAAYF,GACtC60O,EAAqBhhY,EAAKqsJ,YAAYF,GACtC80O,EAAqBjhY,EAAKusJ,aAA6B,EAAhBJ,GAG3C,SAASq0O,EAAOr+V,GACd,IAAI++V,EAASthR,EAAKgtC,SAASzqH,GACxBw+V,EAAgB7pa,OAASoqa,IAC1BlhY,EAAKg3F,KAAK2pS,GACVA,EAAkB3gY,EAAKqsJ,YAAY60O,IAElCN,EAAgB9pa,OAASoqa,IAC1BlhY,EAAKg3F,KAAK4pS,GACVA,EAAkB5gY,EAAKqsJ,YAAY60O,IAElCL,EAAiB/pa,OAASoqa,IAC3BlhY,EAAKg3F,KAAK6pS,GACVA,EAAmB7gY,EAAKqsJ,YAAY60O,IAEnCJ,EAAiBhqa,OAASoqa,IAC3BlhY,EAAKg3F,KAAK8pS,GACVA,EAAmB9gY,EAAKqsJ,YAAY60O,IAEnCH,EAAmBjqa,OAASoqa,IAC7BlhY,EAAKg3F,KAAK+pS,GACVA,EAAqB/gY,EAAKqsJ,YAAY60O,IAErCF,EAAmBlqa,OAASoqa,IAC7BlhY,EAAKg3F,KAAKgqS,GACVA,EAAqBhhY,EAAKqsJ,YAAY60O,IAExC,IAAIC,EAAc,EAAID,EACnBD,EAAanqa,OAASqqa,IACvBnhY,EAAKg3F,KAAKiqS,GACVA,EAAejhY,EAAKusJ,aAAa40O,IAKrC,SAASC,EAAM7wU,EAAOh2F,EAAO4nE,EAAO4kG,GAClC,IAAIvqI,EAAMjiC,EAAMwsK,GACZt9I,EAAM8mE,EAAMpuB,EAAM,GACtBouB,EAAM/zD,GAAO/S,EACblvB,EAAMkvB,GAAO+S,EAIf,SAAS6kY,EAAO9wU,EAAOh2F,EAAO4nE,EAAO4kG,GACnCx2E,EAAMpuB,GAAS4kG,EACfxsK,EAAMwsK,GAAS5kG,EAIjB,SAAS2sH,EACL92L,EAAGonE,EACH2tH,EAAWC,EAAQM,EAAKC,EACxBN,EAAWC,EAASO,EAAMe,GAc5B,IALA,IAAI1vL,EAAW,EACXimG,EAAW,EAAE/sG,EACbspa,EAAWtpa,EAAE,EACbupa,EAAWx8T,EAAS,EAEhBltG,EAAEk1L,EAAUl1L,EAAEm1L,IAAUn1L,EAAG,CACjC,IAAI2kC,EAAM+wJ,EAAS11L,GACf2pa,EAAYz8T,EAASltG,EACzBopa,EAAania,KAASwuL,EAAIk0O,EAAUF,GACpCL,EAAania,OAAW09B,EAAI,GAC5BykY,EAAania,KAASwuL,EAAIk0O,EAAUD,GACpCN,EAAania,KAAS09B,EAGxB,IAAQ3kC,EAAEo1L,EAAWp1L,EAAEq1L,IAAWr1L,EAAG,CAC/B2kC,EAAMgyJ,EAAU32L,GAAG6oa,EAAvB,IACIlzO,EAAazoF,EAASltG,EAC1Bopa,EAAania,KAAS2uL,EAAKD,EAAW8zO,GACtCL,EAAania,MAAU09B,EACvBykY,EAAania,KAAS2uL,EAAKD,EAAW+zO,GACtCN,EAAania,KAAS09B,EAIxB,IAAIrjC,EAAI2F,IAAQ,EAChB2ha,EAAMQ,EAAc9na,GAEpB,IAAIsoa,EAAa,EACbC,EAAa,EACjB,IAAQ7pa,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrB,IAAIqd,EAAwB,EAApB+rZ,EAAa,EAAEppa,EAAE,GACzB,GAAGqd,GAAKwrZ,EAENxrZ,EAAKA,EAAEwrZ,EAAW,EAClBU,EAAMP,EAAkBC,EAAkBY,IAAcxsZ,QACnD,GAAGA,GAAK,EAEbksZ,EAAMT,EAAiBC,EAAiBa,IAAavsZ,QAChD,GAAGA,IAAMwrZ,EAAW,CAEzBxrZ,GAAMA,EAAEwrZ,EAAW,EACnB,IAAI,IAAIvka,EAAE,EAAGA,EAAEsla,IAAatla,EAAG,CAC7B,IAAI4xL,EAAS3uH,EAAMuhW,EAAgBxka,GAAI+Y,GACvC,QAAc,IAAX64K,EACD,OAAOA,EAGXszO,EAAOR,EAAkBC,EAAkBY,IAAcxsZ,OACpD,CAELA,GAAMA,EAAE,EAAG,EACX,IAAQ/Y,EAAE,EAAGA,EAAEula,IAAcvla,EAAG,CAC1B4xL,EAAS3uH,EAAMlqD,EAAG2rZ,EAAiB1ka,IACvC,QAAc,IAAX4xL,EACD,OAAOA,EAGXszO,EAAOV,EAAiBC,EAAiBa,IAAavsZ,KAM5D,SAASi6K,EAAcn3L,EAAGonE,EACxB2tH,EAAUC,EAAQM,EAAKC,EACvBN,EAAWC,EAASO,EAAMe,GAO1B,IALA,IAAI1vL,EAAW,EACXimG,EAAW,EAAE/sG,EACbspa,EAAWtpa,EAAE,EACbupa,EAAWx8T,EAAS,EAEhBltG,EAAEk1L,EAAUl1L,EAAEm1L,IAAUn1L,EAAG,CACjC,IAAI2kC,EAAO+wJ,EAAS11L,GAAG,GAAI,EACvB2pa,EAAYz8T,EAASltG,EACzBopa,EAAania,KAASwuL,EAAIk0O,EAAUF,GACpCL,EAAania,MAAU09B,EACvBykY,EAAania,KAASwuL,EAAIk0O,EAAUD,GACpCN,EAAania,KAAS09B,EAGxB,IAAQ3kC,EAAEo1L,EAAWp1L,EAAEq1L,IAAWr1L,EAAG,CAC/B2kC,EAAOgyJ,EAAU32L,GAAG,GAAI,EAA5B,IACI21L,EAAazoF,EAASltG,EAC1Bopa,EAAania,KAAS2uL,EAAKD,EAAW8zO,GACtCL,EAAania,KAAgB,GAAL09B,EACxBykY,EAAania,KAAS2uL,EAAKD,EAAW+zO,GACtCN,EAAania,KAAa,EAAJ09B,EAIxB,IAAIrjC,EAAI2F,IAAQ,EAChB2ha,EAAMQ,EAAc9na,GAEpB,IAAIsoa,EAAe,EACfC,EAAe,EACfC,EAAe,EACnB,IAAQ9pa,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrB,IAAIqd,EAA4B,EAApB+rZ,EAAa,EAAEppa,EAAE,GACzB+K,EAAU,EAAFsS,EAMZ,GALGrd,EAAIsB,EAAE,GAAM+b,GAAG,IAAQ+rZ,EAAa,EAAEppa,EAAE,IAAI,IAC7C+K,EAAQ,EACR/K,GAAK,GAGJqd,EAAI,EAAG,CAKR,IAHA,IAAI3R,IAAO2R,GAAG,GAAK,EAGX/Y,EAAE,EAAGA,EAAEwla,IAAgBxla,EAAG,CAChC,IAAI4xL,EAAS3uH,EAAM2hW,EAAmB5ka,GAAIoH,GAC1C,QAAc,IAAXwqL,EACD,OAAOA,EAIX,GAAa,IAAVnrL,EAED,IAAQzG,EAAE,EAAGA,EAAEsla,IAAatla,EAAG,CACzB4xL,EAAS3uH,EAAMuhW,EAAgBxka,GAAIoH,GACvC,QAAc,IAAXwqL,EACD,OAAOA,EAKb,GAAa,IAAVnrL,EAED,IAAQzG,EAAE,EAAGA,EAAEula,IAAcvla,EAAG,CAC1B4xL,EAAS3uH,EAAMyhW,EAAiB1ka,GAAIoH,GACxC,QAAc,IAAXwqL,EACD,OAAOA,EAKA,IAAVnrL,EAEDy+Z,EAAOV,EAAiBC,EAAiBa,IAAal+Z,GACpC,IAAVX,EAERy+Z,EAAOR,EAAkBC,EAAkBY,IAAcn+Z,GACvC,IAAVX,GAERy+Z,EAAON,EAAoBC,EAAoBW,IAAgBp+Z,OAE5D,CAEDA,GAAM2R,GAAG,GAAK,EACL,IAAVtS,EAEDw+Z,EAAMT,EAAiBC,EAAiBa,IAAal+Z,GACnC,IAAVX,EAERw+Z,EAAMP,EAAkBC,EAAkBY,IAAcn+Z,GACtC,IAAVX,GAERw+Z,EAAML,EAAoBC,EAAoBW,IAAgBp+Z,KAStE,SAASqrL,EACP52L,EAAG+rF,EAAM3kB,EAAOrkE,EAChBgyL,EAAWC,EAAQM,EAAKC,EACxBN,EAAWC,EAASO,EAAMe,GAE1B,IAAI1vL,EAAW,EACXimG,EAAW,EAAE/sG,EACbspa,EAAWv9U,EACXw9U,EAAWx9U,EAAK/rF,EAEhB4pa,EAAY,EACZC,EAAY,EACb9ma,EACD8ma,EAAYnB,EAEZkB,EAAYlB,EAGd,IAAI,IAAI7oa,EAAEk1L,EAAUl1L,EAAEm1L,IAAUn1L,EAAG,CACjC,IAAI2kC,EAAM3kC,EAAI+pa,EACVJ,EAAYz8T,EAASltG,EACzBopa,EAAania,KAASwuL,EAAIk0O,EAAUF,GACpCL,EAAania,MAAU09B,EACvBykY,EAAania,KAASwuL,EAAIk0O,EAAUD,GACpCN,EAAania,KAAS09B,EAExB,IAAQ3kC,EAAEo1L,EAAWp1L,EAAEq1L,IAAWr1L,EAAG,CAC/B2kC,EAAM3kC,EAAIgqa,EAAd,IACIr0O,EAAazoF,EAASltG,EAC1Bopa,EAAania,KAAS2uL,EAAKD,EAAW8zO,GACtCL,EAAania,MAAU09B,EAIzB,IAAIrjC,EAAI2F,IAAQ,EAChB2ha,EAAMQ,EAAc9na,GAEpB,IAAIsoa,EAAe,EACnB,IAAQ5pa,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrB,IAAIqd,EAAwB,EAApB+rZ,EAAa,EAAEppa,EAAE,GACzB,GAAGqd,EAAI,EAAG,CACJsnB,GAAStnB,EAAb,IACI4sZ,GAAQ,EAQZ,GAPGtlY,GAAOkkY,GACRoB,GAAS/ma,EACTyhC,GAAOkkY,IAEPoB,IAAU/ma,EACVyhC,GAAO,GAENslY,EACDT,EAAOV,EAAiBC,EAAiBa,IAAajlY,OACjD,CACL,IAAIkxJ,EAAUc,EAAUhyJ,GACpBmxJ,EAAU5oF,EAAWvoE,EAErBqqC,EAAK4mH,EAAKE,EAAQ5pG,EAAK,GACvBie,EAAKyrF,EAAKE,EAAQ5pG,EAAK,EAAE/rF,GAErC61L,EACQ,IAAI,IAAI1xL,EAAE,EAAGA,EAAEsla,IAAatla,EAAG,CAC7B,IAAI4la,EAASpB,EAAgBxka,GACzB2xL,EAAS/oF,EAAWg9T,EAExB,KAAG//T,EAAKsrF,EAAIQ,EAAO/pG,EAAK,IACrBupG,EAAIQ,EAAO/pG,EAAK,EAAE/rF,GAAK6uE,GAD1B,CAKA,IAAI,IAAIvqE,EAAEynF,EAAK,EAAGznF,EAAEtE,IAAKsE,EACvB,GAAGmxL,EAAKE,EAAUrxL,EAAItE,GAAKs1L,EAAIQ,EAASxxL,IACrCgxL,EAAIQ,EAASxxL,EAAItE,GAAKy1L,EAAKE,EAAUrxL,GACtC,SAASuxL,EAIb,IACIE,EADAC,EAAST,EAASw0O,GAOtB,GAJEh0O,EADChzL,EACQqkE,EAAMsuH,EAAQM,GAEd5uH,EAAM4uH,EAAON,QAEV,IAAXK,EACD,OAAOA,UAKbqzO,EAAMT,EAAiBC,EAAiBa,IAAavsZ,EAAI0sZ,IAK/D,SAASjzO,EACP32L,EAAG+rF,EAAM3kB,EACT2tH,EAAWC,EAAQM,EAAKC,EACxBN,EAAWC,EAASO,EAAMe,GAO1B,IALA,IAAI1vL,EAAW,EACXimG,EAAW,EAAE/sG,EACbspa,EAAWv9U,EACXw9U,EAAWx9U,EAAK/rF,EAEZH,EAAEk1L,EAAUl1L,EAAEm1L,IAAUn1L,EAAG,CACjC,IAAI2kC,EAAM3kC,EAAI6oa,EACVc,EAAYz8T,EAASltG,EACzBopa,EAAania,KAASwuL,EAAIk0O,EAAUF,GACpCL,EAAania,MAAU09B,EACvBykY,EAAania,KAASwuL,EAAIk0O,EAAUD,GACpCN,EAAania,KAAS09B,EAExB,IAAQ3kC,EAAEo1L,EAAWp1L,EAAEq1L,IAAWr1L,EAAG,CAC/B2kC,EAAM3kC,EAAI,EAAd,IACI21L,EAAazoF,EAASltG,EAC1Bopa,EAAania,KAAS2uL,EAAKD,EAAW8zO,GACtCL,EAAania,MAAU09B,EAIzB,IAAIrjC,EAAI2F,IAAQ,EAChB2ha,EAAMQ,EAAc9na,GAEpB,IAAIsoa,EAAe,EACnB,IAAQ5pa,EAAE,EAAGA,EAAEsB,IAAKtB,EAAG,CACrB,IAAIqd,EAAwB,EAApB+rZ,EAAa,EAAEppa,EAAE,GACzB,GAAGqd,EAAI,EAAG,CACJsnB,GAAStnB,EACb,GAAGsnB,GAAOkkY,EACRC,EAAgBc,KAAejlY,EAAMkkY,MAChC,CACLlkY,GAAO,EACP,IAAIkxJ,EAAUc,EAAUhyJ,GACpBmxJ,EAAU5oF,EAAWvoE,EAErBqqC,EAAK4mH,EAAKE,EAAQ5pG,EAAK,GACvBie,EAAKyrF,EAAKE,EAAQ5pG,EAAK,EAAE/rF,GAErC61L,EACQ,IAAI,IAAI1xL,EAAE,EAAGA,EAAEsla,IAAatla,EAAG,CAC7B,IAAI4la,EAASpB,EAAgBxka,GACzB6xL,EAAST,EAASw0O,GAEtB,GAAG/zO,IAAUN,EACX,MAGF,IAAII,EAAS/oF,EAAWg9T,EACxB,KAAG//T,EAAKsrF,EAAIQ,EAAO/pG,EAAK,IACtBupG,EAAIQ,EAAO/pG,EAAK,EAAE/rF,GAAK6uE,GADzB,CAIA,IAAI,IAAIvqE,EAAEynF,EAAK,EAAGznF,EAAEtE,IAAKsE,EACvB,GAAGmxL,EAAKE,EAAUrxL,EAAItE,GAAKs1L,EAAIQ,EAASxxL,IACrCgxL,EAAIQ,EAASxxL,EAAItE,GAAOy1L,EAAKE,EAAUrxL,GACxC,SAASuxL,EAIb,IAAIE,EAAS3uH,EAAM4uH,EAAON,GAC1B,QAAc,IAAXK,EACD,OAAOA,SAIR,CAEL,IADIvxJ,EAAMtnB,EAAIwrZ,EACNvka,EAAEsla,EAAU,EAAGtla,GAAG,IAAKA,EAC7B,GAAGwka,EAAgBxka,KAAOqgC,EAAK,CAC7B,IAAQlgC,EAAEH,EAAE,EAAGG,EAAEmla,IAAanla,EAC5Bqka,EAAgBrka,EAAE,GAAKqka,EAAgBrka,GAEzC,QAGFmla,MAOF,KACA,SAAUjra,EAAQC,EAASkB,GAEjC,aA0BAnB,EAAOC,QAAU,SAASquB,GACtB,IAAI5J,EAAW4J,EAAK5J,SAChBuqE,EAAgB3gE,EAAK2gE,mBACJ1uF,IAAlB0uF,IAA6BA,EAAgBvqE,GAChD,IAAIS,EAAQ,CACRtD,OAAQ,CACJwC,QAAS,SAET4yM,SAAS,EACTwgE,QAAQ,EACR/yQ,SAAUA,GAGdE,KAAM,CACFP,QAAS,SAETnb,IAAK,EACLwb,SAAUA,GAEdtY,MAAO,CACHiY,QAAS,QAETK,SAAUuqE,GAEdvqE,SAAUA,GAYd,OANG4J,EAAKlJ,UACJD,EAAMtD,OAAOuD,SAAU,EACvBD,EAAMP,KAAKQ,SAAU,EACrBD,EAAM/Y,MAAMgZ,SAAU,GAGnBD,IAML,OACA,SAAUnlB,EAAQC,EAASkB,GAEjC,aAGA,IAUIklX,EAVA3uP,EAAsBv2H,EAAoB,QAC1Cw2H,EAAsBx2H,EAAoB,QAC1Cqqa,EAAsBrqa,EAAoB,QAC1CipE,EAAsBjpE,EAAoB,QAC1Csqa,EAAsBtqa,EAAoB,QAC1Ck7C,EAAsBl7C,EAAoB,QAE1CuB,EAAO2B,SAASvB,UAAUJ,KAC1Bb,EAAiBD,OAAOC,eACxBkB,EAAiBnB,OAAOkB,UAAUC,eAGtCsjX,EAAS,SAAU5kX,EAAMknL,EAAM58K,GAC9B,IAAkE2/Z,EAA9Dvpa,EAAQw1H,EAAYgxD,IAAS6iP,EAAoB7iP,EAAKxmL,OAU1D,OATAupa,EAAMthW,EAAKu+G,UACJ+iP,EAAI1oQ,gBACJ0oQ,EAAIvpa,MACXupa,EAAI3pa,IAAM,WACT,OAAKgK,EAAQ4/Z,qBAAuB5oa,EAAevC,KAAKmD,KAAMlC,GAAcU,GAC5EwmL,EAAKxmL,MAAQO,EAAKlC,KAAK2B,EAAO4J,EAAQ6/Z,eAAiB7/Z,EAAQ6/Z,eAAejoa,MAAQA,MACtF9B,EAAe8B,KAAMlC,EAAMknL,GACpBhlL,KAAKlC,KAENiqa,GAGR1ra,EAAOC,QAAU,SAAU+xF,GAC1B,IAAIjmF,EAAU0/Z,EAAiB5qa,UAAU,IAEzC,OADI62H,EAAQ3rH,EAAQ6/Z,iBAAiBJ,EAAoBz/Z,EAAQ6/Z,gBAC1DvvX,EAAI21C,GAAO,SAAU22F,EAAMlnL,GAAQ,OAAO4kX,EAAO5kX,EAAMknL,EAAM58K,QAM/D,OACA,SAAU/L,EAAQC,EAASkB,GAEjC,aAWA,IAAIm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAC1B2+L,EAAgB3+L,EAAoB,QAExC,SAAS2S,EAAYiP,EAAWC,EAAMC,EAAMC,GACxC,IAUIkxE,EA0BArnF,EAAIwtN,EAAKC,EAAKn5N,EAAGw4B,EAAIhP,EAAI4vM,EAAMt6B,EApC/Bj/K,EAAK6B,EAAU7B,GACfiC,EAAQjC,EAAG,GAAG9e,EACduN,EAAQuR,EAAG,GAAGvR,MACduoB,EAAKnV,EAAUmV,GACfK,EAAKxV,EAAUwV,GACfhpB,EAAI4T,EAAM5T,EACV2F,EAAIiO,EAAMjO,EACVq0J,EAAMrxI,EAAGC,IAAInV,GACbwmJ,EAAMjxI,EAAGJ,IAAIlV,GACbo3M,EAAct3M,EAAU3Y,SAI5B,GAAG+Y,EAAM0kD,KAAM,CACX,IAAIrX,EAAKt4B,EAAGwzF,IAAI69C,EAAM8wD,GAClB/pK,EAAKp4B,EAAGwzF,IAAI69C,EAAM8wD,GAClBwxM,EAAKtzY,EAAGmzF,IAAI89C,EAAM6wD,GAClBwqI,EAAKtsU,EAAGmzF,IAAI89C,EAAM6wD,GAGlBjmI,EADa,MAAdlxE,EACOC,EAAM0kD,KAAK9uD,MACbjS,KAAKoC,IAAIsnD,EAAIF,GAAKxpD,KAAKoC,IAAIqvB,EAAGy0B,IAAI,GAAIz0B,EAAGy0B,IAAI,IAC7ClmD,KAAKqC,IAAIqnD,EAAIF,GAAKxpD,KAAKqC,IAAIovB,EAAGy0B,IAAI,GAAIz0B,EAAGy0B,IAAI,KAG3C7pC,EAAM0kD,KAAK9uD,MACbjS,KAAKoC,IAAIsnD,EAAIF,GAAKxpD,KAAKoC,IAAI2ia,EAAIhnE,GAC/B/9V,KAAKqC,IAAIqnD,EAAIF,GAAKxpD,KAAKqC,IAAI0ia,EAAIhnE,SAIvCzwQ,EAAMjxE,EAAMixE,IAOhB,IAAIkmI,EAAUD,EACd,GAAiB,MAAdn3M,EACC,IAAI7hB,EAAI,EAAGA,EAAI+yF,EAAI9zF,OAAQe,IACvBk5N,EAAMhrN,EAAE6kF,EAAI/yF,IACZw4B,EAAK/yB,KAAK+R,IAAIqf,EAAGC,IAAIoiM,GAAOhxD,GACzB1vI,EAAKygM,IACJA,EAAUzgM,EACVhP,EAAK0N,EAAGJ,IAAIjjB,EAAEk/E,EAAI/yF,KAAOmoK,EACzB22B,EAAMr5L,KAAKuD,KAAKwvB,EAAKA,EAAKhP,EAAKA,GAC/B9d,EAAKqnF,EAAI/yF,SAIjB,IAAIA,EAAI+yF,EAAI9zF,OAAS,EAAGe,GAAK,EAAGA,IAC5Bk5N,EAAMhrN,EAAE6kF,EAAI/yF,IACZm5N,EAAMtlN,EAAEk/E,EAAI/yF,IACZw4B,EAAK3B,EAAGC,IAAIoiM,GAAOhxD,EACnB1+I,EAAK0N,EAAGJ,IAAIqiM,GAAOhxD,EAEnBixD,EAAO3zN,KAAKuD,KAAKwvB,EAAKA,EAAKhP,EAAKA,GAC7B4vM,EAAOH,IACNA,EAAUn6B,EAAMs6B,EAChB1tN,EAAKqnF,EAAI/yF,IASrB,OAJA0hB,EAAUhf,MAAQgJ,EAClBgW,EAAU3Y,SAAWkwN,EACrBv3M,EAAUo9K,IAAMA,OAEN5/L,IAAPwM,EAAyB,CAACgW,GAEtB,CAACq3M,EAAUr3M,EAAWxT,EAAG2F,EAAGvF,IAGvC,SAASyqN,EAAUr3M,EAAWxT,EAAG2F,EAAGvF,GAChC,IAAIuoB,EAAKnV,EAAUmV,GACfK,EAAKxV,EAAUwV,GACf+hM,EAAUv3M,EAAU3Y,SACpB+1L,EAAMp9K,EAAUo9K,IAChBpzL,EAAKgW,EAAUhf,MAGf+0B,EAAK,CACL3X,YAAapU,EACbwC,EAAGA,EAAExC,GACLmI,EAAGA,EAAEnI,IAIT+rB,EAAG8oB,GAAK58C,MAAM0J,QAAQiB,EAAMS,MAAQT,EAAMS,KAAKrD,GAAM4C,EAAMS,KAC3D0oB,EAAGgzY,IAAM9ma,MAAM0J,QAAQiB,EAAM0V,WAAa1V,EAAM0V,UAAUtY,GAAM4C,EAAM0V,UACtEyT,EAAGxsB,KAAOtH,MAAM0J,QAAQiB,EAAMo+E,YAAcp+E,EAAMo+E,WAAWhhF,GAAM4C,EAAMo+E,WACzEj1D,EAAGuqW,GAAKr+X,MAAM0J,QAAQiB,EAAMw7E,cAAgBx7E,EAAMw7E,aAAap+E,GAAM4C,EAAMw7E,aAE3E,IAAIhpE,EAAOxS,EAAM27E,SACdnpE,IACC2W,EAAGxoB,GAAKoH,EAAIo8D,oBAAoB3xD,EAAKyC,MAAQzC,EAAKyC,KAAK7X,GAAMoV,EAAKyC,KAClEkU,EAAGynW,GAAKv7X,MAAM0J,QAAQyT,EAAK/V,OAAS+V,EAAK/V,MAAMW,GAAMoV,EAAK/V,MAC1D0sB,EAAG8jB,GAAK53C,MAAM0J,QAAQyT,EAAKN,QAAUM,EAAKN,OAAO9U,GAAMoV,EAAKN,QAGhE,IAAIoX,EAAStpB,EAAMspB,OAChBA,IACCH,EAAGs5D,GAAK16E,EAAIo8D,oBAAoB76C,EAAOrU,MAAQqU,EAAOrU,KAAK7X,GAAMksB,EAAOrU,KACxEkU,EAAG84D,GAAKl6E,EAAIo8D,oBAAoB76C,EAAOttB,SAAWstB,EAAOttB,QAAQoB,GAAMksB,EAAOttB,QAC9EmtB,EAAGo6D,GAAKx7E,EAAIo8D,oBAAoB76C,EAAOg1D,QAAUh1D,EAAOg1D,OAAOlhF,GAAMksB,EAAOg1D,OAC5En1D,EAAGo5D,GAAKx6E,EAAIo8D,oBAAoB76C,EAAO7sB,OAAS6sB,EAAO7sB,MAAMW,GAAMksB,EAAO7sB,OAG9E,IAAI8sB,EAAOD,GAAUA,EAAOC,KACzBA,IACCJ,EAAG++V,IAAM7yX,MAAM0J,QAAQwqB,EAAK9sB,OAAS8sB,EAAK9sB,MAAMW,GAAMmsB,EAAK9sB,MAC3D0sB,EAAGkyQ,IAAMtzR,EAAIo8D,oBAAoB56C,EAAK7W,OAAS6W,EAAK7W,MAAMtV,GAAMmsB,EAAK7W,OAGzE,IAAIkvF,EAAOt4E,GAAUA,EAAOg0D,SACzBskB,GAAsB,SAAdA,EAAKl9F,OACZykB,EAAG0oW,IAAMx8X,MAAM0J,QAAQ6iG,EAAKl9F,MAAQk9F,EAAKl9F,KAAKtH,GAAMwkG,EAAKl9F,KACzDykB,EAAG4oW,IAAM18X,MAAM0J,QAAQ6iG,EAAKnlG,OAASmlG,EAAKnlG,MAAMW,GAAMwkG,EAAKnlG,OAG/D,IAAI47D,EAAK9vC,EAAGC,IAAIW,EAAGvpB,GAAG,GAClB04D,EAAK1vC,EAAGJ,IAAIW,EAAG5jB,GAAG,GAClBw8C,EAAM54B,EAAGq5D,KAAO,EAEhBj3B,EAAavrD,EAAMurD,WAEpBA,IACCpiC,EAAGizY,IAAM/ma,MAAM0J,QAAQwsD,EAAW4xC,SAAW5xC,EAAW4xC,QAAQ//F,GAAMmuD,EAAW4xC,QACjFh0E,EAAGkzY,IAAMhna,MAAM0J,QAAQwsD,EAAW6xC,aAAe7xC,EAAW6xC,YAAYhgG,GAAMmuD,EAAW6xC,YACzFj0E,EAAGmzY,IAAMv0Z,EAAIo8D,oBAAoB5Y,EAAW/4C,KAAKyC,MAAQs2C,EAAW/4C,KAAKyC,KAAK7X,GAAMmuD,EAAW/4C,KAAKyC,KACpGkU,EAAGozY,IAAMlna,MAAM0J,QAAQwsD,EAAW/4C,KAAK/V,OAAS8uD,EAAW/4C,KAAK/V,MAAMW,GAAMmuD,EAAW/4C,KAAK/V,MAC5F0sB,EAAGqzY,IAAMnna,MAAM0J,QAAQwsD,EAAW/4C,KAAKN,QAAUq5C,EAAW/4C,KAAKN,OAAO9U,GAAMmuD,EAAW/4C,KAAKN,OAC9FiX,EAAGszY,IAAM10Z,EAAIo8D,oBAAoB5Y,EAAWk1E,YAAcl1E,EAAWk1E,WAAWrjI,GAAMmuD,EAAWk1E,YAErG,IAAI3pH,EAAY9W,EAAM8W,UACnBA,IACCqS,EAAGrgB,GAAKzT,MAAM0J,QAAQ+X,GAAaA,EAAU1Z,GAAM0Z,GAGvD,IAAInB,EAAgB3V,EAAM2V,cACvBA,IACCwT,EAAGuzY,GAAKrna,MAAM0J,QAAQ4W,GAAiBA,EAAcvY,GAAMuY,GAG/D,IAAIgnZ,EAAS,GACbA,EAAOvpZ,EAAUhf,OAAS+0B,EAE1B,IAAIyzY,EAAa70Z,EAAIuM,WAAW,GAAIlB,EAAW,CAC3C3W,MAAO0zL,EAAcnwL,EAAOmpB,GAE5Bd,GAAIgwC,EAAKtW,EACTz5B,GAAI+vC,EAAKtW,EACT/tC,UAAWmV,EAAGvpB,EAEd8oB,GAAI4vC,EAAKvW,EACTp5B,GAAI2vC,EAAKvW,EACT9tC,UAAWkV,EAAG5jB,EAEdgM,GAAIorZ,EACJlia,SAAUkwN,EACV35B,cAAeR,EAEf76K,cAAewT,EAAGuzY,KAUtB,OAPGvzY,EAAGgzY,IAAKS,EAAWn8Z,KAAO0oB,EAAGgzY,IACxBhzY,EAAG8oB,GAAI2qX,EAAWn8Z,KAAO0oB,EAAG8oB,GAC5BjyC,EAAMS,OAAMm8Z,EAAWn8Z,KAAOT,EAAMS,MAE5CsH,EAAIsf,SAAS8B,EAAInpB,EAAO48Z,GACxBjyY,EAASsa,mBAAmB,YAAa,YAAzCta,CAAsDxB,EAAInpB,EAAO48Z,GAE1DA,EAGXvsa,EAAOC,QAAU,CACb6T,YAAaA,EACbsmN,UAAWA,IAMT,QACA,SAAUp6N,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BsW,EAAOtW,EAAoB,QAE/BnB,EAAOC,QAAU,SAAsBmhB,EAAKzR,EAAOmX,GAC/C,IAGIqqD,EACAE,EAJAtqD,EAAS,GAETtD,EAAUqD,EAAWnX,EAAM8T,SAASuD,SAMpCvD,GAKA0tD,EAAa1tD,EAAQ0tD,WACrBE,EAAc5tD,EAAQ4tD,cALtB5tD,EAAUqD,EAAWnX,EAAM8T,SAC3B0tD,EAAa1tD,EAAQ2tD,WACrBC,EAAc5tD,EAAQ6tD,aAM1B,IAAIk7V,EAAOr7V,EAAW7pD,IAAIlG,EAAIpf,GAC9B+kB,EAAO0lZ,OAASh1Z,EAAK4P,SAAS8pD,EAAYq7V,GAAM,GAAMp8Z,KAGtD,IAAIs8Z,EAAqC,YAA1Br7V,EAAYzyB,UAA0BlnC,EAAIg4P,QAAQtuP,EAAIkC,OAASlC,EAAIkC,MAGlF,OAFAyD,EAAO4lZ,WAAal1Z,EAAK4P,SAASgqD,EAAaq7V,GAAU,GAAMt8Z,KAExD2W,IAML,KACA,SAAU/mB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU2sa,EAEjB,IAAI9gP,EAAe3qL,EAAoB,QAEvC,SAASyra,EAAW1ka,EAAO+F,GAKzB,IAHA,IAAIqyO,EAA+B,EAAjBryO,EAAU3N,OACxBusa,EAAW3ka,EAAM5H,OACjBsF,EAAM,CAAC,IAAIZ,MAAMs7O,GAAc,IAAIt7O,MAAMs7O,IACrCj/O,EAAE,EAAGA,EAAEi/O,IAAej/O,EAC5BuE,EAAI,GAAGvE,GAAK,GACZuE,EAAI,GAAGvE,GAAK,GAEd,IAAQA,EAAE,EAAGA,EAAEwra,IAAYxra,EAAG,CAC5B,IAAIV,EAAIuH,EAAM7G,GACduE,EAAI,GAAGjF,EAAE,IAAIwD,KAAKxD,GAClBiF,EAAI,GAAGjF,EAAE,IAAIwD,KAAKxD,GAGpB,IAAI86K,EAAS,GAGb,IAAQp6K,EAAE,EAAGA,EAAEi/O,IAAej/O,EACzBuE,EAAI,GAAGvE,GAAGf,OAASsF,EAAI,GAAGvE,GAAGf,SAAW,GACzCm7K,EAAOt3K,KAAM,CAAC9C,IAKlB,SAASyra,EAAInsa,EAAGU,GACd,IAAIZ,EAAImF,EAAIvE,GAAGV,EAAEU,IACjBZ,EAAEkR,OAAOlR,EAAEsF,QAAQpF,GAAI,GAIzB,SAAS82D,EAAKh3D,EAAGC,EAAGqsa,GAElB,IADA,IAAIC,EAAUC,EAAYC,EAClB7ra,EAAE,EAAGA,EAAE,IAAKA,EAClB,GAAGuE,EAAIvE,GAAGX,GAAGJ,OAAS,EAAG,CACvB0sa,EAAWpna,EAAIvE,GAAGX,GAAG,GACrBwsa,EAAU7ra,EACV,MAGJ4ra,EAAaD,EAAiB,EAARE,GAEtB,IAAI,IAAIruZ,EAAI,EAAGA,EAAI,IAAKA,EAEtB,IADA,IAAIsuZ,EAAOvna,EAAIiZ,GAAKne,GACZoF,EAAE,EAAGA,EAAEqna,EAAK7sa,SAAUwF,EAAG,CAC/B,IAAI4Y,EAAIyuZ,EAAKrna,GACT9C,EAAI0b,EAAM,EAAJG,GACN+uE,EAAMk+F,EACN79K,EAAUxN,GACVwN,EAAUvN,GACVuN,EAAUg/Z,GACVh/Z,EAAUjL,IACX4qF,EAAM,IACPo/U,EAAWtuZ,EACXuuZ,EAAajqa,EACbkqa,EAAUruZ,GAIhB,OAAGkuZ,GAGAC,GACDF,EAAIE,EAAUE,GAHPD,EAQX,SAASG,EAAavna,EAAGgZ,GACvB,IAAIm/H,EAAKp4I,EAAIiZ,GAAKhZ,GAAG,GACjBspK,EAAQ,CAACtpK,GACbina,EAAI9uR,EAAIn/H,GACR,IAAIra,EAAIw5I,EAAO,EAAJn/H,GAEX,MAAM,EAAM,CACV,MAAMra,IAAMqB,EACVspK,EAAMhrK,KAAKK,GACXA,EAAIizD,EAAK03G,EAAMA,EAAM7uK,OAAO,GAAIkE,GAAG,GAErC,GAAGoB,EAAI,GAAGC,GAAGvF,OAASsF,EAAI,GAAGC,GAAGvF,SAAW,EACzC,MAEF,IAAIG,EAAI0uK,EAAMA,EAAM7uK,OAAO,GACvBI,EAAImF,EACJlF,EAAIwuK,EAAM,GACV3tK,EAAIi2D,EAAKh3D,EAAGC,GAAG,GACnB,GAAGorL,EAAa79K,EAAUxN,GAAIwN,EAAUvN,GAAIuN,EAAUtN,GAAIsN,EAAUzM,IAAM,EACxE,MAEF2tK,EAAMhrK,KAAK0B,GACXrB,EAAIizD,EAAKh3D,EAAGC,GAEd,OAAOyuK,EAGT,SAASk+P,EAAWC,EAAQC,GAC1B,OAAQA,EAAO,KAAOA,EAAOA,EAAOjta,OAAO,GAG7C,IAAQe,EAAE,EAAGA,EAAEi/O,IAAej/O,EAC5B,IAAI,IAAIsE,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB,IAAI2na,EAAS,GACb,MAAM1na,EAAID,GAAGtE,GAAGf,OAAS,EAAG,CACjBsF,EAAI,GAAGvE,GAAGf,OAAnB,IACIita,EAASH,EAAa/ra,EAAEsE,GACzB0na,EAAWC,EAAQC,GAEpBD,EAAOnpa,KAAKvD,MAAM0sa,EAAQC,IAEvBD,EAAOhta,OAAS,GACjBm7K,EAAOt3K,KAAKmpa,GAEdA,EAASC,GAGVD,EAAOhta,OAAS,GACjBm7K,EAAOt3K,KAAKmpa,GAMlB,OAAO7xP,IAKH,KACA,SAAUz7K,EAAQC,EAASkB,GAUjC,IAAIqsa,EAAarsa,EAAoB,QAErC,SAASgmJ,EAAYsmR,EAAkBp9O,EAAK9oC,GAO3C,SAASmmR,EAAWjpZ,EAAOE,GAC1B,MAAO,CACN5X,GAAIw6I,EAAWA,EAASomR,aAAe,EACvClpZ,MAAOA,EACPE,IAAKA,EACLipZ,OAAQ,CACPC,MAAO,KACPl6U,MAAO,MAERm6U,UAAW,MAIb,SAASC,EAAYtpZ,EAAOE,EAAKo4N,GAChC,MAAO,CACNhwO,GAAIw6I,EAAWA,EAASomR,aAAe,EACvClpZ,MAAOA,EACPE,IAAKA,EACLipZ,OAAQ,CACPC,MAAO9wL,EAAI6wL,OAAOC,MAClBl6U,MAAOopJ,EAAI6wL,OAAOj6U,OAEnBm6U,UAAW,MAQb,IAAIE,EAAaR,EAAWhra,SAE5B,SAASyra,EAAaC,EAAYC,EAAMC,EAAMC,EAAYC,EAAMC,GAE/D,IAAIh1J,EAAOlpF,EAAIm+O,cAAcL,EAAMG,GACnC,OAAa,IAAT/0J,EACIA,EAGJlpF,EAAIo+O,WAAWL,EAAMG,GACjB,EAEJL,IAAeG,EACXH,EAAa,GAAK,EAGnB79O,EAAIq+O,mBAAmBN,EAC7BC,EAAaC,EAAOC,EACpBF,EAAaE,EAAOD,GACjB,GAAK,EAGV,SAASK,EAAS3qU,EAAI4qU,GACrBZ,EAAWhkZ,aAAag6E,GAAI,SAAS6qU,GAEpC,IAAIt1J,EAAO00J,EACVjqU,EAAK8qU,QAAS9qU,EAAK/iF,GAAS2tZ,EAC5BC,EAAKC,QAASD,EAAK5tZ,GAAI4tZ,EAAKvnG,MAAMrmT,IAEnC,OAAOs4P,EAAO,KAIhB,SAASw1J,EAAqBhyL,EAAKiyL,GAClC,IAAIC,EAAWzB,EAAWnlZ,KAAK,CAC9BymZ,SAAS,EACT7tZ,GAAI87N,EAAIt4N,MACRs4N,IAAKA,EACLiyL,QAASA,EACT1nG,MAAO,KACP/hQ,OAAQ,OAGT,OADAopW,EAASM,EAAUlyL,EAAIp4N,KAChBsqZ,EAGR,SAASC,EAAmBD,EAAUlyL,EAAKiyL,GAC1C,IAAIG,EAAS3B,EAAWnlZ,KAAK,CAC5BymZ,SAAS,EACT7tZ,GAAI87N,EAAIp4N,IACRo4N,IAAKA,EACLiyL,QAASA,EACT1nG,MAAO2nG,EACP1pW,OAAQ,OAET0pW,EAAS3nG,MAAQ6nG,EACjBR,EAASQ,EAAQF,EAAShuZ,IAG3B,SAASmuZ,EAAgBryL,EAAKiyL,GAC7B,IAAIC,EAAWF,EAAqBhyL,EAAKiyL,GAEzC,OADAE,EAAmBD,EAAUlyL,EAAKiyL,GAC3BC,EAGR,SAASI,EAAerrU,EAAIr/E,GAKvB4iI,GACHA,EAAS+nR,YAAYtrU,EAAG+4I,IAAKp4N,GAE9Bq/E,EAAGsjO,MAAM11T,SACToyF,EAAG+4I,IAAIp4N,IAAMA,EACbq/E,EAAGsjO,MAAMrmT,GAAK0D,EACdgqZ,EAAS3qU,EAAGsjO,MAAOtjO,EAAG/iF,IAGvB,SAASsuZ,EAAYvrU,EAAI/iF,GACxB,IAAI1e,EAAKwra,EAAY9sZ,EAAI+iF,EAAG+4I,IAAIp4N,IAAKq/E,EAAG+4I,KAExC,OADAsyL,EAAerrU,EAAI/iF,GACZmuZ,EAAgB7sa,EAAIyhG,EAAGgrU,SAG/B,SAAS/mR,EAAUunR,EAAqBC,GAOvC,IAAIC,EAAclC,EAAWhra,SAE7B,SAASmta,EAAcC,EAAKC,GAC3B,IAAIj9T,EAAKg9T,EAAI7yL,IAAIt4N,MACbuhL,EAAK4pO,EAAI7yL,IAAIp4N,IACb6mF,EAAKqkU,EAAI9yL,IAAIt4N,MACbgnF,EAAKokU,EAAI9yL,IAAIp4N,IAEjB,OAAI0rK,EAAIy/O,gBAAgBl9T,EAAIpH,EAAIC,GAC3B4kF,EAAIy/O,gBAAgB9pO,EAAIx6F,EAAIC,IAEzB4kF,EAAIq+O,mBAAmB1oO,EAAIx6F,EAAIC,GAD9B,GACyC,EAE3C4kF,EAAIq+O,mBAAmB97T,EAAIpH,EAAIC,GAAM,GAAK,EAGlD,SAASskU,EAAsB/rU,GAC9B,OAAO0rU,EAAYM,gBAAe,SAASnB,GAC1C,IAAIt1J,EAAOo2J,EAAc3rU,EAAI6qU,EAAK7qU,IAClC,OAAOu1K,EAAO,KAIhB,SAAS02J,EAAkBL,EAAKC,GAG/B,IAAIloR,EAAOioR,EAAI7yL,IACXn1F,EAAOioR,EAAI9yL,IACXnqI,EAAK+0C,EAAKljI,MACVuhL,EAAKr+C,EAAKhjI,IACV6mF,EAAKo8C,EAAKnjI,MACVgnF,EAAKm8C,EAAKjjI,IAEV4iI,GACHA,EAAS0oR,kBAAkBtoR,EAAMC,GAElC,IAAIvmJ,EAAIgvL,EAAI6/O,eAAet9T,EAAIozF,EAAIx6F,EAAIC,GAEvC,IAAU,IAANpqG,EAAY,CAIf,IAAKgvL,EAAIy/O,gBAAgBl9T,EAAIozF,EAAIx6F,GAChC,OAAO,EAGR,GAAI6kF,EAAIo+O,WAAW77T,EAAInH,IAAO4kF,EAAIo+O,WAAWzoO,EAAIx6F,GAChD,OAAO,EAER,IAAI2kU,EAAY9/O,EAAIo+O,WAAW77T,EAAIpH,GAC/B4kU,EAAY//O,EAAIo+O,WAAWzoO,EAAIv6F,GAEnC,GAAI0kU,GAAaC,EAChB,OAAOP,EAER,IAAIQ,GAAcF,GAAa9/O,EAAIigP,aAAa19T,EAAIpH,EAAIC,GACpD8kU,GAAcH,GAAa//O,EAAIigP,aAAatqO,EAAIx6F,EAAIC,GAUxD,GAAI0kU,EAWH,OAVII,EAGHhB,EAAYM,EAAK7pO,GAKjBupO,EAAYK,EAAKnkU,GAEXokU,EAECQ,IACHD,IAEAG,EAGHhB,EAAYM,EAAK7pO,GAKjBupO,EAAYK,EAAKnkU,IAMnB8jU,EAAYM,EAAKj9T,SAOD,IAAbvxG,EAAEmva,UACa,IAAdnva,EAAEova,OACLlB,EAAYK,EAAKpkU,GACI,IAAbnqG,EAAEova,OACVlB,EAAYK,EAAKvua,EAAE4f,IACE,IAAb5f,EAAEova,QACVlB,EAAYK,EAAKnkU,IAIF,IAAbpqG,EAAEova,UACa,IAAdpva,EAAEmva,OACLjB,EAAYM,EAAKj9T,GACI,IAAbvxG,EAAEmva,OACVjB,EAAYM,EAAKxua,EAAE4f,IACE,IAAb5f,EAAEmva,QACVjB,EAAYM,EAAK7pO,IAGpB,OAAO,EAMR,IAAInuH,EAAW,GACf,OAAQm2V,EAAW0C,UAAU,CAC5B,IAAI1sU,EAAKgqU,EAAW2C,UAKpB,GAHIppR,GACHA,EAASn9G,KAAK45D,EAAG/iF,GAAG,IAEjB+iF,EAAG8qU,QAAQ,CAEVvnR,GACHA,EAASmmR,WAAW1pU,EAAG+4I,IAAK/4I,EAAGgrU,SAEhC,IAAI4B,EAAcb,EAAsB/rU,GACpC6pU,EAAQ+C,EAAYthH,OAASshH,EAAYthH,OAAOtrN,GAAK,KACrDrQ,EAAQi9U,EAAY3zG,MAAQ2zG,EAAY3zG,MAAMj5N,GAAK,KAUvD,SAAS6sU,IACR,GAAIhD,EAAM,CACT,IAAIiD,EAAMb,EAAkBjsU,EAAI6pU,GAChC,GAAIiD,EACH,OAAOA,EAET,QAAIn9U,GACIs8U,EAAkBjsU,EAAIrQ,GAf3B4zD,GACHA,EAASwpR,WACR/sU,EAAG+4I,MACH8wL,GAAQA,EAAM9wL,MACdppJ,GAAQA,EAAMopJ,KAehB,IA8EMj8C,EA9EFgwO,EAAMD,IACV,GAAIC,EAAI,CAON,IAAI9nU,EADL,GAAIykU,EAGFzkU,EAD2B,OAAxBhF,EAAG+4I,IAAI6wL,OAAOj6U,OAGRqQ,EAAG+4I,IAAI6wL,OAAOC,QAAU7pU,EAAG+4I,IAAI6wL,OAAOj6U,MAK5CqV,IACH8nU,EAAI/zL,IAAI6wL,OAAOC,OAASiD,EAAI/zL,IAAI6wL,OAAOC,YAOxCiD,EAAI/zL,IAAI+wL,UAAY9pU,EAAG+4I,IAAI6wL,OAGxBrmR,GACHA,EAASypR,cAAcF,EAAI/zL,KAE5B/4I,EAAGsjO,MAAM11T,SACToyF,EAAGpyF,SAGJ,GAAIo8Z,EAAW2C,YAAc3sU,EAAG,CAG3BujD,GACHA,EAAS0pR,OAAOjtU,EAAG+4I,KACpB,SAMD,GAAI0wL,EAGFzkU,EAD2B,OAAxBhF,EAAG+4I,IAAI6wL,OAAOj6U,OAGRqQ,EAAG+4I,IAAI6wL,OAAOC,QAAU7pU,EAAG+4I,IAAI6wL,OAAOj6U,MAU/CqQ,EAAG+4I,IAAI6wL,OAAOj6U,MAPVA,EAOkBA,EAAMopJ,IAAI6wL,OAAOC,MALjB2B,EAWtBxrU,EAAG+4I,IAAI6wL,OAAOC,MADX7kU,GACoBhF,EAAG+4I,IAAI6wL,OAAOj6U,MAEfqQ,EAAG+4I,IAAI6wL,OAAOj6U,WAMrC,GAAyB,OAArBqQ,EAAG+4I,IAAI+wL,UAaRhtO,EATGntG,EAQAqQ,EAAGgrU,UAAYr7U,EAAMq7U,QACfr7U,EAAMopJ,IAAI+wL,UAAUD,MAEpBl6U,EAAMopJ,IAAI6wL,OAAOC,MAP1B7pU,EAAGgrU,QAAUS,EAAwBD,EASvCxrU,EAAG+4I,IAAI+wL,UAAY,CAClBD,MAAO/sO,EACPntG,MAAOmtG,GAKNv5C,GACHA,EAAShiF,OACRy+B,EAAG+4I,MACH8wL,GAAQA,EAAM9wL,MACdppJ,GAAQA,EAAMopJ,KAKhB/4I,EAAGsjO,MAAM/hQ,OAASqrW,EAAY1qa,OAAOsna,EAAWnlZ,KAAK,CAAE27E,GAAIA,SAExD,CACH,IAAIktU,EAAKltU,EAAGz+B,OAEZ,GAAW,OAAP2rW,EACH,MAAM,IAAI9ra,MAAM,2FAiBjB,GAXIsqa,EAAYyB,OAAOD,EAAGjqa,OAASyoa,EAAYyB,OAAOD,EAAGz5W,OACxDw4W,EAAkBiB,EAAGjqa,KAAK+8F,GAAIktU,EAAGz5W,KAAKusC,IAEnCujD,GACHA,EAAS6pR,aAAaF,EAAGltU,GAAG+4I,KAG7Bm0L,EAAGt/Z,UAIEoyF,EAAGgrU,QAAQ,CAEf,IAAI/ra,EAAI+gG,EAAG+4I,IAAI6wL,OACf5pU,EAAG+4I,IAAI6wL,OAAS5pU,EAAG+4I,IAAI+wL,UACvB9pU,EAAG+4I,IAAI+wL,UAAY7qa,EAEpB40E,EAAS1zE,KAAK6/F,EAAG+4I,KAIlBixL,EAAW2C,UAAU/+Z,SAMtB,OAHI21I,GACHA,EAAS5yF,OAEHkjB,EAIR,OAAK41V,EAmBE,CACNzlR,UAAW,SAAS/iB,GAMnB,IAFA,IAAI6gG,EACAjxF,EAAM5P,EAAOA,EAAO3kI,OAAS,GACxBe,EAAI,EAAGA,EAAI4jI,EAAO3kI,OAAQe,IAAI,CACtCykO,EAAMjxF,EACNA,EAAM5P,EAAO5jI,GAEb,IAAIyiP,EAAUzzD,EAAIm+O,cAAc1oM,EAAKjxF,GACrB,IAAZivG,GAGJsrL,EACC1B,EACC5pL,EAAU,EAAIhe,EAAMjxF,EACpBivG,EAAU,EAAIjvG,EAAMixF,IAErB,KAIH79E,UAAW,SAAStlC,GAGnB,OAAOslC,EAAUtlC,GAAU,KA5CrB,CACNslC,UAAW,SAASC,EAAWI,EAAWH,EAAWI,GAUpD,OANAL,EAAUrwF,SAAQ,SAASklL,GAC1BqyL,EAAgBrB,EAAYhxL,EAAIt4N,MAAOs4N,EAAIp4N,IAAKo4N,IAAM,MAEvD50F,EAAUtwF,SAAQ,SAASklL,GAC1BqyL,EAAgBrB,EAAYhxL,EAAIt4N,MAAOs4N,EAAIp4N,IAAKo4N,IAAM,MAEhD90F,EAAUK,EAAWC,KAsChCvoJ,EAAOC,QAAUknJ,GAKX,KACA,SAAUnnJ,EAAQC,GAaxB,SAASoV,EAAO2L,EAAKvgB,EAAGixD,EAAK67B,GACzB,IAEItqF,EAAGtC,EAAGyB,EACNooG,EAAKC,EAAKC,EAAKC,EACfC,EAAKC,EAAKC,EAAKC,EACfC,EAAKC,EAAKC,EAAKC,EACfmjO,EAAK6mF,EAAKC,EACVQ,EAAKC,EAAKwb,EACVC,EAAKC,EAAKC,EARVjia,EAAIg+E,EAAK,GAAIr4E,EAAIq4E,EAAK,GAAIv9E,EAAIu9E,EAAK,GACnCh/D,EAAMznB,KAAKuD,KAAKkF,EAAIA,EAAI2F,EAAIA,EAAIlF,EAAIA,GASxC,OAAIlJ,KAAK+R,IAAI0V,GAAO,KAAmB,MAEvCA,EAAM,EAAIA,EACVhf,GAAKgf,EACLrZ,GAAKqZ,EACLve,GAAKue,EAELtrB,EAAI6D,KAAK8qD,IAAIF,GACb/wD,EAAImG,KAAK6qD,IAAID,GACbtvD,EAAI,EAAIzB,EAER6pG,EAAM/pG,EAAE,GAAIgqG,EAAMhqG,EAAE,GAAIiqG,EAAMjqG,EAAE,GAAIkqG,EAAMlqG,EAAE,GAC5CmqG,EAAMnqG,EAAE,GAAIoqG,EAAMpqG,EAAE,GAAIqqG,EAAMrqG,EAAE,GAAIsqG,EAAMtqG,EAAE,GAC5CuqG,EAAMvqG,EAAE,GAAIwqG,EAAMxqG,EAAE,GAAIyqG,EAAMzqG,EAAE,IAAK0qG,EAAM1qG,EAAE,IAG7C6tU,EAAM/+T,EAAIA,EAAInN,EAAIzB,EAAGw0Z,EAAMjgZ,EAAI3F,EAAInN,EAAI4N,EAAI/M,EAAGmyZ,EAAMplZ,EAAIT,EAAInN,EAAI8S,EAAIjS,EACpE2yZ,EAAMrmZ,EAAI2F,EAAI9S,EAAI4N,EAAI/M,EAAG4yZ,EAAM3gZ,EAAIA,EAAI9S,EAAIzB,EAAG0wa,EAAMrha,EAAIkF,EAAI9S,EAAImN,EAAItM,EACpEqua,EAAM/ha,EAAIS,EAAI5N,EAAI8S,EAAIjS,EAAGsua,EAAMr8Z,EAAIlF,EAAI5N,EAAImN,EAAItM,EAAGuua,EAAMxha,EAAIA,EAAI5N,EAAIzB,EAGpEqgB,EAAI,GAAKwpF,EAAM8jO,EAAM1jO,EAAMuqT,EAAMnqT,EAAMoqT,EACvCp0Y,EAAI,GAAKypF,EAAM6jO,EAAMzjO,EAAMsqT,EAAMlqT,EAAMmqT,EACvCp0Y,EAAI,GAAK0pF,EAAM4jO,EAAMxjO,EAAMqqT,EAAMjqT,EAAMkqT,EACvCp0Y,EAAI,GAAK2pF,EAAM2jO,EAAMvjO,EAAMoqT,EAAMhqT,EAAMiqT,EACvCp0Y,EAAI,GAAKwpF,EAAMorT,EAAMhrT,EAAMirT,EAAM7qT,EAAMqmU,EACvCrwZ,EAAI,GAAKypF,EAAMmrT,EAAM/qT,EAAMgrT,EAAM5qT,EAAMomU,EACvCrwZ,EAAI,GAAK0pF,EAAMkrT,EAAM9qT,EAAM+qT,EAAM3qT,EAAMmmU,EACvCrwZ,EAAI,GAAK2pF,EAAMirT,EAAM7qT,EAAM8qT,EAAM1qT,EAAMkmU,EACvCrwZ,EAAI,GAAKwpF,EAAM8mU,EAAM1mU,EAAM2mU,EAAMvmU,EAAMwmU,EACvCxwZ,EAAI,GAAKypF,EAAM6mU,EAAMzmU,EAAM0mU,EAAMtmU,EAAMumU,EACvCxwZ,EAAI,IAAM0pF,EAAM4mU,EAAMxmU,EAAMymU,EAAMrmU,EAAMsmU,EACxCxwZ,EAAI,IAAM2pF,EAAM2mU,EAAMvmU,EAAMwmU,EAAMpmU,EAAMqmU,EAEpC/wa,IAAMugB,IACNA,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,KAETugB,GA9DXhhB,EAAOC,QAAUoV,GAmEX,OACA,SAAUrV,EAAQC,EAASkB,GAEjC,aAEA,IAAI4oG,EAAI5oG,EAAoB,QACxB+lF,EAAQ/lF,EAAoB,QAC5BuN,EAAUvN,EAAoB,QAC9BklL,EAAWllL,EAAoB,QAC/BisL,EAAWjsL,EAAoB,QAC/B4oP,EAAW5oP,EAAoB,QAC/Bswa,EAAiBtwa,EAAoB,QACrCuwa,EAAqBvwa,EAAoB,QACzCopP,EAA+BppP,EAAoB,QACnDtB,EAAkBsB,EAAoB,QACtCgpI,EAAahpI,EAAoB,QAEjCwwa,EAAuB9xa,EAAgB,sBACvC+xa,EAAmB,iBACnBC,EAAiC,iCAKjCC,EAA+B3nS,GAAc,KAAOjjD,GAAM,WAC5D,IAAIz9C,EAAQ,GAEZ,OADAA,EAAMkoY,IAAwB,EACvBloY,EAAM3gC,SAAS,KAAO2gC,KAG3BsoY,EAAkBxnL,EAA6B,UAE/CynL,EAAqB,SAAUj5W,GACjC,IAAKstH,EAASttH,GAAI,OAAO,EACzB,IAAIk5W,EAAal5W,EAAE44W,GACnB,YAAsBpxa,IAAf0xa,IAA6BA,EAAavja,EAAQqqD,IAGvDotF,GAAU2rR,IAAiCC,EAK/ChoU,EAAE,CAAE/4E,OAAQ,QAAS/rB,OAAO,EAAMolG,OAAQ87C,GAAU,CAClDr9I,OAAQ,SAAgBwjD,GACtB,IAGIjrD,EAAGyE,EAAGxF,EAAQiuB,EAAKw4N,EAHnBhuL,EAAIq0H,EAASzpL,MACbo1L,EAAI24O,EAAmB34W,EAAG,GAC1Bp2D,EAAI,EAER,IAAKtB,GAAK,EAAGf,EAASO,UAAUP,OAAQe,EAAIf,EAAQe,IAElD,GADA0lP,GAAW,IAAP1lP,EAAW03D,EAAIl4D,UAAUQ,GACzB2wa,EAAmBjrL,GAAI,CAEzB,GADAx4N,EAAMw7N,EAAShD,EAAEzmP,QACbqC,EAAI4rB,EAAMqjZ,EAAkB,MAAM76W,UAAU86W,GAChD,IAAK/ra,EAAI,EAAGA,EAAIyoB,EAAKzoB,IAAKnD,IAASmD,KAAKihP,GAAG0qL,EAAe14O,EAAGp2L,EAAGokP,EAAEjhP,QAC7D,CACL,GAAInD,GAAKiva,EAAkB,MAAM76W,UAAU86W,GAC3CJ,EAAe14O,EAAGp2L,IAAKokP,GAI3B,OADAhuD,EAAEz4L,OAASqC,EACJo2L,MAOL,OACA,SAAU/4L,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BklE,EAAgBllE,EAAoB,QAAQklE,cAC5CvI,EAAqB38D,EAAoB,QACzC0yF,EAAuB1yF,EAAoB,QAAQ2yF,SACnDivB,EAA+B5hH,EAAoB,QAEnD8K,EAAa9K,EAAoB,QACjCw0I,EAAcx0I,EAAoB,QAEtC,SAASurF,EAAmBxyB,EAASC,EAAU4D,EAAcvV,EAAQ3U,GACjEA,EAAO,cACPA,EAAO,sBAEP,IAAI6rC,EAAY7rC,EAAO,aAAc2U,EAAOgsH,SAAS,IACrD,GAAGnuG,EAAcnM,EAAS,SAAWxiD,EAAIo8D,oBAAoB4L,GAAY,CACrE,GAAGA,EAAUp/E,OAGT,OAFAuzC,EAAO,mBACPiqB,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,QAAS5uD,QAAS,MAC1E2vE,EAAUp/E,OAEjB65D,EAASjhC,KAAK9sB,MAAQ2xD,EAG9B,OAAOzyD,IAGX,SAASuqI,EAAkBq8R,EAAaC,GACpC,SAASt+X,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOq+X,EAAaC,EAAclma,EAAW+pI,WAAYptH,EAAMtE,GAG9E,IAAI0V,EAAS6Z,EAAO,UAChB3gC,EAAU2gC,EAAO,WAKrB,GAJK7Z,GAAUA,EAAO15B,SAClB4S,EAAUi/Z,EAAaj/Z,SAAU,GAGlCA,EAAS,CAER2gC,EAAO,SACPA,EAAO,eAAgBs+X,EAAap+N,QAGpC,IAGIq+N,EAHA/mT,EAAU6mT,EAAYp2H,cACtBu2H,EAAgBrta,MAAM0J,QAAQ28G,IAAYA,EAAQ/qH,OAAS,EAG5D+xa,IAAcD,EAAe,SAChC,IAAItnY,EAAQ+I,EAAO,gBAAiBu+X,GAGvB,UAAVtnY,GACC+I,EAAO,iBACPA,EAAO,qBAEAq+X,EAAYp2H,qBACZo2H,EAAYp7X,UAInBu7X,GAA0B,UAAVvnY,IAChBqnY,EAAat2H,cAAgB,UAKzC77S,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAI0xH,EAAajzB,EAA6B7oD,EAASC,EAAU,CAC7D14D,KAAM,aACN6iH,mBAAoBuxB,IAGpBtnH,EAAMm+D,EAAmBxyB,EAASC,EAAU4D,EAAcvV,EAAQ3U,GAEtEggD,EAAqB15B,EAAU3R,EAAQ3U,GAEnC7uC,MAAM0J,QAAQsnI,IAAgBA,EAAW11I,SACzC65D,EAASjnD,SAAU,GAGvByiI,EAAYx7E,EAAU67E,EAAY,SAAUznH,GAE5CslB,EAAO,WACPA,EAAO,iBACPA,EAAO,eACPA,EAAO,gBACPA,EAAO,aACPA,EAAO,UAEP,IAAIy+X,EAAgB,CAChBzwZ,OAAQ2mC,EAAOrmC,KAAKN,OACpB+C,KAAM9d,KAAKs5B,MAAMooB,EAAOrmC,KAAKyC,MAC7BxY,MAAOo8C,EAAOrmC,KAAK/V,OAGvBsL,EAAI2/E,WAAWxjD,EAAQ,YAAay+X,GAEpC,IAAIC,EAAsB,CACtB1wZ,OAAQ2mC,EAAOrmC,KAAKN,OACpB+C,KAAM9d,KAAKs5B,MAAMooB,EAAOrmC,KAAKyC,KAAO,KACpCxY,MAAOo8C,EAAOrmC,KAAK/V,OAGvBsL,EAAI2/E,WAAWxjD,EAAQ,WAAY0+X,KAMjC,OACA,SAAUvya,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUkB,EAAoB,SAK/B,OACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAIgZ,EAAYhZ,EAAoB,QAEhCuW,EAAMvW,EAAoB,QAC1B2wC,EAAY3wC,EAAoB,QAEhCoyR,EAAUzhP,EAAUyhP,QACpBthP,EAASH,EAAUG,OAEnBhmC,EAAa,CACboY,QAAS,aACT2V,OAAQp4B,OAAO8mD,KAAKvuC,EAAUA,WAE9BuK,SAAU,OACVJ,KAAM,aAGNkkB,EAAiB,SAASstD,EAAQC,EAASntE,EAAMtE,GACjD,IAAIa,EAAQ,GAGZ,OAFAA,EAAMyD,GAAQ3c,EAEPyL,EAAIm8B,OAAOiiD,EAAQC,EAAS5wE,EAAOyD,EAAMtE,IAGhDkuZ,EAAsB,SAASt4W,EAASC,EAAUiJ,EAAQ5a,GAC1D,IAAI,IAAInnD,EAAI,EAAGA,EAAI+hE,EAAO9iE,OAAQe,IAC9BmnC,EAAe0xB,EAASC,EAAUiJ,EAAO/hE,GAAK,WAAYmnD,EAAOluC,WAQrEm4Z,EAAiB,CACjB7+B,QAAS,aACT8+B,OAAQ,aACRC,UAAW,aACXC,UAAW,aACXC,OAAQ,aACRxlN,QAAS,aACTylN,OAAQ,aACRC,MAAO,aACPp8B,WAAY,aACZq8B,OAAQ,aACRvjQ,QAAS,aACTC,OAAQ,aACRr7F,OAAQ,aACRq/C,KAAM,aACNi/O,UAAW,cAOXsgE,EAAmB,CACnBr/B,QAAS,aACT8+B,OAAQ,aACRC,UAAW,aACXC,UAAW,aACXC,OAAQ,aACRxlN,QAAS,aACTylN,OAAQ,aACRC,MAAO,aACPp8B,WAAY,aACZq8B,OAAQ,aACRvjQ,QAAS,aACTC,OAAQ,aACRr7F,OAAQ,aACRq/C,KAAM,aACNi/O,UAAW,cAGXugE,EAAY,CACZt/B,QAAS,CAAC,aAAc,cACxB8+B,OAAQ,CAAC,aAAc,cACvBC,UAAW,CAAC,aAAc,cAC1BC,UAAW,CAAC,aAAc,cAC1BC,OAAQ,CAAC,aAAc,cACvBxlN,QAAS,CAAC,aAAc,cACxBylN,OAAQ,CAAC,aAAc,cACvBC,MAAO,CAAC,aAAc,cACtBp8B,WAAY,CAAC,aAAc,cAC3Bq8B,OAAQ,CAAC,aAAc,cACvBvjQ,QAAS,CAAC,aAAc,cACxBC,OAAQ,CAAC,aAAc,cACvBr7F,OAAQ,CAAC,aAAc,cACvBq/C,KAAM,CAAC,aAAc,cACrBi/O,UAAW,CAAC,aAAc,eAQ1BwgE,EAAU,KACVC,EAAqB,CACrB,EAAK,CAAC,EAAK,KAAM,IAAK,KACtB,EAAK,CAAC,EAAK,IAAK,IAAK,KACrB,EAAK,CAAC,EAAK,IAAK,IAAK,KACrB,EAAK,CAAC,EAAK,KAAM,IAAK,MACtB,EAAK,CAAC,EAAK,KAAM,IAAK,KACtB,EAAK,CAAC,EAAK,KAAM,IAAK,KACtB,EAAK,CAAC,EAAK,KAAM,IAAK,KACtB,EAAK,CAAC,EAAK,IAAK,IAAK,KACrB,EAAK,CAAC,EAAK,KAAM,IAAK,MACtB,EAAK,CAAC,EAAK,KAAM,IAAK,MACtB,EAAK,CAAC,EAAK,OAAQ,IAAK,QACxB,EAAKD,EACL,EAAKA,EAGL,EAAK,CAAC,EAAK,gBAAiB,IAAK,iBACjC,EAAK,CAAC,EAAK,aAAc,IAAK,eAGlC,SAASE,EAAYjqa,EAAKmG,EAAG+K,GACzB,IAGIg5Z,EAAUC,EAAWC,EAAcC,EAAcC,EAHjDn+I,EAASzuR,KAAK2N,OAAOlF,EAAI,KAAQ0iC,GAAUshP,EAC3CmB,EAAQi/I,EAAOr5Z,GAAU8C,OAAOm4Q,GAChCl0R,EAAI,EAGR,OAAqC,KAA9BA,EAAI+H,EAAIrD,QAAQ,IAAK1E,IACxBiya,EAAWlqa,EAAI0mB,OAAOzuB,EAAI,GACV,MAAbiya,GAAiC,MAAbA,GAAiC,MAAbA,GACvCE,EAAe,EACfD,EAAYnqa,EAAI0mB,OAAOzuB,EAAI,GACX,MAAbiya,IAAkBA,EAAW,OAEhCC,EAAYD,EACZA,EAAW,IACXE,EAAe,GAEnBC,EAAeL,EAAmBG,GAC9BE,GAI6BC,EAA1BD,IAAiBN,EAA2BA,EAGxBz+I,EAAM53O,WAAW22X,EAAaH,IAErDlqa,EAAMA,EAAIkK,OAAO,EAAGjS,GAAKqya,EAAkBtqa,EAAIkK,OAAOjS,EAAImya,GAC1Dnya,GAAKqya,EAAgBpza,QATrBe,GAAKmya,EAYb,OAAOpqa,EAKX,IAAIwqa,EAAU,GACd,SAASD,EAAOr5Z,GACZ,IAAIu5Z,EAAcD,EAAQt5Z,GAC1B,OAAGu5Z,IAEHA,EAAcD,EAAQt5Z,GAAYH,EAAUoB,SAASjB,GAC9Cu5Z,GAGX,SAASC,EAAU17C,GACf,OAAO1gX,EAAIuM,WAAW,GAAIhY,EAAY,CAAEmsX,YAAaA,IAGzD,SAAS27C,EAA0BrtY,GAC/B,MAAO,yCAA2CA,EAAQ,eAG9D,IAAIstY,EAAS,CACT3iY,UAAWyiY,EAAUC,EAA0B,OAG/C7kD,EAAUx3W,EAAIuM,WAAW,GAAI+vZ,EAAQ,CACrC1iY,UAAWwiY,EAAUC,EAA0B,QAG/C3kD,EAAW13W,EAAIuM,WAAW,GAAIirW,EAAS,CACvCz6H,UAAWq/K,EAAUC,EAA0B,QAG/CE,EAAYH,EAAU,CACtB,0DACA,6DACA,gEACA,uCACFxva,KAAK,MAEPtE,EAAOC,QAAU,CACbsT,WAAY,YACZ9R,KAAM,YAEN2mC,OAAQ,CACJqf,OAAQ,CACJooU,QAASX,EACT/rS,IAAK+rS,EACL5vN,IAAK4vN,EACL3tP,QAAS2tP,EACTx8H,QAASw8H,EACT1oC,UAAW0oC,EACXglD,YAAahlD,EACbilD,mBAAoBjlD,EACpBY,UAAWV,EACX/8H,QAAS+8H,EACTglD,OAAQhlD,EACRW,UAAWb,EACXmlD,KAAML,EACNM,YAAaN,GAEjBxrX,OAAQ,CACJluC,SAAUw5Z,EAAU,CAChB,+DACA,yCACFxva,KAAK,OAEX+jC,SAAU,CACNzgB,MAAO,CAACtN,SAAU25Z,GAClBpsZ,MAAO,CAACvN,SAAU25Z,GAClBjoa,MAAO,CACH4b,MAAO,CAACtN,SAAU25Z,GAOlBpsZ,MAAO,CAACvN,SAAU25Z,GAClBpqN,MAAO,CAACvvM,SAAU25Z,IAEtB9pG,MAAO,CACH/4P,WAAY,CAAC92D,SAAU25Z,KAG/BttZ,WAAY,CACR7hB,OAAQ,CACJyva,cAAeT,EAAU,CACrB,iEACFxva,KAAK,MACPkwa,eAAgBV,EAAU,CACtB,4DACA,8DACA,+DACA,yCACFxva,KAAK,SAKnBikC,iBAAkBt8B,EAElBu8B,eAAgBA,EAChBgqY,oBAAqBA,EAErBS,iBAAkBA,EAClBR,eAAgBA,EAChBS,UAAWA,EAEXS,OAAQA,EACRN,YAAaA,IAMX,OACA,SAAUrza,EAAQC,GAExBD,EAAOC,QAAQ,CACd,IAAM,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAEhM,IAAM,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAEtW,IAAM,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEzH,KAAO,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,OAE9D,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,KAElE,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElE,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,KAEhE,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,IAAI,OAE9D,KAAO,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElI,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElG,MAAQ,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAE7D,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElT,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEjT,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEhT,QAAU,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAE/D,KAAO,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,GAAG,MAEtM,OAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAE/W,QAAU,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,KAAM,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,KAExS,SAAW,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,GAAG,MAExK,UAAY,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEjK,MAAQ,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEhM,SAAW,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAE/L,MAAS,CAAC,CAAC,MAAQ,EAAG,IAAO,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAQ,EAAG,IAAO,CAAC,IAAI,IAAI,IAAI,KAE9E,QAAW,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,MAE5S,QAAW,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAExS,MAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEzS,OAAU,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,MAE5S,KAAQ,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,KAEvS,KAAQ,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,EAAE,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,KAEtS,eAAgB,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,EAAE,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,EAAE,OAExW,WAAc,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElT,KAAQ,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAE1S,YAAe,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAE/S,QAAW,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElT,mBAAoB,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEzT,kBAAmB,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEtT,OAAU,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEtS,IAAO,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,MAEvS,MAAS,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,MAE9S,SAAY,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElT,YAAe,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,MAElT,UAAa,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAE9S,gBAAiB,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAEtT,iBAAkB,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,OAElT,UAAa,CAAC,CAAC,MAAQ,EAAE,IAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,GAAI,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAQ,IAAK,IAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAQ,EAAE,IAAM,CAAC,IAAI,IAAI,SAM3gB,OACA,SAAUD,EAAQC,GAExBD,EAAOC,QAAUw0a,EAEjB,IAAIC,EAAa,IAAIvga,WAAW,GAC5Bwga,EAAa,IAAI5sZ,aAAa2sZ,EAAWxpa,QAE7C,SAASupa,EAAYlla,EAAG2F,EAAGlF,EAAG4O,GAK5B,OAJA81Z,EAAW,GAAK91Z,EAChB81Z,EAAW,GAAK1ka,EAChB0ka,EAAW,GAAKx/Z,EAChBw/Z,EAAW,GAAKnla,EACTola,EAAW,KAMd,OACA,SAAU30a,EAAQC,EAASkB,GAEjC,aAIA,IAAIslK,EAAgBtlK,EAAoB,QACpCiO,EAAOjO,EAAoB,QAC3BsnI,EAAYtnI,EAAoB,QAChC05B,EAAM15B,EAAoB,QAC1Byza,EAAWzza,EAAoB,QAC/B2uH,EAAO3uH,EAAoB,QAC3B0iQ,EAAU1iQ,EAAoB,QAOlC,SAAS0za,EAAO1tQ,EAAMp7J,GACrB,KAAMpI,gBAAgBkxa,GAAU,OAAO,IAAIA,EAAM1tQ,EAAMp7J,GAGvDpI,KAAK8jD,OAAS,GAGd9jD,KAAKmxa,OAAS,GAEdnxa,KAAKwjK,KAAOA,EAGZxjK,KAAKksX,QAAUppN,EAAcU,GAE7BxjK,KAAK2d,OAAS3d,KAAKksX,QAAQvuW,OAyU5B,SAASyzZ,EAAQpla,EAAOtO,EAAGsE,GAC1B,IAAIoH,EAAkB,MAAZ4C,EAAM5C,GAAa4C,EAAM5C,GAAK4C,EACpChN,EAAItB,EACJE,EAAIoE,EACJlD,EAAMsK,GAAM,IAAU,IAAJpK,IAAa,EAAQ,IAAJpB,EAEvC,OAAOkB,EAKR,SAASuya,EAAQ36S,EAAOh5H,EAAGsE,GAC1B,IAAUsva,EAAYC,EAAMC,EAAYC,EACpCC,EAAQh7S,EAAMh5H,GAAIi0a,EAAQj7S,EAAM10H,GAoCpC,OAlCI0va,EAAM/0a,OAAS,GACX+0a,EAAM,GACNA,EAAM,GACbJ,EAAOI,EAAM,GACbH,EAAOG,EAAM,IAELA,EAAM/0a,QACP20a,EAAOI,EAAM,GACbH,EAAOG,EAAM,KAGbA,EAAM9la,EACb0la,EAAOI,EAAMnga,EACNmga,EAAM9la,EAAI8la,EAAMhzZ,MACvB6yZ,EAAOG,EAAMnga,EAAImga,EAAMlrZ,QAGpBmrZ,EAAMh1a,OAAS,GAClB60a,EAAOG,EAAM,GACbF,EAAOE,EAAM,GACNA,EAAM,GACNA,EAAM,IAELA,EAAMh1a,QACd60a,EAAcG,EAAM,GACpBF,EAAcE,EAAM,KAGpBH,EAAOG,EAAM/la,EACN+la,EAAMpga,EACbkga,EAAOE,EAAM/la,EAAI+la,EAAMjzZ,MAChBizZ,EAAMpga,EAAIoga,EAAMnrZ,QAGjB,CAAEgrZ,EAAMF,EAAMG,EAAMF,GAI5B,SAAS3yH,EAAQj2P,GAChB,GAAmB,kBAARA,EAAoB,MAAO,CAACA,EAAKA,EAAKA,EAAKA,GACjD,GAAmB,IAAfA,EAAIhsD,OAAgB,MAAO,CAACgsD,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAEhE,IAAIgzG,EAAMxvC,EAAKxjE,GACf,MAAO,CAACgzG,EAAI/vJ,EAAG+vJ,EAAIpqJ,EAAGoqJ,EAAI/vJ,EAAI+vJ,EAAIj9I,MAAOi9I,EAAIpqJ,EAAIoqJ,EAAIn1I,QArZvDnqB,EAAOC,QAAU40a,EAuBjBA,EAAM/xa,UAAUolC,OAAS,WACxB,IACI0gO,EADA2sK,EAAS5xa,KAGT6nC,EAAO,GAAIjd,EAAM1tB,UAAUP,OAC/B,MAAQiuB,IAAQid,EAAMjd,GAAQ1tB,UAAW0tB,GAKzC,OAJIid,EAAKlrC,SACPsoQ,EAAMjlQ,MAAM+I,OAAO9L,MAAMgoQ,EAAKp9N,GAG5B7nC,KAAKwjK,KAAKl7J,WAAW60B,sBAAgCn9B,KAAKsJ,QAG1DtJ,KAAKkI,MACY,MAAhBlI,KAAK6xa,UACR7xa,KAAK6xa,QAAU36Y,GAAI,WAClB06Y,EAAOtoa,OACPsoa,EAAO1pa,OAAQ,EACf0pa,EAAOC,QAAU,UAKnB7xa,KAAKsJ,OACLtJ,KAAKkI,OAAQ,EACbgvB,GAAI,WACH06Y,EAAO1pa,OAAQ,MAIVlI,OAKRkxa,EAAM/xa,UAAU4J,OAAS,WACxB,IAAIk8P,EAEAp9N,EAAO,GAAIjd,EAAM1tB,UAAUP,OAC/B,MAAQiuB,IAAQid,EAAMjd,GAAQ1tB,UAAW0tB,GACzC,GAAKid,EAAKlrC,OAAV,CAEA,IAAK,IAAIe,EAAI,EAAGA,EAAImqC,EAAKlrC,OAAQe,IAChCsC,KAAK8xa,WAAWp0a,EAAGmqC,EAAKnqC,IAIzBsC,KAAK8jD,OAAS9jD,KAAK8jD,OAAO3iD,OAAOmpG,SAKjC,IAFA,IAAI6mU,EAAS,GACT93Z,EAAS,EACJ04Z,EAAM,EAAGA,EAAM/xa,KAAK8jD,OAAOnnD,OAAQo1a,IAAO,CAGlD,IAFA,IAAI/la,EAAQhM,KAAK8jD,OAAOiuX,GACpBC,EAAchya,KAAK8jD,OAAOiuX,GAAKZ,OAC1Bnva,EAAI,EAAGA,EAAIgwa,EAAYr1a,OAAQqF,IACvCmva,EAAO3wa,KAAKR,KAAKmxa,OAAOa,EAAYhwa,KAGrCgK,EAAMima,WAAa54Z,EACnBA,GAAUrN,EAAMmla,OAAOx0a,OAKxB,OAFCsoQ,EAAMjlQ,KAAKksX,SAASnjX,OAAO9L,MAAMgoQ,EAAKksK,GAEhCnxa,OAKRkxa,EAAM/xa,UAAU2ya,WAAa,SAAUp0a,EAAG0K,GACzC,IAAI68P,EAAMjlQ,KACNwjK,EAAOyhG,EAAIzhG,KAGf,GAAgB,OAAZp7J,EAEH,OADApI,KAAK8jD,OAAOpmD,GAAK,KACVsC,KAGR,IAAKoI,EAAW,OAAOpI,KAEvB,IAkFIkya,EAlFAl0a,EAAIyN,EAAKrD,EAAS,CACrBO,KAAM,sDACN+uZ,KAAM,eACNz2Y,KAAM,oBACNxY,MAAO,yCACPT,QAAS,oCACTw5Z,WAAY,+IACZ3sT,YAAa,uEACbv/E,OAAQ,uBACRlgB,MAAO,+BACP0uB,SAAU,2BACVqpB,OAAQ,4BACRz7B,QAAS,2CACT0E,UAAW,uBACXy8G,SAAU,6BACVkG,MAAO,yEACPyiK,MAAO,+EAIJxvS,EAAShM,KAAK8jD,OAAOpmD,KAAOsC,KAAK8jD,OAAOpmD,GAAK,CAChD0L,GAAI1L,EACJ6J,OAAQi8J,EAAKj8J,OAAO,CACnBs4M,MAAO,UACPnvM,KAAM,QACN/H,KAAM,IAAI6H,aAEX/H,MAAO,QACP6sB,OAAQ,KACRrU,KAAM,GACN4zF,YAAa,cACb2sT,WAAY,EACZ19X,SAAWqoF,EAAK,CAACq3C,EAAKs6C,IAAIh0M,mBAAoB05J,EAAKs6C,IAAI/zM,sBACvD2nB,QAAS,CAAC,EAAG,EAAG,EAAG,GACnB1pB,QAAS,EACT6qI,UAAU,EACVkG,OAAO,EACPyiK,OAAO,IA+BR,GA1Be,MAAXx9S,EAAEyK,QACLuD,EAAMvD,MAAQzK,EAAEyK,OAEH,MAAVzK,EAAEijB,OACLjV,EAAMiV,KAAOjjB,EAAEijB,MAEA,MAAZjjB,EAAEs3B,SACLtpB,EAAMspB,OAASt3B,EAAEs3B,QAEG,MAAjBt3B,EAAE62G,cACL7oG,EAAM6oG,YAAc72G,EAAE62G,aAEH,MAAhB72G,EAAEwja,aACLx1Z,EAAMw1Z,WAAaxja,EAAEwja,YAEL,MAAbxja,EAAEgK,UACLgE,EAAMhE,QAAUhK,EAAEgK,SAEfhK,EAAE8lC,WACL93B,EAAM83B,SAAWqoF,EAAKnuH,EAAE8lC,WAEP,MAAd9lC,EAAE60I,WAAoB7mI,EAAM6mI,SAAW70I,EAAE60I,UAC9B,MAAX70I,EAAE+6I,QAAiB/sI,EAAM+sI,MAAQ/6I,EAAE+6I,OACxB,MAAX/6I,EAAEw9S,QAAiBxvS,EAAMwvS,MAAQx9S,EAAEw9S,OAGnCx9S,EAAE2K,KAAM,CACXqD,EAAMzE,OAAO24P,EAAQliQ,EAAE2K,OACvBqD,EAAMkxJ,QAAUl/J,EAAE2K,KAAKhM,OACvBqP,EAAMg8D,MAAQhqE,EAAE2K,KAAK,GAAGhM,OAGxBqP,EAAMpF,OAAS,GAEf,IAAK,IAAImra,EAAM,EAAGA,EAAM/la,EAAMkxJ,QAAS60Q,IACtC/la,EAAMpF,OAAOmra,GAAOjtS,EAAU9mI,EAAE2K,KAAKopa,GAAM,GAMzC/za,EAAEoX,QACLpJ,EAAMoJ,MAAQpX,EAAEoX,MAChB88Z,EAAalma,EAAMoJ,OAAmC,kBAAnBpJ,EAAMoJ,MAAM,IAG5CpX,EAAEmvD,SACLnhD,EAAMmhD,OAASnvD,EAAEmvD,QAElB,IAAIglX,GAAe,EACF,MAAbn0a,EAAE0zB,UAEDrwB,MAAM0J,QAAQ/M,EAAE0zB,UAAY1zB,EAAE0zB,QAAQ/0B,SAAWqP,EAAMkxJ,SAAsD,kBAApCl/J,EAAE0zB,QAAQ1zB,EAAE0zB,QAAQ/0B,OAAS,IACzGqP,EAAM0lB,QAAU1zB,EAAE0zB,QAAQgnB,IAAIkmQ,GAC9BuzH,GAAe,GAIfnma,EAAM0lB,QAAUktR,EAAO5gT,EAAE0zB,UAK3B,IAAI9zB,EAAIoO,EAAMkxJ,QACVl+J,EAAIgN,EAAMg8D,MAEV/sD,EAAIjP,EAAM83B,SAASplB,MACnB8vC,EAAIxiD,EAAM83B,SAAStd,OACnBpV,EAAOpF,EAAM83B,SAASl4B,EACtB0jB,EAAMtjB,EAAM83B,SAASvyB,EACrBohJ,EAAK13I,EAAIrd,EACTw0a,EAAK5jX,EAAI5wD,EAEboO,EAAMmla,OAAS,GAEf,IAAK,IAAIkB,EAAM,EAAGA,EAAMz0a,EAAGy0a,IAC1B,IAAK,IAAIrwa,EAAI,EAAGA,EAAIpE,EAAGoE,IACtB,IAAKgK,EAAM6mI,UAAY7wI,IAAMqwa,KACxBrma,EAAM+sI,SAASs5R,EAAMrwa,MACrBgK,EAAMwvS,SAAS62H,EAAMrwa,IAA1B,CAEA,IAAIlD,EAAMsya,EAAOpla,EAAM5C,GAAIipa,EAAKrwa,GAE5BypP,EAAOzrP,KAAKmxa,OAAOrya,KAASkB,KAAKmxa,OAAOrya,GAAO,IAmBnD,GAjBId,EAAE2K,OACD3K,EAAEo4B,UACLq1N,EAAKnhP,UAAY,CAChBsB,EAAG,CAACrE,OAAQyE,EAAMzE,OAAQ8R,OAAQrX,EAAGgmE,MAAOhpE,EAAGinC,OAAQroC,GACvD2T,EAAG,CAAChK,OAAQyE,EAAMzE,OAAQ8R,OAAQg5Z,EAAKrqW,MAAOhpE,EAAGinC,OAAQroC,IAI1D6tP,EAAKnhP,UAAY,CAChBsB,EAAG,CAACrE,OAAQyE,EAAMzE,OAAQ8R,OAAQrX,EAAIhD,EAAGgpE,MAAOhpE,GAChDuS,EAAG,CAAChK,OAAQyE,EAAMzE,OAAQ8R,OAAQg5Z,EAAMrza,EAAGgpE,MAAOhpE,IAIpDysP,EAAK7kP,OAASyqa,EAAOrla,EAAMpF,OAAQyra,EAAKrwa,IAGrChE,EAAEmvD,QAAUnvD,EAAE8lC,UAAY9lC,EAAE2K,KAAM,CACrC,IAAI2O,EAAM66Z,EAAed,EAAOrla,EAAM0lB,QAAS2gZ,EAAKrwa,GAAKgK,EAAM0lB,QAC/D,GAAI1lB,EAAMmhD,OAAQ,CACjB,IAAImlX,EAAQjB,EAAOrla,EAAMmhD,OAAQklX,EAAKrwa,GAClCqja,EAAMiN,EAAM,GACZhN,EAAMgN,EAAM,GACZ/M,EAAM+M,EAAM,GACZ9M,EAAM8M,EAAM,GAEhB7mL,EAAK3nN,SAAW,CACf1yB,EAAOi0Z,EAAMpqZ,EAAI3D,EAAI,GACrBgY,EAAMg2Y,EAAM92W,EAAIl3C,EAAI,GACpBlG,EAAOm0Z,EAAMtqZ,EAAI3D,EAAI,GACrBgY,EAAMk2Y,EAAMh3W,EAAIl3C,EAAI,SAKrBm0O,EAAK3nN,SAAW,CACf1yB,EAAOpP,EAAI2wJ,EAAKA,EAAKr7I,EAAI,GACzBgY,EAAM+iZ,EAAMD,EAAKA,EAAK96Z,EAAI,GAC1BlG,GAAQpP,EAAI,GAAK2wJ,EAAKA,EAAKr7I,EAAI,GAC/BgY,GAAO+iZ,EAAM,GAAKD,EAAKA,EAAK96Z,EAAI,IAK/BtZ,EAAEyK,QAASgjP,EAAKhjP,MAAQuD,EAAMvD,OAC9BzK,EAAEijB,OAAQwqO,EAAKxqO,KAAOjV,EAAMiV,MAC5BjjB,EAAEs3B,SAAUm2N,EAAKn2N,OAAStpB,EAAMspB,QAChCt3B,EAAEwja,aAAc/1K,EAAK+1K,WAAax1Z,EAAMw1Z,YACxCxja,EAAE62G,cAAe42I,EAAK52I,YAAc7oG,EAAM6oG,aAC1C72G,EAAEgK,UAAWyjP,EAAKzjP,QAAUgE,EAAMhE,SAElChK,EAAEoX,QACLq2O,EAAKr2O,MAAQ88Z,EAAab,EAAOrla,EAAMoJ,MAAOi9Z,EAAKrwa,GAAKgK,EAAMoJ,OAASq2O,EAAK7kP,QAG7EoF,EAAMmla,OAAO3wa,KAAK1B,GAIpB,OAAOkB,MAKRkxa,EAAM/xa,UAAUmK,KAAO,WACtB,IAAIipa,EAEA1qY,EAAO,GAAIjd,EAAM1tB,UAAUP,OAC/B,MAAQiuB,IAAQid,EAAMjd,GAAQ1tB,UAAW0tB,GACzC,GAAKid,EAAKlrC,OAGL,CAEJ,IADA,IAAI0lC,EAAM,GACD3kC,EAAI,EAAGA,EAAImqC,EAAKlrC,OAAQe,IAEhC,GAAuB,kBAAZmqC,EAAKnqC,GAAkB,CACjC,IAAIunQ,EAAMjlQ,KAAK8jD,OAAOjc,EAAKnqC,IACvByza,EAASlsK,EAAIksK,OACbc,EAAahtK,EAAIgtK,WACrB5vY,EAAI7hC,KAAKvD,MAAMolC,EAAK4uY,EAASgB,EAAYA,EAAad,EAAOx0a,cAGzD,GAAIkrC,EAAKnqC,GAAGf,OAAQ,CACxB,IAAIw3X,EAAMtsV,EAAKnqC,GACX40a,EAAQtya,KAAK8jD,OAAOpmD,GACpB80a,EAAWF,EAAMnB,OACjBsB,EAAeH,EAAML,WACzBO,EAAWA,EAAS95X,KAAI,SAAU04X,EAAQ1za,GACzC2kC,EAAIowY,EAAe/0a,GAAKy2X,MAI1Bo+C,EAAQvya,KAAKksX,SAAS5iX,KAAKrM,MAAMs1a,EAAOlwY,QAvBzCriC,KAAKksX,QAAQ5iX,OA0Bd,OAAOtJ,MAKRkxa,EAAM/xa,UAAU8zB,QAAU,WASzB,OARAjzB,KAAK8jD,OAAOoQ,SAAQ,SAAUloD,GACzBA,EAAMzE,QAAUyE,EAAMzE,OAAO0rB,SAAWjnB,EAAMzE,OAAO0rB,aAE1DjzB,KAAK8jD,OAAS,KACd9jD,KAAKmxa,OAAS,KAEdnxa,KAAKksX,QAAQj5V,UAENjzB,OAuEF,OACA,SAAU3D,EAAQC,GAExB,SAAS21G,EAAKn8C,EAAIC,EAAIt3D,GAClB,OAAOq3D,GAAI,EAAEr3D,GAAGs3D,EAAGt3D,EAEvBpC,EAAOC,QAAU21G,GAIX,OACA,SAAU51G,EAAQC,EAASkB,GAEjC,aAcAnB,EAAOC,QAAU,SAASyP,EAAIC,GAG1B,IAFA,IACI0ma,EADA1za,EAAI+M,EAAGw3C,UAAU5mD,OAEbe,EAAI,EAAGA,EAAIsB,EAAGtB,IAAK,CACvB,IAAIi1a,EAAc5ma,EAAGw3C,UAAU7lD,GAE/B,GAAGi1a,EAAYvya,QAAU4L,EAAM5L,QAEP,WAArBuya,EAAYjia,OACPgia,IACAA,EAAYC,GAGbA,EAAYhmW,SAAW3gE,EAAM2gE,SAC5B,OAAOgmW,EAKnB,OAAOD,IAML,OACA,SAAUr2a,EAAQC,EAASkB,GAEjC,IAAIo3D,EAAcp3D,EAAoB,QAClCy3D,EAAiBz3D,EAAoB,QACrCq9L,EAAWr9L,EAAoB,QAC/Bu3D,EAAcv3D,EAAoB,QAElCo1a,EAAuB30a,OAAOC,eAIlC5B,EAAQkpC,EAAIovB,EAAcg+W,EAAuB,SAAwBx9W,EAAGC,EAAGw9W,GAI7E,GAHAh4O,EAASzlI,GACTC,EAAIN,EAAYM,GAAG,GACnBwlI,EAASg4O,GACL59W,EAAgB,IAClB,OAAO29W,EAAqBx9W,EAAGC,EAAGw9W,GAClC,MAAOz3Z,IACT,GAAI,QAASy3Z,GAAc,QAASA,EAAY,MAAMz/W,UAAU,2BAEhE,MADI,UAAWy/W,IAAYz9W,EAAEC,GAAKw9W,EAAWr0a,OACtC42D,IAMH,OACA,SAAU/4D,EAAQC,EAASkB,GAEjC,aA2BA,IAhBA,IAAIkuG,EAAeluG,EAAoB,QACnC2iB,EAAkB3iB,EAAoB,QAEtC8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAE1CuyZ,EAAa,CACb,IACA,IAAK,KAAM,KACX,IAAK,KAAM,KACX,OAAQ,YACR,QAAS,SAGTtxZ,EAAQ,GAEJ9jB,EAAI,EAAGA,EAAIo1a,EAAWn2a,OAAQe,IAAK,CACvC,IAAIyE,EAAI2wa,EAAWp1a,GACnB8jB,EAAMrf,GAAKupG,EAAavpG,GAG5Bme,EACIkB,EACArB,EAAgB,GAAI,CAAC/T,QAAS,IAAK2V,eAAe,KAGtD1lB,EAAOC,QAAUikB,EAAYiB,EAAO,OAAQ,WAKtC,OACA,SAAUnlB,EAAQC,EAASkB,GAEjC,aAWA,IAAIitF,EAAYjtF,EAAoB,QAChCgkO,EAAWhkO,EAAoB,QAC/B0qB,EAAgB1qB,EAAoB,QAAQ0qB,cAC5C3H,EAAc/iB,EAAoB,QAAQ+iB,YAC1CwyZ,EAAiBv1a,EAAoB,QACrCqrG,EAAiBrrG,EAAoB,QAAQqrG,eAC7C16D,EAAY3wC,EAAoB,QAEhCm5H,EAAa9tB,EAAe,OAAQ,CACpCt5F,QAAS,CACLmR,QAAS,UAETC,MAAM,GAGVqwB,OAAQ,CACJtwB,QAAS,aACT2V,OAAQ,CAAC,UAAW,WAAY,UAAW,SAAU,QACrD1V,KAAM,WAIVknB,KAAM,CACFnnB,QAAS,aAETs9I,YAAY,EACZtnC,MAAO,CACH,CAAEh2G,QAAS,OACX,CAAEA,QAAS,OACX,CAAEA,QAAS,SAInB69E,MAAO,CACH79E,QAAS,UAIbliB,MAAO,CACHkiB,QAAS,UAIb4zE,QAAS,CACL5zE,QAAS,UAETC,MAAM,KAKdtkB,EAAOC,QAAUikB,EAAYsoF,EAAe,SAAU,CAClDt5F,QAAS,CACLmR,QAAS,UAETC,MAAM,GAIVogH,OAAQ,CACJrgH,QAAS,SAETnb,IAAK,EACLob,KAAM,GAIVogG,MAAO4V,EAEP+vK,QAAS,CACLhmR,QAAS,aACT2V,OAAQ,CAAC,WAAY,UAErB1V,KAAM,YAGViK,IAAK,CACDlK,QAAS,SACTnb,IAAK,EACLob,KAAM,GAIV/U,EAAG,CACC8U,QAAS,SACTnb,KAAM,EACNC,IAAK,EACLmb,KAAM,GAIVrJ,IAAK4Q,EAAcs5M,EAAS,CAACzgN,SAAU,cAAe,GAEnD,CAACtiB,EAAG,CAACkiB,KAAM,MACdm/E,QAAS,CACLp/E,QAAS,aACT2V,OAAQ,CAAC,OAAQ,OAAQ,SAAU,SACnC1V,KAAM,QAIVpP,EAAG,CACCmP,QAAS,SACTnb,KAAM,EACNC,IAAK,EACLmb,KAAM,GAIVo/E,QAAS,CACLr/E,QAAS,aACT2V,OAAQ,CAAC,OAAQ,MAAO,SAAU,UAClC1V,KAAM,OAKVlT,WAAY,CACRI,SAAU,CACN6S,QAAS,SAETnb,IAAK,EACLob,KAAM,KAGV0W,OAAQ,CACJ3W,QAAS,aACT2V,OAAQ08Y,EAAetla,WAAW4pB,OAAOhB,OAEzC1V,KAAM,iBAKdqyZ,aAAc,CACVzja,QAAS,CACLmR,QAAS,UAETC,MAAM,GAIVm/E,QAAS,CACLp/E,QAAS,aACT2V,OAAQ,CAAC,OAAQ,SAAU,SAC3B1V,KAAM,QAKVtH,OAAQ,CACJqH,QAAS,SACTC,KAAM,IAKVq6C,OAAQ,CACJt6C,QAAS,UAKbhb,OAAQ,CACJgb,QAAS,UAKblC,KAAMisE,EAAU,KAKpBjsE,KAAMisE,EAAU,IAIhBwoV,cAAe,CACXvyZ,QAAS,QAETC,KAAMwtB,EAAU+kY,mBAGpB/pU,QAAS,CACLzoF,QAAS,QAETC,KAAMwtB,EAAUglY,aAGpB/pU,YAAa,CACT1oF,QAAS,QACTC,KAAMwtB,EAAUilY,iBAIpB9pU,YAAa,CACT5oF,QAAS,SACTnb,IAAK,EACLob,KAAMwtB,EAAUklY,iBAIpB/mX,QAAS,CACL5rC,QAAS,SACTnb,IAAK,EACLob,KAAMwtB,EAAUumK,YAIpB/lJ,UAAW,CACPjuC,QAAS,QACTC,KAAMwtB,EAAUowH,WAIpB3vG,UAAW,CACPluC,QAAS,SACTnb,IAAK,EACLob,KAAM,GAIV2yZ,aAAc,CACV5yZ,QAAS,SACTnb,IAAK,EACLob,KAAMwtB,EAAUolY,mBAIpB,YAAa,cAKX,OACA,SAAUl3a,EAAQC,EAASkB,GAEjC,aAGA,IAAI2hH,EAAc3hH,EAAoB,QAItC,SAAS6rB,EAAIvsB,EAAGC,GACd,OAAOoiH,EAAYriH,EAAE,GAAGqlE,IAAIplE,EAAE,IAAIssB,IAAIvsB,EAAE,GAAGqlE,IAAIplE,EAAE,KAAMD,EAAE,GAAGqlE,IAAIplE,EAAE,KAHpEV,EAAOC,QAAU+sB,GASX,OACA,SAAUhtB,EAAQC,GAYxB,SAASmmE,EAAMplD,EAAKvgB,EAAGoF,GACnB,IAAI0J,EAAI1J,EAAE,GAAIqP,EAAIrP,EAAE,GAAImK,EAAInK,EAAE,GAkB9B,OAhBAmb,EAAI,GAAKvgB,EAAE,GAAK8O,EAChByR,EAAI,GAAKvgB,EAAE,GAAK8O,EAChByR,EAAI,GAAKvgB,EAAE,GAAK8O,EAChByR,EAAI,GAAKvgB,EAAE,GAAK8O,EAChByR,EAAI,GAAKvgB,EAAE,GAAKyU,EAChB8L,EAAI,GAAKvgB,EAAE,GAAKyU,EAChB8L,EAAI,GAAKvgB,EAAE,GAAKyU,EAChB8L,EAAI,GAAKvgB,EAAE,GAAKyU,EAChB8L,EAAI,GAAKvgB,EAAE,GAAKuP,EAChBgR,EAAI,GAAKvgB,EAAE,GAAKuP,EAChBgR,EAAI,IAAMvgB,EAAE,IAAMuP,EAClBgR,EAAI,IAAMvgB,EAAE,IAAMuP,EAClBgR,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,IACZugB,EAAI,IAAMvgB,EAAE,IACLugB,EA7BXhhB,EAAOC,QAAUmmE,GAkCX,OACA,SAAUpmE,EAAQC,EAASkB,GAEjC,aAYA,IAAIkpH,EAAelpH,EAAoB,QACnCmxC,EAAS+3E,EAAa/3E,OACtBi4E,EAAWF,EAAaE,SACxB4sT,EAAgB5sT,EAAW,GAC3B6sT,EAAiB7sT,EAAW,GAC5B7yG,EAAMvW,EAAoB,QAC1BimH,EAAoB1vG,EAAI0vG,kBACxBhuG,EAAY1B,EAAI0B,UAChB04B,EAAY3wC,EAAoB,QAGpCnB,EAAOC,QAAU,SAAoBuB,EAAG8sB,GACpC,IAiBIjtB,EAIAg2a,EAAgBC,EAAcC,EAAeC,EAG7C/4V,EAGAg5V,EAIAC,EAGAC,EAGAC,EAAgBC,EAAgBC,EAAe/1E,EAG/Cg2E,EAAqBC,EAAqBC,EA2C1CC,EAAaC,EAnFbjgZ,EAAK5J,EAAK1G,MACV2Q,EAAKjK,EAAKzG,MACVuwZ,EAAmB,QAAZlgZ,EAAG7jB,KACVgka,EAAmB,QAAZ9/Y,EAAGlkB,KACVg9R,EAAOn5Q,EAAG1f,QACV84R,EAAO/4Q,EAAG/f,QACV1K,EAAcwgB,EAAKxgB,YACnBqrX,EAAgB7qW,EAAK6qW,cACrB52V,EAAQjU,EAAKiU,MACbmvG,EAAmB,WAAVnvG,EACT3vB,EAAO0b,EAAK1b,MAAsB,SAAd0b,EAAK1b,KACzBilE,EAAW,GACXygW,EAAexmY,EAAUwmY,aACzB/pZ,EAAM/sB,EAAElB,OACR4wC,EAAM,IAAIlsC,MAAMupB,GAChBgqZ,EAAM,EA4BV,SAASC,EAAMz0a,GACX,IAAI+0B,EAAKt3B,EAAEuC,GACX,IAAI+0B,EAAI,OAAO,EACf,IAAIvpB,EAAI+e,EAAK8qW,WAAalhW,EAAGqpB,IAAIzoB,EAAGvpB,GAAK2oB,EAAGC,IAAIW,EAAGvpB,GAC/C2F,EAAIoZ,EAAK8qW,WAAa7gW,EAAGgpB,IAAIzoB,EAAG5jB,GAAKqjB,EAAGJ,IAAIW,EAAG5jB,GAInD,GAAG3F,IAAM+iC,EAAQ,CAEb,GADG8lY,IAAM7oa,EAAI2oB,EAAGC,IAAIW,EAAGvpB,GAAG,IACvBA,IAAM+iC,EAAQ,OAAO,EAGrB+lY,GAAQnja,IAAMo9B,IACb/iC,GAAKzI,KAAK+R,IAAIqf,EAAGlf,GAAKs4R,GAAQp5Q,EAAGlf,GAAK,EAAIm+Z,EAAgBC,IACrD7+Y,EAAGvf,GAAKq4R,GAAQ94Q,EAAGvf,GAAK,EAAIm+Z,EAAgBC,MAErD7na,GAAK,IAET,GAAG2F,IAAMo9B,EAAQ,CAEb,GADG+lY,IAAMnja,EAAIqjB,EAAGJ,IAAIW,EAAG5jB,GAAG,IACvBA,IAAMo9B,EAAQ,OAAO,EACxBp9B,GAAK,IAET,MAAO,CAAC3F,EAAG2F,GAGf,SAASuja,EAAgBC,EAAQC,EAAQC,EAAQC,GAC7C,IAAIh/Y,EAAK++Y,EAASF,EACd7tZ,EAAKguZ,EAASF,EACd77Y,EAAM,GAAM47Y,EACZx7Y,EAAM,GAAMy7Y,EACZ3mJ,EAAQn4P,EAAKA,EAAKhP,EAAKA,EACvBu2C,EAAMvnC,EAAKiD,EAAMjS,EAAKqS,EAC1B,GAAGkkC,EAAM,GAAKA,EAAM4wN,EAAO,CACvB,IAAIz6Q,EAAQulB,EAAMjS,EAAKqS,EAAMrD,EAC7B,GAAGtiB,EAAQA,EAAQy6Q,EAAO,OAAO,GAMzC,SAAS8mJ,EAAa73Z,EAAI83Z,GACtB,IAAIC,EAAQ/3Z,EAAG,GAAKowR,EAChB4nI,EAAQh4Z,EAAG,GAAKqwR,EAChB4nI,EAAoBpya,KAAKqC,IAAI,GAAI6va,EAAOA,EAAQ,GAAIC,EAAOA,EAAQ,GAYvE,OAXGC,QAAsC34a,IAAhB23a,GACrBO,EAAgBO,EAAOC,EAAOf,EAAaC,KAE3Ce,EAAoB,GAErBA,GAAqBH,GACpBN,EAAgBO,EAAOC,EAAOF,EAAO,GAAK1nI,EAAM0nI,EAAO,GAAKznI,KAE5D4nI,EAAoB,IAGhB,EAAIpnY,EAAUqnY,gBAAkBD,GAAqB//C,EAGjE,SAASigD,EAAOtzM,EAAKjxF,GACjB,IAAIh7G,EAAKisM,EAAI,GAAKjxF,EAAI,GAClBhqH,EAAKi7M,EAAI,GAAKjxF,EAAI,GACtB,OAAO/tI,KAAKuD,KAAKwvB,EAAKA,EAAKhP,EAAKA,GAMpC,IAmBIwuZ,EAAOC,EAAOC,EAAWC,EAAWC,EAAWC,EAiF/CC,EApGAC,GAAiB9nY,EAAU8nY,eAS3BC,IAAUxoI,EAAOuoI,GACjBE,GAASzoI,GAAQ,EAAIuoI,IACrBG,IAAUzoI,EAAOsoI,GACjBI,GAAS1oI,GAAQ,EAAIsoI,IACrB3oR,GAAQ,CACR,CAAC4oR,GAAQE,GAAQD,GAAQC,IACzB,CAACD,GAAQC,GAAQD,GAAQE,IACzB,CAACF,GAAQE,GAAQH,GAAQG,IACzB,CAACH,GAAQG,GAAQH,GAAQE,KAO7B,SAASE,GAA2Bn0M,EAAKjxF,GAGrC,IAFA,IAAI7zH,EAAM,GACNk5Z,EAAU,EACN74a,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIorC,EAAOwkH,GAAM5vJ,GACb84a,EAAQ/yT,EACR0+G,EAAI,GAAIA,EAAI,GAAIjxF,EAAI,GAAIA,EAAI,GAC5BpoG,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAEjC0tY,KAAWD,GACVpza,KAAK+R,IAAIsha,EAAM5qa,EAAIyR,EAAI,GAAG,IAAM,GAChCla,KAAK+R,IAAIsha,EAAMjla,EAAI8L,EAAI,GAAG,IAAM,KAEhCm5Z,EAAQ,CAACA,EAAM5qa,EAAG4qa,EAAMjla,GAErBgla,GAAWd,EAAOe,EAAOr0M,GAAOszM,EAAOp4Z,EAAI,GAAI8kN,GAAM9kN,EAAIjS,QAAQora,GAC/Dn5Z,EAAI7c,KAAKg2a,GACdD,KAGR,OAAOl5Z,EAGX,SAASo5Z,GAAqBn5Z,GAC1B,GAAGA,EAAG,GAAK44Z,IAAU54Z,EAAG,GAAK64Z,IAAU74Z,EAAG,GAAK84Z,IAAU94Z,EAAG,GAAK+4Z,GAC7D,MAAO,CAAC5ga,EAAU6H,EAAG,GAAI44Z,GAAQC,IAAS1ga,EAAU6H,EAAG,GAAI84Z,GAAQC,KAI3E,SAASK,GAASv0M,EAAKjxF,GACnB,OAAGixF,EAAI,KAAOjxF,EAAI,KAAOixF,EAAI,KAAO+zM,IAAU/zM,EAAI,KAAOg0M,MACtDh0M,EAAI,KAAOjxF,EAAI,KAAOixF,EAAI,KAAOi0M,IAAUj0M,EAAI,KAAOk0M,UAAzD,GAKJ,SAASM,GAAuBx0M,EAAKjxF,GACjC,IAAI7zH,EAAM,GACNu5Z,EAASH,GAAqBt0M,GAC9B00M,EAASJ,GAAqBvlS,GAClC,OAAG0lS,GAAUC,GAAUH,GAASE,EAAQC,KAErCD,GAAQv5Z,EAAI7c,KAAKo2a,GACjBC,GAAQx5Z,EAAI7c,KAAKq2a,IAHoCx5Z,EAU5D,SAASy5Z,GAAwBt8W,EAAKu8W,EAAQC,GAC1C,OAAO,SAAS70M,EAAKjxF,GACjB,IAAI0lS,EAASH,GAAqBt0M,GAC9B00M,EAASJ,GAAqBvlS,GAE9B7zH,EAAM,GACV,GAAGu5Z,GAAUC,GAAUH,GAASE,EAAQC,GAAS,OAAOx5Z,EAErDu5Z,GAAQv5Z,EAAI7c,KAAKo2a,GACjBC,GAAQx5Z,EAAI7c,KAAKq2a,GAEpB,IAGQI,EAHJC,EAAW,EAAInja,EAAI0B,WAAW0sN,EAAI3nK,GAAO02E,EAAI12E,IAAQ,EAAGu8W,EAAQC,KAC9DJ,GAAUz0M,GAAK3nK,IAAQq8W,GAAU3lS,GAAK12E,IACzC08W,IAGKD,EADDL,GAAUC,EACIK,EAAW,IAAMN,EAAOp8W,GAAOq8W,EAAOr8W,GAAQo8W,EAASC,EACrDD,GAAUC,EAE7BI,EAAUz8W,IAAQ08W,GAGtB,OAAO75Z,GAcf,SAAS85Z,GAAiBh1M,EAAKjxF,GAC3B,IAAIh7G,EAAKg7G,EAAI,GAAKixF,EAAI,GAClBvkO,GAAKszI,EAAI,GAAKixF,EAAI,IAAMjsM,EACxBn5B,GAAKolO,EAAI,GAAKjxF,EAAI,GAAKA,EAAI,GAAKixF,EAAI,IAAMjsM,EAE9C,OAAGn5B,EAAI,EAAU,CAACa,EAAI,EAAIs4a,GAASC,GAAQE,IAC/B,CAACz4a,EAAI,EAAIu4a,GAASD,GAAQE,IAG1C,SAASgB,GAAW95Z,GAChB,IAAI1R,EAAI0R,EAAG,GACP/L,EAAI+L,EAAG,GACP+5Z,EAAQzra,IAAM2hC,EAAIqnY,EAAM,GAAG,GAC3B0C,EAAQ/la,IAAMg8B,EAAIqnY,EAAM,GAAG,GAE/B,IAAGyC,IAASC,EACZ,GAAG1C,EAAM,EAAG,CAER,IAAI2C,EAAS3ra,IAAM2hC,EAAIqnY,EAAM,GAAG,GAC5B4C,EAASjma,IAAMg8B,EAAIqnY,EAAM,GAAG,GAC7ByC,IAAUzra,IAAMsqa,IAAUtqa,IAAMuqa,KAAWoB,EACvCC,EAAQ5C,IACNrnY,EAAIqnY,EAAM,GAAKt3Z,EACdg6Z,IAAU/la,IAAM6ka,IAAU7ka,IAAM8ka,KAAWmB,EAC9CD,EAAQ3C,IACNrnY,EAAIqnY,EAAM,GAAKt3Z,EACjBiwB,EAAIqnY,KAASt3Z,OACjBiwB,EAAIqnY,KAASt3Z,EAGxB,SAASm6Z,GAAsBn6Z,GAGxBiwB,EAAIqnY,EAAM,GAAG,KAAOt3Z,EAAG,IAAMiwB,EAAIqnY,EAAM,GAAG,KAAOt3Z,EAAG,IACnD85Z,GAAW,CAACxB,EAAWC,IAE3BuB,GAAW95Z,GACXw4Z,EAAY,KACZF,EAAYC,EAAY,EAG5B,SAASj8T,GAAMt8F,GAQX,GAPAi3Z,EAAcj3Z,EAAG,GAAKowR,EACtB8mI,EAAcl3Z,EAAG,GAAKqwR,EAItB+nI,EAASp4Z,EAAG,GAAK44Z,GAAUA,GAAU54Z,EAAG,GAAK64Z,GAAUA,GAAS,EAChER,EAASr4Z,EAAG,GAAK84Z,GAAUA,GAAU94Z,EAAG,GAAK+4Z,GAAUA,GAAS,EAC7DX,GAASC,EAAO,CACf,GAAIf,EAKG,GAAGkB,EAAW,CAGjB,IAAI4B,EAAgB1B,EAAqBF,EAAWx4Z,GACjDo6Z,EAAc/6a,OAAS,IACtB86a,GAAsBC,EAAc,IACpCnqY,EAAIqnY,KAAS8C,EAAc,SAK/B3B,EAASC,EAAqBzoY,EAAIqnY,EAAM,GAAIt3Z,GAAI,GAChDiwB,EAAIqnY,KAASmB,OAbbxoY,EAAIqnY,KAAS,CAACc,GAASp4Z,EAAG,GAAIq4Z,GAASr4Z,EAAG,IAgB9C,IAAIq6Z,EAASpqY,EAAIqnY,EAAM,GACpBc,GAASC,IAAUgC,EAAO,KAAOjC,GAASiC,EAAO,KAAOhC,IAGpDG,IACIF,IAAcF,GAASG,IAAcF,EAKhCyB,GAJDxB,GAAaC,EAIDsB,GAAiBrB,EAAWx4Z,GAI5B,CAACs4Z,GAAaF,EAAOG,GAAaF,IAE3CC,GAAaC,GACnBuB,GAAW,CAACxB,EAAWC,KAG/BuB,GAAW,CAAC1B,EAAOC,KACZC,EAAYF,GAAWG,EAAYF,GAG1CyB,GAAW,CAAC1B,GAASE,EAAWD,GAASE,IAE7CC,EAAYx4Z,EACZs4Z,EAAYF,EACZG,EAAYF,OAETG,GAEC2B,GAAsBzB,EAAqBF,EAAWx4Z,GAAI,IAG9DiwB,EAAIqnY,KAASt3Z,EAKrB,IAvHa,WAAVshB,GAAgC,WAAVA,EACrBo3Y,EAAuBM,GACP,OAAV13Y,GAA4B,OAAVA,EACxBo3Y,EAAuBW,GACP,QAAV/3Y,EAAiBo3Y,EAAuBc,GAAwB,EAAGZ,GAAQC,IACnE,QAAVv3Y,IAAiBo3Y,EAAuBc,GAAwB,EAAGV,GAAQC,KAkH/E34a,EAAI,EAAGA,EAAIktB,EAAKltB,IAEhB,GADAg2a,EAAiBmB,EAAMn3a,GACnBg2a,EAAJ,CAOA,IALAkB,EAAM,EACNkB,EAAY,KACZl8T,GAAM85T,GAGFh2a,IAAKA,EAAIktB,EAAKltB,IAAK,CAEnB,GADAk2a,EAAgBiB,EAAMn3a,IAClBk2a,EAAe,CACf,GAAGzpa,EAAa,SACX,MAMT,GAAI4jI,GAAWpjH,EAAKmgE,SAApB,CAKA,IAAIsqV,GAASP,EAAMn3a,EAAI,GAKvB,GAHAu2a,EAAiBwB,EAAO7B,EAAeF,GAGlCzka,IAAiB,IAAR2la,GAAaA,IAAQhqZ,EAAM,MACrCqpZ,EAAiBkB,EAAavB,EAAewB,IAAUT,GAD3D,CAeA,IAZAZ,EAAoB,EACfH,EAAc,GAAKF,EAAe,IAAMO,GACxCL,EAAc,GAAKF,EAAe,IAAMO,GAG7CJ,EAAeH,EACfQ,EAAiBD,EACjBE,EAAgBC,EAAsBC,EAAsB,EAC5DP,GAAmB,EACnBH,EAAeC,EAGXl2a,IAAKA,EAAIG,EAAElB,OAAQe,IAAK,CAGxB,GAFAo9E,EAASs6V,GACTA,GAASP,EAAMn3a,EAAI,IACfo9E,EAAQ,CACR,GAAG3wE,EAAa,SACX,MAWT,GATA6pa,EAAa,CACTl5V,EAAO,GAAK44V,EAAe,GAC3B54V,EAAO,GAAK44V,EAAe,IAG/BY,EAAgBN,EAAW,GAAKD,EAAkB,GAAKC,EAAW,GAAKD,EAAkB,GACzFK,EAAsBjxa,KAAKoC,IAAI6ua,EAAqBE,GACpDD,EAAsBlxa,KAAKqC,IAAI6ua,EAAqBC,GAEjDD,EAAsBD,EAAsBe,EAAar6V,EAAQs6V,IAAS,MAE7EzB,EAAe74V,EACfsjR,EAAU41E,EAAW,GAAKD,EAAkB,GAAKC,EAAW,GAAKD,EAAkB,GAEhF31E,EAAU81E,GACTA,EAAiB91E,EACjBw1E,EAAgB94V,EAChBg5V,GAAmB,GACb11E,EAAU+1E,IAChBA,EAAgB/1E,EAChBy1E,EAAe/4V,EACfg5V,GAAmB,GAiB3B,GAXGA,GACCl6T,GAAMg6T,GACHD,IAAiBE,GAAcj6T,GAAMi6T,KAErCA,IAAiBH,GAAgB95T,GAAMi6T,GACvCF,IAAiBC,GAAeh6T,GAAMg6T,IAG7Ch6T,GAAM+5T,GAGHj2a,GAAKG,EAAElB,SAAWm+E,EAAQ,MAG7B8+B,GAAM9+B,GACN44V,EAAiB54V,QAzEb8+B,GAAMg6T,GA6EXkC,GAAWsB,GAAW,CAACxB,GAAaE,EAAU,GAAID,GAAaC,EAAU,KAE5E5hW,EAAS1zE,KAAK+sC,EAAI5rC,MAAM,EAAGiza,IAG/B,OAAO1gW,IAML,OACA,SAAU73E,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUu8O,EAEjB,IAAIp5O,EAASjC,EAAoB,QAEjC,SAASo6a,EAAgB96a,EAAGC,GAC1B,IAAIqnJ,EAAIqyL,EAoBJlrD,EAAIpmG,EAnBR,GAAGpoL,EAAE,GAAG,GAAKA,EAAE,GAAG,GAChBqnJ,EAAKrnJ,EAAE,GACP05U,EAAK15U,EAAE,OACF,MAAGA,EAAE,GAAG,GAAKA,EAAE,GAAG,IAGlB,CACL,IAAI86a,EAAM10a,KAAKoC,IAAIzI,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC7Bg7a,EAAM30a,KAAKqC,IAAI1I,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC7Bi7a,EAAM50a,KAAKoC,IAAIxI,EAAE,GAAG,GAAIA,EAAE,GAAG,IAC7ButM,EAAMnnM,KAAKqC,IAAIzI,EAAE,GAAG,GAAIA,EAAE,GAAG,IACjC,OAAG+6a,EAAMC,EACAD,EAAMC,EAEZF,EAAMvtO,EACAutO,EAAMvtO,EAERwtO,EAAMxtO,EAbblmD,EAAKrnJ,EAAE,GACP05U,EAAK15U,EAAE,GAeND,EAAE,GAAG,GAAKA,EAAE,GAAG,IAChByuR,EAAKzuR,EAAE,GACPqoL,EAAKroL,EAAE,KAEPyuR,EAAKzuR,EAAE,GACPqoL,EAAKroL,EAAE,IAET,IAAIe,EAAI4B,EAAOg3U,EAAIryL,EAAImnI,GACvB,OAAG1tR,IAGHA,EAAI4B,EAAOg3U,EAAIryL,EAAI+gC,GAChBtnL,GAGIsnL,EAAKsxJ,GAGd,SAAS59F,EAAc97O,EAAGD,GACxB,IAAIyuR,EAAIpmG,EAUJ/gC,EAAIqyL,EATR,GAAG35U,EAAE,GAAG,GAAKA,EAAE,GAAG,GAChByuR,EAAKzuR,EAAE,GACPqoL,EAAKroL,EAAE,OACF,MAAGA,EAAE,GAAG,GAAKA,EAAE,GAAG,IAIvB,OAAO86a,EAAgB96a,EAAGC,GAH1BwuR,EAAKzuR,EAAE,GACPqoL,EAAKroL,EAAE,GAKT,GAAGC,EAAE,GAAG,GAAKA,EAAE,GAAG,GAChBqnJ,EAAKrnJ,EAAE,GACP05U,EAAK15U,EAAE,OACF,MAAGA,EAAE,GAAG,GAAKA,EAAE,GAAG,IAIvB,OAAQ66a,EAAgB76a,EAAGD,GAH3BsnJ,EAAKrnJ,EAAE,GACP05U,EAAK15U,EAAE,GAIT,IAAI2zJ,EAAKjxJ,EAAO8rR,EAAIpmG,EAAIsxJ,GACpB9wQ,EAAKlmE,EAAO8rR,EAAIpmG,EAAI/gC,GACxB,GAAGsM,EAAK,GACN,GAAG/qF,GAAM,EACP,OAAO+qF,OAEJ,GAAGA,EAAK,GACb,GAAG/qF,GAAM,EACP,OAAO+qF,OAEJ,GAAG/qF,EACR,OAAOA,EAIT,GAFA+qF,EAAKjxJ,EAAOg3U,EAAIryL,EAAI+gC,GACpBx/G,EAAKlmE,EAAOg3U,EAAIryL,EAAImnI,GACjB76H,EAAK,GACN,GAAG/qF,GAAM,EACP,OAAO+qF,OAEJ,GAAGA,EAAK,GACb,GAAG/qF,GAAM,EACP,OAAO+qF,OAEJ,GAAG/qF,EACR,OAAOA,EAET,OAAOw/G,EAAG,GAAKsxJ,EAAG,KAKd,OACA,SAAUp6U,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QAkB7B,SAASw6a,EAAU7mC,EAAY8mC,GAC3B,IAIIrhC,EAJAshC,EAAe/mC,EAAW/7X,MAC1BsnB,EAAO,IAAIziB,KAAKk3X,EAAWj4W,IAAIg/Y,EAAa,KAC5C7xY,EAAO4xY,EAAa5xY,KACpB2hC,EAAQiwW,EAAajwW,MAGzB,OAAOiwW,EAAaE,UAChB,IAAK,WACDvhC,EAASzF,EAAW93W,KAAK/sB,EAAG09D,KAAK3jC,GAAMikF,IAAIjxG,OAAOqjB,GAAOsrC,IACzD,MAEJ,IAAK,SACD,IAAIowW,EAAQ9ra,EAAG09D,KAAK3jC,GAAMikF,IAAIjxG,OAAOqjB,GAAOsrC,GAE5C4uU,EAASzF,EAAW93W,KAAK/sB,EAAG09D,KAAK3jC,GAAMikF,IAAI1tF,KAAKw7Y,IAChD,MAGR,IAAIvhC,EAASqhC,EAAa,GAE1B,MAAO,CAACthC,EAAQC,GArCpBx6Y,EAAOC,QAAU,SAAyB60Y,EAAY8mC,GAClD,IAAIxlV,EAAS0+S,EAAWz2W,MACpB3xB,EAAS,GAEb,GAAyB,QAAtBkva,EAAa5xY,KACZt9B,EAAO0pF,EAAS,eAAgB,MAC7B,CACH,IAAI4lV,EAASL,EAAU7mC,EAAY8mC,GAEnClva,EAAO0pF,EAAS,aAAe4lV,EAAO,GACtCtva,EAAO0pF,EAAS,aAAe4lV,EAAO,GAG1C,OAAOtva,IA8BL,OACA,SAAU1M,EAAQC,EAASkB,GAEjC,aAWA,IAAI86a,EAAe96a,EAAoB,QAEnCuW,EAAMvW,EAAoB,QAC1Bw5Z,EAAUx5Z,EAAoB,QAUlC,SAASymQ,EAAQl4P,EAAIihC,GACjB,IASIzY,EAAIK,EACJl3B,EAAGsE,EAAGG,EAVNghB,EAAapX,EAAGymB,YAChB0+B,EAAK/tC,EAAWguC,MAChBnlD,EAAQghC,EAAIhhC,MACZwT,EAAQwtB,EAAIvuC,EACZ4J,EAAQ8a,EAAWwP,aAAa3mB,EAAMymB,KACtC4hW,EAAahsX,EAAM6qB,cACnBowI,EAAQ+wN,EAAW/wN,MACnBE,EAAOrgJ,EAAWsgJ,UAAU96J,OAAO,GAAG66J,KACtCvqG,EAAW91C,EAAW81C,SAI1B,GAAoB,IAAjBqqG,EAAM3mK,OAAT,CAIA03X,EAAW74E,MAAQxvS,EAAMymI,cACzB4hP,EAAWt7O,MAAQ/sI,EAAM2mI,cACzB0hP,EAAWxhP,SAAW7mI,EAAM6mI,SAAStjI,QAErC,IAAImzJ,EAAc12J,EAAM22J,aACpB41Q,EAAgBj1Q,EAAM3mK,OACtB63X,EAAWnsX,EAAMmsX,SAAW,GAIhC,IAHAA,EAASjnR,OAAS,IAAIlsG,MAAMk3a,GAC5B/jD,EAASgkD,QAAU,IAAIn3a,MAAMk3a,GAEzBp2a,EAAI,EAAGA,EAAIugK,EAAY/lK,OAAQwF,IAAK,CACpCzE,EAAIglK,EAAYvgK,GAEhB,IAAIkxC,EAAMmhV,EAASjnR,OAAOprG,GAAK,IAAId,MAAM,GACrCo3a,EAAMjkD,EAASgkD,QAAQr2a,GAAK,IAAId,MAAM,GAE1CkzB,EAAKyiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMinI,MAAMv1I,GAAG,IACvC62B,IACC8e,EAAI,GAAK9e,EAAG80B,IAAI,GAChBhW,EAAI,GAAK9e,EAAG80B,IAAI,GAChBovX,EAAI,GAAKlkZ,EAAG44B,OAAO,GACnBsrX,EAAI,GAAKlkZ,EAAG44B,OAAO,IAGvBv4B,EAAKoiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMinI,MAAMv1I,GAAG,IACvCk3B,IACCye,EAAI,GAAKze,EAAGy0B,IAAI,GAChBhW,EAAI,GAAKze,EAAGy0B,IAAI,GAChBovX,EAAI,GAAK7jZ,EAAGu4B,OAAO,GACnBsrX,EAAI,GAAK7jZ,EAAGu4B,OAAO,IAI3BqnU,EAAS1wV,SAAW,CAACotB,EAAGvzD,EAAGuzD,EAAGn0D,EAAGm0D,EAAGj2C,EAAIi2C,EAAGvzD,EAAGuzD,EAAG1C,EAAI0C,EAAGn0D,IAEpC,IAAjBsL,EAAMyqB,SACLzqB,EAAMyqB,OAASwlZ,EAAa90Q,IAGhC,IAAI+B,EAAqBpiJ,EAAWw3F,UAAUv4G,QAAQ,WAAa,EAC/DkjK,EAA0B,UAAbrsG,GAAqC,WAAbA,KACrCjtD,EAAM0pB,gBAAkB6vI,EACxBmzQ,GAAkB,EAEtB,GAAGpzQ,EAAY,CACX,IAAIqzQ,EAAe3sa,EAAM6I,QAGzB,GAAG7I,EAAM0pB,eAAgB,CACrBrtB,EAAM0qB,YAAc/mB,EAAM0pB,eAE1B,IAAI8vI,EAASx5J,EAAM0pB,eACfgwI,EAAU,GACd,IAAIhoK,EAAI,EAAGA,EAAI8nK,EAAO7oK,OAAQe,IAC1BgoK,EAAQF,EAAO9nK,KAAM,EAEzB,IAAIioK,EAAW,GACf,IAAIjoK,EAAI,EAAGA,EAAIi7a,EAAcj7a,IACrBgoK,EAAQhoK,IAAIioK,EAASnlK,KAAK9C,GAElC2K,EAAM2qB,cAAgB2yI,EAI1B,IAAIC,EAAMpmJ,EAAMomJ,IAAM,IAAIvkK,MAAMk3a,GAC5B1yQ,EAAMrmJ,EAAMqmJ,IAAM,IAAIxkK,MAAMk3a,GAEhC,IAAIp2a,EAAI,EAAGA,EAAIugK,EAAY/lK,OAAQwF,IAAK,CAIpC,GAHAzE,EAAIglK,EAAYvgK,GAEhBoyB,EAAKyiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMinI,MAAMv1I,GAAG,IACvC62B,EAEC,IADAqxI,EAAIzjK,GAAK,IAAId,MAAMs3a,GACf32a,EAAI,EAAGA,EAAI22a,EAAc32a,IACzB4jK,EAAIzjK,GAAGH,GAAKuyB,EAAGC,IAAI8uI,EAAMnhK,GAAGH,IAKpC,GADA4yB,EAAKoiY,EAAQ3rX,UAAUt/B,EAAIC,EAAMinI,MAAMv1I,GAAG,IACvCk3B,EAEC,IADAixI,EAAI1jK,GAAK,IAAId,MAAMs3a,GACf32a,EAAI,EAAGA,EAAI22a,EAAc32a,IACzB6jK,EAAI1jK,GAAGH,GAAK4yB,EAAGJ,IAAI8uI,EAAMnhK,GAAGH,IAKxC,GAAGqG,EAAM0qB,YAAYp2B,QAAU0L,EAAM2qB,cAAcr2B,OAAQ,CACvD,IAAImpK,EAAY/xJ,EAAIuM,WAAW,GAAI+zW,EAAYhsX,EAAMisX,kBAAmBE,GACpEokD,EAAU7ka,EAAIuM,WAAW,GAAI+zW,EAAYhsX,EAAMksX,gBAAiBC,GACpEnsX,EAAMyqB,OAAO/pB,OAAO+8J,EAAW8yQ,GAC/BF,GAAkB,QAGtBl5Z,EAAMomJ,IAAMpmJ,EAAMqmJ,IAAM,KAG5B,GAAG6yQ,EAAiB,CAChB,IAAI/tZ,EAAO5W,EAAIuM,WAAW,GAAI+zW,EAAYG,GAC1CnsX,EAAMyqB,OAAO/pB,OAAO4hB,EAAM,QA5HlCtuB,EAAOC,QAAU,SAAcyP,EAAI83D,EAAGg1W,GAClC,GAAIA,EAAcl8a,OAElB,IAAI,IAAIe,EAAI,EAAGA,EAAIm7a,EAAcl8a,OAAQe,IACrCumQ,EAAQl4P,EAAI8sa,EAAcn7a,GAAG,MA+H/B,OACA,SAAUrB,EAAQC,EAASkB,GAEjC,aAGA,IAAIqB,EAASZ,OAAOY,OAAQk+F,EAAiB9+F,OAAO8+F,eAAgB+7U,EAAc,GAElFz8a,EAAOC,QAAU,WAChB,IAAIymE,EAAiB9kE,OAAO8kE,eAAgBg2W,EAAe77a,UAAU,IAAM2B,EAC3E,MAA8B,oBAAnBkkE,GACJg6B,EAAeh6B,EAAeg2W,EAAa,MAAOD,MAAkBA,IAMtE,OACA,SAAUz8a,EAAQC,EAASkB,GAEjC,aAWA,IAAI6pY,EAAqB7pY,EAAoB,QAAQ6pY,mBACjDjyS,EAAe53F,EAAoB,QAAQ43F,aAE3C4jV,EAAYx7a,EAAoB,QAEhCy7a,EAAM,MACNn0Y,EAAUswD,EAAa6jV,GAEvB3wa,EAAa,GASjB,SAAS4wa,EAAQnta,GAKb,IAJA,IAAIoX,EAAapX,EAAGymB,YAChB6uC,EAAWt1D,EAAGisD,SACd+pC,EAAS5+E,EAAW4sB,UAAUkpY,GAE1Bv7a,EAAI,EAAGA,EAAIqkG,EAAOplG,OAAQe,IAAK,CACnC,IAAIy7a,EAAQp3U,EAAOrkG,GACf07a,EAAc/xC,EAAmBhmU,EAAU43W,EAAKE,GAChD9sV,EAAYlpE,EAAWg2Z,GACvBjlZ,EAAMm4D,EAAUhpE,SAEhB6Q,IACAA,EAAM8kZ,EAAU,CACZ5va,GAAI+va,EACJvhX,SAAU7rD,EACV4iB,UAAWxL,EAAWk2Z,UAAU30Z,OAChCovM,YAAa/nN,EAAG+Y,SAASgvM,YACzBh8J,WAAY/rD,EAAG+Y,SAASgzC,aAG5B30C,EAAWg2Z,GAAO91Z,SAAW6Q,GAGjCA,EAAIhkB,KAAKkpa,EAAaj2Z,EAAYpX,EAAGyZ,YAI7C,SAASyyC,EAAMC,EAAaC,EAAeC,EAAaC,GAGpD,IAFA,IAAIihX,EAAajhX,EAActoB,UAAUkpY,IAAQ,GAEzCv7a,EAAI,EAAGA,EAAI47a,EAAW38a,OAAQe,IAAK,CACvC,IAAI67a,EAAYD,EAAW57a,GACvB87a,EAASnhX,EAAckhX,GAAWl2Z,UAElC80C,EAAcohX,IAAgBC,IAC9BA,EAAOj5R,UAAUtyI,SACjBura,EAAO99J,QAAQztQ,WAK3B,SAAS+qD,EAASjtD,GAId,IAHA,IAAIoX,EAAapX,EAAGymB,YAChBglC,EAAar0C,EAAW4sB,UAAUkpY,GAE9Bv7a,EAAI,EAAGA,EAAI85D,EAAW76D,OAAQe,IAAK,CACvC,IAAI+7a,EAAgBt2Z,EAAWq0C,EAAW95D,IACtC6pD,EAAakyX,EAAcp2Z,SAC/BkkC,EAAWyR,SAAS71C,EAAYs2Z,IAxDxCnxa,EAAW2wa,GAAO,CACdv4Z,QAAS,YAETC,KAAMs4Z,EACNl4Z,SAAU,QAwDd1kB,EAAOC,QAAU,CACb2oB,KAAMg0Z,EACNn7a,KAAMm7a,EACNjiX,OAAQiiX,EACRhiX,QAASnyB,EACToyB,UAAWpyB,EACXx8B,WAAYA,EACZs8B,iBAAkBpnC,EAAoB,QACtCm3D,qBAAsBn3D,EAAoB,QAC1C0S,KAAMgpa,EACNlgX,SAAUA,EACVf,MAAOA,IAML,OACA,SAAU57D,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1B0iB,EAAQ1iB,EAAoB,QAC5Bm5B,EAAWn5B,EAAoB,QAE/Bo0F,EAAwBp0F,EAAoB,QAC5Ck8a,EAA+Bl8a,EAAoB,QACnDonC,EAAmBpnC,EAAoB,QACvCu5D,EAAiBv5D,EAAoB,QAAQu5D,eAE7Cm+B,EAAO,OA2BX,SAASykV,EAAmBC,EAAeC,EAAgB3pY,EAAQvlB,GAkB/D,IALA,IAAIw+E,EAAUj5D,EAAO,WACjB4pY,EAAkB55Z,EAAMoyE,QAAQ6W,EAASx+E,EAAK4nE,eAE9CwnV,EAAa,CAAC,KAAM,SAAU,OAE1B/3a,EAAI,EAAGA,EAAI+3a,EAAWp9a,OAAQqF,IAClCkuC,EAAO,UAAY6pY,EAAW/3a,GAAK,MACnCkuC,EAAO,UAAY6pY,EAAW/3a,GAAK,MACnCkuC,EAAO,UAAY6pY,EAAW/3a,GAAK,MAGvCkuC,EAAO,0BAMP,IAAI8pY,IAAc9pY,EAAO,oBACPA,EAAO,oBACPA,EAAO,iBAErB+pY,EAAoBD,EAAY,SAAW,OAC3CE,EAAahqY,EAAO,aAAc+pY,GASlCD,IACAJ,EAAc15Y,YAAc25Y,EAAe35Y,YAAc,CAACt0B,EAAG,EAAG2F,EAAG,EAAGlF,EAAG,GAEvD,WAAf6ta,IAAyBL,EAAeM,WAAa,QAMxDP,EAAcO,WAAaN,EAAeM,YAG9C,IAAIC,EAAerjX,EAAepsC,EAAK9G,SAAUqxE,EAAMvqE,EAAKvhB,IAE5Dswa,EAA6BE,EAAeC,EAAgB,CACxDr7Z,KAAMmM,EAAKnM,KACXnW,MAAOsiB,EAAKvhB,GACZT,KAAMyxa,EACN/nV,QAASynV,EACTnja,SAAUgU,EAAKhU,SACfwM,WAAYwH,EAAKxH,aAGrBwT,EAASsa,mBAAmB,gBAAiB,iBAA7Cta,CACIijZ,EAAeC,EAAgBlvZ,GAGnC,IAAIsuC,EAAWtuC,EAAK0vZ,kBAAkB,YAEtC,IAAgB,IAAbphX,IACKA,EAGA,GAFAA,EAAW,QAER2gX,EAAcrwa,QACbqwa,EAAcrwa,OAAOs0B,GAAI,CACzB,IAAIjyB,EAAIgua,EAAcrwa,OAAOs0B,GAAGjyB,EAC5B2F,EAAIqoa,EAAcrwa,OAAOs0B,GAAGtsB,EAC5BlF,EAAIuta,EAAcrwa,OAAOs0B,GAAGxxB,EAEvB,IAANA,IACKT,GAAM2F,GAAMlF,EAENA,EAAIlJ,KAAKuD,KAAKkF,EAAIA,EAAI2F,EAAIA,EAAIlF,EAAIA,GAAK,OAC7C4sD,EAAW,aAFXA,EAAW,kBAMnBA,EAAW,YAKvB/oB,EAAO,WAAY+oB,GACnB/oB,EAAO,YAAavlB,EAAK0vZ,kBAAkB,cA1H/Ch+a,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAW1wC,GAChE,IAAIy2Z,EAAW/lX,EAAU06G,iBAAiBtyK,OAAS,EAInD,SAAS09a,EAAkBp1Z,GACvB,IAAGq1Z,EAAH,CAEA,IAAIlja,EAAUrD,EAAI22M,SAASp2J,EAASrvC,GAAO2f,EAAiB3f,IAC5D,OAAG7N,EAAgBk9C,EAASrvC,QAA5B,GAGJ2sE,EAAsBt9B,EAAUC,EAAW1wC,EAAU,CACjDnT,KAAMwkF,EACN5sF,WAAYs8B,EACZC,eAAgB80Y,EAChBx2Z,WAAYoxC,EACZ/1C,KAAM+1C,EAAU/1C,KAChBqF,SAAUA,EACVw2Z,kBAAmBA,EACnB9nV,cAAeh+B,EAAUg+B,cACzB57E,SAAU49C,EAAU59C,aA2GtB,OACA,SAAUta,EAAQC,EAASkB,GAEjC,aAGA,IAAI+lF,EAAQ/lF,EAAoB,QAIhC,SAAS+8a,EAAGj7a,EAAGkmC,GACb,OAAOH,OAAO/lC,EAAGkmC,GAGnBlpC,EAAQgzZ,cAAgB/rU,GAAM,WAE5B,IAAIh5D,EAAKgwZ,EAAG,IAAK,KAEjB,OADAhwZ,EAAGu2J,UAAY,EACW,MAAnBv2J,EAAG6/E,KAAK,WAGjB9tG,EAAQizZ,aAAehsU,GAAM,WAE3B,IAAIh5D,EAAKgwZ,EAAG,KAAM,MAElB,OADAhwZ,EAAGu2J,UAAY,EACU,MAAlBv2J,EAAG6/E,KAAK,WAMX,OACA,SAAU/tG,EAAQC,EAASkB,GAEjC,aAGA,IAAI8I,EAAe9I,EAAoB,QACnCuI,EAAevI,EAAoB,QAEnC42N,EAAU52N,EAAoB,QAIlC,SAASg9a,EAAUtqa,EAAMuqa,EAAWC,GAClC16a,KAAKkQ,KAAOA,EACZlQ,KAAKy6a,UAAYA,EACjBz6a,KAAK06a,UAAYA,EAEjB16a,KAAK0hC,SAAU,EAEf1hC,KAAK26a,UAAY,CAAChza,IAASA,KAAUA,KAAUA,KAE/C3H,KAAK60G,YAAc,CAAC,EAAE,EAAE,EAAE,GAC1B70G,KAAK4jP,WAAc,EACnB5jP,KAAK46a,WAAc,CAAC,EAAE,EAAE,EAAE,KAC1B56a,KAAKgkP,WAAc,EACnBhkP,KAAK66a,WAAc,CAAC,EAAE,EAAE,EAAE,IAC1B76a,KAAK+0G,YAAc,GAhBrB14G,EAAOC,QAAUw+a,EAmBjB,IAAIx5a,EAAQk5a,EAAUr7a,UAqFtB,SAAS27a,EAAgB5qa,EAAM9H,GAC7B,IAAIhB,EAAK8I,EAAK9I,GACVG,EAASxB,EAAaqB,EAAI,CAC5B,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,IACDC,EAASf,EAAac,EAAIgtN,EAAQ2mN,UAAW3mN,EAAQ4mN,aACrDL,EAAY,IAAIH,EAAUtqa,EAAM3I,EAAQF,GAG5C,OAFAsza,EAAU5xa,OAAOX,GACjB8H,EAAKuzQ,WAAWk3J,GACTA,EA9FTr5a,EAAMgI,KAAO,WACX,GAAItJ,KAAK0hC,QAAT,CAIA,IAAIxxB,EAAelQ,KAAKkQ,KACpByqa,EAAe36a,KAAK26a,UACpB7ya,EAAe9H,KAAK+0G,YAGpB6lU,GADe56a,KAAK4jP,UACL5jP,KAAK46a,YAEpBC,GADe76a,KAAKgkP,UACLhkP,KAAK66a,YACpBhmU,EAAe70G,KAAK60G,YAEpBlK,EAAez6F,EAAKyrJ,IACpBmD,EAAe5uJ,EAAK4uJ,UACpBg2D,EAAe5kN,EAAK4kN,QACpB/7L,EAAe7oB,EAAK6oB,QACpB5wB,EAAe+H,EAAK/H,WAGpB28Q,GAAO61J,EAAU,GAAG7lN,EAAQ,KAAK/7L,EAAQ,GAAGA,EAAQ,KAAK+7L,EAAQ,GAAGA,EAAQ,IAAI/7L,EAAQ,GACxFgsP,GAAO41J,EAAU,GAAG7lN,EAAQ,KAAK/7L,EAAQ,GAAGA,EAAQ,KAAK+7L,EAAQ,GAAGA,EAAQ,IAAI/7L,EAAQ,GACxFisP,GAAO21J,EAAU,GAAG7lN,EAAQ,KAAK/7L,EAAQ,GAAGA,EAAQ,KAAK+7L,EAAQ,GAAGA,EAAQ,IAAI/7L,EAAQ,GACxFksP,GAAO01J,EAAU,GAAG7lN,EAAQ,KAAK/7L,EAAQ,GAAGA,EAAQ,KAAK+7L,EAAQ,GAAGA,EAAQ,IAAI/7L,EAAQ,GAO5F,GALA+rP,EAAM3hR,KAAKqC,IAAIs/Q,EAAK/rP,EAAQ,IAC5BgsP,EAAM5hR,KAAKqC,IAAIu/Q,EAAKhsP,EAAQ,IAC5BisP,EAAM7hR,KAAKoC,IAAIy/Q,EAAKjsP,EAAQ,IAC5BksP,EAAM9hR,KAAKoC,IAAI0/Q,EAAKlsP,EAAQ,MAEzBisP,EAAMF,GAAOG,EAAMF,GAAtB,CAIAp6K,EAAM5rG,OAGN,IAAIk8a,EAAen8Q,EAAU,GAAKA,EAAU,GACxCo8Q,EAAep8Q,EAAU,GAAKA,EAAU,GAc5C,GAZG9+J,KAAKgkP,YACNr5I,EAAMk6K,QAAQ,EAAG,EAAGo2J,EAAal2J,EAAK81J,GACtClwU,EAAMk6K,QAAQ,EAAGE,EAAKD,EAAKG,EAAK41J,GAChClwU,EAAMk6K,QAAQ,EAAGI,EAAKg2J,EAAaC,EAAcL,GACjDlwU,EAAMk6K,QAAQG,EAAKD,EAAKk2J,EAAah2J,EAAK41J,IAGzC76a,KAAK4jP,WACNj5I,EAAMk6K,QAAQC,EAAKC,EAAKC,EAAKC,EAAK21J,GAIjC9ya,EAAY,EAAG,CAGhB,IAAImT,EAAInT,EAAYK,EACpBwiG,EAAMk6K,QAAQC,EAAI7pQ,EAAG8pQ,EAAI9pQ,EAAG+pQ,EAAI/pQ,EAAG8pQ,EAAI9pQ,EAAG45F,GAC1ClK,EAAMk6K,QAAQC,EAAI7pQ,EAAGgqQ,EAAIhqQ,EAAG+pQ,EAAI/pQ,EAAGgqQ,EAAIhqQ,EAAG45F,GAC1ClK,EAAMk6K,QAAQC,EAAI7pQ,EAAG8pQ,EAAI9pQ,EAAG6pQ,EAAI7pQ,EAAGgqQ,EAAIhqQ,EAAG45F,GAC1ClK,EAAMk6K,QAAQG,EAAI/pQ,EAAG8pQ,EAAI9pQ,EAAG+pQ,EAAI/pQ,EAAGgqQ,EAAIhqQ,EAAG45F,OAI9CvzG,EAAMyH,OAAS,SAASX,GACtBA,EAAUA,GAAW,GAErBpI,KAAK4jP,YAAiBx7O,EAAQw7O,UAC9B5jP,KAAKgkP,YAAiB57O,EAAQ47O,UAC9BhkP,KAAK46a,YAAgBxya,EAAQwya,YAAgB,CAAC,EAAE,EAAE,EAAE,KAAMj5a,QAC1D3B,KAAK66a,YAAgBzya,EAAQyya,YAAgB,CAAC,EAAE,EAAE,EAAE,KAAMl5a,QAC1D3B,KAAK60G,aAAgBzsG,EAAQysG,aAAe,CAAC,EAAE,EAAE,EAAE,IAAIlzG,QACvD3B,KAAK+0G,YAAe3sG,EAAQ2sG,aAAe,EAC3C/0G,KAAK26a,WAAgBvya,EAAQuya,WAAa36a,KAAK26a,WAAWh5a,SAG5DL,EAAMkK,QAAU,WACdxL,KAAKy6a,UAAUjva,UACfxL,KAAK06a,UAAUlva,UACfxL,KAAKkQ,KAAKwzQ,cAAc1jR,QAoBpB,KACA,SAAU3D,EAAQC,EAASkB,GAEjC,aAYA,IAAI+O,EAAY/O,EAAoB,QAChC2yE,EAAsB3yE,EAAoB,QAAQ2yE,oBAetD7zE,EAAQi5C,QAAU,SAAS/P,EAAGtjC,EAAGpF,EAAG8tB,GAChC,IAAIltB,EACAX,EAGJ,KAFI6tB,GAAOA,EAAM9tB,EAAEH,UAAQiuB,EAAM9tB,EAAEH,QAC/B4P,EAAUrK,KAAIA,GAAI,GACnBiuE,EAAoBrzE,EAAE,IAAK,CAE1B,IADAC,EAAI,IAAIsE,MAAMupB,GACVltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAKX,EAAEW,GAAKpB,EAAQi5C,QAAQ/P,EAAGtjC,EAAGpF,EAAEY,IACxDZ,EAAIC,EAGR,IAAIW,EAAI,EAAGA,EAAIktB,EAAKltB,IACZ6O,EAAUrK,GACNqK,EAAUzP,EAAEY,MAAKwE,EAAIsjC,GAAGtjC,GAAIpF,EAAEY,KADpBwE,EAAIpF,EAAEY,GAG5B,OAAOwE,GAOX5F,EAAQsuB,IAAM,SAASjiB,GACnB,OAAOrM,EAAQi5C,SAAQ,SAASz4C,GAAK,OAAOA,EAAI,IAAM,EAAG6L,IAG7DrM,EAAQisI,KAAO,SAAS5/H,EAAMiiB,GAE1B,OADIA,IAAKA,EAAMtuB,EAAQsuB,IAAIjiB,IACpBrM,EAAQi5C,SAAQ,SAASz4C,EAAGC,GAAK,OAAOD,EAAIC,IAAM,EAAG4L,GAAQiiB,GAGxEtuB,EAAQ6hJ,SAAW,SAASg9R,GACxB,QAAcv+a,IAAXu+a,GAA0C,IAAlBA,EAAOx+a,OAClC,OAAQL,EAAQi5C,QAAQpyC,KAAKqC,IAAK,KAAM21a,GAAU7+a,EAAQi5C,QAAQpyC,KAAKoC,IAAK,KAAM41a,IAAW,GAGjG7+a,EAAQmoT,SAAW,SAAS97S,EAAMiiB,EAAK29G,GAInC,OAHI39G,IAAKA,EAAMtuB,EAAQsuB,IAAIjiB,IACvB4D,EAAUg8H,KAAOA,EAAOjsI,EAAQisI,KAAK5/H,EAAMiiB,IAExCtuB,EAAQi5C,SAAQ,SAASz4C,EAAGC,GAC/B,OAAOD,EAAIqG,KAAKw5B,IAAI5/B,EAAIwrI,EAAM,KAC/B,EAAG5/H,GAAQiiB,GAGlBtuB,EAAQ65C,MAAQ,SAASxtC,EAAMiiB,EAAK29G,GAChC,OAAOplI,KAAKuD,KAAKpK,EAAQmoT,SAAS97S,EAAMiiB,EAAK29G,KAOjDjsI,EAAQsrI,OAAS,SAASj/H,GACtB,IAAI5L,EAAI4L,EAAKhH,QAAQyC,OACrB,OAAO9H,EAAQ6iD,OAAOpiD,EAAG,KAkB7BT,EAAQ6iD,OAAS,SAAS0xB,EAAK7xE,GAC3B,IAAIuN,EAAUvN,GAAI,KAAM,8BAExB,GADAA,EAAIA,EAAI6xE,EAAIl0E,OAAS,GAClBqC,EAAI,EAAG,OAAO6xE,EAAI,GACrB,GAAG7xE,EAAI6xE,EAAIl0E,OAAS,EAAG,OAAOk0E,EAAIA,EAAIl0E,OAAS,GAC/C,IAAIw+C,EAAOn8C,EAAI,EACf,OAAOm8C,EAAO01B,EAAI1tE,KAAKy5B,KAAK59B,KAAO,EAAIm8C,GAAQ01B,EAAI1tE,KAAK2N,MAAM9R,MAM5D,KACA,SAAU3C,EAAQC,EAASkB,GAEjC,aAMA,SAAS49a,EAAat+a,EAAGC,GACvB,IAAI6O,EAAI9O,EAAIC,EACRopF,EAAKv6E,EAAI9O,EACToiU,EAAKtzT,EAAIu6E,EACTswP,EAAK15U,EAAIopF,EACTg/F,EAAKroL,EAAIoiU,EACT3tT,EAAI4zK,EAAKsxJ,EACb,OAAGllU,EACM,CAACA,EAAG3F,GAEN,CAACA,GAGV,SAASyva,EAAmBtga,EAAGyqB,GAC7B,IAAIglJ,EAAc,EAATzvK,EAAEpe,OACPu1J,EAAc,EAAT1sH,EAAE7oC,OACX,GAAU,IAAP6tL,GAAmB,IAAPt4B,EACb,OAAOkpR,EAAarga,EAAE,GAAIyqB,EAAE,IAE9B,IAUI1oC,EAAGC,EAVHiC,EAAIwrL,EAAKt4B,EACTvrI,EAAI,IAAItlB,MAAMrC,GACdgpE,EAAQ,EACRszW,EAAO,EACPC,EAAO,EACPrma,EAAM/R,KAAK+R,IACXsma,EAAKzga,EAAEuga,GACP1/D,EAAK1mW,EAAIsma,GACTC,EAAKj2Y,EAAE+1Y,GACP/iE,EAAKtjW,EAAIuma,GAEV7/D,EAAKpD,GACNz7W,EAAIy+a,EACJF,GAAQ,EACLA,EAAO9wP,IACRgxP,EAAKzga,EAAEuga,GACP1/D,EAAK1mW,EAAIsma,MAGXz+a,EAAI0+a,EACJF,GAAQ,EACLA,EAAOrpR,IACRupR,EAAKj2Y,EAAE+1Y,GACP/iE,EAAKtjW,EAAIuma,KAGTH,EAAO9wP,GAAMoxL,EAAKpD,GAAQ+iE,GAAQrpR,GACpCp1J,EAAI0+a,EACJF,GAAQ,EACLA,EAAO9wP,IACRgxP,EAAKzga,EAAEuga,GACP1/D,EAAK1mW,EAAIsma,MAGX1+a,EAAI2+a,EACJF,GAAQ,EACLA,EAAOrpR,IACRupR,EAAKj2Y,EAAE+1Y,GACP/iE,EAAKtjW,EAAIuma,KAGb,IAKI5vY,EAAI6vY,EAAKC,EAAKC,EAAKC,EALnBjwa,EAAI9O,EAAIC,EACRopF,EAAKv6E,EAAI9O,EACTyU,EAAIxU,EAAIopF,EACR21V,EAAKvqa,EACLo2H,EAAK/7H,EAET,MAAM0va,EAAO9wP,GAAM+wP,EAAOrpR,EACrB0pN,EAAKpD,GACN17W,EAAI0+a,EACJF,GAAQ,EACLA,EAAO9wP,IACRgxP,EAAKzga,EAAEuga,GACP1/D,EAAK1mW,EAAIsma,MAGX1+a,EAAI2+a,EACJF,GAAQ,EACLA,EAAOrpR,IACRupR,EAAKj2Y,EAAE+1Y,GACP/iE,EAAKtjW,EAAIuma,KAGb1+a,EAAI++a,EACJlwa,EAAI9O,EAAIC,EACRopF,EAAKv6E,EAAI9O,EACTyU,EAAIxU,EAAIopF,EACL50E,IACDoV,EAAEqhD,KAAWz2D,GAEfs6B,EAAK87F,EAAK/7H,EACV8va,EAAM7vY,EAAK87F,EACXg0S,EAAM9vY,EAAK6vY,EACXE,EAAMhwa,EAAI8va,EACVG,EAAMl0S,EAAKg0S,EACXG,EAAKD,EAAMD,EACXj0S,EAAK97F,EAEP,MAAMyvY,EAAO9wP,EACX1tL,EAAI0+a,EACJz+a,EAAI++a,EACJlwa,EAAI9O,EAAIC,EACRopF,EAAKv6E,EAAI9O,EACTyU,EAAIxU,EAAIopF,EACL50E,IACDoV,EAAEqhD,KAAWz2D,GAEfs6B,EAAK87F,EAAK/7H,EACV8va,EAAM7vY,EAAK87F,EACXg0S,EAAM9vY,EAAK6vY,EACXE,EAAMhwa,EAAI8va,EACVG,EAAMl0S,EAAKg0S,EACXG,EAAKD,EAAMD,EACXj0S,EAAK97F,EACLyvY,GAAQ,EACLA,EAAO9wP,IACRgxP,EAAKzga,EAAEuga,IAGX,MAAMC,EAAOrpR,EACXp1J,EAAI2+a,EACJ1+a,EAAI++a,EACJlwa,EAAI9O,EAAIC,EACRopF,EAAKv6E,EAAI9O,EACTyU,EAAIxU,EAAIopF,EACL50E,IACDoV,EAAEqhD,KAAWz2D,GAEfs6B,EAAK87F,EAAK/7H,EACV8va,EAAM7vY,EAAK87F,EACXg0S,EAAM9vY,EAAK6vY,EACXE,EAAMhwa,EAAI8va,EACVG,EAAMl0S,EAAKg0S,EACXG,EAAKD,EAAMD,EACXj0S,EAAK97F,EACL0vY,GAAQ,EACLA,EAAOrpR,IACRupR,EAAKj2Y,EAAE+1Y,IAaX,OAVGO,IACDn1Z,EAAEqhD,KAAW8zW,GAEZn0S,IACDhhH,EAAEqhD,KAAW2/D,GAEX3/D,IACFrhD,EAAEqhD,KAAW,GAEfrhD,EAAEhqB,OAASqrE,EACJrhD,EAxJTtqB,EAAOC,QAAU++a,GA6JX,KACA,SAAUh/a,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUy/a,EAEjB,IAkGIC,EAlGAn2Y,EAAOroC,EAAoB,QAC3B6zL,EAAQ7zL,EAAoB,QAC5BuzL,EAAmBvzL,EAAoB,QAE3C,SAASy+a,EAASp+a,EAAG89J,GACnB,IAAI,IAAI35J,EAAE,EAAGA,EAAEnE,IAAKmE,EAClB,KAAK25J,EAAI35J,IAAM25J,EAAI35J,EAAEnE,IACnB,OAAO,EAGX,OAAO,EAIT,SAASq+a,EAAavxU,EAAO9sG,EAAG8K,EAAM8nF,GAGpC,IAFA,IAAI9rF,EAAM,EACNqjE,EAAQ,EACJtqE,EAAE,EAAGsB,EAAE2rG,EAAMhuG,OAAQe,EAAEsB,IAAKtB,EAAG,CACrC,IAAIX,EAAI4tG,EAAMjtG,GACd,IAAGu+a,EAASp+a,EAAGd,GAAf,CAGA,IAAI,IAAIiF,EAAE,EAAGA,EAAE,EAAEnE,IAAKmE,EACpB2G,EAAKhE,KAAS5H,EAAEiF,GAElByuF,EAAIzoB,KAAWtqE,GAEjB,OAAOsqE,EAIT,SAASm0W,EAAahpP,EAAKG,EAAMruH,EAAOmsH,GACtC,IAAIpyL,EAAIm0L,EAAIx2L,OACRiB,EAAI01L,EAAK32L,OAGb,KAAGqC,GAAK,GAAKpB,GAAK,GAAlB,CAKA,IAAIC,EAAKs1L,EAAI,GAAS,SAAI,EAC1B,KAAGt1L,GAAK,GAAR,CAIA,IAAI+1L,EAGAwoP,EAAWv2Y,EAAKusJ,aAAa,EAAEv0L,EAAEmB,GACjCq9a,EAAWx2Y,EAAKqsJ,YAAYlzL,GAGhC,GAFAA,EAAIk9a,EAAa/oP,EAAKt1L,EAAGu+a,EAASC,GAE/Br9a,EAAI,EAAG,CACR,GAAS,IAANnB,GAAWuzL,EAEZC,EAAMzyC,KAAK5/I,GACX40L,EAASvC,EAAM2D,cACbn3L,EAAGonE,EACH,EAAGjmE,EAAGo9a,EAASC,EACf,EAAGr9a,EAAGo9a,EAASC,OACZ,CAGL,IAAIC,EAAWz2Y,EAAKusJ,aAAa,EAAEv0L,EAAED,GACjC2+a,EAAW12Y,EAAKqsJ,YAAYt0L,GAChCA,EAAIs+a,EAAa5oP,EAAMz1L,EAAGy+a,EAAUC,GAEjC3+a,EAAI,IACLyzL,EAAMzyC,KAAK5/I,EAAEpB,GAIXg2L,EAFO,IAAN/1L,EAEQwzL,EAAMsD,eACb92L,EAAGonE,EACH,EAAGjmE,EAAGo9a,EAAUC,EAChB,EAAGz+a,EAAG0+a,EAAUC,GAGTxrP,EACPlzL,EAAGonE,EAAUmsH,EACbpyL,EAAGo9a,EAAUC,EACbz+a,EAAG0+a,EAAUC,GAGjB12Y,EAAKg3F,KAAKy/S,GACVz2Y,EAAKg3F,KAAK0/S,IAId12Y,EAAKg3F,KAAKu/S,GACVv2Y,EAAKg3F,KAAKw/S,GAGZ,OAAOzoP,IAMT,SAAS4oP,EAAW9+a,EAAEsE,GACpBg6a,EAAOx7a,KAAK,CAAC9C,EAAEsE,IAGjB,SAASy6a,EAAmB7wa,GAG1B,OAFAowa,EAAS,GACTG,EAAavwa,EAAGA,EAAG4wa,GAAY,GACxBR,EAGT,SAASU,EAAwB9wa,EAAG2F,GAGlC,OAFAyqa,EAAS,GACTG,EAAavwa,EAAG2F,EAAGira,GAAY,GACxBR,EAIT,SAASD,EAAoBx8H,EAAMo9H,EAAMC,GAEvC,OAAO1/a,UAAUP,QACf,KAAK,EACH,OAAO8/a,EAAmBl9H,GAC5B,KAAK,EACH,MAAmB,oBAATo9H,EACDR,EAAa58H,EAAMA,EAAMo9H,GAAM,GAE/BD,EAAwBn9H,EAAMo9H,GAEzC,KAAK,EACH,OAAOR,EAAa58H,EAAMo9H,EAAMC,GAAM,GACxC,QACE,MAAM,IAAIn7a,MAAM,uCAMhB,KACA,SAAUpF,EAAQC,EAASkB,GAEjC,aAaAnB,EAAOC,QAAU,SAAmB+gB,EAAKC,EAAItR,EAAOuR,EAAIC,GACpDH,EAAIuvE,IAAMtvE,EAAGsvE,IACbvvE,EAAI0vE,IAAMzvE,EAAGyvE,IACb1vE,EAAI9U,SAAW+U,EAAGiW,IAAMjW,EAAGiW,IAAM,KAGjC,IAAI9V,EAAMF,EAAGC,GAKb,OAJGC,EAAIijD,KAAOjjD,EAAIijD,IAAIvB,aAClB9hD,EAAI8hD,WAAa1hD,EAAIijD,IAAIvB,YAGtB9hD,IAML,KACA,SAAUhhB,EAAQC,EAASkB,GAEjC,aAWA,IAAI2iB,EAAkB3iB,EAAoB,QACtC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjDy8Z,EAAYr/a,EAAoB,QAChC6iB,EAAY7iB,EAAoB,QAEhC8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAE9C,SAASu8Z,EAAcr8Z,GACnB,MAAO,CACHI,KAAM,CACFH,QAAS,UAETC,MAAM,GAGV2rE,UAAW,CACP5rE,QAAS,aACTC,KAAM,IAIV1R,KAAM,CACFyR,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,IAMlB,SAASo8Z,EAAYt8Z,GACjB,MAAO,CACHI,KAAM,CACFH,QAAS,UAETC,MAAM,GAGV1R,KAAM,CACFyR,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,IAMlB,IAAIa,EAAQnlB,EAAOC,QAAUikB,EAAYD,EAAW,CAChD1U,EAAG,CACC8U,QAAS,cAIbnP,EAAG,CACCmP,QAAS,cAIbrU,EAAG,CACCqU,QAAS,cAIbliB,MAAO,CACHkiB,QAAS,cAIb45C,OAAQ,CACJ55C,QAAS,UAIb65C,OAAQ,CACJ75C,QAAS,UAKbguO,QAAS,CACL7tO,KAAM,CACFH,QAAS,UAETC,MAAM,GAGVqnD,MAAO,CACHtnD,QAAS,UAETC,KAAM,EACNpb,IAAK,GAGT0J,KAAM,CACFyR,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,GAGV40O,QAAS,CACL70O,QAAS,WACT8S,MAAO,CAAC,IAAK,IAAK,IAAK,IAAK,KAC5B8zD,OAAQ,CAAC,MAAO,MAAO,QACvB3mE,KAAM,QAMdguO,WAAY,CACR9tO,KAAM,CACFH,QAAS,UAETC,MAAM,GAGV1R,KAAM,CACFyR,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,MAKduuH,OAAQ,CACJtjI,EAAGkxa,EAAc,KACjBvra,EAAGura,EAAc,KACjBzwa,EAAGywa,EAAc,MAGrBluL,KAAM,CACFhjP,EAAGmxa,EAAY,KACfxra,EAAGwra,EAAY,KACf1wa,EAAG0wa,EAAY,MAGnBtwa,KAAM,CACFiU,QAAS,SAETC,KAAM,GACNc,SAAS,GAGbC,UAAW,CACPhB,QAAS,SAETC,KAAM,GACNc,SAAS,GAGbE,cAAevB,IACf2C,WAAYzC,EAAW,GAAID,EAAU0C,WAAY,CAACpC,MAAM,KAG5DR,EAAgB,GAAI,CAChB0B,UAAW,UACXC,eAAe,EACfE,iBAAkB,SAClB,CACAha,QAAS60a,EAAU70a,QACnBma,cAAe06Z,EAAU16Z,cACzBC,SAAUy6Z,EAAUz6Z,SACpB0sO,YAAa+tL,EAAU/tL,YACvBC,QAAS8tL,EAAU9tL,QAEnBjsO,UAAWxC,EAAW,GAAID,EAAUyC,aACpC,OAAQ,UAGZtB,EAAMstO,YAAYnuO,MAAO,EAAMa,EAAMY,SAASgvO,mBAAmBzwO,KAAO,EAExEa,EAAM5V,EAAEmV,SAAWS,EAAMjQ,EAAEwP,SAAWS,EAAMnV,EAAE0U,SAAWS,EAAMhjB,MAAMuiB,SAAW,sBAChFS,EAAMwB,gBAAapmB,GAKb,KACA,SAAUP,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChConC,iBAAkBpnC,EAAoB,QACtCwS,eAAgBxS,EAAoB,QAAQwS,eAC5C0kG,mBAAoBl3G,EAAoB,QAAQk3G,mBAChD//C,qBAAsBn3D,EAAoB,QAC1CyS,KAAMzS,EAAoB,QAC1BqgE,eAAgBrgE,EAAoB,QACpC0S,KAAM1S,EAAoB,QAC1B2P,MAAO3P,EAAoB,QAAQ2P,MACnCgD,YAAa3S,EAAoB,QACjC21B,UAAW31B,EAAoB,QAE/B4S,aAAc5S,EAAoB,QAElCoS,WAAY,QACZ9R,KAAM,SACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,WAAY,YAAa,MAAO,WAAY,aAAc,aACvEC,KAAM,KAQJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAE9ByS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAE1BoS,WAAY,QACZ9R,KAAM,YACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,KAAM,OAAQ,SAC3BC,KAAM,KAQJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAgBAnB,EAAOC,QAAU,SAAyByP,GACnCA,EAAGixa,0BACFpsZ,OAAO0R,oBAAoB,SAAUv2B,EAAGixa,gCACjCjxa,EAAGixa,2BAOZ,KACA,SAAU3gb,EAAQC,EAASkB,GAEjC,aAWA,IAAI8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCD,EAAY7iB,EAAoB,QAChCitF,EAAYjtF,EAAoB,QAChC2iB,EAAkB3iB,EAAoB,QACtC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjDi2G,EAAc74H,EAAoB,QAAQ8K,WAE1CitB,EAAOjV,EACP,CAACS,SAAU,QACXZ,EAAgB,OAAQ,CAAC6B,iBAAkB,SAC3C,CACI4c,MAAO,CACHle,QAAS,aACT2V,OAAQ,CAAC,SAAU,WACnB1V,KAAM,SAENI,SAAU,QAIdY,cAAevB,EAAmB,CAC9BW,SAAU,OACVU,SAAS,GACV,CACCsjC,KAAM,CAAC,QAAS,mBAM5B1oD,EAAOC,QAAU,CACb6wD,OAAQkpE,EAAY,CAACv4H,KAAM,UAAWkO,OAAO,EAAM+U,SAAU,SAE7D+B,UAAWxC,EAAW,GAAID,EAAUyC,UAAW,CAC3C0Q,MAAO,CAAC,QAAS,eACjBzS,SAAU,OACVU,SAAS,IAEbioE,QAAS,CACLhpE,QAAS,aACT2V,OAAQ,CAAC,WAAY,QAAS,aAC9B1V,KAAM,WAENI,SAAU,QAGdY,cAAevB,EAAmB,CAC9BW,SAAU,OACVU,SAAS,GACV,CACCsjC,KAAM,CACF,QAAS,cAAe,WACxB,gBAAiB,aAAc,oBAKvCyyU,YAAa,CACT92W,QAAS,aACT2V,OAAQ,CAAC,gBAAiB,WAAY,SACtC1V,KAAM,gBAENI,SAAU,QAGdk8Z,aAAc,CACVv8Z,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdm8Z,UAAW,CACPx8Z,QAAS,aACT2V,OAAQ,CAAC,UAAW,YACpB1V,KAAM,UAENI,SAAU,QAGdinK,UAAWv9F,EAAU,CACjB1pE,SAAU,SAId41B,SAAU8zC,EAAU,CAChB1pE,SAAU,SAIdsxH,WAAY,CACRy7B,iBAAkB,YAClBvvE,MAAO,CACH79E,QAAS,SAETK,SAAU,QAGdm3R,cAAe,CACXx3R,QAAS,aACT2V,OAAQ,CACJ,QAAS,qBAAsB,sBAAuB,SAE1D1V,KAAM,QAENI,SAAU,QAGdo3R,cAAe,CACXz3R,QAAS,aAETK,SAAU,QAGdoyB,SAAU,CACNzyB,QAAS,aAETK,SAAU,QAGdsV,OAAQ,CACJ3V,QAAS,aAETC,KAAM,GACNI,SAAU,QAGdy2R,aAAc,CACV92R,QAAS,UAETK,SAAU,QAGdA,SAAU,OAEVxR,QAAS,CACLmR,QAAS,UACTC,MAAM,EAENI,SAAU,SAKlBwU,KAAMA,EACNkgD,OAAQ,CACJ/0D,QAAS,SACTnb,IAAK,EACLob,KAAM,EACNc,SAAS,EAETV,SAAU,QAKdqpE,gBAAYxtF,EACZ26D,gBAAY36D,EACZ6zF,SAAK7zF,EACL+rS,iBAAa/rS,EACboL,aAASpL,EACT84B,oBAAgB94B,EAChBmmB,gBAAYnmB,IAMV,KACA,SAAUP,EAAQC,EAASkB,GAEjC,aAWA,IAAI+O,EAAY/O,EAAoB,QAEhC2/a,EAAU3/a,EAAoB,QAC9BuW,EAAMvW,EAAoB,QAE1Bi2H,EAAUj2H,EAAoB,QAC9Bk7D,EAAQl7D,EAAoB,QAC5BupP,EAAWvpP,EAAoB,QAE/BgkB,EAAQ,CACRqhF,OAAQ,CACJniF,QAAS,aACT2V,OAAQ,CAAC,MAAO,OAAQ,OAAQ,OAChC1V,KAAM,OAGVjC,MAAO,CACHgC,QAAS,SACTnb,IAAK,GAGTihB,OAAQ,CACJ9F,QAAS,SACTnb,IAAK,GAGTk9D,MAAO,CACH/hD,QAAS,SACTnb,IAAK,EACLob,KAAM,GAGVkzM,cAAe,CACXnzM,QAAS,MACTC,MAAM,GAGVy8Z,cAAe,CACX18Z,QAAS,UACTC,MAAM,IAcd,SAASi4C,EAAQ7sD,EAAI4e,GAGjB,IAAIhiB,EACAk8C,EACAj/B,EACAzC,EAeJ,SAASk6Z,EAAiBp4Z,GACtB,QAASA,KAAQ0F,IAAS5W,EAAI22M,SAAS//L,EAAK1F,GAAOzD,EAAMyD,IAG7D,GAxBA0F,EAAOA,GAAQ,GAOZ5W,EAAIuqD,cAAcvyD,IACjBpD,EAAOoD,EAAGpD,MAAQ,GAClBk8C,EAAS94C,EAAG84C,QAAU,GACtBj/B,EAAS7Z,EAAG6Z,QAAU,GACtBzC,EAAa,KAEbpX,EAAKgI,EAAIg7G,YAAYhjH,GACrBpD,EAAOoL,EAAIoiH,WAAW,GAAIpqH,EAAGpD,MAC7Bk8C,EAAS9wC,EAAIoiH,WAAW,GAAIpqH,EAAG84C,QAC/Bj/B,EAAS7Z,EAAG+Y,SACZ3B,EAAapX,EAAGymB,aAAe,KAO9B6qZ,EAAiB,UAA2B,OAAf1yZ,EAAKjM,QACjC2+Z,EAAiB,WAA6B,OAAhB1yZ,EAAKnE,OACrC,MAAM,IAAI/kB,MAAM,4CAGpB,IAAI47a,EAAiB,UACjB,MAAM,IAAI57a,MAAM,+CAGpB,IAAI67a,EAAW,GAEf,SAASptY,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOvlB,EAAM2yZ,EAAU97Z,EAAOyD,EAAMtE,GAGnD,IAAIkiF,EAAS3yD,EAAO,UAChBxxB,EAAQwxB,EAAO,SACf1pB,EAAS0pB,EAAO,UAChBuyB,EAAQvyB,EAAO,SACf2jL,EAAgB3jL,EAAO,iBACvBktY,EAAgBltY,EAAO,iBAGvBqtY,EAAW3/Z,SAASC,cAAc,OACtC0/Z,EAASpwa,MAAMnG,SAAW,WAC1Bu2a,EAASpwa,MAAMiE,KAAO,UACtBwM,SAASmf,KAAK3W,YAAYm3Z,GAG1B,IAAIC,EAAczpa,EAAIuM,WAAW,GAAIukC,GAClCnmC,EACC8+Z,EAAY9+Z,MAAQA,EACC,OAAfiM,EAAKjM,OAAkBnS,EAAU4W,EAAWzE,SAClD8+Z,EAAY9+Z,MAAQyE,EAAWzE,OAEhC8H,EACCg3Z,EAAYh3Z,OAASA,EACC,OAAhBmE,EAAKnE,QAAmBja,EAAU4W,EAAWqD,UACnDg3Z,EAAYh3Z,OAASrD,EAAWqD,QAIpC,IAAIi3Z,EAAc1pa,EAAIuM,WAAW,GAAIsF,EAAQ,CACzCg8W,eAAe,EACf9pU,YAAY,EACZ+7J,cAAeA,IAGf6pN,EAAajqT,EAAQopG,cAAc0gN,GAEvC,SAAS17W,IACL,OAAO,IAAIp8C,SAAQ,SAASC,GACxBgkD,WAAWhkD,EAAS+tG,EAAQmpG,SAAS2gN,EAAS/qZ,iBAItD,SAASm0B,IACL,OAAO,IAAIlhC,SAAQ,SAASC,EAAS+7C,GACjC,IAAI30C,EAAM4rC,EAAM6kX,EAAU16U,EAAQpgC,GAC9B/jD,EAAQ6+Z,EAAS/qZ,YAAY9T,MAC7B8H,EAAS+2Z,EAAS/qZ,YAAYhM,OAKlC,GAHA22Z,EAAQ5uM,MAAMgvM,GACd3/Z,SAASmf,KAAKuyF,YAAYiuT,GAEZ,QAAX16U,EACC,OACWn9E,EADR03Z,EACgBtwZ,EAEA2mG,EAAQupG,UAAUlwM,IAIzC,IAAInP,EAASC,SAASC,cAAc,UACpCF,EAAOvU,GAAK2K,EAAI8U,UAEhBk+N,EAAS,CACLlkJ,OAAQA,EACRnkF,MAAOA,EACP8H,OAAQA,EACRi8C,MAAOA,EACP9kD,OAAQA,EACRmP,IAAKA,EAKLmsE,SAAS,IAEZt+D,KAAKjV,GACLy9E,MAAM1hC,MAIf,SAASk8W,EAAen8W,GACpB,OAAG47W,EACQ57W,EAAI3rD,QAAQ49G,EAAQqqG,iBAAkB,IAEtCt8J,EAIf,OAAO,IAAI/7C,SAAQ,SAASC,EAAS+7C,GACjC07W,EAAQjta,KAAKqta,EAAU50a,EAAM60a,EAAaC,GACrC9iZ,KAAK+iZ,GACL/iZ,KAAKknC,GACLlnC,KAAKgsB,GACLhsB,MAAK,SAAS6mC,GAAO97C,EAAQi4Z,EAAen8W,OAC5C2hC,OAAM,SAASxhC,GAAOF,EAAOE,SAI1CtlE,EAAOC,QAAUs8D,GAKX,KACA,SAAUv8D,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU,WAChB,IAAI+lE,EAAOl/D,KAAKk/D,KAChB,MAAoB,oBAATA,IACS,IAAbA,EAAK,MAA4B,IAAfA,GAAM,OAM1B,KACA,SAAUhmE,EAAQC,EAASkB,GAEjC,aAGA,IAAIsnI,EAAYtnI,EAAoB,QAIpC,SAASqT,EAAWggE,EAAKrW,EAAK5zD,GAC7B,IAAKiqE,GAAqB,MAAdA,EAAIl0E,OAAgB,MAAM8E,MAAM,+BAEjC,MAAP+4D,IAAaA,EAAM,GACT,MAAV5zD,IAAgBA,EAASk+H,EAAUj0D,EAAKrW,IAE5C,IAAK,IAAInhD,EAAS,EAAGA,EAASmhD,EAAKnhD,IAAU,CAC5C,IAAI7T,EAAMoB,EAAO4zD,EAAMnhD,GAAS9T,EAAMqB,EAAOyS,GAAS3b,EAAI2b,EAAQ1b,EAAIkzE,EAAIl0E,OAE1E,GAAI6I,IAAQmC,KAAYpC,KAASoC,IAChC,IAAKjK,EAAI2b,EAAQ3b,EAAIC,EAAGD,GAAG88D,EAC1BqW,EAAInzE,GAAKmzE,EAAInzE,KAAO8H,EAAM,EAAIqrE,EAAInzE,KAAO6H,EAAM,EAAI,QAGhD,GAAIC,IAAQmC,IAChB,IAAKjK,EAAI2b,EAAQ3b,EAAIC,EAAGD,GAAG88D,EAC1BqW,EAAInzE,GAAKmzE,EAAInzE,KAAO8H,EAAM,EAAI,OAG3B,GAAID,KAASoC,IACjB,IAAKjK,EAAI2b,EAAQ3b,EAAIC,EAAGD,GAAG88D,EAC1BqW,EAAInzE,GAAKmzE,EAAInzE,KAAO6H,EAAM,EAAI,MAG3B,CACJ,IAAI6P,EAAQ5P,EAAMD,EAClB,IAAK7H,EAAI2b,EAAQ3b,EAAIC,EAAGD,GAAG88D,EACrB3vD,MAAMgmE,EAAInzE,MACdmzE,EAAInzE,GAAe,IAAV0X,EAAc,IAAMy7D,EAAInzE,GAAK6H,GAAO6P,IAMjD,OAAOy7D,EApCRx0E,EAAOC,QAAUuU,GA0CX,KACA,SAAUxU,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,SAAsBmhB,EAAKzR,GACxC,IAAIoX,EAAS,GAETupD,EAAS3gE,EAAM4xa,QACfC,EAAKlxW,EAAOmxW,MAAM,CAACrga,EAAI3gB,EAAG2gB,EAAI1gB,IAC9B42I,EAAKxwI,KAAK2N,MAAM+sa,EAAG,IACnBlya,EAAKkya,EAAG,GAAKlqS,EACbgd,EAAKxtJ,KAAK2N,MAAM+sa,EAAG,IACnB9rD,EAAK8rD,EAAG,GAAKltR,EACbp9B,EAAK5mD,EAAO8lT,OAAO,GAAI9+O,EAAIgd,EAAIhlJ,EAAIomX,GAIvC,OAFA3uW,EAAOkoW,OAAS/3P,EAAG,GAAG6+J,QAAQ,GAEvBhvQ,IAML,KACA,SAAU/mB,EAAQC,EAASkB,GAEjC,aAGA,SAASugb,EAASltW,EAAKjlE,GACrB,IAAI4mJ,EAAKrvJ,KAAK2N,MAAMlF,GAChBy/D,EAAKz/D,EAAI4mJ,EACTnvE,EAAK,GAAKmvE,GAAQA,EAAO3hF,EAAIjyC,MAAM,GACnC0kD,EAAK,GAAKkvE,EAAG,GAAKA,EAAG,EAAI3hF,EAAIjyC,MAAM,GACnCh0B,EAAKy4E,GAAMxS,EAAIzyE,IAAIo0J,GAAQ,EAC3BgzC,EAAKliH,GAAMzS,EAAIzyE,IAAIo0J,EAAG,GAAK,EAC/B,OAAQ,EAAInnF,GAAIzgE,EAAKygE,EAAGm6H,EAG1B,SAASv6J,EAAS4lC,EAAKjlE,EAAG2F,GACxB,IAAIihJ,EAAKrvJ,KAAK2N,MAAMlF,GAChBy/D,EAAKz/D,EAAI4mJ,EACTnvE,EAAK,GAAKmvE,GAAQA,EAAO3hF,EAAIjyC,MAAM,GACnC0kD,EAAK,GAAKkvE,EAAG,GAAKA,EAAG,EAAI3hF,EAAIjyC,MAAM,GACnC6zH,EAAKtvJ,KAAK2N,MAAMS,GAChB+5D,EAAK/5D,EAAIkhJ,EACTznJ,EAAK,GAAKynJ,GAAQA,EAAO5hF,EAAIjyC,MAAM,GACnC5H,EAAK,GAAKy7H,EAAG,GAAKA,EAAG,EAAI5hF,EAAIjyC,MAAM,GACnCo/Y,EAAM36V,GAAIr4E,EAAK6lE,EAAIzyE,IAAIo0J,EAAKC,GAAQ,EACpCwrR,EAAM56V,GAAIrsD,EAAK65C,EAAIzyE,IAAIo0J,EAAKC,EAAG,GAAK,EACpCwzC,EAAM3iH,GAAIt4E,EAAK6lE,EAAIzyE,IAAIo0J,EAAG,EAAEC,GAAQ,EACpCyzC,EAAM5iH,GAAItsD,EAAK65C,EAAIzyE,IAAIo0J,EAAG,EAAEC,EAAG,GAAK,EACxC,OAAQ,EAAInnF,KAAQ,EAAID,GAAI2yW,EAAM3yW,EAAG46H,GAAO36H,IAAO,EAAID,GAAI4yW,EAAM5yW,EAAG66H,GAGtE,SAASg4O,EAASrtW,EAAKjlE,EAAG2F,EAAGlF,GAC3B,IAAImmJ,EAAKrvJ,KAAK2N,MAAMlF,GAChBy/D,EAAKz/D,EAAI4mJ,EACTnvE,EAAK,GAAKmvE,GAAQA,EAAO3hF,EAAIjyC,MAAM,GACnC0kD,EAAK,GAAKkvE,EAAG,GAAKA,EAAG,EAAI3hF,EAAIjyC,MAAM,GACnC6zH,EAAKtvJ,KAAK2N,MAAMS,GAChB+5D,EAAK/5D,EAAIkhJ,EACTznJ,EAAK,GAAKynJ,GAAQA,EAAO5hF,EAAIjyC,MAAM,GACnC5H,EAAK,GAAKy7H,EAAG,GAAKA,EAAG,EAAI5hF,EAAIjyC,MAAM,GACnC8zH,EAAKvvJ,KAAK2N,MAAMzE,GAChB+/Q,EAAK//Q,EAAIqmJ,EACTyrR,EAAK,GAAKzrR,GAAQA,EAAO7hF,EAAIjyC,MAAM,GACnCw/Y,EAAK,GAAK1rR,EAAG,GAAKA,EAAG,EAAI7hF,EAAIjyC,MAAM,GACnCy/Y,EAAOh7V,GAAIr4E,GAAImza,EAAKttW,EAAIzyE,IAAIo0J,EAAGC,EAAGC,GAAY,EAC9C4rR,EAAOj7V,GAAIrsD,GAAImnZ,EAAKttW,EAAIzyE,IAAIo0J,EAAGC,EAAG,EAAEC,GAAU,EAC9C6rR,EAAOj7V,GAAIt4E,GAAImza,EAAKttW,EAAIzyE,IAAIo0J,EAAG,EAAEC,EAAGC,GAAU,EAC9C8rR,EAAOl7V,GAAItsD,GAAImnZ,EAAKttW,EAAIzyE,IAAIo0J,EAAG,EAAEC,EAAG,EAAEC,GAAQ,EAC9C+rR,EAAOp7V,GAAIr4E,GAAIoza,EAAKvtW,EAAIzyE,IAAIo0J,EAAGC,EAAGC,EAAG,GAAS,EAC9CgsR,EAAOr7V,GAAIrsD,GAAIonZ,EAAKvtW,EAAIzyE,IAAIo0J,EAAGC,EAAG,EAAEC,EAAG,GAAO,EAC9CisR,EAAOr7V,GAAIt4E,GAAIoza,EAAKvtW,EAAIzyE,IAAIo0J,EAAG,EAAEC,EAAGC,EAAG,GAAO,EAC9CksR,EAAOt7V,GAAItsD,GAAIonZ,EAAKvtW,EAAIzyE,IAAIo0J,EAAG,EAAEC,EAAG,EAAEC,EAAG,GAAK,EAClD,OAAQ,EAAI05H,KAAQ,EAAI9gN,KAAQ,EAAID,GAAIgzW,EAAOhzW,EAAGkzW,GAAQjzW,IAAO,EAAID,GAAIizW,EAAOjzW,EAAGmzW,IAASpyJ,IAAO,EAAI9gN,KAAQ,EAAID,GAAIozW,EAAOpzW,EAAGszW,GAAQrzW,IAAO,EAAID,GAAIqzW,EAAOrzW,EAAGuzW,IAGpK,SAASC,EAAShuW,GAChB,IAKInzE,EAAGe,EALHZ,EAAqB,EAAjBgzE,EAAIjyC,MAAMjiC,OACd61J,EAAK,IAAInxJ,MAAMxD,GACfwtE,EAAK,IAAIhqE,MAAMxD,GACfwlF,EAAK,IAAIhiF,MAAMxD,GACfylF,EAAK,IAAIjiF,MAAMxD,GAEnB,IAAIH,EAAE,EAAGA,EAAEG,IAAKH,EACde,GAAKvB,UAAUQ,EAAE,GACjB80J,EAAG90J,GAAKyF,KAAK2N,MAAMrS,GACnB4sE,EAAG3tE,GAAKe,EAAI+zJ,EAAG90J,GACf2lF,EAAG3lF,GAAM,GAAK80J,EAAG90J,IAAQ80J,EAAG90J,GAAOmzE,EAAIjyC,MAAMlhC,GAC7C4lF,EAAG5lF,GAAM,GAAK80J,EAAG90J,GAAG,GAAK80J,EAAG90J,GAAG,EAAImzE,EAAIjyC,MAAMlhC,GAE/C,IAAasE,EAAGiZ,EAAGonB,EAAfhkC,EAAI,EACVovG,EACE,IAAI/vG,EAAE,EAAGA,EAAG,GAAGG,IAAMH,EAAG,CAGtB,IAFAud,EAAI,EACJonB,EAAMwuC,EAAIx3D,OACNrX,EAAE,EAAGA,EAAEnE,IAAKmE,EACd,GAAGtE,EAAK,GAAGsE,EAAI,CACb,IAAIshF,EAAGthF,GACL,SAASyrG,EAEXxyF,GAAKowD,EAAGrpE,GACRqgC,GAAOwuC,EAAI5qC,OAAOjkC,IAAMwwJ,EAAGxwJ,GAAK,OAC3B,CACL,IAAIqhF,EAAGrhF,GACL,SAASyrG,EAEXxyF,GAAK,EAAMowD,EAAGrpE,GACdqgC,GAAOwuC,EAAI5qC,OAAOjkC,GAAKwwJ,EAAGxwJ,GAG9B3D,GAAK4c,EAAI41D,EAAIloE,KAAK05B,GAEpB,OAAOhkC,EAGT,SAAS67M,EAAYrpI,EAAKjlE,EAAG2F,EAAGlF,GAC9B,OAAOwkE,EAAIjyC,MAAMjiC,QACf,KAAK,EACH,OAAO,EACT,KAAK,EACH,OAAOohb,EAASltW,EAAKjlE,GACvB,KAAK,EACH,OAAOq/B,EAAS4lC,EAAKjlE,EAAG2F,GAC1B,KAAK,EACH,OAAO2sa,EAASrtW,EAAKjlE,EAAG2F,EAAGlF,GAC7B,QACE,OAAOwya,EAAS5hb,WAAML,EAAWM,YAGvCb,EAAOC,QAAU49M,EACjB79M,EAAOC,QAAQo0J,GAAKqtR,EACpB1hb,EAAOC,QAAQqpE,GAAK16B,EACpB5uC,EAAOC,QAAQgQ,GAAK4xa,GAKd,KACA,SAAU7hb,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BonC,EAAmBpnC,EAAoB,QA6C3C,SAASshb,EAAQj7Z,EAAUV,GAGvB,IAFA,IAAI49R,EAAY59R,EAAWk/M,mBAAqB,GAExC3kO,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACrC,IAAIsO,EAAQ6X,EAASnmB,GACjBoiB,EAAU9T,EAAMiY,MAAQjY,EAAMkY,MAC9Bk+M,EAAmB2+E,EAAUjhS,IAAY,GACzC0iN,EAAYJ,EAAiBp2N,EAAMgD,aAAe,GAEtD,GAAyB,MAAtBhD,EAAM5G,aAAiD,MAA1Bo9N,EAAUp9N,YACtC,OAAO,EAIf,OAAO,EAzDX/I,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAW1wC,GAChE,SAASqsB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOokB,EAAUC,EAAW3vB,EAAkB3f,EAAMtE,GAGnE,IAKIo+Z,EALApkU,EAAYzqE,EAAO,aAEnByqG,EAAWzqG,EAAO,YACN,WAAbyqG,GAAuBzqG,EAAO,mBAG9BqkB,EAAU4C,KAAK,aACXwjD,EAAUv4G,QAAQ,WAAa,EAC9B28a,EAAgB,WAIhBxqX,EAAUysC,SAAW89U,EAAQj7Z,EAAU0wC,GACvCwqX,EAAgBxqX,EAAUysC,SAAW,IAAM,KAE5C+9U,EAAgB,UAEvB,IAAIC,EAAY9uY,EAAO,YAAa6uY,GACjCC,IACC9uY,EAAO,iBACPA,EAAO,kBAMX,IAAI+uY,EAAY1qX,EAAU4C,KAAK,UAC3B+nX,EAAS3qX,EAAU4C,KAAK,OACxBvsC,EAAM2pC,EAAU06G,iBAAiBtyK,OAEX,SAAvB43D,EAAU0E,YACPgmX,GAAaC,IAAmB,IAARt0Z,GACzBq0Z,GAAaC,GAAkB,IAARt0Z,KAExB2pC,EAAU0E,SAAW,SAwBvB,KACA,SAAU58D,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBm5B,EAAWn5B,EAAoB,QAC/BswC,EAAQtwC,EAAoB,QAE5BuW,EAAMvW,EAAoB,QAC1Bo5G,EAAkBp5G,EAAoB,QAEtC0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAC9BwwC,EAASxwC,EAAoB,QAC7B0yH,EAAU1yH,EAAoB,QAE9BsW,EAAOtW,EAAoB,QAC3BoxC,EAAqBpxC,EAAoB,QACzC2hb,EAAkB3hb,EAAoB,QACtC4hb,EAAyBD,EAAgBrqI,QACzCuqI,EAAuBF,EAAgBlnX,MACvC4zM,EAAcruQ,EAAoB,QAAQquQ,YAE1CyzK,EAAwB,QACxBC,EAAyB,SACzBC,EAAsB,MAM1B,SAASC,EAAkBxxK,EAASC,EAASsqK,GACzC,IAAI,IAAI96a,EAAI,EAAGA,EAAI86a,EAAQ77a,OAAQe,IAAK,CACpC,IAAIgib,EAAYlH,EAAQ96a,GAAG,GACvBiib,EAAYnH,EAAQ96a,GAAG,GAE3B,KAAGgib,EAAU,IAAMzxK,EAAQ,IAAMyxK,EAAU,IAAMzxK,EAAQ,MAGtD0xK,EAAU,GAAKzxK,EAAQ,IAAMyxK,EAAU,GAAKzxK,EAAQ,IACnD,OAAO,EAGf,OAAO,EAGX,SAAS0xK,EAAQ7za,GACb,IAIIrO,EAAGoiB,EAASxR,EAAUgV,EAAIiR,EAAIK,EAJ9BzR,EAAapX,EAAGymB,YAChB0+B,EAAK/tC,EAAWguC,MAChB75C,EAAM45C,EAAG7xD,EACTm1C,EAAS1gC,EAAKhS,KAAKiK,EAAI,IAAI,GAiB/B,GAdAoX,EAAWmlF,UAAUn7F,MAAM,CACvBuR,MAAQ3S,EAAG+Y,SAAS+tM,YAAc1vM,EAAW08Z,WAAa9za,EAAG+Y,SAASg7Z,gBAAkB/za,EAAG84C,OAAOnmC,MAAS,OAASyE,EAAWzE,MAAQ,KACvI8H,OAASza,EAAG+Y,SAAS+tM,YAAc1vM,EAAW08Z,WAAa9za,EAAG+Y,SAASi7Z,iBAAmBh0a,EAAG84C,OAAOr+B,OAAU,OAASrD,EAAWqD,OAAS,OAE9I1Z,UAAU,aACVjQ,KAAKg4B,EAAQ6lW,QAASv3W,EAAWzE,MAAOyE,EAAWqD,QACpDza,EAAG+Y,SAAS+uM,cAAc9nN,EAAIoX,EAAWovE,eAEzCj2F,EAAQ0jb,cAAcj0a,GACtBmkH,EAAQ6mS,OAAOhrZ,IAKXoX,EAAWg0C,KAAK,aAChB,OAAOrpB,EAAMw0E,iBAAiBv2G,GAGlC,SAASk0a,EAAgB38Z,EAAIurC,EAAW3N,GACpC,IAAIg/X,EAAS58Z,EAAG68Z,IAAM,EAEtB,MAAwB,MAArB78Z,EAAGsW,IAAIzN,OAAO,GACT0iC,EACa,QAAT3N,EAAuB2N,EAAU32B,QAAU5gB,EAAM4oa,EAClDrxX,EAAU32B,QAAU22B,EAAUh6C,QAAUyC,EAAM4oa,EAF/BhvX,EAAGzyD,EAAIyyD,EAAG1C,GAAK,GAAKlrC,EAAGtc,UAAY,IAAOk5a,EAAS,EAKzErxX,EACa,UAAT3N,EAAyB2N,EAAU32B,QAAU22B,EAAUh6C,QAAUyC,EAAM4oa,EACxErxX,EAAU32B,QAAU5gB,EAAM4oa,EAFXhvX,EAAGvzD,EAAIuzD,EAAGj2C,GAAKqI,EAAGtc,UAAY,GAAMk5a,EAAS,EAMvE,IAAIxib,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CAC/B4lB,EAAKkxB,EAAO92C,GAEZ,IAAImxD,EAAYvrC,EAAG8nC,YAGnB9nC,EAAG+/B,eAAiB,GAGpB//B,EAAG68Z,IAAMtrZ,EAAQurB,WAAWr0C,EAAIuX,EAAG29B,UAAW,GAO9C39B,EAAG4/B,kBAAoB+8X,EAAgB38Z,EAAIurC,EAAWvrC,EAAG49B,MACzD59B,EAAG6/B,oBAAuB7/B,EAAGqmC,QAAUkF,EACnCoxX,EAAgB38Z,EAAIurC,EAChBjgB,EAAmBG,cAAczrB,EAAG49B,OAAS,KAKzD,IAAIk/X,EAAqB,GACrBC,EAAgB,GAChBC,EAAe,GAIfC,EAC4C,IAA5Crga,EAAMlY,QAAQmb,EAAWovE,gBACkB,IAA3CryE,EAAMlY,QAAQmb,EAAWm0C,eACzBn0C,EAAWovE,gBAAkBpvE,EAAWm0C,aAG5C,IAAIx3C,KAAWqD,EAAWk/B,OAGtB,GAFA/zC,EAAW6U,EAAWk/B,OAAOviC,GAE1BxR,EAAS4+G,SAIL5+G,EAASu6K,IACRv6K,EAASu6K,GAAG56K,SAEhBK,EAASu6K,QAAKjsL,MACX,CACH,IAAIqxQ,EAAU3/P,EAAS2V,MAAMkpC,OACzB+gN,EAAU5/P,EAAS4V,MAAMipC,OACzBi+O,EAAY98R,EAAS88R,UAEzB,GAAGq0I,EAAkBxxK,EAASC,EAASoyK,GAAe,CAClD,IAAIE,EAASp1I,EAAU1mR,OACnB+7Z,EAAcnya,EAASu6K,GAAK90K,EAAIiuG,aAAaopL,EAAW,OAAQ,MACpEo1I,EAAOn6Z,aAAao6Z,EAAY/7Z,OAAQ87Z,EAAO/uT,WAAW,IAC1D4uT,EAAc7/a,KAAKsf,QAEnBsrR,EAAUv+R,OAAO,WAAWoB,SAC5Bqya,EAAa9/a,KAAK,CAACytQ,EAASC,IACxBqyK,IACAH,EAAmB5/a,KAAKsf,GACxBuga,EAAc7/a,KAAKsf,IAQnC,IAqEI4ga,EAAaC,EAAcC,EAAeC,EAC1CC,EAAgBC,EAChBC,EAAeC,EAAYC,EAAaC,EACxCC,EAAgBC,EAChBC,EAzEAC,EAAmBp+Z,EAAWq+Z,SAAS10a,UAAU,OAChDnE,KAAKy3a,GAYV,IAVAmB,EAAiBx0a,QAAQC,OAAO,QAC3BC,QAAQ,MAAM,GAEnBs0a,EAAiBrhY,OAAOjyC,SAExBsza,EAAiBn0a,MAAK,SAAS0S,GAC3BqD,EAAWk/B,OAAOviC,GAAS+oK,GAAKv8K,EAAGO,OAAO7M,SAI1CtC,EAAI,EAAGA,EAAI2ib,EAAc1jb,OAAQe,IACjC4Q,EAAW6U,EAAWk/B,OAAOg+X,EAAc3ib,IAC3C62B,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAEX5V,EAASu6K,IACRv6K,EAASu6K,GACJhsL,KAAKg4B,EAAQu3H,QACV73H,EAAG2D,QAAU5gB,EAAKsd,EAAGsD,QAAU5gB,EAC/Bid,EAAG1f,QAAU,EAAIyC,EAAKsd,EAAG/f,QAAU,EAAIyC,GAC1Cza,KAAKqjB,EAAMjR,KAAMkU,EAAWm0C,cAC5BnqD,MAAM,eAAgB,GAInC,IAAIgW,EAAW+kC,oBACX,IAAIpoC,KAAWqD,EAAWk/B,OAAQ,CAC9B/zC,EAAW6U,EAAWk/B,OAAOviC,GAC7ByU,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAGd,IAcIu9Z,EACAxzP,EAfAl2J,EAASzpB,EAASypB,OAAS,OAAS5U,EAAWulC,KAAO5oC,EAAU,OAEhE4ha,EAAW3ta,EAAI43N,iBAAiBxoN,EAAWslC,OAAQ,WAAY1wB,GAAQ,SAASz4B,GAChFA,EAAE2N,QAAQ,YAAY,GACjBD,OAAO,WAGhBsB,EAAS+rB,SAAWqnZ,EAAS70a,OAAO,QAAQoY,KAAK,CAC7CvG,MAAO6V,EAAG1f,QACV2R,OAAQoO,EAAG/f,UAGfggB,EAAQmD,aAAa1pB,EAAS4B,KAAMqkB,EAAG2D,QAAStD,EAAGsD,SAKhD5pB,EAAS09P,qBACRy1K,EAAa,KACbxzP,EAAcl2J,IAEd0pZ,EAAa1pZ,EACbk2J,EAAc,MAGlBp5J,EAAQqlH,WAAW5rI,EAAS4B,KAAMuxa,EAAY11a,GAK9CuC,EAAS2/K,YAAcA,EAU/B,SAAS0zP,EAAUpwa,GACf,MAAO,IAAMmva,EAAc,IAAMnva,EAAI,IAAMova,EAG/C,SAASiB,EAAcrwa,GACnB,MAAO,IAAMgjB,EAAG2D,QAAU,IAAM3mB,EAAI,IAAMgjB,EAAG1f,QAGjD,SAASgta,GAAUj2a,GACf,MAAO,IAAMA,EAAI,IAAMq1a,EAAa,IAAMD,EAG9C,SAASc,GAAcl2a,GACnB,MAAO,IAAMA,EAAI,IAAMgpB,EAAGsD,QAAU,IAAMtD,EAAG/f,QAGjD,SAASkta,GAASz+Z,EAAI0+Z,EAAQC,GAC1B,IAAI3+Z,EAAGu/B,UAAY/iC,IAAYwD,EAAGg/B,aAAc,MAAO,GACvD,IAAIh/B,EAAG8nC,YAAa,OAAO62X,EAAW3+Z,EAAG4/B,mBACzC,IAAI7lC,EAAM2ka,EAAO1+Z,EAAG4/B,mBAEpB,OADG5/B,EAAGqmC,SAAQtsC,GAAO2ka,EAAO1+Z,EAAG6/B,sBACxB9lC,EAGX,IAAIyC,KAAWqD,EAAWk/B,OAAQ,CAC9B/zC,EAAW6U,EAAWk/B,OAAOviC,GAC7ByU,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAgBd,IAAIg+Z,GAAQ,OACTC,EAAuB5tZ,EAAIzU,KAC1Bgha,EAAiBsB,EAAyB7tZ,EAAI,OAAQK,EAAI4f,GAC1DksY,EAAcnsZ,EAAG2D,SAAW4oZ,EAAkBxpa,EAAMwpa,EAAkB,GACtEC,EAAkBqB,EAAyB7tZ,EAAI,QAASK,EAAI4f,GAC5DmsY,EAAepsZ,EAAG2D,QAAU3D,EAAG1f,SAAWksa,EAAmBzpa,EAAMypa,EAAmB,GACtFH,EAAgBX,EAAgB1rZ,EAAIK,EAAI,UACxCisZ,EAAaZ,EAAgB1rZ,EAAIK,EAAI,OAKrC0sZ,GAAiB/sZ,EAAG62B,aAAetrC,IAAYyU,EAAG+tB,cAC/Cg/X,GAA+B,aAAd/sZ,EAAGo1B,QAAuC,QAAdp1B,EAAGo1B,SAC/Cp1B,EAAG8uB,eAAevjC,GAAW,CAAC8ga,EAAeC,IAGjDqB,GAAQH,GAASxtZ,EAAIotZ,EAAWC,GAC7BN,GAAgB/sZ,EAAGsuB,WAA2B,QAAdtuB,EAAGo1B,QAAkC,aAAdp1B,EAAGo1B,UACzDu4X,IAASP,EAAUf,GAAiBe,EAAUd,IAGlDvya,EAASq+Y,OACJx/Y,MAAM,eAAgBonB,EAAG4rZ,IAAM,MAC/Btjb,KAAKqjB,EAAM0G,OAAQ2N,EAAGsuB,SACnBtuB,EAAGs+M,UAAY,kBAE3BvkO,EAASq+Y,OAAO1nY,KAAK,IAAKi9Z,IAa1B,IAAIG,GAAQ,OACTF,EAAuBvtZ,EAAI9U,KAC1Bsha,EAAiBgB,EAAyBxtZ,EAAI,SAAUL,EAAIigB,GAC5DwsY,EAAgBpsZ,EAAGsD,QAAUtD,EAAG/f,SAAWusa,EAAiB9pa,EAAM,GAClE+pa,EAAce,EAAyBxtZ,EAAI,MAAOL,EAAIigB,GACtDysY,EAAarsZ,EAAGsD,SAAWmpZ,EAAc/pa,EAAM,GAC/C4pa,EAAcjB,EAAgBrrZ,EAAIL,EAAI,QACtC4sZ,EAAelB,EAAgBrrZ,EAAIL,EAAI,SAEvC+sZ,GAAiB1sZ,EAAGw2B,aAAetrC,IAAY8U,EAAG0tB,cAC/Cg/X,GAA+B,aAAd1sZ,EAAG+0B,QAAuC,QAAd/0B,EAAG+0B,SAC/C/0B,EAAGyuB,eAAevjC,GAAW,CAACoha,EAAaC,IAG/CkB,GAAQN,GAASntZ,EAAIitZ,GAAWC,IAC7BR,GAAgB1sZ,EAAGiuB,WAA2B,QAAdjuB,EAAG+0B,QAAkC,aAAd/0B,EAAG+0B,UACzD04X,IAASR,GAAUX,GAAeW,GAAUV,IAGhD7ya,EAASs+Y,OACJz/Y,MAAM,eAAgBynB,EAAGurZ,IAAM,MAC/Btjb,KAAKqjB,EAAM0G,OAAQgO,EAAGiuB,SACnBjuB,EAAGi+M,UAAY,kBAE3BvkO,EAASs+Y,OAAO3nY,KAAK,IAAKo9Z,IAK9B,OAFAvua,EAAKm0C,cAAcl8C,GAEZ+hC,EAAMw0E,iBAAiBv2G,GAGlC,SAASo2a,EAAuB7+Z,EAAIxD,GAChC,OAAQwD,EAAGnP,OAASmP,EAAGu/B,YAClB/iC,IAAYwD,EAAGg/B,cAA8B,QAAdh/B,EAAGqmC,QAAkC,aAAdrmC,EAAGqmC,QAQlE,SAAS24X,EAAuBh/Z,EAAI49B,EAAM2N,GAEtC,IAAIA,EAAUhM,WAAagM,EAAUsxX,IAAK,OAAO,EAGjD,GAAwB,QAArBtxX,EAAUlF,QAAyC,aAArBkF,EAAUlF,OAAuB,OAAO,EAEzE,IAAI44X,EAAW1zX,EAAUzD,YAGzB,IAAIm3X,EAAU,OAAO,EAKrB,IAAIC,EAAY5zY,EAAmBkgP,QAAQ5tO,GAC3C,OAAG2N,EAAU3N,OAASA,EACXqhY,EAASp1X,OAAOq1X,KAAel/Z,EAAG6pC,OAAOq1X,GAE7C3zX,EAAUlF,QAAU44X,EAASp1X,OAAO,EAAIq1X,KAAel/Z,EAAG6pC,OAAO,EAAIq1X,GAShF,SAASJ,EAAyB9+Z,EAAI49B,EAAM2N,EAAWra,GACnD,GAAG8tY,EAAuBh/Z,EAAI49B,EAAM2N,GAChC,OAAOA,EAAUsxX,IAErB,IAAI,IAAIzib,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CACnC,IAAIq/Z,EAAMvoX,EAAO92C,GACjB,GAAGq/Z,EAAI56W,YAAc0M,EAAU1M,WAAamgY,EAAuBh/Z,EAAI49B,EAAM67W,GACzE,OAAOA,EAAIojB,IAGnB,OAAO,EAsBX,SAASsC,EAAct/Z,EAAYwjV,GAC/B,IAAIlmT,EAAQt9B,EAAWs9B,MACnByQ,EAAK/tC,EAAWguC,MAChBuxX,EAAY,EAQhB,OANG/7E,IAAe24E,EACdoD,EAAYjiY,EAAMnpC,IAAI3Z,EAChBgpW,IAAe64E,IACrBkD,GAAajiY,EAAMnpC,IAAIjZ,GAGpBoiD,EAAMoF,MACT,IAAK,QACD,OAAOqL,EAAGvzD,EAAIuzD,EAAGj2C,EAAIwlC,EAAM70C,EAAI82a,EACnC,IAAK,YACL,QACI,OAAOv/Z,EAAWzE,MAAQ+hC,EAAM70C,EAAI82a,GAIhD,SAASC,EAAcx/Z,EAAY+D,GAC/B,IAAIu5B,EAAQt9B,EAAWs9B,MACnByQ,EAAK/tC,EAAWguC,MAChByxX,EAAY,EAQhB,GANU,QAAP17Z,GAAiBA,EAEVA,IAAO0nB,EAAmBE,UAAY,OAC5C8zY,EAAYniY,EAAMnpC,IAAI7Y,GAFtBmkb,GAAaniY,EAAMnpC,IAAIva,EAKZ,SAAZ0jD,EAAMlvC,EACL,OAAO2/C,EAAGzyD,EAAI,EAEd,OAAOgiD,EAAMqF,MACT,IAAK,QACD,OAAOoL,EAAGzyD,EAAIyyD,EAAG1C,EAAI0C,EAAG1C,EAAI/N,EAAMlvC,EAAIqxa,EAC1C,IAAK,YACL,QACI,OAAOz/Z,EAAWqD,OAASrD,EAAWqD,OAASi6B,EAAMlvC,EAAIqxa,GAKzE,SAASC,EAAuB1/Z,GAC5B,IAAIs9B,EAAQt9B,EAAWs9B,MAEnBkmT,EAAa44E,EAOjB,OANGxra,EAAIm3N,cAAczqL,GACjBkmT,EAAa64E,EACPzra,EAAI2tS,aAAajhQ,KACvBkmT,EAAa24E,GAGV34E,EAGX,SAASm8E,EAAe3/Z,GACpB,IAAIs9B,EAAQt9B,EAAWs9B,MAEnBv5B,EAAK,MAOT,OANGnT,EAAI4tS,YAAYlhQ,GACfv5B,EAAK0nB,EAAmBE,UAAY,KAC9B/6B,EAAIs3N,eAAe5qL,KACzBv5B,EAAK0nB,EAAmBC,UAAY,MAGjC3nB,EAxcX5qB,EAAQymb,aAAe,SAASh3a,GAC5B,OAAOgI,EAAIm1C,YAAY,CAACpb,EAAMk1Y,aAAcpD,GAAU7za,IAiX1DzP,EAAQ0jb,cAAgB,SAASj0a,GAC7B,IAAIoX,EAAapX,EAAGymB,YAEhBm0U,EAAak8E,EAAuB1/Z,GACpC+D,EAAK47Z,EAAe3/Z,GAExB6qB,EAAO1kC,KAAKyC,EAAI,SAAU,CACtB41C,cAAex+B,EACfy+B,SAAU,aACVC,YAAa1+B,EAAW2+B,WAAW5xC,KACnC5H,WAAY,CACRsD,EAAG62a,EAAct/Z,EAAYwjV,GAC7Bp1V,EAAGoxa,EAAcx/Z,EAAY+D,GAC7B,cAAey/U,EACfz/U,GAAIA,MA2EhB5qB,EAAQ2mb,aAAe,SAASl3a,GAC5B,IAEIrO,EAFAs6D,EAAWjsD,EAAGisD,SACdkrX,EAAiB,GAGrB,IAAIxlb,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAK,CACjC,IAAI6f,EAAKy6C,EAASt6D,GACdsvC,EAAMzvB,EAAG,IAAM,GACfvR,EAAQghC,EAAIhhC,OAAS,GACrBkjF,EAAUljF,EAAMkjF,SAAW,GAM3B3a,EAAmB2a,EAAQ3a,iBAC5BA,GAAkBA,EAAiBh3D,EAAIvR,GAE1C,IAAIm3a,EAAYj0V,EAAQi0V,UACrBA,GAAWD,EAAe1ib,KAAK,CAAC/D,GAAI0mb,EAAWn2Y,IAAKA,IAG3D,GAAGk2Y,EAAevmb,OAAQ,CACtB,IAAIe,EAAI,EAAGA,EAAIwlb,EAAevmb,OAAQe,IAAK,CACvC,IAAIo0B,EAAOoxZ,EAAexlb,GAC1Bo0B,EAAKr1B,GAAGsP,EAAI+lB,EAAKkb,KAErB4pE,EAAgB7qG,GAChBzP,EAAQu6G,iBAAiB9qG,GAM7B,OAHA+hC,EAAM3gC,MAAMpB,GACZ4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GAEvC+hC,EAAMw0E,iBAAiBv2G,IAGlCzP,EAAQ8mb,YAAc,SAASr3a,GAE3B,OADA4qB,EAASsa,mBAAmB,WAAY,OAAxCta,CAAgD5qB,GACzC+hC,EAAMw0E,iBAAiBv2G,IAIlCzP,EAAQ+mb,aAAe,SAASt3a,GAC5B,IAAI84C,EAAS94C,EAAG84C,OAEhB,OADA94C,EAAG84C,YAASjoD,EACL+5B,EAAS95B,KAAK,OAAQkP,EAAI,GAAI84C,IAGzCvoD,EAAQgnb,SAAW,SAASv3a,GAExB,OADA4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GACvC+hC,EAAMw0E,iBAAiBv2G,IAGlCzP,EAAQinb,gBAAkB,SAASx3a,GAU/B,OATA+H,EAAKxK,KAAKyC,EAAI,UAEXA,EAAGymB,YAAY01B,sBACdvxB,EAASkgK,iBAAiB6mO,MAAM8lB,WAAWz3a,GAC3C6qG,EAAgB7qG,GAChBzP,EAAQu6G,iBAAiB9qG,IAG7BzP,EAAQ0jb,cAAcj0a,GACf+hC,EAAMw0E,iBAAiBv2G,IAGlCzP,EAAQmnb,UAAY,SAAS13a,GACzB,IAAIoX,EAAapX,EAAGymB,YAEpB09F,EAAQ6mS,OAAOhrZ,GAEf,IAAI,IAAIrO,EAAI,EAAGA,EAAIylB,EAAW8rJ,iBAAiBtyK,OAAQe,IAAK,CACxD,IAAIs7D,EAAW71C,EAAW8rJ,iBAAiBvxK,GAAGs7D,SAC3CA,GAAUA,EAASjtD,GAG1B,OAAO+hC,EAAMw0E,iBAAiBv2G,IAGlCzP,EAAQonb,SAAW,SAAS33a,GAIxB,IAHA,IAAIoX,EAAapX,EAAGymB,YAChB6iE,EAAWlyE,EAAW4sB,UAAUoxD,KAE5BzjG,EAAI,EAAGA,EAAI23F,EAAS14F,OAAQe,IAAK,CACrC,IAAIgX,EAAcyO,EAAWkyE,EAAS33F,IAClC2K,EAAQqM,EAAY8gF,OAExBntF,EAAMs7a,YAAYjva,KAI1BpY,EAAQsnb,SAAW,SAAS73a,GACxB,IAAIoX,EAAapX,EAAGymB,YAEpBokF,EAAgB7qG,GAIhB,IADA,IAAIm8R,EAAkB/kR,EAAW8rJ,iBACzBvxK,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IACvCwqS,EAAgBxqS,GAAGwS,KAAKnE,GAiB5B,OAdAzP,EAAQu6G,iBAAiB9qG,GAGzB+hC,EAAM3gC,MAAMpB,GAIZ4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GAC9C4qB,EAASsa,mBAAmB,cAAe,OAA3Cta,CAAmD5qB,GACnD4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GAG9CoX,EAAWqmG,aAAc,EAElB17E,EAAMw0E,iBAAiBv2G,IAgBlCzP,EAAQu6G,iBAAmB,SAAS9qG,GAChC,IAAIoX,EAAapX,EAAGymB,YAEpB,GAAGrP,EAAWg0C,KAAK,QAAS,CACxB,IAGIz5D,EAAGsqD,EAHHnkC,EAAW9X,EAAGw3C,UACdsgY,EAAe,GACfC,EAAW,GAWf,IARG3ga,EAAW+kC,qBACV/kC,EAAW4ga,WAAWz6a,OAOtB5L,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACjC,IAAIsO,EAAQ6X,EAASnmB,IAEA,IAAlBsO,EAAMuD,SAAsC,IAAlBvD,EAAM6I,UACb,UAAf7I,EAAM0E,KACLyS,EAAWwP,aAAa3mB,EAAMymB,KAAKnpB,OACd,cAAf0C,EAAM0E,KACZqD,EAAIuiL,WAAWutP,EAAc73a,EAAMiY,MAAQjY,EAAMkY,OAC5B,mBAAflY,EAAM0E,MACZqD,EAAIuiL,WAAWwtP,EAAU93a,EAAM8T,UAK3C,IAAIpiB,EAAI,EAAGA,EAAImmb,EAAalnb,OAAQe,IAChCsqD,EAAK7kC,EAAWk/B,OAAOwhY,EAAanmb,IACjCsqD,EAAGwtC,QAAQxtC,EAAGwtC,OAAOlsF,OAG5B,IAAI5L,EAAI,EAAGA,EAAIomb,EAASnnb,OAAQe,IAC5BsqD,EAAK7kC,EAAW2ga,EAASpmb,IAAI2lB,SAC1B2kC,EAAGwtC,QAAQxtC,EAAGwtC,OAAOlsF,SAKpChN,EAAQ0nb,0BAA4B,SAASj4a,GAOzC,IANA,IAGIuX,EACAqzX,EAJAxzX,EAAapX,EAAGymB,YAChBgiB,EAAS1gC,EAAKhS,KAAKiK,EAAI,IAAI,GAC3Bw8G,EAAcplG,EAAWqlG,kBAAoB,GAIzC9qH,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAC9B4lB,EAAKkxB,EAAO92C,GACZ2hb,EAAqBtza,EAAIuX,GACzBuoP,EAAY9/P,EAAIuX,GAGpB87Z,EAAuBrza,GAEvBk4a,EACA,IAAI,IAAIjib,EAAI,EAAGA,EAAIumH,EAAY5rH,OAAQqF,IAAK,CACxC,IAEIoH,EAFAoF,EAAQ+5G,EAAYvmH,GACpBqxC,EAAM,KAGV,IAAIjqC,KAAMoF,EAAO,CAEb,GADA8U,EAAKxP,EAAKu3B,UAAUt/B,EAAI3C,IACJ,IAAjBka,EAAGksB,UAAqB,SAASy0Y,EAEpCttC,EAAQ5iY,EAAIklB,UAAU3V,EAAGlO,MAAOkO,EAAG4V,KAChCma,EACIA,EAAI,GAAKA,EAAI,IACZA,EAAI,GAAKlwC,KAAKoC,IAAI8tC,EAAI,GAAIsjW,EAAM,IAChCtjW,EAAI,GAAKlwC,KAAKqC,IAAI6tC,EAAI,GAAIsjW,EAAM,MAEhCtjW,EAAI,GAAKlwC,KAAKqC,IAAI6tC,EAAI,GAAIsjW,EAAM,IAChCtjW,EAAI,GAAKlwC,KAAKoC,IAAI8tC,EAAI,GAAIsjW,EAAM,KAGpCtjW,EAAMsjW,EAId,IAAIvtY,KAAMoF,EACN8U,EAAKxP,EAAKu3B,UAAUt/B,EAAI3C,GACxBka,EAAGlO,MAAQrB,EAAIklB,UAAUoa,EAAK/vB,EAAG+V,KACjC/V,EAAG6oB,OAAO/2B,MAAQkO,EAAGlO,MAAMzT,QAC3B2hB,EAAG2U,aAQf37B,EAAQ4nb,UAAY,SAASn4a,GAIzB4qB,EAASsa,mBAAmB,cAAe,OAA3Cta,CAAmD5qB,GAKnD4qB,EAASsa,mBAAmB,gBAAiB,OAA7Cta,CAAqD5qB,IAGzDzP,EAAQ6nb,kBAAoB,SAASp4a,GACjC4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GAC9C4qB,EAASsa,mBAAmB,gBAAiB,OAA7Cta,CAAqD5qB,GACrD4qB,EAASsa,mBAAmB,UAAW,OAAvCta,CAA+C5qB,GAC/C4qB,EAASsa,mBAAmB,cAAe,OAA3Cta,CAAmD5qB,GACnD4qB,EAASsa,mBAAmB,WAAY,OAAxCta,CAAgD5qB,KAM9C,KACA,SAAU1P,EAAQC,EAASkB,GAEjC,aAKA,SAAS2tR,EACP9tQ,EACAk0D,EAAIC,EAAI06M,EACRh6M,EAAIC,EAAI65M,EACR3gN,EAAIC,EAAI8gN,GACR,IAAI/yO,EAAKk4B,EAAKY,EAAKi6M,EACnB,GAAGzuR,EAAI,EAAG,CACR,IAAIA,EAAIwF,KAAKuD,KAAK2yC,EAAK,GACvBh8B,EAAI,GAAK,IAAO2uQ,EAAK1gN,GAAM3tE,EAC3B0f,EAAI,GAAK,IAAOguD,EAAK6gN,GAAMvuR,EAC3B0f,EAAI,GAAK,IAAOm0D,EAAKW,GAAMx0E,EAC3B0f,EAAI,GAAK,GAAM1f,MACV,CACL,IAAIs7C,EAAK91C,KAAKqC,IAAI+rE,EAAIY,EAAIi6M,GACtBzuR,EAAIwF,KAAKuD,KAAK,EAAIuyC,EAAKI,EAAK,GAC7Bk4B,GAAMt4B,GAEP57B,EAAI,GAAK,GAAM1f,EACf0f,EAAI,GAAK,IAAO60D,EAAKV,GAAM7zE,EAC3B0f,EAAI,GAAK,IAAOguD,EAAK6gN,GAAMvuR,EAC3B0f,EAAI,GAAK,IAAO2uQ,EAAK1gN,GAAM3tE,GACnBw0E,GAAMl5B,GAEd57B,EAAI,GAAK,IAAOm0D,EAAKU,GAAMv0E,EAC3B0f,EAAI,GAAK,GAAM1f,EACf0f,EAAI,GAAK,IAAOiuD,EAAK0gN,GAAMruR,EAC3B0f,EAAI,GAAK,IAAOguD,EAAK6gN,GAAMvuR,IAG3B0f,EAAI,GAAK,IAAO6uQ,EAAK7gN,GAAM1tE,EAC3B0f,EAAI,GAAK,IAAO2uQ,EAAK1gN,GAAM3tE,EAC3B0f,EAAI,GAAK,GAAM1f,EACf0f,EAAI,GAAK,IAAOm0D,EAAKU,GAAMv0E,GAG/B,OAAO0f,EArCThhB,EAAOC,QAAU6uR,GA0CX,KACA,SAAU9uR,EAAQC,GAExB,SAASk4I,EAAS4vS,EAAUC,EAAcC,GACtCtkb,KAAKqkb,aAAeA,GAAgB,GACpCrkb,KAAKskb,YAAcA,GAAe,GAClCtkb,KAAKokb,SAAWA,GAAY,GAC5Bpkb,KAAK8+F,QACH,eAAiBulV,GAAgBD,GAAY,KAC5CE,EAAc,KAAKA,EAAc,IACpCtkb,KAAKy2O,OAAQ,IAAKh1O,OAASg1O,MAE/BjiG,EAAQr1I,UAAY,IAAIsC,MACxB+yI,EAAQr1I,UAAUrB,KAAO,UACzB02I,EAAQr1I,UAAU47B,YAAcy5G,EAChCn4I,EAAOC,QAAUk4I,GAKX,KACA,SAAUn4I,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBuxI,EAAWvxI,EAAoB,QAC/Bw3B,EAAax3B,EAAoB,QAAQw3B,WAE7C34B,EAAOC,QAAU,SAAeyP,GAC5B,IAAIzM,EAAIyM,EAAGymB,YAAY4+U,iBAAiBtkW,UAAU,UAClDkoB,EAAWjpB,EAAIzM,EAAG,cAElBA,EAAE8N,MAAK,SAASmQ,GACZ,IAAIyvB,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MACZmuG,EAAiB7tG,EAAGO,OAAO7M,MAE/Bm6G,EAAehtG,MAAM,CAACnF,QAASgE,EAAMhE,UAErCmyG,EAAertG,UAAU,gBAAgBM,MAAK,SAASkQ,GACnDhR,EAAGO,OAAO7M,MAAMnD,KAAKkyI,EAAUzxH,EAAItR,WAQzC,KACA,SAAU3P,EAAQknE,EAAqB/lE,GAE7C,aACAA,EAAoBa,EAAEklE,GAGO,IAAIm/S,EAAS,SAAU3nV,EAAa39B,EAAS+B,GACxE47B,EAAY57B,UAAY/B,EAAQ+B,UAAYA,EAC5CA,EAAU47B,YAAcA,GAG1B,SAASulY,EAAOl7Y,EAAQm/Z,GACtB,IAAIplb,EAAYlB,OAAOY,OAAOumB,EAAOjmB,WACrC,IAAK,IAAIL,KAAOylb,EAAYplb,EAAUL,GAAOylb,EAAWzlb,GACxD,OAAOK,EAMT,SAAS+gB,KAET,IAAIswL,EAAS,GACTojH,EAAW,EAAIpjH,EAEfg0O,EAAM,sBACNC,EAAM,gDACNC,EAAM,iDACNC,EAAQ,qBACRC,EAAe,IAAIv/Y,OAAO,UAAY,CAACm/Y,EAAKA,EAAKA,GAAO,QACxDK,EAAe,IAAIx/Y,OAAO,UAAY,CAACq/Y,EAAKA,EAAKA,GAAO,QACxDI,EAAgB,IAAIz/Y,OAAO,WAAa,CAACm/Y,EAAKA,EAAKA,EAAKC,GAAO,QAC/DM,EAAgB,IAAI1/Y,OAAO,WAAa,CAACq/Y,EAAKA,EAAKA,EAAKD,GAAO,QAC/DO,EAAe,IAAI3/Y,OAAO,UAAY,CAACo/Y,EAAKC,EAAKA,GAAO,QACxDO,EAAgB,IAAI5/Y,OAAO,WAAa,CAACo/Y,EAAKC,EAAKA,EAAKD,GAAO,QAE/D7+I,EAAQ,CACVnK,UAAW,SACXC,aAAc,SACdC,KAAM,MACNC,WAAY,QACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,EACPC,eAAgB,SAChB3oG,KAAM,IACN4oG,WAAY,QACZC,MAAO,SACPC,UAAW,SACXE,UAAW,QACXC,WAAY,QACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,QAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,MACNC,SAAU,IACVC,SAAU,MACVC,cAAe,SACfC,SAAU,SACVC,UAAW,MACXC,SAAU,SACVC,UAAW,SACXC,YAAa,QACbC,eAAgB,QAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,QACTC,WAAY,SACZC,aAAc,QACdC,cAAe,QACfC,cAAe,QACfC,cAAe,QACfC,cAAe,MACfC,WAAY,QACZC,SAAU,SACVC,YAAa,MACbC,QAAS,QACTC,QAAS,QACTC,WAAY,QACZC,UAAW,SACXC,YAAa,SACbC,YAAa,QACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,QACNC,MAAO,MACPC,YAAa,SACbC,KAAM,QACNC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,QACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,QACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,QACZC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,cAAe,QACfC,aAAc,QACdC,eAAgB,QAChBC,eAAgB,QAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,MACNC,UAAW,QACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,QACRC,iBAAkB,QAClBC,WAAY,IACZC,aAAc,SACdC,aAAc,QACdC,eAAgB,QAChBC,gBAAiB,QACjBC,kBAAmB,MACnBC,gBAAiB,QACjBC,gBAAiB,SACjBC,aAAc,QACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,IACNC,QAAS,SACTC,MAAO,QACPC,UAAW,QACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,QACRC,cAAe,QACf7vG,IAAK,SACL8vG,UAAW,SACXC,UAAW,QACXC,YAAa,QACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,QACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,QACTC,UAAW,QACXC,UAAW,QACXC,UAAW,QACXC,KAAM,SACNC,YAAa,MACbC,UAAW,QACXhyN,IAAK,SACLiyN,KAAM,MACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,QACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UAiBf,SAASwgJ,IACP,OAAOllb,KAAKsF,MAAM6/a,YAGpB,SAASC,IACP,OAAOC,EAAWrlb,MAAMslb,YAG1B,SAASC,IACP,OAAOvlb,KAAKsF,MAAMkgb,YAGpB,SAASC,EAAY5iV,GACnB,IAAIjlG,EAAGD,EAEP,OADAklG,GAAUA,EAAS,IAAI7oC,OAAOniD,eACtBja,EAAI+mb,EAAMv6U,KAAKvH,KAAYllG,EAAIC,EAAE,GAAGjB,OAAQiB,EAAI+nB,SAAS/nB,EAAE,GAAI,IAAW,IAAND,EAAU+nb,EAAK9nb,GAC/E,IAAND,EAAU,IAAIgob,EAAK/nb,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,GAAiB,GAAJA,IAAY,EAAU,GAAJA,EAAU,GACzG,IAAND,EAAU,IAAIgob,EAAI/nb,GAAK,GAAK,IAAMA,GAAK,GAAK,IAAMA,GAAK,EAAI,KAAW,IAAJA,GAAY,KACxE,IAAND,EAAU,IAAIgob,EAAK/nb,GAAK,GAAK,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,IAAkB,GAAJA,IAAY,EAAU,GAAJA,GAAY,KACrJ,OACCA,EAAIgnb,EAAax6U,KAAKvH,IAAW,IAAI8iV,EAAI/nb,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,IAC3DA,EAAIinb,EAAaz6U,KAAKvH,IAAW,IAAI8iV,EAAW,IAAP/nb,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAK,IAC/FA,EAAIknb,EAAc16U,KAAKvH,IAAWl9F,EAAK/H,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAC3DA,EAAImnb,EAAc36U,KAAKvH,IAAWl9F,EAAY,IAAP/H,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAKA,EAAE,KAC/FA,EAAIonb,EAAa56U,KAAKvH,IAAWh9F,EAAKjI,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAK,IACpEA,EAAIqnb,EAAc76U,KAAKvH,IAAWh9F,EAAKjI,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAKA,EAAE,IACxEgoS,EAAMxmS,eAAeyjG,GAAU6iV,EAAK9/I,EAAM/iM,IAC/B,gBAAXA,EAA2B,IAAI8iV,EAAIroX,IAAKA,IAAKA,IAAK,GAClD,KAGR,SAASooX,EAAK1mb,GACZ,OAAO,IAAI2mb,EAAI3mb,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EAAU,GAG1D,SAAS2G,EAAKtH,EAAGsoB,EAAG5pB,EAAGD,GAErB,OADIA,GAAK,IAAGuB,EAAIsoB,EAAI5pB,EAAIugE,KACjB,IAAIqoX,EAAItnb,EAAGsoB,EAAG5pB,EAAGD,GAG1B,SAAS8ob,EAAW5nb,GAElB,OADMA,aAAakiB,IAAQliB,EAAIynb,EAAYznb,IACtCA,GACLA,EAAIA,EAAEsH,MACC,IAAIqgb,EAAI3nb,EAAEK,EAAGL,EAAE2oB,EAAG3oB,EAAEjB,EAAGiB,EAAEgK,UAFjB,IAAI29a,EAKrB,SAASE,EAAUxnb,EAAGsoB,EAAG5pB,EAAGiL,GAC1B,OAA4B,IAArB9K,UAAUP,OAAeipb,EAAWvnb,GAAK,IAAIsnb,EAAItnb,EAAGsoB,EAAG5pB,EAAc,MAAXiL,EAAkB,EAAIA,GAGzF,SAAS29a,EAAItnb,EAAGsoB,EAAG5pB,EAAGiL,GACpBhI,KAAK3B,GAAKA,EACV2B,KAAK2mB,GAAKA,EACV3mB,KAAKjD,GAAKA,EACViD,KAAKgI,SAAWA,EA2BlB,SAAS89a,IACP,MAAO,IAAMt6K,EAAIxrQ,KAAK3B,GAAKmtQ,EAAIxrQ,KAAK2mB,GAAK6kP,EAAIxrQ,KAAKjD,GAGpD,SAASgpb,IACP,IAAIjpb,EAAIkD,KAAKgI,QACb,OADsBlL,EAAI+N,MAAM/N,GAAK,EAAIqG,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,EAAGzI,KACnD,IAANA,EAAU,OAAS,SACrBqG,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,IAAKpC,KAAKs5B,MAAMz8B,KAAK3B,IAAM,IAAM,KACtD8E,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,IAAKpC,KAAKs5B,MAAMz8B,KAAK2mB,IAAM,IAAM,KACtDxjB,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,IAAKpC,KAAKs5B,MAAMz8B,KAAKjD,IAAM,KACzC,IAAND,EAAU,IAAM,KAAOA,EAAI,KAGpC,SAAS0uQ,EAAIhtQ,GAEX,OADAA,EAAQ2E,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,IAAKpC,KAAKs5B,MAAMj+B,IAAU,KAC/CA,EAAQ,GAAK,IAAM,IAAMA,EAAMsb,SAAS,IAGlD,SAASjU,EAAK2oD,EAAGlvD,EAAG3B,EAAGb,GAIrB,OAHIA,GAAK,EAAG0xD,EAAIlvD,EAAI3B,EAAI2/D,IACf3/D,GAAK,GAAKA,GAAK,EAAG6wD,EAAIlvD,EAAIg+D,IAC1Bh+D,GAAK,IAAGkvD,EAAI8O,KACd,IAAI0oX,EAAIx3X,EAAGlvD,EAAG3B,EAAGb,GAG1B,SAASuob,EAAWrnb,GAClB,GAAIA,aAAagob,EAAK,OAAO,IAAIA,EAAIhob,EAAEwwD,EAAGxwD,EAAEsB,EAAGtB,EAAEL,EAAGK,EAAEgK,SAEtD,GADMhK,aAAakiB,IAAQliB,EAAIynb,EAAYznb,KACtCA,EAAG,OAAO,IAAIgob,EACnB,GAAIhob,aAAagob,EAAK,OAAOhob,EAC7BA,EAAIA,EAAEsH,MACN,IAAIjH,EAAIL,EAAEK,EAAI,IACVsoB,EAAI3oB,EAAE2oB,EAAI,IACV5pB,EAAIiB,EAAEjB,EAAI,IACVwI,EAAMpC,KAAKoC,IAAIlH,EAAGsoB,EAAG5pB,GACrByI,EAAMrC,KAAKqC,IAAInH,EAAGsoB,EAAG5pB,GACrByxD,EAAI8O,IACJh+D,EAAIkG,EAAMD,EACV5H,GAAK6H,EAAMD,GAAO,EAUtB,OATIjG,GACakvD,EAAXnwD,IAAMmH,GAAUmhB,EAAI5pB,GAAKuC,EAAc,GAATqnB,EAAI5pB,GAC7B4pB,IAAMnhB,GAAUzI,EAAIsB,GAAKiB,EAAI,GAC5BjB,EAAIsoB,GAAKrnB,EAAI,EACvBA,GAAK3B,EAAI,GAAM6H,EAAMD,EAAM,EAAIC,EAAMD,EACrCipD,GAAK,IAELlvD,EAAI3B,EAAI,GAAKA,EAAI,EAAI,EAAI6wD,EAEpB,IAAIw3X,EAAIx3X,EAAGlvD,EAAG3B,EAAGK,EAAEgK,SAG5B,SAASpC,EAAI4oD,EAAGlvD,EAAG3B,EAAGqK,GACpB,OAA4B,IAArB9K,UAAUP,OAAe0ob,EAAW72X,GAAK,IAAIw3X,EAAIx3X,EAAGlvD,EAAG3B,EAAc,MAAXqK,EAAkB,EAAIA,GAGzF,SAASg+a,EAAIx3X,EAAGlvD,EAAG3B,EAAGqK,GACpBhI,KAAKwuD,GAAKA,EACVxuD,KAAKV,GAAKA,EACVU,KAAKrC,GAAKA,EACVqC,KAAKgI,SAAWA,EAyClB,SAASi+a,EAAQz3X,EAAG03F,EAAIotK,GACtB,OAGY,KAHJ9kQ,EAAI,GAAK03F,GAAMotK,EAAKptK,GAAM13F,EAAI,GAChCA,EAAI,IAAM8kQ,EACV9kQ,EAAI,IAAM03F,GAAMotK,EAAKptK,IAAO,IAAM13F,GAAK,GACvC03F,GAIR,SAAS+jM,EAAMjzT,EAAI8+B,EAAIC,EAAIC,EAAI6sM,GAC7B,IAAI5rO,EAAKD,EAAKA,EAAIipE,EAAKhpE,EAAKD,EAC5B,QAAS,EAAI,EAAIA,EAAK,EAAIC,EAAKgpE,GAAMnqC,GAC9B,EAAI,EAAI7+B,EAAK,EAAIgpE,GAAMlqC,GACvB,EAAI,EAAI/+B,EAAK,EAAIC,EAAK,EAAIgpE,GAAMjqC,EACjCiqC,EAAK4iK,GAAM,EAjNnB6/G,EAAOxiW,EAAOula,EAAa,CACzBh/W,KAAM,SAASwxS,GACb,OAAOh6W,OAAO8X,OAAO,IAAI/V,KAAK+6B,YAAa/6B,KAAMi4W,IAEnDiuE,YAAa,WACX,OAAOlmb,KAAKsF,MAAM4gb,eAEpB16K,IAAK05K,EACLC,UAAWD,EACXI,UAAWF,EACXI,UAAWD,EACXzra,SAAUyra,IA6DZ7iE,EAAOijE,EAAKE,EAAWvlB,EAAOpgZ,EAAO,CACnC0zS,SAAU,SAASzxT,GAEjB,OADAA,EAAS,MAALA,EAAYyxT,EAAWzwT,KAAKw5B,IAAIi3R,EAAUzxT,GACvC,IAAIwjb,EAAI3lb,KAAK3B,EAAI8D,EAAGnC,KAAK2mB,EAAIxkB,EAAGnC,KAAKjD,EAAIoF,EAAGnC,KAAKgI,UAE1DwoM,OAAQ,SAASruM,GAEf,OADAA,EAAS,MAALA,EAAYquM,EAASrtM,KAAKw5B,IAAI6zK,EAAQruM,GACnC,IAAIwjb,EAAI3lb,KAAK3B,EAAI8D,EAAGnC,KAAK2mB,EAAIxkB,EAAGnC,KAAKjD,EAAIoF,EAAGnC,KAAKgI,UAE1D1C,IAAK,WACH,OAAOtF,MAETkmb,YAAa,WACX,OAAS,IAAOlmb,KAAK3B,GAAK2B,KAAK3B,EAAI,QAC1B,IAAO2B,KAAK2mB,GAAK3mB,KAAK2mB,EAAI,QAC1B,IAAO3mB,KAAKjD,GAAKiD,KAAKjD,EAAI,OAC3B,GAAKiD,KAAKgI,SAAWhI,KAAKgI,SAAW,GAE/CwjQ,IAAKs6K,EACLX,UAAWW,EACXN,UAAWO,EACXjsa,SAAUisa,KAiEZrjE,EAAOsjE,EAAKpgb,EAAK06Z,EAAOpgZ,EAAO,CAC7B0zS,SAAU,SAASzxT,GAEjB,OADAA,EAAS,MAALA,EAAYyxT,EAAWzwT,KAAKw5B,IAAIi3R,EAAUzxT,GACvC,IAAI6jb,EAAIhmb,KAAKwuD,EAAGxuD,KAAKV,EAAGU,KAAKrC,EAAIwE,EAAGnC,KAAKgI,UAElDwoM,OAAQ,SAASruM,GAEf,OADAA,EAAS,MAALA,EAAYquM,EAASrtM,KAAKw5B,IAAI6zK,EAAQruM,GACnC,IAAI6jb,EAAIhmb,KAAKwuD,EAAGxuD,KAAKV,EAAGU,KAAKrC,EAAIwE,EAAGnC,KAAKgI,UAElD1C,IAAK,WACH,IAAIkpD,EAAIxuD,KAAKwuD,EAAI,IAAqB,KAAdxuD,KAAKwuD,EAAI,GAC7BlvD,EAAIuL,MAAM2jD,IAAM3jD,MAAM7K,KAAKV,GAAK,EAAIU,KAAKV,EACzC3B,EAAIqC,KAAKrC,EACT21T,EAAK31T,GAAKA,EAAI,GAAMA,EAAI,EAAIA,GAAK2B,EACjC4mJ,EAAK,EAAIvoJ,EAAI21T,EACjB,OAAO,IAAIqyH,EACTM,EAAQz3X,GAAK,IAAMA,EAAI,IAAMA,EAAI,IAAK03F,EAAIotK,GAC1C2yH,EAAQz3X,EAAG03F,EAAIotK,GACf2yH,EAAQz3X,EAAI,IAAMA,EAAI,IAAMA,EAAI,IAAK03F,EAAIotK,GACzCtzT,KAAKgI,UAGTk+a,YAAa,WACX,OAAQ,GAAKlmb,KAAKV,GAAKU,KAAKV,GAAK,GAAKuL,MAAM7K,KAAKV,KACzC,GAAKU,KAAKrC,GAAKqC,KAAKrC,GAAK,GACzB,GAAKqC,KAAKgI,SAAWhI,KAAKgI,SAAW,GAE/Cs9a,UAAW,WACT,IAAIxob,EAAIkD,KAAKgI,QACb,OADsBlL,EAAI+N,MAAM/N,GAAK,EAAIqG,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAI,EAAGzI,KACnD,IAANA,EAAU,OAAS,UACpBkD,KAAKwuD,GAAK,GAAK,KACA,KAAfxuD,KAAKV,GAAK,GAAW,MACN,KAAfU,KAAKrC,GAAK,GAAW,KACf,IAANb,EAAU,IAAM,KAAOA,EAAI,SAqBT,IAAIqpb,EAAY,SAAU9vZ,GACrD,IAAIr3B,EAAIq3B,EAAO15B,OAAS,EACxB,OAAO,SAAS8B,GACd,IAAIf,EAAIe,GAAK,EAAKA,EAAI,EAAKA,GAAK,GAAKA,EAAI,EAAGO,EAAI,GAAKmE,KAAK2N,MAAMrS,EAAIO,GAChE+2D,EAAK1/B,EAAO34B,GACZs4D,EAAK3/B,EAAO34B,EAAI,GAChBo4D,EAAKp4D,EAAI,EAAI24B,EAAO34B,EAAI,GAAK,EAAIq4D,EAAKC,EACtC6sM,EAAKnlQ,EAAIsB,EAAI,EAAIq3B,EAAO34B,EAAI,GAAK,EAAIs4D,EAAKD,EAC9C,OAAOk0R,GAAOxrV,EAAIf,EAAIsB,GAAKA,EAAG82D,EAAIC,EAAIC,EAAI6sM,KAObujL,EAAc,SAAU/vZ,GACvD,IAAIr3B,EAAIq3B,EAAO15B,OACf,OAAO,SAAS8B,GACd,IAAIf,EAAIyF,KAAK2N,QAAQrS,GAAK,GAAK,IAAMA,EAAIA,GAAKO,GAC1C82D,EAAKz/B,GAAQ34B,EAAIsB,EAAI,GAAKA,GAC1B+2D,EAAK1/B,EAAO34B,EAAIsB,GAChBg3D,EAAK3/B,GAAQ34B,EAAI,GAAKsB,GACtB6jQ,EAAKxsO,GAAQ34B,EAAI,GAAKsB,GAC1B,OAAOirV,GAAOxrV,EAAIf,EAAIsB,GAAKA,EAAG82D,EAAIC,EAAIC,EAAI6sM,KAKb/+L,EAAW,SAAUl4D,GACpD,OAAO,WACL,OAAOA,IAOX,SAASmiI,EAAOjxI,EAAGe,GACjB,OAAO,SAASY,GACd,OAAO3B,EAAI2B,EAAIZ,GAInB,SAASwob,EAAYvpb,EAAGC,EAAGwU,GACzB,OAAOzU,EAAIqG,KAAKw5B,IAAI7/B,EAAGyU,GAAIxU,EAAIoG,KAAKw5B,IAAI5/B,EAAGwU,GAAKzU,EAAGyU,EAAI,EAAIA,EAAG,SAAS9S,GACrE,OAAO0E,KAAKw5B,IAAI7/B,EAAI2B,EAAI1B,EAAGwU,IAI/B,SAAS+0a,EAAUxpb,EAAGC,GACpB,IAAIc,EAAId,EAAID,EACZ,OAAOe,EAAIkwI,EAAOjxI,EAAGe,EAAI,KAAOA,GAAK,IAAMA,EAAI,IAAMsF,KAAKs5B,MAAM5+B,EAAI,KAAOA,GAAKimE,EAASj5D,MAAM/N,GAAKC,EAAID,GAG1G,SAAS43S,EAAMnjS,GACb,OAAoB,KAAZA,GAAKA,GAAWg1a,EAAU,SAASzpb,EAAGC,GAC5C,OAAOA,EAAID,EAAIupb,EAAYvpb,EAAGC,EAAGwU,GAAKuyD,EAASj5D,MAAM/N,GAAKC,EAAID,IAIlE,SAASypb,EAAQzpb,EAAGC,GAClB,IAAIc,EAAId,EAAID,EACZ,OAAOe,EAAIkwI,EAAOjxI,EAAGe,GAAKimE,EAASj5D,MAAM/N,GAAKC,EAAID,GASvB,IAAI0pb,EAAW,SAAUC,EAASl1a,GAC7D,IAAI9I,EAAQisS,EAAMnjS,GAElB,SAASjM,EAAIwb,EAAOE,GAClB,IAAI3iB,EAAIoK,GAAOqY,EAAQ+ka,EAAU/ka,IAAQziB,GAAI2iB,EAAM6ka,EAAU7ka,IAAM3iB,GAC/DsoB,EAAIle,EAAMqY,EAAM6F,EAAG3F,EAAI2F,GACvB5pB,EAAI0L,EAAMqY,EAAM/jB,EAAGikB,EAAIjkB,GACvBiL,EAAUu+a,EAAQzla,EAAM9Y,QAASgZ,EAAIhZ,SACzC,OAAO,SAASvJ,GAKd,OAJAqiB,EAAMziB,EAAIA,EAAEI,GACZqiB,EAAM6F,EAAIA,EAAEloB,GACZqiB,EAAM/jB,EAAIA,EAAE0B,GACZqiB,EAAM9Y,QAAUA,EAAQvJ,GACjBqiB,EAAQ,IAMnB,OAFAxb,EAAIovS,MAAQ+xI,EAELnhb,EAnBkC,CAoBxC,GAEH,SAASohb,EAAUC,GACjB,OAAO,SAASp8a,GACd,IAII7M,EAAG+K,EAJHzJ,EAAIuL,EAAO5N,OACX0B,EAAI,IAAIgD,MAAMrC,GACd2nB,EAAI,IAAItlB,MAAMrC,GACdjC,EAAI,IAAIsE,MAAMrC,GAElB,IAAKtB,EAAI,EAAGA,EAAIsB,IAAKtB,EACnB+K,EAAQo9a,EAAUt7a,EAAO7M,IACzBW,EAAEX,GAAK+K,EAAMpK,GAAK,EAClBsoB,EAAEjpB,GAAK+K,EAAMke,GAAK,EAClB5pB,EAAEW,GAAK+K,EAAM1L,GAAK,EAMpB,OAJAsB,EAAIsob,EAAOtob,GACXsoB,EAAIgga,EAAOhga,GACX5pB,EAAI4pb,EAAO5pb,GACX0L,EAAMT,QAAU,EACT,SAASvJ,GAId,OAHAgK,EAAMpK,EAAIA,EAAEI,GACZgK,EAAMke,EAAIA,EAAEloB,GACZgK,EAAM1L,EAAIA,EAAE0B,GACLgK,EAAQ,KAKrB,IAAIm+a,EAAWF,EAAUP,GACrBU,EAAiBH,EAAUN,GAGEU,EAAc,SAAUhqb,EAAGC,GACrDA,IAAGA,EAAI,IACZ,IAEIW,EAFAsB,EAAIlC,EAAIqG,KAAKoC,IAAIxI,EAAEJ,OAAQG,EAAEH,QAAU,EACvCK,EAAID,EAAE4E,QAEV,OAAO,SAASlD,GACd,IAAKf,EAAI,EAAGA,EAAIsB,IAAKtB,EAAGV,EAAEU,GAAKZ,EAAEY,IAAM,EAAIe,GAAK1B,EAAEW,GAAKe,EACvD,OAAOzB,IAIX,SAAS+pb,EAAcn7a,GACrB,OAAO4zK,YAAY0/H,OAAOtzS,MAAQA,aAAauzS,UAOpB,IAAIr5Q,EAAQ,SAAUhpC,EAAGC,GACpD,OAAQgqb,EAAchqb,GAAK+pb,EAAcE,GAAclqb,EAAGC,IAG5D,SAASiqb,EAAalqb,EAAGC,GACvB,IAIIW,EAJAyqP,EAAKprP,EAAIA,EAAEJ,OAAS,EACpBiH,EAAK9G,EAAIqG,KAAKoC,IAAI4iP,EAAIrrP,EAAEH,QAAU,EAClCiP,EAAI,IAAIvK,MAAMuC,GACd5G,EAAI,IAAIqE,MAAM8mP,GAGlB,IAAKzqP,EAAI,EAAGA,EAAIkG,IAAMlG,EAAGkO,EAAElO,GAAKupb,GAAUnqb,EAAEY,GAAIX,EAAEW,IAClD,KAAOA,EAAIyqP,IAAMzqP,EAAGV,EAAEU,GAAKX,EAAEW,GAE7B,OAAO,SAASe,GACd,IAAKf,EAAI,EAAGA,EAAIkG,IAAMlG,EAAGV,EAAEU,GAAKkO,EAAElO,GAAGe,GACrC,OAAOzB,GAKkB,IAAIwb,EAAO,SAAU1b,EAAGC,GACnD,IAAIc,EAAI,IAAIoc,KACZ,OAAOnd,GAAKA,EAAGC,GAAKA,EAAG,SAAS0B,GAC9B,OAAOZ,EAAE48T,QAAQ39T,GAAK,EAAI2B,GAAK1B,EAAI0B,GAAIZ,IAKV89C,GAAS,SAAU7+C,EAAGC,GACrD,OAAOD,GAAKA,EAAGC,GAAKA,EAAG,SAAS0B,GAC9B,OAAO3B,GAAK,EAAI2B,GAAK1B,EAAI0B,IAOIQ,GAAS,SAAUnC,EAAGC,GACrD,IAEIoF,EAFAzE,EAAI,GACJV,EAAI,GAMR,IAAKmF,KAHK,OAANrF,GAA2B,kBAANA,IAAgBA,EAAI,IACnC,OAANC,GAA2B,kBAANA,IAAgBA,EAAI,IAEnCA,EACJoF,KAAKrF,EACPY,EAAEyE,GAAK8kb,GAAUnqb,EAAEqF,GAAIpF,EAAEoF,IAEzBnF,EAAEmF,GAAKpF,EAAEoF,GAIb,OAAO,SAAS1D,GACd,IAAK0D,KAAKzE,EAAGV,EAAEmF,GAAKzE,EAAEyE,GAAG1D,GACzB,OAAOzB,IAOPkqb,GAAM,8CACNC,GAAM,IAAI9hZ,OAAO6hZ,GAAIngX,OAAQ,KAEjC,SAASo5Q,GAAKpjV,GACZ,OAAO,WACL,OAAOA,GAIX,SAASiyM,GAAIjyM,GACX,OAAO,SAAS0B,GACd,OAAO1B,EAAE0B,GAAK,IAIW,IAiIzB2ob,GACAC,GACAC,GACAC,GApI6B3zJ,GAAS,SAAU92R,EAAGC,GACrD,IACI21Q,EACAokE,EACAxwL,EAHAhiJ,EAAK4ib,GAAIpmQ,UAAYqmQ,GAAIrmQ,UAAY,EAIrCpjL,GAAK,EACL4B,EAAI,GACJimE,EAAI,GAGRzoE,GAAQ,GAAIC,GAAQ,GAGpB,OAAQ21Q,EAAKw0K,GAAI98U,KAAKttG,MACdg6U,EAAKqwG,GAAI/8U,KAAKrtG,KACfupJ,EAAKwwL,EAAG12U,OAASkE,IACpBgiJ,EAAKvpJ,EAAE4E,MAAM2C,EAAIgiJ,GACbhnJ,EAAE5B,GAAI4B,EAAE5B,IAAM4oJ,EACbhnJ,IAAI5B,GAAK4oJ,IAEXosH,EAAKA,EAAG,OAASokE,EAAKA,EAAG,IACxBx3U,EAAE5B,GAAI4B,EAAE5B,IAAMo5U,EACbx3U,IAAI5B,GAAKo5U,GAEdx3U,IAAI5B,GAAK,KACT6nE,EAAE/kE,KAAK,CAAC9C,EAAGA,EAAGkO,EAAG+vC,GAAO+2N,EAAIokE,MAE9BxyU,EAAK6ib,GAAIrmQ,UAYX,OARIx8K,EAAKvH,EAAEJ,SACT2pJ,EAAKvpJ,EAAE4E,MAAM2C,GACThF,EAAE5B,GAAI4B,EAAE5B,IAAM4oJ,EACbhnJ,IAAI5B,GAAK4oJ,GAKThnJ,EAAE3C,OAAS,EAAK4oE,EAAE,GACnBypI,GAAIzpI,EAAE,GAAG35D,GACTu0U,GAAKpjV,IACJA,EAAIwoE,EAAE5oE,OAAQ,SAAS8B,GACtB,IAAK,IAAWT,EAAPN,EAAI,EAAMA,EAAIX,IAAKW,EAAG4B,GAAGtB,EAAIunE,EAAE7nE,IAAIA,GAAKM,EAAE4N,EAAEnN,GACrD,OAAOa,EAAEqB,KAAK,OAeSsmb,GAAY,SAAUnqb,EAAGC,GACxD,IAAkBC,EAAdyB,SAAW1B,EACf,OAAY,MAALA,GAAmB,YAAN0B,EAAkBqlE,EAAS/mE,IAClC,WAAN0B,EAAiBk9C,GACZ,WAANl9C,GAAmBzB,EAAIyob,EAAY1ob,KAAOA,EAAIC,EAAGwpb,GAAW5yJ,GAC5D72R,aAAa0ob,EAAce,EAC3Bzpb,aAAakd,KAAOzB,EACpBuua,EAAchqb,GAAK+pb,EACnBzlb,MAAM0J,QAAQhO,GAAKiqb,EACE,oBAAdjqb,EAAEsiO,SAAgD,oBAAftiO,EAAE+c,UAA2BjP,MAAM9N,GAAKkC,GAClF08C,IAAQ7+C,EAAGC,IAIcyqb,GAAW,SAAUpya,GACpD,IAAIpW,EAAIoW,EAAMzY,OACd,OAAO,SAAS8B,GACd,OAAO2W,EAAMjS,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAIvG,EAAI,EAAGmE,KAAK2N,MAAMrS,EAAIO,QAO3Byob,GAAU,SAAU3qb,EAAGC,GACtD,IAAIW,EAAI4ob,GAAWxpb,GAAIC,GACvB,OAAO,SAAS0B,GACd,IAAImN,EAAIlO,EAAEe,GACV,OAAOmN,EAAI,IAAMzI,KAAK2N,MAAMlF,EAAI,OAKH6wB,GAAQ,SAAU3/B,EAAGC,GACpD,OAAOD,GAAKA,EAAGC,GAAKA,EAAG,SAAS0B,GAC9B,OAAO0E,KAAKs5B,MAAM3/B,GAAK,EAAI2B,GAAK1B,EAAI0B,KAKpC+gP,GAAU,IAAMr8O,KAAKg8B,GAErB34B,GAAW,CACbk2J,WAAY,EACZC,WAAY,EACZjrJ,OAAQ,EACRg2a,MAAO,EACPnxQ,OAAQ,EACRC,OAAQ,GAGuB0gO,GAAY,SAAUp6Y,EAAGC,EAAGC,EAAGa,EAAGkd,EAAGyqB,GACpE,IAAI+wI,EAAQC,EAAQkxQ,EAKpB,OAJInxQ,EAASpzK,KAAKuD,KAAK5J,EAAIA,EAAIC,EAAIA,MAAID,GAAKy5K,EAAQx5K,GAAKw5K,IACrDmxQ,EAAQ5qb,EAAIE,EAAID,EAAIc,KAAGb,GAAKF,EAAI4qb,EAAO7pb,GAAKd,EAAI2qb,IAChDlxQ,EAASrzK,KAAKuD,KAAK1J,EAAIA,EAAIa,EAAIA,MAAIb,GAAKw5K,EAAQ34K,GAAK24K,EAAQkxQ,GAASlxQ,GACtE15K,EAAIe,EAAId,EAAIC,IAAGF,GAAKA,EAAGC,GAAKA,EAAG2qb,GAASA,EAAOnxQ,GAAUA,GACtD,CACL7Z,WAAY3hJ,EACZ4hJ,WAAYn3H,EACZ9zB,OAAQvO,KAAK01M,MAAM97M,EAAGD,GAAK0iP,GAC3BkoM,MAAOvkb,KAAKiiH,KAAKsiU,GAASloM,GAC1BjpE,OAAQA,EACRC,OAAQA,IAYZ,SAASmxQ,GAASnpb,GAChB,MAAc,SAAVA,EAAyBgI,IACxB4gb,KAASA,GAAUxpa,SAASC,cAAc,OAAQwpa,GAAUzpa,SAASg1L,gBAAiB00O,GAAU1pa,SAAS2lS,aAC9G6jI,GAAQj6a,MAAMga,UAAY3oB,EAC1BA,EAAQ8ob,GAAQ5+Q,iBAAiB2+Q,GAAQjha,YAAYgha,IAAU,MAAMz+Q,iBAAiB,aACtF0+Q,GAAQ/3T,YAAY83T,IACpB5ob,EAAQA,EAAMmD,MAAM,GAAI,GAAGiM,MAAM,KAC1BspY,IAAW14Y,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,IAAKA,EAAM,KAGjF,SAASopb,GAASppb,GAChB,OAAa,MAATA,EAAsBgI,IACrB+gb,KAASA,GAAU3pa,SAASiP,gBAAgB,6BAA8B,MAC/E06Z,GAAQtmV,aAAa,YAAaziG,IAC5BA,EAAQ+ob,GAAQpga,UAAU20I,QAAQC,gBACxCv9J,EAAQA,EAAMs0B,OACPokX,GAAU14Y,EAAM1B,EAAG0B,EAAMzB,EAAGyB,EAAMxB,EAAGwB,EAAMX,EAAGW,EAAMuc,EAAGvc,EAAMgnC,IAFLh/B,IASjE,SAASg2U,GAAqBvkI,EAAO4vO,EAASC,EAASC,GAErD,SAASplb,EAAIrD,GACX,OAAOA,EAAE3C,OAAS2C,EAAEqD,MAAQ,IAAM,GAGpC,SAAS61N,EAAUjkM,EAAIK,EAAIoqB,EAAI+N,EAAIztD,EAAGimE,GACpC,GAAIhxC,IAAOyqB,GAAMpqB,IAAOm4B,EAAI,CAC1B,IAAIrvD,EAAI4B,EAAEkB,KAAK,aAAc,KAAMqnb,EAAS,KAAMC,GAClDviX,EAAE/kE,KAAK,CAAC9C,EAAGA,EAAI,EAAGkO,EAAG+vC,GAAOpnB,EAAIyqB,IAAM,CAACthD,EAAGA,EAAI,EAAGkO,EAAG+vC,GAAO/mB,EAAIm4B,UACtD/N,GAAM+N,IACfztD,EAAEkB,KAAK,aAAew+C,EAAK6oY,EAAU96X,EAAK+6X,GAI9C,SAASp2a,EAAO5U,EAAGC,EAAGuC,EAAGimE,GACnBzoE,IAAMC,GACJD,EAAIC,EAAI,IAAKA,GAAK,IAAcA,EAAID,EAAI,MAAKA,GAAK,KACtDyoE,EAAE/kE,KAAK,CAAC9C,EAAG4B,EAAEkB,KAAKmC,EAAIrD,GAAK,UAAW,KAAMyob,GAAY,EAAGn8a,EAAG+vC,GAAO7+C,EAAGC,MAC/DA,GACTuC,EAAEkB,KAAKmC,EAAIrD,GAAK,UAAYvC,EAAIgrb,GAIpC,SAASL,EAAM5qb,EAAGC,EAAGuC,EAAGimE,GAClBzoE,IAAMC,EACRwoE,EAAE/kE,KAAK,CAAC9C,EAAG4B,EAAEkB,KAAKmC,EAAIrD,GAAK,SAAU,KAAMyob,GAAY,EAAGn8a,EAAG+vC,GAAO7+C,EAAGC,KAC9DA,GACTuC,EAAEkB,KAAKmC,EAAIrD,GAAK,SAAWvC,EAAIgrb,GAInC,SAAStlX,EAAMluC,EAAIK,EAAIoqB,EAAI+N,EAAIztD,EAAGimE,GAChC,GAAIhxC,IAAOyqB,GAAMpqB,IAAOm4B,EAAI,CAC1B,IAAIrvD,EAAI4B,EAAEkB,KAAKmC,EAAIrD,GAAK,SAAU,KAAM,IAAK,KAAM,KACnDimE,EAAE/kE,KAAK,CAAC9C,EAAGA,EAAI,EAAGkO,EAAG+vC,GAAOpnB,EAAIyqB,IAAM,CAACthD,EAAGA,EAAI,EAAGkO,EAAG+vC,GAAO/mB,EAAIm4B,UAC/C,IAAP/N,GAAmB,IAAP+N,GACrBztD,EAAEkB,KAAKmC,EAAIrD,GAAK,SAAW0/C,EAAK,IAAM+N,EAAK,KAI/C,OAAO,SAASjwD,EAAGC,GACjB,IAAIuC,EAAI,GACJimE,EAAI,GAOR,OANAzoE,EAAIm7M,EAAMn7M,GAAIC,EAAIk7M,EAAMl7M,GACxBy7N,EAAU17N,EAAE4/J,WAAY5/J,EAAE6/J,WAAY5/J,EAAE2/J,WAAY3/J,EAAE4/J,WAAYr9J,EAAGimE,GACrE7zD,EAAO5U,EAAE4U,OAAQ3U,EAAE2U,OAAQpS,EAAGimE,GAC9BmiX,EAAM5qb,EAAE4qb,MAAO3qb,EAAE2qb,MAAOpob,EAAGimE,GAC3B9C,EAAM3lE,EAAEy5K,OAAQz5K,EAAE05K,OAAQz5K,EAAEw5K,OAAQx5K,EAAEy5K,OAAQl3K,EAAGimE,GACjDzoE,EAAIC,EAAI,KACD,SAAS0B,GACd,IAA0BT,EAAtBN,GAAK,EAAGsB,EAAIumE,EAAE5oE,OAClB,QAASe,EAAIsB,EAAGM,GAAGtB,EAAIunE,EAAE7nE,IAAIA,GAAKM,EAAE4N,EAAEnN,GACtC,OAAOa,EAAEqB,KAAK,MAKpB,IAAIqnb,GAA0BxrG,GAAqBmrG,GAAU,OAAQ,MAAO,QACxEM,GAA0BzrG,GAAqBorG,GAAU,KAAM,IAAK,KAGpEM,GAAM/kb,KAAKg/O,MACXgmM,GAAO,EACPC,GAAO,EACPC,GAAW,MAEf,SAASC,GAAU18a,GACjB,QAASA,EAAIzI,KAAKuuD,IAAI9lD,IAAM,EAAIA,GAAK,EAGvC,SAAS28a,GAAU38a,GACjB,QAASA,EAAIzI,KAAKuuD,IAAI9lD,IAAM,EAAIA,GAAK,EAGvC,SAAS48a,GAAK58a,GACZ,QAASA,EAAIzI,KAAKuuD,IAAI,EAAI9lD,IAAM,IAAMA,EAAI,GAKf,IAAI82F,GAAO,SAAUxf,EAAIC,GACpD,IAKIzlF,EACA+7C,EANA02Q,EAAMjtO,EAAG,GAAIktO,EAAMltO,EAAG,GAAIt4E,EAAKs4E,EAAG,GAClCmtO,EAAMltO,EAAG,GAAImtO,EAAMntO,EAAG,GAAIqiH,EAAKriH,EAAG,GAClCjtD,EAAKm6R,EAAMF,EACXjpS,EAAKopS,EAAMF,EACXzqP,EAAKzvC,EAAKA,EAAKhP,EAAKA,EAKxB,GAAIy+C,EAAK0iX,GACP5uY,EAAIt2C,KAAK8lB,IAAIu8K,EAAK56L,GAAMs9a,GACxBxqb,EAAI,SAASe,GACX,MAAO,CACL0xT,EAAM1xT,EAAIy3B,EACVk6R,EAAM3xT,EAAIyoB,EACVtc,EAAKzH,KAAKuuD,IAAIw2X,GAAMzpb,EAAIg7C,SAMzB,CACH,IAAIi3G,EAAKvtJ,KAAKuD,KAAKi/D,GACf+G,GAAM84H,EAAKA,EAAK56L,EAAKA,EAAKw9a,GAAOziX,IAAO,EAAI/6D,EAAKu9a,GAAOz3R,GACxD7oD,GAAM29F,EAAKA,EAAK56L,EAAKA,EAAKw9a,GAAOziX,IAAO,EAAI6/H,EAAK2iP,GAAOz3R,GACxDl0G,EAAKr5C,KAAK8lB,IAAI9lB,KAAKuD,KAAKgmE,EAAKA,EAAK,GAAKA,GACvCi0B,EAAKx9F,KAAK8lB,IAAI9lB,KAAKuD,KAAKmhG,EAAKA,EAAK,GAAKA,GAC3CpuD,GAAKknD,EAAKnkD,GAAM0rY,GAChBxqb,EAAI,SAASe,GACX,IAAIa,EAAIb,EAAIg7C,EACR82Q,EAAS+3H,GAAU9rY,GACnB37C,EAAI+J,GAAMu9a,GAAOz3R,IAAO6/J,EAASi4H,GAAKN,GAAM5ob,EAAIk9C,GAAM+rY,GAAU/rY,IACpE,MAAO,CACL2zQ,EAAMtvT,EAAIq1B,EACVk6R,EAAMvvT,EAAIqmB,EACVtc,EAAK2lT,EAAS+3H,GAAUJ,GAAM5ob,EAAIk9C,KAOxC,OAFA9+C,EAAEmQ,SAAe,IAAJ4rC,EAEN/7C,GAOT,SAAS+qb,GAAQzwJ,GACf,OAAO,SAASl3Q,EAAOE,GACrB,IAAIwtC,EAAIwpO,GAAKl3Q,EAAQlb,EAAIkb,IAAQ0tC,GAAIxtC,EAAMpb,EAAIob,IAAMwtC,GACjDlvD,EAAIinb,EAAQzla,EAAMxhB,EAAG0hB,EAAI1hB,GACzB3B,EAAI4ob,EAAQzla,EAAMnjB,EAAGqjB,EAAIrjB,GACzBqK,EAAUu+a,EAAQzla,EAAM9Y,QAASgZ,EAAIhZ,SACzC,OAAO,SAASvJ,GAKd,OAJAqiB,EAAM0tC,EAAIA,EAAE/vD,GACZqiB,EAAMxhB,EAAIA,EAAEb,GACZqiB,EAAMnjB,EAAIA,EAAEc,GACZqiB,EAAM9Y,QAAUA,EAAQvJ,GACjBqiB,EAAQ,KAKQ,IAAI4na,GAAWD,GAAQnC,GAChDqC,GAAUF,GAAQlC,GAGlBlrY,GAAUl4C,KAAKg8B,GAAK,IACpB4sO,GAAU,IAAM5oQ,KAAKg8B,GAQrB46U,GAAI,GACJ6uE,GAAK,OACLC,GAAK,EACLC,GAAK,OACL99a,GAAK,EAAI,GACTgsB,GAAK,EAAI,GACTC,GAAK,EAAID,GAAKA,GACdipE,GAAKjpE,GAAKA,GAAKA,GAEnB,SAAS+xZ,GAAW/qb,GAClB,GAAIA,aAAagrb,GAAK,OAAO,IAAIA,GAAIhrb,EAAEL,EAAGK,EAAElB,EAAGkB,EAAEjB,EAAGiB,EAAEgK,SACtD,GAAIhK,aAAairb,GAAK,OAAOC,GAAQlrb,GAC/BA,aAAa2nb,IAAM3nb,EAAI4nb,EAAW5nb,IACxC,IAGuE4N,EAAGS,EAHtEhO,EAAI8qb,GAASnrb,EAAEK,GACfsoB,EAAIwia,GAASnrb,EAAE2oB,GACf5pB,EAAIosb,GAASnrb,EAAEjB,GACfwU,EAAI63a,IAAS,SAAY/qb,EAAI,SAAYsoB,EAAI,SAAY5pB,GAAK8rb,IAKlE,OAJIxqb,IAAMsoB,GAAKA,IAAM5pB,EAAG6O,EAAIS,EAAIkF,GAC9B3F,EAAIw9a,IAAS,SAAY/qb,EAAI,SAAYsoB,EAAI,SAAY5pB,GAAK6rb,IAC9Dv8a,EAAI+8a,IAAS,SAAY/qb,EAAI,SAAYsoB,EAAI,SAAY5pB,GAAK+rb,KAEzD,IAAIE,GAAI,IAAMz3a,EAAI,GAAI,KAAO3F,EAAI2F,GAAI,KAAOA,EAAIlF,GAAIrO,EAAEgK,SAO/D,SAASisT,GAAIt2T,EAAGb,EAAGC,EAAGiL,GACpB,OAA4B,IAArB9K,UAAUP,OAAeosb,GAAWprb,GAAK,IAAIqrb,GAAIrrb,EAAGb,EAAGC,EAAc,MAAXiL,EAAkB,EAAIA,GAGzF,SAASghb,GAAIrrb,EAAGb,EAAGC,EAAGiL,GACpBhI,KAAKrC,GAAKA,EACVqC,KAAKlD,GAAKA,EACVkD,KAAKjD,GAAKA,EACViD,KAAKgI,SAAWA,EA0BlB,SAASohb,GAAQ3qb,GACf,OAAOA,EAAIwhG,GAAK98F,KAAKw5B,IAAIl+B,EAAG,EAAI,GAAKA,EAAIw4B,GAAKjsB,GAGhD,SAASq+a,GAAQ5qb,GACf,OAAOA,EAAIu4B,GAAKv4B,EAAIA,EAAIA,EAAIw4B,IAAMx4B,EAAIuM,IAGxC,SAASs+a,GAAS19a,GAChB,OAAO,KAAOA,GAAK,SAAY,MAAQA,EAAI,MAAQzI,KAAKw5B,IAAI/wB,EAAG,EAAI,KAAO,MAG5E,SAASu9a,GAASv9a,GAChB,OAAQA,GAAK,MAAQ,OAAUA,EAAI,MAAQzI,KAAKw5B,KAAK/wB,EAAI,MAAS,MAAO,KAG3E,SAAS29a,GAAWvrb,GAClB,GAAIA,aAAairb,GAAK,OAAO,IAAIA,GAAIjrb,EAAEwwD,EAAGxwD,EAAEhB,EAAGgB,EAAEL,EAAGK,EAAEgK,SAEtD,GADMhK,aAAagrb,KAAMhrb,EAAI+qb,GAAW/qb,IAC5B,IAARA,EAAElB,GAAmB,IAARkB,EAAEjB,EAAS,OAAO,IAAIksb,GAAI3rX,IAAK,EAAIt/D,EAAEL,GAAKK,EAAEL,EAAI,IAAM,EAAI2/D,IAAKt/D,EAAEL,EAAGK,EAAEgK,SACvF,IAAIwmD,EAAIrrD,KAAK01M,MAAM76M,EAAEjB,EAAGiB,EAAElB,GAAKivQ,GAC/B,OAAO,IAAIk9K,GAAIz6X,EAAI,EAAIA,EAAI,IAAMA,EAAGrrD,KAAKuD,KAAK1I,EAAElB,EAAIkB,EAAElB,EAAIkB,EAAEjB,EAAIiB,EAAEjB,GAAIiB,EAAEL,EAAGK,EAAEgK,SAO/E,SAAS6rT,GAAIrlQ,EAAGxxD,EAAGW,EAAGqK,GACpB,OAA4B,IAArB9K,UAAUP,OAAe4sb,GAAW/6X,GAAK,IAAIy6X,GAAIz6X,EAAGxxD,EAAGW,EAAc,MAAXqK,EAAkB,EAAIA,GAGzF,SAASihb,GAAIz6X,EAAGxxD,EAAGW,EAAGqK,GACpBhI,KAAKwuD,GAAKA,EACVxuD,KAAKhD,GAAKA,EACVgD,KAAKrC,GAAKA,EACVqC,KAAKgI,SAAWA,EAGlB,SAASkhb,GAAQlrb,GACf,GAAI6M,MAAM7M,EAAEwwD,GAAI,OAAO,IAAIw6X,GAAIhrb,EAAEL,EAAG,EAAG,EAAGK,EAAEgK,SAC5C,IAAIwmD,EAAIxwD,EAAEwwD,EAAInT,GACd,OAAO,IAAI2tY,GAAIhrb,EAAEL,EAAGwF,KAAK6qD,IAAIQ,GAAKxwD,EAAEhB,EAAGmG,KAAK8qD,IAAIO,GAAKxwD,EAAEhB,EAAGgB,EAAEgK,SAmB9D,SAASwhb,GAAQ1oa,EAAOE,GACtB,IAAIrjB,EAAI4ob,GAASzla,EAAQmzS,GAAInzS,IAAQnjB,GAAIqjB,EAAMizS,GAAIjzS,IAAMrjB,GACrDb,EAAIypb,EAAQzla,EAAMhkB,EAAGkkB,EAAIlkB,GACzBC,EAAIwpb,EAAQzla,EAAM/jB,EAAGikB,EAAIjkB,GACzBiL,EAAUu+a,EAAQzla,EAAM9Y,QAASgZ,EAAIhZ,SACzC,OAAO,SAASvJ,GAKd,OAJAqiB,EAAMnjB,EAAIA,EAAEc,GACZqiB,EAAMhkB,EAAIA,EAAE2B,GACZqiB,EAAM/jB,EAAIA,EAAE0B,GACZqiB,EAAM9Y,QAAUA,EAAQvJ,GACjBqiB,EAAQ,IAQnB,SAAS2oa,GAAQzxJ,GACf,OAAO,SAASl3Q,EAAOE,GACrB,IAAIwtC,EAAIwpO,GAAKl3Q,EAAQ+yS,GAAI/yS,IAAQ0tC,GAAIxtC,EAAM6yS,GAAI7yS,IAAMwtC,GACjDxxD,EAAIupb,EAAQzla,EAAM9jB,EAAGgkB,EAAIhkB,GACzBW,EAAI4ob,EAAQzla,EAAMnjB,EAAGqjB,EAAIrjB,GACzBqK,EAAUu+a,EAAQzla,EAAM9Y,QAASgZ,EAAIhZ,SACzC,OAAO,SAASvJ,GAKd,OAJAqiB,EAAM0tC,EAAIA,EAAE/vD,GACZqiB,EAAM9jB,EAAIA,EAAEyB,GACZqiB,EAAMnjB,EAAIA,EAAEc,GACZqiB,EAAM9Y,QAAUA,EAAQvJ,GACjBqiB,EAAQ,KAjHrB4hW,EAAOsmE,GAAK/0H,GAAKqsG,EAAOpgZ,EAAO,CAC7B0zS,SAAU,SAASzxT,GACjB,OAAO,IAAI6mb,GAAIhpb,KAAKrC,EAAIo8W,IAAU,MAAL53W,EAAY,EAAIA,GAAInC,KAAKlD,EAAGkD,KAAKjD,EAAGiD,KAAKgI,UAExEwoM,OAAQ,SAASruM,GACf,OAAO,IAAI6mb,GAAIhpb,KAAKrC,EAAIo8W,IAAU,MAAL53W,EAAY,EAAIA,GAAInC,KAAKlD,EAAGkD,KAAKjD,EAAGiD,KAAKgI,UAExE1C,IAAK,WACH,IAAIiM,GAAKvR,KAAKrC,EAAI,IAAM,IACpBiO,EAAIf,MAAM7K,KAAKlD,GAAKyU,EAAIA,EAAIvR,KAAKlD,EAAI,IACrCuP,EAAIxB,MAAM7K,KAAKjD,GAAKwU,EAAIA,EAAIvR,KAAKjD,EAAI,IAIzC,OAHA6O,EAAIg9a,GAAKS,GAAQz9a,GACjB2F,EAAIs3a,GAAKQ,GAAQ93a,GACjBlF,EAAIy8a,GAAKO,GAAQh9a,GACV,IAAIs5a,EACT2D,GAAU,UAAY19a,EAAI,UAAY2F,EAAI,SAAYlF,GACtDi9a,IAAU,SAAY19a,EAAI,UAAY2F,EAAI,QAAYlF,GACtDi9a,GAAU,SAAY19a,EAAI,SAAY2F,EAAI,UAAYlF,GACtDrM,KAAKgI,aAkDX06W,EAAOumE,GAAKp1H,GAAKysG,EAAOpgZ,EAAO,CAC7B0zS,SAAU,SAASzxT,GACjB,OAAO,IAAI8mb,GAAIjpb,KAAKwuD,EAAGxuD,KAAKhD,EAAGgD,KAAKrC,EAAIo8W,IAAU,MAAL53W,EAAY,EAAIA,GAAInC,KAAKgI,UAExEwoM,OAAQ,SAASruM,GACf,OAAO,IAAI8mb,GAAIjpb,KAAKwuD,EAAGxuD,KAAKhD,EAAGgD,KAAKrC,EAAIo8W,IAAU,MAAL53W,EAAY,EAAIA,GAAInC,KAAKgI,UAExE1C,IAAK,WACH,OAAO4jb,GAAQlpb,MAAMsF,UA0CI,IAAIokb,GAAWD,GAAQnD,GAChDqD,GAAUF,GAAQlD,GAOlBnxP,IAAK,OACL6V,GAAI,QACJC,IAAK,OACLC,IAAK,OACLi4C,GAAI,QACJwmM,GAAKxmM,GAAIj4C,GACT0+O,GAAKzmM,GAAIn4C,GACT6+O,GAAQ7+O,GAAIC,GAAIC,GAAI/V,GAExB,SAAS20P,GAAiB/rb,GACxB,GAAIA,aAAagsb,GAAW,OAAO,IAAIA,GAAUhsb,EAAEwwD,EAAGxwD,EAAEsB,EAAGtB,EAAEL,EAAGK,EAAEgK,SAC5DhK,aAAa2nb,IAAM3nb,EAAI4nb,EAAW5nb,IACxC,IAAIK,EAAIL,EAAEK,EAAI,IACVsoB,EAAI3oB,EAAE2oB,EAAI,IACV5pB,EAAIiB,EAAEjB,EAAI,IACVY,GAAKmsb,GAAQ/sb,EAAI6sb,GAAKvrb,EAAIwrb,GAAKlja,IAAMmja,GAAQF,GAAKC,IAClDzlS,EAAKrnJ,EAAIY,EACTwE,GAAKihP,IAAKz8N,EAAIhpB,GAAKutM,GAAI9mD,GAAM+mD,GAC7B7rM,EAAI6D,KAAKuD,KAAKvE,EAAIA,EAAIiiJ,EAAKA,IAAOg/F,GAAIzlP,GAAK,EAAIA,IAC/C6wD,EAAIlvD,EAAI6D,KAAK01M,MAAM12M,EAAGiiJ,GAAM2nH,GAAU,IAAMzuM,IAChD,OAAO,IAAI0sX,GAAUx7X,EAAI,EAAIA,EAAI,IAAMA,EAAGlvD,EAAG3B,EAAGK,EAAEgK,SAGpD,SAASiib,GAAoBz7X,EAAGlvD,EAAG3B,EAAGqK,GACpC,OAA4B,IAArB9K,UAAUP,OAAeotb,GAAiBv7X,GAAK,IAAIw7X,GAAUx7X,EAAGlvD,EAAG3B,EAAc,MAAXqK,EAAkB,EAAIA,GAGrG,SAASgib,GAAUx7X,EAAGlvD,EAAG3B,EAAGqK,GAC1BhI,KAAKwuD,GAAKA,EACVxuD,KAAKV,GAAKA,EACVU,KAAKrC,GAAKA,EACVqC,KAAKgI,SAAWA,EA+BlB,SAASkib,GAAwBlyJ,GAC/B,OAAO,SAAUmyJ,EAAe54a,GAG9B,SAAS64a,EAAUtpa,EAAOE,GACxB,IAAIwtC,EAAIwpO,GAAKl3Q,EAAQmpa,GAAoBnpa,IAAQ0tC,GAAIxtC,EAAMipa,GAAoBjpa,IAAMwtC,GACjFlvD,EAAIinb,EAAQzla,EAAMxhB,EAAG0hB,EAAI1hB,GACzB3B,EAAI4ob,EAAQzla,EAAMnjB,EAAGqjB,EAAIrjB,GACzBqK,EAAUu+a,EAAQzla,EAAM9Y,QAASgZ,EAAIhZ,SACzC,OAAO,SAASvJ,GAKd,OAJAqiB,EAAM0tC,EAAIA,EAAE/vD,GACZqiB,EAAMxhB,EAAIA,EAAEb,GACZqiB,EAAMnjB,EAAIA,EAAEwF,KAAKw5B,IAAIl+B,EAAG8S,IACxBuP,EAAM9Y,QAAUA,EAAQvJ,GACjBqiB,EAAQ,IAMnB,OAlBAvP,GAAKA,EAgBL64a,EAAU11I,MAAQy1I,EAEXC,EAnBF,CAoBJ,GAjDL1nE,EAAOsnE,GAAWC,GAAqB3pB,EAAOpgZ,EAAO,CACnD0zS,SAAU,SAASzxT,GAEjB,OADAA,EAAS,MAALA,EAAYyxT,EAAWzwT,KAAKw5B,IAAIi3R,EAAUzxT,GACvC,IAAI6nb,GAAUhqb,KAAKwuD,EAAGxuD,KAAKV,EAAGU,KAAKrC,EAAIwE,EAAGnC,KAAKgI,UAExDwoM,OAAQ,SAASruM,GAEf,OADAA,EAAS,MAALA,EAAYquM,EAASrtM,KAAKw5B,IAAI6zK,EAAQruM,GACnC,IAAI6nb,GAAUhqb,KAAKwuD,EAAGxuD,KAAKV,EAAGU,KAAKrC,EAAIwE,EAAGnC,KAAKgI,UAExD1C,IAAK,WACH,IAAIkpD,EAAI3jD,MAAM7K,KAAKwuD,GAAK,GAAKxuD,KAAKwuD,EAAI,KAAOnT,GACzC19C,GAAKqC,KAAKrC,EACVb,EAAI+N,MAAM7K,KAAKV,GAAK,EAAIU,KAAKV,EAAI3B,GAAK,EAAIA,GAC1C0sb,EAAOlnb,KAAK6qD,IAAIQ,GAChB87X,EAAOnnb,KAAK8qD,IAAIO,GACpB,OAAO,IAAIm3X,EACT,KAAOhob,EAAIb,GAAKs4L,GAAIi1P,EAAOp/O,GAAIq/O,IAC/B,KAAO3sb,EAAIb,GAAKouM,GAAIm/O,EAAOl/O,GAAIm/O,IAC/B,KAAO3sb,EAAIb,GAAKsmP,GAAIinM,IACpBrqb,KAAKgI,aAiCkB,IAAIuib,GAAiBL,GAAwB5D,GACtEkE,GAAgBN,GAAwB3D,GAG5C,SAASkE,GAAUvwO,EAAa7jL,GAC9B,IAAI34B,EAAI,EAAGsB,EAAIq3B,EAAO15B,OAAS,EAAGuF,EAAIm0B,EAAO,GAAI+gS,EAAI,IAAI/1T,MAAMrC,EAAI,EAAI,EAAIA,GAC3E,MAAOtB,EAAIsB,EAAGo4T,EAAE15T,GAAKw8M,EAAYh4M,EAAGA,EAAIm0B,IAAS34B,IACjD,OAAO,SAASe,GACd,IAAIf,EAAIyF,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAIvG,EAAI,EAAGmE,KAAK2N,MAAMrS,GAAKO,KACpD,OAAOo4T,EAAE15T,GAAGe,EAAIf,IAKS,IAAIqqV,GAAW,SAAUsd,EAAcrmW,GAElE,IADA,IAAI0rb,EAAU,IAAIrpb,MAAMrC,GACftB,EAAI,EAAGA,EAAIsB,IAAKtB,EAAGgtb,EAAQhtb,GAAK2nW,EAAa3nW,GAAKsB,EAAI,IAC/D,OAAO0rb,GAIkCltb,EAAoBK,EAAE0lE,EAAqB,eAAe,WAAa,OAAO0jX,MACzEzpb,EAAoBK,EAAE0lE,EAAqB,oBAAoB,WAAa,OAAOz9B,KACnFtoC,EAAoBK,EAAE0lE,EAAqB,oBAAoB,WAAa,OAAO4iX,KAC7E3ob,EAAoBK,EAAE0lE,EAAqB,0BAA0B,WAAa,OAAO6iX,KAChG5ob,EAAoBK,EAAE0lE,EAAqB,mBAAmB,WAAa,OAAO/qD,KAC9Ehb,EAAoBK,EAAE0lE,EAAqB,uBAAuB,WAAa,OAAOikX,MAC3Fhqb,EAAoBK,EAAE0lE,EAAqB,kBAAkB,WAAa,OAAOkkX,MAC9Ejqb,EAAoBK,EAAE0lE,EAAqB,qBAAqB,WAAa,OAAO5nB,MAC/En+C,EAAoBK,EAAE0lE,EAAqB,0BAA0B,WAAa,OAAOujX,KAC9Ftpb,EAAoBK,EAAE0lE,EAAqB,qBAAqB,WAAa,OAAOtkE,MACrFzB,EAAoBK,EAAE0lE,EAAqB,oBAAoB,WAAa,OAAO9mC,MAClFj/B,EAAoBK,EAAE0lE,EAAqB,qBAAqB,WAAa,OAAOqwN,MAC9Ep2R,EAAoBK,EAAE0lE,EAAqB,2BAA2B,WAAa,OAAOykX,MAC1Fxqb,EAAoBK,EAAE0lE,EAAqB,2BAA2B,WAAa,OAAO0kX,MAClGzqb,EAAoBK,EAAE0lE,EAAqB,mBAAmB,WAAa,OAAOm/B,MACnFllG,EAAoBK,EAAE0lE,EAAqB,kBAAkB,WAAa,OAAOijX,KAC5Ehpb,EAAoBK,EAAE0lE,EAAqB,uBAAuB,WAAa,OAAOqjX,KAChFppb,EAAoBK,EAAE0lE,EAAqB,6BAA6B,WAAa,OAAOsjX,KACvGrpb,EAAoBK,EAAE0lE,EAAqB,kBAAkB,WAAa,OAAOmlX,MAC7Elrb,EAAoBK,EAAE0lE,EAAqB,sBAAsB,WAAa,OAAOolX,MACzFnrb,EAAoBK,EAAE0lE,EAAqB,kBAAkB,WAAa,OAAOimX,MACjFhsb,EAAoBK,EAAE0lE,EAAqB,kBAAkB,WAAa,OAAOmmX,MAC7Elsb,EAAoBK,EAAE0lE,EAAqB,sBAAsB,WAAa,OAAOomX,MACnFnsb,EAAoBK,EAAE0lE,EAAqB,wBAAwB,WAAa,OAAOgnX,MACnF/sb,EAAoBK,EAAE0lE,EAAqB,4BAA4B,WAAa,OAAOinX,MAC1Ghtb,EAAoBK,EAAE0lE,EAAqB,aAAa,WAAa,OAAOknX,MAC7Ejtb,EAAoBK,EAAE0lE,EAAqB,YAAY,WAAa,OAAOwkR,OA0B7G,KACA,SAAU1rV,EAAQC,EAASkB,GAEjC,aAWA,IAAIitF,EAAYjtF,EAAoB,QAChCmtb,EAAkBntb,EAAoB,QAAQ+5D,WAC9Cj3C,EAAa9iB,EAAoB,QAAQ8iB,WAE7CjkB,EAAOC,QAAU,CACbi7D,WAAY,CACR4xC,QAAS7oF,EAAW,GAAIqqa,EAAgBxhV,QAAS,CAC7C1nF,SAAS,IAGb2nF,YAAa9oF,EAAW,GAAIqqa,EAAgBvhV,YAAa,CACrD3nF,SAAS,IAGbjD,KAAMisE,EAAU,CACZhpE,SAAS,EACTV,SAAU,SAGdkoF,MAAO3oF,EAAW,GAAIqqa,EAAgB1hV,MAAO,CAACxnF,SAAS,IACvDgrH,WAAYnsH,EAAW,GAAIqqa,EAAgBl+S,WAAY,CAAChrH,SAAS,IACjEV,SAAU,UAOZ,KACA,SAAU1kB,EAAQC,GAYxB,SAAS+2G,EAASh2F,EAAKvgB,EAAGC,GAItB,OAHAsgB,EAAI,GAAKvgB,EAAE,GAAKC,EAAE,GAClBsgB,EAAI,GAAKvgB,EAAE,GAAKC,EAAE,GAClBsgB,EAAI,GAAKvgB,EAAE,GAAKC,EAAE,GACXsgB,EAdXhhB,EAAOC,QAAU+2G,GAmBX,KACA,SAAUh3G,EAAQC,EAASkB,GAEjC,aAaA,IAAIotb,EAAW,GA0Df,SAAStwF,EAAmBp4V,GAC1B,IAAIlF,EAAI,GAQR,OAPAkF,IAAMA,EACFA,GAAGlF,IACC,MAAJkF,IAAgBlF,GAAK,IACjB,SAAJkF,IAAgBlF,GAAK,GACjB,UAAJkF,IAAgBlF,GAAK,GACjB,UAAJkF,IAAgBlF,GAAK,GACjB,WAAJkF,IAAgBlF,GAAK,GAClBA,EAhETV,EAAQsub,SAAYA,EACpBtub,EAAQuub,QAAa,WACrBvub,EAAQwub,SAAa,GAAIF,EAAS,EAGlCtub,EAAQ+lE,KAAO,SAASngE,GACtB,OAAQA,EAAI,IAAMA,EAAI,IAIxB5F,EAAQ4Y,IAAM,SAAShT,GACrB,IAAIglC,EAAOhlC,GAAM0ob,EAAS,EAC1B,OAAQ1ob,EAAIglC,GAAQA,GAItB5qC,EAAQiJ,IAAM,SAASqG,EAAG2F,GACxB,OAAOA,GAAM3F,EAAI2F,KAAO3F,EAAI2F,IAI9BjV,EAAQkJ,IAAM,SAASoG,EAAG2F,GACxB,OAAO3F,GAAMA,EAAI2F,KAAO3F,EAAI2F,IAI9BjV,EAAQyub,OAAS,SAAS7ob,GACxB,QAASA,EAAKA,EAAE,MAAUA,GAI5B5F,EAAQi2L,KAAO,SAASrwL,GACtB,IAAI7D,EAAGovD,EAKP,OAJApvD,GAAS6D,EAAI,QAAW,EAAGA,KAAO7D,EAClCovD,GAASvrD,EAAI,MAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EAC9CA,GAASvrD,EAAI,KAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EAC9CA,GAASvrD,EAAI,IAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EACvCpvD,EAAK6D,GAAK,GAInB5F,EAAQ0ub,MAAQ,SAAS9ob,GACvB,OAASA,GAAK,IAAc,EAAKA,GAAK,IAAa,EAAKA,GAAK,IAAY,EAChEA,GAAK,IAAW,EAAKA,GAAK,IAAU,EAAKA,GAAK,IAAS,EACvDA,GAAK,IAAQ,EAAKA,GAAK,IAAO,EAAKA,GAAK,GAAM,EAAI,GAI7D5F,EAAQyqJ,SAAW,SAAS7kJ,GAG1B,OAFAA,GAAUA,IAAM,EAAK,WACrBA,GAAS,UAAJA,IAAoBA,IAAM,EAAK,WACE,UAA7BA,GAAKA,IAAM,GAAK,aAA4B,IAevD5F,EAAQg+V,mBAAqBA,EAG7Bh+V,EAAQm2L,SAAW,SAASvwL,GAQ1B,OAPAA,GAAW,IAANA,IACHA,EACFA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACJA,EAAI,GAIb5F,EAAQ2ub,SAAW,SAAS/ob,GAM1B,OALAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACJA,GAAKA,IAAI,IAIlB5F,EAAQsI,OAAS,SAAS1C,GAKxB,OAJAA,GAAKA,IAAM,GACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAK,GACG,QAAWA,EAAK,GAG1B,IAAIgpb,EAAgB,IAAI7pb,MAAM,MAE9B,SAAU8pb,GACR,IAAI,IAAIztb,EAAE,EAAGA,EAAE,MAAOA,EAAG,CACvB,IAAIwE,EAAIxE,EAAGW,EAAIX,EAAG4B,EAAI,EACtB,IAAK4C,KAAO,EAAGA,EAAGA,KAAO,EACvB7D,IAAM,EACNA,GAAS,EAAJ6D,IACH5C,EAEJ6rb,EAAIztb,GAAMW,GAAKiB,EAAK,MARxB,CAUG4rb,GAGH5ub,EAAQmwD,QAAU,SAASvqD,GACzB,OAASgpb,EAA2B,IAAZhpb,IAAqB,GACpCgpb,EAAehpb,IAAM,EAAM,MAAS,GACpCgpb,EAAehpb,IAAM,GAAM,MAAS,EACpCgpb,EAAehpb,IAAM,GAAM,MAItC5F,EAAQ8ub,YAAc,SAASx/a,EAAG2F,GAahC,OAZA3F,GAAK,MACLA,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEf2F,GAAK,MACLA,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAER3F,EAAK2F,GAAK,GAInBjV,EAAQ+ub,cAAgB,SAASnpb,EAAGlD,GAMlC,OALAkD,EAAKA,IAAMlD,EAAK,WAChBkD,EAAuB,WAAlBA,EAAKA,IAAM,GAChBA,EAAuB,WAAlBA,EAAKA,IAAM,GAChBA,EAAuB,UAAlBA,EAAKA,IAAM,GAChBA,EAAuB,OAAlBA,EAAKA,IAAM,IACRA,GAAK,IAAO,IAKtB5F,EAAQgvb,YAAc,SAAS1/a,EAAG2F,EAAGlF,GAoBnC,OAnBAT,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GAEd2F,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACd3F,GAAM2F,GAAK,EAEXlF,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GAEPT,EAAKS,GAAK,GAInB/P,EAAQivb,cAAgB,SAASrpb,EAAGlD,GAMlC,OALAkD,EAAKA,IAAMlD,EAAW,WACtBkD,EAAsB,YAAjBA,EAAKA,IAAI,GACdA,EAAsB,WAAjBA,EAAKA,IAAI,GACdA,EAAsB,YAAjBA,EAAKA,IAAI,GACdA,EAAsB,MAAjBA,EAAKA,IAAI,IACNA,GAAG,IAAK,IAIlB5F,EAAQ+qJ,gBAAkB,SAASnlJ,GACjC,IAAIzD,EAAIyD,EAAKA,EAAI,EACjB,OAAQzD,EAAI,IAASA,IAAMA,GAAK,IAAQ67V,EAAmBp4V,GAAK,IAO5D,KACA,SAAU7F,EAAQC,EAASkB,GAEjC,aAYA,IAAIm5B,EAAWn5B,EAAoB,QAWnCnB,EAAOC,QAAU,SAAkByP,EAAIzM,GAcnC,IAbA,IAAI8qH,EAASr+G,EAAG+Y,SAASslG,OAajB1sH,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAEvB,IADA,IAAIi7L,EAAU5sL,EAAG+Y,SAAS6zK,QAClB32L,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIotW,GAAQz2K,EAAQvuE,IAAW,IAAIuc,WACnC,GAAGyoO,EAAM,CACL,IAAI/xV,EAAM+xV,EAAK9vW,GACf,GAAG+d,EAAK,OAAOA,EAEnBs7K,EAAUhiK,EAASiiK,eAGvB,IAAIN,EAAaluE,EAAOx8G,MAAM,KAAK,GACnC,GAAG0qL,IAAeluE,EAAQ,MAC1BA,EAASkuE,EAGb,OAAOh5L,IAML,KACA,SAAUjD,EAAQC,EAASkB,GAEjC,aAEA,IAAI4oG,EAAI5oG,EAAoB,QACxBq4F,EAASr4F,EAAoB,QAC7B21H,EAAa31H,EAAoB,QACjCkkQ,EAAUlkQ,EAAoB,QAC9Bo3D,EAAcp3D,EAAoB,QAClCgub,EAAgBhub,EAAoB,QACpCiub,EAAoBjub,EAAoB,QACxC+lF,EAAQ/lF,EAAoB,QAC5Bw3D,EAAMx3D,EAAoB,QAC1BuN,EAAUvN,EAAoB,QAC9BklL,EAAWllL,EAAoB,QAC/Bq9L,EAAWr9L,EAAoB,QAC/BisL,EAAWjsL,EAAoB,QAC/B8nC,EAAkB9nC,EAAoB,QACtCu3D,EAAcv3D,EAAoB,QAClCs3D,EAA2Bt3D,EAAoB,QAC/Ckub,EAAqBlub,EAAoB,QACzCs9L,EAAat9L,EAAoB,QACjCqkQ,EAA4BrkQ,EAAoB,QAChDmub,EAA8Bnub,EAAoB,QAClDskQ,EAA8BtkQ,EAAoB,QAClDoub,EAAiCpub,EAAoB,QACrDo9L,EAAuBp9L,EAAoB,QAC3Cq3D,EAA6Br3D,EAAoB,QACjD6uG,EAA8B7uG,EAAoB,QAClD4kJ,EAAW5kJ,EAAoB,QAC/BuiX,EAASviX,EAAoB,QAC7Bq3S,EAAYr3S,EAAoB,QAChC4lJ,EAAa5lJ,EAAoB,QACjCi1B,EAAMj1B,EAAoB,QAC1BtB,EAAkBsB,EAAoB,QACtCm/V,EAA+Bn/V,EAAoB,QACnDqub,EAAwBrub,EAAoB,QAC5Csub,EAAiBtub,EAAoB,QACrCq1V,EAAsBr1V,EAAoB,QAC1C64G,EAAW74G,EAAoB,QAAQ02D,QAEvC63X,EAASl3I,EAAU,UACnB99K,EAAS,SACT87O,EAAY,YACZm5E,EAAe9vb,EAAgB,eAC/B+vb,EAAmBp5F,EAAoBxnV,IACvCynV,EAAmBD,EAAoB99C,UAAUh+K,GACjDm1T,EAAkBjub,OAAO40W,GACzBs5E,EAAUt2V,EAAOv3F,OACjB8tb,EAAaj5T,EAAW,OAAQ,aAChCj+D,EAAiC02X,EAA+BpmZ,EAChEotY,EAAuBh4O,EAAqBp1J,EAC5CD,EAA4BomZ,EAA4BnmZ,EACxD6mZ,EAA6Bx3X,EAA2BrvB,EACxD8mZ,EAAavsE,EAAO,WACpBwsE,EAAyBxsE,EAAO,cAChCysE,GAAyBzsE,EAAO,6BAChC0sE,GAAyB1sE,EAAO,6BAChC2sE,GAAwB3sE,EAAO,OAC/B4sE,GAAU92V,EAAO82V,QAEjBC,IAAcD,KAAYA,GAAQ95E,KAAe85E,GAAQ95E,GAAWg6E,UAGpEC,GAAsBl4X,GAAe2uB,GAAM,WAC7C,OAES,GAFFmoW,EAAmB9Y,EAAqB,GAAI,IAAK,CACtDx0a,IAAK,WAAc,OAAOw0a,EAAqB5ya,KAAM,IAAK,CAAExB,MAAO,IAAK1B,MACtEA,KACD,SAAUs4D,EAAGC,EAAGw9W,GACnB,IAAIka,EAA4B73X,EAA+Bg3X,EAAiB72X,GAC5E03X,UAAkCb,EAAgB72X,GACtDu9W,EAAqBx9W,EAAGC,EAAGw9W,GACvBka,GAA6B33X,IAAM82X,GACrCtZ,EAAqBsZ,EAAiB72X,EAAG03X,IAEzCna,EAEAhqa,GAAO,SAAUokb,EAAKv4D,GACxB,IAAInqS,EAASgiW,EAAWU,GAAOtB,EAAmBS,EAAQt5E,IAO1D,OANAo5E,EAAiB3hW,EAAQ,CACvB55E,KAAMqmH,EACNi2T,IAAKA,EACLv4D,YAAaA,IAEV7/T,IAAa01B,EAAOmqS,YAAcA,GAChCnqS,GAGL+6F,GAAWomQ,EAAoB,SAAU7lZ,GAC3C,MAAoB,iBAANA,GACZ,SAAUA,GACZ,OAAO3nC,OAAO2nC,aAAeumZ,GAG3Bc,GAAkB,SAAwB73X,EAAGC,EAAGw9W,GAC9Cz9W,IAAM82X,GAAiBe,GAAgBV,EAAwBl3X,EAAGw9W,GACtEh4O,EAASzlI,GACT,IAAIt2D,EAAMi2D,EAAYM,GAAG,GAEzB,OADAwlI,EAASg4O,GACL79W,EAAIs3X,EAAYxtb,IACb+za,EAAW10a,YAIV62D,EAAII,EAAG22X,IAAW32X,EAAE22X,GAAQjtb,KAAMs2D,EAAE22X,GAAQjtb,IAAO,GACvD+za,EAAa6Y,EAAmB7Y,EAAY,CAAE10a,WAAY22D,EAAyB,GAAG,OAJjFE,EAAII,EAAG22X,IAASnZ,EAAqBx9W,EAAG22X,EAAQj3X,EAAyB,EAAG,KACjFM,EAAE22X,GAAQjtb,IAAO,GAIVgub,GAAoB13X,EAAGt2D,EAAK+za,IAC9BD,EAAqBx9W,EAAGt2D,EAAK+za,IAGpCqa,GAAoB,SAA0B93X,EAAG2lI,GACnDF,EAASzlI,GACT,IAAI+J,EAAa75B,EAAgBy1J,GAC7Bh2I,EAAO+1I,EAAW37H,GAAYh6D,OAAOgob,GAAuBhuX,IAIhE,OAHAk3C,EAAStxD,GAAM,SAAUjmD,GAClB81D,IAAew4X,GAAsBvwb,KAAKsiE,EAAYrgE,IAAMmub,GAAgB73X,EAAGt2D,EAAKqgE,EAAWrgE,OAE/Fs2D,GAGLi4X,GAAU,SAAgBj4X,EAAG2lI,GAC/B,YAAsBn+L,IAAfm+L,EAA2B2wP,EAAmBt2X,GAAK83X,GAAkBxB,EAAmBt2X,GAAI2lI,IAGjGqyP,GAAwB,SAA8BtzE,GACxD,IAAIzkT,EAAIN,EAAY+kT,GAAG,GACnB37W,EAAakub,EAA2Bxvb,KAAKmD,KAAMq1D,GACvD,QAAIr1D,OAASksb,GAAmBl3X,EAAIs3X,EAAYj3X,KAAOL,EAAIu3X,EAAwBl3X,QAC5El3D,IAAe62D,EAAIh1D,KAAMq1D,KAAOL,EAAIs3X,EAAYj3X,IAAML,EAAIh1D,KAAM+rb,IAAW/rb,KAAK+rb,GAAQ12X,KAAKl3D,IAGlGmvb,GAA4B,SAAkCl4X,EAAGC,GACnE,IAAIzvB,EAAKN,EAAgB8vB,GACrBt2D,EAAMi2D,EAAYM,GAAG,GACzB,GAAIzvB,IAAOsmZ,IAAmBl3X,EAAIs3X,EAAYxtb,IAASk2D,EAAIu3X,EAAwBztb,GAAnF,CACA,IAAI6jJ,EAAaztF,EAA+BtvB,EAAI9mC,GAIpD,OAHI6jJ,IAAc3tF,EAAIs3X,EAAYxtb,IAAUk2D,EAAIpvB,EAAImmZ,IAAWnmZ,EAAGmmZ,GAAQjtb,KACxE6jJ,EAAWxkJ,YAAa,GAEnBwkJ,IAGL4qS,GAAuB,SAA6Bn4X,GACtD,IAAIu0E,EAAQpkG,EAA0BD,EAAgB8vB,IAClDvuD,EAAS,GAIb,OAHAwvG,EAASszB,GAAO,SAAU7qI,GACnBk2D,EAAIs3X,EAAYxtb,IAASk2D,EAAIouF,EAAYtkJ,IAAM+H,EAAOrG,KAAK1B,MAE3D+H,GAGLsmb,GAAyB,SAA+B/3X,GAC1D,IAAIo4X,EAAsBp4X,IAAM82X,EAC5BviT,EAAQpkG,EAA0BioZ,EAAsBjB,EAAyBjnZ,EAAgB8vB,IACjGvuD,EAAS,GAMb,OALAwvG,EAASszB,GAAO,SAAU7qI,IACpBk2D,EAAIs3X,EAAYxtb,IAAU0ub,IAAuBx4X,EAAIk3X,EAAiBptb,IACxE+H,EAAOrG,KAAK8rb,EAAWxtb,OAGpB+H,GAkHT,GA7GK2kb,IACHW,EAAU,WACR,GAAInsb,gBAAgBmsb,EAAS,MAAM/4X,UAAU,+BAC7C,IAAIqhU,EAAev3X,UAAUP,aAA2BC,IAAjBM,UAAU,GAA+BX,OAAOW,UAAU,SAA7BN,EAChEowb,EAAMv6Z,EAAIgiW,GACV/tE,EAAS,SAAUloT,GACjBwB,OAASksb,GAAiBxlI,EAAO7pT,KAAK0vb,EAAwB/tb,GAC9Dw2D,EAAIh1D,KAAM+rb,IAAW/2X,EAAIh1D,KAAK+rb,GAASiB,KAAMhtb,KAAK+rb,GAAQiB,IAAO,GACrEF,GAAoB9sb,KAAMgtb,EAAKl4X,EAAyB,EAAGt2D,KAG7D,OADIo2D,GAAeg4X,IAAYE,GAAoBZ,EAAiBc,EAAK,CAAE1tR,cAAc,EAAMj0J,IAAKq7S,IAC7F99S,GAAKokb,EAAKv4D,IAGnBryO,EAAS+pS,EAAQt5E,GAAY,YAAY,WACvC,OAAO/f,EAAiB9yV,MAAMgtb,OAGhC5qS,EAAS+pS,EAAS,iBAAiB,SAAU13D,GAC3C,OAAO7rX,GAAK6pB,EAAIgiW,GAAcA,MAGhC5/T,EAA2BrvB,EAAI4nZ,GAC/BxyP,EAAqBp1J,EAAIynZ,GACzBrB,EAA+BpmZ,EAAI8nZ,GACnCzrL,EAA0Br8N,EAAImmZ,EAA4BnmZ,EAAI+nZ,GAC9DzrL,EAA4Bt8N,EAAI2nZ,GAEhCxwF,EAA6Bn3T,EAAI,SAAU1nC,GACzC,OAAO8K,GAAK1M,EAAgB4B,GAAOA,IAGjC82D,IAEFg+W,EAAqBuZ,EAAQt5E,GAAY,cAAe,CACtDvzM,cAAc,EACdlhK,IAAK,WACH,OAAO00V,EAAiB9yV,MAAMy0X,eAG7B/yH,GACHt/G,EAAS8pS,EAAiB,uBAAwBkB,GAAuB,CAAEn6F,QAAQ,MAKzF7sP,EAAE,CAAEvQ,QAAQ,EAAMjtF,MAAM,EAAM89F,QAAS8kV,EAAevoS,MAAOuoS,GAAiB,CAC5Eltb,OAAQ6tb,IAGV91U,EAASykF,EAAW4xP,KAAwB,SAAU5ub,GACpD+tb,EAAsB/tb,MAGxBsoG,EAAE,CAAE/4E,OAAQ0pG,EAAQgsB,MAAM,EAAMr8C,QAAS8kV,GAAiB,CAGxD,IAAO,SAAU1sb,GACf,IAAI80R,EAASr3R,OAAOuC,GACpB,GAAIk2D,EAAIw3X,GAAwB54J,GAAS,OAAO44J,GAAuB54J,GACvE,IAAItpM,EAAS6hW,EAAQv4J,GAGrB,OAFA44J,GAAuB54J,GAAUtpM,EACjCmiW,GAAuBniW,GAAUspM,EAC1BtpM,GAIT+kE,OAAQ,SAAgBo+R,GACtB,IAAKpoQ,GAASooQ,GAAM,MAAMr6X,UAAUq6X,EAAM,oBAC1C,GAAIz4X,EAAIy3X,GAAwBgB,GAAM,OAAOhB,GAAuBgB,IAEtEC,UAAW,WAAcd,IAAa,GACtCe,UAAW,WAAcf,IAAa,KAGxCxmV,EAAE,CAAE/4E,OAAQ,SAAU01H,MAAM,EAAMr8C,QAAS8kV,EAAevoS,MAAOruF,GAAe,CAG9E/1D,OAAQwub,GAGRnvb,eAAgB+ub,GAGhB95X,iBAAkB+5X,GAGlB/3X,yBAA0Bm4X,KAG5BlnV,EAAE,CAAE/4E,OAAQ,SAAU01H,MAAM,EAAMr8C,QAAS8kV,GAAiB,CAG1D9lZ,oBAAqB6nZ,GAGrBjkQ,sBAAuB6jQ,KAKzB/mV,EAAE,CAAE/4E,OAAQ,SAAU01H,MAAM,EAAMr8C,OAAQnjB,GAAM,WAAcu+K,EAA4Bt8N,EAAE,OAAU,CACpG8jJ,sBAAuB,SAA+B1jJ,GACpD,OAAOk8N,EAA4Bt8N,EAAEikJ,EAAS7jJ,OAM9CwmZ,EAAY,CACd,IAAIwB,IAAyBpC,GAAiBjoW,GAAM,WAClD,IAAI+G,EAAS6hW,IAEb,MAA+B,UAAxBC,EAAW,CAAC9hW,KAEe,MAA7B8hW,EAAW,CAAEtvb,EAAGwtF,KAEc,MAA9B8hW,EAAWnub,OAAOqsF,OAGzB8b,EAAE,CAAE/4E,OAAQ,OAAQ01H,MAAM,EAAMr8C,OAAQknV,IAAyB,CAE/DprQ,UAAW,SAAmB58I,EAAI2nN,EAAU02D,GAC1C,IAEI4pI,EAFAhmZ,EAAO,CAACjC,GACRxlC,EAAQ,EAEZ,MAAOlD,UAAUP,OAASyD,EAAOynC,EAAKrnC,KAAKtD,UAAUkD,MAErD,GADAytb,EAAYtgM,GACP7qE,EAAS6qE,SAAoB3wP,IAAPgpC,KAAoBy/I,GAASz/I,GAMxD,OALK76B,EAAQwiP,KAAWA,EAAW,SAAUzuP,EAAKN,GAEhD,GADwB,mBAAbqvb,IAAyBrvb,EAAQqvb,EAAUhxb,KAAKmD,KAAMlB,EAAKN,KACjE6mL,GAAS7mL,GAAQ,OAAOA,IAE/BqpC,EAAK,GAAK0lN,EACH6+L,EAAWnvb,MAAM,KAAM4qC,MAO/BskZ,EAAQt5E,GAAWm5E,IACtB3/U,EAA4B8/U,EAAQt5E,GAAYm5E,EAAcG,EAAQt5E,GAAWxzI,SAInFysN,EAAeK,EAASp1T,GAExBqsB,EAAW2oS,IAAU,GAKf,KACA,SAAU1vb,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUwxb,EAEjB,IAAIroS,EAAYjoJ,EAAoB,QAChCopG,EAAYppG,EAAoB,QAChCmvG,EAAYnvG,EAAoB,QAChCiC,EAAYjC,EAAoB,QAEhCwvG,EAAa,IAAI3rG,MAAM,IACvB0sb,EAAa,IAAI1sb,MAAM,GACvB2sb,EAAa,IAAI3sb,MAAM,GACvBuK,EAAa,IAAIvK,MAAM,GACvB4sb,EAAa,CAAC,EAAE,EAAE,GAUtB,SAASC,EAAYrnb,EAAQ+E,EAAG6tN,GAC9B,IAAI,IAAI/7N,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrBmJ,EAAOnJ,GAAK+7N,EAAI,GAAG/7N,GACnB,IAAI,IAAIsE,EAAE,EAAGA,EAAE,IAAKA,EAClB6E,EAAOnJ,IAAMkO,EAAE5J,GAAGy3N,EAAI,EAAEz3N,EAAEtE,KAZ/B,WACC,IAAI,IAAIA,EAAE,EAAGA,EAAE,IAAKA,EAClBqwb,EAAWrwb,GAAI,CAAC,EAAE,EAAE,EAAE,GACtBswb,EAAUtwb,GAAK,CAAC,EAAE,EAAE,IAHvB,GAiBD,IAAIywb,EAAiB,CACnB,CAAE,EAAG,EAAG,EAAG,EAAG,GACd,CAAE,EAAG,GAAG,EAAG,EAAG,GACd,CAAE,GAAG,EAAG,EAAG,EAAG,GACd,CAAE,EAAG,EAAG,EAAG,EAAG,GACd,EAAE,EAAG,EAAG,EAAG,EAAG,GACd,CAAE,EAAG,EAAG,EAAG,EAAG,IAGhB,SAAS/oO,EAAY/lN,GACnB,IAAI,IAAI3B,EAAE,EAAGA,EAAEywb,EAAexxb,SAAUe,EAEtC,GADA2B,EAAIstG,EAAUgB,SAAStuG,EAAG8ub,EAAezwb,IACtC2B,EAAE1C,OAAS,EACZ,OAAO,EAIX,IAAI+/B,EAAOr9B,EAAE,GACTikB,EAAKoZ,EAAK,GAAKA,EAAK,GACpBosE,EAAKpsE,EAAK,GAAKA,EAAK,GACpBwkC,EAAO,EACX,IAAQxjE,EAAE,EAAGA,EAAE,EAAE2B,EAAE1C,SAAUe,EAAG,CAC9B,IAAIX,EAAIsC,EAAE3B,GACNV,EAAIqC,EAAE3B,EAAE,GAERwgK,EAAKnhK,EAAE,GAAGA,EAAE,GACZohK,EAAKphK,EAAE,GAAGA,EAAE,GACZu1E,EAAKt1E,EAAE,GAAGA,EAAE,GACZu1E,EAAKv1E,EAAE,GAAGA,EAAE,GAEZk1E,EAAKgsF,EAAK56I,EACV6uD,EAAKgsF,EAAKr1D,EAEVliC,EAAK0L,EAAKhvD,EACVwjD,EAAKyL,EAAKu2B,EAEd5nC,GAAQ/9D,KAAK+R,IAAIg9D,EAAKpL,EAAKqL,EAAKvL,GAGlC,OAAO1F,EAGT,IAAIktX,EAAa,CAAC,EAAE,EAAE,GAClBC,EAAa,CAAC,EAAE,EAAE,GAClBC,EAAc,CAChBC,UAAWH,EACXxkW,KAAMykW,GAGR,SAASP,EAAarkb,EAAOC,EAAMC,EAAY/C,EAAQq1B,GAGrD2qE,EAASoG,EAAKtjG,EAAMD,GACpBm9F,EAASoG,EAAKrjG,EAAYqjG,GAI1B,IADA,IAAIroG,EAAM,EACFjH,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrBkO,EAAE,GAAKhF,EAAOlJ,GAAG,GACjB,IAAI,IAAIsE,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB4J,EAAE,GAAKhF,EAAO5E,GAAG,GACjB,IAAI,IAAIG,EAAE,EAAGA,EAAE,IAAKA,EAClByJ,EAAE,GAAKhF,EAAOzE,GAAG,GACjB+rb,EAAYH,EAAWppb,GAAMiH,EAAGohG,GAChCroG,GAAO,GAMb,IAAI8mE,GAAW,EAEf,IAAQ/tE,EAAE,EAAGA,EAAE,IAAKA,EAAG,CAErB,IADA,IAAIud,EAAI8ya,EAAWrwb,GAAG,GACdC,EAAE,EAAGA,EAAE,IAAKA,EAClBqwb,EAAUtwb,GAAGC,GAAKowb,EAAWrwb,GAAGC,GAAKsd,EAGpCghB,IAAO+xZ,EAAUtwb,GAAG,KAAO,GAE3Bud,EAAI,IACFwwD,EAAU,GAEHuiX,EAAUtwb,GAAG,GAAKswb,EAAUviX,GAAS,MAD7CA,EAAU/tE,GAOhB,GAAG+tE,EAAU,EAAG,CACdA,EAAU,EACV,IAAI,IAAI5tE,EAAE,EAAGA,EAAE,IAAKA,EAAG,CAKrB,IAJA,IAAIgD,GAAKhD,EAAE,GAAK,EACZqE,GAAKrE,EAAE,GAAK,EACZqiV,GAAM,EACNzgF,GAAM,EACFngQ,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB,IAAI8iQ,EAAM9iQ,GAAGzB,EACTwkQ,EAAKD,GAAM9iQ,GAAKuB,IAAO,EAAEvB,GAAM4C,GAC/BogQ,EAAKF,GAAO,EAAE9iQ,GAAMuB,IAAMvB,GAAK4C,GAChCzC,EAAOuub,EAAU5rL,GAAK4rL,EAAU3rL,GAAK2rL,EAAU1rL,GAAK2rL,GAAS,IAG7D3ub,EACD4gV,EAAK,EAELzgF,EAAK,GAGT,GAAGygF,EAAK,GAAKzgF,EAAK,EACbA,EAAKygF,IACNz0Q,GAAW,GAAG5tE,OAFlB,CAMA,IAAQyB,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACjB8iQ,EAAM9iQ,GAAGzB,EACTwkQ,EAAKD,GAAM9iQ,GAAKuB,IAAO,EAAEvB,GAAM4C,GAC/BogQ,EAAKF,GAAO,EAAE9iQ,GAAMuB,IAAMvB,GAAK4C,GAFnC,IAGIlE,EAAIonN,EAAY,CAChB2oO,EAAW3rL,GACX2rL,EAAW1rL,GACX0rL,EAAWzrL,GACXyrL,EAAW3rL,GAAI,GAAGvhQ,IAAI,GAAGqB,MAC1B5C,EACD4gV,EAAKliV,EAELyhQ,EAAKzhQ,EAGNyhQ,EAAKygF,IACNz0Q,GAAW,GAAG5tE,KAMpB,IAAI2wb,EAAW,EAAE/iX,EAGbp8C,GAAU,EACd,IAAQ3xB,EAAE,EAAGA,EAAE,IAAKA,EACfA,IAAM+tE,GAAW/tE,IAAM8wb,IAGvBn/Z,EAAS,GAEF2+Z,EAAU3+Z,GAAQ,GAAK2+Z,EAAUtwb,GAAG,MAD5C2xB,EAAS3xB,GAOb,IAAI0T,GAAQ,EACZ,IAAQ1T,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB,IAAI2kC,EAAMhT,EAAU,GAAG3xB,EACvB,GAAG2kC,IAAQopC,GAAWppC,IAAQmsZ,EAA9B,CAGGp9a,EAAO,IACRA,EAAOixB,GAELngC,EAAI8rb,EAAU3rZ,GACfngC,EAAE,GAAK8rb,EAAU58a,GAAM,KACxBA,EAAOixB,IAGX,IAAIhxB,GAAS,EACb,IAAQ3T,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACjB2kC,EAAMhT,EAAU,GAAG3xB,EACvB,GAAG2kC,IAAQopC,GAAWppC,IAAQmsZ,GAAYnsZ,IAAQjxB,EAAlD,CAGGC,EAAQ,IACTA,EAAQgxB,GAENngC,EAAI8rb,EAAU3rZ,GACfngC,EAAE,GAAK8rb,EAAU38a,GAAO,KACzBA,EAAQgxB,IAKZ,IAAIksZ,EAAYH,EAChBG,EAAU,GAAKA,EAAU,GAAKA,EAAU,GAAK,EAC7CA,EAAU9oS,EAAK8sC,KAAKnhL,EAAKie,IAAWA,EAAOje,EAC3Cm9a,EAAU9oS,EAAK8sC,KAAKljK,EAAOhe,IAAUge,EAAOhe,EAC5C,IAAIie,EAAc,EAARje,EACPie,IAAQm8C,GAAWn8C,IAAQk/Z,GAC5Bl/Z,EAAa,EAAPle,EACNm9a,EAAU9oS,EAAK8sC,KAAKlhL,EAAMie,IAAQA,EAAIje,GAEtCk9a,EAAU9oS,EAAK8sC,KAAKnhL,EAAKke,IAAQA,EAAIle,EAIvC,IAAIw4E,EAAOykW,EACPI,EAAYhjX,EAChB,IAAQ5tE,EAAE,EAAGA,EAAE,IAAKA,EAEhB+rF,EAAK/rF,GADJ4wb,EAAa,GAAG5wb,GACN,EAED,EAKd,OAAOywb,IAKH,KACA,SAAUjyb,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBuW,EAAMvW,EAAoB,QAE9BnB,EAAOC,QAAU,SAAcyP,EAAIuC,EAAUogb,EAAQC,GACjD,IAAIp6Z,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MAElBnQ,EAAIsoE,gBAAgBsyW,EAAWD,EAAQ,cAActhb,MAAK,SAASmQ,GAC/D,IAAIg/D,EAAYjwE,EAAGO,OAAO7M,MACtBgtC,EAAMzvB,EAAG,GACT9e,EAAIuuC,EAAIvuC,EACRuN,EAAQghC,EAAIhhC,MAEhB,IAAqB,IAAlBA,EAAMuD,SAAoB9Q,EAAE6mB,MAC3Bi3D,EAAUtuE,aADd,CAKA,IAAIowJ,EAAU5/J,EAAE4/J,QAEZ5gD,EAAQlhC,EAAUzvE,UAAU,QAAQnE,KAAKoL,EAAIvN,UAEjDi3G,EAAM1wG,QAAQC,OAAO,QAErBywG,EAAMv9D,OAAOjyC,SAEbwvG,EAAMx4F,KAAK,KAAK,SAASpnB,GACrB,GAAGA,EAAEynB,MAAO,MAAO,QAEnB,IAAI1Z,EAAI2oB,EAAGC,IAAI32B,EAAEyyC,KAAK,GAClBs+Y,EAAKr6Z,EAAGC,IAAI32B,EAAEyyC,IAAM+tH,GAAS,GAC7Bu+B,EAAKroK,EAAGC,IAAI32B,EAAEyyC,IAAM+tH,GAAS,GAE7BwwR,EAAKj6Z,EAAGJ,IAAI32B,EAAEG,GAAG,GACjBo9P,EAAKxmO,EAAGJ,IAAI32B,EAAE2wD,GAAG,GACjB05W,EAAKtzY,EAAGJ,IAAI32B,EAAEF,GAAG,GACjBk/L,EAAKjoK,EAAGJ,IAAI32B,EAAEb,GAAG,GAErB,MAAO,IAAM4xb,EAAK,IAAMC,EAAK,IAAMjjb,EAC/B,IAAMA,EAAI,IAAMwvP,EAAK,IAAM8sK,EAC3B,IAAMtrO,EAAK,IAAMC,EAAK,IAAMjxL,WAQtC,KACA,SAAUvP,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBuW,EAAMvW,EAAoB,QAC1BqvH,EAAcrvH,EAAoB,QAClCi2H,EAAUj2H,EAAoB,QAC9BonC,EAAmBpnC,EAAoB,QACvCsxb,EAActxb,EAAoB,QAsCtC,SAASisJ,EAAYslS,GAGjB,IAAIrjb,EAAYqI,EAAIi7a,cAAcD,GAC1BA,EACAzib,EAAGO,OAAOkib,GAElBrjb,EAAUoB,UAAU,eAAemB,SACnCvC,EAAUoB,UAAU,cAAcmB,SAKtC,SAASghb,EAAgBjjb,EAAOumS,EAAUttR,GACtC,OAAOlR,EAAI8jQ,WAAW7rQ,EAAOumS,EAAU,cAAgBttR,GAG3D,SAASytR,EAAc1mS,EAAOmX,EAAYovR,GACtC,SAAS28I,EAAQz/Z,GACb,OAAO1b,EAAIghR,gBAAgB,CAACjyQ,UAAW2M,GAAM,CAACy/D,QAASljF,EAAMkjF,SAAU/rE,GAG3E,OAAOpP,EAAI8jQ,WAAW7rQ,EAAOumS,EAAU,YAAa28I,GA1DxD7yb,EAAOC,QAAU,CACbsT,WAAY,YACZ9R,KAAM,KAENqwC,UAAW3wC,EAAoB,QAC/BinC,OAAQ,CACJogB,OAAQjgB,GAGZt8B,WAAY9K,EAAoB,QAChConC,iBAAkBA,EAElBuqZ,2BAA4B3xb,EAAoB,QAChDwS,eAAgBxS,EAAoB,QACpCm3D,qBAAsBn3D,EAAoB,QAE1CyS,KAAMzS,EAAoB,QAE1Bk/L,oBAAqBjpE,EAAQipE,oBAC7BC,WAAYlpE,EAAQkpE,WACpByyP,MAAO37T,EAAQ27T,MACfC,WAAY57T,EAAQ47T,WACpBliW,sBAAuBsmC,EAAQtmC,sBAE/B8hW,gBAAiBA,EACjBv8I,cAAeA,EAEfxzR,MAAO4va,EAAY5va,MACnBwuG,QAASb,EAAYa,QAErB67B,UAAWulS,EAAYvlS,UACvBE,YAAaA,EAEb1mD,MAAOvlG,EAAoB,UA+BzB,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAIorG,EAAWprG,EAAoB,QAC/BiwO,EAAmBjwO,EAAoB,QAAQ+3B,KAC/CE,EAAOj4B,EAAoB,QAAQi4B,KACnCnV,EAAa9iB,EAAoB,QAAQ8iB,WACzCuoF,EAAiBrrG,EAAoB,QAAQqrG,eAEjDxsG,EAAOC,QAAUusG,EAAe,QAAS,CACrCt5F,QAAS,CACLmR,QAAS,UAETC,MAAM,EACNI,SAAU,kBAIdrQ,KAAM,CACFgQ,QAAS,aACT2V,OAAQ,CAAC,SAAU,OAAQ,OAAQ,QAEnCtV,SAAU,kBAIdk/B,MAAO,CACHv/B,QAAS,aACT2V,OAAQ,CAAC,QAAS,SAClB1V,KAAM,QAENI,SAAU,aAId8kC,KAAMvlC,EAAW,GAAIsoF,EAAS/iD,KAAM,IAGpCk1F,UAAW,CACPr6H,QAAS,aACT2V,OAAQ,CAAC,SAAU,SACnB1V,KAAM,SAENI,SAAU,kBAGd++E,QAAS,CACLp/E,QAAS,MAETK,SAAU,kBAGdsT,GAAI,CACA3T,QAAS,MAETK,SAAU,kBAGduT,GAAI,CACA5T,QAAS,MAETK,SAAU,kBAId+kC,KAAMxlC,EAAW,GAAIsoF,EAAS9iD,KAAM,IAGpCm1F,UAAW,CACPv6H,QAAS,aACT2V,OAAQ,CAAC,SAAU,SACnB1V,KAAM,SAENI,SAAU,kBAGdg/E,QAAS,CACLr/E,QAAS,MAETK,SAAU,kBAGd2T,GAAI,CACAhU,QAAS,MAETK,SAAU,kBAGd4T,GAAI,CACAjU,QAAS,MAETK,SAAU,kBAIdw/B,KAAM,CACF7/B,QAAS,SAETK,SAAU,kBAId/Y,QAAS,CACL0Y,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EAENI,SAAU,aAGdwU,KAAM,CACF9sB,MAAO6X,EAAW,GAAImtN,EAAiBhlO,MAAO,CAACsY,SAAU,cACzDrC,MAAO4B,EAAW,GAAImtN,EAAiB/uN,MAAO,CAACqC,SAAU,mBACzD0U,KAAMnV,EAAW,GAAImV,EAAM,CAAC1U,SAAU,cAEtCA,SAAU,kBAEdgqE,UAAW,CACPrqE,QAAS,QACTC,KAAM,gBAENI,SAAU,aAGdA,SAAU,eAMR,KACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAGA,IAAI8xb,EAAO9xb,EAAoB,QAI/B,SAAS+xb,EAAiBz3U,EAAS/xC,EAAUypX,GACrB,oBAAZ13U,IACR03U,IAAazpX,EACbA,EAAW+xC,EACXA,EAAUlnF,QAEZ,IAAIm/B,EAAau/X,EAAK,KAAMx3U,GACxBqvM,EAAW,SAAS9mN,GACnBmvV,GACDnvV,EAAGsjC,iBAEL,IAAIztG,EAAKmqE,EAAGovV,QAAU,EAClBvoa,EAAKm5E,EAAG08D,QAAU,EAClBo9D,EAAK95H,EAAGqvV,QAAU,EAClBhxb,EAAO2hG,EAAGsyN,UACVlwP,EAAQ,EACZ,OAAO/jE,GACL,KAAK,EACH+jE,EAAQ1S,EACV,MACA,KAAK,EACH0S,EAAQ7xC,OAAOmQ,YACjB,MAKF,GAHA7K,GAAMusC,EACNv7C,GAAMu7C,EACN03J,GAAM13J,EACHvsC,GAAMhP,GAAMizM,EACb,OAAOp0J,EAAS7vC,EAAIhP,EAAIizM,EAAI95H,IAIhC,OADAyX,EAAQ11E,iBAAiB,QAAS+kR,GAC3BA,EAlCT9qT,EAAOC,QAAUizb,GAwCX,KACA,SAAUlzb,EAAQC,EAASkB,GAEjC,aAWA,IAAIq+E,EAAar+E,EAAoB,QACjCmyb,EAAenyb,EAAoB,QACnCwyL,EAAUxyL,EAAoB,QAElC,SAASyS,EAAKlE,EAAIC,EAAO2e,GACrB,IAAI1I,EAAWjW,EAAMiW,SACjBsT,EAAOvpB,EAAMupB,KACb46J,EAAKluK,EAAShB,MAAQ,EACtBusB,EAAWvrB,EAASurB,SACpBkyD,EAAWiwV,EAAa3jb,EAAO,CAAC4jb,YAAY,IAEhD,GAAgB,YAAbpiZ,EAAwB,CACvB,IAAIuwF,EAAQliD,EAAWI,YAAYjwE,GACnC2e,EAAKgzX,cAAgB5/Q,EAAME,aACvBpiD,EAAWqiD,UAAUH,EAAM7hD,YAC3B6hD,EAAM7hD,WACVvxD,EAAKizX,QAAU,CAAC7/Q,EAAMx4H,IAAKw4H,EAAMv4H,SACd,SAAbgoC,IACN7iB,EAAK4yX,WAAa79S,GAGtB/0E,EAAK6yX,MAAQ,CACT/0Y,MAAoB,UAAb+kC,EAAuBkyD,EAAWnqE,EAAK9sB,MAC9CiW,OAA8B,IAAvBuD,EAAS6lK,UAAsBvyJ,EAAK7W,MAAQ,EACnD+W,KAAMF,EAAKE,MAGf9K,EAAK8yX,QAAU,CACX38X,MAAOmB,EAASnB,MAChBE,IAAKgvK,EAAQ/tK,GACbhB,KAAMkvK,GAId9zL,EAAOC,QAAU,CACbiJ,IAAK,OACLC,IAAK,OACLyK,KAAMA,IAMJ,KACA,SAAU5T,EAAQC,EAASkB,GAEjC,aAWA,IAAIqyb,EAAWryb,EAAoB,QAC/BglK,EAAiBhlK,EAAoB,QAAQglK,eAE7CvpI,EAAYz7B,EAAoB,QAAQy7B,UACxC62N,EAAkBtyP,EAAoB,QAAQsyP,gBAC9C7zK,EAAcz+E,EAAoB,QAAQy+E,YAC1C+zK,EAAOxyP,EAAoB,QAE/B,SAASsyb,EAAKznb,EAAOoqB,GACjBzyB,KAAKqI,MAAQA,EACbrI,KAAKyyB,IAAMA,EACXzyB,KAAKkwP,KAAO,KACZlwP,KAAK2I,KAAO,KAGhB,IAAIrH,EAAQwub,EAAK3wb,UAEjBmC,EAAMqvP,WAAa,SAASjlP,GACxB,GAAGA,EAAUzM,SAAWe,KAAKkwP,KAAM,CAC/B,IAAIU,EAAcllP,EAAUtL,MAAQsL,EAAU/C,KAAKvI,MAC/C6kK,EAAKjlK,KAAK2I,KAAKiD,EAAEglP,GACjB1rF,EAAKllK,KAAK2I,KAAK4I,EAAEq/O,GACjB6Z,EAAKzqQ,KAAK2I,KAAK0D,EAAEukP,GACjB3sP,EAAKjE,KAAK2I,KAAK9H,EAAE+vP,GACjB7tP,EAAK/C,KAAK2I,KAAKzG,EAAE0uP,GACjBm/L,EAAK/vb,KAAK2I,KAAKsS,EAAE21O,GAErBllP,EAAU88E,gBAAkB,CACxBy8E,EAAIC,EAAIulG,EACRxmQ,EAAIlB,EAAIgtb,EACR5sb,KAAKuD,KAAKzC,EAAKA,EAAKlB,EAAKA,EAAKgtb,EAAKA,IAGvC,IAAItjb,EAAOzM,KAAK2I,KAAK+Y,WAAa1hB,KAAK2I,KAAK8D,KAO5C,OANGpL,MAAM0J,QAAQ0B,SAA+B7P,IAAtB6P,EAAKmkP,GAC3BllP,EAAUmlP,UAAYpkP,EAAKmkP,GACrBnkP,IACNf,EAAUmlP,UAAYpkP,IAGnB,IAIf,IAAIujb,EAAsB,CAAC/ra,MAAO,EAAGC,MAAO,EAAGgiM,MAAO,GAClD+pO,EAAoB,CAACC,IAAK,EAAGlrZ,KAAM,EAAGolW,GAAI,IAAMxsW,OAAQ,IACxDuyZ,EAAkB,CAACD,IAAK,EAAGlrZ,KAAM,EAAGolW,GAAI,IAAMxsW,OAAQ,IAE1D,SAAS+oB,EAAQt+C,EAAO2D,GACpB,IAAI0I,EAAcrM,EAAMsM,gBACpBM,EAAY5M,EAAM4M,UAClBm7a,EAAW,GAEf,SAAShgM,EAAav/K,EAAKw/W,GACvB,IAAI/sa,EAAK5O,EAAY27a,GACjB5tX,EAAQxtD,EAAU+6a,EAAoBK,IAC1C,OAAOp3Z,EAAU43C,GAAK,SAAS3uE,GAAK,OAAOohB,EAAGswB,IAAI1xC,GAAKugE,KAG3D2tX,EAAS7hV,QAAUyhJ,EACfI,EAAapkP,EAAMnL,EAAG,SACtBuvP,EAAapkP,EAAM9J,EAAG,SACtBkuP,EAAapkP,EAAMiP,EAAG,SACtBjP,EAAMi2Z,MAGVmuB,EAAS9lb,UAAY0lP,EACjBI,EAAapkP,EAAMJ,EAAG,SACtBwkP,EAAapkP,EAAMuF,EAAG,SACtB6+O,EAAapkP,EAAMK,EAAG,SACtBL,EAAMi2Z,MAGV,IAAIlkS,EAAQ9hD,EAAYjwE,GACxBokb,EAAS5gV,SAAWsgJ,EAAgB9jP,GACpCokb,EAAS1uR,sBAAwB,CAAC3jC,EAAMx4H,IAAMyG,EAAMskb,SAAUvyT,EAAMv4H,IAAMwG,EAAMskb,UAChFF,EAASzuR,WAAasuR,EAAkBjkb,EAAMkhD,QAExB,WAAnBlhD,EAAMo/E,SAELglW,EAAS/tR,SAAWr2J,EAAMk/E,SAAW,GAGrCklW,EAAS/tR,SAAWr2J,EAAMk/E,SAAWl/E,EAAMskb,SACvCtkb,EAAMk/E,QAAUl/E,EAAMskb,SACtB,GAGR,IAAIC,EAAWV,EAASO,GAGpBrlG,EAAK/+U,EAAMmW,cAYf,OAXAoua,EAASv/L,cAAgB,CAAC+5F,EAAGn/U,EAAGm/U,EAAGx5U,EAAGw5U,EAAG1+U,GACzCkkb,EAASlua,QAAUrW,EAAMoW,SAASC,QAClCkua,EAASjua,QAAUtW,EAAMoW,SAASE,QAClCiua,EAAShua,SAAWvW,EAAMoW,SAASG,SACnCgua,EAAS/ta,UAAYxW,EAAMoW,SAASI,UACpC+ta,EAAS9ta,QAAUzW,EAAMoW,SAASK,QAClC8ta,EAASvob,QAAUgE,EAAMhE,QAGzBgE,EAAMwkb,KAAOL,EAAgBnkb,EAAMkhD,QAAUqjY,EAASxuR,YAAcwuR,EAASnuR,UAAYp2J,EAAMskb,SAExFC,EAeX,SAASE,EAAgBpob,EAAOM,GAC5B,IAAIvB,EAAKiB,EAAMmM,OAAOpN,GAElBmpb,EAAW5pY,EAAQt+C,EAAOM,GAC1BunP,EAAO1tF,EAAep7J,EAAImpb,GAE1BG,EAAO,IAAIZ,EAAKznb,EAAOM,EAAK8pB,KAOhC,OANAi+Z,EAAKxgM,KAAOA,EACZwgM,EAAK/nb,KAAOA,EACZunP,EAAKQ,OAASggM,EAEdrob,EAAMmM,OAAO4E,IAAI82O,GAEVwgM,EAzBXpvb,EAAMyH,OAAS,SAASJ,GACpB3I,KAAK2I,KAAOA,EAEZ,IAAI4nb,EAAW5pY,EAAQ3mD,KAAKqI,MAAOM,GACnC3I,KAAKkwP,KAAKnnP,OAAOwnb,IAGrBjvb,EAAMkK,QAAU,WACZxL,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAKkwP,MAC9BlwP,KAAKkwP,KAAK1kP,WAmBdnP,EAAOC,QAAUm0b,GAKX,KACA,SAAUp0b,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bw5G,EAAgBx5G,EAAoB,QAAQsiE,OAE5CqtM,EAAiBp5P,EAAIo5P,eACrB+D,EAAsBn9P,EAAIm9P,oBAC1BD,EAAal9P,EAAIk9P,WACjB/D,EAAYn5P,EAAIm5P,UAapB,SAASkK,EAAkB/4Q,EAAGvB,EAAG2lT,EAAOD,EAAOv2C,GAC3C,IAAIiF,EAAoBp0Q,EAAG0lT,GAAQ,OAAO,EAE1C,IAAIhmQ,EAAImkD,EAEL8hN,EAAM,GAAKA,EAAM,IAChBjmQ,EAAKimQ,EAAM,GACX9hN,EAAK8hN,EAAM,KAEXjmQ,EAAKimQ,EAAM,GACX9hN,EAAK8hN,EAAM,IAGf,IAAIkuI,EAAY35U,EAAc/qB,EAAYzvC,EAAIgmQ,EAAM,GAAIA,EAAM,GAAIv2C,IAC9D2kL,EAAa55U,EAAc/qB,EAAY0U,EAAI6hN,EAAM,GAAIA,EAAM,GAAIv2C,IAC/D14I,EAAK,CAACl1H,EAAI8E,KAAK6qD,IAAIlxD,GAAIuB,EAAI8E,KAAK8qD,IAAInxD,IACxC,OAAO8zb,EAAWx8Z,SAASm/F,KAAQo9T,EAAUv8Z,SAASm/F,GAO1D,SAAS8gJ,EAAmBv+M,EAAIC,EAAIj5D,EAAG+zb,GACnC,IAAIC,EAAOC,EAEP1sX,EAAKwsX,EAAK,GACVvsX,EAAKusX,EAAK,GACVG,EAAOx/K,EAAUruQ,KAAK8qD,IAAI8H,GAAM5yD,KAAK8qD,IAAI6H,IACzCm7X,EAAOz/K,EAAUruQ,KAAK6qD,IAAI+H,GAAM5yD,KAAK6qD,IAAI8H,IACzCo7X,EAAO/tb,KAAK6uE,IAAIl1E,GAChBq0b,EAAS3/K,EAAU,EAAI0/K,GACvBtzb,EAAIozb,EAAOC,EACXl0b,EAAIunE,EAAK1mE,EAAIymE,EAiCjB,OA/BG8sX,EACIH,GAAQC,GAKPH,EAAQ/zb,GAAKm0b,EAAOtzb,GACpBmzb,EAAQG,EAAOJ,GACTG,GAENH,EAAQxsX,EAAK6sX,EACbJ,EAAQzsX,IAGRwsX,EAAQzsX,EACR0sX,EAAQ1sX,EAAK6sX,GAIdF,GAAQC,GACPH,EAAQ,EACRC,EAAQh0b,GACFk0b,GACNH,EAAQ,EACRC,EAAQzsX,GAGRwsX,EAAQC,EAAQzzX,IAIjB,CAACwzX,EAAOC,GAQnB,SAASt/K,EAAe9zQ,EAAGC,EAAGymE,EAAIC,GAC9B,IAAI7lE,GAAKb,EAAIymE,EACTvnE,EAAIc,EAAIA,EAAI,EACZb,EAAI,GAAKa,EAAIa,EAAI4lE,GACjBrnE,EAAIyB,EAAIA,EAAI4lE,EAAKA,EAAK1mE,EAAIA,EAC1Byzb,EAAMjub,KAAKuD,KAAK3J,EAAIA,EAAI,EAAID,EAAIE,GAChCq3B,IAAOt3B,EAAIq0b,IAAQ,EAAIt0b,GACvBw3B,IAAOv3B,EAAIq0b,IAAQ,EAAIt0b,GAC3B,MAAO,CACH,CAACu3B,EAAIz2B,EAAIy2B,EAAK51B,EAAI6lE,GAClB,CAAChwC,EAAI12B,EAAI02B,EAAK71B,EAAI6lE,IAI1B,SAAS+sX,EAAmBhzb,EAAG4tQ,GAC3B,IAEIvuQ,EAFAktB,EAAMqhP,EAAQtvQ,OACdkD,EAAW,IAAIwB,MAAMupB,EAAM,GAE/B,IAAIltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB,IAAIs3U,EAAK/oE,EAAQvuQ,GACjBmC,EAASnC,GAAK,CAACW,EAAI8E,KAAK6qD,IAAIgnR,GAAK32U,EAAI8E,KAAK8qD,IAAI+mR,IAGlD,OADAn1U,EAASnC,GAAKmC,EAAS,GAAG8B,QACnB9B,EAGX,SAASyxb,EAAmBjzb,EAAGouE,EAAIwiC,EAAIg9J,GACnC,IAEIvuQ,EAAGsE,EAFH4oB,EAAMqhP,EAAQtvQ,OACdkD,EAAW,GAGf,SAAS0xb,EAAKz0b,GACV,MAAO,CAACuB,EAAI8E,KAAK6qD,IAAIlxD,GAAIuB,EAAI8E,KAAK8qD,IAAInxD,IAG1C,SAAS00b,EAAO3+K,EAAKC,EAAKxzQ,GACtB,OAAO+0Q,EAAmBxB,EAAKC,EAAKxzQ,EAAGiyb,EAAK1+K,IAGhD,SAAS4+K,EAAWtgZ,GAChB,OAAOp9B,EAAIqmC,IAAIjJ,EAAKvmB,GAGxB,SAASqJ,EAAS/xB,GACd,OAAOgvQ,EAAoBhvQ,EAAG,CAACuqE,EAAIwiC,IAKvC,IAAI0kC,EAAKw5H,EAAelB,GAAS,SAAS/pQ,GACtC,OAAO+xB,EAAS/xB,GAAKgrQ,EAAUhrQ,EAAGuqE,GAAM9kE,OAExCsrQ,EAAMu+K,EAAOvlL,EAAQt4H,GAAKs4H,EAAQwlL,EAAW99S,EAAK,IAAKlnE,GAI3D,IAHA5sE,EAASW,KAAKyyQ,GAGVv1Q,EAAIi2I,EAAI3xI,EAAI,EAAGA,EAAI4oB,EAAKltB,IAAKsE,IAAK,CAClC,IAAIgzU,EAAK/oE,EAAQwlL,EAAW/zb,IAC5B,IAAIu2B,EAAS+gT,GAAK,MAClBn1U,EAASW,KAAK+wb,EAAKv8G,IAKvB,IAAIphM,EAAKu5H,EAAelB,GAAS,SAAS/pQ,GACtC,OAAO+xB,EAAS/xB,GAAKgrQ,EAAUhrQ,EAAG+sG,GAAMtnG,OAExC+pb,EAAMF,EAAOvlL,EAAQr4H,GAAKq4H,EAAQwlL,EAAW79S,EAAK,IAAK3kC,GAM3D,OALApvG,EAASW,KAAKkxb,GAEd7xb,EAASW,KAAK,CAAC,EAAG,IAClBX,EAASW,KAAKX,EAAS,GAAG8B,SAEnB9B,EAGX,SAASosF,EAAY5tF,EAAGouE,EAAIwiC,EAAIg9J,GAC5B,OAAOl4P,EAAIijQ,aAAa,CAACvqM,EAAIwiC,IACzBoiV,EAAmBhzb,EAAG4tQ,GACtBqlL,EAAmBjzb,EAAGouE,EAAIwiC,EAAIg9J,GAGtC,SAAS8I,EAAkB12Q,EAAGouE,EAAIwiC,EAAIg9J,GAKlC,IAJA,IAAI14J,EAAO5rG,IACP6rG,EAAO7rG,IACP9H,EAAWosF,EAAY5tF,EAAGouE,EAAIwiC,EAAIg9J,GAE9BvuQ,EAAI,EAAGA,EAAImC,EAASlD,OAAQe,IAAK,CACrC,IAAIwE,EAAIrC,EAASnC,GACjB61G,EAAOpwG,KAAKoC,IAAIguG,EAAMrxG,EAAE,IACxBsxG,EAAOrwG,KAAKoC,IAAIiuG,GAAOtxG,EAAE,IAE7B,MAAO,CAACqxG,EAAMC,GAUlB,SAASk+J,EAA0B50Q,EAAGmvQ,GAClC,IAAI0lL,EAAQ,SAASzvb,GACjB,IAAI0vb,EAAS3gL,EAAW/uQ,EAAGpF,GAC3B,OAAO80b,EAAS,EAAIA,EAASjqb,KAE7BgsI,EAAKw5H,EAAelB,EAAS0lL,GAC7Bn+a,EAAKO,EAAIqmC,IAAIu5F,EAAK,EAAGs4H,EAAQtvQ,QACjC,MAAO,CAACsvQ,EAAQt4H,GAAKs4H,EAAQz4P,IAIjC,SAASg+P,EAAUtvQ,GACf,OAAOiB,KAAK+R,IAAIhT,GAAK,MAAQA,EAAI,EAGrC,SAAS2vb,EAAgBC,EAAMx/W,EAAIC,GAC/BD,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKX,IAHA,IAAI3nD,EAAMkna,EAAKn1b,OACXo1b,EAAO,IAAI1wb,MAAMupB,GAEbltB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACzB,IAAI4f,EAAKw0a,EAAKp0b,GACdq0b,EAAKr0b,GAAK,CAAC40E,EAAKh1D,EAAG,GAAIi1D,EAAKj1D,EAAG,IAEnC,OAAOy0a,EAeX,SAASz6K,EAAYj5Q,EAAGouE,EAAIwiC,EAAIg9J,EAAS35L,EAAIC,GACzC,IAAIxR,EAAOkrB,EAAY5tF,EAAGouE,EAAIwiC,EAAIg9J,GAClC,MAAO,IAAM4lL,EAAgB9wX,EAAMuR,EAAIC,GAAI5xE,KAAK,KAmBpD,SAAS42Q,EAAmB/6N,EAAImkD,EAAIl0B,EAAIwiC,EAAIg9J,EAAS35L,EAAIC,GACrD,IAAIuwO,EAAQC,EAETvmQ,EAAKmkD,GACJmiN,EAAStmQ,EACTumQ,EAAOpiN,IAEPmiN,EAASniN,EACToiN,EAAOvmQ,GAGX,IAAI4zF,EAAQyhT,EAAgB5lW,EAAY62N,EAAQr2O,EAAIwiC,EAAIg9J,GAAU35L,EAAIC,GAClEy/W,EAAQH,EAAgB5lW,EAAY82N,EAAMt2O,EAAIwiC,EAAIg9J,GAAU35L,EAAIC,GACpE,MAAO,IAAMy/W,EAAMvlY,UAAU9rD,KAAK,KAAO,IAAMyvI,EAAMzvI,KAAK,KAG9DtE,EAAOC,QAAU,CACb86Q,kBAAmBA,EACnBrC,kBAAmBA,EACnBrD,0BAA2BA,EAC3B2C,mBAAoBA,EACpB5C,eAAgBA,EAChBD,UAAWA,EACX8F,YAAaA,EACbC,mBAAoBA,IAMlB,KACA,SAAUl7Q,EAAQC,GAUxB,SAASmnJ,EAAevvE,EAAUw4G,EAAK9oC,GACtC,IAAIquS,EAAS,GACTlzU,EAAU,GA8Od,OA5OA7qC,EAAShgB,SAAQ,SAASklL,GACzB,IAAIjX,EAAMiX,EAAIt4N,MACVowH,EAAMkoG,EAAIp4N,IACd,GAAI0rK,EAAIo+O,WAAW3oM,EAAKjxF,GACvBmE,QAAQjpG,KAAK,wGADd,CAMIw3G,GACHA,EAASsuS,WAAW94M,GA0BrB,IAvBA,IAAI+4M,EAAc,CACjB/xb,MAAO,EACPgyb,cAAc,EACdC,aAAa,GAEVC,EAAe,CAClBlyb,MAAO,EACPgyb,cAAc,EACdC,aAAa,GAEVE,EAAaJ,EAaRz0b,EAAI,EAAGA,EAAIu0b,EAAOt1b,OAAQe,IAAI,CACtC,IAAI80b,EAAQP,EAAOv0b,GACfqnC,EAAQytZ,EAAM,GAEdxtZ,GADQwtZ,EAAM,GACNA,EAAMA,EAAM71b,OAAS,IACrB61b,EAAMA,EAAM71b,OAAS,GACjC,GAAI+vL,EAAIo+O,WAAW/lY,EAAMo9L,IACxB,GAAIswN,EAAS/0b,GAAG,GAAM,GACrB,WAEG,GAAIgvL,EAAIo+O,WAAW/lY,EAAMmsG,IAC7B,GAAIuhT,EAAS/0b,GAAG,GAAM,GACrB,WAEG,GAAIgvL,EAAIo+O,WAAW9lY,EAAMm9L,IAC7B,GAAIswN,EAAS/0b,GAAG,GAAO,GACtB,WAEG,GAAIgvL,EAAIo+O,WAAW9lY,EAAMksG,IACzBuhT,EAAS/0b,GAAG,GAAO,GACtB,MAIH,GAAI60b,IAAeJ,EAKlB,OAHAF,EAAOzxb,KAAK,CAAE2hO,EAAKjxF,SACf0S,GACHA,EAAS8uS,SAASvwN,EAAKjxF,IAIzB,GAAIqhT,IAAeD,EAAa,CAG3B1uS,GACHA,EAAS+uS,WAAWR,EAAY/xb,OAKjC,IAAIA,EAAQ+xb,EAAY/xb,MACpBkd,EAAK60a,EAAYE,YAAcnhT,EAAMixF,EACrCywN,EAAYT,EAAYC,aAGxBS,GADAL,EAAQP,EAAO7xb,GACPwyb,EAAYJ,EAAM,GAAKA,EAAMA,EAAM71b,OAAS,IACpDm2b,EAAQF,EAAYJ,EAAM,GAAKA,EAAMA,EAAM71b,OAAS,GACpDo2b,EAAQH,EAAYJ,EAAMA,EAAM71b,OAAS,GAAK61b,EAAM,GACpDQ,EAAQJ,EAAYJ,EAAMA,EAAM71b,OAAS,GAAK61b,EAAM,GAkBxD,OAhBI9lQ,EAAIy/O,gBAAgB2mB,EAAOD,EAAMv1a,KAGhCs1a,GACChvS,GACHA,EAASqvS,gBAAgBd,EAAY/xb,MAAOkd,GAC7Ck1a,EAAM/kY,UAGFm2F,GACHA,EAASsvS,gBAAgBf,EAAY/xb,MAAOkd,GAC7Ck1a,EAAM7vb,OAEPkwb,EAAOC,GAGJpmQ,EAAIo+O,WAAWioB,EAAMz1a,IAExB20a,EAAOjkb,OAAO5N,EAAO,GAEjBssL,EAAIy/O,gBAAgB6mB,EAAOD,EAAMF,KAGhCD,GACChvS,GACHA,EAASsvS,gBAAgBf,EAAY/xb,MAAOyyb,GAC7CL,EAAM7vb,QAGFihJ,GACHA,EAASqvS,gBAAgBd,EAAY/xb,MAAOyyb,GAC7CL,EAAM/kY,UAIJm2F,GACHA,EAASuvS,WAAWhB,EAAY/xb,YAGjC2+G,EAAQv+G,KAAKgyb,SAKVI,GACChvS,GACHA,EAASwvS,aAAajB,EAAY/xb,MAAOkd,GAC1Ck1a,EAAMpnb,QAAQkS,KAGVsmI,GACHA,EAASyvS,aAAalB,EAAY/xb,MAAOkd,GAC1Ck1a,EAAMhyb,KAAK8c,KA6Cb,IAAI0hN,EAAImzN,EAAY/xb,MAChBq5C,EAAI64Y,EAAalyb,MAEjBwjJ,GACHA,EAAS0vS,aAAat0N,EAAGvlL,GAE1B,IAAI85Y,EAAWtB,EAAOjzN,GAAGriO,OAASs1b,EAAOx4Y,GAAG98C,OACxCw1b,EAAYC,aACXE,EAAaF,aACZmB,GAEHC,EAAax0N,GAEby0N,EAAYz0N,EAAGvlL,KAIf+5Y,EAAa/5Y,GAGbg6Y,EAAYh6Y,EAAGulL,IAMhBy0N,EAAYh6Y,EAAGulL,GAIZszN,EAAaF,aAEhBqB,EAAYz0N,EAAGvlL,GAGX85Y,GAEHC,EAAax0N,GAGby0N,EAAYh6Y,EAAGulL,KAIfw0N,EAAa/5Y,GAEbg6Y,EAAYz0N,EAAGvlL,IA9MlB,SAASg5Y,EAASryb,EAAOgyb,EAAcC,GAKtC,OAHAE,EAAWnyb,MAAQA,EACnBmyb,EAAWH,aAAeA,EAC1BG,EAAWF,YAAcA,EACrBE,IAAeJ,GAClBI,EAAaD,GACN,IAERC,EAAa,MACN,GAgHR,SAASiB,EAAapzb,GACjBwjJ,GACHA,EAAS8vS,aAAatzb,GACvB6xb,EAAO7xb,GAAOqsD,UAGf,SAASgnY,EAAYxhb,EAAQG,GAE5B,IAAIuhb,EAAS1B,EAAOhgb,GAChB2hb,EAAS3B,EAAO7/a,GAChB4yB,EAAQ2uZ,EAAOA,EAAOh3b,OAAS,GAC/Bk3b,EAAQF,EAAOA,EAAOh3b,OAAS,GAC/BooC,EAAQ6uZ,EAAO,GACfE,EAAQF,EAAO,GAEflnQ,EAAIy/O,gBAAgB0nB,EAAO7uZ,EAAMD,KAGhC6+G,GACHA,EAASsvS,gBAAgBjhb,EAAQ+yB,GAClC2uZ,EAAOhxb,MACPqiC,EAAO6uZ,GAGJnnQ,EAAIy/O,gBAAgBnnY,EAAMD,EAAM+uZ,KAG/BlwS,GACHA,EAASqvS,gBAAgB7gb,EAAQ2yB,GAClC6uZ,EAAOnmY,SAGJm2F,GACHA,EAASmwS,UAAU9hb,EAAQG,GAC5B6/a,EAAOhgb,GAAU0hb,EAAOxub,OAAOyub,GAC/B3B,EAAOjkb,OAAOoE,EAAQ,OAuDjB2sG,EAGR1iH,EAAOC,QAAUmnJ,GAKX,KACA,SAAUpnJ,EAAQC,EAASkB,GAEjC,aAEA,IAAI+lF,EAAQ/lF,EAAoB,QAEhCnB,EAAOC,QAAU,SAAUoqI,EAAaolH,GACtC,IAAI96M,EAAS,GAAG01F,GAChB,QAAS11F,GAAUuyC,GAAM,WAEvBvyC,EAAOn0C,KAAK,KAAMivP,GAAY,WAAc,MAAM,GAAM,QAOtD,KACA,SAAUzvP,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1ByuK,EAAiBzuK,EAAoB,QAErCw2b,EAAmB,mBAEnBC,EAAgB,CAChBn2b,KAAM,CACF4iB,QAAS,SAETK,SAAU,SAwMlB,SAASmza,EAAcp2b,GACnB,OAAOA,GAAwB,kBAATA,EAG1B,SAASqwK,EAAgBrwK,GACrB,IAAIq2b,EAAWr2b,EAAKnB,OAAS,EAI7B,MAH6B,MAA1BmB,EAAKquB,OAAOgoa,IACXpgb,EAAIq4B,KAAK,oCAAsCtuC,GAE5CA,EAAK6R,OAAO,EAAG7R,EAAKnB,OAAS,GAAK,WA7M7Cs3b,EAAcD,GAAoB,CAC9Btza,QAAS,SAETK,SAAU,QAgBdzkB,EAAQusG,eAAiB,SAAS/qG,EAAM0jB,GAIpC,OAHAA,EAAMssJ,iBAAmBhwK,EACzB0jB,EAAM1jB,KAAOm2b,EAAcn2b,KAC3B0jB,EAAMwya,GAAoBC,EAAcD,GACjCxya,GAeXllB,EAAQ83b,eAAiB,SAAStkR,GAC9B,IACIt7G,EAAW66G,EADXglR,EAAc,GAGlB,IAAI7/X,KAAas7G,EACbT,EAAgBS,EAAat7G,GAC1BnzD,MAAM0J,QAAQskK,IAAkBA,EAAc1yK,SAC7C03b,EAAY7/X,GAAa,GAIjC,SAASigW,EAASl+V,GACd/B,EAAYzgD,EAAIm8B,OAAOqmB,EAAS,GAAI01G,EAAgB,QACpD,IAAIz1G,EAAW,CAAC9lD,KAAM8jD,EAAWm4G,UAAW,MAC5C,GAAGn4G,KAAa6/X,EAAa,CACzBhlR,EAAgBS,EAAat7G,GAE7B,IAAI8/X,EAAQD,EAAY7/X,GAAa66G,EAAc1yK,OACnD03b,EAAY7/X,KACZgC,EAASm2G,UAAY0C,EAAcilR,GAYvC,OAAO99X,EAGX,MAAO,CACHi+V,SAAUA,IAmBlBn4Z,EAAQs0F,aAAe,SAASjiE,EAAW7wB,EAAMy2b,GAC7C,IAAIplR,EAAWxgJ,EAAUg+I,UACrB2rH,EAAOnpH,IAAaA,EAASrxK,IAAUy2b,GAAYplR,EAASolR,IAC5Dxgb,EAAIuqD,cAAcg6N,KAAOA,EAAO,MAEpC,IAAIj7Q,EAAMsR,EAAU7wB,GAAQ,CAAC6uK,UAAW2rH,GACxC,OAAOj7Q,GAsBX/gB,EAAQowK,eAAiB,SAAS/9I,EAAW7wB,EAAMmtP,GAC/C,IAAI97E,EAAWxgJ,EAAUg+I,UACrB6nR,EAAmBrlR,GAAYA,EAAShB,EAAgBrwK,IACxD22b,EAAgBtlR,GAAYA,EAASrxK,GACrCuD,MAAM0J,QAAQ0pb,IAAmBA,EAAc93b,SAC/C83b,EAAgB,IAGpB,IAAIxmR,EAAY,GAEhB,SAASnB,EAAQ4nR,GAMb,IAAIr3a,EAAM,CAACvf,KAAM42b,EAAO52b,KAAMquC,OAAQuoZ,GAClCC,EAAmBt3a,EAAI22a,GAAoBU,EAAOV,GAGtD,IAAIE,EAAcS,GAEd,OADAt3a,EAAIsvJ,UAAY6nR,EACTn3a,EAKX,IAAI,IAAI3f,EAAI,EAAGA,EAAI+2b,EAAc93b,OAAQe,IAAK,CAC1C,IAAIk3b,EAAeH,EAAc/2b,GACjC,GAAGk3b,EAAa92b,OAAS62b,EAMrB,OAFA1mR,EAAU0mR,GAAoB,EAC9Bt3a,EAAIsvJ,UAAYioR,EACTv3a,EAWf,OAHAA,EAAI4tO,GAAiBypM,EAAOzpM,KAAkB,EAE9C5tO,EAAIsvJ,WAAY,EACTtvJ,EAGX,SAAS0vJ,IAEL,IADA,IAAI1vJ,EAAM,GACF3f,EAAI,EAAGA,EAAI+2b,EAAc93b,OAAQe,IAAK,CAC1C,IAAIk3b,EAAeH,EAAc/2b,GAC7BI,EAAO82b,EAAa92b,KAGxB,GAAGo2b,EAAcp2b,KAAUmwK,EAAUnwK,GAAO,CACxC,IAAI+2b,EAAO,CACPloR,UAAWioR,EACX92b,KAAMA,EACNquC,OAAQ,CAAC2oZ,kBAAmBh3b,IAEhC+2b,EAAKb,GAAoBY,EAAaZ,GACtC32a,EAAI7c,KAAKq0b,GACT5mR,EAAUnwK,GAAQ,GAG1B,OAAOuf,EAGX,MAAO,CACHyvJ,QAASA,EACTC,aAAcA,IAetBzwK,EAAQ6xK,gBAAkBA,EAwB1B7xK,EAAQ68I,YAAc,SAAS47S,EAAU5ob,EAAc6ob,GACnD,IAAIC,GAAYlhb,EAAImyC,eAAe6uY,EAAU5ob,GAAc/N,OAAS,IAAIzB,OACpEyD,EAAQ40b,EAAQ5kP,OAIhBukP,EAAoBv0b,GAAS60b,IAAcD,EAAQ7oZ,QAAU,IAAI2oZ,kBAClEH,IAAkBv0b,EAAQ60b,GAC7B,IAEIlsb,EAFA+uQ,EAAU3rQ,EAAe,IAAM/L,EAAQ,IAG3C,SAAS80b,IACLnsb,EAAS,GACN4rb,IACC5rb,EAAO+uQ,GAAW,GAClB/uQ,EAAO+uQ,GAASk8K,GAAoBW,GAK5C,SAAShsS,EAAW1jI,EAAMzmB,GACtBuK,EAAOkc,GAAQzmB,EAGnB,SAAS68I,EAAWp2H,EAAMzmB,GACnBm2b,EAEC5gb,EAAImyC,eAAen9C,EAAO+uQ,GAAU7yP,GAAM5Z,IAAI7M,GAG9CuK,EAAO+uQ,EAAU,IAAM7yP,GAAQzmB,EAIvC,SAASy+I,IACL,IAAIk4S,EAAYpsb,EAEhB,OADAmsb,IACOC,EAGX,SAASC,EAAYnwa,EAAMzmB,GACpBymB,GAAMo2H,EAAWp2H,EAAMzmB,GAC1B,IAAI62b,EAAgBp4S,IACpB,IAAI,IAAIn+I,KAAOu2b,EACXthb,EAAImyC,eAAe6uY,EAAUj2b,GAAKuM,IAAIgqb,EAAcv2b,IAI5D,OA9BAo2b,IA8BO,CACHvsS,WAAYA,EACZtN,WAAYA,EACZ4B,aAAcA,EACdm4S,YAAaA,KAOf,KACA,SAAU/4b,EAAQC,EAASkB,GAEjC,aAGA,SAASqgL,EAAcl2I,EAAUm2I,EAAWC,EAAUC,EAAWC,EAAYC,GAC3E,IAAI39K,EAAO,CACT,YAAaonC,EAAU,UAAWq2I,EAAUr9K,KAAK,KAAO,KAC5Du9K,EAAW,GAAK,SAAWH,EAAW,MAAQ,MAC9C,mCACsBE,EAAa,UAAY,OAqB7C,OApBGC,EACEJ,EAAU17K,QAAQ,KAAO,EAC1B7B,EAAKC,KAAK,sCAEVD,EAAKC,KAAK,mDAGZD,EAAKC,KAAK,OAAQs9K,EAAW,UAE5BC,EACDx9K,EAAKC,KAAK,qBAEVD,EAAKC,KAAK,qBAEZD,EAAKC,KAAK,KACP09K,EACD39K,EAAKC,KAAK,eAEVD,EAAKC,KAAK,cAELD,EAAKI,KAAK,IAGnB,SAASw9K,EAAoBL,EAAWC,EAAUr4K,EAAQw4K,GACxD,IAAIr3K,EAAS,IAAInG,SAAS,CAC1Bm9K,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAOG,GAClEL,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAMG,GACjEL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAOG,GAC5EL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAMG,GAC7E,2BAA4Bx4K,EAAQ,6YAYXA,GAAQ/E,KAAK,KACpC,OAAOkG,IAGTxK,EAAOC,QAAU,CACf8hL,GAAID,EAAoB,MAAM,EAAO,MACrCzyJ,GAAIyyJ,EAAoB,KAAK,EAAO,MACpC1yJ,GAAI0yJ,EAAoB,KAAK,EAAM,MACnC7yK,GAAI6yK,EAAoB,MAAM,EAAM,MACpCE,GAAIF,EAAoB,KAAK,EAAM,MAAM,KAMrC,MACA,SAAU9hL,EAAQC,EAASkB,GAEjC,aAOA,IAAIgB,EAAQhB,EAAoB,QAEhCnB,EAAOC,QAAU,WAEhB,OADAkC,EAAMwB,MAAMrD,OAAS,EACdqD,OAMF,KACA,SAAU3D,EAAQC,EAASkB,GAEjC,aAWA,IAAIitF,EAAYjtF,EAAoB,QAChCu1a,EAAiBv1a,EAAoB,QACrC44H,EAAa54H,EAAoB,QACjCgkO,EAAWhkO,EAAoB,QAC/B8iB,EAAa9iB,EAAoB,QAAQ8iB,WAEzCgvQ,EAAa7kM,EAAU,CACvB1pE,SAAU,SAGduuQ,EAAWpxQ,OAAOyC,KAAO,0CACzB2uQ,EAAWruQ,KAAKN,KAAO,GACvB2uQ,EAAW7mR,MAAMkY,KAAOy1G,EAAWj1G,YAEnC9kB,EAAOC,QAAU,CACbkiB,KAAM8wQ,EACN7uO,MAAO,CACHh0C,KAAM,CACFiU,QAAS,SAETK,SAAU,eAGdvC,KAAMisE,EAAU,CACZ1pE,SAAU,gBAGd8kC,KAAM,CACFnlC,QAAS,aACTC,KAAM,YACN0V,OAAQ,CAAC,YAAa,SAEtBtV,SAAU,eAGd+kC,KAAM,CACFplC,QAAS,aACTC,KAAM,YACN0V,OAAQ,CAAC,YAAa,SAEtBtV,SAAU,eAGdnV,EAAG,CACC8U,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,GAENI,SAAU,eAGdxP,EAAG,CACCmP,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,OAENI,SAAU,eAGd++E,QAAS,CACLp/E,QAAS,aACTC,KAAM,OACN0V,OAAQ,CAAC,OAAQ,OAAQ,SAAU,SAEnCtV,SAAU,eAGdg/E,QAAS,CACLr/E,QAAS,aACTC,KAAM,OACN0V,OAAQ,CAAC,OAAQ,MAAO,SAAU,UAElCtV,SAAU,eAGdzJ,IAAKgJ,EAAWkhN,EAAS,CAACzgN,SAAU,gBAAiB,IAGrDA,SAAU,eAEdujP,YAAa,CACT5lQ,KAAM,CACFgiB,QAAS,aACT2V,OAAQ,EAAC,EAAO,OAAQ,QACxB1V,MAAM,EAENI,SAAU,QAGdszY,QAAS,CACL3zY,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,QAGdA,SAAU,QAEd8+Z,SAAU,CACNn/Z,QAAS,UAETC,MAAM,EAGNI,SAAU,QAGdrC,MAAO,CACHgC,QAAS,SAETnb,IAAK,GACLob,KAAM,IACNI,SAAU,QAGdyF,OAAQ,CACJ9F,QAAS,SAETnb,IAAK,GACLob,KAAM,IACNI,SAAU,QAGd0Q,OAAQ,CACJ9zB,EAAG,CACC+iB,QAAS,SAETnb,IAAK,EACLob,KAAM,GACNI,SAAU,QAGd1iB,EAAG,CACCqiB,QAAS,SAETnb,IAAK,EACLob,KAAM,GACNI,SAAU,QAGdtiB,EAAG,CACCiiB,QAAS,SAETnb,IAAK,EACLob,KAAM,IACNI,SAAU,QAGdhkB,EAAG,CACC2jB,QAAS,SAETnb,IAAK,EACLob,KAAM,GACNI,SAAU,QAGdzJ,IAAK,CACDoJ,QAAS,SAETnb,IAAK,EACLob,KAAM,EACNI,SAAU,QAGdmrN,WAAY,CACRxrN,QAAS,UAETC,MAAM,EACNI,SAAU,QAGdA,SAAU,QAEdwxE,cAAe,CACX7xE,QAAS,QAETC,KAAMy1G,EAAW7kG,WACjBxQ,SAAU,QAGdu2C,aAAc,CAGV52C,QAAS,QAETC,KAAMy1G,EAAW7kG,WACjBxQ,SAAU,eAGdwpG,WAAY,CACR7pG,QAAS,SAETK,SAAU,QAGdu0a,YAAa,CACT50a,QAAS,UAETC,MAAM,EACNI,SAAU,QAGdgC,WAAY,CAGRrC,QAAS,UAETK,SAAU,UAGd8vJ,SAAU,CACNnwJ,QAAS,YACTC,KAAMy1G,EAAWjmC,SAEjBpvE,SAAU,QAGdw0a,aAAc,CACV70a,QAAS,MAETK,SAAU,QAGd8vE,WAAY,CACRnwE,QAAS,MAETK,SAAU,QAGdy0a,aAAc,CACV90a,QAAS,MAETK,SAAU,QAGd00a,kBAAmB,CACf/0a,QAAS,MAETK,SAAU,QAGdouJ,SAAU,CACNzuJ,QAAS,MAETK,SAAU,QAGd4vG,QAAS,CACLvrH,YAAa,CACTsb,QAAS,aACT2V,OAAQ,CAAC,IAAK,KACd1V,KAAM,IAENI,SAAU,WAGdooF,QAAS,CACLzoF,QAAS,QAETK,SAAU,WAGdtY,MAAO,CACHiY,QAAS,QAETK,SAAU,WAGd8vG,YAAa,CACTnwG,QAAS,QAETK,SAAU,WAGd8vE,WAAY,CACRnwE,QAAS,MAETK,SAAU,QAGdA,SAAU,WAGdhR,KAAM,CACF2Q,QAAS,MACTe,SAAS,EAETV,SAAU,QAIdtT,WAAY6S,EAAW,GAAIyyZ,EAAetla,WAAY,CAElDsT,SAAU,SAEd2B,YAAa,CACT+9B,MAAO,CACH//B,QAAS,SAETK,SAAU,eAGd+xN,UAAWroJ,EAAU,CACjB1pE,SAAU,mBAShB,KACA,SAAU1kB,EAAQC,GAExB,IAAIsgC,EAAOz5B,KAAKy5B,KACZ9rB,EAAQ3N,KAAK2N,MAIjBzU,EAAOC,QAAU,SAAUwvP,GACzB,OAAOjhP,MAAMihP,GAAYA,GAAY,GAAKA,EAAW,EAAIh7O,EAAQ8rB,GAAMkvN,KAMnE,KACA,SAAUzvP,EAAQC,GAWxB,SAASgnJ,IACR,IAAIw7G,EACA42L,EAAgB,EAChBC,GAAU,EAEd,SAASn1b,EAAKkQ,EAAM/H,GAKnB,OAJAm2P,EAAGh9P,KAAKtB,KAAK,CACZkQ,KAAMA,EACN/H,KAAMA,EAAO45K,KAAK01B,MAAM11B,KAAKC,UAAU75K,SAAS,IAE1Cm2P,EA0FR,OAvFAA,EAAK,CACJh9P,KAAM,GACNkoa,UAAW,WACV,OAAO0rB,KAERppB,kBAAmB,SAAStoR,EAAMC,GACjC,OAAOzjJ,EAAK,QAAS,CAAEwjJ,KAAMA,EAAMC,KAAMA,KAE1C0nR,YAAa,SAASvyL,EAAKp4N,GAE1B,OADAxgB,EAAK,UAAW,CAAE44O,IAAKA,EAAK97N,GAAI0D,IACzBxgB,EAAK,OAAQ,CAAE44O,IAAKA,EAAK97N,GAAI0D,KAErCysZ,aAAc,SAASr0L,GACtB,OAAO54O,EAAK,UAAW,CAAE44O,IAAKA,KAE/Bi0L,cAAe,SAASj0L,GACvB,OAAO54O,EAAK,aAAc,CAAE44O,IAAKA,KAElC2wL,WAAY,SAAS3wL,EAAKiyL,GACzB,OAAO7qa,EAAK,UAAW,CAAE44O,IAAKA,EAAKiyL,QAASA,KAE7CuqB,cAAe,SAASx8M,GACvB,OAAO54O,EAAK,UAAW,CAAE44O,IAAKA,KAE/Bg0L,WAAY,SAASh0L,EAAK8wL,EAAOl6U,GAChC,OAAOxvF,EAAK,cAAe,CAAE44O,IAAKA,EAAK8wL,MAAOA,EAAOl6U,MAAOA,KAE7Ds9U,OAAQ,SAASl0L,GAChB,OAAO54O,EAAK,SAAU,CAAE44O,IAAKA,KAE9Bx3K,OAAQ,SAASw3K,EAAK8wL,EAAOl6U,GAC5B,OAAOxvF,EAAK,SAAU,CAAE44O,IAAKA,EAAK8wL,MAAOA,EAAOl6U,MAAOA,KAExDvpD,KAAM,SAAS76B,GACd,OAAIA,IAAM+pb,EACF72L,GACR62L,EAAU/pb,EACHpL,EAAK,OAAQ,CAAEoL,EAAGA,MAE1Bqd,IAAK,SAAStgB,GAGb,MAFoB,kBAATA,IACVA,EAAO45K,KAAKC,UAAU75K,GAAM,EAAO,OAC7BnI,EAAK,MAAO,CAAEohH,IAAKj5G,KAE3BiqB,MAAO,WACN,OAAOpyB,EAAK,UAEbm1B,SAAU,SAASomN,GAClB,OAAOv7O,EAAK,WAAY,CAAEu7O,KAAMA,KAEjCm2M,WAAY,SAAS94M,GACpB,OAAO54O,EAAK,cAAe,CAAE44O,IAAKA,KAEnC65M,gBAAiB,SAAS7yb,EAAOkd,GAChC,OAAO9c,EAAK,iBAAkB,CAAEJ,MAAOA,EAAOkd,GAAIA,KAEnD41a,gBAAiB,SAAS9yb,EAAOkd,GAChC,OAAO9c,EAAK,iBAAkB,CAAEJ,MAAOA,EAAOkd,GAAIA,KAEnDo1a,SAAU,SAASvwN,EAAKjxF,GACvB,OAAO1wI,EAAK,YAAa,CAAE2hO,IAAKA,EAAKjxF,IAAKA,KAE3CyhT,WAAY,SAASvyb,GACpB,OAAOI,EAAK,cAAe,CAAEJ,MAAOA,KAErC+yb,WAAY,SAAS/yb,GACpB,OAAOI,EAAK,cAAe,CAAEJ,MAAOA,KAErCgzb,aAAc,SAAShzb,EAAOkd,GAC7B,OAAO9c,EAAK,iBAAkB,CAAEJ,MAAOA,EAAOkd,GAAIA,KAEnD+1a,aAAc,SAASjzb,EAAOkd,GAC7B,OAAO9c,EAAK,iBAAkB,CAAEJ,MAAOA,EAAOkd,GAAIA,KAEnDg2a,aAAc,SAASrhb,EAAQG,GAC9B,OAAO5R,EAAK,YAAa,CAAEyR,OAAQA,EAAQG,OAAQA,KAEpDshb,aAAc,SAAStzb,GACtB,OAAOI,EAAK,YAAa,CAAEJ,MAAOA,KAEnC2zb,UAAW,SAAS9hb,EAAQG,GAC3B,OAAO5R,EAAK,aAAc,CAAEyR,OAAQA,EAAQG,OAAQA,KAErD4+C,KAAM,WACL,OAAOxwD,EAAK,UAGPs+P,EAGRziQ,EAAOC,QAAUgnJ,GAKX,KACA,SAAUjnJ,EAAQC,EAASkB,GAEjC,aAWA,IAAI0iB,EAAQ1iB,EAAoB,QAC5Bq6Q,EAAar6Q,EAAoB,QAAQq6Q,WAE7Cx7Q,EAAOC,QAAU,SAAkBgD,EAAGge,EAAItR,GACtC,IAAIupB,EAAOvpB,EAAMspB,OAAOC,KACpBwmD,EAAY87L,EAAWtiP,EAAK9sB,MAAO6U,EAAGiwB,MAAQrtB,EAAMiB,YACpDrZ,EAAY+vQ,EAAWtiP,EAAK7W,MAAOpB,EAAGiwB,MAAQ,EAElDjuC,EAAE6N,MAAM,eAAgBrF,GACnBjL,KAAKqjB,EAAMjR,KAAMqO,EAAG7U,OACpB5L,KAAKqjB,EAAM0G,OAAQm1D,KAMtB,KACA,SAAU1/E,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QAOjC,SAASq4b,EAAcl+a,GACnB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IA+P9E,SAASmkC,EAAIt9C,EAAGC,GACZ,OAAOD,EAAKC,EAAIoG,KAAK2N,MAAMhU,EAAIC,GAInC,SAAS+4b,EAAKh5b,EAAGC,GACb,OAAOq9C,EAAIt9C,EAAI,EAAGC,GAAK,EAlQ3B84b,EAAc12b,UAAY,IAAIquD,EAAK/wC,aAEnC1G,EAAO8/a,EAAc12b,UAAW,CAG5BrB,KAAM,QAGNud,QAAS,SAGTL,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAmBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,QACNsc,OAAQ,CAAC,GAAI,IACbmB,WAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC1CC,gBAAiB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC1CC,SAAU,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACtDC,cAAe,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACtDC,YAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACtD1D,OAAQ,KACR2D,WAAY,WACZC,SAAU,EACVC,OAAO,EACPi6a,WAAY,CAAC,MAAO,KAAM,MAAO,OAAQ,OAAQ,MAAO,SAAU,MAAO,OAAQ,MACjF,MAAO,MAAO,MAAO,SAAU,OAAQ,MAAO,QAAS,QAAS,SAChEC,cAAe,CAAC,OAAQ,KAAM,QAAS,MAAO,WAAY,OAAQ,QAAS,QAAS,QAAS,KAC7F,QAAS,KAAM,MAAO,KAAM,MAAO,MAAO,QAAS,SAAU,QAAS,UAS9Ev9a,SAAU,SAAS7B,GAEf,OADA5W,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,cACrD,GAQXsC,WAAY,SAAS/B,GACjB,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACvEO,EAAO4B,EAAK5B,OACZ,IAAIq/a,EAAS9yb,KAAK2N,MAAM8F,EAAO,KAC/BA,GAAc,IACdA,GAASA,EAAO,EAAI,IAAM,EAC1B,IAAIs/a,EAAQ/yb,KAAK2N,MAAM8F,EAAO,IAC9B,OAAOq/a,EAAS,IAAMC,EAAQ,IAAOt/a,EAAO,IAQhDu/a,QAAS,SAAS93H,GAEd,GADAA,EAAQA,EAAMzwT,MAAM,KAChBywT,EAAM1hU,OAAS,EACf,KAAM,qBAGV,IADA,IAAIia,EAAO,EACFlZ,EAAI,EAAGA,EAAI2gU,EAAM1hU,OAAQe,IAAK,CACnC,IAAI6T,EAAIoU,SAAS04S,EAAM3gU,GAAI,IAC3B,GAAIyF,KAAK+R,IAAI3D,GAAK,IAAO7T,EAAI,GAAK6T,EAAI,EAClC,KAAM,qBAEVqF,EAAc,GAAPA,EAAYrF,EAEvB,OAAOqF,GAQXyD,aAAc,SAASzD,GAEnB,OADA5W,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACrD,IAUXwC,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,OADA9W,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACrC,GAQX2C,WAAY,SAASlC,GAEjB,OADA5W,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACrD,KASX2C,YAAa,SAASpC,EAAMC,GAExB,OADA7W,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cAC7C,IAMXqE,WAAY,WACR,OAAO,GAUXxB,UAAW,SAASrC,EAAMC,EAAOC,GAC7B,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACvD,OAAOqC,EAAK1B,OAUhBoC,QAAS,SAAStC,EAAMC,EAAOC,GAE3B,OADA9W,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,cACrC,GAUXgD,UAAW,SAASvC,EAAMC,EAAOC,GAC7B,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACnDuD,EAAKlB,EAAKgB,OACV48a,EAAOp2b,KAAKq2b,QAAQ38a,GACpB48a,EAAUt2b,KAAKu2b,WAAW78a,GAC9B,MAAO,CAAC88a,cAAex2b,KAAKuW,MAAMw/a,WAAWK,EAAK,GAAK,GACnDK,UAAWL,EAAK,GAAIM,QAASN,EAAK,GAClCO,eAAgB32b,KAAKuW,MAAMy/a,cAAcM,EAAQ,GAAK,GACtDM,WAAYN,EAAQ,GAAIO,eAAgBP,EAAQ,KAQxDD,QAAS,SAAS38a,GACdA,GAAM1Z,KAAKqb,QACX,IAAIvE,EAAMsjC,EAAI1gC,EAAK,EAAI,IAAiB,KACxC,MAAO,CAACvW,KAAK2N,MAAMgG,EAAM,IAAM,EAAGsjC,EAAItjC,EAAK,MAQ/Cy/a,WAAY,SAAS78a,GAEjB,OADAA,GAAM1Z,KAAKqb,QACJ,CAACy6a,EAAKp8a,EAAK,GAAI,IAAKo8a,EAAKp8a,EAAK,EAAG,MAW5CF,KAAM,SAAS5C,EAAMC,EAAOC,GACxB,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACvD,OAAOqC,EAAK1B,MAAwB,GAAf0B,EAAK3B,QAA+B,IAAd2B,EAAK5B,OAAgB5W,KAAKqb,SAOzE5B,OAAQ,SAASC,GACbA,EAAKvW,KAAK2N,MAAM4I,GAAM,GAAM1Z,KAAKqb,QACjC,IAAIzE,EAAOzT,KAAK2N,MAAM4I,EAAK,KAC3BA,GAAU,IACVA,GAAOA,EAAK,EAAI,IAAM,EACtB,IAAI7C,EAAQ1T,KAAK2N,MAAM4I,EAAK,IACxB5C,EAAM4C,EAAK,GACf,OAAO1Z,KAAK+X,QAAQnB,EAAMC,EAAOC,MAezC02C,EAAKh3C,UAAU44Z,MAAQymB,GAMjB,KACA,SAAUx5b,EAAQC,EAASkB,GAEjC,aAYA,IAAIm5B,EAAWn5B,EAAoB,QAenCnB,EAAOC,QAAU,SAA6BkkG,GAS1C,IARA,IAGIs2V,EACA3xa,EAJA4xa,EAAiBpga,EAASihK,sBAC1Bo/P,EAAmBrga,EAASsiK,mBAC5Bg+P,EAAWz2V,EAAK5yF,MAAM,KAAK,GAMvBlQ,EAAI,EAAGA,EAAIs5b,EAAiBr6b,OAAQe,IAExC,GADAynB,EAAQq7E,EAAKr7E,MAAM6xa,EAAiBt5b,IACjCynB,GAAyB,IAAhBA,EAAM/kB,MAAa,CAC3B02b,EAAW3xa,EAAM,GACjB,MAOR,GAFI2xa,IAAUA,EAAWC,EAAeA,EAAe30b,QAAQ60b,MAE3DH,EAAU,OAAO,EAErB,IAAI9xZ,EAAOw7D,EAAK7wF,OAAOmnb,EAASn6b,QAChC,OAAIqoC,GAEJ7f,EAAQ6f,EAAK7f,MAAM,oCACfA,GAEG,CAAC2gB,MAAOgxZ,EAAU12b,MAAOwyC,OAAOztB,EAAM,IAAKjmB,SAAUimB,EAAM,IAAM,KALvD,CAAC2gB,MAAOgxZ,EAAU12b,MAAO,GAAIlB,SAAU,MAWtD,KACA,SAAU7C,EAAQC,EAASkB,GAEjC,aAEAnB,EAAOC,QAAU,SAAUsP,GAC1B,IAAI8E,SAAc9E,EAClB,OAAa,OAANA,IAAwB,WAAT8E,GAA8B,aAATA,KAMtC,KACA,SAAUrU,EAAQC,EAASkB,GAEjC,aAWA,IAAIs5D,EAAUt5D,EAAoB,QAElCnB,EAAOC,QAAU,CACboU,KAAM,CACFgQ,QAAS,aAET2V,OAAQ,GACR1V,KAAM,UACNI,SAAU,sBACV8sJ,eAAe,GAEnBt+J,QAAS,CACLmR,QAAS,aACT2V,OAAQ,EAAC,GAAM,EAAO,cAEtB1V,MAAM,EACNI,SAAU,QAGdgC,WAAY,CACRrC,QAAS,UAETC,MAAM,EACNI,SAAU,SAGd4nR,YAAa,CACTjoR,QAAS,SAETC,KAAM,GACNI,SAAU,SAGd/Y,QAAS,CACL0Y,QAAS,SAETnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EACNI,SAAU,SAGdjjB,KAAM,CACF4iB,QAAS,SAETK,SAAU,SAGd0R,IAAK,CACD/R,QAAS,SAETK,SAAU,OACV2pE,MAAM,GAGV+F,IAAK,CACD/vE,QAAS,aACTK,SAAU,OACV2pE,MAAM,GAGVN,WAAY,CACR1pE,QAAS,aACTK,SAAU,QAGdhR,KAAM,CACF2Q,QAAS,MACTe,SAAS,EAETV,SAAU,QASd2U,eAAgB,CACZhV,QAAS,MAETK,SAAU,QAId+B,UAAW,CACPpC,QAAS,WAET8S,MAAO,CAAC,IAAK,IAAK,IAAK,OAAQ,QAC/B8zD,OAAQ,CAAC,MAAO,OAAQ,QACxB7lE,SAAS,EACTd,KAAM,MACNI,SAAU,QAGdw2C,WAAYT,EAAQS,WACpB02C,OAAQ,CACJ67B,MAAO,CACHppH,QAAS,SACT4yM,SAAS,EACTwgE,QAAQ,EAER/yQ,SAAU,QAGdm2a,UAAW,CACPx2a,QAAS,SACTnb,IAAK,EACLC,IAAK,IACLmb,KAAM,IAENI,SAAU,QAGdA,SAAU,QAEdiC,WAAY,CACR8qJ,iBAAkB,YAClB/sJ,SAAU,QAGd8vE,WAAY,CACRnwE,QAAS,MAETK,SAAU,UAQZ,KACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAIuxR,EAAQvxR,EAAoB,QAEhClB,EAAQwB,KAAO,aAEfxB,EAAQ4T,KAAO,SAASnE,EAAI+3C,EAAQjtB,EAAgBC,GAChDi4P,EAAMC,aAAa1yR,EAAQwB,KAAMiO,EAAI+3C,EAAQjtB,EAAgBC,IAGjEx6B,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D02N,EAAME,cAAc3yR,EAAQwB,KAAMo6D,EAAaC,EAAeC,EAAaC,KAMzE,KACA,SAAUh8D,EAAQC,GAYxB,SAASkJ,EAAI6X,EAAKvgB,EAAGC,GAIjB,OAHAsgB,EAAI,GAAKla,KAAKqC,IAAI1I,EAAE,GAAIC,EAAE,IAC1BsgB,EAAI,GAAKla,KAAKqC,IAAI1I,EAAE,GAAIC,EAAE,IAC1BsgB,EAAI,GAAKla,KAAKqC,IAAI1I,EAAE,GAAIC,EAAE,IACnBsgB,EAdXhhB,EAAOC,QAAUkJ,GAmBX,KACA,SAAUnJ,EAAQC,EAASkB,GAEjC,aAGA,IAAIu0I,EAAkC,qBAAZvd,QAA0Bh3H,EAAoB,QAAUg3H,QAC9EzuH,EAAevI,EAAoB,QACnCwI,EAAexI,EAAoB,QAEnC25b,EAAgB,IAAIplT,EAExB,SAASqlT,EAAmBhwb,GAE1B,IAAIivP,EAAc8gM,EAAc/4b,IAAIgJ,GAChCqyH,EAAS48H,IAAgBA,EAAYghM,gBAAgB59T,QAAU48H,EAAYghM,gBAAgB9vb,QAC/F,IAAIkyH,IAAWryH,EAAGyzB,SAAS4+F,GAAS,CAClC,IAAIv3F,EAAMn8B,EAAaqB,EAAI,IAAIgd,aAAa,EAAE,GAAI,GAAI,EAAG,EAAG,GAAI,KAChEiyO,EAAcrwP,EAAUoB,EAAI,CAC1B,CAAEG,OAAQ26B,EACRxxB,KAAMtJ,EAAG0zH,MACT75G,KAAM,KAGVo1O,EAAYghM,gBAAkBn1Z,EAC9Bi1Z,EAAc9rb,IAAIjE,EAAIivP,GAExBA,EAAYt3P,OACZqI,EAAGm/H,WAAWn/H,EAAGiiL,UAAW,EAAG,GAC/BgtE,EAAYpsP,SAGd5N,EAAOC,QAAU86b,GAKX,KACA,SAAU/6b,EAAQC,EAASkB,GAEjC,aA0BAnB,EAAOC,QAAU,CAEb,CACIikD,KAAM,GACNk4N,QAAS,GAGb,CACIl4N,KAAM,oBACNk4N,QAAS,IAGb,CACIl4N,KAAM,wBACNk4N,QAAS,KAGb,CACIl4N,KAAM,2CACNk4N,QAAS,MAGb,CACIl4N,KAAM,0DACNk4N,QAAS,KAGb,CACIl4N,KAAM,oDACNk4N,QAAS,GAGb,CACIl4N,KAAM,qCACNk4N,QAAS,EACTiB,UAAU,GAGd,CACIn5N,KAAM,gBACNk4N,QAAS,EACTiB,UAAU,KAOZ,KACA,SAAUr9Q,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUg7b,EAEjB,IAAIC,EAAQ/5b,EAAoB,QAEhC,SAAS0hG,EAAOtzF,GAEd,IADA,IAAIvN,EAAI,EACAX,EAAE,EAAGA,EAAEkO,EAAEjP,SAAUe,EACzBW,GAAKuN,EAAElO,GAET,OAAOW,EAGT,SAASi5b,EAAYt8L,EAASv4P,GAG5B,IAFA,IAAI5E,EAAI4E,EAAM9F,OACVy4L,EAAI,IAAI/zL,MAAMxD,EAAE,GACZH,EAAE,EAAGA,EAAEG,IAAKH,EAAG,CAErB,IADA,IAAI49E,EAAM,IAAIj6E,MAAMxD,EAAE,GACdmE,EAAE,EAAGA,GAAGnE,IAAKmE,EACnBs5E,EAAIt5E,GAAKg5P,EAAQh5P,GAAGtE,GAEtB03L,EAAE13L,GAAK49E,EAET85G,EAAEv3L,GAAK,IAAIwD,MAAMxD,EAAE,GACnB,IAAQH,EAAE,EAAGA,GAAGG,IAAKH,EACnB03L,EAAEv3L,GAAGH,GAAK,EAGZ,IAAIX,EAAI,IAAIsE,MAAMxD,EAAE,GACpB,IAAQH,EAAE,EAAGA,EAAEG,IAAKH,EAClBX,EAAEW,GAAK+E,EAAM/E,GAEfX,EAAEc,GAAK,EAEP,IAAI+N,EAAI2rb,EAAMniQ,EAAGr4L,GACbke,EAAIikF,EAAOtzF,EAAE/N,EAAE,IAEV,IAANod,IACDA,EAAI,GAEN,IAAI1J,EAAI,IAAIlQ,MAAMxD,EAAE,GACpB,IAAQH,EAAE,EAAGA,GAAGG,IAAKH,EACnB6T,EAAE7T,GAAKwhG,EAAOtzF,EAAElO,IAAMud,EAExB,OAAO1J,IAKH,KACA,SAAUlV,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbwxK,iBAAkB,eAElBt/J,MAAO,CACHkS,QAAS,UAIb5iB,KAAM,CACF4iB,QAAS,UAIbojC,OAAQ,CACJpjC,QAAS,OAIb82a,UAAW,CACP92a,QAAS,UAIb/X,KAAM,CACF+X,QAAS,OAIbmkC,OAAQ,CACJnkC,QAAS,SASX,KACA,SAAUrkB,EAAQC,EAASkB,GAEjC,aAWA,IAAI+O,EAAY/O,EAAoB,QAChCuW,EAAMvW,EAAoB,QAC1B8K,EAAa9K,EAAoB,QACjC0yF,EAAuB1yF,EAAoB,QAAQ2yF,SACnDwkC,EAAan3H,EAAoB,QAAQm3H,WAE7C,SAAS8iU,EAAsBr0a,EAAQiT,GACnC,IAAIqha,EAAYr2b,MAAM0J,QAAQqY,GAC1B46E,EAAYjqF,EAAIo8D,oBAAoB95C,GACpCzL,EAAMznB,KAAKoC,IACXmyb,EAAYt0a,EAAOzmB,OAASgL,IAC5Bq2F,EAAY3nE,EAAO15B,OAASgL,KAKhC,GAFImD,SAAS8f,KAAMA,EAAM,GAEtBA,GAAOozE,EAAW,CAEjB,IADA,IAAI25V,EACIj6b,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACzB,IAAIwE,EAAIm0B,EAAO34B,GACf,GAAG6O,EAAUrK,IAAMA,EAAI,EAAG,CACtBy1b,GAAc,EACd,OAGJA,IAAa/sa,EAAM,GAG3B,MAAO,CACH8sa,UAAWA,EACX15V,UAAWA,EACXpzE,IAAKA,GAIb,SAAS5a,EAAeumD,EAASC,EAAU4D,EAAcvV,GACrD,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3D,IAAIyC,EAAS8sB,EAAO,UAChB7Z,EAAS6Z,EAAO,UAEhB2uE,EAAM44U,EAAsBr0a,EAAQiT,GACpCzL,EAAMi0F,EAAIj0F,IAWd,GAVA4rC,EAASohY,WAAa/4U,EAAI64U,UAC1BlhY,EAASozU,WAAa/qR,EAAI7gB,WAEtBxnC,EAASohY,YACTphY,EAASozU,aAET15V,EAAO,UACPA,EAAO,WAGPtlB,EAAJ,CAIA4rC,EAAS3hD,QAAU+V,EAEnB,IAAI9iB,EAAYooC,EAAO,qBACpBpoC,GAAWooC,EAAO,qBAErBA,EAAO,iBAEPA,EAAO,cAGP,IAEI2nZ,EAFAlhP,EAAWzmK,EAAO,QAClB4nZ,EAAe5nZ,EAAO,gBAO1B,GALI4nZ,IAAcD,EAAW3nZ,EAAO,WAAY7uC,MAAM0J,QAAQ4rM,GAAY,eAAiB,YAE3FzmK,EAAO,aACPA,EAAO,iBAEJ4nZ,GAAiBD,GAAyB,SAAbA,EAAsB,CAClD,IAAIrwW,EAAet3C,EAAO,gBAC1BykF,EAAWp+D,EAASC,EAAU3R,EAAQ3U,EAAQs3C,EAAc,CACxDotC,mBAAmB,EACnBC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBC,oBAAoB,EACpBC,uBAAuB,IAG3B,IAAIQ,EAAUp0H,MAAM0J,QAAQy8E,IAAkC,SAAjBA,EACzCmuC,EAAaF,GAA4B,YAAjBjuC,EACzBmuC,GACCzlF,EAAO,eAGS,WAAjBs3C,GAA8C,SAAjBA,GAA2BnmF,MAAM0J,QAAQy8E,KACrEt3C,EAAO,yBAIfggD,EAAqB15B,EAAU3R,EAAQ3U,GAEvC,IAAIk1H,EAAOl1H,EAAO,QACduQ,EAAQvQ,EAAO,cACnB,GAAGuQ,EAAO,CACN,IAAIs3Y,EAAgB7nZ,EAAO,iBAAkBk1H,EAAO,gBAAkB,cAClEA,GAA0B,kBAAlB2yR,IAAmCvhY,EAAS/V,MAAMz5C,SAAW,cACzE+M,EAAI2/E,WAAWxjD,EAAQ,aAAc2U,EAAOrmC,MAGhD0xB,EAAO,QACPA,EAAO,aACPA,EAAO,YACPA,EAAO,aAxDHsmB,EAASjnD,SAAU,EA2D3BlT,EAAOC,QAAU,CACbm7b,sBAAuBA,EACvBznb,eAAgBA,IAMd,KACA,SAAU3T,EAAQC,EAASkB,GAEjC,aAYA,IAAI0xC,EAAU1xC,EAAoB,QAC9Bw6b,EAAkBx6b,EAAoB,QACtCm5B,EAAWn5B,EAAoB,QAE/B4yH,EAAgB5yH,EAAoB,QACpC2iG,EAAiB3iG,EAAoB,QAqDzC,SAASy6b,EAAgBlsb,GACrB,IAAIoX,EAAapX,EAAGymB,YAChB3O,EAAW9X,EAAGw3C,UACdzzB,EAAU/jB,EAAG+Y,SACboza,EAAkBpoa,EAAQ6jM,uBAC1BwkO,EAAeroa,EAAQ8jM,oBAEvBw6L,EAAejrY,EAAWg0C,KAAK,aAC/BihY,EAAUj1a,EAAWg0C,KAAK,QAC1B+nX,EAAS/7Z,EAAWg0C,KAAK,OACzBkhY,EAASl1a,EAAWg0C,KAAK,OACzBmhY,EAAgBn1a,EAAWg0C,KAAK,cAChCohY,EAAUp1a,EAAWg0C,KAAK,QAC1BqhY,EAAar1a,EAAWg0C,KAAK,WAC7B8nX,EAAY97Z,EAAWg0C,KAAK,UAC5B2lK,EAAW35M,EAAWg0C,KAAK,SAC3BshY,EAAYt1a,EAAWg0C,KAAK,UAC5BuhY,EAAeC,EAAgBx1a,GAE/B4gC,EAAS,GAEb,SAAS60Y,EAASxvD,GACd,GAAIA,EAASzsY,OAAb,CAIA,IAFA,IAAI0gB,EAAM,GAEF3f,EAAI,EAAGA,EAAI0rY,EAASzsY,OAAQe,IAAK,CACrC,IAAI4iG,EAAS8oS,EAAS1rY,IACkB,IAArCw6b,EAAgB91b,QAAQk+F,IAC3BjjF,EAAI7c,KAAK2/F,EAAeG,IAG5Bv8C,EAAOvjD,KAAK6c,IAIhB,IAAIw7a,EAAc,CAAC,WAChB/oa,EAAQ4jM,sBAAuBmlO,EAAYr4b,KAAK,qBAC3CsvB,EAAQ2jM,iBAAiBolO,EAAYr4b,KAAK,mBAClDo4b,EAASC,GAET,IAAIC,EAAY,GACZC,EAAa,GACbC,EAAa,GACbC,EAAgB,GA6DpB,OA3DI7qC,GAAgBmqC,GAAWF,GAAUC,GAAiBE,GAActZ,EAASkZ,EAAUnZ,EAAYniN,EAAW,GAG9Gi8N,EAAa,CAAC,eACdC,EAAa,CAAC,eACR9Z,GACN4Z,EAAY,CAAC,YAAa,cAC1BC,EAAa,CAAC,mBACdC,EAAa,CAAC,aACRZ,GACNW,EAAa,CAAC,kBACdC,EAAa,CAAC,uBAAwB,0BAChC/Z,GACN6Z,EAAY,CAAC,eAAgB,iBAC7BC,EAAa,CAAC,eACdC,EAAa,CAAC,oBACRT,EACNQ,EAAa,CAAC,oBACRV,EACNU,EAAa,CAAC,mBACRN,GACNM,EAAa,CAAC,wBAAyB,yBACvCC,EAAa,CAAC,oBAGdD,EAAa,CAAC,eAKf3qC,IACC2qC,EAAa,CAAC,mBAAoB,wBAAyB,0BAE5DG,EAAWr1a,KACVk1a,EAAa,KAGb3qC,IAAgBmqC,GAAaG,IAC7BI,EAAY,CAAC,WAAY,YAAa,eACjB,eAAlBE,EAAW,KAAqBA,EAAa,CAAC,kBAGlDZ,EACCa,EAAgB,CAAC,SAAU,QAAS,gBAAiB,kBAC7C7qC,GAAgBmqC,KAAaG,GAAiBF,EACtDS,EAAgB,CAAC,SAAU,SACrBha,GAAaC,EACnB+Z,EAAgB,CAAC,SACXn8N,IACNm8N,EAAgB,CAAC,WAElBE,EAAat1a,IACZo1a,EAAcz4b,KAAK,WAAY,WAGnCo4b,EAASK,GACTL,EAASE,EAAU3zb,OAAO6zb,IAC1BJ,EAASG,GAEFK,EAAsBr1Y,EAAQo0Y,GAGzC,SAASQ,EAAgBx1a,GAGrB,IAFA,IAAIqxB,EAAStF,EAAQptC,KAAK,CAAC0wB,YAAarP,GAAa,MAAM,GAEnDzlB,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAC9B,IAAI82C,EAAO92C,GAAGkjG,WACV,OAAO,EAIf,OAAO,EAKX,SAASu4V,EAAat1a,GAGlB,IAFA,IAAIw1a,GAAa,EAET37b,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACrC,GAAG27b,EAAY,MAEf,IAAIrtb,EAAQ6X,EAASnmB,GAEjBsO,EAAMkjF,SAAYljF,EAAMkjF,QAAQ9+E,eAEjCumB,EAAS4U,QAAQv/B,EAAO,iBACpBgsb,EAAgBn1X,WAAW72D,IAAUgsb,EAAgBpka,QAAQ5nB,MAC5Dqtb,GAAa,GAEX1ia,EAAS4U,QAAQv/B,EAAO,eACP,QAApBA,EAAMm8H,WAAwC,QAAjBn8H,EAAMzK,SAQtC83b,GAAa,IAIrB,OAAOA,EAIX,SAASH,EAAWr1a,GAChB,IAAI,IAAInmB,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAChC,IAAIi5B,EAAS4U,QAAQ1nB,EAASnmB,GAAI,WAAY,OAAO,EAEzD,OAAO,EAGX,SAAS07b,EAAsBr1Y,EAAQrhB,GACnC,GAAGA,EAAQ/lC,OACP,GAAG0E,MAAM0J,QAAQ23B,EAAQ,IACrB,IAAI,IAAIhlC,EAAI,EAAGA,EAAIglC,EAAQ/lC,OAAQe,IAC/BqmD,EAAOvjD,KAAKkiC,EAAQhlC,SAErBqmD,EAAOvjD,KAAKkiC,GAGvB,OAAOqhB,EAIX,SAASu1Y,EAAiBC,GACtB,IAAI,IAAI77b,EAAI,EAAGA,EAAI67b,EAAc58b,OAAQe,IAGrC,IAFA,IAAIo0H,EAAcynU,EAAc77b,GAExBsE,EAAI,EAAGA,EAAI8vH,EAAYn1H,OAAQqF,IAAK,CACxC,IAAIs+F,EAASwxB,EAAY9vH,GAEzB,GAAqB,kBAAXs+F,EAAqB,CAC3B,QAA8B1jG,IAA3BujG,EAAeG,GAGd,MAAM,IAAI7+F,MAAM,CACZ,yCACA,uBACFd,KAAK,MALP44b,EAAc77b,GAAGsE,GAAKm+F,EAAeG,IAWrD,OAAOi5V,EA5OXl9b,EAAOC,QAAU,SAAuByP,GACpC,IAAIoX,EAAapX,EAAGymB,YAChB1C,EAAU/jB,EAAG+Y,SACburG,EAAUltG,EAAWq2a,SAEzB,GAAI1pa,EAAQ4gG,gBAAmB5gG,EAAQwhG,UAAvC,CAQA,IAAIjwH,MAAM0J,QAAQ+kB,EAAQ6jM,wBACtB,MAAM,IAAIlyN,MAAM,CACZ,iDACA,qBACFd,KAAK,MAGX,IAAIU,MAAM0J,QAAQ+kB,EAAQ8jM,qBACtB,MAAM,IAAInyN,MAAM,CACZ,8CACA,qBACFd,KAAK,MAGX,IACI84b,EADAF,EAAgBzpa,EAAQqwE,eAIxBs5V,EADDp4b,MAAM0J,QAAQwub,IAAkBA,EAAc58b,OAC9B28b,EAAiBC,IACzBzpa,EAAQ4gG,gBAAkB5gG,EAAQwhG,UAC1B,GAEA2mU,EAAgBlsb,GAGhCskH,EAASA,EAAQtnH,OAAOgD,EAAI0tb,GAC1Bt2a,EAAWq2a,SAAWppU,EAAcrkH,EAAI0tb,QAjCtCppU,IACCA,EAAQp9F,iBACD9P,EAAWq2a,YA0OxB,MACA,SAAUn9b,EAAQC,EAASkB,GAEjC,aAWA,IAAImpD,EAAUnpD,EAAoB,QAAQmpD,QACtC+yY,EAAkBl8b,EAAoB,QAAQk8b,gBAC9CC,EAAen8b,EAAoB,QAAQo8b,iBAE/C,SAASC,EAAiB/5a,EAAS2S,GAC/BzyB,KAAK0Q,KAAO,mBACZ1Q,KAAK8f,QAAUA,EACf9f,KAAKyyB,IAAMA,EAGXzyB,KAAK85b,SAAW,UAAYrna,EAE5BzyB,KAAKysN,UAAY,CACb,CAAC,OAAQktO,EAAelna,EAAM,SAC9B,CAAC,OAAQkna,EAAelna,EAAM,UAKlCzyB,KAAKgwF,MAAQ,KAGjB,IAAI1uF,EAAQu4b,EAAiB16b,UAE7BmC,EAAMyH,OAAS,SAASw3D,GACpBvgE,KAAK+5b,QAAQpzY,EAAQ4Z,KAGzBj/D,EAAMsxY,eAAiB,SAASryU,GAC5BvgE,KAAK+5b,QAAQL,EAAgBn5X,KAGjCj/D,EAAMy4b,QAAU,SAASC,GACrB,IAAIl6a,EAAU9f,KAAK8f,QACf2sM,EAAYzsN,KAAKysN,UACjBz8H,EAAQlwE,EAAQ4sM,YAAY,SAAW1sN,KAAKyyB,KAEhD3S,EAAQ44B,IACHuhZ,UAAUj6b,KAAK85b,UACfI,QAAQF,EAAQ75X,SAElB6vB,IAAUhwF,KAAKgwF,QACdhwF,KAAKm6b,gBACLn6b,KAAKo6b,WAAWJ,EAAShqW,GACzBhwF,KAAKgwF,MAAQA,GAGjB,IAAI,IAAItyF,EAAI,EAAGA,EAAI+uN,EAAU9vN,OAAQe,IAAK,CACtC,IAAIkvK,EAAO6/C,EAAU/uN,GACjByE,EAAIyqK,EAAK,GACTxjK,EAAKwjK,EAAK,GACVjiJ,EAAOqva,EAAQ73b,GAEnB2d,EAAQqxM,WAAW/nN,EAAI,oBAAqBuhB,EAAKk6B,QAEnB,YAA3Bl6B,EAAKk6B,OAAO/7B,YACXhJ,EAAQqxM,WAAW/nN,EAAI,mBAAoBuhB,EAAK2iE,SAK5DhsF,EAAM84b,WAAa,SAASJ,EAAShqW,GAKjC,IAJA,IAAIlwE,EAAU9f,KAAK8f,QACf2sM,EAAYzsN,KAAKysN,UACjBqtO,EAAW95b,KAAK85b,SAEZp8b,EAAI,EAAGA,EAAI+uN,EAAU9vN,OAAQe,IAAK,CACtC,IAAIkvK,EAAO6/C,EAAU/uN,GACjByE,EAAIyqK,EAAK,GACTjiJ,EAAOqva,EAAQ73b,GAEnB2d,EAAQwxM,SAAS,CACb5gN,KAAMvO,EACNiH,GAAIwjK,EAAK,GACT7lG,OAAQ+yX,EACRj1Y,OAAQl6B,EAAKk6B,OACbyoC,MAAO3iE,EAAK2iE,OACb0C,KAIX1uF,EAAM64b,cAAgB,WAIlB,IAHA,IAAIzhZ,EAAM14C,KAAK8f,QAAQ44B,IACnB+zK,EAAYzsN,KAAKysN,UAEb/uN,EAAI+uN,EAAU9vN,OAAS,EAAGe,GAAK,EAAGA,IACtCg7C,EAAI2hZ,YAAY5tO,EAAU/uN,GAAG,KAIrC4D,EAAMkK,QAAU,WACZ,IAAIktC,EAAM14C,KAAK8f,QAAQ44B,IACvB14C,KAAKm6b,gBACLzhZ,EAAI4hZ,aAAat6b,KAAK85b,WAG1Bz9b,EAAOC,QAAU,SAAgCwjB,EAASygD,GACtD,IAAIv0D,EAAQu0D,EAAU,GAAGv0D,MACrBuub,EAAmB,IAAIV,EAAiB/5a,EAAS9T,EAAMymB,KACvDqna,EAAWS,EAAiBT,SAC5BE,EAAUrzY,EAAQ4Z,GAClByvB,EAAQuqW,EAAiBvqW,MAAQlwE,EAAQ4sM,YAAY,SAAW1gN,EAAMymB,KAY1E,OAVA3S,EAAQ44B,IAAI8hZ,UAAUV,EAAU,CAC5Bppb,KAAM,UACN/H,KAAMqxb,EAAQ75X,UAGlBo6X,EAAiBH,WAAWJ,EAAShqW,GAGrCzvB,EAAU,GAAGv0D,MAAM2mY,SAAW4nD,EAEvBA,IAML,KACA,SAAUl+b,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,SAAmB+gB,EAAKC,EAAItR,EAAOuR,EAAIC,GACpDH,EAAI9U,SAAW+U,EAAG/U,SAClB8U,EAAIhR,EAAIiR,EAAGjR,EAGX,IAAIoR,EAAMF,EAAGC,GAMb,OALGC,EAAIijD,KAAOjjD,EAAIijD,IAAIvB,aAClB9hD,EAAI8hD,WAAa1hD,EAAIijD,IAAIvB,YAE7B9hD,EAAIoX,GAAKhX,EAAIgX,GAENpX,IAML,KACA,SAAUhhB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUm+b,EAEjB,IAAIh1S,EAAOjoJ,EAAoB,QAC3BuI,EAAevI,EAAoB,QACnCwI,EAAYxI,EAAoB,QAChCyI,EAAgBzI,EAAoB,QACpCqoC,EAAOroC,EAAoB,QAC3BgyG,EAAWhyG,EAAoB,QAC/Bm6H,EAAMn6H,EAAoB,QAC1B+/D,EAAO//D,EAAoB,QAC3B4I,EAAU5I,EAAoB,QAC9Bk9b,EAAcl9b,EAAoB,QAClCopG,EAAWppG,EAAoB,QAC/Bof,EAASpf,EAAoB,QAC7B2I,EAAU3I,EAAoB,QAC9B8rF,EAAW9rF,EAAoB,QAC/B6I,EAAU7I,EAAoB,QAE9B8I,EAAeD,EAAQC,aACvBqyP,EAAsBtyP,EAAQsyP,oBAC9BpyP,EAAmBF,EAAQE,iBAC3BomR,EAA0BtmR,EAAQsmR,wBAElCguK,EAAsB,GAEtB1pS,EAAW,CACb,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GAEP2pS,EAAO,CACT,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,IAGFC,EAAe,CACjB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAc3B,SAASC,EAAmB9zb,EAAU5G,EAAOm4P,EAAIjoH,EAAOrpI,GACtDjH,KAAKgH,SAAWA,EAChBhH,KAAKI,MAAQA,EACbJ,KAAKu4P,GAAKA,EACVv4P,KAAKswI,MAAQA,EACbtwI,KAAKiH,eAAiBA,GAhBvB,WACC,IAAK,IAAIvJ,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAI2B,EAAIw7b,EAAan9b,GACjBmD,GAAKnD,EAAI,GAAK,EACdwE,GAAKxE,EAAI,GAAK,EAClB2B,EAAEwB,EAAI,GAAK,EACXxB,EAAE6C,EAAI,GAAK,EACX7C,EAAE3B,EAAI,GAAK,IAPd,GAmBD,IAAIq9b,EAAW,IAEf,SAAShjM,EAAaj6P,GACpB,IAAI8N,EAAI2xD,EAAK,CAACiyC,EAAS,CACrBA,SAAU1xG,EACVk6P,QAAS+iM,EACTl4V,OAAQ,SACPnqD,KAAI,SAAU17C,GACf,MAAO,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,IAAMA,EAAE,SAGpC,OADA26H,EAAIqjU,OAAOpvb,EAAG,KACPA,EAGT,SAASqvb,EACP7zb,EACAw3B,EACAh4B,EACAS,EACAC,EACAo4D,EACAl4D,EACAk4F,EACAw8F,EACAg/P,EACAC,EACAjkM,EACAkkM,EACAC,EACAC,GACAt7b,KAAKoH,GAAKA,EACVpH,KAAK4+B,MAAQA,EACb5+B,KAAK4G,OAASA,EACd5G,KAAKs7b,aAAeA,EACpBt7b,KAAKu7b,gBAAkB,GAEvBv7b,KAAKw7b,QAAUn0b,EACfrH,KAAKy7b,YAAcn0b,EACnBtH,KAAK07b,kBAAoBh8X,EACzB1/D,KAAK27b,KAAOn0b,EACZxH,KAAK47b,UAAYl8V,EAEjB1/F,KAAK67b,eAAiB3/P,EACtBl8L,KAAK87b,mBAAqBZ,EAC1Bl7b,KAAK+7b,eAAiBZ,EACtBn7b,KAAKg8b,YAAc9kM,EACnBl3P,KAAKi8b,gBAAkB,CAAC,GAAI,GAAI,IAChCj8b,KAAKk8b,eAAiB,CAAC,GAAI,GAAI,IAC/Bl8b,KAAKm8b,aAAe,EAEpBn8b,KAAKo8b,YAAc,IAAItB,EAAkB,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IAEtF96b,KAAKq8b,eAAiBjB,EACtBp7b,KAAKs8b,YAAcjB,EACnBr7b,KAAKu8b,gBAAkB,CAAC,EAAG,EAAG,GAC9Bv8b,KAAKw8b,eAAiB,CAAC,EAAG,EAAG,GAE7Bx8b,KAAKuxP,aAAe,CAAE,EAAG,EAAG,GAC5BvxP,KAAK8V,cAAgB,CAAC,CAAC,GAAI,CAAC,GAAI,CAAC,IACjC9V,KAAKy8b,YAAc,CAAC,EAAG,EAAG,GAC1Bz8b,KAAKsxP,aAAe,CAAC,CAAC,GAAK,GAAK,GAAK,GAAI,CAAC,GAAK,GAAK,GAAK,GAAI,CAAC,GAAK,GAAK,GAAK,IAE7EtxP,KAAK+6D,aAAc,EACnB/6D,KAAK86D,aAAc,EAEnB96D,KAAK08b,gBAAkB,EAAC,GAAM,GAAM,GACpC18b,KAAK28b,eAAiB,CAAC,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAC7D38b,KAAK48b,cAAgB,CAAE,EAAG,EAAG,GAC7B58b,KAAK68b,eAAiB,EAAE,GAAI,GAAI,GAGhC78b,KAAK88b,cAAgB,EAAE,GAAM,GAAM,GACnC98b,KAAK+8b,aAAe,CAAEz/X,IAAKA,IAAKA,KAChCt9D,KAAKg9b,aAAe,CAAE,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAC5Dh9b,KAAKi9b,YAAc,CAAE,EAAG,EAAG,GAC3Bj9b,KAAKk9b,aAAe,CAAE,EAAG,EAAG,GAE5Bl9b,KAAK2jC,WAAa,CAAC,CAACh8B,IAAUA,IAAUA,KAAW,EAAEA,KAAWA,KAAWA,MAC3E3H,KAAKm9b,eAAiB,EAAE,GAAO,GAAO,GACtCn9b,KAAKo9b,eAAiB,CAAC,EAAE,GAAO,GAAO,GACrC,EAAE,GAAO,GAAO,GAChB,EAAE,GAAO,GAAO,IAElBp9b,KAAKq9b,YAAc,EAAE,GAAO,GAG5Br9b,KAAKs9b,OAAS,CACZl3b,EAAQy/B,EAAK03Z,YAAY,MAAO,CAAC,EAAG,IACpCn3b,EAAQy/B,EAAK03Z,YAAY,MAAO,CAAC,EAAG,IACpCn3b,EAAQy/B,EAAK03Z,YAAY,MAAO,CAAC,EAAG,KAEtCv9b,KAAK6H,OAAS,EACd7H,KAAK0H,WAAa,CAAC,EAAEC,KAAWA,KAAWA,KAAW,CAACA,IAAUA,IAAUA,MAE3E3H,KAAK0/B,YAAa,EAElB1/B,KAAKmI,WAAa,EAElBnI,KAAKgI,QAAU,EAEfhI,KAAKgxP,cAAgB,CAAC,GAAI,IAAO,GACjChxP,KAAKu3P,aAAe,GACpBv3P,KAAKw3P,aAAe,GACpBx3P,KAAKy3P,cAAgB,EACrBz3P,KAAKwiB,UAAY,GACjBxiB,KAAKyiB,QAAU,IACfziB,KAAKw9b,YAAc,EAEnBx9b,KAAKkI,OAAQ,EAGf,IAAI5G,EAAQ25b,EAAY97b,UAExBmC,EAAM0H,cAAgB,WACpB,OAAOhJ,KAAKgI,QAAU,GAGxB1G,EAAM2H,SAAW,WACf,GAAIjJ,KAAKgI,SAAW,EAClB,OAAO,EAET,IAAK,IAAItK,EAAI,EAAGA,EAAI,IAAKA,EACvB,GAAIsC,KAAKk8b,eAAex+b,GAAGf,OAAS,GAAKqD,KAAKw8b,eAAe9+b,GAAK,EAChE,OAAO,EAGX,OAAO,GAGT4D,EAAM4H,UAAY,EAElB5H,EAAM6H,YAAc,SAAUC,GAC5BpJ,KAAK6H,OAASuB,GAGhB,IAAIq0b,EAAW,CAAC,EAAG,EAAG,GAElBC,EAAe,CACjB5iY,aAAa,EACbC,aAAa,EACb4iY,YAAa,CAAC1sS,EAAStvJ,QAASsvJ,EAAStvJ,QAASsvJ,EAAStvJ,SAC3D+F,WAAY,CACV,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IACnB,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IACnB,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,MAGvB,SAASk2b,EAAuBr0b,EAAQuxB,GACtC,IAAIp9B,EAAGsE,EAAGG,EAGN07b,EAAY/ia,EAAIlmB,MAAQkmB,EAAIlmB,KAAK+yV,cAAc/9Q,MAAS6zW,EAExD3iY,EAAchgC,EAAIggC,YAClBC,EAAcjgC,EAAIigC,YAEtB,IAAKr9D,EAAI,EAAGA,EAAI,IAAKA,EAEnB,IADAo9D,EAAcA,GAAehgC,EAAIqia,eAAez/b,GAC3CsE,EAAI,EAAGA,EAAI,IAAKA,EACnB+4D,EAAcA,GAAejgC,EAAIsia,eAAe1/b,GAAGsE,GAIvD,IAAKtE,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAEtB,IAAIogc,EAAaJ,EAAaC,YAAYjgc,GAC1C,IAAKsE,EAAI,EAAGA,EAAI,KAAMA,EACpB87b,EAAW97b,GAAK,EAElB,IAAKA,EAAI,EAAGA,EAAI,IAAKA,EACnB87b,EAAW,EAAI97b,GAAK,EAEtB87b,EAAW,EAAIpgc,GAAK,EACpBogc,EAAW,GAAKpgc,GAAKo9B,EAAI6I,aAAak6Z,EAASngc,GAAK,IAAIA,GACxDkpG,EAASk3V,EAAYv0b,EAAOE,MAAOq0b,GAEnC,IAAIC,EAAcL,EAAah2b,WAAWhK,GAC1C,IAAKyE,EAAI,EAAGA,EAAI,IAAKA,EACnB,IAAKH,EAAI,EAAGA,EAAI,IAAKA,EACnB+7b,EAAY57b,GAAGH,GAAKuH,EAAO7B,WAAWvF,GAAGH,GAG7C+7b,EAAY,GAAGrgc,IAAM,IACrBqgc,EAAY,GAAGrgc,GAAK,IAMtB,OAHAggc,EAAa5iY,YAAcA,EAC3B4iY,EAAa3iY,YAAcA,EAEpB2iY,EAGT,IAAIM,EAAW,CACbv0b,MAAOwnJ,EACPvnJ,KAAMunJ,EACNtnJ,WAAYsnJ,EACZupG,aAAcvpG,EAAStvJ,QACvBs8b,WAAY,CAAC,EAAG,EAAG,GACnBC,WAAY,CAAC,EAAG,EAAG,GACnBx+V,SAAU,EACVh4F,WAAY,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IAC/B8e,OAAQ,EACRi2a,YAAa,EACbnrM,aAAc,CAAC,EAAG,EAAG,EAAG,GACxBv/F,YAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtCosS,SAAU,KACV7C,aAAc,CAAC,EAAG,EAAG,GACrB7gM,SAAU,EACVC,SAAU,EACVC,UAAW,EACX3J,cAAe,CAAC,IAAM,IAAM,KAC5B4J,YAAa,CAAC,EAAG,EAAG,GACpBp4O,UAAW,EACXC,QAAS,EACTza,QAAS,EACTw1b,YAAa,GAGXY,EAAiBntS,EAAStvJ,QAC1B08b,EAAe,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5C,SAASC,EAAUhxV,EAAQixV,GACzBjxV,EAASA,GAAU,GACnB,IAAIlmG,EAAKpH,KAAKoH,GAEdA,EAAG62B,QAAQ72B,EAAG28B,WAEd/jC,KAAK47b,UAAU78b,KAAK,GAEpB,IAAIyK,EAAWw0b,EACfx0b,EAASC,MAAQ6jG,EAAO7jG,OAASwnJ,EACjCznJ,EAASE,KAAO4jG,EAAO5jG,MAAQunJ,EAC/BznJ,EAASG,WAAa2jG,EAAO3jG,YAAcsnJ,EAC3CznJ,EAASy0b,WAAa,CAACj+b,KAAK4G,OAAO,GAAG,GAAI5G,KAAK4G,OAAO,GAAG,GAAI5G,KAAKq9b,YAAY,IAAMr9b,KAAK4G,OAAO,GAAG,IACnG4C,EAAS00b,WAAa,CAACl+b,KAAK4G,OAAO,GAAG,GAAI5G,KAAK4G,OAAO,GAAG,GAAI5G,KAAKq9b,YAAY,IAAMr9b,KAAK4G,OAAO,GAAG,IACnG4C,EAAS8xb,aAAet7b,KAAKs7b,aAC7B9xb,EAAS8nP,aAAetxP,KAAKsxP,aAAa,GAE1C9nP,EAASgxP,aAAe59O,EAAOpT,EAASgxP,aAAchxP,EAASC,OAE/D,IAAK,IAAI/L,EAAI,EAAGA,EAAI,IAAKA,EAEvB,IADA,IAAI8gc,EAAch1b,EAAS9B,WAAWhK,GAC7BsE,EAAI,EAAGA,EAAI,IAAKA,EACvBw8b,EAAYx8b,GAAKmB,KAAKoC,IAAIpC,KAAKqC,IAAIxF,KAAK0H,WAAWhK,GAAGsE,IAAK,KAAM,KAIrEwH,EAASixP,SAAWz6P,KAAKu3P,aACzB/tP,EAASkxP,SAAW16P,KAAKw3P,aACzBhuP,EAASmxP,UAAY36P,KAAKy3P,cAE1BjuP,EAASgZ,UAAYxiB,KAAKwiB,UAC1BhZ,EAASiZ,QAAUziB,KAAKyiB,QACxBjZ,EAASxB,QAAUhI,KAAKgI,QAExBwB,EAASgd,OAAS,EAClBhd,EAASuoJ,YAAcssS,EAEvB70b,EAASg0b,YAAcx9b,KAAKw9b,YAG5B,IAAI3iM,EAAkBujM,EAKtB,IAJAx3V,EAASi0J,EAAiBrxP,EAASE,KAAMF,EAASC,OAClDm9F,EAASi0J,EAAiBrxP,EAASG,WAAYkxP,GAC/Cj+O,EAAOi+O,EAAiBA,GAEnBn9P,EAAI,EAAGA,EAAI,IAAKA,EACnB8L,EAASoxP,YAAYl9P,GAAKm9P,EAAgB,GAAKn9P,GAAKm9P,EAAgB,IAGtE,IAAI5/O,EAAI4/O,EAAgB,IACxB,IAAKn9P,EAAI,EAAGA,EAAI,IAAKA,EACnBud,GAAKjb,KAAKgxP,cAActzP,GAAKm9P,EAAgB,EAAIn9P,EAAI,GAEvD,IAAKA,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAI4B,EAAIu7P,EAAgB,GAAKn9P,GAC7B,IAAKsE,EAAI,EAAGA,EAAI,IAAKA,EACnB1C,GAAKu7P,EAAgB,EAAI74P,EAAItE,GAAKsC,KAAKgxP,cAAchvP,GAEvDwH,EAASwnP,cAActzP,GAAK4B,EAAI2b,EAGlC,IAAIwjb,EAAcb,EAAsBp0b,EAAUxJ,MAElD,GAAIy+b,EAAY3jY,aAAgByjY,IAAiBv+b,KAAKgI,QAAU,EAAK,CAanE,IAXAhI,KAAKw7b,QAAQz8b,OACbiB,KAAKw7b,QAAQhyb,SAAWA,EAGxBxJ,KAAK27b,KAAK58b,OAENiB,KAAK86D,aAAe96D,KAAKm8b,cAC3Bn8b,KAAK27b,KAAKryb,KAAKlC,EAAGiiL,UAAWrpL,KAAKm8b,cAI/Bz+b,EAAI,EAAGA,EAAI,IAAKA,EACdsC,KAAKm9b,eAAez/b,IAAOsC,KAAK4H,cAGrC5H,KAAKw7b,QAAQhyb,SAASC,MAAQg1b,EAAYd,YAAYjgc,GACtDsC,KAAKw7b,QAAQhyb,SAAS9B,WAAa+2b,EAAY/2b,WAAWhK,GAC1DsC,KAAK27b,KAAKryb,KAAKlC,EAAGiiL,UAAWrpL,KAAKm8b,eAGpCn8b,KAAK27b,KAAK1xb,SAGZ,GAAIw0b,EAAY1jY,cAAgBwjY,EAAa,CAC3C,IAAIl3b,EAASrH,KAAK67b,eAGlBryb,EAASixP,SAAW,EACpBjxP,EAASkxP,SAAW,EACpBlxP,EAASmxP,UAAY,EACrBnxP,EAASxB,QAAU,EAEnBX,EAAOtI,OACPsI,EAAOmC,SAAWA,EAGlB,IAAIhC,EAAMxH,KAAKg8b,YAIf,IAHAx0b,EAAIzI,OAGCrB,EAAI,EAAGA,EAAI,IAAKA,EAInB,IAHA2J,EAAOmC,SAASuoJ,YAAc8oS,EAAan9b,GAC3C0J,EAAGU,UAAU9H,KAAKuxP,aAAa7zP,GAAKsC,KAAKmI,YAEpCnG,EAAI,EAAGA,EAAIhC,KAAK8V,cAAcpY,GAAGf,SAAUqF,EAC1CA,IAAMhC,KAAK68b,eAAen/b,IAC5B2J,EAAOmC,SAAS8nP,aAAetxP,KAAK28b,eAAej/b,GACnD2J,EAAOmC,SAASizb,YAAcz8b,KAAK48b,cAAcl/b,IAClC,IAANsE,GAAYA,EAAI,IAAOhC,KAAK68b,eAAen/b,KACpD2J,EAAOmC,SAAS8nP,aAAetxP,KAAKsxP,aAAa5zP,GACjD2J,EAAOmC,SAASizb,YAAcz8b,KAAKy8b,YAAY/+b,IAE5CsC,KAAKk8b,eAAex+b,GAAGsE,KAI5BqF,EAAOmC,SAASgd,OAASxmB,KAAK8V,cAAcpY,GAAGsE,GAC/CwF,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKk8b,eAAex+b,GAAGsE,GAAIhC,KAAKi8b,gBAAgBv+b,GAAGsE,KAK1E,IAAKtE,EAAI,EAAGA,EAAI,IAAKA,EAGnB,IAFA2J,EAAOmC,SAASC,MAAQg1b,EAAYd,YAAYjgc,GAChD2J,EAAOmC,SAAS9B,WAAa+2b,EAAY/2b,WAAWhK,GAC/CsE,EAAI,EAAGA,EAAI,IAAKA,EACnB,GAAKhC,KAAKo9b,eAAe1/b,GAAGsE,GAA5B,CAGAqF,EAAOmC,SAASuoJ,YAAc8oS,EAAa74b,GAC3CoF,EAAGU,UAAU9H,KAAKuxP,aAAavvP,GAAKhC,KAAKmI,YACzC,IAAK,IAAIhG,EAAI,EAAGA,EAAInC,KAAK8V,cAAc9T,GAAGrF,SAAUwF,EAC9CA,IAAMnC,KAAK68b,eAAe76b,IAC5BqF,EAAOmC,SAAS8nP,aAAetxP,KAAK28b,eAAe36b,GACnDqF,EAAOmC,SAASizb,YAAcz8b,KAAK48b,cAAc56b,IAClC,IAANG,GAAYA,EAAI,IAAOnC,KAAK68b,eAAe76b,KACpDqF,EAAOmC,SAAS8nP,aAAetxP,KAAKsxP,aAAatvP,GACjDqF,EAAOmC,SAASizb,YAAcz8b,KAAKy8b,YAAYz6b,IAE5ChC,KAAKk8b,eAAel6b,GAAGG,KAI5BkF,EAAOmC,SAASgd,OAASxmB,KAAK8V,cAAc9T,GAAGG,GAC/CqF,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKk8b,eAAel6b,GAAGG,GAAInC,KAAKi8b,gBAAgBj6b,GAAGG,KAY5E,IAPAqF,EAAIyC,SAGJzC,EAAMxH,KAAKs8b,YACX90b,EAAIzI,OAGCrB,EAAI,EAAGA,EAAI,IAAKA,EACnB,GAA+B,IAA3BsC,KAAKw8b,eAAe9+b,GAcxB,IAVA2J,EAAOmC,SAASC,MAAQD,EAASC,MACjCpC,EAAOmC,SAAS9B,WAAa8B,EAAS9B,WACtCL,EAAOmC,SAASuoJ,YAAc8oS,EAAan9b,GAC3C0J,EAAGU,UAAU9H,KAAKk9b,aAAax/b,GAAKsC,KAAKmI,YAEzCd,EAAOmC,SAAS8nP,aAAetxP,KAAKg9b,aAAat/b,GACjD2J,EAAOmC,SAASizb,YAAcz8b,KAAKi9b,YAAYv/b,GAC/C2J,EAAOmC,SAASgd,OAASxmB,KAAK+8b,aAAar/b,GAC3C8J,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKw8b,eAAe9+b,GAAIsC,KAAKu8b,gBAAgB7+b,IAE3DsE,EAAI,EAAGA,EAAI,IAAKA,EACdhC,KAAKo9b,eAAep7b,GAAGtE,KAI5B2J,EAAOmC,SAASC,MAAQg1b,EAAYd,YAAY37b,GAChDqF,EAAOmC,SAAS9B,WAAa+2b,EAAY/2b,WAAW1F,GACpDwF,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKw8b,eAAe9+b,GAAIsC,KAAKu8b,gBAAgB7+b,KAIpE8J,EAAIyC,UAIR3I,EAAMgI,KAAO,SAAUgkG,GACrB,OAAOgxV,EAASzhc,KAAKmD,KAAMstG,GAAQ,IAGrChsG,EAAM+H,gBAAkB,SAAUikG,GAChC,OAAOgxV,EAASzhc,KAAKmD,KAAMstG,GAAQ,IAGrC,IAAIoxV,EAAgB,CAClBj1b,MAAOwnJ,EACPvnJ,KAAMunJ,EACNtnJ,WAAYsnJ,EACZupG,aAAcvpG,EACdvpJ,WAAY,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IAC/B8e,OAAQ,EACRoY,MAAO,CAAC,EAAG,GACX/2B,OAAQ,EACRo2b,WAAY,CAAC,EAAG,EAAG,GACnBC,WAAY,CAAC,EAAG,EAAG,GACnBC,QAAS,EACT7C,aAAc,CAAC,EAAG,EAAG,GACrBvpS,YAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtCi/F,cAAe,CAAC,EAAG,EAAG,GACtB4J,YAAa,CAAC,EAAG,EAAG,IA+LtB,SAAS+jM,EAAax+S,EAAO+e,GAC3B,OAAI79J,MAAM0J,QAAQo1I,GACT,CAAE+e,EAAK/e,EAAM,IAAK+e,EAAK/e,EAAM,IAAK+e,EAAK/e,EAAM,KAE/C,CAAE+e,EAAK/e,GAAQ+e,EAAK/e,GAAQ+e,EAAK/e,IAG1C,SAASy+S,EAAShzb,GAChB,OAAIvK,MAAM0J,QAAQa,GACC,IAAbA,EAAEjP,OACG,CAACiP,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,GAErB,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAEvB,CAAC,EAAG,EAAG,EAAG,GAGnB,SAASizb,EAAa1+S,GACpB,GAAI9+I,MAAM0J,QAAQo1I,GAAQ,CACxB,GAAI9+I,MAAM0J,QAAQo1I,GAChB,MAAO,CACLy+S,EAAQz+S,EAAM,IACdy+S,EAAQz+S,EAAM,IACdy+S,EAAQz+S,EAAM,KAEhB,IAAInjJ,EAAI4hc,EAAQz+S,GAChB,MAAO,CACLnjJ,EAAE2E,QACF3E,EAAE2E,QACF3E,EAAE2E,UA4iBV,SAAS84b,EAAmBntV,GAC1B,IAAIlmG,EAAKkmG,EAAOlmG,GAEZC,EAASf,EAAac,GACtBE,EAAaf,EAAiBa,GAC9B80L,EAAgBy8D,EAAoBvxP,GACpC8zb,EAAoBvuK,EAAwBvlR,GAE5C03b,EAAmB/4b,EAAaqB,GAChCI,EAAMxB,EAAUoB,EAAI,CACtB,CAAEG,OAAQu3b,EACR79a,KAAM,EACNglB,OAAQ00Z,EACRthb,OAAQ,GAEV,CAAE9R,OAAQu3b,EACR79a,KAAM,EACNglB,OAAQ00Z,EACRthb,OAAQ,IAEV,CACE9R,OAAQu3b,EACR79a,KAAM,EACNglB,OAAQ00Z,EACRthb,OAAQ,MAIR8hb,EAAgBp1b,EAAaqB,GAC7B8vP,EAAalxP,EAAUoB,EAAI,CAC7B,CACEG,OAAQ4zb,EACRl6a,KAAM,EACNglB,OAAQ,GACR5sB,OAAQ,GAEV,CACE9R,OAAQ4zb,EACRl6a,KAAM,EACNglB,OAAQ,GACR5sB,OAAQ,MAIR+hb,EAAgBr1b,EAAaqB,GAC7Bi0b,EAAar1b,EAAUoB,EAAI,CAC7B,CACEG,OAAQ6zb,EACRn6a,KAAM,EACNvQ,KAAMtJ,EAAG0zH,SAGTowI,EAAOjlQ,EAAcmB,EAAI,EAAG2zb,EAAU3zb,EAAGg0H,KAAMh0H,EAAG2zH,eACtDmwI,EAAKnuI,UAAY31H,EAAG6wH,OACpBizI,EAAKluI,UAAY51H,EAAG6wH,OAEpB,IAAIy2H,EAAU,IAAIusM,EAChB7zb,EACA,CAAC,EAAG,GACJ,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IACnBC,EACAC,EACAw3b,EACAt3b,EACA0jQ,EACAhvE,EACAg/P,EACAC,EACAjkM,EACAkkM,EACAC,EACA,CAAC,EAAG,EAAG,IAGL0D,EAAU,CACZzsQ,OAAQ,CAAC,GAAI,GAAI,KAEnB,IAAK,IAAIlpL,KAAMkkG,EACbyxV,EAAQ31b,GAAMkkG,EAAOlkG,GAMvB,OAJA21b,EAAQvvV,SAAWuvV,EAAQvvV,UAAY,MAEvCk/I,EAAQ3lP,OAAOg2b,GAERrwM,EAz1BTptP,EAAM4I,SAAW,SAAUojG,GACzBA,EAASA,GAAU,GACnB,IAAIlmG,EAAKpH,KAAKoH,GACdA,EAAG62B,QAAQ72B,EAAG28B,WAEd,IAAIv6B,EAAWk1b,EACfl1b,EAASC,MAAQ6jG,EAAO7jG,OAASwnJ,EACjCznJ,EAASE,KAAO4jG,EAAO5jG,MAAQunJ,EAC/BznJ,EAASG,WAAa2jG,EAAO3jG,YAAcsnJ,EAC3CznJ,EAASo1B,MAAQ5+B,KAAKs9b,OAAO,GAAG1+Z,MAChCp1B,EAAS3B,OAAS7H,KAAK6H,OAAS,IAChC2B,EAASy0b,WAAaj+b,KAAK4G,OAAO,GAClC4C,EAAS00b,WAAal+b,KAAK4G,OAAO,GAClC4C,EAAS8xb,aAAet7b,KAAKs7b,aAC7B9xb,EAASuoJ,YAAcssS,EAEvB,IAAK,IAAI3gc,EAAI,EAAGA,EAAI,IAAKA,EAEvB,IADA,IAAI8gc,EAAch1b,EAAS9B,WAAWhK,GAC7BsE,EAAI,EAAGA,EAAI,IAAKA,EACvBw8b,EAAYx8b,GAAKmB,KAAKoC,IAAIpC,KAAKqC,IAAIxF,KAAK0H,WAAWhK,GAAGsE,IAAK,KAAM,KAIrE,IAAIy8b,EAAcb,EAAsBp0b,EAAUxJ,MAElD,GAAIy+b,EAAY3jY,YAAa,CAU3B,IARA96D,KAAKy7b,YAAY18b,OACjBiB,KAAKy7b,YAAYjyb,SAAWA,EAG5BxJ,KAAK27b,KAAK58b,OACViB,KAAK27b,KAAKryb,KAAKlC,EAAGiiL,UAAWrpL,KAAKm8b,cAG7Bz+b,EAAI,EAAGA,EAAI,IAAKA,EACdsC,KAAKm9b,eAAez/b,KAGzBsC,KAAKy7b,YAAYjyb,SAASC,MAAQg1b,EAAYd,YAAYjgc,GAC1DsC,KAAKy7b,YAAYjyb,SAAS9B,WAAa+2b,EAAY/2b,WAAWhK,GAC9DsC,KAAK27b,KAAKryb,KAAKlC,EAAGiiL,UAAWrpL,KAAKm8b,eAGpCn8b,KAAK27b,KAAK1xb,SAGZ,GAAIw0b,EAAY1jY,YAAa,CAC3B,IAAI1zD,EAASrH,KAAK87b,mBAElBz0b,EAAOtI,OACPsI,EAAOmC,SAAWA,EAElB,IAAIhC,EAAMxH,KAAKg8b,YAGf,IAFAx0b,EAAIzI,OAECiD,EAAI,EAAGA,EAAI,IAAKA,EAGnB,IAFAoF,EAAGU,UAAU9H,KAAKuxP,aAAavvP,GAAKhC,KAAKmI,YACzCd,EAAOmC,SAASuoJ,YAAc8oS,EAAa74b,GACtCtE,EAAI,EAAGA,EAAIsC,KAAK8V,cAAc9T,GAAGrF,SAAUe,EAC1CsC,KAAKk8b,eAAel6b,GAAGtE,KACzB2J,EAAOmC,SAASgd,OAASxmB,KAAK8V,cAAc9T,GAAGtE,GAC/C8J,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKk8b,eAAel6b,GAAGtE,GAAIsC,KAAKi8b,gBAAgBj6b,GAAGtE,KAM5E,IAAKA,EAAI,EAAGA,EAAI,IAAKA,EAInB,IAHA2J,EAAOmC,SAASC,MAAQg1b,EAAYd,YAAYjgc,GAChD2J,EAAOmC,SAAS9B,WAAa+2b,EAAY/2b,WAAWhK,GAE/CsE,EAAI,EAAGA,EAAI,IAAKA,EACnB,GAAKhC,KAAKo9b,eAAe1/b,GAAGsE,GAA5B,CAIAqF,EAAOmC,SAASuoJ,YAAc8oS,EAAa74b,GAC3CoF,EAAGU,UAAU9H,KAAKuxP,aAAavvP,GAAKhC,KAAKmI,YACzC,IAAK,IAAIhG,EAAI,EAAGA,EAAInC,KAAK8V,cAAc9T,GAAGrF,SAAUwF,EAC9CnC,KAAKk8b,eAAel6b,GAAGG,KACzBkF,EAAOmC,SAASgd,OAASxmB,KAAK8V,cAAc9T,GAAGG,GAC/CqF,EAAI8B,KAAKlC,EAAGqqJ,MAAOzxJ,KAAKk8b,eAAel6b,GAAGG,GAAInC,KAAKi8b,gBAAgBj6b,GAAGG,KAM9EqF,EAAIyC,WAIR3I,EAAMmK,KAAO,SAAUC,GACrB,IAAKA,EACH,OAAO,KAGT,GAAIA,EAAUtC,KAAOpJ,KAAK6H,OACxB,OAAO,KAGT,IAAI+2B,EAAQ5+B,KAAKs9b,OAAO,GAAG1+Z,MAEvB/3B,EAAS7G,KAAKo8b,YAGdxwb,EAAIgzB,EAAM,IAAMlzB,EAAUlN,MAAM,IAAMkN,EAAUlN,MAAM,IAAM,GAAK,IAAQ,IACzEg0J,EAAKrvJ,KAAK2N,MAAMlF,GAChBy/D,EAAKz/D,EAAI4mJ,EAETjhJ,EAAIqtB,EAAM,IAAMlzB,EAAUlN,MAAM,IAA2B,GAArBkN,EAAUlN,MAAM,IAAW,IAAQ,IACzEi0J,EAAKtvJ,KAAK2N,MAAMS,GAChB+5D,EAAK/5D,EAAIkhJ,EAEbD,GAAM,EACNC,GAAM,EAGN,IAAIniH,EAAMzpC,EAAOG,SACjBspC,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAK,EAC3B,IAAK,IAAIpa,EAAK,EAAGA,EAAK,IAAKA,EAEzB,IADA,IAAI52B,EAAI42B,EAAKm1C,EAAK,EAAMA,EACfnkD,EAAK,EAAGA,EAAK,IAAKA,EAOzB,IANA,IAAIzoB,EAAIyoB,EAAKokD,EAAK,EAAMA,EAEpBjtE,EAAIm0J,EAAKt8H,EACTl5B,EAAIy1J,EAAKvrI,EACTjM,EAAI3b,EAAIb,EAEHf,EAAI,EAAGA,EAAI,IAAKA,EACvB4yC,EAAI5yC,IAAMsC,KAAKs9b,OAAO5/b,GAAGU,IAAIC,EAAGrB,GAAKie,EAO3C,IADA,IAAI+jb,EAAah/b,KAAKo8b,YAAY9rT,MACzBtuI,EAAI,EAAGA,EAAI,IAAKA,EAEvB,GADAg9b,EAAWh9b,GAAKmE,EAAQmF,GAAGtL,KAAK8V,cAAc9T,GAAIsuC,EAAItuC,IAClDg9b,EAAWh9b,GAAK,EACdhC,KAAK8V,cAAc9T,GAAGrF,OAAS,IACjCqic,EAAWh9b,GAAK,QAEb,GAAIg9b,EAAWh9b,GAAKhC,KAAK8V,cAAc9T,GAAGrF,OAAS,EAAG,CAC3D,IAAIG,EAAIkD,KAAK8V,cAAc9T,GAAGg9b,EAAWh9b,IACrCjF,EAAIiD,KAAK8V,cAAc9T,GAAGg9b,EAAWh9b,GAAK,GAC1CmB,KAAK+R,IAAIpY,EAAIwzC,EAAItuC,IAAMmB,KAAK+R,IAAInY,EAAIuzC,EAAItuC,MAC1Cg9b,EAAWh9b,IAAM,GAWvB,IANA6E,EAAOzG,MAAM,GAAKirE,EAAK,GAAMmnF,EAAMA,EAAK,EACxC3rJ,EAAOzG,MAAM,GAAKkrE,EAAK,GAAMmnF,EAAMA,EAAK,EAExC5rJ,EAAO0xP,GAAG,GAAK3sP,EAAIgzB,EAAM,GACzB/3B,EAAO0xP,GAAG,GAAKhnP,EAAIqtB,EAAM,GAEpBlhC,EAAI,EAAGA,EAAI,IAAKA,EACnBmJ,EAAOI,eAAevJ,GAAKsC,KAAKs9b,OAAO5/b,GAAGU,IAAIyI,EAAOzG,MAAM,GAAIyG,EAAOzG,MAAM,IAG9E,OAAOyG,GAGTvF,EAAM29b,SAAW,SAASC,EAAUC,GAClC,IAAIC,EAAWD,EAASvga,MAAMj9B,QAC1B09b,EAAWH,EAAStga,MAAMj9B,QAG9Bg2H,EAAI5hH,OAAOmpb,EAASnqb,GAAG,EAAG,GAAGD,GAAGsqb,EAAS,GAAIA,EAAS,IAAKD,GAG3DxnU,EAAI5hH,OAAOmpb,EAASnqb,GAAG,GAAGD,GAAGsqb,EAAS,GAAI,GACxCD,EAASrqb,GAAGsqb,EAAS,GAAI,IAC3BznU,EAAI5hH,OAAOmpb,EAASnqb,GAAG,EAAGsqb,EAAS,GAAK,GAAGvqb,GAAGsqb,EAAS,GAAI,GACzDD,EAASpqb,GAAG,EAAGqqb,EAAS,GAAK,GAAGtqb,GAAGsqb,EAAS,GAAI,IAClDznU,EAAI5hH,OAAOmpb,EAASnqb,GAAG,EAAG,GAAGD,GAAG,EAAGsqb,EAAS,IAC1CD,EAASrqb,GAAG,IACd6iH,EAAI5hH,OAAOmpb,EAASnqb,GAAGsqb,EAAS,GAAK,EAAG,GAAGvqb,GAAG,EAAGsqb,EAAS,IACxDD,EAASpqb,GAAGqqb,EAAS,GAAK,IAE5BF,EAAS7zb,IAAI,EAAG,EAAG8zb,EAAS/gc,IAAI,EAAG,IACnC8gc,EAAS7zb,IAAI,EAAGg0b,EAAS,GAAK,EAAGF,EAAS/gc,IAAI,EAAGghc,EAAS,GAAK,IAC/DF,EAAS7zb,IAAIg0b,EAAS,GAAK,EAAG,EAAGF,EAAS/gc,IAAIghc,EAAS,GAAK,EAAG,IAC/DF,EAAS7zb,IAAIg0b,EAAS,GAAK,EAAGA,EAAS,GAAK,EAAGF,EAAS/gc,IAAIghc,EAAS,GAAK,EAAGA,EAAS,GAAK,KAqC7F99b,EAAMyH,OAAS,SAAUukG,GACvBA,EAASA,GAAU,GAEnBttG,KAAKs7b,aAAehuV,EAAOguV,cAAgBt7b,KAAKs7b,aAEhDt7b,KAAKkI,OAAQ,EAET,iBAAkBolG,IACpBttG,KAAKuxP,aAAeotM,EAAYrxV,EAAOikJ,aAAc3+M,SAEnD,gBAAiB06D,IACnBttG,KAAK+6D,YAAc4jY,EAAYrxV,EAAOvyC,YAAauvC,UAEjD,gBAAiBgD,IACnBttG,KAAK86D,cAAgBwyC,EAAOxyC,aAE1B,gBAAiBwyC,IACnBttG,KAAKy8b,YAAckC,EAAYrxV,EAAOmvV,YAAanyV,UAEjD,iBAAkBgD,IACpBttG,KAAKsxP,aAAeutM,EAAYvxV,EAAOgkJ,eAErC,mBAAoBhkJ,IACtBttG,KAAKo9b,eAAiBuB,EAAYrxV,EAAO8vV,gBAAgB,SAAUxxb,GACjE,OAAO+yb,EAAY/yb,EAAG0+F,aAGtB,mBAAoBgD,IACtBttG,KAAKm9b,eAAiB7vV,EAAO6vV,gBAE3B,iBAAkB7vV,IACpBttG,KAAKg9b,aAAe6B,EAAYvxV,EAAO0vV,eAErC,gBAAiB1vV,IACnBttG,KAAKi9b,YAAc0B,EAAYrxV,EAAO2vV,YAAarqZ,SAEjD,iBAAkB06D,IACpBttG,KAAKk9b,aAAeyB,EAAYrxV,EAAO4vV,aAActqZ,SAEnD,YAAa06D,IACfttG,KAAKgI,QAAUslG,EAAOtlG,SAEpB,gBAAiBslG,IACnBttG,KAAKq9b,YAAc/vV,EAAO+vV,aAExB,gBAAiB/vV,IACnBttG,KAAKw9b,YAAclwV,EAAOkwV,YAAc,EAAI,GAG9C,IAAIhmI,EAAQlqN,EAAOkqN,OAAUlqN,EAAO7tC,QAAU6tC,EAAO7tC,OAAO,IAAO,KAC/D6/X,GAAgB,EAWpB,GATK9nI,IAEDA,EADEx3T,KAAKs9b,OAAO,GAAG1+Z,MAAM,IAAM5+B,KAAKs9b,OAAO,GAAG1+Z,MAAM,GAC1C5+B,KAAKs9b,OAAO,GAAGvob,GAAG,EAAG,GAAGD,GAAG9U,KAAKs9b,OAAO,GAAG1+Z,MAAM,GAAK,EAAG5+B,KAAKs9b,OAAO,GAAG1+Z,MAAM,GAAK,GAElF5+B,KAAKs9b,OAAO,GAAGxob,GAAG,EAAG,IAK7B,UAAWw4F,GAAU,WAAYA,EAAQ,CAC3C,IAAIiyV,GAAS/nI,EAAM54R,MAAM,GAAK,IAAM44R,EAAM54R,MAAM,GAAK,GAGjD2ga,EAAQv/b,KAAKs9b,OAAO,GAAG30b,KAAKhM,SAC9BkpC,EAAK25Z,UAAUx/b,KAAKs9b,OAAO,GAAG30b,MAC9B3I,KAAKs9b,OAAO,GAAG30b,KAAOk9B,EAAK03Z,YAAY93S,EAAKgtC,SAAS8sQ,KAIvDv/b,KAAKs9b,OAAO,GAAKl3b,EAAQpG,KAAKs9b,OAAO,GAAG30b,KAAM,CAAC6uT,EAAM54R,MAAM,GAAK,EAAG44R,EAAM54R,MAAM,GAAK,IACpF5+B,KAAKi/b,SAASj/b,KAAKs9b,OAAO,GAAI9lI,GAG9Bx3T,KAAK4+B,MAAQ44R,EAAM54R,MAAMj9B,QAIzB,IAHA,IAAIi9B,EAAQ5+B,KAAK4+B,MAGRlhC,EAAI,EAAGA,EAAI,IAAKA,EACnBsC,KAAKs9b,OAAO,GAAGr8a,KAAOjhB,KAAKs9b,OAAO5/b,GAAGiL,KAAKhM,SAC5CkpC,EAAK25Z,UAAUx/b,KAAKs9b,OAAO5/b,GAAGiL,MAC9B3I,KAAKs9b,OAAO5/b,GAAGiL,KAAOk9B,EAAK03Z,YAAYv9b,KAAKs9b,OAAO,GAAGr8a,OAExDjhB,KAAKs9b,OAAO5/b,GAAK0I,EAAQpG,KAAKs9b,OAAO5/b,GAAGiL,KAAM,CAACi2B,EAAM,GAAK,EAAGA,EAAM,GAAK,IAI1E,GAAI0uE,EAAO7tC,OAAQ,CACjB,IAAIA,EAAS6tC,EAAO7tC,OACpB,IAAKp+D,MAAM0J,QAAQ00D,IAA6B,IAAlBA,EAAO9iE,OACnC,MAAM,IAAI8E,MAAM,2CAElB,IAAK/D,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAIqlC,EAAQ08B,EAAO/hE,GACnB,IAAKsE,EAAI,EAAGA,EAAI,IAAKA,EACnB,GAAI+gC,EAAMnE,MAAM58B,KAAO48B,EAAM58B,GAC3B,MAAM,IAAIP,MAAM,2CAGpBzB,KAAKi/b,SAASj/b,KAAKs9b,OAAO5/b,GAAIqlC,SAE3B,GAAIuqE,EAAOn5F,MAAO,CACvB,IAAIA,EAAQm5F,EAAOn5F,MACnB,IAAK9S,MAAM0J,QAAQoJ,IAA2B,IAAjBA,EAAMxX,OACjC,MAAM,IAAI8E,MAAM,6BAElB,IAAK/D,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAI0lC,EAAOjvB,EAAMzW,GAIjB,IAHI2D,MAAM0J,QAAQq4B,IAASA,EAAKzmC,UAC9BymC,EAAOh9B,EAAQg9B,IAEbA,EAAKxE,MAAM,KAAOA,EAAMlhC,GAC1B,MAAM,IAAI+D,MAAM,mCAGlB,IAAIg+b,EAAQr5b,EAAQg9B,EAAKz6B,KAAMi2B,GAC/B6ga,EAAMx5Z,OAAOvoC,GAAK0lC,EAAK6C,OAAO,GAC9Bw5Z,EAAMx5Z,OAAW,EAAJvoC,GAAS,EAGtBsC,KAAKi/b,SAASj/b,KAAKs9b,OAAO5/b,GAAI+hc,QAE3B,CACL,IAAK/hc,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAI2b,EAAS,CAAC,EAAG,GACjBA,EAAO3b,GAAK,EACZsC,KAAKs9b,OAAO5/b,GAAK0I,EAAQpG,KAAKs9b,OAAO5/b,GAAGiL,KAAM,CAACi2B,EAAM,GAAK,EAAGA,EAAM,GAAK,GAAIvlB,EAAQ,GAEtFrZ,KAAKs9b,OAAO,GAAGjyb,IAAI,EAAG,EAAG,GACzB,IAAK,IAAIrJ,EAAI,EAAGA,EAAI48B,EAAM,KAAM58B,EAC9BhC,KAAKs9b,OAAO,GAAGjyb,IAAIrJ,EAAI,EAAG,EAAGA,GAI/B,IAFAhC,KAAKs9b,OAAO,GAAGjyb,IAAIuzB,EAAM,GAAK,EAAG,EAAGA,EAAM,GAAK,GAC/C5+B,KAAKs9b,OAAO,GAAGjyb,IAAI,EAAG,EAAG,GACpBrJ,EAAI,EAAGA,EAAI48B,EAAM,KAAM58B,EAC1BhC,KAAKs9b,OAAO,GAAGjyb,IAAI,EAAGrJ,EAAI,EAAGA,GAE/BhC,KAAKs9b,OAAO,GAAGjyb,IAAI,EAAGuzB,EAAM,GAAK,EAAGA,EAAM,GAAK,GAIjD,IAAI24R,EAASv3T,KAAKs9b,OAGdoC,EAAUt5b,EAAQy/B,EAAK03Z,YAA6B,EAAjBhmI,EAAO,GAAGt2S,KAAW,GAAI,CAAC,EAAG2d,EAAM,GAAK,EAAGA,EAAM,GAAK,EAAG,IAChG,IAAKlhC,EAAI,EAAGA,EAAI,IAAKA,EACnB4rF,EAASo2W,EAAQj0b,KAAK/N,GAAI65T,EAAO75T,GAAI,UAEvC,IAAIk4D,EAAUxvD,EAAQy/B,EAAK03Z,YAA6B,EAAjBhmI,EAAO,GAAGt2S,MAAW,CAAC2d,EAAM,GAAK,EAAGA,EAAM,GAAK,EAAG,IACzF,IAAKlhC,EAAI,EAAGA,EAAIkhC,EAAM,GAAK,IAAKlhC,EAC9B,IAAKsE,EAAI,EAAGA,EAAI48B,EAAM,GAAK,IAAK58B,EAAG,CACjC,IAAI29b,EAAOD,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAC5B49b,EAAOF,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAC5B69b,EAAOH,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAC5B89b,EAAOJ,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAC5B+9b,EAAOL,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAC5Bg+b,EAAON,EAAQthc,IAAI,EAAGV,EAAGsE,EAAG,GAE5Bu1U,EAAKsoH,EAAOG,EAAOF,EAAOC,EAC1BvoH,EAAKuoH,EAAOH,EAAOI,EAAOL,EAC1BM,EAAKN,EAAOG,EAAOF,EAAOC,EAE1BK,EAAK/8b,KAAKuD,KAAK6wU,EAAKA,EAAKC,EAAKA,EAAKyoH,EAAKA,GACxCC,EAAK,MACPA,EAAK/8b,KAAKqC,IAAIrC,KAAK+R,IAAIqiU,GAAKp0U,KAAK+R,IAAIsiU,GAAKr0U,KAAK+R,IAAI+qb,IAC/CC,EAAK,MACPD,EAAK,EACLzoH,EAAKD,EAAK,EACV2oH,EAAK,GAELA,EAAK,EAAMA,GAGbA,EAAK,EAAM/8b,KAAKuD,KAAKw5b,GAGvBtqY,EAAQvqD,IAAI3N,EAAGsE,EAAG,EAAGu1U,EAAK2oH,GAC1BtqY,EAAQvqD,IAAI3N,EAAGsE,EAAG,EAAGw1U,EAAK0oH,GAC1BtqY,EAAQvqD,IAAI3N,EAAGsE,EAAG,EAAGi+b,EAAKC,GAG9Br6Z,EAAKg3F,KAAK6iU,EAAQ/2b,MAGlB,IAAIoM,EAAK,CAAEpN,IAAUA,IAAUA,KAC3BmN,EAAK,EAAGnN,KAAWA,KAAWA,KAC9Bw4b,EAAex4b,IACfy4b,GAAgBz4b,IAChBqgE,GAASppC,EAAM,GAAK,IAAMA,EAAM,GAAK,GAAK,EAC1Cyha,EAASx6Z,EAAK03Z,YAAY93S,EAAKgtC,SAAS,GAAKzqH,IAC7Cs4X,EAAO,EACP14b,EAAc,EAClB,IAAKlK,EAAI,EAAGA,EAAIkhC,EAAM,GAAK,IAAKlhC,EAC9B6ic,EACA,IAAKv+b,EAAI,EAAGA,EAAI48B,EAAM,GAAK,IAAK58B,EAAG,CAEjC,IAAK,IAAIk0B,EAAK,EAAGA,EAAK,IAAKA,EACzB,IAAK,IAAIhP,EAAK,EAAGA,EAAK,IAAKA,EACzB,IAAK,IAAI/kB,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAIqjC,EAAIxlC,KAAKs9b,OAAOn7b,GAAG/D,IAAI,EAAIV,EAAIw4B,EAAI,EAAIl0B,EAAIklB,GAC/C,GAAIrc,MAAM26B,KAAO16B,SAAS06B,GACxB,SAAS+6Z,EAKjB,IAAKp+b,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAI9D,EAAIX,EAAIk9b,EAAKz4b,GAAG,GAChBnF,EAAIgF,EAAI44b,EAAKz4b,GAAG,GAEhB87C,EAAKj+C,KAAKs9b,OAAO,GAAGl/b,IAAIC,EAAI,EAAGrB,EAAI,GACnCk4Q,EAAKl1Q,KAAKs9b,OAAO,GAAGl/b,IAAIC,EAAI,EAAGrB,EAAI,GACvCwoC,EAASxlC,KAAKs9b,OAAO,GAAGl/b,IAAIC,EAAI,EAAGrB,EAAI,GAEvCu6U,EAAK3hR,EAAQx3D,IAAIC,EAAI,EAAGrB,EAAI,EAAG,GAC/Bw6U,EAAK5hR,EAAQx3D,IAAIC,EAAI,EAAGrB,EAAI,EAAG,GAC/Bijc,EAAKrqY,EAAQx3D,IAAIC,EAAI,EAAGrB,EAAI,EAAG,GAE3BswG,EAAOi1D,YACTi+R,EAAKlzV,EAAOi1D,UAAUnkK,IAAIC,EAAGrB,IAG/B,IAAIwjc,EAAMlzV,EAAgB,UACxBA,EAAOi1D,UAAUnkK,IAAIC,EAAGrB,GACxBwoC,EAAIxlC,KAAKs7b,aAAa,GAExB+E,EAAOC,KAAUjic,EACjBgic,EAAOC,KAAUtjc,EACjBqjc,EAAOC,KAAUriZ,EACjBoiZ,EAAOC,KAAUprL,EACjBmrL,EAAOC,KAAU96Z,EACjB66Z,EAAOC,KAAU,EACjBD,EAAOC,KAAUE,EACjBH,EAAOC,KAAU/oH,EACjB8oH,EAAOC,KAAU9oH,EACjB6oH,EAAOC,KAAUL,EAEjBlrb,EAAG,GAAK5R,KAAKoC,IAAIwP,EAAG,GAAIkpC,EAAKj+C,KAAKs7b,aAAa,IAC/Cvmb,EAAG,GAAK5R,KAAKoC,IAAIwP,EAAG,GAAImgQ,EAAKl1Q,KAAKs7b,aAAa,IAC/Cvmb,EAAG,GAAK5R,KAAKoC,IAAIwP,EAAG,GAAIywB,EAAKxlC,KAAKs7b,aAAa,IAC/C6E,EAAeh9b,KAAKoC,IAAI46b,EAAcK,GAEtC1rb,EAAG,GAAK3R,KAAKqC,IAAIsP,EAAG,GAAImpC,EAAKj+C,KAAKs7b,aAAa,IAC/Cxmb,EAAG,GAAK3R,KAAKqC,IAAIsP,EAAG,GAAIogQ,EAAKl1Q,KAAKs7b,aAAa,IAC/Cxmb,EAAG,GAAK3R,KAAKqC,IAAIsP,EAAG,GAAI0wB,EAAKxlC,KAAKs7b,aAAa,IAC/C8E,EAAej9b,KAAKqC,IAAI46b,EAAcI,GAEtC54b,GAAe,GAWrB,IANI0lG,EAAOiuV,kBACT4E,GAAgB7yV,EAAOiuV,gBAAgB,GACvC6E,GAAgB9yV,EAAOiuV,gBAAgB,IAIpC79b,EAAI,EAAGA,EAAI4ic,EAAM5ic,GAAK,GACzB2ic,EAAO3ic,IAAM2ic,EAAO3ic,GAAKyic,IAAiBC,EAAeD,GAG3Dngc,KAAKm8b,aAAev0b,EACpB5H,KAAK07b,kBAAkB3yb,OAAOs3b,EAAO32U,SAAS,EAAG42U,IACjDz6Z,EAAK25Z,UAAUa,GACfx6Z,EAAKg3F,KAAKjnE,EAAQjtD,MAGlB3I,KAAK4G,OAAS,CAACmO,EAAID,GAGnB9U,KAAKuiK,UAAYj1D,EAAOi1D,WAAaviK,KAAKs9b,OAAO,GAE9Ct9b,KAAKu7b,gBAAgB,KAAO4E,GAAgBngc,KAAKu7b,gBAAgB,KAAO6E,IACvEd,GAAgB,GAIpBt/b,KAAKu7b,gBAAkB,CAAC4E,EAAcC,GAIxC,GAAI,WAAY9yV,EAAQ,CACtB,IAAIglF,EAAShlF,EAAOglF,OAMpB,IAFEA,EAHGjxL,MAAM0J,QAAQunL,EAAO,IAGfA,EAAO3wL,QAFP,CAAE,GAAI,GAAI2wL,GAIhB50L,EAAI,EAAGA,EAAI,IAAKA,EACnB40L,EAAO50L,GAAK40L,EAAO50L,GAAGiE,QACtB2wL,EAAO50L,GAAG0G,MAAK,SAAUtH,EAAGC,GAC1B,OAAOD,EAAIC,KAGf,IAAKW,EAAI,EAAGA,EAAI,IAAKA,EACnB,IAAKsE,EAAI,EAAGA,EAAIswL,EAAO50L,GAAGf,SAAUqF,EAClCswL,EAAO50L,GAAGsE,IAAMhC,KAAKs7b,aAAa59b,GAGtC+ic,EACA,IAAK/ic,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,GAAI40L,EAAO50L,GAAGf,SAAWqD,KAAK8V,cAAcpY,GAAGf,OAAQ,CACrD2ic,GAAgB,EAChB,MAEF,IAAKt9b,EAAI,EAAGA,EAAIswL,EAAO50L,GAAGf,SAAUqF,EAClC,GAAIswL,EAAO50L,GAAGsE,KAAOhC,KAAK8V,cAAcpY,GAAGsE,GAAI,CAC7Cs9b,GAAgB,EAChB,MAAMmB,GAIZzgc,KAAK8V,cAAgBw8K,EAGvB,GAAIgtQ,EAAe,CACjB/nI,EAASv3T,KAAKs9b,OACd1+Z,EAAQ5+B,KAAK4+B,MAKb,IAFA,IAAI8ha,EAAe,GAEVlmY,GAAM,EAAGA,GAAM,IAAKA,GAAK,CAChC,IAAImmY,GAAe3gc,KAAK8V,cAAc0kD,IAElComY,GAAe,GACfC,GAAc,GAEd7ya,GAAQ,CAAC,EAAG,EAAG,GAEnB,IAAKtwB,EAAI,EAAGA,EAAIijc,GAAahkc,SAAUe,EAAG,CACxC,IAAI+oK,GAAQi0R,EAAY16b,KAAKs9b,OAAO9iY,IAAMmmY,GAAajjc,IAEvDkjc,GAAapgc,KAAMkgc,EAAa/jc,OAAS,EAAK,GAC9CiL,EAAc,EAEdk5b,EACA,IAAK9+b,EAAI,EAAGA,EAAIykK,GAAMliK,MAAM5H,SAAUqF,EAAG,CACvC,IAAI+Y,GAAI0rJ,GAAMliK,MAAMvC,GACpB,IAAKG,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACtB,IAAI9C,GAAIonK,GAAMn8J,UAAUyQ,GAAE5Y,IAEtByJ,GAAIvM,GAAE,GACNmzJ,GAAqB,EAAhBrvJ,KAAK2N,MAAMlF,IAChBy/D,GAAKz/D,GAAI4mJ,GAETjhJ,GAAIlS,GAAE,GACNozJ,GAAqB,EAAhBtvJ,KAAK2N,MAAMS,IAChB+5D,GAAK/5D,GAAIkhJ,GAET2S,IAAO,EACX27R,EACA,IAAK,IAAIn3W,GAAO,EAAGA,GAAO,IAAKA,GAAM,CACnC57D,GAAM47D,IAAQ,EACd,IAAIo3W,IAAMxmY,GAAMovB,GAAO,GAAK,EAC5B,IAAK1zD,EAAK,EAAGA,EAAK,IAAKA,EAAI,CACzB,IAAI52B,GAAI42B,EAAKm1C,GAAK,EAAMA,GAExB,IADAhtE,EAA+C,EAA3C8E,KAAKoC,IAAIpC,KAAKqC,IAAIgtJ,GAAKt8H,EAAI,GAAI0I,EAAM,IACpC1X,EAAK,EAAGA,EAAK,IAAKA,EAAI,CACzB,IAAIzoB,GAAIyoB,EAAKokD,GAAK,EAAMA,GAQxB,GAPAtuE,EAA+C,EAA3CmG,KAAKoC,IAAIpC,KAAKqC,IAAIitJ,GAAKvrI,EAAI,GAAI0X,EAAM,IAGvC4G,EADEokD,GAAO,EACL5pF,KAAKs9b,OAAO0D,IAAI5ic,IAAIC,EAAGrB,IAEtBgD,KAAKuiK,UAAUnkK,IAAIC,EAAGrB,GAAKgD,KAAKu7b,gBAAgB,KAAOv7b,KAAKu7b,gBAAgB,GAAKv7b,KAAKu7b,gBAAgB,KAExGzwb,SAAS06B,IAAM36B,MAAM26B,GAAI,CAC5B4/H,IAAO,EACP,MAAM27R,EAGR,IAAI9lb,GAAI3b,GAAIb,GACZuvB,GAAM47D,KAAS3uE,GAAIuqB,IAKzB,GAAK4/H,GASE,CACL,GAAIjjK,EAAI,EAAG,CAET,IAAK,IAAIxE,GAAI,EAAGA,GAAI,IAAKA,GACvB+ic,EAAa/9b,MAEfiF,GAAe,EAEjB,SAASk5b,EAhBTJ,EAAalgc,KACXwtB,GAAM,GACNA,GAAM,GACN3uB,GAAE,GACFA,GAAE,GACF2uB,GAAM,IAERpmB,GAAe,GAarBi5b,GAAYrgc,KAAKoH,GAInB5H,KAAKi8b,gBAAgBzhY,IAAOomY,GAC5B5gc,KAAKk8b,eAAe1hY,IAAOqmY,GAI7B,IAAII,GAAcp7Z,EAAK03Z,YAAYmD,EAAa/jc,QAChD,IAAKe,EAAI,EAAGA,EAAIgjc,EAAa/jc,SAAUe,EACrCujc,GAAYvjc,GAAKgjc,EAAahjc,GAEhCsC,KAAK+7b,eAAehzb,OAAOk4b,IAC3Bp7Z,EAAK25Z,UAAUyB,IAGb3zV,EAAOkC,UACTxvG,KAAK47b,UAAUrwb,UAAUwsP,EAAYzqJ,EAAOkC,YAIhDluG,EAAMkK,QAAU,WACdxL,KAAKw7b,QAAQhwb,UACbxL,KAAK27b,KAAKnwb,UACVxL,KAAK07b,kBAAkBlwb,UACvBxL,KAAK47b,UAAUpwb,UACfxL,KAAK+7b,eAAevwb,UACpBxL,KAAKg8b,YAAYxwb,UACjBxL,KAAK67b,eAAerwb,UACpBxL,KAAK87b,mBAAmBtwb,UACxBxL,KAAKq8b,eAAe7wb,UACpBxL,KAAKs8b,YAAY9wb,UACjB,IAAK,IAAI9N,EAAI,EAAGA,EAAI,IAAKA,EACvBmoC,EAAK25Z,UAAUx/b,KAAKs9b,OAAO5/b,GAAGiL,OAIlCrH,EAAM+f,UAAY,SAAU3V,GAC1B,IAAIhO,EAiBA40L,EAfJ,IAAK5mL,EAIH,OAHA1L,KAAKw8b,eAAiB,CAAC,EAAG,EAAG,GAC7Bx8b,KAAKkhc,cAAgB,CAAC5jY,IAAKA,IAAKA,UAChCt9D,KAAK68b,eAAiB,EAAE,GAAI,GAAI,IAIlC,IAAKn/b,EAAI,EAAGA,EAAI,IAAKA,EACfsC,KAAK08b,gBAAgBh/b,GACvBsC,KAAK68b,eAAen/b,GAAKgO,EAAU4kI,MAAM5yI,GAEzCsC,KAAK68b,eAAen/b,IAAM,EAU9B,IAJE40L,EADEtyL,KAAK0/B,WACEh0B,EAAUzE,eAEVyE,EAAU1E,SAEhBtJ,EAAI,EAAGA,EAAI,IAAKA,EACnB40L,EAAO50L,IAAMsC,KAAKs7b,aAAa59b,GAEjC,GAAMsC,KAAK88b,cAAc,IAAMxqQ,EAAO,KAAOtyL,KAAK+8b,aAAa,IAC3D/8b,KAAK88b,cAAc,IAAMxqQ,EAAO,KAAOtyL,KAAK+8b,aAAa,IACzD/8b,KAAK88b,cAAc,IAAMxqQ,EAAO,KAAOtyL,KAAK+8b,aAAa,GAF7D,CAUA,IAJA,IAAIn1b,EAAc,EACdg3B,EAAQ5+B,KAAK4+B,MACbuia,EAAgBt7Z,EAAK03Z,YAAY,GAAK3+Z,EAAM,GAAKA,EAAM,IAElD/gC,EAAI,EAAGA,EAAI,IAAKA,EACvB,GAAKmC,KAAK88b,cAAcj/b,GAAxB,CAMAmC,KAAK+8b,aAAal/b,GAAKy0L,EAAOz0L,GAE9B,IAAIgD,GAAKhD,EAAI,GAAK,EACdqE,GAAKrE,EAAI,GAAK,EAEd2nC,EAAIxlC,KAAKs9b,OAAOz/b,GAChB8oB,EAAI3mB,KAAKs9b,OAAOz8b,GAChB2tD,EAAIxuD,KAAKs9b,OAAOp7b,GAEhBukK,EAAQi0R,EAAYl1Z,EAAG8sJ,EAAOz0L,IAC9ByvJ,EAAQmZ,EAAMliK,MACd+F,EAAYm8J,EAAMn8J,UAItB,IAFAtK,KAAKu8b,gBAAgB1+b,GAAK+J,EAErBlK,EAAI,EAAGA,EAAI4vJ,EAAM3wJ,SAAUe,EAE9B,IADA,IAAIqd,EAAIuyI,EAAM5vJ,GACLsE,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAC1B,IAAI3C,EAAIiL,EAAUyQ,EAAE/Y,IAEhB4J,GAAKvM,EAAE,GACPmzJ,EAAS,EAAJ5mJ,EACLw1b,EAAkC,EAA7Bj+b,KAAKoC,IAAIitJ,EAAK,EAAG5zH,EAAM,IAC5BysC,EAAKz/D,EAAI4mJ,EACTosG,EAAK,EAAMvzL,EAEX95D,GAAKlS,EAAE,GACPozJ,EAAS,EAAJlhJ,EACL8vb,EAAkC,EAA7Bl+b,KAAKoC,IAAIktJ,EAAK,EAAG7zH,EAAM,IAC5B0sC,EAAK/5D,EAAIkhJ,EACTosG,EAAK,EAAMvzL,EAEX0yW,EAAMp/K,EAAKC,EACXo/K,EAAMr/K,EAAKtzL,EACX26H,EAAM56H,EAAKwzL,EACX34D,EAAM76H,EAAKC,EAEXg2X,EAAKtjB,EAAMr3Z,EAAEvoB,IAAIo0J,EAAIC,GACvBwrR,EAAMt3Z,EAAEvoB,IAAIo0J,EAAI6uS,GAChBp7P,EAAMt/K,EAAEvoB,IAAIgjc,EAAI3uS,GAChByzC,EAAMv/K,EAAEvoB,IAAIgjc,EAAIC,GAEd38b,EAAKs5a,EAAMxvX,EAAEpwD,IAAIo0J,EAAIC,GACvBwrR,EAAMzvX,EAAEpwD,IAAIo0J,EAAI6uS,GAChBp7P,EAAMz3I,EAAEpwD,IAAIgjc,EAAI3uS,GAChByzC,EAAM13I,EAAEpwD,IAAIgjc,EAAIC,GAElB,GAAIx2b,MAAMy2b,IAAOz2b,MAAMnG,GAAK,CACtB1C,IACF4F,GAAe,GAEjB,MAGFu5b,EAAc,EAAIv5b,EAAc,GAAK05b,EACrCH,EAAc,EAAIv5b,EAAc,GAAKlD,EAErCkD,GAAe,EAInB5H,KAAKw8b,eAAe3+b,GAAK+J,EAAc5H,KAAKu8b,gBAAgB1+b,QAlE1DmC,KAAK+8b,aAAal/b,GAAKy/D,IACvBt9D,KAAKw8b,eAAe3+b,GAAK,EAoE7BmC,KAAKq8b,eAAetzb,OAAOo4b,EAAcz3U,SAAS,EAAG,EAAI9hH,IACzDi+B,EAAK25Z,UAAU2B,MA6FX,KACA,SAAU9kc,EAAQC,EAASkB,GAEjC,aAWA,IAAI+jc,EAAe/jc,EAAoB,QAEvCnB,EAAOC,QAAU,SAAqB8iB,EAAWC,EAAMC,EAAMC,GACzD,IAAIK,EAAmB2hb,EAAanib,EAAWC,EAAMC,EAAMC,GAC3D,GAAIK,IAAkD,IAA9BA,EAAiB,GAAGxf,MAA5C,CAEA,IAAIyf,EAAeD,EAAiB,GAYpC,QAA0BhjB,IAAvBijB,EAAazf,MAAqB,CACjC,IAAIohc,EAAU,EAAK3hb,EAAa6U,GAAKtV,EAAUwV,GAAG/f,QAC9C64R,EAAOtuR,EAAUmV,GAAG1f,QACpBi5R,EAAOJ,EAAO8zJ,EAAU,EACxBzzJ,EAAOL,EAAOI,EAGlB,OAFAjuR,EAAawU,GAAKlxB,KAAKqC,IAAIrC,KAAKoC,IAAIsa,EAAawU,GAAI05Q,GAAOD,GAC5DjuR,EAAayU,GAAKnxB,KAAKqC,IAAIrC,KAAKoC,IAAIsa,EAAayU,GAAIy5Q,GAAOD,GACrDluR,EAGX,IAAInC,EAAMoC,EAAatC,GAAGsC,EAAazf,OACnC4L,EAAQ6T,EAAa7T,MACrB8T,EAAUD,EAAaC,QAE3BD,EAAa/iB,EAAI2gB,EAAI3gB,EACrB+iB,EAAa9iB,EAAI0gB,EAAI1gB,EACrB8iB,EAAa7iB,EAAIygB,EAAIzgB,EAErB6iB,EAAaG,eAAYpjB,EACzBijB,EAAaI,eAAYrjB,EAEzB,IAAIumB,EAAa,GACjBA,EAAWnX,EAAM8T,SAAW,CAACuD,SAAUvD,GACvC,IAAIsD,EAASpX,EAAMkjF,QAAQnxB,aAAatgD,EAAKzR,EAAOmX,GACpDtD,EAAayzX,OAASlwX,EAAOkwX,OAC7BzzX,EAAa0zX,OAASnwX,EAAOmwX,OAC7B1zX,EAAa2zX,OAASpwX,EAAOowX,OAE7B,IAAI1wX,EAAYrF,EAAI3I,IAAM9I,EAAM8W,UAC5BrW,EAAO,GAIX,IAAIT,EAAM2V,cAAe,CACrB,IAAIqM,EAAQlL,EAAUlV,MAAM,MACC,IAA1BogB,EAAM5rB,QAAQ,SAAe4rB,EAAQ,CAAC,IAAK,IAAK,OACxB,IAAxBA,EAAM5rB,QAAQ,MAAaq/b,EAAS3hb,EAAQgtD,MAAOjtD,EAAayzX,SACxC,IAAxBtlX,EAAM5rB,QAAQ,MAAaq/b,EAAS3hb,EAAQktD,MAAOntD,EAAa0zX,SACxC,IAAxBvlX,EAAM5rB,QAAQ,MAAaq/b,EAAS3hb,EAAQizN,MAAOlzN,EAAa2zX,QAIvE,OAFA3zX,EAAamU,UAAYvnB,EAAK9L,KAAK,QACnCkf,EAAa8B,cAAgB3V,EAAM2V,cAC5B/B,EAZP,SAAS6hb,EAASn+a,EAAImM,GAClBhjB,EAAKjM,KAAK8iB,EAAGo+a,YAAc,KAAOjya,MAiBpC,KACA,SAAUpzB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBwqG,EAAoBxqG,EAAoB,QAAQwqG,kBAChD25V,EAAgBnkc,EAAoB,QACpC6mB,EAAkB7mB,EAAoB,QAE1ClB,EAAQwB,KAAO,YAEfxB,EAAQ4T,KAAO,SAASnE,GACpB,IAAIs1D,EAAW2mC,EAAkBj8F,EAAGisD,SAAU,aAAa,GACxDqJ,EAAS1kE,QAAQglc,EAAc51b,EAAIs1D,IAG1C/kE,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D,IAAIupY,EAAgBvpY,EAAclB,MAAQkB,EAAclB,KAAK,aACzD0qY,EAAgB1pY,EAAchB,MAAQgB,EAAchB,KAAK,aAE1DyqY,IAAiBC,IAChBxpY,EAAciwC,UAAUx7F,UAAU,cAAcmB,SAChDoqD,EAAcS,UAAUhsD,UAAU,KAAKmB,WAI/C3R,EAAQo8D,MAAQ,SAAS3sD,GACrB,IAAI0iZ,EAAY1iZ,EAAGymB,YAAYsmC,UAC3B37D,EAAOmP,EAAGO,OAAOd,GAAIe,UAAU,kBAC/B4hZ,EAAWvxZ,EAAKgE,QAAO,SAAStD,EAAGH,GAAI,OAAOA,IAAMP,EAAK8jB,OAAS,KACjEnU,UAAU,wCAEf,SAAS6hZ,IACL,IAAIhxY,EAAS3d,KACT24D,EAAYh7C,EAAO2/D,UAAU,aAC7BzkB,EAAQ41V,EAAUzhZ,OAAO,aAE7B6rD,EAAM5zC,KAAK,CACP8zC,MAAO10C,EAAgByI,IACvB,aAAc6rC,EACdlyC,oBAAqB,OACrB7a,EAAG,EACH2F,EAAG,EACHmN,MAAOf,EAAOe,MACd8H,OAAQ7I,EAAO6I,SAIvBkoY,EAASthZ,KAAKuhZ,GAMd/9X,OAAO84C,YAAW,WACdp9D,EAAGQ,UAAU,qBACRmY,KAAK,KAAM,sBACjB,MAMD,KACA,SAAU5oB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACb4tC,GAAI,CACA4zB,SAAU,WACVi/U,KAAM,OACN+D,OAAQ,SACR9D,QAAS,UACTiE,OAAQ,SACRhE,QAAS,UACTC,OAAQ,SACRC,eAAgB,iBAChBC,QAAS,UACTC,UAAW,YACX3uV,MAAO,QACPiyV,cAAe,oBAOjB,KACA,SAAUtkZ,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QASjC,SAASskc,EAAenqb,GACpB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IAG9E6rb,EAAe3ic,UAAY,IAAIquD,EAAK/wC,aAEpC1G,EAAO+rb,EAAe3ic,UAAW,CAG7BrB,KAAM,SAGNud,QAAS,UAGTC,aAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAG3DN,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAiBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,SACNsc,OAAQ,CAAC,KAAM,MACfmB,WAAY,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAC7D,OAAQ,SAAU,YAAa,UAAW,WAAY,YACtDC,gBAAiB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC/FC,SAAU,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC7EC,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DC,YAAa,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAClD1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IASfrD,SAAU,SAAS7B,GACf,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACnEO,EAAQ4B,EAAK5B,OAAS,EAAI4B,EAAK5B,OAAS,EAAI4B,EAAK5B,OACrD,OAAQA,EAAO,IAAO,GAU1BiC,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,IAAIiF,EAAY/b,KAAK+X,QAAQnB,EAAMC,EAAOC,GAE1C,OADAiF,EAAU3C,IAAI,GAAK2C,EAAU9C,aAAe,GAAI,KACzC9V,KAAK2N,OAAOiL,EAAUhD,YAAc,GAAK,GAAK,GASzDC,YAAa,SAASpC,EAAMC,GACxB,IAAI2B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cAC/D,OAAOpW,KAAKsb,aAAa9C,EAAK3B,QAAU,IAClB,IAAjB2B,EAAK3B,SAAiB7W,KAAKyY,SAASD,EAAK5B,QAAU,EAAI,IAUhEsC,QAAS,SAAStC,EAAMC,EAAOC,GAC3B,OAAQ9W,KAAKiZ,UAAUrC,EAAMC,EAAOC,IAAQ,GAAK,GAWrD0C,KAAM,SAAS5C,EAAMC,EAAOC,GACxB,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aAUvD,OATAS,EAAO4B,EAAK5B,OACZC,EAAQ2B,EAAK3B,QACbC,EAAM0B,EAAK1B,MACPF,EAAO,GAAKA,IAEZC,GAAS,IACTD,IACAC,GAAS,IAEN1T,KAAK2N,MAAM,QAAU8F,EAAO,OAC/BzT,KAAK2N,MAAM,SAAW+F,EAAQ,IAAMC,EAAM,QAOlD2C,OAAQ,SAASC,GAEb,IAAI5c,EAAIqG,KAAK2N,MAAM4I,EAAK,IACpB3c,EAAID,EAAI,KACRE,EAAImG,KAAK2N,OAAO/T,EAAI,OAAS,QAC7Bc,EAAIsF,KAAK2N,MAAM,OAAS9T,GACxB+d,EAAI5X,KAAK2N,OAAO/T,EAAIc,GAAK,SACzBgZ,EAAQkE,EAAI5X,KAAK2N,MAAMiK,EAAI,GAAK,EAAI,IACpCnE,EAAO5Z,EAAImG,KAAK2N,MAAM+F,EAAQ,EAAI,KAAO,MACzCC,EAAM/Z,EAAIc,EAAIsF,KAAK2N,MAAM,QAAUiK,GAEvC,OADInE,GAAQ,GAAKA,IACV5W,KAAK+X,QAAQnB,EAAMC,EAAOC,MAKzC02C,EAAKh3C,UAAU24Z,OAAS2yB,GAMlB,KACA,SAAUzlc,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,SAAsBo7G,EAAYH,GAC/C,IAII75G,EAJA6f,EAAKm6F,EAAWn6F,GAChBgX,EAAKmjF,EAAWzzF,MAChB2Q,EAAK8iF,EAAWxzF,MAChBxY,EAAY,GAGZq2b,EAAYxkb,EAAG,GAAG9e,EAAEi3X,MAAQ,EAEhC,IAAuB,IAApBn+Q,EAEC,IAAI75G,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IACtB6f,EAAG7f,GAAGi4B,SAAW,OAGrB,IAAIj4B,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IAAK,CAC3B,IAAIy3B,EAAK5X,EAAG7f,GAET65G,EAAgBnjF,SAAS,CAACG,EAAGC,IAAIW,EAAGmb,IAAMyxZ,GAAYnta,EAAGJ,IAAIW,EAAG0nK,KAAM,KAAM1nK,EAAGz3B,EAAGg6G,IACjFhsG,EAAUlL,KAAK,CACXgd,YAAa2X,EAAGz3B,EAChBkO,EAAG2oB,EAAGkd,IAAItc,EAAGmb,KACb/+B,EAAGqjB,EAAG6c,IAAItc,EAAG0nK,MAEjB1nK,EAAGQ,SAAW,GAEdR,EAAGQ,SAAW,EAK1B,OAAOjqB,IAML,KACA,SAAUrP,EAAQC,EAASkB,IAEL,SAASmgM,GAAS,IAAIqkQ,GAAiB,EACnE,GAA2B,qBAAjB//F,aAA8B,CACtC,IAAIggG,EAAc,IAAIhgG,aAAa,GAC/BigG,EAAc,IAAI3nM,YAAY0nM,EAAY16b,QAG9C,GAFA06b,EAAY,GAAK,EACjBD,GAAiB,EACG,aAAjBE,EAAU,GAAmB,CAM9B,SAASC,EAAWptb,EAAID,GAGtB,OAFAotb,EAAU,GAAKntb,EACfmtb,EAAU,GAAKptb,EACRmtb,EAAY,GAGrB,SAASG,EAAUpjc,GAEjB,OADAijc,EAAY,GAAKjjc,EACVkjc,EAAU,GAGnB,SAASG,EAAWrjc,GAElB,OADAijc,EAAY,GAAKjjc,EACVkjc,EAAU,GAjBnB7lc,EAAOC,QAAU,SAAsB0C,GAErC,OADAijc,EAAY,GAAKjjc,EACV,CAAEkjc,EAAU,GAAIA,EAAU,KAOnC7lc,EAAOC,QAAQihE,KAAO4kY,EAKtB9lc,EAAOC,QAAQyY,GAAKqtb,EAKpB/lc,EAAOC,QAAQwY,GAAKutb,OACf,GAAoB,aAAjBH,EAAU,GAAmB,CAMrC,SAASI,EAAWvtb,EAAID,GAGtB,OAFAotb,EAAU,GAAKntb,EACfmtb,EAAU,GAAKptb,EACRmtb,EAAY,GAGrB,SAASM,EAAUvjc,GAEjB,OADAijc,EAAY,GAAKjjc,EACVkjc,EAAU,GAGnB,SAASM,EAAWxjc,GAElB,OADAijc,EAAY,GAAKjjc,EACVkjc,EAAU,GAjBnB7lc,EAAOC,QAAU,SAAsB0C,GAErC,OADAijc,EAAY,GAAKjjc,EACV,CAAEkjc,EAAU,GAAIA,EAAU,KAOnC7lc,EAAOC,QAAQihE,KAAO+kY,EAKtBjmc,EAAOC,QAAQyY,GAAKwtb,EAKpBlmc,EAAOC,QAAQwY,GAAK0tb,OAEpBR,GAAiB,EAGrB,IAAIA,EAAgB,CAClB,IAAIz6b,EAAS,IAAIo2L,EAAO,GAKxB,SAAS8kQ,EAAS1tb,EAAID,GAGpB,OAFAvN,EAAOm7b,cAAc3tb,EAAI,GAAG,GAC5BxN,EAAOm7b,cAAc5tb,EAAI,GAAG,GACrBvN,EAAOo7b,aAAa,GAAG,GAGhC,SAASC,EAAQ5jc,GAEf,OADAuI,EAAOs7b,cAAc7jc,EAAG,GAAG,GACpBuI,EAAOu7b,aAAa,GAAG,GAGhC,SAASC,EAAS/jc,GAEhB,OADAuI,EAAOs7b,cAAc7jc,EAAG,GAAG,GACpBuI,EAAOu7b,aAAa,GAAG,GAjBhCzmc,EAAOC,QAAU,SAAoB0C,GAEnC,OADAuI,EAAOs7b,cAAc7jc,EAAG,GAAG,GACpB,CAAEuI,EAAOu7b,aAAa,GAAG,GAAOv7b,EAAOu7b,aAAa,GAAG,KAOhEzmc,EAAOC,QAAQihE,KAAOklY,EAKtBpmc,EAAOC,QAAQyY,GAAK6tb,EAKpBvmc,EAAOC,QAAQwY,GAAKiub,EAGtB1mc,EAAOC,QAAQ+lE,KAAO,SAASrjE,GAC7B,OAAO3C,EAAOC,QAAQwY,GAAG9V,KAAO,IAGlC3C,EAAOC,QAAQ6hD,SAAW,SAASn/C,GACjC,IAAIjC,EAAIV,EAAOC,QAAQwY,GAAG9V,GAC1B,OAASjC,GAAG,IAAO,IAAM,MAG3BV,EAAOC,QAAQ0mc,SAAW,SAAShkc,GACjC,IAAI+V,EAAK1Y,EAAOC,QAAQyY,GAAG/V,GACvB8V,EAAKzY,EAAOC,QAAQwY,GAAG9V,GACvBjC,EAAS,QAAL+X,EAIR,OAHQ,WAALA,IACD/X,GAAM,GAAG,IAEJ,CAACgY,EAAIhY,IAGdV,EAAOC,QAAQ2mc,aAAe,SAASjkc,GACrC,IAAI8V,EAAKzY,EAAOC,QAAQwY,GAAG9V,GAC3B,QAAc,WAAL8V,MAEkBjY,KAAKmD,KAAMxC,EAAoB,QAAQmgM,SAI9D,KACA,SAAUthM,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAC/B0iB,EAAQ1iB,EAAoB,QAC5B03H,EAAyB13H,EAAoB,QAAQ03H,uBACrDjmF,EAAWzxC,EAAoB,QAC/B8K,EAAa9K,EAAoB,QAErC,SAASwS,EAAeumD,EAASC,EAAU4D,EAAcvV,GACrD,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAI3D,GADA86D,EAAqBllB,EAASC,EAAUtmB,EAAQ2U,IACxB,IAArB2R,EAASjnD,QAAZ,CAEA,IAAI2zb,EAAkB1sY,EAAS2jP,iBAE5B+oJ,IACChzZ,EAAO,cACPA,EAAO,eAGXA,EAAO,cAAeqmB,EAAQjhC,QAAU,IAAI7sB,OAAS2xD,GACrDlqB,EAAO,cACPA,EAAO,YAAahwB,EAAMm+G,WAAW7nE,EAASjhC,KAAK9sB,MAAO,KAE1D,IAAI06b,GAAc,EAClB,GAAGD,EAAiB,CAChB,IAAI36T,EAAOr4F,EAAO,QACds4F,EAAKt4F,EAAO,MACbq4F,GAAQA,EAAK5rI,SACZwmc,GAAc,EACX36T,GAAMA,EAAG7rI,SAAQwmc,EAAc,OAG1CjzZ,EAAO,UAAWizZ,GAElBjzZ,EAAO,gBACPA,EAAO,SACPA,EAAO,kBAEP,IAAIkzZ,GAAc,EAClB,GAAGF,EAAiB,CAChB,IAAIh7T,EAAYh4F,EAAO,aACpBg4F,GAAaA,EAAUvrI,SACtBymc,GAAc,QAEZrvb,EAAI22M,SAASn0J,EAAQ0xE,WAAY3/H,EAAW2/H,cAClDm7T,GAAc,GAElB,IAAIp7T,EAAU93F,EAAO,UAAWkzZ,GAC7Bp7T,GAAS93F,EAAO,cAEnByqM,EAAqBpkL,EAASC,EAAUtmB,EAAQ,CAAC8qB,OAAQ,SAG7D,SAASygB,EAAqBllB,EAASC,EAAUtmB,EAAQ2U,GACrD,SAASw+Y,EAAQxyX,GACb,IAAImxG,EAAO,EAOX,OANGnxG,GAAOA,EAAIl0E,SACVqlL,GAAQ,EACLjuK,EAAIo8D,oBAAoBU,EAAI,KAAOA,EAAI,GAAGl0E,SACzCqlL,GAAQ,IAGTA,EAGX,SAAS7mK,EAAMqlF,GACX,OAAOzsF,EAAI22M,SAASn0J,EAAQiqC,GAAOl4F,EAAWk4F,IAGlD,IAGI8iW,EAHA/xb,EAAI2+B,EAAO,KACXtkC,EAAIskC,EAAO,KAGf,GAAqB,QAAlBsmB,EAAS9lD,KAAgB,CACxB,IAAIi3H,EAAKz3F,EAAO,MACZ03F,EAAS13F,EAAO,UAChB23F,EAAK33F,EAAO,MAEhBsmB,EAAS2jP,iBACLxyK,GAAMA,EAAGhrI,QACTirI,GAAUA,EAAOjrI,QACjBkrI,GAAMA,EAAGlrI,OAEb2mc,EAAOngc,KAAKoC,IACRwO,EAAI2iD,aAAaixE,GACjB5zH,EAAI2iD,aAAakxE,GACjB7zH,EAAI2iD,aAAamxE,IAIzB,IAKI07T,EAAoB34a,EALpB44a,EAAQH,EAAQ9xb,GAChBkyb,EAAQJ,EAAQz3b,GAChB+hS,EAAO61J,GAASzvb,EAAI2iD,aAAanlD,GACjCm8R,EAAO+1J,GAAS1vb,EAAI2iD,aAAa9qD,GAGrC,GAAG4qD,EAAS2jP,iBACR,OAAO59S,OAAOknc,GAASlnc,OAAOinc,IAE1B,IAAK,KACD,IAAIE,EAASvob,EAAM,OAASA,EAAM,MAC9Bwob,EAASxob,EAAM,OAASA,EAAM,MAG9Boob,EADDI,IAAWD,EACW,IAEA,IAGzB94a,EAAM04a,EACN,MAEJ,IAAK,KACDC,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM51J,GACrB,MACJ,IAAK,KACD61J,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM13b,EAAEjP,QACvB,MAEJ,IAAK,KACD4mc,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM31J,GACrB,MACJ,IAAK,KACD41J,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM/xb,EAAE5U,QACvB,MAEJ,IAAK,KACD4mc,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM51J,EAAMn8R,EAAE5U,QAC7B,MACJ,IAAK,KACD4mc,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM13b,EAAEjP,OAAQgxS,GAC/B,MACJ,IAAK,KAED/iR,EAAM,EACN,MACJ,IAAK,KACD,IACIltB,EADAkmc,GAAgB,EAEpB,IAAIlmc,EAAI,EAAGA,EAAIkO,EAAEjP,OAAQe,IACrB,GAAsB,aAAnBuxC,EAASrjC,EAAElO,IAAoB,CAC9Bkmc,GAAgB,EAChB,MAIR,GAAGA,EACCL,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM51J,EAAMn8R,EAAE5U,YAC1B,CACH,IAAIe,EAAI,EAAGA,EAAI6T,EAAE5U,OAAQe,IACrB,GAAsB,aAAnBuxC,EAAS19B,EAAE7T,IAAoB,CAC9Bkmc,GAAgB,EAChB,MAILA,GACCL,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM13b,EAAEjP,OAAQgxS,KAE/B41J,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAI+9b,EAAM51J,EAAMn8R,EAAE5U,SAGrC,WAEF6mc,EAAQ,GACdD,EAAqB,IAEjB34a,EADD64a,EAAQ,EACDtgc,KAAKoC,IAAImoS,EAAMC,GAEfxqS,KAAKoC,IAAIooS,IAEb81J,EAAQ,GACdF,EAAqB,IACrB34a,EAAMznB,KAAKoC,IAAImoS,IAEf9iR,EAAM,EAGV,GAAIA,EAAJ,CAIA4rC,EAAS3hD,QAAU+V,EAEnB,IAAIxlB,EAAc8qC,EAAO,cAAeqzZ,GAGrC/sY,EAAS2jP,iBACW,MAAhB/0S,GAAiC,IAAVq+b,GACtBvzZ,EAAO,KAAM,GACbA,EAAO,KAAM,IACS,MAAhB9qC,GAAiC,IAAVo+b,IAC7BtzZ,EAAO,KAAM,GACbA,EAAO,KAAM,IAGE,MAAhB9qC,GAAiC,IAAVq+b,EACtBvzZ,EAAO,MACe,MAAhB9qC,GAAiC,IAAVo+b,GAC7BtzZ,EAAO,MAIf,IAAIumB,EAAyB9/B,EAASsa,mBAAmB,YAAa,uBACtEwlB,EAAuBF,EAASC,EAAU,CAAC,IAAK,KAAM3R,QAzBlD2R,EAASjnD,SAAU,EA4B3B,SAASorO,EAAqBpkL,EAASC,EAAUtmB,EAAQvlB,GACrD,IAAIqwC,EAASrwC,EAAKqwC,OAEd6oY,EAAmB9vb,EAAI6nE,QAAQrlB,EAASC,EAAUluD,EAAY,uBAC9Dw7b,EAAmB5zZ,EAAO,4BAE1B6zZ,EAAW,WACZvtY,EAAS2jP,iBACR4pJ,EAAW,OACLF,GAAoBC,KAC1BC,EAAW,qBAGf,IAAIrlc,EAAOwxC,EAAO8qB,EAAS,SAAU+oY,GAElCrlc,GACCwxC,EAAO,SAAmB,QAATxxC,EAAiB,GAAM,GACxCwxC,EAAO,WAAqB,QAATxxC,GAAkB,IAAM,GAE3CwxC,EAAO,iBACPA,EAAO,kBACPA,EAAO,eACPA,EAAO,eAAgBsmB,EAASjhC,KAAK9sB,OACrCynC,EAAO,qBACPA,EAAO,qBAEK,sBAATxxC,IACCwxC,EAAO,2BAA4BsmB,EAASlhC,OAAO7sB,OACnDynC,EAAO,6BAGXA,EAAO,yBACPA,EAAO,2BACPA,EAAO,wBACPA,EAAO,0BAEPA,EAAO,QACPA,EAAO,qBAEAsmB,EAASlhC,OAGpB,IAAIo0D,EAAUx5C,EAAO,WACN,QAAZw5C,IAAoD,IAA/BA,EAAQtnF,QAAQ,WACpC8tC,EAAO,iBAGXn8B,EAAI+1E,6BAA6BtzB,EAAUtmB,GAG/C,SAASwkE,EAAmB7wF,EAAUV,GAClC,IAAIozC,EAASC,EAEb,SAAStmB,EAAOjrB,GACZ,OAAOlR,EAAIm8B,OAAOsmB,EAASrqB,OAAQqqB,EAAUluD,EAAY2c,GAG7D,IAAI,IAAIvnB,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACrC84D,EAAW3yC,EAASnmB,GACpB,IAAI82D,EAAYgC,EAAS9lD,KAER,QAAd8jD,GAAqC,WAAdA,IACtB+B,EAAUC,EAASrqB,OACmB,UAAnChpB,EAAWqxC,EAAY,SACtB0gE,EAAuB3+D,EAASC,EAAUrzC,EAAY+sB,KAMtE7zC,EAAOC,QAAU,CACb0T,eAAgBA,EAChB0kG,mBAAoBA,EAEpBj5B,qBAAsBA,EACtBk/J,qBAAsBA,IAMpB,KACA,SAAUt+O,EAAQC,EAASkB,GAEjC,aAEA,IAAI4oG,EAAI5oG,EAAoB,QACxB4sG,EAAO5sG,EAAoB,QAE/B4oG,EAAE,CAAE/4E,OAAQ,SAAU/rB,OAAO,EAAMolG,OAAQ,IAAI0D,OAASA,GAAQ,CAC9DA,KAAMA,KAMF,KACA,SAAU/tG,EAAQC,EAASkB,GAEjC,aAWA,IAAImpD,EAAUnpD,EAAoB,QAC9Bm8b,EAAen8b,EAAoB,QAAQo8b,iBAC3CoK,EAAQ,CAAC,OAAQ,OAAQ,SAAU,UAEvC,SAASC,EAAcnkb,EAAS2S,GAC5BzyB,KAAK0Q,KAAO,gBACZ1Q,KAAK8f,QAAUA,EACf9f,KAAKyyB,IAAMA,EAEXzyB,KAAKkkc,UAAY,CACbj1b,KAAM,UAAYwjB,EAAM,QACxB8C,KAAM,UAAY9C,EAAM,QACxBhf,OAAQ,UAAYgf,EAAM,UAC1B63D,OAAQ,UAAY73D,EAAM,WAG9BzyB,KAAKmkc,SAAW,CACZl1b,KAAM0qb,EAAelna,EAAM,QAC3B8C,KAAMoka,EAAelna,EAAM,QAC3Bhf,OAAQkmb,EAAelna,EAAM,UAC7B63D,OAAQqvW,EAAelna,EAAM,WASjCzyB,KAAKgwF,MAAQ,KAGjB,IAAI1uF,EAAQ2ic,EAAc9kc,UAE1BmC,EAAMk5b,UAAY,SAASr4b,EAAGwoB,GAC1B3qB,KAAK8f,QAAQ44B,IAAI8hZ,UAAUx6b,KAAKkkc,UAAU/hc,GAAI,CAC1CuO,KAAM,UACN/H,KAAMgiB,EAAKw1C,WAInB7+D,EAAM8ic,cAAgB,SAASjic,EAAGwoB,GAC9B3qB,KAAK8f,QAAQ44B,IACRuhZ,UAAUj6b,KAAKkkc,UAAU/hc,IACzB+3b,QAAQvva,EAAKw1C,UAGtB7+D,EAAMgwN,SAAW,SAASnvN,EAAGwoB,EAAMqlE,GAC/BhwF,KAAK8f,QAAQwxM,SAAS,CAClB5gN,KAAMvO,EACNiH,GAAIpJ,KAAKmkc,SAAShic,GAClB4kE,OAAQ/mE,KAAKkkc,UAAU/hc,GACvB0iD,OAAQl6B,EAAKk6B,OACbyoC,MAAO3iE,EAAK2iE,OACb0C,IAGP1uF,EAAMyH,OAAS,SAAgBw3D,GAC3B,IAII7iE,EAAGyE,EAAGwoB,EAJN7K,EAAU9f,KAAK8f,QACf44B,EAAM54B,EAAQ44B,IACdshZ,EAAUrzY,EAAQ7mC,EAAQ/T,GAAIw0D,GAC9ByvB,EAAQlwE,EAAQ4sM,YAAY,SAAW1sN,KAAKyyB,KAGhD,GAAGu9D,IAAUhwF,KAAKgwF,MAAO,CACrB,IAAItyF,EAAIsmc,EAAMrnc,OAAS,EAAGe,GAAK,EAAGA,IAC9ByE,EAAI6hc,EAAMtmc,GACVg7C,EAAI2hZ,YAAYr6b,KAAKmkc,SAAShic,IAElC,IAAIzE,EAAI,EAAGA,EAAIsmc,EAAMrnc,OAAQe,IACzByE,EAAI6hc,EAAMtmc,GACVitB,EAAOqva,EAAQ73b,GACfnC,KAAKsxN,SAASnvN,EAAGwoB,EAAMqlE,GAE3BhwF,KAAKgwF,MAAQA,EAGjB,IAAItyF,EAAI,EAAGA,EAAIsmc,EAAMrnc,OAAQe,IACzByE,EAAI6hc,EAAMtmc,GACVitB,EAAOqva,EAAQ73b,GAEf2d,EAAQqxM,WAAWnxN,KAAKmkc,SAAShic,GAAI,oBAAqBwoB,EAAKk6B,QAEjC,YAA3Bl6B,EAAKk6B,OAAO/7B,aACX9oB,KAAKokc,cAAcjic,EAAGwoB,GACtB7K,EAAQqxM,WAAWnxN,KAAKmkc,SAAShic,GAAI,mBAAoBwoB,EAAK2iE,QAKtE/sB,EAAU,GAAGv0D,MAAM2mY,SAAW3yY,MAGlCsB,EAAMkK,QAAU,WAGZ,IAFA,IAAIktC,EAAM14C,KAAK8f,QAAQ44B,IAEfh7C,EAAIsmc,EAAMrnc,OAAS,EAAGe,GAAK,EAAGA,IAAK,CACvC,IAAIyE,EAAI6hc,EAAMtmc,GACdg7C,EAAI2hZ,YAAYr6b,KAAKmkc,SAAShic,IAC9Bu2C,EAAI4hZ,aAAat6b,KAAKkkc,UAAU/hc,MAIxC9F,EAAOC,QAAU,SAA6BwjB,EAASygD,GAMnD,IALA,IAAIv0D,EAAQu0D,EAAU,GAAGv0D,MACrBq4b,EAAgB,IAAIJ,EAAcnkb,EAAS9T,EAAMymB,KACjDuna,EAAUrzY,EAAQ7mC,EAAQ/T,GAAIw0D,GAC9ByvB,EAAQq0W,EAAcr0W,MAAQlwE,EAAQ4sM,YAAY,SAAW1gN,EAAMymB,KAE/D/0B,EAAI,EAAGA,EAAIsmc,EAAMrnc,OAAQe,IAAK,CAClC,IAAIyE,EAAI6hc,EAAMtmc,GACVitB,EAAOqva,EAAQ73b,GACnBkic,EAAc7J,UAAUr4b,EAAGwoB,GAC3B05a,EAAc/yO,SAASnvN,EAAGwoB,EAAMqlE,GAMpC,OAFAzvB,EAAU,GAAGv0D,MAAM2mY,SAAW0xD,EAEvBA,IAML,KACA,SAAUhoc,EAAQC,EAASkB,GAEjC,aAYA,IAAIi5G,EAAKj5G,EAAoB,QACzBm5B,EAAWn5B,EAAoB,QAC/B0iB,EAAQ1iB,EAAoB,QAE5B61B,EAAW71B,EAAoB,QAAQ61B,SACvC+zQ,EAAe5pS,EAAoB,QAAQ4pS,aAC3CtpP,EAAiBtgD,EAAoB,QAAQsgD,eAEjD,SAAS3tC,EAAYiP,EAAWC,EAAMC,EAAMC,GACxC,IAAI+kb,EAAejyD,EAAYjzX,EAAWC,EAAMC,EAAMC,GAEtD,GAAG+kb,EAAc,CACb,IAAI/mb,EAAK+mb,EAAa/mb,GAClBvR,EAAQuR,EAAG,GAAGvR,MACdmpB,EAAK5X,EAAG+mb,EAAalkc,OAKzB,OAHAkkc,EAAa77b,MAAQ0zL,EAAcnwL,EAAOmpB,GAC1CwB,EAASsa,mBAAmB,YAAa,YAAzCta,CAAsDxB,EAAInpB,EAAOs4b,GAE1D,CAACA,IAIhB,SAASjyD,EAAYjzX,EAAWC,EAAMC,EAAMC,GACxC,IAQIglb,EAAQznQ,EAAS3qI,EAAW+xV,EAAYhuX,EAAIhP,EAAIs9a,EARhDjnb,EAAK6B,EAAU7B,GACfvR,EAAQuR,EAAG,GAAGvR,MACdvN,EAAI8e,EAAG,GAAG9e,EACVgmc,EAA2B,YAAdllb,EACbmlb,EAA8B,cAAf14b,EAAM0E,KACrB2sL,EAAmBj+K,EAAUi+K,iBAC7BsnQ,EAAmBvlb,EAAUulb,iBAIjC,SAASC,EAAczva,GAAM,OAAOA,EAAGg9B,GAAah9B,EAAGla,EAAI,EAC3D,SAAS4pb,EAAc1va,GAAM,OAAOA,EAAGg9B,GAAah9B,EAAGla,EAAI,EAE3D,IAAI6pb,EAASL,EACTG,EACA,SAASzva,GAaL,OAAOhyB,KAAKoC,IAAIq/b,EAAczva,GAAKA,EAAG91B,EAAIZ,EAAEyhF,SAAW,IAG3D6kX,EAASN,EACTI,EACA,SAAS1va,GACL,OAAOhyB,KAAKqC,IAAIq/b,EAAc1va,GAAKA,EAAG91B,EAAIZ,EAAEyhF,SAAW,IAG/D,SAAS8kX,EAAYC,EAASC,GAG1B,OAAOzuV,EAAG24U,MAAM6V,EAAUV,EAAQW,EAAUX,EACxClnQ,EAAmBl6L,KAAKoC,IAAI,EAAGpC,KAAK+R,IAAIgwb,EAAUD,GAAWT,GAAc,GAGnF,SAASW,EAAWhwa,GAChB,OAAO6va,EAAYF,EAAO3va,GAAK4va,EAAO5va,IAG1C,SAASiwa,EAAkBjwa,GACvB,OAAO6va,EAAYJ,EAAczva,GAAK0va,EAAc1va,IAGxD,SAASs4D,EAAOt4D,GACZ,IAAIjzB,EAAI46L,EACJ//L,EAAIo4B,EAAGp4B,EACPuC,EAAI61B,EAAG+uX,GAQX,OANGwgD,IACCplc,GAAK6D,KAAK+R,IAAIigB,EAAG8+V,MAAQ,IAKtBx9Q,EAAG24U,MAAMryb,EAAImF,EAAG5C,EAAI4C,EAAGm7L,GAAoB/9L,EAAI4C,IAAM5C,EAAIvC,GAAK,GAGhD,MAAtBiP,EAAM5G,aACLm/b,EAASjlb,EACTw9K,EAAUz9K,EACV8yC,EAAY,IACZ+xV,EAAa,IACbhuX,EAAKu3D,EACLvmE,EAAKi+a,IAELZ,EAASllb,EACTy9K,EAAUx9K,EACV6yC,EAAY,IACZ+xV,EAAa,IACbh9X,EAAKumE,EACLv3D,EAAKiva,GAGT,IAAItwX,EAAKz1D,EAAU+yC,EAAY,KAC3BgsB,EAAK/+D,EAAU8kY,EAAa,KAIhC,SAAS1nN,EAAIrnK,GAAM,OAAQe,EAAGf,GAAMjO,EAAGiO,IAAO,EAF9Cqva,EAAarhc,KAAK+R,IAAI2/D,EAAG0B,IAAI1B,EAAGz/D,MAAM,IAAMy/D,EAAG0B,IAAI1B,EAAGz/D,MAAM,KAG5D,IAAIqnL,EAAShmF,EAAGimF,oBAAoBn9K,EAAW2W,EAAIhP,EAAIs1K,GAIvD,GAHA/lF,EAAGkmF,WAAWp/K,EAAIk/K,EAAQr9K,IAGH,IAApBA,EAAUhf,MAAb,CAKIqkc,IACAK,EAAS,SAAS3va,GACd,OAAOhyB,KAAKoC,IAAIq/b,EAAczva,GAAKA,EAAG91B,EAAIZ,EAAEwhF,cAAgB,IAEhE8kX,EAAS,SAAS5va,GACd,OAAOhyB,KAAKqC,IAAIq/b,EAAc1va,GAAKA,EAAG91B,EAAIZ,EAAEwhF,cAAgB,KAKpE,IAAI7/E,EAAQgf,EAAUhf,MAClB+0B,EAAK5X,EAAGnd,GAER6gB,EAAQjV,EAAU,KAAImpB,EAAGp4B,EAAIo4B,EAAG71B,EAAI61B,EAAG71B,EAC3C8f,EAAU8kY,EAAa,KAAO9kY,EAAU8kY,EAAa,KAAO/lU,EAAG3pD,IAAIW,EAAG+uX,IAAa,GACnF9kY,EAAU8kY,EAAa,YAAcjjY,EAErC,IAAIikD,EAASzmE,EAAEqkF,QAAQrkF,EAAEqkF,QAAQrmD,MAAMtH,EAAG91B,IAiB1C,OAhBA+f,EAAU+yC,EAAY,KAAO0iB,EAAGrgD,IAAIiwa,EAAYK,EAAO3va,GAAM+vC,EAAO,IAAI,GACxE9lD,EAAU+yC,EAAY,KAAO0iB,EAAGrgD,IAAIiwa,EAAYM,EAAO5va,GAAM+vC,EAAO,IAAI,GACxE9lD,EAAU+yC,EAAY,YAAch9B,EAAG91B,EAEvC+f,EAAUimb,WAAavnZ,EAAe+2B,EAAIz1D,EAAU+yC,EAAY,aAChE/yC,EAAU4zR,WAAal1P,EAAeqgC,EAAI/+D,EAAU8kY,EAAa,aAGjE9kY,EAAU49K,eAAiBvvG,EAAOt4D,GAAMiwa,EAAkBjwa,IAAO,EAAIwva,EAAmBtnQ,EAGxFj+K,EAAU+yC,EAAY,SAAW0iB,EAAGrgD,IAAIW,EAAG91B,GAAG,GAE9Cg0B,EAAS8B,EAAInpB,EAAOoT,GACpBA,EAAUuC,cAAgB3V,EAAM2V,cAEzBvC,GAGX,SAAS+8K,EAAcnwL,EAAOmpB,GAC1B,IAAIo5D,EAAKp5D,EAAGm5D,KAAOtiF,EAAMspB,OAAO7sB,MAC5ByrX,EAAM/+V,EAAGuoW,MAAQ1xX,EAAMspB,OAAOC,KAAK9sB,MACnC4+R,EAAMD,EAAap7R,EAAOmpB,GAE9B,OAAGjV,EAAMlY,QAAQumF,GAAYA,EACrBruE,EAAMlY,QAAQksX,IAAQ7sF,EAAY6sF,OAArC,EAGT73X,EAAOC,QAAU,CACb6T,YAAaA,EACbkiY,YAAaA,EACbl2M,cAAeA,IAMb,KACA,SAAU9/L,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QASjC,SAAS8nc,EAAe3tb,GACpB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IAG9Eqvb,EAAenmc,UAAY,IAAIquD,EAAK/wC,aAEpC1G,EAAOuvb,EAAenmc,UAAW,CAG7BrB,KAAM,SAGNud,QAAS,UAGTC,aAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAG/DN,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAiBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,SACNsc,OAAQ,CAAC,MAAO,MAChBmB,WAAY,CAAC,QAAS,QAAS,SAAU,QAAS,OAAQ,SAC1D,WAAY,YAAa,UAAW,QAAS,OAAQ,SAAU,kBAC/DC,gBAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,OACtD,MAAO,MAAO,OAAQ,MAAO,MAAO,OAAQ,OAC5CC,SAAU,CAAC,WAAY,SAAU,WAAY,UAAW,QAAS,QAAS,aAC1EC,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DC,YAAa,CAAC,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,OACtD1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IASfrD,SAAU,SAAS7B,GACf,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACnEO,EAAO4B,EAAK5B,QAAU4B,EAAK5B,OAAS,EAAI,EAAI,GAChD,OAAOA,EAAO,IAAM,GAAKA,EAAO,KAAO,GAQ3CyD,aAAc,SAASzD,GAGnB,OAFA5W,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OACrCqzC,EAAKj3C,MAAMF,aAAem3C,EAAKv3C,gBAAgB,IAAII,aAChD,IAUXwC,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,IAAIiF,EAAY/b,KAAK+X,QAAQnB,EAAMC,EAAOC,GAE1C,OADAiF,EAAU3C,KAAK2C,EAAU9C,YAAa,KAC/B9V,KAAK2N,OAAOiL,EAAUhD,YAAc,GAAK,GAAK,GASzDC,YAAa,SAASpC,EAAMC,GACxB,IAAI2B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cAC/D,OAAOpW,KAAKsb,aAAa9C,EAAK3B,QAAU,IAClB,KAAjB2B,EAAK3B,SAAkB7W,KAAKyY,SAASD,EAAK5B,QAAU,EAAI,IAUjEsC,QAAS,SAAStC,EAAMC,EAAOC,GAC3B,OAAQ9W,KAAKiZ,UAAUrC,EAAMC,EAAOC,IAAQ,GAAK,GAWrD0C,KAAM,SAAS5C,EAAMC,EAAOC,GACxB,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aAGvD,OAFAS,EAAO4B,EAAK5B,OACRA,EAAO,GAAKA,IACT4B,EAAK1B,MAA6B,IAApB0B,EAAK3B,QAAU,GACnB,KAAZD,EAAO,GAAWzT,KAAK2N,MAAM8F,EAAO,GAAK5W,KAAKqb,QAAU,GAOjE5B,OAAQ,SAASC,GACb,IAAI1c,EAAImG,KAAK2N,MAAM4I,GAAM,GAAM1Z,KAAKqb,QAChCzE,EAAOzT,KAAK2N,OAAO9T,EAAImG,KAAK2N,OAAO9T,EAAI,KAAO,OAAS,KAAO,EAC9D4Z,GAAQ,GAAKA,IACjB5Z,EAAImG,KAAK2N,MAAM4I,GAAM,GAAM1Z,KAAK+X,QAAQnB,EAAM,EAAG,GAAG4C,OACpD,IAAI3C,EAAQ1T,KAAK2N,MAAM9T,EAAI,IAAM,EAC7B8Z,EAAM9Z,EAAkB,IAAb6Z,EAAQ,GAAU,EACjC,OAAO7W,KAAK+X,QAAQnB,EAAMC,EAAOC,MAKzC02C,EAAKh3C,UAAUu4Z,OAASu2B,GAMlB,KACA,SAAUjpc,EAAQC,EAASkB,GAEjC,aAWA,IAAIm5B,EAAWn5B,EAAoB,QAC/B+nc,EAAkB/nc,EAAoB,QAAQ+nc,gBAWlDjpc,EAAQ+qY,mBAAqB,SAAShmU,EAAU3wD,EAAM+mD,GAClD,IAAI5nD,EAAiB8mB,EAASkgK,iBAAiBnmL,GAC/C,IAAIb,EAAgB,MAAO,GAK3B,IAHA,IAAIoV,EAAOpV,EAAeoV,KACtBkjX,EAAkB,GAEdzqY,EAAI,EAAGA,EAAI2jE,EAAS1kE,OAAQe,IAAK,CACrC,IAAI6iE,EAAYc,EAAS3jE,GACrBsO,EAAQu0D,EAAU,GAAGv0D,MAEtBA,EAAMiZ,KAAUwyC,GAAW0wU,EAAgB3nY,KAAK+/D,GAGvD,OAAO4nU,GAgBX7rY,EAAQ0rG,kBAAoB,SAAShwC,EAAU2kX,GAC3C,IAGInxB,EAHAv1I,EAAiB,GACjBuvL,EAAoB,GAUxB,GANIh6C,EADe,kBAATmxB,EACOhmZ,EAASkjK,UAAU8iP,GAAMzsa,KAChB,oBAATysa,EACAA,EAEAA,EAAKzsa,MAElBs7Y,EACA,MAAO,CAACv1I,EAAgBj+M,GAG5B,IAAI,IAAIt6D,EAAI,EAAGA,EAAIs6D,EAASr7D,OAAQe,IAAK,CACrC,IAAI6f,EAAKy6C,EAASt6D,GACdsO,EAAQuR,EAAG,GAAGvR,OAIG,IAAlBA,EAAMuD,SAAsC,IAAlBvD,EAAM6I,UAMhC7I,EAAMkjF,QAAQh/E,OAASs7Y,EACtBv1I,EAAez1Q,KAAK+c,GAEpBiob,EAAkBhlc,KAAK+c,IAI/B,MAAO,CAAC04P,EAAgBuvL,IAa5Blpc,EAAQy6D,eAAiB,SAAwBpuD,EAAM+H,EAAM+mD,GACzD,IAAI9gC,EAASkgK,iBAAiBnmL,GAAO,MAAO,GAE5C,IAEI1E,EAAOy5b,EAAUC,EAFjBzgb,EAAO0R,EAASkgK,iBAAiBnmL,GAAMuU,KACvCuzC,EAAc,GAGlB,GAAY,SAAT9nD,EAAiB,CAChB,IAAIi1b,EAAUluY,EAAUtyC,MAAMogb,GAC9BE,EAAW,IAAME,EAAQ,GACzBD,EAAW,IAAMC,EAAQ,GAG7B,IAAI,IAAIjoc,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IAC5BsO,EAAQrD,EAAKjL,GAED,SAATgT,GAAmBimB,EAAS4U,QAAQv/B,EAAO,QACvCA,EAAMiZ,EAAK,MAAQwgb,GAAYz5b,EAAMiZ,EAAK,MAAQygb,GACjDltY,EAAYh4D,KAAKwL,GAGlBA,EAAMiZ,KAAUwyC,GAAWe,EAAYh4D,KAAKwL,GAIvD,OAAOwsD,IAML,KACA,SAAUn8D,EAAQC,EAASkB,GAEjC,aAGA,IAAIooc,EAAOpoc,EAAoB,QAC3BiO,EAAOjO,EAAoB,QAC3Bqoc,EAAaroc,EAAoB,QACjCsoc,EAAWtoc,EAAoB,QAC/Bg3H,EAAUh3H,EAAoB,QAC9BmI,EAAOnI,EAAoB,QAC3Buoc,EAAYvoc,EAAoB,QAChCqoC,EAAOroC,EAAoB,QAC3B8rN,EAAY9rN,EAAoB,QAChCwoc,EAAQxoc,EAAoB,QAC5Byoc,EAAYzoc,EAAoB,QAChCoU,EAAKpU,EAAoB,QACzBkgB,EAAUlgB,EAAoB,QAC9B8ia,EAAS9ia,EAAoB,QAC7B0oc,EAAU1oc,EAAoB,QAC9B0iQ,EAAU1iQ,EAAoB,QAC9BynQ,EAAMznQ,EAAoB,QAC1Bi1L,EAAWwyE,EAAIxyE,SAEf9yB,EAAc,IAAInrC,EAIlB2xU,GAAqB,EACzB,GAAIvob,SAASmf,KAAM,CACf,IAAIvM,EAAK5S,SAASmf,KAAK3W,YAAYxI,SAASC,cAAc,QAC1D2S,EAAGrjB,MAAMqR,KAAO,kDACZkqJ,iBAAiBl4I,GAAI41a,cACrBD,GAAqB,GAEzBvob,SAASmf,KAAKuyF,YAAY9+F,GAG9B,IAAI61a,EAAS,SAAiBroc,GACzBsoc,EAAOtoc,IACVA,EAAI,CAACwlK,KAAMxlK,GACXgC,KAAKoH,GAAKpJ,EAAEwlK,KAAKs6C,KAGjB99M,KAAKoH,GAAK0+b,EAAS9nc,GAGpBgC,KAAKqH,OAASs4J,EAAYvhK,IAAI4B,KAAKoH,IAE9BpH,KAAKqH,OAITrH,KAAKwjK,KAAOxjK,KAAKqH,OAAOm8J,KAHxBxjK,KAAKwjK,KAAOxlK,EAAEwlK,MAAQqiS,EAAW,CAAEz+b,GAAIpH,KAAKoH,KAM7CpH,KAAKumc,WAAavmc,KAAKwjK,KAAKj8J,OAAO,CAAEmJ,KAAM,QAASmvM,MAAO,WAC3D7/M,KAAKuha,WAAavha,KAAKwjK,KAAKj8J,OAAO,CAAEmJ,KAAM,QAASmvM,MAAO,WAEtD7/M,KAAKqH,SACTrH,KAAKqH,OAASrH,KAAKsG,eACnBq5J,EAAYt0J,IAAIrL,KAAKoH,GAAIpH,KAAKqH,SAG/BrH,KAAKqmX,MAAQ,GAGbrmX,KAAKue,SAAW,GAChBve,KAAKwe,KAAO,GACZxe,KAAK+lc,UAAY,GAEjB/lc,KAAKsJ,KAAOtJ,KAAKqH,OAAOiC,KAAKvK,KAAKiB,MAClCA,KAAKukC,OAAS,WAGbvkC,KAAKwjK,KAAKqjN,WACV7mX,KAAKsJ,KAAKtJ,KAAKqmX,QAEhBrmX,KAAK2d,OAAS3d,KAAKoH,GAAGuW,OAEtB3d,KAAK+I,OAAOi9b,EAAMhoc,GAAKA,EAAI,KA8nB5B,SAASsoc,EAAQtoc,GAChB,MAAoB,oBAANA,GACdA,EAAE8/M,KACF9/M,EAAEwjH,MACFxjH,EAAEyJ,SACFzJ,EAAEuJ,OAhoBH8+b,EAAOlnc,UAAUmH,aAAe,WAC/B,IAAIk9J,EAAOxjK,KAAKwjK,KAIZl6J,EAAOk6J,EAAK,CACfxvE,MAAO,CACNh2D,QAAQ,EACRv1B,MAAO,CAAC,EAAE,EAAE,EAAE,GAEdotE,KAAM,CACL4sI,OAAQ,YACRC,OAAQ,sBACRC,SAAU,sBACVC,SAAU,QAGZ+vB,QAAS,CAAC30M,QAAQ,GAClBw1I,MAAO,CAACx1I,QAAQ,GAEhBgqC,MAAOw7F,EAAKhiD,KAAK,SACjBnoG,OAAQmqJ,EAAKhiD,KAAK,UAClBl5G,WAAY,CACXk+b,WAAY,CACXntb,OAAQ,EACR4sB,OAAQ,EACR1+B,OAAQi8J,EAAKxjK,KAAK,eAEnB0e,MAAO,CACNrF,OAAQ,EACR4sB,OAAQ,EACR1+B,OAAQi8J,EAAKxjK,KAAK,eAEnBijE,KAAMugG,EAAKxjK,KAAK,cAChBgH,SAAUw8J,EAAKxjK,KAAK,aAErBwJ,SAAU,CACTi9b,UAAW,SAAUzpc,EAAGqC,GAAK,MAAO,CAACA,EAAEmxK,MAAM9xJ,MAAOrf,EAAEmxK,MAAMhqJ,SAC5Dkgb,SAAU,SAAU1pc,EAAGqC,GAAK,MAAO,CAACA,EAAEmxK,MAAMm2R,KAAMtnc,EAAEmxK,MAAMrX,OAC1DqX,MAAO,SAAUxzK,EAAGqC,GAAK,OAAOA,EAAEmxK,MAAM/oK,SACxCm/b,SAAU,SAAU5pc,EAAGqC,GAAK,OAAOA,EAAEmxK,MAAMnqI,MAC3C9c,GAAI,SAAUvsB,EAAGqC,GAAK,OAAOA,EAAEmxK,MAAMjnJ,IACrC9gB,MAAO+6J,EAAKhiD,KAAK,SACjBx5G,QAASw7J,EAAKhiD,KAAK,WACnB19E,SAAU0/H,EAAKxjK,KAAK,iBACpByiE,MAAO+gG,EAAKxjK,KAAK,SACjBipG,MAAOu6D,EAAKhiD,KAAK,SACjBssP,SAAUtqM,EAAKhiD,KAAK,YACpBg3G,UAAWh1D,EAAKxjK,KAAK,aACrB6mc,eAAgBrjS,EAAKhiD,KAAK,mBAE3B0iE,UAAW,SACXpgJ,SAAU0/H,EAAKxjK,KAAK,YAEpBymC,KAAO,0bAA6b4/Z,EAAOS,eAAsF,GAArE,oEAA2E,6PAA+PT,EAAOS,eAAiB,gCAAkC,IAAM,yUAEt2BjvS,KAAM,o1CAIH2Y,EAAQ,GAEZ,MAAO,CAAEhN,KAAMA,EAAMl6J,KAAMA,EAAMknK,MAAOA,IAGzC61R,EAAOlnc,UAAU4J,OAAS,SAAiB/K,GACzC,IAAI4za,EAAS5xa,KAEd,GAAiB,kBAANhC,EAAkBA,EAAI,CAAEyO,KAAMzO,QACpC,IAAKA,EAAK,OAGfA,EAAIyN,EAAKzN,EAAG,CACXgJ,SAAU,8CACVwX,KAAM,qEACND,SAAU,mCACV9R,KAAM,mDACNw8F,MAAO,yCACP6kQ,SAAU,qCACV72R,UAAW,8BACXxuE,MAAO,6DACPiV,QAAS,eACTtI,MAAO,gBACP0uB,SAAU,uCACV97B,QAAS,uDACTqR,OAAQ,2DACN,GAGc,MAAbrb,EAAEgK,UACD3G,MAAM0J,QAAQ/M,EAAEgK,SACnBhI,KAAKgI,QAAUhK,EAAEgK,QAAQ0wC,KAAI,SAAU16C,GAAK,OAAOozB,WAAWpzB,MAG9DgC,KAAKgI,QAAUopB,WAAWpzB,EAAEgK,UAIZ,MAAdhK,EAAE8lC,WACL9jC,KAAK8jC,SAAWwlL,EAAUtrN,EAAE8lC,UAExBuia,EAAOS,iBACV9mc,KAAK8jC,SAASvyB,EAAIvR,KAAK2d,OAAO6I,OAASxmB,KAAK8jC,SAASvyB,EAAIvR,KAAK8jC,SAAStd,QAGxExmB,KAAK+mc,cAAgB,CAAC/mc,KAAK8jC,SAASl4B,EAAG5L,KAAK8jC,SAASvyB,EAAGvR,KAAK8jC,SAASplB,MAAO1e,KAAK8jC,SAAStd,SAGvE,MAAjBxmB,KAAK8jC,WACR9jC,KAAK8jC,SAAW,CACfl4B,EAAG,EAAG2F,EAAG,EACTmN,MAAO1e,KAAKoH,GAAG0C,mBACf0c,OAAQxmB,KAAKoH,GAAG2C,qBAEjB/J,KAAK+mc,cAAgB,CAAC/mc,KAAK8jC,SAASl4B,EAAG5L,KAAK8jC,SAASvyB,EAAGvR,KAAK8jC,SAASplB,MAAO1e,KAAK8jC,SAAStd,SAG3E,MAAbxoB,EAAE0f,UAAmB1d,KAAK0d,QAAU1f,EAAE0f,SAE1B,MAAZ1f,EAAEqb,SACmB,kBAAbrb,EAAEqb,SAAuBrb,EAAEqb,OAAS,CAACrb,EAAEqb,OAAQ,IAE1DrZ,KAAK6mc,eAAiB3mM,EAAQliQ,EAAEqb,SAG7Brb,EAAEi5E,YAAaj3E,KAAKi3E,UAAYj5E,EAAEi5E,WAElCj5E,EAAEoX,QACLpV,KAAKoV,MAAQpX,EAAEoX,MACfpV,KAAKyiE,MAAQ,CAAC,GAAKzkE,EAAEoX,MAAM,GAAKpX,EAAEoX,MAAM,IAAK,GAAKpX,EAAEoX,MAAM,GAAKpX,EAAEoX,MAAM,KACvEpV,KAAKw4N,UAAY,EAAEx6N,EAAEoX,MAAM,IAAKpX,EAAEoX,MAAM,KAErCpX,EAAEykE,QAASziE,KAAKyiE,MAAQzkE,EAAEykE,OAC1BzkE,EAAEw6N,YAAax4N,KAAKw4N,UAAYx6N,EAAEw6N,WAGjCx4N,KAAKyiE,QAASziE,KAAKyiE,MAAQ,CAAC,EAAIziE,KAAK8jC,SAASplB,MAAO,EAAI1e,KAAK8jC,SAAStd,SAEvExmB,KAAKw4N,YAAax4N,KAAKw4N,UAAY,CAAC,EAAG,IAEvCx4N,KAAKwe,KAAK7hB,QAAWqB,EAAEwgB,OAAQxgB,EAAEwgB,KAAO6nb,EAAOW,aAAe,iBAGnE,IAqIIC,EArIAC,GAAU,EAAOC,GAAc,EA4HnC,GAzHInpc,EAAEwgB,OACJnd,MAAM0J,QAAQ/M,EAAEwgB,MAAQxgB,EAAEwgB,KAAO,CAACxgB,EAAEwgB,OAAO01C,SAAQ,SAAU11C,EAAM9gB,GAEnE,GAAoB,kBAAT8gB,EACV,IACCA,EAAOonb,EAAK3tP,MAAMz5L,GACjB,MAAOzD,GACRyD,EAAOonb,EAAK3tP,MAAMouP,EAAOW,aAAe,MAAQxob,QAG3CA,EAAOonb,EAAK3tP,MAAM2tP,EAAKpjR,UAAUhkK,IAExC,IAAI4ob,EAAaxB,EAAKpjR,UAAU,CAC/BvhK,KAAMolb,EAAOW,aACb9ob,OAAQM,EAAKN,OACbmpb,QAASlB,EAAqB3nb,EAAK6ob,aAAUzqc,EAC7C0qc,QAAS9ob,EAAK8ob,QACdv7X,OAAQvtD,EAAKutD,OACb5+D,MAAOqR,EAAKrR,QAGTmwH,EAAO2oU,EAAUznb,EAAKyC,MACtB5C,EAAKlb,KAAKs5B,MAAM6gG,EAAK,GAAK1rH,EAAG0rH,EAAK,KAOtC,GANIj/G,IAAOuzZ,EAAOrzZ,SAAS7gB,KAC1Bypc,GAAc,EACdv1B,EAAOrzZ,SAAS7gB,GAAK2gB,KAIjBuzZ,EAAOpzZ,KAAK9gB,IAAM0pc,GAAcx1B,EAAOpzZ,KAAK9gB,GAAG0pc,cACnDF,GAAU,EAGVt1B,EAAOpzZ,KAAK9gB,GAAK2oc,EAAOkB,MAAMH,IACzBx1B,EAAOpzZ,KAAK9gB,IAAI,CACpB,IAAIwgB,EAASM,EAAKN,OAAOvd,KAAK,MAC1BwM,EAAQ,CAACqR,EAAKrR,OACdqR,EAAKrR,OAASqR,EAAK8ob,SAAWn6b,EAAM3M,KAAKge,EAAK8ob,SAC9C9ob,EAAK8ob,SAAW9ob,EAAKutD,QAAU5+D,EAAM3M,KAAKge,EAAKutD,QAC/Co6X,GAAsB3nb,EAAKutD,QAAUvtD,EAAK6ob,SAAWl6b,EAAM3M,KAAKge,EAAK6ob,SAEzEz1B,EAAOpzZ,KAAK9gB,GAAK,CAChB0pc,WAAYA,EAGZlpb,OAAQA,EACR6tD,OAAQvtD,EAAKutD,OACbs7X,QAAS7ob,EAAK6ob,QACdl6b,MAAOqR,EAAKrR,MACZm6b,QAAS9ob,EAAK8ob,QAGd5ob,MAAO,GAGPhB,QAAS,GAETwob,QAASA,EAAQhob,EAAQ,CACxBi3I,OAAQ,MACR52I,SAAU8nb,EAAOW,aACjBh0P,UAAW7lM,EAAMxM,KAAK,QAIxB0lc,EAAOkB,MAAMH,GAAcx1B,EAAOpzZ,KAAK9gB,QAiBvCwpc,GAAWC,IACdnnc,KAAKwe,KAAK01C,SAAQ,SAAU11C,EAAM9gB,GACjC,IAAI8pc,EAAa5B,EAAKpjR,UAAU,CAC/BvhK,KAAM2wZ,EAAOrzZ,SAAS7gB,GACtBwgB,OAAQM,EAAKN,OACbmpb,QAASlB,EAAqB3nb,EAAK6ob,aAAUzqc,EAC7C0qc,QAAS9ob,EAAK8ob,QACdv7X,OAAQvtD,EAAKutD,OACb5+D,MAAOqR,EAAKrR,QAMb,GAFAyka,EAAOm0B,UAAUroc,GAAKk0a,EAAOvqa,OAAOmpK,MAAMg3R,IAErC51B,EAAOm0B,UAAUroc,GAAI,CACzB,IAAIwoc,EAAU1nb,EAAK0nb,QAEnBt0B,EAAOvqa,OAAOmpK,MAAMg3R,GACpB51B,EAAOm0B,UAAUroc,GAAK,CACrB8pc,WAAYA,EAEZnha,KAA4D,EAAtDljC,KAAKy5B,KAAKg1Y,EAAOrzZ,SAAS7gB,GAAKwoc,EAAQ72a,OAAS,IACtD9F,GAAIqoZ,EAAOrzZ,SAAS7gB,GACpBipc,KAAM,EACNxtS,KAAM,EACN3yI,OAAQ,EACR9H,MAAO,EACP+xJ,MAAO,GACPhgF,IAAK,GACLhpF,QAASmqa,EAAOpuQ,KAAK/7J,WAKT,MAAVzJ,EAAEyO,OAAgBzO,EAAEyO,KAAOmla,EAAOnla,SAMlB,kBAAXzO,EAAEyO,MAAqBzO,EAAEgJ,UAAYhJ,EAAEgJ,SAASrK,OAAS,EAAG,CAEtE,IADA,IAAI8qc,EAAYpmc,MAA0B,GAApBrD,EAAEgJ,SAASrK,QACxBe,EAAI,EAAGA,EAAI+pc,EAAU9qc,OAAQe,IACrC+pc,EAAU/pc,GAAKM,EAAEyO,KAElBzO,EAAEyO,KAAOg7b,EAKV,GAAc,MAAVzpc,EAAEyO,MAAgBy6b,EAAS,CAK9B,GAFAlnc,KAAK0nc,YAAc,CAAC,GAEhBrmc,MAAM0J,QAAQ/M,EAAEyO,MAAO,CAC1BzM,KAAKgoE,MAAQhqE,EAAEyO,KAAK,GAAG9P,OACvBqD,KAAKy1E,OAAS,CAACz1E,KAAKgoE,OACpB,IAAK,IAAI+pW,EAAM,EAAGA,EAAM/za,EAAEyO,KAAK9P,OAAQo1a,IACtC/xa,KAAK0nc,YAAY31B,GAAO/xa,KAAK0nc,YAAY31B,EAAM,GAAK/za,EAAEyO,KAAKsla,EAAM,GAAGp1a,OACpEqD,KAAKgoE,OAAShqE,EAAEyO,KAAKsla,GAAKp1a,OAC1BqD,KAAKy1E,OAAOj1E,KAAKxC,EAAEyO,KAAKsla,GAAKp1a,QAE9BqD,KAAKyM,KAAOzO,EAAEyO,KAAK9L,KAAK,SAGxBX,KAAKyM,KAAOzO,EAAEyO,KACdzM,KAAKgoE,MAAQhoE,KAAKyM,KAAK9P,OACvBqD,KAAKy1E,OAAS,CAACz1E,KAAKgoE,OAGrBi/X,EAAgB,GAGhBjnc,KAAKwe,KAAK01C,SAAQ,SAAU11C,EAAM6jB,GACjCgka,EAAOsB,aAAanpb,KAAOA,EAAK4ob,WAIhC,IAFA,IAAI52R,EAAQohQ,EAAOm0B,UAAU1ja,GAEpB3kC,EAAI,EAAGA,EAAIk0a,EAAOnla,KAAK9P,OAAQe,IAAK,CAC5C,IAAIulE,EAAO2uW,EAAOnla,KAAK0f,OAAOzuB,GAQ9B,GANuB,MAAnB8yK,EAAM//E,IAAIxtB,KACbutG,EAAM//E,IAAIxtB,GAAQutG,EAAMC,MAAM9zK,OAC9B6zK,EAAMC,MAAMjwK,KAAKyiE,GACjBgkY,EAAczmc,KAAKyiE,IAGI,MAApBzkD,EAAKE,MAAMukD,KACdzkD,EAAKE,MAAMukD,GAAQojY,EAAOsB,aAAahpb,YAAYskD,GAAMvkD,MAAQ2nb,EAAOW,aAGpEp1B,EAAOl0Z,SAAS,CACnB,IAAIS,EAAQ,GACZ,IAAK,IAAIypb,KAAYppb,EAAKE,MACzBP,EAAM3d,KAAKonc,EAAW3kY,EAAMA,EAAO2kY,GAEpCtnC,EAAO9hZ,EAAKd,QAASA,EAAQc,EAAKN,OAAQ,CACzCC,MAAOA,UASb,GAAIngB,EAAEgJ,SACL,GAAIhJ,EAAEgJ,SAASrK,OAAS,EAAG,CAG1B,IAFA,IAAIqpS,GAAQhoS,EAAEgJ,SAAS,GAAGrK,OACtBkrc,EAAehia,EAAK03Z,YAAyB,EAAbv9b,KAAKgoE,OAChCqqW,EAAM,EAAG1ta,EAAM,EAAG0ta,EAAMrya,KAAKy1E,OAAO94E,OAAQ01a,IAAO,CAC3D,IAAIrqW,EAAQhoE,KAAKy1E,OAAO48V,GACxB,GAAIrsI,EACH,IAAK,IAAIhkS,EAAI,EAAGA,EAAIgmE,EAAOhmE,IAC1B6lc,EAAaljc,KAAS3G,EAAEgJ,SAAe,EAANqra,GACjCw1B,EAAaljc,KAAS3G,EAAEgJ,SAAe,EAANqra,EAAU,QAI5C,IAAK,IAAIy1B,EAAM,EAAGA,EAAM9/X,EAAO8/X,IAC9BD,EAAaljc,KAAS3G,EAAEgJ,SAASqra,GAAK,GACtCw1B,EAAaljc,KAAS3G,EAAEgJ,SAASqra,GAAK,GAIrCrya,KAAKgH,SAASnK,KACjBmD,KAAKgH,SAAS,CACb0J,KAAM,QACN/H,KAAMk/b,IAGP7nc,KAAKgH,SAAWhH,KAAKwjK,KAAKj8J,OAAO,CAChCmJ,KAAM,QACN/H,KAAMk/b,IAGRhia,EAAK25Z,UAAUqI,QAGX7nc,KAAKgH,SAASisB,SAAWjzB,KAAKgH,SAASisB,UAC3CjzB,KAAKgH,SAAW,CACf88D,SAAU9lE,EAAEgJ,UAQf,GAAIhJ,EAAEyO,MAAQy6b,EAAS,CACtB,IAAIa,EAAUlia,EAAK41F,YAAYz7H,KAAKgoE,OAChCggY,EAAWnia,EAAK03Z,YAAyB,EAAbv9b,KAAKgoE,OACrChoE,KAAKklH,UAAY,GAEjB,IAAK,IAAI+iV,EAAM,EAAGC,EAAQ,EAAGD,EAAMjoc,KAAKy1E,OAAO94E,OAAQsrc,IAAO,CAK7D,IAJA,IAAIE,EAAUnoc,KAAKy1E,OAAOwyX,GACtBzpb,EAAOxe,KAAKwe,KAAKypb,IAAQjoc,KAAKwe,KAAK,GACnCgyJ,EAAQxwK,KAAK+lc,UAAUkC,IAAQjoc,KAAK+lc,UAAU,GAEzCqC,EAAM,EAAGA,EAAMD,EAASC,IAAO,CACvC,IAAInlY,EAAOjjE,KAAKyM,KAAK0f,OAAO+7a,GACxBG,EAAWroc,KAAKyM,KAAK0f,OAAO+7a,EAAQ,GAKxC,GAHAH,EAAQG,GAAS13R,EAAM//E,IAAIxtB,GAC3B+kY,EAAiB,EAARE,GAAa1pb,EAAKE,MAAMukD,GAE7BmlY,EAAK,CACR,IAAIE,EAAYN,EAAiB,EAARE,EAAY,GACjCK,EAAYP,EAAiB,EAARE,GACrBM,EAAaR,EAAiB,EAARE,EAAY,GAClC7ub,EAASmvb,EAAyB,GAAZF,EAA6B,GAAZC,EAE3C,GAAIvoc,KAAK0d,QAAS,CACjB,IAAI+qb,EAAYjqb,EAAKd,QAAQ2qb,EAAWplY,GACpCwlY,IACHpvb,GAAsB,KAAZovb,GAIZT,EAAiB,EAARE,EAAY,GAAK7ub,OAG1B2ub,EAAiB,EAARE,EAAY,GAA2B,GAAtBF,EAAiB,EAARE,GAGpCA,IAEDloc,KAAKklH,UAAU1kH,KACbwnc,EAASrrc,OAEgB,GAA1Bqrc,EAAiB,EAARE,EAAY,GAAUF,EAAiB,EAARE,EAAY,GAFjC,GAQhBlqc,EAAEirG,QAASjrG,EAAEirG,MAAQjpG,KAAKipG,OAC/BjpG,KAAKumc,WAAW,CAAC59b,KAAMo/b,EAASr3b,KAAM,QAASmvM,MAAO,WACtD7/M,KAAKuha,WAAW,CAAC54Z,KAAMq/b,EAAUt3b,KAAM,QAASmvM,MAAO,WACvDh6K,EAAK+1F,UAAUmsU,GACflia,EAAK25Z,UAAUwI,GAGXf,EAActqc,QACjBqD,KAAKwe,KAAK01C,SAAQ,SAAU11C,EAAM9gB,GACjC,IAAI8yK,EAAQohQ,EAAOm0B,UAAUroc,GAGzB2oC,EAAOmqI,EAAMnqI,KAEbqia,EAAUvlc,KAAK2N,MAAMu1b,EAAOsC,aAAetia,GAC3Csga,EAAOxjc,KAAKoC,IAAImjc,EAASl4R,EAAMC,MAAM9zK,QACrCw8J,EAAOh2J,KAAKy5B,KAAK4zI,EAAMC,MAAM9zK,OAASgqc,GAEtCiC,EAAan2Q,EAAUk0Q,EAAOtga,GAE9Bwia,EAAcp2Q,EAAUt5B,EAAO9yH,GAEnCmqI,EAAM9xJ,MAAQkqb,EACdp4R,EAAMhqJ,OAASqib,EACfr4R,EAAMrX,KAAOA,EACbqX,EAAMm2R,KAAOA,EAERn2R,EAAMjnJ,IAEXinJ,EAAM/oK,QAAQ,CACbkB,KAAMo9b,EAAU,CACfpob,OAAQ0ob,EAAOyC,YACftqb,KAAMgyJ,EAAMg3R,WACZ/2R,MAAOD,EAAMC,MACb7xI,MAAO,CAACgqa,EAAYC,GACpBxia,KAAM,CAACA,EAAMA,UAqDlB,GA7CIroC,EAAEirG,QACLjpG,KAAKipG,MAAQjrG,EAAEirG,MACfjpG,KAAK+oc,YAAc/oc,KAAKklH,UAAUxsE,KAAI,SAAUwsE,EAAWxnH,GAC1D,IAAIurG,EAAS5nG,MAAM0J,QAAQ6ma,EAAO3oU,OAAwB2oU,EAAO3oU,MAAMtsG,OAAS,EAAIi1a,EAAO3oU,MAAMvrG,GAAKk0a,EAAO3oU,MAAM,GAAxE2oU,EAAO3oU,MAElD,GAAqB,kBAAVA,EAAsB,OAAOA,EACxC,OAAQA,GACP,IAAK,QACL,IAAK,MACJ,OAAQic,EACT,IAAK,SACL,IAAK,SACL,IAAK,SACJ,MAAoB,IAAZA,EAGV,OAAO,MAIY,MAAjBllH,KAAK8tW,UAAkC,MAAd9vW,EAAE8vW,WAC9B9vW,EAAE8vW,SAAW,GAEI,MAAd9vW,EAAE8vW,WACL9tW,KAAK8tW,SAAW9vW,EAAE8vW,SACbzsW,MAAM0J,QAAQ/K,KAAK8tW,YAAa9tW,KAAK8tW,SAAW,CAAC9tW,KAAK8tW,WAC3D9tW,KAAKgpc,eAAiBhpc,KAAK8tW,SAASp1T,KAAI,SAAUo1T,EAAUpwW,GAC3D,IAAIE,GAAKg0a,EAAOpzZ,KAAK9gB,IAAMk0a,EAAOpzZ,KAAK,IAAI0nb,QACvCxpa,EAAO,EAYX,OAVAA,GAAmB,GAAX9+B,EAAEyxB,OAGTqN,GADuB,kBAAboxU,EACDA,EAAWlwW,EAAEkwW,UAGblwW,EAAEkwW,GAGPu4F,EAAOS,iBAAkBpqa,IAAS,GAChCA,MAKM,MAAX1+B,EAAEyK,MAIL,GAHKzK,EAAEyK,QAASzK,EAAEyK,MAAQ,eAGH,kBAAZzK,EAAEyK,OAAuBoC,MAAM7M,EAAEyK,OAIvC,CACJ,IAAIwgc,EAGJ,GAA0B,kBAAfjrc,EAAEyK,MAAM,IAAmBzK,EAAEyK,MAAM9L,OAASqD,KAAKy1E,OAAO94E,OAAQ,CAC1E,IAAIgB,EAAIK,EAAEyK,MAAM9L,OAChBssc,EAAYpja,EAAK41F,YAAY99H,GAE7B,IADA,IAAI0rB,GAAOrrB,EAAEyK,MAAMihH,UAAY1rH,EAAEyK,MAAM9G,OAAO5C,KAAKf,EAAEyK,OAC5Cygc,EAAM,EAAGA,EAAMvrc,EAAGurc,GAAO,EACjCD,EAAU59b,IAAI1F,EAAK0jB,EAAI6/a,EAAKA,EAAM,GAAI,SAAUA,OAI7C,CACJ,IAAIC,EAAMnrc,EAAEyK,MAAM9L,OAClBssc,EAAYpja,EAAK41F,YAAkB,EAAN0tU,GAC7B,IAAK,IAAIC,EAAM,EAAGA,EAAMD,EAAKC,IAC5BH,EAAU59b,IAAI1F,EAAK3H,EAAEyK,MAAM2gc,IAAQ,EAAG,SAAgB,EAANA,GAIlDppc,KAAKyI,MAAQwgc,OAxBbjpc,KAAKyI,MAAQ9C,EAAK3H,EAAEyK,MAAO,SA6B7B,GAAIzK,EAAEgJ,UAAYhJ,EAAEyO,MAAQzO,EAAEyK,OAASzK,EAAE8vW,UAAY9vW,EAAEirG,OAASjrG,EAAEwgB,MAAQxgB,EAAEqb,QAAUrb,EAAEgK,QAAS,CAChG,IAAIqhc,EAAWrpc,KAAKyI,MAAM9L,OAAS,GAC9BqD,KAAKgpc,eAAersc,OAAS,GAC7BqD,KAAKipG,OAASjpG,KAAKipG,MAAMtsG,OAAS,GAClCqD,KAAK+lc,UAAUppc,OAAS,GACxBqD,KAAK6mc,eAAelqc,OAAS,EAClC,GAAI0sc,EAAS,CACZ,IAAI1sc,EAASwG,KAAKqC,IACM,GAAvBxF,KAAKgH,SAASrK,QAAe,EACT,IAApBqD,KAAKyI,MAAM9L,QAAgB,EAC3BqD,KAAKgpc,eAAersc,QAAU,EAC9BqD,KAAK+oc,YAAYpsc,QAAU,EAC3BqD,KAAKwe,KAAK7hB,QAAU,EACpBqD,KAAKgI,QAAQrL,QAAU,EACM,GAA7BqD,KAAK6mc,eAAelqc,QAAe,GAEpCqD,KAAKqmX,MAAQhlX,MAAM1E,GACnB,IAAK,IAAI2sc,EAAM,EAAGA,EAAMtpc,KAAKqmX,MAAM1pX,OAAQ2sc,IAC1Ctpc,KAAKqmX,MAAMijF,GAAO,CACjBthY,MAAOhoE,KAAKy1E,OAAO94E,OAAS,EAAIqD,KAAKy1E,OAAO6zX,GAAOtpc,KAAKy1E,OAAO,GAC/Dp8D,OAAQrZ,KAAK0nc,YAAY/qc,OAAS,EAAIqD,KAAK0nc,YAAY4B,GAAOtpc,KAAK0nc,YAAY,GAC/Ej/b,MAAQzI,KAAKyI,MAAsBzI,KAAKyI,MAAM9L,QAAU,EAAIqD,KAAKyI,MAAQzI,KAAKyI,MAAMihH,SAAe,EAAN4/U,EAAe,EAANA,EAAU,GAA3F,CAAC,EAAE,EAAE,EAAE,KAC5Bthc,QAAS3G,MAAM0J,QAAQ/K,KAAKgI,SAAWhI,KAAKgI,QAAQshc,GAAOtpc,KAAKgI,QAChE8lW,SAAsC,MAA5B9tW,KAAKgpc,eAAeM,GAAetpc,KAAKgpc,eAAeM,GAAOtpc,KAAKgpc,eAAe,GAC5F//V,MAAQjpG,KAAKipG,MAAqC,MAAzBjpG,KAAK+oc,YAAYO,GAAetpc,KAAK+oc,YAAYO,GAAOtpc,KAAK+oc,YAAY,GAA7E,EACrBv4R,MAAOxwK,KAAK+lc,UAAUuD,IAAQtpc,KAAK+lc,UAAU,GAC7Cc,eAAgB7mc,KAAK6mc,eAAelqc,OAAS,EAAIqD,KAAK6mc,eAAen9U,SAAe,EAAN4/U,EAAe,EAANA,EAAU,GAAKtpc,KAAK6mc,qBAMzG7mc,KAAKgoE,MACRhoE,KAAKqmX,MAAQ,CAAC,CACbr+S,MAAOhoE,KAAKgoE,MACZ3uD,OAAQ,EACR5Q,MAAOzI,KAAKyI,OAAS,CAAC,EAAE,EAAE,EAAE,KAC5BT,QAAS3G,MAAM0J,QAAQ/K,KAAKgI,SAAWhI,KAAKgI,QAAQ,GAAKhI,KAAKgI,QAC9D8lW,SAAU9tW,KAAKgpc,eAAe,GAC9B//V,MAAOjpG,KAAK+oc,YAAc/oc,KAAK+oc,YAAY,GAAK,EAChDv4R,MAAOxwK,KAAK+lc,UAAU,GACtBc,eAAgB7mc,KAAK6mc,iBAItB7mc,KAAKqmX,MAAQ,KAMjBggF,EAAOlnc,UAAU8zB,QAAU,aAM3Boza,EAAOlnc,UAAUue,SAAU,EAC3B2ob,EAAOlnc,UAAU6H,SAAW,CAAE88D,SAAU,IAAI1/C,aAAa,IACzDiib,EAAOlnc,UAAUq5N,UAAY,KAC7B6tO,EAAOlnc,UAAUsjE,MAAQ,KACzB4jY,EAAOlnc,UAAUqf,KAAO,KACxB6nb,EAAOlnc,UAAUsN,KAAO,GACxB45b,EAAOlnc,UAAU0nc,eAAiB,CAAC,EAAG,GACtCR,EAAOlnc,UAAU6I,QAAU,EAC3Bq+b,EAAOlnc,UAAUsJ,MAAQ,IAAI+H,WAAW,CAAC,EAAG,EAAG,EAAG,MAClD61b,EAAOlnc,UAAU4pc,YAAc,CAAC,EAAG,GAInC1C,EAAOS,gBAAiB,EAGxBT,EAAOsC,aAAe,KAGtBtC,EAAOyC,YAAclrb,SAASC,cAAc,UAC5Cwob,EAAOsB,aAAetB,EAAOyC,YAAY/qb,WAAW,KAAM,CAACqqD,OAAO,IAGlEi+X,EAAOW,aAAe,GAGtBX,EAAOkB,MAAQ,GAeflrc,EAAOC,QAAU+pc,GAMX,KACA,SAAUhqc,EAAQC,EAASkB,GAEjC,aAEA,IAAIq9L,EAAWr9L,EAAoB,QAInCnB,EAAOC,QAAU,WACf,IAAII,EAAOm+L,EAAS76L,MAChB6G,EAAS,GAOb,OANInK,EAAKm5F,SAAQhvF,GAAU,KACvBnK,EAAK6sc,aAAY1ic,GAAU,KAC3BnK,EAAKmzZ,YAAWhpZ,GAAU,KAC1BnK,EAAK8sc,SAAQ3ic,GAAU,KACvBnK,EAAKixP,UAAS9mP,GAAU,KACxBnK,EAAKgoV,SAAQ79U,GAAU,KACpBA,IAMH,KACA,SAAUxK,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAE1Bo7D,EAAUp7D,EAAoB,QAE9Bisc,EAAYjsc,EAAoB,QAChCi2H,EAAUj2H,EAAoB,QAYlC,SAASoxO,EAAc7iO,EAAI4e,GACvB,IAAI61H,EAOJ,OANIzsI,EAAIuqD,cAAcvyD,KAAKy0I,EAAMzsI,EAAIg7G,YAAYhjH,IAEjD4e,EAAOA,GAAQ,GACfA,EAAKk4E,OAASl4E,EAAKk4E,QAAU,MAC7Bl4E,EAAKyyZ,eAAgB,EAEd,IAAI33Z,SAAQ,SAASC,EAAS+7C,GAC9B++E,GAAOA,EAAIkpT,qBACVjoY,EAAO,IAAIhgE,MAAM,sCAQlBsS,EAAIkvF,QAA0B,QAAhBt4E,EAAKk4E,QAClBphC,EAAO,IAAIhgE,MAAMgyH,EAAQsqG,oBAG1Bv9E,IAAKA,EAAIkpT,qBAAsB,GAClC,IAAIzwW,EAAUrgC,EAAQ7sD,EAAI4e,GAEtBu4E,EAAWv4E,EAAKu4E,UAAYn3F,EAAGtP,IAAM,UACzCymG,GAAY,IAAMv4E,EAAKk4E,OAEvB5J,EAAQt+D,MAAK,SAAS9zB,GAElB,OADG25I,IAAKA,EAAIkpT,qBAAsB,GAC3BD,EAAU5ic,EAAQq8F,EAAUv4E,EAAKk4E,WACzCloE,MAAK,SAAS78B,GACb4nB,EAAQ5nB,MACTqlG,OAAM,SAASxhC,GACX6+E,IAAKA,EAAIkpT,qBAAsB,GAClCjoY,EAAOE,SAKnBtlE,EAAOC,QAAUsyO,GAKX,KACA,SAAUvyO,EAAQC,EAASkB,GAEjC,aAaA,IAAI0uK,EAAa1uK,EAAoB,QAAQ0uK,WAEzClpE,EAAWxlG,EAAoB,QAE/B6gE,EAAUhiE,EAAOC,QAAU,GAwE/B,SAASW,EAAMuoC,EAAGqC,GACd,GAAGrC,GAAKA,EAAEvoC,MACN,IAII,YADAuoC,EAAEvoC,MAAMo4I,QAASxtG,GAEnB,MAAM9sB,IAIZ,IAAI,IAAIrd,EAAI,EAAGA,EAAImqC,EAAKlrC,OAAQe,IAC5B,IACI8nC,EAAEqC,EAAKnqC,IACT,MAAMqd,GAEJs6H,QAAQpsH,IAAI4e,EAAKnqC,KAhF7B2gE,EAAQp1C,IAAM,WACV,IAAIvrB,EAEJ,GAAGwuK,EAAW8nD,QAAU,EAAG,CACvB,IAAI21O,EAAW,CAAC,QAChB,IAAIjsc,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7Bisc,EAASnpc,KAAKtD,UAAUQ,IAE5BT,EAAMo4I,QAAQrpI,OAASqpI,QAAQpsH,IAAK0gb,GAGxC,GAAGz9R,EAAW+nD,gBAAkB,EAAG,CAC/B,IAAItmN,EAAQ,GACZ,IAAIjQ,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7BiQ,EAAMnN,KAAKtD,UAAUQ,IAEzBslG,EAASr1F,EAAMhN,KAAK,QAAS,UAIrC09D,EAAQjyB,KAAO,WACX,IAAI1uC,EAEJ,GAAGwuK,EAAW8nD,QAAU,EAAG,CACvB,IAAI21O,EAAW,CAAC,SAChB,IAAIjsc,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7Bisc,EAASnpc,KAAKtD,UAAUQ,IAE5BT,EAAMo4I,QAAQrpI,OAASqpI,QAAQpsH,IAAK0gb,GAGxC,GAAGz9R,EAAW+nD,gBAAkB,EAAG,CAC/B,IAAItmN,EAAQ,GACZ,IAAIjQ,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7BiQ,EAAMnN,KAAKtD,UAAUQ,IAEzBslG,EAASr1F,EAAMhN,KAAK,QAAS,WAIrC09D,EAAQjjD,MAAQ,WACZ,IAAI1d,EAEJ,GAAGwuK,EAAW8nD,QAAU,EAAG,CACvB,IAAI21O,EAAW,CAAC,UAChB,IAAIjsc,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7Bisc,EAASnpc,KAAKtD,UAAUQ,IAE5BT,EAAMo4I,QAAQj6H,MAAOuub,GAGzB,GAAGz9R,EAAW+nD,gBAAkB,EAAG,CAC/B,IAAItmN,EAAQ,GACZ,IAAIjQ,EAAI,EAAGA,EAAIR,UAAUP,OAAQe,IAC7BiQ,EAAMnN,KAAKtD,UAAUQ,IAEzBslG,EAASr1F,EAAMhN,KAAK,QAAS,YAgC/B,KACA,SAAUtE,EAAQC,GAExBD,EAAOC,QAAU,CACfiD,EAAG,OACH2qF,EAAG,MACH64T,EAAG,YACH6mD,EAAG,aACH5mD,EAAG,YACH6mD,EAAG,iBACHC,EAAG,eACHC,IAAK,mBACLC,IAAK,QACLC,IAAK,OACLC,IAAK,QACLC,IAAK,SACLC,IAAK,UACLC,IAAK,WACLC,IAAK,SACLC,IAAK,SACLC,IAAK,YACLC,IAAK,sBACLC,IAAK,YACLC,IAAK,sBACLC,IAAK,YACLC,IAAK,sBACLC,IAAK,YACLC,IAAK,sBACLC,IAAK,qBACLC,KAAM,qBACNC,KAAM,QACNC,KAAM,OACNC,KAAM,iBACNC,KAAM,eACNC,KAAM,gBACNC,KAAM,oBACNC,KAAM,gBACNC,KAAM,gCACNC,KAAM,KACNC,KAAM,MACNC,KAAM,aACNC,KAAM,YACNC,KAAM,iBACNC,KAAM,aACNC,KAAM,cACNC,KAAM,aACNC,KAAM,kBACNC,KAAM,oBACNC,KAAM,aACNC,KAAM,eACNC,KAAM,sBACNC,KAAM,eACNC,KAAM,qBACNC,KAAM,eACNC,KAAM,0BACNC,KAAM,0BACNC,KAAM,cACNC,KAAM,oBACNC,KAAM,WACNC,KAAM,SACNC,KAAM,QACNC,KAAM,cACNC,KAAM,eACNC,KAAM,oBACNC,KAAM,kBACNC,KAAM,mBACNC,KAAM,iBACNC,KAAM,mBACNC,KAAM,oBACNC,KAAM,gBACNC,KAAM,WACNC,KAAM,aACNC,KAAM,YACNC,KAAM,aACNC,KAAM,aACNC,KAAM,eACNC,KAAM,aACNC,KAAM,YACNC,KAAM,UACNC,KAAM,SACNC,KAAM,OACNC,KAAM,gBACNC,KAAM,QACNC,KAAM,iBACNC,KAAM,MACNC,KAAM,eACNC,KAAM,QACNC,KAAM,SACNC,KAAM,UACNC,KAAM,gBACNC,KAAM,kBACNC,KAAM,QACNC,KAAM,MACNC,KAAM,OACNC,KAAM,YACNC,KAAM,kBACNC,KAAM,OACNC,KAAM,UACNC,KAAM,OACNC,KAAM,OACNC,KAAM,SACNC,KAAM,WACNC,KAAM,UACNC,KAAM,UACNC,KAAM,SACNC,KAAM,yBACNC,KAAM,wBACNC,KAAM,wBACNC,KAAM,uBACNC,MAAO,qBACPC,MAAO,qBACPC,MAAO,iBACPC,MAAO,iBACPC,MAAO,SACPC,MAAO,uBACPC,MAAO,mBACPC,MAAO,iBACPC,MAAO,2BACPC,MAAO,iBACPC,MAAO,2BACPC,MAAO,cACPC,MAAO,WACPC,MAAO,qBACPC,MAAO,gBACPC,MAAO,wBACPC,MAAO,yBACPC,MAAO,yBACPC,MAAO,sBACPC,MAAO,wBACPC,MAAO,QACPC,MAAO,UACPC,MAAO,qBACPC,MAAO,2BACPC,MAAO,kBACPC,MAAO,iBACPC,MAAO,UACPC,MAAO,wBACPC,MAAO,yBACPC,MAAO,gBACPC,MAAO,gBACPC,MAAO,kBACPC,MAAO,kBACPC,MAAO,gBACPC,MAAO,uBACPC,MAAO,oBACPC,MAAO,2BACPC,MAAO,uBACPC,MAAO,kBACPC,MAAO,2BACPC,MAAO,2BACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,KAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,iBACPC,MAAO,wBACPC,MAAO,gBACPC,MAAO,YACPC,MAAO,YACPC,MAAO,mBACPC,MAAO,2BACPC,MAAO,8BACPC,MAAO,8BACPC,MAAO,8BACPC,MAAO,8BACPC,MAAO,8BACPC,MAAO,8BACPC,MAAO,4BACPC,MAAO,8BACPC,MAAO,2BACPC,MAAO,6BACPC,MAAO,2BACPC,MAAO,wBACPC,MAAO,8BACPC,MAAO,iCACPC,MAAO,6BACPC,MAAO,cACPC,MAAO,eACPC,MAAO,oBACPC,MAAO,oBACPC,MAAO,+BACPC,MAAO,+BACPC,MAAO,uBACPC,MAAO,qBACPC,MAAO,iCACPC,MAAO,0BACPC,MAAO,eACPC,MAAO,uBACPC,MAAO,uBACPC,MAAO,+BACPC,MAAO,qCACPC,MAAO,cACPC,MAAO,cACPC,MAAO,eACPC,MAAO,kBACPC,MAAO,gBACPC,MAAO,iCACPC,MAAO,mCACPC,MAAO,cACPC,MAAO,aACPC,MAAO,aACPC,MAAO,aACPC,MAAO,WACPC,MAAO,WACPC,MAAO,WACPC,MAAO,OACPC,MAAO,YACPC,MAAO,YACPC,MAAO,YACPC,MAAO,aACPC,MAAO,aACPC,MAAO,aACPC,MAAO,aACPC,MAAO,eACPC,MAAO,gBACPC,MAAO,iBACPC,MAAO,cACPC,MAAO,kBACPC,MAAO,kBACPC,MAAO,mBACPC,MAAO,kBACPC,MAAO,4BACPC,MAAO,uBACPC,MAAO,oBACPC,MAAO,8BACPC,MAAO,2BACPC,MAAO,kBACPC,MAAO,mBACPC,MAAO,0BACPC,MAAO,yBACPC,MAAO,sBACPC,MAAO,uBACPC,MAAO,qCACPC,MAAO,qCACPC,MAAO,uCACPC,MAAO,+CACPC,MAAO,uBACPC,MAAO,oCACPC,MAAO,4CACPC,MAAO,oCACPC,MAAO,0BACPC,MAAO,oBACPC,MAAO,mBACPC,MAAO,qBACPC,MAAO,cACPC,MAAO,eACPC,MAAO,qBACPC,MAAO,sBACPC,MAAO,+BACPC,MAAO,iBACPC,MAAO,wBACPC,MAAO,0BACPC,MAAO,yBACPC,MAAO,0BACPC,MAAO,0BACPC,MAAO,4BACPC,MAAO,SACPC,MAAO,YACPC,MAAO,eACPC,MAAO,aACPC,MAAO,UACPC,MAAO,aACPC,MAAO,WACPC,MAAO,kBACPC,MAAO,6BACPC,MAAO,sBACPC,MAAO,+BACPC,MAAO,sBACPC,MAAO,iCACPC,MAAO,qBACPC,MAAO,qCACPC,MAAO,0BAMH,KACA,SAAU1/c,EAAQC,EAASkB,GAEjC,IAAIo3D,EAAcp3D,EAAoB,QAClC+lF,EAAQ/lF,EAAoB,QAC5Bw3D,EAAMx3D,EAAoB,QAE1BU,EAAiBD,OAAOC,eACxB02I,EAAQ,GAERonU,EAAU,SAAUp2a,GAAM,MAAMA,GAEpCvpC,EAAOC,QAAU,SAAUoqI,EAAat+H,GACtC,GAAI4sD,EAAI4/E,EAAOlO,GAAc,OAAOkO,EAAMlO,GACrCt+H,IAASA,EAAU,IACxB,IAAI4oC,EAAS,GAAG01F,GACZu1U,IAAYjnZ,EAAI5sD,EAAS,cAAeA,EAAQ6zc,UAChDC,EAAYlnZ,EAAI5sD,EAAS,GAAKA,EAAQ,GAAK4zc,EAC3CG,EAAYnnZ,EAAI5sD,EAAS,GAAKA,EAAQ,QAAKxL,EAE/C,OAAOg4I,EAAMlO,KAAiB11F,IAAWuyC,GAAM,WAC7C,GAAI04X,IAAcrnZ,EAAa,OAAO,EACtC,IAAIQ,EAAI,CAAEz4D,QAAS,GAEfs/c,EAAW/9c,EAAek3D,EAAG,EAAG,CAAEj3D,YAAY,EAAMC,IAAK49c,IACxD5mZ,EAAE,GAAK,EAEZpkB,EAAOn0C,KAAKu4D,EAAG8mZ,EAAWC,QAOxB,KACA,SAAU9/c,EAAQC,EAASkB,GAEjC,aAYA,IAAIo9Q,EAAUp9Q,EAAoB,QAE9B6pY,EAAqB7pY,EAAoB,QAAQ6pY,mBACjDjyS,EAAe53F,EAAoB,QAAQ43F,aAC3CgnX,EAAU,UAEd9/c,EAAQwB,KAAOs+c,EAEf,IAAIn3b,EAAO3oB,EAAQ2oB,KAAO,UAE1B3oB,EAAQ06D,OAASolZ,EAEjB9/c,EAAQ26D,QAAU36D,EAAQ46D,UAAYk+B,EAAagnX,GAEnD,IAAI9zc,EAAahM,EAAQgM,WAAa,GACtCA,EAAW2c,GAAQ,CACfvE,QAAS,YAETC,KAAM,UACNI,SAAU,QAIdzkB,EAAQsoC,iBAAmBpnC,EAAoB,QAE/ClB,EAAQq4D,qBAAuBn3D,EAAoB,QAEnDlB,EAAQ4T,KAAO,SAAcnE,GAKzB,IAJA,IAAIoX,EAAapX,EAAGymB,YAChB6uC,EAAWt1D,EAAGisD,SACdqkZ,EAAal5b,EAAW4sB,UAAUqsa,GAE9B1+c,EAAI,EAAGA,EAAI2+c,EAAW1/c,OAAQe,IAAK,CACvC,IAAI4+c,EAAYD,EAAW3+c,GACvB09Q,EAAkBisH,EAAmBhmU,EAAU+6Y,EAASE,GACxDC,EAAUp5b,EAAWm5b,GAAWj5b,SAGhCk5b,IACAA,EAAU,IAAI3hM,EAAQ,CAClBxxQ,GAAIkzc,EACJ1kZ,SAAU7rD,EACV4iB,UAAWxL,EAAW83P,cAAcv2P,QAEpCvB,GAGJA,EAAWm5b,GAAWj5b,SAAWk5b,GAGrCA,EAAQrsc,KAAKkrQ,EAAiBj4P,EAAYpX,EAAGyZ,aAIrDlpB,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAG9D,IAFA,IAAImkZ,EAAiBnkZ,EAActoB,UAAUqsa,IAAY,GAEjD1+c,EAAI,EAAGA,EAAI8+c,EAAe7/c,OAAQe,IAAK,CAC3C,IAAI++c,EAAgBD,EAAe9+c,GAC/Bg/c,EAAarkZ,EAAcokZ,GAAep5b,UAE1C80C,EAAcskZ,IAAoBC,IAClCA,EAAW9gM,cAAc3tQ,SACzByuc,EAAWhhM,QAAQztQ,SACnByuc,EAAW/gM,gBAAgB1tQ,SAC3Byuc,EAAW3/Y,OAAO,WAAW9uD,SAC7Byuc,EAAW3/Y,OAAO,WAAW9uD,SAC7Byuc,EAAW3/Y,OAAO,WAAW9uD,aAQnC,KACA,SAAU5R,EAAQC,EAASkB,GAEjC,aAGA,IAAI2I,EAAU3I,EAAoB,QAC9BiC,EAASjC,EAAoB,QAAQ,GAErCm/c,EAAc,EACdC,EAAc,EACdC,EAAc,EAKlB,SAASC,EAAYhgd,EAAGC,EAAGslC,EAAK06a,EAAUC,GACxCh9c,KAAKlD,EAAIA,EACTkD,KAAKjD,EAAIA,EACTiD,KAAKqiC,IAAMA,EACXriC,KAAK+8c,SAAWA,EAChB/8c,KAAKg9c,SAAWA,EAIlB,SAASzjO,EAAMz8O,EAAGC,EAAG2T,EAAM2xB,GACzBriC,KAAKlD,EAAOA,EACZkD,KAAKjD,EAAOA,EACZiD,KAAK0Q,KAAOA,EACZ1Q,KAAKqiC,IAAOA,EASd,SAAS46a,EAAangd,EAAGC,GACvB,IAAIc,EACDf,EAAEA,EAAE,GAAKC,EAAED,EAAE,IACbA,EAAEA,EAAE,GAAKC,EAAED,EAAE,IACbA,EAAE4T,KAAO3T,EAAE2T,KACd,OAAG7S,IACAf,EAAE4T,OAASisc,IACZ9+c,EAAI4B,EAAO3C,EAAEA,EAAGA,EAAEC,EAAGA,EAAEA,GACpBc,GAAYA,EAEVf,EAAEulC,IAAMtlC,EAAEslC,KAGnB,SAAS66a,EAAUhkU,EAAM75I,GACvB,OAAOI,EAAOy5I,EAAKp8I,EAAGo8I,EAAKn8I,EAAGsC,GAGhC,SAAS89c,EAAS54c,EAAO64c,EAAO77c,EAAQlC,EAAGgjC,GAGzC,IAFA,IAAIttB,EAAK5O,EAAQslB,GAAG2xb,EAAO/9c,EAAG69c,GAC1Bpoc,EAAK3O,EAAQulB,GAAG0xb,EAAO/9c,EAAG69c,GACtBx/c,EAAEqX,EAAIrX,EAAEoX,IAAMpX,EAAG,CACvB,IAAIw7I,EAAOkkU,EAAM1/c,GAGbq/c,EAAW7jU,EAAK6jU,SAChBn/c,EAAIm/c,EAASpgd,OACjB,MAAMiB,EAAI,GAAK6B,EACX8B,EAAOw7c,EAASn/c,EAAE,IAClB2D,EAAOw7c,EAASn/c,EAAE,IAClByB,GAAK,EACPkF,EAAM/D,KACJ,CAACu8c,EAASn/c,EAAE,GACXm/c,EAASn/c,EAAE,GACXykC,IACHzkC,GAAK,EAEPm/c,EAASpgd,OAASiB,EAClBm/c,EAASv8c,KAAK6hC,GAGd,IAAI26a,EAAW9jU,EAAK8jU,SAChBp/c,EAAIo/c,EAASrgd,OACjB,MAAMiB,EAAI,GAAK6B,EACX8B,EAAOy7c,EAASp/c,EAAE,IAClB2D,EAAOy7c,EAASp/c,EAAE,IAClByB,GAAK,EACPkF,EAAM/D,KACJ,CAACw8c,EAASp/c,EAAE,GACXo/c,EAASp/c,EAAE,GACXykC,IACHzkC,GAAK,EAEPo/c,EAASrgd,OAASiB,EAClBo/c,EAASx8c,KAAK6hC,IAIlB,SAASg7a,EAAUnkU,EAAMpwG,GACvB,IAAIjrC,EAMJ,OAJEA,EADCq7I,EAAKp8I,EAAE,GAAKgsC,EAAKhsC,EAAE,GAChB2C,EAAOy5I,EAAKp8I,EAAGo8I,EAAKn8I,EAAG+rC,EAAKhsC,GAE5B2C,EAAOqpC,EAAK/rC,EAAG+rC,EAAKhsC,EAAGo8I,EAAKp8I,GAE/Be,IAEDA,EADCirC,EAAK/rC,EAAE,GAAKm8I,EAAKn8I,EAAE,GAChB0C,EAAOy5I,EAAKp8I,EAAGo8I,EAAKn8I,EAAG+rC,EAAK/rC,GAE5B0C,EAAOqpC,EAAK/rC,EAAG+rC,EAAKhsC,EAAGo8I,EAAKn8I,GAE3Bc,GAAKq7I,EAAK72G,IAAMyG,EAAKzG,KAG9B,SAASi7a,EAAWF,EAAO77c,EAAQywB,GACjC,IAAIurb,EAAWp3c,EAAQmF,GAAG8xc,EAAOprb,EAAOqrb,GACpCnkU,EAAOkkU,EAAMG,GACbP,EAAW9jU,EAAK8jU,SAChBpxc,EAAIoxc,EAASA,EAASrgd,OAAO,GACjCu8I,EAAK8jU,SAAW,CAACpxc,GACjBwxc,EAAMpvc,OAAOuvc,EAAS,EAAG,EACvB,IAAIT,EAAY9qb,EAAMl1B,EAAGk1B,EAAMj1B,EAAGi1B,EAAMqQ,IAAK,CAACz2B,GAAIoxc,IAItD,SAASQ,EAAWJ,EAAO77c,EAAQywB,GAEjC,IAAInf,EAAMmf,EAAMl1B,EAChBk1B,EAAMl1B,EAAIk1B,EAAMj1B,EAChBi1B,EAAMj1B,EAAI8V,EACV,IAAI4qc,EAAWt3c,EAAQk4K,GAAG++R,EAAOprb,EAAOqrb,GACpCtkU,EAAQqkU,EAAMK,GACdjiK,EAAQ4hK,EAAMK,EAAS,GAC3BjiK,EAAMwhK,SAAWjkU,EAAMikU,SACvBI,EAAMpvc,OAAOyvc,EAAU,GAIzB,SAAS9lD,EAAoBp2Z,EAAQ+rJ,GAQnC,IANA,IAAIqpF,EAAYp1O,EAAO5E,OACnBusa,EAAW57Q,EAAM3wJ,OAEjB+8O,EAAS,GAGLh8O,EAAE,EAAGA,EAAEi5O,IAAaj5O,EAC1Bg8O,EAAOl5O,KAAK,IAAI+4O,EACdh4O,EAAO7D,GACP,KACAi/c,EACAj/c,IAIJ,IAAQA,EAAE,EAAGA,EAAEwra,IAAYxra,EAAG,CAC5B,IAAIqd,EAAIuyI,EAAM5vJ,GACVZ,EAAIyE,EAAOwZ,EAAE,IACbhe,EAAIwE,EAAOwZ,EAAE,IACdje,EAAE,GAAKC,EAAE,GACV28O,EAAOl5O,KACL,IAAI+4O,EAAMz8O,EAAGC,EAAG8/c,EAAan/c,GAC7B,IAAI67O,EAAMx8O,EAAGD,EAAG8/c,EAAWl/c,IACrBZ,EAAE,GAAKC,EAAE,IACjB28O,EAAOl5O,KACL,IAAI+4O,EAAMx8O,EAAGD,EAAG+/c,EAAan/c,GAC7B,IAAI67O,EAAMz8O,EAAGC,EAAG6/c,EAAWl/c,IAKjCg8O,EAAOt1O,KAAK64c,GAQZ,IALA,IAAI1pW,EAAOmmI,EAAO,GAAG58O,EAAE,IAAM,EAAIqG,KAAK+R,IAAIwkO,EAAO,GAAG58O,EAAE,KAAOqG,KAAKw5B,IAAI,GAAI,IACtEu8G,EAAO,CAAE,IAAI4jU,EAAY,CAACvpW,EAAM,GAAI,CAACA,EAAM,IAAK,EAAG,GAAI,GAAI,GAAI,KAG/DhvG,EAAQ,GACCk1O,GAAL/7O,EAAE,EAAag8O,EAAO/8O,QAAQe,EAAE+7O,IAAa/7O,EAAG,CACtD,IAAIs0B,EAAQ0nN,EAAOh8O,GACfgT,EAAOshB,EAAMthB,KACdA,IAASisc,EACVQ,EAAS54c,EAAO20I,EAAM33I,EAAQywB,EAAMl1B,EAAGk1B,EAAMqQ,KACrC3xB,IAASmsc,EACjBS,EAAWpkU,EAAM33I,EAAQywB,GAEzBwrb,EAAWtkU,EAAM33I,EAAQywB,GAK7B,OAAOztB,EAhLTlI,EAAOC,QAAUq7Z,GAsLX,KACA,SAAUt7Z,EAAQC,EAASkB,GAEjC,IAAI09L,EAAgB19L,EAAoB,QAEpC29L,EAAaD,EAAQ,CAAC,siFACtBE,EAAaF,EAAQ,CAAC,2pFACtBO,EAAcP,EAAQ,CAAC,g1DACvBQ,EAAcR,EAAQ,CAAC,2wBAE3B5+L,EAAQw/L,WAAa,CACnBryJ,OAAU0xJ,EACVrjC,SAAUsjC,EACV9yL,WAAY,CACV,CAACxK,KAAM,WAAY4S,KAAM,QACzB,CAAC5S,KAAM,QAAS4S,KAAM,QACtB,CAAC5S,KAAM,KAAM4S,KAAM,QACnB,CAAC5S,KAAM,SAAU4S,KAAM,UAG3BpU,EAAQgL,WAAa,CACnBmiC,OAAUgyJ,EACV3jC,SAAU4jC,EACVpzL,WAAY,CACV,CAACxK,KAAM,WAAY4S,KAAM,QACzB,CAAC5S,KAAM,KAAM4S,KAAM,QACnB,CAAC5S,KAAM,SAAU4S,KAAM,WAOrB,KACA,SAAUrU,EAAQC,GAGxBD,EAAOC,QAAU,SAAkBwkB,EAAOE,GACtC,IAAI/P,EAAsB,kBAAV6P,EACZqlT,EAAoB,kBAARnlT,EAEZ/P,IAAOk1T,GACPnlT,EAAMF,EACNA,EAAQ,GACA7P,GAAOk1T,IACfrlT,EAAQ,EACRE,EAAM,GAGVF,GAAc,EACdE,GAAU,EACV,IAAI4J,EAAM5J,EAAIF,EACd,GAAI8J,EAAI,EACJ,MAAM,IAAInpB,MAAM,iCAGpB,IADA,IAAI3E,EAAI,IAAIuE,MAAMupB,GACTltB,EAAE,EAAGV,EAAE8jB,EAAOpjB,EAAEktB,EAAKltB,IAAKV,IAC/BF,EAAEY,GAAKV,EACX,OAAOF,IAKL,KACA,SAAUT,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QACzBq3B,EAAUr3B,EAAoB,QAC9Bkgd,EAAalgd,EAAoB,QACjCmgd,EAAWngd,EAAoB,QAC/Bogd,EAAapgd,EAAoB,QACjCuwC,EAAevwC,EAAoB,QACnCuW,EAAMvW,EAAoB,QAC1BoxC,EAAqBpxC,EAAoB,QAyC7C,SAASqgd,EAAa7xc,EAAOvN,EAAGwhD,EAAOh8B,EAAOC,GAC1C,IAAIk1N,EAAK/0K,EAAIC,EAAI5mE,EAEbspH,EAAO/mE,EAAMpzC,OAAO,IAAMb,EAAM2vN,aAEhC30G,EAAK/lG,SACL+lG,EAAO/mE,EAAMjzC,OAAO,YACfC,QAAQ,cAAc,IAG/B,IAAIszC,EAAOxsC,EAAIiuG,aAAagF,EAAM,OAAQ,kBACtC9yC,EAAWz1E,EAAEq/c,aACb/hO,EAAO,GAEX,IAAIr+O,EAAI,EAAGA,EAAIw2E,EAASv3E,OAAQe,IAC5B07O,EAAMllK,EAASx2E,GACf2mE,EAAKq5Y,EAAW,GAAItkO,EAAIxtO,EAAGqY,EAAMuQ,KACjC8vC,EAAKo5Y,EAAW,GAAItkO,EAAI7nO,EAAG2S,EAAMsQ,KACjCunN,EAAKv7O,KAAKm9c,EAASt5Y,EAAIC,EAAI80K,EAAI2kO,UAMnC,IAAIC,EAAe,IAAMjiO,EAAKp7O,KAAK,KAAO,IAC1CqmH,EAAK/hG,KAAK,KAAMjZ,EAAM2vN,aACtBp7K,EAAKt7B,KAAK,IAAK+4b,GAGnB,SAASC,EAAch6b,EAAOC,EAAO+7B,EAAO2pC,EAAMinS,EAAYG,GAC1D,IAAIktF,EAAY,SAAWrtF,EAAa,SACpCstF,EAAWl+Z,EAAMnzC,UAAU,IAAMoxc,GAAWv1c,KAAKqoX,GAErDmtF,EAASpxc,QAAQC,OAAO,QACnBC,QAAQixc,GAAW,GACnB/wc,MAAM,gBAAiB,sBAE5Bgxc,EAAS/wc,MAAK,SAASvP,GACnB,IAAI45Y,EAAW55Y,EACX+N,EAAI6rY,EAAS7rY,EACb2F,EAAIkmY,EAASlmY,EAEb8yD,EAAKq5Y,EAAW,GAAI9xc,EAAGqY,EAAMuQ,KAC7B8vC,EAAKo5Y,EAAW,GAAInsc,EAAG2S,EAAMsQ,KAE7B+rB,EAAO,IAAMo9Z,EAASt5Y,EAAIC,EAAImzU,EAAS5sT,WAEvCr6D,EAAKlkB,EAAGO,OAAO7M,MAEnBwwB,EAAGvL,KAAK,IAAKs7B,GACRpzC,MAAM,eAAgBsqY,EAAS/4X,OAC/BvR,MAAM,SAAUsqY,EAAShvY,OACzB0E,MAAM,OAAQ,WAGvBgxc,EAASj+Z,OAAOjyC,SAGpB,SAASmwc,EAAeryc,EAAIkY,EAAOC,EAAOlY,EAAOvN,EAAGwhD,EAAO78B,EAAQi7b,GAC/D,IAAIC,EAAYr+Z,EAAMnzC,UAAU,QAAUuxc,GAAY11c,KAAKya,GAE3Dk7b,EAAUvxc,QAAQC,OAAO,QACpBC,QAAQoxc,GAAY,GAEzB,IAAIE,EAAY,EACZC,EAAmB,GA6CvB,OA3CAF,EAAUlxc,MAAK,SAASmxF,EAAO7gG,GAG3B,IAAI0H,EACJ,GAA4B,SAAzBm5F,EAAM3U,KAAKn7B,UACVrpD,EAAcw4c,EAAW5xc,EAAOiY,EAAOC,EAAOq6E,EAAMg1B,GAAIh1B,EAAMi+F,SAC3D,CACH,IAAI7uI,GAAS4wC,EAAM3U,KAAKn7B,UAAY,KAAStrD,KAAKg8B,GAAK,IACvD/5B,EAAcw4c,EAAW5xc,EAAOiY,EAAOC,EAAOq6E,EAAMg1B,GAAI,CAACpwH,KAAK6qD,IAAIL,GAAQxqD,KAAK8qD,IAAIN,KAGnFjwD,IAEA8gd,EAAmB,CAAC7wZ,MAAOvoD,EAAYuoD,MAAO/sD,KAAMwE,EAAYxE,OAEpE,IAAIq2E,GAAasnB,EAAMo5S,WAAa,EAAI,GAAKvyY,EAAYxE,KAErD69c,EAAUnyc,EAAGO,OAAO7M,MACnBilB,KAAK,CACF,cAAegyD,EAAY,EAAI,QAAU,MACzC,aAAc,IAEjBp6E,KAAKg4B,EAAQrW,KAAM+/E,EAAM//E,MACzB/R,KAAK8xF,EAAM9xF,MACX5P,KAAKkxC,EAAalpB,gBAAiB9Y,GAEpCgpJ,EAAOlgI,EAAQ+qB,KAAK5/C,MAExBy+c,EAAQx5b,KAAK,YAEL,aAAe7f,EAAY/F,EAAE,GAAK,IAAM+F,EAAY/F,EAAE,GAAtD,YAEY+F,EAAYuoD,MAFxB,cAIe4wC,EAAM3U,KAAK80X,aAAeznY,EAAY,IAAoB,GAAd89E,EAAKvuI,OAAe,KAGvF+3b,EAAYp7c,KAAKqC,IAAI+4c,EAAWxpT,EAAKr2I,MAAQ6/E,EAAM3U,KAAK80X,iBAG5DJ,EAAUp+Z,OAAOjyC,SAEjBuwc,EAAiBD,UAAYA,EACtBC,EAGX,SAASG,EAAe5yc,EAAIk0C,EAAOj0C,EAAOvN,EAAG81B,EAAIK,EAAIgqb,EAAmBC,GACpE,IAAI/hd,EAAGC,EAAGw2H,EAAIipE,EAEVsiR,EAAO/qc,EAAIwhC,QAAQpyC,KAAKoC,IAAK,KAAMyG,EAAMlP,GACzCiid,EAAOhrc,EAAIwhC,QAAQpyC,KAAKqC,IAAK,KAAMwG,EAAMlP,GACzCkid,EAAOjrc,EAAIwhC,QAAQpyC,KAAKoC,IAAK,KAAMyG,EAAMjP,GACzCkid,EAAOlrc,EAAIwhC,QAAQpyC,KAAKqC,IAAK,KAAMwG,EAAMjP,GAE7CD,EAAI,IAAOgid,EAAOC,GAClBhid,EAAIiid,EACJzrV,EAAKvnH,EAAMkzc,MAAMpid,EAAGC,GAAG,GACvBy/L,EAAMxwL,EAAMmzc,YAAYrid,EAAGC,QACIH,IAA5Bgid,EAAkBjxZ,OACjB55C,EAAIuM,WAAWs+b,EAAmBhB,EAAW5xc,EAAOuoB,EAAIK,EAAI2+F,EAAIvnH,EAAMozc,YAAYtid,EAAGC,KAEzFsid,EAActzc,EAAIk0C,EAAOj0C,EAAOvN,EAAG80H,EAAIipE,EAAKxwL,EAAM8gE,MAAOv4C,EAAIK,EAAIgqb,EAAmB,WAEpF9hd,EAAIgid,EACJ/hd,EAAI,IAAOiid,EAAOC,GAClB1rV,EAAKvnH,EAAMkzc,MAAMpid,EAAGC,GAAG,GACvBy/L,EAAMxwL,EAAMozc,YAAYtid,EAAGC,QACIH,IAA5Biid,EAAkBlxZ,OACjB55C,EAAIuM,WAAWu+b,EAAmBjB,EAAW5xc,EAAOuoB,EAAIK,EAAI2+F,EAAIvnH,EAAMmzc,YAAYrid,EAAGC,KAEzFsid,EAActzc,EAAIk0C,EAAOj0C,EAAOvN,EAAG80H,EAAIipE,EAAKxwL,EAAMghE,MAAOz4C,EAAIK,EAAIiqb,EAAmB,WAhLxFxid,EAAOC,QAAU,SAAcyP,EAAIuC,EAAUgxc,EAAUC,GACnD,IAAIhrb,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MACdf,EAAapX,EAAGymB,YAChBgtb,EAAYr8b,EAAWslC,OAE3B10C,EAAIsoE,gBAAgBkjY,EAAaD,EAAU,SAASlyc,MAAK,SAASmQ,GAC9D,IAAIslV,EAAYv2V,EAAGO,OAAO7M,MACtBgtC,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MACZ6gE,EAAM7gE,EAAM8gE,MACZC,EAAM/gE,EAAMghE,MAEZyyY,EAAa1rc,EAAIiuG,aAAa6gP,EAAW,IAAK,cAC9C68G,EAAa3rc,EAAIiuG,aAAa6gP,EAAW,IAAK,cAC9C88G,EAAgB5rc,EAAIiuG,aAAa6gP,EAAW,IAAK,iBACjD+8G,EAAa7rc,EAAIiuG,aAAa6gP,EAAW,IAAK,cAElDA,EAAU11V,MAAM,UAAWnB,EAAMhE,SAEjCi2c,EAAc1pb,EAAIK,EAAI8qb,EAAY7yY,EAAK,IAAKA,EAAIokT,YAAY,GAC5DgtF,EAAc1pb,EAAIK,EAAI8qb,EAAY3yY,EAAK,IAAKA,EAAIkkT,YAAY,GAC5DgtF,EAAc1pb,EAAIK,EAAI6qb,EAAY5yY,EAAK,IAAKA,EAAIskT,iBAAiB,GACjE8sF,EAAc1pb,EAAIK,EAAI6qb,EAAY1yY,EAAK,IAAKA,EAAIokT,iBAAiB,GAIjE8sF,EAAc1pb,EAAIK,EAAI+qb,EAAe9yY,EAAK,aAAcA,EAAIwkT,gBAC5D4sF,EAAc1pb,EAAIK,EAAI+qb,EAAe5yY,EAAK,aAAcA,EAAIskT,gBAE5D,IAAIutF,EAAoBR,EAAeryc,EAAIwoB,EAAIK,EAAI5oB,EAAOghC,EAAK4ya,EAAY/yY,EAAI6qU,QAAS,WACpFmnE,EAAoBT,EAAeryc,EAAIwoB,EAAIK,EAAI5oB,EAAOghC,EAAK4ya,EAAY7yY,EAAI2qU,QAAS,WAExFinE,EAAe5yc,EAAI6zc,EAAY5zc,EAAOghC,EAAKzY,EAAIK,EAAIgqb,EAAmBC,GAEtEhB,EAAa7xc,EAAOghC,EAAKwya,EAAWjrb,EAAIK,OAgJhD,IAAIg0L,EAAch6K,EAAmBtqB,aACjC4yZ,GAAa,EAAItoY,EAAmBC,WAAa+5K,EAAe,EAEpE,SAASy2P,EAActzc,EAAIk0C,EAAOj0C,EAAOvN,EAAG80H,EAAIipE,EAAK5yG,EAAMr1D,EAAIK,EAAI4pb,EAAkBH,GACjF,IAAI11c,EAAO,GACRihF,EAAKnpC,MAAMh0C,MAAM9D,EAAKnI,KAAKopF,EAAKnpC,MAAMh0C,MACzC,IAAIozc,EAAY5/Z,EAAMnzC,UAAU,QAAUuxc,GAAY11c,KAAKA,GACvD0Q,EAASmlc,EAAiBD,UAE9BsB,EAAU9yc,QAAQC,OAAO,QACpBC,QAAQoxc,GAAY,GAGzBwB,EAAUzyc,MAAK,WACX,IAAIhI,EAAcw4c,EAAW5xc,EAAOuoB,EAAIK,EAAI2+F,EAAIipE,IAEO,IAApD,CAAC,QAAS,QAAQp6L,QAAQwnF,EAAKzoC,kBAC9B9nC,EAAS,GAIb,IAAIswN,EAAY//I,EAAKnpC,MAAMjiC,KAAKyC,KAChC5H,GAAUswN,EAAY//I,EAAKnpC,MAAMpnC,OAEjC,IAAIymc,EAAYtB,EAAiB7wZ,OAAS6wZ,EAAiB59c,KAAO,EAAI,IAAM,GACxEm/c,GAAaD,EAAY16c,EAAYuoD,MAAQ,KAAO,IACpDqyZ,EAAeD,EAAY,IAAMA,EAAY,IAE7Cvvb,EAAKlkB,EAAGO,OAAO7M,MAEnBwwB,EAAG/jB,KAAKm9E,EAAKnpC,MAAMh0C,MACd5P,KAAKkxC,EAAalpB,gBAAiB9Y,GAErCi0c,IACC3mc,IAAW00B,EAAaxe,UAAUiB,GAAM0mZ,GAAYtuN,EAAc+gB,EAAYtwN,GAGlFmX,EAAGvL,KAAK,YACA,aAAe7f,EAAY/F,EAAE,GAAK,IAAM+F,EAAY/F,EAAE,GAAtD,YACY+F,EAAYuoD,MADxB,iBAEiBt0C,EAAS,KAE7BpM,QAAQ,oBAAoB,GAC5BgY,KAAK,cAAe,UACpBpoB,KAAKg4B,EAAQrW,KAAMorE,EAAKnpC,MAAMjiC,SAGvCqhc,EAAU3/Z,OAAOjyC,WAMf,KACA,SAAU5R,EAAQC,EAASkB,GAEjC,aAwBAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChConC,iBAAkBpnC,EAAoB,QACtCwS,eAAgBxS,EAAoB,QACpCk3G,mBAAoBl3G,EAAoB,QACxCm3D,qBAAsBn3D,EAAoB,QAC1CyS,KAAMzS,EAAoB,QAAQyS,KAClC4tD,eAAgBrgE,EAAoB,QAAQqgE,eAC5C3tD,KAAM1S,EAAoB,QAAQ0S,KAClC6pX,UAAW,WACX5sX,MAAO3P,EAAoB,QAAQ2P,MACnC6wD,cAAexgE,EAAoB,QAAQwgE,cAC3CF,SAAUtgE,EAAoB,QAC9B2S,YAAa3S,EAAoB,QACjC4S,aAAc5S,EAAoB,QAClC21B,UAAW31B,EAAoB,QAE/BoS,WAAY,QACZ9R,KAAM,YACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,WAAY,YAAa,MAAO,MAAO,YAAa,WAAY,cAAe,cAC5FC,KAAM,KAQJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QAEzB0iB,EAAQ1iB,EAAoB,QAGhCnB,EAAOC,QAAU,SAAewnD,GAC5BA,EAAO12C,MAAK,SAASvP,GACjB,IAAImO,EAAQnO,EAAE,GAAGmO,MACb4vP,EAAO5vP,EAAM6vP,SAAW,GACxBH,EAAO1vP,EAAM2vP,SAAW,GAExBr8P,EAAIgN,EAAGO,OAAO7M,MAElBV,EAAEwN,UAAU,eACPK,MAAM,eAAgByuP,EAAKnlI,UAAY,MACvC55H,KAAKqjB,EAAM0G,OAAQg1O,EAAKnzP,OAE1BizP,EAAKY,cAAaZ,EAAOE,GAE5Bt8P,EAAEwN,UAAU,eACPK,MAAM,eAAgBuuP,EAAKjlI,UAAY,MACvC55H,KAAKqjB,EAAM0G,OAAQ80O,EAAKjzP,YAO/B,KACA,SAAUpM,EAAQC,EAASkB,GAEjC,IAAIyid,EAAezid,EAAoB,QACnC0id,EAAW1id,EAAoB,QAWnC,SAASyF,EAAQoa,EAAKolD,GAUpB,OATAA,EAAQA,GAAS,EAGjBplD,EAAI,GAAKla,KAAKF,SACdoa,EAAI,GAAKla,KAAKF,SACdoa,EAAI,GAAKla,KAAKF,SACdoa,EAAI,GAAKla,KAAKF,SACdg9c,EAAa5ic,EAAKA,GAClB6ic,EAAS7ic,EAAKA,EAAKolD,GACZplD,EAnBThhB,EAAOC,QAAU2G,GAyBX,KACA,SAAU5G,EAAQC,EAASkB,GAEjC,aAaA,IAAIotb,EAAW,GA0Df,SAAStwF,EAAmBp4V,GAC1B,IAAIlF,EAAI,GAQR,OAPAkF,IAAMA,EACFA,GAAGlF,IACC,MAAJkF,IAAgBlF,GAAK,IACjB,SAAJkF,IAAgBlF,GAAK,GACjB,UAAJkF,IAAgBlF,GAAK,GACjB,UAAJkF,IAAgBlF,GAAK,GACjB,WAAJkF,IAAgBlF,GAAK,GAClBA,EAhETV,EAAQsub,SAAYA,EACpBtub,EAAQuub,QAAa,WACrBvub,EAAQwub,SAAa,GAAIF,EAAS,EAGlCtub,EAAQ+lE,KAAO,SAASngE,GACtB,OAAQA,EAAI,IAAMA,EAAI,IAIxB5F,EAAQ4Y,IAAM,SAAShT,GACrB,IAAIglC,EAAOhlC,GAAM0ob,EAAS,EAC1B,OAAQ1ob,EAAIglC,GAAQA,GAItB5qC,EAAQiJ,IAAM,SAASqG,EAAG2F,GACxB,OAAOA,GAAM3F,EAAI2F,KAAO3F,EAAI2F,IAI9BjV,EAAQkJ,IAAM,SAASoG,EAAG2F,GACxB,OAAO3F,GAAMA,EAAI2F,KAAO3F,EAAI2F,IAI9BjV,EAAQyub,OAAS,SAAS7ob,GACxB,QAASA,EAAKA,EAAE,MAAUA,GAI5B5F,EAAQi2L,KAAO,SAASrwL,GACtB,IAAI7D,EAAGovD,EAKP,OAJApvD,GAAS6D,EAAI,QAAW,EAAGA,KAAO7D,EAClCovD,GAASvrD,EAAI,MAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EAC9CA,GAASvrD,EAAI,KAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EAC9CA,GAASvrD,EAAI,IAAW,EAAGA,KAAOurD,EAAOpvD,GAAKovD,EACvCpvD,EAAK6D,GAAK,GAInB5F,EAAQ0ub,MAAQ,SAAS9ob,GACvB,OAASA,GAAK,IAAc,EAAKA,GAAK,IAAa,EAAKA,GAAK,IAAY,EAChEA,GAAK,IAAW,EAAKA,GAAK,IAAU,EAAKA,GAAK,IAAS,EACvDA,GAAK,IAAQ,EAAKA,GAAK,IAAO,EAAKA,GAAK,GAAM,EAAI,GAI7D5F,EAAQyqJ,SAAW,SAAS7kJ,GAG1B,OAFAA,GAAUA,IAAM,EAAK,WACrBA,GAAS,UAAJA,IAAoBA,IAAM,EAAK,WACE,UAA7BA,GAAKA,IAAM,GAAK,aAA4B,IAevD5F,EAAQg+V,mBAAqBA,EAG7Bh+V,EAAQm2L,SAAW,SAASvwL,GAQ1B,OAPAA,GAAW,IAANA,IACHA,EACFA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACJA,EAAI,GAIb5F,EAAQ2ub,SAAW,SAAS/ob,GAM1B,OALAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACJA,GAAKA,IAAI,IAIlB5F,EAAQsI,OAAS,SAAS1C,GAKxB,OAJAA,GAAKA,IAAM,GACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAK,GACG,QAAWA,EAAK,GAG1B,IAAIgpb,EAAgB,IAAI7pb,MAAM,MAE9B,SAAU8pb,GACR,IAAI,IAAIztb,EAAE,EAAGA,EAAE,MAAOA,EAAG,CACvB,IAAIwE,EAAIxE,EAAGW,EAAIX,EAAG4B,EAAI,EACtB,IAAK4C,KAAO,EAAGA,EAAGA,KAAO,EACvB7D,IAAM,EACNA,GAAS,EAAJ6D,IACH5C,EAEJ6rb,EAAIztb,GAAMW,GAAKiB,EAAK,MARxB,CAUG4rb,GAGH5ub,EAAQmwD,QAAU,SAASvqD,GACzB,OAASgpb,EAA2B,IAAZhpb,IAAqB,GACpCgpb,EAAehpb,IAAM,EAAM,MAAS,GACpCgpb,EAAehpb,IAAM,GAAM,MAAS,EACpCgpb,EAAehpb,IAAM,GAAM,MAItC5F,EAAQ8ub,YAAc,SAASx/a,EAAG2F,GAahC,OAZA3F,GAAK,MACLA,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEf2F,GAAK,MACLA,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAER3F,EAAK2F,GAAK,GAInBjV,EAAQ+ub,cAAgB,SAASnpb,EAAGlD,GAMlC,OALAkD,EAAKA,IAAMlD,EAAK,WAChBkD,EAAuB,WAAlBA,EAAKA,IAAM,GAChBA,EAAuB,WAAlBA,EAAKA,IAAM,GAChBA,EAAuB,UAAlBA,EAAKA,IAAM,GAChBA,EAAuB,OAAlBA,EAAKA,IAAM,IACRA,GAAK,IAAO,IAKtB5F,EAAQgvb,YAAc,SAAS1/a,EAAG2F,EAAGlF,GAoBnC,OAnBAT,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GAEd2F,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACd3F,GAAM2F,GAAK,EAEXlF,GAAK,KACLA,EAAqB,YAAfA,EAAKA,GAAG,IACdA,EAAqB,WAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GACdA,EAAqB,YAAfA,EAAKA,GAAG,GAEPT,EAAKS,GAAK,GAInB/P,EAAQivb,cAAgB,SAASrpb,EAAGlD,GAMlC,OALAkD,EAAKA,IAAMlD,EAAW,WACtBkD,EAAsB,YAAjBA,EAAKA,IAAI,GACdA,EAAsB,WAAjBA,EAAKA,IAAI,GACdA,EAAsB,YAAjBA,EAAKA,IAAI,GACdA,EAAsB,MAAjBA,EAAKA,IAAI,IACNA,GAAG,IAAK,IAIlB5F,EAAQ+qJ,gBAAkB,SAASnlJ,GACjC,IAAIzD,EAAIyD,EAAKA,EAAI,EACjB,OAAQzD,EAAI,IAASA,IAAMA,GAAK,IAAQ67V,EAAmBp4V,GAAK,IAO5D,KACA,SAAU7F,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUo+b,EAEjB,IAAIylB,EAA2B3id,EAAoB,QAC/C4id,EAAkB5id,EAAoB,QACtC6id,EAAgB7id,EAAoB,QAExC,SAAS8id,EAAiBn5a,EAAO72B,GAC/B,IAAItP,EAAYmmC,EAAMxqC,OAClB4D,EAAO,CAAC,iBACRonC,EAAW,cAAgBR,EAAMxmC,KAAK,KAAO,IAAM2P,EAGvD/P,EAAKC,KACH,2BACE,UAAW2mC,EAAMxmC,OAAQ,KACzB,sBACA,2DACS,YAAV2P,GACD/P,EAAKC,KAAK,gBAMZ,IAFA,IAAI+/c,EAAW,GACXviS,EAAY,GACRtgL,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B6id,EAAS//c,KAAK,IAAM9C,GACpBsgL,EAAUx9K,KAAK,IAAM9C,GAEvB,IAAQA,EAAE,EAAGA,EAAG,GAAGsD,IAActD,EAC/B6id,EAAS//c,KAAK,IAAM9C,GACpBsgL,EAAUx9K,KAAK,IAAM9C,GAEvB,IAAQA,EAAE,EAAGA,EAAG,GAAGsD,IAActD,EAC/B6id,EAAS//c,KAAK,IAAM9C,GACpBsgL,EAAUx9K,KAAK,IAAM9C,GAEvB6id,EAAS//c,KAAK,IAAK,IAAK,KACxBw9K,EAAUx9K,KAAK,IAAK,KACpBD,EAAKC,KAAK,8BAA+B+/c,EAAS5/c,OAAQ,MAE1D,IAAI6/c,EAAU,GACd,IAAQ9id,EAAE,EAAGA,EAAG,GAAGsD,IAActD,EAC/B8id,EAAQhgd,KAAK,KAAO9C,EAAI,KAAOA,EAAI,KAGrC6C,EAAKC,KAAK,UAAWggd,EAAQ7/c,KAAK,KAAM,sBAAuB,IAAI,GAAGK,IAAY,EAAG,aACrF,IAAIy/c,EAAa,GACbC,EAAc,GACf,IAAI,GAAG1/c,IAAc,KACtBT,EAAKC,KAAK,cACVkgd,EAAcngd,GAEdA,EAAKC,KAAK,kBAEZ,IAAQ9C,EAAE,EAAGA,EAAE,IAAI,GAAGsD,KAActD,EAAG,CACrC,GAAG,IAAI,GAAGsD,GAAa,KACjBtD,EAAE,MAAO,EAAG,CACX+id,EAAW9jd,OAAS,GACrB+jd,EAAYlgd,KAAK,MAEnB,IAAImgd,EAAS,SAAWF,EAAW9jd,OACnC4D,EAAKC,KAAK,QAAU9C,IAAI,EAAI,IAAKijd,EAAQ,WAAY3iS,EAAUr9K,OAAQ,YACvE+/c,EAAc,CACZ,YAAaC,EAAQ,MAAO3iS,EAAUr9K,OAAQ,gBAEhD8/c,EAAWjgd,KAAKkgd,GAGpBA,EAAYlgd,KAAK,QAAY,IAAF9C,EAAS,KAMpC,IALA,IAAI6yL,EAAY,IAAIlvL,MAAML,GACtB4/c,EAAS,IAAIv/c,MAAML,GACnB6/c,EAAgB,IAAIx/c,MAAML,GAC1BinE,EAAO,IAAI5mE,MAAML,GACjB8/c,EAAiB,EACb9+c,EAAE,EAAGA,EAAEhB,IAAagB,EAC1BuuL,EAAUvuL,GAAK,GACf4+c,EAAO5+c,GAAK,GACZ6+c,EAAc7+c,GAAK,EACnBimE,EAAKjmE,GAAK,EAEZ,IAAQA,EAAE,EAAGA,EAAG,GAAGhB,IAAcgB,EAC/B,IAAI,IAAIG,EAAE,EAAGA,EAAEnB,IAAamB,EAAG,CAC7B,IAAItB,EAAImB,EAAK,GAAGG,EAChB,KAAGtB,EAAImB,MAGFtE,EAAG,GAAGmD,OAAUnD,EAAG,GAAGsE,GAAK,CAC9B,IAAIqgE,EAAO,EACR3kE,EAAG,GAAGmD,EACP+/c,EAAOz+c,GAAG3B,KAAK,IAAMK,EAAI,KAAOmB,IAEhC4+c,EAAOz+c,GAAG3B,KAAK,IAAMwB,EAAI,KAAOnB,GAChCwhE,GAAQA,GAEPA,EAAO,GACRkuH,EAAUpuL,GAAG3B,KAAK,KAAOwB,EAAI,KAAOnB,GACpCggd,EAAc1+c,IAAM,IAEpBouL,EAAUpuL,GAAG3B,KAAK,IAAMwB,EAAI,KAAOnB,GACnCggd,EAAc1+c,IAAM,GAEtB2+c,GAAkB,EAClB,IAAI,IAAInjd,EAAE,EAAGA,EAAEqD,IAAarD,EACvBA,IAAMwE,IAGNtB,EAAG,GAAGlD,EACPsqE,EAAKtqE,IAAM,EAEXsqE,EAAKtqE,IAAM,IAMrB,IAAIojd,EAAY,GAChB,IAAQ5+c,EAAE,EAAGA,EAAEnB,IAAamB,EAC1B,GAA2B,IAAxBouL,EAAUpuL,GAAGxF,OACdokd,EAAUvgd,KAAK,IAAM2B,EAAI,YACpB,CACL,IAAI6+c,EAAO,GACRH,EAAc1+c,GAAK,EACpB6+c,EAAOH,EAAc1+c,GAAK,KAClB0+c,EAAc1+c,GAAK,IAC3B6+c,EAAO,IAAMH,EAAc1+c,GAAK,MAElC,IAAI4pE,EAAgBwkH,EAAUpuL,GAAGxF,OAASmkd,EAA7B,GACTrzZ,EAAQ,GAAawa,EAAK9lE,GAAK2+c,EAAjB,GAClBC,EAAUvgd,KAAK,IAAM2B,EAAI,IAAMsrD,EAAQ,IAAMse,EAAS,KAAOwkH,EAAUpuL,GAAGxB,KAAK,KAAOqgd,EAAO,MAAQJ,EAAOz+c,GAAGxB,KAAK,KAAO,KAI/H+/c,EAAYlgd,KAAK,WAAYugd,EAAUpgd,OAAQ,MAC7C,UAEJJ,EAAKC,KAAK,OACPigd,EAAW9jd,OAAS,GACrB+jd,EAAYlgd,KAAK,MAInB,IAAIuoC,EAAW,GACf,IAAQrrC,EAAE,EAAGA,EAAG,GAAIsD,EAAU,IAAOtD,EACnCqrC,EAASvoC,KAAK,IAAM9C,GAEtBqrC,EAASvoC,KAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAChDD,EAAKC,KAAK,0BAA2BuoC,EAASpoC,OAAQ,MAEtD,IAAIouG,EAASqxW,EAAgBp/c,EAAU,GACvCT,EAAKC,KAAK,iBACRuuG,EAAOr2D,KAAI,SAASlT,GAClB,MAAO,IAAMA,EAAEkT,KAAI,SAASx2C,GAC1B,MAAO,IAAMA,KACV,OACJvB,OAAQ,iBACXouG,EAAOr2D,KAAI,SAASlT,GAClB,IAAIzqB,EAAIyqB,EAAE7jC,QAEV,OADAoZ,EAAE0xC,UACK,IAAM1xC,EAAE29B,KAAI,SAASx2C,GAC1B,MAAO,IAAMA,KACV,OACJvB,OACH,kBAAmBgnC,EAAU,sHAAuHA,EAAU,KAEhK,IAAQjqC,EAAE,EAAGA,EAAE+id,EAAW9jd,SAAUe,EAClC6C,EAAKC,KAAKigd,EAAW/id,GAAGiD,KAAK,KAI/B,IAAIF,EAAO,IAAIC,SAAS,aAAcH,EAAKI,KAAK,KAChD,OAAOF,EAAK0/c,GAId,SAASc,EAAOn7a,EAAOwqG,GAKrB,IAJA,IAAIypQ,EAAKsmE,EAAcv6a,EAAOwqG,GAC1BtxI,EAAI+6Y,EAAGp9Y,OACPukd,EAAO,IAAI7/c,MAAMrC,GACjBmid,EAAO,IAAI9/c,MAAMrC,GACbtB,EAAE,EAAGA,EAAEsB,IAAKtB,EAClBwjd,EAAKxjd,GAAK,CAAEq8Y,EAAGr8Y,IACfyjd,EAAKzjd,GAAK,CAAEA,GAEd,MAAO,CACL4M,UAAW42c,EACX38c,MAAO48c,GAIX,IAAI3pV,EAAQ,GAEZ,SAASkjU,EAAY50Z,EAAMwqG,GACzB,GAAGxqG,EAAM9kC,WAAa,EACpB,MAAO,CAAEsJ,UAAW,GAAI/F,MAAO,IAC1B,GAAuB,IAApBuhC,EAAM9kC,UACd,OAAOigd,EAAOn7a,EAAOwqG,GAEvB,IAAI7oG,EAAU3B,EAAMqB,MAAMxmC,OAAS,IAAMmlC,EAAMx1B,MAC3C7P,EAAO+2H,EAAM/vF,GACb6oG,GAAUA,GAAU,EAIxB,OAHI7vI,IACFA,EAAO+2H,EAAM/vF,GAAW64a,EAAiBx6a,EAAMqB,MAAOrB,EAAMx1B,QAEvD7P,EAAKqlC,EAAMwqG,KAKd,KACA,SAAUj0I,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBq3B,EAAUr3B,EAAoB,QAC9B0iB,EAAQ1iB,EAAoB,QAEhCnB,EAAOC,QAAU,SAAeyP,EAAIwR,EAAIoT,GACpC,IAAIrxB,EAAIqxB,GAAYrkB,EAAGO,OAAOd,GAAIe,UAAU,eAAeA,UAAU,WAErExN,EAAE6N,MAAM,WAAW,SAAStP,GACxB,OAAOA,EAAE,GAAGmO,MAAMhE,WAGtB1I,EAAE8N,MAAK,SAASvP,GACZ,IAAImO,EAAQnO,EAAE,GAAGmO,MAEjBM,EAAGO,OAAO7M,MAAM8M,UAAU,QAAQM,MAAK,SAAS+nB,GAC5C,IAAGA,EAAG7P,MAAN,CAEA,IAAI87b,EAAUp1c,EAAMmpB,EAAGja,KAAKqa,KAC5BjpB,EAAGO,OAAO7M,MACLmN,MAAM,OAAQ,QACdtQ,KAAKqjB,EAAM0G,OAAQw6b,EAAQ34c,OAC3B5L,KAAKg4B,EAAQW,SAAU4rb,EAAQ3rb,KAAM2rb,EAAQ1ic,OAE7CvR,MAAM,UAAWnB,EAAM0pB,iBAAmBP,EAAGQ,SAAW,GAAM,YAQzE,KACA,SAAUt5B,EAAQC,EAASkB,GAEjC,aAGA,IAAIsnI,EAAYtnI,EAAoB,QAChCmI,EAAOnI,EAAoB,QAC3B+ia,EAAa/ia,EAAoB,QACjCiO,EAAOjO,EAAoB,QAC3B8ia,EAAS9ia,EAAoB,QAC7B0iQ,EAAU1iQ,EAAoB,QAC9BynQ,EAAMznQ,EAAoB,QAC1B05H,EAAU+tI,EAAI/tI,QACdE,EAAU6tI,EAAI7tI,QAElB/6H,EAAOC,QAAU+kd,EAEjB,IAAIv8C,EAAU,CAIb,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,GACjB,EAAE,EAAG,EAAG,GAAI,EAAG,EAAG,GAElB,EAAE,EAAG,EAAG,GAAI,EAAG,EAAG,GAClB,EAAE,EAAG,EAAG,EAAG,EAAG,EAAG,GACjB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAGhB,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GACjB,CAAC,EAAG,GAAI,EAAG,EAAG,GAAI,GAClB,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAEjB,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GACjB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAGjB,EAAE,EAAG,GAAI,EAAG,EAAG,EAAG,GAClB,EAAE,EAAG,GAAI,EAAG,EAAG,GAAI,GACnB,EAAE,EAAG,EAAG,EAAG,EAAG,GAAI,GAElB,EAAE,EAAG,EAAG,EAAG,EAAG,GAAI,GAClB,EAAE,EAAG,EAAG,EAAG,EAAG,EAAG,GACjB,EAAE,EAAG,GAAI,EAAG,EAAG,EAAG,GAGlB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GACjB,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,GAElB,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,GAClB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,GAAI,EAAG,EAAG,EAAG,EAAG,GAGjB,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,GACjB,CAAC,EAAG,EAAG,GAAI,GAAI,EAAG,GAClB,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,GAEjB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAChB,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,GACjB,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,GAGjB,CAAC,GAAI,EAAG,GAAI,EAAG,EAAG,GAClB,CAAC,GAAI,EAAG,GAAI,GAAI,EAAG,GACnB,CAAC,GAAI,EAAG,EAAG,GAAI,EAAG,GAElB,CAAC,GAAI,EAAG,EAAG,EAAG,EAAG,GACjB,CAAC,GAAI,EAAG,GAAI,EAAG,EAAG,GAClB,CAAC,GAAI,EAAG,EAAG,GAAI,EAAG,IAInB,SAASu8C,EAAS79S,EAAMp7J,GAWvB,GAVoB,oBAATo7J,GACLp7J,IAAWA,EAAU,IAC1BA,EAAQo7J,KAAOA,GAGfp7J,EAAUo7J,EAEPp7J,EAAQzL,SAAUyL,EAAQkC,UAAYlC,GAC1Co7J,EAAOp7J,EAAQo7J,MAEVA,EAAKojN,aAAa,0BACtB,MAAMnlX,MAAM,sEAIb,IAAmB6/c,EAAYngD,EAAgBE,EAAqBI,EAAa8/C,EAAaC,EAA1Fp6c,EAAKo8J,EAAKs6C,IACZ3tH,EAAW,CACV1nF,MAAO,QACP0oJ,QAAS,EACTrpJ,UAAW,EACXE,QAAS,EACT87B,SAAU,KACV1uB,MAAO,KACPiE,OAAQ,EACR2uD,MAAO,EACPphE,OAAQ,KACR0D,UAAW,GACXuvD,OAAQ,IACN9V,EAAS,GAyId,OAtIA09W,EAAcj+P,EAAKj8J,OAAO,CACzBs4M,MAAO,UACPnvM,KAAM,QACN/H,KAAM,IAAI6H,WAAW,KAGtB2wZ,EAAiB39P,EAAKj8J,OAAO,CAC5Bs4M,MAAO,UACPnvM,KAAM,QACN/H,KAAM,IAAI6H,WAAW,KAGtB6wZ,EAAsB79P,EAAKj8J,OAAO,CACjCs4M,MAAO,UACPnvM,KAAM,QACN/H,KAAM,IAAI6H,WAAW,KAGtB+wc,EAAc/9S,EAAKj8J,OAAO,CACzBs4M,MAAO,UACPnvM,KAAM,QACN/H,KAAM,IAAI6H,WAAW,KAGtBgxc,EAAah+S,EAAKj8J,OAAO,CACxBs4M,MAAO,SACPnvM,KAAM,QACN/H,KAAMm8Z,IAGP/7Z,EAAOX,GAGPk5c,EAAa99S,EAAK,CACjB/8H,KAAM,o7BAENoxH,KAAM,iMAENruJ,SAAU,CACT4L,MAAOouJ,EAAKhiD,KAAK,SACjB15G,UAAW07J,EAAKhiD,KAAK,aACrB2vC,QAASqS,EAAKhiD,KAAK,WACnBx5G,QAASw7J,EAAKhiD,KAAK,WACnB/+C,MAAO+gG,EAAKhiD,KAAK,SACjBg3G,UAAWh1D,EAAKhiD,KAAK,aACrBy/S,WAAYz9P,EAAKhiD,KAAK,cACtB0/S,eAAgB19P,EAAKhiD,KAAK,kBAC1B19E,SAAU,SAAUhmB,EAAK0jG,GAAQ,MAAO,CAACA,EAAK19E,SAASl4B,EAAG41G,EAAK19E,SAASvyB,EAAGuM,EAAI+jM,cAAe/jM,EAAIgkM,kBAGnGx5M,WAAY,CAEXG,MAAO,CACNlB,OAAQk6Z,EACRpoZ,OAAQ,SAAUyE,EAAK0jG,GAAQ,OAAqB,EAAdA,EAAKnoG,QAC3C0kW,QAAS,GAEV/2W,SAAU,CACTO,OAAQ45Z,EACR9nZ,OAAQ,SAAUyE,EAAK0jG,GAAQ,OAAqB,EAAdA,EAAKnoG,QAC3C0kW,QAAS,GAEV0jG,cAAe,CACdl6c,OAAQ85Z,EACRhoZ,OAAQ,SAAUyE,EAAK0jG,GAAQ,OAAqB,EAAdA,EAAKnoG,QAC3C0kW,QAAS,GAEV3iW,MAAO,CACN7T,OAAQg6c,EACRloc,OAAQ,SAAUyE,EAAK0jG,GAAQ,OAAqB,GAAdA,EAAKnoG,QAC3C0kW,QAAS,GAIV9mS,UAAW,CACV1vE,OAAQi6c,EACRv7a,OAAQ,GACR5sB,OAAQ,GAET+3I,WAAY,CACX7pJ,OAAQi6c,EACRv7a,OAAQ,GACR5sB,OAAQ,GAETqoc,UAAW,CACVn6c,OAAQi6c,EACRv7a,OAAQ,GACR5sB,OAAQ,KAIV6qK,UAAW,YAEXlwF,MAAO,CACNh2D,QAAQ,EACRv1B,MAAO,CAAC,EAAE,EAAE,EAAE,GACdo6M,SAAU,CACTv9M,IAAK,MACL8iE,MAAO,OAERyN,KAAM,CACL4sI,OAAQ,YACRC,OAAQ,sBACRC,SAAU,sBACVC,SAAU,QAIZpvC,MAAO,CACNx1I,QAAQ,GAGTggL,QAAS,CACRhgL,QAAQ,EACR29H,IAAK6H,EAAKhiD,KAAK,aAEhB19E,SAAU0/H,EAAKhiD,KAAK,YACpBmxH,SAAS,EAET+tI,UAAWl9M,EAAKhiD,KAAK,SACrBx5C,MAAO88V,EAAQnoa,SAIhB2ja,EAAO58P,EAAS,CACf36J,OAAQA,EACRO,KAAMA,EACN2pB,QAASA,EACTuwI,KAAMA,EACNp8J,GAAIA,EACJuW,OAAQvW,EAAGuW,OACXomC,OAAQA,IAGF2/G,EAEP,SAASA,EAAS/4I,GAEbA,EACH5hB,EAAO4hB,GAIU,OAATA,GACRsI,IAGD3pB,IAKD,SAASA,EAAMlB,GACd,GAAuB,kBAAZA,EAAwB,OAAOu5c,EAAUv5c,GAGhDA,IAAY/G,MAAM0J,QAAQ3C,KAAYA,EAAU,CAACA,IAGrDo7J,EAAKqjN,WAGL9iU,EAAOmQ,SAAQ,SAAU50D,EAAG5B,GACtB4B,IAED8I,IACEA,EAAQ1K,GACN4B,EAAEgK,MAAO,EADGhK,EAAEgK,MAAO,GAKxBhK,EAAEgK,KAKPq4c,EAAUjkd,GAJT4B,EAAEgK,MAAO,MASZ,SAASq4c,EAAWrid,GACF,kBAANA,IAAkBA,EAAIykD,EAAOzkD,IAC/B,MAALA,GAEEA,GAAKA,EAAE0oE,OAAS1oE,EAAEmJ,OAASnJ,EAAE0I,SAAW1I,EAAEgL,WAAahL,EAAEgL,UAAU3N,OAAS,IAElF2C,EAAE6mW,WAAa,CACd7mW,EAAEmjE,MAAM,GAAKnjE,EAAEwkC,SAASplB,MACxBpf,EAAEmjE,MAAM,GAAKnjE,EAAEwkC,SAAStd,QAGzB86b,EAAWhid,GAEPA,EAAEg6T,OAASh6T,EAAEg6T,MAAMh6T,IAGxB,SAASyJ,EAAQX,GAChB,GAAKA,EAAL,CAGsB,MAAlBA,EAAQzL,OACe,kBAAfyL,EAAQ,KAAmBA,EAAU,CAAC,CAACkC,UAAWlC,KAIpD/G,MAAM0J,QAAQ3C,KAAYA,EAAU,CAACA,IAG/C,IAAIusN,EAAa,EAAGitP,EAAa,EAoIjC,GAlIAl+S,EAAQ3/G,OAASA,EAAS37C,EAAQswC,KAAI,SAAUtwC,EAAS1K,GACxD,IAAI8Q,EAAQu1C,EAAOrmD,GAEnB,OAAK0K,GACuB,oBAAZA,EAA0BA,EAAU,CAACkxT,MAAOlxT,GAC7B,kBAAfA,EAAQ,KAAmBA,EAAU,CAACkC,UAAWlC,IAGjEA,EAAUqD,EAAKrD,EAAS,CACvBK,MAAO,oBACP0oJ,QAAS,+BACTrpJ,UAAW,4CACXE,QAAS,gBACToN,MAAO,gBACP0uB,SAAU,mBACV+1B,OAAQ,eACRvvD,UAAW,mCAGPkE,IACJu1C,EAAOrmD,GAAK8Q,EAAQ,CACnBpF,GAAI1L,EACJ+kE,MAAO,KACP+1J,UAAW,KACXyoM,WAAY,KACZC,eAAgB,KAChB53Z,MAAM,GAEPlB,EAAUk4Z,EAAO,GAAInwU,EAAU/nF,IAGhCm4Z,EAAW/xZ,EAAOpG,EAAS,CAAC,CAC3BN,UAAW,SAAU5F,GAAK,MAAY,IAAJA,GAClCivJ,QAAS,SAAUjvJ,GAAK,MAAY,IAAJA,GAChC8F,QAASopB,WACTyoC,OAAQ,SAAUA,GAIjB,OAHAA,EAASqmM,EAAQrmM,GAEjB+nZ,GAAc/nZ,EAAOl9D,OACdk9D,GAERvvD,UAAW,SAAUA,EAAWmyF,GAQ/B,OAPAnyF,EAAY41P,EAAQ51P,EAAW,WAC/BmyF,EAAMz0B,MAAQ7kE,KAAK2N,MAAMxG,EAAU3N,OAAS,GAC5C8/F,EAAM71F,OAASk+H,EAAUx6H,EAAW,GACpCmyF,EAAMpjF,OAASs7M,EAEfA,GAAcl4H,EAAMz0B,MAEb19D,IAEN,CACF7B,MAAO,SAAU8B,EAAQkyF,GACxB,IAAIz0B,EAAQy0B,EAAMz0B,MAKlB,GAHKz9D,IAAUA,EAAS,gBAGnBlJ,MAAM0J,QAAQR,IAAgC,kBAAdA,EAAO,GAAiB,CAC5D,IAAI9B,EAAQ8B,EACZA,EAASlJ,MAAM2mE,GACf,IAAK,IAAItqE,EAAI,EAAGA,EAAIsqE,EAAOtqE,IAC1B6M,EAAO7M,GAAK+K,EAId,GAAI8B,EAAO5N,OAASqrE,EAAS,MAAMvmE,MAAM,qBAKzC,IAHA,IAAIwnc,EAAY,IAAIz4b,WAAmB,EAARw3D,GAGtB+pW,EAAM,EAAGA,EAAM/pW,EAAO+pW,IAAO,CACrC,IAAI/0a,EAAI2I,EAAK4E,EAAOwna,GAAM,SAC1Bk3B,EAAU59b,IAAIrO,EAAS,EAAN+0a,GAGlB,OAAOk3B,GAGR7zb,MAAO,SAAUA,EAAOqnF,EAAOr0F,GAC9B,IAAIxB,EAAS61F,EAAM71F,OASnB,OARKwO,IAASA,EAAQxO,GAEtB61F,EAAMh6B,MAAQ,CAAC,GAAKrtD,EAAM,GAAKA,EAAM,IAAK,GAAKA,EAAM,GAAKA,EAAM,KAChEqnF,EAAM+7H,UAAY,EAAEpjN,EAAM,IAAKA,EAAM,IAErCqnF,EAAMwkU,WAAa7pS,EAAQ36B,EAAMh6B,OACjCg6B,EAAMykU,eAAiB9pS,EAAQ36B,EAAM+7H,WAE9BpjN,GAGR0uB,SAAU,SAAU0/X,GACnB,IAAI1/X,EA8BJ,OA5BIziC,MAAM0J,QAAQy4Z,GACjB1/X,EAAW,CACVl4B,EAAG43Z,EAAG,GACNjyZ,EAAGiyZ,EAAG,GACN9kZ,MAAO8kZ,EAAG,GAAKA,EAAG,GAClBh9Y,OAAQg9Y,EAAG,GAAKA,EAAG,IAGZA,GACR1/X,EAAW,CACVl4B,EAAG43Z,EAAG53Z,GAAK43Z,EAAGpyZ,MAAQ,EACtBG,EAAGiyZ,EAAGjyZ,GAAKiyZ,EAAGl0Y,KAAO,GAGlBk0Y,EAAGnyZ,MAASyyB,EAASplB,MAAQ8kZ,EAAGnyZ,MAAQyyB,EAASl4B,EAC9Ck4B,EAASplB,MAAQ8kZ,EAAGvoZ,GAAKuoZ,EAAG9kZ,OAAS,EAExC8kZ,EAAGn0Y,OAAUyU,EAAStd,OAASg9Y,EAAGn0Y,OAASyU,EAASvyB,EACjDuyB,EAAStd,OAASg9Y,EAAGh1W,GAAKg1W,EAAGh9Y,QAAU,GAG9Csd,EAAW,CACVl4B,EAAG,EAAG2F,EAAG,EACTmN,MAAOtX,EAAG0C,mBACV0c,OAAQpf,EAAG2C,qBAIN+5B,MAIFt1B,GA5HgBA,KA+HpBmmN,GAAcitP,EAAY,CAC7B,IAAIh3b,EAAMm5B,EAAOm7C,QAAO,SAAU6rG,EAAKv8L,EAAO9Q,GAC7C,OAAOqtM,GAAOv8L,EAAQA,EAAMw5D,MAAQ,KAClC,GAEC6/X,EAAe,IAAI5lG,aAAmB,EAANr3U,GAChCq+a,EAAY,IAAIz4b,WAAiB,EAANoa,GAC3Bi3b,EAAY,IAAIz9b,aAAmB,EAANwG,GAEjCm5B,EAAOmQ,SAAQ,SAAU1lD,EAAO9Q,GAC/B,GAAK8Q,EAAL,CACA,IAAIlE,EAAYkE,EAAMlE,UAClB09D,EAAQx5D,EAAMw5D,MACd3uD,EAAS7K,EAAM6K,OACf5Q,EAAQ+F,EAAM/F,MACdoxD,EAASrrD,EAAMqrD,OACdmO,IAELihY,EAAU59b,IAAI5C,EAAgB,EAAT4Q,GACrBwoc,EAAUx2c,IAAIwuD,EAAiB,EAATxgD,GACtBwub,EAAax8b,IAAIf,EAAoB,EAAT+O,QAG7B8nZ,EAAejqS,EAAQ2wU,IACvBxmC,EAAoBjqS,EAAQywU,IAC5BpmC,EAAYwnC,GACZsY,EAAYM,KAKd,SAAS5ub,IACRkuY,EAAeluY,UACfouY,EAAoBpuY,UACpBwuY,EAAYxuY,UACZsub,EAAYtub,UACZuub,EAAWvub,aAQP,KACA,SAAU52B,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkB,EAAoB,OAApBA,GAAgC6D,MAAMgpG,KAAO7sG,EAAoB,SAK5E,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAYAnB,EAAOC,QAAU,CAGbwld,KAAM,IAGN7vE,eAAgB,GAGhB1gU,GAAI,EACJC,GAAI,EAGJuwY,YAAa,GACbC,WAAY,KAMV,KACA,SAAU3ld,EAAQC,EAASkB,GAEjC,aAWAlB,EAAQg4Z,uBAAyB,SAAStxY,EAAY2H,GAGlD,IAFA,IAAI0uB,EACA4oa,EACIvkd,EAAI,EAAGA,EAAIslB,EAAWrmB,OAAQe,IAAK,CAEvC,GADA27C,EAAKr2B,EAAWtlB,GACb27C,IAAO1uB,EAAM,MACZ0uB,EAAGs6S,iBAAiC,IAAft6S,EAAG3X,UAC5Bugb,EAAoB5oa,EAAGs6S,gBAE3B,IAAIkhE,EAAyBotD,EACzB,SAASvkd,GAAI,OAAOukd,EAAkBvkd,IACtC,SAASA,GAAI,MAAO,CAACA,IACzB,OAAOm3Z,IAML,KACA,SAAUx4Z,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bo0F,EAAwBp0F,EAAoB,QAC5Cu5D,EAAiBv5D,EAAoB,QAAQu5D,eAE7C5oB,EAAY3wC,EAAoB,QAChConC,EAAmBpnC,EAAoB,QAEvC09D,EAAY/sB,EAAU+sB,UAY1B,SAASgnZ,EAAkBC,EAAaC,EAAclya,EAAQvlB,GAC1D,IAAI6tC,EAAczB,EAAepsC,EAAK9G,SAAU,MAAO8G,EAAKvhB,IACxDk/G,EAAe9vD,EAAY9f,KAAI,SAASj6C,GAAK,OAAOA,EAAEs0F,kBAEtD8tH,EAAa3wK,EAAO,cACpBgjM,EAAQhjM,EAAO,SACfmya,EAAcl0a,EAAUktB,cAAc63K,GAEtCz3K,EAAWvrB,EAAO,kBAAmBmya,EAAY5mZ,UACjD6mZ,EAAcF,EAAaG,aAA4B,eAAb9mZ,EAG3C6mZ,IAAapvO,EAAQkvO,EAAalvO,MAAQ,OAE7C,IAAIsvO,EAAWJ,EAAaK,UAAuB,UAAVvvO,EACrCwvO,EAAUN,EAAaO,UAA0C,IAA/BlnZ,EAASr5D,QAAQ,SACnDwgd,EAAYR,EAAaS,aAAe10a,EAAUgtB,YAAYM,GAElE,IAA2B,IAAxB0mZ,EAAY5yc,QAAmB,CAI9B,IAAI88J,EAAct4J,EAAIoiH,WAAW,GAAIisV,EAAaz1S,WAGlDN,EAAYgnE,gBAAiB,EAC7BhnE,EAAY4nE,eAAgB,EAC5B5nE,EAAYkoE,WAAY,EACxBloE,EAAYunE,WAAY,EACxBvnE,EAAYmnE,UAAW,EACvBnnE,EAAYqnE,WAAY,EACxBrnE,EAAYynE,YAAa,EACzBznE,EAAY+nE,cAAe,EACxB/nE,EAAYx/E,UAASw/E,EAAYx/E,QAAQ/9B,UAAW,GACpDu9G,EAAYr/E,UAASq/E,EAAYr/E,QAAQl+B,UAAW,GAGvDszZ,EAAaz1S,UAAYN,EAK7B,IAHA,IAEIxrJ,EAFAtR,EAAU2gC,EAAO,WAGbxyC,EAAI,EAAGA,EAAIw9D,EAAUv+D,OAAQe,IAAK,CACtC,IAEIold,EAFAzyB,EAAWn1X,EAAUx9D,GACrBqld,EAAY,CAAC,GAAI,IAAIrld,GAGzB,GAAG8kd,EACCM,EAAYT,EAAYhyB,EAAW,aAChC,CACH,IAAI2yB,EAAY70a,EAAUkiZ,EAAW,QACjC4yB,GAASD,EAAUvnZ,IAAaunZ,EAAU,MAAQ,EAClDxpM,EAAMtpO,EACN,uBAAyBmgZ,EAAS1gb,OAAO,EAAG,GAC5C0yc,EAAY3mZ,WAAWh+D,IAE3Bold,EAAY,CAACtpM,EAAMypM,EAAOzpM,EAAMypM,GAGpC,IAAI7tc,EAAQ86B,EAAOmgZ,EAAW,SAAUyyB,GACxC5ya,EAAOmgZ,EAAW,UAClBngZ,EAAOmgZ,EAAW,SAAU0yB,GAE5Blic,EAAOqvB,EAAOmgZ,EAAW,cAAc9gb,QAAkB3S,GACtDikB,IACCqvB,EAAOmgZ,EAAW,cAClBngZ,EAAOmgZ,EAAW,eAItB+xB,EAAa/xB,GAAUvjW,IAAM,CACzBp8E,KAAM,SACNkpB,IAAKy2Z,EAAS1ub,MAAM,EAAG,GACvBmxF,cAAew1B,EACfrwF,SAAUlkB,EAAIvN,SACdmd,IAAK5P,EAAIvN,SACT0yB,IAAKnlB,EAAIvN,SACTgpC,WAAW,EACXp6B,MAAOA,EAAMzT,QACb0T,GAAI,EACJ82B,OAAQ,IAIhB,IAAI+2a,EAAWd,EAAav1X,QAAQz3E,MAChC+tc,EAAWf,EAAap1X,QAAQ53E,MAGhCguc,EAAOF,EAAS,GAChBG,EAAOH,EAAS,GACjBE,EAAO,GAAKC,EAAO,IAAGA,GAAQ,KAEjC,IACIC,EAmBAC,EACAC,EArBAC,GAAaL,EAAOC,GAAQ,EAGhC,IAAIf,EAAa,CACb,IAAIoB,EAAiBlB,EAAWH,EAAY3mZ,WAAa,CAAC+nZ,EAAW,EAAG,GAExEH,EAAUpza,EAAO,0BAA2Bwza,EAAe,IAC3Dxza,EAAO,0BAA2Bwza,EAAe,IACjDxza,EAAO,2BAA4Bwza,EAAe,IAElD7ic,EAAOqvB,EAAO,kBAAmBsya,GAAYjzc,GAC1CsR,IACCqvB,EAAO,kBACPA,EAAO,mBAGXrvB,EAAOqvB,EAAO,cAAc3gC,QAAkB3S,GAC3CikB,GAAMqvB,EAAO,cAoBpB,GAdGoya,GAICiB,GAAiB,KACjBC,EAAgB,OAEhBD,EAAgBf,EAAWiB,EAAYH,EACvCE,GAAiBL,EAAS,GAAKA,EAAS,IAAM,GAGlDjza,EAAO,aAAcqza,GACrBrza,EAAO,aAAcsza,GAElBd,EAAS,CACR,IAAIiB,EAAoBtB,EAAYxmZ,eAAiB,CAAC,EAAG,IACzD3rB,EAAO,uBAAwByza,GAGnCzza,EAAO,oBAEPrvB,EAAOqvB,EAAO,aAAa3gC,QAAkB3S,GAC1CikB,GAAMqvB,EAAO,aAEhBrvB,EAAOqvB,EAAO,cAAc3gC,QAAkB3S,GAC3CikB,GAAMqvB,EAAO,aAEhBrvB,EAAOqvB,EAAO,eAAe3gC,QAAkB3S,GAC5CikB,IACCqvB,EAAO,cACPA,EAAO,eAGXrvB,EAAOqvB,EAAO,gBAAiBsya,GAAsB,QAAVtvO,GAAmB3jO,GAC3DsR,IACCqvB,EAAO,gBACPA,EAAO,kBAGE,QAAVgjM,GAA8B,kBAAVA,GAA4C,KAAfryB,KAIhD3wK,EAAO,eAAgB3gC,GACvB2gC,EAAO,gBACPA,EAAO,iBAGPsya,IAEA3hc,EAAOqvB,EAAO,YAAa3gC,GACxBsR,IACCqvB,EAAO,cACPA,EAAO,gBAIfA,EAAO,WAEP,IAAI0za,EAAY1za,EAAO,aAGpB0za,WACQxB,EAAaz4c,WAAW84D,MAE5B+/Y,UACQJ,EAAaxkb,OAAOgvD,WACpBw1X,EAAaxkb,OAAOmvD,KACrB61X,UACCR,EAAaxkb,OAAOgvD,WACpBw1X,EAAaxkb,OAAOmvD,WACpBq1X,EAAaz4c,WAAWwpO,SAASvmJ,WACjCw1X,EAAaz4c,WAAWwpO,SAASpmJ,WACjCq1X,EAAav1X,QAAQz3E,aACrBgtc,EAAap1X,QAAQ53E,eAErBgtc,EAAaxkb,OAAOgvD,WACpBw1X,EAAaxkb,OAAOmvD,WACpBq1X,EAAaz4c,WAAWwpO,SAASvmJ,MA3MpDvwF,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAW1wC,GAChE+tE,EAAsBt9B,EAAUC,EAAW1wC,EAAU,CACjDnT,KAAM,MACNpI,WAAYs8B,EACZC,eAAgBq9a,EAChBr+b,SAAUA,EACV2sE,UAAW,QA6Mb,KACA,SAAUn0F,EAAQC,GAUxB,SAASmyE,EAAY3xE,GACjB,IAAI+pG,EAAM/pG,EAAE,GAAIgqG,EAAMhqG,EAAE,GAAIiqG,EAAMjqG,EAAE,GAAIkqG,EAAMlqG,EAAE,GAC5CmqG,EAAMnqG,EAAE,GAAIoqG,EAAMpqG,EAAE,GAAIqqG,EAAMrqG,EAAE,GAAIsqG,EAAMtqG,EAAE,GAC5CuqG,EAAMvqG,EAAE,GAAIwqG,EAAMxqG,EAAE,GAAIyqG,EAAMzqG,EAAE,IAAK0qG,EAAM1qG,EAAE,IAC7C2qG,EAAM3qG,EAAE,IAAK4qG,EAAM5qG,EAAE,IAAK6qG,EAAM7qG,EAAE,IAAK8qG,EAAM9qG,EAAE,IAE/C6tU,EAAM9jO,EAAMK,EAAMJ,EAAMG,EACxBuqT,EAAM3qT,EAAMM,EAAMJ,EAAME,EACxBwqT,EAAM5qT,EAAMO,EAAMJ,EAAMC,EACxByqT,EAAM5qT,EAAMK,EAAMJ,EAAMG,EACxByqT,EAAM7qT,EAAMM,EAAMJ,EAAME,EACxB0qT,EAAM7qT,EAAMK,EAAMJ,EAAMG,EACxB0qT,EAAMxqT,EAAMK,EAAMJ,EAAMG,EACxBqqT,EAAMzqT,EAAMM,EAAMJ,EAAME,EACxBsqT,EAAM1qT,EAAMO,EAAMJ,EAAMC,EACxBuqT,EAAM1qT,EAAMK,EAAMJ,EAAMG,EACxBuqT,EAAM3qT,EAAMM,EAAMJ,EAAME,EACxBwqT,EAAM3qT,EAAMK,EAAMJ,EAAMG,EAG5B,OAAOgjO,EAAMunF,EAAMV,EAAMS,EAAMR,EAAMO,EAAMN,EAAMK,EAAMJ,EAAMG,EAAMF,EAAMC,EA5B7Ex1Z,EAAOC,QAAUmyE,GAiCX,KACA,SAAUpyE,EAAQC,GAWxB,SAAS6uK,EAAQ9tJ,EAAKvgB,GAKpB,OAJAugB,EAAI,IAAMvgB,EAAE,GACZugB,EAAI,IAAMvgB,EAAE,GACZugB,EAAI,IAAMvgB,EAAE,GACZugB,EAAI,IAAMvgB,EAAE,GACLugB,EAdThhB,EAAOC,QAAU6uK,GAoBX,KACA,SAAU9uK,EAAQC,EAASkB,GAEjC,aAGA,IAAIqmd,EAAkBrmd,EAAoB,QACtC2oI,EAAoB3oI,EAAoB,QAE5C,SAASsmd,EAAe18c,GACtBpH,KAAK+jd,mBAAqB38c,EAAG48c,gBAAgBjld,KAAKqI,GAClDpH,KAAKikd,qBAAuB78c,EAAG88c,kBAAkBnld,KAAKqI,GACtDpH,KAAKmkd,qBAAuB/8c,EAAGg9c,kBAAkBrld,KAAKqI,GAGxD,SAASpB,EAAUoB,EAAIkB,EAAY89H,EAAUC,GAC3C,IAGI7+H,EAHA21H,EAAM/1H,EAAG88c,kBACT,IAAIJ,EAAc18c,GAClBA,EAAGk1H,aAAa,2BASpB,OALE90H,EADC21H,EACK0mV,EAAgBz8c,EAAI+1H,GAEpBgJ,EAAkB/+H,GAE1BI,EAAIuB,OAAOT,EAAY89H,EAAUC,GAC1B7+H,EAGTnL,EAAOC,QAAU0J,GAKX,MACA,SAAU3J,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACb8qF,cAAe,CACX,iBACA,kBACA,kBAOF,KACA,SAAU/qF,EAAQC,EAASkB,GAEjC,IAAIqH,EAAWrH,EAAoB,QAC/BogO,EAAWpgO,EAAoB,QAInC,SAASs3P,EAAQ/3O,GAKf,IAJA,IAAI7X,EAAS7D,MAAM0J,QAAQgS,GACvBA,EACAlY,EAASkY,GAEJrf,EAAI,EAAGA,EAAIwH,EAAOvI,OAAQe,IAAK,CACtC,IAAIosI,EAAQ5kI,EAAOxH,GACnB,GAAmB,iBAAfosI,EAAMp5H,KAAV,CACA,IAAIyU,EAAQ2kH,EAAMnhI,KAAKwc,MAAM,yCAC7B,GAAKA,GACAA,EAAM,GAAX,CAEA,IAAIomH,EAAOpmH,EAAM,GACbrnB,EAAOqnB,EAAM,GAEjB,OAAQomH,EAAMqyF,EAAK9/N,GAAQA,GAAMk8D,UAjBrC39D,EAAOC,QAAUw4P,GAwBX,KACA,SAAUz4P,EAAQC,EAASkB,GAEjC,aAWA,IAAI6md,EAAc,GAElBhod,EAAOC,QAAU,CACbixE,gBAAiB,IAEjB+2Y,gBAAiB,IACjBD,YAAaA,EACbE,cAAeF,EAAc,GAE7Bp4N,OAAQ,OACRF,QAAS,QAET08J,OAAQ,CACJjrV,MAAO,CAAC,GACRC,IAAK,CAAC,EAAG,GACThoC,KAAM,CAAC,EAAG,GACVioC,SAAU,CAAC,EAAG,GACdC,QAAS,CAAC,EAAG,EAAG,EAAG,GACnBC,YAAa,CAAC,EAAG,EAAG,EAAG,MAOzB,KACA,SAAUvhE,EAAQC,GAIxB,SAASy2R,EAAYj4P,EAAKh8B,GACtB,IAAI6iQ,EAAQ,CAAEn7P,SAAU1H,GACpBugO,EAAUvkM,EAAIukM,QAUlB,OARAphO,OAAOC,eAAe48B,EAAK,UAAW,CAClCt8B,MAAO,SAAUA,GACb,OAAOA,IAAUM,EACbugO,EAAQpiO,MAAM+C,KAAM9C,WAAaykQ,GAEzCtiG,UAAU,IAGPsiG,EAdXtlQ,EAAOC,QAAUy2R,GAoBX,KACA,SAAU12R,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUuzP,EAEjB,IAAIvoE,EAAK9pL,EAAoB,QACzB8sI,EAAM9sI,EAAoB,QAE9B,SAASqyP,EAAWznL,EAAO7mE,GACzB,OAAO+oI,EAAIg9C,EAAGl/G,EAAO7mE,MAKjB,KACA,SAAUlF,EAAQC,EAASkB,GAEjC,aAWA,IAAIuxR,EAAQvxR,EAAoB,QAEhClB,EAAQwB,KAAO,WAEfxB,EAAQ4T,KAAO,SAASnE,EAAI+3C,EAAQjtB,EAAgBC,GAChDi4P,EAAMC,aAAa1yR,EAAQwB,KAAMiO,EAAI+3C,EAAQjtB,EAAgBC,IAGjEx6B,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D02N,EAAME,cAAc3yR,EAAQwB,KAAMo6D,EAAaC,EAAeC,EAAaC,KAMzE,KACA,SAAUh8D,EAAQC,EAASkB,GAEjC,aAGA,IAAI6nL,EAAW7nL,EAAoB,QAEnCnB,EAAOC,QAAU,SAAUkC,GAC1B,IAAK6mL,EAAS7mL,GAAQ,MAAM,IAAI40D,UAAU50D,EAAQ,oBAClD,OAAOA,IAMF,KACA,SAAUnC,EAAQC,EAASkB,GAEjC,IAAIgnd,EAAOhnd,EAAoB,QAE/BnB,EAAOC,QAAU,SAAyBq/C,GACxC,OAAO6oa,EAAK7oa,KAMR,KACA,SAAUt/C,EAAQC,EAASkB,GAEjC,aAYA,IAAI8gE,EAAgB9gE,EAAoB,QACpC+qE,EAAO/qE,EAAoB,QAC3B64L,EAAU74L,EAAoB,QAC9BihI,EAAYjhI,EAAoB,QAAQihI,UACxC9nG,EAAWn5B,EAAoB,QAGnClB,EAAQmod,oBAAsBjnd,EAAoB,QAElD,IAAIknd,EAAWpod,EAAQood,SAAW,SAAkBj1b,GAChD,MAAe,QAARA,GAAiB6uC,EAAc7uC,IAGtCk1b,EAAcrod,EAAQqod,YAAc,SAAqBl1b,GACzD,OAAe,OAARA,GAAwB,WAARA,GAkD3BnzB,EAAQsod,2BAA6B,SAAoC74c,EAAIk6C,EAAIrvB,EAAOpD,EAAOqxb,GAC3F,IAAIC,EAAgB7+Z,EAAGu6C,KACnBukX,EAA0Bpub,EAASsa,mBAAmB6za,EAAe,wBACrEx7c,EAAOqtB,EAASsa,mBAAmB6za,EAAe,QAClDrrb,EAAU9C,EAASsa,mBAAmB6za,EAAe,WACrDE,EAAcxxb,EAAMyxb,QAAUzxb,EAAM0xb,QAAWH,IAA4Bx8Y,GAAUj/D,IAASi/D,EAC9F1jB,EAAS94C,EAAG84C,OACZ1hC,EAAapX,EAAGymB,YAEpB,GAAGoE,EAAM,IAAK,CACP34B,OAAO8mD,KAAKnuB,GAAOj6B,OAAS,GAC3B05L,EAAQjqJ,KAAK,qDACT04a,GAGR,IAAIK,EAAUvub,EAAM,IAAI,IAExB,GAAG+tb,EAAYQ,GAAUl/Z,EAAG56C,IAAI,UAC3B,KAAGhK,MAAM0J,QAAQo6c,GAGlB,OADA9uR,EAAQjqJ,KAAK,qCAAsC04a,EAAeK,IAC3D,EAHqBl/Z,EAAG56C,IAAI85c,GAMvC,OAAGH,IAEHD,EAAwBlga,EAAQ1hC,GAChC7Z,EAAKyC,IACE,GAGX,IAaIrO,EACAsE,EACAojd,EACAC,EACAC,EACAC,EACAC,EAAQxqZ,EAnBRyqZ,EAAgBxnd,OAAO8mD,KAAKnuB,GAAO8hB,IAAI9F,QAAQxuC,KAAKq6H,GACpDinV,EAAmBz/Z,EAAG7nD,MACtBund,EAAiBD,GAAoB,GAMrCE,EAAqBf,EAAgB1hc,EAAY2hc,GAAe1md,MAEhEynd,EAAU,GACVC,GAAoB,EACpBC,EAAWJ,EAAehpd,OAU9B,IAAIe,EAAI,EAAGA,EAAI+nd,EAAc9od,OAAQe,IAOjC,GANA0nd,EAAeK,EAAc/nd,GAC7B2nd,EAAWzub,EAAMwub,GACjBE,EAAUrnd,OAAO8mD,KAAKsga,GACtBE,EAASF,EAAS,IAClBG,EAASd,EAASa,GAEfH,EAAe,GAAKA,EAAeO,EAAehpd,QAAU6od,EAAS,EAAI,GACxEnvR,EAAQjqJ,KAAK,qBAAsB04a,EAAeM,QAItD,QAAcxod,IAAX2od,EACID,EAAQ3od,OAAS,GAChB05L,EAAQjqJ,KACJ,qEACA04a,EAAeM,GAGpBT,EAAYY,GACXM,EAAQrld,KAAK4kd,GACPI,GACQ,QAAXD,IAAkBA,EAAS,IAC9BI,EAAe33c,OAAOo3c,EAAc,EAAGG,GACpCK,GAAoBA,EAAmB53c,OAAOo3c,EAAc,EAAG,KAElE/uR,EAAQjqJ,KAAK,sCACT04a,EAAeM,EAAcG,IAGZ,IAAtBO,IAAyBA,EAAmBV,QAE/C,IAAIpjd,EAAI,EAAGA,EAAIsjd,EAAQ3od,OAAQqF,IAC3Bg5D,EAAS8pZ,EAAgB,IAAMM,EAAe,KAC9CP,EAAgBc,EAAeP,GAAeE,EAAQtjd,GAAIg5D,GACrD3vD,IAAIg6c,EAASC,EAAQtjd,KAMtC,IAAItE,EAAImod,EAAQlpd,OAAS,EAAGe,GAAK,EAAGA,IAChCiod,EAAe33c,OAAO63c,EAAQnod,GAAI,GAG/Bkod,GAAoBA,EAAmB53c,OAAO63c,EAAQnod,GAAI,GAMjE,GAHIiod,EAAehpd,OACV+od,GAAkBz/Z,EAAG56C,IAAIs6c,GADP1/Z,EAAG56C,IAAI,MAG/B25c,EAAa,OAAO,EAMvB,GAJAD,EAAwBlga,EAAQ1hC,GAI7BsW,IAAY8uC,EAAM,CACjB,IAAIy9Y,EACJ,IAAyB,IAAtBF,EAECE,EAAgBP,MACb,CAKH,IAFAM,EAAW5id,KAAKqC,IAAImgd,EAAehpd,OAAQopd,GAC3CC,EAAgB,GACZtod,EAAI,EAAGA,EAAI+nd,EAAc9od,OAAQe,IAAK,CAEtC,GADA0nd,EAAeK,EAAc/nd,GAC1B0nd,GAAgBU,EAAkB,MACrCE,EAAcxld,KAAK4kd,GAEvB,IAAI1nd,EAAIood,EAAkBpod,EAAIqod,EAAUrod,IACpCsod,EAAcxld,KAAK9C,GAG3B,IAAIA,EAAI,EAAGA,EAAIsod,EAAcrpd,OAAQe,IACjC+7B,EAAQ1tB,EAAIi6c,EAActod,SAE3B4L,EAAKyC,GAEZ,OAAO,IAML,KACA,SAAU1P,EAAQC,EAASkB,GAEjC,aAGA,IAAI09L,EAAU19L,EAAoB,QAE9Byod,EAAW/qR,EAAQ,CAAC,4IAExB7+L,EAAOC,QAAU,CACfsiK,SAAUs8B,EAAQ,CAAC,ufACnBr8B,SAAUonT,EACVn9L,SAAU5tF,EAAQ,CAAC,kgBACnB6tF,SAAUk9L,EACVC,SAAUhrR,EAAQ,CAAC,uWACnBirR,SAAUF,EACVrhM,QAAU1pF,EAAQ,CAAC,+SACnBkrR,SAAUlrR,EAAQ,CAAC,wTAMf,KACA,SAAU7+L,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzB0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAElC,SAAS2P,EAAMpB,EAAIwR,EAAIoT,GACnB,IAAIrxB,EAAIqxB,GAAYrkB,EAAGO,OAAOd,GAAIe,UAAU,iBAE5CxN,EAAE6N,MAAM,WAAW,SAAStP,GAAK,OAAOA,EAAE,GAAGmO,MAAMhE,WAEnD1I,EAAE8N,MAAK,SAASvP,GACZ,IAAI2yB,EAAKlkB,EAAGO,OAAO7M,MACfgM,EAAQnO,EAAE,GAAGmO,MACblE,EAAYkE,EAAMupB,KAAK7W,MAE3B,SAAS2nc,EAASC,EAAQx+c,EAAWi0E,EAAWqoD,GAC5CkiV,EAAOn5c,MAAM,eAAgBrF,EAAY,MACpCjL,KAAKqjB,EAAM0G,OAAQm1D,GACnBl/E,KAAKqjB,EAAMjR,KAAMm1H,GAG1B,IAAImiV,EAAW/1b,EAAG1jB,UAAU,YAE5B,GAAkB,gBAAfd,EAAM0E,KACL61c,EAASn5c,MAAK,SAASo5c,GACnB,IAAGA,EAAQlhc,MAAX,CAEA,IAAImhc,EAAUn6c,EAAGO,OAAO7M,MACpB2uB,EAAY3iB,EAAMw6c,EAAQtrc,KAC9Bmrc,EAASI,EAAS93b,EAAU4G,KAAK7W,MAAOiQ,EAAU4G,KAAK9sB,MAAOkmB,EAAUo8D,WAExE07X,EAAQt5c,MAAM,UAAWnB,EAAM0pB,iBAAmB8wb,EAAQ7wb,SAAW,GAAM,WAE5E,CACH0wb,EAASE,EAAUz+c,EAAWkE,EAAMupB,KAAK9sB,MAAOuD,EAAM++E,WACtDv6D,EAAG1jB,UAAU,aACRK,MAAM,CACH,eAAgBrF,EAChB,mBAAqB,EAAIA,EAAa,MAAQA,EAAY,OAE7DjL,KAAKqjB,EAAM0G,OAAQ5a,EAAMupB,KAAK9sB,OAEnC,IAAI8kC,EAAM/c,EAAG1jB,UAAU,cACvB+nB,EAAQu8I,WAAW7jI,EAAKvhC,EAAOD,OAK3C,SAASiyD,EAAcjyD,EAAIwR,EAAIoT,GAC3B,IAAI3kB,EAAQuR,EAAG,GAAGvR,MACduhC,EAAM5c,EAAI7jB,UAAU,cAErBd,EAAM0pB,eACLb,EAAQ08I,mBAAmBhkI,EAAKvhC,GAEhC6oB,EAAQu8I,WAAW7jI,EAAKvhC,EAAOD,GAIvC1P,EAAOC,QAAU,CACb6Q,MAAOA,EACP6wD,cAAeA,IAMb,KACA,SAAU3hE,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAUkB,EAAoB,OAApBA,CAA4B,CACzCqqC,KAAM,CAAC,QAAS,CACZxuB,OAAQ,CAAC,GACTysB,MAAO,GACR,SAAU,SAAU,SACvBujG,IAAK,CACD,KAAQ,KACR,KAAQ,GACR,SAAY,GACZ,UAAa,IAEjBC,KAAM,CACF,KAAQ,KACR,KAAQ,GACR,SAAY,GACZ,UAAa,IAEjBvsG,KAAM,CACF,KAAQ,+UACR,KAAQ,CAAC,CACL,KAAQ,kBACR,QAAU,EACV,QAAU,EACV,MAAS,GACV,CACC,KAAQ,kBACR,QAAU,EACV,QAAU,EACV,MAAS,GACV,CACC,KAAQ,kBACR,QAAU,EACV,QAAU,EACV,MAAS,GACV,CACC,KAAQ,kBACR,QAAU,EACV,QAAU,EACV,MAAS,GACV,CACC,KAAQ,kBACR,QAAU,EACV,QAAU,EACV,MAAS,IAEb,SAAY,GACZ,UAAa,CAAC,eAAgB,iBAElC4K,SAAU,mBAMR,KACA,SAAUtrC,EAAQC,EAASkB,GAEjC,aAWA,IAAI0gF,EAAoB1gF,EAAoB,QAAQ0gF,kBAEpD7hF,EAAOC,QAAU,SAAwByP,EAAIuC,GACzC,IAQIiP,EAAI7f,EARJylB,EAAapX,EAAGymB,YAChB3O,EAAW9X,EAAGw3C,UACdyU,EAAWjsD,EAAGisD,SACdzjC,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MACdwic,EAAa,GACbC,EAAiB,GACjBC,EAAiB,GAGrB,IAAIlpd,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACjC,IAAImgF,EAAYh6D,EAASnmB,IAGC,IAAtBmgF,EAAUtuE,SACVsuE,EAAU55D,QAAUsQ,EAAGqF,KACvBikD,EAAU35D,QAAU0Q,EAAGgF,KACJ,cAAnBikD,EAAUntE,OAEV6M,EAAKy6C,EAASt6D,GAEe,MAA1BmgF,EAAUz4E,YACTwhd,EAAepmd,KAAK+c,GAEpBopc,EAAenmd,KAAK+c,GAGxBmpc,EAAWlmd,KAAK+c,IAIxB,IAAIoN,EAAO,CACPjsB,KAAMykB,EAAWwyK,cACjBt/H,KAAMlzC,EAAW0jc,cACjBh2Z,IAAK1tC,EAAWyyK,aAChB53G,SAAU76D,EAAW0yK,mBAMzB,IAHA33G,EAAkBnyE,EAAIwoB,EAAIK,EAAI+xb,EAAgBh8b,GAC9CuzD,EAAkBnyE,EAAI6oB,EAAIL,EAAIqyb,EAAgBj8b,GAE1CjtB,EAAI,EAAGA,EAAIgpd,EAAW/pd,OAAQe,IAAK,CACnC6f,EAAKmpc,EAAWhpd,GAEhB,IAAI,IAAIsE,EAAI,EAAGA,EAAIub,EAAG5gB,OAAQqF,IAAK,CAC/B,IAAImzB,EAAK5X,EAAGvb,IAEI,IAAbmzB,EAAGugK,QACFvgK,EAAGkuD,IAAa,IAANrhF,EAAW,EAAIub,EAAGvb,EAAI,GAAG1C,GAGpC0C,EAAI,EAAIub,EAAG5gB,SACV4gB,EAAGvb,GAAGssL,OAAS/wK,EAAGvb,EAAI,GAAGkhF,GACzB3lE,EAAGvb,GAAGqsL,OAAS9wK,EAAGvb,EAAI,GAAGqhF,QASnC,KACA,SAAUhnF,EAAQC,EAASkB,GAEjC,IAAIgvI,EAAOhvI,EAAoB,SAC3Bq9B,EAAWr9B,EAAoB,QAE/Bwkc,EAA6C,qBAAlB//F,aAE/B,SAAS6kH,EAAWhqd,EAAGC,GACrB,OAAOD,EAAE,GAAKC,EAAE,GAGlB,SAASoqC,IACP,IAEIzpC,EAFAuoC,EAASjmC,KAAKimC,OACd0oC,EAAQ,IAAIttE,MAAM4kC,EAAOtpC,QAE7B,IAAIe,EAAE,EAAGA,EAAEixE,EAAMhyE,SAAUe,EACzBixE,EAAMjxE,GAAK,CAACyF,KAAK+R,IAAI+wB,EAAOvoC,IAAKA,GAEnCixE,EAAMvqE,KAAK0id,GACX,IAAIjgd,EAAS,IAAIxF,MAAMstE,EAAMhyE,QAC7B,IAAIe,EAAE,EAAGA,EAAEmJ,EAAOlK,SAAUe,EAC1BmJ,EAAOnJ,GAAKixE,EAAMjxE,GAAG,GAEvB,OAAOmJ,EAGT,SAASkgd,EAAmBz2c,EAAOtP,GACjC,IAAIyvH,EAAY,CAAC,OAAQzvH,EAAW,IAAKsP,GAAO3P,KAAK,IAClDK,EAAY,IACbyvH,EAAY,WAAangH,GAE3B,IAAI02c,EAAwB,YAAV12c,EAElB,IAAkB,IAAftP,EAAkB,CAEnB,IAAIT,EACF,YAAYkwH,EAAU,+BAChBA,EAAU,2BACPngH,EAAM,kLAMGmgH,EAAU,+GAGNA,EAAU,kBAAkBA,EAAU,QAC1Dw2V,EAAY,IAAIvmd,SAASH,GAC7B,OAAO0md,IACF,GAAiB,IAAdjmd,EAAiB,CAErBT,EACF,YAAYkwH,EAAU,mDAIhBA,EAAU,2BACPngH,EAAM,6KAUCmgH,EAAU,uBACnBA,EAAU,gDAEDA,EAAU,6EAGGA,EAAU,kBACnCu2V,EAAa,6BAA+B,0BACtD,wBACqBv2V,EAAU,mBACrBu2V,EAAa,+BAAiC,4BAA4B,+BAExDv2V,EAAU,wBAAwBA,EAAU,SAChEw2V,EAAY,IAAIvmd,SAAS,eAAgBH,GAC7C,OAAO0md,EAAUC,EAAoB52c,GAAO,IAG1C/P,EAAO,CAAC,gBAAZ,IAGI2wC,EAAUs7F,EAAKxrI,GACf6mC,EAAOqJ,EAAQwH,KAAI,SAASh7C,GAAK,MAAO,IAAIA,KAC5Cypd,EAAY,eAAiBj2a,EAAQwH,KAAI,SAASh7C,GAChD,MAAO,eAAiBA,EAAI,MAAQA,KACnCiD,KAAK,KACRymd,EAAWl2a,EAAQwH,KAAI,SAASh7C,GAChC,MAAO,IAAIA,KACViD,KAAK,KACN0md,EAAYn2a,EAAQwH,KAAI,SAASh7C,GACjC,MAAO,IAAIA,KACViD,KAAK,KACVJ,EAAKC,KACH,YAAYiwH,EAAU,MAAQ22V,EAAW,IAAMC,EAAY,kBACzD,eAAiBD,EAAW,IAC5B,gBAAkBC,EAAY,IAC9B,mBACF,aAAa52V,EAAU,aACvB,gBAAgBngH,EAAM,IACtB,mBAAmBtP,GAGrBT,EAAKC,KAAK,oDAAoDiwH,EAAU,kBACjEv/E,EAAQwH,KAAI,SAASh7C,GAAK,MAAO,cAAcA,EAAE,OAAOiD,KAAK,KACtE,OAGmB,IAAdK,EACDT,EAAKC,KAAK,oBAEVD,EAAKC,KAAK,6CACPQ,EAAY,GACbT,EAAKC,KAAK,YAAYiwH,EAAU,aACf,IAAdzvH,EACDT,EAAKC,KAAK,6EACY,IAAdQ,GACRT,EAAKC,KACb,4QAkBMD,EAAKC,KAAK,YAKdD,EAAKC,KACP,sBAAsBiwH,EAAU,QAAQ5oF,EAAKlnC,KAAK,KAAK,QAClDqmd,EACDzmd,EAAKC,KAAK,wBAAwB2md,EAAU,QAE5C5md,EAAKC,KAAK,oBAAoB2md,EAAU,QAI1C5md,EAAKC,KAAK,sBAAsBiwH,EAAU,QAAQ5oF,EAAKlnC,KAAK,KAAK,MAC9Dqmd,EACDzmd,EAAKC,KAAK,wBAAwB2md,EAAU,MAE5C5md,EAAKC,KAAK,oBAAoB2md,EAAU,MAI1C5md,EAAKC,KACH,wBAAwBiwH,EAAU,UAAW5oF,EAAKlnC,OAAQ,YAAYwmd,EAAU,KAGlF5md,EAAKC,KAAK,qBAAqBiwH,EAAU,OAAO5oF,EAAKlnC,KAAK,KAAK,gBAAgB8vH,EAAU,cACvFv/E,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,CAAC,YAAYA,EAAE,iBAAiBA,EAAE,kBAAmBA,EAAG,MAAOA,EAAE,MAAMiD,KAAK,OAClFA,KAAK,KAAK,IACbuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,eAAeA,EAAI,OACzBiD,KAAK,KAAK,kBAGf,IAAI2md,EAASp2a,EAAQwH,KAAI,SAASh7C,GAAK,MAAO,IAAIA,EAAE,eAAeA,EAAE,OACjE6pd,EAASr2a,EAAQwH,KAAI,SAASh7C,GAAK,MAAO,IAAIA,EAAE,gBAAgBA,EAAE,OACtE6C,EAAKC,KAAK,qBAAqBiwH,EAAU,OAAO5oF,EAAKlnC,KAAK,KAAK,2BAA2B2md,EAAO3md,KAAK,KAAK,IAAI4md,EAAO5md,KAAK,MAC3H,IAAI,IAAIjD,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B6C,EAAKC,KACT,cAAc9C,EAAE,iBAAiBA,EAAE,WAC9BA,EAAE,UACDA,EAAE,OACLA,EAAE,QAEH6C,EAAKC,KAAK,cAAciwH,EAAU,cAChCv/E,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAIA,KACViD,KAAK,KAAK,IACbuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAIA,KACViD,KAAK,KAAK,QAGfJ,EAAKC,KAAK,uBAAuBiwH,EAAU,SAAS5oF,EAAKlnC,KAAK,KAAK,SACjEuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAIA,EAAE,eAAeA,EAAE,OAC7BiD,KAAK,KAAK,IACbuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAIA,EAAE,gBAAgBA,EAAE,OAC9BiD,KAAK,KAAK,qCACf,IAAQjD,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B6C,EAAKC,KACT,cAAc9C,EAAE,mBACXA,EAAE,kBAEDA,EAAE,MAAMA,EAAE,QACbA,EAAE,WAAWA,EAAE,aAEfA,EAAE,UAAUA,EAAE,QAEdA,EAAE,QAGH6C,EAAKC,KAAK,cAAciwH,EAAU,cAChCv/E,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAMA,KACZiD,KAAK,KAAK,IACbuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,IAAMA,KACZiD,KAAK,KAAK,QAGf,IAAI6md,EAAS,IAAInmd,MAAML,GACnBymd,EAAU,IAAIpmd,MAAML,GACxB,IAAQtD,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B8pd,EAAO9pd,GAAK,MAAMA,EAAE,IACpB+pd,EAAQ/pd,GAAK,MAAMA,EAAE,IAEvB6C,EAAKC,KAAK,4BAA4BiwH,EAAU,cAAc5oF,EAAK,KACjEA,EAAK6Q,KAAI,SAAS15C,EAAEqjC,GAAO,OAAOrjC,EAAI,KAAOA,EAAI,gBAAkBqjC,EAAM,IAAMrjC,EAAI,SAAQ2B,KAAK,KAChG,6CAA6C8vH,EAAU,cAAc+2V,EAAO7md,KAAK,KAAK,IAAI8md,EAAQ9md,KAAK,KAAK,kBAG9GJ,EAAKC,KAAK,uBAAuBiwH,EAAU,SAAS5oF,EAAK,iCACzD,IAAQnqC,EAAE,EAAGA,EAAEsD,IAAatD,EAC1B6C,EAAKC,KAAK,cAAc9C,EAAE,iBAAiBA,EAAE,yBAAyBA,EAAE,MAAMA,EAAE,8BAA8BA,EAAE,yBAAyBA,EAAE,OAE7I6C,EAAKC,KAAK,gEAGVD,EAAKC,KAAK,6BAA6BiwH,EAAU,yCAAyCA,EAAU,SAClGv/E,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,SAASA,EAAE,OACjBiD,KAAK,KAAK,IACbuwC,EAAQwH,KAAI,SAASh7C,GACnB,MAAO,UAAUA,EAAE,OAClBiD,KAAK,KAAK,aAGXsmd,EAAY,IAAIvmd,SAAS,YAAa,QAASH,EAAKI,KAAK,OAC7D,OAAOsmd,EAAUC,EAAoB52c,GAAQ62B,GAG/C,SAASugb,EAAW/+c,GAClB,GAAGkyB,EAASlyB,GACV,MAAO,SAET,GAAGq5b,EACD,OAAO/jc,OAAOkB,UAAU2a,SAASjd,KAAK8L,IACpC,IAAK,wBACH,MAAO,UACT,IAAK,wBACH,MAAO,UACT,IAAK,qBACH,MAAO,OACT,IAAK,sBACH,MAAO,QACT,IAAK,sBACH,MAAO,QACT,IAAK,sBACH,MAAO,QACT,IAAK,uBACH,MAAO,SACT,IAAK,uBACH,MAAO,SACT,IAAK,6BACH,MAAO,gBACT,IAAK,yBACH,MAAO,WACT,IAAK,0BACH,MAAO,YAGb,OAAGtH,MAAM0J,QAAQpC,GACR,QAEF,UAGT,IAAIu+c,EAAsB,CACxB,QAAU,GACV,QAAU,GACV,KAAO,GACP,MAAQ,GACR,MAAQ,GACR,MAAQ,GACR,OAAS,GACT,OAAS,GACT,MAAQ,GACR,cAAgB,GAChB,SAAY,GACZ,UAAa,GACb,OAAS,GACT,QAAU,IASZ,SAASS,EAAmBh/c,EAAMi2B,EAAOqH,EAAQ5sB,GAC/C,QAAYzc,IAAT+L,EAAoB,CACrB,IAAIu2J,EAAOgoT,EAAoBphb,MAAM,GACrC,OAAOo5H,EAAK,IACY,kBAATv2J,IACfA,EAAO,CAACA,SAEG/L,IAAVgiC,IACDA,EAAQ,CAAEj2B,EAAKhM,SAEjB,IAAIkB,EAAI+gC,EAAMjiC,OACd,QAAcC,IAAXqpC,EAAsB,CACvBA,EAAS,IAAI5kC,MAAMxD,GACnB,IAAI,IAAIH,EAAEG,EAAE,EAAGuiQ,EAAG,EAAG1iQ,GAAG,IAAKA,EAC3BuoC,EAAOvoC,GAAK0iQ,EACZA,GAAMxhO,EAAMlhC,GAGhB,QAAcd,IAAXyc,EAAsB,CACvBA,EAAS,EACT,IAAQ3b,EAAE,EAAGA,EAAEG,IAAKH,EACfuoC,EAAOvoC,GAAK,IACb2b,IAAWulB,EAAMlhC,GAAG,GAAGuoC,EAAOvoC,IAIpC,IAAI4S,EAAQo3c,EAAW/+c,GACnBi/c,EAAYV,EAAoB52c,GACpC,MAAMs3c,EAAUjrd,QAAUkB,EAAE,EAC1B+pd,EAAUpnd,KAAKumd,EAAmBz2c,EAAOs3c,EAAUjrd,OAAO,IAExDuiK,EAAO0oT,EAAU/pd,EAAE,GACvB,OAAOqhK,EAAKv2J,EAAMi2B,EAAOqH,EAAQ5sB,GAGnChd,EAAOC,QAAUqrd,GAKX,KACA,SAAUtrd,EAAQC,EAASkB,GAEjC,aAWA,IAAI+tC,EAAU/tC,EAAoB,QAAQ+tC,QACtC0D,EAAWzxC,EAAoB,QAwBnC,SAASqqd,EAAYvkc,EAAI3a,GAGrB,GAAe,MAAZ2a,EAAG5S,KAAN,CAEA,IAEIhT,EAFA0L,EAAKka,EAAGsW,IACRnZ,EAAWrX,EAAG+iB,OAAO,IAIG,IAAzB/iB,EAAGhH,QAAQ,WAAiBgH,EAAKqX,GAEpC,IAAIgwI,EAAKq3T,EAAsBn/c,EAAMS,EAAIqX,GACzC,GAAIgwI,EAIJ,GAAe,cAAZA,EAAG//I,MACF+P,IAAa,CAACve,EAAG,IAAKssD,EAAG,KAAKiiG,EAAGrrJ,aAAe,KADpD,CAOA,IAAI2id,EAAUtnc,EAAW,WACrB9J,EAAW85I,EAAGs3T,GACdp9b,EAAO,CAACylD,iBAAkB7kC,EAAQklH,EAAI,cAAgBllH,EAAQklH,EAAI,oBAWtE,GARe,QAAZA,EAAG//I,MAAkB+/I,EAAG0pJ,kBACvB15R,IAAa,CAAC+tC,EAAG,IAAKtsD,EAAG,KAAKuuJ,EAAGrrJ,aAAe,OAEhDulB,EAAKylD,iBAAkB,GAKxB43Y,EAA2Bv3T,EAAIhwI,GAAW,CACzC,IAAI0xC,EAAY81Z,EAAgBx3T,GAC5By3T,EAAe,GAEnB,IAAIxqd,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IAAK,CAC7B,IAAIsO,EAAQrD,EAAKjL,GACb6tC,EAAQv/B,EAAO,gBAAkBA,EAAMyU,EAAW,SAAWA,KAAcrX,SAEvDxM,IAArBoP,EAAMmmD,GAA0B+1Z,EAAa1nd,KAAKwL,EAAMmmD,GAAW,SAC/Cv1D,IAAfoP,EAAMlO,KAAoBoqd,EAAa1nd,KAAKwL,EAAMlO,MACrDoqd,EAAa1nd,KAAK,QAEpBwL,EAAM+7c,KAAapxc,IAAUA,OAAW/Z,IAG/C0mB,EAAG5S,KAAOu+B,EAASi5a,EAAcvxc,EAAUgU,QACxC,GAAe,UAAZ8lI,EAAG//I,KAAkB,CAC3B,IAAI2hI,EAAaoe,EAAGpe,WAChB73E,EAAM63E,EAAWoe,EAAG/c,SAAStqI,IAC9BoxD,EAAIjrD,UAAS+T,EAAG5S,KAAOu+B,EAASurB,EAAInkC,OAAQ1f,EAAUgU,SAEzDrH,EAAG5S,KAAOu+B,EAASwhH,EAAGhwI,IAAa,CAACgwI,EAAGhwI,EAAW,MAAO9J,EAAUgU,QAtCnErH,EAAG5S,KAAO,UA0ClB,SAASo3c,EAAsBn/c,EAAMS,EAAIqX,GACrC,IAAI,IAAI/iB,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IAAK,CACjC,IAAIsO,EAAQrD,EAAKjL,GAEjB,GAAkB,UAAfsO,EAAM0E,MACD1E,EAAM6I,QAAU,IACf7I,EAAM,IAAMyU,EAAW,SAAW,IAAIrX,GAE3C,OAAO4C,EAGX,IAAIA,EAAMyU,EAAW,SAAWA,KAAcrX,EAAI,CAC9C,GAAG4+c,EAA2Bh8c,EAAOyU,GACjC,OAAOzU,EACJ,IAAIA,EAAMyU,IAAa,IAAI9jB,QAAUqP,EAAMyU,EAAW,KACzD,OAAOzU,IAMvB,SAASi8c,EAAgBj8c,GACrB,MAAO,CAAC9J,EAAG,IAAKssD,EAAG,KAAKxiD,EAAM5G,aAAe,KAGjD,SAAS4id,EAA2Bh8c,EAAOyU,GACvC,IAAI0xC,EAAY81Z,EAAgBj8c,GAC5Bm8c,EAAQ58a,EAAQv/B,EAAO,cACvBo8c,EAAgB78a,EAAQv/B,EAAMqyG,YAAc,GAAI,eAEpD,OACI8pW,IACCC,GACD3nc,IAAa0xC,QACQv1D,IAArBoP,EAAMmmD,SACqBv1D,IAA3BoP,EAAMmmD,EAAY,KAnH1B91D,EAAOC,QAAU,SAA4BqzC,EAAaC,EAAcM,EAAQ9nC,GAC5E,IAAI40C,EAAS9M,EAAO,QAAS9nC,EAAQs1S,YAAc,IAAIhtS,MAEzC,MAAXssC,IACC6qa,EAAYj4a,EAAcxnC,EAAQO,MAET,MAAtBinC,EAAal/B,KACZk/B,EAAal/B,KAAO,SAMpBi/B,EAAYj/B,KAAOk/B,EAAal/B,QA6GtC,KACA,SAAUrU,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzB+O,EAAY/O,EAAoB,QAChCwsK,EAAWxsK,EAAoB,QAE/BuW,EAAMvW,EAAoB,QAC1B0oD,EAAiBnyC,EAAImyC,eAErB8/K,EAASxoO,EAAoB,QAC7ByqB,EAAQzqB,EAAoB,SAE5Bm5B,EAAWn5B,EAAoB,QAC/BwuK,EAAaxuK,EAAoB,QACjCswC,EAAQtwC,EAAoB,QAC5Bg4P,EAAQh4P,EAAoB,QAE5BsW,EAAOtW,EAAoB,QAC3Bq3B,EAAUr3B,EAAoB,QAC9B0iB,EAAQ1iB,EAAoB,QAC5ByvH,EAAmBzvH,EAAoB,QAAQyvH,iBAC/C5oG,EAAkB7mB,EAAoB,QACtCuwC,EAAevwC,EAAoB,QACnCy/G,EAAcz/G,EAAoB,QAAQy/G,YAE1CivD,EAAa1uK,EAAoB,QAAQ0uK,WACzCm8S,EAAe7qd,EAAoB,QACnCi2H,EAAUj2H,EAAoB,QAC9B8qd,EAAc9qd,EAAoB,QAClCmqS,EAAYnqS,EAAoB,QAEhCqoN,EAAkBroN,EAAoB,QAAQqoN,gBAE9C0iQ,EAA0B,EAC1BC,EAA+B,EAuBnC,SAASt4c,EAAKnE,EAAIpD,EAAMk8C,EAAQj/B,GAC5B,IAAI6gN,EAOJ,GALA16N,EAAKgI,EAAIg7G,YAAYhjH,GAGrBi6N,EAAOpnF,KAAK7yI,GAETgI,EAAIuqD,cAAc31D,GAAO,CACxB,IAAImyB,EAAMnyB,EACVA,EAAOmyB,EAAInyB,KACXk8C,EAAS/pB,EAAI+pB,OACbj/B,EAASkV,EAAIlV,OACb6gN,EAAS3rM,EAAI2rM,OAGjB,IAAIgiP,EAAWziP,EAAOa,eAAe96N,EAAI,oBAAqB,CAACpD,EAAMk8C,EAAQj/B,IAC7E,IAAgB,IAAb6ic,EAAoB,OAAOhjc,QAAQg8C,SAStC,SAAS+sK,IACL,GAAG/H,EACC,OAAOnqO,EAAQkyO,UAAUziO,EAAI06N,GAPjC99N,GAASk8C,GAAW9wC,EAAIm7G,UAAUnjH,IAClCgI,EAAIq4B,KAAK,kFAC2CrgC,GAWxD28c,EAAe38c,EAAI6Z,GAEfi/B,IAAQA,EAAS,IAIrBv4C,EAAGO,OAAOd,GAAIkB,QAAQ,kBAAkB,GAKxC4nB,EAAQssW,aAMJ9/X,MAAM0J,QAAQgB,EAAGyZ,aAAYzZ,EAAGyZ,UAAY,IAEhD,IAAImjc,EAA4C,KAA1B58c,EAAGpD,MAAQ,IAAIhM,QAAgB0E,MAAM0J,QAAQpC,GAIhEtH,MAAM0J,QAAQpC,KACb8qH,EAAQm1V,UAAUjgd,GAEfggd,EAAe58c,EAAGpD,KAAOA,EACvBoD,EAAGpD,KAAKnI,KAAKvD,MAAM8O,EAAGpD,KAAMA,GAKjCoD,EAAGuZ,OAAQ,GAGXvZ,EAAG84C,SAAU8ja,IACb58c,EAAG84C,OAAS4uE,EAAQo1V,YAAYhka,IAGpC/W,EAAM99B,eAAejE,GAErB,IAAIoX,EAAapX,EAAGymB,YAChB47X,EAAejrY,EAAWg0C,KAAK,aAGnC,IAAIh0C,EAAWg0C,KAAK,UAAYxuD,GAAQA,EAAK,IAAMA,EAAK,GAAGtK,EAEvD,OADA0V,EAAIkV,IAAI,uCACD6/b,EAAgB/8c,EAAIpD,EAAMk8C,GAKrC1hC,EAAWqmG,aAAc,EAGtBm/V,GAAeI,GAAkBh9c,GAGjCA,EAAGw0I,YAAcwoU,KAChBh9c,EAAGw0I,UAAYwoU,GACfA,GAAkBh9c,IAItB8oB,EAAQooW,cAAclxX,GAGnB48c,GAAe70c,EAAK+gC,qBAAqB9oC,GAM5C,IAAIm5c,GAAUn5c,EAAGisD,UAAYjsD,EAAGisD,SAASr7D,UAAYoP,EAAGw3C,WAAa,IAAI5mD,OACtEuod,GAAQp3a,EAAMk7a,WAAWj9c,GAG5B,IAAI,IAAIrO,EAAI,EAAGA,EAAIqO,EAAGisD,SAASr7D,OAAQe,IACnCqO,EAAGisD,SAASt6D,GAAG,GAAGsO,MAAQD,EAAGw3C,UAAU7lD,GAIxCqO,EAAG+Y,SAAS+tM,WACP9mN,EAAGixa,0BAEHjxa,EAAGixa,wBAA0B,WAAiBjpa,EAAIkpC,SAASlxC,IAAK+hC,EAAM2hL,OAAO1jN,IAG7E6kB,OAAOwR,iBAAiB,SAAUr2B,EAAGixa,0BAGzCjpa,EAAIk1c,gBAAgBl9c,GAOxB,IAAIm9c,EAAan1c,EAAIuM,WAAW,GAAI6C,EAAWguC,OAI3Cg4Z,EAAqB,EACzB,SAAS1wZ,IAGL,IAFA,IAAIyvO,EAAkB/kR,EAAW8rJ,iBAEzBvxK,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IACpCwqS,EAAgBxqS,GAAG+6D,eAClByvO,EAAgBxqS,GAAG+6D,cAAc1sD,GAgCzC,IA5BIoX,EAAWsgJ,WAAatgJ,EAAWg0C,KAAK,QACxCh0C,EAAWsgJ,UAAYtgJ,EAAWgpM,aAAar/M,UAAU,cAAcnE,KAAK,CAAC,CACzE7J,IAAK,eACLgxB,SAAS,EACTrkB,MAAM,GACP,CACC3M,IAAK,aACLgxB,SAAS,EACTrkB,MAAM,GACP,CACC3M,IAAK,YACLgxB,SAAS,EACTrkB,MAAM,KACN,SAAS5N,GAAK,OAAOA,EAAEiB,OAE3BqkB,EAAWsgJ,UAAU12J,QAAQC,OAAO,UAC/BiY,KAAK,SAAS,SAASpnB,GACpB,MAAO,uBAAyBA,EAAEiB,IAAI+W,QAAQ,QAAS,OAE1D1I,MAAM,CACHnG,SAAU,WACVsoB,IAAK,EACLle,KAAM,EACNsV,SAAU,UACV,iBAAkB,UAI3BvD,EAAWsgJ,UAAW,CACrBtgJ,EAAWsgJ,UACNx+I,KAAK,QAAS9B,EAAWzE,OACzBuG,KAAK,SAAU9B,EAAWqD,QAE/B,IAAIg9I,EAAOrgJ,EAAWsgJ,UAAU96J,OAAO,GAAG66J,KAC1C,GAAGA,IAGIrgK,KAAK2N,MAAMqS,EAAWzE,SAAW8kJ,EAAKs6C,IAAIh0M,oBACzC3G,KAAK2N,MAAMqS,EAAWqD,UAAYg9I,EAAKs6C,IAAI/zM,qBAC5C,CACC,IAAIq/B,EAAM,oFACV,IAAG+/a,EASC,OANAp1c,EAAIkV,IAAImgB,EAAM,uCACd0E,EAAMs7a,UAAU,GAAI,GAAIr9c,EAAGw3C,UAAWpgC,GACtC2qB,EAAM99B,eAAejE,GACrBoX,EAAapX,EAAGymB,YAChBsb,EAAMk7a,WAAWj9c,GACjBo9c,IACO1wZ,IARP1kD,EAAIqH,MAAMguB,IAwB1B,MAVsC,MAAnCjmB,EAAWwtG,QAAQvrH,YAClB+d,EAAWmtG,YACRnjH,MAAM,SAAU,MAChBA,MAAM,QAAS,QAElBgW,EAAWmtG,YACRnjH,MAAM,QAAS,MACfA,MAAM,SAAUgW,EAAWqD,OAAS,MAGpCsnB,EAAMw0E,iBAAiBv2G,GAIlC,SAASs9c,IAYL,GANAv7a,EAAMw7a,mBAAmBv9c,GAEzBu8c,EAAYnkC,kBAAkBp4a,GAC9B+H,EAAKu9C,gBAAgBtlD,GAGlBoX,EAAWg0C,KAAK,OAEf,IADA,IAAItzC,EAAW9X,EAAGw3C,UACV7lD,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACrC,IAAIsO,EAAQ6X,EAASnmB,GACH,QAAfsO,EAAM0E,MAAkB1E,EAAMugD,YAC7Bze,EAAMujB,gBAAgBtlD,EAAI,OAASC,EAAMymB,IAAM,eAM3D,OADAqb,EAAMk1Y,aAAaj3a,GACZ+hC,EAAMw0E,iBAAiBv2G,GAIlC,SAASw9c,IACL,GAAIz7a,EAAM07a,gBAAgBN,EAAY/lc,EAAWguC,OAEjD,OAAOp9C,EAAIm1C,YAAY,CACnBmga,EACAf,EAAYvlC,cACbh3a,GAGP,SAAS09c,IACL,GAAIvE,EAOJ,OAAOnxc,EAAIm1C,YAAY,CACnBvyB,EAASsa,mBAAmB,SAAU,iBACtCta,EAASsa,mBAAmB,cAAe,iBAC3C+yY,GACDj4a,GAVCi4a,IAaR,SAASA,IACFj4a,EAAGwlI,iBAEN+2U,EAAYtkC,0BAA0Bj4a,GAInC48c,GAAe70c,EAAKwgC,iBAAiBvoC,GAKxC4qB,EAASsa,mBAAmB,cAAe,gBAA3Cta,CAA4D5qB,IAIhE,SAASoxQ,IACL,OAAOrpQ,EAAKxK,KAAKyC,EAAI48c,EAAgB,GAAK,UAG9C,IAAIl9Z,EAAM,CACN3d,EAAMw0E,iBACNksH,EACA/1K,EACA4wZ,EACAE,GAGDn7D,GAAc3iW,EAAIjrD,KAAKipd,GAE1Bh+Z,EAAIjrD,KAAK8nd,EAAYvlC,cAClB30B,GAAc3iW,EAAIjrD,KAAK28Q,GAE1B1xN,EAAIjrD,KACA8nd,EAAY1kC,SACZ0kC,EAAYpkC,UACZj3T,EACAn/E,EAAM47a,SACN57a,EAAM67a,QACN77a,EAAM87a,OAKN97a,EAAMk1Y,aACNl1Y,EAAMw0E,kBAKV,IAAIunW,EAAW91c,EAAIm1C,YAAYuC,EAAK1/C,GAGpC,OAFI89c,GAAaA,EAASlvb,OAAMkvb,EAAWpkc,QAAQC,WAE5Cmkc,EAASlvb,MAAK,WAEjB,OADAmvb,EAAc/9c,GACPA,KAIf,SAAS+9c,EAAc/9c,GACnB,IAAIoX,EAAapX,EAAGymB,YAEjBrP,EAAW4tC,2BACV5tC,EAAW4tC,6BAEXhlD,EAAGwuG,KAAK,oBAIhB,SAASo0H,EAAc7zM,GACnB,OAAO/mB,EAAIuM,WAAW4rJ,EAAYpxI,GAGtC,SAAS+4L,EAAc9nN,EAAIsmF,GACvB,IACItmF,EAAGymB,YAAYo2B,OAAOz7C,MAAM,aAAcklF,GAC5C,MAAMt3E,GACJhH,EAAIqH,MAAML,IAIlB,SAASgvc,EAAoBh+c,EAAIsmF,GAC7B,IAAI2B,EAAQ9zE,EAAMoyE,QAAQD,EAAS,SACnCwhI,EAAc9nN,EAAIioF,GAGtB,SAAS00X,EAAe38c,EAAI6Z,GACxB,IAAI7Z,EAAG+Y,SAAU,CACb/Y,EAAG+Y,SAAW/Q,EAAIoiH,WAAW,GAAI+1C,GAGjC,IAAIxvI,EAAOpwB,EAAGO,OAAO,QACrBd,EAAG+Y,SAAS+8W,SAAWnlW,EAAKzb,QAAUyb,EAAKzX,KAAK,QAC5C2L,OAAOroB,SAAS+kB,KAAK1f,MAAM,KAAK,GAChC,GAGR,IAEIlQ,EAAGqnD,EAAMjmD,EAFTgxB,EAAU/jB,EAAG+Y,SAIjB,GAAGc,EAAQ,CAEP,IADAm/B,EAAO9mD,OAAO8mD,KAAKn/B,GACfloB,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IACxBoB,EAAMimD,EAAKrnD,GACA,aAARoB,GAA8B,UAARA,GACtBA,KAAOgxB,IACK,kBAARhxB,GAA2C,WAAhB8mB,EAAO9mB,GACjCgxB,EAAQhxB,GAAOird,EAEfj6b,EAAQhxB,GAAO8mB,EAAO9mB,IAM/B8mB,EAAOokc,mBAAqBl6b,EAAQioC,mBACnCjoC,EAAQioC,iBAAmBjoC,EAAQk6b,kBAKvC,IAAInoW,EAAWj8F,EAAOi8F,SACtB,QAAgBjlH,IAAbilH,EAMC,IAHA/xF,EAAQ+xF,SAAWA,EAEnB98D,EAAO9mD,OAAO8mD,KAAKj1B,EAAQ8G,OACvBl5B,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IACxBoyB,EAAQ8G,MAAMmuB,EAAKrnD,IAAMmkH,EAGjC,GAAGj8F,EAAOgR,MAEN,IADAmuB,EAAO9mD,OAAO8mD,KAAKn/B,EAAOgR,OACtBl5B,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IACxBoB,EAAMimD,EAAKrnD,GACRoB,KAAOgxB,EAAQ8G,QACd9G,EAAQ8G,MAAM93B,GAAO8mB,EAAOgR,MAAM93B,IAM9CgxB,EAAQ8xW,cAAgBh8W,EAAOg8W,cAIhC9xW,EAAQgoC,aACPhoC,EAAQ+xF,UAAW,EACnB/xF,EAAQ8G,MAAQ,GAChB9G,EAAQ8iM,aAAc,EACtB9iM,EAAQ6/L,YAAa,EACrB7/L,EAAQkjM,aAAc,EACtBljM,EAAQqjM,UAAW,EACnBrjM,EAAQsjM,UAAW,EACnBtjM,EAAQ4gG,gBAAiB,GAIC,UAA3B5gG,EAAQ4gG,gBAA+Bs5C,IACtCl6I,EAAQ4gG,gBAAiB,GAIA,gBAA1B5gG,EAAQ+jM,eAAoE,oBAA1B/jM,EAAQ+jM,gBACzD/jM,EAAQ+jM,cAAgBA,GAI5B/jM,EAAQiwZ,eAAiBjwZ,EAAQiwZ,gBAAsC,IAApBh0a,EAAG80B,aACtD/Q,EAAQgwZ,cAAgBhwZ,EAAQgwZ,eAAoC,IAAnB/za,EAAG60B,YAGpD,IAAIqpb,EAAOn6b,EAAQ6/L,WACfu6P,EAAQp6b,EAAQ4/L,YAAc,GAClC,IAAY,IAATu6P,EACCC,EAAMzia,UAAY,EAClByia,EAAM/oX,KAAO,EACb+oX,EAAMh2b,IAAM,EACZg2b,EAAM1nX,OAAS,OACZ,GAAmB,kBAATynX,EAAmB,CAChC,IAAIj8b,EAAQi8b,EAAKr8c,MAAM,KACvB,IAAIlQ,EAAI,EAAGA,EAAIswB,EAAMrxB,OAAQe,IACzBwsd,EAAMl8b,EAAMtwB,IAAM,OAEP,IAATusd,IACNC,EAAM/oX,KAAO,EACb+oX,EAAMh2b,IAAM,EACZg2b,EAAM1nX,OAAS,GAIvB,SAASsmX,EAAgB/8c,EAAIpD,EAAMk8C,GAE/B,IAAI+2N,EAAgBtvQ,EAAGO,OAAOd,GAAIe,UAAU,mBACvCnE,KAAK,CAAC,IACXizQ,EAAc7uQ,QACTxK,OAAO,MAAO,gBACd0K,QAAQ,yBAAyB,GACtC,IAAI60I,EAAW85H,EAAc9uQ,UAAU,kBAClCnE,KAAK,CAAC,IACXm5I,EAAS/0I,QAAQC,OAAO,OACnBC,QAAQ,iBAAiB,GACzBE,MAAM,WAAY,YAGvB20I,EAASv0I,KAAK,IAGX5E,IAAMoD,EAAGpD,KAAOA,GAChBk8C,IAAQ94C,EAAG84C,OAASA,GACvB2wM,EAAMl1G,QAAQW,WAAWl1I,GAGzB+1I,EAAS30I,MAAM,CACXuR,MAAO3S,EAAGymB,YAAY9T,MAAQ,KAC9B8H,OAAQza,EAAGymB,YAAYhM,OAAS,OAIpCza,EAAGw0I,UAAYi1G,EAAMl1G,QAAQC,UAAUx0I,GAGvCA,EAAGw0I,UAAU,CAAC53I,KAAMoD,EAAGpD,KAAMk8C,OAAQ94C,EAAG84C,QAASi9F,EAASp9H,QAG1D3Y,EAAGw0I,UAAUiB,eAGb,IAAI2oU,EAAep+c,EAAGw0I,UAAUzzH,MAG5B9kB,EAAU,EACV45G,EAAM71G,EAAGymB,YAAYiuB,MAAQ10C,EAAGymB,YAAYiuB,MAAMh0C,KAAO,GAClD,KAARm1G,GAAeA,IAAK55G,EAAU,GAEjC,IAAIi6G,EAAc,WACdjiH,KAAKnD,KAAKkxC,EAAalpB,gBAAiB9Y,IAKxC00C,EAAQ0pa,EAAat9c,OAAO,qBAC3BhQ,KAAKolH,GAEV,GAAGl2G,EAAG+Y,SAAS8R,MAAM+7L,UAAW,CAC5B,IAAIy3P,EAAkBr2c,EAAI8vD,EAAE93D,EAAI,6BAC5B61G,GAAOA,IAAQwoW,IACfpid,EAAU,GAGVy4C,EAAMx7B,KAAK,CAAC,mBAAoBmlc,IAC3B39c,KAAK29c,GACLj9c,MAAM,CAACnF,QAASA,IAChBwF,GAAG,qBAAqB,WACrBlB,EAAGO,OAAO7M,MAAMyN,aAAaI,SAAS,KACjCV,MAAM,UAAW,MAEzBK,GAAG,oBAAoB,WACpBlB,EAAGO,OAAO7M,MAAMyN,aAAaI,SAAS,KACjCV,MAAM,UAAW,OAIlC,IAAIk9c,EAAqB,WACrBrqd,KAAKnD,KAAKkxC,EAAale,aAAc,CAAC9jB,GAAIA,IACrCyB,GAAG,QAAQ,SAASf,GACjBV,EAAGw0I,UAAU,CAAC17F,OAAQ,CAACpE,MAAO,CAACh0C,KAAMA,MACrCzM,KAAKyM,KAAKA,GACL5P,KAAKolH,GACVjiH,KAAKnD,KAAKwtd,MAEb78c,GAAG,UAAU,WACV,IAAIo0G,EAAM5hH,KAAKilB,KAAK,oBACpBjlB,KAAKyM,KAAKm1G,GAAK/kH,KAAKolH,OAGhCxhE,EAAM5jD,KAAKwtd,GAMf,OAHAt+c,EAAG+Y,SAAS+uM,cAAc9nN,EAAIA,EAAGymB,YAAY+/D,eAC7CzkD,EAAM47a,SAAS39c,GAER0Z,QAAQC,UAInB,SAASwd,EAAOn3B,GAGZ,GAFAA,EAAKgI,EAAIg7G,YAAYhjH,IAEjBgI,EAAIm7G,UAAUnjH,GACd,MAAM,IAAItK,MAAM,sCAAwCsK,GAO5D,OAJA0nH,EAAQm1V,UAAU78c,EAAGpD,MACrB8qH,EAAQo1V,YAAY98c,EAAG84C,QAEvB94C,EAAGisD,cAAWp7D,EACPN,EAAQ4T,KAAKnE,GAAI4uB,MAAK,WAEzB,OADA5uB,EAAGwuG,KAAK,iBACDxuG,KAYf,SAAS2hO,EAAQ3hO,EAAIpD,EAAMk8C,EAAQj/B,GAO/B,OANA7Z,EAAKgI,EAAIg7G,YAAYhjH,GAGrB+hC,EAAMs7a,UAAU,GAAI,GAAIr9c,EAAGw3C,WAAa,GAAIx3C,EAAGymB,aAAe,IAE9Dsb,EAAMygM,MAAMxiO,GACLzP,EAAQ4T,KAAKnE,EAAIpD,EAAMk8C,EAAQj/B,GAS1C,SAAS0kc,EAAkBp5a,EAAS60a,GAChC,IAEIrod,EACA0C,EAHAmqd,EAAexE,EAAW,EAC1ByE,EAAkB,GAItB,IAAI9sd,EAAI,EAAGA,EAAIwzC,EAAQv0C,OAAQe,IAC3B0C,EAAQ8wC,EAAQxzC,GACb0C,EAAQ,EACPoqd,EAAgBhqd,KAAK+pd,EAAenqd,GAEpCoqd,EAAgBhqd,KAAKJ,GAG7B,OAAOoqd,EAYX,SAASC,EAAiB1+c,EAAImlC,EAASw5a,GACnC,IAAIhtd,EACA0C,EAEJ,IAAI1C,EAAI,EAAGA,EAAIwzC,EAAQv0C,OAAQe,IAAK,CAIhC,GAHA0C,EAAQ8wC,EAAQxzC,GAGb0C,IAAUulB,SAASvlB,EAAO,IACzB,MAAM,IAAIqB,MAAM,iBAAmBipd,EAAY,qBAInD,GAAGtqd,GAAS2L,EAAGpD,KAAKhM,QAAUyD,GAAS2L,EAAGpD,KAAKhM,OAC3C,MAAM,IAAI8E,MAAMipd,EAAY,uCAIhC,GAAGx5a,EAAQ9uC,QAAQhC,EAAO1C,EAAI,IAAM,GAC5B0C,GAAS,GAAK8wC,EAAQ9uC,SAAS2J,EAAGpD,KAAKhM,OAASyD,IAAU,GAC1DA,EAAQ,GAAK8wC,EAAQ9uC,QAAQ2J,EAAGpD,KAAKhM,OAASyD,IAAU,EAC5D,MAAM,IAAIqB,MAAM,iBAAmBipd,EAAY,qBAY3D,SAASC,EAAoB5+c,EAAI6+c,EAAgBC,GAE7C,IAAIxpd,MAAM0J,QAAQgB,EAAGpD,MACjB,MAAM,IAAIlH,MAAM,6BAIpB,GAA6B,qBAAnBmpd,EACN,MAAM,IAAInpd,MAAM,0CAepB,GAdWJ,MAAM0J,QAAQ6/c,KACrBA,EAAiB,CAACA,IAEtBH,EAAiB1+c,EAAI6+c,EAAgB,kBAGZ,qBAAfC,GAA+Bxpd,MAAM0J,QAAQ8/c,KACnDA,EAAa,CAACA,IAEO,qBAAfA,GACNJ,EAAiB1+c,EAAI8+c,EAAY,cAIZ,qBAAfA,GAA8BD,EAAejud,SAAWkud,EAAWlud,OACzE,MAAM,IAAI8E,MAAM,oDAUxB,SAASqpd,EAAmB/+c,EAAI+3C,EAAQ+ma,GACpC,IAAIntd,EAAGc,EAGP,IAAI6C,MAAM0J,QAAQgB,EAAGpD,MACjB,MAAM,IAAIlH,MAAM,6BAIpB,GAAqB,qBAAXqiD,EACN,MAAM,IAAIriD,MAAM,2BASpB,IALIJ,MAAM0J,QAAQ+4C,KACdA,EAAS,CAACA,IAIVpmD,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAE1B,GADAc,EAAQslD,EAAOpmD,GACK,kBAAVc,GAAuB6C,MAAM0J,QAAQvM,IAAoB,OAAVA,EACrD,MAAM,IAAIiD,MAAM,wDAQxB,GAHyB,qBAAfopd,GAA+Bxpd,MAAM0J,QAAQ8/c,KACnDA,EAAa,CAACA,IAEO,qBAAfA,GAA8BA,EAAWlud,SAAWmnD,EAAOnnD,OACjE,MAAM,IAAI8E,MACN,oEAeZ,SAASspd,EAAuBh/c,EAAIhD,EAAQmoC,EAAS85a,GACjD,IAAIC,EAAoBl3c,EAAIuqD,cAAc0sZ,GAE1C,IAAI3pd,MAAM0J,QAAQgB,EAAGpD,MACjB,MAAM,IAAIlH,MAAM,4BAEpB,IAAIsS,EAAIuqD,cAAcv1D,GAClB,MAAM,IAAItH,MAAM,qCAGpB,GAAsB,qBAAZyvC,EACN,MAAM,IAAIzvC,MAAM,mDAKpB,IAAI,IAAI3C,KAFR2rd,EAAiB1+c,EAAImlC,EAAS,WAEfnoC,EAAQ,CAKnB,IAAI1H,MAAM0J,QAAQhC,EAAOjK,KAASiK,EAAOjK,GAAKnC,SAAWu0C,EAAQv0C,OAC7D,MAAM,IAAI8E,MAAM,aAAe3C,EAAM,6DAMzC,GAAGmsd,MACInsd,KAAOksd,KAAe3pd,MAAM0J,QAAQigd,EAAUlsd,KACjDksd,EAAUlsd,GAAKnC,SAAWoM,EAAOjK,GAAKnC,QACtC,MAAM,IAAI8E,MAAM,6IAe5B,SAASypd,EAAoBn/c,EAAIhD,EAAQmoC,EAAS85a,GAC9C,IAEIh/c,EAAOqhB,EAAQm0F,EAAMj/G,EAAQ4od,EAF7BF,EAAoBl3c,EAAIuqD,cAAc0sZ,GACtCI,EAAc,GAUlB,IAAI,IAAItsd,KANJuC,MAAM0J,QAAQmmC,KAAUA,EAAU,CAACA,IAGvCA,EAAUo5a,EAAkBp5a,EAASnlC,EAAGpD,KAAKhM,OAAS,GAGvCoM,EACX,IAAI,IAAI/G,EAAI,EAAGA,EAAIkvC,EAAQv0C,OAAQqF,IAAK,CAepC,GAVAgK,EAAQD,EAAGpD,KAAKuoC,EAAQlvC,IACxBw/G,EAAOt7D,EAAel6C,EAAOlN,GAM7BuuB,EAASm0F,EAAKpjH,MACdmE,EAASwG,EAAOjK,GAAKkD,IAEjB+R,EAAIo8D,oBAAoB5tE,GACxB,MAAM,IAAId,MAAM,cAAgB3C,EAAM,WAAakD,EAAI,qBAE3D,IAAI+R,EAAIo8D,oBAAoB9iD,GACxB,MAAM,IAAI5rB,MAAM,iDAAmD3C,GAEvE,GAAGuuB,EAAO0N,cAAgBx4B,EAAOw4B,YAC7B,MAAM,IAAIt5B,MAAM,0DAA4D3C,GAOhFqsd,EAAOF,EAAoBD,EAAUlsd,GAAKkD,GAAKgpd,EAG3Cz+c,EAAU4+c,KAAOA,GAAQ,GAO7BC,EAAY5qd,KAAK,CACbghH,KAAMA,EACNn0F,OAAQA,EACR9qB,OAAQA,EACR4od,KAAMhod,KAAK2N,MAAMq6c,KAM7B,OAAOC,EAaX,SAASC,EAAat/c,EAAIhD,EAAQmoC,EAAS85a,EAAWM,GAClDP,EAAuBh/c,EAAIhD,EAAQmoC,EAAS85a,GAM5C,IAJA,IAAII,EAAcF,EAAoBn/c,EAAIhD,EAAQmoC,EAAS85a,GACvDO,EAAa,GACbC,EAAa,GAET9td,EAAI,EAAGA,EAAI0td,EAAYzud,OAAQe,IAAK,CACxC,IAAI8jH,EAAO4pW,EAAY1td,GAAG8jH,KACtB2pW,EAAOC,EAAY1td,GAAGytd,KAGtB9tc,EAAMiuc,EAAYF,EAAY1td,GAAG2vB,OAAQ+9b,EAAY1td,GAAG6E,OAAQ4od,GACpE3pW,EAAKn2G,IAAIgS,EAAI,IAGThc,MAAM0J,QAAQwgd,EAAW/pW,EAAKhhB,SAAQ+qX,EAAW/pW,EAAKhhB,MAAQ,IAClE+qX,EAAW/pW,EAAKhhB,MAAMhgG,KAAK6c,EAAI,IAG3Bhc,MAAM0J,QAAQygd,EAAWhqW,EAAKhhB,SAAQgrX,EAAWhqW,EAAKhhB,MAAQ,IAClEgrX,EAAWhqW,EAAKhhB,MAAMhgG,KAAK4qd,EAAY1td,GAAG2vB,OAAO1wB,QAGrD,MAAO,CAACoM,OAAQwid,EAAYP,UAAWQ,GAG3C,SAASC,EAAiBC,EAAMC,GAC5B,IAAIvrD,EAAO,IAAIsrD,EAAK3wb,YAAY2wb,EAAK/ud,OAASgvd,EAAKhvd,QAGnD,OAFAyja,EAAK/0Z,IAAIqgd,GACTtrD,EAAK/0Z,IAAIsgd,EAAMD,EAAK/ud,QACbyja,EAoBX,SAASlyL,EAAaniO,EAAIhD,EAAQmoC,EAAS85a,GAGvC,SAASM,EAAYj+b,EAAQ9qB,EAAQ4od,GACjC,IAAIS,EAAUC,EAEd,GAAG93c,EAAI01G,aAAap8F,GAChB,GAAG89b,EAAO,EAAG,CACT,IAAI1wG,EAAO,IAAIptV,EAAO0N,YAAY,GAC9B+wb,EAAOL,EAAiBp+b,EAAQ9qB,GAEjC4od,EAAO,GACNS,EAAWE,EACXD,EAAYpxG,IAEZmxG,EAAWnxG,EACXoxG,EAAYC,QAMhB,GAHAF,EAAW,IAAIv+b,EAAO0N,YAAYowb,GAClCU,EAAY,IAAIx+b,EAAO0N,YAAY1N,EAAO1wB,OAAS4F,EAAO5F,OAASwud,GAEhEA,IAAS5od,EAAO5F,OACfivd,EAASvgd,IAAI9I,GACbspd,EAAUxgd,IAAIgiB,QACX,GAAG89b,EAAO5od,EAAO5F,OAAQ,CAC5B,IAAIovd,EAA0Bxpd,EAAO5F,OAASwud,EAE9CS,EAASvgd,IAAI9I,EAAOmnH,SAASqiW,IAC7BF,EAAUxgd,IAAIgiB,GACdw+b,EAAUxgd,IAAI9I,EAAOmnH,SAAS,EAAGqiW,GAA0B1+b,EAAO1wB,YAC/D,CACH,IAAIqvd,EAA0Bb,EAAO5od,EAAO5F,OACxCsvd,EAAc5+b,EAAO1wB,OAASqvd,EAElCJ,EAASvgd,IAAIgiB,EAAOq8F,SAASuiW,IAC7BL,EAASvgd,IAAI9I,EAAQypd,GACrBH,EAAUxgd,IAAIgiB,EAAOq8F,SAAS,EAAGuiW,SAIzCL,EAAWv+b,EAAOloB,OAAO5C,GACzBspd,EAAaV,GAAQ,GAAKA,EAAOS,EAASjvd,OACtCivd,EAAS59c,OAAO,EAAG49c,EAASjvd,OAASwud,GACrC,GAGR,MAAO,CAACS,EAAUC,GA9CtB9/c,EAAKgI,EAAIg7G,YAAYhjH,GAiDrB,IAAI4oF,EAAO02X,EAAat/c,EAAIhD,EAAQmoC,EAAS85a,EAAWM,GACpDryX,EAAU38F,EAAQ4mC,OAAOn3B,GACzBmgd,EAAW,CAACngd,EAAI4oF,EAAK5rF,OAAQmoC,EAASyjD,EAAKq2X,WAG/C,OAFA/ic,EAAM7O,IAAIrN,EAAIzP,EAAQ6xO,cAAe+9O,EAAUh+O,EAAchxO,WAEtD+7F,EAGX,SAASk1I,EAAcpiO,EAAIhD,EAAQmoC,EAAS85a,GAGxC,SAASM,EAAYj+b,EAAQ9qB,EAAQ4od,GACjC,IAAIS,EAAUC,EAEd,GAAG93c,EAAI01G,aAAap8F,GAChB,GAAG89b,GAAQ,EAAG,CACV,IAAI1wG,EAAO,IAAIptV,EAAO0N,YAAY,GAC9B+wb,EAAOL,EAAiBlpd,EAAQ8qB,GAEjC89b,EAAO,GACNS,EAAWE,EACXD,EAAYpxG,IAEZmxG,EAAWnxG,EACXoxG,EAAYC,QAMhB,GAHAF,EAAW,IAAIv+b,EAAO0N,YAAYowb,GAClCU,EAAY,IAAIx+b,EAAO0N,YAAY1N,EAAO1wB,OAAS4F,EAAO5F,OAASwud,GAEhEA,IAAS5od,EAAO5F,OACfivd,EAASvgd,IAAI9I,GACbspd,EAAUxgd,IAAIgiB,QACX,GAAG89b,EAAO5od,EAAO5F,OAAQ,CAC5B,IAAIovd,EAA0Bxpd,EAAO5F,OAASwud,EAE9CS,EAASvgd,IAAI9I,EAAOmnH,SAAS,EAAGqiW,IAChCF,EAAUxgd,IAAI9I,EAAOmnH,SAASqiW,IAC9BF,EAAUxgd,IAAIgiB,EAAQ0+b,OACnB,CACH,IAAIC,EAA0Bb,EAAO5od,EAAO5F,OAE5Civd,EAASvgd,IAAI9I,GACbqpd,EAASvgd,IAAIgiB,EAAOq8F,SAAS,EAAGsiW,GAA0Bzpd,EAAO5F,QACjEkvd,EAAUxgd,IAAIgiB,EAAOq8F,SAASsiW,SAItCJ,EAAWrpd,EAAO4C,OAAOkoB,GACzBw+b,EAAaV,GAAQ,GAAKA,EAAOS,EAASjvd,OACtCivd,EAAS59c,OAAOm9c,EAAMS,EAASjvd,QAC/B,GAGR,MAAO,CAACivd,EAAUC,GA7CtB9/c,EAAKgI,EAAIg7G,YAAYhjH,GAgDrB,IAAI4oF,EAAO02X,EAAat/c,EAAIhD,EAAQmoC,EAAS85a,EAAWM,GACpDryX,EAAU38F,EAAQ4mC,OAAOn3B,GACzBmgd,EAAW,CAACngd,EAAI4oF,EAAK5rF,OAAQmoC,EAASyjD,EAAKq2X,WAG/C,OAFA/ic,EAAM7O,IAAIrN,EAAIzP,EAAQ4xO,aAAcg+O,EAAU/9O,EAAejxO,WAEtD+7F,EAYX,SAASm1I,EAAUriO,EAAI+3C,EAAQ+ma,GAC3B9+c,EAAKgI,EAAIg7G,YAAYhjH,GAErB,IAKIrO,EACAu7F,EANA2xX,EAAiB,GACjBuB,EAAW7vd,EAAQ+xO,aACnB+9O,EAAWh+O,EACX89O,EAAW,CAACngd,EAAI6+c,GAChByB,EAAW,CAACtgd,EAAI+3C,GAoBpB,IAfAgna,EAAmB/+c,EAAI+3C,EAAQ+ma,GAG3Bxpd,MAAM0J,QAAQ+4C,KACdA,EAAS,CAACA,IAIdA,EAASA,EAAOpL,KAAI,SAAS1sC,GACzB,OAAO+H,EAAIuM,WAAW,GAAItU,MAG9BynH,EAAQm1V,UAAU9ka,GAGdpmD,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAC1BqO,EAAGpD,KAAKnI,KAAKsjD,EAAOpmD,IAIxB,IAAIA,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAC1Bktd,EAAepqd,MAAMsjD,EAAOnnD,OAASe,GAKzC,GAAyB,qBAAfmtd,EAGN,OAFA5xX,EAAU38F,EAAQ4mC,OAAOn3B,GACzBkc,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GACrCpzX,EAIP53F,MAAM0J,QAAQ8/c,KACdA,EAAa,CAACA,IAGlB,IAEIF,EAAoB5+c,EAAI6+c,EAAgBC,GAC1C,MAAMzvc,GAGJ,MADArP,EAAGpD,KAAKqF,OAAOjC,EAAGpD,KAAKhM,OAASmnD,EAAOnnD,OAAQmnD,EAAOnnD,QAChDye,EASV,OAJA6M,EAAMqkc,cAAcvgd,GACpBkc,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GAC5CpzX,EAAU38F,EAAQgyO,WAAWviO,EAAI6+c,EAAgBC,GACjD5ic,EAAMskc,aAAaxgd,GACZktF,EAUX,SAASo1I,EAAatiO,EAAImlC,GACtBnlC,EAAKgI,EAAIg7G,YAAYhjH,GAErB,IAKIrO,EACA8ud,EANA1oa,EAAS,GACTqoa,EAAW7vd,EAAQ8xO,UACnBg+O,EAAW/9O,EACX69O,EAAW,CAACngd,EAAI+3C,EAAQ5S,GACxBm7a,EAAW,CAACtgd,EAAImlC,GAKpB,GAAsB,qBAAZA,EACN,MAAM,IAAIzvC,MAAM,oDAWpB,IAVWJ,MAAM0J,QAAQmmC,KACrBA,EAAU,CAACA,IAEfu5a,EAAiB1+c,EAAImlC,EAAS,WAG9BA,EAAUo5a,EAAkBp5a,EAASnlC,EAAGpD,KAAKhM,OAAS,GAGtDu0C,EAAQ9sC,KAAK2P,EAAI04c,WACb/ud,EAAI,EAAGA,EAAIwzC,EAAQv0C,OAAQe,GAAK,EAChC8ud,EAAezgd,EAAGpD,KAAKqF,OAAOkjC,EAAQxzC,GAAI,GAAG,GAC7ComD,EAAOtjD,KAAKgsd,GAGhB,IAAIvzX,EAAU38F,EAAQ4mC,OAAOn3B,GAG7B,OAFAkc,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GAErCpzX,EAkCX,SAASq1I,EAAWviO,EAAI6+c,EAAgBC,GACpC9+c,EAAKgI,EAAIg7G,YAAYhjH,GAErB,IAMIrO,EANAq3Z,EAAU,GACV23D,EAAiB,GACjBP,EAAW79O,EACX89O,EAAW99O,EACX49O,EAAW,CAACngd,EAAI8+c,EAAYD,GAC5ByB,EAAW,CAACtgd,EAAI6+c,EAAgBC,GAWpC,GANAF,EAAoB5+c,EAAI6+c,EAAgBC,GAGxCD,EAAiBvpd,MAAM0J,QAAQ6/c,GAAkBA,EAAiB,CAACA,GAG1C,qBAAfC,EAEN,IADAA,EAAa,GACTntd,EAAI,EAAGA,EAAIktd,EAAejud,OAAQe,IAClCmtd,EAAWrqd,MAAMoqd,EAAejud,OAASe,GAcjD,IATAmtd,EAAaxpd,MAAM0J,QAAQ8/c,GAAcA,EAAa,CAACA,GAGvDD,EAAiBN,EAAkBM,EAAgB7+c,EAAGpD,KAAKhM,OAAS,GACpEkud,EAAaP,EAAkBO,EAAY9+c,EAAGpD,KAAKhM,OAAS,GAKxDe,EAAI,EAAGA,EAAIqO,EAAGpD,KAAKhM,OAAQe,KAEO,IAA/Bktd,EAAexod,QAAQ1E,IACtBq3Z,EAAQv0Z,KAAKuL,EAAGpD,KAAKjL,IAK7B,IAAIA,EAAI,EAAGA,EAAIktd,EAAejud,OAAQe,IAClCgvd,EAAelsd,KAAK,CAACoqW,SAAUigH,EAAWntd,GAAIsO,MAAOD,EAAGpD,KAAKiid,EAAeltd,MAShF,IALAgvd,EAAetod,MAAK,SAAStH,EAAGC,GAC5B,OAAOD,EAAE8tW,SAAW7tW,EAAE6tW,YAItBltW,EAAI,EAAGA,EAAIgvd,EAAe/vd,OAAQe,GAAK,EACvCq3Z,EAAQ/mZ,OAAO0+c,EAAehvd,GAAGktW,SAAU,EAAG8hH,EAAehvd,GAAGsO,OAGpED,EAAGpD,KAAOosZ,EAEV,IAAI97T,EAAU38F,EAAQ4mC,OAAOn3B,GAG7B,OAFAkc,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GAErCpzX,EAiCX,SAAS00I,EAAQ5hO,EAAIy0F,EAAM/wE,EAAKk9b,GAC5B5gd,EAAKgI,EAAIg7G,YAAYhjH,GACrB0nH,EAAQm5V,kBAAkB7gd,GAE1B,IAAI0uB,EAAO,GACX,GAAmB,kBAAT+lE,EAAmB/lE,EAAK+lE,GAAQ/wE,MACrC,KAAG1b,EAAIuqD,cAAckiC,GAMtB,OADAzsF,EAAIq4B,KAAK,gBAAiBo0D,EAAM/wE,EAAKk9b,GAC9Blnc,QAAQg8C,SAJfhnC,EAAO1mB,EAAIuM,WAAW,GAAIkgF,QACX5jG,IAAZ+vd,IAAuBA,EAAUl9b,GAMrCxxB,OAAO8mD,KAAKtqB,GAAM99B,SAAQoP,EAAG8oO,SAAU,GAE1C,IAAI/wL,EAAS2vE,EAAQo5V,mBAAmB9gd,EAAI4gd,GAExCh/U,EAAQm/U,GAAS/gd,EAAI0uB,EAAMqpB,GAC3BtwB,EAAQm6G,EAAMn6G,MAGfA,EAAMvjB,OAAMlE,EAAGisD,cAAWp7D,GAC1B42B,EAAMu5b,gBAAgBt5V,EAAQs5V,eAAehhd,EAAI+3C,EAAQ,IAG5D,IAAI2H,EAAM,GAEPj4B,EAAMw5b,WACLvha,EAAIjrD,KAAKlE,EAAQ4T,OAEjBu7C,EAAIjrD,KAAKstC,EAAMw0E,kBAIfx0E,EAAM99B,eAAejE,GAElBynB,EAAMy5b,aACLn/a,EAAMk7a,WAAWj9c,GACjBmhd,GAAmBzha,IASpBj4B,EAAMrmB,OAAOs+C,EAAIjrD,KAAK8nd,EAAYrlC,cAClCzvZ,EAAM25b,WAAW1ha,EAAIjrD,KAAK8nd,EAAYllC,aAEzC33X,EAAIjrD,KAAKspd,IAGbr+Z,EAAIjrD,KAAKstC,EAAM67a,QAAS77a,EAAM87a,QAE9B3hc,EAAM7O,IAAIrN,EACN4hO,EAAS,CAAC5hO,EAAI4hI,EAAMy/U,OAAQz/U,EAAM7pF,QAClC6pL,EAAS,CAAC5hO,EAAI4hI,EAAM0/U,OAAQ1/U,EAAM7pF,SAGtC,IAAI+la,EAAW91c,EAAIm1C,YAAYuC,EAAK1/C,GAGpC,OAFI89c,GAAaA,EAASlvb,OAAMkvb,EAAWpkc,QAAQC,WAE5Cmkc,EAASlvb,MAAK,WAEjB,OADA5uB,EAAGwuG,KAAK,iBAAkBozB,EAAMx6G,WACzBpnB,KAMf,SAASuhd,EAAgB79b,GACrB,YAAW7yB,IAAR6yB,EAA0B,KACtBA,EAQX,SAAS89b,EAAO7hH,EAAQ8hH,GACpB,OAAIA,EAEG,SAAS7+b,EAAW1J,EAAM+1C,GAC7B,IAAI/U,EAAKC,EAAev3B,EAAW1J,GAC/Bq4U,EAAQr3S,EAAG56C,IAMf,OALA46C,EAAG56C,IAAM,SAASokB,GACd,IAAIg+b,GAAYzyZ,GAAU,IAAM/1C,EAChCyoc,GAAaD,EAAUxna,EAAG7nD,MAAOqxB,EAAKi8U,GACtCpO,EAAM7tU,IAEHw2B,GAVaC,EAc5B,SAASwna,GAAazoc,EAAMwK,EAAKohI,EAAQ66M,GACrC,GAAGrqW,MAAM0J,QAAQ0kB,IAAQpuB,MAAM0J,QAAQ8lJ,GAInC,IAHA,IAAIqtM,EAAW78V,MAAM0J,QAAQ0kB,GAAOA,EAAM,GACtCk+b,EAAWtsd,MAAM0J,QAAQ8lJ,GAAUA,EAAS,GAC5Cg7O,EAAS1oY,KAAKqC,IAAI04V,EAASvhW,OAAQgxd,EAAShxd,QACxCe,EAAI,EAAGA,EAAImuY,EAAQnuY,IACvBgwd,GAAazoc,EAAO,IAAMvnB,EAAI,IAAKwgW,EAASxgW,GAAIiwd,EAASjwd,GAAIguW,QAE9D,GAAG33V,EAAIuqD,cAAc7uC,IAAQ1b,EAAIuqD,cAAcuyF,GAAS,CAC3D,IAAI00T,EAASxxc,EAAIuqD,cAAc7uC,GAAOA,EAAM,GACxCm+b,EAAS75c,EAAIuqD,cAAcuyF,GAAUA,EAAS,GAC9Cg9T,EAAU95c,EAAIuM,WAAW,GAAIilc,EAAQqI,GACzC,IAAI,IAAI9ud,KAAO+ud,EACXH,GAAazoc,EAAO,IAAMnmB,EAAKymd,EAAOzmd,GAAM8ud,EAAO9ud,GAAM4sW,aAEtC9uW,IAAjB8uW,EAAOzmV,KACbymV,EAAOzmV,GAAQqoc,EAAgB79b,IAgBvC,SAASu+M,GAAoBr/M,EAAW+8U,EAAQ90U,GAC5C,IAAI,IAAI3R,KAAQ2R,EAAO,CACnB,IAAIqvB,EAAKC,EAAev3B,EAAW1J,GACnCyoc,GAAazoc,EAAMghC,EAAG7nD,MAAOw4B,EAAM3R,GAAOymV,IAIlD,SAASohH,GAAS/gd,EAAI0uB,EAAMqpB,GACxB,IAMIpmD,EANAylB,EAAapX,EAAGymB,YAChB3O,EAAW9X,EAAGw3C,UACd56C,EAAOoD,EAAGpD,KACV6kd,EAAcrqc,EAAW2qc,YACzBC,EAAWR,EAAOpqc,EAAWotM,QAASi9P,GACtCr6b,EAAYpf,EAAImU,cAAc,GAAIuS,GAGtCuzb,GAA6Bvzb,GAG7B,IAMIqV,EANAtc,EAAQm0Q,EAAUsmL,aAIlBZ,EAAS,GACTD,EAAS,GAIb,SAAS3gZ,IAAO,OAAO3oB,EAAOpL,KAAI,eAGlC,SAASw1a,EAAYC,GACjB,IAAI17X,EAAS3+E,EAAKq7B,QAAQg/a,IACK,IAA5Br+a,EAAO1tC,QAAQqwF,IAAgB3iD,EAAOtvC,KAAKiyF,GAGlD,SAAS27X,EAAc37X,GAAU,MAAO,SAAWA,EAAS,aAE5D,SAASs2B,EAAUt2B,GAAU,MAAO,SAAWA,EAAS,SAExD,SAAS47X,EAAa5sW,GAGlB,IAAI,IAAIz/G,EAAIy/G,EAAYz/G,EAAI6hB,EAASlnB,OAAQqF,IACzC,GAAG6hB,EAAS7hB,GAAGmqC,SAAWxjC,EAAK84G,GAAa,OAAO59F,EAAS7hB,GAWpE,SAASssd,EAAQrpc,EAAMwK,EAAK/xB,GACxB,GAAG2D,MAAM0J,QAAQka,GACbA,EAAKivC,SAAQ,SAASp3D,GAAKwxd,EAAQxxd,EAAG2yB,EAAK/xB,WAI/C,KAAGunB,KAAQwV,KAAQg5F,EAAQ86V,UAAU9zb,EAAMxV,GAA3C,CAEA,IAAIupc,EACJ,GAAyB,WAAtBvpc,EAAKtV,OAAO,EAAG,GACd6+c,EAAaT,EAAShid,EAAG84C,OAAQ5/B,EAAKpP,QAAQ,SAAU,SACrD,CACH,IAAIiO,EAASggC,EAAOpmD,GAChBguW,EAASvoV,EAAWo7F,aAAa8vW,EAAavqc,GAAQu6F,WAAW5rF,KACrE+7b,EAAajB,EAAO7hH,EAAQ8hH,EAAfD,CAA4B5kd,EAAKmb,GAASmB,GAGtDA,KAAQmoc,IACTA,EAAOnoc,GAAQwnD,UAEI7vE,IAApBwwd,EAAOnoc,GAAMvnB,KACZ0vd,EAAOnoc,GAAMvnB,GAAK4vd,EAAgBkB,EAAWpwd,aAEtCxB,IAAR6yB,GACC++b,EAAWnjd,IAAIokB,IAIvB,SAASg/b,EAAQ72Y,GACb,OAAO,SAAS51E,GACZ,OAAO6hB,EAAS7hB,GAAG41E,IAI3B,SAAS82Y,EAAU92Y,GACf,OAAO,SAAS+2Y,EAAK3sd,GACjB,OAAe,IAAR2sd,EAAgB9qc,EAASigC,EAAO9hD,IAAI41E,GAAW,MAM9D,IAAI,IAAIvzE,KAAMo2B,EAAM,CAChB,GAAGg5F,EAAQ86V,UAAU9zb,EAAMp2B,GACvB,MAAM,IAAI5C,MAAM,cAAgB4C,EAAK,0CAGzC,IACIgxB,EACAu5b,EACAzuU,EACAqsB,EACA3b,EACAw3I,EANA5tN,EAAKhgD,EAAKp2B,GAqBd,GATU,aAAPA,GAA4B,aAAPA,IACpBA,EAAKA,EAAG8nB,OAAO9nB,EAAG1H,OAAS,GAAK,OACV89E,EAAnBp5E,MAAM0J,QAAQ0vE,GAAUA,EAAG/hC,IAAIg2a,EAAUrqd,KAC7B,IAAPo2E,EAAmB32B,EAAOpL,IAAI+1a,EAAQpqd,IACpC,MAGdgpd,EAAOhpd,GAAMo2E,EAEU,WAApBp2E,EAAGsL,OAAO,EAAG,GAAhB,CAcA,IADAy9c,EAAO/od,GAAMooE,IACT/uE,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAAK,CAC/B23B,EAAO1sB,EAAKm7C,EAAOpmD,IACnBkxd,EAAWP,EAAavqa,EAAOpmD,IAC/B,IAAIguW,EAASvoV,EAAWo7F,aAAaqwW,EAASvwW,WAAW5rF,KAKzD,GAJA0tH,EAAQotU,EAAO7hH,EAAQ8hH,EAAfD,CAA4Bl4b,EAAMhxB,GAC1CmoK,EAASrsB,EAAM/hJ,MACfyyJ,EAASxvJ,MAAM0J,QAAQ0vE,GAAMA,EAAG/8E,EAAI+8E,EAAG99E,QAAU89E,OAEnC79E,IAAXi0J,EAAH,CAEA,IAAIg+T,EAAY1uU,EAAMnyH,MAAMmyH,EAAMnyH,MAAMrxB,OAAS,GAC7Cq+D,EAAS32D,EAAGsL,OAAO,EAAGtL,EAAG1H,OAASkyd,EAAUlyd,OAAS,GACrDmyd,EAAY9zZ,EAASA,EAAS,IAAM,GACpC+zZ,EAAgB/zZ,EAChB9U,EAAe0oa,EAAU5zZ,GAAQ58D,MAAQwwd,EAI7C,GAFAvmL,EAAYr8H,EAAW4C,kBAAkBggT,EAAUzuU,EAAMnyH,OAEtDq6Q,GAAaA,EAAUryQ,cAA2B,OAAX66H,EACtC,IAAI,IAAIm+T,KAAc3mL,EAAUryQ,aAC5Bs4b,EAAQv6c,EAAI6pK,aAAav5K,EAAI2qd,GAAa3mL,EAAUryQ,aAAag5b,GAAatxd,QAE/E,GAAkB,kBAAdmxd,GAA+C,YAAdA,GACpCriT,IAAW3b,GACC,aAAXA,GAAoC,WAAXA,IAC1Bk+T,GAoBD,GAAU,SAAP1qd,IACM,QAAXwsJ,KAAkC,QAAX2b,IACZ,eAAX3b,KAAyC,eAAX2b,IAChC,CACC,IAAIyiT,EAAW,IACXC,EAAW,IACA,QAAXr+T,GAA+B,QAAX2b,GAA0C,MAArBn3I,EAAKjwB,cAC9C6pd,EAAW,IACXC,EAAW,KAEfn7c,EAAIgyC,UAAU1wB,EAAM,CAAC,IAAK,QAAS,SAAU45b,GAC7Cl7c,EAAIgyC,UAAU1wB,EAAM,CAAC,KAAM,MAAO,QAAS45b,GAC3Cl7c,EAAIgyC,UAAU1wB,EAAM,CAAC,IAAK,QAAS,SAAU65b,GAE/B,QAAX1iT,GAA+B,eAAXA,GACnBtmH,EAAe7wB,EAAM,gBAChBhqB,IAAI66C,EAAe7wB,EAAM,iBAAiBj3B,OAG/C+kB,EAAW24U,UAAUhvV,UAAU,WAAWmB,UACpC0oB,EAAS4U,QAAQlW,EAAM,cAC7B6wB,EAAe7wB,EAAM,iBAChBhqB,IAAI66C,EAAe7wB,EAAM,gBAAgBj3B,YAzCpD,CAOE,IAAI8yD,EAAK/tC,EAAWguC,MAChB1xD,EAASsvd,EAActvd,OACvB0vd,EAA0B,QAAX1vd,GAAiC,WAAXA,EACzC,GAAiB,kBAAdovd,EAA+B,CAC9B,IAAIO,EAAYD,EAAcj+Z,EAAG1C,EAAI0C,EAAGj2C,EACxCqzc,EAAQQ,EAAY,YAAaC,EAAct4V,WAC/B,aAAXo6B,EAAwB,EAAIu+T,EAAYA,GAAY1xd,OACtD,CACH,IAAI2xd,EAAUF,EAAcj+Z,EAAGj2C,EAAIi2C,EAAG1C,EACtC8/Z,EAAQQ,EAAY,MAAOC,EAAcnkc,KACzB,aAAXimI,EAAwB,EAAIw+T,EAAUA,GAAU3xd,IA4B7D0vd,EAAO/od,GAAI3G,GAAK4vd,EAAgB9gT,GAGhC,IAAIzmH,EAAY,CACZ,SAAU,aAAc,cAAe,mBAE3C,IAA8B,IAA3BA,EAAU3jD,QAAQiC,GAAY,CAG7B,GAAU,gBAAPA,EAAsB,CACrB87I,EAAM90I,IAAIwlJ,GAIV,IAAI0yS,GAAsBlua,EAAKzpB,IAAMypB,EAAK9jB,EAAK,IAAM,IACrD,IAAI4uI,EAAM/hJ,OAASmlc,MAAwBqrB,EAASxpd,YAChD,aAES,oBAAPf,IAINgxB,EAAKjwB,YACD,CAAClD,EAAG,IAAKssD,EAAG,KAAKoga,EAASxpd,cAElCquH,EAAQ67V,WAAWj6b,GACnB7B,EAAMvjB,KAAOujB,EAAMu5b,gBAAiB,OACyB,IAAvDj/a,EAAMyhb,oBAAoBntd,QAAQ+9I,EAAMnyH,MAAM,KAEpDylG,EAAQ+7V,sBAAsBrvU,EAAO0Q,EAAQu8T,GAC7C55b,EAAMvjB,MAAO,IAEVo4R,EAGIA,EAAU5mR,UACRkV,EAAS4U,QAAQqjb,EAAU,UAC3B76c,EAAIo8D,oBAAoB0gF,IAAW98I,EAAIo8D,oBAAoBq8F,IAE5Dh5I,EAAMvjB,MAAO,EACV03R,EAAU5+R,OAAOyqB,EAAO60Q,GAQ/B70Q,EAAMvjB,MAAO,EAIjBkwI,EAAM90I,IAAIwlJ,KAUlB,IALsD,IAAnD,CAAC,aAAc,mBAAmBzuJ,QAAQiC,IACzCyP,EAAKtC,KAAKzF,EAAI+3C,GAIR,oBAAPz/C,EAA0B,CACzB,IAAIkb,GAAY2mC,EAAen6C,EAAG84C,OAAQ,aACnB,MAApBtlC,GAAUnhB,MACTmhB,GAAUlU,IAAI,KACY,MAApBkU,GAAUnhB,OAChBmhB,GAAUlU,IAAI,KAUtB,IAA4C,IAAzC,CAAC,cAAe,QAAQjJ,QAAQiC,GAAY,CAE3C,IADAyrC,EAAS,GACLpyC,EAAI,EAAGA,EAAIomD,EAAOnnD,OAAQe,IAAK,CAC/B,IAAIsO,GAAQrD,EAAKm7C,EAAOpmD,IAErBi5B,EAAS4U,QAAQv/B,GAAO,eACvBkid,EAAYlid,GAAMiY,OAAS,KAC3Biqc,EAAYlid,GAAMkY,OAAS,MAInCoqc,EAAQx+a,EAAO4I,IAAI01a,IAAgB,EAAM,GACzCE,EAAQx+a,EAAO4I,IAAIqwE,GAAY,CAAC,EAAG,GAAI,SA7KvCo3B,EAAQ4tU,EAAShid,EAAG84C,OAAQxgD,EAAGwR,QAAQ,SAAU,KACjDu3c,EAAO/od,GAAM,CAACipd,EAAgBntU,EAAM/hJ,QAGpC+hJ,EAAM90I,IAAIhK,MAAM0J,QAAQ0vE,GAAMA,EAAG,GAAKA,GAGtCjnD,EAAMvjB,MAAO,EA8KrB,OAJGujB,EAAMvjB,MAAQujB,EAAMtjB,QACnBsjB,EAAMw5b,YAAa,GAGhB,CACHx5b,MAAOA,EACP45b,OAAQA,EACRC,OAAQA,EACRvpa,OAAQA,EACR3wB,UAAWpf,EAAIm1Y,mBAAmB,GAAI,CAAC/1X,EAAW2wB,KAiB1D,SAASkqa,GAA6Bvzb,GAClC,IAGI/8B,EAAGoB,EAAKN,EAHRixd,EAAoB17c,EAAIqhF,aAAa,OAAQ,UAAW,GAAO,GAC/Ds6X,EAAgB,mBAChB3qa,EAAO9mD,OAAO8mD,KAAKtqB,GAGvB,IAAI/8B,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IACxBoB,EAAMimD,EAAKrnD,GACXc,EAAQi8B,EAAK37B,GAED,UAARA,IAAmB2wd,EAAkBrzd,KAAK0C,KAAQ4wd,EAActzd,KAAK0C,IACrD,kBAAVN,GAAuC,kBAAVA,EAE7BM,EAAIsD,QAAQ,cAAgB,EAClCyT,EAAQ/W,EAAKA,EAAI+W,QAAQ,YAAa,eAChC/W,EAAIsD,QAAQ,kBAAoB,EACtCyT,EAAQ/W,EAAKA,EAAI+W,QAAQ,gBAAiB,mBACpC/W,EAAIsD,QAAQ,cAAgB,EAClCyT,EAAQ/W,EAAKA,EAAI+W,QAAQ,YAAa,eAChC/W,EAAIsD,QAAQ,gBAAkB,GACpCyT,EAAQ/W,EAAKA,EAAI+W,QAAQ,cAAe,iBARxCA,EAAQ/W,EAAKA,EAAI+W,QAAQ,QAAS,eAY1C,SAASA,EAAQ85c,EAAYC,GACzBn1b,EAAKm1b,GAAcn1b,EAAKk1b,UACjBl1b,EAAKk1b,IAwBpB,SAAS/hP,GAAS7hO,EAAIy0F,EAAM/wE,GAIxB,GAHA1jB,EAAKgI,EAAIg7G,YAAYhjH,GACrB0nH,EAAQm5V,kBAAkB7gd,GAEvBA,EAAGw0I,WAAax0I,EAAGw0I,UAAUW,QAC5B,OAAOz7H,QAAQC,QAAQ3Z,GAG3B,IAAI0uB,EAAO,GACX,GAAmB,kBAAT+lE,EACN/lE,EAAK+lE,GAAQ/wE,MACV,KAAG1b,EAAIuqD,cAAckiC,GAIxB,OADAzsF,EAAIq4B,KAAK,iBAAkBo0D,EAAM/wE,GAC1BhK,QAAQg8C,SAHfhnC,EAAO1mB,EAAIuM,WAAW,GAAIkgF,GAM3BviG,OAAO8mD,KAAKtqB,GAAM99B,SAAQoP,EAAG8oO,SAAU,GAE1C,IAAIlnG,EAAQkiV,GAAU9jd,EAAI0uB,GACtBjH,EAAQm6G,EAAMn6G,MAGfA,EAAMvjB,OAAMlE,EAAGisD,cAAWp7D,GAO7B,IAAI6uD,EAAM,CAAC3d,EAAMw0E,kBAEd9uF,EAAM6vZ,aACL53X,EAAIjrD,KAAK8nd,EAAYjlC,cACfplb,OAAO8mD,KAAKtqB,GAAM99B,SACxBmzd,GAA4B/jd,EAAIynB,EAAOm6G,IAAU7/F,EAAM99B,eAAejE,GAEnEynB,EAAMmgL,QAAQloJ,EAAIjrD,KAAK8nd,EAAYhlC,UACnC9vZ,EAAMu8b,aAAatka,EAAIjrD,KAAK8nd,EAAYvlC,cACxCvvZ,EAAMw8b,SAAS9C,GAAmBzha,EAAKkiF,EAAMsiV,eAC7Cz8b,EAAMrf,OAAOs3C,EAAIjrD,KAAK8nd,EAAY/kC,iBAClC/vZ,EAAMm9F,SAASllE,EAAIjrD,KAAK8nd,EAAY7kC,WACpCjwZ,EAAMjqB,QAAQkiD,EAAIjrD,KAAK8nd,EAAY5kC,UACnClwZ,EAAM25b,WAAW1ha,EAAIjrD,KAAK8nd,EAAYllC,aAEzC33X,EAAIjrD,KAAKspd,IAGbr+Z,EAAIjrD,KAAKstC,EAAM67a,QAAS77a,EAAM87a,QAE9B3hc,EAAM7O,IAAIrN,EACN6hO,GAAU,CAAC7hO,EAAI4hI,EAAMy/U,QACrBx/O,GAAU,CAAC7hO,EAAI4hI,EAAM0/U,SAGzB,IAAIxD,EAAW91c,EAAIm1C,YAAYuC,EAAK1/C,GAGpC,OAFI89c,GAAaA,EAASlvb,OAAMkvb,EAAWpkc,QAAQC,QAAQ3Z,IAEpD89c,EAASlvb,MAAK,WAEjB,OADA5uB,EAAGwuG,KAAK,kBAAmBozB,EAAMx6G,WAC1BpnB,KAMf,SAAS+jd,GAA4B/jd,EAAIynB,EAAOm6G,GAC5C,IAAIxqH,EAAapX,EAAGymB,YAEpB,IAAIgB,EAAMw8b,QAAS,OAAO,EAE1B,IAAI,IAAI7td,KAAKqxB,EACT,GAAS,YAANrxB,GAAmBqxB,EAAMrxB,GAAI,OAAO,EAG3C,IAAI,IAAI0+C,KAAQ8sF,EAAMsiV,cAAe,CACjC,IAAIx9X,EAAS3+E,EAAKq7B,QAAQ0R,GACtB8xC,EAAO5mF,EAAG84C,OAAO4tC,GACjBG,EAAQzvE,EAAWsvE,GAKvB,GAJAG,EAAMpjD,UAAYmjD,EAAKnjD,UACvBojD,EAAMx9E,MAAQu9E,EAAKv9E,MAAMzT,QACzBixF,EAAMY,aAEHZ,EAAMu3B,YACL,IAAI,IAAI1B,KAAS71B,EAAMu3B,YACnB,GAAG1B,IAAU5nE,EAAM,CACf,IAAI+B,EAAMz/B,EAAWrP,EAAKq7B,QAAQs5E,IAClC7lE,EAAIpT,UAAYojD,EAAMpjD,UACtBoT,EAAIxtC,MAAQw9E,EAAMx9E,MAAMzT,QACxBihD,EAAIzW,OAAO/2B,MAAQw9E,EAAMx9E,MAAMzT,SAM/C,OAAO,EAGX,SAASurd,GAAmBzha,EAAKwka,GAI7B,IAAI9yM,EAAW8yM,EACX,SAASlkd,GACL,IAAI2kC,EAAQ,GACRhX,GAAY,EAEhB,IAAI,IAAItwB,KAAM6md,EAAe,CACzB,IAAI3sc,EAAKxP,EAAKu3B,UAAUt/B,EAAI3C,GAG5B,GAFAsnC,EAAMlwC,KAAK4I,GAERka,EAAG6mG,YACF,IAAI,IAAIk8F,KAAO/iM,EAAG6mG,YACV8lW,EAAc5pQ,IACd31K,EAAMlwC,KAAK6lN,GAKpB/iM,EAAGipC,aAAY7yB,GAAY,GAGlC,OAAO5lB,EAAKxK,KAAKyC,EAAI2kC,EAAO,CAAChX,UAAWA,KAE5C,SAAS3tB,GACL,OAAO+H,EAAKxK,KAAKyC,EAAI,WAG7B0/C,EAAIjrD,KACAy8G,EACAqrW,EAAYtkC,0BACZ7mK,EACAmrM,EAAY1kC,SACZ0kC,EAAYpkC,WAIpB,IAAIgsC,GAAc,uCACdC,GAAkB,+BAClBC,GAAe,wCAEnB,SAASP,GAAU9jd,EAAI0uB,GACnB,IASIq8Z,EAAUp5b,EAAGsE,EATb6iD,EAAS94C,EAAG84C,OACZ1hC,EAAapX,EAAGymB,YAChBg7b,EAAcrqc,EAAW2qc,YACzBC,EAAWR,EAAOpqc,EAAWotM,QAASi9P,GACtCzoa,EAAO9mD,OAAO8mD,KAAKtqB,GACnB7lB,EAAOd,EAAKhS,KAAKiK,GACjBonB,EAAYpf,EAAImU,cAAc,GAAIuS,GAClC41b,EAAa,GASjB,IALArC,GAA6Bvzb,GAC7BsqB,EAAO9mD,OAAO8mD,KAAKtqB,GAIf/8B,EAAI,EAAGA,EAAIqnD,EAAKpoD,OAAQe,IACxB,GAAkC,IAA/BqnD,EAAKrnD,GAAG0E,QAAQ,WAAkB,CACjC,IAAIJ,EAAI,EAAGA,EAAI4S,EAAKjY,OAAQqF,IAAK,CAC7B,IAAIqG,EAAQuM,EAAK5S,GAAG43B,IAAIjqB,OAAO,GAC3B2gd,GAAwC,IAA5Bjod,EAAMjG,QAAQ,SAAoBiG,EAAQ,IAAO,GAC7Dkod,EAASxra,EAAKrnD,GAAGmY,QAAQ,UAAWy6c,EAAW17c,EAAK5S,GAAG04B,OAEvDD,EAAK81b,KAAS91b,EAAK81b,GAAU91b,EAAKsqB,EAAKrnD,YAGxC+8B,EAAKsqB,EAAKrnD,IAKzB,IAAI81B,EAAQm0Q,EAAU6oL,cAIlBnD,EAAS,GACTD,EAAS,GAMb,SAASkB,EAAQrpc,EAAMwK,GACnB,GAAGpuB,MAAM0J,QAAQka,GACbA,EAAKivC,SAAQ,SAASp3D,GAAKwxd,EAAQxxd,EAAG2yB,WAM1C,KAAGxK,KAAQwV,KAAQg5F,EAAQ86V,UAAU9zb,EAAMxV,GAA3C,CAEA,IAAI5lB,EAAI0ud,EAASlpa,EAAQ5/B,GACpBA,KAAQmoc,IACTA,EAAOnoc,GAAQqoc,EAAgBjud,EAAEjB,aAE1BxB,IAAR6yB,GAAmBpwB,EAAEgM,IAAIokB,IAMhC,IACIoxB,EADAova,EAAgB,GAGpB,SAASQ,EAAkBC,GACvB,IAAI7va,EAAO/sC,EAAKs7B,QAAQshb,EAAU9id,MAAM,KAAK,IAE7C,OADAqid,EAAcpva,GAAQ,EACfA,EAIX,IAAI,IAAIx8C,KAAMo2B,EAAM,CAChB,GAAGg5F,EAAQ86V,UAAU9zb,EAAMp2B,GACvB,MAAM,IAAI5C,MAAM,cAAgB4C,EAAK,0CAGzC,IAAIhF,EAAI0ud,EAASlpa,EAAQxgD,GACrBo2E,EAAKhgD,EAAKp2B,GACVssd,EAAOtxd,EAAE2uB,MAAMrxB,OAEfi0d,EAAOD,EAAO,EAClB,MAAMC,EAAO,GAA8B,kBAAlBvxd,EAAE2uB,MAAM4ic,GAAoBA,IAErD,IAAIC,EAAQxxd,EAAE2uB,MAAM4ic,GAEhBF,EAAYrxd,EAAE2uB,MAAM4ic,EAAO,GAAK,IAAMC,EAEtCC,EAASzxd,EAAE2uB,MAAMrsB,MAAM,EAAGivd,GAAMjwd,KAAK,KACrCo0b,EAAW7uY,EAAen6C,EAAG84C,OAAQisa,GAAQ1yd,MAC7C2yd,EAAa7qa,EAAe/iC,EAAY2tc,GAAQ1yd,MAChD4yd,EAAO3xd,EAAEjB,MAEb,QAAUxB,IAAP69E,EAAH,CAEA4yY,EAAOhpd,GAAMo2E,EAIb2yY,EAAO/od,GAAiB,YAAVwsd,EAAuBp2Y,EAAK6yY,EAAgB0D,GAE1D,IAAI3oL,EAAYr8H,EAAW0C,mBAAmBvrJ,EAAY9jB,EAAE2uB,OAE5D,GAAGq6Q,GAAaA,EAAUryQ,cAAuB,OAAPykD,EACtC,IAAI,IAAIu0Y,KAAc3mL,EAAUryQ,aAC5Bs4b,EAAQv6c,EAAI6pK,aAAav5K,EAAI2qd,GAAa3mL,EAAUryQ,aAAag5b,IASzE,IAAwC,IAArC,CAAC,QAAS,UAAU5sd,QAAQiC,GAC3B,GAAGo2E,EAAI,CACH6zY,EAAQ,WAAY,MAIpB,IAAI2C,EAAsB,WAAP5sd,EAAkB,QAAU,SAC/Ciqd,EAAQ2C,EAAc9tc,EAAW8tc,SAEjC9tc,EAAW9e,GAAM0H,EAAGmld,iBAAiB7sd,QAEtC,GAAU,aAAPA,EAENiqd,EAAQ,QAAS7zY,EAAK,KAAOt3D,EAAWzE,OACxC4vc,EAAQ,SAAU7zY,EAAK,KAAOt3D,EAAWqD,aACtC,GAAGkqc,EAAUvrc,MAAM+qc,IAGtBO,EAAkBC,GAClBxqa,EAAe/iC,EAAY2tc,EAAS,gBAAgBzld,IAAI,WACrD,GAAGqld,EAAUvrc,MAAMgrc,IAAkB,CACxCM,EAAkBC,GAClBxqa,EAAe/iC,EAAY2tc,EAAS,gBAAgBzld,IAAI,MACxD,IAAI8ld,EAASjra,EAAe/iC,EAAY2tc,GAAQ1yd,MAC7C+yd,EAAOh0K,eAGNg0K,EAAOhlb,OAAOghB,OAASgka,EAAOh0K,aAAax7S,cAEzC+ud,EAAUvrc,MAAMirc,KACtBlqa,EAAe/iC,EAAY2tc,EAAS,iBAAiBzld,IAAI,MAQ7D,GAAa,SAAVwld,EAAkB,CACjB,IAAIvtc,EAAKyxa,EACLhuU,EAA4B,WAApBgqW,EAAWrgd,MAA4B,QAAP+pE,EACxCosC,EAA8B,QAApBkqW,EAAWrgd,MAAyB,WAAP+pE,EAE3C,GAAGssC,GAASF,EAAS,CACjB,GAAIvjG,GAAOA,EAAGlO,MAKP,GAAI27c,EAAWvhb,UAoBZu3E,IAGNzjG,EAAGlO,MAASkO,EAAGlO,MAAM,GAAKkO,EAAGlO,MAAM,GAAM,CAAC,EAAG,GAAK,CAAC,EAAG,QAvBzB,CAG7B,IAAIonC,EAAKl5B,EAAGlO,MAAM,GACdurF,EAAKr9E,EAAGlO,MAAM,GACf2xG,GAEIvqE,GAAM,GAAKmkD,GAAM,GAChB2tX,EAAQwC,EAAS,cAAc,GAGhCt0a,GAAM,EAAGA,EAAKmkD,EAAK,IACdA,GAAM,IAAGA,EAAKnkD,EAAK,KAE3B8xa,EAAQwC,EAAS,YAAa3td,KAAK8lB,IAAIuzB,GAAMr5C,KAAK6yC,MAClDs4a,EAAQwC,EAAS,YAAa3td,KAAK8lB,IAAI03E,GAAMx9F,KAAK6yC,QAElDs4a,EAAQwC,EAAS,YAAa3td,KAAKw5B,IAAI,GAAI6f,IAC3C8xa,EAAQwC,EAAS,YAAa3td,KAAKw5B,IAAI,GAAIgkE,UAnB/C2tX,EAAQwC,EAAS,cAAc,GA6BhCzvd,MAAM0J,QAAQoY,EAAW4sB,UAAUy2R,QAClCrjT,EAAW4sB,UAAUy2R,MAAM7pU,QAC3BwmB,EAAW9jB,EAAE2uB,MAAM,KACJ,eAAf3uB,EAAE2uB,MAAM,WAED7K,EAAW9jB,EAAE2uB,MAAM,IAAI3K,SAASoyE,YAAY,oBAKvD9+D,EAASsa,mBAAmB,cAAe,gBAA3Cta,CAA4D5qB,EAAIgld,EAAYt2Y,EAAI6zY,GAChF33b,EAASsa,mBAAmB,SAAU,gBAAtCta,CAAuD5qB,EAAIgld,EAAYt2Y,EAAI6zY,QAI3EA,EAAQwC,EAAS,cAAc,GAC/BxC,EAAQwC,EAAS,SAAU,MAE/B5qa,EAAe/iC,EAAY2tc,EAAS,gBAAgBzld,IAAI,WACrD,GAAGwld,EAAM1rc,MAAM0gM,GAAkB,CACpC,IAAIurQ,GAAWlra,EAAe/iC,EAAY9e,GAAIjG,MAC1CuyL,IAAWl2G,GAAM,IAAI/pE,KAKrBigL,IAAuB,MAAZA,KAAiBA,GAAU,UAC1Ch6J,EAASsa,mBAAmB,cAAe,gBAA3Cta,CAA4D5qB,EAAIqld,GAAUzgS,GAAS29R,GACnF33b,EAASsa,mBAAmB,SAAU,gBAAtCta,CAAuD5qB,EAAIqld,GAAUzgS,GAAS29R,GASlF,IAAI7J,GAAsB4D,EAAa5D,oBAAoBpgd,GAC3D,GAAGogd,GAAqB,CACpB3tB,EAAW2tB,GAAoB3+a,MAC/BpoC,EAAI+md,GAAoBrkd,MACxB,IAAI88V,GAAUunH,GAAoBvld,SAC9Bmyd,GAAkBhpL,GAAa,CAACtnR,SAAU,QAErC,KAANrjB,GAAwB,KAAZw/V,KAIRmrH,EAAa3D,SAASjqY,GACrB2yY,EAAO/od,GAAM,KACPgkd,EAAa1D,YAAYlqY,GAC/B2yY,EAAO/od,IAAO6hD,EAAerB,EAAQiyY,GAAU14b,OAAS,IAAIV,GAE5DqW,EAAIq4B,KAAK,iCAAkC3R,IAGnDktQ,EAAU5+R,OAAOyqB,EAAO69b,IAGpBhB,EAAWv5B,KAAWu5B,EAAWv5B,GAAY,IACjD,IAAIuuB,GAAWgL,EAAWv5B,GAAUp5b,GAChC2nd,KAAUA,GAAWgL,EAAWv5B,GAAUp5b,GAAK,IACnD2nd,GAASnoH,IAAWziR,SAEbhgD,EAAKp2B,OACI,YAAVwsd,GAGH97B,EAAS3/a,MAAO2/a,EAAS3/a,MAAMq3C,WAE9B6ha,EAAQwC,EAAS,cAAc,GAC/B/7B,EAAS3/a,MAAQ,CAAC,EAAG,IAGtB27c,EAAWvhb,UAAWhc,EAAMvjB,MAAO,EACjCujB,EAAMtjB,MAAO,IAEdiT,EAAWg0C,KAAK,iBAAmBh0C,EAAWg0C,KAAK,SAC3C,aAAP9yD,IACO,UAAPo2E,GAAyB,WAAPA,IACR,UAATu2Y,GAA6B,WAATA,GAGhB7tc,EAAWg0C,KAAK,QADtB3jC,EAAMtjB,MAAO,EAGPm4R,EAAWV,EAAU5+R,OAAOyqB,EAAO60Q,GACxC70Q,EAAMvjB,MAAO,EAElB5Q,EAAEgM,IAAIovE,KAKd,IAAIq8W,KAAYu5B,EAAY,CACxB,IAAIiB,GAAWjJ,EAAazD,2BAA2B74c,EACnDgid,EAASlpa,EAAQiyY,GAAWu5B,EAAWv5B,GAAWtja,EAAOu6b,GACzDuD,KAAU99b,EAAMtjB,MAAO,GAI/B,IAAIowM,GAAcn9L,EAAWs6R,uBAAyB,GACtD,IAAI58P,KAAQova,EACR,IAAIvyd,EAAI,EAAGA,EAAI4iN,GAAY3jN,OAAQe,IAAK,CACpC,IAAI8Q,GAAQ8xM,GAAY5iN,GACxB,GAAG8Q,GAAMqyC,GAOL,IAAI,IAAI0wa,MADR/9b,EAAMvjB,MAAO,EACQzB,GACbyhd,EAAcsB,MACdz9c,EAAKu3B,UAAUt/B,EAAIwld,IAAWpzK,uBAAwB,GAoB1E,OATGqzK,GAAezld,IAAO0uB,EAAKjU,QAAUiU,EAAK/b,SAAO8U,EAAMtjB,MAAO,IAE9DsjB,EAAMtjB,MAAQsjB,EAAMvjB,QACnBujB,EAAM6vZ,cAAe,GAMlB,CACH7vZ,MAAOA,EACPy8b,cAAeA,EACf7C,OAAQA,EACRC,OAAQA,EACRl6b,UAAWA,GASnB,SAASq+b,GAAezld,GACpB,IAAIoX,EAAapX,EAAGymB,YAChBi/b,EAAWtuc,EAAWzE,MACtBgzc,EAAYvuc,EAAWqD,OAK3B,OAFGza,EAAG84C,OAAOg7X,UAAU/xY,EAAM6jb,aAAa5ld,EAAIA,EAAG84C,OAAQ1hC,GAEjDA,EAAWzE,QAAU+yc,GAActuc,EAAWqD,SAAWkrc,EAkBrE,SAAS3od,GAAOgD,EAAI6ld,EAAaxwX,EAAcurX,GAI3C,GAHA5gd,EAAKgI,EAAIg7G,YAAYhjH,GACrB0nH,EAAQm5V,kBAAkB7gd,GAEvBA,EAAGw0I,WAAax0I,EAAGw0I,UAAUW,QAC5B,OAAOz7H,QAAQC,QAAQ3Z,GAGvBgI,EAAIuqD,cAAcszZ,KAAcA,EAAc,IAC9C79c,EAAIuqD,cAAc8iC,KAAeA,EAAe,IAEjDnjG,OAAO8mD,KAAK6sa,GAAaj1d,SAAQoP,EAAG8oO,SAAU,GAC9C52O,OAAO8mD,KAAKq8C,GAAczkG,SAAQoP,EAAG8oO,SAAU,GAElD,IAAI/wL,EAAS2vE,EAAQo5V,mBAAmB9gd,EAAI4gd,GAExCkF,EAAe/E,GAAS/gd,EAAIgI,EAAIuM,WAAW,GAAIsxc,GAAc9ta,GAC7Dgua,EAAeD,EAAar+b,MAE5Bu+b,EAAgBlC,GAAU9jd,EAAIgI,EAAIuM,WAAW,GAAI8gF,IACjD4wX,EAAgBD,EAAcv+b,OAG/Bs+b,EAAa7hd,MAAQ+hd,EAAc/hd,QAAMlE,EAAGisD,cAAWp7D,GACvDk1d,EAAa/E,gBAAgBt5V,EAAQs5V,eAAehhd,EAAI+3C,EAAQs9C,GAGnE,IAAI31C,EAAM,GAEPuma,EAAc3uC,aAGb53X,EAAIjrD,KAAK8nd,EAAYjlC,cACfyuC,EAAa9E,WACnBvha,EAAIjrD,KAAKlE,EAAQ4T,OAEjBu7C,EAAIjrD,KAAKstC,EAAMw0E,kBACfwtW,GAA4B/jd,EAAIimd,EAAeD,IAAkBjkb,EAAM99B,eAAejE,GAEnF+ld,EAAa3kd,OAAOs+C,EAAIjrD,KAAK8nd,EAAYrlC,eACzC6uC,EAAa3E,WAAa6E,EAAc7E,YAAW1ha,EAAIjrD,KAAK8nd,EAAYllC,aACxE4uC,EAAcr+Q,QAAQloJ,EAAIjrD,KAAK8nd,EAAYhlC,UAC3C0uC,EAAcjC,aAAatka,EAAIjrD,KAAK8nd,EAAYvlC,cAChDivC,EAAchC,SAAS9C,GAAmBzha,EAAKsma,EAAc9B,eAC7D+B,EAAc79c,OAAOs3C,EAAIjrD,KAAK8nd,EAAY/kC,iBAC1CyuC,EAAcrhW,SAASllE,EAAIjrD,KAAK8nd,EAAY7kC,WAC5CuuC,EAAczod,QAAQkiD,EAAIjrD,KAAK8nd,EAAY5kC,UAE9Cj4X,EAAIjrD,KAAKspd,IAGbr+Z,EAAIjrD,KAAKstC,EAAM67a,QAAS77a,EAAM87a,QAE9B3hc,EAAM7O,IAAIrN,EACNhD,GAAQ,CAACgD,EAAI8ld,EAAazE,OAAQ2E,EAAc3E,OAAQyE,EAAa/ta,QACrE/6C,GAAQ,CAACgD,EAAI8ld,EAAaxE,OAAQ0E,EAAc1E,OAAQwE,EAAa/ta,SAGzE,IAAI+la,EAAW91c,EAAIm1C,YAAYuC,EAAK1/C,GAGpC,OAFI89c,GAAaA,EAASlvb,OAAMkvb,EAAWpkc,QAAQC,QAAQ3Z,IAEpD89c,EAASlvb,MAAK,WAMjB,OALA5uB,EAAGwuG,KAAK,gBAAiB,CACrB5xG,KAAMkpd,EAAa1+b,UACnB0xB,OAAQkta,EAAc5+b,YAGnBpnB,KASf,SAASkmd,GAAQp8Y,GACb,OAAO,SAAqB9pE,GACxBA,EAAGymB,YAAYs7b,aAAc,EAC7B,IAAIzud,EAAIw2E,EAAK54E,MAAM,KAAMC,WAEzB,OADA6O,EAAGymB,YAAYs7b,aAAc,EACtBzud,GAOf,IAAI6yd,GAA0B,CAC1B,CAAC38N,QAAS,gBAAiBtwO,KAAM,qBACjC,CAACswO,QAAS,+CAGV,CAACA,QAAS,uBAAwBtwO,KAAM,sBACxC,CAACswO,QAAS,oBAAqBtwO,KAAM,sBAErC,CAACswO,QAAS,uBACV,CAACA,QAAS,4CACV,CAACA,QAAS,gDACV,CAACA,QAAS,6DACV,CAACA,QAAS,sCACV,CAACA,QAAS,6CAEV,CAACA,QAAS,kBAAmBtwO,KAAM,gBACnC,CAACswO,QAAS,wBAAyBtwO,KAAM,gBACzC,CAACswO,QAAS,gBAAiBtwO,KAAM,iBAKjCktc,GAAyB,CACzB,CAAC58N,QAAS,mBAAoBtwO,KAAM,qBAEpC,CAACswO,QAAS,sBAAuBtwO,KAAM,qBACvC,CAACswO,QAAS,uCACV,CAACA,QAAS,uBACV,CAACA,QAAS,WAQV,CAACA,QAAS,oBAEV,CAACA,QAAS,0BACV,CAACA,QAAS,mBAAoBtwO,KAAM,iBAGxC,SAASmtc,GAActzd,EAAKuzd,GACxB,IAAI,IAAI30d,EAAI,EAAGA,EAAI20d,EAAa11d,OAAQe,IAAK,CACzC,IAAIy4J,EAAOk8T,EAAa30d,GACpBynB,EAAQrmB,EAAIqmB,MAAMgxI,EAAKo/F,SAC3B,GAAGpwO,EACC,MAAO,CAAC4f,KAAM5f,EAAM,GAAIF,KAAMkxI,EAAKlxI,OAQ/C,SAASqtc,GAAUC,EAAS5jc,GACxB,IAAI6jc,EAAStsa,EAAev3B,EAAW4jc,GAASn0d,MAChD,QAAcxB,IAAX41d,EAAsB,OAAOA,EAEhC,IAAIxkc,EAAQukc,EAAQ3kd,MAAM,KAC1BogB,EAAMrrB,MACN,MAAMqrB,EAAMrxB,OAAS,EAGjB,GAFAqxB,EAAMrrB,MACN6vd,EAAStsa,EAAev3B,EAAWX,EAAMrtB,KAAK,KAAO,eAAevC,WACtDxB,IAAX41d,EAAsB,OAAOA,EAGpC,OAAO7jc,EAAUkiE,WAGrB,SAAS4hY,GAAyBhgc,EAAK5O,GACnC,IAAI,IAAInmB,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAChC,GAAGmmB,EAASnmB,GAAG2gH,WAAW5rF,MAAQA,EAAK,OAAO/0B,EAElD,OAAQ,EAGZ,SAASg1d,GAAqBjgc,EAAK9pB,EAAMmb,GACrC,IAAI,IAAIpmB,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IAC5B,GAAGiL,EAAKjL,GAAG+0B,MAAQA,EAAK,OAAO/0B,EAGnC,OAASiL,EAAKmb,IAAWnb,EAAKmb,GAAQ2O,KAAQ,EAAI3O,EAGtD,SAAS6uc,GAAU58Z,EAAIC,GACnB,IAAI48Z,EAAU7+c,EAAIuqD,cAAcvI,GAC5B88Z,EAAYxxd,MAAM0J,QAAQgrD,GAC9B,OAAG68Z,GAAWC,GAELD,GAAW7+c,EAAIuqD,cAActI,IAC7B68Z,GAAaxxd,MAAM0J,QAAQirD,KAC3BusH,KAAKC,UAAUzsH,KAAQwsH,KAAKC,UAAUxsH,GAExCD,IAAOC,EAGlB,SAAS88Z,GAAiBnqd,EAAMk8C,EAAQuT,EAAaC,GACjD,IACIv5D,EAAKyzd,EAASQ,EAAQP,EAAQrtc,EAAO6tc,EAAWC,EAAOpiU,EADvDqiU,EAAe76Z,EAAck4J,QAE7B4iQ,EAAuB,GACvBC,EAAmB,GACvB,IAAIt0d,KAAOo0d,EAAc,CAErB,GADA/tc,EAAQitc,GAActzd,EAAKozd,IACxB/sc,GAIC,GAHAotc,EAAUptc,EAAMF,MAASE,EAAM4f,KAAO,cACtCgub,EAAS7sa,EAAemS,EAAek6Z,GAASn0d,MAChDo0d,EAASO,GAAUT,GAAUC,EAAS1ta,GACnC2ta,GAAWA,IAAWO,IACrBC,EAAYE,EAAap0d,GACR,OAAdk0d,IAAoBA,OAAYp2d,GACnCq2d,EAAQ/sa,EAAerB,EAAQ/lD,GAC/B+xJ,EAASoiU,EAAM70d,MACZu0d,GAAU9hU,EAAQmiU,IAAY,MACfp2d,IAAXi0J,GAAuD,cAA/B/xJ,EAAI6Q,OAAO7Q,EAAInC,OAAS,IAC/Cw2d,EAAqB3yd,KAAK1B,EAAI6Q,OAAO,EAAG7Q,EAAInC,OAAS,KAEzDs2d,EAAM5nd,IAAIiid,EAAgBpna,EAAemS,EAAev5D,GAAKV,QAC7D,eAIR2V,EAAIq4B,KAAK,0BAA4BttC,UAKlCo0d,EAAap0d,GAEiB,WAAlCA,EAAI6Q,OAAO7Q,EAAInC,OAAS,EAAG,KAC1By2d,EAAiBt0d,EAAI6Q,OAAO,EAAG7Q,EAAInC,OAAS,IAAM,GAQ1D,IAAI,IAAIe,EAAI,EAAGA,EAAIy1d,EAAqBx2d,OAAQe,IAAK,CACjD,IAAI21d,EAASF,EAAqBz1d,GAClC,GAAG01d,EAAiBC,GAAS,CACzB,IAAIC,EAAQpta,EAAerB,EAAQwua,GAAQj1d,MACxCk1d,UAAcA,EAAM9jb,WAM/B,IAAI+jb,EAAiBl7Z,EAAckmD,aACnC,IAAI,IAAI9rF,KAAO8gc,EAAgB,CAC3B,IAEI7rP,EAFAppH,EAAci1W,EAAe9gc,GAC7BgiY,EAAW,KAEf,IAAI31Z,KAAOw/G,EAAa,CAGpB,IAAIm2S,EAAU,CACV,IAAI++D,EAAQf,GAAyBhgc,EAAK2lC,GAC1C,GAAGo7Z,EAAQ,EAAG,QAGHD,EAAe9gc,GACtB,MAEJ,IAAIorD,EAAYzlB,EAAYo7Z,GAC5B9rP,EAAY7pJ,EAAUwgC,WAEtB,IAAIo1W,EAAYf,GAAqBjgc,EAAK9pB,EAAM++N,EAAUtnO,OAC1D,GAAGqzd,EAAY,EAAG,QAEPF,EAAe9gc,GACtB,MAEJgiY,EAAW9rZ,EAAK8qd,GAIpB,GADAtuc,EAAQitc,GAActzd,EAAKqzd,IACxBhtc,GAWC,GAVGA,EAAMF,MACL8tc,EAAS7sa,EAAemS,EAAelzC,EAAMF,MAAM7mB,MACnDo0d,EAASO,GAAUT,GAAUntc,EAAMF,KAAM4/B,KAEzCkua,EAASrrP,EAAU72I,WAEnB2hY,EAAS/9D,EAAS5jU,gBACJj0F,IAAX41d,IAAsBA,EAAS3ta,EAAOgsC,aAG1C2hY,GAAUA,IAAWO,IACpBC,EAAY10W,EAAYx/G,GACP,OAAdk0d,IAAoBA,OAAYp2d,GACnCq2d,EAAQ/sa,EAAeuuW,EAAU31Z,GACjC+xJ,EAASoiU,EAAM70d,MACZu0d,GAAU9hU,EAAQmiU,IAAY,CAC7BC,EAAM5nd,IAAIiid,EAAgBpna,EAAewhL,EAAW5oO,GAAKV,QACzD,eAIR2V,EAAIq4B,KAAK,0BAA4BttC,EAAM,iBAAmB2zB,UAE3D6rF,EAAYx/G,KA4B/B,SAASmvO,GAAMliO,EAAIpD,EAAMk8C,EAAQj/B,GAC7B,IAAI6gN,EAAQojP,EAEZ,SAASr7O,IAAc,OAAOlyO,EAAQkyO,UAAUziO,EAAI06N,GAEpD16N,EAAKgI,EAAIg7G,YAAYhjH,GACrB0nH,EAAQm5V,kBAAkB7gd,GAE1B,IAAIqsD,EAAcrsD,EAAGw3C,UACjB8U,EAAgBtsD,EAAGymB,YAGvB,GAAIze,EAAIm7G,UAAUnjH,IAAQqsD,GAAgBC,EAEnC,CACH,GAAGtkD,EAAIuqD,cAAc31D,GAAO,CACxB,IAAImyB,EAAMnyB,EACVA,EAAOmyB,EAAInyB,KACXk8C,EAAS/pB,EAAI+pB,OACbj/B,EAASkV,EAAIlV,OACb6gN,EAAS3rM,EAAI2rM,OAGjB,IAAIitP,GAAgB,EAGpB,GAAG9tc,EAAQ,CACP,IAAI+tc,EAAY5/c,EAAIoiH,WAAW,GAAIpqH,EAAG+Y,UACtC/Y,EAAG+Y,cAAWloB,EACd8rd,EAAe38c,EAAI6Z,GACnB8tc,EAAgBE,GAAWD,EAAW5nd,EAAG+Y,UAG7C/Y,EAAGpD,KAAOA,GAAQ,GAClB8qH,EAAQm1V,UAAU78c,EAAGpD,MACrBoD,EAAG84C,OAASA,GAAU,GACtB4uE,EAAQo1V,YAAY98c,EAAG84C,QAEvBiua,GAAiB/md,EAAGpD,KAAMoD,EAAG84C,OAAQuT,EAAaC,GAKlDvqB,EAAM99B,eAAejE,EAAI,CAAC8nd,gBAAgB,IAE1C,IAAI37Z,EAAcnsD,EAAGw3C,UACjB4U,EAAgBpsD,EAAGymB,YACnBshc,OAA2Cl3d,IAA/Bu7D,EAAco9X,aAC1B9nb,EAAa0qD,EAAc1qD,WAE3Bukd,EAAgB+B,GAAWhod,EAAIssD,EAAeF,EAAe27Z,EAAWrmd,GACxEumd,EAAkBhC,EAAcgC,gBAChClC,EAAemC,GAASlod,EAAIqsD,EAAaF,EAAa47Z,EAAWrmd,EAAYumd,GAW9ExC,GAAezld,KAAKimd,EAAc3uC,cAAe,GAGjDyuC,EAAa7hd,MAAQ+hd,EAAc/hd,KAAMlE,EAAGisD,cAAWp7D,EAErDkxC,EAAMomb,yBAAyBnod,EAAGisD,SAAUE,GAMjD,IAAIzM,EAAM,GAYV,GAVGg7K,IACC16N,EAAGurB,gBAAkB,GACrBwW,EAAMqmb,qBAAqBpod,GAC3B0/C,EAAIjrD,KAAKguO,IAOVr2K,EAAc1qD,aAAeimd,IAAkB5B,EAAapnY,MAAQsnY,EAActnY,MACjF58C,EAAMk7a,WAAWj9c,GACjBu8c,EAAYtkC,0BAA0Bj4a,GAEtC0/C,EAAIjrD,MAAK,WACL,OAAOstC,EAAMsmb,oBAAoBrod,EAAI+ld,EAAcE,EAAe35Z,WAEnE,GAAGy5Z,EAAa9E,YAAcgF,EAAc3uC,cAAgBqwC,EAC/D3nd,EAAGymB,YAAY6hc,eAAgB,EAC/B5oa,EAAIjrD,KAAKlE,EAAQ4T,UACd,CACH,IAAI,IAAI40c,KAAiBkN,EAAc3ob,OAAQ,CAC3C,IAAI6H,EAAU8gb,EAAc3ob,OAAOy7a,GACnC,GAAG5za,EAAQv0C,OAAQ,CACf,IAAI88B,EAAU9C,EAASsa,mBAAmB6za,EAAe,WACzD,GAAGrrb,IAAY1lB,EAAIw0D,KACf,IAAI,IAAI7qE,EAAI,EAAGA,EAAIwzC,EAAQv0C,OAAQe,IAC/B+7B,EAAQ1tB,EAAImlC,EAAQxzC,QAErB,CACH,IAAI4L,EAAOqtB,EAASsa,mBAAmB6za,EAAe,QACtD,GAAGx7c,IAASyK,EAAIw0D,KACZ,MAAM,IAAI9mE,MAAM,2BAA6Bqjd,GAEjDx7c,EAAKyC,KAKjB0/C,EAAIjrD,KAAKstC,EAAMw0E,kBACZwvW,EAAa3kd,OAAOs+C,EAAIjrD,KAAK8nd,EAAYrlC,eACzC6uC,EAAa3E,WAAa6E,EAAc7E,YAAW1ha,EAAIjrD,KAAK8nd,EAAYllC,aACxE4uC,EAAcr+Q,QAAQloJ,EAAIjrD,KAAK8nd,EAAYhlC,UAC3C0uC,EAAcjC,aAAatka,EAAIjrD,KAAK8nd,EAAYvlC,cAChDivC,EAAchC,SAAS9C,GAAmBzha,GAC1Cuma,EAAc79c,OAAOs3C,EAAIjrD,KAAK8nd,EAAY/kC,iBAC1CyuC,EAAcrhW,SAASllE,EAAIjrD,KAAK8nd,EAAY7kC,WAC5CuuC,EAAczod,QAAQkiD,EAAIjrD,KAAK8nd,EAAY5kC,UAC9Cj4X,EAAIjrD,KAAKspd,GAGbr+Z,EAAIjrD,KAAKstC,EAAM67a,QAAS77a,EAAM87a,QAE9BC,EAAW91c,EAAIm1C,YAAYuC,EAAK1/C,GAC5B89c,GAAaA,EAASlvb,OAAMkvb,EAAWpkc,QAAQC,QAAQ3Z,SArH3D89c,EAAWvtd,EAAQoxO,QAAQ3hO,EAAIpD,EAAMk8C,EAAQj/B,GAwHjD,OAAOikc,EAASlvb,MAAK,WAMjB,OALA5uB,EAAGwuG,KAAK,eAAgB,CACpB5xG,KAAMA,EACNk8C,OAAQA,IAGL94C,KAIf,SAASkod,GAASlod,EAAIqsD,EAAaF,EAAa47Z,EAAWrmd,EAAYumd,GACnE,IAAIM,EAAkBl8Z,EAAYz7D,SAAWu7D,EAAYv7D,OAEzD,IAAI8Q,IAAe6md,EACf,MAAO,CACHtH,YAAY,EACZ/8c,MAAM,GAId,IAKIvS,EAAGsO,EALHwnB,EAAQm0Q,EAAUsmL,aAOtB,SAASr/S,EAAkB5gJ,GACvB,IAAI3Q,EAAM2uJ,EAAW4C,kBAAkB5iK,EAAOgiB,GAI9C,OAHIhiB,EAAMkjF,QAAQ97D,YAAc/V,EAAIqtE,OAChCrtE,EAAIqtE,MAAO,GAERrtE,EAXXmW,EAAM6V,OAAS,GACf7V,EAAM+gc,SAAW,EACjB/gc,EAAMghc,aAAe,EAYrB,IAAIC,EAAW,CACXC,aAAc9lT,EACdp7I,MAAOA,EACPsgc,UAAWA,EACXrmd,WAAYA,EACZumd,gBAAiBA,EACjBjod,GAAIA,GAGJ4od,EAAW,GAEf,IAAIj3d,EAAI,EAAGA,EAAI06D,EAAYz7D,OAAQe,IAC/B,GAAGw6D,EAAYx6D,GAAI,CAGf,GAFAsO,EAAQksD,EAAYx6D,GAAG2gH,WACpBvwE,EAAM8mb,sBAAsB5od,KAAQA,EAAQksD,EAAYx6D,IACxDi3d,EAAS3od,EAAMymB,KAAM,SACxBkic,EAAS3od,EAAMymB,KAAO,EAEtBoic,GAAaz8Z,EAAY16D,GAAG2gH,WAAYryG,EAAO,GAAIyod,GAY3D,OARGjhc,EAAMvjB,MAAQujB,EAAMtjB,QACnBsjB,EAAMw5b,YAAa,GAGpBv/c,GAAc+lB,EAAM+gc,UAAY/gc,EAAMghc,eACrChhc,EAAMk3D,KAAQl3D,EAAM+gc,WAAa/gc,EAAMghc,cAAiBF,EAAkB,MAAQ,QAG/E9gc,EAGX,SAASugc,GAAWhod,EAAIssD,EAAeF,EAAe27Z,EAAWrmd,GAC7D,IAAI+lB,EAAQm0Q,EAAU6oL,cAMtB,SAAS9hT,EAAmB1gJ,GACxB,OAAOg+I,EAAW0C,mBAAmBv2G,EAAenqC,GANxDwF,EAAM6V,OAAS,GACf7V,EAAMy8b,cAAgB,GACtBz8b,EAAM+gc,SAAW,EACjB/gc,EAAMghc,aAAe,EAMrB,IAAIC,EAAW,CACXC,aAAchmT,EACdl7I,MAAOA,EACPsgc,UAAWA,EACXrmd,WAAYA,EACZ1B,GAAIA,GAaR,OAVA8od,GAAax8Z,EAAeF,EAAe,GAAIs8Z,IAE5Cjhc,EAAMtjB,MAAQsjB,EAAMvjB,QACnBujB,EAAM6vZ,cAAe,GAGtB51a,GAAc+lB,EAAM+gc,UAAY/gc,EAAMghc,eACrChhc,EAAMk3D,KAAOl3D,EAAM+gc,WAAa/gc,EAAMghc,aAAe,MAAQ,QAG1Dhhc,EAGX,SAASqhc,GAAaC,EAAclkY,EAAcmkY,EAAYpqc,GAC1D,IAAI09Q,EAAWvpS,EAAK0hG,EAEhBk0X,EAAe/pc,EAAK+pc,aACpBlhc,EAAQ7I,EAAK6I,MACbsgc,EAAYnpc,EAAKmpc,UACjBkB,EAAUrqc,EAAKqqc,QACfC,EAAatqc,EAAKsqc,WAEtB,SAASpgP,IACL,IAAI9zN,EAAWsnR,EAAUtnR,SACtBi0c,IAA8C,IAAnCj0c,EAAS3e,QAAQ,aAC3B2R,EAAIuiL,WAAW9iK,EAAM6V,OAAO2rb,GAAUC,IAG1CttL,EAAU5+R,OAAOyqB,EAAO60Q,GAER,SAAbtnR,GACCyS,EAAM+gc,WAIP5pc,EAAKld,YAAc46R,EAAU39M,MAC5Bl3D,EAAMghc,gBAIPtE,GAAY9zd,KAAKokG,IAAS2vX,GAAgB/zd,KAAKokG,MAC9ChtE,EAAMy8b,cAAc8E,EAAW,IAAM,GAItC3E,GAAah0d,KAAKokG,IACjBt6C,EAAe0qC,EAAc,gBAAgBvlF,IAAI,MAI1C,iBAARvM,IACC00B,EAAMwgc,gBAAkB,IAIhC,SAASkB,EAAwB7sL,GAC7B,MAA6B,eAAtBA,EAAU3nR,SAA4B2nR,EAAU5mR,QAG3D,IAAI3iB,KAAOg2d,EAAc,CAErB,GAAGthc,EAAMvjB,OAAS0a,EAAKld,WAAY,OAEnC,IAAI++J,EAASsoT,EAAah2d,GACtB+xJ,EAASjgE,EAAa9xF,GACtBkvB,EAAQ+mc,EAAW5vd,OAAOrG,GAG9B,GAFA0hG,EAAOxyE,EAAMrtB,KAAK,KAEG,MAAlB7B,EAAIqtB,OAAO,IAAgC,oBAAXqgJ,GAAyBA,IAAW3b,EAAvE,CAKA,IAAY,UAAR/xJ,GAA2B,UAARA,IAAsC,QAAlBi2d,EAAW,GAAc,CAChE,IAAII,EAAWvkY,EAAar7E,SAC5B,GAAgB,SAAb4/c,GAAoC,UAAbA,IAAyBA,EAAU,SAIjE,IAAW,UAARr2d,IAAmB8xF,EAAaphD,aACvB,SAAR1wC,GAA0B,SAARA,GAAyC,kBAAtB8xF,EAAalgF,QAEtD23R,EAAYqsL,EAAa1mc,GAGrBq6Q,KAEDA,EAAUktH,gBAAkBhzO,KAAKC,UAAUhW,KAAY+V,KAAKC,UAAU3xB,KAAzE,CAEA,IACInzJ,EADAgjB,EAAU2nR,EAAU3nR,QAGpB00c,EAAiBF,EAAwB7sL,GACzCgtL,EAAWh0d,MAAM0J,QAAQyhK,GACzB8oT,EAAWj0d,MAAM0J,QAAQ8lJ,GAI7B,GAAGwkU,GAAYC,EAAU,CACrB,IAAIC,EAAW,UAAYz2d,EACvB02d,EAAWV,EAAaS,GACxBE,EAAW7kY,EAAa2kY,GAC5B,GAAGl0d,MAAM0J,QAAQyqd,IAAaA,IAAaC,EAAU,SAGzD,QAAc74d,IAAXi0J,EACIukU,GAAkBC,EAAU7hc,EAAMvjB,MAAO,EACvC4kO,SACF,GAAGwzD,EAAUv6H,iBAAkB,CAClC,IAAI4nT,EAAmB,GACnBC,GAAe,EACfX,IAASxhc,EAAM6V,OAAOvqC,GAAO42d,GAEjC,IAAIpyP,EAASngO,KAAKoC,IAAIinK,EAAO7vK,OAAQk0J,EAAOl0J,QACxCkvY,EAAS1oY,KAAKqC,IAAIgnK,EAAO7vK,OAAQk0J,EAAOl0J,QAC5C,GAAG2mO,IAAWuoK,EAAQ,CAClB,GAA0B,cAAvBxjG,EAAUtnR,SAEN,CACH8zN,IACA,SAHA8gP,GAAe,EAOvB,IAAIj4d,EAAI,EAAGA,EAAI4lO,EAAQ5lO,IACnBm3d,GAAaroT,EAAO9uK,GAAImzJ,EAAOnzJ,GAAIswB,EAAM7oB,OAAOzH,GAE5CqW,EAAIuM,WAAW,CAAC00c,QAASl2d,EAAKm2d,WAAYv3d,GAAIitB,IAMtD,GAAGgrc,EACC,IAAIj4d,EAAI4lO,EAAQ5lO,EAAImuY,EAAQnuY,IACxBg4d,EAAiBl1d,KAAK9C,QAGvBgjB,GAAW3M,EAAIuqD,cAAckuG,GACpCqoT,GAAaroT,EAAQ3b,EAAQ7iI,EAAOrD,GAC9Byqc,EACHC,GAAYC,GAGRxB,IACCtgc,EAAMvjB,MAAO,IAId6jd,GAAanpc,EAAKqpc,kBACjBn/O,KAEEwgP,IAAaC,EACnB9hc,EAAMvjB,MAAO,EACV4kO,IACDwgP,GAAYC,GAKf9oT,EAAO7vK,SAAWk0J,EAAOl0J,QAAUJ,OAAOiwK,KAAYjwK,OAAOs0J,IAIhEgkF,MAIR,IAAI/1O,KAAO8xF,EACP,KAAK9xF,KAAOg2d,IAAkC,MAAlBh2d,EAAIqtB,OAAO,IAA2C,oBAAtBykE,EAAa9xF,GAAsB,CAG3F,GAFAupS,EAAYqsL,EAAaK,EAAW5vd,OAAOrG,IAExCo2d,EAAwB7sL,IAAchnS,MAAM0J,QAAQ6lF,EAAa9xF,IAEhE,YADA00B,EAAMvjB,MAAO,GAEV4kO,KAQnB,SAAS++O,GAAWD,EAAWiC,GAC3B,IAAI92d,EAEJ,IAAIA,KAAO60d,EACP,GAAqB,MAAlB70d,EAAIqtB,OAAO,GAAd,CACA,IAAIqgJ,EAASmnT,EAAU70d,GACnB+xJ,EAAS+kU,EAAU92d,GACvB,GAAG0tK,IAAW3b,EACV,GAAG98I,EAAIuqD,cAAckuG,IAAWz4J,EAAIuqD,cAAcuyF,IAC9C,GAAG+iU,GAAWpnT,EAAQ3b,GAClB,OAAO,MAER,KAAGxvJ,MAAM0J,QAAQyhK,KAAWnrK,MAAM0J,QAAQ8lJ,GAgB7C,OAAO,EAfP,GAAG2b,EAAO7vK,SAAWk0J,EAAOl0J,OACxB,OAAO,EAEX,IAAI,IAAIe,EAAI,EAAGA,EAAI8uK,EAAO7vK,OAAQe,IAC9B,GAAG8uK,EAAO9uK,KAAOmzJ,EAAOnzJ,GAAI,CACxB,IAAGqW,EAAIuqD,cAAckuG,EAAO9uK,MAAOqW,EAAIuqD,cAAcuyF,EAAOnzJ,IAKxD,OAAO,EAJP,GAAGk2d,GAAWpnT,EAAO9uK,GAAImzJ,EAAOnzJ,IAC5B,OAAO,KAyCvC,SAASgxO,GAAQ3iO,EAAI8pd,EAA6BC,GAG9C,GAFA/pd,EAAKgI,EAAIg7G,YAAYhjH,IAEjBgI,EAAIm7G,UAAUnjH,GACd,MAAM,IAAItK,MACN,sCAAwCsK,EAAxC,uIAMR,IAAI+qQ,EAAQ/qQ,EAAGurB,gBAIXw/O,EAAMi/M,cACNj/M,EAAMi/M,YAAc,IAGxBD,EAAgBhob,EAAMkob,wBAAwBF,GAC9C,IAAIj/b,EAAiBi/b,EAAcrod,WAC/Bwod,EAAYH,EAAch5Z,MAU9B,SAASo5Z,EAAkBx4d,GACvB,OAAG2D,MAAM0J,QAAQ8rB,GACVn5B,GAAKm5B,EAAel6B,OACZk6B,EAAe,GAEfA,EAAen5B,GAGnBm5B,EAIf,SAASs/b,EAAaz4d,GAClB,OAAG2D,MAAM0J,QAAQkrd,GACVv4d,GAAKu4d,EAAUt5d,OACPs5d,EAAU,GAEVA,EAAUv4d,GAGdu4d,EASf,SAASG,EAAkB5sT,EAAIxqK,GAC3B,IAAI69C,EAAM,EACV,OAAO,WACH,GAAG2sH,KAAQ3sH,IAAQ79C,EACf,OAAOwqK,KAKnB,YA1C8B5sK,IAA3Bk6Q,EAAMu/M,mBACLv/M,EAAMu/M,iBAAmB,GAyCtB,IAAI5wc,SAAQ,SAASC,EAAS+7C,GACjC,SAAS60Z,IACL,GAAgC,IAA7Bx/M,EAAMi/M,YAAYp5d,OAArB,CAIA,MAAMm6Q,EAAMi/M,YAAYp5d,OAAQ,CAC5B,IAAIm3D,EAAOgjN,EAAMi/M,YAAYpzd,MAC1BmxD,EAAKyia,aACJzia,EAAKyia,cAIbxqd,EAAGwuG,KAAK,8BAA+B,KAG3C,SAASi8W,EAAYC,GACjB,GAAwB,IAArBA,EAAU95d,OAAb,CAEA,IAAI,IAAIe,EAAI,EAAGA,EAAI+4d,EAAU95d,OAAQe,IAAK,CACtC,IAAIg5d,EAIAA,EAFqB,WAAtBD,EAAU/4d,GAAGgT,KAEIo9B,EAAM6ob,aAAa5qd,EAAI0qd,EAAU/4d,GAAGI,MAIpC24d,EAAU/4d,GAAGiL,KAGjC,IAAIstd,EAAYE,EAAaz4d,GACzBm5B,EAAiBq/b,EAAkBx4d,GAIvCm5B,EAAehpB,SAAW1K,KAAKoC,IAAIsxB,EAAehpB,SAAUood,EAAUpod,UAEtE,IAAI+od,EAAY,CACZ95Z,MAAO45Z,EACP54d,KAAM24d,EAAU/4d,GAAGI,KACnBm4d,UAAWA,EACXp/b,eAAgBA,GAEjBn5B,IAAM+4d,EAAU95d,OAAS,IAMxBi6d,EAAU7/b,WAAaq/b,EAAkB1wc,EAAS,GAClDkxc,EAAUL,YAAc90Z,GAG5Bq1M,EAAMi/M,YAAYv1d,KAAKo2d,GAOD,cAAvBd,EAAcp3d,OACbo4Q,EAAM+/M,cAAgBlvd,KAQtBmvQ,EAAMggN,eACNC,KAIR,SAASC,IACLjrd,EAAGwuG,KAAK,mBAGR3pF,OAAO4G,qBAAqBs/O,EAAMggN,eAClChgN,EAAMggN,cAAgB,KAG1B,SAASF,IACF9/M,EAAMmgN,eAAiBngN,EAAMmgN,cAAclgc,YAG1C+/O,EAAMmgN,cAAclgc,aAGxB,IAAImgc,EAAWpgN,EAAMmgN,cAAgBngN,EAAMi/M,YAAYtoa,QAEvD,GAAGypa,EAAU,CAIT,IAAIC,EAAaD,EAASp5d,KAAOo5d,EAASp5d,KAAKgc,WAAa,KAC5D/N,EAAGymB,YAAYykc,cAAgBE,EAE/BrgN,EAAM+/M,aAAe58c,KAAKyd,MAC1Bo/O,EAAMsgN,YAAcF,EAASjB,UAAUpod,SAKvCigC,EAAMrgC,WAAW1B,EACbmrd,EAASp6Z,MAAMn0D,KACfuud,EAASp6Z,MAAMjY,OACf4uE,EAAQo5V,mBAAmB9gd,EAAImrd,EAASp6Z,MAAMhZ,QAC9Coza,EAASjB,UACTiB,EAASrgc,gBACX8D,MAAK,WACAu8b,EAASngc,YACRmgc,EAASngc,gBAIjBhrB,EAAGwuG,KAAK,wBAAyB,CAC7Bz8G,KAAMq5d,EACNr6Z,MAAOo6Z,EAASp6Z,MAChB+sO,UAAW,CACP/sO,MAAOo6Z,EAASjB,UAChBxod,WAAYypd,EAASrgc,uBAK7Bmgc,IAIR,SAASD,IACLhrd,EAAGwuG,KAAK,oBAIRu8J,EAAM+/M,cAAgBlvd,IACtBmvQ,EAAMsgN,YAAc,EACpBtgN,EAAMugN,oBAAsB,EAC5BvgN,EAAMmgN,cAAgB,KAEtB,IAAIr/b,EAAU,WAGVk/O,EAAMggN,cAAgBlmc,OAAO+G,sBAAsBC,GAGhD3d,KAAKyd,MAAQo/O,EAAM+/M,aAAe//M,EAAMsgN,aACvCR,KAIRh/b,IAKJ,IAgBIl6B,EAAGo/D,EAhBHw6Z,EAAgB,EACpB,SAASC,EAAoBz6Z,GAWzB,OAVGz7D,MAAM0J,QAAQ8rB,GACVygc,GAAiBzgc,EAAel6B,OAC/BmgE,EAAMjmC,eAAiBA,EAAeygc,GAEtCx6Z,EAAMjmC,eAAiBA,EAAe,GAG1CimC,EAAMjmC,eAAiBA,EAE3Bygc,IACOx6Z,EAKX,IAAI25Z,EAAY,GACZe,OAA4C56d,IAAhCi5d,GAA6E,OAAhCA,EACzD4B,EAAep2d,MAAM0J,QAAQ8qd,GAC7B6B,GAAiBF,IAAcC,GAAgB1jd,EAAIuqD,cAAcu3Z,GAErE,GAAG6B,EAECjB,EAAUj2d,KAAK,CACXkQ,KAAM,SACN/H,KAAM4ud,EAAoBxjd,EAAIuM,WAAW,GAAIu1c,WAE9C,GAAG2B,IAAmF,IAAtE,CAAC,SAAU,UAAUp1d,eAAeyzd,GAGvD,IAAIn4d,EAAI,EAAGA,EAAIo5Q,EAAMpwC,QAAQ/pO,OAAQe,IACjCo/D,EAAQg6M,EAAMpwC,QAAQhpO,GAElBo/D,IAED06Z,GAAaj7d,OAAOugE,EAAMtuD,SAAWjS,OAAOs5d,KAC3CY,EAAUj2d,KAAK,CACXkQ,KAAM,SACN5S,KAAMvB,OAAOugE,EAAMh/D,MACnB6K,KAAM4ud,EAAoB,CAACz5d,KAAMg/D,EAAMh/D,cAIhD,GAAG25d,EACN,IAAI/5d,EAAI,EAAGA,EAAIm4d,EAA4Bl5d,OAAQe,IAAK,CACpD,IAAIi6d,EAAc9B,EAA4Bn4d,IACW,IAAtD,CAAC,SAAU,UAAU0E,eAAeu1d,IACnCA,EAAcp7d,OAAOo7d,GAErBlB,EAAUj2d,KAAK,CACXkQ,KAAM,SACN5S,KAAM65d,EACNhvd,KAAM4ud,EAAoB,CAACz5d,KAAM65d,OAE/B5jd,EAAIuqD,cAAcq5Z,IACxBlB,EAAUj2d,KAAK,CACXkQ,KAAM,SACN/H,KAAM4ud,EAAoBxjd,EAAIuM,WAAW,GAAIq3c,MAO7D,IAAIj6d,EAAI,EAAGA,EAAI+4d,EAAU95d,OAAQe,IAE7B,GADAo/D,EAAQ25Z,EAAU/4d,GACA,WAAfo/D,EAAMpsD,OAAsBomQ,EAAM8gN,WAAW96Z,EAAMn0D,KAAK7K,MAGvD,OAFAiW,EAAIq4B,KAAK,sCAAwC0wB,EAAMn0D,KAAK7K,KAAO,UACnE2jE,KAOkD,IAAvD,CAAC,OAAQ,aAAar/D,QAAQ0zd,EAAcp3d,OAC3C43d,IAG2B,YAA5BR,EAAc7+Y,WACbw/Y,EAAUhqa,UAGd,IAAIora,EAAe9rd,EAAGymB,YAAYykc,cAClC,GAAGY,GAAgB/B,EAAcx7M,YAAa,CAC1C,IAAIj4O,GAAO,EACX,IAAI3kC,EAAI,EAAGA,EAAI+4d,EAAU95d,OAAQe,IAE7B,GADAo/D,EAAQ25Z,EAAU/4d,GACA,WAAfo/D,EAAMpsD,MAAqBosD,EAAMh/D,OAAS+5d,EAAc,CACvDx1b,EAAM3kC,EACN,MAIR,GAAG2kC,EAAM,GAAKA,EAAMo0b,EAAU95d,OAAS,EAAG,CACtC,IAAIm7d,EAAoB,GACxB,IAAIp6d,EAAI,EAAGA,EAAI+4d,EAAU95d,OAAQe,IAC7Bo/D,EAAQ25Z,EAAU/4d,IACO,WAAtB+4d,EAAU/4d,GAAGgT,MAAqBhT,EAAI2kC,IACrCy1b,EAAkBt3d,KAAKs8D,GAG/B25Z,EAAYqB,GAIjBrB,EAAU95d,OAAS,EAClB65d,EAAYC,IAIZ1qd,EAAGwuG,KAAK,mBACR70F,QAwBZ,SAAS8oN,GAAUziO,EAAI0qd,EAAWvlb,GAG9B,GAFAnlC,EAAKgI,EAAIg7G,YAAYhjH,GAEJ,OAAd0qd,QAAoC75d,IAAd65d,EACrB,OAAOhxc,QAAQC,UAGnB,IAAI3R,EAAIm7G,UAAUnjH,GACd,MAAM,IAAItK,MACN,sCAAwCsK,EAAxC,wIAMR,IAAIrO,EAAGo/D,EAAO96D,EAAGqgC,EACbqkM,EAAU36N,EAAGurB,gBAAgBovM,QAC7BkxP,EAAa7rd,EAAGurB,gBAAgBsgc,WAGpC,IAAIv2d,MAAM0J,QAAQ0rd,GACd,MAAM,IAAIh1d,MAAM,qEAAuEg1d,GAQ3F,IAAIsB,EAAWrxP,EAAQ/pO,OAA4B,EAAnB85d,EAAU95d,OAEtCq7d,EAAa,GACbC,EAAkB,GACtB,IAAIv6d,EAAI+4d,EAAU95d,OAAS,EAAGe,GAAK,EAAGA,IAClC,GAAIqW,EAAIuqD,cAAcm4Z,EAAU/4d,IAAhC,CAIA,IAAIw6d,EAAazB,EAAU/4d,GAAGI,KAC1BA,GAAQ85d,EAAWM,IAAeD,EAAgBC,IAAe,IAAIp6d,KACrE2pO,EAAUgvP,EAAU/4d,GAAGI,KACvBq6d,EAAmBP,EAAW95d,IAASm6d,EAAgBn6d,GAExDA,GAAQ2pO,GAA8B,kBAAZA,GAAwB0wP,GAAoB5P,EAA0BC,IAC/FD,IAEAx0c,EAAIq4B,KAAK,kCAAoCwrb,EAAW95d,IAASm6d,EAAgBn6d,IAAOA,KACpF,+DACAA,EAFK,sIAMNyqd,IAA4BC,GAC3Bz0c,EAAIq4B,KAAK,+JAMjB6rb,EAAgBC,GAAc,CAACp6d,KAAMo6d,GAErCF,EAAWx3d,KAAK,CACZs8D,MAAOhvB,EAAMsqb,oBAAoB3B,EAAU/4d,IAC3C0C,MAAQ8wC,QAA0Bt0C,IAAfs0C,EAAQxzC,IAAmC,OAAfwzC,EAAQxzC,GAAewzC,EAAQxzC,GAAKq6d,EAAWr6d,IAKtGs6d,EAAW5zd,MAAK,SAAStH,EAAGC,GACxB,OAAGD,EAAEsD,MAAQrD,EAAEqD,OAAe,EAC3BtD,EAAEsD,MAAQrD,EAAEqD,MAAc,EACtB,KAGX,IAAIu3H,EAAM,GACN0gW,EAAS,GACTC,EAAa5xP,EAAQ/pO,OAEzB,IAAIe,EAAIs6d,EAAWr7d,OAAS,EAAGe,GAAK,EAAGA,IAAK,CAQxC,GAPAo/D,EAAQk7Z,EAAWt6d,GAAGo/D,MAEG,kBAAfA,EAAMh/D,MACZiW,EAAIq4B,KAAK,wGAIT0wB,EAAMh/D,KAGN,MAAM85d,EAAY96Z,EAAMh/D,KAAO,SAAWiO,EAAGurB,gBAAgBihc,aAGjE,GAAGX,EAAW96Z,EAAMh/D,MAAO,CAEvB,IAAIkE,EAAI,EAAGA,EAAI0kO,EAAQ/pO,OAAQqF,IAC3B,IAAI0kO,EAAQ1kO,IAAM,IAAIlE,OAASg/D,EAAMh/D,KAAM,MAE/C65H,EAAIn3H,KAAK,CAACkQ,KAAM,UAAWtQ,MAAO4B,EAAGxD,MAAOs+D,IAC5Cu7Z,EAAOjtd,QAAQ,CAACsF,KAAM,UAAWtQ,MAAO4B,EAAGxD,MAAOkoO,EAAQ1kO,UAG1DqgC,EAAMl/B,KAAKqC,IAAI,EAAGrC,KAAKoC,IAAIyyd,EAAWt6d,GAAG0C,MAAOk4d,IAEhD3gW,EAAIn3H,KAAK,CAACkQ,KAAM,SAAUtQ,MAAOiiC,EAAK7jC,MAAOs+D,IAC7Cu7Z,EAAOjtd,QAAQ,CAACsF,KAAM,SAAUtQ,MAAOiiC,IACvCi2b,IAIR,IAAInM,EAAWr+a,EAAM0qb,aACjBpM,EAAWt+a,EAAM0qb,aACjBtM,EAAW,CAACngd,EAAIssd,GAChBhM,EAAW,CAACtgd,EAAI4rH,GAIpB,OAFG1vG,GAAOA,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GAE/Cv+a,EAAM0qb,aAAazsd,EAAI4rH,GAYlC,SAAS82G,GAAa1iO,EAAI0qd,GAGtB,GAFA1qd,EAAKgI,EAAIg7G,YAAYhjH,IAEjBgI,EAAIm7G,UAAUnjH,GACd,MAAM,IAAItK,MAAM,sCAAwCsK,GAG5D,IAAIrO,EAAG2kC,EACHqkM,EAAU36N,EAAGurB,gBAAgBovM,QAC7B/uG,EAAM,GACN0gW,EAAS,GAEb,IAAI5B,EAEA,IADAA,EAAY,GACR/4d,EAAI,EAAGA,EAAIgpO,EAAQ/pO,OAAQe,IAC3B+4d,EAAUj2d,KAAK9C,GAOvB,IAHA+4d,EAAYA,EAAU90d,QACtB80d,EAAUryd,OAEN1G,EAAI+4d,EAAU95d,OAAS,EAAGe,GAAK,EAAGA,IAClC2kC,EAAMo0b,EAAU/4d,GAChBi6H,EAAIn3H,KAAK,CAACkQ,KAAM,SAAUtQ,MAAOiiC,IACjCg2b,EAAOjtd,QAAQ,CAACsF,KAAM,SAAUtQ,MAAOiiC,EAAK7jC,MAAOkoO,EAAQrkM,KAG/D,IAAI8pb,EAAWr+a,EAAM0qb,aACjBpM,EAAWt+a,EAAM0qb,aACjBtM,EAAW,CAACngd,EAAIssd,GAChBhM,EAAW,CAACtgd,EAAI4rH,GAIpB,OAFG1vG,GAAOA,EAAM7O,IAAIrN,EAAIogd,EAAUD,EAAUE,EAAUC,GAE/Cv+a,EAAM0qb,aAAazsd,EAAI4rH,GASlC,SAAS42G,GAAMxiO,GACXA,EAAKgI,EAAIg7G,YAAYhjH,GAErB,IAAIoX,EAAapX,EAAGymB,aAAe,GAC/B3O,EAAW9X,EAAGw3C,WAAa,GAiB/B,OAdAzV,EAAMs7a,UAAU,GAAI,GAAIvlc,EAAUV,GAGlC2qB,EAAMygM,MAAMxiO,GAGZi6N,EAAOuI,MAAMxiO,GAGVoX,EAAW09H,YAAY19H,EAAW09H,WAAW5yI,gBAGzClC,EAAG+Y,SAEH/Y,EAMX,SAASg9c,GAAkBh9c,GACvB,IAAI0sd,EAAMnsd,EAAGO,OAAOd,GAChBoX,EAAapX,EAAGymB,YAwCpB,GArCArP,EAAW09H,WAAa43U,EAAI3rd,UAAU,mBAAmBnE,KAAK,CAAC,IAC/Dwa,EAAW09H,WAAW9zI,QAAQxK,OAAO,MAAO,gBACvC0K,QAAQ,kBAAkB,GAC1BA,QAAQ,UAAU,GAGvBkW,EAAWmlF,UAAYnlF,EAAW09H,WAAW/zI,UAAU,kBAAkBnE,KAAK,CAAC,IAC/Ewa,EAAWmlF,UAAUv7F,QAAQC,OAAO,OAC/BC,QAAQ,iBAAiB,GACzBE,MAAM,WAAY,YAQvBgW,EAAWgpM,aAAehpM,EAAWmlF,UAAUx7F,UAAU,iBACpDnE,KAAK,CAAC,KAEXwa,EAAWgpM,aAAap/M,QAAQC,OAAO,OAClCC,QAAQ,gBAAgB,GAE7BkW,EAAWmlF,UAAUx7F,UAAU,aAAamB,SAC5CkV,EAAWmlF,UAAUz7F,OAAO,sBAAsBoB,SAElDkV,EAAWylC,OAASzlC,EAAWmlF,UAAU/lG,OAAO,MAAO,gBAClD0K,QAAQ,YAAY,GAEzBkW,EAAWu1c,UAAYv1c,EAAWmlF,UAAUt7F,OAAO,OAC9CC,QAAQ,YAAY,GAEzBkW,EAAWmtG,YAAcntG,EAAWmlF,UAAUt7F,OAAO,OAErDmW,EAAWw1c,YAAcx1c,EAAWmlF,UAAUt7F,OAAO,OAChDC,QAAQ,YAAY,IAErBkW,EAAWulC,KAAM,CACjB,IAAIkwa,EAAY,GAChBtsd,EAAGQ,UAAU,QAAQM,MAAK,WACnBpN,KAAKoJ,KAAIwvd,EAAU54d,KAAKoJ,GAAGwE,MAAM,KAAK,IAAM,MAEnDuV,EAAWulC,KAAO30C,EAAI8U,QAAQ+vc,GAGlCz1c,EAAWmlF,UAAUx7F,UAAU,aAC1BmY,KAAKZ,EAAgB83U,UAE1Bh5U,EAAW2U,MAAQ3U,EAAWylC,OAAO57C,OAAO,QACvCiY,KAAK,KAAM,QAAU9B,EAAWulC,MAErCvlC,EAAWslC,OAAStlC,EAAW2U,MAAM9qB,OAAO,KACvCC,QAAQ,SAAS,GAEtBkW,EAAWsoN,SAAWtoN,EAAWu1c,UAAU1rd,OAAO,QAC7CiY,KAAK,KAAM,WAAa9B,EAAWulC,MAExCvlC,EAAW2mI,UAAY3mI,EAAWsoN,SAASz+N,OAAO,KAC7CC,QAAQ,SAAS,GAEtBkW,EAAWq+Z,SAAWr+Z,EAAWylC,OAAO57C,OAAO,KAC1CC,QAAQ,WAAW,GAExBkW,EAAW6qG,UAAY7qG,EAAWylC,OAAO57C,OAAO,KAC3CC,QAAQ,aAAa,GAU1B,IAAI4rd,EAAa11c,EAAWylC,OAAO57C,OAAO,KACrCC,QAAQ,eAAe,GAC5BkW,EAAW21c,iBAAmBD,EAAW7rd,OAAO,KAC3CC,QAAQ,cAAc,GAC3BkW,EAAWk2H,iBAAmBw/U,EAAW7rd,OAAO,KAC3CC,QAAQ,cAAc,GAG3BkW,EAAWkrY,gBAAkBlrY,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,kBAAkB,GAGrFkW,EAAWopP,YAAcppP,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,cAAc,GAG7EkW,EAAW83P,cAAgB93P,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,gBAAgB,GAGjFkW,EAAWk2Z,UAAYl2Z,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,YAAY,GAGzEkW,EAAWiuV,iBAAmBjuV,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,mBAAmB,GAGvFkW,EAAW24U,UAAY34U,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,YAAY,GAGzEkW,EAAWolP,cAAgBplP,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,gBAAgB,GAGjFkW,EAAWs7U,eAAiBt7U,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,iBAAiB,GAGnFkW,EAAWyjV,gBAAkBzjV,EAAWu1c,UAAU1rd,OAAO,KAAKC,QAAQ,kBAAkB,GAGxFkW,EAAW21C,UAAY31C,EAAWylC,OAAO57C,OAAO,KAAKC,QAAQ,YAAY,GAMzE,IAAI8rd,EAAa51c,EAAWu1c,UAAU1rd,OAAO,KACxCC,QAAQ,eAAe,GAC5BkW,EAAW61c,iBAAmBD,EAAW/rd,OAAO,KAC3CC,QAAQ,cAAc,GAC3BkW,EAAWi2H,iBAAmB2/U,EAAW/rd,OAAO,KAC3CC,QAAQ,cAAc,GAE3BkW,EAAW8lC,WAAa9lC,EAAWu1c,UAAU1rd,OAAO,KAAKC,QAAQ,aAAa,GAC9EkW,EAAW81c,WAAa91c,EAAWu1c,UAAU1rd,OAAO,KAAKC,QAAQ,aAAa,GAC9EkW,EAAWy0F,WAAaz0F,EAAWu1c,UAAU1rd,OAAO,KAAKC,QAAQ,aAAa,GAC9EkW,EAAW0qG,YAAc1qG,EAAWw1c,YAAY3rd,OAAO,KAAKC,QAAQ,cAAc,GAGlFkW,EAAWmtG,YACNrjH,QAAQ,qBAAqB,GAC7BE,MAAM,WAAY,YAClBA,MAAM,MAAO,OACbA,MAAM,QAAS,OAEpBpB,EAAGwuG,KAAK,oBAGZj+G,EAAQoyO,QAAUA,GAClBpyO,EAAQkyO,UAAYA,GACpBlyO,EAAQmyO,aAAeA,GAEvBnyO,EAAQ8xO,UAAYA,EACpB9xO,EAAQ+xO,aAAeA,EACvB/xO,EAAQ4xO,aAAeA,EACvB5xO,EAAQgyO,WAAaA,EACrBhyO,EAAQ6xO,cAAgBA,EAExB7xO,EAAQoxO,QAAUA,EAClBpxO,EAAQ4T,KAAOA,EACf5T,EAAQiyO,MAAQA,GAEhBjyO,EAAQ2xO,MAAQA,GAChB3xO,EAAQ4mC,OAASA,EACjB5mC,EAAQsxO,SAAWA,GACnBtxO,EAAQqxO,QAAUA,EAElBrxO,EAAQqyO,cAAgBA,EAExBryO,EAAQyM,OAASA,GAEjBzM,EAAQwxO,aAAemkP,GAAQrkP,IAC/BtxO,EAAQuxO,YAAcokP,GAAQtkP,GAC9BrxO,EAAQyxO,WAAakkP,GAAQlpd,IAE7BzM,EAAQ0xO,oBAAsBA,IAKxB,KACA,SAAU3xO,EAAQC,EAASkB,GAEjC,aAWA,IAAIyqY,EAAkB,QAElBr5K,EAAkB,CAClB,kBAAmB,CACfxlN,GAAI,MACJ8gK,QAAS,EACTq8G,QAAS,CACL,mBAAoB,CAChB71Q,KAAM,SACNwod,YAAa,oFACbC,MAAO,CACH,mDACA,oDAEJC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,mBACJsH,KAAM,SACNq2D,OAAQ,mBACRsyZ,QAAS,EACTC,QAAS,MAGjB,WAAY,CACRlwd,GAAI,WACJ8gK,QAAS,EACTq8G,QAAS,GACTxpN,OAAQ,CAAC,CACL3zD,GAAI,WACJsH,KAAM,aACN48E,MAAO,CAAC,mBAAoB,WAC5B+rY,QAAS,EACTC,QAAS,MAGjB,iBAAkB,CACdlwd,GAAI,iBACJ8gK,QAAS,EACTq8G,QAAS,CACL,wBAAyB,CACrB71Q,KAAM,SACNwod,YAAa,2DACbC,MAAO,CAAC,8EACRC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,wBACJsH,KAAM,SACNq2D,OAAQ,wBACRsyZ,QAAS,EACTC,QAAS,MAGjB,mBAAoB,CAChBlwd,GAAI,mBACJ8gK,QAAS,EACTq8G,QAAS,CACL,0BAA2B,CACvB71Q,KAAM,SACNwod,YAAa,2DACbC,MAAO,CAAC,6EACRC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,0BACJsH,KAAM,SACNq2D,OAAQ,0BACRsyZ,QAAS,EACTC,QAAS,MAGjB,iBAAkB,CACdlwd,GAAI,iBACJ8gK,QAAS,EACTq8G,QAAS,CACL,wBAAyB,CACrB71Q,KAAM,SACNwod,YAAa,wQACbC,MAAO,CAAC,iEACRC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,wBACJsH,KAAM,SACNq2D,OAAQ,wBACRsyZ,QAAS,EACTC,QAAS,MAGjB,eAAgB,CACZlwd,GAAI,eACJ8gK,QAAS,EACTq8G,QAAS,CACL,sBAAuB,CACnB71Q,KAAM,SACNwod,YAAa,wQACbC,MAAO,CAAC,+DACRC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,sBACJsH,KAAM,SACNq2D,OAAQ,sBACRsyZ,QAAS,EACTC,QAAS,MAGjB,oBAAqB,CACjBlwd,GAAI,oBACJ8gK,QAAS,EACTq8G,QAAS,CACL,2BAA4B,CACxB71Q,KAAM,SACNwod,YAAa,mRACbC,MAAO,CAAC,oEACRC,SAAU,MAGlBr8Z,OAAQ,CAAC,CACL3zD,GAAI,2BACJsH,KAAM,SACNq2D,OAAQ,2BACRsyZ,QAAS,EACTC,QAAS,OAKjBC,EAAuBt7d,OAAO8mD,KAAK6pK,GAEvCvyN,EAAOC,QAAU,CACb2rY,gBAAiBA,EAEjBn5K,eAAgB,0BAChBC,eAAgB,KAEhBL,kBAAmB,CAAC,QAAS,UAAW,WAAY,QAAS,OAAQ,YAAa,qBAClFG,eAAgB,QAChBD,gBAAiBA,EACjB2qQ,qBAAsBA,EAEtB3/B,iBAAkB,sBAClB4/B,kBAAmB,uBAEnBtxF,qBAAsB,CAClB,0EACA,4BAA8BD,EAAkB,KAClDtnY,KAAK,MAEPmnY,sBAAuB,CACnB,+BACA,oEACA,eACA,6EACA,oEACFnnY,KAAK,MAEPonY,qBAAsB,CAClB,oEACAwxF,EAAqB54d,KAAK,MAC1B,mEACFA,KAAK,MAEPqnY,uBAAwB,CACpB,oEACA,+FAEFrnY,KAAK,MAEPovN,cAAe,gBAGfy4K,WAAY,CACRzwR,MAAO,0UACP+7J,MAAO,uQACP20H,MAAO,oOACPlqU,QAAS,4FAIbg5H,WAAY,CACR7+I,IAAK,qCACL,cAAe,gBACf,OAAU,2BAGV,mBAAoB,4EACpB,oBAAqB,6EACrB,KAAQ,iEAGR,2DAA4D,iBAC5D,iEAAkE,iCAClE,qCAAsC,mEACtC,sCAAuC,odACvC,+BAAgC,4HAChC,oEAAqE,sBACrE,mEAAoE,qBAEpE,kCAAmC,sCACnC,mCAAoC,uCAEpC,cAAe,qEACf,gBAAiB,qEACjB,sBAAuB,8CAEvB,kCAAmC,uCACnC,eAAgB,iBAGhB,YAAa,umDAUf,KACA,SAAUr8C,EAAQC,EAASkB,GAEjC,IAAIq4F,EAASr4F,EAAoB,QAC7BuiX,EAASviX,EAAoB,QAC7Bw3D,EAAMx3D,EAAoB,QAC1Bi1B,EAAMj1B,EAAoB,QAC1Bgub,EAAgBhub,EAAoB,QACpCiub,EAAoBjub,EAAoB,QAExCkvb,EAAwB3sE,EAAO,OAC/BzhX,EAASu3F,EAAOv3F,OAChBm7d,EAAwBhuC,EAAoBntb,EAASA,GAAUA,EAAOo7d,eAAiBjnc,EAE3Fp2B,EAAOC,QAAU,SAAUwB,GAIvB,OAHGk3D,EAAI03X,EAAuB5ub,KAC1B0tb,GAAiBx2X,EAAI12D,EAAQR,GAAO4ub,EAAsB5ub,GAAQQ,EAAOR,GACxE4ub,EAAsB5ub,GAAQ27d,EAAsB,UAAY37d,IAC9D4ub,EAAsB5ub,KAM3B,KACA,SAAUzB,EAAQC,EAASkB,GAEjC,cAC4B,SAASq4F;;;;;;;AAUrC,IAAI8jY,EAASn8d,EAAoB,QAC7Bo8d,EAAUp8d,EAAoB,QAC9BuN,EAAUvN,EAAoB,QAuClC,SAASq8d,IACP,IACE,IAAIhpZ,EAAM,IAAIrgE,WAAW,GAEzB,OADAqgE,EAAIi3O,UAAY,CAACA,UAAWt3S,WAAWrR,UAAWupG,IAAK,WAAc,OAAO,KACvD,KAAd73B,EAAI63B,OACiB,oBAAjB73B,EAAI64C,UACuB,IAAlC74C,EAAI64C,SAAS,EAAG,GAAGuhB,WACvB,MAAOlwH,GACP,OAAO,GAIX,SAAS++c,IACP,OAAOn8R,EAAOo8R,oBACV,WACA,WAGN,SAASh0d,EAAcrJ,EAAMC,GAC3B,GAAIm9d,IAAen9d,EACjB,MAAM,IAAIosX,WAAW,8BAcvB,OAZIprL,EAAOo8R,qBAETr9d,EAAO,IAAI8T,WAAW7T,GACtBD,EAAKorT,UAAYnqH,EAAOx+L,YAGX,OAATzC,IACFA,EAAO,IAAIihM,EAAOhhM,IAEpBD,EAAKC,OAASA,GAGTD,EAaT,SAASihM,EAAQh1I,EAAKqxa,EAAkBr9d,GACtC,IAAKghM,EAAOo8R,uBAAyB/5d,gBAAgB29L,GACnD,OAAO,IAAIA,EAAOh1I,EAAKqxa,EAAkBr9d,GAI3C,GAAmB,kBAARgsD,EAAkB,CAC3B,GAAgC,kBAArBqxa,EACT,MAAM,IAAIv4d,MACR,qEAGJ,OAAOw4d,EAAYj6d,KAAM2oD,GAE3B,OAAO0hD,EAAKrqG,KAAM2oD,EAAKqxa,EAAkBr9d,GAW3C,SAAS0tG,EAAM3tG,EAAM8B,EAAOw7d,EAAkBr9d,GAC5C,GAAqB,kBAAV6B,EACT,MAAM,IAAI40D,UAAU,yCAGtB,MAA2B,qBAAhBosH,aAA+BhhL,aAAiBghL,YAClD06S,EAAgBx9d,EAAM8B,EAAOw7d,EAAkBr9d,GAGnC,kBAAV6B,EACFkxY,EAAWhzY,EAAM8B,EAAOw7d,GAG1BG,EAAWz9d,EAAM8B,GA4B1B,SAAS47d,EAAYn5c,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAImyC,UAAU,oCACf,GAAInyC,EAAO,EAChB,MAAM,IAAI8nW,WAAW,wCAIzB,SAASlU,EAAOn4W,EAAMukB,EAAMhS,EAAMord,GAEhC,OADAD,EAAWn5c,GACPA,GAAQ,EACHlb,EAAarJ,EAAMukB,QAEfrkB,IAATqS,EAIyB,kBAAbord,EACVt0d,EAAarJ,EAAMukB,GAAMhS,KAAKA,EAAMord,GACpCt0d,EAAarJ,EAAMukB,GAAMhS,KAAKA,GAE7BlJ,EAAarJ,EAAMukB,GAW5B,SAASg5c,EAAav9d,EAAMukB,GAG1B,GAFAm5c,EAAWn5c,GACXvkB,EAAOqJ,EAAarJ,EAAMukB,EAAO,EAAI,EAAoB,EAAhBq5c,EAAQr5c,KAC5C08K,EAAOo8R,oBACV,IAAK,IAAIr8d,EAAI,EAAGA,EAAIujB,IAAQvjB,EAC1BhB,EAAKgB,GAAK,EAGd,OAAOhB,EAgBT,SAASgzY,EAAYhzY,EAAMk3R,EAAQymM,GAKjC,GAJwB,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGR18R,EAAO48R,WAAWF,GACrB,MAAM,IAAIjna,UAAU,8CAGtB,IAAIz2D,EAAwC,EAA/BsuI,EAAW2oJ,EAAQymM,GAChC39d,EAAOqJ,EAAarJ,EAAMC,GAE1B,IAAI69d,EAAS99d,EAAKy2W,MAAMv/E,EAAQymM,GAShC,OAPIG,IAAW79d,IAIbD,EAAOA,EAAKiF,MAAM,EAAG64d,IAGhB99d,EAGT,SAAS+9d,EAAe/9d,EAAMopC,GAC5B,IAAInpC,EAASmpC,EAAMnpC,OAAS,EAAI,EAA4B,EAAxB29d,EAAQx0b,EAAMnpC,QAClDD,EAAOqJ,EAAarJ,EAAMC,GAC1B,IAAK,IAAIe,EAAI,EAAGA,EAAIf,EAAQe,GAAK,EAC/BhB,EAAKgB,GAAgB,IAAXooC,EAAMpoC,GAElB,OAAOhB,EAGT,SAASw9d,EAAiBx9d,EAAMopC,EAAO40b,EAAY/9d,GAGjD,GAFAmpC,EAAMmlG,WAEFyvV,EAAa,GAAK50b,EAAMmlG,WAAayvV,EACvC,MAAM,IAAI3xG,WAAW,6BAGvB,GAAIjjV,EAAMmlG,WAAayvV,GAAc/9d,GAAU,GAC7C,MAAM,IAAIosX,WAAW,6BAmBvB,OAfEjjV,OADiBlpC,IAAf89d,QAAuC99d,IAAXD,EACtB,IAAI6T,WAAWs1B,QACHlpC,IAAXD,EACD,IAAI6T,WAAWs1B,EAAO40b,GAEtB,IAAIlqd,WAAWs1B,EAAO40b,EAAY/9d,GAGxCghM,EAAOo8R,qBAETr9d,EAAOopC,EACPppC,EAAKorT,UAAYnqH,EAAOx+L,WAGxBzC,EAAO+9d,EAAc/9d,EAAMopC,GAEtBppC,EAGT,SAASy9d,EAAYz9d,EAAMo+B,GACzB,GAAI6iK,EAAO9iK,SAASC,GAAM,CACxB,IAAIlQ,EAA4B,EAAtB0vc,EAAQx/b,EAAIn+B,QAGtB,OAFAD,EAAOqJ,EAAarJ,EAAMkuB,GAEN,IAAhBluB,EAAKC,OACAD,GAGTo+B,EAAI2rC,KAAK/pE,EAAM,EAAG,EAAGkuB,GACdluB,GAGT,GAAIo+B,EAAK,CACP,GAA4B,qBAAhB0kJ,aACR1kJ,EAAIvzB,kBAAkBi4K,aAAgB,WAAY1kJ,EACpD,MAA0B,kBAAfA,EAAIn+B,QAAuBg+d,GAAM7/b,EAAIn+B,QACvCoJ,EAAarJ,EAAM,GAErB+9d,EAAc/9d,EAAMo+B,GAG7B,GAAiB,WAAbA,EAAIpqB,MAAqB3F,EAAQ+vB,EAAInyB,MACvC,OAAO8xd,EAAc/9d,EAAMo+B,EAAInyB,MAInC,MAAM,IAAIyqD,UAAU,sFAGtB,SAASkna,EAAS39d,GAGhB,GAAIA,GAAUm9d,IACZ,MAAM,IAAI/wG,WAAW,0DACa+wG,IAAahgd,SAAS,IAAM,UAEhE,OAAgB,EAATnd,EAGT,SAASi+d,EAAYj+d,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJghM,EAAOk3K,OAAOl4W,GA+EvB,SAASsuI,EAAY2oJ,EAAQymM,GAC3B,GAAI18R,EAAO9iK,SAAS+4P,GAClB,OAAOA,EAAOj3R,OAEhB,GAA2B,qBAAhB6iL,aAA6D,oBAAvBA,YAAY0/H,SACxD1/H,YAAY0/H,OAAOtrB,IAAWA,aAAkBp0G,aACnD,OAAOo0G,EAAO3oJ,WAEM,kBAAX2oJ,IACTA,EAAS,GAAKA,GAGhB,IAAIhpQ,EAAMgpQ,EAAOj3R,OACjB,GAAY,IAARiuB,EAAW,OAAO,EAItB,IADA,IAAIiwc,GAAc,IAEhB,OAAQR,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOzvc,EACT,IAAK,OACL,IAAK,QACL,UAAKhuB,EACH,OAAOk+d,EAAYlnM,GAAQj3R,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAANiuB,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOmwc,EAAcnnM,GAAQj3R,OAC/B,QACE,GAAIk+d,EAAa,OAAOC,EAAYlnM,GAAQj3R,OAC5C09d,GAAY,GAAKA,GAAUxid,cAC3Bgjd,GAAc,GAMtB,SAASG,EAAcX,EAAUv5c,EAAOE,GACtC,IAAI65c,GAAc,EAclB,SALcj+d,IAAVkkB,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ9gB,KAAKrD,OACf,MAAO,GAOT,SAJYC,IAARokB,GAAqBA,EAAMhhB,KAAKrD,UAClCqkB,EAAMhhB,KAAKrD,QAGTqkB,GAAO,EACT,MAAO,GAOT,GAHAA,KAAS,EACTF,KAAW,EAEPE,GAAOF,EACT,MAAO,GAGJu5c,IAAUA,EAAW,QAE1B,MAAO,EACL,OAAQA,GACN,IAAK,MACH,OAAOY,EAASj7d,KAAM8gB,EAAOE,GAE/B,IAAK,OACL,IAAK,QACH,OAAOk6c,EAAUl7d,KAAM8gB,EAAOE,GAEhC,IAAK,QACH,OAAOm6c,EAAWn7d,KAAM8gB,EAAOE,GAEjC,IAAK,SACL,IAAK,SACH,OAAOo6c,EAAYp7d,KAAM8gB,EAAOE,GAElC,IAAK,SACH,OAAOq6c,EAAYr7d,KAAM8gB,EAAOE,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOs6c,EAAat7d,KAAM8gB,EAAOE,GAEnC,QACE,GAAI65c,EAAa,MAAM,IAAIzna,UAAU,qBAAuBina,GAC5DA,GAAYA,EAAW,IAAIxid,cAC3Bgjd,GAAc,GAStB,SAASrpd,EAAMzU,EAAGiC,EAAGpB,GACnB,IAAIF,EAAIX,EAAEiC,GACVjC,EAAEiC,GAAKjC,EAAEa,GACTb,EAAEa,GAAKF,EAmIT,SAAS69d,EAAsBh0d,EAAQkoB,EAAKirc,EAAYL,EAAUn/c,GAEhE,GAAsB,IAAlB3T,EAAO5K,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAf+9d,GACTL,EAAWK,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACV7vd,MAAM6vd,KAERA,EAAax/c,EAAM,EAAK3T,EAAO5K,OAAS,GAItC+9d,EAAa,IAAGA,EAAanzd,EAAO5K,OAAS+9d,GAC7CA,GAAcnzd,EAAO5K,OAAQ,CAC/B,GAAIue,EAAK,OAAQ,EACZw/c,EAAanzd,EAAO5K,OAAS,OAC7B,GAAI+9d,EAAa,EAAG,CACzB,IAAIx/c,EACC,OAAQ,EADJw/c,EAAa,EAUxB,GALmB,kBAARjrc,IACTA,EAAMkuK,EAAOtzF,KAAK56E,EAAK4qc,IAIrB18R,EAAO9iK,SAASpL,GAElB,OAAmB,IAAfA,EAAI9yB,QACE,EAEH6+d,EAAaj0d,EAAQkoB,EAAKirc,EAAYL,EAAUn/c,GAClD,GAAmB,kBAARuU,EAEhB,OADAA,GAAY,IACRkuK,EAAOo8R,qBACiC,oBAAjCvpd,WAAWrR,UAAUiD,QAC1B8Y,EACK1K,WAAWrR,UAAUiD,QAAQvF,KAAK0K,EAAQkoB,EAAKirc,GAE/Clqd,WAAWrR,UAAUu4Q,YAAY76Q,KAAK0K,EAAQkoB,EAAKirc,GAGvDc,EAAaj0d,EAAQ,CAAEkoB,GAAOirc,EAAYL,EAAUn/c,GAG7D,MAAM,IAAIk4C,UAAU,wCAGtB,SAASooa,EAAc3qZ,EAAKphD,EAAKirc,EAAYL,EAAUn/c,GACrD,IA0BIxd,EA1BA+9d,EAAY,EACZC,EAAY7qZ,EAAIl0E,OAChBg/d,EAAYlsc,EAAI9yB,OAEpB,QAAiBC,IAAby9d,IACFA,EAAW99d,OAAO89d,GAAUxid,cACX,SAAbwid,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAIxpZ,EAAIl0E,OAAS,GAAK8yB,EAAI9yB,OAAS,EACjC,OAAQ,EAEV8+d,EAAY,EACZC,GAAa,EACbC,GAAa,EACbjB,GAAc,EAIlB,SAAS78Q,EAAM37K,EAAKxkC,GAClB,OAAkB,IAAd+9d,EACKv5b,EAAIxkC,GAEJwkC,EAAI05b,aAAal+d,EAAI+9d,GAKhC,GAAIvgd,EAAK,CACP,IAAI2gd,GAAc,EAClB,IAAKn+d,EAAIg9d,EAAYh9d,EAAIg+d,EAAWh+d,IAClC,GAAImgN,EAAKhtI,EAAKnzE,KAAOmgN,EAAKpuL,GAAqB,IAAhBosc,EAAoB,EAAIn+d,EAAIm+d,IAEzD,IADoB,IAAhBA,IAAmBA,EAAan+d,GAChCA,EAAIm+d,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtC,IAAhBI,IAAmBn+d,GAAKA,EAAIm+d,GAChCA,GAAc,OAKlB,IADInB,EAAaiB,EAAYD,IAAWhB,EAAagB,EAAYC,GAC5Dj+d,EAAIg9d,EAAYh9d,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAIosH,GAAQ,EACH9nH,EAAI,EAAGA,EAAI25d,EAAW35d,IAC7B,GAAI67M,EAAKhtI,EAAKnzE,EAAIsE,KAAO67M,EAAKpuL,EAAKztB,GAAI,CACrC8nH,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAOpsH,EAItB,OAAQ,EAeV,SAASo+d,EAAU55b,EAAK0xP,EAAQv6Q,EAAQ1c,GACtC0c,EAASu5B,OAAOv5B,IAAW,EAC3B,IAAIwrU,EAAY3iT,EAAIvlC,OAAS0c,EACxB1c,GAGHA,EAASi2C,OAAOj2C,GACZA,EAASkoV,IACXloV,EAASkoV,IAJXloV,EAASkoV,EASX,IAAIk3I,EAASnoM,EAAOj3R,OACpB,GAAIo/d,EAAS,IAAM,EAAG,MAAM,IAAI3oa,UAAU,sBAEtCz2D,EAASo/d,EAAS,IACpBp/d,EAASo/d,EAAS,GAEpB,IAAK,IAAIr+d,EAAI,EAAGA,EAAIf,IAAUe,EAAG,CAC/B,IAAI4uX,EAAS3mW,SAASiuQ,EAAOjkR,OAAW,EAAJjS,EAAO,GAAI,IAC/C,GAAImN,MAAMyhX,GAAS,OAAO5uX,EAC1BwkC,EAAI7oB,EAAS3b,GAAK4uX,EAEpB,OAAO5uX,EAGT,SAASs+d,EAAW95b,EAAK0xP,EAAQv6Q,EAAQ1c,GACvC,OAAOs/d,GAAWnB,EAAYlnM,EAAQ1xP,EAAIvlC,OAAS0c,GAAS6oB,EAAK7oB,EAAQ1c,GAG3E,SAASu/d,EAAYh6b,EAAK0xP,EAAQv6Q,EAAQ1c,GACxC,OAAOs/d,GAAWE,EAAavoM,GAAS1xP,EAAK7oB,EAAQ1c,GAGvD,SAASy/d,EAAal6b,EAAK0xP,EAAQv6Q,EAAQ1c,GACzC,OAAOu/d,EAAWh6b,EAAK0xP,EAAQv6Q,EAAQ1c,GAGzC,SAAS0/d,EAAan6b,EAAK0xP,EAAQv6Q,EAAQ1c,GACzC,OAAOs/d,GAAWlB,EAAcnnM,GAAS1xP,EAAK7oB,EAAQ1c,GAGxD,SAAS2/d,EAAWp6b,EAAK0xP,EAAQv6Q,EAAQ1c,GACvC,OAAOs/d,GAAWM,EAAe3oM,EAAQ1xP,EAAIvlC,OAAS0c,GAAS6oB,EAAK7oB,EAAQ1c,GAkF9E,SAAS0+d,EAAan5b,EAAKphB,EAAOE,GAChC,OAAc,IAAVF,GAAeE,IAAQkhB,EAAIvlC,OACtBg9d,EAAOxuV,cAAcjpG,GAErBy3b,EAAOxuV,cAAcjpG,EAAIvgC,MAAMmf,EAAOE,IAIjD,SAASk6c,EAAWh5b,EAAKphB,EAAOE,GAC9BA,EAAM7d,KAAKoC,IAAI28B,EAAIvlC,OAAQqkB,GAC3B,IAAI69F,EAAM,GAENnhH,EAAIojB,EACR,MAAOpjB,EAAIsjB,EAAK,CACd,IAQMw7c,EAAYC,EAAWC,EAAYC,EARrCC,EAAY16b,EAAIxkC,GAChBm/d,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAIl/d,EAAIo/d,GAAoB97c,EAG1B,OAAQ87c,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHJ,EAAat6b,EAAIxkC,EAAI,GACO,OAAV,IAAb8+d,KACHG,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,EACzCG,EAAgB,MAClBE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAat6b,EAAIxkC,EAAI,GACrB++d,EAAYv6b,EAAIxkC,EAAI,GACQ,OAAV,IAAb8+d,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAat6b,EAAIxkC,EAAI,GACrB++d,EAAYv6b,EAAIxkC,EAAI,GACpBg/d,EAAax6b,EAAIxkC,EAAI,GACO,OAAV,IAAb8+d,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CE,EAAYF,IAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbh+W,EAAIr+G,KAAKq8d,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBh+W,EAAIr+G,KAAKq8d,GACTn/d,GAAKo/d,EAGP,OAAOC,EAAsBl+W,GA98B/BviH,EAAQqhM,OAASA,EACjBrhM,EAAQs+d,WAAaA,EACrBt+d,EAAQ0ge,kBAAoB,GA0B5Br/R,EAAOo8R,yBAAqDn9d,IAA/Bi5F,EAAOkkY,oBAChClkY,EAAOkkY,oBACPF,IAKJv9d,EAAQw9d,WAAaA,IAkErBn8R,EAAOs/R,SAAW,KAGlBt/R,EAAOu/R,SAAW,SAAUrsZ,GAE1B,OADAA,EAAIi3O,UAAYnqH,EAAOx+L,UAChB0xE,GA2BT8sH,EAAOtzF,KAAO,SAAU7rG,EAAOw7d,EAAkBr9d,GAC/C,OAAO0tG,EAAK,KAAM7rG,EAAOw7d,EAAkBr9d,IAGzCghM,EAAOo8R,sBACTp8R,EAAOx+L,UAAU2oT,UAAYt3S,WAAWrR,UACxCw+L,EAAOmqH,UAAYt3S,WACG,qBAAXlS,QAA0BA,OAAO6+d,SACxCx/R,EAAOr/L,OAAO6+d,WAAax/R,GAE7B1/L,OAAOC,eAAey/L,EAAQr/L,OAAO6+d,QAAS,CAC5C3+d,MAAO,KACP8gK,cAAc,KAiCpBq+B,EAAOk3K,MAAQ,SAAU5zV,EAAMhS,EAAMord,GACnC,OAAOxlH,EAAM,KAAM5zV,EAAMhS,EAAMord,IAiBjC18R,EAAOs8R,YAAc,SAAUh5c,GAC7B,OAAOg5c,EAAY,KAAMh5c,IAK3B08K,EAAOy/R,gBAAkB,SAAUn8c,GACjC,OAAOg5c,EAAY,KAAMh5c,IAiH3B08K,EAAO9iK,SAAW,SAAmB99B,GACnC,QAAe,MAALA,IAAaA,EAAEm+B,YAG3ByiK,EAAO7rL,QAAU,SAAkBhV,EAAGC,GACpC,IAAK4gM,EAAO9iK,SAAS/9B,KAAO6gM,EAAO9iK,SAAS99B,GAC1C,MAAM,IAAIq2D,UAAU,6BAGtB,GAAIt2D,IAAMC,EAAG,OAAO,EAKpB,IAHA,IAAI6O,EAAI9O,EAAEH,OACN4U,EAAIxU,EAAEJ,OAEDe,EAAI,EAAGktB,EAAMznB,KAAKoC,IAAIqG,EAAG2F,GAAI7T,EAAIktB,IAAOltB,EAC/C,GAAIZ,EAAEY,KAAOX,EAAEW,GAAI,CACjBkO,EAAI9O,EAAEY,GACN6T,EAAIxU,EAAEW,GACN,MAIJ,OAAIkO,EAAI2F,GAAW,EACfA,EAAI3F,EAAU,EACX,GAGT+xL,EAAO48R,WAAa,SAAqBF,GACvC,OAAQ99d,OAAO89d,GAAUxid,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIb8lL,EAAOx4L,OAAS,SAAiBrD,EAAMnF,GACrC,IAAKoO,EAAQjJ,GACX,MAAM,IAAIsxD,UAAU,+CAGtB,GAAoB,IAAhBtxD,EAAKnF,OACP,OAAOghM,EAAOk3K,MAAM,GAGtB,IAAIn3W,EACJ,QAAed,IAAXD,EAEF,IADAA,EAAS,EACJe,EAAI,EAAGA,EAAIoE,EAAKnF,SAAUe,EAC7Bf,GAAUmF,EAAKpE,GAAGf,OAItB,IAAI4K,EAASo2L,EAAOs8R,YAAYt9d,GAC5B2zC,EAAM,EACV,IAAK5yC,EAAI,EAAGA,EAAIoE,EAAKnF,SAAUe,EAAG,CAChC,IAAIwkC,EAAMpgC,EAAKpE,GACf,IAAKigM,EAAO9iK,SAASqH,GACnB,MAAM,IAAIkxB,UAAU,+CAEtBlxB,EAAIukC,KAAKl/D,EAAQ+oC,GACjBA,GAAOpO,EAAIvlC,OAEb,OAAO4K,GA8CTo2L,EAAO1yD,WAAaA,EA0EpB0yD,EAAOx+L,UAAU+7B,WAAY,EAQ7ByiK,EAAOx+L,UAAUk+d,OAAS,WACxB,IAAIzyc,EAAM5qB,KAAKrD,OACf,GAAIiuB,EAAM,IAAM,EACd,MAAM,IAAIm+V,WAAW,6CAEvB,IAAK,IAAIrrX,EAAI,EAAGA,EAAIktB,EAAKltB,GAAK,EAC5B8T,EAAKxR,KAAMtC,EAAGA,EAAI,GAEpB,OAAOsC,MAGT29L,EAAOx+L,UAAUm+d,OAAS,WACxB,IAAI1yc,EAAM5qB,KAAKrD,OACf,GAAIiuB,EAAM,IAAM,EACd,MAAM,IAAIm+V,WAAW,6CAEvB,IAAK,IAAIrrX,EAAI,EAAGA,EAAIktB,EAAKltB,GAAK,EAC5B8T,EAAKxR,KAAMtC,EAAGA,EAAI,GAClB8T,EAAKxR,KAAMtC,EAAI,EAAGA,EAAI,GAExB,OAAOsC,MAGT29L,EAAOx+L,UAAUo+d,OAAS,WACxB,IAAI3yc,EAAM5qB,KAAKrD,OACf,GAAIiuB,EAAM,IAAM,EACd,MAAM,IAAIm+V,WAAW,6CAEvB,IAAK,IAAIrrX,EAAI,EAAGA,EAAIktB,EAAKltB,GAAK,EAC5B8T,EAAKxR,KAAMtC,EAAGA,EAAI,GAClB8T,EAAKxR,KAAMtC,EAAI,EAAGA,EAAI,GACtB8T,EAAKxR,KAAMtC,EAAI,EAAGA,EAAI,GACtB8T,EAAKxR,KAAMtC,EAAI,EAAGA,EAAI,GAExB,OAAOsC,MAGT29L,EAAOx+L,UAAU2a,SAAW,WAC1B,IAAInd,EAAuB,EAAdqD,KAAKrD,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBO,UAAUP,OAAqBu+d,EAAUl7d,KAAM,EAAGrD,GAC/Cq+d,EAAa/9d,MAAM+C,KAAM9C,YAGlCygM,EAAOx+L,UAAU+9P,OAAS,SAAiBngQ,GACzC,IAAK4gM,EAAO9iK,SAAS99B,GAAI,MAAM,IAAIq2D,UAAU,6BAC7C,OAAIpzD,OAASjD,GACsB,IAA5B4gM,EAAO7rL,QAAQ9R,KAAMjD,IAG9B4gM,EAAOx+L,UAAUmjL,QAAU,WACzB,IAAIv9K,EAAM,GACNS,EAAMlJ,EAAQ0ge,kBAKlB,OAJIh9d,KAAKrD,OAAS,IAChBoI,EAAM/E,KAAK8Z,SAAS,MAAO,EAAGtU,GAAK2f,MAAM,SAASxkB,KAAK,KACnDX,KAAKrD,OAAS6I,IAAKT,GAAO,UAEzB,WAAaA,EAAM,KAG5B44L,EAAOx+L,UAAU2S,QAAU,SAAkBub,EAAQvM,EAAOE,EAAKw8c,EAAWC,GAC1E,IAAK9/R,EAAO9iK,SAASxN,GACnB,MAAM,IAAI+lC,UAAU,6BAgBtB,QAbcx2D,IAAVkkB,IACFA,EAAQ,QAEElkB,IAARokB,IACFA,EAAMqM,EAASA,EAAO1wB,OAAS,QAEfC,IAAd4ge,IACFA,EAAY,QAEE5ge,IAAZ6ge,IACFA,EAAUz9d,KAAKrD,QAGbmkB,EAAQ,GAAKE,EAAMqM,EAAO1wB,QAAU6ge,EAAY,GAAKC,EAAUz9d,KAAKrD,OACtE,MAAM,IAAIosX,WAAW,sBAGvB,GAAIy0G,GAAaC,GAAW38c,GAASE,EACnC,OAAO,EAET,GAAIw8c,GAAaC,EACf,OAAQ,EAEV,GAAI38c,GAASE,EACX,OAAO,EAQT,GALAF,KAAW,EACXE,KAAS,EACTw8c,KAAe,EACfC,KAAa,EAETz9d,OAASqtB,EAAQ,OAAO,EAS5B,IAPA,IAAIzhB,EAAI6xd,EAAUD,EACdjsd,EAAIyP,EAAMF,EACV8J,EAAMznB,KAAKoC,IAAIqG,EAAG2F,GAElBmsd,EAAW19d,KAAK2B,MAAM67d,EAAWC,GACjCE,EAAatwc,EAAO1rB,MAAMmf,EAAOE,GAE5BtjB,EAAI,EAAGA,EAAIktB,IAAOltB,EACzB,GAAIgge,EAAShge,KAAOige,EAAWjge,GAAI,CACjCkO,EAAI8xd,EAAShge,GACb6T,EAAIosd,EAAWjge,GACf,MAIJ,OAAIkO,EAAI2F,GAAW,EACfA,EAAI3F,EAAU,EACX,GA6HT+xL,EAAOx+L,UAAUunP,SAAW,SAAmBj3N,EAAKirc,EAAYL,GAC9D,OAAoD,IAA7Cr6d,KAAKoC,QAAQqtB,EAAKirc,EAAYL,IAGvC18R,EAAOx+L,UAAUiD,QAAU,SAAkBqtB,EAAKirc,EAAYL,GAC5D,OAAOkB,EAAqBv7d,KAAMyvB,EAAKirc,EAAYL,GAAU,IAG/D18R,EAAOx+L,UAAUu4Q,YAAc,SAAsBjoP,EAAKirc,EAAYL,GACpE,OAAOkB,EAAqBv7d,KAAMyvB,EAAKirc,EAAYL,GAAU,IAkD/D18R,EAAOx+L,UAAUg0W,MAAQ,SAAgBv/E,EAAQv6Q,EAAQ1c,EAAQ09d,GAE/D,QAAez9d,IAAXyc,EACFghd,EAAW,OACX19d,EAASqD,KAAKrD,OACd0c,EAAS,OAEJ,QAAezc,IAAXD,GAA0C,kBAAX0c,EACxCghd,EAAWhhd,EACX1c,EAASqD,KAAKrD,OACd0c,EAAS,MAEJ,KAAIvO,SAASuO,GAWlB,MAAM,IAAI5X,MACR,2EAXF4X,GAAkB,EACdvO,SAASnO,IACXA,GAAkB,OACDC,IAAby9d,IAAwBA,EAAW,UAEvCA,EAAW19d,EACXA,OAASC,GASb,IAAIioV,EAAY7kV,KAAKrD,OAAS0c,EAG9B,SAFezc,IAAXD,GAAwBA,EAASkoV,KAAWloV,EAASkoV,GAEpDjxD,EAAOj3R,OAAS,IAAMA,EAAS,GAAK0c,EAAS,IAAOA,EAASrZ,KAAKrD,OACrE,MAAM,IAAIosX,WAAW,0CAGlBsxG,IAAUA,EAAW,QAG1B,IADA,IAAIQ,GAAc,IAEhB,OAAQR,GACN,IAAK,MACH,OAAOyB,EAAS97d,KAAM4zR,EAAQv6Q,EAAQ1c,GAExC,IAAK,OACL,IAAK,QACH,OAAOq/d,EAAUh8d,KAAM4zR,EAAQv6Q,EAAQ1c,GAEzC,IAAK,QACH,OAAOu/d,EAAWl8d,KAAM4zR,EAAQv6Q,EAAQ1c,GAE1C,IAAK,SACL,IAAK,SACH,OAAOy/d,EAAYp8d,KAAM4zR,EAAQv6Q,EAAQ1c,GAE3C,IAAK,SAEH,OAAO0/d,EAAYr8d,KAAM4zR,EAAQv6Q,EAAQ1c,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO2/d,EAAUt8d,KAAM4zR,EAAQv6Q,EAAQ1c,GAEzC,QACE,GAAIk+d,EAAa,MAAM,IAAIzna,UAAU,qBAAuBina,GAC5DA,GAAY,GAAKA,GAAUxid,cAC3Bgjd,GAAc,IAKtBl9R,EAAOx+L,UAAU0gM,OAAS,WACxB,MAAO,CACLnvL,KAAM,SACN/H,KAAMtH,MAAMlC,UAAUwC,MAAM9E,KAAKmD,KAAK8wE,MAAQ9wE,KAAM,KAwFxD,IAAI49d,EAAuB,KAE3B,SAASb,EAAuBc,GAC9B,IAAIjzc,EAAMizc,EAAWlhe,OACrB,GAAIiuB,GAAOgzc,EACT,OAAOrhe,OAAOwiB,aAAa9hB,MAAMV,OAAQshe,GAI3C,IAAIh/W,EAAM,GACNnhH,EAAI,EACR,MAAOA,EAAIktB,EACTi0F,GAAOtiH,OAAOwiB,aAAa9hB,MACzBV,OACAshe,EAAWl8d,MAAMjE,EAAGA,GAAKkge,IAG7B,OAAO/+W,EAGT,SAASs8W,EAAYj5b,EAAKphB,EAAOE,GAC/B,IAAIijK,EAAM,GACVjjK,EAAM7d,KAAKoC,IAAI28B,EAAIvlC,OAAQqkB,GAE3B,IAAK,IAAItjB,EAAIojB,EAAOpjB,EAAIsjB,IAAOtjB,EAC7BumL,GAAO1nL,OAAOwiB,aAAsB,IAATmjB,EAAIxkC,IAEjC,OAAOumL,EAGT,SAASm3S,EAAal5b,EAAKphB,EAAOE,GAChC,IAAIijK,EAAM,GACVjjK,EAAM7d,KAAKoC,IAAI28B,EAAIvlC,OAAQqkB,GAE3B,IAAK,IAAItjB,EAAIojB,EAAOpjB,EAAIsjB,IAAOtjB,EAC7BumL,GAAO1nL,OAAOwiB,aAAamjB,EAAIxkC,IAEjC,OAAOumL,EAGT,SAASg3S,EAAU/4b,EAAKphB,EAAOE,GAC7B,IAAI4J,EAAMsX,EAAIvlC,SAETmkB,GAASA,EAAQ,KAAGA,EAAQ,KAC5BE,GAAOA,EAAM,GAAKA,EAAM4J,KAAK5J,EAAM4J,GAGxC,IADA,IAAIvN,EAAM,GACD3f,EAAIojB,EAAOpjB,EAAIsjB,IAAOtjB,EAC7B2f,GAAOk8Q,EAAMr3P,EAAIxkC,IAEnB,OAAO2f,EAGT,SAASi+c,EAAcp5b,EAAKphB,EAAOE,GAGjC,IAFA,IAAI88c,EAAQ57b,EAAIvgC,MAAMmf,EAAOE,GACzB69F,EAAM,GACDnhH,EAAI,EAAGA,EAAIoge,EAAMnhe,OAAQe,GAAK,EACrCmhH,GAAOtiH,OAAOwiB,aAAa++c,EAAMpge,GAAoB,IAAfoge,EAAMpge,EAAI,IAElD,OAAOmhH,EA0CT,SAASk/W,EAAa1kd,EAAQ8jH,EAAKxgI,GACjC,GAAK0c,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI0vW,WAAW,sBAC3D,GAAI1vW,EAAS8jH,EAAMxgI,EAAQ,MAAM,IAAIosX,WAAW,yCA+JlD,SAASi1G,EAAU97b,EAAK1jC,EAAO6a,EAAQ8jH,EAAK33H,EAAKD,GAC/C,IAAKo4L,EAAO9iK,SAASqH,GAAM,MAAM,IAAIkxB,UAAU,+CAC/C,GAAI50D,EAAQgH,GAAOhH,EAAQ+G,EAAK,MAAM,IAAIwjX,WAAW,qCACrD,GAAI1vW,EAAS8jH,EAAMj7F,EAAIvlC,OAAQ,MAAM,IAAIosX,WAAW,sBAkDtD,SAASk1G,EAAmB/7b,EAAK1jC,EAAO6a,EAAQ6mL,GAC1C1hM,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAId,EAAI,EAAGsE,EAAImB,KAAKoC,IAAI28B,EAAIvlC,OAAS0c,EAAQ,GAAI3b,EAAIsE,IAAKtE,EAC7DwkC,EAAI7oB,EAAS3b,IAAMc,EAAS,KAAS,GAAK0hM,EAAexiM,EAAI,EAAIA,MAClC,GAA5BwiM,EAAexiM,EAAI,EAAIA,GA8B9B,SAASwge,EAAmBh8b,EAAK1jC,EAAO6a,EAAQ6mL,GAC1C1hM,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAId,EAAI,EAAGsE,EAAImB,KAAKoC,IAAI28B,EAAIvlC,OAAS0c,EAAQ,GAAI3b,EAAIsE,IAAKtE,EAC7DwkC,EAAI7oB,EAAS3b,GAAMc,IAAuC,GAA5B0hM,EAAexiM,EAAI,EAAIA,GAAU,IAmJnE,SAASyge,EAAcj8b,EAAK1jC,EAAO6a,EAAQ8jH,EAAK33H,EAAKD,GACnD,GAAI8T,EAAS8jH,EAAMj7F,EAAIvlC,OAAQ,MAAM,IAAIosX,WAAW,sBACpD,GAAI1vW,EAAS,EAAG,MAAM,IAAI0vW,WAAW,sBAGvC,SAASq1G,EAAYl8b,EAAK1jC,EAAO6a,EAAQ6mL,EAAcm+R,GAKrD,OAJKA,GACHF,EAAaj8b,EAAK1jC,EAAO6a,EAAQ,EAAG,sBAAyB,sBAE/Dugd,EAAQzmH,MAAMjxU,EAAK1jC,EAAO6a,EAAQ6mL,EAAc,GAAI,GAC7C7mL,EAAS,EAWlB,SAASild,EAAap8b,EAAK1jC,EAAO6a,EAAQ6mL,EAAcm+R,GAKtD,OAJKA,GACHF,EAAaj8b,EAAK1jC,EAAO6a,EAAQ,EAAG,uBAA0B,uBAEhEugd,EAAQzmH,MAAMjxU,EAAK1jC,EAAO6a,EAAQ6mL,EAAc,GAAI,GAC7C7mL,EAAS,EA/clBskL,EAAOx+L,UAAUwC,MAAQ,SAAgBmf,EAAOE,GAC9C,IAoBIu9c,EApBA3zc,EAAM5qB,KAAKrD,OAqBf,GApBAmkB,IAAUA,EACVE,OAAcpkB,IAARokB,EAAoB4J,IAAQ5J,EAE9BF,EAAQ,GACVA,GAAS8J,EACL9J,EAAQ,IAAGA,EAAQ,IACdA,EAAQ8J,IACjB9J,EAAQ8J,GAGN5J,EAAM,GACRA,GAAO4J,EACH5J,EAAM,IAAGA,EAAM,IACVA,EAAM4J,IACf5J,EAAM4J,GAGJ5J,EAAMF,IAAOE,EAAMF,GAGnB68K,EAAOo8R,oBACTwE,EAASv+d,KAAK0pH,SAAS5oG,EAAOE,GAC9Bu9c,EAAOz2K,UAAYnqH,EAAOx+L,cACrB,CACL,IAAIq/d,EAAWx9c,EAAMF,EACrBy9c,EAAS,IAAI5gS,EAAO6gS,OAAU5he,GAC9B,IAAK,IAAIc,EAAI,EAAGA,EAAI8ge,IAAY9ge,EAC9B6ge,EAAO7ge,GAAKsC,KAAKtC,EAAIojB,GAIzB,OAAOy9c,GAWT5gS,EAAOx+L,UAAUs/d,WAAa,SAAqBpld,EAAQ4xH,EAAYozV,GACrEhld,GAAkB,EAClB4xH,GAA0B,EACrBozV,GAAUN,EAAY1kd,EAAQ4xH,EAAYjrI,KAAKrD,QAEpD,IAAI8yB,EAAMzvB,KAAKqZ,GACX8oD,EAAM,EACNzkE,EAAI,EACR,QAASA,EAAIutI,IAAe9oE,GAAO,KACjC1yC,GAAOzvB,KAAKqZ,EAAS3b,GAAKykE,EAG5B,OAAO1yC,GAGTkuK,EAAOx+L,UAAUu/d,WAAa,SAAqBrld,EAAQ4xH,EAAYozV,GACrEhld,GAAkB,EAClB4xH,GAA0B,EACrBozV,GACHN,EAAY1kd,EAAQ4xH,EAAYjrI,KAAKrD,QAGvC,IAAI8yB,EAAMzvB,KAAKqZ,IAAW4xH,GACtB9oE,EAAM,EACV,MAAO8oE,EAAa,IAAM9oE,GAAO,KAC/B1yC,GAAOzvB,KAAKqZ,IAAW4xH,GAAc9oE,EAGvC,OAAO1yC,GAGTkuK,EAAOx+L,UAAUw/d,UAAY,SAAoBtld,EAAQgld,GAEvD,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCqD,KAAKqZ,IAGdskL,EAAOx+L,UAAUy/d,aAAe,SAAuBvld,EAAQgld,GAE7D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCqD,KAAKqZ,GAAWrZ,KAAKqZ,EAAS,IAAM,GAG7CskL,EAAOx+L,UAAUy8d,aAAe,SAAuBvid,EAAQgld,GAE7D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACnCqD,KAAKqZ,IAAW,EAAKrZ,KAAKqZ,EAAS,IAG7CskL,EAAOx+L,UAAU2jc,aAAe,SAAuBzpb,EAAQgld,GAG7D,OAFKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,SAElCqD,KAAKqZ,GACTrZ,KAAKqZ,EAAS,IAAM,EACpBrZ,KAAKqZ,EAAS,IAAM,IACD,SAAnBrZ,KAAKqZ,EAAS,IAGrBskL,EAAOx+L,UAAU0/d,aAAe,SAAuBxld,EAAQgld,GAG7D,OAFKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QAEpB,SAAfqD,KAAKqZ,IACTrZ,KAAKqZ,EAAS,IAAM,GACrBrZ,KAAKqZ,EAAS,IAAM,EACrBrZ,KAAKqZ,EAAS,KAGlBskL,EAAOx+L,UAAU2/d,UAAY,SAAoBzld,EAAQ4xH,EAAYozV,GACnEhld,GAAkB,EAClB4xH,GAA0B,EACrBozV,GAAUN,EAAY1kd,EAAQ4xH,EAAYjrI,KAAKrD,QAEpD,IAAI8yB,EAAMzvB,KAAKqZ,GACX8oD,EAAM,EACNzkE,EAAI,EACR,QAASA,EAAIutI,IAAe9oE,GAAO,KACjC1yC,GAAOzvB,KAAKqZ,EAAS3b,GAAKykE,EAM5B,OAJAA,GAAO,IAEH1yC,GAAO0yC,IAAK1yC,GAAOtsB,KAAKw5B,IAAI,EAAG,EAAIsuG,IAEhCx7G,GAGTkuK,EAAOx+L,UAAU4/d,UAAY,SAAoB1ld,EAAQ4xH,EAAYozV,GACnEhld,GAAkB,EAClB4xH,GAA0B,EACrBozV,GAAUN,EAAY1kd,EAAQ4xH,EAAYjrI,KAAKrD,QAEpD,IAAIe,EAAIutI,EACJ9oE,EAAM,EACN1yC,EAAMzvB,KAAKqZ,IAAW3b,GAC1B,MAAOA,EAAI,IAAMykE,GAAO,KACtB1yC,GAAOzvB,KAAKqZ,IAAW3b,GAAKykE,EAM9B,OAJAA,GAAO,IAEH1yC,GAAO0yC,IAAK1yC,GAAOtsB,KAAKw5B,IAAI,EAAG,EAAIsuG,IAEhCx7G,GAGTkuK,EAAOx+L,UAAU6/d,SAAW,SAAmB3ld,EAAQgld,GAErD,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACtB,IAAfqD,KAAKqZ,IAC0B,GAA5B,IAAOrZ,KAAKqZ,GAAU,GADKrZ,KAAKqZ,IAI3CskL,EAAOx+L,UAAU8/d,YAAc,SAAsB5ld,EAAQgld,GACtDA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QAC3C,IAAI8yB,EAAMzvB,KAAKqZ,GAAWrZ,KAAKqZ,EAAS,IAAM,EAC9C,OAAc,MAANoW,EAAsB,WAANA,EAAmBA,GAG7CkuK,EAAOx+L,UAAU+/d,YAAc,SAAsB7ld,EAAQgld,GACtDA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QAC3C,IAAI8yB,EAAMzvB,KAAKqZ,EAAS,GAAMrZ,KAAKqZ,IAAW,EAC9C,OAAc,MAANoW,EAAsB,WAANA,EAAmBA,GAG7CkuK,EAAOx+L,UAAUgge,YAAc,SAAsB9ld,EAAQgld,GAG3D,OAFKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QAEnCqD,KAAKqZ,GACVrZ,KAAKqZ,EAAS,IAAM,EACpBrZ,KAAKqZ,EAAS,IAAM,GACpBrZ,KAAKqZ,EAAS,IAAM,IAGzBskL,EAAOx+L,UAAUige,YAAc,SAAsB/ld,EAAQgld,GAG3D,OAFKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QAEnCqD,KAAKqZ,IAAW,GACrBrZ,KAAKqZ,EAAS,IAAM,GACpBrZ,KAAKqZ,EAAS,IAAM,EACpBrZ,KAAKqZ,EAAS,IAGnBskL,EAAOx+L,UAAU87B,YAAc,SAAsB5hB,EAAQgld,GAE3D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCi9d,EAAQ/7Q,KAAK79M,KAAMqZ,GAAQ,EAAM,GAAI,IAG9CskL,EAAOx+L,UAAUkge,YAAc,SAAsBhmd,EAAQgld,GAE3D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCi9d,EAAQ/7Q,KAAK79M,KAAMqZ,GAAQ,EAAO,GAAI,IAG/CskL,EAAOx+L,UAAUwjc,aAAe,SAAuBtpb,EAAQgld,GAE7D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCi9d,EAAQ/7Q,KAAK79M,KAAMqZ,GAAQ,EAAM,GAAI,IAG9CskL,EAAOx+L,UAAUmge,aAAe,SAAuBjmd,EAAQgld,GAE7D,OADKA,GAAUN,EAAY1kd,EAAQ,EAAGrZ,KAAKrD,QACpCi9d,EAAQ/7Q,KAAK79M,KAAMqZ,GAAQ,EAAO,GAAI,IAS/CskL,EAAOx+L,UAAUoge,YAAc,SAAsB/ge,EAAO6a,EAAQ4xH,EAAYozV,GAI9E,GAHA7/d,GAASA,EACT6a,GAAkB,EAClB4xH,GAA0B,GACrBozV,EAAU,CACb,IAAImB,EAAWr8d,KAAKw5B,IAAI,EAAG,EAAIsuG,GAAc,EAC7C+yV,EAASh+d,KAAMxB,EAAO6a,EAAQ4xH,EAAYu0V,EAAU,GAGtD,IAAIr9Z,EAAM,EACNzkE,EAAI,EACRsC,KAAKqZ,GAAkB,IAAR7a,EACf,QAASd,EAAIutI,IAAe9oE,GAAO,KACjCniE,KAAKqZ,EAAS3b,GAAMc,EAAQ2jE,EAAO,IAGrC,OAAO9oD,EAAS4xH,GAGlB0yD,EAAOx+L,UAAUsge,YAAc,SAAsBjhe,EAAO6a,EAAQ4xH,EAAYozV,GAI9E,GAHA7/d,GAASA,EACT6a,GAAkB,EAClB4xH,GAA0B,GACrBozV,EAAU,CACb,IAAImB,EAAWr8d,KAAKw5B,IAAI,EAAG,EAAIsuG,GAAc,EAC7C+yV,EAASh+d,KAAMxB,EAAO6a,EAAQ4xH,EAAYu0V,EAAU,GAGtD,IAAI9he,EAAIutI,EAAa,EACjB9oE,EAAM,EACVniE,KAAKqZ,EAAS3b,GAAa,IAARc,EACnB,QAASd,GAAK,IAAMykE,GAAO,KACzBniE,KAAKqZ,EAAS3b,GAAMc,EAAQ2jE,EAAO,IAGrC,OAAO9oD,EAAS4xH,GAGlB0yD,EAAOx+L,UAAUuge,WAAa,SAAqBlhe,EAAO6a,EAAQgld,GAMhE,OALA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,IAAM,GACjDskL,EAAOo8R,sBAAqBv7d,EAAQ2E,KAAK2N,MAAMtS,IACpDwB,KAAKqZ,GAAmB,IAAR7a,EACT6a,EAAS,GAWlBskL,EAAOx+L,UAAUwge,cAAgB,SAAwBnhe,EAAO6a,EAAQgld,GAUtE,OATA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,MAAQ,GACpDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAmB,IAAR7a,EAChBwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAE9By/d,EAAkBj+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAUyge,cAAgB,SAAwBphe,EAAO6a,EAAQgld,GAUtE,OATA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,MAAQ,GACpDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAW7a,IAAU,EAC1BwB,KAAKqZ,EAAS,GAAc,IAAR7a,GAEpBy/d,EAAkBj+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAUlBskL,EAAOx+L,UAAUujc,cAAgB,SAAwBlkc,EAAO6a,EAAQgld,GAYtE,OAXA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,WAAY,GACxDskL,EAAOo8R,qBACT/5d,KAAKqZ,EAAS,GAAM7a,IAAU,GAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,EAC9BwB,KAAKqZ,GAAmB,IAAR7a,GAEhB0/d,EAAkBl+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAU0ge,cAAgB,SAAwBrhe,EAAO6a,EAAQgld,GAYtE,OAXA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,WAAY,GACxDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAW7a,IAAU,GAC1BwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,EAC9BwB,KAAKqZ,EAAS,GAAc,IAAR7a,GAEpB0/d,EAAkBl+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAU2ge,WAAa,SAAqBthe,EAAO6a,EAAQ4xH,EAAYozV,GAG5E,GAFA7/d,GAASA,EACT6a,GAAkB,GACbgld,EAAU,CACb,IAAI0B,EAAQ58d,KAAKw5B,IAAI,EAAG,EAAIsuG,EAAa,GAEzC+yV,EAASh+d,KAAMxB,EAAO6a,EAAQ4xH,EAAY80V,EAAQ,GAAIA,GAGxD,IAAIrie,EAAI,EACJykE,EAAM,EACN94C,EAAM,EACVrpB,KAAKqZ,GAAkB,IAAR7a,EACf,QAASd,EAAIutI,IAAe9oE,GAAO,KAC7B3jE,EAAQ,GAAa,IAAR6qB,GAAsC,IAAzBrpB,KAAKqZ,EAAS3b,EAAI,KAC9C2rB,EAAM,GAERrpB,KAAKqZ,EAAS3b,IAAOc,EAAQ2jE,GAAQ,GAAK94C,EAAM,IAGlD,OAAOhQ,EAAS4xH,GAGlB0yD,EAAOx+L,UAAU6ge,WAAa,SAAqBxhe,EAAO6a,EAAQ4xH,EAAYozV,GAG5E,GAFA7/d,GAASA,EACT6a,GAAkB,GACbgld,EAAU,CACb,IAAI0B,EAAQ58d,KAAKw5B,IAAI,EAAG,EAAIsuG,EAAa,GAEzC+yV,EAASh+d,KAAMxB,EAAO6a,EAAQ4xH,EAAY80V,EAAQ,GAAIA,GAGxD,IAAIrie,EAAIutI,EAAa,EACjB9oE,EAAM,EACN94C,EAAM,EACVrpB,KAAKqZ,EAAS3b,GAAa,IAARc,EACnB,QAASd,GAAK,IAAMykE,GAAO,KACrB3jE,EAAQ,GAAa,IAAR6qB,GAAsC,IAAzBrpB,KAAKqZ,EAAS3b,EAAI,KAC9C2rB,EAAM,GAERrpB,KAAKqZ,EAAS3b,IAAOc,EAAQ2jE,GAAQ,GAAK94C,EAAM,IAGlD,OAAOhQ,EAAS4xH,GAGlB0yD,EAAOx+L,UAAU8ge,UAAY,SAAoBzhe,EAAO6a,EAAQgld,GAO9D,OANA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,KAAO,KAClDskL,EAAOo8R,sBAAqBv7d,EAAQ2E,KAAK2N,MAAMtS,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCwB,KAAKqZ,GAAmB,IAAR7a,EACT6a,EAAS,GAGlBskL,EAAOx+L,UAAU+ge,aAAe,SAAuB1he,EAAO6a,EAAQgld,GAUpE,OATA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,OAAS,OACrDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAmB,IAAR7a,EAChBwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAE9By/d,EAAkBj+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAUghe,aAAe,SAAuB3he,EAAO6a,EAAQgld,GAUpE,OATA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,OAAS,OACrDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAW7a,IAAU,EAC1BwB,KAAKqZ,EAAS,GAAc,IAAR7a,GAEpBy/d,EAAkBj+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAUihe,aAAe,SAAuB5he,EAAO6a,EAAQgld,GAYpE,OAXA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,YAAa,YACzDskL,EAAOo8R,qBACT/5d,KAAKqZ,GAAmB,IAAR7a,EAChBwB,KAAKqZ,EAAS,GAAM7a,IAAU,EAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,IAE9B0/d,EAAkBl+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAGlBskL,EAAOx+L,UAAUkhe,aAAe,SAAuB7he,EAAO6a,EAAQgld,GAapE,OAZA7/d,GAASA,EACT6a,GAAkB,EACbgld,GAAUL,EAASh+d,KAAMxB,EAAO6a,EAAQ,EAAG,YAAa,YACzD7a,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCm/L,EAAOo8R,qBACT/5d,KAAKqZ,GAAW7a,IAAU,GAC1BwB,KAAKqZ,EAAS,GAAM7a,IAAU,GAC9BwB,KAAKqZ,EAAS,GAAM7a,IAAU,EAC9BwB,KAAKqZ,EAAS,GAAc,IAAR7a,GAEpB0/d,EAAkBl+d,KAAMxB,EAAO6a,GAAQ,GAElCA,EAAS,GAgBlBskL,EAAOx+L,UAAUmhe,aAAe,SAAuB9he,EAAO6a,EAAQgld,GACpE,OAAOD,EAAWp+d,KAAMxB,EAAO6a,GAAQ,EAAMgld,IAG/C1gS,EAAOx+L,UAAUohe,aAAe,SAAuB/he,EAAO6a,EAAQgld,GACpE,OAAOD,EAAWp+d,KAAMxB,EAAO6a,GAAQ,EAAOgld,IAWhD1gS,EAAOx+L,UAAU0jc,cAAgB,SAAwBrkc,EAAO6a,EAAQgld,GACtE,OAAOC,EAAYt+d,KAAMxB,EAAO6a,GAAQ,EAAMgld,IAGhD1gS,EAAOx+L,UAAUqhe,cAAgB,SAAwBhie,EAAO6a,EAAQgld,GACtE,OAAOC,EAAYt+d,KAAMxB,EAAO6a,GAAQ,EAAOgld,IAIjD1gS,EAAOx+L,UAAUsnE,KAAO,SAAep5C,EAAQozc,EAAa3/c,EAAOE,GAQjE,GAPKF,IAAOA,EAAQ,GACfE,GAAe,IAARA,IAAWA,EAAMhhB,KAAKrD,QAC9B8je,GAAepzc,EAAO1wB,SAAQ8je,EAAcpzc,EAAO1wB,QAClD8je,IAAaA,EAAc,GAC5Bz/c,EAAM,GAAKA,EAAMF,IAAOE,EAAMF,GAG9BE,IAAQF,EAAO,OAAO,EAC1B,GAAsB,IAAlBuM,EAAO1wB,QAAgC,IAAhBqD,KAAKrD,OAAc,OAAO,EAGrD,GAAI8je,EAAc,EAChB,MAAM,IAAI13G,WAAW,6BAEvB,GAAIjoW,EAAQ,GAAKA,GAAS9gB,KAAKrD,OAAQ,MAAM,IAAIosX,WAAW,6BAC5D,GAAI/nW,EAAM,EAAG,MAAM,IAAI+nW,WAAW,2BAG9B/nW,EAAMhhB,KAAKrD,SAAQqkB,EAAMhhB,KAAKrD,QAC9B0wB,EAAO1wB,OAAS8je,EAAcz/c,EAAMF,IACtCE,EAAMqM,EAAO1wB,OAAS8je,EAAc3/c,GAGtC,IACIpjB,EADAktB,EAAM5J,EAAMF,EAGhB,GAAI9gB,OAASqtB,GAAUvM,EAAQ2/c,GAAeA,EAAcz/c,EAE1D,IAAKtjB,EAAIktB,EAAM,EAAGltB,GAAK,IAAKA,EAC1B2vB,EAAO3vB,EAAI+ie,GAAezge,KAAKtC,EAAIojB,QAEhC,GAAI8J,EAAM,MAAS+yK,EAAOo8R,oBAE/B,IAAKr8d,EAAI,EAAGA,EAAIktB,IAAOltB,EACrB2vB,EAAO3vB,EAAI+ie,GAAezge,KAAKtC,EAAIojB,QAGrCtQ,WAAWrR,UAAUkM,IAAIxO,KACvBwwB,EACArtB,KAAK0pH,SAAS5oG,EAAOA,EAAQ8J,GAC7B61c,GAIJ,OAAO71c,GAOT+yK,EAAOx+L,UAAU8P,KAAO,SAAewgB,EAAK3O,EAAOE,EAAKq5c,GAEtD,GAAmB,kBAAR5qc,EAAkB,CAS3B,GARqB,kBAAV3O,GACTu5c,EAAWv5c,EACXA,EAAQ,EACRE,EAAMhhB,KAAKrD,QACa,kBAARqkB,IAChBq5c,EAAWr5c,EACXA,EAAMhhB,KAAKrD,QAEM,IAAf8yB,EAAI9yB,OAAc,CACpB,IAAI4D,EAAOkvB,EAAIyzC,WAAW,GACtB3iE,EAAO,MACTkvB,EAAMlvB,GAGV,QAAiB3D,IAAby9d,GAA8C,kBAAbA,EACnC,MAAM,IAAIjna,UAAU,6BAEtB,GAAwB,kBAAbina,IAA0B18R,EAAO48R,WAAWF,GACrD,MAAM,IAAIjna,UAAU,qBAAuBina,OAErB,kBAAR5qc,IAChBA,GAAY,KAId,GAAI3O,EAAQ,GAAK9gB,KAAKrD,OAASmkB,GAAS9gB,KAAKrD,OAASqkB,EACpD,MAAM,IAAI+nW,WAAW,sBAGvB,GAAI/nW,GAAOF,EACT,OAAO9gB,KAQT,IAAItC,EACJ,GANAojB,KAAkB,EAClBE,OAAcpkB,IAARokB,EAAoBhhB,KAAKrD,OAASqkB,IAAQ,EAE3CyO,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAK/xB,EAAIojB,EAAOpjB,EAAIsjB,IAAOtjB,EACzBsC,KAAKtC,GAAK+xB,MAEP,CACL,IAAIquc,EAAQngS,EAAO9iK,SAASpL,GACxBA,EACAqrc,EAAY,IAAIn9R,EAAOluK,EAAK4qc,GAAUvgd,YACtC8Q,EAAMkzc,EAAMnhe,OAChB,IAAKe,EAAI,EAAGA,EAAIsjB,EAAMF,IAASpjB,EAC7BsC,KAAKtC,EAAIojB,GAASg9c,EAAMpge,EAAIktB,GAIhC,OAAO5qB,MAMT,IAAI0ge,EAAoB,qBAExB,SAASC,EAAa57d,GAIpB,GAFAA,EAAM67d,EAAW77d,GAAK8Q,QAAQ6qd,EAAmB,IAE7C37d,EAAIpI,OAAS,EAAG,MAAO,GAE3B,MAAOoI,EAAIpI,OAAS,IAAM,EACxBoI,GAAY,IAEd,OAAOA,EAGT,SAAS67d,EAAY77d,GACnB,OAAIA,EAAIi1D,KAAaj1D,EAAIi1D,OAClBj1D,EAAI8Q,QAAQ,aAAc,IAGnC,SAAS0jR,EAAOv6R,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAE8a,SAAS,IAC7B9a,EAAE8a,SAAS,IAGpB,SAASghd,EAAalnM,EAAQr7Q,GAE5B,IAAIskd,EADJtkd,EAAQA,GAAS5Q,IAMjB,IAJA,IAAIhL,EAASi3R,EAAOj3R,OAChBkke,EAAgB,KAChB/C,EAAQ,GAEHpge,EAAI,EAAGA,EAAIf,IAAUe,EAAG,CAI/B,GAHAm/d,EAAYjpM,EAAO1wN,WAAWxlE,GAG1Bm/d,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKgE,EAAe,CAElB,GAAIhE,EAAY,MAAQ,EAEjBtkd,GAAS,IAAM,GAAGuld,EAAMt9d,KAAK,IAAM,IAAM,KAC9C,SACK,GAAI9C,EAAI,IAAMf,EAAQ,EAEtB4b,GAAS,IAAM,GAAGuld,EAAMt9d,KAAK,IAAM,IAAM,KAC9C,SAIFqge,EAAgBhE,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBtkd,GAAS,IAAM,GAAGuld,EAAMt9d,KAAK,IAAM,IAAM,KAC9Cqge,EAAgBhE,EAChB,SAIFA,EAAkE,OAArDgE,EAAgB,OAAU,GAAKhE,EAAY,YAC/CgE,IAEJtod,GAAS,IAAM,GAAGuld,EAAMt9d,KAAK,IAAM,IAAM,KAMhD,GAHAqge,EAAgB,KAGZhE,EAAY,IAAM,CACpB,IAAKtkd,GAAS,GAAK,EAAG,MACtBuld,EAAMt9d,KAAKq8d,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKtkd,GAAS,GAAK,EAAG,MACtBuld,EAAMt9d,KACJq8d,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKtkd,GAAS,GAAK,EAAG,MACtBuld,EAAMt9d,KACJq8d,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAIp7d,MAAM,sBARhB,IAAK8W,GAAS,GAAK,EAAG,MACtBuld,EAAMt9d,KACJq8d,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOiB,EAGT,SAAS3B,EAAcp3d,GAErB,IADA,IAAI+7d,EAAY,GACPpje,EAAI,EAAGA,EAAIqH,EAAIpI,SAAUe,EAEhCoje,EAAUtge,KAAyB,IAApBuE,EAAIm+D,WAAWxlE,IAEhC,OAAOoje,EAGT,SAASvE,EAAgBx3d,EAAKwT,GAG5B,IAFA,IAAIvb,EAAG8X,EAAIC,EACP+rd,EAAY,GACPpje,EAAI,EAAGA,EAAIqH,EAAIpI,SAAUe,EAAG,CACnC,IAAK6a,GAAS,GAAK,EAAG,MAEtBvb,EAAI+H,EAAIm+D,WAAWxlE,GACnBoX,EAAK9X,GAAK,EACV+X,EAAK/X,EAAI,IACT8je,EAAUtge,KAAKuU,GACf+rd,EAAUtge,KAAKsU,GAGjB,OAAOgsd,EAGT,SAAS/F,EAAeh2d,GACtB,OAAO40d,EAAOzuV,YAAYy1V,EAAY57d,IAGxC,SAASk3d,GAAYl/c,EAAK+jW,EAAKznW,EAAQ1c,GACrC,IAAK,IAAIe,EAAI,EAAGA,EAAIf,IAAUe,EAAG,CAC/B,GAAKA,EAAI2b,GAAUynW,EAAInkX,QAAYe,GAAKqf,EAAIpgB,OAAS,MACrDmkX,EAAIpjX,EAAI2b,GAAU0D,EAAIrf,GAExB,OAAOA,EAGT,SAASi9d,GAAOlrc,GACd,OAAOA,IAAQA,KAGY5yB,KAAKmD,KAAMxC,EAAoB,UAItD,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,IAAI4oG,EAAI5oG,EAAoB,QACxBisL,EAAWjsL,EAAoB,QAC/Buje,EAAavje,EAAoB,QACjC+lF,EAAQ/lF,EAAoB,QAE5Bwje,EAAsBz9Y,GAAM,WAAcw9Y,EAAW,MAIzD36X,EAAE,CAAE/4E,OAAQ,SAAU01H,MAAM,EAAMr8C,OAAQs6X,GAAuB,CAC/Dj8a,KAAM,SAAcnf,GAClB,OAAOm7b,EAAWt3S,EAAS7jJ,QAOzB,KACA,SAAUvpC,EAAQC,EAASkB,GAEjC,aAYA,IAAIigE,EAAMjgE,EAAoB,QAAQigE,IAClC9uB,EAASnxC,EAAoB,QAAQmxC,OAErC4vB,EAAUliE,EAAOC,QAAU,GAkB/BiiE,EAAQuB,OAAS,SAAgBmha,GAC7B,IAKIvje,EALA6vC,EAAM0zb,EAAMt/d,QACZ63G,EAAOjsE,EAAI,GAAG,GACdksE,EAAOD,EACPE,EAAOnsE,EAAI,GAAG,GACdosE,EAAOD,EAIX,IADAnsE,EAAI/sC,KAAK+sC,EAAI,IACT7vC,EAAI,EAAGA,EAAI6vC,EAAI5wC,OAAQe,IACvB87G,EAAOr2G,KAAKoC,IAAIi0G,EAAMjsE,EAAI7vC,GAAG,IAC7B+7G,EAAOt2G,KAAKqC,IAAIi0G,EAAMlsE,EAAI7vC,GAAG,IAC7Bg8G,EAAOv2G,KAAKoC,IAAIm0G,EAAMnsE,EAAI7vC,GAAG,IAC7Bi8G,EAAOx2G,KAAKqC,IAAIm0G,EAAMpsE,EAAI7vC,GAAG,IAMjC,IACIwje,EADAxkX,GAAS,EAqBb,SAASykX,EAAa7jd,EAAIi/F,GACtB,IAAI3wG,EAAI0R,EAAG,GACP/L,EAAI+L,EAAG,GAEX,QAAG1R,IAAM+iC,GAAU/iC,EAAI4tG,GAAQ5tG,EAAI6tG,GAAQloG,IAAMo9B,GAAUp9B,EAAImoG,GAAQnoG,EAAIooG,MAIxE4C,IAAiB2kX,EAAkB5jd,IAK1C,SAAS8W,EAAS9W,EAAIi/F,GAClB,IAAI3wG,EAAI0R,EAAG,GACP/L,EAAI+L,EAAG,GAEX,GAAG1R,IAAM+iC,GAAU/iC,EAAI4tG,GAAQ5tG,EAAI6tG,GAAQloG,IAAMo9B,GAAUp9B,EAAImoG,GAAQnoG,EAAIooG,EAEvE,OAAO,EAGX,IAIIj8G,EACA22B,EACAK,EACA0sc,EACAC,EARAn/N,EAAO30N,EAAI5wC,OACX23B,EAAKiZ,EAAI,GAAG,GACZ5Y,EAAK4Y,EAAI,GAAG,GACZgjJ,EAAY,EAOhB,IAAI7yL,EAAI,EAAGA,EAAIwkQ,EAAMxkQ,IAWjB,GANA22B,EAAKC,EACLI,EAAKC,EACLL,EAAKiZ,EAAI7vC,GAAG,GACZi3B,EAAK4Y,EAAI7vC,GAAG,GACZ0je,EAAQj+d,KAAKoC,IAAI8uB,EAAIC,KAElB1oB,EAAIw1d,GAASx1d,EAAIzI,KAAKqC,IAAI6uB,EAAIC,IAAO/iB,EAAIpO,KAAKqC,IAAIkvB,EAAIC,IAKlD,GAAGpjB,EAAIpO,KAAKoC,IAAImvB,EAAIC,GAMpB/oB,IAAMw1d,GAAO7wS,QACb,CAWH,GANc8wS,EAAX/sc,IAAOD,EAAa9iB,EAETmjB,GAAM9oB,EAAIyoB,IAAOM,EAAKD,IAAOJ,EAAKD,GAI7C9iB,IAAM8vd,EACL,OAAS,IAAN3je,IAAW6+G,EAIfhrG,GAAK8vd,GAAUz1d,IAAMw1d,GAAO7wS,IAKvC,OAAOA,EAAY,IAAM,EA9FX,IAAfhjJ,EAAI5wC,SACA4wC,EAAI,GAAG,KAAOA,EAAI,GAAG,GACjBA,EAAI,GAAG,KAAOA,EAAI,GAAG,IAChBA,EAAI,GAAG,KAAOA,EAAI,GAAG,IACrBA,EAAI,GAAG,KAAOA,EAAI,GAAG,KACzBmvE,GAAS,EACTwkX,EAAoB,SAAS5jd,GAAM,OAAOA,EAAG,KAAOiwB,EAAI,GAAG,KAEzDA,EAAI,GAAG,KAAOA,EAAI,GAAG,IACxBA,EAAI,GAAG,KAAOA,EAAI,GAAG,IAChBA,EAAI,GAAG,KAAOA,EAAI,GAAG,IACrBA,EAAI,GAAG,KAAOA,EAAI,GAAG,KACzBmvE,GAAS,EACTwkX,EAAoB,SAAS5jd,GAAM,OAAOA,EAAG,KAAOiwB,EAAI,GAAG,MAqFvE,IAAIovE,GAAa,EACbg7T,EAASpqY,EAAI,GACjB,IAAI7vC,EAAI,EAAGA,EAAI6vC,EAAI5wC,OAAQe,IACvB,GAAGi6a,EAAO,KAAOpqY,EAAI7vC,GAAG,IAAMi6a,EAAO,KAAOpqY,EAAI7vC,GAAG,GAAI,CACnDi/G,GAAa,EACb,MAIR,MAAO,CACHnD,KAAMA,EACNC,KAAMA,EACNC,KAAMA,EACNC,KAAMA,EACNpsE,IAAKA,EACLnZ,SAAUsoF,EAASykX,EAAe/sc,EAClCsoF,OAAQA,EACRC,WAAYA,IAcpBp+C,EAAQ+ia,cAAgB,SAAuB/zb,EAAKzsB,EAAOE,EAAK8hC,GAC5D,IAKIplD,EACA46R,EACAipM,EAPA9qG,EAAUlpV,EAAIzsB,GACd4+H,EAAU,CAACnyG,EAAIvsB,GAAK,GAAKy1W,EAAQ,GAAIlpV,EAAIvsB,GAAK,GAAKy1W,EAAQ,IAC3D+qG,EAAiB/ja,EAAIiiF,EAASA,GAC9B+hV,EAAat+d,KAAKuD,KAAK86d,GACvBE,EAAW,EAAEhiV,EAAQ,GAAK+hV,EAAY/hV,EAAQ,GAAK+hV,GAKvD,IAAI/je,EAAIojB,EAAQ,EAAGpjB,EAAIsjB,EAAKtjB,IAIxB,GAHA46R,EAAO,CAAC/qP,EAAI7vC,GAAG,GAAK+4X,EAAQ,GAAIlpV,EAAI7vC,GAAG,GAAK+4X,EAAQ,IACpD8qG,EAAe9ja,EAAI66N,EAAM54I,GAEtB6hV,EAAe,GAAKA,EAAeC,GAClCr+d,KAAK+R,IAAIuoD,EAAI66N,EAAMopM,IAAa5+a,EAAW,OAAO,EAE1D,OAAO,GAgBXyb,EAAQp9D,OAAS,SAAgBosC,EAAKuV,GAClC,IAAI6+a,EAAc,CAACp0b,EAAI,IACnBq0b,EAAe,EACfC,EAAoB,EAExB,SAASjoX,EAAMt8F,GACXiwB,EAAI/sC,KAAK8c,GACT,IAAIwkd,EAAgBH,EAAYhle,OAC5Bole,EAAQH,EACZD,EAAY3zd,OAAO6zd,EAAoB,GAEvC,IAAI,IAAInke,EAAIqke,EAAQ,EAAGrke,EAAI6vC,EAAI5wC,OAAQe,KAChCA,IAAM6vC,EAAI5wC,OAAS,GAAK4hE,EAAQ+ia,cAAc/zb,EAAKw0b,EAAOrke,EAAI,EAAGolD,MAChE6+a,EAAYnhe,KAAK+sC,EAAI7vC,IAClBike,EAAYhle,OAASmle,EAAgB,IACpCF,EAAelke,EACfmke,EAAoBF,EAAYhle,OAAS,GAE7Cole,EAAQrke,GAKpB,GAAG6vC,EAAI5wC,OAAS,EAAG,CACf,IAAIg7a,EAASpqY,EAAI5qC,MACjBi3G,EAAM+9T,GAGV,MAAO,CACH/9T,MAAOA,EACPkjB,IAAKvvF,EACL8rE,SAAUsoX,KAOZ,KACA,SAAUtle,EAAQC,EAASkB,GAEjC,aAWA,IAAIuxR,EAAQvxR,EAAoB,QAEhClB,EAAQwB,KAAO,UAEfxB,EAAQ4T,KAAO,SAASnE,EAAI+3C,EAAQjtB,EAAgBC,GAChDi4P,EAAMC,aAAa1yR,EAAQwB,KAAMiO,EAAI+3C,EAAQjtB,EAAgBC,IAGjEx6B,EAAQ27D,MAAQ,SAASC,EAAaC,EAAeC,EAAaC,GAC9D02N,EAAME,cAAc3yR,EAAQwB,KAAMo6D,EAAaC,EAAeC,EAAaC,KAMzE,KACA,SAAUh8D,EAAQC,EAASkB,GAEjC,aAYA,IAAIm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAC1B28D,EAAqB38D,EAAoB,QACzC8K,EAAa9K,EAAoB,QAErCnB,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,EAAcvV,GACtE,SAAS3U,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAI3D,SAASqhd,EAAel8b,GACpB,IAAIm+I,EAAMn+I,EAAM4S,KAAI,SAASzzB,GACzB,IAAIpe,EAASqpC,EAAOjrB,GAEpB,OAAGpe,GAAUkN,EAAIo8D,oBAAoBtpE,GAAgBA,EAC9C,QAGX,OAAOo9K,EAAIqnE,OAAM,SAAS1/O,GACtB,OAAOA,GAAKA,EAAEjP,SAAWsnL,EAAI,GAAGtnL,WAC9BsnL,EAGV,IAAIxkH,EAASuia,EAAe,CAAC,IAAK,IAAK,MACvC,GAAIvia,EAOJ,GAFAuia,EAAe,CAAC,IAAK,IAAK,QAGrBxra,EAAS94D,GAAO84D,EAASx0D,GAAMw0D,EAASr0D,MACxCq0D,EAASx0D,GAAOw0D,EAASr0D,GAAMq0D,EAAS94D,MACxC84D,EAASr0D,GAAOq0D,EAAS94D,GAAM84D,EAASx0D,GAH7C,CASA,IAAIy0D,EAAyB9/B,EAASsa,mBAAmB,YAAa,uBACtEwlB,EAAuBF,EAASC,EAAU,CAAC,IAAK,IAAK,KAAM3R,GAG3D,CACI,mBACA,mBACA,oBACA,qBACA,mBACA,gCACA,8BACA,kBACA,kBACA,kBACA,cACA,YACA,eACA,WACFqP,SAAQ,SAAStoD,GAAKskC,EAAOtkC,MAE/B,IAAImvD,EAAc7qB,EAAO,gBACtB6qB,IACC7qB,EAAO,iBACPA,EAAO,kBAGR,cAAeqmB,GACdrmB,EAAO,aACPA,EAAO,iBACPiqB,EAAmB5D,EAASC,EAAU3R,EAAQ3U,EAAQ,CAAC8qB,OAAQ,GAAI5uD,QAAS,QAE5EoqD,EAASu2E,WAAY,EAElB,cAAex2E,EAASrmB,EAAO,aAC1B,gBAAiBqmB,EAASrmB,EAAO,eACpCA,EAAO,QAASkqB,IAGzBlqB,EAAO,QACPA,EAAO,aACPA,EAAO,iBAKPsmB,EAAS3hD,QAAU,UAlDf2hD,EAASjnD,SAAU,OAXnBinD,EAASjnD,SAAU,IAmErB,KACA,SAAUlT,EAAQC,EAASkB,GAEjC,aAGA,SAASqgL,EAAcl2I,EAAUm2I,EAAWC,EAAUC,EAAWC,EAAYC,GAC3E,IAAI39K,EAAO,CACT,YAAaonC,EAAU,UAAWq2I,EAAUr9K,KAAK,KAAO,KAC5Du9K,EAAW,GAAK,SAAWH,EAAW,MAAQ,MAC9C,mCACsBE,EAAa,UAAY,OAqB7C,OApBGC,EACEJ,EAAU17K,QAAQ,KAAO,EAC1B7B,EAAKC,KAAK,sCAEVD,EAAKC,KAAK,mDAGZD,EAAKC,KAAK,OAAQs9K,EAAW,UAE5BC,EACDx9K,EAAKC,KAAK,qBAEVD,EAAKC,KAAK,qBAEZD,EAAKC,KAAK,KACP09K,EACD39K,EAAKC,KAAK,eAEVD,EAAKC,KAAK,cAELD,EAAKI,KAAK,IAGnB,SAASw9K,EAAoBL,EAAWC,EAAUr4K,EAAQw4K,GACxD,IAAIr3K,EAAS,IAAInG,SAAS,CAC1Bm9K,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAOG,GAClEL,EAAc,IAAK,IAAMC,EAAY,IAAKC,EAAU,CAAC,MAAM,EAAMG,GACjEL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAOG,GAC5EL,EAAc,IAAK,SAAWC,EAAY,IAAKC,EAAU,CAAC,IAAK,MAAM,EAAMG,GAC7E,2BAA4Bx4K,EAAQ,6YAYXA,GAAQ/E,KAAK,KACpC,OAAOkG,IAGTxK,EAAOC,QAAU,CACf8hL,GAAID,EAAoB,MAAM,EAAO,MACrCzyJ,GAAIyyJ,EAAoB,KAAK,EAAO,MACpC1yJ,GAAI0yJ,EAAoB,KAAK,EAAM,MACnC7yK,GAAI6yK,EAAoB,MAAM,EAAM,MACpCE,GAAIF,EAAoB,KAAK,EAAM,MAAM,KAMrC,KACA,SAAU9hL,EAAQC,EAASkB,GAEjC,IAAIuB,EAAOvB,EAAoB,QAC3B4qR,EAAgB5qR,EAAoB,QACpCisL,EAAWjsL,EAAoB,QAC/B4oP,EAAW5oP,EAAoB,QAC/Buwa,EAAqBvwa,EAAoB,QAEzCgD,EAAO,GAAGA,KAGV8lP,EAAe,SAAU0uD,GAC3B,IAAIitL,EAAiB,GAARjtL,EACTktL,EAAoB,GAARltL,EACZmtL,EAAkB,GAARntL,EACVotL,EAAmB,GAARptL,EACXqtL,EAAwB,GAARrtL,EAChBstL,EAAmB,GAARttL,GAAaqtL,EAC5B,OAAO,SAAU77O,EAAO7/I,EAAYjqG,EAAM6le,GASxC,IARA,IAOI/je,EAAOqI,EAPPuuD,EAAIq0H,EAAS+8D,GACbnpP,EAAO+qR,EAAchzN,GACrBota,EAAgBzje,EAAK4nG,EAAYjqG,EAAM,GACvCC,EAASypP,EAAS/oP,EAAKV,QACvByD,EAAQ,EACRvB,EAAS0je,GAAkBx0D,EAC3B1gZ,EAAS40c,EAASpje,EAAO2nP,EAAO7pP,GAAUule,EAAYrje,EAAO2nP,EAAO,QAAK5pP,EAEvED,EAASyD,EAAOA,IAAS,IAAIkie,GAAYlie,KAAS/C,KACtDmB,EAAQnB,EAAK+C,GACbyG,EAAS27d,EAAchke,EAAO4B,EAAOg1D,GACjC4/O,GACF,GAAIitL,EAAQ50c,EAAOjtB,GAASyG,OACvB,GAAIA,EAAQ,OAAQmuS,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOx2S,EACf,KAAK,EAAG,OAAO4B,EACf,KAAK,EAAGI,EAAK3D,KAAKwwB,EAAQ7uB,QACrB,GAAI4je,EAAU,OAAO,EAGhC,OAAOC,GAAiB,EAAIF,GAAWC,EAAWA,EAAW/0c,IAIjEhxB,EAAOC,QAAU,CAGf43D,QAASoyL,EAAa,GAGtB5tM,IAAK4tM,EAAa,GAGlBnlP,OAAQmlP,EAAa,GAGrB9lB,KAAM8lB,EAAa,GAGnBgF,MAAOhF,EAAa,GAGpBlhL,KAAMkhL,EAAa,GAGnBm8O,UAAWn8O,EAAa,KAMpB,KACA,SAAUjqP,EAAQC,GAYxB,SAASg8N,EAAQj7M,EAAKvgB,EAAGC,EAAGC,GACxB,IAAIkhK,EAAKnhK,EAAE,GACPohK,EAAKphK,EAAE,GAGP6U,EAAK9U,EAAE,GAAKohK,EACZrsJ,EAAK/U,EAAE,GAAKqhK,EAEZu+D,EAAKv5N,KAAK8qD,IAAIjxD,GACd2/N,EAAKx5N,KAAK6qD,IAAIhxD,GAOlB,OAJAqgB,EAAI,GAAK6gJ,EAAKtsJ,EAAK+qN,EAAK9qN,EAAK6qN,EAC7Br/M,EAAI,GAAK8gJ,EAAKvsJ,EAAK8qN,EAAK7qN,EAAK8qN,EAC7Bt/M,EAAI,GAAKvgB,EAAE,GAEJugB,EA1BXhhB,EAAOC,QAAUg8N,GAgCX,KACA,SAAUj8N,EAAQC,EAASkB,GAEjC,aAcAnB,EAAOC,QAAU,cAKX,KACA,SAAUD,EAAQC,EAASkB,GAEjC,aAWA,IAAI+O,EAAY/O,EAAoB,QAEhCuW,EAAMvW,EAAoB,QAC1Bq+E,EAAar+E,EAAoB,QACjCq3B,EAAUr3B,EAAoB,QAE9B6vF,EAAY7vF,EAAoB,QAAQ6vF,UACxC5B,EAAWjuF,EAAoB,QAanC,SAASmpD,EAAQ4Z,GACb,IAAIv0D,EAAQu0D,EAAU,GAAGv0D,MACrBwjF,GAA8B,IAAlBxjF,EAAMuD,SAAsC,IAAlBvD,EAAM6I,QAE5C5F,EAAO,CACP41C,OAAQ,CAAC/7B,WAAY,QACrBwkE,MAAO,IAGP/3D,EAAO,CACPsvB,OAAQ,CAAC/7B,WAAY,QACrBwkE,MAAO,IAGP3iE,EAAO3e,EAAM6xH,MAAQ,CACrB5uH,KAAMA,EACNsmB,KAAMA,EACN4qC,QAASktB,KAGb,IAAImC,EAAW,OAAO7kE,EAEtB,IAAIq0C,EAAWysB,EAASnrB,oBAAoBC,GAE5C,IAAIvB,EAAU,OAAOr0C,EAErB,IAII+iE,EAQAg1Y,EAKAC,EAjBA90V,EAAUhyD,EAAWmS,4BAA4BhiF,GACjDspB,EAAStpB,EAAMspB,OACfi1D,EAAaj1D,EAAOC,MAAQ,GAG7BxhB,EAAIo8D,oBAAoB76C,EAAOttB,WAC9B0lF,EAAY,SAAS7vF,GACjB,IAAIowF,EAAKpwF,EAAEowF,GACX,OAAO1hF,EAAU0hF,IAAOl6E,EAAI0B,UAAUw4E,EAAI,EAAG,GAAK,IAKvDl6E,EAAIo8D,oBAAoBoa,EAAW9hF,SAClCi6d,EAAc,SAAS7ke,GAAK,OAAOA,EAAEq2X,MAItCngX,EAAIo8D,oBAAoBoa,EAAW7rE,SAClCikd,EAAc,SAAS9ke,GAAK,OAAOA,EAAEwpS,MAGzC,IAAI,IAAI3pS,EAAI,EAAGA,EAAI6iE,EAAU5jE,OAAQe,IAAK,CACtC,IAAI+f,EAAM8iD,EAAU7iE,GAChBkjE,EAAOnjD,EAAImjD,KAEf,GAAGA,EAAM,CACL,IAAIytB,EAAQztB,EAAKzB,WACjBkvB,EAAMu0Y,GAAK/0V,EAAQpwH,EAAIpR,GACpBqhF,IAAWW,EAAMJ,GAAKP,EAAUjwE,IAChCild,IAAar0Y,EAAM6lS,IAAMwuG,EAAYjld,IACrCkld,IAAat0Y,EAAMg5M,IAAMs7L,EAAYlld,IACxCA,EAAIgX,GAAK45D,EAAM55D,GACfhX,EAAI0W,UAAYs3D,EAASpsB,iBAAiBuB,IAIlD,IAAIiia,EAAiBn1Y,EACjB,CAACh9E,KAAM,WAAYxR,SAAU,MAC7Bo2B,EAAOttB,QAwBX,OAtBA+L,EAAIuM,WAAWrR,EAAKq+E,MAAO,CACvB,aAAc,CAAC58E,KAAM,WAAYxR,SAAU,MAC3C,eAAgB2je,IAGpB9ud,EAAIuM,WAAWiV,EAAK+3D,MAAO,CACvB,aAAco1Y,EACV,CAAChyd,KAAM,WAAYxR,SAAU,OAC7BqrF,EAAW9hF,MACf,aAAck6d,EACV,CAACjyd,KAAM,WAAYxR,SAAU,OAC7BqrF,EAAW7rE,MACf,eAAgBmkd,IAGpB5zd,EAAK41C,OAAO/7B,WAAa,UACzByM,EAAKsvB,OAAO/7B,WAAa,UAEzB6B,EAAKw1C,QAAU,CAACzvD,KAAM,oBAAqBsuD,SAAUA,GAErD06X,EAAgBn5X,GAET51C,EAGX,SAAS+ua,EAAgBn5X,GACrB,IAEIsia,EAFA72d,EAAQu0D,EAAU,GAAGv0D,MACrB2e,EAAO3e,EAAM6xH,MAGjB,GAAG7xH,EAAM0pB,eAAgB,CAGrB,IAFA,IAAIy4D,EAAMt5D,EAAQ65D,0BAA0B1iF,GAEpCtO,EAAI,EAAGA,EAAI6iE,EAAU5jE,OAAQe,IAAK,CACtC,IAAI+f,EAAM8iD,EAAU7iE,GACjB+f,EAAImjD,OACHnjD,EAAImjD,KAAKzB,WAAW+uB,IAAMC,EAAIQ,kBAAkBlxE,IAIxDold,EAAiB,CAACnyd,KAAM,WAAYxR,SAAU,YAE9C2je,EAAiB9ud,EAAIo8D,oBAAoBnkE,EAAMspB,OAAOttB,SAClD,CAAC0I,KAAM,WAAYxR,SAAU,MAC7B8M,EAAMspB,OAAOttB,QAMrB,OAHA+L,EAAIuM,WAAWqK,EAAK1b,KAAKq+E,MAAO,CAAC,eAAgBu1Y,IACjD9ud,EAAIuM,WAAWqK,EAAK4K,KAAK+3D,MAAO,CAAC,eAAgBu1Y,IAE1Cl4c,EAGXtuB,EAAOC,QAAU,CACbqqD,QAASA,EACT+yY,gBAAiBA,IAMf,KACA,SAAUr9b,EAAQC,EAASkB,GAEjC,aAYA,IAAI84H,EAAY94H,EAAoB,QAChC8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAE1Cuid,EAAqB,CACrB,sCACA,sCACFnie,KAAK,KAEHoie,EAAazid,EAAW,GAAIg2G,EAAUnpE,OAAQ,IAIlD,SAAS61a,EAAW3yC,EAAU4yC,GAC1B,IAAIC,EAAc,CACdrgb,SAAU,CACNniC,QAAS,WAIbygC,eAAgB,CACZzgC,QAAS,WAIbyid,gBAAiB,CACbzid,QAAS,aACT2V,OAAQ,CAAC,aAAc,aAI3Bi2B,QAAS,CACL5rC,QAAS,SACTnb,IAAK,GAITopD,UAAW,CACPjuC,QAAS,SAIb68B,WAAY,CACR78B,QAAS,UAIb0id,WAAY,CACR1id,QAAS,SAET+zW,YAAaquG,GAEjBvzd,QAAS,CACLmR,QAAS,YAMjB,OAAOJ,EAAW,GAAI2id,EAAgBC,GAG1C7me,EAAOC,QAAUikB,EAAY,CACzBktD,WAAYu1Z,EAAW,SAAU,CAC7B5td,MAAO,CACHsL,QAAS,aAETg2G,MAAO,CACH,CAAEh2G,QAAS,UACX,CAAEA,QAAS,YAInBysC,OAAQ41a,EACR39d,YAAa,CACTsb,QAAS,YAMjBitD,YAAaq1Z,EAAW,UAAW,CAC/B5td,MAAO,CACHsL,QAAS,aAETg2G,MAAO,CACH,CAAEh2G,QAAS,SAAUC,KAAM,GAC3B,CAAED,QAAS,SAAUC,KAAM,OAInCwsC,OAAQ41a,IAIZl+a,OAAQ,CACJoyB,UAAW,CACPv2D,QAAS,aACT2V,OAAQ,CAAC,YAAa,qBAI1BjxB,YAAa,CACTsb,QAAS,WAKlB,OAAQ,WAKL,KACA,SAAUrkB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAIAnB,EAAOC,QAAU,SAAeygB,EAAKsxE,EAAOg1Y,GAC3C,IAAiB7hX,EAAM9jH,EAAnBmJ,EAAS,GAGb,GADqB,kBAAVwnF,IAAoBA,EAAQi1Y,EAAOj1Y,IAC1ChtF,MAAM0J,QAAQsjF,GAAQ,CACzB,IAAIwwB,EAAM,GACV,IAAKnhH,EAAI,EAAGA,EAAI2wF,EAAM1xF,OAAQe,IAC7BmhH,EAAIxwB,EAAM3wF,KAAM,EAEjB2wF,EAAQwwB,EAIT,IAAK2C,KAAQnzB,EACZA,EAAMmzB,GAAQ8hX,EAAOj1Y,EAAMmzB,IAI5B,IAAI+hX,EAAW,GAEf,IAAK/hX,KAAQnzB,EAAO,CACnB,IAAIm1Y,EAAUn1Y,EAAMmzB,GAEpB,GAAIngH,MAAM0J,QAAQy4d,GACjB,IAAK9le,EAAI,EAAGA,EAAI8le,EAAQ7me,OAAQe,IAAK,CACpC,IAAIsiG,EAAQwjY,EAAQ9le,GAMpB,GAJI2le,IACHE,EAASvjY,IAAS,GAGfA,KAASjjF,EAAK,CAGjB,GAFAlW,EAAO26G,GAAQzkG,EAAIijF,GAEfqjY,EACH,IAAK,IAAIrhe,EAAItE,EAAGsE,EAAIwhe,EAAQ7me,OAAQqF,IACnCuhe,EAASC,EAAQxhe,KAAM,EAIzB,YAIMw/G,KAAQzkG,IACZsxE,EAAMmzB,KACT36G,EAAO26G,GAAQzkG,EAAIykG,IAGhB6hX,IACHE,EAAS/hX,IAAQ,IAKpB,GAAI6hX,EACH,IAAK7hX,KAAQzkG,EACRwmd,EAAS/hX,KACb36G,EAAO26G,GAAQzkG,EAAIykG,IAIrB,OAAO36G,GAGR,IAAI2wH,EAAQ,GAEZ,SAAS8rW,EAAO36a,GACf,OAAI6uE,EAAM7uE,GAAa6uE,EAAM7uE,IACV,kBAARA,IACVA,EAAM6uE,EAAM7uE,GAAOA,EAAI/6C,MAAM,gBAEvB+6C,KAMF,KACA,SAAUtsD,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAC9ByS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1B2P,MAAO3P,EAAoB,QAE3BoS,WAAY,QACZ9R,KAAM,gBACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,YAAa,MAAO,SAAU,UAAW,UAAW,aAAc,WAAY,kBAAmB,UAAW,oBACzHC,KAAM,KASJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUmne,EAEjB,IAAIr9d,EAAU5I,EAAoB,QAC9BqoC,EAAUroC,EAAoB,QAC9Bkme,EAAUlme,EAAoB,QAE9Bmme,EAAmBnme,EAAoB,QAE3C,SAASome,EAAar/d,GAGpB,IAFA,IAAI6zP,EAAW7zP,EAAM5H,OACjBkB,EAAI,EACAH,EAAE,EAAGA,EAAE06P,IAAY16P,EACzBG,EAAiC,EAA7BsF,KAAKqC,IAAI3H,EAAG0G,EAAM7G,GAAGf,QAE3B,OAAOkB,EAAE,EAGX,SAASgme,EAASxtc,EAAQi6G,GAGxB,IAFA,IAAI4nH,EAAc7hO,EAAO15B,OACrBmne,EAAcj+b,EAAK41F,YAAYy8H,GAC3Bx6P,EAAE,EAAGA,EAAEw6P,IAAYx6P,EACzBome,EAAYpme,GAAM24B,EAAO34B,GAAK4yI,EAAO,EAEvC,OAAOwzV,EAGT,SAASC,EAASx/d,EAAO1G,GAKvB,IAJA,IAAIu6P,EAAW7zP,EAAM5H,OACjBqne,EAAanme,GAAKA,EAAE,GAAG,EAAKu6P,EAAU,EACtC9qG,EAAWznH,EAAKqD,aAAsB,EAAT86b,GAC7BC,EAAW,EACPvme,EAAE,EAAGA,EAAE06P,IAAY16P,EAGzB,IAFA,IAAIV,EAAIuH,EAAM7G,GAENsE,GADJnE,EAAIb,EAAEL,OACA,GAAGqF,EAAEnE,IAAKmE,EAClB,IAAI,IAAIG,EAAE,EAAGA,EAAEH,IAAKG,EAAG,CACrB,IAAIrF,EAAIE,EAAEmF,GACNpF,EAAIC,EAAEgF,GACVsrJ,EAAM22U,KAAwB,EAAd9ge,KAAKoC,IAAIzI,EAAEC,GAC3BuwJ,EAAM22U,KAAwB,EAAd9ge,KAAKqC,IAAI1I,EAAEC,GAIjC,IAAImne,EAAUD,EAAK,EAAG,EACtBP,EAAOt9d,EAAQknJ,EAAO,CAAC42U,EAAO,KAC9B,IAAIv/d,EAAM,EACV,IAAQjH,EAAE,EAAGA,EAAEume,EAAMvme,GAAG,EACnB4vJ,EAAM5vJ,EAAE,KAAO4vJ,EAAM5vJ,IACrB4vJ,EAAM5vJ,EAAE,KAAO4vJ,EAAM5vJ,EAAE,KAG1B4vJ,EAAM3oJ,KAAS2oJ,EAAM5vJ,GACrB4vJ,EAAM3oJ,KAAS2oJ,EAAM5vJ,EAAE,IAGzB,OAAO0I,EAAQknJ,EAAO,CAAE3oJ,EAAI,EAAG,EAAG,IAGpC,SAASw/d,EAAmB72U,EAAOj3H,EAAQ+tc,EAAO9zV,GAKhD,IAJA,IAAI+zV,EAAY/2U,EAAM3kJ,KAClBuga,EAAY57Q,EAAM1uH,MAAM,GACxBq8N,EAAYp1N,EAAKusJ,aAAa82O,GAC9Bvka,EAAY,EACRjH,EAAE,EAAGA,EAAEwra,IAAYxra,EAAG,CAC5B,IAAIZ,EAAKune,EAAM,EAAE3me,GACbX,EAAKsne,EAAM,EAAE3me,EAAE,GACnB,GAAG0me,EAAMtne,KAAOsne,EAAMrne,GAAtB,CAGA,IAAIi4U,EAAK3+S,EAAOv5B,GACZ+3U,EAAKx+S,EAAOt5B,GAChBsne,EAAM,EAAE1/d,GAAW7H,EACnBune,EAAM,EAAE1/d,EAAI,GAAO5H,EACnBk+P,EAAQt2P,MAAYkwU,EAAKvkM,IAAUukM,EAAKG,IAG1C,OADA1nL,EAAM1uH,MAAM,GAAKj6B,EACVyB,EAAQ60P,EAAS,CAACt2P,IAG3B,SAAS2/d,EAAWh3U,EAAO4qG,GACzB,IAAIrxP,EAAWg/B,EAAKqsJ,YAAqB,EAATgmE,GAC5BgxK,EAAW57Q,EAAM1uH,MAAM,GACvBylc,EAAW/2U,EAAM3kJ,KACrB9B,EAAO,GAAQ,EAEf,IADA,IAAI09d,EAAW,EACP7me,EAAE,EAAGA,EAAEwra,IAAYxra,EAAG,CAC5B,IAAIZ,EAAIune,EAAM,EAAE3me,GAChB,GAAGZ,IAAMyne,EAAO,CACd19d,EAAO,EAAE09d,EAAM,GAAK7me,EACpB,QAAQ6me,EAAQzne,EACd+J,EAAO,EAAE09d,GAAS7me,EAClBmJ,EAAO,EAAE09d,EAAM,GAAK7me,EAEtBmJ,EAAO,EAAE09d,GAAS7me,GAGtBmJ,EAAO,EAAE09d,EAAM,GAAKr7D,EACpB,QAAQq7D,EAAQrsO,EACdrxP,EAAO,EAAE09d,GAAS19d,EAAO,EAAE09d,EAAM,GAAKr7D,EAExC,OAAOria,EAGT,SAAS29d,EAAYl3U,GAInB,IAHA,IAAIk9B,EAAoB,EAAfl9B,EAAM1uH,MAAM,GACjBylc,EAAQ/2U,EAAM3kJ,KACd9B,EAAS,IAAIxF,MAAMmpL,GACf9sL,EAAE,EAAGA,EAAE8sL,IAAM9sL,EACnBmJ,EAAOnJ,GAAK,CAAC2me,EAAM,EAAE3me,GAAI2me,EAAM,EAAE3me,EAAE,IAErC,OAAOmJ,EAGT,SAAS48d,EAAel/d,EAAO8xB,EAAQi6G,EAAOzyI,GAC5CyyI,EAAQA,GAAO,EAGC,qBAANzyI,IACRA,EAAI+le,EAAar/d,IAInB,IAAI6zP,EAAW7zP,EAAM5H,OACrB,GAAgB,IAAby7P,GAAkBv6P,EAAI,EACvB,MAAO,CACL0G,MAAe,GACfu0P,UAAe,GACfC,cAAe,IAKnB,IAAI+qO,EAAcD,EAASxtc,GAASi6G,GAGhCgd,EAAUy2U,EAASx/d,EAAO1G,GAC1Bo9P,EAAUkpO,EAAmB72U,EAAOj3H,EAAQytc,GAAcxzV,GAG1Dm0V,EAAWH,EAAWh3U,EAAqB,EAAdj3H,EAAO15B,QAGpC84D,EAAQkua,EAAiB9le,EAAjB8le,CAAoBp/d,EAAO+oJ,EAAM3kJ,KAAM87d,EAAUX,GAGzDY,EAAWF,EAAYl3U,GACvBq3U,EAAW,GAAGhje,MAAM9E,KAAKo+P,EAAQtyP,KAAM,EAAGsyP,EAAQr8N,MAAM,IAQ5D,OALAiH,EAAKg3F,KAAKinW,GACVj+b,EAAKg3F,KAAKywB,EAAM3kJ,MAChBk9B,EAAKg3F,KAAKo+H,EAAQtyP,MAClBk9B,EAAKg3F,KAAK4nW,GAEH,CACLlge,MAAekxD,EACfqjM,UAAe4rO,EACf3rO,cAAe4rO,KAMb,KACA,SAAUtoe,EAAQC,EAASkB,GAEjC,aAGA,IAAI85b,EAAyB95b,EAAoB,QAC7Cone,EAAyBpne,EAAoB,QAIjD,SAASqne,EAAYjne,EAAGsE,GAEtB,IADA,IAAImb,EAAM,CAAC,EAAE,EAAE,EAAE,GACT3f,EAAE,EAAGA,EAAE,IAAKA,EAClB,IAAI,IAAIsE,EAAE,EAAGA,EAAE,IAAKA,EAClBqb,EAAIrb,IAAMpE,EAAE,EAAEF,EAAIsE,GAAKE,EAAExE,GAG7B,OAAO2f,EAGT,SAASynd,EAAc5ie,EAAGuH,EAAOC,EAAMC,EAAYk3M,GAIjD,IAHA,IAAIxhN,EAAIwle,EAAYl7d,EACVk7d,EAAYn7d,EACVm7d,EAAYp7d,EAAO,CAACvH,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,MAC1CxE,EAAE,EAAGA,EAAE,IAAKA,EAClB2B,EAAE3B,IAAM2B,EAAE,GAEZ,MAAO,CAAE,GAAMwhN,EAAW,IAAM,EAAIxhN,EAAE,IAAK,GAAMwhN,EAAW,IAAM,EAAIxhN,EAAE,KAG1E,SAAS0le,EAAiB/pO,EAASv4P,GACjC,GAAsB,IAAnBu4P,EAAQr+P,OAAc,CAGvB,IAFA,IAAI8zJ,EAAK,EACLC,EAAK,EACDhzJ,EAAE,EAAGA,EAAE,IAAKA,EAClB+yJ,GAAMttJ,KAAKw5B,IAAIl6B,EAAM/E,GAAKs9P,EAAQ,GAAGt9P,GAAI,GACzCgzJ,GAAMvtJ,KAAKw5B,IAAIl6B,EAAM/E,GAAKs9P,EAAQ,GAAGt9P,GAAI,GAI3C,OAFA+yJ,EAAKttJ,KAAKuD,KAAK+pJ,GACfC,EAAKvtJ,KAAKuD,KAAKgqJ,GACZD,EAAGC,EAAK,KACF,CAAC,EAAE,GAEL,CAACA,GAAID,EAAGC,GAAID,GAAIC,EAAGD,IACrB,GAAsB,IAAnBuqG,EAAQr+P,OAAc,CAC9B,IAAIi5P,EAAe,CAAC,EAAE,GAEtB,OADAgvO,EAAuB5pO,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIv4P,EAAOmzP,GAC3D0hM,EAAYt8L,EAASpF,GAE9B,MAAO,GAGT,SAAS17C,EAAY8gD,EAASC,GAE5B,IADA,IAAIp0P,EAAS,CAAC,EAAE,EAAE,GACVnJ,EAAE,EAAGA,EAAEs9P,EAAQr+P,SAAUe,EAG/B,IAFA,IAAI2B,EAAI27P,EAAQt9P,GACZud,EAAIggP,EAAQv9P,GACRsE,EAAE,EAAGA,EAAE,IAAKA,EAClB6E,EAAO7E,IAAMiZ,EAAI5b,EAAE2C,GAGvB,OAAO6E,EAGT,SAASm+d,EAA2BhqO,EAASiqO,EAAYx7d,EAAOC,EAAMC,EAAYk3M,GAChF,GAAsB,IAAnBm6C,EAAQr+P,OACT,MAAO,CAAC,EAAGq+P,EAAQ,GAAGr5P,SAGxB,IADA,IAAIuje,EAAY,IAAI7je,MAAM25P,EAAQr+P,QAC1Be,EAAE,EAAGA,EAAEs9P,EAAQr+P,SAAUe,EAC/Bwne,EAAUxne,GAAKone,EAAc9pO,EAAQt9P,GAAI+L,EAAOC,EAAMC,EAAYk3M,GAGpE,IAAIskR,EAAe,EACfC,EAAez9d,IACnB,IAAQjK,EAAE,EAAGA,EAAEwne,EAAUvoe,SAAUe,EAAG,CAEpC,IADA,IAAIioE,EAAK,EACD3jE,EAAE,EAAGA,EAAE,IAAKA,EAClB2jE,GAAMxiE,KAAKw5B,IAAIuoc,EAAUxne,GAAGsE,GAAKije,EAAWjje,GAAI,GAE/C2jE,EAAKy/Z,IACNA,EAAez/Z,EACfw/Z,EAAezne,GAInB,IAAIu9P,EAAU8pO,EAAiBG,EAAWD,GACtC3le,EAAI,EACR,IAAQ5B,EAAE,EAAGA,EAAE,IAAKA,EAAG,CACrB,GAAGu9P,EAAQv9P,IAAM,MACdu9P,EAAQv9P,GAAK,OACd,OAAO,KAET4B,GAAK27P,EAAQv9P,GAEf,OAAGyF,KAAK+R,IAAI5V,EAAI,GAAO,KACd,KAEF,CAAC6le,EAAcjrR,EAAY8gD,EAASC,GAAUA,GA1FvD5+P,EAAOC,QAAU0oe,GA+FX,KACA,SAAU3oe,EAAQC,EAASkB,GAEjC,aAGA,IAAI6ne,EAAc,IACdC,EAAc,KACdC,EAAc,KACdC,EAAc,KAEdC,EAAc,KAEdC,EAAc,KACdC,EAAc,KACdC,EAAc,KACdC,EAAc,KACdC,EAAc,KAEdC,EAAc,KACdC,EAAc,KACdC,EAAc,KACdC,EAAc,KACdC,EAAc,KAEdC,EAAc,KAEdC,EAAc,IAEdC,EAAO,CACTjB,EACAC,EACAC,EACAG,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,GAGF,SAASK,EAAmBC,EAAU5le,EAAMwwL,GAC1C,IAAIzpJ,EAAW,cACZ6+b,EAAW,MAAQ,SACnB5le,EAAO,OAAS,KAChBwwL,EAAO,OAAS,IAEf7wL,EAAO,CAAC,YAAaonC,EAAU,IAAK2+b,EAAK3le,OAAQ,KACnD,OAAQ8ke,EAAW,MAAOJ,EAAW,KAEnCoB,EACF,aAAef,EAAY,IAAMI,EAAU,IAAML,EAAY,IAAMC,EAAnE,MACWC,EADX,QAEaG,EAAU,KAAOL,EAF9B,YAGgBG,EAAY,IAAMN,EAAO,IAAMQ,EAH/C,QAIgBF,EAAY,IAAMN,EAAO,IAAMQ,EAAU,IAAMT,EAJ/D,QAKgBQ,EAAY,OAE1Ba,EACF,aAAeX,EAAa,IAAMI,EAAW,IAAMV,EAAY,IAAMM,EAArE,MACWC,EADX,QAEaG,EAAW,KAAOV,EAF/B,YAGgBQ,EAAa,IAAMX,EAAO,IAAMa,EAAW,MAClD/0S,EAAO,MAAQ60S,EAAa,IAAMX,EAAO,IAAMa,EAAW,IAAMd,EAAY,KAAO,IACpF,MAAQa,EAAa,OAgC/B,OA9BGM,EACDjme,EAAKC,KAAKime,EAASJ,EAAa,IAAKK,GAErCnme,EAAKC,KAAKkme,EAAUL,EAAa,IAAKI,GAGrCr1S,EACD7wL,EAAKC,KAAK,6BACFI,EACRL,EAAKC,KAAK,8BAEVD,EAAKC,KAAK,6BAGZD,EAAKC,KAAK,aAAa8ke,EAAK,QAAQD,EAA1B,gBACEO,EAAU,MAAME,EADlB,QAEEF,EAAU,MAAMP,EAAU,IAAIS,EAFhC,QAGEG,EAAW,MAAME,EAHnB,QAIEF,EAAW,MAAMZ,EAAU,IAAIc,EAJjC,8BAKwBE,EALxB,SAMGD,EAAS,IAAMb,EAAQ,KAEjC3ke,EACDL,EAAKC,KAAK,SAEVD,EAAKC,KAAK,SAGZD,EAAKC,KAAK,QAAU4le,EAAS,oBAAsBA,EAAS,QAErD,CACLtoe,KAAM6pC,EACNpnC,KAAMA,EAAKI,KAAK,KAIpB,SAASgme,EAAkBv1S,GACzB,IAAIzpJ,EAAW,cAAgBypJ,EAAO,OAAS,WAC3Cp2H,EAAS,GACTgpV,EAAQsiF,EAAK3ke,QACbyvL,GACF4yN,EAAMh2Y,OAAO,EAAG,EAAGw3d,GAGrB,IAAIjle,EAAO,CAAC,YAAconC,EAAW,IAAMq8W,EAAMrjZ,OAAS,MAE1D,SAASq/W,EAAOwmH,EAAU5le,GACxB,IAAIi+G,EAAM0nX,EAAmBC,EAAU5le,EAAMwwL,GAC7Cp2H,EAAOx6D,KAAKq+G,EAAIt+G,MAChBA,EAAKC,KAAK,UAAYq+G,EAAI/gH,KAAO,IAAMwoe,EAAK3le,OAAS,MAGvDJ,EAAKC,KAAK,MAAQmle,EAAU,IAAMD,EAAY,IAC5BM,EAAW,IAAMD,EAAa,MAE7C30S,GACD4uL,GAAO,GAAM,GACbz/W,EAAKC,KAAK,UACVw/W,GAAO,GAAO,KAEdz/W,EAAKC,KAAK,MAAQgle,EAAO,MACzBxlH,GAAO,GAAM,GACbz/W,EAAKC,KAAK,UACVw/W,GAAO,GAAM,GACbz/W,EAAKC,KAAK,aAAegle,EAAO,MAChCxlH,GAAO,GAAO,GACdz/W,EAAKC,KAAK,UACVw/W,GAAO,GAAO,GACdz/W,EAAKC,KAAK,MAEZD,EAAKC,KAAK,YAAcmnC,GAExB,IAAIi/b,EAAU5ra,EAAOr6D,KAAK,IAAMJ,EAAKI,KAAK,IACtCF,EAAO,IAAIC,SAASkme,GACxB,OAAOnme,IAITnE,EAAQ40L,QAAUy1S,GAAkB,GACpCrqe,EAAQ80L,KAAUu1S,GAAkB,IAI9B,KACA,SAAUtqe,EAAQC,EAASkB,GAEjCnB,EAAOC,QAAU43D,EAEjB,IAAI2ya,EAAMrpe,EAAoB,OAApBA,GAcV,SAAS02D,EAAQp3D,EAAGmpC,EAAQ5sB,EAAQ2uD,EAAOvrE,EAAIksD,GACvC,IAAIjrD,EAAGC,EAeP,IAdIsoC,IACAA,EAAS,GAGT5sB,IACAA,EAAS,GAIT1b,EADDqqE,EACK7kE,KAAKoC,IAAKyiE,EAAQ/hC,EAAU5sB,EAAQvc,EAAEH,QAEtCG,EAAEH,OAGNe,EAAI2b,EAAQ3b,EAAIC,EAAGD,GAAKuoC,EACxB4gc,EAAI,GAAK/pe,EAAEY,GACXmpe,EAAI,GAAK/pe,EAAEY,EAAE,GACbmpe,EAAI,GAAK/pe,EAAEY,EAAE,GACbjB,EAAGoqe,EAAKA,EAAKl+a,GACb7rD,EAAEY,GAAKmpe,EAAI,GACX/pe,EAAEY,EAAE,GAAKmpe,EAAI,GACb/pe,EAAEY,EAAE,GAAKmpe,EAAI,GAGjB,OAAO/pe,IAKT,KACA,SAAUT,EAAQC,EAASkB,GAEjC,aAYA,IAAIw3X,EAAcx3X,EAAoB,QAClCsW,EAAOtW,EAAoB,QAC3Bq3B,EAAUr3B,EAAoB,QAElCnB,EAAOC,QAAU,SAAcyP,EAAI+6d,EAAen+d,EAAMs3C,GACpD,IAAIviD,EAAGsO,EAAO0Y,EAEVioD,EAAShkE,EAAK,GAAG,GAAGgkE,OAEpBr+D,EAAW,CACX2V,MAAOnQ,EAAKu3B,UAAUt/B,EAAI4gE,EAAO1oD,OAAS,KAC1CC,MAAOpQ,EAAKu3B,UAAUt/B,EAAI4gE,EAAOzoD,OAAS,KAC1ChU,KAAM42d,EAAc52d,MAKxB,IAFA8kX,EAAYjpX,EAAIuC,EAAU3F,EAAMs3C,GAE5BviD,EAAI,EAAGA,EAAIiL,EAAKhM,OAAQe,IACxBsO,EAAQrD,EAAKjL,GAAG,GAAGsO,MAInB0Y,EAAOu7B,EAAMnzC,UAAU,UAAYd,EAAMymB,IAAM,aAM/CoC,EAAQqlH,WAAWx1H,EAAM/b,EAAKjL,GAAG,GAAGivE,OAAOgvJ,YAAa5vN,KAO1D,KACA,SAAU1P,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BsW,EAAOtW,EAAoB,QAC3Bupe,EAAUvpe,EAAoB,QAC9Bi2H,EAAUj2H,EAAoB,QAC9BmxC,EAASnxC,EAAoB,QAAQmxC,OAwFzC,SAASq4b,EAAcp8c,EAAKq8c,EAAKC,GAC7B,IAAIpqe,EAAIqG,KAAKoC,IAAI0he,EAAKC,EAAM,OAC5B,OAAO,MAAQpqe,EAAIqG,KAAKw5B,IAAI/R,GAAM,IAGtC,SAASu8c,EAAcn7d,EAAOyR,EAAKvR,GAC/B,IAAIod,EAAO7L,EAAIjY,IAAMiY,EAAIlY,IAGzB,IAAI+jB,EACA,OAAGtd,EAAM8lD,UACE9lD,EAAM8lD,UAIN,EAYf,GAAG9lD,EAAM8lD,UACL,OAAO3uD,KAAKqC,IAAIwG,EAAM8lD,UAAWxoC,EAAO,KAExC,IAAIsB,EAAM1e,EAAKvP,OACXsqe,EAAMlzd,EAAIoiC,MAAMjqC,EAAM0e,EAAM,EAAGnN,EAAI8qH,MACvC,OAAOplI,KAAKqC,IACRwhe,EAAcp8c,EAAKq8c,EAAKxpd,EAAIoqH,GAAKpqH,EAAIkqH,IACrCr+G,EAAO,KAKnB,SAAS89c,EAASp7d,EAAOyR,EAAKi8R,EAAS5nP,GACnC,IAIIu1a,EAJA13H,EAAW3jW,EAAM2jW,SACjB23H,EAASt7d,EAAMsd,MAAQ,GACvBi+c,EAAY,CAAC9pd,EAAIlY,IAAKkY,EAAIjY,KAC1Bgie,EAAY,CAAC/pd,EAAIlY,IAAM,EAAIusD,EAAWr0C,EAAIjY,IAAM,EAAIssD,GAGxD,SAAS21a,EAAarne,GAClB,IAAId,EAAIgoe,EAAOlne,GACXs8N,EAAsB,kBAAjBg9E,EAAQhpS,KACbgpS,EAAQnjO,IAAIj3E,GACZo6S,EAAQloQ,IAAIlyC,EAAG,EAAG0M,EAAMyR,EAAI20C,UAAY,aAC5C,OAAOsqK,IAAO/tL,EAAS64b,EAAUpne,GAASs8N,EAI1C2qQ,EADY,SAAb13H,EACW63H,EACS,SAAb73H,EACI43H,EAEA,CAACE,EAAa,GAAIA,EAAa,IAI7C,IAAInyb,EAAU,CACV5kC,KAAM,SACN0E,MAAOiyd,GAKX,OAHAvzd,EAAKk7B,WAAWsG,GAChBA,EAAQk+C,aAED6zY,EA5JXhre,EAAOC,QAAU,SAAcyP,EAAIC,GAC/B,IAAIuR,EAAKwpd,EAAQh7d,EAAIC,GAErB,GAAGuR,EAAG,GAAG9e,EAAE6mB,MAAO,OAAO/H,EAazB,IAXA,IAAI4F,EAAapX,EAAGymB,YAChBknR,EAAU5lS,EAAKu3B,UACft/B,EACAC,EAA4B,MAAtBA,EAAM5G,YAAsB,QAAU,UAG5Csie,EAAU//d,IACVgge,GAAWhge,IACX0uX,EAAS,EACTG,EAAW,EAEP94X,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IAAK,CAC/B,IAAI+f,EAAMF,EAAG7f,GACTwO,EAAOuR,EAAI8vB,IAAImL,IAAI+6E,EAAQ5gE,YAE3Bf,EAAYr0C,EAAIq0C,UAAYq1a,EAAcn7d,EAAOyR,EAAKvR,GACtDod,EAAO7L,EAAI6L,KAAO89c,EAASp7d,EAAOyR,EAAKi8R,EAAS5nP,GAEpD,GAAGr0C,EAAIlY,MAAQkY,EAAIjY,KAAqB,IAAdssD,EAEtBxoC,EAAO7L,EAAI6L,KAAO,CAAC7L,EAAIlY,IAAKkY,EAAIjY,KAChCiY,EAAI04W,QAAU,CAAC,CAACj0X,EAAG,EAAGzD,EAAG6qB,EAAK,KAC9B7L,EAAIq0C,UAAYA,EAChBukU,EAASlzX,KAAKqC,IAAI6wX,EAAQ,OACvB,CAEH,IAAIv/J,EAAOxtM,EAAK,GAAKA,EAAK,GACtBtqB,EAAImE,KAAKy5B,KAAKk6L,GAAQhlK,EAAY,IAClCzrB,EAAOywL,EAAO93N,EAElB,IAAI8L,SAASu7B,KAAUv7B,SAAS9L,GAG5B,OAFA+U,EAAIqH,MAAM,uDACVmC,EAAG,GAAG9e,EAAE6mB,OAAQ,EACT/H,EAGX,IAAIu1C,EAAM2gE,EAAQ9hE,QAAQl0C,EAAKzR,EAAOE,GACtCuR,EAAI04W,QAAU,IAAI90X,MAAMrC,GAExB,IAAI,IAAImD,EAAI,EAAG1D,EAAI6qB,EAAK,GAAI7qB,EAAK6qB,EAAK,GAAK+c,EAAO,EAAIlkC,IAAK1D,GAAK4nC,EAAM,CAClE,IAAInkC,EAAI4wD,EAAIr0D,GACZgf,EAAI04W,QAAQh0X,GAAK,CAACD,EAAGA,EAAGzD,EAAGA,GAC3B43X,EAASlzX,KAAKqC,IAAI6wX,EAAQn0X,IAIlCs0X,EAAWrzX,KAAKqC,IAAIgxX,EAAUtqX,EAAKvP,QACnC+qe,EAAUvke,KAAKoC,IAAImie,EAASp+c,EAAK,IACjCq+c,EAAUxke,KAAKqC,IAAImie,EAASr+c,EAAK,IAGrC,IAAIu1R,EAAW/qS,EAAKi5B,aAAa2sQ,EAAS,CAACguL,EAASC,GAAU,CAAC1lZ,QAAQ,IAGvE,GAFAj2E,EAAM8gC,UAAU4sQ,EAAQ9/Q,KAAOilR,EAE5B7yS,EAAM0S,MACLnB,EAAG,GAAG9e,EAAE43X,OAASA,MACd,CACH,IAAIuxG,EAAwBzkd,EAAWozW,uBACnCsxG,EAAa77d,EAAMyjW,WACnB6mB,EAAasxG,EAAsBC,GAEpCvxG,GACCA,EAAWD,OAASlzX,KAAKqC,IAAI8wX,EAAWD,OAAQA,GAChDC,EAAWE,SAAWrzX,KAAKqC,IAAI8wX,EAAWE,SAAUA,IAEpDoxG,EAAsBC,GAAc,CAChCxxG,OAAQA,EACRG,SAAUA,GAOtB,OAFAj5W,EAAG,GAAG9e,EAAE2kB,OAAO0vC,IAAM/+C,EAAI8vD,EAAE93D,EAAI,QAExBwR,IAmFL,KACA,SAAUlhB,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbw6H,WAAY,CACRE,MAAO,UACPD,OAAQ,KAEZE,WAAY,CACRD,MAAO,UACPD,OAAQ,OAOV,KACA,SAAU16H,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,GAUxB,SAASuQ,EAAOqnE,EAAUxoE,EAAWk4I,GACpC,IAAI/8I,EAAS,GAyBb,OAxBAqtE,EAAShgB,SAAQ,SAASklL,GACzB,IAAIh5O,GACFg5O,EAAI6wL,OAAOC,MAAQ,EAAI,IACvB9wL,EAAI6wL,OAAOj6U,MAAQ,EAAI,IACtBopJ,EAAI+wL,WAAa/wL,EAAI+wL,UAAUD,MAAS,EAAI,IAC5C9wL,EAAI+wL,WAAa/wL,EAAI+wL,UAAUn6U,MAAS,EAAI,GACtB,IAArBtkF,EAAUtL,IAEbyG,EAAOrG,KAAK,CACX4I,GAAIw6I,EAAWA,EAASomR,aAAe,EACvClpZ,MAAOs4N,EAAIt4N,MACXE,IAAKo4N,EAAIp4N,IACTipZ,OAAQ,CACPC,MAA4B,IAArBx+Z,EAAUtL,GACjB4vF,MAA4B,IAArBtkF,EAAUtL,IAElB+pa,UAAW,UAKVvmR,GACHA,EAASjuH,SAAS9uB,GAEZA,EAGR,IAAI68I,EAAkB,CACrBzkC,MAAO,SAAS/qC,EAAU0vE,GAkBzB,OAAO/2I,EAAOqnE,EAAU,CACvB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACP0vE,IAEJmB,UAAW,SAAS7wE,EAAU0vE,GAkB7B,OAAO/2I,EAAOqnE,EAAU,CACvB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACP0vE,IAEJ9kC,WAAY,SAAS5qC,EAAU0vE,GAkB9B,OAAO/2I,EAAOqnE,EAAU,CACvB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACP0vE,IAEJsB,cAAe,SAAShxE,EAAU0vE,GAkBjC,OAAO/2I,EAAOqnE,EAAU,CACvB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACP0vE,IAEJwB,IAAK,SAASlxE,EAAU0vE,GAkBvB,OAAO/2I,EAAOqnE,EAAU,CACvB,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,GACP0vE,KAILvnJ,EAAOC,QAAUonJ,GAKX,KACA,SAAUrnJ,EAAQC,EAASkB,GAEjC,aAGA,IAAIyoc,EAAYzoc,EAAoB,QAEpCnB,EAAOC,QAAUgzb,EAEjB,IAAIw4C,EAAkBC,EAAc,KAAMnqd,SAASmf,MAGnD,SAASirc,EAAgBlwX,EAAS0J,GAChC,IAAIxzF,EAAQi4a,EAAUv9R,iBAAiB5wD,GAAS6wD,iBAAiBnnD,IACjE,OAAOxzF,EAAM,GAAKsha,EAAKtha,EAAM,GAAI8pF,GAInC,SAASiwX,EAAczqW,EAAMxlB,GAC3B,IAAImwX,EAAUrqd,SAASC,cAAc,OACrCoqd,EAAQ96d,MAAM,UAAY,MAAQmwH,EAClCxlB,EAAQ1xF,YAAY6hd,GACpB,IAAIhnd,EAAO+md,EAAgBC,EAAS,UAAY,IAEhD,OADAnwX,EAAQwX,YAAY24W,GACbhnd,EAGT,SAASqua,EAAKvqb,EAAK+yG,GACjB,IAAK/yG,EAAK,OAAO,KAQjB,OANA+yG,EAAUA,GAAWl6F,SAASmf,KAC9Bh4B,GAAOA,EAAM,IAAM,MAAMi1D,OAAOniD,cAC7BigG,IAAYlnF,QAAUknF,IAAYl6F,WACnCk6F,EAAUl6F,SAASmf,MAGdh4B,GACL,IAAK,IACH,OAAO+yG,EAAQj3E,aAAe,IAChC,IAAK,KACL,IAAK,KACH,OAAOknc,EAAchje,EAAK+yG,GAC5B,IAAK,KACH,OAAOkwX,EAAgBlwX,EAAS,aAClC,IAAK,MACH,OAAOkwX,EAAgBpqd,SAASmf,KAAM,aACxC,IAAK,KACH,OAAOnM,OAAOkQ,WAAW,IAC3B,IAAK,KACH,OAAOlQ,OAAOmQ,YAAY,IAC5B,IAAK,OACH,OAAO59B,KAAKoC,IAAIqrB,OAAOkQ,WAAYlQ,OAAOmQ,aAAe,IAC3D,IAAK,OACH,OAAO59B,KAAKqC,IAAIorB,OAAOkQ,WAAYlQ,OAAOmQ,aAAe,IAC3D,IAAK,KACH,OAAO+mc,EACT,IAAK,KACH,OAAOA,EAAkB,KAC3B,IAAK,KACH,OAAOA,EAAkB,KAC3B,IAAK,KACH,OAAOA,EAAkB,GAC3B,IAAK,KACH,OAAOA,EAAkB,EAC3B,IAAK,KACH,OAAO,EAIX,IAAI95c,EAAQi4a,EAAUlhc,GACtB,IAAK8F,MAAMmjB,EAAM,KAAOA,EAAM,GAAI,CAChC,IAAIpc,EAAK09a,EAAKtha,EAAM,GAAI8pF,GACxB,MAAqB,kBAAPlmG,EAAkBoc,EAAM,GAAKpc,EAAK,KAGlD,OAAO,OAMH,KACA,SAAUvV,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbgM,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAC9BugE,aAAcvgE,EAAoB,QAClCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1B2S,YAAa3S,EAAoB,QACjC21B,UAAW31B,EAAoB,QAC/B4S,aAAc5S,EAAoB,QAElCwgE,cAAe,SAAS6F,EAAGtmD,GACvB,GAAGA,EAAI,CACH,IAAIvR,EAAQuR,EAAG,GAAGvR,MAClBA,EAAM2mY,SAAS5pY,OAAOwU,KAI9B3N,WAAY,QACZ9R,KAAM,gBACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,SAAU,KAAM,UAAW,aAAc,gBACtDC,KAAM,KASJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAU+jR,EAEjB,IAAI73D,EAAgBhrN,EAAoB,QACpC0qe,EAAgB,KAChBC,EAAiB,KASrB,SAAS9nN,EAAWt7Q,EAAKqD,GAIvB,MAHuB,kBAAZA,GAAsC,OAAZA,IACnCA,EAAU,IAELogN,EACLzjN,EACAqD,EAAQuV,QAAUuqd,EAClB9/d,EAAQ0nB,SAAWq4c,EACnB//d,GAfmB,qBAAbwV,WACRsqd,EAAgBtqd,SAASC,cAAc,UACvCqqd,EAAcxpd,MAAQ,KACtBwpd,EAAc1hd,OAAS,KACvB2hd,EAAiBD,EAAcnqd,WAAW,QAiBtC,KACA,SAAU1hB,EAAQC,EAASkB,GAEjC,aAKA,IAA4B4qe,EAAxBvpe,EAASZ,OAAOY,OAEfrB,EAAoB,OAApBA,KACJ4qe,EAAO5qe,EAAoB,SAG5BnB,EAAOC,QAAU,WAChB,IAAI+re,EAAYC,EAAWtjT,EAC3B,OAAKojT,EACc,IAAfA,EAAK93V,MAAoBzxI,GAE7Bwpe,EAAa,GACbC,EAAY,GACZtjT,EAAO,CAAE1lB,cAAc,EAAOnhK,YAAY,EAAOkhK,UAAU,EAAM7gK,WAAO5B,GACxEqB,OAAOynC,oBAAoBznC,OAAOkB,WAAW+0D,SAAQ,SAAUp2D,GAU9Dwqe,EAAUxqe,GATG,cAATA,EAScknL,EARC,CACjB1lB,cAAc,EACdnhK,YAAY,EACZkhK,UAAU,EACV7gK,WAAO5B,MAMVqB,OAAOk1D,iBAAiBk1a,EAAYC,GAEpCrqe,OAAOC,eAAekqe,EAAM,eAAgB,CAC3C9oU,cAAc,EACdnhK,YAAY,EACZkhK,UAAU,EACV7gK,MAAO6pe,IAGD,SAAUlpe,EAAWkvF,GAC3B,OAAOxvF,EAAqB,OAAdM,EAAqBkpe,EAAalpe,EAAWkvF,KA5B1CxvF,EAFF,IAqCX,KACA,SAAUxC,EAAQC,EAASkB,GAEjC,aAGA,IAAIq4F,EAAar4F,EAAoB,QACjC+qe,EAAa,CAAEtpe,QAAQ,EAAMqrF,QAAQ,GAEzCjuF,EAAOC,QAAU,WAChB,IACIguF,EADAhsF,EAASu3F,EAAOv3F,OAEpB,GAAsB,oBAAXA,EAAuB,OAAO,EACzCgsF,EAAShsF,EAAO,eAChB,IAAM/B,OAAO+tF,GACb,MAAOvvE,GAAK,OAAO,EAGnB,QAAKwtd,SAAkBjqe,EAAO81D,cACzBm0a,SAAkBjqe,EAAOy2D,gBACzBwza,SAAkBjqe,EAAOC,gBAQzB,KACA,SAAUlC,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUsgB,EAEjB,IAAI4rd,EAAUhre,EAAoB,QAC9Bire,EAAUjre,EAAoB,QAC9Bkre,EAAUlre,EAAoB,QAElC,SAASof,EAAOS,EAAKm8B,GACnB,OAAOA,EAAE78C,QACP,KAAK,EACL,MACA,KAAK,EACH0gB,EAAI,GAAK,EAAMm8B,EAAE,GACnB,MACA,KAAK,EACHgvb,EAAQnrd,EAAKm8B,GACf,MACA,KAAK,EACHivb,EAAQprd,EAAKm8B,GACf,MACA,KAAK,GACHkvb,EAAQrrd,EAAKm8B,GACf,MACA,QACE,MAAM,IAAI/3C,MAAM,yCAGpB,OAAO4b,IAKH,KACA,SAAUhhB,EAAQC,EAASkB,GAEjC,aAYA,IAAImre,EAAgBnre,EAAoB,QAEpC4I,EAAU5I,EAAoB,QAC9Bore,EAAapre,EAAoB,QACjCyR,EAAOzR,EAAoB,QAE3B2yE,EAAsB3yE,EAAoB,QAAQ2yE,oBAClD2/K,EAAkBtyP,EAAoB,QAAQsyP,gBAC9CC,EAAgBvyP,EAAoB,QACpCy+E,EAAcz+E,EAAoB,QAAQy+E,YAE1ChxC,EAAWztC,EAAoB,QAC/B0tC,EAAc1tC,EAAoB,QAEtC,SAASqre,EAAaxge,EAAOqmP,EAASj8N,GAClCzyB,KAAKqI,MAAQA,EACbrI,KAAKyyB,IAAMA,EACXzyB,KAAK0uP,QAAUA,EACf1uP,KAAK2I,KAAO,KACZ3I,KAAK+6D,YAAc,EAAC,GAAO,GAAO,GAClC/6D,KAAK8oe,aAAe,CAAC,KAAM,KAAM,MACjC9oe,KAAK+oe,WAAa,CAAC,KAAM,KAAM,MAC/B/oe,KAAKgpe,YAAc,CAAC,EAAG,EAAG,GAC1Bhpe,KAAKipe,UAAY,CAACthe,IAAUA,IAAUA,KACtC3H,KAAKkpe,UAAY,EAAEvhe,KAAWA,KAAWA,KACzC3H,KAAKmpe,WAAa,EAClBnpe,KAAKope,WAAa,EAClBppe,KAAKqpe,YAAa,EAClBrpe,KAAKs7b,aAAe,CAAC,EAAG,EAAG,GAG/B,IAAIh6b,EAAQune,EAAa1pe,UAqFzB,SAASmqe,EAAmB95X,GACxB,IAAI38E,EAAQ28E,EAAS,GAAGlqG,IACpB83C,EAAOoyD,EAASA,EAAS7yG,OAAS,GAAG2I,IAEzC,OACIutB,EAAM,KAAOuqB,EAAK,IAClBvqB,EAAM,KAAOuqB,EAAK,IAClBvqB,EAAM,KAAOuqB,EAAK,IAClBvqB,EAAM,KAAOuqB,EAAK,GA3F1B97C,EAAMioe,OAAS,SAASzse,EAAGC,EAAG4Z,EAAUizE,GACpC,IAAI1nF,EACCiuE,EAAoBnwE,KAAK2I,KAAKiD,GAE/BukE,EAAoBnwE,KAAK2I,KAAKiD,EAAE,IAC5B5L,KAAK2I,KAAKiD,EAAE7O,GAAGD,GACfkD,KAAK2I,KAAKiD,EAAE9O,GAHZA,EAMR,YAAqBF,IAAb+Z,EAA0BzU,EAAI0nF,EAAKh2C,IAAI1xC,EAAG,EAAGyU,IAGzDrV,EAAMkoe,OAAS,SAAS1se,EAAGC,EAAG4Z,EAAUizE,GACpC,IAAI1nF,EACCiuE,EAAoBnwE,KAAK2I,KAAK4I,GAE/B4+D,EAAoBnwE,KAAK2I,KAAK4I,EAAE,IAC5BvR,KAAK2I,KAAK4I,EAAExU,GAAGD,GACfkD,KAAK2I,KAAK4I,EAAExU,GAHZA,EAMR,YAAqBH,IAAb+Z,EAA0BzU,EAAI0nF,EAAKh2C,IAAI1xC,EAAG,EAAGyU,IAGzDrV,EAAMmoe,OAAS,SAAS3se,EAAGC,EAAG4Z,EAAUizE,GACpC,IAAI1nF,EAAIlC,KAAK2I,KAAK0D,EAAEtP,GAAGD,GAMvB,OAJS,OAANoF,GAAclC,KAAK2I,KAAKiZ,aAAe5hB,KAAK2I,KAAK+ge,iBAChDxne,EAAIlC,KAAK2I,KAAK+ge,eAAe3se,GAAGD,SAGfF,IAAb+Z,EAA0BzU,EAAI0nF,EAAKh2C,IAAI1xC,EAAG,EAAGyU,IAGzDrV,EAAMqvP,WAAa,SAASjlP,GACxB,GAAGA,EAAUzM,SAAWe,KAAK0uP,QAAS,CAClC,IAAIi7O,GAAUj+d,EAAU/C,KAAKvI,MAAM,GAAK,GAAKJ,KAAKmpe,WAAa,EAC3DS,GAAUl+d,EAAU/C,KAAKvI,MAAM,GAAK,GAAKJ,KAAKope,WAAa,EAE3Dpne,EAAImB,KAAKqC,IAAIrC,KAAKoC,IAAIpC,KAAKs5B,MAAMktc,GAAS3pe,KAAK2I,KAAK0D,EAAE,GAAG1P,OAAS,GAAI,GACtEwF,EAAIgB,KAAKqC,IAAIrC,KAAKoC,IAAIpC,KAAKs5B,MAAMmtc,GAAS5pe,KAAK2I,KAAKm5K,SAAW,GAAI,GAEvEp2K,EAAUtL,MAAQ,CAAC4B,EAAGG,GAEtBuJ,EAAU88E,gBAAkB,CACxBxoF,KAAKupe,OAAOvne,EAAGG,GACfnC,KAAKwpe,OAAOxne,EAAGG,GACfnC,KAAKype,OAAOzne,EAAGG,IAGnBuJ,EAAUzE,eAAiB,CACvBjH,KAAKupe,OAAOvne,EAAGG,EAAGnC,KAAK2I,KAAK+kC,UAAW1tC,KAAKqI,MAAMsM,gBAAgBsP,OAClEjkB,KAAKwpe,OAAOxne,EAAGG,EAAGnC,KAAK2I,KAAKglC,UAAW3tC,KAAKqI,MAAMsM,gBAAgBuP,OAClElkB,KAAKype,OAAOzne,EAAGG,EAAGnC,KAAK2I,KAAKmoP,UAAW9wP,KAAKqI,MAAMsM,gBAAgBuxM,QAGtE,IAAI,IAAIxoN,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIwE,EAAIwJ,EAAUzE,eAAevJ,GACxB,OAANwE,QAAoBtF,IAANsF,IACbwJ,EAAUzE,eAAevJ,IAAMsC,KAAKqI,MAAM4M,UAAUvX,IAI5D,IAAI+O,EAAOzM,KAAK2I,KAAK+Y,WAAa1hB,KAAK2I,KAAK8D,KAgB5C,OAfGpL,MAAM0J,QAAQ0B,IAASA,EAAKtK,SAAqBvF,IAAf6P,EAAKtK,GAAGH,GACzC0J,EAAUmlP,UAAYpkP,EAAKtK,GAAGH,GAE9B0J,EAAUmlP,UADJpkP,GAGgB,GAG1Bf,EAAU/C,KAAK1B,eAAiByE,EAAUzE,eAAetF,QAEzD3B,KAAK0uP,QAAQrtO,UAAU3V,EAAU/C,MAGjC3I,KAAKqI,MAAMmM,OAAO2pB,OAAOn3B,SAAW0E,EAAUzE,gBAEvC,IAgBf,IAAI4ie,EAAc,CACd,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5F,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACpG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChF,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC1F,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACpF,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAChG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACpF,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC9E,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACpF,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACpF,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACtD,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC5D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACpF,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC9E,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAGhE,SAASC,EAAOhte,EAAGC,GACf,GAAGD,EAAIC,EAAG,OAAO,EACjB,IAAIiC,EAAI,EACR,MAA4B,IAAtBmE,KAAK2N,MAAMhU,EAAIC,GACjBD,GAAKC,EACLiC,IAEJ,OAAOA,EAGX,SAAS+qe,EAAWjte,GAEhB,IADA,IAAIsb,EAAS,GACL1a,EAAI,EAAGA,EAAImse,EAAYlte,OAAQe,IAAK,CACxC,IAAIX,EAAI8se,EAAYnse,GACpB0a,EAAO5X,KACHspe,EAAOhte,EAAGC,IAGlB,OAAOqb,EAGX,SAAS4xd,EAAgBlte,GAGrB,IAFA,IAAIs4L,EAAI20S,EAAWjte,GACf+J,EAAS/J,EACLY,EAAI,EAAGA,EAAImse,EAAYlte,OAAQe,IACnC,GAAG03L,EAAE13L,GAAK,EAAG,CACTmJ,EAASgje,EAAYnse,GACrB,MAGR,OAAOmJ,EAGX,SAASoje,EAAoBnte,EAAGC,GAC5B,KAAGD,EAAI,GAAKC,EAAI,GAAhB,CAIA,IAHA,IAAIq4L,EAAI20S,EAAWjte,GACfmuM,EAAI8+R,EAAWhte,GACfiC,EAAI,EACAtB,EAAI,EAAGA,EAAImse,EAAYlte,OAAQe,IACnCsB,GAAKmE,KAAKw5B,IACNktc,EAAYnse,GAAIyF,KAAKqC,IAAI4vL,EAAE13L,GAAIutM,EAAEvtM,KAGzC,OAAOsB,GAGX,SAASkre,EAAS90S,GACd,GAAgB,IAAbA,EAAEz4L,OAAL,CAEA,IADA,IAAIqC,EAAI,EACAtB,EAAI,EAAGA,EAAI03L,EAAEz4L,OAAQe,IACzBsB,EAAIire,EAAoBjre,EAAGo2L,EAAE13L,IAEjC,OAAOsB,GAGXsC,EAAM6oe,UAAY,SAAS1xc,GACvB,IAAI/6B,EACA0se,EAAO,GACX,IAAI1se,EAAI,EAAGA,EAAI+6B,EAAM/6B,IAAK,CACtB,IAAIZ,EAAIkD,KAAKupe,OAAO7re,EAAI,EAAG,GACvBX,EAAIiD,KAAKupe,OAAO7re,EAAG,GAKnB0se,EAAK1se,EAAI,GAHVX,IAAMD,QACCF,IAANE,GAAyB,OAANA,QACbF,IAANG,GAAyB,OAANA,EACLoG,KAAK+R,IAAInY,EAAID,GAEb,EAItB,IAAIute,EAAY,EAChB,IAAI3se,EAAI,EAAGA,EAAI+6B,EAAM/6B,IACjB2se,GAAaD,EAAK1se,EAAI,GAG1B,IAAIA,EAAI,EAAGA,EAAI+6B,EAAM/6B,IACE,IAAhB0se,EAAK1se,EAAI,GACR0se,EAAK1se,EAAI,GAAK,EAEd0se,EAAK1se,EAAI,GAAKyF,KAAKs5B,MAAM4tc,EAAYD,EAAK1se,EAAI,IAItD,OAAO0se,GAGX9oe,EAAMgpe,UAAY,SAAS5xc,GACvB,IAAIh7B,EACA0se,EAAO,GACX,IAAI1se,EAAI,EAAGA,EAAIg7B,EAAMh7B,IAAK,CACtB,IAAIZ,EAAIkD,KAAKwpe,OAAO,EAAG9re,EAAI,GACvBX,EAAIiD,KAAKwpe,OAAO,EAAG9re,GAKnB0se,EAAK1se,EAAI,GAHVX,IAAMD,QACCF,IAANE,GAAyB,OAANA,QACbF,IAANG,GAAyB,OAANA,EACLoG,KAAK+R,IAAInY,EAAID,GAEb,EAItB,IAAIute,EAAY,EAChB,IAAI3se,EAAI,EAAGA,EAAIg7B,EAAMh7B,IACjB2se,GAAaD,EAAK1se,EAAI,GAG1B,IAAIA,EAAI,EAAGA,EAAIg7B,EAAMh7B,IACE,IAAhB0se,EAAK1se,EAAI,GACR0se,EAAK1se,EAAI,GAAK,EAEd0se,EAAK1se,EAAI,GAAKyF,KAAKs5B,MAAM4tc,EAAYD,EAAK1se,EAAI,IAItD,OAAO0se,GAGX,IAAIG,EAAmB,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAElFC,EAAiBD,EAAiB,GAClCE,EAAiBF,EAAiB,IA0DtC,SAASG,EAAiB75Z,EAAK2zM,GAE3B,IADA,IAAI16J,GAAQ,EACJ3nH,EAAI,EAAGA,EAAI0uE,EAAIl0E,OAAQwF,IAC3B,GAAGqiR,IAAa3zM,EAAI1uE,GAAI,CACpB2nH,GAAQ,EACR,OAGK,IAAVA,GAAiBj5C,EAAIrwE,KAAKgkR,GAwSjC,SAASmmN,EAAmBtie,EAAOM,GAC/B,IAAIvB,EAAKiB,EAAMmM,OAAOpN,GAClBsnP,EAAUi6O,EAAc,CAAEvhe,GAAIA,IAC9BP,EAAS,IAAIgie,EAAaxge,EAAOqmP,EAAS/lP,EAAK8pB,KAInD,OAHAi8N,EAAQgC,OAAS7pP,EACjBA,EAAOkC,OAAOJ,GACdN,EAAMmM,OAAO4E,IAAIs1O,GACV7nP,EA/WXvF,EAAMspe,cAAgB,SAASC,EAAQjhZ,GACnC,IAAIwgZ,EAAiB,IAATxgZ,EACR5pF,KAAKmqe,UAAUU,GACf7qe,KAAKsqe,UAAUO,GAEfC,EAAS,EAAIZ,EAASE,GAE1B,MAAMU,EAASN,EACXM,GAAU,EAGd,MAAMA,EAASL,EACXK,IACAA,GAAUd,EAAgBc,GAC1BA,IAEGA,EAASN,IAERM,EAASL,GAIjB,IAAIhoa,EAAQt/D,KAAKs5B,MAAMquc,EAASD,GAChC,OAAQpoa,EAAQ,EAAKA,EAAQ,GAGjCnhE,EAAMype,aAAe,SAAStra,GAe1B,IAdA,IAAIura,EAAShre,KAAKmpe,WACd8B,EAASjre,KAAKope,WAEd1qd,EAAQ+gD,EAAO,GAAG7gC,MAAM,GACxBpY,EAASi5C,EAAO,GAAG7gC,MAAM,GAEzBy3I,EAAyD,EAA9ClzK,KAAK2N,MAAM2uD,EAAO,GAAG7gC,MAAM,GAAKosc,EAAS,GACpD10T,EAA0D,EAA9CnzK,KAAK2N,MAAM2uD,EAAO,GAAG7gC,MAAM,GAAKqsc,EAAS,GAGrDC,EAAW,EAAIxsd,EAAQ,EACvBysd,EAAY,EAAI3kd,EAAS,EACzB4kd,EAAShle,EAAQ,IAAIge,aAAa8md,EAAWC,GAAY,CAACD,EAAUC,IAEhEzte,EAAI,EAAGA,EAAI+hE,EAAO9iE,SAAUe,EAAG,CACnCsC,KAAK0uP,QAAQuwM,SAASmsC,EAAQ3ra,EAAO/hE,IAErC,IAAI2te,EAAYjle,EAAQ,IAAIge,aAAaiyJ,EAAWC,GAAY,CAACD,EAAUC,IAC3EsyT,EAAWyC,EAAWD,EAClB,CACIJ,EAAQ,EAAG,EACX,EAAGC,EAAQ,EACX,EAAG,EAAG,IAGdxra,EAAO/hE,GAAK2te,IAepB/pe,EAAMgqe,iBAAmB,WACrB,IAII5te,EAAGsE,EAAGxD,EAJN+se,EAAY,CAAC,GAAI,GAAI,IACrBC,EAAe,EAAC,GAAO,GAAO,GAC9BC,GAAc,EAIlB,IAAI/te,EAAI,EAAGA,EAAI,IAAKA,EAChB,GAAGsC,KAAK+6D,YAAYr9D,KAChB+te,GAAc,EAGVzre,KAAKgpe,YAAYtre,GAAK,GACG,OAAzBsC,KAAK8oe,aAAapre,IACK,OAAvBsC,KAAK+oe,WAAWrre,IAChBsC,KAAK+oe,WAAWrre,GAAKsC,KAAK8oe,aAAapre,IAIvC,IAFA8te,EAAa9te,IAAK,EAEdsE,EAAIhC,KAAK8oe,aAAapre,GAAIsE,EAAIhC,KAAK+oe,WAAWrre,GAAIsE,GAAKhC,KAAKgpe,YAAYtre,GACxEc,EAAQwD,EAAIhC,KAAKqI,MAAM4M,UAAUvX,GAEjCgte,EAAiBa,EAAU7te,GAAIc,GAM/C,GAAGite,EAAa,CACZ,IAAIC,EAAY,CAAC,GAAI,GAAI,IACzB,IAAIhue,EAAI,EAAGA,EAAI,IAAKA,EACbsC,KAAK+6D,YAAYr9D,KAChBgue,EAAUhue,GAAK8te,EAAa9te,GAAK6te,EAAU7te,GAAKsC,KAAKqI,MAAMyN,cAAcpY,IAGjFsC,KAAK0uP,QAAQ3lP,OAAO,CAAEupL,OAAQo5S,MAItCpqe,EAAMyH,OAAS,SAASJ,GACpB,IAqBIjL,EAAGsE,EAAGG,EAAGD,EArBTmG,EAAQrI,KAAKqI,MACbqM,EAAcrM,EAAMsM,gBACpB+5O,EAAU1uP,KAAK0uP,QACftmL,EAAQz/D,EAAKX,QACbwnG,EAAWsgJ,EAAgBnnP,EAAMy/D,GACjC4xU,EAAc3xY,EAAM4M,UACpBwjB,EAAO9vB,EAAK0D,EAAE,GAAG1P,OACjB+7B,EAAO/vB,EAAKm5K,SACZhsK,EAAgBzN,EAAMyN,cAG1B9V,KAAK2I,KAAOA,EAWZ,IAAIgje,EAAY,GAChB,IAAIjue,EAAI,EAAGA,EAAI,EAAGA,IAEd,IADAiue,EAAUjue,GAAK,GACXsE,EAAI,EAAGA,EAAIy2B,EAAMz2B,IACjB2pe,EAAUjue,GAAGsE,GAAK,GAU1B,IAAIA,EAAI,EAAGA,EAAIy2B,EAAMz2B,IACjB,IAAIG,EAAI,EAAGA,EAAIu2B,EAAMv2B,IACjBwpe,EAAU,GAAG3pe,GAAGG,GAAKnC,KAAKupe,OAAOvne,EAAGG,EAAGwG,EAAK+kC,UAAWh5B,EAAYuP,OACnE0nd,EAAU,GAAG3pe,GAAGG,GAAKnC,KAAKwpe,OAAOxne,EAAGG,EAAGwG,EAAKglC,UAAWj5B,EAAYwP,OACnEynd,EAAU,GAAG3pe,GAAGG,GAAKnC,KAAKype,OAAOzne,EAAGG,EAAGwG,EAAKmoP,UAAWp8O,EAAYwxM,OAI3E,GAAGv9M,EAAKiZ,YAKJ,IAJAjZ,EAAKsjC,aAAef,EAAYygc,EAAU,IAC1C1gc,EAAS0gc,EAAU,GAAIhje,EAAKsjC,cAE5BtjC,EAAK+ge,eAAiB,GAClB1ne,EAAI,EAAGA,EAAIy2B,EAAMz2B,IAEjB,IADA2G,EAAK+ge,eAAe1ne,GAAK,GACrBG,EAAI,EAAGA,EAAIu2B,EAAMv2B,IACjBwG,EAAK+ge,eAAe1ne,GAAGG,GAAKwpe,EAAU,GAAG3pe,GAAGG,GAQxD,IAAIzE,EAAI,EAAGA,EAAI,EAAGA,IACd,IAAIsE,EAAI,EAAGA,EAAIy2B,EAAMz2B,IACjB,IAAIG,EAAI,EAAGA,EAAIu2B,EAAMv2B,IACjBD,EAAIype,EAAUjue,GAAGsE,GAAGG,GACX,OAAND,QAAoBtF,IAANsF,EACbype,EAAUjue,GAAGsE,GAAGG,GAAKm7D,IAErBp7D,EAAIype,EAAUjue,GAAGsE,GAAGG,IAAM63Y,EAAYt8Y,GAMtD,IAAIA,EAAI,EAAGA,EAAI,EAAGA,IACd,IAAIsE,EAAI,EAAGA,EAAIy2B,EAAMz2B,IACjB,IAAIG,EAAI,EAAGA,EAAIu2B,EAAMv2B,IACjBD,EAAIype,EAAUjue,GAAGsE,GAAGG,GACX,OAAND,QAAoBtF,IAANsF,IACVlC,KAAKipe,UAAUvre,GAAKwE,IACnBlC,KAAKipe,UAAUvre,GAAKwE,GAErBlC,KAAKkpe,UAAUxre,GAAKwE,IACnBlC,KAAKkpe,UAAUxre,GAAKwE,IAOxC,IAAIxE,EAAI,EAAGA,EAAI,EAAGA,IACdsC,KAAKs7b,aAAa59b,GAAK,IAAOsC,KAAKipe,UAAUvre,GAAKsC,KAAKkpe,UAAUxre,IAGrE,IAAIA,EAAI,EAAGA,EAAI,EAAGA,IACd,IAAIsE,EAAI,EAAGA,EAAIy2B,EAAMz2B,IACjB,IAAIG,EAAI,EAAGA,EAAIu2B,EAAMv2B,IACjBD,EAAIype,EAAUjue,GAAGsE,GAAGG,GACX,OAAND,QAAoBtF,IAANsF,IACbype,EAAUjue,GAAGsE,GAAGG,IAAMnC,KAAKs7b,aAAa59b,IAOxD,IAAI+hE,EAAS,CACTr5D,EAAQ,IAAIge,aAAaqU,EAAOC,GAAO,CAACD,EAAMC,IAC9CtyB,EAAQ,IAAIge,aAAaqU,EAAOC,GAAO,CAACD,EAAMC,IAC9CtyB,EAAQ,IAAIge,aAAaqU,EAAOC,GAAO,CAACD,EAAMC,KAElDzpB,EAAKwwD,EAAO,IAAI,SAAS6b,EAAK86E,GAAO,OAAOu1U,EAAU,GAAGrwZ,GAAK86E,MAC9DnnJ,EAAKwwD,EAAO,IAAI,SAAS6b,EAAK86E,GAAO,OAAOu1U,EAAU,GAAGrwZ,GAAK86E,MAC9DnnJ,EAAKwwD,EAAO,IAAI,SAAS6b,EAAK86E,GAAO,OAAOu1U,EAAU,GAAGrwZ,GAAK86E,MAC9Du1U,EAAY,GAEZ,IAAIr+X,EAAS,CACTkC,SAAUA,EACV8iF,OAAQ,CAAC,GAAI,GAAI,IACjBv3H,YAAa,EAAC,GAAM,GAAM,GAC1BD,aAAcnyD,EAAKuZ,YACnBk7a,eAAgB,CACZ,EAAC,GAAO,GAAO,GACf,EAAC,GAAO,GAAO,GACf,EAAC,GAAO,GAAO,IAEnB7rM,aAAc,CAAC,EAAG,EAAG,GACrBD,aAAc,CAAC,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IACrDmrM,YAAa,CAAC,EAAG,EAAG,GACpBO,aAAc,CAAC,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IACrDE,aAAc,CAAC,EAAG,EAAG,GACrBD,YAAa,CAAC,EAAG,EAAG,GACpBj1b,QAASW,EAAKX,SAGd+1H,EAAQ9hD,EAAYtzE,GAIxB,GAHA2kG,EAAOiuV,gBAAkB,CAACx9T,EAAMx4H,IAAKw4H,EAAMv4H,KAGxCmD,EAAKsD,aAAc,CAClB,IAAIs2J,EAAYn8J,EAAQ,IAAIge,aAAaqU,EAAOC,GAAO,CAACD,EAAMC,IAE9DzpB,EAAKszJ,GAAW,SAASjnF,EAAK86E,GAC1B,OAAOztJ,EAAKsD,aAAamqJ,GAAK96E,MAGlC7b,EAAOj/D,KAAK+hK,QAIZj1D,EAAOiuV,gBAAgB,IAAMvhD,EAAY,GACzC1sS,EAAOiuV,gBAAgB,IAAMvhD,EAAY,IAG1CywF,EAAiBhra,EAAO,GAAG7gC,MAAM,IAChC6rc,EAAiBhra,EAAO,GAAG7gC,MAAM,MACjC5+B,KAAKqpe,YAAa,IAGC,IAApBrpe,KAAKqpe,aACJrpe,KAAKmpe,WAAanpe,KAAK4qe,cAAcnra,EAAO,GAAG7gC,MAAM,GAAI,GACzD5+B,KAAKope,WAAappe,KAAK4qe,cAAcnra,EAAO,GAAG7gC,MAAM,GAAI,GAClC,IAApB5+B,KAAKmpe,YAAwC,IAApBnpe,KAAKope,YAC7Bppe,KAAK+qe,aAAatra,IAIvB92D,EAAKsD,eACJqhG,EAAOi1D,UAAY9iG,EAAO98D,OAG9B,IAAIipe,EAAkB,EAAC,GAAM,GAAM,GAC/BhiZ,EAAO,CAAC,IAAK,IAAK,KAEtB,IAAIlsF,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACnB,IAAImue,EAAgBlje,EAAKsZ,SAAS2nE,EAAKlsF,IACvCkue,EAAgBlue,GAAKmue,EAAcxqd,UAEnCisF,EAAOvyC,YAAYr9D,GAAKmue,EAAchrd,MAAQgrd,EAAcxqd,UACxDisF,EAAOvyC,YAAYr9D,KAEvB4vG,EAAO8vV,eAAe1/b,GAAK,CACvBmue,EAAc3qd,QAAQtV,EACtBige,EAAc3qd,QAAQ3P,EACtBs6d,EAAc3qd,QAAQ7U,GAGvBw/d,EAAchrd,MACb7gB,KAAK+6D,YAAYr9D,IAAK,EACtB4vG,EAAOglF,OAAO50L,GAAKoY,EAAcpY,GACjCgxP,EAAQiuM,eAAej/b,GAAK4vG,EAAOgkJ,aAAa5zP,GAAKqyP,EAAc87O,EAAcpje,OAE9Eoje,EAAczqd,YACbstO,EAAQkuM,cAAcl/b,GAAK4vG,EAAOmvV,YAAY/+b,GAAK,EAEnDgxP,EAAQkuM,cAAcl/b,GAAK4vG,EAAOmvV,YAAY/+b,GAAK,EAEvD4vG,EAAOikJ,aAAa7zP,GAAKmue,EAAcntd,MAEvC1e,KAAK8oe,aAAapre,GAAKmue,EAAc/qd,MACrC9gB,KAAK+oe,WAAWrre,GAAKmue,EAAc7qd,IACnChhB,KAAKgpe,YAAYtre,GAAKmue,EAAc5qd,OAEpCjhB,KAAK+6D,YAAYr9D,IAAK,EAEtBsC,KAAK8oe,aAAapre,GAAK,KACvBsC,KAAK+oe,WAAWrre,GAAK,KACrBsC,KAAKgpe,YAAYtre,GAAK,GAGvBmue,EAAcxqd,YACbisF,EAAO0vV,aAAat/b,GAAKqyP,EAAc87O,EAAcvqd,gBACrDgsF,EAAO4vV,aAAax/b,GAAKmue,EAActqd,iBAK5C+nd,EAAmB95X,KAClBlC,EAAOkwV,aAAc,GAGzBlwV,EAAOguV,aAAet7b,KAAKs7b,aAE3BhuV,EAAO7tC,OAASA,EAChBivL,EAAQ3lP,OAAOukG,GAEfohJ,EAAQn/O,QAAU5G,EAAK4G,QACvBm/O,EAAQouM,cAAgB8uC,EACxBl9O,EAAQguM,gBAAkBkvC,EAE1Bl9O,EAAQhvN,YAAa,EAElB,aAAc/2B,IACb+lP,EAAQ6I,aAAe5uP,EAAKyZ,SAASC,QACrCqsO,EAAQ8I,aAAe7uP,EAAKyZ,SAASE,QACrCosO,EAAQ+I,cAAgB9uP,EAAKyZ,SAASG,SACtCmsO,EAAQlsO,UAAY7Z,EAAKyZ,SAASI,UAClCksO,EAAQjsO,QAAU9Z,EAAKyZ,SAASK,SAGjC,kBAAmB9Z,IAClB+lP,EAAQsC,cAAgB,CAACroP,EAAKwZ,cAAcvW,EAAGjD,EAAKwZ,cAAc5Q,EAAG5I,EAAKwZ,cAAc9V,IAGzF+7D,GAASA,EAAQ,IAChBsmL,EAAQo9O,sBAAuB,IAIvCxqe,EAAMkK,QAAU,WACZxL,KAAKqI,MAAMmM,OAAOvG,OAAOjO,KAAK0uP,SAC9B1uP,KAAK0uP,QAAQljP,WAajBnP,EAAOC,QAAUque,GAKX,KACA,SAAUtue,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAC/BsW,EAAOtW,EAAoB,QAC3B82Z,EAAyB92Z,EAAoB,QAAQ82Z,uBAErDvjU,EAAYvzF,EAAoB,QAChCokT,EAAiB7wN,EAAU6wN,eAC3BvwN,EAAeN,EAAUM,aACzBC,EAAUP,EAAUO,QA4JxB,SAASy6Y,EAAcphd,EAAM6mB,EAAKw6b,GAC9B,IAAI/6Y,EAAYtmE,EAAKsmE,UACjBzyF,EAAQmsB,EAAKnsB,MACb2yF,EAAgB9vF,MAAM0J,QAAQvM,GAElC,SAASyte,EAAcnmc,GACnB,OAAqC,IAA9BA,EAAM1jC,QAAQ6uF,GAGzB,IAGIC,EAHAg7Y,EAAW,SAAShqe,GAAK,OAAOsvC,EAAItvC,EAAG,EAAGyoB,EAAKimZ,gBAC/Ct/X,EAAY,SAASpvC,GAAK,OAAOsvC,EAAItvC,EAAG,EAAG8pe,IAc/C,OAVGC,EAAcrqL,GACb1wN,EAA+Bg7Y,EAAhB/6Y,EAAyB3yF,EAAM,GAAeA,GACvDyte,EAAc56Y,GACpBH,EAAeC,EACX,CAAC+6Y,EAAS1te,EAAM,IAAK0te,EAAS1te,EAAM,KACpC,CAAC0te,EAAS1te,GAAQ0te,EAAS1te,IACzByte,EAAc36Y,KACpBJ,EAAeC,EAAgB3yF,EAAMk6C,IAAIwzb,GAAY,CAACA,EAAS1te,KAG5DyyF,GACH,IAAK,IACD,OAAO,SAAS/uF,GAAK,OAAOovC,EAAUpvC,KAAOgvF,GAEjD,IAAK,KACD,OAAO,SAAShvF,GAAK,OAAOovC,EAAUpvC,KAAOgvF,GAEjD,IAAK,IACD,OAAO,SAAShvF,GAAK,OAAOovC,EAAUpvC,GAAKgvF,GAE/C,IAAK,KACD,OAAO,SAAShvF,GAAK,OAAOovC,EAAUpvC,IAAMgvF,GAEhD,IAAK,IACD,OAAO,SAAShvF,GAAK,OAAOovC,EAAUpvC,GAAKgvF,GAE/C,IAAK,KACD,OAAO,SAAShvF,GAAK,OAAOovC,EAAUpvC,IAAMgvF,GAEhD,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,GAAMwsF,EAAa,IAAMxsF,GAAMwsF,EAAa,IAG3D,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,EAAKwsF,EAAa,IAAMxsF,EAAKwsF,EAAa,IAGzD,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,GAAMwsF,EAAa,IAAMxsF,EAAKwsF,EAAa,IAG1D,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,EAAKwsF,EAAa,IAAMxsF,GAAMwsF,EAAa,IAG1D,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,GAAMwsF,EAAa,IAAMxsF,GAAMwsF,EAAa,IAG3D,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,EAAKwsF,EAAa,IAAMxsF,EAAKwsF,EAAa,IAGzD,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,GAAMwsF,EAAa,IAAMxsF,EAAKwsF,EAAa,IAG1D,IAAK,KACD,OAAO,SAAShvF,GACZ,IAAIwC,EAAK4sC,EAAUpvC,GACnB,OAAOwC,EAAKwsF,EAAa,IAAMxsF,GAAMwsF,EAAa,IAG1D,IAAK,KACD,OAAO,SAAShvF,GACZ,OAA+C,IAAxCgvF,EAAa9uF,QAAQkvC,EAAUpvC,KAG9C,IAAK,KACD,OAAO,SAASA,GACZ,OAA+C,IAAxCgvF,EAAa9uF,QAAQkvC,EAAUpvC,MA5PtD5F,EAAQsT,WAAa,YAErBtT,EAAQwB,KAAO,SAEfxB,EAAQgM,WAAa,CACjBo5B,QAAS,CACLhhB,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdsM,OAAQ,CACJ3M,QAAS,SACTozQ,QAAQ,EACRxgE,SAAS,EACT7xM,SAAS,EACTd,KAAM,IAENI,SAAU,QAGdkwE,UAAW,CACPvwE,QAAS,aACT2V,OAAQ,GACHlxB,OAAOy8S,GACPz8S,OAAOksF,GACPlsF,OAAOmsF,GACZ3wE,KAAM,IAENI,SAAU,QAGdviB,MAAO,CACHkiB,QAAS,MACTC,KAAM,EAENI,SAAU,QAGdord,aAAc,CACVzrd,QAAS,UACTC,MAAM,EAENI,SAAU,QAGdA,SAAU,QAGdzkB,EAAQ0T,eAAiB,SAASwlZ,GAC9B,IAAIC,EAAe,GAEnB,SAASvlX,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOslX,EAAaC,EAAcn5Z,EAAQgM,WAAY2c,EAAMtE,GAG3E,IAAI+gB,EAAUwO,EAAO,WAErB,GAAGxO,EAAS,CACR,IAAIrU,EAAS6iB,EAAO,UAEpB,GAAGn8B,EAAIo8D,oBAAoB9iD,IAA6B,IAAlBA,EAAO1wB,OAEzC,OADA84Z,EAAa/zX,SAAU,EAChB+zX,EAGXvlX,EAAO,gBACPA,EAAO,aACPA,EAAO,SAEP,IAAIumB,EAAyB9/B,EAASsa,mBAAmB,YAAa,kBACtEwlB,EAAuB++V,EAAaC,EAAc,gBAAiB,MACnEh/V,EAAuB++V,EAAaC,EAAc,iBAAkB,MAGxE,OAAOA,GAGXn5Z,EAAQ87L,cAAgB,SAASrsL,EAAIC,EAAO2e,GACxC,GAAIA,EAAK+W,QAAT,CAEA,IAAI2P,EAAct9B,EAAIq4d,eAAepge,EAAO2e,GAC5C,GAAI0mB,EAAJ,CAEA,IAAIhkB,EAAS1C,EAAK0C,OAEdzC,EAAMymB,EAAY10C,OACnBqP,EAAM6I,UAAS+V,EAAMznB,KAAKoC,IAAIqlB,EAAK5e,EAAM6I,UAE5C,IAAIm3d,EAAiBrhd,EAAKkmZ,eACtB7b,EAAahpZ,EAAMqge,YACnBF,EAAexhd,EAAKwhd,aAIxB,GAAqB,kBAAX9+c,EAAqB,CAC3B,IAAIi/c,EAAqBv4d,EAAImyC,eAAel6C,EAAOqhB,EAAS,YAAYjvB,MACrEkue,IAAoBN,EAAiBM,GAG5C,IAaIC,EACAl1G,EAdA7lV,EAAM19B,EAAKigC,mBAAmBhoC,EAAIC,EAAOqhB,EAAQgkB,GACjDm7b,EAAaT,EAAcphd,EAAM6mB,EAAKw6b,GACtCS,EAAiB,GACjBp3E,EAAgB,GAChBj1Z,EAAQ,EAWT+re,GACCI,EAAS,SAAStmb,GACdwmb,EAAexmb,EAAGu6C,MAAQzsF,EAAIoiH,WAAW,GAAIlwE,EAAG7nD,OAChD6nD,EAAG56C,IAAI,IAAIhK,MAAMupB,KAErBysW,EAAS,SAASpxU,EAAI7lD,GAClB,IAAIqvB,EAAMg9c,EAAexmb,EAAGu6C,MAAMpgG,GAClC6lD,EAAG7nD,MAAMgC,GAASqvB,KAGtB88c,EAAS,SAAStmb,GACdwmb,EAAexmb,EAAGu6C,MAAQzsF,EAAIoiH,WAAW,GAAIlwE,EAAG7nD,OAChD6nD,EAAG56C,IAAI,KAEXgsX,EAAS,SAASpxU,EAAI7lD,GAClB,IAAIqvB,EAAMg9c,EAAexmb,EAAGu6C,MAAMpgG,GAClC6lD,EAAG7nD,MAAMoC,KAAKivB,KAKtBi9c,EAAYH,GAKZ,IAHA,IAAI13E,EAAyBP,EAAuBtoZ,EAAMgX,WAAY2H,GAG9DjtB,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACzB,IAAIive,EAASH,EAAWn7b,EAAY3zC,IACjCive,GACCD,EAAYr1G,EAAQ35X,GACpB23Z,EAAcj1Z,KAAWy0Z,EAAuBn3Z,IAC1Cyue,GAAc/re,IAG5BuqB,EAAKgpU,eAAiB0hE,EACtBrpZ,EAAM6I,QAAUzU,GA5ChB,SAASsse,EAAYjwe,EAAI2D,GACrB,IAAI,IAAI4B,EAAI,EAAGA,EAAIgzZ,EAAWr4Z,OAAQqF,IAAK,CACvC,IAAIikD,EAAKlyC,EAAImyC,eAAel6C,EAAOgpZ,EAAWhzZ,IAC9CvF,EAAGwpD,EAAI7lD,OAsJb,KACA,SAAU/D,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUkB,EAAoB,OAApBA,GAAgC2F,KAAKk/D,KAAO7kE,EAAoB,SAK3E,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBmI,EAAOnI,EAAoB,QAE3BsW,EAAOtW,EAAoB,QAC3BuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QACnCq3B,EAAUr3B,EAAoB,QAC9Bq+E,EAAar+E,EAAoB,QAEjCo1J,EAAMp1J,EAAoB,QAC1B2lE,EAASyvF,EAAIzvF,OACbC,EAASwvF,EAAIxvF,OACbE,EAASsvF,EAAItvF,OAEbmwD,EAAUj2H,EAAoB,QAC9BR,EAAIQ,EAAoB,QACxBmiI,EAAQniI,EAAoB,QAC5Bove,EAAiBpve,EAAoB,QAEzC,SAASqve,EAAYpwe,EAAI45B,EAAQzL,GAC7B,OAAO7W,EAAIwhC,QAAQ94C,EAAI,KAAM45B,EAAQzL,GAGzC,SAASmiB,EAAa1W,EAAQzL,GAC1B,OAAOkid,EACHD,EAAY1pe,KAAKoC,IAAK8wB,EAAQzL,GAC9Biid,EAAY1pe,KAAKqC,IAAK6wB,EAAQzL,IAItC,SAASmid,EAAgB/re,GACrB,IAAIoU,EAAQpU,EAAUoU,MACtB,OAAOA,EACH03d,EAAY13d,EAAM,GAAIA,EAAM,IAC5B23B,EAAa/rC,EAAUq1B,OAAQr1B,EAAU6T,SAGjD,SAASi4d,EAAY/3d,EAAID,GAsBrB,OArBGjK,MAAMkK,IAAQjK,SAASiK,KACtBA,EAAK,IAGNlK,MAAMiK,IAAQhK,SAASgK,KACtBA,EAAK,GAINC,IAAOD,IACI,IAAPC,GAECA,GAAM,EACND,GAAM,IAGNC,GAAM,GACND,GAAM,MAIP,CAACC,EAAID,GAGhB,SAASk4d,EAAO96M,EAAW+6M,GACvB,OAAGA,EACQ,SAAS/qe,EAAGxE,GACf,IAAI+O,EAAOwge,EAAMvve,GACjB,OAAY,OAAT+O,QAA0B7P,IAAT6P,EAA2BylR,EAAUhwR,GAClDuK,GAGRylR,EAGX,SAASg7M,EAAY1md,EAAQkL,EAAS1wB,EAAWkyC,EAAUC,GACvD,IAAI+xB,EAAS6na,EAAgB/re,GAC7B,OAAGkyC,EACQ5mC,EAAGm2D,MAAM++D,UACXr0E,OAAOja,EAASwF,IAAIs0b,EAAO1ge,EAAGu2F,OAAO7hG,EAAUi5C,YAAa9G,KAC5D/9B,MAAM89B,EACFwF,KAAI,SAAS76C,GACV,IAAIsve,GAAWtve,EAAIqnE,EAAO,KAAOA,EAAO,GAAKA,EAAO,IACpD,OAAQ1+C,EAASkL,EAAUy7c,GAAW,EAAIz7c,EAAUlL,OAI7Dla,EAAGm2D,MAAMsrE,SACX5gF,OAAO+X,GACP9vD,MAAM,CAACoR,EAASkL,EAASA,IAGlC,SAASiwG,EAAen7G,EAAQkL,GAC5B,OAAOplB,EAAGm2D,MAAMsrE,SAAS34H,MAAM,CAACsc,EAASlL,EAASkL,IAGtD,SAAS07c,EAAwBpse,EAAWqse,GACxC,OAAO/ge,EAAGm2D,MAAMsrE,SACX5gF,OAAO4/a,EAAgB/re,IACvBoU,MAAM,CAACi4d,EAAa,EAAIA,IAGjC,SAASC,EAAatse,GAClB,GAAIA,EAAUkyC,SAAd,CAEA,IAAIgyB,EAAS6na,EAAgB/re,GAC7B,OAAOsL,EAAGm2D,MAAM++D,UACXr0E,OAAOnsD,EAAUkyC,UACjB99B,MAAMpU,EAAUkyC,SAASwF,KAAI,SAAS76C,GACnC,OAAQA,EAAIqnE,EAAO,KAAOA,EAAO,GAAKA,EAAO,SAIzD,SAASqoa,EAAiBvxZ,GACtB,IAAIygT,EAAazgT,EAAOtjC,KAAI,SAAS76C,GAAK,OAAOA,EAAE,MAC/C2ve,EAAcxxZ,EAAOtjC,KAAI,SAAS76C,GAClC,IAAIu9H,EAAOz1H,EAAK9H,EAAE,IAClB,OAAOyO,EAAGhH,IAAI,OAAS81H,EAAK,GAAK,IAAMA,EAAK,GAAK,IAAMA,EAAK,GAAK,QAEjE5Z,EAAO,SAASxiH,GAAK,OAAO,SAAShB,GAAK,OAAOA,EAAEgB,KAInDyue,EAAuB,MAAM7/d,MAAM,IAAI8qC,KAAI,SAAS55C,GACpD,OAAOwN,EAAGm2D,MAAMsrE,SACX19H,OAAM,GACN88C,OAAOsvU,GACPrnX,MAAMo4d,EAAY90b,IAAI8oE,EAAK1iH,QAGpC,OAAO,SAASjB,GACZ,OAAO4ve,EAAqB/0b,KAAI,SAASp5C,GACrC,OAAOA,EAAEzB,OAKrB,SAAS6ve,EAAkBhke,GACvB,OAAOA,EAAK2oI,WAAWmuF,MAAK,SAASnhO,GACjC,OAAOA,EAAEsgI,MAAMC,mBAIvB,SAASn2H,EAAMo7C,EAAQhnD,EAAGH,GACtB,IAAIsvC,EAAMs2B,EAAOzlE,GACbmO,EAAQghC,EAAIhhC,MACZ+vE,EAAY03C,EAAQ6qD,kBAAkBtxI,EAAI+uC,WAC1CxmD,EAAOvpB,EAAMupB,KACborL,EAAkB,CAACl4M,MAAO9C,EAAK3I,EAAE2we,sBACjC5vW,EAAQliD,EAAWI,YAAY1mD,GAC/BymD,EAAS+hD,EAAME,aAAepiD,EAAWqiD,UAAUlxF,EAAIgvC,QAAUhvC,EAAIgvC,OACrE7uB,EAASnhD,EAAMmhD,OACfklF,EAAarmI,EAAMqmI,WACnB3zH,EAAQmmC,EAAOnmC,MACfuiQ,EAAaj1Q,EAAM4he,WACnBC,EAAY7he,EAAM8he,UAClBvqN,EAAYv3Q,EAAMg8K,UAClBg4K,EAAWh0V,EAAM2qC,SACjBo3b,EAAY/he,EAAMgie,UAElBrge,EAAQoG,EAAIm1Y,mBAAmB,GAAI3zX,EAAM,CACzC9sB,MAAOszE,EAAUrjC,IAAIpsC,EAAGm2D,MAAMsrE,SAAS5gF,OACnC4/a,EAAgB,CACZ12c,OAAQ0lD,EACR3mE,MAAO,CAAC2oH,EAAMx4H,IAAKw4H,EAAMv4H,KACzBqP,QAAS7I,EAAM6I,YAGvBupM,eAAgBphN,EAAEohN,eAClBmC,eAAgBvjN,EAAEgnF,SAAWhnF,EAAEixe,mBAG/B7gG,EAAajqY,KAAK2N,MAAM4N,GAASyuC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,KACxDwoJ,EAAcjxJ,KAAK2N,MAAM+zC,EAAOr+B,QAAU2mC,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,KAEjE+F,EAAMutC,EAAOpzB,QAAU,CAAC9zB,EAAG,GAAIU,EAAG,GAAII,EAAG,IAAK1B,EAAG,IACjDmxe,EAAkB9gG,EAClBh0O,EAAYhF,EAEhB,MAAO,CACHt1J,IAAKpB,EACLywe,SAAU97V,EAAWlxI,OAAOsyH,EAAQjkC,WAAW7yF,OAC/C01I,WAAYA,EACZ+7V,aAAcpxe,EAAEoxe,aAChBnvR,YAAasuR,EAAiBvxZ,GAC9BruE,MAAOA,EACPgzM,gBAAiBA,EACjBsgE,WAAYA,EACZ4sN,UAAWA,EACXtqN,UAAWA,EACXy8E,SAAUA,EACV+tI,UAAWA,EACXvsR,YAAa9iM,EACb+iM,aAAc58J,EAAOr+B,OACrB2mC,OAAQA,EACRuvG,WAAYvvG,EAAOvhD,EAAE,GAAK8S,EAC1Bi+I,WAAY93G,EAAOr+B,OAAS2mC,EAAO57C,EAAE,GAAKszC,EAAOr+B,OACjDlP,IAAKA,EACLkpM,YAAa0tR,EAAkBlxe,EAAEixe,iBAAmB,EAAItge,EAAM4yM,eAC9DE,aAAcrnD,EAAYp8J,EAAEixe,iBAC5Bvvd,MAAOwvd,EACP1nd,OAAQ4yI,EACR60U,iBAAkBjxe,EAAEixe,kBAI5B,SAASvqR,EAAUjnH,EAAO4xY,EAAW5ke,GACjC,IAAIiV,EAAQjV,EAAMiV,MACd8H,EAAS/c,EAAM+c,OACf6rH,EAAa5oI,EAAM4oI,WACnB47V,EAAmBxke,EAAMwke,iBAEzB1wU,EAAS,SAAS1/J,GAAI,OAAO6gB,EAAQ7gB,EAAIsF,KAAKqC,IAAI,EAAGiE,EAAM0ke,SAAW,IAEtEG,EAAUtxe,EAAEklI,gBAAkB17G,EAC9B+nd,EAAkB5sW,EAAen7G,EAAQxpB,EAAEklI,iBAE3C+6B,EAAK,CACLn+J,IAAK2K,EAAM3K,IACXy+J,OAAQA,EACR9zJ,MAAOA,EACPq5H,aAAa,GAGbyqQ,EAAa,GAiHjB,OA/GAtwO,EAAG5qB,WAAaA,EAAWlxI,OAAOsyH,EAAQjkC,WAAW92C,KAAI,SAAS13C,EAAWtD,GACzE,IAAI8we,EAAqBpB,EAAwBpse,EAAWste,GACxD3gG,EAAWJ,EAAWvsY,EAAUu9F,OACpCgvS,EAAWvsY,EAAUu9F,QAAUovS,GAAY,GAAK,EAChD,IAAI7uY,EAAMkC,EAAUu9F,OAASovS,EAAW,KAAOA,EAAW,IACtD8gG,EAAsBzte,EAAU2qW,gBAChC+iI,EAAuBD,GAAuBA,EAAoB9xe,OACnE+xe,IAAyBrte,MAAM0J,QAAQ0je,EAAoB,MAC1DA,EAAsB,CAACA,IAE3B,IAAIE,EAAcD,EACdD,EAAoB/1b,KAAI,SAAS76C,GAAK,OAAOA,EAAE66C,IAAI81b,MACnD,CAAC,EAAE7me,IAAUA,MACbine,EAAY,WACZ,IAAIvve,EAAI49J,EACR59J,EAAEwve,YAAcxve,EAAEwve,WAAWtqc,OAAOllC,EAAE6kN,QAAQ,GAC9C,IAAI4qR,EAAgBpB,EAAkBrue,IAClCo9F,EAAMsyY,gBAAkBD,GACxBzve,EAAE2ve,cAAgB3ve,EAAE2ve,aAAazqc,OAAOllC,EAAE6kN,QAAQ,GAClDznH,EAAMsyY,cAAa,IACbtyY,EAAMsyY,iBAAmBD,IAC/Bzve,EAAE2ve,cAAgB3ve,EAAE2ve,aAAazqc,OAAOllC,EAAE6kN,QAAQ,GAAM,GACxDznH,EAAMsyY,cAAa,KAIvBE,EAAkBjue,EAAUq1B,OAC7B44c,EAAgBtye,OAASqE,EAAU6T,UAClCo6d,EAAkBA,EAAgBtte,MAAM,EAAGX,EAAU6T,UAGzD,IACIs+B,EADAD,EAAWlyC,EAAUkyC,SAEzB,SAASg8b,EAAahte,EAAGxE,GAAK,MAAO,CAAC+xB,IAAKvtB,EAAGuK,KAAM0mC,EAASz1C,IAC7D,SAASyxe,EAAarye,EAAGC,GAAK,OAAOD,EAAE2yB,IAAM1yB,EAAE0yB,IAC/C,GAAGpuB,MAAM0J,QAAQmoC,IAAaA,EAASv2C,OAAQ,CAC3Cw2C,EAAWnyC,EAAUmyC,SAGjB9xC,MAAM0J,QAAQooC,IAAcA,EAASx2C,OAE/Bw2C,EAASx2C,OAASu2C,EAASv2C,OACjCw2C,EAAWA,EAASxxC,MAAM,EAAGuxC,EAASv2C,QAChCu2C,EAASv2C,OAASw2C,EAASx2C,SACjCu2C,EAAWA,EAASvxC,MAAM,EAAGwxC,EAASx2C,SAJtCw2C,EAAWD,EAASwF,IAAIpsC,EAAGu2F,OAAO7hG,EAAUi5C,aAQhD,IAAI,IAAIj4C,EAAI,EAAGA,EAAIkxC,EAASv2C,OAAQqF,IAChC,GAAGkxC,EAASlxC,GAAKkxC,EAASlxC,EAAI,GAAI,CAE9B,IADA,IAAIote,EAAYl8b,EAASwF,IAAIw2b,GAAc9qe,KAAK+qe,GACxChte,EAAI,EAAGA,EAAI+wC,EAASv2C,OAAQwF,IAChC+wC,EAAS/wC,GAAKite,EAAUjte,GAAGstB,IAC3B0jB,EAAShxC,GAAKite,EAAUjte,GAAGsK,KAE/B,YAGLymC,OAAWt2C,EAIlB,OAFAqye,EAAkBx7W,EAAQ6qD,kBAAkB2wT,GAErC,CACHnwe,IAAKA,EACLy/F,MAAOv9F,EAAUu9F,MACjBwsJ,WAAY/pP,EAAUi5C,WACtB/G,SAAUA,EACVC,SAAUA,EACVquF,QAAS/N,EAAQ8qD,UAAUv9K,GAC3B2hI,YAAa3hI,EAAU2hI,YACvB26B,OAAQ5/J,EACR0iN,0BAA2B1iN,EAC3B2xe,aAAcrue,EAAUovM,OACxB5pL,OAAQA,EACR6P,OAAQ44c,EACR5vR,iBAAkB4vR,EAAgBv2b,IAAI81b,GACtC/sW,aAAcvuF,GAAYA,EAASwF,IAAI81b,GACvCjxU,OAAQA,EACR3xJ,EAAG2xJ,EAAO7/J,GACV8mN,QAASjnD,EAAO7/J,GAAKuwe,EACrBtsW,eAAgB4sW,EAChBrB,YAAaA,EAAY1md,EAAQxpB,EAAEklI,gBAAiBlhI,EAAWkyC,EAAUC,GACzEm6b,aAAcA,EAAatse,GAC3BokB,OAAQ63I,EACRxzJ,MAAOA,EACPk2H,MAAOA,EAAMoF,UACTtoC,EACAiyY,EACAC,GACA,WACIlyY,EAAM6yY,gBAAe,KAEzBV,GACA,SAASppc,GAIL,GAHAy3H,EAAG4xU,WAAWtqc,OAAO04H,EAAGinD,QAAQ,GAChCjnD,EAAGsyU,WAAatyU,EAAGsyU,UAAUhrc,OAAO04H,EAAGinD,QAAQ,GAC/CznH,EAAM6yY,gBAAe,GAClBjB,GAAaA,EAAU/iI,cAAe,CACrC,IAAIkkI,EAAWhB,EAAmB5xd,OAG9B4uV,EAAYhmU,EAAEkT,KAAI,SAASr6C,GAC3B,OAAOA,EAAEq6C,IAAI82b,GAAUpre,KAAK2P,EAAI0qH,cACjCr6H,MAAK,SAAStH,EAAGC,GAAK,OAAOD,EAAE,GAAKC,EAAE,MACzCsxe,EAAU/iI,cAAcruM,EAAGn+J,IAAKkC,EAAUovM,OAAQo7J,WAO/DvuM,EAGX,SAASwyU,EAAiB/je,GACtBA,EACKuB,QAAQjQ,EAAEktC,GAAGwlc,gBAAgB,GAC7Bzqd,KAAK,cAAe,UACpB9X,MAAM,SAAU,WAChBA,MAAM,cAAe,QAG9B,SAASwie,IACL,IAAIL,GAAiB,EACjBP,GAAe,EACnB,MAAO,CACHO,eAAgB,SAAS7/c,GAAM,OAAOvyB,UAAUP,OAAS2ye,IAAmB7/c,EAAM6/c,GAClFP,aAAc,SAASt/c,GAAM,OAAOvyB,UAAUP,OAASoye,IAAiBt/c,EAAMs/c,IAItF,SAASa,EAASjib,EAAO3mD,GACrB,IAAIkU,EAAoB,QAAblU,EAAsB,GAAK,EAClCu4O,EAAU5xL,EAAQxqD,KAAKg8B,GAAK,IAC5BjJ,EAAK/yB,KAAK8qD,IAAIsxL,GACdr4N,EAAK/jB,KAAK6qD,IAAIuxL,GAClB,MAAO,CACHrkO,IAAKA,EACLgb,GAAIA,EACJhP,GAAIA,EACJs4N,QAAS7xL,GAIjB,SAASkib,EAAkBC,EAAO7yU,GAG9B,IAFA,IAAIinD,EAASjnD,EAAGinD,SAAWjnD,EAAGinD,OAAS,IACnCv7M,EAAOmne,EAAMnne,OACTjL,EAAI,EAAGA,EAAIiL,EAAKhM,OAAS,EAAGe,IAAK,CACrC,IAAI2B,EAAI6kN,EAAOxmN,KAAOwmN,EAAOxmN,GAAK,IAC9B6mN,EAAO57M,EAAKjL,GACZ+mN,EAAO97M,EAAKjL,EAAI,GACpB2B,EAAEklN,KAAOA,EACTllN,EAAEolN,KAAOA,EACTplN,EAAEmlN,QAAUD,EAAKC,QACjBnlN,EAAE6gN,WAAauE,EAAKD,QAAUD,EAAKC,QACnCnlN,EAAE8gN,WAAaljD,EAAGxzJ,MAAMg3M,aACxBphN,EAAEkS,EAAI,EACNlS,EAAEqlN,QAAU,GAIpB,SAASqrR,EAAaxyd,GAClB,IAAI,IAAI7f,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IAC1B,IAAI,IAAIsE,EAAI,EAAGA,EAAIub,EAAG7f,GAAGf,OAAQqF,IAI7B,IAHA,IAAIgK,EAAQuR,EAAG7f,GAAGsE,GAAGgK,MACjBqmI,EAAarmI,EAAMqmI,WAEflwI,EAAI,EAAGA,EAAIkwI,EAAW11I,OAAQwF,IAAK,CACvC,IAAIk0B,EAASg8G,EAAWlwI,GAAGk0B,OACvBmkC,EAAM63E,EAAWlwI,GAAG2qF,IAErBtyB,IACKA,EAAIplD,MAGJolD,EAAIplD,MAAQ03d,EAAYtya,EAAIplD,MAAM,GAAIolD,EAAIplD,MAAM,IAFhDolD,EAAIplD,MAAQ23B,EAAa1W,EAAQrqB,EAAM6I,SAKvC2lD,EAAIpoB,QACJooB,EAAIpoB,MAAQ,KAAQjvC,KAAK+R,IAAIslD,EAAIplD,MAAM,GAAKolD,EAAIplD,MAAM,KAAO,IAGjEolD,EAAIvgB,WAAao4F,EAAWlwI,GAAG83C,WAC/BnmC,EAAK8B,UAAU4kD,GACfA,EAAIg5B,eAOxB,SAASw8Y,EAAax1a,EAAKt4D,GACvB,OAAO4R,EAAK4P,SAAS82C,EAAIsyB,IAAK5qF,GAAG,GAAOuK,KAG5C,SAASwje,EAAYpye,EAAGqye,GACpB,GAAGrye,EAAE2jI,QAAS,MAAO,GACrB,IAAIr0E,EAAStvD,EAAEqve,YAAY//a,SACvBjrD,EAAKirD,EAAO+ib,EAAQ/ib,EAAOxwD,OAAS,EAAI,GAE5C,OAAOqze,EAAanye,EAAE4L,MAAM4oI,WAAWx0I,EAAEwxe,cAAente,GAI5D7F,EAAOC,QAAU,SAAmByP,EAAI6hL,EAAU/oI,EAAQwpb,GACtD,IAAIlrd,EAAapX,EAAGymB,YAChB1F,EAAM3J,EAAWu1c,UACjByX,EAAchtd,EAAWgpM,aAE7B4jR,EAAaniT,GAEb,IAAInxF,EAAQkzY,IAER1yU,EAAK2wB,EACJzsL,QAAO,SAAStD,GAAK,OAAOylE,EAAOzlE,GAAGmO,MAAMuD,WAC5CmpC,IAAIjvC,EAAM1K,KAAK,EAAG8lD,IAClBnM,IAAIgrK,EAAU3kN,KAAK,EAAG09F,EAAO4xY,IAElC8B,EAAY/ie,MAAK,SAASvP,EAAGH,GACzB,OAAOqW,EAAIuM,WAAWziB,EAAGo/J,EAAGv/J,OAGhC,IAAI0ye,EAAWD,EAAYrje,UAAU,cAChCM,MAAK,SAASvP,GAEXA,EAAE6lN,UAAYzmD,EAAG,GACjBp/J,EAAE4L,MAAQ5L,EAAE6lN,UAAY7lN,EAAE6lN,UAAUj6M,MAAQ,QAGhD4me,EAAc,KAEdd,EAAYa,EAASjve,QAAO,SAAStD,GAAI,OAAOA,EAAE4N,QAGtD8je,EACKpie,MAAM,iBAAkB,QACxBK,GAAG,aAAa,SAAS3P,GACtB,GAAG4+F,EAAM6yY,kBAAoBzxe,EAAEyye,WAAajC,GAAaA,EAAUnvd,MAAO,CACtE,IAAI8S,EAAQ1lB,EAAG0lB,MACXk6F,EAAKlsH,KAAK0e,MACV25H,EAAKr4I,KAAKwmB,OACV2f,EAAU75B,EAAG+vB,MAAMr8B,MACnB4L,EAAIu6B,EAAQ,GACZ50B,EAAI40B,EAAQ,GAEhB,GAAGv6B,EAAI,GAAK2F,EAAI,GAAK3F,GAAKsgH,GAAM36G,GAAK8mI,EACjC,OAEJ,IAAIk4V,EAAQ1ye,EAAEyye,UAAU1rR,UAAUh5M,EAAGysI,EAAK,EAAI9mI,GAC1Cu4G,EAAqB,IAAbymX,EAAM,GAEdhqQ,EAAcz8G,EAAQymX,EAAM,GAAK,KAAOA,EAAM,GAAK,IAAMA,EAAM,IAAM,KACrEp9c,EAAY,CACZvnB,EAAGA,EACH2F,EAAGA,EACHkrI,QAASzqH,EAAMyqH,QACfC,QAAS1qH,EAAM0qH,QACf7wI,UAAWhO,EAAE4L,MAAM3K,IACnBynO,YAAaA,GAEdA,IAAgB8pQ,IACZvmX,EACCukX,EAAUnvd,MAAMiU,GACVk7c,EAAU3gX,SAChB2gX,EAAU3gX,QAAQv6F,GAEtBk9c,EAAc9pQ,OAK9B6pQ,EACKjje,MAAM,WAAW,SAAStP,GAAI,OAAOA,EAAE4N,KAAO,EAAI,KAEvDqhB,EAAI3f,MAAM,aAAc,0BACxB,IAAIqje,EAAiB1jd,EAAIhgB,UAAU,IAAM9P,EAAEktC,GAAGygU,WACzChiW,KAAKs0J,EAAI95F,GAEdqta,EAAetwb,OAAOjyC,SAEtBuie,EAAezje,QACVC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAGygU,WAAW,GACxBx9V,MAAM,kBAAmB,cACzBA,MAAM,iBAAkB,QAE7Bqje,EAAevrd,KAAK,aAAa,SAASpnB,GACtC,MAAO,aAAeA,EAAE4L,MAAMizJ,WAAa,IAAM7+J,EAAE4L,MAAMkzJ,WAAa,OAG1E,IAAI8zU,EAAuBD,EAAe1je,UAAU,IAAM9P,EAAEktC,GAAGumc,sBAC1D9ne,KAAKy6D,EAAQD,GAElBsta,EAAqB1je,QAChBC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAGumc,sBAAsB,GAExCA,EAAqBxrd,KAAK,aAAa,SAASpnB,GAC5C,MAAO,aAAeA,EAAE4L,MAAM6N,IAAI3Z,EAAI,IAAME,EAAE4L,MAAM6N,IAAI7Y,EAAI,OAGhE,IAAIqxe,EAAQW,EAAqB3je,UAAU,IAAM9P,EAAEktC,GAAG4lc,OACjDnne,MAAK,SAAStJ,GAAK,OAAOA,EAAEgzI,aAAelvE,GAEhD2sa,EAAM/ie,QACDC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAG4lc,OAAO,GAEzBW,EAAqBrje,MAAK,SAAS/N,GAC/Bwwe,EAAkBC,EAAOzwe,MAG7B+we,EACKhje,MAAK,SAASvP,GACX,GAAGA,EAAE6lN,UAAW,EACR7lN,EAAEyye,WAAajC,EACfxwe,EAAEyye,UAAY1D,EAAe5se,KAAMnC,GAChCA,EAAEyye,UAAUvne,OAAOlL,IAEvBA,EAAEiB,KAAiB,IAAVjB,EAAEiB,OAAWjB,EAAE6lN,UAAU7lN,EAAEiB,KAAOjB,EAAEyye,WAEhD,IAAInsR,GAAetmN,EAAEiyB,SACHu+c,EAElBxwe,EAAEyye,UAAU/rc,OAAO1mC,EAAE6lN,UAAUQ,OAAQC,OAInD2rR,EAAM7qd,KAAK,aAAa,SAASpnB,GAC7B,MAAO,aAAeA,EAAE0/J,OAAO1/J,EAAEy/J,QAAU,UAI/CwyU,EAAMjze,KAAKyP,EAAGs3H,SAASZ,OAClBmyB,QAAO,SAASt3J,GAAK,OAAOA,KAC5B2P,GAAG,QAAQ,SAAS3P,GACjB,IAAIwB,EAAIxB,EAAEunB,OACVq3E,EAAM6yY,gBAAe,GACrBzxe,EAAE+N,EAAIzI,KAAKqC,KAAKxI,EAAEgnF,SAAU7gF,KAAKoC,IAAI1H,EAAE4L,MAAMiV,MAAQ1hB,EAAEgnF,SAAU13E,EAAG0lB,MAAMpmB,IAC1E/N,EAAE2mN,QAAU3mN,EAAE+N,EAAI/N,EAAE4L,MAAMwke,iBAC1B6B,EACK1re,MAAK,SAAStH,EAAGC,GAAK,OAAOD,EAAE8O,EAAI7O,EAAE6O,KACrCwB,MAAK,SAAS2N,EAAGrd,GACdqd,EAAEuiJ,OAAS5/J,EACXqd,EAAEnP,EAAI/N,IAAMkd,EAAIA,EAAEnP,EAAImP,EAAEwiJ,OAAOxiJ,EAAEuiJ,QACjCviJ,EAAEypM,QAAUzpM,EAAEnP,EAAImP,EAAEtR,MAAMwke,oBAGlC4B,EAAkBC,EAAOzwe,GAEzBywe,EAAM3ue,QAAO,SAAS4Z,GAAK,OAAyC,IAAlC5X,KAAK+R,IAAIrX,EAAEy/J,OAASviJ,EAAEuiJ,WACnDr4I,KAAK,aAAa,SAASpnB,GAAK,MAAO,aAAeA,EAAE0/J,OAAO1/J,EAAEy/J,QAAU,UAChFhxJ,EAAGO,OAAO7M,MAAMilB,KAAK,YAAa,aAAepnB,EAAE+N,EAAI,QACvDkke,EAAM1ie,MAAK,SAAS2N,EAAG44H,EAAIngI,GAASA,IAAO3V,EAAEunB,OAAOtmB,MAAKO,EAAEgzI,WAAWsB,GAAM54H,MAC5E1b,EAAE2ve,cAAgB3ve,EAAE2ve,aAAazqc,OAAOllC,EAAE6kN,QAAQ,GAAQwpR,EAAkBrue,IAC5EA,EAAEwve,WAAWtqc,QAAUllC,EAAEwve,WAAWtqc,OAAOllC,EAAE6kN,WAEhD12M,GAAG,WAAW,SAAS3P,GACpB,IAAIwB,EAAIxB,EAAEunB,OACVvnB,EAAE+N,EAAI/N,EAAE0/J,OAAO1/J,EAAEy/J,QACjBz/J,EAAE2mN,QAAU3mN,EAAE+N,EAAI/N,EAAE4L,MAAMwke,iBAC1B4B,EAAkBC,EAAOzwe,GACzBiN,EAAGO,OAAO7M,MACLilB,KAAK,aAAa,SAASpnB,GAAK,MAAO,aAAeA,EAAE+N,EAAI,UACjEvM,EAAE2ve,cAAgB3ve,EAAE2ve,aAAazqc,OAAOllC,EAAE6kN,QAAQ,GAAQwpR,EAAkBrue,IAC5EA,EAAEwve,YAAcxve,EAAEwve,WAAWtqc,OAAOllC,EAAE6kN,QACtC7kN,EAAEkwe,WAAalwe,EAAEkwe,UAAUhrc,OAAOllC,EAAE6kN,QAAQ,GAC5CznH,EAAM6yY,gBAAe,GAElBjB,GAAaA,EAAUviI,WACtBuiI,EAAUviI,UAAUzsW,EAAEP,IAAKO,EAAEgzI,WAAW35F,KAAI,SAAS39B,GAAI,OAAOA,EAAEqlM,kCAK9E0vR,EAAM5vb,OACDjyC,SAEL,IAAIs2H,EAAeurW,EAAMhje,UAAU,IAAM9P,EAAEktC,GAAGq6F,cACzC57H,KAAKy6D,EAAQD,GAElBohE,EAAax3H,QACRC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAGq6F,cAAc,GAEhCA,EAAaz3H,UAAU,IAAM9P,EAAEktC,GAAG0/C,MAAM37E,SAExC,IAAI27E,EAAO26C,EAAaz3H,UAAU,IAAM9P,EAAEktC,GAAG0/C,MACxCjhF,KAAKy6D,EAAQD,GAElBymB,EAAK78E,QACAC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAG0/C,MAAM,GAExBA,EACKx8E,MAAK,SAASvP,GACX,IAAI6ye,EAAkB7ye,EAAE4L,MAAM+c,OAAS3oB,EAAE4L,MAAM2ke,aAC3C3ra,EAAQ5kE,EAAEqve,YACVyD,EAAOlua,EAAMtV,SACjB7gD,EAAGO,OAAO7M,MACLnD,KAAKyP,EAAGwgB,IAAI88D,OACRnqF,OAAO,QACP40M,SAAS,GACT85I,cAAc,GACdh6U,MAAMu8d,EAAiB7ye,EAAEktP,YACzBujG,WAAWzwV,EAAE2jI,QACVmvW,EACA,MACH5lP,YAAW,SAAS7oP,GACjB,OAAOuxH,EAAQ8qD,UAAU1gL,GAAKqE,EAAI8te,EAAanye,EAAE4L,MAAM4oI,WAAWx0I,EAAEwxe,cAAente,MAEtFugE,MAAMA,IACf5tC,EAAQrW,KAAKorE,EAAK98E,UAAU,QAASjP,EAAE4L,MAAMu2V,aAGrDp2Q,EAAK98E,UAAU,uBACVmY,KAAK,OAAQ,QACbA,KAAK,SAAU,SACfA,KAAK,iBAAkB,KACvBA,KAAK,eAAgB,OAE1B2kE,EAAK98E,UAAU,QACVK,MAAM,cAAe,8EACrBA,MAAM,SAAU,WAChBA,MAAM,cAAe,QAE1B,IAAIyje,EAAcrsW,EAAaz3H,UAAU,IAAM9P,EAAEktC,GAAG0mc,aAC/Cjoe,KAAKy6D,EAAQD,GAElByta,EAAY7je,QACPC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAG0mc,aAAa,GAE/B,IAAIC,EAAYD,EAAY9je,UAAU,IAAM9P,EAAEktC,GAAG2mc,WAC5Cloe,KAAKy6D,EAAQD,GAElB0ta,EAAU9je,QACLC,OAAO,QACPC,QAAQjQ,EAAEktC,GAAG2mc,WAAW,GACxB5rd,KAAK,cAAe,UACpB9X,MAAM,SAAU,aAChBA,MAAM,cAAe,QACrBA,MAAM,iBAAkB,QAE7B0je,EACKpke,MAAK,SAAS5O,GAAK,OAAOA,EAAE0gG,SAC5BnxF,MAAK,SAASvP,GACX,IAAIkd,EAAIzO,EAAGO,OAAO7M,MAClB60B,EAAQrW,KAAKzD,EAAGld,EAAE4L,MAAM85Q,WACxBx1O,EAAalpB,gBAAgB9J,EAAGhP,MAEnCkZ,KAAK,aAAa,SAASpnB,GACxB,IAAIize,EAAOlB,EAAS/xe,EAAE4L,MAAMw3Q,WAAYpjR,EAAE4L,MAAMoke,WAC5Cxve,EAAIrB,EAAE+ze,gBACV,OACKD,EAAK51d,IAAM,EAAI,GAAK,gBAAkB,EAAI7c,EAAIR,EAAE4L,MAAM+c,QAAU,KACjE,UAAYsqd,EAAKtxP,QADjB,eAEiBnhP,EAAIyye,EAAK56c,GAAM,KAAQ73B,EAAIyye,EAAK5pd,GAAM,OAG9DjC,KAAK,eAAe,SAASpnB,GAC1B,IAAIize,EAAOlB,EAAS/xe,EAAE4L,MAAMw3Q,WAAYpjR,EAAE4L,MAAMoke,WAC5Cv9E,EAAMntZ,KAAK+R,IAAI47d,EAAK56c,IACpBu6X,EAAMttZ,KAAK+R,IAAI47d,EAAK5pd,IAExB,OAAG,EAAIopY,EAAMG,EACDqgF,EAAK51d,IAAM41d,EAAK56c,GAAK,EAAK,QAAU,MAErC,YAInB,IAAI86c,EAAazsW,EAAaz3H,UAAU,IAAM9P,EAAEktC,GAAG8mc,YAC9Croe,KAAKy6D,EAAQD,GAElB6ta,EAAWjke,QACNC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAG8mc,YAAY,GAE9B,IAAIC,EAAgBD,EAAWlke,UAAU,IAAM9P,EAAEktC,GAAG+mc,eAC/Ctoe,KAAKy6D,EAAQD,GAElB8ta,EAAclke,QACTC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAG+mc,eAAe,GAEjCA,EACKhsd,KAAK,YAAa,gBAA0BjoB,EAAEk0e,iBAAmB,KAEtE,IAAIC,EAAoBF,EAAcnke,UAAU,IAAM9P,EAAEktC,GAAGinc,mBACtDxoe,KAAKy6D,EAAQD,GAElBgua,EAAkBpke,QACbC,OAAO,QACPC,QAAQjQ,EAAEktC,GAAGinc,mBAAmB,GAChCt0e,KAAK4ye,GAEV0B,EACK1ke,MAAK,SAAS5O,GAAK,OAAOoye,EAAYpye,GAAG,MACzCuP,MAAK,SAASvP,GAAKg3B,EAAQrW,KAAKlS,EAAGO,OAAO7M,MAAOnC,EAAE4L,MAAMske,cAE9D,IAAIqD,EAAmBJ,EAAWlke,UAAU,IAAM9P,EAAEktC,GAAGknc,kBAClDzoe,KAAKy6D,EAAQD,GAElBiua,EAAiBrke,QACZC,OAAO,KACPC,QAAQjQ,EAAEktC,GAAGknc,kBAAkB,GAEpCA,EACKnsd,KAAK,aAAa,SAASpnB,GACxB,MAAO,gBAA0BA,EAAE4L,MAAM+c,OAASxpB,EAAEk0e,kBAAoB,OAGhF,IAAIG,EAAuBD,EAAiBtke,UAAU,IAAM9P,EAAEktC,GAAGmnc,sBAC5D1oe,KAAKy6D,EAAQD,GAElBkua,EAAqBtke,QAChBC,OAAO,QACPC,QAAQjQ,EAAEktC,GAAGmnc,sBAAsB,GACnCpsd,KAAK,KAAM,UACXpoB,KAAK4ye,GAEV4B,EACK5ke,MAAK,SAAS5O,GAAK,OAAOoye,EAAYpye,GAAG,MACzCuP,MAAK,SAASvP,GAAKg3B,EAAQrW,KAAKlS,EAAGO,OAAO7M,MAAOnC,EAAE4L,MAAMske,cAE9DpuW,EAAM2E,gBAAgBC,KAMpB,KACA,SAAUloI,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACb0wO,eAAgB,EAChBN,mBAAoB,GACpBX,eAAgB,UAChBa,gBAAiB,EACjBd,oBAAqB,CAACv6J,GAAI,GAAIC,GAAI,EAAG9yD,MAAO,EAAG8H,OAAQ,GAGvDmiN,SAAU,EAEVnB,QAAS,GAET2B,QAAS,IAMP,KACA,SAAU9sO,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1BqmE,EAAI9vD,EAAI8vD,EACR/vD,EAAOtW,EAAoB,QAC3BmxC,EAASnxC,EAAoB,QAAQmxC,OAEzC,SAAS1+B,EAAKlE,EAAIC,GACd,IAAIuoB,EAAKzgB,EAAKu3B,UAAUt/B,EAAIC,EAAMiY,OAC9B2Q,EAAK9gB,EAAKu3B,UAAUt/B,EAAIC,EAAMkY,OAE9Bm6I,EAAUizU,EAAiBvle,EAAIwoB,EAAIvoB,GACnC+pC,EAAU/pC,EAAMule,SACpBvle,EAAMule,SAAW,KACjB,IAAI3le,EAAII,EAAMwle,OACdxle,EAAMwle,OAAS,KAEf,IAAIj0d,EAAK0nX,EAAWl5X,EAAIC,EAAOJ,EAAGgpB,EAAIswW,GAGtC,OADAl5X,EAAM8gC,UAAUvY,EAAGqF,KAAO9lB,EAAKi5B,aAAaxY,EAAI3oB,EAAG,CAACk2E,KAAM/rC,EAAU,IACjEx4B,EAAG5gB,QACFoX,EAAIuM,WAAW/C,EAAG,GAAG9e,EAAG,CACpBgze,OAAQ17b,EAAU,EAClBsoH,QAASA,IAEN9gJ,GAEA,CAAC,CAAC9e,EAAG,CAAC6mB,OAAO,KAI5B,SAAS4/W,EAAOlnY,EAAGwwD,EAAG7wD,EAAGX,GACrB,MAAO,CACHgB,EAAGA,EACHwwD,EAAGA,EACH7wD,EAAGA,EACHX,EAAGA,GAOX,SAASioY,EAAWl5X,EAAIC,EAAOJ,EAAGgpB,EAAIswW,GAclC,IAbA,IAAIlnY,EAAI42B,EAAGoX,aAAahgC,EAAO,QAC3BwiD,EAAI55B,EAAGoX,aAAahgC,EAAO,QAC3BrO,EAAIi3B,EAAGoX,aAAahgC,EAAO,OAC3BhP,EAAI43B,EAAGoX,aAAahgC,EAAO,SAE3B0le,EAAerwe,MAAM0J,QAAQiB,EAAMS,MACnCkle,EAAoBtwe,MAAM0J,QAAQiB,EAAM0V,WAGxCsmE,GAAa,EACb4pZ,EAAQ,KAERr0d,EAAK,GACD7f,EAAI,EAAGA,EAAIkO,EAAEjP,OAAQe,IAAK,CAC9B,IAAIumD,EAAKr4C,EAAElO,GACPm0e,EAAK7ze,EAAEN,GACPoX,EAAK05C,EAAE9wD,GACPo0e,EAAKn0e,EAAED,GACP4yL,EAAKtzL,EAAEU,GAEX,GAAGumD,IAAOtV,GAAUkjc,IAAOljc,GAAU75B,IAAO65B,GAAUmjc,IAAOnjc,GAAU2hJ,IAAO3hJ,EAAQ,CAC/E2hJ,IAAOuhT,EAEO,OAAVD,GAAkBthT,IAAOshT,IAAO5pZ,EAAasoG,EAAKshT,GAElD5pZ,EAAasoG,EAAKuhT,EAEzBD,EAAQthT,EAER,IAAIhzK,EAAK4nX,EAAO2sG,EAAI/8d,EAAIg9d,EAAIxhT,GAE5BhzK,EAAGgzB,IAAM2T,EACT3mC,EAAGu/K,IAAMg1S,EAAKvhT,GAAM,EACpBhzK,EAAG5f,EAAIA,EACP4f,EAAGpC,IAAM8sE,EAAa,aAAe,aAGrC1qE,EAAG1R,EAAI0R,EAAGgzB,IACVhzB,EAAG/L,EAAI,CAACuge,EAAIh9d,GAET48d,IAAcp0d,EAAG2gC,GAAKjyC,EAAMS,KAAK/O,IACjCi0e,IAAmBr0d,EAAG6qZ,IAAMn8Z,EAAM0V,UAAUhkB,IAE/C6f,EAAG/c,KAAK8c,QAERC,EAAG/c,KAAK,CAAC8vC,IAAK2T,EAAI3+B,OAAO,IAiBjC,OAbAtZ,EAAM8gC,UAAUlY,EAAGgF,KAAO9lB,EAAKi5B,aAAanY,EAAI7gB,EAAI5O,OAAOxH,EAAG6wD,GAAI,CAACyzB,QAAQ,IAExE1kE,EAAG5gB,SACF4gB,EAAG,GAAG9e,EAAI,CACN2kB,OAAQ,CACJ2uM,KAAMluJ,EAAE93D,EAAI,SAAW,IACvBimN,KAAMnuJ,EAAE93D,EAAI,SAAW,IACvBkmN,IAAKpuJ,EAAE93D,EAAI,QAAU,IACrBmmN,MAAOruJ,EAAE93D,EAAI,UAAY,OAK9BwR,EAWX,SAAS+zd,EAAiBvle,EAAIwoB,EAAIvoB,GAC9B,IAAI+pC,EAAU/pC,EAAMule,SAEpB,IAAIx7b,EAAS,CACT,IAKIr4C,EALAmmB,EAAW9X,EAAGw3C,UACdwub,EAAwB,GAM5B,IAJAh8b,EAAUpuC,IAINjK,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK,CACjC,IAAIomB,EAASD,EAASnmB,GAEtB,GAAmB,SAAhBomB,EAAOpT,OACa,IAAnBoT,EAAOvU,SACPuU,EAAOG,QAAUsQ,EAAGqF,IACtB,CACEm4c,EAAsBvxe,KAAKsjB,GAE3B,IAAIkud,EAAQz9c,EAAGyX,aAAaloB,EAAQ,KACpCA,EAAO0td,OAASQ,EAEhB,IAAIT,EAAWx9d,EAAI8hC,aAAam8b,GAAOj8b,QACpCw7b,GAAYzme,SAASyme,KACpBx7b,EAAU5yC,KAAKoC,IAAIwwC,EAASw7b,KAQxC,IAFGx7b,IAAYpuC,MAAUouC,EAAU,GAE/Br4C,EAAI,EAAGA,EAAIq0e,EAAsBp1e,OAAQe,IACzCq0e,EAAsBr0e,GAAG6ze,SAAWx7b,EAI5C,OAAOA,EAAU/pC,EAAM4iD,UAG3BvyD,EAAOC,QAAU,CACb2T,KAAMA,EACNg1X,WAAYA,IAMV,KACA,SAAU5oY,EAAQC,EAASkB,GAEjC,aAWA,IAAIu6Q,EAAav6Q,EAAoB,QACjCitF,EAAYjtF,EAAoB,QAChCy0e,EAAqBz0e,EAAoB,QACzCqrG,EAAiBrrG,EAAoB,QAAQqrG,eAGjDxsG,EAAOC,QAAUusG,EAAe,aAAc,CAC1Ct5F,QAAS,CACLmR,QAAS,UAETC,MAAM,EACNI,SAAU,kBAIdtU,KAAM,CACFiU,QAAS,SAETK,SAAU,kBAGd2mE,UAAW,CACPhnE,QAAS,QACTC,KAAM,EAENI,SAAU,kBAGdvC,KAAMisE,EAAU,CACZ1pE,SAAU,iBACVuqE,cAAe,cAGnB5sE,MAAO,CACHgC,QAAS,SACTnb,IAAK,EACLob,KAAM,KAENI,SAAU,kBAGdyF,OAAQ,CACJ9F,QAAS,SACTnb,IAAK,EACLob,KAAM,KAENI,SAAU,kBAGd/Y,QAAS,CACL0Y,QAAS,SACTnb,IAAK,EACLC,IAAK,EACLmb,KAAM,EAENI,SAAU,aAGdkoF,MAAO,CACHvoF,QAAS,aACT2V,OAAQ,CAAC,OAAQ,SAAU,SAC3B1V,KAAM,SAENI,SAAU,aAGdmoF,OAAQ,CACJxoF,QAAS,aACT2V,OAAQ,CAAC,MAAO,SAAU,UAC1B1V,KAAM,SAENI,SAAU,aAGdooF,QAAS,CACLzoF,QAAS,QACTC,KAAM,gBAENI,SAAU,aAGdqoF,YAAa,CACT1oF,QAAS,QACTC,KAAM,gBAENI,SAAU,aAGdsoF,UAAW,CACP3oF,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,kBAGduoF,YAAa,CACT5oF,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,kBAIdwoF,UAAW,CACP7oF,QAAS,UACTC,MAAM,EAENI,SAAU,kBAGdyoF,WAAY,CACR9oF,QAAS,QAETK,SAAU,aAGd0oF,UAAW,CACP/oF,QAAS,UACTnb,IAAK,EACLC,IAAKuyQ,EAAWp7Q,OAChBgkB,KAAM,EAENI,SAAU,aAGd2oF,eAAgB,CACZhpF,QAAS,UACTnb,IAAK,EACLC,IAAKuyQ,EAAWp7Q,OAChBgkB,KAAM,EAENI,SAAU,aAGd4oF,UAAW,CACPjpF,QAAS,WACT8S,MAAO,CAAC,MAAO,SACf8zD,OAAQ,CAAC,QACT3mE,KAAM,MAENI,SAAU,aAGd6oF,UAAW,CACPlpF,QAAS,SACTnb,IAAK,GACLob,KAAM,EAENI,SAAU,kBAGd8oF,eAAgB,CACZnpF,QAAS,SACTnb,IAAK,GACLob,KAAM,EAENI,SAAU,kBAGd+oF,WAAY,CACRppF,QAAS,SACTnb,IAAK,GAELwb,SAAU,kBAGdggC,SAAU,CACNrgC,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,kBAGdgpF,cAAe,CACXrpF,QAAS,SACTnb,IAAK,EACLob,KAAM,EAENI,SAAU,kBAGduC,GAAI,CACA5C,QAAS,MAETK,SAAU,kBAGd+nF,GAAI,CACApoF,QAAS,MAETK,SAAU,kBAGdstI,MAAO,CACH3tI,QAAS,aACTC,KAAM,QACN0V,OAAQ,CACJ,QACA47c,EAAmBh7a,QAAQrrD,EAAEkO,YAGjCiH,SAAU,QAGdutI,MAAO,CACH5tI,QAAS,aACTC,KAAM,QACN0V,OAAQ,CACJ,QACA47c,EAAmBh7a,QAAQ1lD,EAAEuI,YAGjCiH,SAAU,QAId8kC,KAAM,CACFnlC,QAAS,aACT2V,OAAQ,CACJ,QACA47c,EAAmBh7a,QAAQrrD,EAAEkO,YAGjCiH,SAAU,QAGdnV,EAAG,CACC8U,QAAS,MAETK,SAAU,kBAGd++E,QAAS,CACLp/E,QAAS,aACT2V,OAAQ,CAAC,OAAQ,OAAQ,SAAU,SACnC1V,KAAM,OAENI,SAAU,kBAGdgoF,OAAQ,CACJroF,QAAS,SACTC,KAAM,EAENI,SAAU,kBAGd+kC,KAAM,CACFplC,QAAS,aACT2V,OAAQ,CACJ,QACA47c,EAAmBh7a,QAAQ1lD,EAAEuI,YAGjCiH,SAAU,QAGdxP,EAAG,CACCmP,QAAS,MAETK,SAAU,kBAGdg/E,QAAS,CACLr/E,QAAS,aACT2V,OAAQ,CAAC,OAAQ,MAAO,SAAU,UAClC1V,KAAM,OAENI,SAAU,kBAGdioF,OAAQ,CACJtoF,QAAS,SACTC,KAAM,EAENI,SAAU,kBAGd4uK,YAAa,CACTjvK,QAAS,aACT2V,OAAQ,EAAC,EAAO,QAAS,SACzB1V,MAAM,EAENI,SAAU,aAGdmxd,OAAQ,CACJxxd,QAAS,MAETK,SAAU,aAGdoxd,OAAQ,CACJzxd,QAAS,MAETK,SAAU,aAGdW,UAAW,CACPhB,QAAS,SAETK,SAAU,aAGdw2C,WAAY,CACR4xC,QAAS,CACLzoF,QAAS,QAETK,SAAU,aAGdqoF,YAAa,CACT1oF,QAAS,QAETK,SAAU,aAGdvC,KAAMisE,EAAU,CACZ1pE,SAAU,cAGdA,SAAU,aAEdipF,cAAe,CACXtpF,QAAS,UAETK,SAAU,aAGdA,SAAU,OAEV2B,YAAa,CACTuiP,IAAK,CACDvkP,QAAS,SAETK,SAAU,YAShB,KACA,SAAU1kB,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAC1BsW,EAAOtW,EAAoB,QAC3B4hH,EAA+B5hH,EAAoB,QAEnD40e,EAAiC50e,EAAoB,QACrD8K,EAAa9K,EAAoB,QAUrC,SAAS60e,EAAyB19X,EAAOC,EAAQzxF,GAC7C,SAAS+sB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOykE,EAAOC,EAAQtsG,EAAY2c,EAAMtE,GAGvD,IAAIpR,EAAU2gC,EAAO,WACjBoic,EAAcpic,EAAO,eAEzB,GAAK3gC,GAAW+ie,EAAhB,CAEAF,EAA+Bz9X,EAAOC,EAAQzxF,EAAY+sB,GAS1D,IAPA,IAAI8kE,EAAYJ,EAAOrL,UAGnB0zI,EAAY,CAAC,IAAK,KAClBs1P,EAAe,EAAE,IAAK,IACtBv1P,EAAS,CAACxqN,YAAarP,GAEnBzlB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAI+iB,EAAWw8N,EAAUv/O,GAGrB0yC,EAAQt8B,EAAK47B,UAAUilE,EAAOC,EAAQooI,EAAQv8N,EAAU,GAAI,SAEhE,GAAa,UAAV2vB,EAAmB,CAClB,IAAI9sB,EAAKxP,EAAKu3B,UAAU2xM,EAAQ5sM,GAChC9sB,EAAG41W,YAAY14X,KAAKo0G,EAAOw7F,QAM/B,GAFAt8L,EAAKq8B,eAAeykE,EAAQooI,EAAQ9sM,EAAQE,EAAO3vB,EAAU,IAE1Du0F,EAAW,CACV,IAAIw9X,EAAe,IAAM/xd,EAErBgyd,EAAS3+d,EAAK47B,UAAUilE,EAAOC,EAAQooI,EAAQw1P,EAAc,SAKnD,UAAXC,GAAsBA,IAAWric,IAChCqic,EAAS79X,EAAO49X,GAAgB,SAIpC,IAAIE,EAAoB,UAAXD,EAAsBF,EAAa70e,GAAK,GACrDoW,EAAKq8B,eAAeykE,EAAQooI,EAAQ9sM,EAAQuic,EAAQD,EAAcE,GAItExic,EAAOzvB,EAAW,UAGlByvB,EAAOzvB,EAAW,SAWtB,GAPA1M,EAAI0tP,UAAU9sJ,EAAOC,EAAQ,CAAC,IAAK,MAGhCI,GACCjhG,EAAI0tP,UAAU9sJ,EAAOC,EAAQ,CAAC,KAAM,OAGrC09X,EAAa,CACZ,IAAIK,EAASzic,EAAO,UAChB0ic,EAAS1ic,EAAO,UAIpB0kE,EAAOi7E,aAAsBjzL,IAAX+1e,EACd/9X,EAAOhpG,EACPkI,EAAK28B,cAAckic,EAAQ31P,EAAQpoI,EAAO/uD,MAC9C+uD,EAAOk7E,aAAsBlzL,IAAXg2e,EACdh+X,EAAOrjG,EACPuC,EAAK28B,cAAcmic,EAAQ51P,EAAQpoI,EAAO9uD,QAnFtDzpD,EAAOC,QAAU,SAA8Bg4D,EAAUC,GACrD6qD,EAA6B9qD,EAAUC,EAAW,CAC9Cz2D,KAAM,cACN6iH,mBAAoB0xX,MAuFtB,KACA,SAAUh2e,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzB+O,EAAY/O,EAAoB,QAEhCm5B,EAAWn5B,EAAoB,QAC/BwuK,EAAaxuK,EAAoB,QACjCyyF,EAAWzyF,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAC1B0iB,EAAQ1iB,EAAoB,QAC5BmxC,EAASnxC,EAAoB,QAAQmxC,OAErCg3M,EAAUnoP,EAAoB,QAE9Bu1a,EAAiBv1a,EAAoB,QACrCq1e,EAAar1e,EAAoB,QAEjCwqG,EAAoBxqG,EAAoB,QAAQwqG,kBAEhDi7H,EAAoBlvN,EAAIkvN,kBACxBp/J,EAAI9vD,EAAI8vD,EAERkrN,EAAQ1yR,EAAOC,QAAU,GAG7ByX,EAAIuM,WAAWyuQ,EAAOp4P,GAEtBo4P,EAAMzmR,WAAa9K,EAAoB,QACvCuxR,EAAMzmR,WAAWoI,KAAK2lB,OAAS04P,EAAM73F,SACrC63F,EAAMtkM,UAAYjtF,EAAoB,QACtCuxR,EAAMnqP,iBAAmBpnC,EAAoB,QAG7CuxR,EAAM1sK,WAAa,SAEnB,IAAI01E,EAAqBg3F,EAAMh3F,mBAE3B+6S,EAAgBt1e,EAAoB,QAmJxC,SAASu1e,EAAqBhne,EAAI4iB,GAC9BA,EAAUliB,KAAK,IACf,IAAI07D,EAAOx5C,EAAU3hB,OAAO,KACvBiY,KAAK,CACF,mBAAoB,IACpB,MAAS,6BACT,cAAe,SAElBxY,KAAKV,EAAG+Y,SAASuuM,SAAW,IAAM92N,OAAOwiB,aAAa,MAE3D,GAAGhT,EAAG+Y,SAASyuM,SACXprJ,EAAK36D,GAAG,SAAS,WACbuhR,EAAM3rL,gBAAgBr3F,UAEvB,CACH,IAAIw0C,EAAO3vB,OAAOroB,SAASyqe,SAASple,MAAM,KACtCi1B,EAAQjS,OAAOroB,SAAS0qe,OAC5B9qa,EAAKljD,KAAK,CACN,mBAAoB,MACpB,mBAAoB,IAAMs7B,EAAK,GAAG3yC,MAAM,KAAK,GAAK,IAAM2yC,EAAK,GAAK1d,KArK9EksP,EAAM54C,kBAAoB28P,EAAc38P,kBACxC44C,EAAM74C,0BAA4B48P,EAAc58P,0BAChD64C,EAAMz5C,sBAAwBw9P,EAAcx9P,sBAC5Cy5C,EAAMp5C,4BAA8Bm9P,EAAcn9P,4BAKlDo5C,EAAMmkN,WAAa,SAASnne,GACxBA,EAAKgI,EAAIg7G,YAAYhjH,GAErB,IAAIoX,EAAapX,EAAGymB,aAAe,GAC/BsqM,EAAW35M,EAAWg0C,MAAQh0C,EAAWg0C,KAAK,SAC9C4lK,GAAkBD,GAAY/wN,EAAGpD,MAAQoD,EAAGpD,KAAK,IAAMoD,EAAGpD,KAAK,GAAGtK,EAGtE,IAAG0+N,EAEH,OAAO,IAAIt3M,SAAQ,SAASC,GACxBgkD,YAAW,WACP/yC,EAASsa,mBAAmB,cAAe,OAA3Cta,CAAmD5qB,GACnD4qB,EAASsa,mBAAmB,SAAU,OAAtCta,CAA8C5qB,GAC9C4qB,EAASsa,mBAAmB,WAAY,OAAxCta,CAAgD5qB,GAChD2Z,EAAQqpQ,EAAMzsK,iBAAiBv2G,MAChC,SAKXgjR,EAAMt/D,OAAS,SAAS1jN,GAGpB,IAAIone,EAFJpne,EAAKgI,EAAIg7G,YAAYhjH,GAGrB,IAAI1M,EAAI,IAAIomB,SAAQ,SAASC,EAAS+7C,GAC9B11D,IAAMgI,EAAIkpC,SAASlxC,IACnB01D,EAAO,IAAIhgE,MAAM,wDAGlBsK,EAAGqne,cAAc7oa,aAAax+D,EAAGqne,cACjCrne,EAAGsne,iBAAgBF,EAAoBpne,EAAGsne,gBAC7Ctne,EAAGsne,eAAiB3td,EAEpB3Z,EAAGqne,aAAe1pa,YAAW,WAEzB,IAAI39D,EAAG84C,QAAW94C,EAAG84C,OAAOnmC,OAAS3S,EAAG84C,OAAOr+B,QAAWzS,EAAIkpC,SAASlxC,GACnE2Z,EAAQ3Z,OADZ,QAKOA,EAAG84C,OAAOnmC,aACV3S,EAAG84C,OAAOr+B,OAGjB,IAAI8sd,EAAavne,EAAG8oO,QAGpB9oO,EAAGwne,UAAW,EAEd58c,EAAS95B,KAAK,WAAYkP,EAAI,CAAC8za,UAAU,IAAOllZ,MAAK,WACjD5uB,EAAG8oO,QAAUy+P,EAEVvne,EAAGsne,iBAAmB3td,WACd3Z,EAAGsne,eACV3td,EAAQ3Z,UAGjB,QAIP,OADGone,GAAmBA,EAAkB9ze,GACjCA,GAMX0vR,EAAMzsK,iBAAmB,SAASv2G,GAC9B,IAAIA,EAAGyZ,WAAa,IAAI7oB,OACpB,OAAO8oB,QAAQ2qC,IAAIrkD,EAAGyZ,WACjBmV,MAAK,WAAa5uB,EAAGyZ,UAAY,OAU9CupQ,EAAM26L,SAAW,SAAS39c,GAEtB,GAAIA,EAAG+Y,SAASsuM,UAAarnN,EAAG+Y,SAAS0uM,YAAzC,CAEA,IAAIrwM,EAAapX,EAAGymB,YAEhBghd,EAAgBz/d,EAAIiuG,aAAa7+F,EAAWylC,OAAQ,OAAQ,0BAA0B,SAAStpD,GAC/FA,EAAE6N,MAAM,CACJ,cAAe,iCACf,YAAa,OACb,KAAQ+S,EAAMiB,YACd,iBAAkB,QAErB/T,MAAK,WACF,IAAIy6D,EAAQv7D,EAAGO,OAAO7M,MACtB6nE,EAAM76D,OAAO,SAASC,QAAQ,mBAAmB,GACjD46D,EAAM76D,OAAO,SAASC,QAAQ,kBAAkB,GAChD46D,EAAM76D,OAAO,SAASC,QAAQ,kBAAkB,SAKpDR,EAAO+me,EAAc9ud,OACrBlD,EAAQ,CAACjQ,EAAG4R,EAAWylC,OAAO3jC,KAAK,UAAY,GAOhDrH,SAASmf,KAAK3I,SAAS3nB,IAASA,EAAKiuJ,yBAA4Bv3I,EAAWzE,MAAQ,IAEnF8C,EAAM,eAAiB,QACvBA,EAAM5V,EAAI,IAGV4V,EAAM,eAAiB,MACvBA,EAAM5V,EAAIuX,EAAWylC,OAAO3jC,KAAK,SAAW,GAGhDuud,EAAcvud,KAAKzD,GAEnB,IAAIiyd,EAAWD,EAAc3me,OAAO,oBAChC6me,EAAYF,EAAc3me,OAAO,mBACjC8me,EAAaH,EAAc3me,OAAO,mBAEnCd,EAAG+Y,SAAS0uM,aAAaznN,EAAG+Y,SAAS0uM,YAAYznN,GAGjDA,EAAG+Y,SAASsuM,UAAU2/Q,EAAqBhne,EAAI0ne,GAGlDC,EAAUjne,KAAMgne,EAAShne,QAAUkne,EAAWlne,OAAU,MAAQ,MA6BpEsiR,EAAM3rL,gBAAkB,SAASr3F,GAC7BA,EAAGwuG,KAAK,uBAER,IAAIonR,GAAW/wW,OAAOgjd,WAAa,IAAIC,UAAY9ne,EAAG+Y,SAASstM,gBAE3D0hR,EAAgBxne,EAAGO,OAAOd,GACzBiB,OAAO,OACPiY,KAAK,KAAM,cACX9X,MAAM,UAAW,QAElB4me,EAAaD,EACZ9me,OAAO,QACPiY,KAAK,CACFuvE,OAAQmtS,EAAU,YAClB3wV,OAAQ,OACR3jB,OAAQ,WAGZ2md,EAAkBD,EACjB/me,OAAO,SACPiY,KAAK,CACFvU,KAAM,OACN5S,KAAM,SAQd,OALAk2e,EAAgBtvd,OAAOlmB,MAAQuwR,EAAMklN,UAAUloe,GAAI,EAAO,YAC1Dgoe,EAAWrvd,OAAOwvd,SAClBJ,EAAc7le,SAEdlC,EAAGwuG,KAAK,uBACD,GAGX,IAAI45X,EAAe,CACf,OAAQ,YAAa,SAAU,cAAe,UAC9C,WAAY,OAAQ,OACpB,UAAW,YAAa,WAAY,YAGpCC,EAAkB,CAClB,OAAQ,QAAS,WAAY,gBA8SjC,SAASC,EAAaj8a,EAAa28V,GAC/B,IAEIr3Z,EAAG42e,EAFH1pd,EAAMmqY,EAAQp4Z,OACd43e,EAAe,GAEnB,IAAI72e,EAAI,EAAGA,EAAI06D,EAAYz7D,OAAQe,IAAK,CACpC,IAAI82e,EAAgBp8a,EAAY16D,GAAG2gH,WAChCm2X,IAAkBF,GAAeC,EAAa/ze,KAAKg0e,GACtDF,EAAgBE,EAEpB,IAAIC,EAASF,EAAa53e,OACtB0gB,EAAM,IAAIhc,MAAMupB,GAChB8pd,EAAW,GAEf,SAASC,EAAOlid,EAAK/0B,GACjB2f,EAAI3f,GAAK+0B,EACTiid,EAASjid,GAAO,EAGpB,SAASmid,EAAOnid,EAAK/0B,GACjB,GAAG+0B,GAAsB,kBAARA,IAAqBiid,EAASjid,GAE3C,OADAkid,EAAOlid,EAAK/0B,IACL,EAIf,IAAIA,EAAI,EAAGA,EAAIktB,EAAKltB,IAAK,CACrB,IAAIm3e,EAAS9/E,EAAQr3Z,GAAG+0B,IACH,kBAAXoid,IAAqBA,EAASt4e,OAAOs4e,IAE5CD,EAAOC,EAAQn3e,KACfA,EAAI+2e,GAAUG,EAAOL,EAAa72e,GAAG+0B,IAAK/0B,IAC7Ci3e,EAAO5ge,EAAI8U,QAAQ6rd,GAAWh3e,IAGlC,OAAO2f,EAWX,SAASy3d,IACL,IAEIp3e,EAAGsE,EAFH23L,EAA0BhjK,EAASgjK,wBACnCt8K,EAAM,GAGV,IAAIs8K,EAAyB,CACzBA,EAA0B,GAE1B,IAAI9C,EAAmBlgK,EAASkgK,iBAEhC,IAAI,IAAIvmG,KAAeumG,EAAkB,CACrC,IAAIwC,EAAgBxC,EAAiBvmG,GACjCipG,EAAcF,EAAcp0K,KAEhC,GAAGs0K,IACCI,EAAwBn5L,KAAK8vF,GAI1BjvF,MAAM0J,QAAQwuL,IACb,IAAIv3L,EAAI,EAAGA,EAAIu3L,EAAY58L,OAAQqF,IAC/B+R,EAAIuiL,WAAWqD,EAAyBJ,EAAYv3L,KAOxE,IAAItE,EAAI,EAAGA,EAAIi8L,EAAwBh9L,OAAQe,IAC3C2f,EAAIs8K,EAAwBj8L,IAAM,GAEtC,OAAO2f,EAcX,SAAS03d,EAAahpe,EAAIipe,GACtB,IAAI5qX,EAASr+G,EAAG+Y,SAASslG,OAGrB6qX,GAAa,EACbC,EAAY,GAEhB,SAASC,EAAc38S,GAEnB,IADA,IAAI48S,GAAiB,EACb13e,EAAI,EAAGA,EAAIs3e,EAAWr4e,OAAQe,IAAK,CACvC,IAAI23e,EAAYL,EAAWt3e,GACvBw3e,EAAUG,KACP78S,EAAU68S,GACTH,EAAUG,GAAa78S,EAAU68S,GAC9BD,GAAiB,GAG7BA,IAAgBH,GAAa,GAIpC,IAAI,IAAIv3e,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAEvB,IADA,IAAIi7L,EAAU5sL,EAAG+Y,SAAS6zK,QAClB32L,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIsze,GAAW38S,EAAQvuE,IAAW,IAAIvnB,OACtC,GAAGyyY,IACCH,EAAcG,GACXL,GAAY,MAEnBt8S,EAAUhiK,EAASiiK,eAGvB,IAAIN,EAAaluE,EAAOx8G,MAAM,KAAK,GACnC,GAAGqne,GAAc38S,IAAeluE,EAAQ,MACxCA,EAASkuE,EAMb,OAFI28S,GAAYE,EAAcx+c,EAASiiK,eAAe28S,GAAG1yY,QAElDqyY,EAeX,SAASM,EAAaN,EAAW3qX,GAI7B,OAHA2qX,EAAU/tW,QAAU5c,EAAWp+F,OAAO,GACtC+od,EAAU9tW,UAAY7c,EAAWp+F,OAAO,GAEjC7f,EAAG89G,OAAO8qX,GAGrB,SAASO,EAAoBv9a,EAAaC,GACtC,IAAIi3B,EACAsmZ,EAAY,GAEbv9a,EAAcpoD,OACbq/E,EAAQj3B,EAAci3B,MAAQ,CAC1Br/E,KAAMooD,EAAcpoD,KACpB80C,OAAQ,CAAC90C,KAAMooD,EAAcpoD,QAIrC,IAAI,IAAIrS,EAAI,EAAGA,EAAIw6D,EAAYv7D,OAAQe,IAAK,CACxC,IAAIsO,EAAQksD,EAAYx6D,GAErBsO,EAAM+D,KACL2le,EAAU1pe,EAAM5L,OAAS4L,EAAMojF,MAAQ,CAACr/E,KAAM/D,EAAM+D,MAC9CooD,EAAcpoD,OACpB/D,EAAMojF,MAAQ,CAACr/E,KAAMooD,EAAcpoD,OAEpCooD,EAAcpoD,OACb/D,EAAMojF,MAAMvqC,OAAS,CAAC90C,KAAMooD,EAAcpoD,OAI/C2le,EAAU/4e,SACLyyF,IACAA,EAAQj3B,EAAci3B,MAAQ,IAElCA,EAAMzmF,KAAO+se,GA2NrB,SAASC,EAAgBryd,EAAIH,GACzB,IAAIioW,EAAS,CAAC54V,YAAarP,GAEvByyd,EAA2B,MAArBtyd,EAAGsW,IAAIzN,OAAO,GACpBo2Z,EAAWj/Z,EAAG6+B,UAAUiJ,YACxByqb,EAAgB,GAChBC,EAAwB,GACxBC,EAAW,GAUf,GAPGxzD,IACCwzD,EAAWxzD,EAASpgY,UAAUvoB,IAC9Bi8c,EAAgBD,EAAOtyd,EAAGsW,IAAMm8c,EAAaA,EAAWzyd,EAAGsW,MAK3Di8c,IAAkB1yd,EAAWk/B,OAAOwzb,GAAgB,CACpDA,EAAgB,GAGhB,IADA,IAAIG,EAAa1yd,EAAG61W,aACZn3X,EAAI,EAAGA,EAAIg0e,EAAWr5e,OAAQqF,IAAK,CACvC,IAAIi0e,EAAcD,EAAWh0e,GACzBoH,EAAKwse,EAAOtyd,EAAGsW,IAAMq8c,EAAgBA,EAAc3yd,EAAGsW,IACtDk8c,IAAuBA,EAAwB1se,GACnD,IAAIylD,EAAY82L,EAAQt6M,UAAU+/U,EAAQ6qH,GAC1C,GAAGF,GAAYlnb,EAAU06D,aAAewsX,EAAU,CAC9CF,EAAgBzse,EAChB,QAKZ,OAAOyse,GAAiBC,EA4W5B,SAASlhB,EAAsB5od,GAC3B,IAAIgX,EAAahX,EAAMgX,WACvB,GAAG3hB,MAAM0J,QAAQiY,IAAeA,EAAWrmB,OACvC,IAAI,IAAIe,EAAI,EAAGA,EAAIslB,EAAWrmB,OAAQe,IAAK,CACvC,IAAIiO,EAAKqX,EAAWtlB,GAChBwxF,EAAUvjF,EAAGujF,SAAW6oG,EAAmBpsL,EAAG+E,MAClD,GAAGw+E,GAAWA,EAAQgnZ,UAAW,OAAO,EAGhD,OAAO,EAuDX,SAASC,EAAgBt4Z,EAAWh6D,EAAUghC,EAAQ1hC,GAIlD,IAHA,IAAIwL,EAAYkvD,EAAU76D,WACtBioM,EAAU,CAACptI,GAEPngF,EAAI,EAAGA,EAAIixB,EAAUhyB,OAAQe,IAAK,CACtC,IAAIypB,EAAYwH,EAAUjxB,GACtBwxF,EAAU6oG,EAAmB5wK,EAAUzW,MAExCw+E,GAAWA,EAAQ/nE,YAClB8jM,EAAU/7H,EAAQ/nE,UAAU8jM,EAAS,CACjC9jM,UAAWA,EACX02D,UAAWA,EACXh6D,SAAUA,EACVghC,OAAQA,EACR1hC,WAAYA,EACZyxY,eAAgBl3Z,KAK5B,OAAOutN,EAmXX,SAASmrR,EAAYjzd,GACjB,IAAIsO,EAAStO,EAAWsO,OAExB,IAAItO,EAAWguC,MAAO,CAClB,IAAID,EAAK/tC,EAAWguC,MAAQ,CACxBxzD,EAAGwF,KAAKs5B,MAAMhL,EAAO9zB,GACrBU,EAAG8E,KAAKs5B,MAAMhL,EAAOpzB,GACrBI,EAAG0E,KAAKs5B,MAAMhL,EAAOhzB,GACrB1B,EAAGoG,KAAKs5B,MAAMhL,EAAO10B,GACrBsC,EAAG8D,KAAKs5B,MAAMhL,EAAOna,MAEzB45C,EAAGj2C,EAAI9X,KAAKs5B,MAAMtZ,EAAWzE,OAASwyC,EAAGvzD,EAAIuzD,EAAG7yD,EAChD6yD,EAAG1C,EAAIrrD,KAAKs5B,MAAMtZ,EAAWqD,QAAU0qC,EAAGzyD,EAAIyyD,EAAGn0D,EAEjDomB,EAAWkzd,cAAalzd,EAAWkzd,YAAc,IACjDlzd,EAAWmzd,iBAAgBnzd,EAAWmzd,eAAiB,IA7/C/DvnN,EAAM/+Q,eAAiB,SAASjE,EAAI4e,GAChC,IAAIkpc,EAAiBlpc,GAAQA,EAAKkpc,eAC9Bx7Z,EAAgBtsD,EAAGymB,aAAe,GAEtC,GAAG6lC,EAAcg8Z,qBACNh8Z,EAAcg8Z,kBADzB,CAKA,IAWI32d,EAXAy6D,EAAgBpsD,EAAGymB,YAAc,GACjC+jd,EAAYxqe,EAAG84C,QAAU,GAEzBuT,EAAcrsD,EAAGw3C,WAAa,GAC9B2U,EAAcnsD,EAAGw3C,UAAY,GAC7BwxW,EAAUhpZ,EAAGpD,MAAQ,GAErB6te,EAAczqe,EAAGisD,UAAY,GAE7BloC,EAAU/jB,EAAG+Y,UAAY,GAKzB/Y,EAAGurB,iBAAiBy3P,EAAMolM,qBAAqBpod,GAanDosD,EAAcrW,WAAa,CACvB5xC,KAAM2zD,EAAE93D,EAAI,6BACZH,EAAGi4D,EAAE93D,EAAI,+BACTwF,EAAGsyD,EAAE93D,EAAI,+BACT+xD,SAAU+F,EAAE93D,EAAI,mCAChBkpG,WAAYpxC,EAAE93D,EAAI,aAEtBosD,EAAcs+a,WAAa5ya,EAAE93D,EAAI,SAEjC,IAAImpe,EAAYH,EAAahpe,EAAIooe,GAOjC,GAJAh8a,EAAcu+a,mBAAqB5md,EAAQikM,kBAIxC17J,EAAcs+a,uBAAwB,CAErC,IAAIllB,EAAWp5Z,EAAc35C,MACzBgzc,EAAYr5Z,EAAc7xC,OAE9BuoQ,EAAMogK,2BAA2BonD,EAAWp+a,EAAe+8a,GAEvDqB,EAAU73d,QAAOy5C,EAAcz5C,MAAQ+yc,GACvC8kB,EAAU/vd,SAAQ2xC,EAAc3xC,OAASkrc,GAC7C3iM,EAAM6nN,gBAAgBz+a,OACnB,CAEH42N,EAAMogK,2BAA2BonD,EAAWp+a,EAAe+8a,GAE3D,IAAI2B,GAAyBN,EAAU73d,QAAU63d,EAAU/vd,OACvDq5Z,EAAW1nX,EAAc0nX,SACzBjtN,EAAc9iM,EAAQ8iM,YACtBkkR,EAAkBD,IAAyBh3D,GAAYjtN,GAExDkkR,EAAiB/nN,EAAM4iM,aAAa5ld,EAAIwqe,EAAWp+a,GAC9C0+a,GAAsB9nN,EAAM6nN,gBAAgBz+a,IAGhD0nX,GAAYg3D,IACZN,EAAU73d,MAAQy5C,EAAcz5C,MAChC63d,EAAU/vd,OAAS2xC,EAAc3xC,QAIzC2xC,EAAcm3B,UAAYkmZ,EAAaN,EAAW/8a,EAAcoyD,YAChEpyD,EAActe,aAAek7b,EAAahpe,EAAIqoe,GAE9Cj8a,EAAcw+a,wBAAyB,EAGvCx+a,EAAc+8N,YAAc6/H,EAAQp4Z,OAGpCw7D,EAAc+2G,SAAW,GACzB/2G,EAAc4+a,gBAAkB,GAChC5+a,EAAc82G,iBAAmB,GACjC,IAAIvqI,EAAWyzB,EAAcpoB,UAAY+kc,IAGrCkC,EAAY7+a,EAAcm7E,WAAa,CAAC1nI,EAAG,GAAI2F,EAAG,IAClD0le,EAAgB9+a,EAAc47E,eAAiB,GAEnD57E,EAAc67E,eAAiB,GAG/B77E,EAAckqK,kBAAoB,GAElClqK,EAAc49R,cAAgB,GAE9B59R,EAAcyoB,eAAiB,GAE/BzoB,EAAcytE,WAAa,GAI3BztE,EAAcynP,oBAAsB,GAGpCznP,EAAc++a,WAAa7C,EAAaj8a,EAAa28V,GAGrD58V,EAAcg/a,mBAAqBpre,EAAG+Y,UAAY,IAAIqvM,iBACtD46D,EAAMqoN,mBAAmBriF,EAAS78V,EAAaq+a,EAAWp+a,GAI1D,IAAIk/a,EAAUp5e,OAAO8mD,KAAKiyb,EAAUpre,GAChC0re,EAAUr5e,OAAO8mD,KAAKiyb,EAAUzle,GACpC,GAAG8le,EAAQ16e,OAAS,GAAK26e,EAAQ36e,OAAS,EAAG,CAGzC,IAFAg6B,EAASsa,mBAAmB,OAAQ,eAApCta,CAAoD4/c,EAAWp+a,GAE3Dz6D,EAAI,EAAGA,EAAI25e,EAAQ16e,OAAQe,IAC3BqW,EAAIuiL,WAAW5xJ,EAASzgB,MAAOozd,EAAQ35e,IAE3C,IAAIA,EAAI,EAAGA,EAAI45e,EAAQ36e,OAAQe,IAC3BqW,EAAIuiL,WAAW5xJ,EAASxgB,MAAOozd,EAAQ55e,IAE3C,IAAI,IAAIyE,KAAK80e,EACTlje,EAAIuiL,WAAW5xJ,EAAS+iB,UAAWtlD,GAO3C,GAFAg2D,EAAchB,KAAO43N,EAAMwoN,aAAax4e,KAAKo5D,GAE1CC,EAAYz7D,SAAWu7D,EAAYv7D,OAClC,IAAIe,EAAI,EAAGA,EAAIw6D,EAAYv7D,OAAQe,IAC/BulO,EAAkB/qK,EAAYx6D,GAAI06D,EAAY16D,IAKtDqxR,EAAMyoN,2BAA2BjB,EAAWp+a,EAAeD,EAAansD,EAAGurB,iBAK3E,IAAI43I,EAAW/2G,EAAc4+a,gBACzBU,EAA0B,GAC9B,IAAI/5e,EAAI,EAAGA,EAAIwxK,EAASvyK,OAAQe,IAAK,CACjC,IAAIg6e,EAAQxoU,EAASxxK,GAAGg3G,mBAErBgjY,GAAO3je,EAAIuiL,WAAWmhT,EAAyBC,GAEtD,IAAIh6e,EAAI,EAAGA,EAAI+5e,EAAwB96e,OAAQe,IAC3C+5e,EAAwB/5e,GAAGw6D,EAAaC,GAK5CA,EAAcjQ,oBACgC,IAA1CiQ,EAAc82G,iBAAiBtyK,QACY,UAA3Cw7D,EAAc82G,iBAAiB,GAAGnxK,MAClCu5e,EAAQ16e,OAAS,IACjB26e,EAAQ36e,OAAS,IACe,IAAhCw7D,EAAcohF,OAAO58I,QACW,IAAhCw7D,EAAcwyN,OAAOhuR,OAKzBw7D,EAAcw/a,cAAgBx/a,EAAchB,KAAK,aACjDgB,EAAcy/a,QAAUz/a,EAAchB,KAAK,OAC3CgB,EAAc0/a,SAAW1/a,EAAchB,KAAK,QAC5CgB,EAAc2/a,SAAW3/a,EAAchB,KAAK,QAC5CgB,EAAc4/a,YAAc5/a,EAAchB,KAAK,WAC/CgB,EAAc6/a,QAAU7/a,EAAchB,KAAK,OAG3C43N,EAAMkpN,aAAa//a,EAAaC,EAAeC,EAAaC,GAG5D02N,EAAMq6L,UAAUlxZ,EAAaC,EAAeC,EAAaC,GAOtDA,EAAcu/C,aAAe7rG,EAAG0hH,WAC/Bp1D,EAAcu/C,WAAW9qG,UAAU,mBAAmBmB,SAK1Dwne,EAAoBv9a,EAAaC,GAGjC8qK,EAAkB9qK,EAAeE,GAGjC1hC,EAASsa,mBAAmB,aAAc,qBAA1Cta,CAAgEuhC,EAAaC,GAIzEA,EAAco4J,UAASp4J,EAAco4J,QAAU,IAE/Cp4J,EAAcomD,eAAcpmD,EAAcomD,aAAe,IAC7D,IAEI9rF,EAFA6rF,EAAcnmD,EAAcomD,aAC5B25X,EAAO,GAEX,IAAIzld,KAAO6rF,EAAa45X,EAAKzld,GAAO,MACpC,IAAI/0B,EAAI,EAAGA,EAAIw6D,EAAYv7D,OAAQe,IAC/B+0B,EAAMylC,EAAYx6D,GAAG2gH,WAAW5rF,IAC5Byld,EAAKzld,KAAM6rF,EAAY7rF,GAAO,IAClCyld,EAAKzld,GAAO,MAEhB,IAAIA,KAAOyld,EACU,QAAdA,EAAKzld,WAAuB6rF,EAAY7rF,GAI/C2jd,EAAYj+a,GAGZxhC,EAASsa,mBAAmB,cAAe,WAA3Cta,CAAuDwhC,GAGnD07Z,GAAkB2iB,EAAY75e,SAAWu7D,EAAYv7D,QACrDoyR,EAAMmlM,yBAAyBsiB,EAAat+a,KAIpD62N,EAAMmlM,yBAA2B,SAASsiB,EAAat+a,GACnD,IAAI,IAAIx6D,EAAI,EAAGA,EAAIw6D,EAAYv7D,OAAQe,IAAK,CACxC,IAAI+2Z,EAAWv8V,EAAYx6D,GACvBsvC,GAAOwpc,EAAY94e,IAAM,IAAI,GACjC,GAAGsvC,GAAOA,EAAIhhC,MAAO,CACjB,IAAImse,EAAWnrc,EAAIhhC,MACnB,GAAGmse,EAASC,kBAAmB,CAC3B,IACIp2e,EAAGw+F,EAAM63Y,EADTrjF,EAAamjF,EAAS9L,YAG1B,IAAIrqe,EAAI,EAAGA,EAAIgzZ,EAAWr4Z,OAAQqF,IAC9Bw+F,EAAOw0T,EAAWhzZ,GAClBq2e,EAActke,EAAImyC,eAAeiyb,EAAU33Y,GAAMpiG,MAAMuD,QACvDoS,EAAImyC,eAAeuuW,EAAUj0T,GAAMn1F,IAAIgte,GAG/Crrc,EAAIhhC,MAAQyoZ,KAoMxB1lI,EAAMolM,qBAAuB,SAASpod,GAE9BA,EAAGurB,kBACHvrB,EAAGurB,gBAAkB,IAGrBvrB,EAAGurB,gBAAgBovM,UACnB36N,EAAGurB,gBAAgBovM,QAAU,IAG7B36N,EAAGurB,gBAAgBsgc,aACnB7rd,EAAGurB,gBAAgBsgc,WAAa,IAGhC7rd,EAAGurB,gBAAgBihc,WACnBxsd,EAAGurB,gBAAgBihc,SAAW,GAG9Bxsd,EAAGurB,gBAAgBC,sBACnBxrB,EAAGurB,gBAAgBC,oBAAsB,KAOjDw3P,EAAMwoN,aAAe,SAAS9ib,GAC1B,IAAI/2D,EAGAwqS,EAAkBloS,KAAKivK,kBAAoB,GAC/C,IAAIvxK,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IACnC,GAAGwqS,EAAgBxqS,GAAGI,OAAS22D,EAAU,OAAO,EAIpD,IAAIn3D,EAAU0C,KAAKkvK,UAAY,GAC/B,IAAIxxK,EAAI,EAAGA,EAAIJ,EAAQX,OAAQe,IAAK,CAChC,IAAII,EAAOR,EAAQI,GAAGI,KACtB,GAAGA,IAAS22D,EAAU,OAAO,EAE7B,IAAIy6B,EAAUv4D,EAASr5B,QAAQQ,GAC/B,GAAGoxF,GAAWA,EAAQp/E,WAAW2kD,GAAW,OAAO,EAGvD,OAAO,GAGXs6N,EAAMq6L,UAAY,SAASlxZ,EAAaC,EAAeC,EAAaC,GAChE,IAAI36D,EAAGsE,EAEHkmS,EAAkB7vO,EAAc42G,kBAAoB,GACxD,IAAIvxK,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IAAK,CACxC,IAAIwxF,EAAUg5M,EAAgBxqS,GAE3BwxF,EAAQj3B,OACPi3B,EAAQj3B,MAAMC,EAAaC,EAAeC,EAAaC,GAI/D,IAAI01V,EAAQ11V,EAAclB,MAAQkB,EAAclB,KAAK,MACjD62V,EAAQ71V,EAAchB,MAAQgB,EAAchB,KAAK,MAElD42V,IAAUC,QACyBpxZ,IAA/By7D,EAAc8zJ,eACb9zJ,EAAc8zJ,aAAar/M,UAAU,cAAcmB,SACnDoqD,EAAc8zJ,aAAar/M,UAAU,aAAamB,SAClDoqD,EAAcorG,UAAY,MAIlC,IAAI60U,IAAiBjgb,EAAcpP,WAEnCsvb,EACA,IAAI76e,EAAI,EAAGA,EAAI06D,EAAYz7D,OAAQe,IAAK,CACpC,IAAIy6e,EAAW//a,EAAY16D,GACvB86e,EAASL,EAAS1ld,IAEtB,IAAIzwB,EAAI,EAAGA,EAAIk2D,EAAYv7D,OAAQqF,IAAK,CACpC,IAAIyyZ,EAAWv8V,EAAYl2D,GAE3B,GAAGw2e,IAAW/jF,EAAShiY,IAAK,SAAS8ld,EAItCD,GACCjgb,EAAcpP,WAAWp8C,OAAO,MAAQ2re,GAAQvqe,WAK5D8gR,EAAMkpN,aAAe,SAAS//a,EAAaC,EAAeC,EAAaC,GACnE,IAAI36D,EAAGsE,EAEHy2e,EAAcpgb,EAAchW,QAAU,GACtCq2b,EAAcvgb,EAAc9V,OAAS,GACrCs2b,EAAiBxgb,EAAcpoB,UAE/Bq7U,EAAS,CACT7nU,UAAW2U,EACX1lC,YAAa2lC,GAGbs4B,EAAMkoZ,EAAelxb,UAAUtiD,OAAOwze,EAAejxb,MAAQ,IAEjE,IAAIhqD,EAAI,EAAGA,EAAI+yF,EAAI9zF,OAAQe,IAAK,CAC5B,IAII4Q,EAJAlF,EAAKqnF,EAAI/yF,GACT66D,EAAakgb,EAAYrve,GACzB6a,EAAQ0hO,EAAQt6M,UAAU+/U,EAAQhiX,EAAI,KACtC8a,EAAQyhO,EAAQt6M,UAAU+/U,EAAQhiX,EAAI,KA2B1C,IAvBGmvD,EACCjqD,EAAWoqe,EAAYtve,GAAMmvD,GAE7BjqD,EAAWoqe,EAAYtve,GAAM,GAC7BkF,EAASlF,GAAKA,GAIlB6a,EAAMk1W,aAAa34X,KAAK0jB,EAAM0V,KAC9B1V,EAAMi1W,aAAa34X,KAAKyjB,EAAM2V,KAC9B3V,EAAMqmC,cAAc9pD,KAAK4I,GACzB8a,EAAMomC,cAAc9pD,KAAK4I,GAGzBkF,EAAS2V,MAAQA,EACjB3V,EAAS4V,MAAQA,EAMjB5V,EAAS09P,qBAAsB,EAE3BhqQ,EAAI,EAAGA,EAAIk2D,EAAYv7D,OAAQqF,IAAK,CACpC,IAAIgK,EAAQksD,EAAYl2D,GAExB,GACIgK,EAAMiY,QAAU3V,EAAS2V,MAAM2V,KAC/B5tB,EAAMkY,QAAU5V,EAAS4V,MAAM0V,MACV,IAArB5tB,EAAM+7E,WACR,CACEz5E,EAAS09P,qBAAsB,EAC/B,QAOZ,IACI1oP,EADAkxB,EAASmxM,EAAQ7jP,KAAKspX,EAAQ,MAAM,GAExC,IAAI1tX,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CAC/B4lB,EAAKkxB,EAAO92C,GACZ,IAAIk7e,EAAS,KAEVt1d,EAAGimG,aACFqvX,EAASjzP,EAAQt6M,UAAU+/U,EAAQ9nW,EAAGimG,YAGnCqvX,GAAUA,EAAOrvX,aAChBjmG,EAAGimG,YAAa,EAChBqvX,EAAS,OAGjBt1d,EAAG6+B,UAAYy2b,GAAUt1d,EAUtBs1d,IAAQt1d,EAAG6pC,OAASyrb,EAAOzrb,OAAOxrD,SAErC2hB,EAAG8nC,YAA4B,SAAd9nC,EAAG4pC,OAChB,KACAy4L,EAAQt6M,UAAU+/U,EAAQ9nW,EAAG4pC,QAKrC,IAAIxvD,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAQ1B,GAPA4lB,EAAKkxB,EAAO92C,GACZ4lB,EAAG61W,aAAa/0X,KAAKuhP,EAAQn2L,QAC7BlsC,EAAGgnC,cAAclmD,KAAK2P,EAAI8ke,aAC1Bv1d,EAAGg/B,aAAeqzb,EAAgBryd,EAAI60C,GAInC70C,EAAG61W,aAAax8X,SACd2mB,EAAGi2W,YAAiD,IAApCj2W,EAAGi2W,UAAUn3X,QAAQ,WACrCkhB,EAAGipC,YAAcjpC,EAAGqmC,QAAwB,SAAdrmC,EAAG4pC,QAClCv2B,EAASsa,mBAAmB,cAAe,YAA3Cta,CAAwDrT,IACzD,CACC,IAAI/d,EAAM,EACNC,EAAM,EACV,IAAIxD,EAAI,EAAGA,EAAIshB,EAAG61W,aAAax8X,OAAQqF,IAAK,CACxC,IAAI4gD,EAAM+iM,EAAQt6M,UAAU+/U,EAAQ9nW,EAAG61W,aAAan3X,IACpDuD,EAAMpC,KAAKoC,IAAIA,EAAKq9C,EAAIuK,OAAO,IAC/B3nD,EAAMrC,KAAKqC,IAAIA,EAAKo9C,EAAIuK,OAAO,IAEhC5nD,EAAMC,IACL8d,EAAG8pC,kBAAoB7nD,EACvB+d,EAAG+pC,kBAAoB7nD,KAkDvCupR,EAAMumI,gCAAkC,SAAStpZ,GAC7C,IAAIoqH,EAAY71E,EAAM7iD,EAItB,SAASo7e,EAAiB7zd,EAAMgwN,EAAUzzN,EAAO8uH,GAC7C/vF,EAAK+vF,GAAS2kG,EACd10L,EAAK5jD,OAAS2zI,EAAQ,EACF,UAAjBrrH,EAAKvE,cAAqC9jB,IAAdqoB,EAAKtE,MAChCy1G,EAAW51H,KAAK+/C,EAAK5/C,KAAK,MAkBlC,IAdA4/C,EAAO,GAGP61E,EAAapqH,EAAMkjF,QAAQ6pZ,YAGvB3iX,IACApqH,EAAMkjF,QAAQ6pZ,YAAc3iX,EAAa,GACzC41C,EAAW69C,MACP79M,EAAMkjF,QAAQ5mF,WACdwwe,IAIJp7e,EAAI,EAAGA,EAAI04H,EAAWz5H,OAAQe,IAAK,CACnC,IAAIs7e,EAAWjle,EAAImyC,eAAel6C,EAAO,UAAYoqH,EAAW14H,IAE5Ds7e,EAAS56e,OACT2V,EAAImyC,eAAel6C,EAAOoqH,EAAW14H,IAAI2N,IAAI,QAMzD0jR,EAAMqoN,mBAAqB,SAAS/rR,EAAQJ,EAASpmK,EAAQ1hC,GACzD,IAMIzlB,EAAGmgF,EAAW7xE,EANd1O,EAAU6lB,EAAW+rJ,SACrB+pU,EAAiB91d,EAAW4zd,gBAC5B7uM,EAAkB/kR,EAAW8rJ,iBAC7BpyH,EAAM,EACNq8b,EAAW,EAMf,SAASC,EAAWt7Z,GAChBotI,EAAQzqN,KAAKq9E,GAEb,IAAIqR,EAAUrR,EAAUqR,QACpBA,IAEJn7E,EAAIuiL,WAAWh5L,EAAS4xF,IACC,IAAtBrR,EAAUtuE,SAAkBwE,EAAIuiL,WAAW2iT,EAAgB/pZ,GAC9Dn7E,EAAIuiL,WAAW4xG,EAAiBrqN,EAAUqR,QAAQr/E,gBAClDgtC,KASgC,IAA7BghC,EAAU1xC,OAAO58B,SAAmB2pe,KApB3C/1d,EAAWi2d,kBAAoB,GAuB/B,IAAIC,EAAc,GACdC,EAAmB,GACnBxpU,GAAgBjrH,EAAOsqH,UAAY,IAAIxmK,MAAQ,GAC/C8jK,EAAYx8E,EAASmkW,eAAetkR,GAExC,IAAIpyK,EAAI,EAAGA,EAAI2tN,EAAO1uN,OAAQe,IAAK,CAa/B,GAZAsO,EAAQq/M,EAAO3tN,GAIfmgF,EAAY4uF,EAAUgoP,SAASzoZ,GAC/B6xE,EAAUprD,IAAMtP,EAAW+zd,WAAWx5e,GACtCqxR,EAAMwqN,oBAAoBvte,EAAO6xE,EAAWq7Z,EAAU/1d,EAAYzlB,GAElEmgF,EAAUz9E,MAAQ1C,EAClBmgF,EAAU1xC,OAASngC,EACnB6xE,EAAUkV,eAAiBl2C,EAExBghC,EAAU76D,YAAc66D,EAAU76D,WAAWrmB,OAK5C,IAJA,IAAI68e,GAAgC,IAAlBxte,EAAMuD,UAA2C,IAAtBsuE,EAAUtuE,QAEnDkqe,EAAiBtD,EAAgBt4Z,EAAWotI,EAASpmK,EAAQ1hC,GAEzDnhB,EAAI,EAAGA,EAAIy3e,EAAe98e,OAAQqF,IAAK,CAC3C,IAAI03e,EAAgBD,EAAez3e,GAG/B23e,EAAoB,CACpBhtU,UAAW9uF,EAAU8uF,UACrBj8J,KAAMmtE,EAAUntE,KAGhB+hB,IAAKorD,EAAUprD,IAAMzwB,GAStBw3e,IAAyC,IAA1BE,EAAcnqe,gBACrBmqe,EAAcnqe,QAGzBw/Q,EAAMwqN,oBAAoBG,EAAeC,EAAmB98b,EAAK15B,EAAYzlB,GAI7EulO,EAAkB02Q,EAAmBD,GAGrCC,EAAkBv5e,MAAQ1C,EAC1Bi8e,EAAkBxtc,OAASngC,EAC3B2te,EAAkBt7X,WAAaxgC,EAG/B87Z,EAAkB5mZ,eAAiBl2C,EACnC88b,EAAkBC,eAAiBF,EAEnCP,EAAWQ,QAIf97Z,EAAUwgC,WAAaxgC,EACvBA,EAAU+7Z,eAAiB/7Z,EAE3Bs7Z,EAAWt7Z,GAGZlnD,EAAS4U,QAAQsyC,EAAW,gBAC3Bw7Z,EAAYx7Z,EAAUlR,QAAUkR,GAGjClnD,EAAS4U,QAAQsyC,EAAW,oBAC3By7Z,EAAiB94e,KAAK9C,GAI9B,IAAIA,EAAI,EAAGA,EAAI47e,EAAiB38e,OAAQe,IAGpC,GAFAmgF,EAAYotI,EAAQquR,EAAiB57e,IAEjCmgF,EAAUtuE,QAAd,CAEA,IAAIsqe,EAAaR,EAAYx7Z,EAAUlR,QACvCkR,EAAU+/V,QAAUi8D,EAEhBA,GAAeA,EAAWtqe,SAK9BsuE,EAAU55D,MAAQ41d,EAAW51d,MAC7B45D,EAAU35D,MAAQ21d,EAAW31d,OALzB25D,EAAUtuE,SAAU,IAShCw/Q,EAAMinM,wBAA0B,SAASrrc,GAErC,IAAIjtB,EADJitB,EAAOA,GAAQ,GAEf,IAAImvd,EAAU,GAEd,SAAS5pc,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOvlB,GAAQ,GAAImvd,EAAS/mE,EAAgB9tZ,EAAMtE,GAOjE,GAJAuvB,EAAO,QACPA,EAAO,aACPA,EAAO,eAEJ7uC,MAAM0J,QAAQ4f,EAAKmyC,OAElB,IADAg9a,EAAQh9a,MAAQ,GACZp/D,EAAI,EAAGA,EAAIitB,EAAKmyC,MAAMngE,OAAQe,IAC9Bo8e,EAAQh9a,MAAMp/D,GAAKqxR,EAAMgrN,6BAA6Bpvd,EAAKmyC,MAAMp/D,IAAM,SAG3Eo8e,EAAQh9a,MAAQiyN,EAAMgrN,6BAA6Bpvd,EAAKmyC,OAAS,IAGrE,GAAGz7D,MAAM0J,QAAQ4f,EAAKld,YAElB,IADAqse,EAAQrse,WAAa,GACjB/P,EAAI,EAAGA,EAAIitB,EAAKld,WAAW9Q,OAAQe,IACnCo8e,EAAQrse,WAAW/P,GAAKqxR,EAAMirN,kCAAkCrvd,EAAKld,WAAW/P,IAAM,SAG1Fo8e,EAAQrse,WAAashR,EAAMirN,kCAAkCrvd,EAAKld,YAAc,IAGpF,OAAOqse,GAGX/qN,EAAMgrN,6BAA+B,SAASpvd,GAC1C,IAAImvd,EAAU,GAEd,SAAS5pc,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOvlB,GAAQ,GAAImvd,EAAS/mE,EAAej2W,MAAO73C,EAAMtE,GAMvE,OAHAuvB,EAAO,YACPA,EAAO,UAEA4pc,GAGX/qN,EAAMirN,kCAAoC,SAASrvd,GAC/C,IAAImvd,EAAU,GAEd,SAAS5pc,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOvlB,GAAQ,GAAImvd,EAAS/mE,EAAetla,WAAYwX,EAAMtE,GAM5E,OAHAuvB,EAAO,YACPA,EAAO,UAEA4pc,GAGX/qN,EAAMqpM,oBAAsB,SAAS6hB,GACjC,IAAIC,EAAW,GAEf,SAAShqc,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAO+pc,EAASC,EAAUrH,EAAY5td,EAAMtE,GAU3D,OAPAuvB,EAAO,SACPA,EAAO,QACPA,EAAO,UACPA,EAAO,aACPA,EAAO,QACPA,EAAO,UAEAgqc,GAGXnrN,EAAMwqN,oBAAsB,SAAShjb,EAASC,EAAU85I,EAAYzrJ,EAAQs1b,GACxE,IAGIz8e,EAHAmzK,EAAWhsH,EAAOgsH,UAAY3wJ,EAAMiwE,SACpC/1B,EAAey2G,EAASy/B,EAAaz/B,EAASl0K,QAIlD,SAASuzC,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUu4N,EAAMzmR,WAAY2c,EAAMtE,GAGjE,IAAIpR,EAAU2gC,EAAO,WAErBA,EAAO,QACPA,EAAO,OAAQ2U,EAAO4xb,WAAa,IAAM0D,GAEzCjqc,EAAO,aAAc2U,EAAOgsC,YAI5B,IAAI3B,EAAU6/L,EAAMl1F,UAAUrjI,GAG9B,GADAA,EAAS04B,QAAUA,EAChBA,EAAS,CACR,IAAIr/E,EAAiBq/E,EAAQr/E,eACzB0pL,EAAc1pL,EAAeoV,KAC7Bq0K,EAAezpL,EAAevH,WAClC,GAAGixL,GAAeD,EAAc,CAC5B,IAAI50J,EAAWmgB,EAAO9U,UAClB0nB,EAAY,GAKhB,GAA2B,SAAxB5nD,EAAe/R,MAAmByR,EAAS,CAC1C,GAAGlO,MAAM0J,QAAQwuL,GACb,IAAI77L,EAAI,EAAGA,EAAI67L,EAAY58L,OAAQe,IAAK,CACpC,IAAI08e,EAAQ7gT,EAAY77L,GACpBm2C,EAAO9/B,EAAIm8B,OAAOqmB,EAASC,EAAU8iI,EAAc8gT,GAEpD11c,EAAS01c,IAAQrme,EAAIuiL,WAAW5xJ,EAAS01c,GAAQvmc,GACpD4jB,GAAa5jB,OAGjB4jB,EAAY1jD,EAAIm8B,OAAOqmB,EAASC,EAAU8iI,EAAcC,GAGzD70J,EAAS70B,EAAe/R,OACvBiW,EAAIuiL,WAAW5xJ,EAAS70B,EAAe/R,MAAO25D,KAsD9D,OAhDGloD,IACC2gC,EAAO,cACPA,EAAO,OACPA,EAAO,QAEJvZ,EAAS4U,QAAQirB,EAAU,eAC1BziD,EAAIm8B,OAAOqmB,EAASC,EAChB04B,EAAQ5mF,WAAWya,WAAamsE,EAAQ5mF,WAAaymR,EAAMzmR,WAC3D,cAGJ4nC,EAAO,eAEPsmB,EAASgmK,iBAAkB,GAE3BhmK,EAASgmK,iBAAkB,EAG5BttI,GACCA,EAAQl/E,eAAeumD,EAASC,EAAU4D,EAAcvV,GAGxDluB,EAAS4U,QAAQirB,EAAU,cAC3BtmB,EAAO,WAGRvZ,EAAS4U,QAAQirB,EAAU,yBAG1BA,EAASjnD,UAAYinD,EAASjnD,SAG9BonB,EAAS4U,QAAQirB,EAAU,aACvBA,EAAS70C,eAAe5N,EAAIghR,gBAAgBx+N,EAASC,EAAU3R,GAG9C,YAAlB2R,EAAS9lD,MACRimB,EAASsa,mBAAmB,KAAM,iBAAlCta,CAAoD4/B,EAASC,EAAU4D,EAAcvV,IAI1FqqC,GAAWA,EAAQ9+E,cAClB8/B,EAAO,kBAGX6+O,EAAMsrN,wBAAwB9jb,EAASC,EAAU3R,IAG9C2R,GAqBXu4N,EAAM6lM,sBAAwBA,EAE9B7lM,EAAMsrN,wBAA0B,SAAS9jb,EAASC,EAAU3R,GAKxD,GAAK2R,EAAS3hD,SAAW+/c,EAAsBr+Z,GAA/C,CAEA,IAAI49J,EAAmBtvK,EAAOsyb,mBAAqB,GAC/CmD,EAAmBz1b,EAAOu0b,mBAAqB,GAEnD,GAAI/3e,MAAM0J,QAAQwrD,EAAQvzC,aAA2C,IAA5BmxM,EAAiBx3N,OAM1D,IAJA,IAAIgzC,EAAc4mB,EAAQvzC,YAAc,GACpCu3d,EAAgBpmR,EAAiBhvN,OAAOwqC,GACxCC,EAAe4mB,EAASxzC,WAAa,GAEjCtlB,EAAI,EAAGA,EAAI68e,EAAc59e,OAAQe,IAAK,CAC1C,IAGI+3Z,EAHAD,EAAc+kF,EAAc78e,GAC5BgT,EAAO8kZ,EAAY9kZ,KACnBw+E,EAAU6oG,EAAmBrnL,GAY7B8pe,IAAiBhlF,EAAYtmU,SAAWsmU,EAAYtmU,UAAYA,GAChEurZ,EAAgBvrZ,GAAwC,oBAAtBA,EAAQ/nE,UAE1C+nE,GAASn7E,EAAIq4B,KAAK,+BAAiC17B,EAAO,KAE3Dw+E,GAAWA,EAAQl/E,iBAAmBwqe,GAAgBC,IACrDhlF,EAAevmU,EAAQl/E,eAAewlZ,EAAah/V,EAAU3R,EAAQ0R,GACrEk/V,EAAa/kZ,KAAOA,EACpB+kZ,EAAavmU,QAAUA,EAEvBn7E,EAAIuiL,WAAWgkT,EAAkBprZ,IAEjCumU,EAAe1hZ,EAAIuM,WAAW,GAAIk1Y,GAGtC5lX,EAAapvC,KAAKi1Z,MA2B1B1mI,EAAMogK,2BAA6B,SAAS76X,EAAUC,EAAW2gb,GAC7D,SAAShlc,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOokB,EAAUC,EAAWw6N,EAAMnqP,iBAAkB3f,EAAMtE,GAGzE,IAAIwuJ,EAAW76G,EAAS66G,SACrBp7J,EAAIuqD,cAAc6wG,KACjB56G,EAAU46G,SAAWA,EACrB56G,EAAUo4G,UAAYwC,EAAStqH,OAC/B0P,EAAUmmb,cAAgBvrU,EAASxmK,MAGvC,IAAI2mR,EAAav7Q,EAAI2/E,WAAWxjD,EAAQ,QAExCA,EAAO,aAAcqkB,EAAUzS,WAAW5xC,MAE1C6D,EAAI2/E,WAAWxjD,EAAQ,aAAc,CACjChyB,OAAQoxQ,EAAWpxQ,OACnB+C,KAAM9d,KAAKs5B,MAAwB,IAAlB6yP,EAAWruQ,MAC5BxY,MAAO6mR,EAAW7mR,QAGtBynC,EAAO,cACPA,EAAO,cACPA,EAAO,WACPA,EAAO,WACPA,EAAO,iBACPA,EAAO,iBACPA,EAAO,eACPA,EAAO,eACPA,EAAO,eACPA,EAAO,eAEP,IAAIyqc,EAAkBzqc,EAAO,oBAC1Byqc,GACCzqc,EAAO,uBAYXA,EAAO,aAAcokB,EAAS51C,OAAS41C,EAAS9tC,SAEhD0pB,EAAO,SACPA,EAAO,UACPA,EAAO,YACPA,EAAO,YACPA,EAAO,YACPA,EAAO,YACPA,EAAO,cACPA,EAAO,qBAEJokB,EAAS51C,OAAS41C,EAAS9tC,QAAQuoQ,EAAM6nN,gBAAgBrib,GAE5D59B,EAASsa,mBAAmB,OAAQ,eAApCta,CAAoD29B,EAAUC,GAE9DrkB,EAAO,iBAEPA,EAAO,aAAcglc,EAAU/tW,QAAU+tW,EAAU9tW,WACnDl3F,EAAO,eAEPA,EAAO,YAEPA,EAAO,gBACP,IAAI2gD,EAAa3gD,EAAO,cACxBA,EAAO,eAAgB2gD,GACvB3gD,EAAO,oBAAqB2gD,GAE5B3gD,EAAO,uBACPA,EAAO,kBAAmBhwB,EAAMm+G,WAAW9pE,EAAUg+B,cAAe,KACpE,IAAIqoZ,EAAsB16d,EAAMo1F,SAASp1F,EAAM5a,IAAIivD,EAAUo8D,QAAQxnB,UACrEj5D,EAAO,gBAAiBhwB,EAAMm+G,WAAWu8W,EAAqB,KAC9D1qc,EAAO,sBAAuBhwB,EAAMm+G,WAAWu8W,EAAqB,KACpE1qc,EAAO,qBAAsB2gD,GAE7B3gD,EAAO,QAGJn8B,EAAIuqD,cAAchK,EAAS7mD,cAC1ByiC,EAAO,uBACPA,EAAO,qBACPA,EAAO,wBAGXvZ,EAASsa,mBACL,YACA,iBAFJta,CAGE29B,EAAUC,EAAW,YAEvB59B,EAASsa,mBACL,KACA,6BAFJta,CAGE29B,EAAUC,EAAWrkB,IAG3B6+O,EAAM4iM,aAAe,SAAsB5ld,EAAI84C,EAAQ1hC,GACnD,IAEIkzJ,EACAC,EAHAxmJ,EAAU/jB,EAAG+Y,UAAY,GACzBiuM,EAAejjM,EAAQijM,aAIvB7jG,EAAYn7G,EAAIm7G,UAAUnjH,GAM9B,GAJGmjH,GAAWnjH,EAAGwuG,KAAK,mBAInBzqF,EAAQgjM,UACPz8C,EAAWzlJ,OAAOkQ,WAClBw1I,EAAY1lJ,OAAOmQ,YAInBnjB,SAASmf,KAAK5vB,MAAMuZ,SAAW,aAC5B,CAKH,IAAI+hJ,EAAgBv5C,EAAYt+F,OAAO83I,iBAAiB38J,GAAM,GAK9D,GAHAsqK,EAAWjlJ,WAAWq3I,EAAc/pJ,QAAU0S,WAAWq3I,EAAcP,WAAa/kJ,EAAWzE,MAC/F43J,EAAYllJ,WAAWq3I,EAAcjiJ,SAAW4K,WAAWq3I,EAAcoyU,YAAc13d,EAAWqD,OAE/Fja,EAAUwmN,IAAiBA,EAAe,EAAG,CAC5C,IAAIhhK,EAAS,EAAI,EAAIghK,EACrB18C,EAAWlzK,KAAKs5B,MAAMs1B,EAASskH,GAC/BC,EAAYnzK,KAAKs5B,MAAMs1B,EAASukH,IAIxC,IAAIqxC,EAAWonE,EAAMnqP,iBAAiBlmB,MAAMnZ,IACxCqiN,EAAYmnE,EAAMnqP,iBAAiBpe,OAAOjhB,IAC3C8wK,EAAWsxC,IAAUtxC,EAAWsxC,GAChCrxC,EAAYsxC,IAAWtxC,EAAYsxC,GAEtC,IAAIkzR,GAAmBj2b,EAAOnmC,OACzBvb,KAAK+R,IAAIiO,EAAWzE,MAAQ23J,GAAY,EACzC0kU,GAAoBl2b,EAAOr+B,QAC1BrjB,KAAK+R,IAAIiO,EAAWqD,OAAS8vJ,GAAa,GAE5CykU,GAAoBD,KAChBA,IAAiB33d,EAAWzE,MAAQ23J,GACpC0kU,IAAkB53d,EAAWqD,OAAS8vJ,IAKzCvqK,EAAGmld,mBACHnld,EAAGmld,iBAAmB,CAAExyc,MAAO23J,EAAU7vJ,OAAQ8vJ,IAGrDy4G,EAAM6nN,gBAAgBzzd,IAG1B4rQ,EAAMyoN,2BAA6B,SAASljb,EAAUC,EAAW1wC,EAAUm3d,GACvE,IAEI3qQ,EAAW3yO,EAAGwxF,EAFdioG,EAAqBxgK,EAASwgK,mBAC9B+wG,EAAkB3zO,EAAU06G,iBAG5Bp4G,EAAYlgC,EAASkgK,iBAAiBpvI,UAI1C,IAAI4oL,KAAal5C,EACbjoG,EAAUioG,EAAmBk5C,GAE1BnhJ,EAAQi7F,iBACPj7F,EAAQi7F,gBAAgB71H,EAAUC,GAgB1C,IAAI,IAAI+7B,KAXJ43M,EAAgBvrS,QAChBurS,EAAgB1nS,KAAKq2D,GAItBtC,EAAU4C,KAAK,eACdxgC,EAASsa,mBAAmB,OAAQ,kBAApCta,CAAuD29B,EAAUC,GACjEsC,EAAUw2V,iBAAiB/4V,EAAUC,IAIlBA,EAAUxkB,UAC7BwkB,EAAUxkB,UAAUugD,GAAalsF,KAAK2P,EAAI8ke,aAI9C,IAAIn7e,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IACnCwxF,EAAUg5M,EAAgBxqS,GAGvBwxF,EAAQv6B,sBACPu6B,EAAQv6B,qBAAqBL,EAAUC,EAAW1wC,GAQ1D,IAAIvmB,EAAUi3D,EAAU26G,SACxB,IAAIxxK,EAAI,EAAGA,EAAIJ,EAAQX,OAAQe,IAC3BwxF,EAAU5xF,EAAQI,GAEfwxF,EAAQv6B,sBACPu6B,EAAQv6B,qBAAqBL,EAAUC,EAAW1wC,GAK1D,IAAIy2d,EAAmB/lb,EAAU6kb,kBACjC,IAAI17e,EAAI,EAAGA,EAAI48e,EAAiB39e,OAAQe,IACpCwxF,EAAUorZ,EAAiB58e,GAExBwxF,EAAQv6B,sBACPu6B,EAAQv6B,qBAAqBL,EAAUC,EAAW1wC,EAAUm3d,GAIpE,IAAI3qQ,KAAal5C,EACbjoG,EAAUioG,EAAmBk5C,GAE1BnhJ,EAAQv6B,sBACPu6B,EAAQv6B,qBAAqBL,EAAUC,EAAW1wC,IAO9DkrQ,EAAMxgD,MAAQ,SAASxiO,GAInB,IAAIoX,EAAapX,EAAGymB,aAAe,QACJ51B,IAA5BumB,EAAWgpM,eACVhpM,EAAWgpM,aAAar/M,UAAU,cAAcmB,SAChDkV,EAAWgpM,aAAal+M,SACxBkV,EAAWsgJ,UAAY,MAIxBtgJ,EAAWq2a,UAAUr2a,EAAWq2a,SAASvma,UAEzClnB,EAAGurB,kBAGCvrB,EAAGurB,gBAAgBC,sBAClBxrB,EAAGurB,gBAAgBC,oBAAoB56B,OAAS,GAGjDoP,EAAGurB,gBAAgBw/b,eAClBlmc,OAAO4G,qBAAqBzrB,EAAGurB,gBAAgBw/b,gBAKvD/id,EAAIkne,gBAGJlne,EAAIk1c,gBAAgBl9c,UAGbA,EAAGpD,YACHoD,EAAG84C,cACH94C,EAAGw3C,iBACHx3C,EAAGymB,mBACHzmB,EAAGisD,gBACHjsD,EAAGw0I,iBACHx0I,EAAGuZ,aAEHvZ,EAAGmve,WAEHnve,EAAGove,iBACHpve,EAAGqve,eACHrve,EAAGwne,gBACHxne,EAAG8oO,eAIH9oO,EAAGyZ,iBACHzZ,EAAGqne,oBACHrne,EAAG6uZ,mBACH7uZ,EAAG4uZ,mBACH5uZ,EAAGurB,uBACHvrB,EAAGwlI,sBACHxlI,EAAGmld,wBACHnld,EAAG8uZ,kCAIH9uZ,EAAG0hH,iBACH1hH,EAAGq8N,gBACHr8N,EAAG49O,iBACH59O,EAAGwvG,kBACHxvG,EAAG29b,2BACH39b,EAAG6lB,gBACH7lB,EAAGk9O,sBACHl9O,EAAGg7N,qBAGPh7N,EAAGy9W,oBAAoBz9W,EAAGy9W,sBAGjCz6F,EAAM5hR,MAAQ,SAASpB,GACnB,IAEIrO,EAFAwxK,EAAWnjK,EAAGymB,YAAYukd,gBAC1BsE,EAAe,GAMnB,IAAI39e,EAAI,EAAGA,EAAIwxK,EAASvyK,OAAQe,IAAK,CACjC,IAAIwxF,EAAUggF,EAASxxK,GACpBwxF,EAAQ/hF,OACP4G,EAAIuiL,WAAW+kT,EAAcnsZ,EAAQ/hF,OAI7C,IAAIzP,EAAI,EAAGA,EAAI29e,EAAa1+e,OAAQe,IAChC29e,EAAa39e,GAAGqO,IAIxBgjR,EAAM6nN,gBAAkB,SAASzzd,GAE7B,GAAIA,GAAeA,EAAWsO,OAA9B,CAEA,IAKI6pd,EALA58d,EAAQyE,EAAWzE,MACnB8H,EAASrD,EAAWqD,OACpBiL,EAAStO,EAAWsO,OACpB8pd,EAAY78d,GAAS+S,EAAO9zB,EAAI8zB,EAAOpzB,GACvCm9e,EAAah1d,GAAUiL,EAAOhzB,EAAIgzB,EAAO10B,GAO1Cw+e,EAAY,IACXD,GAAc58d,EAAQ,IAAM+S,EAAO9zB,EAAI8zB,EAAOpzB,GAC9CozB,EAAO9zB,EAAIwF,KAAK2N,MAAMwqe,EAAa7pd,EAAO9zB,GAC1C8zB,EAAOpzB,EAAI8E,KAAK2N,MAAMwqe,EAAa7pd,EAAOpzB,IAG3Cm9e,EAAa,IACZF,GAAc90d,EAAS,IAAMiL,EAAOhzB,EAAIgzB,EAAO10B,GAC/C00B,EAAOhzB,EAAI0E,KAAK2N,MAAMwqe,EAAa7pd,EAAOhzB,GAC1CgzB,EAAO10B,EAAIoG,KAAK2N,MAAMwqe,EAAa7pd,EAAO10B,MAIlDgyR,EAAMu6L,mBAAqB,SAASv9c,GAChCA,EAAGymB,YAAY8jd,eAAiB,IAGpCvnN,EAAM19N,gBAAkB,SAAStlD,EAAI3C,GACjC2C,EAAGymB,YAAY8jd,eAAelte,GAAM,GAoCxC2lR,EAAMzhO,WAAa,SAASvhD,EAAI3C,EAAIpL,GAChC,IAAImlB,EAAapX,EAAGymB,YAEhBipd,EAAat4d,EAAWkzd,YACxBqF,EAAgBv4d,EAAWmzd,eAE/B,IAAoC,IAAjCnzd,EAAWsO,OAAOy6M,WAAsB,CACvC,GAAIluO,EAGG,CACH,IAAIsZ,EAAMtZ,EAAEsZ,IACZ,QAAW1a,IAAR0a,EAAmB,CAClB,IAAIma,EAAStO,EAAWsO,OAGxBna,EAAMnU,KAAKoC,IAAI,GAAIksB,EAAO9zB,EAAG8zB,EAAOpzB,EAAGozB,EAAOhzB,EAAGgzB,EAAO10B,GAKzDiB,EAAEL,EAAIK,EAAEK,EAAuB,GAAnB8kB,EAAWzE,QACtB3K,EAAIkV,IAAI,cAAe7f,EAAI,6BAC3BpL,EAAEL,EAAIK,EAAEK,EAAI,GAEbL,EAAEjB,EAAIiB,EAAES,EAAwB,GAApB0kB,EAAWqD,SACtBzS,EAAIkV,IAAI,cAAe7f,EAAI,6BAC3BpL,EAAEjB,EAAIiB,EAAES,EAAI,GAGhB,IAAIouD,OAAcjwD,IAAToB,EAAE6uD,GAAmB7uD,EAAE6uD,GAAK7uD,EAAE4N,EACnC+gD,OAAc/vD,IAAToB,EAAE2uD,GAAmB3uD,EAAE2uD,GAAK3uD,EAAE4N,EACnCqhD,OAAcrwD,IAAToB,EAAEivD,GAAmBjvD,EAAEivD,GAAKjvD,EAAEuT,EACnCw7C,OAAcnwD,IAAToB,EAAE+uD,GAAmB/uD,EAAE+uD,GAAK/uD,EAAEuT,EAEvCkqe,EAAWrye,GAAM,CACbzL,EAAG,CAAC8xB,IAAKo9B,EAAI5rC,KAAMjjB,EAAEL,EAAI2Z,GACzBjZ,EAAG,CAACoxB,IAAKk9B,EAAI1rC,KAAMjjB,EAAEK,EAAIiZ,GACzBva,EAAG,CAAC0yB,IAAKs9B,EAAI9rC,KAAMjjB,EAAEjB,EAAIua,GACzB7Y,EAAG,CAACgxB,IAAKw9B,EAAIhsC,KAAMjjB,EAAES,EAAI6Y,IAE7Boke,EAActye,GAAM,cAjCbqye,EAAWrye,UACXsye,EAActye,GAmCzB,IAAI+Z,EAAWqmG,YACX,OAAOulK,EAAMi0J,aAAaj3a,KAKtCgjR,EAAMi0J,aAAe,SAASj3a,GAC1B,IAAIoX,EAAapX,EAAGymB,YAChBrP,EAAWguC,QAAOhuC,EAAWguC,MAAQ,IACzCilb,EAAYjzd,GAEZ,IAAI+tC,EAAK/tC,EAAWguC,MAChB1/B,EAAStO,EAAWsO,OACpBy3b,EAAan1c,EAAIuM,WAAW,GAAI4wC,GAKhCyqb,EAAKlqd,EAAO9zB,EACZi+e,EAAKnqd,EAAOpzB,EACZw9e,EAAKpqd,EAAOhzB,EACZ24W,EAAK3lV,EAAO10B,EACZ2hB,EAAQyE,EAAWzE,MACnB8H,EAASrD,EAAWqD,OACpBi1d,EAAat4d,EAAWkzd,YACxBqF,EAAgBv4d,EAAWmzd,eAE/B,IAAoC,IAAjCnzd,EAAWsO,OAAOy6M,WAAsB,CACvC,IAAI,IAAI/pO,KAAKs5e,EACLC,EAAcv5e,WAAWs5e,EAAWt5e,GAc5C,IAAI,IAAI25e,KAVRL,EAAW/+c,KAAO,CACd/+B,EAAG,CAAC8xB,IAAK,EAAGxO,KAAM06d,GAClBt9e,EAAG,CAACoxB,IAAK,EAAGxO,KAAM26d,GAClBn9e,EAAG,CAACgxB,IAAK,EAAGxO,KAAM46d,GAClB9+e,EAAG,CAAC0yB,IAAK,EAAGxO,KAAMm2V,IAMRqkI,EAAY,CACtB,IAAIM,EAAWN,EAAWK,GAAIn+e,GAAK,GAC/Bq+e,EAAaP,EAAWK,GAAI/+e,GAAK,GACjCwvR,EAAKwvN,EAAStsd,IACdwsd,EAAKF,EAAS96d,KACd8zT,EAAKinK,EAAWvsd,IAChBwpO,EAAK+iP,EAAW/6d,KAEpB,IAAI,IAAIqsH,KAAMmuW,EAAY,CACtB,GAAGlve,EAAU0ve,IAAOR,EAAWnuW,GAAIjvI,EAAG,CAClC,IAAIiuR,EAAKmvN,EAAWnuW,GAAIjvI,EAAEoxB,IACtB2wG,EAAKq7W,EAAWnuW,GAAIjvI,EAAE4iB,KAE1B,GAAGqrQ,EAAKC,EAAI,CACR,IAAI2vN,GAAQD,EAAK3vN,GAAMlsJ,EAAK1hH,GAAS6tQ,IAAOD,EAAKC,GAC7C4vN,GAAQ/7W,GAAM,EAAImsJ,IAAO0vN,EAAKv9d,IAAU,EAAI4tQ,KAAQA,EAAKC,GAC1D2vN,GAAQ,GAAKC,GAAQ,GAAKz9d,GAASw9d,EAAOC,GAAQ,GAAKD,EAAOC,EAAOR,EAAKC,IACzED,EAAKO,EACLN,EAAKO,IAKjB,GAAG5ve,EAAU0sP,IAAOwiP,EAAWnuW,GAAI7uI,EAAG,CAClC,IAAI29e,EAAKX,EAAWnuW,GAAI7uI,EAAEgxB,IACtBnS,EAAKm+d,EAAWnuW,GAAI7uI,EAAEwiB,KAE1B,GAAGm7d,EAAKrnK,EAAI,CACR,IAAIsnK,GAAQpjP,EAAKmjP,GAAM9+d,EAAKkJ,GAAUuuT,IAAOqnK,EAAKrnK,GAC9CunK,GAAQh/d,GAAM,EAAIy3T,IAAO97E,EAAKzyO,IAAW,EAAI41d,KAAQA,EAAKrnK,GAC3DsnK,GAAQ,GAAKC,GAAQ,GAAK91d,GAAU81d,EAAOD,GAAQ,GAAKA,EAAOC,EAAOllI,EAAKykI,IAC1EzkI,EAAKilI,EACLR,EAAKS,OAiB7B,GATAprb,EAAGvzD,EAAIwF,KAAKs5B,MAAMk/c,GAClBzqb,EAAG7yD,EAAI8E,KAAKs5B,MAAMm/c,GAClB1qb,EAAGzyD,EAAI0E,KAAKs5B,MAAMo/c,GAClB3qb,EAAGn0D,EAAIoG,KAAKs5B,MAAM26U,GAClBlmT,EAAG7xD,EAAI8D,KAAKs5B,MAAMhL,EAAOna,KACzB45C,EAAGj2C,EAAI9X,KAAKs5B,MAAM/d,GAASwyC,EAAGvzD,EAAIuzD,EAAG7yD,EACrC6yD,EAAG1C,EAAIrrD,KAAKs5B,MAAMjW,GAAU0qC,EAAGzyD,EAAIyyD,EAAGn0D,GAGlComB,EAAWqmG,aAAeulK,EAAMy6L,gBAAgBN,EAAYh4Z,GAAK,CAC9D,+BAAgC/tC,EAC/BA,EAAW4tC,6BAEX5tC,EAAW4tC,2BAA6B,EAQ5C,IAAIwrb,EAAqB,GAAK,EAAIt+e,OAAO8mD,KAAK22b,GAAe/+e,QAE7D,GAAGwmB,EAAW4tC,2BAA6Bwrb,EACvC,OAAO5ld,EAAS95B,KAAK,OAAQkP,GAE7BgI,EAAIq4B,KAAK,mCAKrB,IAAIowc,EAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KA0pBhD,SAASC,EAAY1we,EAAI8qB,EAAgBlM,GACrC,IAAI+xd,GAAU,EAEd,SAASC,EAAiB76e,GACtB,IAAIzC,EAAIomB,QAAQC,UAChB,IAAI5jB,EAAM,OAAOzC,EACjB,MAAMyC,EAAKnF,OACP0C,EAAIA,EAAEs7B,KAAM74B,EAAK2rD,SAErB,OAAOpuD,EAGX,SAASu9e,EAAe96e,GACpB,GAAIA,EACJ,MAAMA,EAAKnF,OACPmF,EAAK2rD,QAIb,SAASovb,IAGL,OAFA9we,EAAGwuG,KAAK,uBAAwB,IAEzB,IAAI90F,SAAQ,SAASC,GAExB3Z,EAAGwlI,gBAAiB,EAKjB16G,EAAehpB,SAAW,IACzB9B,EAAG8uZ,4BAA6B,GAMpC9uZ,EAAGurB,gBAAgBC,oBAAoB/2B,MAAK,WACxCk8e,GAAU,KAGX/xd,EAAKuY,QACJn3B,EAAGurB,gBAAgBC,oBAAoB/2B,MAAK,WACxC,OAAOm2B,EAAS95B,KAAK,SAAUkP,MAKvCA,EAAGurB,gBAAgBC,oBAAoB/2B,MAAK,WACxCuL,EAAGwuG,KAAK,+BAAgC,OAK5C,IAAIuiY,EAAe,EACfC,EAAe,EACnB,SAASC,IAEL,OADAF,IACO,WACHC,IAEIL,GAAWK,IAAiBD,GAC5BG,EAAmBv3d,IAK/BiF,EAAKuyd,MAAMF,GAGXtza,WAAWsza,QAInB,SAASC,EAAmBl3a,GAIxB,GAAIh6D,EAAGurB,gBAIP,OAFAsld,EAAe7we,EAAGurB,gBAAgBC,qBAE3B9R,QAAQC,UAAUiV,MAAK,WAC1B,GAAGhQ,EAAKuY,OACJ,OAAOvM,EAAS95B,KAAK,SAAUkP,MAEpC4uB,MAAK,WAGJ5uB,EAAGwlI,gBAAiB,EACpBxlI,EAAG8uZ,4BAA6B,EAEhC9uZ,EAAGwuG,KAAK,sBAAuB,OAChC5/E,KAAKorC,GAGZ,SAASo3a,IAEL,GAAIpxe,EAAGurB,gBAQP,OAFAvrB,EAAGwlI,gBAAiB,EAEborW,EAAiB5we,EAAGurB,gBAAgBC,qBAG/C,IAAIk0B,EAAM,CACNsjO,EAAMzsK,iBACN66X,EACAxyd,EAAKyyd,UACLruN,EAAM46L,QACNkzB,GAGAQ,EAAqBtpe,EAAIm1C,YAAYuC,EAAK1/C,GAM9C,OAJIsxe,GAAuBA,EAAmB1id,OAC1C0id,EAAqB53d,QAAQC,WAG1B23d,EAAmB1id,MAAK,WAAa,OAAO5uB,KAlxBvDgjR,EAAMy6L,gBAAkB,SAAS8zB,EAASC,GACtC,IAAI,IAAI7/e,EAAI,EAAGA,EAAI8+e,EAAW7/e,OAAQe,IAAK,CACvC,IAAIyE,EAAIq6e,EAAW9+e,GACf0oJ,EAAKk3V,EAAQn7e,GACb+jJ,EAAKq3V,EAAQp7e,GAGjB,IAAIoK,EAAU65I,IAAOjjJ,KAAK+R,IAAIgxI,EAAKE,GAAM,EACrC,OAAO,EAGf,OAAO,GAyBX2oI,EAAMklN,UAAY,SAASloe,EAAIyxe,EAAU9+e,EAAMkS,EAAQ6se,IAE/CA,GAAeD,IAAazxe,EAAGw3C,WAC1Bk6b,IAAgBD,IAAazxe,EAAGymB,cACrCu8P,EAAM/+Q,eAAejE,GAGzB,IAAIpD,EAAO,EAAgBoD,EAAGw3C,UAAYx3C,EAAGpD,KACzCk8C,EAAS,EAAgB94C,EAAGymB,YAAczmB,EAAG84C,OAC7C4hL,GAAU16N,EAAGurB,iBAAmB,IAAIovM,QAExC,SAASg3Q,EAAS7/e,GACd,GAAgB,oBAANA,EACN,OAAO,KAEX,GAAGkW,EAAIuqD,cAAczgE,GAAI,CACrB,IACIqE,EAAG6a,EADH/e,EAAI,GAER,IAAIkE,KAAKrE,EAGL,GAAmB,oBAATA,EAAEqE,KACiC,IAArC,CAAC,IAAK,KAAKE,QAAQF,EAAEiqB,OAAO,IADpC,CAMA,GAAY,aAATztB,GAEC,GAA8B,QAA3BwD,EAAEyN,OAAOzN,EAAEvF,OAAS,GACnB,cAED,GAAY,eAAT+B,GAKN,GADAqe,EAAMlf,EAAEqE,EAAI,OACM,kBAAR6a,GAAoBA,EAAI3a,QAAQ,KAAO,IACzC2R,EAAIuqD,cAAczgE,EAAEowG,QACpB,cAGL,GAAY,YAATvvG,IAGNqe,EAAMlf,EAAEqE,EAAI,OACM,kBAAR6a,GAAoBA,EAAI3a,QAAQ,KAAO,GAC7C,SAKRpE,EAAEkE,GAAKw7e,EAAS7/e,EAAEqE,IAEtB,OAAOlE,EAGX,OAAGqD,MAAM0J,QAAQlN,GACNA,EAAE66C,IAAIglc,GAGd3pe,EAAI01G,aAAa5rH,GACTkW,EAAIklB,UAAUp7B,EAAGkW,EAAIvN,UAK7BuN,EAAIq8Q,SAASvyR,GAAWkW,EAAIg+Q,kBAAkBl0R,GAE1CA,EAGX,IAAIi9B,EAAM,CACNnyB,MAAOA,GAAQ,IAAI+vC,KAAI,SAASx2C,GAC5B,IAAIrE,EAAI6/e,EAASx7e,GAIjB,OADGs7e,UAAmB3/e,EAAE8/e,IACjB9/e,MASf,OANI2/e,IAAY1id,EAAI+pB,OAAS64b,EAAS74b,IAEnC94C,EAAGw0I,WAAax0I,EAAGw0I,UAAUW,UAASpmH,EAAM/uB,EAAGw0I,UAAUY,aAEzDslF,IAAQ3rM,EAAI2rM,OAASi3Q,EAASj3Q,IAEd,WAAX71N,EAAuBkqB,EAAMynJ,KAAKC,UAAU1nJ,IASxDi0P,EAAMypM,aAAe,SAASzsd,EAAI6xe,GAC9B,IAAIlgf,EAAGu2G,EAAIn3C,EACP4pK,EAAU36N,EAAGurB,gBAAgBovM,QAC7BkxP,EAAa7rd,EAAGurB,gBAAgBsgc,WAEpC,IAAIl6d,EAAI,EAAGA,EAAIkgf,EAAWjhf,OAAQe,IAG9B,OAFAu2G,EAAK2pY,EAAWlgf,GAETu2G,EAAGvjG,MAQN,IAAK,UACDosD,EAAQm3C,EAAGz1G,MACX,IAAIq/e,GAAWn3Q,EAAQzyH,EAAG7zG,QAAU,IAAItC,KACpC2pO,EAAU3qK,EAAMh/D,KACpB4oO,EAAQzyH,EAAG7zG,OAASw3d,EAAWnwP,GAAW3qK,EAEvC2qK,IAAYo2Q,WAGJjmB,EAAWimB,GAClBjmB,EAAWnwP,GAAW3qK,GAG1B,MACJ,IAAK,SACDA,EAAQm3C,EAAGz1G,MACXo5d,EAAW96Z,EAAMh/D,MAAQg/D,EACzB4pK,EAAQ14N,OAAOimG,EAAG7zG,MAAO,EAAG08D,GAC5B,MACJ,IAAK,SACDA,EAAQ4pK,EAAQzyH,EAAG7zG,cACZw3d,EAAW96Z,EAAMh/D,MACxB4oO,EAAQ14N,OAAOimG,EAAG7zG,MAAO,GACzB,MAIZ,OAAOqlB,QAAQC,WAcnBqpQ,EAAM4nM,aAAe,SAAS5qd,EAAI+xe,GAC9B,IACIpgf,EAAG4qH,EAAc7G,EAAYs8X,EAD7BC,EAAcjye,EAAGurB,gBAAgBsgc,WASrC,IAAIkmB,EACA,MAAM,IAAIr8e,MAAM,kDAGpB,IAAIw8e,EAAWD,EAAYF,EAAUhke,YAGrC,IAAImke,EACA,OAAO,EAGX,IAAIC,EAAa,CAACD,GACdE,EAAiB,CAACF,EAASngf,MAG/B,MAAMmgf,EAASzmD,YAAcymD,EAAWD,EAAYC,EAASzmD,UAAU19a,aAAc,CAEjF,IAA8C,IAA3Cqke,EAAe/7e,QAAQ67e,EAASngf,MAAc,MAEjDogf,EAAW19e,KAAKy9e,GAChBE,EAAe39e,KAAKy9e,EAASngf,MAIjC,IAAI+I,EAAS,GAGb,MAAOo3e,EAAWC,EAAWv7e,MAKzB,GAJGs7e,EAASp5b,SACRh+C,EAAOg+C,OAASkqO,EAAMqvN,aAAav3e,EAAOg+C,OAAQo5b,EAASp5b,SAG5Do5b,EAASt1e,KAAM,CAMd,GALI9B,EAAO8B,OACP9B,EAAO8B,KAAO,IAElB2/G,EAAe21X,EAASn6b,QAEpBwkE,EAGA,IADAA,EAAe,GACX5qH,EAAI,EAAGA,EAAIugf,EAASt1e,KAAKhM,OAAQe,IACjC4qH,EAAa5qH,GAAKA,EAQ1B,IAJImJ,EAAOi9C,SACPj9C,EAAOi9C,OAAS,IAGhBpmD,EAAI,EAAGA,EAAIugf,EAASt1e,KAAKhM,OAAQe,IAGjC+jH,EAAa6G,EAAa5qH,QACRd,IAAf6kH,GAA2C,OAAfA,IAI/Bs8X,EAAYl3e,EAAOi9C,OAAO1hD,QAAQq/G,IAChB,IAAfs8X,IACCA,EAAYl3e,EAAO8B,KAAKhM,OACxBkK,EAAOi9C,OAAOi6b,GAAat8X,GAG/B56G,EAAO8B,KAAKo1e,GAAahvN,EAAMsvN,YAAYx3e,EAAO8B,KAAKo1e,GAAYE,EAASt1e,KAAKjL,KAK7F,OAAOmJ,GASXkoR,EAAMuvN,mBAAqB,SAASvye,GAGhC,IAFA,IAAIg4K,EAAOh4K,EAAGurB,gBAAgBsgc,WAAa,GACvCnxP,EAAS16N,EAAGurB,gBAAgBovM,QACxBhpO,EAAI,EAAGA,EAAI+oO,EAAO9pO,OAAQe,IAAK,CACnC,IAAIo/D,EAAQ2pK,EAAO/oO,GAChBo/D,GAASA,EAAMh/D,OACdimL,EAAKjnH,EAAMh/D,MAAQg/D,KAe/BiyN,EAAMwvN,2BAA6B,SAASzhe,EAAMC,EAAKyhe,GACnD,IAAIC,EAAeC,EAAchhf,EAAGsE,EAAG28e,EAASC,EAAUC,EAAcC,EACpEr4a,EAAO1yD,EAAIm1Y,mBAAmB,GAAInsY,GAAO,IACzCgie,EAAchre,EAAIire,kBAAkBv4a,GACpCw4a,EAAe,GAKnB,GAAGT,GAAkBA,EAAe7hf,OAChC,IAAIe,EAAI,EAAGA,EAAI8gf,EAAe7hf,OAAQe,IAClC+gf,EAAgB1qe,EAAImyC,eAAe64b,EAAaP,EAAe9gf,IAC/Dghf,EAAeD,EAAcrgf,WAETxB,IAAjB8hf,EACC3qe,EAAImyC,eAAe+4b,EAAcT,EAAe9gf,IAAI2N,IAAI,OAExDoze,EAAcpze,IAAI,MAClB0I,EAAImyC,eAAe+4b,EAAcT,EAAe9gf,IAAI2N,IAAIqze,IAOpE,GAFA5he,EAAO/I,EAAIm1Y,mBAAmBpsY,GAAQ,GAAIiie,GAEvCP,GAAkBA,EAAe7hf,OAChC,IAAIe,EAAI,EAAGA,EAAI8gf,EAAe7hf,OAAQe,IAIlC,GAHAihf,EAAU5qe,EAAImyC,eAAe+4b,EAAcT,EAAe9gf,IAC1Dmhf,EAAeF,EAAQvgf,MAEnBygf,EAAJ,CAUA,IARAD,EAAW7qe,EAAImyC,eAAeppC,EAAM0he,EAAe9gf,IACnDohf,EAAgBF,EAASxgf,MAErBiD,MAAM0J,QAAQ+ze,KACdA,EAAgB,GAChBF,EAASvze,IAAIyze,IAGb98e,EAAI,EAAGA,EAAI68e,EAAalif,OAAQqF,IAAK,CACrC,IAAIk9e,EAASL,EAAa78e,GAEN88e,EAAc98e,GAApB,OAAXk9e,EAAoC,KAEhBnwN,EAAMwvN,2BAA2BO,EAAc98e,GAAIk9e,GAI9EN,EAASvze,IAAIyze,GAIrB,OAAOhie,GAGXiyQ,EAAMwgM,oBAAsB,CAAC,aAAc,cAC3CxgM,EAAMn3F,sBAAwBjhK,EAASihK,sBAUvCm3F,EAAMsvN,YAAc,SAASc,EAAWC,GACpC,OAAOrwN,EAAMwvN,2BAA2BY,EAAWC,EAAUrwN,EAAMwgM,sBAYvExgM,EAAMqvN,aAAe,SAASiB,EAAYC,GACtC,OAAOvwN,EAAMwvN,2BAA2Bc,EAAYC,EAAWvwN,EAAMn3F,wBAkBzEm3F,EAAMthR,WAAa,SAAS1B,EAAIpD,EAAMk8C,EAAQf,EAAQmya,EAAWp/b,GAC7D,IAAIlM,EAAO,CAACuY,OAAQ+yb,EAAU/yb,QAC1Bq8c,EAAqB,GACrBC,EAAU,GA4Id,OA1IA70d,EAAKyyd,UAAY,WAIb,IAHA,IAAIqC,EAAap+e,MAAM0J,QAAQpC,GAAQA,EAAKhM,OAAS,EACjD2rH,EAAexkE,EAAOniD,MAAM,EAAG89e,GAE3B/hf,EAAI,EAAGA,EAAI4qH,EAAa3rH,OAAQe,IAAK,CACzC,IAAIgif,EAAWp3X,EAAa5qH,GACxBsO,EAAQD,EAAGw3C,UAAUm8b,GACrBxwZ,EAAUljF,EAAMkjF,QAGpB,GAAIA,EAAJ,CAKA,GAAGA,EAAQ97D,WAAY,CACnB,IAAIp0B,EAAIkwF,EAAQr/E,eAAe/R,KAC3Byhf,EAAmBvgf,KAAIugf,EAAmBvgf,GAAK,IACnDugf,EAAmBvgf,GAAGwB,KAAKk/e,GAG/B3ze,EAAGpD,KAAK2/G,EAAa5qH,IAAMqxR,EAAMsvN,YAAYtye,EAAGpD,KAAK2/G,EAAa5qH,IAAKiL,EAAKjL,KAKhF,IAAI0jG,EAAertF,EAAIire,kBAAkBjre,EAAIm1Y,mBAAmB,GAAIrkW,IAMhE86b,EAAa,mBACjB,IAAI,IAAI16d,KAAQm8E,EACRu+Y,EAAWvjf,KAAK6oB,WACbm8E,EAAan8E,GAAM7P,MAG9B25Q,EAAMqvN,aAAarye,EAAG84C,OAAQu8C,UASvBr1F,EAAGisD,SAEV+2N,EAAM/+Q,eAAejE,GACrBgjR,EAAMi6L,WAAWj9c,GAEjB,IAAIwqe,EAAYxie,EAAIire,kBAAkBn6b,GAEtC,GAAG0xb,EAAW,CACV,IAAI7xc,EAAW34B,EAAGymB,YAAY6vB,OAE9B,IAAI,IAAIlgD,KAAKuiC,EAAU,CACnB,IAAIp2B,EAAWo2B,EAASviC,GACpBoyB,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MACd8U,EAAMzE,EAAGnf,MAAMzT,QACf23B,EAAM1E,EAAGxf,MAAMzT,QAEfi3B,EAAM,KACNE,EAAM,KACNH,EAAQ,KACRE,EAAQ,KAETx3B,MAAM0J,QAAQwre,EAAUhid,EAAGmG,MAAQ,WAClC9B,EAAM29c,EAAUhid,EAAGmG,MAAQ,UAAU/4B,QAC/BN,MAAM0J,SAASwre,EAAUhid,EAAGmG,QAAU,IAAItlB,SAChDwjB,EAAM29c,EAAUhid,EAAGmG,OAAOtlB,MAAMzT,SAEjCN,MAAM0J,QAAQwre,EAAU3hd,EAAG8F,MAAQ,WAClC5B,EAAMy9c,EAAU3hd,EAAG8F,MAAQ,UAAU/4B,QAC/BN,MAAM0J,SAASwre,EAAU3hd,EAAG8F,QAAU,IAAItlB,SAChD0jB,EAAMy9c,EAAU3hd,EAAG8F,OAAOtlB,MAAMzT,SAGjCq3B,GAAOJ,IACLrE,EAAG2E,IAAIF,EAAI,MAAQzE,EAAG2E,IAAIN,EAAI,KAAOrE,EAAG2E,IAAIF,EAAI,MAAQzE,EAAG2E,IAAIN,EAAI,OAEpED,EAAQ,CAACK,IAAKA,EAAKJ,IAAKA,IAEzBU,GAAOR,IACLlE,EAAGsE,IAAII,EAAI,MAAQ1E,EAAGsE,IAAIJ,EAAI,KAAOlE,EAAGsE,IAAII,EAAI,MAAQ1E,EAAGsE,IAAIJ,EAAI,OAEpED,EAAQ,CAACS,IAAKA,EAAKR,IAAKA,KAGzBH,GAASE,IACR2md,EAAQh/e,KAAKuT,EAAIuM,WAAW,CAAChS,SAAUA,GAAWqqB,EAAOE,KAKrE,OAAOpT,QAAQC,WAGnBiF,EAAKuyd,MAAQ,SAASF,GAClB,IAAI4C,EAGAlif,EAFAwqS,EAAkBn8R,EAAGymB,YAAYy8I,iBACjC4wU,EAAoBL,EAAQ7if,OAGhC,GAAGkoD,EACC,IAAInnD,EAAI,EAAGA,EAAIwqS,EAAgBvrS,OAAQe,IAChCwqS,EAAgBxqS,GAAG0vZ,gBAClBllH,EAAgBxqS,GAAG0vZ,eAAerhZ,EAAIyze,EAAS3od,EAAgBmmd,GAsB3E,IAAI,IAAIh+e,KAdL6gf,GACCD,EAAsB7re,EAAIuM,WAAW,GAAIuW,GACzC+od,EAAoB/xe,SAAW,SAGxB0xe,EAAmB93b,WAE1Bm4b,EAAsB/od,EAOb0od,EAAoB,CAC7B,IAAIj3X,EAAei3X,EAAmBvgf,GAClCkwF,EAAUnjF,EAAGw3C,UAAU+kE,EAAa,IAAIp5B,QAC5CA,EAAQr/E,eAAeK,KAAKnE,EAAIu8G,EAAcs3X,EAAqB5C,KAIpEP,EAAY1we,EAAI8qB,EAAgBlM,IAa3CokQ,EAAMqlM,oBAAsB,SAASrod,EAAI+ld,EAAcE,EAAe35Z,GAClE,IAAIl1C,EAAapX,EAAGymB,YAChBqE,EAAiB1T,EAAW1V,WAC5Bkd,EAAO,GACP60d,EAAU,GA6Fd,OA3FA70d,EAAKyyd,UAAY,WACb,IAAI14c,EAAWvhB,EAAWk/B,OAQ1B,IAAI,IAAIlgD,KAJRwoB,EAAKuY,QAAS,EACW,SAAtB4ub,EAAapnY,OAAiB//D,EAAKuY,QAAS,GACrB,SAAvB8ub,EAActnY,OAAiB//D,EAAKuY,QAAS,GAEnCwB,EAAU,CACnB,IAAIp2B,EAAWo2B,EAASviC,GACpBoyB,EAAKjmB,EAAS2V,MACd2Q,EAAKtmB,EAAS4V,MACd8U,EAAMq/B,EAAc9jC,EAAGmG,OAAOtlB,MAAMzT,QACpC23B,EAAM++B,EAAczjC,EAAG8F,OAAOtlB,MAAMzT,QACpCi3B,EAAMrE,EAAGnf,MAAMzT,QACfm3B,EAAMlE,EAAGxf,MAAMzT,QAEnB4yB,EAAG0D,WACHrD,EAAGqD,WAEH,IAAIU,EAAQ,KACRE,EAAQ,KAETtE,EAAG2E,IAAIF,EAAI,MAAQzE,EAAG2E,IAAIN,EAAI,KAAOrE,EAAG2E,IAAIF,EAAI,MAAQzE,EAAG2E,IAAIN,EAAI,MAClED,EAAQ,CAACK,IAAKA,EAAKJ,IAAKA,IAEzBhE,EAAGsE,IAAII,EAAI,MAAQ1E,EAAGsE,IAAIJ,EAAI,KAAOlE,EAAGsE,IAAII,EAAI,MAAQ1E,EAAGsE,IAAIJ,EAAI,MAClED,EAAQ,CAACS,IAAKA,EAAKR,IAAKA,KAGzBH,GAASE,IACR2md,EAAQh/e,KAAKuT,EAAIuM,WAAW,CAAChS,SAAUA,GAAWqqB,EAAOE,IAIjE,OAAOpT,QAAQC,WAGnBiF,EAAKuyd,MAAQ,SAASF,GAUlB,IATA,IAII8C,EACAF,EACAL,EANA17d,EAAW9X,EAAGw3C,UACdpgC,EAAapX,EAAGymB,YAChB01Q,EAAkB/kR,EAAW8rJ,iBAM7B8wU,EAAkB,GACdrif,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAChCqif,EAAgBv/e,KAAK9C,GAGzB,SAAS0vZ,IACL,IAAI,IAAIprZ,EAAI,EAAGA,EAAIkmS,EAAgBvrS,OAAQqF,IACpCkmS,EAAgBlmS,GAAGorZ,gBAClBllH,EAAgBlmS,GAAGorZ,eAAerhZ,EAAIyze,EAASM,EAAoB9C,GAK/E,SAASgD,IACL,IAAI,IAAIh+e,EAAI,EAAGA,EAAIkmS,EAAgBvrS,OAAQqF,IACvCkmS,EAAgBlmS,GAAGkO,KAAKnE,EAAIwze,EAAoBK,EAAqB5C,GAI1EwC,EAAQ7if,QAAUm1d,EAAapnY,KACC,iBAA5B7zD,EAAe0jP,UACdulO,EAAqB/re,EAAIuM,WAAW,GAAIuW,EAAgB,CAAChpB,SAAU,IACnE0xe,EAAqBQ,EACrBH,EAAsB/od,EACtB6yC,WAAW0jV,EAAgBv2X,EAAehpB,UAC1Cmye,MAEAF,EAAqBjpd,EACrB0od,EAAqB,KACrBK,EAAsB7re,EAAIuM,WAAW,GAAIuW,EAAgB,CAAChpB,SAAU,IACpE67D,WAAWs2a,EAAkBF,EAAmBjye,UAChDu/Y,KAEEoyF,EAAQ7if,QACdmjf,EAAqBjpd,EACrBu2X,KACM0kE,EAAapnY,OACnB60Z,EAAqBQ,EACrBH,EAAsB/od,EACtBmpd,MAIDvD,EAAY1we,EAAI8qB,EAAgBlM,IA2I3CokQ,EAAMi6L,WAAa,SAASj9c,EAAI+3C,GAC5B,IAII93C,EAAOkjF,EAASxxF,EAAGsE,EAJnBwyC,EAASmxM,EAAQ7jP,KAAKiK,GACtB8X,EAAW9X,EAAGw3C,UACdpgC,EAAapX,EAAGymB,YAMhBwlC,EAAW,IAAI32D,MAAMwiB,EAASlnB,QAC9B65e,GAAezqe,EAAGisD,UAAY,IAAIr2D,QAwBtC,IAvBAoK,EAAGisD,SAAWA,EAKd70C,EAAWgiX,UAAY,EACvBhiX,EAAW88d,YAAc,EAGzB98d,EAAWozW,uBAAyB,GAGpCxqX,EAAG4uZ,YAAc,EACjB5uZ,EAAG6uZ,YAAc,EAGjBz3Y,EAAW+8d,aAAe,GAC1B/8d,EAAWg9d,kBAAoB,GAC/Bh9d,EAAWi9d,iBAAmB,GAC9Bj9d,EAAWk9d,oBAAsB,GAI7B3if,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IACzB2D,MAAM0J,QAAQ+4C,KAAkC,IAAvBA,EAAO1hD,QAAQ1E,KACvCs6D,EAASt6D,GAAK84e,EAAY94e,IAKlC,IAAIA,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAC5BsO,EAAQ6X,EAASnmB,GAEjBsO,EAAMqge,YAAcrgU,EAAWg+H,oBAAoBh+R,GAGnDA,EAAM8gC,UAAY,GAItB,IAAIg3Y,EAAW3ga,EAAW4sB,UAAUy2R,OAAS,GAC7C,IAAI9oU,EAAI,EAAGA,EAAIomb,EAASnnb,OAAQe,IAC5B82C,EAAOh0C,KACH2iB,EAAW2ga,EAASpmb,IAAI+vE,WACxBtqD,EAAW2ga,EAASpmb,IAAIiwE,aAKhC,IAAI,IAAIxrE,KAAKghB,EAAWyiH,WAAY,CAChC,IAAI7H,EAAQ56G,EAAWhhB,IACJ,IAAhB47H,EAAMuiX,eACEviX,EAAMiP,YACNjP,EAAMkP,MAIrB,IAAIkrD,GAAmB,EAEvB,SAASooT,EAAe7if,GAIpB,GAHAsO,EAAQ6X,EAASnmB,GACjBwxF,EAAUljF,EAAMkjF,SAEK,IAAlBljF,EAAMuD,SAAoBvD,EAAMgX,WAAY,CAI3C,GAAGksE,GAAWA,EAAQj/E,KAAM,CACxB,IAAIwN,EAAMyxE,EAAQj/E,KAAKlE,EAAIC,GAIxByR,EAAI,IAAMA,EAAI,GAAGhf,GAAKgf,EAAI,GAAGhf,EAAE+2F,eACvB/3E,EAAI,GAAGhf,EAAE+2F,OAAOttF,MAI/B,IAAIlG,EAAI,EAAGA,EAAIgK,EAAMgX,WAAWrmB,OAAQqF,IAAK,CACzC,IAAImlB,EAAYnb,EAAMgX,WAAWhhB,GAEjCktF,EAAU6oG,EAAmB5wK,EAAUzW,MACpCw+E,GAAWA,EAAQkpG,gBAClBpsL,EAAMose,mBAAoB,EAC1BjgT,GAAmB,EACnBjpG,EAAQkpG,cAAcrsL,EAAIC,EAAOmb,MAMjD,SAASq5d,EAAM9if,EAAG+if,GAId,GAHAz0e,EAAQ6X,EAASnmB,GACjBwxF,EAAUljF,EAAMkjF,UAEXA,EAAQuxZ,cAAgBA,EAA7B,CAEA,IAAIlje,EAAK,GAET,IAAqB,IAAlBvR,EAAMuD,SAAsC,IAAlBvD,EAAM6I,QAAe,QAEvC7I,EAAM2nV,eAIb,IAAI3wU,EAAahX,EAAMgX,YAAc,GACrC,IAAIhhB,EAAIghB,EAAWrmB,OAAS,EAAGqF,GAAK,EAAGA,IACnC,GAAGghB,EAAWhhB,GAAG0/B,QAAS,CACtB11B,EAAM2nV,eAAiB3wU,EAAWhhB,GAAG2xV,eACrC,MAILzkQ,GAAWA,EAAQj/E,OAClBsN,EAAK2xE,EAAQj/E,KAAKlE,EAAIC,IAQ1B3K,MAAM0J,QAAQwS,IAAQA,EAAG,KACzBA,EAAK,CAAC,CAAC3R,EAAG+iC,EAAQp9B,EAAGo9B,KAMrBpxB,EAAG,GAAG9e,IAAG8e,EAAG,GAAG9e,EAAI,IACvB8e,EAAG,GAAGvR,MAAQA,EAEdgsD,EAASt6D,GAAK6f,GAOlB,IAJAmje,EAAoBlsc,EAAQ3wB,GAIxBnmB,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK8if,EAAM9if,GAAG,GAC9C,IAAIA,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK6if,EAAe7if,GAOpD,IAJGy6L,GAAkBuoT,EAAoBlsc,EAAQ3wB,GAI7CnmB,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK8if,EAAM9if,GAAG,GAC9C,IAAIA,EAAI,EAAGA,EAAImmB,EAASlnB,OAAQe,IAAK8if,EAAM9if,GAAG,GAE9Cijf,EAAiB50e,GAGjB,IAAI2pG,EAASkrY,EAA0Bpsc,EAAQzoC,GAC/C,GAAG2pG,EAAO/4G,OAAQ,CAKd,IAHAwmB,EAAWgiX,UAAY,EACvBhiX,EAAW88d,YAAc,EAErBvif,EAAI,EAAGA,EAAIg4G,EAAO/4G,OAAQe,IAAK8if,EAAM9qY,EAAOh4G,IAAI,GACpD,IAAIA,EAAI,EAAGA,EAAIg4G,EAAO/4G,OAAQe,IAAK8if,EAAM9qY,EAAOh4G,IAAI,GACpDijf,EAAiB50e,GAGrB4qB,EAASsa,mBAAmB,KAAM,OAAlCta,CAA0C5qB,GAC1C4qB,EAASsa,mBAAmB,YAAa,OAAzCta,CAAiD5qB,IAGrD,IAAI80e,EAAiC,yDAErC,SAASD,EAA0Bpsc,EAAQzoC,GACvC,IACIrO,EAAGsE,EAAGG,EAAGxE,EAAGK,EADZksH,EAAiB,GAGrB,SAAS42X,EAAapwe,EAAM4S,EAAI9kB,GAC5B,IAAIiiB,EAAW6C,EAAGsW,IAAIzN,OAAO,GAC7B,GAAY,uBAATzb,EAA+B,CAC9B,IAAIqwe,EAAkBz9d,EAAG61W,aAAa,GAClCtqU,EAAY82L,EAAQt6M,UAAUt/B,EAAIg1e,GAElCC,EAA4B,MAAbvge,GAAyC,MAApBsge,GAA8C,aAAnBlyb,EAAUn+C,KACzEuwe,EAA4B,MAAbxge,GAAyC,MAApBsge,GAA8C,aAAnBlyb,EAAUn+C,KAE7E,OAAO,SAAS1S,EAAGL,GACf,OAAS,IAANK,GAAiB,IAANL,GACXqjf,GAAgBhjf,IAAMQ,EAAMb,GAAGhB,OAAS,GACxCskf,GAAgBtjf,IAAMa,EAAM7B,OAAS,GAFT,GAIV,MAAb8jB,EAAmB9iB,EAAIK,GAAK,GAGxC,OAAO,SAASA,EAAGL,GACf,MAAoB,MAAb8iB,EAAmB9iB,EAAIK,GAK1C,IAAIkjf,EAAQ,CACR,IAAO,SAAS7qd,GAAS,OAAOtiB,EAAIwhC,QAAQpyC,KAAKoC,IAAK,KAAM8wB,IAC5D,IAAO,SAASA,GAAS,OAAOtiB,EAAIwhC,QAAQpyC,KAAKqC,IAAK,KAAM6wB,IAC5D,IAAO,SAASA,GAAS,OAAOtiB,EAAIwhC,SAAQ,SAASz4C,EAAGC,GAAK,OAAOD,EAAIC,IAAK,KAAMs5B,IACnF,MAAS,SAASA,GAAS,OAAOtiB,EAAIwhC,SAAQ,SAASz4C,EAAGC,GAAK,OAAOD,EAAIC,IAAK,KAAMs5B,IACrF,KAAQ,SAASA,GAAS,OAAOtiB,EAAIw0H,KAAKlyG,IAC1C,OAAU,SAASA,GAAS,OAAOtiB,EAAI6zH,OAAOvxG,KAGlD,IAAI34B,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CAC/B,IAAI4lB,EAAKkxB,EAAO92C,GAChB,GAAe,aAAZ4lB,EAAG5S,KAAN,CAGA,IAAIyU,EAAQ7B,EAAG40R,cAAc/yR,MAAM07d,GACnC,GAAG17d,EAAO,CACN,IAAIg8d,EAAah8d,EAAM,GACnBgiB,EAAQhiB,EAAM,GAGdi8d,EAAkB,GACtB,IAAIp/e,EAAI,EAAGA,EAAIshB,EAAGiuB,YAAY50C,OAAQqF,IAClCo/e,EAAgB5gf,KAAK,CAAC8iB,EAAGiuB,YAAYvvC,GAAI,KAI7C,IAAIA,EAAI,EAAGA,EAAIshB,EAAGwvE,cAAcn2F,OAAQqF,IAAK,CACzC,IAAIy/G,EAAan+F,EAAGwvE,cAAc9wF,GAC9B67E,EAAY9xE,EAAGw3C,UAAUk+D,GACzBhhG,EAAW6C,EAAGsW,IAAIzN,OAAO,GAG7B,IAAyB,IAAtB0xD,EAAUtuE,QAAb,CAEA,IAAImB,EAAOmtE,EAAUntE,KAClBimB,EAAS4U,QAAQsyC,EAAW,sBACpBA,EAAUw9Q,yBACVx9Q,EAAUy9Q,mBAGrB,IAAI/9U,EAAKxR,EAAGisD,SAASypD,GACrB,IAAIt/G,EAAI,EAAGA,EAAIob,EAAG5gB,OAAQwF,IAAK,CAC3B,IACIk/e,EAAKC,EAAU9if,EADfif,EAAMF,EAAGpb,GAGb,GAAY,UAATuO,EAAkB,CAGjB,IAAI6we,EAAwB1ja,EAAU61D,SAASpwH,EAAGsW,KAGlD,GAAgB,MAAbnZ,EAAkB,CACjB,IAAI+ge,EAAoB3ja,EAAUo1D,MAAMsuW,GAAuB,GAC5DC,IAAmBl+d,EAAKvX,EAAGymB,YAAYmzN,EAAQx2M,QAAQqyc,KAG9D,IAAI1xe,EAAa2N,EAAIzR,MAAMqmI,WAAWkvW,GAAuBlrd,OAC7D,IAAI14B,EAAI,EAAGA,EAAImS,EAAWnT,OAAQgB,IAK9B,IAJA0jf,EAAMvxe,EAAWnS,GACjB2jf,EAAWh+d,EAAGikG,eAAe85X,GAGzBrjf,EAAI,EAAGA,EAAIyf,EAAIzR,MAAMqmI,WAAW11I,OAAQqB,IACxC,GAAGA,IAAMujf,EAAT,CACA,IAAIvgf,EAAYyc,EAAIzR,MAAMqmI,WAAWr0I,GACrCojf,EAAgBE,GAAU,GAAG9gf,KAAKQ,EAAUq1B,OAAO14B,UAGxD,GAAY,cAAT+S,EAAsB,CAE5B,IAAI/S,EAAI,EAAGA,EAAI8f,EAAIhf,EAAEmN,EAAEjP,OAAQgB,IACX,MAAb8iB,IACC4ge,EAAM5je,EAAIhf,EAAEmN,EAAEjO,GACd2jf,EAAWD,EACX7if,EAAQif,EAAIhf,EAAE8S,EAAE5T,IAGJ,MAAb8iB,IACC4ge,EAAM5je,EAAIhf,EAAE8S,EAAE5T,GACd2jf,EAAWD,EACX7if,EAAQif,EAAIhf,EAAEmN,EAAEjO,IAEpByjf,EAAgBE,GAAU,GAAG9gf,KAAKhC,GAInCif,EAAIhf,GAAKgf,EAAIhf,EAAE+2F,eACP/3E,EAAIhf,EAAE+2F,OAAOttF,WAErB,GAAGuV,EAAIre,eAAe,KAAM,CAE/BZ,EAAQif,EAAIpR,EACZ,IAAIo1e,EAAUX,EAAajja,EAAUntE,KAAM4S,EAAI9kB,GAE/C,IAAIb,EAAI,EAAGA,EAAIa,EAAM7B,OAAQgB,IACzB,IAAIK,EAAI,EAAGA,EAAIQ,EAAMb,GAAGhB,OAAQqB,IAC5Bsjf,EAAWG,EAAQzjf,EAAGL,GACnB2jf,EAAW,GAAGF,EAAgBE,GAAU,GAAG9gf,KAAKhC,EAAMb,GAAGK,SAapE,IARgB,MAAbyiB,GACC4ge,EAAM5je,EAAIpe,EAAI,EAAIoe,EAAIpe,EAAIoe,EAAI7R,EAC9BpN,EAAQif,EAAIne,GAAKme,EAAIvb,GAAKub,EAAIlM,GACX,MAAbkP,IACN4ge,EAAM5je,EAAIpe,EAAI,EAAIoe,EAAIpe,EAAIoe,EAAIlM,EAC9B/S,EAAQif,EAAIne,GAAKme,EAAIvb,GAAKub,EAAI7R,GAE9BvK,MAAM0J,QAAQvM,KAAQA,EAAQ,CAACA,IAC/Bb,EAAI,EAAGA,EAAIa,EAAM7B,OAAQgB,IACzByjf,EAAgBC,GAAK,GAAG7gf,KAAKhC,EAAMb,MAMnD2lB,EAAGo+d,iBAAmBN,EAEtB,IAAIO,EAA4B,GAChC,IAAI3/e,EAAI,EAAGA,EAAIo/e,EAAgBzkf,OAAQqF,IACnC2/e,EAA0Bnhf,KAAK,CAC3B4gf,EAAgBp/e,GAAG,GACnBk/e,EAAMC,GAAYC,EAAgBp/e,GAAG,MAK7C2/e,EAA0Bv9e,MAAK,SAAStH,EAAGC,GACvC,OAAOD,EAAE,GAAKC,EAAE,MAGpBumB,EAAGs+d,2BAA6BD,EAGhCr+d,EAAG0mG,mBAAqB23X,EAA0Bjpc,KAAI,SAAS17C,GAC3D,OAAOA,EAAE,MAIA,eAAVmqC,GACC7jB,EAAG0mG,mBAAmBv9D,UAI1By9D,EAAiBA,EAAe/kH,OAAOme,EAAG2mG,6BAGlD,OAAOC,EAGX,SAASw2X,EAAoBlsc,EAAQ3wB,GACjC,IAAI,IAAInmB,EAAI,EAAGA,EAAI82C,EAAO73C,OAAQe,IAAK,CACnC,IAAI4lB,EAAKkxB,EAAO92C,GAChB4lB,EAAGsmG,YACY,kBAAZtmG,EAAG5S,MACF4S,EAAG+kG,mBAAmBxkG,IAKlC,SAAS88d,EAAiB50e,GACtB,IAGIrO,EAAGsE,EAAGG,EAHNghB,EAAapX,EAAGymB,YAChBl1B,EAAU6lB,EAAW4zd,gBACrBhzT,EAAO,GAOX,IAAI/hL,EAAI,EAAGA,EAAI1E,EAAQX,OAAQqF,IAAK,CAChC,IAAIktF,EAAU5xF,EAAQ0E,GAClBvF,EAAKyyF,EAAQrxB,eACjB,GAAGphE,EAAI,CACH,IAAIolf,EAAS3yZ,EAAQr/E,eAAe/R,KACjCimL,EAAK89T,GACJ9te,EAAIuiL,WAAWvS,EAAK89T,GAASplf,GAE7BsnL,EAAK89T,GAAU,CAACplf,IAK5B,IAAI0F,KAAK4hL,EAAM,CACX,IAAIypJ,EAAUzpJ,EAAK5hL,GACfuiC,EAAWvhB,EAAW4sB,UAAU5tC,GAEpC,GAAGd,MAAM0J,QAAQ25B,GACb,IAAIhnC,EAAI,EAAGA,EAAIgnC,EAAS/nC,OAAQe,IAAK,CACjC,IAAIsqD,EAAKtjB,EAAShnC,GACdokf,EAAe,cAAN3/e,EACTghB,EAAWk/B,OAAO2F,GAClB7kC,EAAW6kC,GAEf,IAAIhmD,EAAI,EAAGA,EAAIwrU,EAAQ7wU,OAAQqF,IAC3BwrU,EAAQxrU,GAAG+J,EAAI+1e,EAAQ95b,QAI/B,IAAIhmD,EAAI,EAAGA,EAAIwrU,EAAQ7wU,OAAQqF,IAC3BwrU,EAAQxrU,GAAG+J,IAM3BgjR,EAAM46L,QAAU,SAAS59c,GAClBA,EAAGymB,YAAY66F,UACdthH,EAAGymB,YAAY66F,YAIvB0hK,EAAM66L,OAAS,SAAS79c,GACjBA,EAAGymB,YAAYgpY,SACdzvZ,EAAGymB,YAAYgpY,WAIvBzsI,EAAMthB,4BAA8B,SAAS1hQ,EAAI+T,EAASqoX,EAAiBsxC,GACvE,IAEI/7a,EAFAqkf,EAAejie,EAAQ0sM,UACvBA,EAAY,GAIhB,IAAI9uN,EAAI,EAAGA,EAAIyqY,EAAgBxrY,OAAQe,IAAK,CACxC,IAAIggF,EAAayqT,EAAgBzqY,GAC7BsO,EAAQ0xE,EAAW,GAAG1xE,MAIvBA,EAAMuD,UACLi9M,EAAUxgN,EAAM0E,MAAQ87M,EAAUxgN,EAAM0E,OAAS,GACjD87M,EAAUxgN,EAAM0E,MAAMlQ,KAAKk9E,IAOnC,IAAI,IAAIska,KAAiBD,EACrB,IAAIv1R,EAAUw1R,GAAgB,CAC1B,IAAIC,EAAgBF,EAAaC,GAAe,GAC5CE,EAAYD,EAAc,GAAGj2e,MAEjCk2e,EAAU3ye,SAAU,EACpBi9M,EAAUw1R,GAAiB,CAACC,GAKpC,IAAI,IAAIrxc,KAAc47K,EAAW,CAC7B,IAAIypD,EAAiBzpD,EAAU57K,GAC3Bs+C,EAAU+mL,EAAe,GAAG,GAAGjqQ,MAAMkjF,QAEzCA,EAAQh/E,KAAKnE,EAAI+T,EAAS/L,EAAIoiQ,cAAcF,GAAiBwjK,GAIjE35Z,EAAQ0sM,UAAYA,GAGxBuiE,EAAMC,aAAe,SAASxvL,EAAazzF,EAAI+3C,EAAQjtB,EAAgBC,GACnE,IAAIo4D,EAAUv4D,EAASkjK,UAAUr6F,GAC7B8oK,EAAWtgK,EAAkBj8F,EAAGisD,SAAUk3B,GAAS,GACvDA,EAAQh/E,KAAKnE,EAAIu8P,EAAUzxO,EAAgBC,IAG/Ci4P,EAAME,cAAgB,SAASzvL,EAAatnC,EAAaC,EAAeC,EAAaC,GACjF,IAAI8pb,EAAO9pb,EAAclB,MAAQkB,EAAclB,KAAKqoC,GAChDxqC,EAAOmD,EAAchB,MAAQgB,EAAchB,KAAKqoC,GAEjD2iZ,IAAQntb,GACPqD,EAAc,IAAMmnC,EAAc,SAAS1yF,UAAU,WAAWmB,WAOlE,KACA,SAAU5R,EAAQC,EAASkB,GAEjC,aAWA,IAAIuW,EAAMvW,EAAoB,QAC1B4kf,EAA2B5kf,EAAoB,QAC/ConC,EAAmBpnC,EAAoB,QAE3CnB,EAAOC,QAAU,SAAoCg4D,EAAUC,GAC3D,SAASrkB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOokB,EAAUC,EAAW3vB,EAAkB3f,EAAMtE,GAGnEyhe,EAAyB9tb,EAAUC,EAAWrkB,KAM5C,KACA,SAAU7zC,EAAQC,EAASkB,GAEjC,aAYA,IAsBI6kf,EAAeC,EAtBfC,EAAW/kf,EAAoB,QAC/Bg+B,EAAe+md,EAAS/md,aACxBgnd,EAAaD,EAASzld,YAEtB/e,EAAavgB,EAAoB,QACjCilf,EAAmBjlf,EAAoB,QAEvCm5B,EAAWn5B,EAAoB,QAC/BuW,EAAMvW,EAAoB,QAE1BsW,EAAOtW,EAAoB,QAC3Bi5G,EAAKj5G,EAAoB,QAEzBklf,EAAgBllf,EAAoB,QACpCmlf,EAAiBnlf,EAAoB,QAErC0jB,EAAU1jB,EAAoB,QAC9BsjW,EAAoBtjW,EAAoB,QACxCwuL,EAAqBxuL,EAAoB,QACzCqW,EAAmBrW,EAAoB,QAK3C,SAAS+mC,EAAOl8B,GACZ,IACI2D,EADAD,EAAK1D,EAAMuvD,SAIXgrb,EAAev6e,EAAMu6e,aACrBC,EAAax6e,EAAMsmB,UAAUhK,wBAC7BjG,EAAQmke,EAAWnke,MACnB8H,EAASq8d,EAAWr8d,OACxBo8d,EAAa/+L,eAAe,KAAM,UAAW,OAASnlS,EAAQ,IAAM8H,GACpEo8d,EAAa/+L,eAAe,KAAM,QAASnlS,GAC3Ckke,EAAa/+L,eAAe,KAAM,SAAUr9R,GAE5C3S,EAAiBxL,GACjBA,EAAMmM,OAAOI,KAAK7L,OAAOV,EAAMiM,aAM/B,IAHA,IAkBIwue,EAlBA/9b,EAAO9mD,OAAO8mD,KAAK18C,EAAMy7C,QACzBi/b,EAAa,KACbr3e,EAAYrD,EAAMmM,OAAO9I,UACrBhO,EAAI,EAAGA,EAAIqnD,EAAKpoD,SAAUe,EAC9BsO,EAAQ3D,EAAMy7C,OAAOiB,EAAKrnD,IACE,SAAzBsO,EAAMrD,KAAKma,WAAwB9W,EAAM2kP,WAAWjlP,KACnDq3e,EAAa/2e,GAGdA,EAAMs/d,kBAAkBt/d,EAAMs/d,mBAGrC,SAASp5M,EAAUm+J,EAAU5ga,GACzB,IAAIm6D,EAAOvhF,EAAMsM,gBAAgB07a,GAEjC,OAAOv8a,EAAK4P,SAASkmE,EAAMA,EAAKh2C,IAAInkB,GAAM,SAAShjB,KAKvD,GAAkB,OAAfs2e,EAAqB,CACpB,IAAIC,EAAQ9he,EAAQ7Y,EAAMmM,OAAOiqB,aAAc/yB,EAAUzE,gBACzD+E,EAAQ+2e,EAAWp6e,KACnB,IAqBIs1C,EArBAq0P,EAAWvmS,EAAGw3C,UAAUv3C,EAAM5L,OAC9BmyS,EAAW7mS,EAAUtL,MAErBgjB,EAAS,CACTioW,OAAQn5F,EAAU,QAASxmR,EAAU88E,gBAAgB,IACrD8iS,OAAQp5F,EAAU,QAASxmR,EAAU88E,gBAAgB,IACrDz0D,OAAQm+P,EAAU,QAASxmR,EAAU88E,gBAAgB,KAGrD1lE,EAAY2zF,EAAGi8L,cAAcJ,EAAUjqS,EAAM8a,WAAYovR,GACzD0wM,GAAkBnge,GAAa,IAAIlV,MAAM,KACzCs1e,EAAiBpge,GAA2B,QAAdA,EAE9BwvR,EAAS3wR,eAAkBuhe,KACS,IAAjCD,EAAe7gf,QAAQ,OAAaghB,EAAOioW,YAASzuX,IACnB,IAAjCqmf,EAAe7gf,QAAQ,OAAaghB,EAAOkoW,YAAS1uX,IACnB,IAAjCqmf,EAAe7gf,QAAQ,OAAaghB,EAAO2Q,YAASn3B,IAChB,IAApCqmf,EAAe7gf,QAAQ,UAAgBsJ,EAAUmlP,eAAYj0P,IACzB,IAApCqmf,EAAe7gf,QAAQ,UAAgB2gf,EAAWjlf,UAAOlB,IAIhE,IAAIumf,EAAW,GAEG,SAAfn3e,EAAM0E,MAAkC,eAAf1E,EAAM0E,MAC9B0S,EAAOgge,OAASlxN,EAAU,QAASxmR,EAAU88E,gBAAgB,KAC1D06Z,IAAmD,IAAjCD,EAAe7gf,QAAQ,OACxC+gf,EAAS3if,KAAK,MAAQ4iB,EAAOgge,QAGjChge,EAAOige,OAASnxN,EAAU,QAASxmR,EAAU88E,gBAAgB,KAC1D06Z,IAAmD,IAAjCD,EAAe7gf,QAAQ,OACxC+gf,EAAS3if,KAAK,MAAQ4iB,EAAOige,QAGjCjge,EAAOkge,OAASpxN,EAAU,QAASxmR,EAAU88E,gBAAgB,KAC1D06Z,IAAmD,IAAjCD,EAAe7gf,QAAQ,OACxC+gf,EAAS3if,KAAK,MAAQ4iB,EAAOkge,QAGjClge,EAAOmge,UAAY73e,EAAU88E,gBAAgB,GAAG+pH,YAAY,IACzD2wS,IAAsD,IAApCD,EAAe7gf,QAAQ,UACxC+gf,EAAS3if,KAAK,SAAW4iB,EAAOmge,WAElB,eAAfv3e,EAAM0E,OACL0S,EAAOoge,gBAAkB93e,EAAU88E,gBAAgB,GAAG+pH,YAAY,IAC/D2wS,IAA4D,IAA1CD,EAAe7gf,QAAQ,gBACxC+gf,EAAS3if,KAAK,eAAiB4iB,EAAOoge,kBAG3C93e,EAAUmlP,WACTsyP,EAAS3if,KAAKkL,EAAUmlP,WAE5B5yM,EAAKklc,EAASxif,KAAK,SACE,eAAfqL,EAAM0E,MAAwC,WAAf1E,EAAM0E,MAC3C0S,EAAO4vR,WAAal/R,EAAK4P,SAASrb,EAAMkb,SAAUlb,EAAMkb,SAASqwB,IAAIloC,EAAU88E,gBAAgB,IAAK,SAAS/7E,KAC7G02e,EAAS3if,KAAK,UAAY4iB,EAAO4vR,YAC9BtnS,EAAUmlP,WACTsyP,EAAS3if,KAAKkL,EAAUmlP,WAE5B5yM,EAAKklc,EAASxif,KAAK,SAEnBs9C,EAAKvyC,EAAUmlP,UAGnB,IAAIzxO,EAAY,CACZxT,EAAGF,EAAU88E,gBAAgB,GAC7Bj3E,EAAG7F,EAAU88E,gBAAgB,GAC7Bn8E,EAAGX,EAAU88E,gBAAgB,GAC7B7/E,KAAM2pS,EAASnmQ,OACftoB,SAAUyuR,EACV/rE,YAAa+rE,EAASlyS,MACtBod,YAAa+0R,GAGjB97L,EAAGtpB,sBAAsB/tE,EAAWkzR,EAAUC,GAE3CvmS,EAAMkjF,QAAQ/7D,YACb/T,EAAYkzR,EAASpjN,QAAQ/7D,UAAU/T,EAAW1T,EAAW4mS,EAAU,GAAIC,IAG/E,IAAIp/Q,EAAY,CAAC5xB,OAAQ,CAAC6d,IAEvB/W,EAAMsM,gBAAgB4K,WACrBk3F,EAAG8yC,UAAU,CACTv9I,MAAOsmS,EACP1mS,GAAI,GAAM,GAAMo3e,EAAM,GAAKA,EAAM,IAAMtke,EACvCnN,GAAI,GAAM,GAAMyxe,EAAM,GAAKA,EAAM,IAAMx8d,EACvC6kW,OAAQjoW,EAAOioW,OACfC,OAAQloW,EAAOkoW,OACfv3V,OAAQ3Q,EAAO2Q,OACftnB,KAAMwxC,EACNngD,KAAMilf,EAAWjlf,KACjB2K,MAAOguG,EAAGw4U,gBAAgB38I,EAAUC,EAAU,YAAcwwM,EAAWt6e,MACvEosG,YAAa4B,EAAGw4U,gBAAgB38I,EAAUC,EAAU,eACpDjhR,WAAYmlF,EAAGw4U,gBAAgB38I,EAAUC,EAAU,eACnDh0R,SAAUk4F,EAAGw4U,gBAAgB38I,EAAUC,EAAU,aACjDr5P,UAAWu9D,EAAGw4U,gBAAgB38I,EAAUC,EAAU,cAClDoB,WAAYl9L,EAAGw4U,gBAAgB38I,EAAUC,EAAU,cACnD5hI,UAAWl6D,EAAGw4U,gBAAgB38I,EAAUC,EAAU,SAClD5wR,cAAe5N,EAAI8jQ,WAAWy6B,EAAUC,EAAU,iBAClDqB,oBAAqB7/R,EAAIuM,WAAW,GAAIlB,EAAWgE,GACnD+P,UAAW,CAAC/T,IACb,CACCuP,UAAWi0d,EACX72e,GAAIA,IAITL,EAAUg3B,SAAWh3B,EAAUjF,SAAW,EACzCsF,EAAGwuG,KAAK,eAAgBpnF,GAExBpnB,EAAGwuG,KAAK,eAAgBpnF,GAG5B2vd,EAAe3vd,OAEfsjF,EAAGgzC,YAAYm5V,GACf72e,EAAGwuG,KAAK,iBAAkBuoY,GAG9Bz6e,EAAMo7e,gBAAgBp7e,GAG1B,SAASq7e,EAAcr7e,EAAOm1B,EAAcr1B,EAAYwV,EAAQvW,GAC5D,IAAIu8e,EAAgB,CAChBhme,OAAQA,EACRvW,GAAIA,EACJunB,UAAWtmB,EAAMsmB,UACjB/Z,KAAMvM,EAAMiM,YACZ6pB,OAAQ91B,EAAM61B,aACda,WAAY,GACZW,YAAY,EACZH,WAAW,EACXD,YAAY,EACZ9B,aAAcA,EACdr1B,WAAYA,GAKhB,GAAGE,EAAMu7e,WAAY,CACjB,IAAItB,IACAD,EAAgBzke,SAASC,cAAc,UACvCyke,EAAiBvke,EAAW,CACxBJ,OAAQ0ke,EACRlld,uBAAuB,EACvBF,oBAAoB,EACpBC,WAAW,KAEXold,GACA,MAAM,IAAI7gf,MAAM,yDAGxBkif,EAAcx7e,WAAaE,EAAMF,WACjCw7e,EAAcv8e,GAAKk7e,EACnBqB,EAAchme,OAAS0ke,EAG3B,IAAIlnZ,EAAS,EAEb,IACI9yF,EAAMmM,OAASgue,EAAWmB,GAC5B,MAAM5oe,GACJogF,IACA,IACI9yF,EAAMmM,OAASgue,EAAWmB,GAC5B,MAAM5oe,GACJogF,KAIR,OAAOA,EAAS,EAGpB,SAAS0oZ,EAAiBx7e,EAAOsV,EAAQvW,GACrCiB,EAAMy7e,qBAEN,IAAIvgV,EAAUmgV,EAAcr7e,EAAOA,EAAMkB,OAAQlB,EAAMF,WAAYwV,EAAQvW,GAO3E,IAAIm8J,EAAS,OAAOo/U,EAAet6e,GAEnC,IAAI0D,EAAK1D,EAAMuvD,SACX/S,EAAS94C,EAAG84C,OAEZi6N,EAAa,WACb,IAAI/1Q,EAAS,GAYb,OAVGV,EAAM07e,gBAAgBl/b,KAErB97C,EAAOV,EAAMe,GAAK,WAAaf,EAAM27e,aAGtC37e,EAAM47e,gBAAgBp/b,KAErB97C,EAAOV,EAAMe,GAAK,gBAAkBf,EAAMmM,OAAOwrB,kBAG9Cj3B,GAGPm7e,EAAmB,SAAS77e,GAC5B,IAAsC,IAAnCA,EAAMsM,gBAAgBskD,SAAzB,CAEA,IAAIlwD,EAAS+1Q,IACbz2Q,EAAM87e,WAAWt/b,GACjBx8C,EAAMuvD,SAAS2iD,KAAK,kBAAmBxxG,KAuD3C,OApDAV,EAAMmM,OAAOmJ,OAAOykB,iBAAiB,WAAW,WAC5C8hd,EAAiB77e,MAGrBA,EAAMmM,OAAOmJ,OAAOykB,iBAAiB,SAAS,SAASrnB,GACnD,GAAGhP,EAAG+Y,SAAS4qM,YAAYvuH,KAAM,CAC7B,GAAG94F,EAAMmM,OAAOjL,OAAOk0B,OAAQ,CAC3B,IAAIn+B,EAAKyb,EAAE00a,OAAS10a,EAAEgiJ,OAAU,IAAM,EAAM,IACxC/+J,EAAIqK,EAAMmM,OAAOwrB,iBACrB33B,EAAMmM,OAAOyrB,eAAe,CACxBr0B,EAAGtM,EAAItB,EAAE4N,EACT2F,EAAGjS,EAAItB,EAAEuT,EACTlF,EAAG/M,EAAItB,EAAEqO,IAIjB63e,EAAiB77e,QAEtBo6e,GAAmB,CAACr5P,SAAS,IAEhC/gP,EAAMmM,OAAOmJ,OAAOykB,iBAAiB,aAAa,WAC9C,IAAsC,IAAnC/5B,EAAMsM,gBAAgBskD,UACiB,IAAvC5wD,EAAMkB,OAAOu2B,cAAc4C,QAA9B,CAEA,IAAI35B,EAAS+1Q,IACbz2Q,EAAMuvD,SAAS2iD,KAAK,qBAAsBxxG,OAG1CV,EAAMu7e,YACNv7e,EAAMmM,OAAOmJ,OAAOykB,iBAAiB,oBAAoB,SAASpQ,GAC3DjmB,GAAMA,EAAGwuG,MACRxuG,EAAGwuG,KAAK,0BAA2B,CAC/BvoF,MAAOA,EACPiuB,MAAO53C,EAAMe,QAGtB,GAGPf,EAAMmM,OAAOjL,OAASlB,EAAMkB,OAE5BlB,EAAMmM,OAAOqrB,cAAgB,WACzBx3B,EAAM+7e,kBAGV/7e,EAAMmM,OAAOorB,SAAW2E,EAAOxlC,KAAK,KAAMsJ,GAG1CA,EAAMy7C,OAAS,GAEfz7C,EAAMg8e,oBAEC,EAGX,SAASpvZ,EAAM7sF,EAAS+a,GAEpB,IAAImhe,EAAiB1me,SAASC,cAAc,OACxC+9P,EAAgBxzQ,EAAQumB,UAG5B3uB,KAAK43D,SAAWxvD,EAAQwvD,SAGxB,IAAIgrb,EAAehle,SAASiP,gBACxB,6BACA,OACJ+1d,EAAaz1e,MAAMnG,SAAW,WAC9B47e,EAAaz1e,MAAMmiB,IAAMszd,EAAaz1e,MAAMiE,KAAO,MACnDwxe,EAAaz1e,MAAMuR,MAAQkke,EAAaz1e,MAAMqZ,OAAS,OACvDo8d,EAAaz1e,MAAM,WAAa,GAChCy1e,EAAaz1e,MAAM,kBAAoB,OACvCm3e,EAAel+d,YAAYw8d,GAC3B5if,KAAK4if,aAAeA,EAGpB0B,EAAel7e,GAAKhB,EAAQgB,GAC5Bk7e,EAAen3e,MAAMnG,SAAW,WAChCs9e,EAAen3e,MAAMmiB,IAAMg1d,EAAen3e,MAAMiE,KAAO,MACvDkze,EAAen3e,MAAMuR,MAAQ4le,EAAen3e,MAAMqZ,OAAS,OAC3Do1P,EAAcx1P,YAAYk+d,GAE1Btkf,KAAKmjB,WAAaA,EAClBnjB,KAAKoJ,GAAKhB,EAAQgB,IAAM,QACxBpJ,KAAK2U,gBAAkBwO,EAAWnjB,KAAKoJ,IAGvCpJ,KAAKukf,SAAW,CAAE,GAAI,GAAI,IAK1Bvkf,KAAKsU,YAAcwsV,EAAkB39U,EAAYA,EAAWnjB,KAAKoJ,KACjEpJ,KAAKk+B,aAAe8tJ,EAAmB7oK,EAAWnjB,KAAKoJ,KACvDpJ,KAAK2uB,UAAY21d,EACjBtkf,KAAK4jf,aAAex7e,EAAQ0vD,WAC5B93D,KAAKmI,WAAanI,KAAKmI,YAAcC,EAAQ2vD,kBAAoB,EAGjE/3D,KAAKiV,UAAY,CAAC,EAAG,EAAG,GAExBjV,KAAK8V,cAAgB,CAAE,GAAI,GAAI,IAE/B9V,KAAKwkf,mBAAqB7td,EAASsa,mBAAmB,gBAAiB,WACvEjxC,KAAKyjf,gBAAkB9sd,EAASsa,mBAAmB,gBAAiB,QAEpE4yc,EAAiB7jf,MAGrB,IAAIsB,EAAQ2zF,EAAM91F,UAElBmC,EAAMwif,mBAAqB,WACvB,IAAIW,EAAazkf,KAAK2U,gBAAgBpL,OAClCg0B,EAA0C,iBAA/Bknd,EAAW96e,WAAW+G,KAErC1Q,KAAKuJ,OAASiyB,EAAax7B,KAAK2uB,UAAW,CACvCiP,OAAQ,CAAC6md,EAAW7md,OAAOhyB,EAAG64e,EAAW7md,OAAOrsB,EAAGkze,EAAW7md,OAAOvxB,GACrEsxB,IAAK,CAAC8md,EAAW9md,IAAI/xB,EAAG64e,EAAW9md,IAAIpsB,EAAGkze,EAAW9md,IAAItxB,GACzDwxB,GAAI,CAAC4md,EAAW5md,GAAGjyB,EAAG64e,EAAW5md,GAAGtsB,EAAGkze,EAAW5md,GAAGxxB,GACrDoxB,OAAQF,EACRO,QAAS,IACTC,QAAS,IACTr/B,KAAM,WAId4C,EAAM8if,eAAiB,WACnB,IAAI/7e,EAAQrI,KACRoH,EAAKpH,KAAKwU,OAAOpN,GACjBuW,EAAS3d,KAAKwU,OAAOmJ,OAIzB,SAAS+me,IACFt9e,EAAGq6B,gBACF9J,sBAAsB+sd,GAGtBb,EAAiBx7e,EAAOsV,EAAQvW,GAIpCiB,EAAM6H,KAAKjT,MAAMoL,EAAOA,EAAMk8e,UAH1Bxwe,EAAIqH,MAAM,6DARlBpb,KAAKwU,OAAOhJ,UAaZmsB,sBAAsB+sd,IAG1B,IAAIC,EAAiB,CAAE,QAAS,QAAS,SAEzC,SAASC,EAAmBv8e,EAAO2D,EAAOpF,GAGtC,IAFA,IAAI8N,EAAcrM,EAAMsM,gBAEhB9W,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAIwyb,EAAWs0D,EAAe9mf,GAC1B4iB,EAAW4va,EAASlka,OAAO,GAC3B7I,EAAK5O,EAAY27a,GACjB5wX,EAASzzD,EAAMyU,GACf9J,EAAW3K,EAAMyU,EAAW,YAC5BmK,EAAM5e,EAAM,IAAMyU,EAAW,UAEjC,GAAI1M,EAAIo8D,oBAAoB1Q,GAMxB,IAFA,IAAIv9D,EAEIxE,EAAI,EAAGA,GAAKktB,GAAO60C,EAAO9iE,QAASe,IACvC,GAAGqW,EAAIo8D,oBAAoB1Q,EAAO/hE,IAC9B,IAAI,IAAIsE,EAAI,EAAGA,EAAIy9D,EAAO/hE,GAAGf,SAAUqF,EACnCE,EAAIohB,EAAGswB,IAAI6rB,EAAO/hE,GAAGsE,GAAI,EAAG2U,IACxB9L,MAAM3I,IAAM4I,SAAS5I,KACrB0E,EAAO,GAAG/I,GAAKsF,KAAKoC,IAAIqB,EAAO,GAAG/I,GAAIqE,GACtC0E,EAAO,GAAG/I,GAAKsF,KAAKqC,IAAIoB,EAAO,GAAG/I,GAAIqE,SAI9CA,EAAIohB,EAAGswB,IAAI6rB,EAAO/hE,GAAI,EAAGiZ,IACrB9L,MAAM3I,IAAM4I,SAAS5I,KACrB0E,EAAO,GAAG/I,GAAKsF,KAAKoC,IAAIqB,EAAO,GAAG/I,GAAIqE,GACtC0E,EAAO,GAAG/I,GAAKsF,KAAKqC,IAAIoB,EAAO,GAAG/I,GAAIqE,SAlBlD0E,EAAO,GAAG/I,GAAKsF,KAAKoC,IAAIqB,EAAO,GAAG/I,GAAI,GACtC+I,EAAO,GAAG/I,GAAKsF,KAAKqC,IAAIoB,EAAO,GAAG/I,GAAI+sB,EAAM,IAyBxD,SAASi6d,EAAwBx8e,EAAOzB,GAIpC,IAHA,IAAI8N,EAAcrM,EAAMsM,gBACpBgxC,EAAcjxC,EAAYixC,aAAe,GAErC9nD,EAAI,EAAGA,EAAI,EAAGA,IAKlB,IAJA,IAAIwyb,EAAWs0D,EAAe9mf,GAC1B4iB,EAAW4va,EAASlka,OAAO,GAC3B7I,EAAK5O,EAAY27a,GAEbrub,EAAI,EAAGA,EAAI2jD,EAAYhpD,OAAQqF,IAAK,CACxC,IAAI4jD,EAAMD,EAAY3jD,GAEtB,GAAG4jD,EAAIr2C,QAAS,CACZ,IAAI+gC,EAAMhtB,EAAG4V,IAAI0sB,EAAInlC,KACjB5V,MAAMylC,IAAQxlC,SAASwlC,KACvB1pC,EAAO,GAAG/I,GAAKsF,KAAKoC,IAAIqB,EAAO,GAAG/I,GAAIyyC,GACtC1pC,EAAO,GAAG/I,GAAKsF,KAAKqC,IAAIoB,EAAO,GAAG/I,GAAIyyC,MAyS1D,SAASw0c,EAAgBv7e,GACrB,MAAO,CACH,CAACA,EAAOo0B,IAAI/xB,EAAGrC,EAAOo0B,IAAIpsB,EAAGhI,EAAOo0B,IAAItxB,GACxC,CAAC9C,EAAOq0B,OAAOhyB,EAAGrC,EAAOq0B,OAAOrsB,EAAGhI,EAAOq0B,OAAOvxB,GACjD,CAAC9C,EAAOs0B,GAAGjyB,EAAGrC,EAAOs0B,GAAGtsB,EAAGhI,EAAOs0B,GAAGxxB,IAM7C,SAAS04e,EAAgBx7e,GACrB,MAAO,CACHs0B,GAAI,CAACjyB,EAAGrC,EAAOs0B,GAAG,GAAItsB,EAAGhI,EAAOs0B,GAAG,GAAIxxB,EAAG9C,EAAOs0B,GAAG,IACpDD,OAAQ,CAAChyB,EAAGrC,EAAOq0B,OAAO,GAAIrsB,EAAGhI,EAAOq0B,OAAO,GAAIvxB,EAAG9C,EAAOq0B,OAAO,IACpED,IAAK,CAAC/xB,EAAGrC,EAAOo0B,IAAI,GAAIpsB,EAAGhI,EAAOo0B,IAAI,GAAItxB,EAAG9C,EAAOo0B,IAAI,IACxDh0B,WAAY,CAAC+G,MAAyB,IAAlBnH,EAAOk0B,OAAmB,eAAiB,gBAjTvEn8B,EAAM4O,KAAO,SAAS80e,EAAW7he,EAAY0hC,GAIzC,GAFA7kD,KAAKukf,SAAW,CAACS,EAAW7he,EAAY0hC,IAErC7kD,KAAKwU,OAAOmqB,YAAf,CAEA,IAAIh2B,EAAMqD,EACNtO,EAAGsE,EAAG4nF,EAAMq7Z,EACZtwe,EAAkBwO,EAAWnjB,KAAKoJ,IAClCsL,EAAcmwC,EAAO7kD,KAAKoJ,IAE3BuL,EAAgBw0F,QAASnpG,KAAKwU,OAAO4qB,WAAasjd,EAAc/te,EAAgBw0F,SAC9EnpG,KAAKwU,OAAO4qB,WAAa,CAAC,EAAG,EAAG,EAAG,GAExCp/B,KAAKwU,OAAOkrB,YAAa,EAGzB1/B,KAAKmjB,WAAaA,EAClBnjB,KAAK2U,gBAAkBA,EAEvB3U,KAAKklf,aAAevwe,EACpB3U,KAAKsU,YAAY23K,MAAM9oK,EAAYxO,GACnC3U,KAAKk+B,aAAa+tJ,MAAMt3K,GAGxB3U,KAAK2jb,YAAYhva,GACjB3U,KAAKg5D,SAASrkD,EAAgBskD,SAAUtkD,EAAgB4K,WACxDvf,KAAKuJ,OAAOkpZ,YAAczyZ,KAAK43D,SAAS9yC,SAAS4qM,YAAYvuH,KAG7DnhG,KAAKwU,OAAOzL,OAAO,IAGnB/I,KAAKgvC,WAAW46C,GAGZo7Z,EACK3jf,MAAM0J,QAAQi6e,KAAYA,EAAY,CAACA,IADjCA,EAAY,GAI3B,IAAIG,EAAa,CACb,CAACx9e,IAAUA,IAAUA,KACrB,EAAEA,KAAWA,KAAWA,MAG5B,IAAIjK,EAAI,EAAGA,EAAIsnf,EAAUrof,SAAUe,EAC/BiL,EAAOq8e,EAAUtnf,IACG,IAAjBiL,EAAK4G,SAAqC,IAAjB5G,EAAKkM,SAEjC+ve,EAAmB5kf,KAAM2I,EAAMw8e,GAEnCN,EAAwB7kf,KAAMmlf,GAE9B,IAAIlwe,EAAY,CAAC,EAAG,EAAG,GACvB,IAAIjT,EAAI,EAAGA,EAAI,IAAKA,EACbmjf,EAAW,GAAGnjf,KAAOmjf,EAAW,GAAGnjf,GAClCiT,EAAUjT,GAAK,EAEfiT,EAAUjT,GAAK,GAAOmjf,EAAW,GAAGnjf,GAAKmjf,EAAW,GAAGnjf,IAW/D,IANAhC,KAAKiV,UAAYA,EAGjBjV,KAAKwkf,mBAAmBxkf,MAGpBtC,EAAI,EAAGA,EAAIsnf,EAAUrof,SAAUe,EAC/BiL,EAAOq8e,EAAUtnf,IACG,IAAjBiL,EAAK4G,SAAqC,IAAjB5G,EAAKkM,UAGjC7I,EAAQhM,KAAK8jD,OAAOn7C,EAAK8pB,KACtBzmB,EACIA,EAAMrD,KAAK+H,OAAS/H,EAAK+H,KACxB1E,EAAMjD,OAAOJ,IAEbqD,EAAMR,UACNQ,EAAQrD,EAAKumF,QAAQh/E,KAAKlQ,KAAM2I,GAChC3I,KAAK8jD,OAAOn7C,EAAK8pB,KAAOzmB,IAG5BA,EAAQrD,EAAKumF,QAAQh/E,KAAKlQ,KAAM2I,GAChC3I,KAAK8jD,OAAOn7C,EAAK8pB,KAAOzmB,GAE5BA,EAAMlO,KAAO6K,EAAK7K,MAItB,IAAIsnf,EAAWnnf,OAAO8mD,KAAK/kD,KAAK8jD,QAEhCuhc,EACA,IAAI3nf,EAAI,EAAGA,EAAI0nf,EAASzof,SAAUe,EAAG,CACjC,IAAIsE,EAAI,EAAGA,EAAIgjf,EAAUrof,SAAUqF,EAC/B,GAAGgjf,EAAUhjf,GAAGywB,MAAQ2yd,EAAS1nf,KACH,IAAzBsnf,EAAUhjf,GAAGuN,SAA6C,IAAzBy1e,EAAUhjf,GAAG6S,QAC/C,SAASwwe,EAGjBr5e,EAAQhM,KAAK8jD,OAAOshc,EAAS1nf,IAC7BsO,EAAMR,iBACCxL,KAAK8jD,OAAOshc,EAAS1nf,IAIhCsC,KAAKwU,OAAO4pB,QAAQh6B,MAAK,SAAStH,EAAGC,GACjC,OAAOD,EAAE4zP,OAAO/nP,KAAKvI,MAAQrD,EAAE2zP,OAAO/nP,KAAKvI,SAI/C,IAAIklf,EAAc,CAAC,CAAC,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,IACjCC,EAAgB,GAChBC,EAAiB,GAErB,IAAI9nf,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAcnB,GAbAksF,EAAOj1E,EAAgBgwe,EAAejnf,IACtCunf,EAAWr7Z,EAAKl5E,KAEbu0e,KAAYO,GACXA,EAAeP,GAAUl6S,KAAO91L,EAAUvX,GAC1C8nf,EAAeP,GAAUj9a,OAAS,GAElCw9a,EAAeP,GAAY,CACvBl6S,IAAK91L,EAAUvX,GACfsqE,MAAO,GAIZ4hB,EAAKp6C,UAAW,CACf81c,EAAY,GAAG5nf,GAAKiK,IACpB29e,EAAY,GAAG5nf,IAAMiK,IAErB,IAAIy2B,EAAUp+B,KAAKwU,OAAO4pB,QACtBunB,EAAc3lD,KAAK2U,gBAAgBgxC,aAAe,GAClDllC,EAAWmpE,EAAKlvD,MAAMvO,OAAO,GAEjC,IAAInqB,EAAI,EAAGA,EAAIo8B,EAAQzhC,OAAQqF,IAAK,CAChC,IAAI84B,EAAMsD,EAAQp8B,GACdyjf,EAAY3qd,EAAIl0B,OAChB0Q,EAAMwjB,EAAI41N,OAAO/nP,KAAK6nb,MAAQ,EAEN,cAAzB11Z,EAAIC,YAAYj9B,MAAwB8rF,EAAK87Z,oBAC5CJ,EAAY,GAAG5nf,GAAKyF,KAAKoC,IAAI+/e,EAAY,GAAG5nf,GAAIksF,EAAK87Z,qBAErDJ,EAAY,GAAG5nf,GAAKyF,KAAKoC,IAAI+/e,EAAY,GAAG5nf,GAAI+nf,EAAU,GAAG/nf,GAAKuX,EAAUvX,GAAK4Z,GAErFgue,EAAY,GAAG5nf,GAAKyF,KAAKqC,IAAI8/e,EAAY,GAAG5nf,GAAI+nf,EAAU,GAAG/nf,GAAKuX,EAAUvX,GAAK4Z,GAGrF,IAAItV,EAAI,EAAGA,EAAI2jD,EAAYhpD,OAAQqF,IAAK,CACpC,IAAI4jD,EAAMD,EAAY3jD,GAGtB,GAAG4jD,EAAIr2C,QAAS,CACZ,IAAI+gC,EAAMs5C,EAAK1wD,IAAI0sB,EAAInlC,IACvB6ke,EAAY,GAAG5nf,GAAKyF,KAAKoC,IAAI+/e,EAAY,GAAG5nf,GAAI4yC,GAChDg1c,EAAY,GAAG5nf,GAAKyF,KAAKqC,IAAI8/e,EAAY,GAAG5nf,GAAI4yC,IAQxD,GAJG,cAAes5C,GAA2B,WAAnBA,EAAKs/B,YAC3Bo8X,EAAY,GAAG5nf,GAAKyF,KAAKoC,IAAI+/e,EAAY,GAAG5nf,GAAI,GAChD4nf,EAAY,GAAG5nf,GAAKyF,KAAKqC,IAAI8/e,EAAY,GAAG5nf,GAAI,IAEjD4nf,EAAY,GAAG5nf,GAAK4nf,EAAY,GAAG5nf,GAClC4nf,EAAY,GAAG5nf,IAAM,EACrB4nf,EAAY,GAAG5nf,GAAK,MACjB,CACH,IAAIG,EAAIynf,EAAY,GAAG5nf,GAAK4nf,EAAY,GAAG5nf,GAC3C4nf,EAAY,GAAG5nf,IAAMG,EAAI,GACzBynf,EAAY,GAAG5nf,IAAMG,EAAI,GAG7B,GAAsB,aAAnB+rF,EAAKp6C,UAA0B,CAE9B,IAAI38B,EAAMyye,EAAY,GAAG5nf,GACzB4nf,EAAY,GAAG5nf,GAAK4nf,EAAY,GAAG5nf,GACnC4nf,EAAY,GAAG5nf,GAAKmV,OAErB,CACH,IAAIuC,EAAQw0E,EAAKx0E,MACjBkwe,EAAY,GAAG5nf,GAAKksF,EAAK1wD,IAAI9jB,EAAM,IACnCkwe,EAAY,GAAG5nf,GAAKksF,EAAK1wD,IAAI9jB,EAAM,IAEpCkwe,EAAY,GAAG5nf,KAAO4nf,EAAY,GAAG5nf,KACpC4nf,EAAY,GAAG5nf,IAAM,EACrB4nf,EAAY,GAAG5nf,IAAM,GAEzB6nf,EAAc7nf,GAAK4nf,EAAY,GAAG5nf,GAAK4nf,EAAY,GAAG5nf,GAGtDsC,KAAKwU,OAAO5N,OAAO,GAAGlJ,GAAK4nf,EAAY,GAAG5nf,GAAKuX,EAAUvX,GACzDsC,KAAKwU,OAAO5N,OAAO,GAAGlJ,GAAK4nf,EAAY,GAAG5nf,GAAKuX,EAAUvX,GAG7D,IAAIiof,EAAiB,CAAC,EAAG,EAAG,GAG5B,IAAIjof,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACnBksF,EAAOj1E,EAAgBgwe,EAAejnf,IACtCunf,EAAWr7Z,EAAKl5E,KAChB,IAAIk1e,EAAYJ,EAAeP,GAC/BU,EAAejof,GAAKyF,KAAKw5B,IAAIipd,EAAU76S,IAAK,EAAM66S,EAAU59a,OAAS/yD,EAAUvX,GAMnF,IACIohC,EADA+md,EAAsB,EAG1B,GAAkC,SAA/Blxe,EAAgBwla,WAMXr7Y,EALD37B,KAAKqC,IAAIvI,MAAM,KAAM0of,GAAkBxif,KAAKoC,IAAItI,MAAM,KAAM0of,IAAmBE,EAKhEF,EAKA,CAAC,EAAG,EAAG,QAEtB,GAAkC,SAA/Bhxe,EAAgBwla,WACtBr7Y,EAAc,CAAC,EAAG,EAAG,QAClB,GAAkC,SAA/BnqB,EAAgBwla,WACtBr7Y,EAAc6md,MACX,IAAkC,WAA/Bhxe,EAAgBwla,WAItB,MAAM,IAAI14a,MAAM,4DAHhB,IAAIqkf,EAAYnxe,EAAgBurB,YAChCpB,EAAc,CAACgnd,EAAUl6e,EAAGk6e,EAAUv0e,EAAGu0e,EAAUz5e,GASvDsI,EAAgBurB,YAAYt0B,EAAI8I,EAAYwrB,YAAYt0B,EAAIkzB,EAAY,GACxEnqB,EAAgBurB,YAAY3uB,EAAImD,EAAYwrB,YAAY3uB,EAAIutB,EAAY,GACxEnqB,EAAgBurB,YAAY7zB,EAAIqI,EAAYwrB,YAAY7zB,EAAIyyB,EAAY,GAMxE9+B,KAAKwU,OAAOyrB,eAAetrB,EAAgBurB,aAGvClgC,KAAKy1F,YAAYv1D,cACjBlgC,KAAKy1F,YAAYv1D,YAAc,CAC3Bt0B,EAAG+I,EAAgBurB,YAAYt0B,EAC/B2F,EAAGoD,EAAgBurB,YAAY3uB,EAC/BlF,EAAGsI,EAAgBurB,YAAY7zB,IAKvC,IAAI8gD,EAASx4C,EAAgBw4C,QAAU,KACnClsC,EAAOkC,EAAWguC,OAAS,KAE/B,GAAGhE,GAAUlsC,EAAM,CACf,IAAI8ke,EAAiB/lf,KAAK2uB,UAAUxhB,MACpC44e,EAAe/+e,SAAW,WAC1B++e,EAAe30e,KAAQ6P,EAAKtjB,EAAIwvD,EAAOvhD,EAAE,GAAKqV,EAAKhG,EAAK,KACxD8qe,EAAez2d,IAAOrO,EAAKxiB,GAAK,EAAI0uD,EAAO57C,EAAE,IAAM0P,EAAKutC,EAAK,KAC7Du3b,EAAerne,MAASuC,EAAKhG,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,IAAO,KAChEm6e,EAAev/d,OAAUvF,EAAKutC,GAAKrB,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,IAAO,KAIrEvR,KAAKwU,OAAO0uB,WAGhB5hC,EAAM2xB,QAAU,WACRjzB,KAAKwU,SAETxU,KAAKuJ,OAAOu2B,cAAc4B,SAAU,EACpC1hC,KAAK2uB,UAAU2T,oBAAoB,QAAStiC,KAAKuJ,OAAO0qZ,eACxDj0Z,KAAKuJ,OAASvJ,KAAKwU,OAAOjL,OAAS,KACnCvJ,KAAKwU,OAAOhJ,UACZxL,KAAK2uB,UAAUtJ,WAAWiqG,YAAYtvH,KAAK2uB,WAC3C3uB,KAAKwU,OAAS,OAyBlBlT,EAAM0if,UAAY,WAEd,OADAhkf,KAAKwU,OAAOjL,OAAOG,KAAK6vN,aAAav5N,KAAKuJ,OAAOG,KAAKowN,SAC/CirR,EAAgB/kf,KAAKwU,OAAOjL,SAIvCjI,EAAMqib,YAAc,SAASjva,GACzB,IAAI+ve,EAAa/ve,EAAYnL,OAE7BvJ,KAAKwU,OAAOjL,OAAOgvN,OAAOt7N,MAAM+C,KAAM8kf,EAAgBL,IACtDzkf,KAAKwU,OAAOyrB,eAAevrB,EAAYwrB,aAEvC,IAAI8ld,EAA2C,iBAA/BvB,EAAW96e,WAAW+G,KAClCu1e,EAAWjmf,KAAKwU,OAAOjL,OAAOk0B,OAElC,GAAGuod,IAAaC,EAAU,CACtBjmf,KAAKwU,OAAO0uB,SAEZ,IAAIk4F,EAAOp7H,KAAKwU,OAAO4qB,WACvBp/B,KAAKwU,OAAOpN,GAAGg4B,WACXg8F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAEpCp7H,KAAKwU,OAAOpN,GAAGm5B,MACXvgC,KAAKwU,OAAOpN,GAAGq5B,iBACfzgC,KAAKwU,OAAOpN,GAAGo5B,kBAGnBxgC,KAAKwU,OAAOhJ,UAEZq4e,EAAiB7jf,MACjBA,KAAKwU,OAAOjL,OAAOk0B,OAASuod,IAIpC1kf,EAAMyif,gBAAkB,SAASl/b,GAC7B,IAAI4/b,EAAazkf,KAAKgkf,YAClBkC,EAAmBnye,EAAImyC,eAAerB,EAAQ7kD,KAAKoJ,GAAK,WACxD+8e,EAAqBD,EAAiB9nf,MAE1C,SAASgof,EAAKx6e,EAAG2F,EAAG7T,EAAGsE,GACnB,IAAIusG,EAAU,CAAC,KAAM,SAAU,OAC3Bg5C,EAAa,CAAC,IAAK,IAAK,KAC5B,OAAOh2I,EAAEg9F,EAAQ7wG,KAAQkO,EAAE2iG,EAAQ7wG,IAAI6pJ,EAAWvlJ,MAAQuP,EAAEg9F,EAAQ7wG,IAAI6pJ,EAAWvlJ,IAGvF,IAAI6yO,GAAU,EACd,QAA0Bj4O,IAAvBupf,EACCtxQ,GAAU,MACP,CACH,IAAI,IAAIn3O,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAI,IAAIsE,EAAI,EAAGA,EAAI,EAAGA,IAClB,IAAIokf,EAAK3B,EAAY0B,EAAoBzof,EAAGsE,GAAI,CAC5C6yO,GAAU,EACV,QAKRsxQ,EAAmBx8e,YACnB86e,EAAW96e,YACX86e,EAAW96e,WAAW+G,OAASy1e,EAAmBx8e,WAAW+G,QAC7DmkO,GAAU,GAIlB,OAAOA,GAGXvzO,EAAM2if,gBAAkB,SAASp/b,GAC7B,IAAIwhc,EAAarmf,KAAKwU,OAAOwrB,iBACzBsmd,EAAmBvye,EAAImyC,eAAerB,EAAQ7kD,KAAKoJ,GAAK,gBACxDm9e,EAAqBD,EAAiBlof,MAE1C,YAC2BxB,IAAvB2pf,GACAA,EAAmB36e,IAAMy6e,EAAWz6e,GACpC26e,EAAmBh1e,IAAM80e,EAAW90e,GACpCg1e,EAAmBl6e,IAAMg6e,EAAWh6e,GAK5C/K,EAAM6if,WAAa,SAASt/b,GACxB,IAEI4/b,EACAyB,EACAC,EAEAE,EACAC,EACAC,EARApje,EAAanjB,KAAKmjB,WAUlBqje,EAAgBxmf,KAAK+jf,gBAAgBl/b,GACrC4hc,EAAgBzmf,KAAKikf,gBAAgBp/b,GAErCjQ,EAAa4xc,GAAiBC,EAClC,GAAG7xc,EAAY,CACX,IAAI82T,EAAS,GAiBb,GAhBG86I,IACC/B,EAAazkf,KAAKgkf,YAClBkC,EAAmBnye,EAAImyC,eAAerB,EAAQ7kD,KAAKoJ,GAAK,WACxD+8e,EAAqBD,EAAiB9nf,MAEtCstW,EAAO1rW,KAAKoJ,GAAK,WAAa+8e,GAE/BM,IACCJ,EAAarmf,KAAKwU,OAAOwrB,iBACzBsmd,EAAmBvye,EAAImyC,eAAerB,EAAQ7kD,KAAKoJ,GAAK,gBACxDm9e,EAAqBD,EAAiBlof,MAEtCstW,EAAO1rW,KAAKoJ,GAAK,gBAAkBm9e,GAEvC5vd,EAAS95B,KAAK,sBAAuBgoD,EAAQ1hC,EAAWotM,QAASm7I,GAE9D86I,EAAe,CACdN,EAAiB76e,IAAIo5e,GAErB,IAAIiC,EAAe3ye,EAAImyC,eAAe/iC,EAAYnjB,KAAKoJ,GAAK,WAC5Ds9e,EAAar7e,IAAIo5e,GAGrB,GAAGgC,EAAe,CACdH,EAAiBj7e,IAAIg7e,GAErB,IAAIM,EAAe5ye,EAAImyC,eAAe/iC,EAAYnjB,KAAKoJ,GAAK,gBAC5Du9e,EAAat7e,IAAIg7e,GAEjBrmf,KAAKwU,OAAO0uB,UAIpB,OAAO0R,GAGXtzC,EAAM03D,SAAW,SAASC,EAAU15C,GAChC,IAAIhW,EAASvJ,KAAKuJ,OAClB,GAAGA,EAEC,GAAgB,UAAb0vD,EACC1vD,EAAO7K,KAAO,QACd6K,EAAOipZ,eAAiB,cACrB,GAAgB,cAAbv5V,EAA0B,CAChC1vD,EAAOs0B,GAAK,CAAC,EAAG,EAAG,GACnBt0B,EAAO7K,KAAO,YACd6K,EAAOipZ,eAAiB,SAKxB,IAAIzmZ,EAAK/L,KAAK43D,SACVz0C,EAAapX,EAAGymB,YAChBo0d,EAAa5mf,KAAK2U,gBAAgBpL,OAClCqC,EAAIg7e,EAAW/od,GAAGjyB,EAClB2F,EAAIq1e,EAAW/od,GAAGtsB,EAClBlF,EAAIu6e,EAAW/od,GAAGxxB,EAEtB,GAAGA,EAAIlJ,KAAKuD,KAAKkF,EAAIA,EAAI2F,EAAIA,EAAIlF,EAAIA,GAAK,KAAO,CAC7C,IAAI4Y,EAAOjlB,KAAKoJ,GAAK,aACjBy9e,EAAM,CAACj7e,EAAG,EAAG2F,EAAG,EAAGlF,EAAG,GACtBuqB,EAAQ,GACZA,EAAM3R,GAAQ4he,EACd,IAAIhic,EAAS94C,EAAG84C,OAChBluB,EAAS95B,KAAK,sBAAuBgoD,EAAQ1hC,EAAWotM,QAAS35L,GACjEgwd,EAAW/od,GAAKgpd,EAChB9ye,EAAImyC,eAAerB,EAAQ5/B,GAAM5Z,IAAIw7e,SAIzCt9e,EAAOipZ,eAAiBv5V,EAKhCj5D,KAAK2U,gBAAgB4K,UAAYA,GAGrCje,EAAMs3D,QAAU,SAASiqC,GACjBA,IAAQA,EAAS,OAElB7iG,KAAK4jf,YAAY5jf,KAAK2uB,UAAUvI,YAAYi8d,GAG/Crif,KAAKwU,OAAO0uB,SAGZ,IAAI97B,EAAKpH,KAAKwU,OAAOpN,GACjB6T,EAAI7T,EAAG0C,mBACP0kD,EAAIpnD,EAAG2C,oBAEX3C,EAAGw8B,gBAAgBx8B,EAAGy8B,YAAa,MAEnC,IAAIw2U,EAAS,IAAI7pW,WAAWyK,EAAIuzC,EAAI,GACpCpnD,EAAGy9M,WAAW,EAAG,EAAG5pM,EAAGuzC,EAAGpnD,EAAGg0H,KAAMh0H,EAAG2zH,cAAes/O,GAGrD,IAAI,IAAIr4W,EAAI,EAAGG,EAAIqsD,EAAI,EAAGxsD,EAAIG,IAAKH,IAAKG,EACpC,IAAI,IAAIzE,EAAI,EAAGA,EAAIud,IAAKvd,EACpB,IAAI,IAAIC,EAAI,EAAGA,EAAI,IAAKA,EAAG,CACvB,IAAIkV,EAAMwnW,EAAO,GAAKp/V,EAAIjZ,EAAItE,GAAKC,GACnC08W,EAAO,GAAKp/V,EAAIjZ,EAAItE,GAAKC,GAAK08W,EAAO,GAAKp/V,EAAI9Y,EAAIzE,GAAKC,GACvD08W,EAAO,GAAKp/V,EAAI9Y,EAAIzE,GAAKC,GAAKkV,EAK1C,IAAI8K,EAASC,SAASC,cAAc,UACpCF,EAAOe,MAAQzD,EACf0C,EAAO6I,OAASgoC,EAChB,IAKIs4b,EALAh3d,EAAUnS,EAAOI,WAAW,MAC5B46C,EAAY7oC,EAAQi3d,gBAAgB9re,EAAGuzC,GAM3C,OALAmK,EAAUhwD,KAAK0C,IAAIgvW,GACnBvqV,EAAQk3d,aAAarub,EAAW,EAAG,GAI5BkqC,GACH,IAAK,OACDikZ,EAAUnpe,EAAO2/D,UAAU,cAC3B,MACJ,IAAK,OACDwpa,EAAUnpe,EAAO2/D,UAAU,cAC3B,MACJ,QACIwpa,EAAUnpe,EAAO2/D,UAAU,aAKnC,OAFGt9E,KAAK4jf,YAAY5jf,KAAK2uB,UAAU2gG,YAAY+yX,GAExCyE,GAGXxlf,EAAM0tC,WAAa,WACf,IAAI,IAAItxC,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACvB,IAAI4lB,EAAKtjB,KAAK2U,gBAAgBgwe,EAAejnf,IAC7CoW,EAAKk7B,WAAW1rB,EAAItjB,KAAKmjB,YACzBG,EAAG2U,SAAWlkB,EAAIw0D,OAI1BjnE,EAAM+if,iBAAmB,WACrB,IAAI1yX,EAAQ3xH,KACR+L,EAAK4lH,EAAM/5D,SACXz0C,EAAapX,EAAGymB,YAGpBm/F,EAAMpuG,SAAW,CACb7S,KAAM,SACNqqC,aAAc,MACdhC,eAAgB,KAEpBjlC,EAAKk7B,WAAW2iF,EAAMpuG,SAAUJ,IAGpC9mB,EAAOC,QAAU24F,GAKX,KACA,SAAU54F,EAAQknE,EAAqB/lE,GAE7C,aAG6B,IAAI07G,EAAY,SAAUp8G,EAAGC,GACxD,OAAOD,EAAIC,GAAK,EAAID,EAAIC,EAAI,EAAID,GAAKC,EAAI,EAAIugE,KAMdynP,EAAW,SAAUjzS,GAEpD,OADuB,IAAnBA,EAAQnV,SAAcmV,EAAUm1e,EAAoBn1e,IACjD,CACLV,KAAM,SAAStU,EAAG8O,EAAGmJ,EAAID,GACb,MAANC,IAAYA,EAAK,GACX,MAAND,IAAYA,EAAKhY,EAAEH,QACvB,MAAOoY,EAAKD,EAAI,CACd,IAAIk2F,EAAMj2F,EAAKD,IAAO,EAClBhD,EAAQhV,EAAEkuG,GAAMp/F,GAAK,EAAGmJ,EAAKi2F,EAAM,EAClCl2F,EAAKk2F,EAEZ,OAAOj2F,GAET1D,MAAO,SAASvU,EAAG8O,EAAGmJ,EAAID,GACd,MAANC,IAAYA,EAAK,GACX,MAAND,IAAYA,EAAKhY,EAAEH,QACvB,MAAOoY,EAAKD,EAAI,CACd,IAAIk2F,EAAMj2F,EAAKD,IAAO,EAClBhD,EAAQhV,EAAEkuG,GAAMp/F,GAAK,EAAGkJ,EAAKk2F,EAC5Bj2F,EAAKi2F,EAAM,EAElB,OAAOj2F,KAKb,SAASkye,EAAoBzhd,GAC3B,OAAO,SAAS3nC,EAAG+N,GACjB,OAAOstG,EAAU1zE,EAAE3nC,GAAI+N,IAQ3B,IAAIs7e,EAAkBniM,EAAS7rM,GACbguY,EAAgB71e,MACjB61e,EAAgB91e,KAkBJ,IA0BIuqC,EAAS,SAAU/vC,GAClD,OAAa,OAANA,EAAa0xD,KAAO1xD,GAsFzBu7e,EAAc9lf,MAAMlC,UAEZgof,EAAYxlf,MACdwlf,EAAYzuc,IA8BZv1C,KAAKuD,KAAK,IACXvD,KAAKuD,KAAK,IACVvD,KAAKuD,KAAK,GAmDU,IAoHI0gf,EAAU,SAAU/wd,EAAQgxd,GAC3D,IAEI7of,EACAgH,EAHAxG,EAAIq3B,EAAO15B,OACXe,GAAK,EAIT,GAAe,MAAX2pf,GACF,QAAS3pf,EAAIsB,EACX,GAA2B,OAAtBR,EAAQ63B,EAAO34B,KAAec,GAASA,EAAO,CACjDgH,EAAMhH,EACN,QAASd,EAAIsB,EACgB,OAAtBR,EAAQ63B,EAAO34B,KAAec,EAAQgH,IACzCA,EAAMhH,SAQd,QAASd,EAAIsB,EACX,GAA+C,OAA1CR,EAAQ6of,EAAQhxd,EAAO34B,GAAIA,EAAG24B,KAAoB73B,GAASA,EAAO,CACrEgH,EAAMhH,EACN,QAASd,EAAIsB,EACoC,OAA1CR,EAAQ6of,EAAQhxd,EAAO34B,GAAIA,EAAG24B,KAAoB73B,EAAQgH,IAC7DA,EAAMhH,GAOhB,OAAOgH,GAMwB8hf,EAAW,SAAUjxd,EAAQgxd,GAC5D,IAGI7of,EAHAQ,EAAIq3B,EAAO15B,OACXiB,EAAIoB,EACJtB,GAAK,EAELs0D,EAAM,EAEV,GAAe,MAAXq1b,EACF,QAAS3pf,EAAIsB,EACN6L,MAAMrM,EAAQm9C,EAAOtlB,EAAO34B,OAC1BE,EADgCo0D,GAAOxzD,OAMhD,QAASd,EAAIsB,EACN6L,MAAMrM,EAAQm9C,EAAO0rc,EAAQhxd,EAAO34B,GAAIA,EAAG24B,OACzCz4B,EADoDo0D,GAAOxzD,EAKtE,GAAIZ,EAAG,OAAOo0D,EAAMp0D,GAyDW2pf,EAAU,SAAUlxd,EAAQgxd,GAC3D,IAEI7of,EACA+G,EAHAvG,EAAIq3B,EAAO15B,OACXe,GAAK,EAIT,GAAe,MAAX2pf,GACF,QAAS3pf,EAAIsB,EACX,GAA2B,OAAtBR,EAAQ63B,EAAO34B,KAAec,GAASA,EAAO,CACjD+G,EAAM/G,EACN,QAASd,EAAIsB,EACgB,OAAtBR,EAAQ63B,EAAO34B,KAAe6H,EAAM/G,IACvC+G,EAAM/G,SAQd,QAASd,EAAIsB,EACX,GAA+C,OAA1CR,EAAQ6of,EAAQhxd,EAAO34B,GAAIA,EAAG24B,KAAoB73B,GAASA,EAAO,CACrE+G,EAAM/G,EACN,QAASd,EAAIsB,EACoC,OAA1CR,EAAQ6of,EAAQhxd,EAAO34B,GAAIA,EAAG24B,KAAoB9wB,EAAM/G,IAC3D+G,EAAM/G,GAOhB,OAAO+G,GAiDwBiif,EAAU,SAAUnxd,EAAQgxd,GAC3D,IAEI7of,EAFAQ,EAAIq3B,EAAO15B,OACXe,GAAK,EAELs0D,EAAM,EAEV,GAAe,MAAXq1b,EACF,QAAS3pf,EAAIsB,GACPR,GAAS63B,EAAO34B,MAAIs0D,GAAOxzD,QAKjC,QAASd,EAAIsB,GACPR,GAAS6of,EAAQhxd,EAAO34B,GAAIA,EAAG24B,MAAS27B,GAAOxzD,GAIvD,OAAOwzD,GA+BgCx0D,EAAoBK,EAAE0lE,EAAqB,KAAK,WAAa,OAAO21C,KAU1E17G,EAAoBK,EAAE0lE,EAAqB,KAAK,WAAa,OAAO6jb,KACnE5pf,EAAoBK,EAAE0lE,EAAqB,KAAK,WAAa,OAAO+jb,KAGrE9pf,EAAoBK,EAAE0lE,EAAqB,KAAK,WAAa,OAAOgkb,KAOpE/pf,EAAoBK,EAAE0lE,EAAqB,KAAK,WAAa,OAAOikb,MAsCjG,KACA,SAAUnrf,EAAQC,EAASkB,GAEjC,aAgBAnB,EAAOC,QAAU,SAAiB2lB,GAC9B,OAAOA,EAASjB,IAAMiB,EAAShB,KAAO,MAMpC,KACA,SAAU5kB,EAAQC,EAASkB,GAEjC,aAYA,IAAIuW,EAAMvW,EAAoB,QAE1B8K,EAAa9K,EAAoB,QAErCnB,EAAOC,QAAU,SAAwBi6D,EAASC,EAAU4D,GACxD,SAASlqB,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOqmB,EAASC,EAAUluD,EAAY2c,EAAMtE,GAG3DuvB,EAAO,KACPA,EAAO,KAEPA,EAAO,WACPA,EAAO,WAEJqmB,EAAQg9D,IAAMh9D,EAAQg9D,cAAcnvG,eACnCoyC,EAAS+8D,GAAKh9D,EAAQg9D,IAGvBh9D,EAAQrlB,SAAWqlB,EAAQrlB,mBAAmBukL,aAC7Cj/J,EAAStlB,QAAUqlB,EAAQrlB,SAG/BhB,EAAO,QACPA,EAAO,eAAgBkqB,GACvBlqB,EAAO,kBACPA,EAAO,gBACPA,EAAO,kBACPA,EAAO,kBACPA,EAAO,sBAAuBkqB,GAC9BlqB,EAAO,2BAGPsmB,EAAS3hD,QAAU,OAMjB,KACA,SAAUxY,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBq+E,EAAar+E,EAAoB,QACjCwyL,EAAUxyL,EAAoB,QAElCnB,EAAOC,QAAU,SAAsB0P,GACnC,IAAIiW,EAAWjW,EAAMiW,SACjBnB,EAAQmB,EAASnB,MACjBE,EAAMgvK,EAAQ/tK,GACdkuK,EAAKluK,EAAShB,MAAQ,EACtBzc,EAAKrB,KAAK2N,OAAOkQ,EAAMF,GAASqvK,GAAM,EACtChiK,EAA8B,UAAtBlM,EAASurB,SAAuB,EAAI,EAC5CuwF,EAAQliD,EAAWI,YAAYjwE,GAE/BlB,SAASqlL,KACTA,EAAK,EACL3rL,EAAK,GAGT,IAQIy7D,EAAIviE,EARJsgI,EAAMD,EAAME,aACZpiD,EAAWqiD,UAAUH,EAAM7hD,YAC3B6hD,EAAM7hD,WAENtxD,EAAMozG,EAAIrhI,OACVwwD,EAAS,IAAI9rD,MAAMupB,GACnBxV,EAAQ,IAAI/T,MAAMupB,GAItB,GAAyB,YAAtB3I,EAASurB,SAAwB,CAChC,IAAIi6c,EAAQ1pX,EAAMx4H,IACdmif,EAAQ3pX,EAAMv4H,IAElB,IAAI9H,EAAI,EAAGA,EAAIktB,EAAKltB,IAChBuiE,EAAK+9D,EAAItgI,GACTyvD,EAAOzvD,GAAKuiE,EAAG,IAAMynb,EAAQD,GAASA,EACtCrye,EAAM1X,GAAKuiE,EAAG,GAKlB,IAAI0nb,EAASr7e,EAAG44D,OAAO,CACnBuib,EACAC,EACAzle,EAASnB,MACTmB,EAASnB,MAAQqvK,GAAM3rL,EAAK,KAE5Boe,EAAO+ke,EAAOF,EAAQC,EAAQ,EAAI,GAClC7ke,EAAO8ke,EAAOF,EAAQC,EAAQ,EAAI,GAEnC9ke,IAAS6ke,IACRt6b,EAAOn/C,OAAO,EAAG,EAAG4U,GACpBxN,EAAMpH,OAAO,EAAG,EAAGoH,EAAM,KAG1ByN,IAAS6ke,IACRv6b,EAAO3sD,KAAKqiB,GACZzN,EAAM5U,KAAK4U,EAAMA,EAAMzY,OAAS,UAGpC,IAAIe,EAAI,EAAGA,EAAIktB,EAAKltB,IAChBuiE,EAAK+9D,EAAItgI,GACTyvD,EAAOzvD,IAAMuiE,EAAG,IAAMz7D,EAAK2pB,EAAQ,GAAMA,EAAQ,GAAMgiK,EAAKrvK,EAC5D1L,EAAM1X,GAAKuiE,EAAG,GAItB,OAAO4b,EAAW6xD,mBACd,CAACvgF,OAAQA,EAAQ/3C,MAAOA,GACxB,CAAC44H,gBAAgB,MAOnB,KACA,SAAU3xI,EAAQC,EAASkB,GAEjC,aAYA,IAAI4+V,EAAW5+V,EAAoB,QAAQm9R,IAEvC5mR,EAAMvW,EAAoB,QAC1ByyF,EAAWzyF,EAAoB,QAE/BonC,EAAmBpnC,EAAoB,QACvCk6X,EAAqBl6X,EAAoB,QACzC80I,EAAqB90I,EAAoB,QAEzC09D,EAAY,CAAC,QAAS,QAAS,SAI/B0sb,EAAgB,MAAqB,IAEzCvrf,EAAOC,QAAU,SAA8Bg4D,EAAUC,EAAWnsD,GAChE,IAAIunC,EAAaC,EAEjB,SAASM,EAAOjrB,EAAMtE,GAClB,OAAO5M,EAAIm8B,OAAOP,EAAaC,EAAchL,EAAkB3f,EAAMtE,GAGzE,IAAI,IAAI3e,EAAI,EAAGA,EAAIk5D,EAAUv+D,OAAQqF,IAAK,CACtC,IAAIywF,EAASv3B,EAAUl5D,GACvB2tC,EAAc2kB,EAASm+B,IAAW,GAElC7iD,EAAeqgD,EAASW,aAAar8B,EAAWk+B,GAChD7iD,EAAahW,IAAM64D,EAAO,GAAKrqF,EAAQC,MACvCunC,EAAalV,MAAQ+3D,EAErBilS,EAAmB/nV,EAAaC,EAAcM,EAAQ9nC,GAEtDkqI,EACI3iG,EACAC,EACAM,EACA,CACI1xB,KAAMpW,EAAQoW,KACdurK,OAAQt3F,EAAO,GACf9pF,KAAMP,EAAQO,KACdurF,UAAU,EACV6iQ,WAAW,EACX1kQ,QAASjqF,EAAQiqF,QACjB17E,SAAUvO,EAAQuO,UAEtBvO,EAAQ+a,YAEZ+sB,EAAO,YAAaksT,EAASxsT,EAAannC,MAAOL,EAAQiqF,QAASu1Z,GAAev5W,eACjFn+F,EAAO,aAAcuiD,EAAO,IAE5B7iD,EAAa3X,SAAWlkB,EAAIw0D,KAEzBr4B,EAAO,gBACNA,EAAO,cACPA,EAAO,kBACPA,EAAO,aAAcN,EAAannC,QAGtCynC,EAAO,kBACJA,EAAO,mBAAmBA,EAAO,sBAOtC,KACA,SAAU7zC,EAAQC,EAASkB,GAajC,IAAIqqf,EAAO,CACPrhf,SAAUhJ,EAAoB,QAC9Bg7N,UAAWh7N,EAAoB,QAC/BopG,SAAUppG,EAAoB,QAC9BqB,OAAQrB,EAAoB,QAC5BilE,MAAOjlE,EAAoB,QAC3Bsqf,wBAAyBtqf,EAAoB,SAI7C8+E,GADiBura,EAAKhpf,SACfgpf,EAAKhpf,UAEhBxC,EAAOC,QAAU,SAAuBw2B,EAAQyuB,EAAakhB,EAAOy3Q,EAAMl+S,EAAas7W,GAmCnF,OAlCAuwG,EAAKrhf,SAASssB,GAGd+0d,EAAKC,wBAAwBh1d,EAAQwkX,EAAY/1V,GAGjDzuB,EAAO,GAAKkJ,EAAY,GACxBlJ,EAAO,GAAKkJ,EAAY,GACxBlJ,EAAO,IAAMkJ,EAAY,GACzBlJ,EAAO,IAAMkJ,EAAY,GAIzB6rd,EAAKrhf,SAAS81E,GAEE,IAAZ49P,EAAK,KACL59P,EAAK,GAAK49P,EAAK,GACf2tK,EAAKjhZ,SAAS9zE,EAAQA,EAAQwpD,IAGlB,IAAZ49P,EAAK,KACL59P,EAAK,GAAK,EACVA,EAAK,GAAK49P,EAAK,GACf2tK,EAAKjhZ,SAAS9zE,EAAQA,EAAQwpD,IAGlB,IAAZ49P,EAAK,KACL59P,EAAK,GAAK,EACVA,EAAK,GAAK49P,EAAK,GACf2tK,EAAKjhZ,SAAS9zE,EAAQA,EAAQwpD,IAIlCura,EAAKplb,MAAM3vC,EAAQA,EAAQ2vC,GACpB3vC,IAKL,KACA,SAAUz2B,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAUkB,EAAoB,SAK/B,KACA,SAAUnB,EAAQC,EAASkB,GAEjC,aAWA,IAAI6pW,EAAoB7pW,EAAoB,QACxCmgK,EAAiBngK,EAAoB,QACrCwpF,EAAoBxpF,EAAoB,QAAQwpF,kBAEpD3qF,EAAOC,QAAU,CACboC,KAAM2oW,EAAkB3oW,KACxBL,EAAGgpW,EAAkBhpW,EACrBshB,MAAO0nV,EAAkB1nV,MACzB68B,GAAI6qT,EAAkB7qT,GACtBw5N,GAAIqxF,EAAkBrxF,GACtBsxF,OAAQD,EAAkBC,OAC1BC,OAAQF,EAAkBE,OAC1BtsT,UAAWosT,EAAkBpsT,UAE7BxuC,KAAM46V,EAAkB56V,KACxB86E,aAAcP,EAAkB,CAACjmE,SAAU,QAAS,CAChDgkC,KAAM,CAAC,IAAK,QAAS,UAEzBrjC,UAAW2lV,EAAkB3lV,UAC7BC,cAAe0lV,EAAkB1lV,cAEjC4T,KAAMooI,EAAepoI,KACrB3T,YAAa+7I,EAAe/7I,YAE5B0T,OAAQqoI,EAAeroI,OAGvBrmB,KAAM0uJ,EAAe1uJ,KACrB87E,UAAW4yE,EAAe5yE,UAE1BvD,aAAcm2E,EAAen2E,aAC7BG,SAAUg2E,EAAeh2E,SAEzB7kE,UAAWukV,EAAkBvkV,UAG7B6S,SAAU0xU,EAAkB1xU,SAC5B01D,WAAYg8Q,EAAkBh8Q,aAM5B,KACA,SAAUhvF,EAAQC,EAASkB,GAEjC,aAKA,SAASqT,EAAWggE,EAAKrW,GACxB,IAAKqW,GAAqB,MAAdA,EAAIl0E,OAAgB,MAAM8E,MAAM,+BAE3B+4D,EAAN,MAAPA,EAAmB,EACZr3D,KAAK2N,MAAM0pD,GAItB,IAFA,IAAI5zD,EAASvF,MAAY,EAANm5D,GAEVnhD,EAAS,EAAGA,EAASmhD,EAAKnhD,IAAU,CAG5C,IAFA,IAAI7T,GAAOmC,IAAUpC,EAAMoC,IAAUjK,EAAI2b,EAAQ1b,EAAIkzE,EAAIl0E,OAElDe,EAAIC,EAAGD,GAAG88D,EACZqW,EAAInzE,GAAK8H,IAAKA,EAAMqrE,EAAInzE,IACxBmzE,EAAInzE,GAAK6H,IAAKA,EAAMsrE,EAAInzE,IAG7BkJ,EAAOyS,GAAU9T,EACjBqB,EAAO4zD,EAAMnhD,GAAU7T,EAGxB,OAAOoB,EAtBRvK,EAAOC,QAAUuU,GA4BX,KACA,SAAUxU,EAAQC,EAASkB,GAEjC,aAWA,IAAI2iB,EAAkB3iB,EAAoB,QACtC4iB,EAAqB5iB,EAAoB,QAAQ4iB,mBACjDynI,EAAcrqJ,EAAoB,QAClC6iB,EAAY7iB,EAAoB,QAEhC8iB,EAAa9iB,EAAoB,QAAQ8iB,WAEzCkB,EAAQ,CACR5V,EAAG,CACC8U,QAAS,aAETK,SAAU,uBAGdxP,EAAG,CACCmP,QAAS,aAETK,SAAU,uBAGd1U,EAAG,CACCqU,QAAS,aAETK,SAAU,uBAIdlgB,EAAG,CACC6f,QAAS,aACTK,SAAU,QAGd7e,EAAG,CACCwe,QAAS,aACTK,SAAU,QAGd9F,EAAG,CACCyF,QAAS,aACTK,SAAU,QAIdyvK,OAAQ,CACJ5kL,EAAG,CACC8U,QAAS,aACTK,SAAU,QAGdxP,EAAG,CACCmP,QAAS,aACTK,SAAU,QAGd1U,EAAG,CACCqU,QAAS,aACTK,SAAU,QAGdA,SAAU,QAGdkqE,aAAc,CACVvqE,QAAS,UACTnb,IAAK,EACLob,KAAM,IAENI,SAAU,QAqBdmqE,QAAS,CACLxqE,QAAS,SAETK,SAAU,OACVxb,IAAK,EACLob,KAAM,GAIVlU,KAAM,CACFiU,QAAS,SAETC,KAAM,GACNI,SAAU,QAGdW,UAAW,CACPhB,QAAS,SAETC,KAAM,GACNI,SAAU,QAGdY,cAAevB,EAAmB,CAACW,SAAU,QAAS,CAClDgkC,KAAM,CACF,QAAS,QAAS,QAClB,QAAS,QAAS,QAClB,OAAQ,gBAGhBhiC,WAAYzC,EAAW,GAAID,EAAU0C,WAAY,CAACpC,MAAM,KAG5DL,EAAWkB,EAAOrB,EAAgB,GAAI,CAClC0B,UAAW,aACXC,eAAe,EACfE,iBAAkB,UAGtB,IAAI8lI,EAAa,CAAC,UAAW,gBAAiB,YAC9CA,EAAW5zF,SAAQ,SAAS/xD,GACxBqf,EAAMrf,GAAK0lJ,EAAY1lJ,MAG3Bqf,EAAMsB,UAAYxC,EAAW,GAAID,EAAUyC,UAAW,CAClD/B,SAAU,OACVyS,MAAO,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAAQ,aAAc,OAAQ,QACpE7S,KAAM,yBAGVa,EAAMwB,gBAAapmB,EAEnBP,EAAOC,QAAUklB,GAKX,KACA,SAAUnlB,EAAQC,EAASkB,GAEjC,aAYA,IAAI8O,EAAK9O,EAAoB,QACzBuW,EAAMvW,EAAoB,QAC1Bm5B,EAAWn5B,EAAoB,QAE/B+hP,EAAUp8O,KAAKg8B,GAAK,IACpBqgN,EAAU,IAAMr8O,KAAKg8B,GACrB4od,EAAiB,CAACh6X,OAAQ,WAC1Bi6X,EAAe,CAACj6X,OAAQ,QAE5B,SAASk6X,EAAc/zd,EAAKm4D,GACxB,IACI67Z,EADAv+e,EAAauqB,EAAIvqB,WAarB,OATIu+e,EADD77Z,EAAUo2X,UACS0lC,EACZ97Z,EAAUw2X,WACEulC,EAEAC,EAKfH,EAAgBh0d,EAAKvqB,GAMhC,SAAS2+e,EAASp0d,EAAKvqB,GACnB,OAAO2C,EAAGs3H,SAASlhC,OACd81H,UAAU7uN,EAAW6uN,aACrB/1J,MAAM94D,EAAW84D,SAI1B,SAAS8lb,EAAKr0d,EAAKvqB,EAAY6/J,GAC3B,IAAIpgK,EAAK8qB,EAAI9qB,GACT2C,EAAKmoB,EAAI0jC,SACT/S,EAAS94C,EAAG84C,OACZ2jc,EAAW3jc,EAAOz7C,GAClB+Z,EAAapX,EAAGymB,YAChB8qZ,EAAWn6Z,EAAW/Z,GAEtBsiW,EAAS,GACTv4U,EAAY,GAEhB,SAAS9nB,EAAI6xV,EAASztU,GAClBi8U,EAAOtiW,EAAK,IAAM8zV,GAAWnpV,EAAImyC,eAAesic,EAAUtrJ,GAAS9+V,MACnEu4B,EAAS95B,KAAK,sBAAuBgoD,EAAQ1hC,EAAWotM,QAASm7I,GAEjE,IAAI+8I,EAAS10e,EAAImyC,eAAeo3X,EAAUpgF,GACvCurJ,EAAOrqf,QAAUqxB,IAChBg5d,EAAOp9e,IAAIokB,GACX1b,EAAImyC,eAAesic,EAAUtrJ,GAAS7xV,IAAIokB,GAC1C0D,EAAU/pB,EAAK,IAAM8zV,GAAWztU,GAIxC+5I,EAAGn+J,GACHA,EAAI,mBAAoB1B,EAAW84D,QAAUvuC,EAAIw0d,UACjDr9e,EAAI,aAAa,GACjBU,EAAGwuG,KAAK,kBAAmBpnF,GAI/B,SAASg1d,EAAWj0d,EAAKvqB,GACrB,IAAI+4F,EAAO4lZ,EAASp0d,EAAKvqB,GAEzB,SAASg/e,IACLr8e,EAAGO,OAAO7M,MAAMmN,MAAM46e,GAG1B,SAASa,IACLj/e,EACK84D,MAAMn2D,EAAG0lB,MAAMywC,OACf+1J,UAAUlsN,EAAG0lB,MAAMwmM,WACxBtkM,EAAIqQ,SAEJ,IAAI3G,EAASj0B,EAAWiT,OAAOsX,EAAI20d,OACnC30d,EAAI0jC,SAAS2iD,KAAK,qBAAsB,CACpC,uBAAwB5wG,EAAW84D,QAAUvuC,EAAIw0d,SACjD,iBAAkB9qd,EAAO,GACzB,iBAAkBA,EAAO,KAIjC,SAASkrd,EAAOz9e,GACZ,IAAIuyB,EAASj0B,EAAWiT,OAAOsX,EAAI20d,OAEnCx9e,EAAI,aAAcuyB,EAAO,IACzBvyB,EAAI,aAAcuyB,EAAO,IAG7B,SAASmrd,IACLz8e,EAAGO,OAAO7M,MAAMmN,MAAM66e,GACtBO,EAAKr0d,EAAKvqB,EAAYm/e,GAQ1B,OALApmZ,EACKl1F,GAAG,YAAam7e,GAChBn7e,GAAG,OAAQo7e,GACXp7e,GAAG,UAAWu7e,GAEZrmZ,EAIX,SAAS2lZ,EAAen0d,EAAKvqB,GACzB,IAIIq/e,EAAQC,EAASz4L,EAAY04L,EAAYC,EACzCC,EAAQC,EAASpjL,EAAQqjL,EALzB5mZ,EAAO4lZ,EAASp0d,EAAKvqB,GAErB4/e,EAAqB,EAKzB,SAASvif,EAAS4E,GAAK,OAAOjC,EAAWiT,OAAOhR,GAEhD,SAAS49e,EAAQ59e,GACb,IAAI0kC,EAAMtpC,EAAS4E,GACnB,IAAI0kC,EAAK,OAAO,EAEhB,IAAIhzB,EAAK3T,EAAW2mC,GACpB,OACIntC,KAAK+R,IAAIoI,EAAG,GAAK1R,EAAE,IAAM29e,GACzBpmf,KAAK+R,IAAIoI,EAAG,GAAK1R,EAAE,IAAM29e,EAIjC,SAASZ,IACLr8e,EAAGO,OAAO7M,MAAMmN,MAAM46e,GAEtBiB,EAAS18e,EAAG+vB,MAAMr8B,MAClBipf,EAAUt/e,EAAW+H,SACrB8+S,EAAa7mT,EAAW6uN,YACxB0wR,EAAaD,EACbE,EAAYnif,EAASgif,GAGzB,SAASJ,IAGL,GAFAQ,EAAS98e,EAAG+vB,MAAMr8B,MAEfwpf,EAAQR,GAGP,OAFAtmZ,EAAKjgC,MAAM94D,EAAW84D,cACtBigC,EAAK81H,UAAU7uN,EAAW6uN,aAI9B7uN,EAAW84D,MAAMn2D,EAAG0lB,MAAMywC,OAC1B94D,EAAW6uN,UAAU,CAACg4F,EAAW,GAAIlkT,EAAG0lB,MAAMwmM,UAAU,KAEpD2wR,EAGMnif,EAASoif,KACfnjL,EAASj/T,EAASoif,GAClBC,EAAU,CAACH,EAAW,IAAMjjL,EAAO,GAAKkjL,EAAU,IAAKF,EAAQ,GAAIA,EAAQ,IAC3Et/e,EAAW+H,OAAO23e,GAClBH,EAAaG,IANbL,EAASI,EACTD,EAAYnif,EAASgif,IAQzBM,GAAU,EACVp1d,EAAIqQ,SAEJ,IAAI7yB,EAAS/H,EAAW+H,SACpBksB,EAASj0B,EAAWiT,OAAOsX,EAAI20d,OACnC30d,EAAI0jC,SAAS2iD,KAAK,qBAAsB,CACpC,uBAAwB5wG,EAAW84D,QAAUvuC,EAAIw0d,SACjD,iBAAkB9qd,EAAO,GACzB,iBAAkBA,EAAO,GACzB,+BAAgClsB,EAAO,KAI/C,SAASq3e,IACLz8e,EAAGO,OAAO7M,MAAMmN,MAAM66e,GACnBsB,GAASf,EAAKr0d,EAAKvqB,EAAYm/e,GAGtC,SAASA,EAAOz9e,GACZ,IAAIqG,EAAS/H,EAAW+H,SACpBksB,EAASj0B,EAAWiT,OAAOsX,EAAI20d,OAEnCx9e,EAAI,2BAA4BqG,EAAO,IACvCrG,EAAI,aAAcuyB,EAAO,IACzBvyB,EAAI,aAAcuyB,EAAO,IAQ7B,OALA8kE,EACKl1F,GAAG,YAAam7e,GAChBn7e,GAAG,OAAQo7e,GACXp7e,GAAG,UAAWu7e,GAEZrmZ,EAKX,SAAS0lZ,EAAYl0d,EAAKvqB,GACtB,IAMIw/e,EANAz/e,EAAO,CAACrL,EAAGsL,EAAW+H,SAAUvP,EAAGwH,EAAW84D,SAC9CigC,EAAO4lZ,EAASp0d,EAAKvqB,GACrBqoB,EAAQy3d,EAAgB/mZ,EAAM,YAAa,OAAQ,WACnDouN,EAAU,EACV44L,EAAShnZ,EAAKl1F,GA2ElB,SAASkkT,EAAYzhS,GACb6gS,KAAW7gS,EAAS,CAACvf,KAAM,cAGnC,SAASihT,EAAO1hS,GACZA,EAAS,CAACvf,KAAM,SAGpB,SAASkhT,EAAU3hS,KACT6gS,GAAS7gS,EAAS,CAACvf,KAAM,YAGnC,SAASo4e,EAAOz9e,GACZ,IAAIs+e,EAAUhgf,EAAW+H,SACzBrG,EAAI,2BAA4Bs+e,EAAQ,IACxCt+e,EAAI,2BAA4Bs+e,EAAQ,IAG5C,OAzFAjnZ,EAAKl1F,GAAG,aAAa,WACjBlB,EAAGO,OAAO7M,MAAMmN,MAAM46e,GAEtB,IAAIiB,EAAS18e,EAAG+vB,MAAMr8B,MAClBipf,EAAUt/e,EAAW+H,SACrBw3e,EAAaD,EACbz4L,EAAa7mT,EAAW6uN,YACxBjzJ,EAAIqkb,EAAoBX,GAE5BE,EAAYnif,EAAS2C,EAAYq/e,GAEjCU,EAAO7sf,KAAK6lG,EAAM,QAAQ,WACtB,IAAI0mZ,EAAS98e,EAAG+vB,MAAMr8B,MAItB,GAFA2J,EAAW84D,MAAM/4D,EAAKvH,EAAImK,EAAG0lB,MAAMywC,OAE/B0mb,GAKG,GAAGnif,EAAS2C,EAAYy/e,GAAS,CAQpCz/e,EACK+H,OAAOu3e,GACPzwR,UAAUg4F,GAGf,IAAIyV,EAASj/T,EAAS2C,EAAYy/e,GAC9BS,EAAUC,EAAcX,EAAWljL,GACnC8jL,EAAWC,EAAoBpjZ,EAASrhC,EAAGskb,IAC3CI,EAAevgf,EAAKrL,EAAI6rf,EAAOH,EAAUZ,EAAWD,GAEpDp+e,SAASm/e,EAAa,KAAQn/e,SAASm/e,EAAa,KACpDn/e,SAASm/e,EAAa,MACtBA,EAAef,GAInBv/e,EAAW+H,OAAOu4e,GAClBf,EAAae,QA3BbjB,EAASI,EACTD,EAAYnif,EAAS2C,EAAYq/e,GA6BrCr3L,EAAO3/R,EAAMu1R,GAAGvnT,KAAM9C,eAG1Bw0T,EAAY1/R,EAAMu1R,GAAGvnT,KAAM9C,eAE9BsQ,GAAG,WAAW,WACXlB,EAAGO,OAAO7M,MAAMmN,MAAM66e,GACtB0B,EAAO7sf,KAAK6lG,EAAM,OAAQ,MAC1BkvN,EAAU5/R,EAAMu1R,GAAGvnT,KAAM9C,YACzBqrf,EAAKr0d,EAAKvqB,EAAYm/e,MAEzBt7e,GAAG,eAAe,WACf0mB,EAAIqQ,SAEJ,IAAIold,EAAUhgf,EAAW+H,SACzBwiB,EAAI0jC,SAAS2iD,KAAK,qBAAsB,CACpC,uBAAwB5wG,EAAW84D,QAAUvuC,EAAIw0d,SACjD,+BAAgCiB,EAAQ,GACxC,+BAAgCA,EAAQ,QAsBzCr9e,EAAGimB,OAAOmwE,EAAM1wE,EAAO,MAKlC,SAAShrB,EAAS2C,EAAYlH,GAC1B,IAAIy+T,EAAYv3T,EAAWiT,OAAOna,GAClC,OAAOy+T,GAAap2T,SAASo2T,EAAU,KAAOp2T,SAASo2T,EAAU,KAAOz5Q,EAAUy5Q,GAGtF,SAAS0oL,EAAoBO,GACzB,IAAIr2a,EAAS,GAAMq2a,EAAM,GAAK5qQ,EAC1B6qQ,EAAM,GAAMD,EAAM,GAAK5qQ,EACvBm1D,EAAQ,GAAMy1M,EAAM,GAAK5qQ,EACzB8qQ,EAAYlnf,KAAK8qD,IAAI6lB,GACrBw2a,EAAYnnf,KAAK6qD,IAAI8lB,GACrBy2a,EAASpnf,KAAK8qD,IAAIm8b,GAClBI,EAASrnf,KAAK6qD,IAAIo8b,GAClBK,EAAWtnf,KAAK8qD,IAAIymP,GACpBg2M,EAAWvnf,KAAK6qD,IAAI0mP,GACxB,MAAO,CACH41M,EAAYE,EAASE,EAAWL,EAAYE,EAASE,EACrDJ,EAAYG,EAASE,EAAWJ,EAAYC,EAASE,EACrDH,EAAYC,EAASG,EAAWL,EAAYG,EAASC,EACrDH,EAAYE,EAASC,EAAWJ,EAAYE,EAASG,GAI7D,SAAS9jZ,EAAS9pG,EAAGC,GACjB,IAAI0vE,EAAK3vE,EAAE,GACPmyG,EAAKnyG,EAAE,GACPulM,EAAKvlM,EAAE,GACP0lM,EAAK1lM,EAAE,GACP4vE,EAAK3vE,EAAE,GACP8qG,EAAK9qG,EAAE,GACP+qG,EAAK/qG,EAAE,GACPgrG,EAAKhrG,EAAE,GACX,MAAO,CACH0vE,EAAKC,EAAKuiC,EAAKpH,EAAKw6F,EAAKv6F,EAAK06F,EAAKz6F,EACnCt7B,EAAKo7B,EAAKoH,EAAKviC,EAAK21H,EAAKt6F,EAAKy6F,EAAK16F,EACnCr7B,EAAKq7B,EAAKmH,EAAKlH,EAAKs6F,EAAK31H,EAAK81H,EAAK36F,EACnCp7B,EAAKs7B,EAAKkH,EAAKnH,EAAKu6F,EAAKx6F,EAAK26F,EAAK91H,GAI3C,SAASo9a,EAAchtf,EAAGC,GACtB,GAAID,GAAMC,EAAV,CACA,IAAI6sF,EAAOh2E,EAAM9W,EAAGC,GAChBs5D,EAAOlzD,KAAKuD,KAAK+2D,EAAImsB,EAAMA,IAC3B+ga,EAAY,GAAMxnf,KAAKivE,KAAKjvE,KAAKqC,KAAK,EAAGrC,KAAKoC,IAAI,EAAGk4D,EAAI3gE,EAAGC,MAC5DoF,EAAIgB,KAAK8qD,IAAI08b,GAAat0b,EAC9B,OAAOA,GAAQ,CAAClzD,KAAK6qD,IAAI28b,GAAY/ga,EAAK,GAAKznF,GAAIynF,EAAK,GAAKznF,EAAGynF,EAAK,GAAKznF,IAY9E,SAAS+nf,EAAOD,EAAc3se,EAAI4re,GAG9B,IAAI0B,EAAYC,EAAgBvte,EAAI,EAAG2se,EAAa,IACpDW,EAAYC,EAAgBD,EAAW,EAAGX,EAAa,IACvDW,EAAYC,EAAgBD,EAAW,EAAGX,EAAa,GAAKf,EAAW,IAEvE,IAYInsf,EACA+tf,EAbAl/e,EAAI0R,EAAG,GACP/L,EAAI+L,EAAG,GACPjR,EAAIiR,EAAG,GACPkoB,EAAIold,EAAU,GACdjke,EAAIike,EAAU,GACdp8b,EAAIo8b,EAAU,GAKdjre,EAAQxc,KAAK01M,MAAMtnM,EAAG3F,GAAK4zO,EAC3B1iP,EAAIqG,KAAKuD,KAAKkF,EAAIA,EAAI2F,EAAIA,GAI3BpO,KAAK+R,IAAIyR,GAAK7pB,GACbguf,GAAWnke,EAAI,EAAI,IAAM,IAAMhH,EAC/B5iB,EAAI,IAEJ+tf,EAAU3nf,KAAKu8O,KAAK/4N,EAAI7pB,GAAK0iP,EAAU7/N,EACvC5iB,EAAIoG,KAAKuD,KAAK5J,EAAIA,EAAI6pB,EAAIA,IAG9B,IAAIoke,EAAU,IAAMD,EAAU,EAAInre,EAC9Bqre,GAAa7nf,KAAK01M,MAAMrqJ,EAAGhpB,GAAKriC,KAAK01M,MAAMxsM,EAAGtP,IAAMyiP,EACpDyrQ,GAAa9nf,KAAK01M,MAAMrqJ,EAAGhpB,GAAKriC,KAAK01M,MAAMxsM,GAAItP,IAAMyiP,EAGrD0rQ,EAAQC,EAAcjC,EAAW,GAAIA,EAAW,GAAI4B,EAASE,GAC7DlmY,EAAQqmY,EAAcjC,EAAW,GAAIA,EAAW,GAAI6B,EAASE,GAEjE,OAAGC,GAASpmY,EAAc,CAACgmY,EAASE,EAAW9B,EAAW,IAC9C,CAAC6B,EAASE,EAAW/B,EAAW,IAGhD,SAASiC,EAAcC,EAAMC,EAAQC,EAAMC,GACvC,IAAIC,EAAOC,EAASH,EAAOF,GACvBM,EAASD,EAASF,EAASF,GAC/B,OAAOlof,KAAKuD,KAAK8kf,EAAOA,EAAOE,EAASA,GAI5C,SAASD,EAAS99b,GACd,OAAQA,EAAQ,IAAM,KAAO,IAAM,IAMvC,SAASk9b,EAAgBpqM,EAAQ72N,EAAMj8B,GACnC,IAAIg+b,EAAYh+b,EAAQ4xL,EACpBqsQ,EAAYnrM,EAAO9+S,QACnBorQ,EAAgB,IAATnjL,EAAc,EAAI,EACzBhnC,EAAgB,IAATgnC,EAAc,EAAI,EACzB6mL,EAAOttQ,KAAK6qD,IAAI29b,GAChBj7O,EAAOvtQ,KAAK8qD,IAAI09b,GAKpB,OAHAC,EAAU7+O,GAAO0zC,EAAO1zC,GAAO0D,EAAOgwC,EAAO79P,GAAO8tN,EACpDk7O,EAAUhpc,GAAO69P,EAAO79P,GAAO6tN,EAAOgwC,EAAO1zC,GAAO2D,EAE7Ck7O,EAEX,SAAS5B,EAAoBzkb,GACzB,MAAO,CACHpiE,KAAK01M,MAAM,GAAKtzI,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAK,EAAI,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,KAAOi6K,EACnFr8O,KAAKu8O,KAAKv8O,KAAKqC,KAAK,EAAGrC,KAAKoC,IAAI,EAAG,GAAKggE,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,OAASi6K,EACxEr8O,KAAK01M,MAAM,GAAKtzI,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,IAAK,EAAI,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,KAAOi6K,GAI3F,SAAS/3L,EAAUy5Q,GACf,IAAIptP,EAASotP,EAAU,GAAK3hF,EACxB6qQ,EAAMlpL,EAAU,GAAK3hF,EACrBirQ,EAASrnf,KAAK6qD,IAAIo8b,GACtB,MAAO,CACHI,EAASrnf,KAAK6qD,IAAI8lB,GAClB02a,EAASrnf,KAAK8qD,IAAI6lB,GAClB3wE,KAAK8qD,IAAIm8b,IAIjB,SAAS3sb,EAAI3gE,EAAGC,GAEZ,IADA,IAAIuC,EAAI,EACA5B,EAAI,EAAGsB,EAAIlC,EAAEH,OAAQe,EAAIsB,IAAKtB,EAAG4B,GAAKxC,EAAEY,GAAKX,EAAEW,GACvD,OAAO4B,EAGX,SAASsU,EAAM9W,EAAGC,GACd,MAAO,CACHD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GACvBD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GACvBD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,IAQ/B,SAAS0sf,EAAgBp8d,GACrB,IAAI3vB,EAAI,EACJsB,EAAI9B,UAAUP,OACd8qT,EAAY,GAEhB,QAAQ/pT,EAAIsB,EAAGyoT,EAAUjnT,KAAKtD,UAAUQ,IAExC,IAAIuyB,EAAW3jB,EAAG2jB,SAAShzB,MAAM,KAAMwqT,GAyBvC,OAdAx3R,EAASs3R,GAAK,SAASC,EAAMC,GACzB,OAAO,SAASC,GACZ,IAAIrtK,EACJ,IACIA,EAAKqtK,EAAG1lL,YAAc11H,EAAG0lB,MACzB01R,EAAGr6R,OAASA,EACZ/gB,EAAG0lB,MAAQ01R,EACXz3R,EAASy3R,EAAGh3S,MAAMzT,MAAMuqT,EAAMC,GAChC,QACEn7S,EAAG0lB,MAAQqoH,KAKhBpqH,EAvdX5zB,EAAOC,QAAU2rf,GA6dX,KACA,SAAU5rf,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QAQjC,SAASquf,EAAel0e,GACpB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IA8O9E,SAASmkC,EAAIt9C,EAAGC,GACZ,OAAOD,EAAKC,EAAIoG,KAAK2N,MAAMhU,EAAIC,GA5OnC8uf,EAAe1sf,UAAY,IAAIquD,EAAK/wC,aAEpC1G,EAAO81e,EAAe1sf,UAAW,CAG7BrB,KAAM,SAGNud,QAAS,SAGTC,aAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAG/DN,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAiBRlE,gBAAiB,CACb,GAAI,CACAnY,KAAM,SACNsc,OAAQ,CAAC,MAAO,MAChBmB,WAAY,CAAC,QAAS,OAAQ,QAAS,SAAU,KAAM,OACvD,UAAW,WAAY,SAAU,QAAS,SAAU,OAAQ,WAC5DC,gBAAiB,CAAC,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACrGC,SAAU,CAAC,aAAc,YAAa,cAAe,aAAe,eAAgB,aAAc,eAClGC,cAAe,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC1DC,YAAa,CAAC,KAAK,MAAM,MAAM,KAAK,KAAK,MAAM,OAC/C1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IASfrD,SAAU,SAAS7B,GACf,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACvE,OAAOrW,KAAK8rf,UAAUtze,EAAK5B,SAS/Bk1e,UAAW,SAASl1e,GAEhB,OADAA,EAAQA,EAAO,EAAIA,EAAO,EAAIA,EACvBwjC,EAAW,EAAPxjC,EAAW,EAAG,IAAM,GAQnCyD,aAAc,SAASzD,GAEnB,OADA5W,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aACrDrW,KAAK8rf,UAAUl1e,EAAKA,KAAOA,EAAKA,OAASA,GAAQ,GAAK,IAUjEiC,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,IAAIiF,EAAY/b,KAAK+X,QAAQnB,EAAMC,EAAOC,GAE1C,OADAiF,EAAU3C,KAAK2C,EAAU9C,YAAa,KAC/B9V,KAAK2N,OAAOiL,EAAUhD,YAAc,GAAK,GAAK,GAQzDD,WAAY,SAASlC,GACjB,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aAEvE,OADAO,EAAO4B,EAAK5B,OACL5W,KAAKwZ,MAAgB,IAAV5C,EAAc,EAAKA,EAAO,EAAI,EAAG,GAAK5W,KAAKwZ,KAAK5C,EAAM,EAAG,IAS/EoC,YAAa,SAASpC,EAAMC,GAMxB,OALID,EAAKA,OACLC,EAAQD,EAAKC,QACbD,EAAOA,EAAKA,QAEhB5W,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cAClC,KAAVS,GAAgB7W,KAAKyY,SAAS7B,IACnB,IAAVC,GAAkD,IAAnCujC,EAAIp6C,KAAK8Y,WAAWlC,GAAO,IADL,GAE3B,IAAVC,GAAkD,IAAnCujC,EAAIp6C,KAAK8Y,WAAWlC,GAAO,IAAY,GACvD5W,KAAKsb,aAAazE,EAAQ,IAUtCqC,QAAS,SAAStC,EAAMC,EAAOC,GAC3B,OAA4C,IAArC9W,KAAKiZ,UAAUrC,EAAMC,EAAOC,IAUvCqC,UAAW,SAASvC,EAAMC,EAAOC,GAC7B,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACvD,MAAO,CAAC41e,UAAW/rf,KAAKyY,SAASD,GAAQ,aAAe,UAAY,IAChE,CAAC,YAAa,UAAW,YAAYxY,KAAK8Y,WAAWN,GAAQ,GAAK,KAW1EgB,KAAM,SAAS5C,EAAMC,EAAOC,GACxB,IAAI0B,EAAOxY,KAAKga,UAAUpD,EAAMC,EAAOC,EAAK02C,EAAKj3C,MAAMJ,aACvDS,EAAO4B,EAAK5B,OACZC,EAAQ2B,EAAK3B,QACbC,EAAM0B,EAAK1B,MACX,IAAIk1e,EAAWp1e,GAAQ,EAAIA,EAAO,EAAIA,EAClC8C,EAAK1Z,KAAKqb,QAAUrb,KAAKisf,QAAQD,GACjChsf,KAAKksf,QAAQF,GAAWl1e,EAAM,EAClC,GAAID,EAAQ,EAAG,CACX,IAAK,IAAIjZ,EAAI,EAAGA,GAAKoC,KAAKqa,aAAazD,GAAOhZ,IAC1C8b,GAAM1Z,KAAKgZ,YAAYpC,EAAMhZ,GAEjC,IAASA,EAAI,EAAGA,EAAIiZ,EAAOjZ,IACvB8b,GAAM1Z,KAAKgZ,YAAYpC,EAAMhZ,QAIjC,IAASA,EAAI,EAAGA,EAAIiZ,EAAOjZ,IACvB8b,GAAM1Z,KAAKgZ,YAAYpC,EAAMhZ,GAGrC,OAAO8b,GASXuye,QAAS,SAASr1e,GACd,IAAImwH,EAAS5jI,KAAK2N,OAAO,IAAM8F,EAAO,KAAO,IACzCoX,EAAQ,MAAQ,MAAQ+4G,EACxBjwH,EAAe,GAATiwH,EAAc5jI,KAAK2N,MAAMkd,EAAQ,OAI3C,OAHIosB,EAAI,GAAKtjC,EAAM,GAAI,GAAK,GACxBA,IAEGA,GAQXo1e,QAAS,SAASt1e,GACd,IAAIwmC,EAAOp9C,KAAKisf,QAAQr1e,EAAO,GAC3Bu1e,EAAUnsf,KAAKisf,QAAQr1e,GACvBk9C,EAAO9zD,KAAKisf,QAAQr1e,EAAO,GAC/B,OAASk9C,EAAOq4b,IAAa,IAAM,EAAMA,EAAU/uc,IAAU,IAAM,EAAI,GAO3E3jC,OAAQ,SAASC,GACbA,EAAKvW,KAAK2N,MAAM4I,GAAM,GACtB,IAAI9C,EAAOzT,KAAK2N,MAA6B,OAArB4I,EAAK1Z,KAAKqb,SAAsB,UAAc,EACtE,MAAO3B,GAAM1Z,KAAKwZ,MAAgB,IAAV5C,EAAc,EAAKA,EAAO,EAAI,EAAG,GACrDA,IAEJ,IAAIC,EAAS6C,EAAK1Z,KAAKwZ,KAAK5C,EAAM,EAAG,GAAM,EAAI,EAC/C,MAAO8C,EAAK1Z,KAAKwZ,KAAK5C,EAAMC,EAAO7W,KAAKgZ,YAAYpC,EAAMC,IACtDA,IAEJ,IAAIC,EAAM4C,EAAK1Z,KAAKwZ,KAAK5C,EAAMC,EAAO,GAAK,EAC3C,OAAO7W,KAAK+X,QAAQnB,EAAMC,EAAOC,MAUzC02C,EAAKh3C,UAAU04Z,OAAS28E,GAMlB,KACA,SAAUxvf,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbsT,WAAY,QACZ9R,KAAM,OACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,OAAQ,cAErBxH,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAU,CACNv4D,IAAK,OACLC,IAAK,QAETyK,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1B21B,UAAW,SAAS9V,EAAKC,GAErB,OADAD,EAAIg5C,KAAO/4C,EAAGkrE,gBAAgB,GACvBnrE,GAGXtN,KAAM,KAQJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,aAWA,IAAI0iB,EAAQ1iB,EAAoB,QAC5B84H,EAAY94H,EAAoB,QAChC8iB,EAAa9iB,EAAoB,QAAQ8iB,WACzCC,EAAc/iB,EAAoB,QAAQ+iB,YAE9ClkB,EAAOC,QAAUikB,EAAY,CACzBhR,QAAS+mH,EAAU/mH,QACnBylC,WAAY,CACRt0B,QAAS,UAETC,MAAM,GAGVwrK,WAAY,CACRzrK,QAAS,UAETC,MAAM,GAGVyrK,eAAgB,CACZ1rK,QAAS,SAETnb,IAAK,EACLob,KAAM,GAGVurK,WAAY,CACRxrK,QAAS,QAETC,KAAMT,EAAMiB,aAGhB4/U,eAAgB,CACZrgV,QAAS,UAETC,MAAM,GAGVqgV,gBAAiB,CACbtgV,QAAS,QAETC,KAAM,4BAGVyre,eAAgB,CACZ1re,QAAS,UAETC,MAAM,GAGVlY,MAAO6tH,EAAU7tH,MACjByvS,cAAe5hL,EAAU4hL,cACzBC,cAAe7hL,EAAU6hL,cACzB13P,MAAO,CACHh0C,KAAM6pH,EAAU71E,MAAMh0C,KACtB+R,KAAM83G,EAAU71E,MAAMjiC,MAE1B9N,KAAM4P,EAAW,GAAIg2G,EAAU5lH,KAAM,CACjC2lB,OAAQ,CAAC,IAAK,SAAU,MAAO,OAAQ,cAE3CmZ,UAAW8mF,EAAU9mF,UACrB05E,UAAWoN,EAAUpN,UACrB9zG,MAAOkL,EAAW,GAAIg2G,EAAUlhH,MAAO,CACnCshH,MAAO,CACH,CAACh2G,QAAS,MAAOK,SAAU,OAAQiV,aAAc,CAAC,cAAc,IAChE,CAACtV,QAAS,MAAOK,SAAU,OAAQiV,aAAc,CAAC,cAAc,KAEpE00D,MAAM,IAGVn1E,SAAU+gH,EAAU/gH,SACpBC,OAAQ8gH,EAAU9gH,OAClBkgC,MAAO4gF,EAAU5gF,MACjBtD,MAAOkkF,EAAUlkF,MACjBc,SAAUojF,EAAUpjF,SACpBC,SAAUmjF,EAAUnjF,SACpBh/B,MAAOmiH,EAAUniH,MACjBw1C,OAAQ2sE,EAAU3sE,OAClB2C,QAASgqE,EAAUhqE,QACnBsC,UAAW0nE,EAAU1nE,UACrBD,UAAW2nE,EAAU3nE,UACrBxN,eAAgBm1E,EAAUn1E,eAC1BxK,SAAU2/E,EAAU3/E,SACpB8X,UAAW6nE,EAAU7nE,UACrBpR,WAAYi5E,EAAUj5E,WACtBC,eAAgBg5E,EAAUh5E,eAC1BC,WAAY+4E,EAAU/4E,WACtBC,eAAgB84E,EAAU94E,eAC1BzC,aAAcu7E,EAAUv7E,aACxBhC,eAAgBu9E,EAAUv9E,eAC1BuF,kBAAmBg4E,EAAUh4E,kBAC7BrE,WAAYq8E,EAAUr8E,WACtBmN,gBAAiBkvE,EAAUlvE,gBAC3B9N,YAAag9E,EAAUh9E,YAEvBuJ,SAAUyzE,EAAUzzE,SACpBgwL,UAAWv8G,EAAUu8G,UACrB5xL,UAAWq1E,EAAUr1E,UACrB6N,SAAUwnE,EAAUxnE,SACpBM,UAAW9uC,EAAW,GAAIg2G,EAAUlnE,UAChC,CAACzuC,KAAM,uBACXwuC,UAAWmnE,EAAUnnE,UACrBiC,SAAUklE,EAAUllE,SACpB3B,cAAe6mE,EAAU7mE,cACzB1M,cAAeuzE,EAAUvzE,cACzBrgC,YAAa,CACT+9B,MAAO61E,EAAU5zG,YAAY+9B,MAC7BqyL,UAAWx8G,EAAU5zG,YAAYowN,YAEtC,OAAQ,cAKL,KACA,SAAUz2O,EAAQC,GAWxB,SAASg4G,EAAiBx3G,EAAGC,GAC3B,IAAI6O,EAAI7O,EAAE,GAAKD,EAAE,GACfyU,EAAIxU,EAAE,GAAKD,EAAE,GACbuP,EAAItP,EAAE,GAAKD,EAAE,GACbme,EAAIle,EAAE,GAAKD,EAAE,GACf,OAAO8O,EAAIA,EAAI2F,EAAIA,EAAIlF,EAAIA,EAAI4O,EAAIA,EAdrC5e,EAAOC,QAAUg4G,GAoBX,KACA,SAAUj4G,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QACzBuW,EAAMvW,EAAoB,QAC1Bq3B,EAAUr3B,EAAoB,QAC9BuwC,EAAevwC,EAAoB,QAEnCgzF,EAAYhzF,EAAoB,QAChCuxI,EAAWvxI,EAAoB,QAAQuxI,SACvC5gG,EAAY3wC,EAAoB,QAChCi2H,EAAUj2H,EAAoB,QAC9BwxI,EAAmBxxI,EAAoB,QACvCyyW,EAAmBzyW,EAAoB,QAAQyyW,iBAE/ChhO,GAAY,EAEhB5yI,EAAOC,QAAU,SAAyByP,EAAIwR,EAAI6+E,EAAO8yC,EAAQvkH,GAC7D,IAAIjM,EAAQiM,EAAKjM,MACb8H,EAASmE,EAAKnE,OACd4oH,EAAQzkH,EAAKykH,MACbC,EAAQ1kH,EAAK0kH,MACbC,EAAY3kH,EAAK2kH,UACjBC,EAAoB5kH,EAAK4kH,kBACzBC,EAAe7kH,EAAK6kH,aACpBC,EAAgB9kH,EAAK8kH,cACrBC,EAAmB/kH,EAAK+kH,iBACxBC,EAA8BhlH,EAAKglH,4BACnCC,EAA6BjlH,EAAKilH,2BAClCqyF,EAAYt3M,EAAKs3M,UACjBpyF,EAAU,GAEV1sH,EAAapX,EAAGymB,YAChBwa,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MAEZy7P,GAAkD,IAAxCz7P,EAAMw7E,aAAaplF,QAAQ,QACrColQ,GAAoD,IAAzCx7P,EAAMw7E,aAAaplF,QAAQ,SACtCilQ,GAAsD,IAA1Cr7P,EAAMw7E,aAAaplF,QAAQ,UAEvCiqf,GAAoBhlP,IAAcr7P,EAAMspB,OAAOhe,IAAI7Y,GAAO4oQ,IAAcr7P,EAAMspB,OAAOhe,IAAIva,EAIzFuvf,EAAU97Z,EAAU4L,EAAO,CAAC19E,EAAO8H,GAAS,CAC5C2pH,QAASnkI,EAAMk5P,OAAO/0H,QACtBg2R,cAAen6Z,EAAMk5P,OAAOihK,cAC5BtT,MAAO7mZ,EAAMk5P,OAAOtkQ,KAAKwB,QAAQ,MAAQ,EACzCw1W,MAAO5rW,EAAMk5P,OAAOtkQ,KAAKwB,QAAQ,MAAQ,EACzCkV,IAAK,CACD84H,MAAOpkI,EAAMk5P,OAAO5tP,IACpBgY,IAAKtjB,EAAMspB,OAAOhe,IAAI7Y,EACtB2S,KAAMpF,EAAMspB,OAAOhe,IAAI3Z,EACvB0T,MAAOrF,EAAMspB,OAAOhe,IAAIjZ,EACxBgxB,OAAQrjB,EAAMspB,OAAOhe,IAAIva,KAI7BmzI,EAAYo8W,EAAQj8W,cAEpBk8W,EAAkB5kf,IAClB6kf,GAAmB7kf,IACvBuoI,EAAUh8E,SAAQ,SAAS52C,GACvB,IAAIk2J,EAAQl2J,EAAGk2J,MACZA,GAASxnK,EAAM45P,WAEdtoP,EAAG+W,GAAK/W,EAAGgX,IAAMhX,EAAG+W,GAAK/W,EAAGgX,IAAM,EAClChX,EAAGoX,GAAKpX,EAAGqX,IAAMrX,EAAGoX,GAAKpX,EAAGqX,IAAM,IAElC43d,EAAkBppf,KAAKoC,IAAIgnf,EAAiB/4U,GAC5Cg5U,EAAkBrpf,KAAKqC,IAAIgnf,EAAiBh5U,OAIpDtkC,EAASA,EAAOvmI,KAAKunI,EAAWzc,EAAQ8c,SAExCvkI,EAAMygf,kBAAoB3hf,SAAS0hf,GAAmBA,EAAkBD,EAAkB,EAAI,EAE9Fr9W,EAAOniI,QAAQC,OAAO,KACjBC,QAAQ,SAAS,GAEtByiI,EAAiBR,EAAQD,EAAWY,EAAS,CAACnxH,EAAO8H,GAAS8oH,GAE9DJ,EAAO/nG,QAGP,IAAIs+N,EAAkB,KACtB,GAAGh2H,GAAiBwyF,EAAW,CAC3B,IAAIyqR,EAAcj5X,EAAQ8c,QAAQ0xF,GAClC/yF,EAAO9hI,MAAK,SAASkQ,GACM,OAApBmoP,GAA6BhyI,EAAQ8c,QAAQjzH,KAAQove,IACpDjnP,EAAkB,CACdpxO,GAAI/W,EAAG+W,GACPC,GAAIhX,EAAGgX,GACPI,GAAIpX,EAAGoX,GACPC,GAAIrX,EAAGqX,QAMvB,IAAIg4d,EAAa,WACb,OAAOlnP,GAAmB,CACtBpxO,GAAI,EACJC,GAAI5V,EACJgW,GAAI,EACJC,GAAInO,IAIRgqH,EAAetB,EA4FnB,OA3FGO,IACCe,EAAeA,EAAa/iI,aAAaL,KAAK,OAAO,WAGjD,IAAIqjI,EAAWnkI,EAAGO,OAAO7M,MACzByzH,EAAQid,eAAeD,EAAU1kI,EAAI,CACjC4kI,YAAY,EACZC,cAAc,EACdC,iBAAiB,QAK7BL,EAAapjI,MAAK,SAASkQ,GACvB,IAAIiqP,EAAW9zI,EAAQ8zI,SAASjqP,EAAItR,GAEpCsR,EAAGwzH,QAAU1B,EAAM9xH,EAAGgX,GAAKtoB,EAAMspB,OAAOhe,IAAIjZ,GAC5Cif,EAAGyzH,QACK1B,EADKg4H,EACC/pP,EAAGqX,GAAK3oB,EAAMspB,OAAOhe,IAAIva,EAAI,EAC7BugB,EAAGoX,GAAK1oB,EAAMspB,OAAOhe,IAAI7Y,EAAI,GAE3C,IAAIgyI,EAAWnkI,EAAGO,OAAO7M,MAErBgxI,EAAYj9H,EAAIiuG,aAAayuB,EAAU,OAAQ,WAAW,SAASnxI,GACnEA,EAAE6N,MAAM,iBAAkB,UAG3BsiI,EACCuB,EAAUvjI,aAAawjI,UAAU,KAAK,SAASC,GAC3C,IAAI/xF,EAASwwF,EAA4BuB,EAAKjC,EAAW09W,IAAc,CAACjue,EAAO8H,IAC/E,OAAO,SAAS/nB,GAAK,OAAO6wI,EAAUnwF,EAAO1gD,QAGjDuyI,EAAU/rH,KAAK,IAAKqqH,GAGxBmB,EACK5zI,KAAKmyI,EAAkB5yC,EAAOrwF,EAAIwR,EAAI,CACnCwxH,SAAUA,EACV3nD,cAAej5C,EAAUi5C,cACzB+pD,eAAgBhjG,EAAUijG,sBAC1BC,iBAAkBljG,EAAUmjG,0BAE/Bz0I,KAAK42H,EAAQid,eAAgB3kI,EAAI,CAAE8kI,gBAAiB9kI,EAAGwlI,iBAE5DP,EAAUn0I,KAAKkyI,EAAUzxH,EAAItR,EAAO,CAChCwlI,SAAS,IAGVl0H,EAAG+W,KAAO/W,EAAGgX,IAAMhX,EAAGoX,KAAOpX,EAAGqX,GAC/BrX,EAAG2vB,MAAQ,GAGP3vB,EAAG2vB,MADJs6N,EACY8kP,EAAkB,GAAK54X,EAAQge,WAAWn0H,IAAO,GAEjD2yV,EAAiB3yV,EAAI8+E,EAAOpwF,EAAOuR,EAAI4F,IAAe,GAIzE,IAAIuuH,EAAiB39H,EAAIiuG,aAAayuB,EAAU,IAAK,aACjDkB,EAAY59H,EAAIiuG,aAAa0vB,EAAgB,OAAQ,IAAI,SAASpyI,GAGlEA,EAAE2lB,KAAK,aAAc,MAGrBzG,EAAOzK,EAAI69H,sBAAsB7lI,EAAI0nH,EAAQoe,kBAAkB7lI,EAAOsR,EAAI6F,EAAW3E,OAEzFmzH,EAAUllI,KAAK6Q,EAAG2vB,OAAS,KACtBhgC,QAAQ,aAAa,GACrBgY,KAAK,cAAeuiP,EAAW,MAASC,GAAWF,EAAY,QAAU,UACzE1qQ,KAAKg4B,EAAQrW,KAAMA,GACnB3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAExCuR,EAAGw0H,OAASj9G,EAAQ+qB,KAAK+xF,EAAUjtH,QACnCpH,EAAG6J,UAAYooH,EAAkBjyH,EAAI,CACjCiB,SAAUC,EAAKyC,KACfsmP,SAAUA,IAEdjqP,EAAG6J,UAAU5I,SAAWC,EAAKyC,KAE1BwuH,EACCkC,EAAUlkI,aAAawjI,UAAU,aAAa,SAASC,GACnD,IAAI/xF,EAASywF,EAA2BsB,EAAKjC,EAAW09W,IAAc,CAACjue,EAAO8H,IAC9E,OAAO,SAAS/nB,GAAK,OAAO+wI,EAAarwF,EAAO1gD,QAGpDkzI,EAAU1sH,KAAK,YAAauqH,EAAalyH,OAI1CmoP,IAML,KACA,SAAUppQ,EAAQC,EAASkB,GAEjC,aAaAnB,EAAOC,QAAU,CACb81Y,QAAS,SAASnxX,EAAM00D,GAGpB,IAFA,IAAIc,EAAOx1D,EAAKtkB,OACZ05D,EAAO,IAAMsf,EACT32E,EAAI,EAAGA,EAAIy3E,EAAMz3E,IAAKiiB,EAAKjiB,IAAMq3D,GAE7Cu2b,YAAa,SAAS3re,EAAM00D,GAExB,IADA,IAAIc,EAAOx1D,EAAKtkB,OACRqC,EAAI,EAAGA,EAAIy3E,EAAMz3E,IAAKiiB,EAAKjiB,IAAM22E,GAE7CwgT,QAAS,SAASl1W,EAAM00D,EAAOlG,EAAK6/S,GAChC,IAAI74S,EAAOx1D,EAAKtkB,OAChB2yX,EAAOA,GAAQ,EACf,IAAI,IAAItwX,EAAI,EAAGA,EAAIy3E,EAAMz3E,IAAKiiB,EAAKjiB,IAAMywE,EAAIzwE,GAAKswX,GAEtD,sBAAuB,SAASruW,EAAM00D,EAAOlG,EAAK6/S,GAC9C,IAAI74S,EAAOx1D,EAAKtkB,OACb2yX,IAAM35S,GAAS25S,GAClB,IAAI,IAAItwX,EAAI,EAAGA,EAAIy3E,EAAMz3E,IAAKiiB,EAAKjiB,IAAMywE,EAAIzwE,GAAK22E,KAOpD,KACA,SAAUt5E,EAAQC,EAASkB,GAEjC,aAGAnB,EAAOC,QAAUyxE,EAEjB,IAAI8+a,IAAa1pf,KAAKw5B,IAAI,EAAG,IAAM,GAEnC,SAASoxC,EAAWjxE,EAAGC,EAAG8J,GACxB,IAAI+E,EAAI9O,EAAIC,EAERC,EAAI6vf,EAAW/vf,EACfgwf,EAAO9vf,EAAIF,EACXg7a,EAAM96a,EAAI8vf,EACVj1E,EAAM/6a,EAAIg7a,EAEVj6a,EAAIgvf,EAAW9vf,EACfgwf,EAAOlvf,EAAId,EACXutM,EAAMzsM,EAAIkvf,EACVh1E,EAAMh7a,EAAIutM,EAEV0iT,EAAOphf,EAAKksa,EAAMxtO,EAClB2iT,EAAOD,EAAQn1E,EAAMvtO,EACrB4iT,EAAOD,EAAQn1E,EAAMC,EAErBxma,EAAIsma,EAAME,EAAMm1E,EAEpB,OAAGrmf,GACDA,EAAO,GAAK0K,EACZ1K,EAAO,GAAK+E,EACL/E,GAGF,CAAE0K,EAAG3F,KAKR,KACA,SAAUvP,EAAQC,EAASkB,GAEjC,aAWAnB,EAAOC,QAAU,CACbsT,WAAY,QACZ9R,KAAM,iBACN+R,eAAgBrS,EAAoB,QACpCsS,WAAY,CAAC,KAAM,OAAQ,QAAS,UAAW,aAAc,gBAE7DxH,WAAY9K,EAAoB,QAChCwS,eAAgBxS,EAAoB,QACpCsgE,SAAUtgE,EAAoB,QAC9BugE,aAAcvgE,EAAoB,QAElCyS,KAAMzS,EAAoB,QAC1B0S,KAAM1S,EAAoB,QAC1B2S,YAAa3S,EAAoB,QAAQ2S,YACzCC,aAAc5S,EAAoB,QAElCuS,KAAM,KASJ,KACA,SAAU1T,EAAQC,EAASkB,GAEjC,IAAIklL,EAAWllL,EAAoB,QAMnCnB,EAAOC,QAAU,SAAU+1B,EAAO86d,GAChC,IAAKzqU,EAASrwJ,GAAQ,OAAOA,EAC7B,IAAI51B,EAAIgzB,EACR,GAAI09d,GAAoD,mBAAxB1wf,EAAK41B,EAAMvY,YAA4B4oK,EAASjzJ,EAAMhzB,EAAGI,KAAKw1B,IAAS,OAAO5C,EAC9G,GAAmC,mBAAvBhzB,EAAK41B,EAAMgtM,WAA2B38C,EAASjzJ,EAAMhzB,EAAGI,KAAKw1B,IAAS,OAAO5C,EACzF,IAAK09d,GAAoD,mBAAxB1wf,EAAK41B,EAAMvY,YAA4B4oK,EAASjzJ,EAAMhzB,EAAGI,KAAKw1B,IAAS,OAAO5C,EAC/G,MAAM2jC,UAAU,6CAMZ,KACA,SAAU/2D,EAAQC,EAASkB,GAEjC,aAMA,IAAIuoH,EAAO,IAAIk8O,aAAa,GACxBv4F,EAAQ,IAAIu4F,aAAa,GACzBt4F,EAAQ,IAAIs4F,aAAa,GAE7B,SAASmrJ,EAAeC,EAAIC,EAAIC,EAAI9qf,EAAOoE,GAEtCk/G,EAAKppH,OAAS8F,EAAM9F,SACrBopH,EAAO,IAAIk8O,aAAax/V,EAAM9F,QAC9B+sQ,EAAQ,IAAIu4F,aAAax/V,EAAM9F,QAC/BgtQ,EAAQ,IAAIs4F,aAAax/V,EAAM9F,SAGjC,IAAI,IAAIe,EAAE,EAAGA,EAAE+E,EAAM9F,SAAUe,EAC7BqoH,EAAKroH,GAAM2vf,EAAG3vf,GAAK+E,EAAM/E,GACzBgsQ,EAAMhsQ,GAAK4vf,EAAG5vf,GAAK2vf,EAAG3vf,GACtBisQ,EAAMjsQ,GAAK6vf,EAAG7vf,GAAK2vf,EAAG3vf,GAGxB,IAAImpG,EAAM,EACNC,EAAM,EACNI,EAAM,EACNx6B,EAAM,EACNm7B,EAAM,EACN7qG,EAAM,EACV,IAAQU,EAAE,EAAGA,EAAE+E,EAAM9F,SAAUe,EAAG,CAChC,IAAI28I,EAAKqvH,EAAMhsQ,GACXgqT,EAAK/9C,EAAMjsQ,GACXG,EAAKkoH,EAAKroH,GACdmpG,GAAOwzC,EAAKA,EACZvzC,GAAOuzC,EAAKqtK,EACZxgN,GAAOwgN,EAAKA,EACZh7O,GAAO7uE,EAAIw8I,EACXxyC,GAAOhqG,EAAI6pT,EACX1qT,GAAOa,EAAIA,EAGb,IAGI2vf,EA4DEC,EAAMv+Y,EAAMw/B,EAAOC,EA/DrB/qB,EAAMzgH,KAAK+R,IAAI2xF,EAAIK,EAAMJ,EAAIA,GAC7BxnG,EAAMwnG,EAAIe,EAAKX,EAAIx6B,EACnBjuE,EAAMqoG,EAAIp6B,EAAKm6B,EAAIgB,EAGvB,GAAIvoG,EAAIb,GAAKmlH,EACX,GAAItkH,EAAI,EACFb,EAAI,GACFiuE,EAAK,GACPjuE,EAAI,GACCiuE,GAAMm6B,GACTvnG,EAAI,EACJkuf,EAAc3mZ,EAAM,EAAIn6B,EAAK1vE,IAE7BsC,GAAKotE,EAAGm6B,EACR2mZ,EAAc9gb,EAAGptE,EAAItC,KAgBzBsC,EAAI,EACAuoG,GAAM,GACRppG,EAAI,EACJ+uf,EAAcxwf,IACJ6qG,GAAMX,GAChBzoG,EAAI,EACJ+uf,EAActmZ,EAAM,EAAIW,EAAK7qG,IAE7ByB,GAAKopG,EAAGX,EACRsmZ,EAAc3lZ,EAAGppG,EAAIzB,SAGpB,GAAIyB,EAAI,EACbA,EAAI,EACAiuE,GAAM,GACRptE,EAAI,EACJkuf,EAAcxwf,IACJ0vE,GAAMm6B,GAChBvnG,EAAI,EACJkuf,EAAc3mZ,EAAM,EAAIn6B,EAAK1vE,IAE7BsC,GAAKotE,EAAGm6B,EACR2mZ,EAAc9gb,EAAGptE,EAAItC,OAElB,CAEL,IAAI0wf,EAAS,EAAM9pY,EACnBtkH,GAAKouf,EACLjvf,GAAKivf,EACLF,EAAcluf,GAAGunG,EAAIvnG,EAAIwnG,EAAIroG,EAAI,EAAIiuE,GAAMjuE,GAAGqoG,EAAIxnG,EAAI4nG,EAAIzoG,EAAI,EAAIopG,GAAM7qG,OAKtEsC,EAAI,GACNmuf,EAAO3mZ,EAAMp6B,EACbwiC,EAAOhI,EAAMW,EACTqH,EAAOu+Y,GACT/+W,EAAQx/B,EAAOu+Y,EACf9+W,EAAQ9nC,EAAM,EAAIC,EAAMI,EACpBwnC,GAASC,GACXrvI,EAAI,EACJb,EAAI,EACJ+uf,EAAc3mZ,EAAM,EAAIn6B,EAAK1vE,IAE7BsC,EAAIovI,EAAMC,EACVlwI,EAAI,EAAIa,EACRkuf,EAAcluf,GAAGunG,EAAIvnG,EAAIwnG,EAAIroG,EAAI,EAAIiuE,GACrCjuE,GAAGqoG,EAAIxnG,EAAI4nG,EAAIzoG,EAAI,EAAIopG,GAAM7qG,KAG/BsC,EAAI,EACA4vG,GAAQ,GACVzwG,EAAI,EACJ+uf,EAActmZ,EAAM,EAAIW,EAAK7qG,GACpB6qG,GAAM,GACfppG,EAAI,EACJ+uf,EAAcxwf,IAEdyB,GAAKopG,EAAGX,EACRsmZ,EAAc3lZ,EAAGppG,EAAIzB,KAGhByB,EAAI,GACbgvf,EAAO3mZ,EAAMe,EACbqH,EAAOrI,EAAMn6B,EACTwiC,EAAOu+Y,GACT/+W,EAAQx/B,EAAOu+Y,EACf9+W,EAAQ9nC,EAAM,EAAIC,EAAMI,EACpBwnC,GAASC,GACXlwI,EAAI,EACJa,EAAI,EACJkuf,EAActmZ,EAAM,EAAIW,EAAK7qG,IAE7ByB,EAAIiwI,EAAMC,EACVrvI,EAAI,EAAIb,EACR+uf,EAAcluf,GAAGunG,EAAIvnG,EAAIwnG,EAAIroG,EAAI,EAAIiuE,GACrCjuE,GAAGqoG,EAAIxnG,EAAI4nG,EAAIzoG,EAAI,EAAIopG,GAAM7qG,KAG/ByB,EAAI,EACAywG,GAAQ,GACV5vG,EAAI,EACJkuf,EAAc3mZ,EAAM,EAAIn6B,EAAK1vE,GACpB0vE,GAAM,GACfptE,EAAI,EACJkuf,EAAcxwf,IAEdsC,GAAKotE,EAAGm6B,EACR2mZ,EAAc9gb,EAAGptE,EAAItC,MAIzB0xI,EAAQxnC,EAAMW,EAAKf,EAAMp6B,EACrBgiE,GAAS,GACXpvI,EAAI,EACJb,EAAI,EACJ+uf,EAActmZ,EAAM,EAAIW,EAAK7qG,IAE7B2xI,EAAQ9nC,EAAM,EAAIC,EAAMI,EACpBwnC,GAASC,GACXrvI,EAAI,EACJb,EAAI,EACJ+uf,EAAc3mZ,EAAM,EAAIn6B,EAAK1vE,IAE7BsC,EAAIovI,EAAMC,EACVlwI,EAAI,EAAIa,EACRkuf,EAAcluf,GAAGunG,EAAIvnG,EAAIwnG,EAAIroG,EAAI,EAAIiuE,GACrCjuE,GAAGqoG,EAAIxnG,EAAI4nG,EAAIzoG,EAAI,EAAIopG,GAAM7qG,KAKrC,IAAI6D,EAAI,EAAMvB,EAAIb,EAClB,IAAQf,EAAE,EAAGA,EAAE+E,EAAM9F,SAAUe,EAC7BmJ,EAAOnJ,GAAKmD,EAAIwsf,EAAG3vf,GAAK4B,EAAIguf,EAAG5vf,GAAKe,EAAI8uf,EAAG7vf,GAE7C,OAAG8vf,EAAc,EACR,EAEFA,EAGTnxf,EAAOC,QAAU8wf,GAKX,KACA,SAAU/wf,EAAQC,EAASkB,GAEjC,aAWA,IAAI6pY,EAAqB7pY,EAAoB,QAAQ6pY,mBACjDjyS,EAAe53F,EAAoB,QAAQ43F,aAE3Cu4Z,EAAcnwf,EAAoB,QAClC2wC,EAAY3wC,EAAoB,QAEhCynB,EAAOkpB,EAAUlpB,KACjBnnB,EAAOqwC,EAAUrwC,KACjBgnC,EAAUswD,EAAat3F,GAEvBwK,EAAa,GASjB,SAAS4H,EAAKnE,GAKV,IAJA,IAAIoX,EAAapX,EAAGymB,YAChB6uC,EAAWt1D,EAAGisD,SACdR,EAAar0C,EAAW4sB,UAAUjyC,GAE9BJ,EAAI,EAAGA,EAAI85D,EAAW76D,OAAQe,IAAK,CACvC,IAAI0L,EAAKouD,EAAW95D,GAChByqY,EAAkBd,EAAmBhmU,EAAUvjE,EAAMsL,GACrD0W,EAAUqD,EAAW/Z,GAAIia,SAEzBvD,IACAA,EAAU6te,EAAY5hf,EAAI3C,GAC1B+Z,EAAW/Z,GAAIia,SAAWvD,GAG9BA,EAAQ5P,KAAKi4X,EAAiBhlX,EAAYpX,EAAGyZ,YAIrD,SAASyyC,EAAMC,EAAaC,EAAeC,EAAaC,GAMpD,IALA,IAAIu1b,EAASv1b,EAActoB,UAAUjyC,IAAS,GAC1CiwZ,EAAS11V,EAAclB,MAAQkB,EAAclB,KAAK,MAClD62V,EAAS71V,EAAchB,MAAQgB,EAAchB,KAAK,MAClD02b,EAAiB9/F,IAAUC,EAEvBtwZ,EAAI,EAAGA,EAAIkwf,EAAOjxf,OAAQe,IAAK,CACnC,IAAI0L,EAAKwkf,EAAOlwf,GACZ66D,EAAaF,EAAcjvD,GAAIia,SAEnC,IAAI80C,EAAc/uD,IAASmvD,EAIvB,IAAI,IAAIp2D,KAHRo2D,EAAWgoF,UAAUtyI,SACrBsqD,EAAWwE,OAAO,qBAAqB9uD,SAE1BsqD,EAAW4zM,UACpB5zM,EAAW4zM,UAAUhqQ,GAAG8L,SAI7B4/e,GAAkBt1b,EAAWi9B,SAC5Bj9B,EAAWi9B,OAAOviE,UAClBslC,EAAWi9B,OAAS,OAhDhCltF,EAAW2c,GAAQ,CACfvE,QAAS,YAETC,KAAM7iB,EACNijB,SAAU,QAiDd1kB,EAAOC,QAAU,CACb2oB,KAAMA,EACNnnB,KAAMA,EACNk5D,OAAQl5D,EACRm5D,QAASnyB,EACToyB,UAAWpyB,EACXx8B,WAAYA,EACZs8B,iBAAkBpnC,EAAoB,QACtCm3D,qBAAsBn3D,EAAoB,QAC1C0S,KAAMA,EACN+nD,MAAOA,EACPS,MAAOl7D,EAAoB,QAAQk7D,QAMjC,KACA,SAAUr8D,EAAQC,EAASkB,GAEjC,aAWA,IAAI8O,EAAK9O,EAAoB,QAEzBswC,EAAQtwC,EAAoB,QAC5Bi5G,EAAKj5G,EAAoB,QACzB0iB,EAAQ1iB,EAAoB,QAC5Bq3B,EAAUr3B,EAAoB,QAC9BuW,EAAMvW,EAAoB,QAC1BuwC,EAAevwC,EAAoB,QACnCmmQ,EAAcnmQ,EAAoB,QAClComQ,EAAoBD,EAAYC,kBAChCl2E,EAAmBi2E,EAAYj2E,iBAE/Bj6D,EAAUj2H,EAAoB,QAC9B21B,EAAY31B,EAAoB,QAChCi2S,EAAmBj2S,EAAoB,QAAQi2S,iBAEnD,SAASvjS,EAAKnE,EAAI6hL,GACd,IAAIzqK,EAAapX,EAAGymB,YAChB0+B,EAAK/tC,EAAWguC,MAEpBu8H,EAAiB,MAAOvqK,GAExB4sV,EAAgBniL,EAAU7hL,GAC1B+jW,EAAYliL,EAAU18H,GAEtB,IAAI48b,EAAa/5e,EAAIsoE,gBAAgBl5D,EAAW24U,UAAWluK,EAAU,SAASxgL,MAAK,SAASmQ,GACxF,IAAIg/D,EAAYjwE,EAAGO,OAAO7M,MACtBgtC,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MAEhBmkW,EAAU5yV,GAIVg/D,EAAUt3D,KAAK,kBAAmB,SAElCs3D,EAAUnvE,MAAK,WACX,IAAI8hI,EAAS5iI,EAAGO,OAAO7M,MAAM8M,UAAU,WAAWnE,KAAK4U,GAEvD2xH,EAAOniI,QAAQC,OAAO,KACjBC,QAAQ,SAAS,GACtBiiI,EAAOhvF,OAAOjyC,SAEd,IAAI8/e,EAAY,CACZ,CAAC,GAAI,IACL,CAAC,GAAI,KAELC,GAAiB,EAErB9+W,EAAO9hI,MAAK,SAASkQ,EAAI5f,GACrB,GAAG4f,EAAGozV,OACFpkW,EAAGO,OAAO7M,MAAM8M,UAAU,UAAUmB,aADxC,CAMAqP,EAAGE,YAAcF,EAAG5f,EACpB4f,EAAGipN,YAAcv6N,EAAM5L,MAEvB2tf,EAAUzwe,EAAGu1R,MAAM,GAAK,EAAI,EAAI,GAAGv1R,EAAGu1R,MAAM,GAAK,EAAI,EAAI,GAAGryS,KAAK8c,GAEjE,IAAIg1D,EAAKtlC,EAAIslC,GACTC,EAAKvlC,EAAIulC,GACTk+D,EAAWnkI,EAAGO,OAAO7M,MACrBgxI,EAAYP,EAAS3jI,UAAU,gBAAgBnE,KAAK,CAAC2U,IAQzD,GANA0zH,EAAUjkI,QAAQC,OAAO,QACpBC,QAAQ,WAAW,GACnBE,MAAM,CAAC,iBAAkB,QAE9BsjI,EAAS5zI,KAAKmyI,EAAkBjjI,EAAIwR,GAEjCvR,EAAMg+Y,KAAM,CACX,IAAIA,GAAQv2R,EAAQokJ,WAAW7rQ,EAAMg+Y,KAAM1sY,EAAGiwB,MAAQ,EACnDy8W,EAAO,IACN13U,GAAM03U,EAAO1sY,EAAGu1R,MAAM,GACtBtgO,GAAMy3U,EAAO1sY,EAAGu1R,MAAM,IAI9Bv1R,EAAG2we,QAAU37a,EACbh1D,EAAG4we,QAAU37a,EAWb,IAAI6yF,EAAOp5J,EAAMo5J,KACjB,GAAG9nJ,EAAGpb,IAAM8qC,EAAIq7G,OAAQ,CACpB,IAAI8lW,EAAc,KAAO77a,EAAKh1D,EAAG8we,IAAI,IAAM,KAAO77a,EAAKj1D,EAAG8we,IAAI,IAC1DpiY,EAAI1uG,EAAG8we,IAAK9we,EAAGu1R,OAAO,EAAM,GAC5B7mL,EAAI1uG,EAAGu1R,MAAOv1R,EAAG8we,KAAK,EAAM,GAAK,IAClChpV,EACCp0B,EAAU/rH,KAAK,IACX,KAAOqtD,EAAK8yF,EAAO9nJ,EAAG8we,IAAI,IAAM,KAAO77a,EAAK6yF,EAAO9nJ,EAAG8we,IAAI,IAC1DpiY,EAAI1uG,EAAG8we,IAAK9we,EAAGu1R,OAAO,EAAOztI,GAC7Bp5C,EAAI1uG,EAAGu1R,MAAOv1R,EAAG8we,KAAK,EAAOhpV,GAC7B,IAAM+oV,GACPn9W,EAAU/rH,KAAK,IAAKkpe,OACxB,CACH,IAAIE,EAAWriY,EAAI1uG,EAAG8we,IAAK9we,EAAGgxe,KAAK,EAAM,GAEzC,GAAGlpV,EAAM,CACL,IAAImpV,EAAM,EAAInpV,EACdp0B,EAAU/rH,KAAK,IACX,KAAOqtD,EAAK8yF,EAAO9nJ,EAAGgxe,IAAI,IAAM,KAAO/7a,EAAK6yF,EAAO9nJ,EAAGgxe,IAAI,IAC1DtiY,EAAI1uG,EAAGgxe,IAAKhxe,EAAG8we,KAAK,EAAOhpV,GAC3B,IAAOmpV,EAAMjxe,EAAG8we,IAAI,GAAM,IAAOG,EAAMjxe,EAAG8we,IAAI,GAC9CC,EACA,UAEJr9W,EAAU/rH,KAAK,IACX,IAAMqtD,EAAK,IAAMC,EACjB,IAAMj1D,EAAG8we,IAAI,GAAK,IAAM9we,EAAG8we,IAAI,GAC/BC,EACA,KAKZp+I,EAAiBlkW,EAAIuR,EAAI0vB,GACzB,IAAIqkU,EAAe59O,EAAQokJ,WAAW7rQ,EAAMw7E,aAAclqE,EAAGiwB,KACzDmkG,EAAiBjB,EAAS3jI,UAAU,eACnCnE,KAAK2U,EAAG7Q,MAA0B,SAAjB4kW,EAA2B,CAAC,GAAK,IAEvD3/N,EAAe3kI,QAAQC,OAAO,KACzBC,QAAQ,aAAa,GAC1BykI,EAAexxF,OAAOjyC,SAEtByjI,EAAetkI,MAAK,WAChB,IAAIukI,EAAY59H,EAAIiuG,aAAa11G,EAAGO,OAAO7M,MAAO,OAAQ,IAAI,SAASV,GAGnEA,EAAE2lB,KAAK,aAAc,MAGrBzG,EAAOzK,EAAI69H,sBAAsB7lI,EAAqB,YAAjBslW,EACrCm9I,EAAyBxif,EAAOsR,EAAI6F,EAAW3E,MAC/CqxV,EAAwB7jW,EAAOsR,EAAI6F,EAAW3E,OAGlDmzH,EAAUllI,KAAK6Q,EAAG7Q,MACbwY,KAAK,CACF,MAAS,YACTkC,UAAW,GACX,cAAe,WAElBtqB,KAAKg4B,EAAQrW,KAAMA,GACnB3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAGxC,IACIob,EADA2qH,EAASj9G,EAAQ+qB,KAAK+xF,EAAUjtH,QAGpC,GAAoB,YAAjB2sV,EACClqV,EAAYsne,EAAqB38W,EAAQx0H,QAGzC,GADA6J,EAAYune,EAAoB58W,EAAQx0H,EAAI0vB,GACxB,SAAjBqkU,GAA2BlqV,EAAUs7C,MAAQ,EAAG,CAC/C,IAAIykY,EAAUnzb,EAAI69H,sBAAsB7lI,EAAIC,EAAM67E,iBAElD8pD,EAAU90I,KAAKg4B,EAAQrW,KAAM0ob,GAC7Bp1T,EAASj9G,EAAQ+qB,KAAK+xF,EAAUjtH,QAEhCyC,EAAYsne,EAAqB38W,EAAQx0H,GAIjD,IAAIqxe,EAAexne,EAAUwne,aACzBC,OAA0Bhyf,IAAjB+xf,EAA6Brxe,EAAGu1R,MAAQg8M,EAAU7hd,EAAI3uC,EAAGswf,GAMtE,GALAxne,EAAUqyJ,QAAUlnG,EAAKs8a,EAAO,GAAKzne,EAAU2ne,SAAW3ne,EAAUvb,GAAK,GACzEub,EAAUuyJ,QAAUnnG,EAAKq8a,EAAO,GAAKzne,EAAU2ne,SAAW3ne,EAAU5V,GAAK,GACzEw9e,EAAiB5ne,EAAW2qH,GAGzB3qH,EAAUqie,QAAS,CAClB,IAAI9vU,EAAUvyJ,EAAUuyJ,QACxBp8J,EAAG0xe,UAAYt1U,EAAU5nC,EAAOtrH,OAAS,EACzClJ,EAAG2xe,UAAYv1U,EACfp8J,EAAG4xe,UAAYx1U,EAAU5nC,EAAOtrH,OAAS,EACzClJ,EAAG6xe,YAAc,EACjB7xe,EAAG8xe,YAAc,EACjBpB,GAAiB,EAGrB7me,EAAU5I,SAAWC,EAAKyC,KAC1B2iP,EAAkB53P,EAAM0E,KAAMyW,EAAWhE,GACzC5F,EAAG7f,GAAGypB,UAAYA,EAElBwqH,EAAU1sH,KAAK,YAAalR,EAAIq0P,iBAAiBjhP,OA/GrD,SAAS6kG,EAAIlrG,EAAOuue,EAAQnjY,EAAIzpD,GAC5B,IAAIvsC,EAAKusC,GAAS4sb,EAAO,GAAKvue,EAAM,IAChCoG,EAAKu7C,GAAS4sb,EAAO,GAAKvue,EAAM,IAEpC,MAAO,IACF2hD,EAAQz1B,EAAI3uC,EAAK,IAAOokE,EAAQz1B,EAAI3uC,EAAK,MAC1Cif,EAAG2lS,UAAY/2L,EAAK,MAAQ,OAASh2F,EAAK,IAAMhP,MA8G5D,IAAIoqV,EAAiBhlW,EAAGO,OAAO7M,MAAM8M,UAAU,eAC1CnE,KAAKqD,EAAMy0C,MAAMh0C,KAAO,CAAC,GAAK,IA6CnC,GA3CA6kW,EAAevkW,QAAQC,OAAO,KACzBC,QAAQ,aAAa,GAC1BqkW,EAAepxT,OAAOjyC,SAEtBqjW,EAAelkW,MAAK,WAChB,IAmBI+Z,EAnBAwrM,EAAY5+M,EAAIiuG,aAAa11G,EAAGO,OAAO7M,MAAO,OAAQ,IAAI,SAASV,GAEnEA,EAAE2lB,KAAK,aAAc,MAGrB28F,EAAM51G,EAAMy0C,MAAMh0C,KACnBT,EAAMojF,QACLwyB,EAAM7tG,EAAI+tG,eAAeF,EAAK51G,EAAMojF,QAGxCujI,EAAUlmN,KAAKm1G,GACV38F,KAAK,CACF,MAAS,YACTkC,UAAW,GACX,cAAe,WAEtBtqB,KAAKg4B,EAAQrW,KAAMxS,EAAMy0C,MAAMjiC,MAC/B3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAKhCob,EADwB,kBAAzBnb,EAAMy0C,MAAMz5C,SACCsof,EAAoBtid,GAEpBgjU,EAAqBhjU,EAAKkkB,GAG1CyhK,EAAU1tM,KAAK,YACX,aAAekC,EAAUvb,EAAI,IAAMub,EAAU5V,EAAI,KAChD4V,EAAUs7C,MAAQ,EAAK,SAAWt7C,EAAUs7C,MAAQ,IAAO,IAC5D,aAAet7C,EAAU82B,GAAK,IAAM92B,EAAU+tP,GAAK,QAIxD84O,GAAgBuB,EAAYxB,EAAW/hf,GAE1Cwjf,EAActgX,EAAQljI,GAEnBgif,GAAkBhif,EAAMugD,WAAY,CAInC,IAAIkjc,EAAY56d,EAAQ+qB,KAAK28B,EAAU73D,QAEnCyoC,EAASnhD,EAAMmhD,OACfu3M,EAAMxzM,EAAGj2C,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,IACrC+4P,EAAMzzM,EAAG1C,GAAKrB,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,IACrCilB,GAAQ,GAAMkuO,EAAM13N,EAAI3uC,GAAK6yD,EAAGj2C,EAChCwb,GAAQ,GAAMkuO,EAAM33N,EAAI3uC,GAAK6yD,EAAG1C,EAEpC1gB,EAAMwf,WAAWvhD,EAAI,OAASC,EAAMymB,IAAM,cAAe,CACrDo6B,GAAIM,EAAOvhD,EAAE,GAAK4qB,EAClBm2B,GAAIQ,EAAOvhD,EAAE,GAAK4qB,EAClBu2B,GAAII,EAAO57C,EAAE,GAAKklB,EAClBw2B,GAAIE,EAAO57C,EAAE,GAAKklB,EAClB94B,EAAGwF,KAAKqC,IAAIwnC,EAAIslC,GAAKtlC,EAAI3uC,EAAIoxf,EAAUr+e,KAAM,GAC7C/S,EAAG8E,KAAKqC,IAAIiqf,EAAUp+e,OAAS27B,EAAIslC,GAAKtlC,EAAI3uC,GAAI,GAChDtB,EAAGoG,KAAKqC,IAAIiqf,EAAUpge,QAAU2d,EAAIulC,GAAKvlC,EAAI3uC,GAAI,GACjDI,EAAG0E,KAAKqC,IAAIwnC,EAAIulC,GAAKvlC,EAAI3uC,EAAIoxf,EAAUnge,IAAK,GAC5ChY,IAAK,WAYrBoyD,YAAW,WACPokb,EAAWhhf,UAAU,SAASM,MAAK,WAC/B,IAAI9N,EAAIgN,EAAGO,OAAO7M,MACfV,EAAE2lB,KAAK,OAAO3lB,EAAE2lB,KAAK,KAAM3lB,EAAE2lB,KAAK,YAE1C,GAIP,SAASuqe,EAActgX,EAAQljI,GAC3BkjI,EAAO9hI,MAAK,SAASkQ,GACjB,IAAImzH,EAAWnkI,EAAGO,OAAO7M,MAEzB,GAAIsd,EAAG6xe,aAAgB7xe,EAAG8xe,YAA1B,CAMA,IAAIz9W,EAAYlB,EAAS5jI,OAAO,oBAEhCyQ,EAAG6J,UAAUqyJ,SAAWl8J,EAAG6xe,YAC3B7xe,EAAG6J,UAAUuyJ,SAAWp8J,EAAG8xe,YAE3Bz9W,EAAU1sH,KAAK,YAAalR,EAAIq0P,iBAAiB9qP,EAAG6J,YAGpD,IAAIuoe,EAAapye,EAAG2we,QAAU3we,EAAGu1R,MAAM,GACnC88M,EAAarye,EAAG4we,QAAU5we,EAAGu1R,MAAM,GACnC+8M,EAAe,IAAMF,EAAa,IAAMC,EACxCE,GAAUvye,EAAG4xe,UAAY5xe,EAAG0xe,YAAc1xe,EAAGu1R,MAAM,GAAK,GAAK,EAAI,GAAK,EAE1E,GAAGv1R,EAAG6xe,YAAa,CACf,IAAIW,EAASxye,EAAG6xe,YAAc7xe,EAAGu1R,MAAM,GAAKv1R,EAAGu1R,MAAM,GACjDk9M,EAAOzye,EAAG2xe,UAAY3xe,EAAG8xe,aAAe9xe,EAAG4we,QAAU5we,EAAGu1R,MAAM,IAE/D1vS,KAAK+R,IAAI46e,GAAU3sf,KAAK+R,IAAI66e,GAC3BH,GACI,IAAOG,EAAOzye,EAAGu1R,MAAM,GAAKv1R,EAAGu1R,MAAM,GAAM,IAAMk9M,EACjD,KAAOL,EAAapye,EAAG6xe,YAAcU,GAEzCD,GAAgB,IAAMtye,EAAG6xe,YAAc,IAAMW,EACzC,KAAOC,EAAOD,GACd,IAAMD,OAGdD,GACI,KAAOtye,EAAG2xe,UAAY3xe,EAAG8xe,aACzB,IAAMS,EAGd97e,EAAIiuG,aAAayuB,EAAU,OAAQ,YAC9B5zI,KAAKqjB,EAAM0G,OAAQ5a,EAAM67E,gBAAgBp/E,OACzCwc,KAAK,CACF,eAAgB9hB,KAAKoC,IAAI,EAAGyG,EAAM67E,gBAAgB5mE,KAAO,GACzDpjB,EAAG+xf,EACH3gf,KAAM,cA1CVwhI,EAAS5jI,OAAO,iBAAiBoB,YA+C7C,SAAS+gI,EAAiByB,EAAU1kI,EAAIwR,GACpC,IAAIyvB,EAAMzvB,EAAG,GACTvR,EAAQghC,EAAIhhC,MACZsmE,EAAKtlC,EAAIslC,GACTC,EAAKvlC,EAAIulC,GAIR,mBAAoBvmE,IAAQA,EAAMmmS,gBAAiB,GAKnD,mBAAoBnmS,IAAQA,EAAMomS,gBAAiB,GAExD3hK,EAASjjI,GAAG,aAAa,SAAS8P,GAE9B,IAAI0ye,EAAcjkf,EAAGymB,YACjB4uR,EAASr1S,EAAGw3C,UAAUv3C,EAAM5L,OAEhC,IAAG2L,EAAG0hH,YAAuC,IAA1BuiY,EAAYzwe,UAA/B,CAEA,IAAIuD,EAAYs+R,EAAOt+R,UAiBvB,GAhBGzhB,MAAM0J,QAAQ+X,KAMbA,EAAY2zF,EAAGi8L,cAAc,CACzB5vR,UAAW,CAAC2wG,EAAQokJ,WAAW/0P,EAAWxF,EAAGiwB,MAC7C2hD,QAASljF,EAAMkjF,SAChB8ga,EAAa,IAGH,QAAdlte,IAAqBA,EAAY,iCAIjCs+R,EAAOz/R,eAAgC,SAAdmB,GAAsC,SAAdA,GAAwBA,EAAY,CACpF,IAAIgwR,EAAax1R,EAAGw1R,YAAc,EAC9BH,EAAergO,EAAKh1D,EAAGu1R,MAAM,IAAM,EAAIC,GACvCF,EAAergO,EAAKj1D,EAAGu1R,MAAM,IAAM,EAAIC,GACvCvoL,EAAaylY,EAAYzlY,WACzB99G,EAAO,GAIX,GAFGqW,IAA6C,IAAhCA,EAAU1gB,QAAQ,UAAiBqK,EAAKjM,KAAK8c,EAAGihF,OAChEjhF,EAAG7Q,KAAOgnH,EAAQokJ,WAAWupC,EAAO1/R,WAAa0/R,EAAO30S,KAAM6Q,EAAGiwB,KAC9DzqB,IAA4C,IAA/BA,EAAU1gB,QAAQ,QAAgB,CAC9C,IAAI67C,EAAK3gC,EAAG7Q,KACTsH,EAAI0/R,iBAAiBx1P,IAAKxxC,EAAKjM,KAAKy9C,GAE3C3gC,EAAG9e,MAAQ8e,EAAGpb,EACdob,EAAG01R,WAAav/K,EAAQkkJ,eAAer6P,EAAGpb,EAAGqoH,GAC1CznG,IAA6C,IAAhCA,EAAU1gB,QAAQ,UAAiBqK,EAAKjM,KAAK8c,EAAG01R,YAChE11R,EAAG80X,QAAU90X,EAAGpb,EAAI8qC,EAAIq7G,OACxB/qI,EAAG2ye,aAAex8X,EAAQ+jJ,iBAAiBl6P,EAAG80X,QAAS7nR,GACpDznG,IAA+C,IAAlCA,EAAU1gB,QAAQ,YAAmBqK,EAAKjM,KAAK8c,EAAG2ye,cAElE,IAAIC,EAAa9uM,EAAO7pP,WACpB8xF,EAAY6mW,EAAW1xe,KAE3Bi4F,EAAG8yC,UAAU,CACTv9I,MAAOA,EACPqoB,GAAIs+Q,EAAeG,EAAa9lQ,EAAI3uC,EACpCi2B,GAAIq+Q,EAAeG,EAAa9lQ,EAAI3uC,EACpCkT,EAAGqhS,EACHnmS,KAAMA,EAAK9L,KAAK,QAChB7C,KAAOsjT,EAAOz/R,gBAAgD,IAA/BmB,EAAU1gB,QAAQ,QAAkBg/S,EAAOtjT,UAAOlB,EACjFk3S,WAAYx2R,EAAGu1R,MAAM,GAAK,EAAI,OAAS,QACvCpqS,MAAOgrH,EAAQokJ,WAAWq4O,EAAW/mZ,QAAS7rF,EAAGiwB,MAAQjwB,EAAG7U,MAC5DosG,YAAa4e,EAAQokJ,WAAWq4O,EAAW9mZ,YAAa9rF,EAAGiwB,KAC3Djc,WAAYmiG,EAAQokJ,WAAWxuH,EAAUnrI,OAAQZ,EAAGiwB,KACpDhvB,SAAUk1G,EAAQokJ,WAAWxuH,EAAUpoI,KAAM3D,EAAGiwB,KAChD2L,UAAWu6E,EAAQokJ,WAAWxuH,EAAU5gJ,MAAO6U,EAAGiwB,KAClDomQ,WAAYlgL,EAAQokJ,WAAWq4O,EAAWzjX,WAAYnvH,EAAGiwB,KACzDojI,UAAWl9C,EAAQokJ,WAAWq4O,EAAWjnZ,MAAO3rF,EAAGiwB,KACnD5rB,cAAe8xG,EAAQokJ,WAAWupC,EAAOz/R,cAAerE,EAAGiwB,KAC3DqmQ,oBAAqBt2R,EACrB6V,UAAW,CAACA,EAAU7V,EAAI8jS,KAC3B,CACCzyR,UAAWqhe,EAAYniY,YAAYnpG,OACnC8kI,eAAgBwmW,EAAYpnc,OAAOlkC,OACnC3Y,GAAIA,IAGRC,EAAMmmS,gBAAiB,EAG3BnmS,EAAMomS,gBAAiB,EACvBrmS,EAAGwuG,KAAK,eAAgB,CACpBh5G,OAAQ,CAAC4xB,EAAU7V,EAAI8jS,IACvBpvR,MAAO1lB,EAAG0lB,YAIlBy+G,EAASjjI,GAAG,YAAY,SAASktG,GAC7B,IAAIs1Y,EAAcjkf,EAAGymB,YACjB4uR,EAASr1S,EAAGw3C,UAAUv3C,EAAM5L,OAC5Bkd,EAAKhR,EAAGO,OAAO7M,MAAMkwM,QAEtBlkM,EAAMomS,iBACL13L,EAAI21G,cAAgB/jN,EAAG0lB,MACvBjmB,EAAGwuG,KAAK,iBAAkB,CACtBh5G,OAAQ,CAAC4xB,EAAU7V,EAAI8jS,IACvBpvR,MAAO1lB,EAAG0lB,QAEdhmB,EAAMomS,gBAAiB,GAGxBpmS,EAAMmmS,iBACL17L,EAAGgzC,YAAYumW,EAAYniY,YAAYnpG,QACvC1Y,EAAMmmS,gBAAiB,MAI/B1hK,EAASjjI,GAAG,SAAS,SAAS8P,GAM1B,IAAI0ye,EAAcjkf,EAAGymB,YACjB4uR,EAASr1S,EAAGw3C,UAAUv3C,EAAM5L,OAE7B2L,EAAG0hH,YAAuC,IAA1BuiY,EAAYzwe,YAE/BxT,EAAGwvG,WAAa,CAACpoF,EAAU7V,EAAI8jS,IAC/B3qM,EAAG1T,MAAMh3F,EAAIO,EAAG0lB,WAIxB,SAASw8d,EAAyBxif,EAAOsR,EAAIs0J,GACzC,IAAInpK,EACAgrH,EAAQokJ,WAAW7rQ,EAAM67E,gBAAgBp/E,MAAO6U,EAAGiwB,MACnDkmF,EAAQokJ,WAAW7rQ,EAAM27E,SAASl/E,MAAO6U,EAAGiwB,MAC5CqkI,EAAWnpK,MAEXyV,EACAu1G,EAAQokJ,WAAW7rQ,EAAM67E,gBAAgB3pE,OAAQZ,EAAGiwB,MACpDkmF,EAAQokJ,WAAW7rQ,EAAM27E,SAASzpE,OAAQZ,EAAGiwB,MAC7CqkI,EAAW1zJ,OAEX+C,EACAwyG,EAAQokJ,WAAW7rQ,EAAM67E,gBAAgB5mE,KAAM3D,EAAGiwB,MAClDkmF,EAAQokJ,WAAW7rQ,EAAM27E,SAAS1mE,KAAM3D,EAAGiwB,MAC3CqkI,EAAW3wJ,KAEf,MAAO,CACHxY,MAAOA,EACPyV,OAAQA,EACR+C,KAAMA,GAId,SAAS4uV,EAAwB7jW,EAAOsR,EAAIs0J,GACxC,IAAIu+U,EAAc18X,EAAQokJ,WAAW7rQ,EAAM47E,eAAen/E,MAAO6U,EAAGiwB,MAChE4id,GAAenkf,EAAMmgC,OAAOw7C,WAK5Bwoa,EAAc18X,EAAQokJ,WAAW7rQ,EAAMmgC,OAAOw7C,SAASl/E,MAAO6U,EAAGiwB,MAGrE,IAAIrvB,EACAu1G,EAAQokJ,WAAW7rQ,EAAM47E,eAAe1pE,OAAQZ,EAAGiwB,MACnDkmF,EAAQokJ,WAAW7rQ,EAAM27E,SAASzpE,OAAQZ,EAAGiwB,MAC7CqkI,EAAW1zJ,OAEX+C,EACAwyG,EAAQokJ,WAAW7rQ,EAAM47E,eAAe3mE,KAAM3D,EAAGiwB,MACjDkmF,EAAQokJ,WAAW7rQ,EAAM27E,SAAS1mE,KAAM3D,EAAGiwB,MAC3CqkI,EAAW3wJ,KAEf,MAAO,CACHxY,MAAO0nf,GAAejwe,EAAMo1F,SAASh4F,EAAG7U,OACxCyV,OAAQA,EACR+C,KAAMA,GAId,SAAS8uV,EAAgBniL,EAAU7hL,GAI/B,IAHA,IAAIihC,EAAKhhC,EAGDtO,EAAI,EAAGA,EAAIkwL,EAASjxL,OAAQe,IAIhC,GAHAsvC,EAAM4gJ,EAASlwL,GAAG,GAClBsO,EAAQghC,EAAIhhC,MAETA,EAAMy0C,MAAMh0C,KAAM,CACjB,IAAIm1G,EAAM51G,EAAMy0C,MAAMh0C,KACnBT,EAAMojF,QACLwyB,EAAM7tG,EAAI+tG,eAAeF,EAAK51G,EAAMojF,QAGxC,IAAIgha,EAAav7d,EAAQirC,OAAO9yD,OAAO,QACpCiY,KAAK,aAAc,GACnBxY,KAAKm1G,GACL/kH,KAAKg4B,EAAQrW,KAAMxS,EAAMy0C,MAAMjiC,MAC/B3hB,KAAKkxC,EAAalpB,gBAAiB9Y,GAClC6zC,EAAO/qB,EAAQ+qB,KAAKwwc,EAAW1re,QAAQ,GAC3CsoB,EAAIqjd,SAAW,CACX3xe,MAAOkhC,EAAKlhC,MACZ8H,OAAQo5B,EAAKp5B,QAEjB4pe,EAAWnif,UAKvB,SAASygf,EAAoB58W,EAAQx0H,EAAI0vB,GACrC,IAaIsvc,EAbAgU,EAAentf,KAAKuD,KAAKorI,EAAOpzH,MAAQozH,EAAOpzH,MAAQozH,EAAOtrH,OAASsrH,EAAOtrH,QAC9E+pe,EAAYjze,EAAGkze,UACfC,EAAWnze,EAAGoze,SACdnyQ,EAAOjhO,EAAGihO,KACVu0D,EAAax1R,EAAGw1R,WAChBz0S,EAAI2uC,EAAI3uC,GAAKif,EAAGu2R,KAChBzuS,EAAc4nC,EAAIhhC,MAAM+9Y,sBACxBj8N,EAA+B,eAAhB1oL,EACfurf,EAA+B,eAAhBvrf,EACfwrf,EAA2B,WAAhBxrf,EACXqgI,EAAyB,SAAhBrgI,EACT49S,EAAqB,IAATzkE,GAAgBp7O,KAAK+R,IAAIoI,EAAGuze,WAAavze,EAAGwze,aAAyB,EAAV3tf,KAAKg8B,GAC5E4xd,EAAgB,GAGpB,IAAItrX,EAAQ,CAGR,IAmBI/nI,EAnBAszf,EAAmB,SAASrjc,EAAO7uD,GACnC,GAAGmyf,EAAW3ze,EAAIqwC,GAAQ,CACtB,IAAIujc,EAAS/tf,KAAK+R,IAAIy4C,EAAQrwC,EAAGuze,YAC7BM,EAAQhuf,KAAK+R,IAAIy4C,EAAQrwC,EAAGwze,WAE5BM,EAAcF,EAASC,EAAQD,EAASC,EAGxC7U,EADO,QAARx9e,EACQuyf,EAAiBv/W,EAAQzzI,EAAGkgP,EAAM6yQ,EAAa,GAE/CE,EAAiBx/W,EAAQzzI,EAAGkgP,EAAM6yQ,EAAajuf,KAAKg8B,GAAK,GAEpEm9c,EAAKqS,aAAehhc,EAEpBojc,EAAcvwf,KAAK87e,KAM3B,GAAGxuT,GAAgB6iU,EAAc,CAE7B,IAAIjzf,EAAI,EAAGA,IAAM,EAAGA,GAAK,EAAGszf,EAAiB7tf,KAAKg8B,GAAKzhC,EAAG,OAE1D,IAAIA,EAAI,EAAGA,IAAM,EAAGA,GAAK,EAAGszf,EAAiB7tf,KAAKg8B,IAAMzhC,EAAI,GAAI,OAEpE,GAAGowL,GAAgB8iU,EAAU,CAEzB,IAAIlzf,EAAI,EAAGA,IAAM,EAAGA,GAAK,EAAGszf,EAAiB7tf,KAAKg8B,IAAMzhC,EAAI,KAAM,OAElE,IAAIA,EAAI,EAAGA,IAAM,EAAGA,GAAK,EAAGszf,EAAiB7tf,KAAKg8B,IAAMzhC,EAAI,IAAM,QAI1E,GAAGslT,GAAYv9K,GAAUqoD,EAAc,CAcnC,GATAwuT,EAAO,CACH75a,MAAOqwO,EAAaz0S,EAAI,EAAIiyf,EAG5BxB,QAAS,EAAIh8M,EACbphS,OAAQ,GAGZ4qe,EAAKqS,cAAgBrxe,EAAGuze,WAAavze,EAAGwze,WAAa,EAClDxU,EAAK75a,OAAS,EAAG,OAAO65a,EAE3ByU,EAAcvwf,KAAK87e,IAGpB72W,GAAUmrX,KACTtU,EAAOgV,EAAiBx/W,EAAQzzI,EAAGkgP,EAAMgyQ,EAAWE,GACpDnU,EAAKqS,cAAgBrxe,EAAGuze,WAAavze,EAAGwze,WAAa,EACrDC,EAAcvwf,KAAK87e,KAGpB72W,GAAUkrX,KACTrU,EAAO+U,EAAiBv/W,EAAQzzI,EAAGkgP,EAAMgyQ,EAAWE,GACpDnU,EAAKqS,cAAgBrxe,EAAGuze,WAAavze,EAAGwze,WAAa,EACrDC,EAAcvwf,KAAK87e,IAKvB,IAFA,IAAIlze,EAAK,EACL00S,EAAW,EACP37S,EAAI,EAAGA,EAAI4uf,EAAcp0f,OAAQwF,IAAK,CAC1C,IAAI7C,EAAIyxf,EAAc5uf,GAAGsgE,MAMzB,GALGq7O,EAAWx+S,IACVw+S,EAAWx+S,EACX8J,EAAKjH,IAGLsjI,GAAUq4K,GAAY,EAEtB,MAGR,OAAOizM,EAAc3nf,GAGzB,SAAS6nf,EAAW3ze,EAAIqwC,GACpB,IAAI7sC,EAAQxD,EAAGuze,WACXnmb,EAAOptD,EAAGwze,UACd,OACKhwe,EAAQ6sC,GAASA,EAAQ+c,GACzB5pD,EAAQ6sC,GAASA,EAAQ+c,EAIlC,SAAS4mb,EAAiBx/W,EAAQzzI,EAAGkgP,EAAMgyQ,EAAWE,GAElD,IAAI3zf,EAAIg1I,EAAOpzH,MAAQozH,EAAOtrH,OAC1BlnB,EAAIiyf,EAAgBz0f,EAAGyzf,EAAWlyf,EAAGkgP,GACzC,MAAO,CACH97K,MAAW,EAAJnjE,EAAQwyI,EAAOtrH,OACtBsoe,QAAS0C,EAAY10f,EAAGwC,EAAIjB,GAC5BqT,OAAQ+/e,EAAWhB,IAI3B,SAASY,EAAiBv/W,EAAQzzI,EAAGkgP,EAAMgyQ,EAAWE,GAElD,IAAI3zf,EAAIg1I,EAAOtrH,OAASsrH,EAAOpzH,MAC3Bpf,EAAIiyf,EAAgBz0f,EAAGyzf,EAAWlyf,EAAGkgP,GACzC,MAAO,CACH97K,MAAW,EAAJnjE,EAAQwyI,EAAOpzH,MACtBowe,QAAS0C,EAAY10f,EAAGwC,EAAIjB,GAC5BqT,OAAQ+/e,EAAWhB,EAAWttf,KAAKg8B,GAAK,IAIhD,SAASqyd,EAAY10f,EAAGC,GACpB,OAAOoG,KAAK6qD,IAAIjxD,GAAKD,EAAIC,EAG7B,SAAS00f,EAAWhzf,GAChB,OAAQ,IAAM0E,KAAKg8B,GAAK1gC,EAAI,KAAO,IAAM,GAG7C,SAAS8yf,EAAgBz0f,EAAGyzf,EAAWlyf,EAAGkgP,GACtC,IAAIh5K,EAAIzoE,EAAI,GAAK,EAAIqG,KAAK6uE,IAAIu+a,IAC9B,OAAOlyf,EAAI8E,KAAKoC,IACZ,GAAKpC,KAAKuD,KAAK6+D,EAAIA,EAAI,IAAOA,GAC9Bg5K,GAAQp7O,KAAKuD,KAAK5J,EAAIA,EAAIyhP,EAAO,GAAKzhP,IAI9C,SAAS40f,EAA2Bp0e,EAAI0vB,GACpC,OAAG1vB,EAAGpb,IAAM8qC,EAAIq7G,QAAWr7G,EAAIhhC,MAAMo5J,KAE9BjiK,KAAKoC,IAAI,GAAK,EAAI,EAAIpC,KAAK8qD,IAAI3wC,EAAGkze,YAAalze,EAAGihO,KAAO,GAFd,EAKtD,SAASkwQ,EAAqB38W,EAAQx0H,GAClC,IAAI1R,EAAI0R,EAAGu1R,MAAM,GACbthS,EAAI+L,EAAGu1R,MAAM,GACb38Q,EAAK47G,EAAOpzH,MAAQ,EACpBwI,EAAK4qH,EAAOtrH,OAAS,EAKzB,OAHG5a,EAAI,IAAGsqB,IAAO,GACd3kB,EAAI,IAAG2V,IAAO,GAEV,CACHu7C,MAAO,EACPqsb,QAAS,EACTp9e,OAAQ,EACR9F,EAAGsqB,EAAK/yB,KAAK+R,IAAIgS,IAAOgP,EAAK,EAAI,GAAK,GAAK,EAC3C3kB,EAAG2V,GAAM,EAAItb,EAAIA,GAAK2F,EAAIA,IAC1Bi4e,SAAS,GAIjB,SAAS8F,EAAoBtid,GACzB,IAAIsjd,EACAntf,KAAKuD,KAAKsmC,EAAIqjd,SAAS3xe,MAAQsuB,EAAIqjd,SAAS3xe,MAAQsuB,EAAIqjd,SAAS7pe,OAASwmB,EAAIqjd,SAAS7pe,QAC3F,MAAO,CACH5a,EAAGohC,EAAIslC,GACP/gE,EAAGy7B,EAAIulC,GACP9P,MAAOz1B,EAAIhhC,MAAMo5J,KAAOp4H,EAAI3uC,EAAI,EAAIiyf,EACpCryc,GAAI,EACJi3N,IAAMloO,EAAIqjd,SAAS7pe,OAAS,EAAIwmB,EAAIhhC,MAAMy0C,MAAMjiC,KAAKyC,MAI7D,SAAS+uV,EAAqBhjU,EAAK2kd,GAC/B,IAEIC,EAFAr7U,EAAS,EACTC,EAAS,EAGTxqK,EAAQghC,EAAIhhC,MAIZ6lf,EAAY,CACZjmf,EAAGohC,EAAIslC,GACP/gE,EAAGy7B,EAAIulC,IAGPimJ,EAAY,CACZv6K,GAAI,EACJi3N,GAAI,GAMR18C,EAAU08C,IAAMlpQ,EAAMy0C,MAAMjiC,KAAKyC,KACjC2we,EAAUE,EAAW9lf,IAEuB,IAAzCA,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,QAC5Byvf,EAAUtgf,IAAM,EAAIqgf,GAAW5kd,EAAI3uC,EACnCm6N,EAAU08C,IAAMloO,EAAIqjd,SAAS7pe,SACqB,IAA5Cxa,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,YACnCyvf,EAAUtgf,IAAM,EAAIqgf,GAAW5kd,EAAI3uC,GAGvC,IAAIkzE,EAAKwgb,EAAiB/kd,EAAI3uC,EAAG2uC,EAAIhhC,MAAMk0B,aAEvCgoI,EAAWypV,EAAS12e,GAAKjP,EAAMmhD,OAAOvhD,EAAE,GAAKI,EAAMmhD,OAAOvhD,EAAE,IAAM,EAetE,OAd6C,IAA1CI,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,SAE5B8lK,GAAsB32F,EACtBsgb,EAAUjmf,IAAM,EAAIgmf,GAAWrgb,EAC/BinJ,EAAUv6K,IAAMjR,EAAIqjd,SAAS3xe,MAAQ,IACa,IAA5C1S,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,UACnC8lK,GAAY,GACqC,IAA3Cl8J,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,WACnC8lK,GAAsB32F,EACtBsgb,EAAUjmf,IAAM,EAAIgmf,GAAWrgb,EAC/BinJ,EAAUv6K,IAAMjR,EAAIqjd,SAAS3xe,MAAQ,GAEzC63J,EAASrO,EAAWl7H,EAAIqjd,SAAS3xe,MACjC83J,EAASw7U,EAAchld,EAAK2kd,GAAY3kd,EAAIqjd,SAAS7pe,OAC9C,CACH5a,EAAGimf,EAAUjmf,EACb2F,EAAGsgf,EAAUtgf,EACbkxD,MAAOt/D,KAAKoC,IAAIgxK,EAAQC,GACxBv4H,GAAIu6K,EAAUv6K,GACdi3N,GAAI18C,EAAU08C,IAItB,SAAS68O,EAAiBnmf,EAAGs0B,GACzB,OAAOt0B,QAAsBhP,IAAhBsjC,EAA6B,EAAIA,GAGlD,SAAS8xd,EAAchld,EAAK2kd,GACxB,IAAI3lf,EAAQghC,EAAIhhC,MACZimf,EAAeN,EAASnjc,GAAKxiD,EAAMmhD,OAAO57C,EAAE,GAAKvF,EAAMmhD,OAAO57C,EAAE,IAEpE,OAAOpO,KAAKoC,IAAIynC,EAAIqjd,SAAS7pe,OAAQyre,EAAe,GAGxD,SAASH,EAAW9lf,GAChB,IAGIhK,EAHA4vf,EAAU5lf,EAAMg+Y,KACpB,IAAI4nG,EAAS,OAAO,EAGpB,GAAGvwf,MAAM0J,QAAQ6mf,GAEb,IADAA,EAAU,EACN5vf,EAAI,EAAGA,EAAIgK,EAAMg+Y,KAAKrtZ,OAAQqF,IAC3BgK,EAAMg+Y,KAAKhoZ,GAAK4vf,IAASA,EAAU5lf,EAAMg+Y,KAAKhoZ,IAGzD,OAAO4vf,EAGX,SAASrC,EAAYxB,EAAW/hf,GAC5B,IAAIkmf,EAAOC,EAAOC,EAAcC,EAAWC,EACvCC,EAAWC,EAAWC,EAAUC,EAChCC,EAAWj1f,EAAGk1f,EAAiBC,EAEnC,SAASC,EAASh2f,EAAGC,GAAK,OAAOD,EAAE+1S,MAAM,GAAK91S,EAAE81S,MAAM,GACtD,SAASkgN,EAAYj2f,EAAGC,GAAK,OAAOA,EAAE81S,MAAM,GAAK/1S,EAAE+1S,MAAM,GAEzD,SAASmgN,EAAcl4a,EAAQm4a,GACvBA,IAAQA,EAAS,IAErB,IAMIC,EAASx1f,EAAGy1f,EAASC,EAAaC,EAAaC,EAN/CC,EAAaN,EAAO7D,aAAe+C,EAAQc,EAAO/D,UAAY+D,EAAOjE,WACrEwE,EAAarB,EAAQr3a,EAAOk0a,UAAYl0a,EAAOo0a,UAC/CuE,EAAatB,EAAQr3a,EAAOo0a,UAAYp0a,EAAOk0a,UAC/C0E,EAAkB54a,EAAOoza,QAAUoE,EAAUx3a,EAAOsza,IAAI,GAAItza,EAAOwza,IAAI,IACvEqF,EAAYJ,EAAaC,EAS7B,GAHGG,EAAYnB,EAAY,IAAG13a,EAAOs0a,YAAcuE,GAG/Ctyf,MAAM0J,QAAQiB,EAAMg+Y,MAExB,IAAItsZ,EAAI,EAAGA,EAAIi1f,EAAUh2f,OAAQe,IAC7By1f,EAAUR,EAAUj1f,GAGjBy1f,IAAYr4a,IACV24C,EAAQokJ,WAAW7rQ,EAAMg+Y,KAAMlvU,EAAOvtC,MAAQ,KAC9CkmF,EAAQokJ,WAAW7rQ,EAAMg+Y,KAAMmpG,EAAQ5ld,MAAQ,MAKhDutC,EAAO+3N,MAAM,GAAKsgN,EAAQtgN,MAAM,IAAM2/M,EAAY,GAGlDY,EAAcD,EAAQjF,QAAUoE,EAAUa,EAAQ/E,IAAI,GAAI+E,EAAQ7E,IAAI,IACtEqF,EAAYP,EAAcI,EAAa14a,EAAOs0a,YAE3CuE,EAAYnB,EAAY,IAAG13a,EAAOs0a,aAAeuE,KAC7CF,EAAa34a,EAAOs0a,YAAcsE,GAAmBlB,EAAY,IAOxEU,EAAU,EAAIX,EAAYpvf,KAAK+R,IAAIxX,EAAIi1f,EAAUvwf,QAAQ04E,IAEzDu4a,EAAcF,EAAQlF,QAAUoE,EAAUc,EAAQ/E,IAAI,GAAI+E,EAAQ7E,IAAI,IACtEgF,EAAYD,EAAcH,GAAWp4a,EAAOmza,QAAUnza,EAAO+3N,MAAM,IAAM/3N,EAAOq0a,YAE7EmE,EAAYf,EAAY,IAAGz3a,EAAOq0a,aAAemE,KAKhE,IAAInB,EAAQ,EAAGA,EAAQ,EAAGA,IAKtB,IAJAC,EAAeD,EAAQW,EAAWC,EAClCT,EAAYH,EAAQhvf,KAAKqC,IAAMrC,KAAKoC,IACpCitf,EAAYL,EAAQ,GAAK,EAErBD,EAAQ,EAAGA,EAAQ,EAAGA,IAAS,CAc/B,IAbAG,EAAYH,EAAQ/uf,KAAKqC,IAAMrC,KAAKoC,IACpCgtf,EAAYL,EAAQ,GAAK,EAKzBO,EAAW1E,EAAUoE,GAAOD,GAC5BO,EAASruf,KAAKguf,GAEdM,EAAe3E,EAAU,EAAIoE,GAAOD,GACpCS,EAAYD,EAAavtf,OAAOstf,GAEhCG,EAAkB,GACdl1f,EAAI,EAAGA,EAAI+0f,EAAS91f,OAAQe,SACCd,IAA1B61f,EAAS/0f,GAAGuxf,WAAyB2D,EAAgBpyf,KAAKiyf,EAAS/0f,IAI1E,IADAm1f,GAAyB,EACrBn1f,EAAI,EAAGy0f,GAASz0f,EAAIg1f,EAAa/1f,OAAQe,IACzC,QAAiCd,IAA9B81f,EAAah1f,GAAGuxf,UAAyB,CACxC4D,EAAyBH,EAAah1f,GACtC,MAKR,IAAIA,EAAI,EAAGA,EAAIk1f,EAAgBj2f,OAAQe,IAAK,CACxC,IAAIu1f,EAASv1f,GAAKk1f,EAAgBl1f,EAAI,GAInCm1f,IAA2Bn1f,IAAGu1f,EAASJ,GAC1CG,EAAcJ,EAAgBl1f,GAAIu1f,KAMlD,SAASnjJ,EAAYliL,EAAU+jU,GAI3B,IAHA,IAAIiC,EAAc,GAGVl2f,EAAI,EAAGA,EAAIkwL,EAASjxL,OAAQe,IAAK,CACrC,IAAIsvC,EAAM4gJ,EAASlwL,GAAG,GAClBsO,EAAQghC,EAAIhhC,MAEZmhD,EAASnhD,EAAMmhD,OACfzuC,EAAQize,EAAS12e,GAAKkyC,EAAOvhD,EAAE,GAAKuhD,EAAOvhD,EAAE,IAC7C4a,EAASmre,EAASnjc,GAAKrB,EAAO57C,EAAE,GAAK47C,EAAO57C,EAAE,IAE/CvF,EAAMy0C,MAAMh0C,MAAiC,kBAAzBT,EAAMy0C,MAAMz5C,WAC/Bwf,GAAUwre,EAAchld,EAAK2kd,IAGjC,IAAIpgb,EAAK7yD,EAAQ,EACb8yD,EAAKhrD,EAAS,EACA,eAAfxa,EAAM0E,MAA0B1E,EAAMyjW,aACrCj+R,GAAMxlE,EAAMk0B,aAGhB8M,EAAI3uC,EAAI8E,KAAKoC,IAAIgsE,EAAIC,IAAO,EAAIsgb,EAAW9lf,IAE3CghC,EAAIslC,GAAKq/a,EAASh0f,EAAIg0f,EAAS12e,GAAKjP,EAAMmhD,OAAOvhD,EAAE,GAAKI,EAAMmhD,OAAOvhD,EAAE,IAAM,EAC7EohC,EAAIulC,GAAKo/a,EAASlzf,EAAIkzf,EAASnjc,GAAK,EAAIxiD,EAAMmhD,OAAO57C,EAAE,IAAMiV,EAAS,EACnExa,EAAMy0C,MAAMh0C,OAAoD,IAA5CT,EAAMy0C,MAAMz5C,SAAS5E,QAAQ,YAChD4qC,EAAIulC,IAAMy/a,EAAchld,EAAK2kd,IAG9B3lf,EAAMyjW,aAAyD,IAA3CmkJ,EAAYxxf,QAAQ4J,EAAMyjW,aAC7CmkJ,EAAYpzf,KAAKwL,EAAMyjW,YAI/BokJ,EAAWjmU,EAAUgmU,GAGzB,SAASC,EAAWjmU,EAAUgmU,GAI1B,IAHA,IAAI5md,EAAKtvC,EAAGsO,EAGJ7J,EAAI,EAAGA,EAAIyxf,EAAYj3f,OAAQwF,IAAK,CACxC,IAAIoD,EAAMoC,IACNgf,EAAIite,EAAYzxf,GAEpB,IAAIzE,EAAI,EAAGA,EAAIkwL,EAASjxL,OAAQe,IAI5B,GAHAsvC,EAAM4gJ,EAASlwL,GAAG,GAClBsO,EAAQghC,EAAIhhC,MAETA,EAAMyjW,aAAe9oV,EAAG,CACvB,IAAIu6C,EACJ,GAAkB,QAAfl1D,EAAM0E,KACLwwD,EAAOl0B,EAAI3uC,EAAI2uC,EAAI3uC,OAChB,GAAkB,eAAf2N,EAAM0E,KAAuB,CACnC,IAAI6gE,EAAIC,EAELxlE,EAAMk0B,YAAc,GACnBqxC,EAAKvkC,EAAI3uC,EACTmzE,EAAKD,EAAKvlE,EAAMk0B,cAEhBsxC,EAAKxkC,EAAI3uC,EACTkzE,EAAKC,EAAKxlE,EAAMk0B,aAGpBqxC,IAAO,EAAIvlE,EAAMokW,WAAa,EAE9BlvS,EAAOqQ,EAAKC,EAGhBjsE,EAAMpC,KAAKoC,IAAIA,EAAK27D,EAAOl0B,EAAIq7G,QAIvC,IAAI3qJ,EAAI,EAAGA,EAAIkwL,EAASjxL,OAAQe,IAG5B,GAFAsvC,EAAM4gJ,EAASlwL,GAAG,GAClBsO,EAAQghC,EAAIhhC,MACTA,EAAMyjW,aAAe9oV,EAAG,CACvB,IAAIzkB,EAAIqD,EAAMynC,EAAIq7G,OACA,eAAfr8I,EAAM0E,OACLxO,IAAM,EAAI8J,EAAMokW,WAAa,EAC7BluW,GAAK8J,EAAMk0B,aAGf8M,EAAI3uC,EAAI8E,KAAKuD,KAAKxE,KAMlC,SAASiuW,EAAU5yV,GACf,IAQI7f,EAAG+f,EAAKq2e,EARR9md,EAAMzvB,EAAG,GACTlf,EAAI2uC,EAAI3uC,EACR2N,EAAQghC,EAAIhhC,MACZooM,EAAepoM,EAAMmnO,SAAWhwO,KAAKg8B,GAAK,IAC1C40d,EAAc,EAAI5wf,KAAKg8B,GAAK6N,EAAIq7G,OAChC2rW,EAAU,MACVr8E,EAAS,MAIb,GAAuB,qBAApB3ra,EAAMirE,UAAkC,CACvC,IAAIv5E,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IACtB,IAAI6f,EAAG7f,GAAGgzW,OAAQ,MAEtB,GAAGhzW,IAAM6f,EAAG5gB,OAAQ,OAEpBy3M,GAAgB2/S,EAAcx2e,EAAG7f,GAAGwE,EACpC6xf,IAAgB,EAChBC,EAAU,MACVr8E,EAAS,MAKb,IAFAm8E,EAAgBjF,EAAUxwf,EAAG+1M,GAEzB12M,EAAI,EAAGA,EAAI6f,EAAG5gB,OAAQe,IACtB+f,EAAMF,EAAG7f,GACN+f,EAAIizV,SAEPjzV,EAAIu2e,GAAWF,EAEfr2e,EAAIoze,WAAaz8S,EACjBA,GAAgB2/S,EAAct2e,EAAIvb,EAAI,EACtCub,EAAIo1R,MAAQg8M,EAAUxwf,EAAG+1M,GACzB32L,EAAIize,SAAWt8S,EACfA,GAAgB2/S,EAAct2e,EAAIvb,EAAI,EACtC4xf,EAAgBjF,EAAUxwf,EAAG+1M,GAC7B32L,EAAIqze,UAAY18S,EAEhB32L,EAAIk6Z,GAAUm8E,EAEdr2e,EAAIwlS,SAAYxlS,EAAIvb,EAAI8qC,EAAIq7G,OAAS,EAAK,EAAI,EAE9C5qI,EAAI+ye,UAAYrtf,KAAKg8B,GAAKh8B,KAAKoC,IAAIkY,EAAIvb,EAAI8qC,EAAIq7G,OAAQ,IACvD5qI,EAAI8gO,KAAO,EAAIvyO,EAAMo5J,KACrB3nJ,EAAIq1R,WAAa4+M,EAA2Bj0e,EAAKuvB,IAIzD,SAAS6hd,EAAUxwf,EAAGsvD,GAClB,MAAO,CAACtvD,EAAI8E,KAAK8qD,IAAIN,IAAStvD,EAAI8E,KAAK6qD,IAAIL,IAG/C,SAASsiT,EAAiBlkW,EAAIuR,EAAI0vB,GAC9B,IAAI7pB,EAAapX,EAAGymB,YAChBxmB,EAAQghC,EAAIhhC,MAEZu7E,EAAev7E,EAAMu7E,aAGrBF,EAAWr7E,EAAMq7E,SACrB,IAAIE,GAAgBF,GAAyB,SAAbA,EAAqB,CACjD,IAQI56E,EARAuhB,EAAQq5D,EAASz5E,MAAM,KACvBw5P,EAAU,SAAS2rC,GAAQ,OAAgC,IAAzB/kR,EAAM5rB,QAAQ2wS,IAChDkhN,EAAW7sP,EAAQ,SACnBxzO,EAAUwzO,EAAQ,QAClB8sP,EAAW9sP,EAAQ,SACnB+sP,EAAa/sP,EAAQ,WAErB78I,EAAapnG,EAAWonG,WAI5B,GADA99G,EAAOwnf,EAAW,CAAC32e,EAAGihF,OAAS,GAC5B3qE,EAAS,CACR,IAAIqqB,EAAKw1E,EAAQmkJ,eAAe5rQ,EAAMS,KAAM6Q,EAAGiwB,KAC5CkmQ,EAAiBx1P,IAAKxxC,EAAKjM,KAAKy9C,GAEpCi2c,GAAUznf,EAAKjM,KAAKizH,EAAQkkJ,eAAer6P,EAAGpb,EAAGqoH,IACjD4pY,GAAY1nf,EAAKjM,KAAKizH,EAAQ+jJ,iBAAiBl6P,EAAGpb,EAAI8qC,EAAIq7G,OAAQ99B,IACrEjtG,EAAG7Q,KAAOA,EAAK9L,KAAK,QAGxB,SAASyzf,EAAsB92e,GAC3B,MAAO,CACHihF,MAAOjhF,EAAGihF,MACV//F,MAAO8e,EAAGpb,EACV8wS,WAAYv/K,EAAQkkJ,eAAer6P,EAAGpb,EAAGihB,EAAWonG,YACpD6nR,QAAS90X,EAAGpb,EAAI8qC,EAAIq7G,OACpB4nW,aAAcx8X,EAAQ+jJ,iBAAiBl6P,EAAGpb,EAAI8qC,EAAIq7G,OAAQllI,EAAWonG,YACrE9hH,MAAO6U,EAAG7U,MACVgE,KAAM6Q,EAAG7Q,KACT29E,WAAYr2E,EAAI8jQ,WAAW7rQ,EAAOsR,EAAG5f,EAAG,eAIhD,GAAG6pF,EAAc,CACb,IAAIq6B,EAAM7tG,EAAI8jQ,WAAW7rQ,EAAOsR,EAAG5f,EAAG,gBACtC,GAAIkkH,EAEG,CACH,IAAI9mF,EAAMs5d,EAAsB92e,GAC5B+2e,EAAO5gY,EAAQmkJ,eAAe5rQ,EAAMS,KAAM6Q,EAAGiwB,MAC9CkmQ,EAAiB4gN,IAAkB,KAATA,KAAav5d,EAAIruB,KAAO4nf,GACrD/2e,EAAG7Q,KAAOsH,EAAIs7E,mBAAmBuyB,EAAK9mF,EAAK/uB,EAAGymB,YAAY88D,UAAWx0D,EAAK9uB,EAAMojF,OAAS,SALzF9xE,EAAG7Q,KAAO,IAUtB,SAASsif,EACL5ne,EACA2qH,GAEA,IAAIpgI,EAASyV,EAAUzV,OACnB+wD,EAAQt7C,EAAUs7C,MACnBA,EAAQ,IAAGA,EAAQ,GAEtB,IAAI3lE,EAAI4U,EAASvO,KAAKg8B,GAAK,IACvBm1d,EAAOnxf,KAAK6qD,IAAIlxD,GAChBy3f,EAAOpxf,KAAK8qD,IAAInxD,GAChB03f,GAAQ1iX,EAAO1gI,KAAO0gI,EAAOzgI,OAAS,EACtCojf,GAAQ3iX,EAAOxiH,IAAMwiH,EAAOziH,QAAU,EAC1ClI,EAAUwlI,MAAQ6nW,EAAOF,EAAOG,EAAOF,EACvCpte,EAAUylI,MAAQ4nW,EAAOD,EAAOE,EAAOH,EACvCnte,EAAUute,UAAW,EAGzBr4f,EAAOC,QAAU,CACb4T,KAAMA,EACN+/V,iBAAkBA,EAClBy+I,oBAAqBA,EACrB7+I,wBAAyBA,EACzBG,qBAAsBA,EACtBD,gBAAiBA,EACjBD,YAAaA,EACb9gO,iBAAkBA,EAClB+/W,iBAAkBA,IAMhB,KACA,SAAU1yf,EAAQC,EAASkB,GAmBjC,IAAIgwD,EAAOhwD,EAAoB,QAC3BuY,EAASvY,EAAoB,QAWjC,SAASm3f,EAAeh9e,GACpB3X,KAAKuW,MAAQvW,KAAKiW,gBAAgB0B,GAAY,KAAO3X,KAAKiW,gBAAgB,IAG9E0+e,EAAex1f,UAAY,IAAIquD,EAAK/wC,aAEpC1G,EAAO4+e,EAAex1f,UAAW,CAG7BrB,KAAM,SAGNud,QAAS,UAGTC,aAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAG3DN,aAAa,EAGbd,SAAU,EAGVI,WAAY,EAGZH,OAAQ,EAGRy6e,YAAa,IAiBb3+e,gBAAiB,CACb,GAAI,CACAnY,KAAM,SACNsc,OAAQ,CAAC,MAAO,OAChBmB,WAAY,CAAC,UAAW,SAAU,SAAU,UAAW,SAAU,SACjE,SAAU,UAAW,QAAS,QAAS,SAAU,WACjDC,gBAAiB,CAAC,MAAO,KAAM,KAAM,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,KAAM,MAAO,QAC9FC,SAAU,CAAC,YAAa,UAAW,YAAa,YAAa,WAAY,aAAc,aACvFC,cAAe,CAAC,QAAS,MAAO,QAAS,QAAS,OAAQ,SAAU,SACpEC,YAAa,CAAC,MAAO,KAAM,MAAO,KAAM,KAAM,MAAO,OACrD1D,OAAQ,KACR2D,WAAY,aACZC,SAAU,EACVC,OAAO,IASfrD,SAAU,SAAS7B,GACf,OAAO5W,KAAK8Y,WAAWlC,KAAU5W,KAAK40f,aAU1C/7e,WAAY,SAASjC,EAAMC,EAAOC,GAE9B,IAAIiF,EAAY/b,KAAK+X,QAAQnB,EAAMC,EAAOC,GAE1C,OADAiF,EAAU3C,KAAK2C,EAAU9C,YAAa,KAC/B9V,KAAK2N,OAAOiL,EAAUhD,YAAc,GAAK,GAAK,GAQzDD,WAAY,SAASlC,GACjB,IAAI4B,EAAOxY,KAAKga,UAAUpD,EAAM5W,KAAKka,SAAUla,KAAKma,OAAQqzC,EAAKj3C,MAAMF,aAEvE,GADAO,EAAO4B,EAAK5B,OACmC,qBAApC5W,KAAK60f,qBAAqBj+e,GACjC,OAAO5W,KAAK40f,YAGhB,IADA,IAAIA,EAAc,EACTE,EAAe90f,KAAKka,SAAU46e,GAAgB,GAAIA,IACvDF,GAAe50f,KAAK60f,qBAAqBj+e,GAAMk+e,GAEnD,OAAOF,GASX57e,YAAa,SAASpC,EAAMC,GAMxB,OALID,EAAKA,OACLC,EAAQD,EAAKC,QACbD,EAAOA,EAAKA,QAEhB5W,KAAKga,UAAUpD,EAAMC,EAAO7W,KAAKma,OAAQqzC,EAAKj3C,MAAMH,cACD,qBAApCpW,KAAK60f,qBAAqBj+e,GACrC5W,KAAKsb,aAAazE,EAAQ,GAAK7W,KAAK60f,qBAAqBj+e,GAAMC,IAUvEqC,QAAS,SAAStC,EAAMC,EAAOC,GAC3B,OAA4C,IAArC9W,KAAKiZ,UAAUrC,EAAMC,EAAOC,IAWvC0C,KAAM,SAASu7e,EAAYC,EAAaC,GACpC,IAAIz8e,EAAOxY,KAAKga,UAAU+6e,EAAYC,EAAaC,EAAWznc,EAAKj3C,MAAMJ,aACzE4+e,EAAav8e,EAAK5B,OAClBo+e,EAAcx8e,EAAK3B,QACnBo+e,EAAYz8e,EAAK1B,MACjB,IAAIu5D,EAAoB7iB,EAAK51C,WACzBs9e,EAAqB,EAErBC,EAAqBH,EACrBI,EAAoBL,EACxB/0f,KAAKq1f,2BAA2BN,GAEhC,IAAIO,EAAgBP,GAAcI,EAAqB,GAA6B,IAAvBA,GACzDF,GAAaj1f,KAAK60f,qBAAqBO,GAAmB,GAAM,GAAK,IAGrD,IAAhBJ,IACAE,EAAqBD,EACrBE,KAIJ,MAA8B,IAAvBA,EACCA,GAAsB,IACtBA,EAAqB,GACrBC,KAEJF,GAAsBl1f,KAAK60f,qBAAqBO,GAAmBD,GACnEA,IAkBJ,OAfoB,IAAhBH,GAGAE,GAAsBD,EAAYj1f,KAAK60f,qBAAqBO,GAAmB,GAI3EF,EAAqB,IACrBA,GAAsB7kb,EAAkBv3D,WAAWw8e,KAIvDJ,GAAsBl1f,KAAK60f,qBAAqBO,GAAmB,GAC/Dp1f,KAAK60f,qBAAqBO,GAAmB,GAE9C/kb,EAAkBt4D,QAAQu9e,EAAe,EAAG,GAAGl8e,IAAI87e,EAAoB,KAAK17e,QAOvFC,OAAQ,SAASC,GACb,IAAI22D,EAAqB7iB,EAAK51C,WAC1B29e,EAAgBllb,EAAkB52D,OAAOC,GACzC47e,EAAgBC,EAAc3+e,OAC9Bs+e,EAAqBK,EAAcx8e,YACnCg8e,EAAaO,EAAgB,GACjCt1f,KAAKq1f,2BAA2BN,GAChC,IAAIC,EAAc,EAEdQ,EAAuBx1f,KAAK60f,qBAAqBE,GAAY,GAI7DU,EACAz1f,KAAK60f,qBAAqBE,GAAYC,GAAeQ,EAAuB,EAWhF,MAAON,EAAqBO,EACxBT,IACIA,EAAc,KACdA,EAAc,EACdD,KAEJU,GAAuCz1f,KAAK60f,qBAAqBE,GAAYC,GAQjF,IAAIU,EAAmB11f,KAAK60f,qBAAqBE,GAAYC,IACxDS,EAAsCP,GAC3C,OAAOl1f,KAAK+X,QAAQg9e,EAAYC,EAAaU,IAOjDL,2BAA4B,SAASN,GACjC,IAAIY,EAAoB31f,KAAKsb,aAAa3Z,MAAM,GAChDg0f,EAAkBvqf,QAAQ,IAC1B,IAAK,IAAIwqf,EAAsBb,EAAa,EAAIa,EAAsBb,EAAa,EAAIa,IACtB,qBAAlD51f,KAAK60f,qBAAqBe,KACjC51f,KAAK60f,qBAAqBe,GAAsBD,IAK5Dd,qBAAuB,CAEnBgB,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAEvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,IAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAEvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACvDC,KAAM,CA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GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI7mG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK2qF,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI64T,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI6mD,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI5mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI6mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI7mD,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,KAAKC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK24L,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIzmZ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI6V,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAA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K/mE,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIa,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIkd,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAIyqB,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK7e,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,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AAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,MAAU0pkB,GA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","file":"js/chunk-vendors.f91e8783.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-plotly\"] = factory();\n\telse\n\t\troot[\"vue-plotly\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \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 = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ \"0000\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//High level idea:\n// 1. Use Clarkson's incremental construction to find convex hull\n// 2. Point location in triangulation by jump and walk\n\nmodule.exports = incrementalConvexHull\n\nvar orient = __webpack_require__(\"92ba\")\nvar compareCell = __webpack_require__(\"24ad\").compareCells\n\nfunction compareInt(a, b) {\n return a - b\n}\n\nfunction Simplex(vertices, adjacent, boundary) {\n this.vertices = vertices\n this.adjacent = adjacent\n this.boundary = boundary\n this.lastVisited = -1\n}\n\nSimplex.prototype.flip = function() {\n var t = this.vertices[0]\n this.vertices[0] = this.vertices[1]\n this.vertices[1] = t\n var u = this.adjacent[0]\n this.adjacent[0] = this.adjacent[1]\n this.adjacent[1] = u\n}\n\nfunction GlueFacet(vertices, cell, index) {\n this.vertices = vertices\n this.cell = cell\n this.index = index\n}\n\nfunction compareGlue(a, b) {\n return compareCell(a.vertices, b.vertices)\n}\n\nfunction bakeOrient(d) {\n var code = [\"function orient(){var tuple=this.tuple;return test(\"]\n for(var i=0; i<=d; ++i) {\n if(i > 0) {\n code.push(\",\")\n }\n code.push(\"tuple[\", i, \"]\")\n }\n code.push(\")}return orient\")\n var proc = new Function(\"test\", code.join(\"\"))\n var test = orient[d+1]\n if(!test) {\n test = orient\n }\n return proc(test)\n}\n\nvar BAKED = []\n\nfunction Triangulation(dimension, vertices, simplices) {\n this.dimension = dimension\n this.vertices = vertices\n this.simplices = simplices\n this.interior = simplices.filter(function(c) {\n return !c.boundary\n })\n\n this.tuple = new Array(dimension+1)\n for(var i=0; i<=dimension; ++i) {\n this.tuple[i] = this.vertices[i]\n }\n\n var o = BAKED[dimension]\n if(!o) {\n o = BAKED[dimension] = bakeOrient(dimension)\n }\n this.orient = o\n}\n\nvar proto = Triangulation.prototype\n\n//Degenerate situation where we are on boundary, but coplanar to face\nproto.handleBoundaryDegeneracy = function(cell, point) {\n var d = this.dimension\n var n = this.vertices.length - 1\n var tuple = this.tuple\n var verts = this.vertices\n\n //Dumb solution: Just do dfs from boundary cell until we find any peak, or terminate\n var toVisit = [ cell ]\n cell.lastVisited = -n\n while(toVisit.length > 0) {\n cell = toVisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited <= -n) {\n continue\n }\n var nv = neighbor.vertices\n for(var j=0; j<=d; ++j) {\n var vv = nv[j]\n if(vv < 0) {\n tuple[j] = point\n } else {\n tuple[j] = verts[vv]\n }\n }\n var o = this.orient()\n if(o > 0) {\n return neighbor\n }\n neighbor.lastVisited = -n\n if(o === 0) {\n toVisit.push(neighbor)\n }\n }\n }\n return null\n}\n\nproto.walk = function(point, random) {\n //Alias local properties\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n\n //Compute initial jump cell\n var initIndex = random ? (this.interior.length * Math.random())|0 : (this.interior.length-1)\n var cell = this.interior[ initIndex ]\n\n //Start walking\nouterLoop:\n while(!cell.boundary) {\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n\n for(var i=0; i<=d; ++i) {\n tuple[i] = verts[cellVerts[i]]\n }\n cell.lastVisited = n\n\n //Find farthest adjacent cell\n for(var i=0; i<=d; ++i) {\n var neighbor = cellAdj[i]\n if(neighbor.lastVisited >= n) {\n continue\n }\n var prev = tuple[i]\n tuple[i] = point\n var o = this.orient()\n tuple[i] = prev\n if(o < 0) {\n cell = neighbor\n continue outerLoop\n } else {\n if(!neighbor.boundary) {\n neighbor.lastVisited = n\n } else {\n neighbor.lastVisited = -n\n }\n }\n }\n return\n }\n\n return cell\n}\n\nproto.addPeaks = function(point, cell) {\n var n = this.vertices.length - 1\n var d = this.dimension\n var verts = this.vertices\n var tuple = this.tuple\n var interior = this.interior\n var simplices = this.simplices\n\n //Walking finished at boundary, time to add peaks\n var tovisit = [ cell ]\n\n //Stretch initial boundary cell into a peak\n cell.lastVisited = n\n cell.vertices[cell.vertices.indexOf(-1)] = n\n cell.boundary = false\n interior.push(cell)\n\n //Record a list of all new boundaries created by added peaks so we can glue them together when we are all done\n var glueFacets = []\n\n //Do a traversal of the boundary walking outward from starting peak\n while(tovisit.length > 0) {\n //Pop off peak and walk over adjacent cells\n var cell = tovisit.pop()\n var cellVerts = cell.vertices\n var cellAdj = cell.adjacent\n var indexOfN = cellVerts.indexOf(n)\n if(indexOfN < 0) {\n continue\n }\n\n for(var i=0; i<=d; ++i) {\n if(i === indexOfN) {\n continue\n }\n\n //For each boundary neighbor of the cell\n var neighbor = cellAdj[i]\n if(!neighbor.boundary || neighbor.lastVisited >= n) {\n continue\n }\n\n var nv = neighbor.vertices\n\n //Test if neighbor is a peak\n if(neighbor.lastVisited !== -n) { \n //Compute orientation of p relative to each boundary peak\n var indexOfNeg1 = 0\n for(var j=0; j<=d; ++j) {\n if(nv[j] < 0) {\n indexOfNeg1 = j\n tuple[j] = point\n } else {\n tuple[j] = verts[nv[j]]\n }\n }\n var o = this.orient()\n\n //Test if neighbor cell is also a peak\n if(o > 0) {\n nv[indexOfNeg1] = n\n neighbor.boundary = false\n interior.push(neighbor)\n tovisit.push(neighbor)\n neighbor.lastVisited = n\n continue\n } else {\n neighbor.lastVisited = -n\n }\n }\n\n var na = neighbor.adjacent\n\n //Otherwise, replace neighbor with new face\n var vverts = cellVerts.slice()\n var vadj = cellAdj.slice()\n var ncell = new Simplex(vverts, vadj, true)\n simplices.push(ncell)\n\n //Connect to neighbor\n var opposite = na.indexOf(cell)\n if(opposite < 0) {\n continue\n }\n na[opposite] = ncell\n vadj[indexOfN] = neighbor\n\n //Connect to cell\n vverts[i] = -1\n vadj[i] = cell\n cellAdj[i] = ncell\n\n //Flip facet\n ncell.flip()\n\n //Add to glue list\n for(var j=0; j<=d; ++j) {\n var uu = vverts[j]\n if(uu < 0 || uu === n) {\n continue\n }\n var nface = new Array(d-1)\n var nptr = 0\n for(var k=0; k<=d; ++k) {\n var vv = vverts[k]\n if(vv < 0 || k === j) {\n continue\n }\n nface[nptr++] = vv\n }\n glueFacets.push(new GlueFacet(nface, ncell, j))\n }\n }\n }\n\n //Glue boundary facets together\n glueFacets.sort(compareGlue)\n\n for(var i=0; i+1= 0) {\n bcell[ptr++] = cv[j]\n } else {\n parity = j&1\n }\n }\n if(parity === (d&1)) {\n var t = bcell[0]\n bcell[0] = bcell[1]\n bcell[1] = t\n }\n boundary.push(bcell)\n }\n }\n return boundary\n}\n\nfunction incrementalConvexHull(points, randomSearch) {\n var n = points.length\n if(n === 0) {\n throw new Error(\"Must have at least d+1 points\")\n }\n var d = points[0].length\n if(n <= d) {\n throw new Error(\"Must input at least d+1 points\")\n }\n\n //FIXME: This could be degenerate, but need to select d+1 non-coplanar points to bootstrap process\n var initialSimplex = points.slice(0, d+1)\n\n //Make sure initial simplex is positively oriented\n var o = orient.apply(void 0, initialSimplex)\n if(o === 0) {\n throw new Error(\"Input not in general position\")\n }\n var initialCoords = new Array(d+1)\n for(var i=0; i<=d; ++i) {\n initialCoords[i] = i\n }\n if(o < 0) {\n initialCoords[0] = 1\n initialCoords[1] = 0\n }\n\n //Create initial topological index, glue pointers together (kind of messy)\n var initialCell = new Simplex(initialCoords, new Array(d+1), false)\n var boundary = initialCell.adjacent\n var list = new Array(d+2)\n for(var i=0; i<=d; ++i) {\n var verts = initialCoords.slice()\n for(var j=0; j<=d; ++j) {\n if(j === i) {\n verts[j] = -1\n }\n }\n var t = verts[0]\n verts[0] = verts[1]\n verts[1] = t\n var cell = new Simplex(verts, new Array(d+1), true)\n boundary[i] = cell\n list[i] = cell\n }\n list[d+1] = initialCell\n for(var i=0; i<=d; ++i) {\n var verts = boundary[i].vertices\n var adj = boundary[i].adjacent\n for(var j=0; j<=d; ++j) {\n var v = verts[j]\n if(v < 0) {\n adj[j] = initialCell\n continue\n }\n for(var k=0; k<=d; ++k) {\n if(boundary[k].vertices.indexOf(v) < 0) {\n adj[j] = boundary[k]\n }\n }\n }\n }\n\n //Initialize triangles\n var triangles = new Triangulation(d, initialSimplex, list)\n\n //Insert remaining points\n var useRandom = !!randomSearch\n for(var i=d+1; i 0) {\n for (var k = 0; k < 24; ++k) {\n buffer.push(buffer[buffer.length - 12])\n }\n vertexCount += 2\n hadGap = true\n }\n\n continue fill_loop\n }\n bounds[0][j] = Math.min(bounds[0][j], a[j], b[j])\n bounds[1][j] = Math.max(bounds[1][j], a[j], b[j])\n }\n\n var acolor, bcolor\n if (Array.isArray(colors[0])) {\n acolor = (colors.length > i - 1) ? colors[i - 1] : // using index value\n (colors.length > 0) ? colors[colors.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n\n bcolor = (colors.length > i) ? colors[i] : // using index value\n (colors.length > 0) ? colors[colors.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n } else {\n acolor = bcolor = colors\n }\n\n if (acolor.length === 3) {\n acolor = [acolor[0], acolor[1], acolor[2], 1]\n }\n if (bcolor.length === 3) {\n bcolor = [bcolor[0], bcolor[1], bcolor[2], 1]\n }\n\n if(!this.hasAlpha && acolor[3] < 1) this.hasAlpha = true\n\n var w0\n if (Array.isArray(lineWidth)) {\n w0 = (lineWidth.length > i - 1) ? lineWidth[i - 1] : // using index value\n (lineWidth.length > 0) ? lineWidth[lineWidth.length - 1] : // using last item\n [0, 0, 0, 1]; // using black\n } else {\n w0 = lineWidth\n }\n\n var t0 = arcLength\n arcLength += distance(a, b)\n\n if (hadGap) {\n for (j = 0; j < 2; ++j) {\n buffer.push(\n a[0], a[1], a[2], b[0], b[1], b[2], t0, w0, acolor[0], acolor[1], acolor[2], acolor[3])\n }\n vertexCount += 2\n hadGap = false\n }\n\n buffer.push(\n a[0], a[1], a[2], b[0], b[1], b[2], t0, w0, acolor[0], acolor[1], acolor[2], acolor[3],\n a[0], a[1], a[2], b[0], b[1], b[2], t0, -w0, acolor[0], acolor[1], acolor[2], acolor[3],\n b[0], b[1], b[2], a[0], a[1], a[2], arcLength, -w0, bcolor[0], bcolor[1], bcolor[2], bcolor[3],\n b[0], b[1], b[2], a[0], a[1], a[2], arcLength, w0, bcolor[0], bcolor[1], bcolor[2], bcolor[3])\n\n vertexCount += 4\n }\n }\n this.buffer.update(buffer)\n\n arcLengthArray.push(arcLength)\n pointArray.push(positions[positions.length - 1].slice())\n\n this.bounds = bounds\n\n this.vertexCount = vertexCount\n\n this.points = pointArray\n this.arcLength = arcLengthArray\n\n if ('dashes' in options) {\n var dashArray = options.dashes\n\n // Calculate prefix sum\n var prefixSum = dashArray.slice()\n prefixSum.unshift(0)\n for (i = 1; i < prefixSum.length; ++i) {\n prefixSum[i] = prefixSum[i - 1] + prefixSum[i]\n }\n\n var dashTexture = ndarray(new Array(256 * 4), [256, 1, 4])\n for (i = 0; i < 256; ++i) {\n for (j = 0; j < 4; ++j) {\n dashTexture.set(i, 0, j, 0)\n }\n if (bsearch.le(prefixSum, prefixSum[prefixSum.length - 1] * i / 255.0) & 1) {\n dashTexture.set(i, 0, 0, 0)\n } else {\n dashTexture.set(i, 0, 0, 255)\n }\n }\n\n this.texture.setPixels(dashTexture)\n }\n}\n\nproto.dispose = function () {\n this.shader.dispose()\n this.vao.dispose()\n this.buffer.dispose()\n}\n\nproto.pick = function (selection) {\n if (!selection) {\n return null\n }\n if (selection.id !== this.pickId) {\n return null\n }\n var tau = unpackFloat(\n selection.value[0],\n selection.value[1],\n selection.value[2],\n 0)\n var index = bsearch.le(this.arcLength, tau)\n if (index < 0) {\n return null\n }\n if (index === this.arcLength.length - 1) {\n return new PickResult(\n this.arcLength[this.arcLength.length - 1],\n this.points[this.points.length - 1].slice(),\n index)\n }\n var a = this.points[index]\n var b = this.points[Math.min(index + 1, this.points.length - 1)]\n var t = (tau - this.arcLength[index]) / (this.arcLength[index + 1] - this.arcLength[index])\n var ti = 1.0 - t\n var x = [0, 0, 0]\n for (var i = 0; i < 3; ++i) {\n x[i] = ti * a[i] + t * b[i]\n }\n var dataIndex = Math.min((t < 0.5) ? index : (index + 1), this.points.length - 1)\n return new PickResult(\n tau,\n x,\n dataIndex,\n this.points[dataIndex])\n}\n\nfunction createLinePlot (options) {\n var gl = options.gl || (options.scene && options.scene.gl)\n\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.nextPosition.location = 1\n shader.attributes.arcLength.location = 2\n shader.attributes.lineWidth.location = 3\n shader.attributes.color.location = 4\n\n var pickShader = createPickShader(gl)\n pickShader.attributes.position.location = 0\n pickShader.attributes.nextPosition.location = 1\n pickShader.attributes.arcLength.location = 2\n pickShader.attributes.lineWidth.location = 3\n pickShader.attributes.color.location = 4\n\n var buffer = createBuffer(gl)\n var vao = createVAO(gl, [\n {\n 'buffer': buffer,\n 'size': 3,\n 'offset': 0,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 3,\n 'offset': 12,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 1,\n 'offset': 24,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 1,\n 'offset': 28,\n 'stride': 48\n },\n {\n 'buffer': buffer,\n 'size': 4,\n 'offset': 32,\n 'stride': 48\n }\n ])\n\n // Create texture for dash pattern\n var defaultTexture = ndarray(new Array(256 * 4), [256, 1, 4])\n for (var i = 0; i < 256 * 4; ++i) {\n defaultTexture.data[i] = 255\n }\n var texture = createTexture(gl, defaultTexture)\n texture.wrap = gl.REPEAT\n\n var linePlot = new LinePlot(gl, shader, pickShader, buffer, vao, texture)\n linePlot.update(options)\n return linePlot\n}\n\n\n/***/ }),\n\n/***/ \"0054\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\n\n\n// Compute auto-z and autocolorscale if applicable\nmodule.exports = function calc(gd, trace) {\n if(trace.surfacecolor) {\n colorscaleCalc(gd, trace, {\n vals: trace.surfacecolor,\n containerStr: '',\n cLetter: 'c'\n });\n } else {\n colorscaleCalc(gd, trace, {\n vals: trace.z,\n containerStr: '',\n cLetter: 'c'\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"0082\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar NOTEDATA = [];\n\n/**\n * notifier\n * @param {String} text The person's user name\n * @param {Number} [delay=1000] The delay time in milliseconds\n * or 'long' which provides 2000 ms delay time.\n * @return {undefined} this function does not return a value\n */\nmodule.exports = function(text, displayLength) {\n if(NOTEDATA.indexOf(text) !== -1) return;\n\n NOTEDATA.push(text);\n\n var ts = 1000;\n if(isNumeric(displayLength)) ts = displayLength;\n else if(displayLength === 'long') ts = 3000;\n\n var notifierContainer = d3.select('body')\n .selectAll('.plotly-notifier')\n .data([0]);\n notifierContainer.enter()\n .append('div')\n .classed('plotly-notifier', true);\n\n var notes = notifierContainer.selectAll('.notifier-note').data(NOTEDATA);\n\n function killNote(transition) {\n transition\n .duration(700)\n .style('opacity', 0)\n .each('end', function(thisText) {\n var thisIndex = NOTEDATA.indexOf(thisText);\n if(thisIndex !== -1) NOTEDATA.splice(thisIndex, 1);\n d3.select(this).remove();\n });\n }\n\n notes.enter().append('div')\n .classed('notifier-note', true)\n .style('opacity', 0)\n .each(function(thisText) {\n var note = d3.select(this);\n\n note.append('button')\n .classed('notifier-close', true)\n .html('×')\n .on('click', function() {\n note.transition().call(killNote);\n });\n\n var p = note.append('p');\n var lines = thisText.split(//g);\n for(var i = 0; i < lines.length; i++) {\n if(i) p.append('br');\n p.append('span').text(lines[i]);\n }\n\n if(displayLength === 'stick') {\n note.transition()\n .duration(350)\n .style('opacity', 1);\n } else {\n note.transition()\n .duration(700)\n .style('opacity', 1)\n .transition()\n .delay(ts)\n .call(killNote);\n }\n });\n};\n\n\n/***/ }),\n\n/***/ \"00bd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar LINKEDFILLS = {tonextx: 1, tonexty: 1, tonext: 1};\n\nmodule.exports = function linkTraces(gd, plotinfo, cdscatter) {\n var trace, i, group, prevtrace, groupIndex;\n\n // first sort traces to keep stacks & filled-together groups together\n var groupIndices = {};\n var needsSort = false;\n var prevGroupIndex = -1;\n var nextGroupIndex = 0;\n var prevUnstackedGroupIndex = -1;\n for(i = 0; i < cdscatter.length; i++) {\n trace = cdscatter[i][0].trace;\n group = trace.stackgroup || '';\n if(group) {\n if(group in groupIndices) {\n groupIndex = groupIndices[group];\n } else {\n groupIndex = groupIndices[group] = nextGroupIndex;\n nextGroupIndex++;\n }\n } else if(trace.fill in LINKEDFILLS && prevUnstackedGroupIndex >= 0) {\n groupIndex = prevUnstackedGroupIndex;\n } else {\n groupIndex = prevUnstackedGroupIndex = nextGroupIndex;\n nextGroupIndex++;\n }\n\n if(groupIndex < prevGroupIndex) needsSort = true;\n trace._groupIndex = prevGroupIndex = groupIndex;\n }\n\n var cdscatterSorted = cdscatter.slice();\n if(needsSort) {\n cdscatterSorted.sort(function(a, b) {\n var traceA = a[0].trace;\n var traceB = b[0].trace;\n return (traceA._groupIndex - traceB._groupIndex) ||\n (traceA.index - traceB.index);\n });\n }\n\n // now link traces to each other\n var prevtraces = {};\n for(i = 0; i < cdscatterSorted.length; i++) {\n trace = cdscatterSorted[i][0].trace;\n group = trace.stackgroup || '';\n\n // Note: The check which ensures all cdscatter here are for the same axis and\n // are either cartesian or scatterternary has been removed. This code assumes\n // the passed scattertraces have been filtered to the proper plot types and\n // the proper subplots.\n if(trace.visible === true) {\n trace._nexttrace = null;\n\n if(trace.fill in LINKEDFILLS) {\n prevtrace = prevtraces[group];\n trace._prevtrace = prevtrace || null;\n\n if(prevtrace) {\n prevtrace._nexttrace = trace;\n }\n }\n\n trace._ownfill = (trace.fill && (\n trace.fill.substr(0, 6) === 'tozero' ||\n trace.fill === 'toself' ||\n (trace.fill.substr(0, 2) === 'to' && !trace._prevtrace)\n ));\n\n prevtraces[group] = trace;\n } else {\n trace._prevtrace = trace._nexttrace = trace._ownfill = null;\n }\n }\n\n return cdscatterSorted;\n};\n\n\n/***/ }),\n\n/***/ \"00fe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'ohlc',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'showLegend'],\n meta: {\n \n },\n\n attributes: __webpack_require__(\"6657\"),\n supplyDefaults: __webpack_require__(\"9143\"),\n calc: __webpack_require__(\"bb14\").calc,\n plot: __webpack_require__(\"a56d\"),\n style: __webpack_require__(\"b0f1\"),\n hoverPoints: __webpack_require__(\"d945\").hoverPoints,\n selectPoints: __webpack_require__(\"ab9c\")\n};\n\n\n/***/ }),\n\n/***/ \"0103\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @module color-normalize */\r\n\r\n\r\n\r\nvar rgba = __webpack_require__(\"7f20\")\r\nvar clamp = __webpack_require__(\"53a5\")\r\nvar dtype = __webpack_require__(\"7831\")\r\n\r\nmodule.exports = function normalize (color, type) {\r\n\tif (type === 'float' || !type) type = 'array'\r\n\tif (type === 'uint') type = 'uint8'\r\n\tif (type === 'uint_clamped') type = 'uint8_clamped'\r\n\tvar Ctor = dtype(type)\r\n\tvar output = new Ctor(4)\r\n\r\n\tvar normalize = type !== 'uint8' && type !== 'uint8_clamped'\r\n\r\n\t// attempt to parse non-array arguments\r\n\tif (!color.length || typeof color === 'string') {\r\n\t\tcolor = rgba(color)\r\n\t\tcolor[0] /= 255\r\n\t\tcolor[1] /= 255\r\n\t\tcolor[2] /= 255\r\n\t}\r\n\r\n\t// 0, 1 are possible contradictory values for Arrays:\r\n\t// [1,1,1] input gives [1,1,1] output instead of [1/255,1/255,1/255], which may be collision if input is meant to be uint.\r\n\t// converting [1,1,1] to [1/255,1/255,1/255] in case of float input gives larger mistake since [1,1,1] float is frequent edge value, whereas [0,1,1], [1,1,1] etc. uint inputs are relatively rare\r\n\tif (isInt(color)) {\r\n\t\toutput[0] = color[0]\r\n\t\toutput[1] = color[1]\r\n\t\toutput[2] = color[2]\r\n\t\toutput[3] = color[3] != null ? color[3] : 255\r\n\r\n\t\tif (normalize) {\r\n\t\t\toutput[0] /= 255\r\n\t\t\toutput[1] /= 255\r\n\t\t\toutput[2] /= 255\r\n\t\t\toutput[3] /= 255\r\n\t\t}\r\n\r\n\t\treturn output\r\n\t}\r\n\r\n\tif (!normalize) {\r\n\t\toutput[0] = clamp(Math.floor(color[0] * 255), 0, 255)\r\n\t\toutput[1] = clamp(Math.floor(color[1] * 255), 0, 255)\r\n\t\toutput[2] = clamp(Math.floor(color[2] * 255), 0, 255)\r\n\t\toutput[3] = color[3] == null ? 255 : clamp(Math.floor(color[3] * 255), 0, 255)\r\n\t} else {\r\n\t\toutput[0] = color[0]\r\n\t\toutput[1] = color[1]\r\n\t\toutput[2] = color[2]\r\n\t\toutput[3] = color[3] != null ? color[3] : 1\r\n\t}\r\n\r\n\treturn output\r\n}\r\n\r\nfunction isInt(color) {\r\n\tif (color instanceof Uint8Array || color instanceof Uint8ClampedArray) return true\r\n\r\n\tif (Array.isArray(color) &&\r\n\t\t(color[0] > 1 || color[0] === 0) &&\r\n\t\t(color[1] > 1 || color[1] === 0) &&\r\n\t\t(color[2] > 1 || color[2] === 0) &&\r\n\t\t(!color[3] || color[3] > 1)\r\n\t) return true\r\n\r\n\treturn false\r\n}\r\n\n\n/***/ }),\n\n/***/ \"0119\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This code is extracted from ndarray-sort\n//It is inlined here as a temporary workaround\n\nmodule.exports = wrapper;\n\nvar INSERT_SORT_CUTOFF = 32\n\nfunction wrapper(data, n0) {\n if (n0 <= 4*INSERT_SORT_CUTOFF) {\n insertionSort(0, n0 - 1, data);\n } else {\n quickSort(0, n0 - 1, data);\n }\n}\n\nfunction insertionSort(left, right, data) {\n var ptr = 2*(left+1)\n for(var i=left+1; i<=right; ++i) {\n var a = data[ptr++]\n var b = data[ptr++]\n var j = i\n var jptr = ptr-2\n while(j-- > left) {\n var x = data[jptr-2]\n var y = data[jptr-1]\n if(x < a) {\n break\n } else if(x === a && y < b) {\n break\n }\n data[jptr] = x\n data[jptr+1] = y\n jptr -= 2\n }\n data[jptr] = a\n data[jptr+1] = b\n }\n}\n\nfunction swap(i, j, data) {\n i *= 2\n j *= 2\n var x = data[i]\n var y = data[i+1]\n data[i] = data[j]\n data[i+1] = data[j+1]\n data[j] = x\n data[j+1] = y\n}\n\nfunction move(i, j, data) {\n i *= 2\n j *= 2\n data[i] = data[j]\n data[i+1] = data[j+1]\n}\n\nfunction rotate(i, j, k, data) {\n i *= 2\n j *= 2\n k *= 2\n var x = data[i]\n var y = data[i+1]\n data[i] = data[j]\n data[i+1] = data[j+1]\n data[j] = data[k]\n data[j+1] = data[k+1]\n data[k] = x\n data[k+1] = y\n}\n\nfunction shufflePivot(i, j, px, py, data) {\n i *= 2\n j *= 2\n data[i] = data[j]\n data[j] = px\n data[i+1] = data[j+1]\n data[j+1] = py\n}\n\nfunction compare(i, j, data) {\n i *= 2\n j *= 2\n var x = data[i],\n y = data[j]\n if(x < y) {\n return false\n } else if(x === y) {\n return data[i+1] > data[j+1]\n }\n return true\n}\n\nfunction comparePivot(i, y, b, data) {\n i *= 2\n var x = data[i]\n if(x < y) {\n return true\n } else if(x === y) {\n return data[i+1] < b\n }\n return false\n}\n\nfunction quickSort(left, right, data) {\n var sixth = (right - left + 1) / 6 | 0, \n index1 = left + sixth, \n index5 = right - sixth, \n index3 = left + right >> 1, \n index2 = index3 - sixth, \n index4 = index3 + sixth, \n el1 = index1, \n el2 = index2, \n el3 = index3, \n el4 = index4, \n el5 = index5, \n less = left + 1, \n great = right - 1, \n tmp = 0\n if(compare(el1, el2, data)) {\n tmp = el1\n el1 = el2\n el2 = tmp\n }\n if(compare(el4, el5, data)) {\n tmp = el4\n el4 = el5\n el5 = tmp\n }\n if(compare(el1, el3, data)) {\n tmp = el1\n el1 = el3\n el3 = tmp\n }\n if(compare(el2, el3, data)) {\n tmp = el2\n el2 = el3\n el3 = tmp\n }\n if(compare(el1, el4, data)) {\n tmp = el1\n el1 = el4\n el4 = tmp\n }\n if(compare(el3, el4, data)) {\n tmp = el3\n el3 = el4\n el4 = tmp\n }\n if(compare(el2, el5, data)) {\n tmp = el2\n el2 = el5\n el5 = tmp\n }\n if(compare(el2, el3, data)) {\n tmp = el2\n el2 = el3\n el3 = tmp\n }\n if(compare(el4, el5, data)) {\n tmp = el4\n el4 = el5\n el5 = tmp\n }\n\n var pivot1X = data[2*el2]\n var pivot1Y = data[2*el2+1]\n var pivot2X = data[2*el4]\n var pivot2Y = data[2*el4+1]\n\n var ptr0 = 2 * el1;\n var ptr2 = 2 * el3;\n var ptr4 = 2 * el5;\n var ptr5 = 2 * index1;\n var ptr6 = 2 * index3;\n var ptr7 = 2 * index5;\n for (var i1 = 0; i1 < 2; ++i1) {\n var x = data[ptr0+i1];\n var y = data[ptr2+i1];\n var z = data[ptr4+i1];\n data[ptr5+i1] = x;\n data[ptr6+i1] = y;\n data[ptr7+i1] = z;\n }\n\n move(index2, left, data)\n move(index4, right, data)\n for (var k = less; k <= great; ++k) {\n if (comparePivot(k, pivot1X, pivot1Y, data)) {\n if (k !== less) {\n swap(k, less, data)\n }\n ++less;\n } else {\n if (!comparePivot(k, pivot2X, pivot2Y, data)) {\n while (true) {\n if (!comparePivot(great, pivot2X, pivot2Y, data)) {\n if (--great < k) {\n break;\n }\n continue;\n } else {\n if (comparePivot(great, pivot1X, pivot1Y, data)) {\n rotate(k, less, great, data)\n ++less;\n --great;\n } else {\n swap(k, great, data)\n --great;\n }\n break;\n }\n }\n }\n }\n }\n shufflePivot(left, less-1, pivot1X, pivot1Y, data)\n shufflePivot(right, great+1, pivot2X, pivot2Y, data)\n if (less - 2 - left <= INSERT_SORT_CUTOFF) {\n insertionSort(left, less - 2, data);\n } else {\n quickSort(left, less - 2, data);\n }\n if (right - (great + 2) <= INSERT_SORT_CUTOFF) {\n insertionSort(great + 2, right, data);\n } else {\n quickSort(great + 2, right, data);\n }\n if (great - less <= INSERT_SORT_CUTOFF) {\n insertionSort(less, great, data);\n } else {\n quickSort(less, great, data);\n }\n}\n\n/***/ }),\n\n/***/ \"014c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n circle: '●',\n 'circle-open': '○',\n square: '■',\n 'square-open': '□',\n diamond: '◆',\n 'diamond-open': '◇',\n cross: '+',\n x: '❌'\n};\n\n\n/***/ }),\n\n/***/ \"019a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n/* eslint block-scoped-var: 0*/\n/* eslint no-redeclare: 0*/\n\n\n\nmodule.exports = computeTickMarks;\n\nvar Axes = __webpack_require__(\"0642\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nvar centerPoint = [0, 0, 0];\n\nfunction contourLevelsFromTicks(ticks) {\n var result = new Array(3);\n for(var i = 0; i < 3; ++i) {\n var tlevel = ticks[i];\n var clevel = new Array(tlevel.length);\n for(var j = 0; j < tlevel.length; ++j) {\n clevel[j] = tlevel[j].x;\n }\n result[i] = clevel;\n }\n return result;\n}\n\nfunction computeTickMarks(scene) {\n var axesOptions = scene.axesOptions;\n var glRange = scene.glplot.axesPixels;\n var sceneLayout = scene.fullSceneLayout;\n\n var ticks = [[], [], []];\n\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n axes._length = (glRange[i].hi - glRange[i].lo) *\n glRange[i].pixelsPerDataUnit / scene.dataScale[i];\n\n if(Math.abs(axes._length) === Infinity ||\n isNaN(axes._length)) {\n ticks[i] = [];\n } else {\n axes._input_range = axes.range.slice();\n axes.range[0] = (glRange[i].lo) / scene.dataScale[i];\n axes.range[1] = (glRange[i].hi) / scene.dataScale[i];\n axes._m = 1.0 / (scene.dataScale[i] * glRange[i].pixelsPerDataUnit);\n\n if(axes.range[0] === axes.range[1]) {\n axes.range[0] -= 1;\n axes.range[1] += 1;\n }\n // this is necessary to short-circuit the 'y' handling\n // in autotick part of calcTicks... Treating all axes as 'y' in this case\n // running the autoticks here, then setting\n // autoticks to false to get around the 2D handling in calcTicks.\n var tickModeCached = axes.tickmode;\n if(axes.tickmode === 'auto') {\n axes.tickmode = 'linear';\n var nticks = axes.nticks || Lib.constrain((axes._length / 40), 4, 9);\n Axes.autoTicks(axes, Math.abs(axes.range[1] - axes.range[0]) / nticks);\n }\n var dataTicks = Axes.calcTicks(axes);\n for(var j = 0; j < dataTicks.length; ++j) {\n dataTicks[j].x = dataTicks[j].x * scene.dataScale[i];\n\n if(axes.type === 'date') {\n dataTicks[j].text =\n dataTicks[j].text.replace(/\\/g, ' ');\n }\n }\n ticks[i] = dataTicks;\n\n\n axes.tickmode = tickModeCached;\n }\n }\n\n axesOptions.ticks = ticks;\n\n // Calculate tick lengths dynamically\n for(var i = 0; i < 3; ++i) {\n centerPoint[i] = 0.5 * (scene.glplot.bounds[0][i] + scene.glplot.bounds[1][i]);\n for(var j = 0; j < 2; ++j) {\n axesOptions.bounds[j][i] = scene.glplot.bounds[j][i];\n }\n }\n\n scene.contourLevels = contourLevelsFromTicks(ticks);\n}\n\n\n/***/ }),\n\n/***/ \"01db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"b964\");\n\n\n/***/ }),\n\n/***/ \"0230\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Calendars for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar assign = __webpack_require__(\"320c\");\n\n\nfunction Calendars() {\n this.regionalOptions = [];\n this.regionalOptions[''] = {\n invalidCalendar: 'Calendar {0} not found',\n invalidDate: 'Invalid {0} date',\n invalidMonth: 'Invalid {0} month',\n invalidYear: 'Invalid {0} year',\n differentCalendars: 'Cannot mix {0} and {1} dates'\n };\n this.local = this.regionalOptions[''];\n this.calendars = {};\n this._localCals = {};\n}\n\n/** Create the calendars plugin.\n

Provides support for various world calendars in a consistent manner.

\n @class Calendars\n @example _exports.instance('julian').newDate(2014, 12, 25) */\nassign(Calendars.prototype, {\n\n /** Obtain a calendar implementation and localisation.\n @memberof Calendars\n @param [name='gregorian'] {string} The name of the calendar, e.g. 'gregorian', 'persian', 'islamic'.\n @param [language=''] {string} The language code to use for localisation (default is English).\n @return {Calendar} The calendar and localisation.\n @throws Error if calendar not found. */\n instance: function(name, language) {\n name = (name || 'gregorian').toLowerCase();\n language = language || '';\n var cal = this._localCals[name + '-' + language];\n if (!cal && this.calendars[name]) {\n cal = new this.calendars[name](language);\n this._localCals[name + '-' + language] = cal;\n }\n if (!cal) {\n throw (this.local.invalidCalendar || this.regionalOptions[''].invalidCalendar).\n replace(/\\{0\\}/, name);\n }\n return cal;\n },\n\n /** Create a new date - for today if no other parameters given.\n @memberof Calendars\n @param year {CDate|number} The date to copy or the year for the date.\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @param [calendar='gregorian'] {BaseCalendar|string} The underlying calendar or the name of the calendar.\n @param [language=''] {string} The language to use for localisation (default English).\n @return {CDate} The new date.\n @throws Error if an invalid date. */\n newDate: function(year, month, day, calendar, language) {\n calendar = (year != null && year.year ? year.calendar() : (typeof calendar === 'string' ?\n this.instance(calendar, language) : calendar)) || this.instance();\n return calendar.newDate(year, month, day);\n },\n \n /** A simple digit substitution function for localising numbers via the Calendar digits option.\n @member Calendars\n @param digits {string[]} The substitute digits, for 0 through 9.\n @return {function} The substitution function. */\n substituteDigits: function(digits) {\n return function(value) {\n return (value + '').replace(/[0-9]/g, function(digit) {\n return digits[digit];\n });\n }\n },\n \n /** Digit substitution function for localising Chinese style numbers via the Calendar digits option.\n @member Calendars\n @param digits {string[]} The substitute digits, for 0 through 9.\n @param powers {string[]} The characters denoting powers of 10, i.e. 1, 10, 100, 1000.\n @return {function} The substitution function. */\n substituteChineseDigits: function(digits, powers) {\n return function(value) {\n var localNumber = '';\n var power = 0;\n while (value > 0) {\n var units = value % 10;\n localNumber = (units === 0 ? '' : digits[units] + powers[power]) + localNumber;\n power++;\n value = Math.floor(value / 10);\n }\n if (localNumber.indexOf(digits[1] + powers[1]) === 0) {\n localNumber = localNumber.substr(1);\n }\n return localNumber || digits[0];\n }\n }\n});\n\n/** Generic date, based on a particular calendar.\n @class CDate\n @param calendar {BaseCalendar} The underlying calendar implementation.\n @param year {number} The year for this date.\n @param month {number} The month for this date.\n @param day {number} The day for this date.\n @return {CDate} The date object.\n @throws Error if an invalid date. */\nfunction CDate(calendar, year, month, day) {\n this._calendar = calendar;\n this._year = year;\n this._month = month;\n this._day = day;\n if (this._calendar._validateLevel === 0 &&\n !this._calendar.isValid(this._year, this._month, this._day)) {\n throw (_exports.local.invalidDate || _exports.regionalOptions[''].invalidDate).\n replace(/\\{0\\}/, this._calendar.local.name);\n }\n}\n\n/** Pad a numeric value with leading zeroes.\n @private\n @param value {number} The number to format.\n @param length {number} The minimum length.\n @return {string} The formatted number. */\nfunction pad(value, length) {\n value = '' + value;\n return '000000'.substring(0, length - value.length) + value;\n}\n\nassign(CDate.prototype, {\n\n /** Create a new date.\n @memberof CDate\n @param [year] {CDate|number} The date to copy or the year for the date (default this date).\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @return {CDate} The new date.\n @throws Error if an invalid date. */\n newDate: function(year, month, day) {\n return this._calendar.newDate((year == null ? this : year), month, day);\n },\n\n /** Set or retrieve the year for this date.\n @memberof CDate\n @param [year] {number} The year for the date.\n @return {number|CDate} The date's year (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n year: function(year) {\n return (arguments.length === 0 ? this._year : this.set(year, 'y'));\n },\n\n /** Set or retrieve the month for this date.\n @memberof CDate\n @param [month] {number} The month for the date.\n @return {number|CDate} The date's month (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n month: function(month) {\n return (arguments.length === 0 ? this._month : this.set(month, 'm'));\n },\n\n /** Set or retrieve the day for this date.\n @memberof CDate\n @param [day] {number} The day for the date.\n @return {number|CData} The date's day (if no parameter) or the updated date.\n @throws Error if an invalid date. */\n day: function(day) {\n return (arguments.length === 0 ? this._day : this.set(day, 'd'));\n },\n\n /** Set new values for this date.\n @memberof CDate\n @param year {number} The year for the date.\n @param month {number} The month for the date.\n @param day {number} The day for the date.\n @return {CDate} The updated date.\n @throws Error if an invalid date. */\n date: function(year, month, day) {\n if (!this._calendar.isValid(year, month, day)) {\n throw (_exports.local.invalidDate || _exports.regionalOptions[''].invalidDate).\n replace(/\\{0\\}/, this._calendar.local.name);\n }\n this._year = year;\n this._month = month;\n this._day = day;\n return this;\n },\n\n /** Determine whether this date is in a leap year.\n @memberof CDate\n @return {boolean} true if this is a leap year, false if not. */\n leapYear: function() {\n return this._calendar.leapYear(this);\n },\n\n /** Retrieve the epoch designator for this date, e.g. BCE or CE.\n @memberof CDate\n @return {string} The current epoch. */\n epoch: function() {\n return this._calendar.epoch(this);\n },\n\n /** Format the year, if not a simple sequential number.\n @memberof CDate\n @return {string} The formatted year. */\n formatYear: function() {\n return this._calendar.formatYear(this);\n },\n\n /** Retrieve the month of the year for this date,\n i.e. the month's position within a numbered year.\n @memberof CDate\n @return {number} The month of the year: minMonth to months per year. */\n monthOfYear: function() {\n return this._calendar.monthOfYear(this);\n },\n\n /** Retrieve the week of the year for this date.\n @memberof CDate\n @return {number} The week of the year: 1 to weeks per year. */\n weekOfYear: function() {\n return this._calendar.weekOfYear(this);\n },\n\n /** Retrieve the number of days in the year for this date.\n @memberof CDate\n @return {number} The number of days in this year. */\n daysInYear: function() {\n return this._calendar.daysInYear(this);\n },\n\n /** Retrieve the day of the year for this date.\n @memberof CDate\n @return {number} The day of the year: 1 to days per year. */\n dayOfYear: function() {\n return this._calendar.dayOfYear(this);\n },\n\n /** Retrieve the number of days in the month for this date.\n @memberof CDate\n @return {number} The number of days. */\n daysInMonth: function() {\n return this._calendar.daysInMonth(this);\n },\n\n /** Retrieve the day of the week for this date.\n @memberof CDate\n @return {number} The day of the week: 0 to number of days - 1. */\n dayOfWeek: function() {\n return this._calendar.dayOfWeek(this);\n },\n\n /** Determine whether this date is a week day.\n @memberof CDate\n @return {boolean} true if a week day, false if not. */\n weekDay: function() {\n return this._calendar.weekDay(this);\n },\n\n /** Retrieve additional information about this date.\n @memberof CDate\n @return {object} Additional information - contents depends on calendar. */\n extraInfo: function() {\n return this._calendar.extraInfo(this);\n },\n\n /** Add period(s) to a date.\n @memberof CDate\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n add: function(offset, period) {\n return this._calendar.add(this, offset, period);\n },\n\n /** Set a portion of the date.\n @memberof CDate\n @param value {number} The new value for the period.\n @param period {string} One of 'y' for year, 'm' for month, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if not a valid date. */\n set: function(value, period) {\n return this._calendar.set(this, value, period);\n },\n\n /** Compare this date to another date.\n @memberof CDate\n @param date {CDate} The other date.\n @return {number} -1 if this date is before the other date,\n 0 if they are equal, or +1 if this date is after the other date. */\n compareTo: function(date) {\n if (this._calendar.name !== date._calendar.name) {\n throw (_exports.local.differentCalendars || _exports.regionalOptions[''].differentCalendars).\n replace(/\\{0\\}/, this._calendar.local.name).replace(/\\{1\\}/, date._calendar.local.name);\n }\n var c = (this._year !== date._year ? this._year - date._year :\n this._month !== date._month ? this.monthOfYear() - date.monthOfYear() :\n this._day - date._day);\n return (c === 0 ? 0 : (c < 0 ? -1 : +1));\n },\n\n /** Retrieve the calendar backing this date.\n @memberof CDate\n @return {BaseCalendar} The calendar implementation. */\n calendar: function() {\n return this._calendar;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof CDate\n @return {number} The equivalent Julian date. */\n toJD: function() {\n return this._calendar.toJD(this);\n },\n\n /** Create a new date from a Julian date.\n @memberof CDate\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n return this._calendar.fromJD(jd);\n },\n\n /** Convert this date to a standard (Gregorian) JavaScript Date.\n @memberof CDate\n @return {Date} The equivalent JavaScript date. */\n toJSDate: function() {\n return this._calendar.toJSDate(this);\n },\n\n /** Create a new date from a standard (Gregorian) JavaScript Date.\n @memberof CDate\n @param jsd {Date} The JavaScript date to convert.\n @return {CDate} The equivalent date. */\n fromJSDate: function(jsd) {\n return this._calendar.fromJSDate(jsd);\n },\n\n /** Convert to a string for display.\n @memberof CDate\n @return {string} This date as a string. */\n toString: function() {\n return (this.year() < 0 ? '-' : '') + pad(Math.abs(this.year()), 4) +\n '-' + pad(this.month(), 2) + '-' + pad(this.day(), 2);\n }\n});\n\n/** Basic functionality for all calendars.\n Other calendars should extend this:\n
OtherCalendar.prototype = new BaseCalendar;
\n @class BaseCalendar */\nfunction BaseCalendar() {\n this.shortYearCutoff = '+10';\n}\n\nassign(BaseCalendar.prototype, {\n _validateLevel: 0, // \"Stack\" to turn validation on/off\n\n /** Create a new date within this calendar - today if no parameters given.\n @memberof BaseCalendar\n @param year {CDate|number} The date to duplicate or the year for the date.\n @param [month] {number} The month for the date.\n @param [day] {number} The day for the date.\n @return {CDate} The new date.\n @throws Error if not a valid date or a different calendar used. */\n newDate: function(year, month, day) {\n if (year == null) {\n return this.today();\n }\n if (year.year) {\n this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n day = year.day();\n month = year.month();\n year = year.year();\n }\n return new CDate(this, year, month, day);\n },\n\n /** Create a new date for today.\n @memberof BaseCalendar\n @return {CDate} Today's date. */\n today: function() {\n return this.fromJSDate(new Date());\n },\n\n /** Retrieve the epoch designator for this date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {string} The current epoch.\n @throws Error if an invalid year or a different calendar used. */\n epoch: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (date.year() < 0 ? this.local.epochs[0] : this.local.epochs[1]);\n },\n\n /** Format the year, if not a simple sequential number\n @memberof BaseCalendar\n @param year {CDate|number} The date to format or the year to format.\n @return {string} The formatted year.\n @throws Error if an invalid year or a different calendar used. */\n formatYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (date.year() < 0 ? '-' : '') + pad(Math.abs(date.year()), 4)\n },\n\n /** Retrieve the number of months in a year.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of months.\n @throws Error if an invalid year or a different calendar used. */\n monthsInYear: function(year) {\n this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return 12;\n },\n\n /** Calculate the month's ordinal position within the year -\n for those calendars that don't start at month 1!\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param month {number} The month to examine.\n @return {number} The ordinal position, starting from minMonth.\n @throws Error if an invalid year/month or a different calendar used. */\n monthOfYear: function(year, month) {\n var date = this._validate(year, month, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return (date.month() + this.monthsInYear(date) - this.firstMonth) %\n this.monthsInYear(date) + this.minMonth;\n },\n\n /** Calculate actual month from ordinal position, starting from minMonth.\n @memberof BaseCalendar\n @param year {number} The year to examine.\n @param ord {number} The month's ordinal position.\n @return {number} The month's number.\n @throws Error if an invalid year/month. */\n fromMonthOfYear: function(year, ord) {\n var m = (ord + this.firstMonth - 2 * this.minMonth) %\n this.monthsInYear(year) + this.minMonth;\n this._validate(year, m, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return m;\n },\n\n /** Retrieve the number of days in a year.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n return (this.leapYear(date) ? 366 : 365);\n },\n\n /** Retrieve the day of the year for a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The day of the year.\n @throws Error if an invalid date or a different calendar used. */\n dayOfYear: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return date.toJD() - this.newDate(date.year(),\n this.fromMonthOfYear(date.year(), this.minMonth), this.minDay).toJD() + 1;\n },\n\n /** Retrieve the number of days in a week.\n @memberof BaseCalendar\n @return {number} The number of days. */\n daysInWeek: function() {\n return 7;\n },\n\n /** Retrieve the day of the week for a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The day of the week: 0 to number of days - 1.\n @throws Error if an invalid date or a different calendar used. */\n dayOfWeek: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return (Math.floor(this.toJD(date)) + 2) % this.daysInWeek();\n },\n\n /** Retrieve additional information about a date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {object} Additional information - contents depends on calendar.\n @throws Error if an invalid date or a different calendar used. */\n extraInfo: function(year, month, day) {\n this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return {};\n },\n\n /** Add period(s) to a date.\n Cater for no year zero.\n @memberof BaseCalendar\n @param date {CDate} The starting date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if a different calendar used. */\n add: function(date, offset, period) {\n this._validate(date, this.minMonth, this.minDay,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return this._correctAdd(date, this._add(date, offset, period), offset, period);\n },\n\n /** Add period(s) to a date.\n @memberof BaseCalendar\n @private\n @param date {CDate} The starting date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n _add: function(date, offset, period) {\n this._validateLevel++;\n if (period === 'd' || period === 'w') {\n var jd = date.toJD() + offset * (period === 'w' ? this.daysInWeek() : 1);\n var d = date.calendar().fromJD(jd);\n this._validateLevel--;\n return [d.year(), d.month(), d.day()];\n }\n try {\n var y = date.year() + (period === 'y' ? offset : 0);\n var m = date.monthOfYear() + (period === 'm' ? offset : 0);\n var d = date.day();// + (period === 'd' ? offset : 0) +\n //(period === 'w' ? offset * this.daysInWeek() : 0);\n var resyncYearMonth = function(calendar) {\n while (m < calendar.minMonth) {\n y--;\n m += calendar.monthsInYear(y);\n }\n var yearMonths = calendar.monthsInYear(y);\n while (m > yearMonths - 1 + calendar.minMonth) {\n y++;\n m -= yearMonths;\n yearMonths = calendar.monthsInYear(y);\n }\n };\n if (period === 'y') {\n if (date.month() !== this.fromMonthOfYear(y, m)) { // Hebrew\n m = this.newDate(y, date.month(), this.minDay).monthOfYear();\n }\n m = Math.min(m, this.monthsInYear(y));\n d = Math.min(d, this.daysInMonth(y, this.fromMonthOfYear(y, m)));\n }\n else if (period === 'm') {\n resyncYearMonth(this);\n d = Math.min(d, this.daysInMonth(y, this.fromMonthOfYear(y, m)));\n }\n var ymd = [y, this.fromMonthOfYear(y, m), d];\n this._validateLevel--;\n return ymd;\n }\n catch (e) {\n this._validateLevel--;\n throw e;\n }\n },\n\n /** Correct a candidate date after adding period(s) to a date.\n Handle no year zero if necessary.\n @memberof BaseCalendar\n @private\n @param date {CDate} The starting date.\n @param ymd {number[]} The added date.\n @param offset {number} The number of periods to adjust by.\n @param period {string} One of 'y' for year, 'm' for month, 'w' for week, 'd' for day.\n @return {CDate} The updated date. */\n _correctAdd: function(date, ymd, offset, period) {\n if (!this.hasYearZero && (period === 'y' || period === 'm')) {\n if (ymd[0] === 0 || // In year zero\n (date.year() > 0) !== (ymd[0] > 0)) { // Crossed year zero\n var adj = {y: [1, 1, 'y'], m: [1, this.monthsInYear(-1), 'm'],\n w: [this.daysInWeek(), this.daysInYear(-1), 'd'],\n d: [1, this.daysInYear(-1), 'd']}[period];\n var dir = (offset < 0 ? -1 : +1);\n ymd = this._add(date, offset * adj[0] + dir * adj[1], adj[2]);\n }\n }\n return date.date(ymd[0], ymd[1], ymd[2]);\n },\n\n /** Set a portion of the date.\n @memberof BaseCalendar\n @param date {CDate} The starting date.\n @param value {number} The new value for the period.\n @param period {string} One of 'y' for year, 'm' for month, 'd' for day.\n @return {CDate} The updated date.\n @throws Error if an invalid date or a different calendar used. */\n set: function(date, value, period) {\n this._validate(date, this.minMonth, this.minDay,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n var y = (period === 'y' ? value : date.year());\n var m = (period === 'm' ? value : date.month());\n var d = (period === 'd' ? value : date.day());\n if (period === 'y' || period === 'm') {\n d = Math.min(d, this.daysInMonth(y, m));\n }\n return date.date(y, m, d);\n },\n\n /** Determine whether a date is valid for this calendar.\n @memberof BaseCalendar\n @param year {number} The year to examine.\n @param month {number} The month to examine.\n @param day {number} The day to examine.\n @return {boolean} true if a valid date, false if not. */\n isValid: function(year, month, day) {\n this._validateLevel++;\n var valid = (this.hasYearZero || year !== 0);\n if (valid) {\n var date = this.newDate(year, month, this.minDay);\n valid = (month >= this.minMonth && month - this.minMonth < this.monthsInYear(date)) &&\n (day >= this.minDay && day - this.minDay < this.daysInMonth(date));\n }\n this._validateLevel--;\n return valid;\n },\n\n /** Convert the date to a standard (Gregorian) JavaScript Date.\n @memberof BaseCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {Date} The equivalent JavaScript date.\n @throws Error if an invalid date or a different calendar used. */\n toJSDate: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n return _exports.instance().fromJD(this.toJD(date)).toJSDate();\n },\n\n /** Convert the date from a standard (Gregorian) JavaScript Date.\n @memberof BaseCalendar\n @param jsd {Date} The JavaScript date.\n @return {CDate} The equivalent calendar date. */\n fromJSDate: function(jsd) {\n return this.fromJD(_exports.instance().fromJSDate(jsd).toJD());\n },\n\n /** Check that a candidate date is from the same calendar and is valid.\n @memberof BaseCalendar\n @private\n @param year {CDate|number} The date to validate or the year to validate.\n @param [month] {number} The month to validate.\n @param [day] {number} The day to validate.\n @param error {string} Rrror message if invalid.\n @throws Error if different calendars used or invalid date. */\n _validate: function(year, month, day, error) {\n if (year.year) {\n if (this._validateLevel === 0 && this.name !== year.calendar().name) {\n throw (_exports.local.differentCalendars || _exports.regionalOptions[''].differentCalendars).\n replace(/\\{0\\}/, this.local.name).replace(/\\{1\\}/, year.calendar().local.name);\n }\n return year;\n }\n try {\n this._validateLevel++;\n if (this._validateLevel === 1 && !this.isValid(year, month, day)) {\n throw error.replace(/\\{0\\}/, this.local.name);\n }\n var date = this.newDate(year, month, day);\n this._validateLevel--;\n return date;\n }\n catch (e) {\n this._validateLevel--;\n throw e;\n }\n }\n});\n\n/** Implementation of the Proleptic Gregorian Calendar.\n See http://en.wikipedia.org/wiki/Gregorian_calendar\n and http://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar.\n @class GregorianCalendar\n @augments BaseCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction GregorianCalendar(language) {\n this.local = this.regionalOptions[language] || this.regionalOptions[''];\n}\n\nGregorianCalendar.prototype = new BaseCalendar;\n\nassign(GregorianCalendar.prototype, {\n /** The calendar name.\n @memberof GregorianCalendar */\n name: 'Gregorian',\n /** Julian date of start of Gregorian epoch: 1 January 0001 CE.\n @memberof GregorianCalendar */\n jdEpoch: 1721425.5,\n /** Days per month in a common year.\n @memberof GregorianCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof GregorianCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof GregorianCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof GregorianCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof GregorianCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof GregorianCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Gregorian',\n epochs: ['BCE', 'CE'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'mm/dd/yyyy',\n firstDay: 0,\n isRTL: false\n }\n },\n \n /** Determine whether this date is in a leap year.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay,\n _exports.local.invalidYear || _exports.regionalOptions[''].invalidYear);\n var year = date.year() + (date.year() < 0 ? 1 : 0); // No year zero\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year, starting from 1.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Thursday of this week starting on Monday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(4 - (checkDate.dayOfWeek() || 7), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a month.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay,\n _exports.local.invalidMonth || _exports.regionalOptions[''].invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n if (year < 0) { year++; } // No year zero\n // Jean Meeus algorithm, \"Astronomical Algorithms\", 1991\n if (month < 3) {\n month += 12;\n year--;\n }\n var a = Math.floor(year / 100);\n var b = 2 - a + Math.floor(a / 4);\n return Math.floor(365.25 * (year + 4716)) +\n Math.floor(30.6001 * (month + 1)) + day + b - 1524.5;\n },\n\n /** Create a new date from a Julian date.\n @memberof GregorianCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n // Jean Meeus algorithm, \"Astronomical Algorithms\", 1991\n var z = Math.floor(jd + 0.5);\n var a = Math.floor((z - 1867216.25) / 36524.25);\n a = z + 1 + a - Math.floor(a / 4);\n var b = a + 1524;\n var c = Math.floor((b - 122.1) / 365.25);\n var d = Math.floor(365.25 * c);\n var e = Math.floor((b - d) / 30.6001);\n var day = b - d - Math.floor(e * 30.6001);\n var month = e - (e > 13.5 ? 13 : 1);\n var year = c - (month > 2.5 ? 4716 : 4715);\n if (year <= 0) { year--; } // No year zero\n return this.newDate(year, month, day);\n },\n\n /** Convert this date to a standard (Gregorian) JavaScript Date.\n @memberof GregorianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {Date} The equivalent JavaScript date.\n @throws Error if an invalid date or a different calendar used. */\n toJSDate: function(year, month, day) {\n var date = this._validate(year, month, day,\n _exports.local.invalidDate || _exports.regionalOptions[''].invalidDate);\n var jsd = new Date(date.year(), date.month() - 1, date.day());\n jsd.setHours(0);\n jsd.setMinutes(0);\n jsd.setSeconds(0);\n jsd.setMilliseconds(0);\n // Hours may be non-zero on daylight saving cut-over:\n // > 12 when midnight changeover, but then cannot generate\n // midnight datetime, so jump to 1AM, otherwise reset.\n jsd.setHours(jsd.getHours() > 12 ? jsd.getHours() + 2 : 0);\n return jsd;\n },\n\n /** Create a new date from a standard (Gregorian) JavaScript Date.\n @memberof GregorianCalendar\n @param jsd {Date} The JavaScript date to convert.\n @return {CDate} The equivalent date. */\n fromJSDate: function(jsd) {\n return this.newDate(jsd.getFullYear(), jsd.getMonth() + 1, jsd.getDate());\n }\n});\n\n// Singleton manager\nvar _exports = module.exports = new Calendars();\n\n// Date template\n_exports.cdate = CDate;\n\n// Base calendar template\n_exports.baseCalendar = BaseCalendar;\n\n// Gregorian calendar implementation\n_exports.calendars.gregorian = GregorianCalendar;\n\n\n\n/***/ }),\n\n/***/ \"0248\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar warp = __webpack_require__(\"86d9\")\nvar invert = __webpack_require__(\"ba76\")\n\nmodule.exports = applyHomography\n\nfunction applyHomography(dest, src, Xi) {\n var n = src.dimension\n var X = invert([], Xi)\n warp(dest, src, function(out_c, inp_c) {\n for(var i=0; i fs * threshold) {\r\n\t\t\tvar emWidth = (kerningWidth - width) / fs\r\n\t\t\ttable[pair] = emWidth * 1000\r\n\t\t}\r\n\t}\r\n\r\n\treturn table\r\n}\r\n\r\n\r\nfunction createPairs (range) {\r\n\tvar pairs = []\r\n\r\n for (var i = range[0]; i <= range[1]; i++) {\r\n\t\tvar leftChar = String.fromCharCode(i)\r\n\t\tfor (var j = range[0]; j < range[1]; j++) {\r\n\t\t\tvar rightChar = String.fromCharCode(j)\r\n\t\t\tvar pair = leftChar + rightChar\r\n\r\n\t\t\tpairs.push(pair)\r\n\t\t}\r\n\t}\r\n\r\n\treturn pairs\r\n}\r\n\n\n/***/ }),\n\n/***/ \"02e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hover = __webpack_require__(\"98e7\");\nvar makeHoverPointText = __webpack_require__(\"efcd\").makeHoverPointText;\n\nfunction hoverPoints(pointData, xval, yval, hovermode) {\n var cd = pointData.cd;\n var stash = cd[0].t;\n var rArray = stash.r;\n var thetaArray = stash.theta;\n\n var scatterPointData = hover.hoverPoints(pointData, xval, yval, hovermode);\n if(!scatterPointData || scatterPointData[0].index === false) return;\n\n var newPointData = scatterPointData[0];\n\n if(newPointData.index === undefined) {\n return scatterPointData;\n }\n\n var subplot = pointData.subplot;\n var cdi = newPointData.cd[newPointData.index];\n var trace = newPointData.trace;\n\n // augment pointData with r/theta param\n cdi.r = rArray[newPointData.index];\n cdi.theta = thetaArray[newPointData.index];\n\n if(!subplot.isPtInside(cdi)) return;\n\n newPointData.xLabelVal = undefined;\n newPointData.yLabelVal = undefined;\n makeHoverPointText(cdi, trace, subplot, newPointData);\n\n return scatterPointData;\n}\n\nmodule.exports = {\n hoverPoints: hoverPoints\n};\n\n\n/***/ }),\n\n/***/ \"02ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nfunction makeContourProjAttr(axLetter) {\n return {\n valType: 'boolean',\n \n dflt: false,\n \n };\n}\n\nfunction makeContourAttr(axLetter) {\n return {\n show: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n start: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n end: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n size: {\n valType: 'number',\n dflt: null,\n min: 0,\n \n editType: 'plot',\n // impliedEdits: {'^autocontour': false},\n \n },\n project: {\n x: makeContourProjAttr('x'),\n y: makeContourProjAttr('y'),\n z: makeContourProjAttr('z')\n },\n color: {\n valType: 'color',\n \n dflt: Color.defaultLine,\n \n },\n usecolormap: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n width: {\n valType: 'number',\n \n min: 1,\n max: 16,\n dflt: 2,\n \n },\n highlight: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n highlightcolor: {\n valType: 'color',\n \n dflt: Color.defaultLine,\n \n },\n highlightwidth: {\n valType: 'number',\n \n min: 1,\n max: 16,\n dflt: 2,\n \n }\n };\n}\n\nvar attrs = module.exports = overrideAll(extendFlat({\n z: {\n valType: 'data_array',\n \n },\n x: {\n valType: 'data_array',\n \n },\n y: {\n valType: 'data_array',\n \n },\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n \n },\n hovertemplate: hovertemplateAttrs(),\n\n connectgaps: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n surfacecolor: {\n valType: 'data_array',\n \n },\n},\n\ncolorScaleAttrs('', {\n colorAttr: 'z or surfacecolor',\n showScaleDflt: true,\n autoColorDflt: false,\n editTypeOverride: 'calc'\n}), {\n contours: {\n x: makeContourAttr('x'),\n y: makeContourAttr('y'),\n z: makeContourAttr('z')\n },\n hidesurface: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n\n lightposition: {\n x: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 10,\n \n },\n y: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 1e4,\n \n },\n z: {\n valType: 'number',\n \n min: -1e5,\n max: 1e5,\n dflt: 0,\n \n }\n },\n\n lighting: {\n ambient: {\n valType: 'number',\n \n min: 0.00,\n max: 1.0,\n dflt: 0.8,\n \n },\n diffuse: {\n valType: 'number',\n \n min: 0.00,\n max: 1.00,\n dflt: 0.8,\n \n },\n specular: {\n valType: 'number',\n \n min: 0.00,\n max: 2.00,\n dflt: 0.05,\n \n },\n roughness: {\n valType: 'number',\n \n min: 0.00,\n max: 1.00,\n dflt: 0.5,\n \n },\n fresnel: {\n valType: 'number',\n \n min: 0.00,\n max: 5.00,\n dflt: 0.2,\n \n }\n },\n\n opacity: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n \n },\n\n _deprecated: {\n zauto: extendFlat({}, colorScaleAttrs.zauto, {\n \n }),\n zmin: extendFlat({}, colorScaleAttrs.zmin, {\n \n }),\n zmax: extendFlat({}, colorScaleAttrs.zmax, {\n \n })\n },\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false}),\n}), 'calc', 'nested');\n\nattrs.x.editType = attrs.y.editType = attrs.z.editType = 'calc+clearAxisTypes';\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"030a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Plotly = __webpack_require__(\"c17d\");\n\n// traces\nPlotly.register([\n __webpack_require__(\"f725\"),\n __webpack_require__(\"b7e7\"),\n __webpack_require__(\"3eab\"),\n __webpack_require__(\"4fc7\"),\n __webpack_require__(\"90a6\"),\n __webpack_require__(\"b905\"),\n __webpack_require__(\"5cc5\"),\n __webpack_require__(\"664d\"),\n __webpack_require__(\"6578\"),\n __webpack_require__(\"3efe\"),\n __webpack_require__(\"6ca5\"),\n __webpack_require__(\"831f\"),\n\n __webpack_require__(\"4746\"),\n __webpack_require__(\"21dd\"),\n __webpack_require__(\"6d0a\"),\n __webpack_require__(\"f36e\"),\n\n __webpack_require__(\"a8b9\"),\n __webpack_require__(\"372f\"),\n __webpack_require__(\"f17e\"),\n __webpack_require__(\"6626\"),\n __webpack_require__(\"0eb8\"),\n __webpack_require__(\"f522\"),\n __webpack_require__(\"2781\"),\n\n __webpack_require__(\"388d\"),\n __webpack_require__(\"c80f\"),\n\n __webpack_require__(\"46c1\"),\n __webpack_require__(\"2f68\"),\n\n __webpack_require__(\"b7bb\"),\n __webpack_require__(\"f3ca\"),\n\n __webpack_require__(\"44d4\"),\n\n __webpack_require__(\"f366\"),\n\n __webpack_require__(\"01db\"),\n __webpack_require__(\"7016\"),\n __webpack_require__(\"d47b\"),\n\n __webpack_require__(\"f846\"),\n __webpack_require__(\"aa2c\"),\n\n __webpack_require__(\"82e4\"),\n\n __webpack_require__(\"f2a9\"),\n __webpack_require__(\"bd75\"),\n __webpack_require__(\"e2f4\"),\n\n __webpack_require__(\"dff2\"),\n __webpack_require__(\"75ac\"),\n\n __webpack_require__(\"1cfc\"),\n __webpack_require__(\"ff5b\"),\n __webpack_require__(\"2d12\")\n]);\n\n// transforms\n//\n// Please note that all *transform* methods are executed before\n// all *calcTransform* methods - which could possibly lead to\n// unexpected results when applying multiple transforms of different types\n// to a given trace.\n//\n// For more info, see:\n// https://github.com/plotly/plotly.js/pull/978#pullrequestreview-2403353\n//\nPlotly.register([\n __webpack_require__(\"2594\"),\n __webpack_require__(\"4b14\"),\n __webpack_require__(\"9633\"),\n __webpack_require__(\"d2d4\")\n]);\n\n// components\nPlotly.register([\n __webpack_require__(\"e1f5\")\n]);\n\nmodule.exports = Plotly;\n\n\n/***/ }),\n\n/***/ \"0316\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var labels = {};\n\n var subplot = fullLayout[trace.subplot]._subplot;\n var ax = subplot.mockAxis;\n\n var lonlat = cdi.lonlat;\n labels.lonLabel = Axes.tickText(ax, ax.c2l(lonlat[0]), true).text;\n labels.latLabel = Axes.tickText(ax, ax.c2l(lonlat[1]), true).text;\n\n return labels;\n};\n\n\n/***/ }),\n\n/***/ \"0324\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n// remove opacity for any trace that has a fill or is filled to\nmodule.exports = function crossTraceDefaults(fullData) {\n for(var i = 0; i < fullData.length; i++) {\n var tracei = fullData[i];\n if(tracei.type !== 'scatter') continue;\n\n var filli = tracei.fill;\n if(filli === 'none' || filli === 'toself') continue;\n\n tracei.opacity = undefined;\n\n if(filli === 'tonexty' || filli === 'tonextx') {\n for(var j = i - 1; j >= 0; j--) {\n var tracej = fullData[j];\n\n if((tracej.type === 'scatter') &&\n (tracej.xaxis === tracei.xaxis) &&\n (tracej.yaxis === tracei.yaxis)) {\n tracej.opacity = undefined;\n break;\n }\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"0365\":\n/***/ (function(module, exports) {\n\nmodule.exports = clone;\n\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {vec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\nfunction clone(a) {\n var out = new Float32Array(3)\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"0366\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(\"1c0b\");\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"0379\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n/* global MathJax:false */\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar LINE_SPACING = __webpack_require__(\"63dc\").LINE_SPACING;\n\n// text converter\n\nfunction getSize(_selection, _dimension) {\n return _selection.node().getBoundingClientRect()[_dimension];\n}\n\nvar FIND_TEX = /([^$]*)([$]+[^$]*[$]+)([^$]*)/;\n\nexports.convertToTspans = function(_context, gd, _callback) {\n var str = _context.text();\n\n // Until we get tex integrated more fully (so it can be used along with non-tex)\n // allow some elements to prohibit it by attaching 'data-notex' to the original\n var tex = (!_context.attr('data-notex')) &&\n (typeof MathJax !== 'undefined') &&\n str.match(FIND_TEX);\n\n var parent = d3.select(_context.node().parentNode);\n if(parent.empty()) return;\n var svgClass = (_context.attr('class')) ? _context.attr('class').split(' ')[0] : 'text';\n svgClass += '-math';\n parent.selectAll('svg.' + svgClass).remove();\n parent.selectAll('g.' + svgClass + '-group').remove();\n _context.style('display', null)\n .attr({\n // some callers use data-unformatted *from the element* in 'cancel'\n // so we need it here even if we're going to turn it into math\n // these two (plus style and text-anchor attributes) form the key we're\n // going to use for Drawing.bBox\n 'data-unformatted': str,\n 'data-math': 'N'\n });\n\n function showText() {\n if(!parent.empty()) {\n svgClass = _context.attr('class') + '-math';\n parent.select('svg.' + svgClass).remove();\n }\n _context.text('')\n .style('white-space', 'pre');\n\n var hasLink = buildSVGText(_context.node(), str);\n\n if(hasLink) {\n // at least in Chrome, pointer-events does not seem\n // to be honored in children of elements\n // so if we have an anchor, we have to make the\n // whole element respond\n _context.style('pointer-events', 'all');\n }\n\n exports.positionText(_context);\n\n if(_callback) _callback.call(_context);\n }\n\n if(tex) {\n ((gd && gd._promises) || []).push(new Promise(function(resolve) {\n _context.style('display', 'none');\n var fontSize = parseInt(_context.node().style.fontSize, 10);\n var config = {fontSize: fontSize};\n\n texToSVG(tex[2], config, function(_svgEl, _glyphDefs, _svgBBox) {\n parent.selectAll('svg.' + svgClass).remove();\n parent.selectAll('g.' + svgClass + '-group').remove();\n\n var newSvg = _svgEl && _svgEl.select('svg');\n if(!newSvg || !newSvg.node()) {\n showText();\n resolve();\n return;\n }\n\n var mathjaxGroup = parent.append('g')\n .classed(svgClass + '-group', true)\n .attr({\n 'pointer-events': 'none',\n 'data-unformatted': str,\n 'data-math': 'Y'\n });\n\n mathjaxGroup.node().appendChild(newSvg.node());\n\n // stitch the glyph defs\n if(_glyphDefs && _glyphDefs.node()) {\n newSvg.node().insertBefore(_glyphDefs.node().cloneNode(true),\n newSvg.node().firstChild);\n }\n\n newSvg.attr({\n 'class': svgClass,\n height: _svgBBox.height,\n preserveAspectRatio: 'xMinYMin meet'\n })\n .style({overflow: 'visible', 'pointer-events': 'none'});\n\n var fill = _context.node().style.fill || 'black';\n var g = newSvg.select('g');\n g.attr({fill: fill, stroke: fill});\n\n var newSvgW = getSize(g, 'width');\n var newSvgH = getSize(g, 'height');\n var newX = +_context.attr('x') - newSvgW *\n {start: 0, middle: 0.5, end: 1}[_context.attr('text-anchor') || 'start'];\n // font baseline is about 1/4 fontSize below centerline\n var textHeight = fontSize || getSize(_context, 'height');\n var dy = -textHeight / 4;\n\n if(svgClass[0] === 'y') {\n mathjaxGroup.attr({\n transform: 'rotate(' + [-90, +_context.attr('x'), +_context.attr('y')] +\n ') translate(' + [-newSvgW / 2, dy - newSvgH / 2] + ')'\n });\n newSvg.attr({x: +_context.attr('x'), y: +_context.attr('y')});\n } else if(svgClass[0] === 'l') {\n newSvg.attr({x: _context.attr('x'), y: dy - (newSvgH / 2)});\n } else if(svgClass[0] === 'a' && svgClass.indexOf('atitle') !== 0) {\n newSvg.attr({x: 0, y: dy});\n } else {\n newSvg.attr({x: newX, y: (+_context.attr('y') + dy - newSvgH / 2)});\n }\n\n if(_callback) _callback.call(_context, mathjaxGroup);\n resolve(mathjaxGroup);\n });\n }));\n } else showText();\n\n return _context;\n};\n\n\n// MathJax\n\nvar LT_MATCH = /(<|<|<)/g;\nvar GT_MATCH = /(>|>|>)/g;\n\nfunction cleanEscapesForTex(s) {\n return s.replace(LT_MATCH, '\\\\lt ')\n .replace(GT_MATCH, '\\\\gt ');\n}\n\nfunction texToSVG(_texString, _config, _callback) {\n var originalRenderer,\n originalConfig,\n originalProcessSectionDelay,\n tmpDiv;\n\n MathJax.Hub.Queue(\n function() {\n originalConfig = Lib.extendDeepAll({}, MathJax.Hub.config);\n\n originalProcessSectionDelay = MathJax.Hub.processSectionDelay;\n if(MathJax.Hub.processSectionDelay !== undefined) {\n // MathJax 2.5+\n MathJax.Hub.processSectionDelay = 0;\n }\n\n return MathJax.Hub.Config({\n messageStyle: 'none',\n tex2jax: {\n inlineMath: [['$', '$'], ['\\\\(', '\\\\)']]\n },\n displayAlign: 'left',\n });\n },\n function() {\n // Get original renderer\n originalRenderer = MathJax.Hub.config.menuSettings.renderer;\n if(originalRenderer !== 'SVG') {\n return MathJax.Hub.setRenderer('SVG');\n }\n },\n function() {\n var randomID = 'math-output-' + Lib.randstr({}, 64);\n tmpDiv = d3.select('body').append('div')\n .attr({id: randomID})\n .style({visibility: 'hidden', position: 'absolute'})\n .style({'font-size': _config.fontSize + 'px'})\n .text(cleanEscapesForTex(_texString));\n\n return MathJax.Hub.Typeset(tmpDiv.node());\n },\n function() {\n var glyphDefs = d3.select('body').select('#MathJax_SVG_glyphs');\n\n if(tmpDiv.select('.MathJax_SVG').empty() || !tmpDiv.select('svg').node()) {\n Lib.log('There was an error in the tex syntax.', _texString);\n _callback();\n } else {\n var svgBBox = tmpDiv.select('svg').node().getBoundingClientRect();\n _callback(tmpDiv.select('.MathJax_SVG'), glyphDefs, svgBBox);\n }\n\n tmpDiv.remove();\n\n if(originalRenderer !== 'SVG') {\n return MathJax.Hub.setRenderer(originalRenderer);\n }\n },\n function() {\n if(originalProcessSectionDelay !== undefined) {\n MathJax.Hub.processSectionDelay = originalProcessSectionDelay;\n }\n return MathJax.Hub.Config(originalConfig);\n });\n}\n\nvar TAG_STYLES = {\n // would like to use baseline-shift for sub/sup but FF doesn't support it\n // so we need to use dy along with the uber hacky shift-back-to\n // baseline below\n sup: 'font-size:70%',\n sub: 'font-size:70%',\n b: 'font-weight:bold',\n i: 'font-style:italic',\n a: 'cursor:pointer',\n span: '',\n em: 'font-style:italic;font-weight:bold'\n};\n\n// baseline shifts for sub and sup\nvar SHIFT_DY = {\n sub: '0.3em',\n sup: '-0.6em'\n};\n// reset baseline by adding a tspan (empty except for a zero-width space)\n// with dy of -70% * SHIFT_DY (because font-size=70%)\nvar RESET_DY = {\n sub: '-0.21em',\n sup: '0.42em'\n};\nvar ZERO_WIDTH_SPACE = '\\u200b';\n\n/*\n * Whitelist of protocols in user-supplied urls. Mostly we want to avoid javascript\n * and related attack vectors. The empty items are there for IE, that in various\n * versions treats relative paths as having different flavors of no protocol, while\n * other browsers have these explicitly inherit the protocol of the page they're in.\n */\nvar PROTOCOLS = ['http:', 'https:', 'mailto:', '', undefined, ':'];\n\nvar NEWLINES = exports.NEWLINES = /(\\r\\n?|\\n)/g;\n\nvar SPLIT_TAGS = /(<[^<>]*>)/;\n\nvar ONE_TAG = /<(\\/?)([^ >]*)(\\s+(.*))?>/i;\n\nvar BR_TAG = //i;\nexports.BR_TAG_ALL = //gi;\n\n/*\n * style and href: pull them out of either single or double quotes. Also\n * - target: (_blank|_self|_parent|_top|framename)\n * note that you can't use target to get a popup but if you use popup,\n * a `framename` will be passed along as the name of the popup window.\n * per the spec, cannot contain whitespace.\n * for backward compatibility we default to '_blank'\n * - popup: a custom one for us to enable popup (new window) links. String\n * for window.open -> strWindowFeatures, like 'menubar=yes,width=500,height=550'\n * note that at least in Chrome, you need to give at least one property\n * in this string or the page will open in a new tab anyway. We follow this\n * convention and will not make a popup if this string is empty.\n * per the spec, cannot contain whitespace.\n *\n * Because we hack in other attributes with style (sub & sup), drop any trailing\n * semicolon in user-supplied styles so we can consistently append the tag-dependent style\n *\n * These are for tag attributes; Chrome anyway will convert entities in\n * attribute values, but not in attribute names\n * you can test this by for example:\n * > p = document.createElement('p')\n * > p.innerHTML = 'Hi'\n * > p.innerHTML\n * <- 'Hi'\n */\nvar STYLEMATCH = /(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i;\nvar HREFMATCH = /(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i;\nvar TARGETMATCH = /(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i;\nvar POPUPMATCH = /(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;\n\n// dedicated matcher for these quoted regexes, that can return their results\n// in two different places\nfunction getQuotedMatch(_str, re) {\n if(!_str) return null;\n var match = _str.match(re);\n var result = match && (match[3] || match[4]);\n return result && convertEntities(result);\n}\n\nvar COLORMATCH = /(^|;)\\s*color:/;\n\n/**\n * Strip string of tags\n *\n * @param {string} _str : input string\n * @param {object} opts :\n * - len {number} max length of output string\n * - allowedTags {array} list of pseudo-html tags to NOT strip\n * @return {string}\n */\nexports.plainText = function(_str, opts) {\n opts = opts || {};\n\n var len = (opts.len !== undefined && opts.len !== -1) ? opts.len : Infinity;\n var allowedTags = opts.allowedTags !== undefined ? opts.allowedTags : ['br'];\n\n var ellipsis = '...';\n var eLen = ellipsis.length;\n\n var oldParts = _str.split(SPLIT_TAGS);\n var newParts = [];\n var prevTag = '';\n var l = 0;\n\n for(var i = 0; i < oldParts.length; i++) {\n var p = oldParts[i];\n var match = p.match(ONE_TAG);\n var tagType = match && match[2].toLowerCase();\n\n if(tagType) {\n // N.B. tags do not count towards string length\n if(allowedTags.indexOf(tagType) !== -1) {\n newParts.push(p);\n prevTag = tagType;\n }\n } else {\n var pLen = p.length;\n\n if((l + pLen) < len) {\n newParts.push(p);\n l += pLen;\n } else if(l < len) {\n var pLen2 = len - l;\n\n if(prevTag && (prevTag !== 'br' || pLen2 <= eLen || pLen <= eLen)) {\n newParts.pop();\n }\n\n if(len > eLen) {\n newParts.push(p.substr(0, pLen2 - eLen) + ellipsis);\n } else {\n newParts.push(p.substr(0, pLen2));\n }\n break;\n }\n\n prevTag = '';\n }\n }\n\n return newParts.join('');\n};\n\n/*\n * N.B. HTML entities are listed without the leading '&' and trailing ';'\n * https://www.freeformatter.com/html-entities.html\n *\n * FWIW if we wanted to support the full set, it has 2261 entries:\n * https://www.w3.org/TR/html5/entities.json\n * though I notice that some of these are duplicates and/or are missing \";\"\n * eg: \"&\", \"&\", \"&\", and \"&\" all map to \"&\"\n * We no longer need to include numeric entities here, these are now handled\n * by String.fromCodePoint/fromCharCode\n *\n * Anyway the only ones that are really important to allow are the HTML special\n * chars <, >, and &, because these ones can trigger special processing if not\n * replaced by the corresponding entity.\n */\nvar entityToUnicode = {\n mu: 'μ',\n amp: '&',\n lt: '<',\n gt: '>',\n nbsp: ' ',\n times: '×',\n plusmn: '±',\n deg: '°'\n};\n\n// NOTE: in general entities can contain uppercase too (so [a-zA-Z]) but all the\n// ones we support use only lowercase. If we ever change that, update the regex.\nvar ENTITY_MATCH = /&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;\nfunction convertEntities(_str) {\n return _str.replace(ENTITY_MATCH, function(fullMatch, innerMatch) {\n var outChar;\n if(innerMatch.charAt(0) === '#') {\n // cannot use String.fromCodePoint in IE\n outChar = fromCodePoint(\n innerMatch.charAt(1) === 'x' ?\n parseInt(innerMatch.substr(2), 16) :\n parseInt(innerMatch.substr(1), 10)\n );\n } else outChar = entityToUnicode[innerMatch];\n\n // as in regular HTML, if we didn't decode the entity just\n // leave the raw text in place.\n return outChar || fullMatch;\n });\n}\nexports.convertEntities = convertEntities;\n\nfunction fromCodePoint(code) {\n // Don't allow overflow. In Chrome this turns into � but I feel like it's\n // more useful to just not convert it at all.\n if(code > 0x10FFFF) return;\n var stringFromCodePoint = String.fromCodePoint;\n if(stringFromCodePoint) return stringFromCodePoint(code);\n\n // IE doesn't have String.fromCodePoint\n // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n var stringFromCharCode = String.fromCharCode;\n if(code <= 0xFFFF) return stringFromCharCode(code);\n return stringFromCharCode(\n (code >> 10) + 0xD7C0,\n (code % 0x400) + 0xDC00\n );\n}\n\n/*\n * buildSVGText: convert our pseudo-html into SVG tspan elements, and attach these\n * to containerNode\n *\n * @param {svg text element} containerNode: the node to insert this text into\n * @param {string} str: the pseudo-html string to convert to svg\n *\n * @returns {bool}: does the result contain any links? We need to handle the text element\n * somewhat differently if it does, so just keep track of this when it happens.\n */\nfunction buildSVGText(containerNode, str) {\n /*\n * Normalize behavior between IE and others wrt newlines and whitespace:pre\n * this combination makes IE barf https://github.com/plotly/plotly.js/issues/746\n * Chrome and FF display \\n, \\r, or \\r\\n as a space in this mode.\n * I feel like at some point we turned these into
but currently we don't so\n * I'm just going to cement what we do now in Chrome and FF\n */\n str = str.replace(NEWLINES, ' ');\n\n var hasLink = false;\n\n // as we're building the text, keep track of what elements we're nested inside\n // nodeStack will be an array of {node, type, style, href, target, popup}\n // where only type: 'a' gets the last 3 and node is only added when it's created\n var nodeStack = [];\n var currentNode;\n var currentLine = -1;\n\n function newLine() {\n currentLine++;\n\n var lineNode = document.createElementNS(xmlnsNamespaces.svg, 'tspan');\n d3.select(lineNode).attr({\n class: 'line',\n dy: (currentLine * LINE_SPACING) + 'em'\n });\n containerNode.appendChild(lineNode);\n\n currentNode = lineNode;\n\n var oldNodeStack = nodeStack;\n nodeStack = [{node: lineNode}];\n\n if(oldNodeStack.length > 1) {\n for(var i = 1; i < oldNodeStack.length; i++) {\n enterNode(oldNodeStack[i]);\n }\n }\n }\n\n function enterNode(nodeSpec) {\n var type = nodeSpec.type;\n var nodeAttrs = {};\n var nodeType;\n\n if(type === 'a') {\n nodeType = 'a';\n var target = nodeSpec.target;\n var href = nodeSpec.href;\n var popup = nodeSpec.popup;\n if(href) {\n nodeAttrs = {\n 'xlink:xlink:show': (target === '_blank' || target.charAt(0) !== '_') ? 'new' : 'replace',\n target: target,\n 'xlink:xlink:href': href\n };\n if(popup) {\n // security: href and target are not inserted as code but\n // as attributes. popup is, but limited to /[A-Za-z0-9_=,]/\n nodeAttrs.onclick = 'window.open(this.href.baseVal,this.target.baseVal,\"' +\n popup + '\");return false;';\n }\n }\n } else nodeType = 'tspan';\n\n if(nodeSpec.style) nodeAttrs.style = nodeSpec.style;\n\n var newNode = document.createElementNS(xmlnsNamespaces.svg, nodeType);\n\n if(type === 'sup' || type === 'sub') {\n addTextNode(currentNode, ZERO_WIDTH_SPACE);\n currentNode.appendChild(newNode);\n\n var resetter = document.createElementNS(xmlnsNamespaces.svg, 'tspan');\n addTextNode(resetter, ZERO_WIDTH_SPACE);\n d3.select(resetter).attr('dy', RESET_DY[type]);\n nodeAttrs.dy = SHIFT_DY[type];\n\n currentNode.appendChild(newNode);\n currentNode.appendChild(resetter);\n } else {\n currentNode.appendChild(newNode);\n }\n\n d3.select(newNode).attr(nodeAttrs);\n\n currentNode = nodeSpec.node = newNode;\n nodeStack.push(nodeSpec);\n }\n\n function addTextNode(node, text) {\n node.appendChild(document.createTextNode(text));\n }\n\n function exitNode(type) {\n // A bare closing tag can't close the root node. If we encounter this it\n // means there's an extra closing tag that can just be ignored:\n if(nodeStack.length === 1) {\n Lib.log('Ignoring unexpected end tag .', str);\n return;\n }\n\n var innerNode = nodeStack.pop();\n\n if(type !== innerNode.type) {\n Lib.log('Start tag <' + innerNode.type + '> doesnt match end tag <' +\n type + '>. Pretending it did match.', str);\n }\n currentNode = nodeStack[nodeStack.length - 1].node;\n }\n\n var hasLines = BR_TAG.test(str);\n\n if(hasLines) newLine();\n else {\n currentNode = containerNode;\n nodeStack = [{node: containerNode}];\n }\n\n var parts = str.split(SPLIT_TAGS);\n for(var i = 0; i < parts.length; i++) {\n var parti = parts[i];\n var match = parti.match(ONE_TAG);\n var tagType = match && match[2].toLowerCase();\n var tagStyle = TAG_STYLES[tagType];\n\n if(tagType === 'br') {\n newLine();\n } else if(tagStyle === undefined) {\n addTextNode(currentNode, convertEntities(parti));\n } else {\n // tag - open or close\n if(match[1]) {\n exitNode(tagType);\n } else {\n var extra = match[4];\n\n var nodeSpec = {type: tagType};\n\n // now add style, from both the tag name and any extra css\n // Most of the svg css that users will care about is just like html,\n // but font color is different (uses fill). Let our users ignore this.\n var css = getQuotedMatch(extra, STYLEMATCH);\n if(css) {\n css = css.replace(COLORMATCH, '$1 fill:');\n if(tagStyle) css += ';' + tagStyle;\n } else if(tagStyle) css = tagStyle;\n\n if(css) nodeSpec.style = css;\n\n if(tagType === 'a') {\n hasLink = true;\n\n var href = getQuotedMatch(extra, HREFMATCH);\n\n if(href) {\n // check safe protocols\n var dummyAnchor = document.createElement('a');\n dummyAnchor.href = href;\n if(PROTOCOLS.indexOf(dummyAnchor.protocol) !== -1) {\n // Decode href to allow both already encoded and not encoded\n // URIs. Without decoding prior encoding, an already encoded\n // URI would be encoded twice producing a semantically different URI.\n nodeSpec.href = encodeURI(decodeURI(href));\n nodeSpec.target = getQuotedMatch(extra, TARGETMATCH) || '_blank';\n nodeSpec.popup = getQuotedMatch(extra, POPUPMATCH);\n }\n }\n }\n\n enterNode(nodeSpec);\n }\n }\n }\n\n return hasLink;\n}\n\nexports.lineCount = function lineCount(s) {\n return s.selectAll('tspan.line').size() || 1;\n};\n\nexports.positionText = function positionText(s, x, y) {\n return s.each(function() {\n var text = d3.select(this);\n\n function setOrGet(attr, val) {\n if(val === undefined) {\n val = text.attr(attr);\n if(val === null) {\n text.attr(attr, 0);\n val = 0;\n }\n } else text.attr(attr, val);\n return val;\n }\n\n var thisX = setOrGet('x', x);\n var thisY = setOrGet('y', y);\n\n if(this.nodeName === 'text') {\n text.selectAll('tspan.line').attr({x: thisX, y: thisY});\n }\n });\n};\n\nfunction alignHTMLWith(_base, container, options) {\n var alignH = options.horizontalAlign;\n var alignV = options.verticalAlign || 'top';\n var bRect = _base.node().getBoundingClientRect();\n var cRect = container.node().getBoundingClientRect();\n var thisRect;\n var getTop;\n var getLeft;\n\n if(alignV === 'bottom') {\n getTop = function() { return bRect.bottom - thisRect.height; };\n } else if(alignV === 'middle') {\n getTop = function() { return bRect.top + (bRect.height - thisRect.height) / 2; };\n } else { // default: top\n getTop = function() { return bRect.top; };\n }\n\n if(alignH === 'right') {\n getLeft = function() { return bRect.right - thisRect.width; };\n } else if(alignH === 'center') {\n getLeft = function() { return bRect.left + (bRect.width - thisRect.width) / 2; };\n } else { // default: left\n getLeft = function() { return bRect.left; };\n }\n\n return function() {\n thisRect = this.node().getBoundingClientRect();\n this.style({\n top: (getTop() - cRect.top) + 'px',\n left: (getLeft() - cRect.left) + 'px',\n 'z-index': 1000\n });\n return this;\n };\n}\n\n/*\n * Editable title\n * @param {d3.selection} context: the element being edited. Normally text,\n * but if it isn't, you should provide the styling options\n * @param {object} options:\n * @param {div} options.gd: graphDiv\n * @param {d3.selection} options.delegate: item to bind events to if not this\n * @param {boolean} options.immediate: start editing now (true) or on click (false, default)\n * @param {string} options.fill: font color if not as shown\n * @param {string} options.background: background color if not as shown\n * @param {string} options.text: initial text, if not as shown\n * @param {string} options.horizontalAlign: alignment of the edit box wrt. the bound element\n * @param {string} options.verticalAlign: alignment of the edit box wrt. the bound element\n */\n\nexports.makeEditable = function(context, options) {\n var gd = options.gd;\n var _delegate = options.delegate;\n var dispatch = d3.dispatch('edit', 'input', 'cancel');\n var handlerElement = _delegate || context;\n\n context.style({'pointer-events': _delegate ? 'none' : 'all'});\n\n if(context.size() !== 1) throw new Error('boo');\n\n function handleClick() {\n appendEditable();\n context.style({opacity: 0});\n // also hide any mathjax svg\n var svgClass = handlerElement.attr('class');\n var mathjaxClass;\n if(svgClass) mathjaxClass = '.' + svgClass.split(' ')[0] + '-math-group';\n else mathjaxClass = '[class*=-math-group]';\n if(mathjaxClass) {\n d3.select(context.node().parentNode).select(mathjaxClass).style({opacity: 0});\n }\n }\n\n function selectElementContents(_el) {\n var el = _el.node();\n var range = document.createRange();\n range.selectNodeContents(el);\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n el.focus();\n }\n\n function appendEditable() {\n var plotDiv = d3.select(gd);\n var container = plotDiv.select('.svg-container');\n var div = container.append('div');\n var cStyle = context.node().style;\n var fontSize = parseFloat(cStyle.fontSize || 12);\n\n var initialText = options.text;\n if(initialText === undefined) initialText = context.attr('data-unformatted');\n\n div.classed('plugin-editable editable', true)\n .style({\n position: 'absolute',\n 'font-family': cStyle.fontFamily || 'Arial',\n 'font-size': fontSize,\n color: options.fill || cStyle.fill || 'black',\n opacity: 1,\n 'background-color': options.background || 'transparent',\n outline: '#ffffff33 1px solid',\n margin: [-fontSize / 8 + 1, 0, 0, -1].join('px ') + 'px',\n padding: '0',\n 'box-sizing': 'border-box'\n })\n .attr({contenteditable: true})\n .text(initialText)\n .call(alignHTMLWith(context, container, options))\n .on('blur', function() {\n gd._editing = false;\n context.text(this.textContent)\n .style({opacity: 1});\n var svgClass = d3.select(this).attr('class');\n var mathjaxClass;\n if(svgClass) mathjaxClass = '.' + svgClass.split(' ')[0] + '-math-group';\n else mathjaxClass = '[class*=-math-group]';\n if(mathjaxClass) {\n d3.select(context.node().parentNode).select(mathjaxClass).style({opacity: 0});\n }\n var text = this.textContent;\n d3.select(this).transition().duration(0).remove();\n d3.select(document).on('mouseup', null);\n dispatch.edit.call(context, text);\n })\n .on('focus', function() {\n var editDiv = this;\n gd._editing = true;\n d3.select(document).on('mouseup', function() {\n if(d3.event.target === editDiv) return false;\n if(document.activeElement === div.node()) div.node().blur();\n });\n })\n .on('keyup', function() {\n if(d3.event.which === 27) {\n gd._editing = false;\n context.style({opacity: 1});\n d3.select(this)\n .style({opacity: 0})\n .on('blur', function() { return false; })\n .transition().remove();\n dispatch.cancel.call(context, this.textContent);\n } else {\n dispatch.input.call(context, this.textContent);\n d3.select(this).call(alignHTMLWith(context, container, options));\n }\n })\n .on('keydown', function() {\n if(d3.event.which === 13) this.blur();\n })\n .call(selectElementContents);\n }\n\n if(options.immediate) handleClick();\n else handlerElement.on('click', handleClick);\n\n return d3.rebind(context, dispatch, 'on');\n};\n\n\n/***/ }),\n\n/***/ \"037d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function sceneUpdate(gd, trace) {\n var fullLayout = gd._fullLayout;\n var uid = trace.uid;\n\n // must place ref to 'scene' in fullLayout, so that:\n // - it can be relinked properly on updates\n // - it can be destroyed properly when needed\n var splomScenes = fullLayout._splomScenes;\n if(!splomScenes) splomScenes = fullLayout._splomScenes = {};\n\n var reset = {dirty: true};\n\n var first = {\n matrix: false,\n selectBatch: [],\n unselectBatch: []\n };\n\n var scene = splomScenes[trace.uid];\n\n if(!scene) {\n scene = splomScenes[uid] = Lib.extendFlat({}, reset, first);\n\n scene.draw = function draw() {\n if(scene.matrix && scene.matrix.draw) {\n if(scene.selectBatch.length || scene.unselectBatch.length) {\n scene.matrix.draw(scene.unselectBatch, scene.selectBatch);\n } else {\n scene.matrix.draw();\n }\n }\n\n scene.dirty = false;\n };\n\n // remove scene resources\n scene.destroy = function destroy() {\n if(scene.matrix && scene.matrix.destroy) {\n scene.matrix.destroy();\n }\n scene.matrixOptions = null;\n scene.selectBatch = null;\n scene.unselectBatch = null;\n scene = null;\n };\n }\n\n // In case if we have scene from the last calc - reset data\n if(!scene.dirty) {\n Lib.extendFlat(scene, reset);\n }\n\n return scene;\n};\n\n\n/***/ }),\n\n/***/ \"0382\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"86d2\"),\n supplyDefaults: __webpack_require__(\"447e\"),\n calc: __webpack_require__(\"de229\"),\n plot: __webpack_require__(\"0cc1\"),\n style: __webpack_require__(\"464d\"),\n hoverPoints: __webpack_require__(\"cbb8\"),\n eventData: __webpack_require__(\"3e97\"),\n\n moduleType: 'trace',\n name: 'image',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'noSortingByValue'],\n animatable: false,\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"038d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar attributes = __webpack_require__(\"8bd8\");\nvar fillText = __webpack_require__(\"fc26\").fillText;\n\nmodule.exports = function hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var geo = pointData.subplot;\n\n var pt, i, j, isInside;\n\n for(i = 0; i < cd.length; i++) {\n pt = cd[i];\n isInside = false;\n\n if(pt._polygons) {\n for(j = 0; j < pt._polygons.length; j++) {\n if(pt._polygons[j].contains([xval, yval])) {\n isInside = !isInside;\n }\n // for polygons that cross antimeridian as xval is in [-180, 180]\n if(pt._polygons[j].contains([xval + 360, yval])) {\n isInside = !isInside;\n }\n }\n\n if(isInside) break;\n }\n }\n\n if(!isInside || !pt) return;\n\n pointData.x0 = pointData.x1 = pointData.xa.c2p(pt.ct);\n pointData.y0 = pointData.y1 = pointData.ya.c2p(pt.ct);\n\n pointData.index = pt.index;\n pointData.location = pt.loc;\n pointData.z = pt.z;\n pointData.zLabel = Axes.tickText(geo.mockAxis, geo.mockAxis.c2l(pt.z), 'hover').text;\n pointData.hovertemplate = pt.hovertemplate;\n\n makeHoverInfo(pointData, trace, pt, geo.mockAxis);\n\n return [pointData];\n};\n\nfunction makeHoverInfo(pointData, trace, pt) {\n if(trace.hovertemplate) return;\n\n var hoverinfo = pt.hi || trace.hoverinfo;\n var loc = String(pt.loc);\n\n var parts = (hoverinfo === 'all') ?\n attributes.hoverinfo.flags :\n hoverinfo.split('+');\n\n var hasName = (parts.indexOf('name') !== -1);\n var hasLocation = (parts.indexOf('location') !== -1);\n var hasZ = (parts.indexOf('z') !== -1);\n var hasText = (parts.indexOf('text') !== -1);\n var hasIdAsNameLabel = !hasName && hasLocation;\n\n var text = [];\n\n if(hasIdAsNameLabel) {\n pointData.nameOverride = loc;\n } else {\n if(hasName) pointData.nameOverride = trace.name;\n if(hasLocation) text.push(loc);\n }\n\n if(hasZ) {\n text.push(pointData.zLabel);\n }\n if(hasText) {\n fillText(pt, trace, text);\n }\n\n pointData.extraText = text.join('
');\n}\n\n\n/***/ }),\n\n/***/ \"03d7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\nvar barStyle = __webpack_require__(\"2df3\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\nvar styleTextPoints = barStyle.styleTextPoints;\n\nfunction style(gd, cd, sel) {\n var s = sel ? sel : d3.select(gd).selectAll('g.waterfalllayer').selectAll('g.trace');\n resizeText(gd, s, 'waterfall');\n\n s.style('opacity', function(d) { return d[0].trace.opacity; });\n\n s.each(function(d) {\n var gTrace = d3.select(this);\n var trace = d[0].trace;\n\n gTrace.selectAll('.point > path').each(function(di) {\n if(!di.isBlank) {\n var cont = trace[di.dir].marker;\n\n d3.select(this)\n .call(Color.fill, cont.color)\n .call(Color.stroke, cont.line.color)\n .call(Drawing.dashLine, cont.line.dash, cont.line.width)\n .style('opacity', trace.selectedpoints && !di.selected ? DESELECTDIM : 1);\n }\n });\n\n styleTextPoints(gTrace, trace, gd);\n\n gTrace.selectAll('.lines').each(function() {\n var cont = trace.connector.line;\n\n Drawing.lineGroupStyle(\n d3.select(this).selectAll('path'),\n cont.width,\n cont.color,\n cont.dash\n );\n });\n });\n}\n\nmodule.exports = {\n style: style\n};\n\n\n/***/ }),\n\n/***/ \"0435\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n z: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n x: extendFlat({}, scatterAttrs.x, {impliedEdits: {xtype: 'array'}}),\n x0: extendFlat({}, scatterAttrs.x0, {impliedEdits: {xtype: 'scaled'}}),\n dx: extendFlat({}, scatterAttrs.dx, {impliedEdits: {xtype: 'scaled'}}),\n y: extendFlat({}, scatterAttrs.y, {impliedEdits: {ytype: 'array'}}),\n y0: extendFlat({}, scatterAttrs.y0, {impliedEdits: {ytype: 'scaled'}}),\n dy: extendFlat({}, scatterAttrs.dy, {impliedEdits: {ytype: 'scaled'}}),\n\n text: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n transpose: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n xtype: {\n valType: 'enumerated',\n values: ['array', 'scaled'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n ytype: {\n valType: 'enumerated',\n values: ['array', 'scaled'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n zsmooth: {\n valType: 'enumerated',\n values: ['fast', 'best', false],\n dflt: false,\n \n editType: 'calc',\n \n },\n hoverongaps: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'none',\n \n },\n connectgaps: {\n valType: 'boolean',\n \n editType: 'calc',\n \n },\n xgap: {\n valType: 'number',\n dflt: 0,\n min: 0,\n \n editType: 'plot',\n \n },\n ygap: {\n valType: 'number',\n dflt: 0,\n min: 0,\n \n editType: 'plot',\n \n },\n zhoverformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'none',\n \n },\n hovertemplate: hovertemplateAttrs(),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n}, {\n transforms: undefined\n},\n colorScaleAttrs('', {cLetter: 'z', autoColorDflt: false})\n);\n\n\n/***/ }),\n\n/***/ \"0446\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Axes = __webpack_require__(\"0642\");\n\n/**\n * transitionAxes\n *\n * transition axes from one set of ranges to another, using a svg\n * transformations, similar to during panning.\n *\n * @param {DOM element | object} gd\n * @param {array} edits : array of 'edits', each item with\n * - plotinfo {object} subplot object\n * - xr0 {array} initial x-range\n * - xr1 {array} end x-range\n * - yr0 {array} initial y-range\n * - yr1 {array} end y-range\n * @param {object} transitionOpts\n * @param {function} makeOnCompleteCallback\n */\nmodule.exports = function transitionAxes(gd, edits, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = gd._fullLayout;\n\n // special case for redraw:false Plotly.animate that relies on this\n // to update axis-referenced layout components\n if(edits.length === 0) {\n Axes.redrawComponents(gd);\n return;\n }\n\n function unsetSubplotTransform(subplot) {\n var xa = subplot.xaxis;\n var ya = subplot.yaxis;\n\n fullLayout._defs.select('#' + subplot.clipId + '> rect')\n .call(Drawing.setTranslate, 0, 0)\n .call(Drawing.setScale, 1, 1);\n\n subplot.plot\n .call(Drawing.setTranslate, xa._offset, ya._offset)\n .call(Drawing.setScale, 1, 1);\n\n var traceGroups = subplot.plot.selectAll('.scatterlayer .trace');\n\n // This is specifically directed at scatter traces, applying an inverse\n // scale to individual points to counteract the scale of the trace\n // as a whole:\n traceGroups.selectAll('.point')\n .call(Drawing.setPointGroupScale, 1, 1);\n traceGroups.selectAll('.textpoint')\n .call(Drawing.setTextPointsScale, 1, 1);\n traceGroups\n .call(Drawing.hideOutsideRangePoints, subplot);\n }\n\n function updateSubplot(edit, progress) {\n var plotinfo = edit.plotinfo;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n var xlen = xa._length;\n var ylen = ya._length;\n var editX = !!edit.xr1;\n var editY = !!edit.yr1;\n var viewBox = [];\n\n if(editX) {\n var xr0 = Lib.simpleMap(edit.xr0, xa.r2l);\n var xr1 = Lib.simpleMap(edit.xr1, xa.r2l);\n var dx0 = xr0[1] - xr0[0];\n var dx1 = xr1[1] - xr1[0];\n viewBox[0] = (xr0[0] * (1 - progress) + progress * xr1[0] - xr0[0]) / (xr0[1] - xr0[0]) * xlen;\n viewBox[2] = xlen * ((1 - progress) + progress * dx1 / dx0);\n xa.range[0] = xa.l2r(xr0[0] * (1 - progress) + progress * xr1[0]);\n xa.range[1] = xa.l2r(xr0[1] * (1 - progress) + progress * xr1[1]);\n } else {\n viewBox[0] = 0;\n viewBox[2] = xlen;\n }\n\n if(editY) {\n var yr0 = Lib.simpleMap(edit.yr0, ya.r2l);\n var yr1 = Lib.simpleMap(edit.yr1, ya.r2l);\n var dy0 = yr0[1] - yr0[0];\n var dy1 = yr1[1] - yr1[0];\n viewBox[1] = (yr0[1] * (1 - progress) + progress * yr1[1] - yr0[1]) / (yr0[0] - yr0[1]) * ylen;\n viewBox[3] = ylen * ((1 - progress) + progress * dy1 / dy0);\n ya.range[0] = xa.l2r(yr0[0] * (1 - progress) + progress * yr1[0]);\n ya.range[1] = ya.l2r(yr0[1] * (1 - progress) + progress * yr1[1]);\n } else {\n viewBox[1] = 0;\n viewBox[3] = ylen;\n }\n\n Axes.drawOne(gd, xa, {skipTitle: true});\n Axes.drawOne(gd, ya, {skipTitle: true});\n Axes.redrawComponents(gd, [xa._id, ya._id]);\n\n var xScaleFactor = editX ? xlen / viewBox[2] : 1;\n var yScaleFactor = editY ? ylen / viewBox[3] : 1;\n var clipDx = editX ? viewBox[0] : 0;\n var clipDy = editY ? viewBox[1] : 0;\n var fracDx = editX ? (viewBox[0] / viewBox[2] * xlen) : 0;\n var fracDy = editY ? (viewBox[1] / viewBox[3] * ylen) : 0;\n var plotDx = xa._offset - fracDx;\n var plotDy = ya._offset - fracDy;\n\n plotinfo.clipRect\n .call(Drawing.setTranslate, clipDx, clipDy)\n .call(Drawing.setScale, 1 / xScaleFactor, 1 / yScaleFactor);\n\n plotinfo.plot\n .call(Drawing.setTranslate, plotDx, plotDy)\n .call(Drawing.setScale, xScaleFactor, yScaleFactor);\n\n // apply an inverse scale to individual points to counteract\n // the scale of the trace group.\n Drawing.setPointGroupScale(plotinfo.zoomScalePts, 1 / xScaleFactor, 1 / yScaleFactor);\n Drawing.setTextPointsScale(plotinfo.zoomScaleTxt, 1 / xScaleFactor, 1 / yScaleFactor);\n }\n\n var onComplete;\n if(makeOnCompleteCallback) {\n // This module makes the choice whether or not it notifies Plotly.transition\n // about completion:\n onComplete = makeOnCompleteCallback();\n }\n\n function transitionComplete() {\n var aobj = {};\n\n for(var i = 0; i < edits.length; i++) {\n var edit = edits[i];\n var xa = edit.plotinfo.xaxis;\n var ya = edit.plotinfo.yaxis;\n if(edit.xr1) aobj[xa._name + '.range'] = edit.xr1.slice();\n if(edit.yr1) aobj[ya._name + '.range'] = edit.yr1.slice();\n }\n\n // Signal that this transition has completed:\n onComplete && onComplete();\n\n return Registry.call('relayout', gd, aobj).then(function() {\n for(var i = 0; i < edits.length; i++) {\n unsetSubplotTransform(edits[i].plotinfo);\n }\n });\n }\n\n function transitionInterrupt() {\n var aobj = {};\n\n for(var i = 0; i < edits.length; i++) {\n var edit = edits[i];\n var xa = edit.plotinfo.xaxis;\n var ya = edit.plotinfo.yaxis;\n if(edit.xr0) aobj[xa._name + '.range'] = edit.xr0.slice();\n if(edit.yr0) aobj[ya._name + '.range'] = edit.yr0.slice();\n }\n\n return Registry.call('relayout', gd, aobj).then(function() {\n for(var i = 0; i < edits.length; i++) {\n unsetSubplotTransform(edits[i].plotinfo);\n }\n });\n }\n\n var t1, t2, raf;\n var easeFn = d3.ease(transitionOpts.easing);\n\n gd._transitionData._interruptCallbacks.push(function() {\n window.cancelAnimationFrame(raf);\n raf = null;\n return transitionInterrupt();\n });\n\n function doFrame() {\n t2 = Date.now();\n\n var tInterp = Math.min(1, (t2 - t1) / transitionOpts.duration);\n var progress = easeFn(tInterp);\n\n for(var i = 0; i < edits.length; i++) {\n updateSubplot(edits[i], progress);\n }\n\n if(t2 - t1 > transitionOpts.duration) {\n transitionComplete();\n raf = window.cancelAnimationFrame(doFrame);\n } else {\n raf = window.requestAnimationFrame(doFrame);\n }\n }\n\n t1 = Date.now();\n raf = window.requestAnimationFrame(doFrame);\n\n return Promise.resolve();\n};\n\n\n/***/ }),\n\n/***/ \"044b\":\n/***/ (function(module, exports) {\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n/***/ }),\n\n/***/ \"046b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar rules = {\n \"X,X div\": \"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\n \"X input,X button\": \"font-family:'Open Sans', verdana, arial, sans-serif;\",\n \"X input:focus,X button:focus\": \"outline:none;\",\n \"X a\": \"text-decoration:none;\",\n \"X a:hover\": \"text-decoration:none;\",\n \"X .crisp\": \"shape-rendering:crispEdges;\",\n \"X .user-select-none\": \"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\n \"X svg\": \"overflow:hidden;\",\n \"X svg a\": \"fill:#447adb;\",\n \"X svg a:hover\": \"fill:#3c6dc5;\",\n \"X .main-svg\": \"position:absolute;top:0;left:0;pointer-events:none;\",\n \"X .main-svg .draglayer\": \"pointer-events:all;\",\n \"X .cursor-default\": \"cursor:default;\",\n \"X .cursor-pointer\": \"cursor:pointer;\",\n \"X .cursor-crosshair\": \"cursor:crosshair;\",\n \"X .cursor-move\": \"cursor:move;\",\n \"X .cursor-col-resize\": \"cursor:col-resize;\",\n \"X .cursor-row-resize\": \"cursor:row-resize;\",\n \"X .cursor-ns-resize\": \"cursor:ns-resize;\",\n \"X .cursor-ew-resize\": \"cursor:ew-resize;\",\n \"X .cursor-sw-resize\": \"cursor:sw-resize;\",\n \"X .cursor-s-resize\": \"cursor:s-resize;\",\n \"X .cursor-se-resize\": \"cursor:se-resize;\",\n \"X .cursor-w-resize\": \"cursor:w-resize;\",\n \"X .cursor-e-resize\": \"cursor:e-resize;\",\n \"X .cursor-nw-resize\": \"cursor:nw-resize;\",\n \"X .cursor-n-resize\": \"cursor:n-resize;\",\n \"X .cursor-ne-resize\": \"cursor:ne-resize;\",\n \"X .cursor-grab\": \"cursor:-webkit-grab;cursor:grab;\",\n \"X .modebar\": \"position:absolute;top:2px;right:2px;\",\n \"X .ease-bg\": \"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;\",\n \"X .modebar--hover>:not(.watermark)\": \"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\n \"X:hover .modebar--hover .modebar-group\": \"opacity:1;\",\n \"X .modebar-group\": \"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\n \"X .modebar-btn\": \"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\n \"X .modebar-btn svg\": \"position:relative;top:2px;\",\n \"X .modebar.vertical\": \"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\n \"X .modebar.vertical svg\": \"top:-1px;\",\n \"X .modebar.vertical .modebar-group\": \"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\n \"X .modebar.vertical .modebar-group .modebar-btn\": \"display:block;text-align:center;\",\n \"X [data-title]:before,X [data-title]:after\": \"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\n \"X [data-title]:hover:before,X [data-title]:hover:after\": \"display:block;opacity:1;\",\n \"X [data-title]:before\": \"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\n \"X [data-title]:after\": \"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\n \"X .vertical [data-title]:before,X .vertical [data-title]:after\": \"top:0%;right:200%;\",\n \"X .vertical [data-title]:before\": \"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\n \"X .select-outline\": \"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\n \"X .select-outline-1\": \"stroke:white;\",\n \"X .select-outline-2\": \"stroke:black;stroke-dasharray:2px 2px;\",\n Y: \"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\n \"Y p\": \"margin:0;\",\n \"Y .notifier-note\": \"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\n \"Y .notifier-close\": \"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\n \"Y .notifier-close:hover\": \"color:#444;text-decoration:none;cursor:pointer;\"\n};\n\nfor(var selector in rules) {\n var fullSelector = selector.replace(/^,/,' ,')\n .replace(/X/g, '.js-plotly-plot .plotly')\n .replace(/Y/g, '.plotly-notifier');\n Lib.addStyleRule(fullSelector, rules[selector]);\n}\n\n\n/***/ }),\n\n/***/ \"04a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createCamera = __webpack_require__(\"9351\")\nvar createAxes = __webpack_require__(\"dbd1\")\nvar axesRanges = __webpack_require__(\"15dd\")\nvar createSpikes = __webpack_require__(\"794e\")\nvar createSelect = __webpack_require__(\"578f\")\nvar createFBO = __webpack_require__(\"44c3\")\nvar drawTriangle = __webpack_require__(\"a92a\")\nvar mouseChange = __webpack_require__(\"91b8\")\nvar perspective = __webpack_require__(\"7ad0\")\nvar ortho = __webpack_require__(\"f889\")\nvar createShader = __webpack_require__(\"5ccc\")\nvar isMobile = __webpack_require__(\"8df8\")({ tablet: true })\n\nmodule.exports = {\n createScene: createScene,\n createCamera: createCamera\n}\n\nfunction MouseSelect() {\n this.mouse = [-1,-1]\n this.screen = null\n this.distance = Infinity\n this.index = null\n this.dataCoordinate = null\n this.dataPosition = null\n this.object = null\n this.data = null\n}\n\nfunction getContext(canvas, options) {\n var gl = null\n try {\n gl = canvas.getContext('webgl', options)\n if(!gl) {\n gl = canvas.getContext('experimental-webgl', options)\n }\n } catch(e) {\n return null\n }\n return gl\n}\n\nfunction roundUpPow10(x) {\n var y = Math.round(Math.log(Math.abs(x)) / Math.log(10))\n if(y < 0) {\n var base = Math.round(Math.pow(10, -y))\n return Math.ceil(x*base) / base\n } else if(y > 0) {\n var base = Math.round(Math.pow(10, y))\n return Math.ceil(x/base) * base\n }\n return Math.ceil(x)\n}\n\nfunction defaultBool(x) {\n if(typeof x === 'boolean') {\n return x\n }\n return true\n}\n\nfunction createScene(options) {\n options = options || {}\n options.camera = options.camera || {}\n\n var canvas = options.canvas\n if(!canvas) {\n canvas = document.createElement('canvas')\n if(options.container) {\n var container = options.container\n container.appendChild(canvas)\n } else {\n document.body.appendChild(canvas)\n }\n }\n\n var gl = options.gl\n if(!gl) {\n gl = getContext(canvas,\n options.glOptions || {\n premultipliedAlpha: true,\n antialias: true,\n preserveDrawingBuffer: isMobile\n })\n }\n if(!gl) {\n throw new Error('webgl not supported')\n }\n\n //Initial bounds\n var bounds = options.bounds || [[-10,-10,-10], [10,10,10]]\n\n //Create selection\n var selection = new MouseSelect()\n\n //Accumulation buffer\n var accumBuffer = createFBO(gl,\n [gl.drawingBufferWidth, gl.drawingBufferHeight], {\n preferFloat: !isMobile\n })\n\n var accumShader = createShader(gl)\n\n var isOrtho =\n (options.cameraObject && options.cameraObject._ortho === true) ||\n (options.camera.projection && options.camera.projection.type === 'orthographic') ||\n false\n\n //Create a camera\n var cameraOptions = {\n eye: options.camera.eye || [2,0,0],\n center: options.camera.center || [0,0,0],\n up: options.camera.up || [0,1,0],\n zoomMin: options.camera.zoomMax || 0.1,\n zoomMax: options.camera.zoomMin || 100,\n mode: options.camera.mode || 'turntable',\n _ortho: isOrtho\n }\n\n //Create axes\n var axesOptions = options.axes || {}\n var axes = createAxes(gl, axesOptions)\n axes.enable = !axesOptions.disable\n\n //Create spikes\n var spikeOptions = options.spikes || {}\n var spikes = createSpikes(gl, spikeOptions)\n\n //Object list is empty initially\n var objects = []\n var pickBufferIds = []\n var pickBufferCount = []\n var pickBuffers = []\n\n //Dirty flag, skip redraw if scene static\n var dirty = true\n var pickDirty = true\n\n var projection = new Array(16)\n var model = new Array(16)\n\n var cameraParams = {\n view: null,\n projection: projection,\n model: model,\n _ortho: false\n }\n\n var pickDirty = true\n\n var viewShape = [ gl.drawingBufferWidth, gl.drawingBufferHeight ]\n\n var camera = options.cameraObject || createCamera(canvas, cameraOptions)\n\n //Create scene object\n var scene = {\n gl: gl,\n contextLost: false,\n pixelRatio: options.pixelRatio || 1,\n canvas: canvas,\n selection: selection,\n camera: camera,\n axes: axes,\n axesPixels: null,\n spikes: spikes,\n bounds: bounds,\n objects: objects,\n shape: viewShape,\n aspect: options.aspectRatio || [1,1,1],\n pickRadius: options.pickRadius || 10,\n zNear: options.zNear || 0.01,\n zFar: options.zFar || 1000,\n fovy: options.fovy || Math.PI/4,\n clearColor: options.clearColor || [0,0,0,0],\n autoResize: defaultBool(options.autoResize),\n autoBounds: defaultBool(options.autoBounds),\n autoScale: !!options.autoScale,\n autoCenter: defaultBool(options.autoCenter),\n clipToBounds: defaultBool(options.clipToBounds),\n snapToData: !!options.snapToData,\n onselect: options.onselect || null,\n onrender: options.onrender || null,\n onclick: options.onclick || null,\n cameraParams: cameraParams,\n oncontextloss: null,\n mouseListener: null,\n _stopped: false,\n\n getAspectratio: function() {\n return {\n x: this.aspect[0],\n y: this.aspect[1],\n z: this.aspect[2]\n }\n },\n\n setAspectratio: function(aspectratio) {\n this.aspect[0] = aspectratio.x\n this.aspect[1] = aspectratio.y\n this.aspect[2] = aspectratio.z\n },\n\n setBounds: function(axisIndex, range) {\n this.bounds[0][axisIndex] = range.min\n this.bounds[1][axisIndex] = range.max\n },\n\n setClearColor: function(clearColor) {\n this.clearColor = clearColor\n },\n\n clearRGBA: function() {\n this.gl.clearColor(\n this.clearColor[0],\n this.clearColor[1],\n this.clearColor[2],\n this.clearColor[3]\n )\n\n this.gl.clear(\n this.gl.COLOR_BUFFER_BIT |\n this.gl.DEPTH_BUFFER_BIT\n )\n }\n }\n\n var pickShape = [ (gl.drawingBufferWidth/scene.pixelRatio)|0, (gl.drawingBufferHeight/scene.pixelRatio)|0 ]\n\n function resizeListener() {\n if(scene._stopped) {\n return\n }\n if(!scene.autoResize) {\n return\n }\n var parent = canvas.parentNode\n var width = 1\n var height = 1\n if(parent && parent !== document.body) {\n width = parent.clientWidth\n height = parent.clientHeight\n } else {\n width = window.innerWidth\n height = window.innerHeight\n }\n var nextWidth = Math.ceil(width * scene.pixelRatio)|0\n var nextHeight = Math.ceil(height * scene.pixelRatio)|0\n if(nextWidth !== canvas.width || nextHeight !== canvas.height) {\n canvas.width = nextWidth\n canvas.height = nextHeight\n var style = canvas.style\n style.position = style.position || 'absolute'\n style.left = '0px'\n style.top = '0px'\n style.width = width + 'px'\n style.height = height + 'px'\n dirty = true\n }\n }\n if(scene.autoResize) {\n resizeListener()\n }\n window.addEventListener('resize', resizeListener)\n\n function reallocPickIds() {\n var numObjs = objects.length\n var numPick = pickBuffers.length\n for(var i=0; i 0 && pickBufferCount[numPick-1] === 0) {\n pickBufferCount.pop()\n pickBuffers.pop().dispose()\n }\n }\n\n scene.update = function(options) {\n\n if(scene._stopped) {\n return\n }\n options = options || {}\n dirty = true\n pickDirty = true\n }\n\n scene.add = function(obj) {\n if(scene._stopped) {\n return\n }\n obj.axes = axes\n objects.push(obj)\n pickBufferIds.push(-1)\n dirty = true\n pickDirty = true\n reallocPickIds()\n }\n\n scene.remove = function(obj) {\n if(scene._stopped) {\n return\n }\n var idx = objects.indexOf(obj)\n if(idx < 0) {\n return\n }\n objects.splice(idx, 1)\n pickBufferIds.pop()\n dirty = true\n pickDirty = true\n reallocPickIds()\n }\n\n scene.dispose = function() {\n if(scene._stopped) {\n return\n }\n\n scene._stopped = true\n\n window.removeEventListener('resize', resizeListener)\n canvas.removeEventListener('webglcontextlost', checkContextLoss)\n scene.mouseListener.enabled = false\n\n if(scene.contextLost) {\n return\n }\n\n //Destroy objects\n axes.dispose()\n spikes.dispose()\n for(var i=0; i selection.distance) {\n continue\n }\n for(var j=0; j 0) {\n stepVal.push(stride(i, order[j-1]) + \"*\" + shape(order[j-1]) )\n }\n vars.push(step(i,order[j]) + \"=(\" + stepVal.join(\"-\") + \")|0\")\n }\n }\n //Create index variables\n for(var i=0; i=0; --i) {\n sizeVariable.push(shape(order[i]))\n }\n //Previous phases and vertex_ids\n vars.push(POOL_SIZE + \"=(\" + sizeVariable.join(\"*\") + \")|0\",\n PHASES + \"=mallocUint32(\" + POOL_SIZE + \")\",\n VERTEX_IDS + \"=mallocUint32(\" + POOL_SIZE + \")\",\n POINTER + \"=0\")\n //Create cube variables for phases\n vars.push(pcube(0) + \"=0\")\n for(var j=1; j<(1<=0; --i) {\n forLoopBegin(i, 0) \n }\n var phaseFuncArgs = []\n for(var i=0; i0; k=(k-1)&subset) {\n faceArgs.push(VERTEX_IDS + \"[\" + POINTER + \"+\" + pdelta(k) + \"]\")\n }\n faceArgs.push(vert(0))\n for(var k=0; k0){\",\n index(order[i]), \"=1;\")\n createLoop(i-1, mask|(1< 0\")\n }\n if(typeof args.vertex !== \"function\") {\n error(\"Must specify vertex creation function\")\n }\n if(typeof args.cell !== \"function\") {\n error(\"Must specify cell creation function\")\n }\n if(typeof args.phase !== \"function\") {\n error(\"Must specify phase function\")\n }\n var getters = args.getters || []\n var typesig = new Array(arrays)\n for(var i=0; i= 0) {\n typesig[i] = true\n } else {\n typesig[i] = false\n }\n }\n return compileSurfaceProcedure(\n args.vertex,\n args.cell,\n args.phase,\n scalars,\n order,\n typesig)\n}\n\n/***/ }),\n\n/***/ \"05d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n nodeTextOffsetHorizontal: 4,\n nodeTextOffsetVertical: 3,\n nodePadAcross: 10,\n sankeyIterations: 50,\n forceIterations: 5,\n forceTicksPerFrame: 10,\n duration: 500,\n ease: 'linear',\n cn: {\n sankey: 'sankey',\n sankeyLinks: 'sankey-links',\n sankeyLink: 'sankey-link',\n sankeyNodeSet: 'sankey-node-set',\n sankeyNode: 'sankey-node',\n nodeRect: 'node-rect',\n nodeCapture: 'node-capture',\n nodeCentered: 'node-entered',\n nodeLabelGuide: 'node-label-guide',\n nodeLabel: 'node-label',\n nodeLabelTextPath: 'node-label-text-path'\n }\n};\n\n\n/***/ }),\n\n/***/ \"0625\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar histogram2dCalc = __webpack_require__(\"7f9e\");\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar convertColumnData = __webpack_require__(\"d064\");\nvar clean2dArray = __webpack_require__(\"1b6a\");\nvar interp2d = __webpack_require__(\"2d0e\");\nvar findEmpties = __webpack_require__(\"0c3a\");\nvar makeBoundArray = __webpack_require__(\"d706\");\n\nmodule.exports = function calc(gd, trace) {\n // prepare the raw data\n // run makeCalcdata on x and y even for heatmaps, in case of category mappings\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var isContour = Registry.traceIs(trace, 'contour');\n var isHist = Registry.traceIs(trace, 'histogram');\n var isGL2D = Registry.traceIs(trace, 'gl2d');\n var zsmooth = isContour ? 'best' : trace.zsmooth;\n var x;\n var x0;\n var dx;\n var y;\n var y0;\n var dy;\n var z;\n var i;\n var binned;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n xa._minDtick = 0;\n ya._minDtick = 0;\n\n if(isHist) {\n binned = histogram2dCalc(gd, trace);\n x = binned.x;\n x0 = binned.x0;\n dx = binned.dx;\n y = binned.y;\n y0 = binned.y0;\n dy = binned.dy;\n z = binned.z;\n } else {\n var zIn = trace.z;\n if(Lib.isArray1D(zIn)) {\n convertColumnData(trace, xa, ya, 'x', 'y', ['z']);\n x = trace._x;\n y = trace._y;\n zIn = trace._z;\n } else {\n x = trace._x = trace.x ? xa.makeCalcdata(trace, 'x') : [];\n y = trace._y = trace.y ? ya.makeCalcdata(trace, 'y') : [];\n }\n\n x0 = trace.x0;\n dx = trace.dx;\n y0 = trace.y0;\n dy = trace.dy;\n\n z = clean2dArray(zIn, trace, xa, ya);\n\n if(isContour || trace.connectgaps) {\n trace._emptypoints = findEmpties(z);\n interp2d(z, trace._emptypoints);\n }\n }\n\n function noZsmooth(msg) {\n zsmooth = trace._input.zsmooth = trace.zsmooth = false;\n Lib.warn('cannot use zsmooth: \"fast\": ' + msg);\n }\n\n // check whether we really can smooth (ie all boxes are about the same size)\n if(zsmooth === 'fast') {\n if(xa.type === 'log' || ya.type === 'log') {\n noZsmooth('log axis found');\n } else if(!isHist) {\n if(x.length) {\n var avgdx = (x[x.length - 1] - x[0]) / (x.length - 1);\n var maxErrX = Math.abs(avgdx / 100);\n for(i = 0; i < x.length - 1; i++) {\n if(Math.abs(x[i + 1] - x[i] - avgdx) > maxErrX) {\n noZsmooth('x scale is not linear');\n break;\n }\n }\n }\n if(y.length && zsmooth === 'fast') {\n var avgdy = (y[y.length - 1] - y[0]) / (y.length - 1);\n var maxErrY = Math.abs(avgdy / 100);\n for(i = 0; i < y.length - 1; i++) {\n if(Math.abs(y[i + 1] - y[i] - avgdy) > maxErrY) {\n noZsmooth('y scale is not linear');\n break;\n }\n }\n }\n }\n }\n\n // create arrays of brick boundaries, to be used by autorange and heatmap.plot\n var xlen = Lib.maxRowLength(z);\n var xIn = trace.xtype === 'scaled' ? '' : x;\n var xArray = makeBoundArray(trace, xIn, x0, dx, xlen, xa);\n var yIn = trace.ytype === 'scaled' ? '' : y;\n var yArray = makeBoundArray(trace, yIn, y0, dy, z.length, ya);\n\n // handled in gl2d convert step\n if(!isGL2D) {\n trace._extremes[xa._id] = Axes.findExtremes(xa, xArray);\n trace._extremes[ya._id] = Axes.findExtremes(ya, yArray);\n }\n\n var cd0 = {\n x: xArray,\n y: yArray,\n z: z,\n text: trace._text || trace.text,\n hovertext: trace._hovertext || trace.hovertext\n };\n\n if(xIn && xIn.length === xArray.length - 1) cd0.xCenter = xIn;\n if(yIn && yIn.length === yArray.length - 1) cd0.yCenter = yIn;\n\n if(isHist) {\n cd0.xRanges = binned.xRanges;\n cd0.yRanges = binned.yRanges;\n cd0.pts = binned.pts;\n }\n\n if(!isContour) {\n colorscaleCalc(gd, trace, {vals: z, cLetter: 'z'});\n }\n\n if(isContour && trace.contours && trace.contours.coloring === 'heatmap') {\n var dummyTrace = {\n type: trace.type === 'contour' ? 'heatmap' : 'histogram2d',\n xcalendar: trace.xcalendar,\n ycalendar: trace.ycalendar\n };\n cd0.xfill = makeBoundArray(dummyTrace, xIn, x0, dx, xlen, xa);\n cd0.yfill = makeBoundArray(dummyTrace, yIn, y0, dy, z.length, ya);\n }\n\n return [cd0];\n};\n\n\n/***/ }),\n\n/***/ \"0642\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Plots = __webpack_require__(\"bb71\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar Titles = __webpack_require__(\"1999\");\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\n\nvar axAttrs = __webpack_require__(\"d798\");\nvar cleanTicks = __webpack_require__(\"da6a\");\n\nvar constants = __webpack_require__(\"e806\");\nvar ONEAVGYEAR = constants.ONEAVGYEAR;\nvar ONEAVGMONTH = constants.ONEAVGMONTH;\nvar ONEDAY = constants.ONEDAY;\nvar ONEHOUR = constants.ONEHOUR;\nvar ONEMIN = constants.ONEMIN;\nvar ONESEC = constants.ONESEC;\nvar MINUS_SIGN = constants.MINUS_SIGN;\nvar BADNUM = constants.BADNUM;\n\nvar alignmentConstants = __webpack_require__(\"63dc\");\nvar MID_SHIFT = alignmentConstants.MID_SHIFT;\nvar CAP_SHIFT = alignmentConstants.CAP_SHIFT;\nvar LINE_SPACING = alignmentConstants.LINE_SPACING;\nvar OPPOSITE_SIDE = alignmentConstants.OPPOSITE_SIDE;\n\nvar axes = module.exports = {};\n\naxes.setConvert = __webpack_require__(\"1a40\");\nvar autoType = __webpack_require__(\"0b77\");\n\nvar axisIds = __webpack_require__(\"3c1c\");\naxes.id2name = axisIds.id2name;\naxes.name2id = axisIds.name2id;\naxes.cleanId = axisIds.cleanId;\naxes.list = axisIds.list;\naxes.listIds = axisIds.listIds;\naxes.getFromId = axisIds.getFromId;\naxes.getFromTrace = axisIds.getFromTrace;\n\nvar autorange = __webpack_require__(\"ce56\");\naxes.getAutoRange = autorange.getAutoRange;\naxes.findExtremes = autorange.findExtremes;\n\n/*\n * find the list of possible axes to reference with an xref or yref attribute\n * and coerce it to that list\n *\n * attr: the attribute we're generating a reference for. Should end in 'x' or 'y'\n * but can be prefixed, like 'ax' for annotation's arrow x\n * dflt: the default to coerce to, or blank to use the first axis (falling back on\n * extraOption if there is no axis)\n * extraOption: aside from existing axes with this letter, what non-axis value is allowed?\n * Only required if it's different from `dflt`\n */\naxes.coerceRef = function(containerIn, containerOut, gd, attr, dflt, extraOption) {\n var axLetter = attr.charAt(attr.length - 1);\n var axlist = gd._fullLayout._subplots[axLetter + 'axis'];\n var refAttr = attr + 'ref';\n var attrDef = {};\n\n if(!dflt) dflt = axlist[0] || extraOption;\n if(!extraOption) extraOption = dflt;\n\n // data-ref annotations are not supported in gl2d yet\n\n attrDef[refAttr] = {\n valType: 'enumerated',\n values: axlist.concat(extraOption ? [extraOption] : []),\n dflt: dflt\n };\n\n // xref, yref\n return Lib.coerce(containerIn, containerOut, attrDef, refAttr);\n};\n\n/*\n * coerce position attributes (range-type) that can be either on axes or absolute\n * (paper or pixel) referenced. The biggest complication here is that we don't know\n * before looking at the axis whether the value must be a number or not (it may be\n * a date string), so we can't use the regular valType='number' machinery\n *\n * axRef (string): the axis this position is referenced to, or:\n * paper: fraction of the plot area\n * pixel: pixels relative to some starting position\n * attr (string): the attribute in containerOut we are coercing\n * dflt (number): the default position, as a fraction or pixels. If the attribute\n * is to be axis-referenced, this will be converted to an axis data value\n *\n * Also cleans the values, since the attribute definition itself has to say\n * valType: 'any' to handle date axes. This allows us to accept:\n * - for category axes: category names, and convert them here into serial numbers.\n * Note that this will NOT work for axis range endpoints, because we don't know\n * the category list yet (it's set by ax.makeCalcdata during calc)\n * but it works for component (note, shape, images) positions.\n * - for date axes: JS Dates or milliseconds, and convert to date strings\n * - for other types: coerce them to numbers\n */\naxes.coercePosition = function(containerOut, gd, coerce, axRef, attr, dflt) {\n var cleanPos, pos;\n\n if(axRef === 'paper' || axRef === 'pixel') {\n cleanPos = Lib.ensureNumber;\n pos = coerce(attr, dflt);\n } else {\n var ax = axes.getFromId(gd, axRef);\n dflt = ax.fraction2r(dflt);\n pos = coerce(attr, dflt);\n cleanPos = ax.cleanPos;\n }\n\n containerOut[attr] = cleanPos(pos);\n};\n\naxes.cleanPosition = function(pos, gd, axRef) {\n var cleanPos = (axRef === 'paper' || axRef === 'pixel') ?\n Lib.ensureNumber :\n axes.getFromId(gd, axRef).cleanPos;\n\n return cleanPos(pos);\n};\n\naxes.redrawComponents = function(gd, axIds) {\n axIds = axIds ? axIds : axes.listIds(gd);\n\n var fullLayout = gd._fullLayout;\n\n function _redrawOneComp(moduleName, methodName, stashName, shortCircuit) {\n var method = Registry.getComponentMethod(moduleName, methodName);\n var stash = {};\n\n for(var i = 0; i < axIds.length; i++) {\n var ax = fullLayout[axes.id2name(axIds[i])];\n var indices = ax[stashName];\n\n for(var j = 0; j < indices.length; j++) {\n var ind = indices[j];\n\n if(!stash[ind]) {\n method(gd, ind);\n stash[ind] = 1;\n // once is enough for images (which doesn't use the `i` arg anyway)\n if(shortCircuit) return;\n }\n }\n }\n }\n\n // annotations and shapes 'draw' method is slow,\n // use the finer-grained 'drawOne' method instead\n _redrawOneComp('annotations', 'drawOne', '_annIndices');\n _redrawOneComp('shapes', 'drawOne', '_shapeIndices');\n _redrawOneComp('images', 'draw', '_imgIndices', true);\n};\n\nvar getDataConversions = axes.getDataConversions = function(gd, trace, target, targetArray) {\n var ax;\n\n // If target points to an axis, use the type we already have for that\n // axis to find the data type. Otherwise use the values to autotype.\n var d2cTarget = (target === 'x' || target === 'y' || target === 'z') ?\n target :\n targetArray;\n\n // In the case of an array target, make a mock data array\n // and call supplyDefaults to the data type and\n // setup the data-to-calc method.\n if(Array.isArray(d2cTarget)) {\n ax = {\n type: autoType(targetArray),\n _categories: []\n };\n axes.setConvert(ax);\n\n // build up ax._categories (usually done during ax.makeCalcdata()\n if(ax.type === 'category') {\n for(var i = 0; i < targetArray.length; i++) {\n ax.d2c(targetArray[i]);\n }\n }\n // TODO what to do for transforms?\n } else {\n ax = axes.getFromTrace(gd, trace, d2cTarget);\n }\n\n // if 'target' has corresponding axis\n // -> use setConvert method\n if(ax) return {d2c: ax.d2c, c2d: ax.c2d};\n\n // special case for 'ids'\n // -> cast to String\n if(d2cTarget === 'ids') return {d2c: toString, c2d: toString};\n\n // otherwise (e.g. numeric-array of 'marker.color' or 'marker.size')\n // -> cast to Number\n\n return {d2c: toNum, c2d: toNum};\n};\n\nfunction toNum(v) { return +v; }\nfunction toString(v) { return String(v); }\n\naxes.getDataToCoordFunc = function(gd, trace, target, targetArray) {\n return getDataConversions(gd, trace, target, targetArray).d2c;\n};\n\n// get counteraxis letter for this axis (name or id)\n// this can also be used as the id for default counter axis\naxes.counterLetter = function(id) {\n var axLetter = id.charAt(0);\n if(axLetter === 'x') return 'y';\n if(axLetter === 'y') return 'x';\n};\n\n// incorporate a new minimum difference and first tick into\n// forced\n// note that _forceTick0 is linearized, so needs to be turned into\n// a range value for setting tick0\naxes.minDtick = function(ax, newDiff, newFirst, allow) {\n // doesn't make sense to do forced min dTick on log or category axes,\n // and the plot itself may decide to cancel (ie non-grouped bars)\n if(['log', 'category', 'multicategory'].indexOf(ax.type) !== -1 || !allow) {\n ax._minDtick = 0;\n } else if(ax._minDtick === undefined) {\n // undefined means there's nothing there yet\n\n ax._minDtick = newDiff;\n ax._forceTick0 = newFirst;\n } else if(ax._minDtick) {\n if((ax._minDtick / newDiff + 1e-6) % 1 < 2e-6 &&\n // existing minDtick is an integer multiple of newDiff\n // (within rounding err)\n // and forceTick0 can be shifted to newFirst\n\n (((newFirst - ax._forceTick0) / newDiff % 1) +\n 1.000001) % 1 < 2e-6) {\n ax._minDtick = newDiff;\n ax._forceTick0 = newFirst;\n } else if((newDiff / ax._minDtick + 1e-6) % 1 > 2e-6 ||\n // if the converse is true (newDiff is a multiple of minDtick and\n // newFirst can be shifted to forceTick0) then do nothing - same\n // forcing stands. Otherwise, cancel forced minimum\n\n (((newFirst - ax._forceTick0) / ax._minDtick % 1) +\n 1.000001) % 1 > 2e-6) {\n ax._minDtick = 0;\n }\n }\n};\n\n// save a copy of the initial axis ranges in fullLayout\n// use them in mode bar and dblclick events\naxes.saveRangeInitial = function(gd, overwrite) {\n var axList = axes.list(gd, '', true);\n var hasOneAxisChanged = false;\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n var isNew = (ax._rangeInitial === undefined);\n var hasChanged = isNew || !(\n ax.range[0] === ax._rangeInitial[0] &&\n ax.range[1] === ax._rangeInitial[1]\n );\n\n if((isNew && ax.autorange === false) || (overwrite && hasChanged)) {\n ax._rangeInitial = ax.range.slice();\n hasOneAxisChanged = true;\n }\n }\n\n return hasOneAxisChanged;\n};\n\n// save a copy of the initial spike visibility\naxes.saveShowSpikeInitial = function(gd, overwrite) {\n var axList = axes.list(gd, '', true);\n var hasOneAxisChanged = false;\n var allSpikesEnabled = 'on';\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n var isNew = (ax._showSpikeInitial === undefined);\n var hasChanged = isNew || !(ax.showspikes === ax._showspikes);\n\n if(isNew || (overwrite && hasChanged)) {\n ax._showSpikeInitial = ax.showspikes;\n hasOneAxisChanged = true;\n }\n\n if(allSpikesEnabled === 'on' && !ax.showspikes) {\n allSpikesEnabled = 'off';\n }\n }\n gd._fullLayout._cartesianSpikesEnabled = allSpikesEnabled;\n return hasOneAxisChanged;\n};\n\naxes.autoBin = function(data, ax, nbins, is2d, calendar, size) {\n var dataMin = Lib.aggNums(Math.min, null, data);\n var dataMax = Lib.aggNums(Math.max, null, data);\n\n if(ax.type === 'category' || ax.type === 'multicategory') {\n return {\n start: dataMin - 0.5,\n end: dataMax + 0.5,\n size: Math.max(1, Math.round(size) || 1),\n _dataSpan: dataMax - dataMin,\n };\n }\n\n if(!calendar) calendar = ax.calendar;\n\n // piggyback off tick code to make \"nice\" bin sizes and edges\n var dummyAx;\n if(ax.type === 'log') {\n dummyAx = {\n type: 'linear',\n range: [dataMin, dataMax]\n };\n } else {\n dummyAx = {\n type: ax.type,\n range: Lib.simpleMap([dataMin, dataMax], ax.c2r, 0, calendar),\n calendar: calendar\n };\n }\n axes.setConvert(dummyAx);\n\n size = size && cleanTicks.dtick(size, dummyAx.type);\n\n if(size) {\n dummyAx.dtick = size;\n dummyAx.tick0 = cleanTicks.tick0(undefined, dummyAx.type, calendar);\n } else {\n var size0;\n if(nbins) size0 = ((dataMax - dataMin) / nbins);\n else {\n // totally auto: scale off std deviation so the highest bin is\n // somewhat taller than the total number of bins, but don't let\n // the size get smaller than the 'nice' rounded down minimum\n // difference between values\n var distinctData = Lib.distinctVals(data);\n var msexp = Math.pow(10, Math.floor(\n Math.log(distinctData.minDiff) / Math.LN10));\n var minSize = msexp * Lib.roundUp(\n distinctData.minDiff / msexp, [0.9, 1.9, 4.9, 9.9], true);\n size0 = Math.max(minSize, 2 * Lib.stdev(data) /\n Math.pow(data.length, is2d ? 0.25 : 0.4));\n\n // fallback if ax.d2c output BADNUMs\n // e.g. when user try to plot categorical bins\n // on a layout.xaxis.type: 'linear'\n if(!isNumeric(size0)) size0 = 1;\n }\n\n axes.autoTicks(dummyAx, size0);\n }\n\n var finalSize = dummyAx.dtick;\n var binStart = axes.tickIncrement(\n axes.tickFirst(dummyAx), finalSize, 'reverse', calendar);\n var binEnd, bincount;\n\n // check for too many data points right at the edges of bins\n // (>50% within 1% of bin edges) or all data points integral\n // and offset the bins accordingly\n if(typeof finalSize === 'number') {\n binStart = autoShiftNumericBins(binStart, data, dummyAx, dataMin, dataMax);\n\n bincount = 1 + Math.floor((dataMax - binStart) / finalSize);\n binEnd = binStart + bincount * finalSize;\n } else {\n // month ticks - should be the only nonlinear kind we have at this point.\n // dtick (as supplied by axes.autoTick) only has nonlinear values on\n // date and log axes, but even if you display a histogram on a log axis\n // we bin it on a linear axis (which one could argue against, but that's\n // a separate issue)\n if(dummyAx.dtick.charAt(0) === 'M') {\n binStart = autoShiftMonthBins(binStart, data, finalSize, dataMin, calendar);\n }\n\n // calculate the endpoint for nonlinear ticks - you have to\n // just increment until you're done\n binEnd = binStart;\n bincount = 0;\n while(binEnd <= dataMax) {\n binEnd = axes.tickIncrement(binEnd, finalSize, false, calendar);\n bincount++;\n }\n }\n\n return {\n start: ax.c2r(binStart, 0, calendar),\n end: ax.c2r(binEnd, 0, calendar),\n size: finalSize,\n _dataSpan: dataMax - dataMin\n };\n};\n\n\nfunction autoShiftNumericBins(binStart, data, ax, dataMin, dataMax) {\n var edgecount = 0;\n var midcount = 0;\n var intcount = 0;\n var blankCount = 0;\n\n function nearEdge(v) {\n // is a value within 1% of a bin edge?\n return (1 + (v - binStart) * 100 / ax.dtick) % 100 < 2;\n }\n\n for(var i = 0; i < data.length; i++) {\n if(data[i] % 1 === 0) intcount++;\n else if(!isNumeric(data[i])) blankCount++;\n\n if(nearEdge(data[i])) edgecount++;\n if(nearEdge(data[i] + ax.dtick / 2)) midcount++;\n }\n var dataCount = data.length - blankCount;\n\n if(intcount === dataCount && ax.type !== 'date') {\n if(ax.dtick < 1) {\n // all integers: if bin size is <1, it's because\n // that was specifically requested (large nbins)\n // so respect that... but center the bins containing\n // integers on those integers\n\n binStart = dataMin - 0.5 * ax.dtick;\n } else {\n // otherwise start half an integer down regardless of\n // the bin size, just enough to clear up endpoint\n // ambiguity about which integers are in which bins.\n\n binStart -= 0.5;\n if(binStart + ax.dtick < dataMin) binStart += ax.dtick;\n }\n } else if(midcount < dataCount * 0.1) {\n if(edgecount > dataCount * 0.3 ||\n nearEdge(dataMin) || nearEdge(dataMax)) {\n // lots of points at the edge, not many in the middle\n // shift half a bin\n var binshift = ax.dtick / 2;\n binStart += (binStart + binshift < dataMin) ? binshift : -binshift;\n }\n }\n return binStart;\n}\n\n\nfunction autoShiftMonthBins(binStart, data, dtick, dataMin, calendar) {\n var stats = Lib.findExactDates(data, calendar);\n // number of data points that needs to be an exact value\n // to shift that increment to (near) the bin center\n var threshold = 0.8;\n\n if(stats.exactDays > threshold) {\n var numMonths = Number(dtick.substr(1));\n\n if((stats.exactYears > threshold) && (numMonths % 12 === 0)) {\n // The exact middle of a non-leap-year is 1.5 days into July\n // so if we start the bins here, all but leap years will\n // get hover-labeled as exact years.\n binStart = axes.tickIncrement(binStart, 'M6', 'reverse') + ONEDAY * 1.5;\n } else if(stats.exactMonths > threshold) {\n // Months are not as clean, but if we shift half the *longest*\n // month (31/2 days) then 31-day months will get labeled exactly\n // and shorter months will get labeled with the correct month\n // but shifted 12-36 hours into it.\n binStart = axes.tickIncrement(binStart, 'M1', 'reverse') + ONEDAY * 15.5;\n } else {\n // Shifting half a day is exact, but since these are month bins it\n // will always give a somewhat odd-looking label, until we do something\n // smarter like showing the bin boundaries (or the bounds of the actual\n // data in each bin)\n binStart -= ONEDAY / 2;\n }\n var nextBinStart = axes.tickIncrement(binStart, dtick);\n\n if(nextBinStart <= dataMin) return nextBinStart;\n }\n return binStart;\n}\n\n// ----------------------------------------------------\n// Ticks and grids\n// ----------------------------------------------------\n\n// ensure we have tick0, dtick, and tick rounding calculated\naxes.prepTicks = function(ax) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n // calculate max number of (auto) ticks to display based on plot size\n if(ax.tickmode === 'auto' || !ax.dtick) {\n var nt = ax.nticks;\n var minPx;\n\n if(!nt) {\n if(ax.type === 'category' || ax.type === 'multicategory') {\n minPx = ax.tickfont ? (ax.tickfont.size || 12) * 1.2 : 15;\n nt = ax._length / minPx;\n } else {\n minPx = ax._id.charAt(0) === 'y' ? 40 : 80;\n nt = Lib.constrain(ax._length / minPx, 4, 9) + 1;\n }\n\n // radial axes span half their domain,\n // multiply nticks value by two to get correct number of auto ticks.\n if(ax._name === 'radialaxis') nt *= 2;\n }\n\n // add a couple of extra digits for filling in ticks when we\n // have explicit tickvals without tick text\n if(ax.tickmode === 'array') nt *= 100;\n\n axes.autoTicks(ax, Math.abs(rng[1] - rng[0]) / nt);\n // check for a forced minimum dtick\n if(ax._minDtick > 0 && ax.dtick < ax._minDtick * 2) {\n ax.dtick = ax._minDtick;\n ax.tick0 = ax.l2r(ax._forceTick0);\n }\n }\n\n // check for missing tick0\n if(!ax.tick0) {\n ax.tick0 = (ax.type === 'date') ? '2000-01-01' : 0;\n }\n\n // ensure we don't try to make ticks below our minimum precision\n // see https://github.com/plotly/plotly.js/issues/2892\n if(ax.type === 'date' && ax.dtick < 0.1) ax.dtick = 0.1;\n\n // now figure out rounding of tick values\n autoTickRound(ax);\n};\n\n// calculate the ticks: text, values, positioning\n// if ticks are set to automatic, determine the right values (tick0,dtick)\n// in any case, set tickround to # of digits to round tick labels to,\n// or codes to this effect for log and date scales\naxes.calcTicks = function calcTicks(ax) {\n axes.prepTicks(ax);\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n // now that we've figured out the auto values for formatting\n // in case we're missing some ticktext, we can break out for array ticks\n if(ax.tickmode === 'array') return arrayTicks(ax);\n\n // find the first tick\n ax._tmin = axes.tickFirst(ax);\n\n // add a tiny bit so we get ticks which may have rounded out\n var startTick = rng[0] * 1.0001 - rng[1] * 0.0001;\n var endTick = rng[1] * 1.0001 - rng[0] * 0.0001;\n // check for reversed axis\n var axrev = (rng[1] < rng[0]);\n\n // No visible ticks? Quit.\n // I've only seen this on category axes with all categories off the edge.\n if((ax._tmin < startTick) !== axrev) return [];\n\n // return the full set of tick vals\n var tickVals = [];\n if(ax.type === 'category' || ax.type === 'multicategory') {\n endTick = (axrev) ? Math.max(-0.5, endTick) :\n Math.min(ax._categories.length - 0.5, endTick);\n }\n\n var isDLog = (ax.type === 'log') && !(isNumeric(ax.dtick) || ax.dtick.charAt(0) === 'L');\n\n var xPrevious = null;\n var maxTicks = Math.max(1000, ax._length || 0);\n for(var x = ax._tmin;\n (axrev) ? (x >= endTick) : (x <= endTick);\n x = axes.tickIncrement(x, ax.dtick, axrev, ax.calendar)) {\n // prevent infinite loops - no more than one tick per pixel,\n // and make sure each value is different from the previous\n if(tickVals.length > maxTicks || x === xPrevious) break;\n xPrevious = x;\n\n var minor = false;\n if(isDLog && (x !== (x | 0))) {\n minor = true;\n }\n\n tickVals.push({\n minor: minor,\n value: x\n });\n }\n\n // If same angle over a full circle, the last tick vals is a duplicate.\n // TODO must do something similar for angular date axes.\n if(isAngular(ax) && Math.abs(rng[1] - rng[0]) === 360) {\n tickVals.pop();\n }\n\n // save the last tick as well as first, so we can\n // show the exponent only on the last one\n ax._tmax = (tickVals[tickVals.length - 1] || {}).value;\n\n // for showing the rest of a date when the main tick label is only the\n // latter part: ax._prevDateHead holds what we showed most recently.\n // Start with it cleared and mark that we're in calcTicks (ie calculating a\n // whole string of these so we should care what the previous date head was!)\n ax._prevDateHead = '';\n ax._inCalcTicks = true;\n\n var ticksOut = new Array(tickVals.length);\n for(var i = 0; i < tickVals.length; i++) {\n ticksOut[i] = axes.tickText(\n ax,\n tickVals[i].value,\n false, // hover\n tickVals[i].minor // noSuffixPrefix\n );\n }\n\n ax._inCalcTicks = false;\n\n return ticksOut;\n};\n\nfunction arrayTicks(ax) {\n var vals = ax.tickvals;\n var text = ax.ticktext;\n var ticksOut = new Array(vals.length);\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n var r0expanded = rng[0] * 1.0001 - rng[1] * 0.0001;\n var r1expanded = rng[1] * 1.0001 - rng[0] * 0.0001;\n var tickMin = Math.min(r0expanded, r1expanded);\n var tickMax = Math.max(r0expanded, r1expanded);\n var j = 0;\n\n // without a text array, just format the given values as any other ticks\n // except with more precision to the numbers\n if(!Array.isArray(text)) text = [];\n\n // make sure showing ticks doesn't accidentally add new categories\n // TODO multicategory, if we allow ticktext / tickvals\n var tickVal2l = ax.type === 'category' ? ax.d2l_noadd : ax.d2l;\n\n // array ticks on log axes always show the full number\n // (if no explicit ticktext overrides it)\n if(ax.type === 'log' && String(ax.dtick).charAt(0) !== 'L') {\n ax.dtick = 'L' + Math.pow(10, Math.floor(Math.min(ax.range[0], ax.range[1])) - 1);\n }\n\n for(var i = 0; i < vals.length; i++) {\n var vali = tickVal2l(vals[i]);\n if(vali > tickMin && vali < tickMax) {\n if(text[i] === undefined) ticksOut[j] = axes.tickText(ax, vali);\n else ticksOut[j] = tickTextObj(ax, vali, String(text[i]));\n j++;\n }\n }\n\n if(j < vals.length) ticksOut.splice(j, vals.length - j);\n\n return ticksOut;\n}\n\nvar roundBase10 = [2, 5, 10];\nvar roundBase24 = [1, 2, 3, 6, 12];\nvar roundBase60 = [1, 2, 5, 10, 15, 30];\n// 2&3 day ticks are weird, but need something btwn 1&7\nvar roundDays = [1, 2, 3, 7, 14];\n// approx. tick positions for log axes, showing all (1) and just 1, 2, 5 (2)\n// these don't have to be exact, just close enough to round to the right value\nvar roundLog1 = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1];\nvar roundLog2 = [-0.301, 0, 0.301, 0.699, 1];\n// N.B. `thetaunit; 'radians' angular axes must be converted to degrees\nvar roundAngles = [15, 30, 45, 90, 180];\n\nfunction roundDTick(roughDTick, base, roundingSet) {\n return base * Lib.roundUp(roughDTick / base, roundingSet);\n}\n\n// autoTicks: calculate best guess at pleasant ticks for this axis\n// inputs:\n// ax - an axis object\n// roughDTick - rough tick spacing (to be turned into a nice round number)\n// outputs (into ax):\n// tick0: starting point for ticks (not necessarily on the graph)\n// usually 0 for numeric (=10^0=1 for log) or jan 1, 2000 for dates\n// dtick: the actual, nice round tick spacing, usually a little larger than roughDTick\n// if the ticks are spaced linearly (linear scale, categories,\n// log with only full powers, date ticks < month),\n// this will just be a number\n// months: M#\n// years: M# where # is 12*number of years\n// log with linear ticks: L# where # is the linear tick spacing\n// log showing powers plus some intermediates:\n// D1 shows all digits, D2 shows 2 and 5\naxes.autoTicks = function(ax, roughDTick) {\n var base;\n\n function getBase(v) {\n return Math.pow(v, Math.floor(Math.log(roughDTick) / Math.LN10));\n }\n\n if(ax.type === 'date') {\n ax.tick0 = Lib.dateTick0(ax.calendar);\n // the criteria below are all based on the rough spacing we calculate\n // being > half of the final unit - so precalculate twice the rough val\n var roughX2 = 2 * roughDTick;\n\n if(roughX2 > ONEAVGYEAR) {\n roughDTick /= ONEAVGYEAR;\n base = getBase(10);\n ax.dtick = 'M' + (12 * roundDTick(roughDTick, base, roundBase10));\n } else if(roughX2 > ONEAVGMONTH) {\n roughDTick /= ONEAVGMONTH;\n ax.dtick = 'M' + roundDTick(roughDTick, 1, roundBase24);\n } else if(roughX2 > ONEDAY) {\n ax.dtick = roundDTick(roughDTick, ONEDAY, roundDays);\n // get week ticks on sunday\n // this will also move the base tick off 2000-01-01 if dtick is\n // 2 or 3 days... but that's a weird enough case that we'll ignore it.\n ax.tick0 = Lib.dateTick0(ax.calendar, true);\n } else if(roughX2 > ONEHOUR) {\n ax.dtick = roundDTick(roughDTick, ONEHOUR, roundBase24);\n } else if(roughX2 > ONEMIN) {\n ax.dtick = roundDTick(roughDTick, ONEMIN, roundBase60);\n } else if(roughX2 > ONESEC) {\n ax.dtick = roundDTick(roughDTick, ONESEC, roundBase60);\n } else {\n // milliseconds\n base = getBase(10);\n ax.dtick = roundDTick(roughDTick, base, roundBase10);\n }\n } else if(ax.type === 'log') {\n ax.tick0 = 0;\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n\n if(roughDTick > 0.7) {\n // only show powers of 10\n ax.dtick = Math.ceil(roughDTick);\n } else if(Math.abs(rng[1] - rng[0]) < 1) {\n // span is less than one power of 10\n var nt = 1.5 * Math.abs((rng[1] - rng[0]) / roughDTick);\n\n // ticks on a linear scale, labeled fully\n roughDTick = Math.abs(Math.pow(10, rng[1]) -\n Math.pow(10, rng[0])) / nt;\n base = getBase(10);\n ax.dtick = 'L' + roundDTick(roughDTick, base, roundBase10);\n } else {\n // include intermediates between powers of 10,\n // labeled with small digits\n // ax.dtick = \"D2\" (show 2 and 5) or \"D1\" (show all digits)\n ax.dtick = (roughDTick > 0.3) ? 'D2' : 'D1';\n }\n } else if(ax.type === 'category' || ax.type === 'multicategory') {\n ax.tick0 = 0;\n ax.dtick = Math.ceil(Math.max(roughDTick, 1));\n } else if(isAngular(ax)) {\n ax.tick0 = 0;\n base = 1;\n ax.dtick = roundDTick(roughDTick, base, roundAngles);\n } else {\n // auto ticks always start at 0\n ax.tick0 = 0;\n base = getBase(10);\n ax.dtick = roundDTick(roughDTick, base, roundBase10);\n }\n\n // prevent infinite loops\n if(ax.dtick === 0) ax.dtick = 1;\n\n // TODO: this is from log axis histograms with autorange off\n if(!isNumeric(ax.dtick) && typeof ax.dtick !== 'string') {\n var olddtick = ax.dtick;\n ax.dtick = 1;\n throw 'ax.dtick error: ' + String(olddtick);\n }\n};\n\n// after dtick is already known, find tickround = precision\n// to display in tick labels\n// for numeric ticks, integer # digits after . to round to\n// for date ticks, the last date part to show (y,m,d,H,M,S)\n// or an integer # digits past seconds\nfunction autoTickRound(ax) {\n var dtick = ax.dtick;\n\n ax._tickexponent = 0;\n if(!isNumeric(dtick) && typeof dtick !== 'string') {\n dtick = 1;\n }\n\n if(ax.type === 'category' || ax.type === 'multicategory') {\n ax._tickround = null;\n }\n if(ax.type === 'date') {\n // If tick0 is unusual, give tickround a bit more information\n // not necessarily *all* the information in tick0 though, if it's really odd\n // minimal string length for tick0: 'd' is 10, 'M' is 16, 'S' is 19\n // take off a leading minus (year < 0) and i (intercalary month) so length is consistent\n var tick0ms = ax.r2l(ax.tick0);\n var tick0str = ax.l2r(tick0ms).replace(/(^-|i)/g, '');\n var tick0len = tick0str.length;\n\n if(String(dtick).charAt(0) === 'M') {\n // any tick0 more specific than a year: alway show the full date\n if(tick0len > 10 || tick0str.substr(5) !== '01-01') ax._tickround = 'd';\n // show the month unless ticks are full multiples of a year\n else ax._tickround = (+(dtick.substr(1)) % 12 === 0) ? 'y' : 'm';\n } else if((dtick >= ONEDAY && tick0len <= 10) || (dtick >= ONEDAY * 15)) ax._tickround = 'd';\n else if((dtick >= ONEMIN && tick0len <= 16) || (dtick >= ONEHOUR)) ax._tickround = 'M';\n else if((dtick >= ONESEC && tick0len <= 19) || (dtick >= ONEMIN)) ax._tickround = 'S';\n else {\n // tickround is a number of digits of fractional seconds\n // of any two adjacent ticks, at least one will have the maximum fractional digits\n // of all possible ticks - so take the max. length of tick0 and the next one\n var tick1len = ax.l2r(tick0ms + dtick).replace(/^-/, '').length;\n ax._tickround = Math.max(tick0len, tick1len) - 20;\n\n // We shouldn't get here... but in case there's a situation I'm\n // not thinking of where tick0str and tick1str are identical or\n // something, fall back on maximum precision\n if(ax._tickround < 0) ax._tickround = 4;\n }\n } else if(isNumeric(dtick) || dtick.charAt(0) === 'L') {\n // linear or log (except D1, D2)\n var rng = ax.range.map(ax.r2d || Number);\n if(!isNumeric(dtick)) dtick = Number(dtick.substr(1));\n // 2 digits past largest digit of dtick\n ax._tickround = 2 - Math.floor(Math.log(dtick) / Math.LN10 + 0.01);\n\n var maxend = Math.max(Math.abs(rng[0]), Math.abs(rng[1]));\n var rangeexp = Math.floor(Math.log(maxend) / Math.LN10 + 0.01);\n if(Math.abs(rangeexp) > 3) {\n if(isSIFormat(ax.exponentformat) && !beyondSI(rangeexp)) {\n ax._tickexponent = 3 * Math.round((rangeexp - 1) / 3);\n } else ax._tickexponent = rangeexp;\n }\n } else {\n // D1 or D2 (log)\n ax._tickround = null;\n }\n}\n\n// months and years don't have constant millisecond values\n// (but a year is always 12 months so we only need months)\n// log-scale ticks are also not consistently spaced, except\n// for pure powers of 10\n// numeric ticks always have constant differences, other datetime ticks\n// can all be calculated as constant number of milliseconds\naxes.tickIncrement = function(x, dtick, axrev, calendar) {\n var axSign = axrev ? -1 : 1;\n\n // includes linear, all dates smaller than month, and pure 10^n in log\n if(isNumeric(dtick)) return x + axSign * dtick;\n\n // everything else is a string, one character plus a number\n var tType = dtick.charAt(0);\n var dtSigned = axSign * Number(dtick.substr(1));\n\n // Dates: months (or years - see Lib.incrementMonth)\n if(tType === 'M') return Lib.incrementMonth(x, dtSigned, calendar);\n\n // Log scales: Linear, Digits\n else if(tType === 'L') return Math.log(Math.pow(10, x) + dtSigned) / Math.LN10;\n\n // log10 of 2,5,10, or all digits (logs just have to be\n // close enough to round)\n else if(tType === 'D') {\n var tickset = (dtick === 'D2') ? roundLog2 : roundLog1;\n var x2 = x + axSign * 0.01;\n var frac = Lib.roundUp(Lib.mod(x2, 1), tickset, axrev);\n\n return Math.floor(x2) +\n Math.log(d3.round(Math.pow(10, frac), 1)) / Math.LN10;\n } else throw 'unrecognized dtick ' + String(dtick);\n};\n\n// calculate the first tick on an axis\naxes.tickFirst = function(ax) {\n var r2l = ax.r2l || Number;\n var rng = Lib.simpleMap(ax.range, r2l);\n var axrev = rng[1] < rng[0];\n var sRound = axrev ? Math.floor : Math.ceil;\n // add a tiny extra bit to make sure we get ticks\n // that may have been rounded out\n var r0 = rng[0] * 1.0001 - rng[1] * 0.0001;\n var dtick = ax.dtick;\n var tick0 = r2l(ax.tick0);\n\n if(isNumeric(dtick)) {\n var tmin = sRound((r0 - tick0) / dtick) * dtick + tick0;\n\n // make sure no ticks outside the category list\n if(ax.type === 'category' || ax.type === 'multicategory') {\n tmin = Lib.constrain(tmin, 0, ax._categories.length - 1);\n }\n return tmin;\n }\n\n var tType = dtick.charAt(0);\n var dtNum = Number(dtick.substr(1));\n\n // Dates: months (or years)\n if(tType === 'M') {\n var cnt = 0;\n var t0 = tick0;\n var t1, mult, newDTick;\n\n // This algorithm should work for *any* nonlinear (but close to linear!)\n // tick spacing. Limit to 10 iterations, for gregorian months it's normally <=3.\n while(cnt < 10) {\n t1 = axes.tickIncrement(t0, dtick, axrev, ax.calendar);\n if((t1 - r0) * (t0 - r0) <= 0) {\n // t1 and t0 are on opposite sides of r0! we've succeeded!\n if(axrev) return Math.min(t0, t1);\n return Math.max(t0, t1);\n }\n mult = (r0 - ((t0 + t1) / 2)) / (t1 - t0);\n newDTick = tType + ((Math.abs(Math.round(mult)) || 1) * dtNum);\n t0 = axes.tickIncrement(t0, newDTick, mult < 0 ? !axrev : axrev, ax.calendar);\n cnt++;\n }\n Lib.error('tickFirst did not converge', ax);\n return t0;\n } else if(tType === 'L') {\n // Log scales: Linear, Digits\n\n return Math.log(sRound(\n (Math.pow(10, r0) - tick0) / dtNum) * dtNum + tick0) / Math.LN10;\n } else if(tType === 'D') {\n var tickset = (dtick === 'D2') ? roundLog2 : roundLog1;\n var frac = Lib.roundUp(Lib.mod(r0, 1), tickset, axrev);\n\n return Math.floor(r0) +\n Math.log(d3.round(Math.pow(10, frac), 1)) / Math.LN10;\n } else throw 'unrecognized dtick ' + String(dtick);\n};\n\n// draw the text for one tick.\n// px,py are the location on gd.paper\n// prefix is there so the x axis ticks can be dropped a line\n// ax is the axis layout, x is the tick value\n// hover is a (truthy) flag for whether to show numbers with a bit\n// more precision for hovertext\naxes.tickText = function(ax, x, hover, noSuffixPrefix) {\n var out = tickTextObj(ax, x);\n var arrayMode = ax.tickmode === 'array';\n var extraPrecision = hover || arrayMode;\n var axType = ax.type;\n // TODO multicategory, if we allow ticktext / tickvals\n var tickVal2l = axType === 'category' ? ax.d2l_noadd : ax.d2l;\n var i;\n\n if(arrayMode && Array.isArray(ax.ticktext)) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n var minDiff = Math.abs(rng[1] - rng[0]) / 10000;\n\n for(i = 0; i < ax.ticktext.length; i++) {\n if(Math.abs(x - tickVal2l(ax.tickvals[i])) < minDiff) break;\n }\n if(i < ax.ticktext.length) {\n out.text = String(ax.ticktext[i]);\n return out;\n }\n }\n\n function isHidden(showAttr) {\n if(showAttr === undefined) return true;\n if(hover) return showAttr === 'none';\n\n var firstOrLast = {\n first: ax._tmin,\n last: ax._tmax\n }[showAttr];\n\n return showAttr !== 'all' && x !== firstOrLast;\n }\n\n var hideexp = hover ?\n 'never' :\n ax.exponentformat !== 'none' && isHidden(ax.showexponent) ? 'hide' : '';\n\n if(axType === 'date') formatDate(ax, out, hover, extraPrecision);\n else if(axType === 'log') formatLog(ax, out, hover, extraPrecision, hideexp);\n else if(axType === 'category') formatCategory(ax, out);\n else if(axType === 'multicategory') formatMultiCategory(ax, out, hover);\n else if(isAngular(ax)) formatAngle(ax, out, hover, extraPrecision, hideexp);\n else formatLinear(ax, out, hover, extraPrecision, hideexp);\n\n // add prefix and suffix\n if(!noSuffixPrefix) {\n if(ax.tickprefix && !isHidden(ax.showtickprefix)) out.text = ax.tickprefix + out.text;\n if(ax.ticksuffix && !isHidden(ax.showticksuffix)) out.text += ax.ticksuffix;\n }\n\n // Setup ticks and grid lines boundaries\n // at 1/2 a 'category' to the left/bottom\n if(ax.tickson === 'boundaries' || ax.showdividers) {\n var inbounds = function(v) {\n var p = ax.l2p(v);\n return p >= 0 && p <= ax._length ? v : null;\n };\n\n out.xbnd = [\n inbounds(out.x - 0.5),\n inbounds(out.x + ax.dtick - 0.5)\n ];\n }\n\n return out;\n};\n\n/**\n * create text for a hover label on this axis, with special handling of\n * log axes (where negative values can't be displayed but can appear in hover text)\n *\n * @param {object} ax: the axis to format text for\n * @param {number} val: calcdata value to format\n * @param {Optional(number)} val2: a second value to display\n *\n * @returns {string} `val` formatted as a string appropriate to this axis, or\n * `val` and `val2` as a range (ie ' - ') if `val2` is provided and\n * it's different from `val`.\n */\naxes.hoverLabelText = function(ax, val, val2) {\n if(val2 !== BADNUM && val2 !== val) {\n return axes.hoverLabelText(ax, val) + ' - ' + axes.hoverLabelText(ax, val2);\n }\n\n var logOffScale = (ax.type === 'log' && val <= 0);\n var tx = axes.tickText(ax, ax.c2l(logOffScale ? -val : val), 'hover').text;\n\n if(logOffScale) {\n return val === 0 ? '0' : MINUS_SIGN + tx;\n }\n\n // TODO: should we do something special if the axis calendar and\n // the data calendar are different? Somehow display both dates with\n // their system names? Right now it will just display in the axis calendar\n // but users could add the other one as text.\n return tx;\n};\n\nfunction tickTextObj(ax, x, text) {\n var tf = ax.tickfont || {};\n\n return {\n x: x,\n dx: 0,\n dy: 0,\n text: text || '',\n fontSize: tf.size,\n font: tf.family,\n fontColor: tf.color\n };\n}\n\nfunction formatDate(ax, out, hover, extraPrecision) {\n var tr = ax._tickround;\n var fmt = (hover && ax.hoverformat) || axes.getTickFormat(ax);\n\n if(extraPrecision) {\n // second or sub-second precision: extra always shows max digits.\n // for other fields, extra precision just adds one field.\n if(isNumeric(tr)) tr = 4;\n else tr = {y: 'm', m: 'd', d: 'M', M: 'S', S: 4}[tr];\n }\n\n var dateStr = Lib.formatDate(out.x, fmt, tr, ax._dateFormat, ax.calendar, ax._extraFormat);\n var headStr;\n\n var splitIndex = dateStr.indexOf('\\n');\n if(splitIndex !== -1) {\n headStr = dateStr.substr(splitIndex + 1);\n dateStr = dateStr.substr(0, splitIndex);\n }\n\n if(extraPrecision) {\n // if extraPrecision led to trailing zeros, strip them off\n // actually, this can lead to removing even more zeros than\n // in the original rounding, but that's fine because in these\n // contexts uniformity is not so important (if there's even\n // anything to be uniform with!)\n\n // can we remove the whole time part?\n if(dateStr === '00:00:00' || dateStr === '00:00') {\n dateStr = headStr;\n headStr = '';\n } else if(dateStr.length === 8) {\n // strip off seconds if they're zero (zero fractional seconds\n // are already omitted)\n // but we never remove minutes and leave just hours\n dateStr = dateStr.replace(/:00$/, '');\n }\n }\n\n if(headStr) {\n if(hover) {\n // hover puts it all on one line, so headPart works best up front\n // except for year headPart: turn this into \"Jan 1, 2000\" etc.\n if(tr === 'd') dateStr += ', ' + headStr;\n else dateStr = headStr + (dateStr ? ', ' + dateStr : '');\n } else if(!ax._inCalcTicks || (headStr !== ax._prevDateHead)) {\n dateStr += '
' + headStr;\n ax._prevDateHead = headStr;\n }\n }\n\n out.text = dateStr;\n}\n\nfunction formatLog(ax, out, hover, extraPrecision, hideexp) {\n var dtick = ax.dtick;\n var x = out.x;\n var tickformat = ax.tickformat;\n var dtChar0 = typeof dtick === 'string' && dtick.charAt(0);\n\n if(hideexp === 'never') {\n // If this is a hover label, then we must *never* hide the exponent\n // for the sake of display, which could give the wrong value by\n // potentially many orders of magnitude. If hideexp was 'never', then\n // it's now succeeded by preventing the other condition from automating\n // this choice. Thus we can unset it so that the axis formatting takes\n // precedence.\n hideexp = '';\n }\n\n if(extraPrecision && (dtChar0 !== 'L')) {\n dtick = 'L3';\n dtChar0 = 'L';\n }\n\n if(tickformat || (dtChar0 === 'L')) {\n out.text = numFormat(Math.pow(10, x), ax, hideexp, extraPrecision);\n } else if(isNumeric(dtick) || ((dtChar0 === 'D') && (Lib.mod(x + 0.01, 1) < 0.1))) {\n var p = Math.round(x);\n var absP = Math.abs(p);\n var exponentFormat = ax.exponentformat;\n if(exponentFormat === 'power' || (isSIFormat(exponentFormat) && beyondSI(p))) {\n if(p === 0) out.text = 1;\n else if(p === 1) out.text = '10';\n else out.text = '10' + (p > 1 ? '' : MINUS_SIGN) + absP + '';\n\n out.fontSize *= 1.25;\n } else if((exponentFormat === 'e' || exponentFormat === 'E') && absP > 2) {\n out.text = '1' + exponentFormat + (p > 0 ? '+' : MINUS_SIGN) + absP;\n } else {\n out.text = numFormat(Math.pow(10, x), ax, '', 'fakehover');\n if(dtick === 'D1' && ax._id.charAt(0) === 'y') {\n out.dy -= out.fontSize / 6;\n }\n }\n } else if(dtChar0 === 'D') {\n out.text = String(Math.round(Math.pow(10, Lib.mod(x, 1))));\n out.fontSize *= 0.75;\n } else throw 'unrecognized dtick ' + String(dtick);\n\n // if 9's are printed on log scale, move the 10's away a bit\n if(ax.dtick === 'D1') {\n var firstChar = String(out.text).charAt(0);\n if(firstChar === '0' || firstChar === '1') {\n if(ax._id.charAt(0) === 'y') {\n out.dx -= out.fontSize / 4;\n } else {\n out.dy += out.fontSize / 2;\n out.dx += (ax.range[1] > ax.range[0] ? 1 : -1) *\n out.fontSize * (x < 0 ? 0.5 : 0.25);\n }\n }\n }\n}\n\nfunction formatCategory(ax, out) {\n var tt = ax._categories[Math.round(out.x)];\n if(tt === undefined) tt = '';\n out.text = String(tt);\n}\n\nfunction formatMultiCategory(ax, out, hover) {\n var v = Math.round(out.x);\n var cats = ax._categories[v] || [];\n var tt = cats[1] === undefined ? '' : String(cats[1]);\n var tt2 = cats[0] === undefined ? '' : String(cats[0]);\n\n if(hover) {\n // TODO is this what we want?\n out.text = tt2 + ' - ' + tt;\n } else {\n // setup for secondary labels\n out.text = tt;\n out.text2 = tt2;\n }\n}\n\nfunction formatLinear(ax, out, hover, extraPrecision, hideexp) {\n if(hideexp === 'never') {\n // If this is a hover label, then we must *never* hide the exponent\n // for the sake of display, which could give the wrong value by\n // potentially many orders of magnitude. If hideexp was 'never', then\n // it's now succeeded by preventing the other condition from automating\n // this choice. Thus we can unset it so that the axis formatting takes\n // precedence.\n hideexp = '';\n } else if(ax.showexponent === 'all' && Math.abs(out.x / ax.dtick) < 1e-6) {\n // don't add an exponent to zero if we're showing all exponents\n // so the only reason you'd show an exponent on zero is if it's the\n // ONLY tick to get an exponent (first or last)\n hideexp = 'hide';\n }\n out.text = numFormat(out.x, ax, hideexp, extraPrecision);\n}\n\nfunction formatAngle(ax, out, hover, extraPrecision, hideexp) {\n if(ax.thetaunit === 'radians' && !hover) {\n var num = out.x / 180;\n\n if(num === 0) {\n out.text = '0';\n } else {\n var frac = num2frac(num);\n\n if(frac[1] >= 100) {\n out.text = numFormat(Lib.deg2rad(out.x), ax, hideexp, extraPrecision);\n } else {\n var isNeg = out.x < 0;\n\n if(frac[1] === 1) {\n if(frac[0] === 1) out.text = 'π';\n else out.text = frac[0] + 'π';\n } else {\n out.text = [\n '', frac[0], '',\n '⁄',\n '', frac[1], '',\n 'π'\n ].join('');\n }\n\n if(isNeg) out.text = MINUS_SIGN + out.text;\n }\n }\n } else {\n out.text = numFormat(out.x, ax, hideexp, extraPrecision);\n }\n}\n\n// inspired by\n// https://github.com/yisibl/num2fraction/blob/master/index.js\nfunction num2frac(num) {\n function almostEq(a, b) {\n return Math.abs(a - b) <= 1e-6;\n }\n\n function findGCD(a, b) {\n return almostEq(b, 0) ? a : findGCD(b, a % b);\n }\n\n function findPrecision(n) {\n var e = 1;\n while(!almostEq(Math.round(n * e) / e, n)) {\n e *= 10;\n }\n return e;\n }\n\n var precision = findPrecision(num);\n var number = num * precision;\n var gcd = Math.abs(findGCD(number, precision));\n\n return [\n // numerator\n Math.round(number / gcd),\n // denominator\n Math.round(precision / gcd)\n ];\n}\n\n// format a number (tick value) according to the axis settings\n// new, more reliable procedure than d3.round or similar:\n// add half the rounding increment, then stringify and truncate\n// also automatically switch to sci. notation\nvar SIPREFIXES = ['f', 'p', 'n', 'μ', 'm', '', 'k', 'M', 'G', 'T'];\n\nfunction isSIFormat(exponentFormat) {\n return exponentFormat === 'SI' || exponentFormat === 'B';\n}\n\n// are we beyond the range of common SI prefixes?\n// 10^-16 -> 1x10^-16\n// 10^-15 -> 1f\n// ...\n// 10^14 -> 100T\n// 10^15 -> 1x10^15\n// 10^16 -> 1x10^16\nfunction beyondSI(exponent) {\n return exponent > 14 || exponent < -15;\n}\n\nfunction numFormat(v, ax, fmtoverride, hover) {\n var isNeg = v < 0;\n // max number of digits past decimal point to show\n var tickRound = ax._tickround;\n var exponentFormat = fmtoverride || ax.exponentformat || 'B';\n var exponent = ax._tickexponent;\n var tickformat = axes.getTickFormat(ax);\n var separatethousands = ax.separatethousands;\n\n // special case for hover: set exponent just for this value, and\n // add a couple more digits of precision over tick labels\n if(hover) {\n // make a dummy axis obj to get the auto rounding and exponent\n var ah = {\n exponentformat: exponentFormat,\n dtick: ax.showexponent === 'none' ? ax.dtick :\n (isNumeric(v) ? Math.abs(v) || 1 : 1),\n // if not showing any exponents, don't change the exponent\n // from what we calculate\n range: ax.showexponent === 'none' ? ax.range.map(ax.r2d) : [0, v || 1]\n };\n autoTickRound(ah);\n tickRound = (Number(ah._tickround) || 0) + 4;\n exponent = ah._tickexponent;\n if(ax.hoverformat) tickformat = ax.hoverformat;\n }\n\n if(tickformat) return ax._numFormat(tickformat)(v).replace(/-/g, MINUS_SIGN);\n\n // 'epsilon' - rounding increment\n var e = Math.pow(10, -tickRound) / 2;\n\n // exponentFormat codes:\n // 'e' (1.2e+6, default)\n // 'E' (1.2E+6)\n // 'SI' (1.2M)\n // 'B' (same as SI except 10^9=B not G)\n // 'none' (1200000)\n // 'power' (1.2x10^6)\n // 'hide' (1.2, use 3rd argument=='hide' to eg\n // only show exponent on last tick)\n if(exponentFormat === 'none') exponent = 0;\n\n // take the sign out, put it back manually at the end\n // - makes cases easier\n v = Math.abs(v);\n if(v < e) {\n // 0 is just 0, but may get exponent if it's the last tick\n v = '0';\n isNeg = false;\n } else {\n v += e;\n // take out a common exponent, if any\n if(exponent) {\n v *= Math.pow(10, -exponent);\n tickRound += exponent;\n }\n // round the mantissa\n if(tickRound === 0) v = String(Math.floor(v));\n else if(tickRound < 0) {\n v = String(Math.round(v));\n v = v.substr(0, v.length + tickRound);\n for(var i = tickRound; i < 0; i++) v += '0';\n } else {\n v = String(v);\n var dp = v.indexOf('.') + 1;\n if(dp) v = v.substr(0, dp + tickRound).replace(/\\.?0+$/, '');\n }\n // insert appropriate decimal point and thousands separator\n v = Lib.numSeparate(v, ax._separators, separatethousands);\n }\n\n // add exponent\n if(exponent && exponentFormat !== 'hide') {\n if(isSIFormat(exponentFormat) && beyondSI(exponent)) exponentFormat = 'power';\n\n var signedExponent;\n if(exponent < 0) signedExponent = MINUS_SIGN + -exponent;\n else if(exponentFormat !== 'power') signedExponent = '+' + exponent;\n else signedExponent = String(exponent);\n\n if(exponentFormat === 'e' || exponentFormat === 'E') {\n v += exponentFormat + signedExponent;\n } else if(exponentFormat === 'power') {\n v += '×10' + signedExponent + '';\n } else if(exponentFormat === 'B' && exponent === 9) {\n v += 'B';\n } else if(isSIFormat(exponentFormat)) {\n v += SIPREFIXES[exponent / 3 + 5];\n }\n }\n\n // put sign back in and return\n // replace standard minus character (which is technically a hyphen)\n // with a true minus sign\n if(isNeg) return MINUS_SIGN + v;\n return v;\n}\n\naxes.getTickFormat = function(ax) {\n var i;\n\n function convertToMs(dtick) {\n return typeof dtick !== 'string' ? dtick : Number(dtick.replace('M', '')) * ONEAVGMONTH;\n }\n\n function compareLogTicks(left, right) {\n var priority = ['L', 'D'];\n if(typeof left === typeof right) {\n if(typeof left === 'number') {\n return left - right;\n } else {\n var leftPriority = priority.indexOf(left.charAt(0));\n var rightPriority = priority.indexOf(right.charAt(0));\n if(leftPriority === rightPriority) {\n return Number(left.replace(/(L|D)/g, '')) - Number(right.replace(/(L|D)/g, ''));\n } else {\n return leftPriority - rightPriority;\n }\n }\n } else {\n return typeof left === 'number' ? 1 : -1;\n }\n }\n\n function isProperStop(dtick, range, convert) {\n var convertFn = convert || function(x) { return x;};\n var leftDtick = range[0];\n var rightDtick = range[1];\n return ((!leftDtick && typeof leftDtick !== 'number') || convertFn(leftDtick) <= convertFn(dtick)) &&\n ((!rightDtick && typeof rightDtick !== 'number') || convertFn(rightDtick) >= convertFn(dtick));\n }\n\n function isProperLogStop(dtick, range) {\n var isLeftDtickNull = range[0] === null;\n var isRightDtickNull = range[1] === null;\n var isDtickInRangeLeft = compareLogTicks(dtick, range[0]) >= 0;\n var isDtickInRangeRight = compareLogTicks(dtick, range[1]) <= 0;\n return (isLeftDtickNull || isDtickInRangeLeft) && (isRightDtickNull || isDtickInRangeRight);\n }\n\n var tickstop, stopi;\n if(ax.tickformatstops && ax.tickformatstops.length > 0) {\n switch(ax.type) {\n case 'date':\n case 'linear': {\n for(i = 0; i < ax.tickformatstops.length; i++) {\n stopi = ax.tickformatstops[i];\n if(stopi.enabled && isProperStop(ax.dtick, stopi.dtickrange, convertToMs)) {\n tickstop = stopi;\n break;\n }\n }\n break;\n }\n case 'log': {\n for(i = 0; i < ax.tickformatstops.length; i++) {\n stopi = ax.tickformatstops[i];\n if(stopi.enabled && isProperLogStop(ax.dtick, stopi.dtickrange)) {\n tickstop = stopi;\n break;\n }\n }\n break;\n }\n default:\n }\n }\n return tickstop ? tickstop.value : ax.tickformat;\n};\n\n// getSubplots - extract all subplot IDs we need\n// as an array of items like 'xy', 'x2y', 'x2y2'...\n// sorted by x (x,x2,x3...) then y\n// optionally restrict to only subplots containing axis object ax\n//\n// NOTE: this is currently only used OUTSIDE plotly.js (toolpanel, webapp)\n// ideally we get rid of it there (or just copy this there) and remove it here\naxes.getSubplots = function(gd, ax) {\n var subplotObj = gd._fullLayout._subplots;\n var allSubplots = subplotObj.cartesian.concat(subplotObj.gl2d || []);\n\n var out = ax ? axes.findSubplotsWithAxis(allSubplots, ax) : allSubplots;\n\n out.sort(function(a, b) {\n var aParts = a.substr(1).split('y');\n var bParts = b.substr(1).split('y');\n\n if(aParts[0] === bParts[0]) return +aParts[1] - +bParts[1];\n return +aParts[0] - +bParts[0];\n });\n\n return out;\n};\n\n// find all subplots with axis 'ax'\n// NOTE: this is only used in axes.getSubplots (only used outside plotly.js) and\n// gl2d/convert (where it restricts axis subplots to only those with gl2d)\naxes.findSubplotsWithAxis = function(subplots, ax) {\n var axMatch = new RegExp(\n (ax._id.charAt(0) === 'x') ? ('^' + ax._id + 'y') : (ax._id + '$')\n );\n var subplotsWithAx = [];\n\n for(var i = 0; i < subplots.length; i++) {\n var sp = subplots[i];\n if(axMatch.test(sp)) subplotsWithAx.push(sp);\n }\n\n return subplotsWithAx;\n};\n\n// makeClipPaths: prepare clipPaths for all single axes and all possible xy pairings\naxes.makeClipPaths = function(gd) {\n var fullLayout = gd._fullLayout;\n\n // for more info: https://github.com/plotly/plotly.js/issues/2595\n if(fullLayout._hasOnlyLargeSploms) return;\n\n var fullWidth = {_offset: 0, _length: fullLayout.width, _id: ''};\n var fullHeight = {_offset: 0, _length: fullLayout.height, _id: ''};\n var xaList = axes.list(gd, 'x', true);\n var yaList = axes.list(gd, 'y', true);\n var clipList = [];\n var i, j;\n\n for(i = 0; i < xaList.length; i++) {\n clipList.push({x: xaList[i], y: fullHeight});\n for(j = 0; j < yaList.length; j++) {\n if(i === 0) clipList.push({x: fullWidth, y: yaList[j]});\n clipList.push({x: xaList[i], y: yaList[j]});\n }\n }\n\n // selectors don't work right with camelCase tags,\n // have to use class instead\n // https://groups.google.com/forum/#!topic/d3-js/6EpAzQ2gU9I\n var axClips = fullLayout._clips.selectAll('.axesclip')\n .data(clipList, function(d) { return d.x._id + d.y._id; });\n\n axClips.enter().append('clipPath')\n .classed('axesclip', true)\n .attr('id', function(d) { return 'clip' + fullLayout._uid + d.x._id + d.y._id; })\n .append('rect');\n\n axClips.exit().remove();\n\n axClips.each(function(d) {\n d3.select(this).select('rect').attr({\n x: d.x._offset || 0,\n y: d.y._offset || 0,\n width: d.x._length || 1,\n height: d.y._length || 1\n });\n });\n};\n\n/**\n * Main multi-axis drawing routine!\n *\n * @param {DOM element} gd : graph div\n * @param {string or array of strings} arg : polymorphic argument\n * @param {object} opts:\n * - @param {boolean} skipTitle : optional flag to skip axis title draw/update\n *\n * Signature 1: Axes.draw(gd, 'redraw')\n * use this to clear and redraw all axes on graph\n *\n * Signature 2: Axes.draw(gd, '')\n * use this to draw all axes on graph w/o the selectAll().remove()\n * of the 'redraw' signature\n *\n * Signature 3: Axes.draw(gd, [axId, axId2, ...])\n * where the items are axis id string,\n * use this to update multiple axes in one call\n *\n * N.B draw updates:\n * - ax._r (stored range for use by zoom/pan)\n * - ax._rl (stored linearized range for use by zoom/pan)\n */\naxes.draw = function(gd, arg, opts) {\n var fullLayout = gd._fullLayout;\n\n if(arg === 'redraw') {\n fullLayout._paper.selectAll('g.subplot').each(function(d) {\n var id = d[0];\n var plotinfo = fullLayout._plots[id];\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick').remove();\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'tick2').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'tick2').remove();\n plotinfo.xaxislayer.selectAll('.' + xa._id + 'divider').remove();\n plotinfo.yaxislayer.selectAll('.' + ya._id + 'divider').remove();\n\n if(plotinfo.gridlayer) plotinfo.gridlayer.selectAll('path').remove();\n if(plotinfo.zerolinelayer) plotinfo.zerolinelayer.selectAll('path').remove();\n\n fullLayout._infolayer.select('.g-' + xa._id + 'title').remove();\n fullLayout._infolayer.select('.g-' + ya._id + 'title').remove();\n });\n }\n\n var axList = (!arg || arg === 'redraw') ? axes.listIds(gd) : arg;\n\n return Lib.syncOrAsync(axList.map(function(axId) {\n return function() {\n if(!axId) return;\n\n var ax = axes.getFromId(gd, axId);\n var axDone = axes.drawOne(gd, ax, opts);\n\n ax._r = ax.range.slice();\n ax._rl = Lib.simpleMap(ax._r, ax.r2l);\n\n return axDone;\n };\n }));\n};\n\n/**\n * Draw one cartesian axis\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * @param {object} opts\n * - @param {boolean} skipTitle (set to true to skip axis title draw call)\n *\n * Depends on:\n * - ax._mainSubplot (from linkSubplots)\n * - ax._mainAxis\n * - ax._anchorAxis\n * - ax._subplotsWith\n * - ax._counterDomainMin, ax._counterDomainMax (optionally, from linkSubplots)\n * - ax._tickAngles (on redraw only, old value relinked during supplyDefaults)\n * - ax._mainLinePosition (from lsInner)\n * - ax._mainMirrorPosition\n * - ax._linepositions\n *\n * Fills in:\n * - ax._vals:\n * - ax._gridVals:\n * - ax._selections:\n * - ax._tickAngles:\n * - ax._depth (when required only):\n * - and calls ax.setScale\n */\naxes.drawOne = function(gd, ax, opts) {\n opts = opts || {};\n\n var i, sp, plotinfo;\n\n ax.setScale();\n\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var counterLetter = axes.counterLetter(axId);\n var mainLinePosition = ax._mainLinePosition;\n var mainMirrorPosition = ax._mainMirrorPosition;\n var mainPlotinfo = fullLayout._plots[ax._mainSubplot];\n var mainAxLayer = mainPlotinfo[axLetter + 'axislayer'];\n\n var vals = ax._vals = axes.calcTicks(ax);\n\n // Add a couple of axis properties that should cause us to recreate\n // elements. Used in d3 data function.\n var axInfo = [ax.mirror, mainLinePosition, mainMirrorPosition].join('_');\n for(i = 0; i < vals.length; i++) {\n vals[i].axInfo = axInfo;\n }\n\n // stash selections to avoid DOM queries e.g.\n // - stash tickLabels selection, so that drawTitle can use it to scoot title\n ax._selections = {};\n // stash tick angle (including the computed 'auto' values) per tick-label class\n // linkup 'previous' tick angles on redraws\n if(ax._tickAngles) ax._prevTickAngles = ax._tickAngles;\n ax._tickAngles = {};\n // measure [in px] between axis position and outward-most part of bounding box\n // (touching either the tick label or ticks)\n // depth can be expansive to compute, so we only do so when required\n ax._depth = null;\n\n // calcLabelLevelBbox can be expensive,\n // so make sure to not call it twice during the same Axes.drawOne call\n // by stashing label-level bounding boxes per tick-label class\n var llbboxes = {};\n function getLabelLevelBbox(suffix) {\n var cls = axId + (suffix || 'tick');\n if(!llbboxes[cls]) llbboxes[cls] = calcLabelLevelBbox(ax, cls);\n return llbboxes[cls];\n }\n\n if(!ax.visible) return;\n\n var transFn = axes.makeTransFn(ax);\n var tickVals;\n // We remove zero lines, grid lines, and inside ticks if they're within 1px of the end\n // The key case here is removing zero lines when the axis bound is zero\n var valsClipped;\n\n if(ax.tickson === 'boundaries') {\n var boundaryVals = getBoundaryVals(ax, vals);\n valsClipped = axes.clipEnds(ax, boundaryVals);\n tickVals = ax.ticks === 'inside' ? valsClipped : boundaryVals;\n } else {\n valsClipped = axes.clipEnds(ax, vals);\n tickVals = ax.ticks === 'inside' ? valsClipped : vals;\n }\n\n var gridVals = ax._gridVals = valsClipped;\n var dividerVals = getDividerVals(ax, vals);\n\n if(!fullLayout._hasOnlyLargeSploms) {\n var subplotsWithAx = ax._subplotsWith;\n\n // keep track of which subplots (by main counter axis) we've already\n // drawn grids for, so we don't overdraw overlaying subplots\n var finishedGrids = {};\n\n for(i = 0; i < subplotsWithAx.length; i++) {\n sp = subplotsWithAx[i];\n plotinfo = fullLayout._plots[sp];\n\n var counterAxis = plotinfo[counterLetter + 'axis'];\n var mainCounterID = counterAxis._mainAxis._id;\n if(finishedGrids[mainCounterID]) continue;\n finishedGrids[mainCounterID] = 1;\n\n var gridPath = axLetter === 'x' ?\n 'M0,' + counterAxis._offset + 'v' + counterAxis._length :\n 'M' + counterAxis._offset + ',0h' + counterAxis._length;\n\n axes.drawGrid(gd, ax, {\n vals: gridVals,\n counterAxis: counterAxis,\n layer: plotinfo.gridlayer.select('.' + axId),\n path: gridPath,\n transFn: transFn\n });\n axes.drawZeroLine(gd, ax, {\n counterAxis: counterAxis,\n layer: plotinfo.zerolinelayer,\n path: gridPath,\n transFn: transFn\n });\n }\n }\n\n var tickSigns = axes.getTickSigns(ax);\n var tickSubplots = [];\n\n if(ax.ticks) {\n var mainTickPath = axes.makeTickPath(ax, mainLinePosition, tickSigns[2]);\n var mirrorTickPath;\n var fullTickPath;\n if(ax._anchorAxis && ax.mirror && ax.mirror !== true) {\n mirrorTickPath = axes.makeTickPath(ax, mainMirrorPosition, tickSigns[3]);\n fullTickPath = mainTickPath + mirrorTickPath;\n } else {\n mirrorTickPath = '';\n fullTickPath = mainTickPath;\n }\n\n var tickPath;\n if(ax.showdividers && ax.ticks === 'outside' && ax.tickson === 'boundaries') {\n var dividerLookup = {};\n for(i = 0; i < dividerVals.length; i++) {\n dividerLookup[dividerVals[i].x] = 1;\n }\n tickPath = function(d) {\n return dividerLookup[d.x] ? mirrorTickPath : fullTickPath;\n };\n } else {\n tickPath = fullTickPath;\n }\n\n axes.drawTicks(gd, ax, {\n vals: tickVals,\n layer: mainAxLayer,\n path: tickPath,\n transFn: transFn\n });\n\n if(ax.mirror === 'allticks') {\n tickSubplots = Object.keys(ax._linepositions || {});\n }\n }\n\n for(i = 0; i < tickSubplots.length; i++) {\n sp = tickSubplots[i];\n plotinfo = fullLayout._plots[sp];\n // [bottom or left, top or right], free and main are handled above\n var linepositions = ax._linepositions[sp] || [];\n var spTickPath = axes.makeTickPath(ax, linepositions[0], tickSigns[0]) +\n axes.makeTickPath(ax, linepositions[1], tickSigns[1]);\n\n axes.drawTicks(gd, ax, {\n vals: tickVals,\n layer: plotinfo[axLetter + 'axislayer'],\n path: spTickPath,\n transFn: transFn\n });\n }\n\n var seq = [];\n\n // tick labels - for now just the main labels.\n // TODO: mirror labels, esp for subplots\n\n seq.push(function() {\n return axes.drawLabels(gd, ax, {\n vals: vals,\n layer: mainAxLayer,\n transFn: transFn,\n labelFns: axes.makeLabelFns(ax, mainLinePosition)\n });\n });\n\n if(ax.type === 'multicategory') {\n var pad = {x: 2, y: 10}[axLetter];\n\n seq.push(function() {\n var bboxKey = {x: 'height', y: 'width'}[axLetter];\n var standoff = getLabelLevelBbox()[bboxKey] + pad +\n (ax._tickAngles[axId + 'tick'] ? ax.tickfont.size * LINE_SPACING : 0);\n\n return axes.drawLabels(gd, ax, {\n vals: getSecondaryLabelVals(ax, vals),\n layer: mainAxLayer,\n cls: axId + 'tick2',\n repositionOnUpdate: true,\n secondary: true,\n transFn: transFn,\n labelFns: axes.makeLabelFns(ax, mainLinePosition + standoff * tickSigns[4])\n });\n });\n\n seq.push(function() {\n ax._depth = tickSigns[4] * (getLabelLevelBbox('tick2')[ax.side] - mainLinePosition);\n\n return drawDividers(gd, ax, {\n vals: dividerVals,\n layer: mainAxLayer,\n path: axes.makeTickPath(ax, mainLinePosition, tickSigns[4], ax._depth),\n transFn: transFn\n });\n });\n } else if(ax.title.hasOwnProperty('standoff')) {\n seq.push(function() {\n ax._depth = tickSigns[4] * (getLabelLevelBbox()[ax.side] - mainLinePosition);\n });\n }\n\n var hasRangeSlider = Registry.getComponentMethod('rangeslider', 'isVisible')(ax);\n\n seq.push(function() {\n var s = ax.side.charAt(0);\n var sMirror = OPPOSITE_SIDE[ax.side].charAt(0);\n var pos = axes.getPxPosition(gd, ax);\n var outsideTickLen = ax.ticks === 'outside' ? ax.ticklen : 0;\n var llbbox;\n\n var push;\n var mirrorPush;\n var rangeSliderPush;\n\n if(ax.automargin || hasRangeSlider) {\n if(ax.type === 'multicategory') {\n llbbox = getLabelLevelBbox('tick2');\n } else {\n llbbox = getLabelLevelBbox();\n if(axLetter === 'x' && s === 'b') {\n ax._depth = Math.max(llbbox.width > 0 ? llbbox.bottom - pos : 0, outsideTickLen);\n }\n }\n }\n\n if(ax.automargin) {\n push = {x: 0, y: 0, r: 0, l: 0, t: 0, b: 0};\n var domainIndices = [0, 1];\n\n if(axLetter === 'x') {\n if(s === 'b') {\n push[s] = ax._depth;\n } else {\n push[s] = ax._depth = Math.max(llbbox.width > 0 ? pos - llbbox.top : 0, outsideTickLen);\n domainIndices.reverse();\n }\n\n if(llbbox.width > 0) {\n var rExtra = llbbox.right - (ax._offset + ax._length);\n if(rExtra > 0) {\n push.xr = 1;\n push.r = rExtra;\n }\n var lExtra = ax._offset - llbbox.left;\n if(lExtra > 0) {\n push.xl = 0;\n push.l = lExtra;\n }\n }\n } else {\n if(s === 'l') {\n push[s] = ax._depth = Math.max(llbbox.height > 0 ? pos - llbbox.left : 0, outsideTickLen);\n } else {\n push[s] = ax._depth = Math.max(llbbox.height > 0 ? llbbox.right - pos : 0, outsideTickLen);\n domainIndices.reverse();\n }\n\n if(llbbox.height > 0) {\n var bExtra = llbbox.bottom - (ax._offset + ax._length);\n if(bExtra > 0) {\n push.yb = 0;\n push.b = bExtra;\n }\n var tExtra = ax._offset - llbbox.top;\n if(tExtra > 0) {\n push.yt = 1;\n push.t = tExtra;\n }\n }\n }\n\n push[counterLetter] = ax.anchor === 'free' ?\n ax.position :\n ax._anchorAxis.domain[domainIndices[0]];\n\n if(ax.title.text !== fullLayout._dfltTitle[axLetter]) {\n push[s] += approxTitleDepth(ax) + (ax.title.standoff || 0);\n }\n\n if(ax.mirror && ax.anchor !== 'free') {\n mirrorPush = {x: 0, y: 0, r: 0, l: 0, t: 0, b: 0};\n\n mirrorPush[sMirror] = ax.linewidth;\n if(ax.mirror && ax.mirror !== true) mirrorPush[sMirror] += outsideTickLen;\n\n if(ax.mirror === true || ax.mirror === 'ticks') {\n mirrorPush[counterLetter] = ax._anchorAxis.domain[domainIndices[1]];\n } else if(ax.mirror === 'all' || ax.mirror === 'allticks') {\n mirrorPush[counterLetter] = [ax._counterDomainMin, ax._counterDomainMax][domainIndices[1]];\n }\n }\n }\n\n if(hasRangeSlider) {\n rangeSliderPush = Registry.getComponentMethod('rangeslider', 'autoMarginOpts')(gd, ax);\n }\n\n Plots.autoMargin(gd, axAutoMarginID(ax), push);\n Plots.autoMargin(gd, axMirrorAutoMarginID(ax), mirrorPush);\n Plots.autoMargin(gd, rangeSliderAutoMarginID(ax), rangeSliderPush);\n });\n\n if(!opts.skipTitle &&\n !(hasRangeSlider && ax.side === 'bottom')\n ) {\n seq.push(function() { return drawTitle(gd, ax); });\n }\n\n return Lib.syncOrAsync(seq);\n};\n\nfunction getBoundaryVals(ax, vals) {\n var out = [];\n var i;\n\n // boundaryVals are never used for labels;\n // no need to worry about the other tickTextObj keys\n var _push = function(d, bndIndex) {\n var xb = d.xbnd[bndIndex];\n if(xb !== null) {\n out.push(Lib.extendFlat({}, d, {x: xb}));\n }\n };\n\n if(vals.length) {\n for(i = 0; i < vals.length; i++) {\n _push(vals[i], 0);\n }\n _push(vals[i - 1], 1);\n }\n\n return out;\n}\n\nfunction getSecondaryLabelVals(ax, vals) {\n var out = [];\n var lookup = {};\n\n for(var i = 0; i < vals.length; i++) {\n var d = vals[i];\n if(lookup[d.text2]) {\n lookup[d.text2].push(d.x);\n } else {\n lookup[d.text2] = [d.x];\n }\n }\n\n for(var k in lookup) {\n out.push(tickTextObj(ax, Lib.interp(lookup[k], 0.5), k));\n }\n\n return out;\n}\n\nfunction getDividerVals(ax, vals) {\n var out = [];\n var i, current;\n\n // never used for labels;\n // no need to worry about the other tickTextObj keys\n var _push = function(d, bndIndex) {\n var xb = d.xbnd[bndIndex];\n if(xb !== null) {\n out.push(Lib.extendFlat({}, d, {x: xb}));\n }\n };\n\n if(ax.showdividers && vals.length) {\n for(i = 0; i < vals.length; i++) {\n var d = vals[i];\n if(d.text2 !== current) {\n _push(d, 0);\n }\n current = d.text2;\n }\n _push(vals[i - 1], 1);\n }\n\n return out;\n}\n\nfunction calcLabelLevelBbox(ax, cls) {\n var top, bottom;\n var left, right;\n\n if(ax._selections[cls].size()) {\n top = Infinity;\n bottom = -Infinity;\n left = Infinity;\n right = -Infinity;\n ax._selections[cls].each(function() {\n var thisLabel = selectTickLabel(this);\n // Use parent node , to make Drawing.bBox\n // retrieve a bbox computed with transform info\n //\n // To improve perf, it would be nice to use `thisLabel.node()`\n // (like in fixLabelOverlaps) instead and use Axes.getPxPosition\n // together with the makeLabelFns outputs and `tickangle`\n // to compute one bbox per (tick value x tick style)\n var bb = Drawing.bBox(thisLabel.node().parentNode);\n top = Math.min(top, bb.top);\n bottom = Math.max(bottom, bb.bottom);\n left = Math.min(left, bb.left);\n right = Math.max(right, bb.right);\n });\n } else {\n top = 0;\n bottom = 0;\n left = 0;\n right = 0;\n }\n\n return {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n height: bottom - top,\n width: right - left\n };\n}\n\n/**\n * Which direction do the 'ax.side' values, and free ticks go?\n *\n * @param {object} ax (full) axis object\n * - {string} _id (starting with 'x' or 'y')\n * - {string} side\n * - {string} ticks\n * @return {array} all entries are either -1 or 1\n * - [0]: sign for top/right ticks (i.e. negative SVG direction)\n * - [1]: sign for bottom/left ticks (i.e. positive SVG direction)\n * - [2]: sign for ticks corresponding to 'ax.side'\n * - [3]: sign for ticks mirroring 'ax.side'\n * - [4]: sign of arrow starting at axis pointing towards margin\n */\naxes.getTickSigns = function(ax) {\n var axLetter = ax._id.charAt(0);\n var sideOpposite = {x: 'top', y: 'right'}[axLetter];\n var main = ax.side === sideOpposite ? 1 : -1;\n var out = [-1, 1, main, -main];\n // then we flip if outside XOR y axis\n if((ax.ticks !== 'inside') === (axLetter === 'x')) {\n out = out.map(function(v) { return -v; });\n }\n // independent of `ticks`; do not flip this one\n if(ax.side) {\n out.push({l: -1, t: -1, r: 1, b: 1}[ax.side.charAt(0)]);\n }\n return out;\n};\n\n/**\n * Make axis translate transform function\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {number} _offset\n * - {fn} l2p\n * @return {fn} function of calcTicks items\n */\naxes.makeTransFn = function(ax) {\n var axLetter = ax._id.charAt(0);\n var offset = ax._offset;\n return axLetter === 'x' ?\n function(d) { return 'translate(' + (offset + ax.l2p(d.x)) + ',0)'; } :\n function(d) { return 'translate(0,' + (offset + ax.l2p(d.x)) + ')'; };\n};\n\n/**\n * Make axis tick path string\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {number} ticklen\n * - {number} linewidth\n * @param {number} shift along direction of ticklen\n * @param {1 or -1} sgn tick sign\n * @param {number (optional)} len tick length\n * @return {string}\n */\naxes.makeTickPath = function(ax, shift, sgn, len) {\n len = len !== undefined ? len : ax.ticklen;\n\n var axLetter = ax._id.charAt(0);\n var pad = (ax.linewidth || 1) / 2;\n\n return axLetter === 'x' ?\n 'M0,' + (shift + pad * sgn) + 'v' + (len * sgn) :\n 'M' + (shift + pad * sgn) + ',0h' + (len * sgn);\n};\n\n/**\n * Make axis tick label x, y and anchor functions\n *\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} ticks\n * - {number} ticklen\n * - {string} side\n * - {number} linewidth\n * - {number} tickfont.size\n * - {boolean} showline\n * @param {number} shift\n * @param {number} angle [in degrees] ...\n * @return {object}\n * - {fn} xFn\n * - {fn} yFn\n * - {fn} anchorFn\n * - {fn} heightFn\n * - {number} labelStandoff (gap parallel to ticks)\n * - {number} labelShift (gap perpendicular to ticks)\n */\naxes.makeLabelFns = function(ax, shift, angle) {\n var axLetter = ax._id.charAt(0);\n var ticksOnOutsideLabels = ax.tickson !== 'boundaries' && ax.ticks === 'outside';\n\n var labelStandoff = 0;\n var labelShift = 0;\n\n if(ticksOnOutsideLabels) {\n labelStandoff += ax.ticklen;\n }\n if(angle && ax.ticks === 'outside') {\n var rad = Lib.deg2rad(angle);\n labelStandoff = ax.ticklen * Math.cos(rad) + 1;\n labelShift = ax.ticklen * Math.sin(rad);\n }\n if(ax.showticklabels && (ticksOnOutsideLabels || ax.showline)) {\n labelStandoff += 0.2 * ax.tickfont.size;\n }\n labelStandoff += (ax.linewidth || 1) / 2;\n\n var out = {\n labelStandoff: labelStandoff,\n labelShift: labelShift\n };\n\n var x0, y0, ff, flipIt;\n\n if(axLetter === 'x') {\n flipIt = ax.side === 'bottom' ? 1 : -1;\n x0 = labelShift * flipIt;\n y0 = shift + labelStandoff * flipIt;\n ff = ax.side === 'bottom' ? 1 : -0.2;\n\n out.xFn = function(d) { return d.dx + x0; };\n out.yFn = function(d) { return d.dy + y0 + d.fontSize * ff; };\n out.anchorFn = function(d, a) {\n if(!isNumeric(a) || a === 0 || a === 180) {\n return 'middle';\n }\n return (a * flipIt < 0) ? 'end' : 'start';\n };\n out.heightFn = function(d, a, h) {\n return (a < -60 || a > 60) ? -0.5 * h :\n ax.side === 'top' ? -h :\n 0;\n };\n } else if(axLetter === 'y') {\n flipIt = ax.side === 'right' ? 1 : -1;\n x0 = labelStandoff;\n y0 = -labelShift * flipIt;\n ff = Math.abs(ax.tickangle) === 90 ? 0.5 : 0;\n\n out.xFn = function(d) { return d.dx + shift + (x0 + d.fontSize * ff) * flipIt; };\n out.yFn = function(d) { return d.dy + y0 + d.fontSize * MID_SHIFT; };\n out.anchorFn = function(d, a) {\n if(isNumeric(a) && Math.abs(a) === 90) {\n return 'middle';\n }\n return ax.side === 'right' ? 'start' : 'end';\n };\n out.heightFn = function(d, a, h) {\n a *= ax.side === 'left' ? 1 : -1;\n return a < -30 ? -h :\n a < 30 ? -0.5 * h :\n 0;\n };\n }\n\n return out;\n};\n\nfunction tickDataFn(d) {\n return [d.text, d.x, d.axInfo, d.font, d.fontSize, d.fontColor].join('_');\n}\n\n/**\n * Draw axis ticks\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} ticks\n * - {number} linewidth\n * - {string} tickcolor\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawTicks = function(gd, ax, opts) {\n opts = opts || {};\n\n var cls = ax._id + 'tick';\n\n var ticks = opts.layer.selectAll('path.' + cls)\n .data(ax.ticks ? opts.vals : [], tickDataFn);\n\n ticks.exit().remove();\n\n ticks.enter().append('path')\n .classed(cls, 1)\n .classed('ticks', 1)\n .classed('crisp', opts.crisp !== false)\n .call(Color.stroke, ax.tickcolor)\n .style('stroke-width', Drawing.crispRound(gd, ax.tickwidth, 1) + 'px')\n .attr('d', opts.path);\n\n ticks.attr('transform', opts.transFn);\n};\n\n/**\n * Draw axis grid\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} showgrid\n * - {string} gridcolor\n * - {string} gridwidth\n * - {boolean} zeroline\n * - {string} type\n * - {string} dtick\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {object} counterAxis (full axis object corresponding to counter axis)\n * optional - only required if this axis supports zero lines\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawGrid = function(gd, ax, opts) {\n opts = opts || {};\n\n var cls = ax._id + 'grid';\n var vals = opts.vals;\n var counterAx = opts.counterAxis;\n if(ax.showgrid === false) {\n vals = [];\n } else if(counterAx && axes.shouldShowZeroLine(gd, ax, counterAx)) {\n var isArrayMode = ax.tickmode === 'array';\n for(var i = 0; i < vals.length; i++) {\n var xi = vals[i].x;\n if(isArrayMode ? !xi : (Math.abs(xi) < ax.dtick / 100)) {\n vals = vals.slice(0, i).concat(vals.slice(i + 1));\n // In array mode you can in principle have multiple\n // ticks at 0, so test them all. Otherwise once we found\n // one we can stop.\n if(isArrayMode) i--;\n else break;\n }\n }\n }\n\n var grid = opts.layer.selectAll('path.' + cls)\n .data(vals, tickDataFn);\n\n grid.exit().remove();\n\n grid.enter().append('path')\n .classed(cls, 1)\n .classed('crisp', opts.crisp !== false);\n\n ax._gw = Drawing.crispRound(gd, ax.gridwidth, 1);\n\n grid.attr('transform', opts.transFn)\n .attr('d', opts.path)\n .call(Color.stroke, ax.gridcolor || '#ddd')\n .style('stroke-width', ax._gw + 'px');\n\n if(typeof opts.path === 'function') grid.attr('d', opts.path);\n};\n\n/**\n * Draw axis zero-line\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} zeroline\n * - {number} zerolinewidth\n * - {string} zerolinecolor\n * - {number (optional)} _gridWidthCrispRound\n * @param {object} opts\n * - {d3 selection} layer\n * - {object} counterAxis (full axis object corresponding to counter axis)\n * - {string or fn} path\n * - {fn} transFn\n * - {boolean} crisp (set to false to unset crisp-edge SVG rendering)\n */\naxes.drawZeroLine = function(gd, ax, opts) {\n opts = opts || opts;\n\n var cls = ax._id + 'zl';\n var show = axes.shouldShowZeroLine(gd, ax, opts.counterAxis);\n\n var zl = opts.layer.selectAll('path.' + cls)\n .data(show ? [{x: 0, id: ax._id}] : []);\n\n zl.exit().remove();\n\n zl.enter().append('path')\n .classed(cls, 1)\n .classed('zl', 1)\n .classed('crisp', opts.crisp !== false)\n .each(function() {\n // use the fact that only one element can enter to trigger a sort.\n // If several zerolines enter at the same time we will sort once per,\n // but generally this should be a minimal overhead.\n opts.layer.selectAll('path').sort(function(da, db) {\n return axisIds.idSort(da.id, db.id);\n });\n });\n\n zl.attr('transform', opts.transFn)\n .attr('d', opts.path)\n .call(Color.stroke, ax.zerolinecolor || Color.defaultLine)\n .style('stroke-width', Drawing.crispRound(gd, ax.zerolinewidth, ax._gw || 1) + 'px');\n};\n\n/**\n * Draw axis tick labels\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {boolean} showticklabels\n * - {number} tickangle\n * - {object (optional)} _selections\n * - {object} (optional)} _tickAngles\n * - {object} (optional)} _prevTickAngles\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {string (optional)} cls (node className)\n * - {boolean} repositionOnUpdate (set to true to reposition update selection)\n * - {boolean} secondary\n * - {fn} transFn\n * - {object} labelFns\n * + {fn} xFn\n * + {fn} yFn\n * + {fn} anchorFn\n * + {fn} heightFn\n */\naxes.drawLabels = function(gd, ax, opts) {\n opts = opts || {};\n\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var cls = opts.cls || axId + 'tick';\n var vals = opts.vals;\n var labelFns = opts.labelFns;\n var tickAngle = opts.secondary ? 0 : ax.tickangle;\n var prevAngle = (ax._prevTickAngles || {})[cls];\n\n var tickLabels = opts.layer.selectAll('g.' + cls)\n .data(ax.showticklabels ? vals : [], tickDataFn);\n\n var labelsReady = [];\n\n tickLabels.enter().append('g')\n .classed(cls, 1)\n .append('text')\n // only so tex has predictable alignment that we can\n // alter later\n .attr('text-anchor', 'middle')\n .each(function(d) {\n var thisLabel = d3.select(this);\n var newPromise = gd._promises.length;\n\n thisLabel\n .call(svgTextUtils.positionText, labelFns.xFn(d), labelFns.yFn(d))\n .call(Drawing.font, d.font, d.fontSize, d.fontColor)\n .text(d.text)\n .call(svgTextUtils.convertToTspans, gd);\n\n if(gd._promises[newPromise]) {\n // if we have an async label, we'll deal with that\n // all here so take it out of gd._promises and\n // instead position the label and promise this in\n // labelsReady\n labelsReady.push(gd._promises.pop().then(function() {\n positionLabels(thisLabel, tickAngle);\n }));\n } else {\n // sync label: just position it now.\n positionLabels(thisLabel, tickAngle);\n }\n });\n\n tickLabels.exit().remove();\n\n if(opts.repositionOnUpdate) {\n tickLabels.each(function(d) {\n d3.select(this).select('text')\n .call(svgTextUtils.positionText, labelFns.xFn(d), labelFns.yFn(d));\n });\n }\n\n function positionLabels(s, angle) {\n s.each(function(d) {\n var thisLabel = d3.select(this);\n var mathjaxGroup = thisLabel.select('.text-math-group');\n var anchor = labelFns.anchorFn(d, angle);\n\n var transform = opts.transFn.call(thisLabel.node(), d) +\n ((isNumeric(angle) && +angle !== 0) ?\n (' rotate(' + angle + ',' + labelFns.xFn(d) + ',' +\n (labelFns.yFn(d) - d.fontSize / 2) + ')') :\n '');\n\n // how much to shift a multi-line label to center it vertically.\n var nLines = svgTextUtils.lineCount(thisLabel);\n var lineHeight = LINE_SPACING * d.fontSize;\n var anchorHeight = labelFns.heightFn(d, isNumeric(angle) ? +angle : 0, (nLines - 1) * lineHeight);\n\n if(anchorHeight) {\n transform += ' translate(0, ' + anchorHeight + ')';\n }\n\n if(mathjaxGroup.empty()) {\n thisLabel.select('text').attr({\n transform: transform,\n 'text-anchor': anchor\n });\n } else {\n var mjWidth = Drawing.bBox(mathjaxGroup.node()).width;\n var mjShift = mjWidth * {end: -0.5, start: 0.5}[anchor];\n mathjaxGroup.attr('transform', transform + (mjShift ? 'translate(' + mjShift + ',0)' : ''));\n }\n });\n }\n\n // make sure all labels are correctly positioned at their base angle\n // the positionLabels call above is only for newly drawn labels.\n // do this without waiting, using the last calculated angle to\n // minimize flicker, then do it again when we know all labels are\n // there, putting back the prescribed angle to check for overlaps.\n positionLabels(tickLabels, (prevAngle + 1) ? prevAngle : tickAngle);\n\n function allLabelsReady() {\n return labelsReady.length && Promise.all(labelsReady);\n }\n\n var autoangle = null;\n\n function fixLabelOverlaps() {\n positionLabels(tickLabels, tickAngle);\n\n // check for auto-angling if x labels overlap\n // don't auto-angle at all for log axes with\n // base and digit format\n if(vals.length && axLetter === 'x' && !isNumeric(tickAngle) &&\n (ax.type !== 'log' || String(ax.dtick).charAt(0) !== 'D')\n ) {\n autoangle = 0;\n\n var maxFontSize = 0;\n var lbbArray = [];\n var i;\n\n tickLabels.each(function(d) {\n maxFontSize = Math.max(maxFontSize, d.fontSize);\n\n var x = ax.l2p(d.x);\n var thisLabel = selectTickLabel(this);\n var bb = Drawing.bBox(thisLabel.node());\n\n lbbArray.push({\n // ignore about y, just deal with x overlaps\n top: 0,\n bottom: 10,\n height: 10,\n left: x - bb.width / 2,\n // impose a 2px gap\n right: x + bb.width / 2 + 2,\n width: bb.width + 2\n });\n });\n\n if((ax.tickson === 'boundaries' || ax.showdividers) && !opts.secondary) {\n var gap = 2;\n if(ax.ticks) gap += ax.tickwidth / 2;\n\n // TODO should secondary labels also fall into this fix-overlap regime?\n\n for(i = 0; i < lbbArray.length; i++) {\n var xbnd = vals[i].xbnd;\n var lbb = lbbArray[i];\n if(\n (xbnd[0] !== null && (lbb.left - ax.l2p(xbnd[0])) < gap) ||\n (xbnd[1] !== null && (ax.l2p(xbnd[1]) - lbb.right) < gap)\n ) {\n autoangle = 90;\n break;\n }\n }\n } else {\n var vLen = vals.length;\n var tickSpacing = Math.abs((vals[vLen - 1].x - vals[0].x) * ax._m) / (vLen - 1);\n var rotate90 = (tickSpacing < maxFontSize * 2.5) || ax.type === 'multicategory';\n\n // any overlap at all - set 30 degrees or 90 degrees\n for(i = 0; i < lbbArray.length - 1; i++) {\n if(Lib.bBoxIntersect(lbbArray[i], lbbArray[i + 1])) {\n autoangle = rotate90 ? 90 : 30;\n break;\n }\n }\n }\n\n if(autoangle) {\n positionLabels(tickLabels, autoangle);\n }\n }\n }\n\n if(ax._selections) {\n ax._selections[cls] = tickLabels;\n }\n\n var seq = [allLabelsReady];\n\n // N.B. during auto-margin redraws, if the axis fixed its label overlaps\n // by rotating 90 degrees, do not attempt to re-fix its label overlaps\n // as this can lead to infinite redraw loops!\n if(ax.automargin && fullLayout._redrawFromAutoMarginCount && prevAngle === 90) {\n autoangle = 90;\n seq.push(function() {\n positionLabels(tickLabels, prevAngle);\n });\n } else {\n seq.push(fixLabelOverlaps);\n }\n\n // save current tick angle for future redraws\n if(ax._tickAngles) {\n seq.push(function() {\n ax._tickAngles[cls] = autoangle === null ?\n (isNumeric(tickAngle) ? tickAngle : 0) :\n autoangle;\n });\n }\n\n var done = Lib.syncOrAsync(seq);\n if(done && done.then) gd._promises.push(done);\n return done;\n};\n\n/**\n * Draw axis dividers\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} showdividers\n * - {number} dividerwidth\n * - {string} dividercolor\n * @param {object} opts\n * - {array of object} vals (calcTicks output-like)\n * - {d3 selection} layer\n * - {fn} path\n * - {fn} transFn\n */\nfunction drawDividers(gd, ax, opts) {\n var cls = ax._id + 'divider';\n var vals = opts.vals;\n\n var dividers = opts.layer.selectAll('path.' + cls)\n .data(vals, tickDataFn);\n\n dividers.exit().remove();\n\n dividers.enter().insert('path', ':first-child')\n .classed(cls, 1)\n .classed('crisp', 1)\n .call(Color.stroke, ax.dividercolor)\n .style('stroke-width', Drawing.crispRound(gd, ax.dividerwidth, 1) + 'px');\n\n dividers\n .attr('transform', opts.transFn)\n .attr('d', opts.path);\n}\n\n/**\n * Get axis position in px, that is the distance for the graph's\n * top (left) edge for x (y) axes.\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} side\n * if anchored:\n * - {object} _anchorAxis\n * Otherwise:\n * - {number} position\n * @return {number}\n */\naxes.getPxPosition = function(gd, ax) {\n var gs = gd._fullLayout._size;\n var axLetter = ax._id.charAt(0);\n var side = ax.side;\n var anchorAxis;\n\n if(ax.anchor !== 'free') {\n anchorAxis = ax._anchorAxis;\n } else if(axLetter === 'x') {\n anchorAxis = {\n _offset: gs.t + (1 - (ax.position || 0)) * gs.h,\n _length: 0\n };\n } else if(axLetter === 'y') {\n anchorAxis = {\n _offset: gs.l + (ax.position || 0) * gs.w,\n _length: 0\n };\n }\n\n if(side === 'top' || side === 'left') {\n return anchorAxis._offset;\n } else if(side === 'bottom' || side === 'right') {\n return anchorAxis._offset + anchorAxis._length;\n }\n};\n\n/**\n * Approximate axis title depth (w/o computing its bounding box)\n *\n * @param {object} ax (full) axis object\n * - {string} title.text\n * - {number} title.font.size\n * - {number} title.standoff\n * @return {number} (in px)\n */\nfunction approxTitleDepth(ax) {\n var fontSize = ax.title.font.size;\n var extraLines = (ax.title.text.match(svgTextUtils.BR_TAG_ALL) || []).length;\n if(ax.title.hasOwnProperty('standoff')) {\n return extraLines ?\n fontSize * (CAP_SHIFT + (extraLines * LINE_SPACING)) :\n fontSize * CAP_SHIFT;\n } else {\n return extraLines ?\n fontSize * (extraLines + 1) * LINE_SPACING :\n fontSize;\n }\n}\n\n/**\n * Draw axis title, compute default standoff if necessary\n *\n * @param {DOM element} gd\n * @param {object} ax (full) axis object\n * - {string} _id\n * - {string} _name\n * - {string} side\n * - {number} title.font.size\n * - {object} _selections\n *\n * - {number} _depth\n * - {number} title.standoff\n * OR\n * - {number} linewidth\n * - {boolean} showticklabels\n */\nfunction drawTitle(gd, ax) {\n var fullLayout = gd._fullLayout;\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var fontSize = ax.title.font.size;\n\n var titleStandoff;\n\n if(ax.title.hasOwnProperty('standoff')) {\n titleStandoff = ax._depth + ax.title.standoff + approxTitleDepth(ax);\n } else {\n if(ax.type === 'multicategory') {\n titleStandoff = ax._depth;\n } else {\n var offsetBase = 1.5;\n titleStandoff = 10 + fontSize * offsetBase + (ax.linewidth ? ax.linewidth - 1 : 0);\n }\n\n if(axLetter === 'x') {\n titleStandoff += ax.side === 'top' ?\n fontSize * (ax.showticklabels ? 1 : 0) :\n fontSize * (ax.showticklabels ? 1.5 : 0.5);\n } else {\n titleStandoff += ax.side === 'right' ?\n fontSize * (ax.showticklabels ? 1 : 0.5) :\n fontSize * (ax.showticklabels ? 0.5 : 0);\n }\n }\n\n var pos = axes.getPxPosition(gd, ax);\n var transform, x, y;\n\n if(axLetter === 'x') {\n x = ax._offset + ax._length / 2;\n y = (ax.side === 'top') ? pos - titleStandoff : pos + titleStandoff;\n } else {\n y = ax._offset + ax._length / 2;\n x = (ax.side === 'right') ? pos + titleStandoff : pos - titleStandoff;\n transform = {rotate: '-90', offset: 0};\n }\n\n var avoid;\n\n if(ax.type !== 'multicategory') {\n var tickLabels = ax._selections[ax._id + 'tick'];\n\n avoid = {\n selection: tickLabels,\n side: ax.side\n };\n\n if(tickLabels && tickLabels.node() && tickLabels.node().parentNode) {\n var translation = Drawing.getTranslate(tickLabels.node().parentNode);\n avoid.offsetLeft = translation.x;\n avoid.offsetTop = translation.y;\n }\n\n if(ax.title.hasOwnProperty('standoff')) {\n avoid.pad = 0;\n }\n }\n\n return Titles.draw(gd, axId + 'title', {\n propContainer: ax,\n propName: ax._name + '.title.text',\n placeholder: fullLayout._dfltTitle[axLetter],\n avoid: avoid,\n transform: transform,\n attributes: {x: x, y: y, 'text-anchor': 'middle'}\n });\n}\n\naxes.shouldShowZeroLine = function(gd, ax, counterAxis) {\n var rng = Lib.simpleMap(ax.range, ax.r2l);\n return (\n (rng[0] * rng[1] <= 0) &&\n ax.zeroline &&\n (ax.type === 'linear' || ax.type === '-') &&\n (\n clipEnds(ax, 0) ||\n !anyCounterAxLineAtZero(gd, ax, counterAxis, rng) ||\n hasBarsOrFill(gd, ax)\n )\n );\n};\n\naxes.clipEnds = function(ax, vals) {\n return vals.filter(function(d) { return clipEnds(ax, d.x); });\n};\n\nfunction clipEnds(ax, l) {\n var p = ax.l2p(l);\n return (p > 1 && p < ax._length - 1);\n}\n\nfunction anyCounterAxLineAtZero(gd, ax, counterAxis, rng) {\n var mainCounterAxis = counterAxis._mainAxis;\n if(!mainCounterAxis) return;\n\n var fullLayout = gd._fullLayout;\n var axLetter = ax._id.charAt(0);\n var counterLetter = axes.counterLetter(ax._id);\n\n var zeroPosition = ax._offset + (\n ((Math.abs(rng[0]) < Math.abs(rng[1])) === (axLetter === 'x')) ?\n 0 : ax._length\n );\n\n function lineNearZero(ax2) {\n if(!ax2.showline || !ax2.linewidth) return false;\n var tolerance = Math.max((ax2.linewidth + ax.zerolinewidth) / 2, 1);\n\n function closeEnough(pos2) {\n return typeof pos2 === 'number' && Math.abs(pos2 - zeroPosition) < tolerance;\n }\n\n if(closeEnough(ax2._mainLinePosition) || closeEnough(ax2._mainMirrorPosition)) {\n return true;\n }\n var linePositions = ax2._linepositions || {};\n for(var k in linePositions) {\n if(closeEnough(linePositions[k][0]) || closeEnough(linePositions[k][1])) {\n return true;\n }\n }\n }\n\n var plotinfo = fullLayout._plots[counterAxis._mainSubplot];\n if(!(plotinfo.mainplotinfo || plotinfo).overlays.length) {\n return lineNearZero(counterAxis, zeroPosition);\n }\n\n var counterLetterAxes = axes.list(gd, counterLetter);\n for(var i = 0; i < counterLetterAxes.length; i++) {\n var counterAxis2 = counterLetterAxes[i];\n if(\n counterAxis2._mainAxis === mainCounterAxis &&\n lineNearZero(counterAxis2, zeroPosition)\n ) {\n return true;\n }\n }\n}\n\nfunction hasBarsOrFill(gd, ax) {\n var fullData = gd._fullData;\n var subplot = ax._mainSubplot;\n var axLetter = ax._id.charAt(0);\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(trace.visible === true && (trace.xaxis + trace.yaxis) === subplot) {\n if(\n Registry.traceIs(trace, 'bar-like') &&\n trace.orientation === {x: 'h', y: 'v'}[axLetter]\n ) return true;\n\n if(\n trace.fill &&\n trace.fill.charAt(trace.fill.length - 1) === axLetter\n ) return true;\n }\n }\n return false;\n}\n\nfunction selectTickLabel(gTick) {\n var s = d3.select(gTick);\n var mj = s.select('.text-math-group');\n return mj.empty() ? s.select('text') : mj;\n}\n\n/**\n * Find all margin pushers for 2D axes and reserve them for later use\n * Both label and rangeslider automargin calculations happen later so\n * we need to explicitly allow their ids in order to not delete them.\n *\n * TODO: can we pull the actual automargin calls forward to avoid this hack?\n * We're probably also doing multiple redraws in this case, would be faster\n * if we can just do the whole calculation ahead of time and draw once.\n */\naxes.allowAutoMargin = function(gd) {\n var axList = axes.list(gd, '', true);\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n if(ax.automargin) {\n Plots.allowAutoMargin(gd, axAutoMarginID(ax));\n if(ax.mirror) {\n Plots.allowAutoMargin(gd, axMirrorAutoMarginID(ax));\n }\n }\n if(Registry.getComponentMethod('rangeslider', 'isVisible')(ax)) {\n Plots.allowAutoMargin(gd, rangeSliderAutoMarginID(ax));\n }\n }\n};\n\nfunction axAutoMarginID(ax) { return ax._id + '.automargin'; }\nfunction axMirrorAutoMarginID(ax) { return axAutoMarginID(ax) + '.mirror'; }\nfunction rangeSliderAutoMarginID(ax) { return ax._id + '.rangeslider'; }\n\n// swap all the presentation attributes of the axes showing these traces\naxes.swap = function(gd, traces) {\n var axGroups = makeAxisGroups(gd, traces);\n\n for(var i = 0; i < axGroups.length; i++) {\n swapAxisGroup(gd, axGroups[i].x, axGroups[i].y);\n }\n};\n\nfunction makeAxisGroups(gd, traces) {\n var groups = [];\n var i, j;\n\n for(i = 0; i < traces.length; i++) {\n var groupsi = [];\n var xi = gd._fullData[traces[i]].xaxis;\n var yi = gd._fullData[traces[i]].yaxis;\n if(!xi || !yi) continue; // not a 2D cartesian trace?\n\n for(j = 0; j < groups.length; j++) {\n if(groups[j].x.indexOf(xi) !== -1 || groups[j].y.indexOf(yi) !== -1) {\n groupsi.push(j);\n }\n }\n\n if(!groupsi.length) {\n groups.push({x: [xi], y: [yi]});\n continue;\n }\n\n var group0 = groups[groupsi[0]];\n var groupj;\n\n if(groupsi.length > 1) {\n for(j = 1; j < groupsi.length; j++) {\n groupj = groups[groupsi[j]];\n mergeAxisGroups(group0.x, groupj.x);\n mergeAxisGroups(group0.y, groupj.y);\n }\n }\n mergeAxisGroups(group0.x, [xi]);\n mergeAxisGroups(group0.y, [yi]);\n }\n\n return groups;\n}\n\nfunction mergeAxisGroups(intoSet, fromSet) {\n for(var i = 0; i < fromSet.length; i++) {\n if(intoSet.indexOf(fromSet[i]) === -1) intoSet.push(fromSet[i]);\n }\n}\n\nfunction swapAxisGroup(gd, xIds, yIds) {\n var xFullAxes = [];\n var yFullAxes = [];\n var layout = gd.layout;\n var i, j;\n\n for(i = 0; i < xIds.length; i++) xFullAxes.push(axes.getFromId(gd, xIds[i]));\n for(i = 0; i < yIds.length; i++) yFullAxes.push(axes.getFromId(gd, yIds[i]));\n\n var allAxKeys = Object.keys(axAttrs);\n\n var noSwapAttrs = [\n 'anchor', 'domain', 'overlaying', 'position', 'side', 'tickangle', 'editType'\n ];\n var numericTypes = ['linear', 'log'];\n\n for(i = 0; i < allAxKeys.length; i++) {\n var keyi = allAxKeys[i];\n var xVal = xFullAxes[0][keyi];\n var yVal = yFullAxes[0][keyi];\n var allEqual = true;\n var coerceLinearX = false;\n var coerceLinearY = false;\n if(keyi.charAt(0) === '_' || typeof xVal === 'function' ||\n noSwapAttrs.indexOf(keyi) !== -1) {\n continue;\n }\n for(j = 1; j < xFullAxes.length && allEqual; j++) {\n var xVali = xFullAxes[j][keyi];\n if(keyi === 'type' && numericTypes.indexOf(xVal) !== -1 &&\n numericTypes.indexOf(xVali) !== -1 && xVal !== xVali) {\n // type is special - if we find a mixture of linear and log,\n // coerce them all to linear on flipping\n coerceLinearX = true;\n } else if(xVali !== xVal) allEqual = false;\n }\n for(j = 1; j < yFullAxes.length && allEqual; j++) {\n var yVali = yFullAxes[j][keyi];\n if(keyi === 'type' && numericTypes.indexOf(yVal) !== -1 &&\n numericTypes.indexOf(yVali) !== -1 && yVal !== yVali) {\n // type is special - if we find a mixture of linear and log,\n // coerce them all to linear on flipping\n coerceLinearY = true;\n } else if(yFullAxes[j][keyi] !== yVal) allEqual = false;\n }\n if(allEqual) {\n if(coerceLinearX) layout[xFullAxes[0]._name].type = 'linear';\n if(coerceLinearY) layout[yFullAxes[0]._name].type = 'linear';\n swapAxisAttrs(layout, keyi, xFullAxes, yFullAxes, gd._fullLayout._dfltTitle);\n }\n }\n\n // now swap x&y for any annotations anchored to these x & y\n for(i = 0; i < gd._fullLayout.annotations.length; i++) {\n var ann = gd._fullLayout.annotations[i];\n if(xIds.indexOf(ann.xref) !== -1 &&\n yIds.indexOf(ann.yref) !== -1) {\n Lib.swapAttrs(layout.annotations[i], ['?']);\n }\n }\n}\n\nfunction swapAxisAttrs(layout, key, xFullAxes, yFullAxes, dfltTitle) {\n // in case the value is the default for either axis,\n // look at the first axis in each list and see if\n // this key's value is undefined\n var np = Lib.nestedProperty;\n var xVal = np(layout[xFullAxes[0]._name], key).get();\n var yVal = np(layout[yFullAxes[0]._name], key).get();\n var i;\n\n if(key === 'title') {\n // special handling of placeholder titles\n if(xVal && xVal.text === dfltTitle.x) {\n xVal.text = dfltTitle.y;\n }\n if(yVal && yVal.text === dfltTitle.y) {\n yVal.text = dfltTitle.x;\n }\n }\n\n for(i = 0; i < xFullAxes.length; i++) {\n np(layout, xFullAxes[i]._name + '.' + key).set(yVal);\n }\n for(i = 0; i < yFullAxes.length; i++) {\n np(layout, yFullAxes[i]._name + '.' + key).set(xVal);\n }\n}\n\nfunction isAngular(ax) {\n return ax._id === 'angularaxis';\n}\n\n\n/***/ }),\n\n/***/ \"0648\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 300es builtins/reserved words that were previously valid in v100\r\nvar v100 = __webpack_require__(\"5ecd\")\r\n\r\n// The texture2D|Cube functions have been removed\r\n// And the gl_ features are updated\r\nv100 = v100.slice().filter(function (b) {\r\n return !/^(gl\\_|texture)/.test(b)\r\n})\r\n\r\nmodule.exports = v100.concat([\r\n // the updated gl_ constants\r\n 'gl_VertexID'\r\n , 'gl_InstanceID'\r\n , 'gl_Position'\r\n , 'gl_PointSize'\r\n , 'gl_FragCoord'\r\n , 'gl_FrontFacing'\r\n , 'gl_FragDepth'\r\n , 'gl_PointCoord'\r\n , 'gl_MaxVertexAttribs'\r\n , 'gl_MaxVertexUniformVectors'\r\n , 'gl_MaxVertexOutputVectors'\r\n , 'gl_MaxFragmentInputVectors'\r\n , 'gl_MaxVertexTextureImageUnits'\r\n , 'gl_MaxCombinedTextureImageUnits'\r\n , 'gl_MaxTextureImageUnits'\r\n , 'gl_MaxFragmentUniformVectors'\r\n , 'gl_MaxDrawBuffers'\r\n , 'gl_MinProgramTexelOffset'\r\n , 'gl_MaxProgramTexelOffset'\r\n , 'gl_DepthRangeParameters'\r\n , 'gl_DepthRange'\r\n\r\n // other builtins\r\n , 'trunc'\r\n , 'round'\r\n , 'roundEven'\r\n , 'isnan'\r\n , 'isinf'\r\n , 'floatBitsToInt'\r\n , 'floatBitsToUint'\r\n , 'intBitsToFloat'\r\n , 'uintBitsToFloat'\r\n , 'packSnorm2x16'\r\n , 'unpackSnorm2x16'\r\n , 'packUnorm2x16'\r\n , 'unpackUnorm2x16'\r\n , 'packHalf2x16'\r\n , 'unpackHalf2x16'\r\n , 'outerProduct'\r\n , 'transpose'\r\n , 'determinant'\r\n , 'inverse'\r\n , 'texture'\r\n , 'textureSize'\r\n , 'textureProj'\r\n , 'textureLod'\r\n , 'textureOffset'\r\n , 'texelFetch'\r\n , 'texelFetchOffset'\r\n , 'textureProjOffset'\r\n , 'textureLodOffset'\r\n , 'textureProjLod'\r\n , 'textureProjLodOffset'\r\n , 'textureGrad'\r\n , 'textureGradOffset'\r\n , 'textureProjGrad'\r\n , 'textureProjGradOffset'\r\n])\r\n\n\n/***/ }),\n\n/***/ \"0681\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// Maybe add kernels more down the road,\n// but note that the default `spanmode: 'soft'` bounds might have\n// to become kernel-dependent\nvar kernels = {\n gaussian: function(v) {\n return (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * v * v);\n }\n};\n\nexports.makeKDE = function(calcItem, trace, vals) {\n var len = vals.length;\n var kernel = kernels.gaussian;\n var bandwidth = calcItem.bandwidth;\n var factor = 1 / (len * bandwidth);\n\n // don't use Lib.aggNums to skip isNumeric checks\n return function(x) {\n var sum = 0;\n for(var i = 0; i < len; i++) {\n sum += kernel((x - vals[i]) / bandwidth);\n }\n return factor * sum;\n };\n};\n\nexports.getPositionOnKdePath = function(calcItem, trace, valuePx) {\n var posLetter, valLetter;\n\n if(trace.orientation === 'h') {\n posLetter = 'y';\n valLetter = 'x';\n } else {\n posLetter = 'x';\n valLetter = 'y';\n }\n\n var pointOnPath = Lib.findPointOnPath(\n calcItem.path,\n valuePx,\n valLetter,\n {pathLength: calcItem.pathLength}\n );\n\n var posCenterPx = calcItem.posCenterPx;\n var posOnPath0 = pointOnPath[posLetter];\n var posOnPath1 = trace.side === 'both' ?\n 2 * posCenterPx - posOnPath0 :\n posCenterPx;\n\n return [posOnPath0, posOnPath1];\n};\n\nexports.getKdeValue = function(calcItem, trace, valueDist) {\n var vals = calcItem.pts.map(exports.extractVal);\n var kde = exports.makeKDE(calcItem, trace, vals);\n return kde(valueDist) / calcItem.posDensityScale;\n};\n\nexports.extractVal = function(o) { return o.v; };\n\n\n/***/ }),\n\n/***/ \"06a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar clear = __webpack_require__(\"a671d\")\n , assign = __webpack_require__(\"2031\")\n , callable = __webpack_require__(\"1a94\")\n , value = __webpack_require__(\"96ae\")\n , d = __webpack_require__(\"f508\")\n , autoBind = __webpack_require__(\"986b\")\n , Symbol = __webpack_require__(\"1c4a\");\n\nvar defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n\nmodule.exports = Iterator = function (list, context) {\n\tif (!(this instanceof Iterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tdefineProperties(this, {\n\t\t__list__: d(\"w\", value(list)),\n\t\t__context__: d(\"w\", context),\n\t\t__nextIndex__: d(\"w\", 0)\n\t});\n\tif (!context) return;\n\tcallable(context.on);\n\tcontext.on(\"_add\", this._onAdd);\n\tcontext.on(\"_delete\", this._onDelete);\n\tcontext.on(\"_clear\", this._onClear);\n};\n\n// Internal %IteratorPrototype% doesn't expose its constructor\ndelete Iterator.prototype.constructor;\n\ndefineProperties(\n\tIterator.prototype,\n\tassign(\n\t\t{\n\t\t\t_next: d(function () {\n\t\t\t\tvar i;\n\t\t\t\tif (!this.__list__) return undefined;\n\t\t\t\tif (this.__redo__) {\n\t\t\t\t\ti = this.__redo__.shift();\n\t\t\t\t\tif (i !== undefined) return i;\n\t\t\t\t}\n\t\t\t\tif (this.__nextIndex__ < this.__list__.length) return this.__nextIndex__++;\n\t\t\t\tthis._unBind();\n\t\t\t\treturn undefined;\n\t\t\t}),\n\t\t\tnext: d(function () {\n\t\t\t\treturn this._createResult(this._next());\n\t\t\t}),\n\t\t\t_createResult: d(function (i) {\n\t\t\t\tif (i === undefined) return { done: true, value: undefined };\n\t\t\t\treturn { done: false, value: this._resolve(i) };\n\t\t\t}),\n\t\t\t_resolve: d(function (i) {\n\t\t\t\treturn this.__list__[i];\n\t\t\t}),\n\t\t\t_unBind: d(function () {\n\t\t\t\tthis.__list__ = null;\n\t\t\t\tdelete this.__redo__;\n\t\t\t\tif (!this.__context__) return;\n\t\t\t\tthis.__context__.off(\"_add\", this._onAdd);\n\t\t\t\tthis.__context__.off(\"_delete\", this._onDelete);\n\t\t\t\tthis.__context__.off(\"_clear\", this._onClear);\n\t\t\t\tthis.__context__ = null;\n\t\t\t}),\n\t\t\ttoString: d(function () {\n\t\t\t\treturn \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n\t\t\t})\n\t\t},\n\t\tautoBind({\n\t\t\t_onAdd: d(function (index) {\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t++this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) {\n\t\t\t\t\tdefineProperty(this, \"__redo__\", d(\"c\", [index]));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.__redo__.forEach(function (redo, i) {\n\t\t\t\t\tif (redo >= index) this.__redo__[i] = ++redo;\n\t\t\t\t}, this);\n\t\t\t\tthis.__redo__.push(index);\n\t\t\t}),\n\t\t\t_onDelete: d(function (index) {\n\t\t\t\tvar i;\n\t\t\t\tif (index >= this.__nextIndex__) return;\n\t\t\t\t--this.__nextIndex__;\n\t\t\t\tif (!this.__redo__) return;\n\t\t\t\ti = this.__redo__.indexOf(index);\n\t\t\t\tif (i !== -1) this.__redo__.splice(i, 1);\n\t\t\t\tthis.__redo__.forEach(function (redo, j) {\n\t\t\t\t\tif (redo > index) this.__redo__[j] = --redo;\n\t\t\t\t}, this);\n\t\t\t}),\n\t\t\t_onClear: d(function () {\n\t\t\t\tif (this.__redo__) clear.call(this.__redo__);\n\t\t\t\tthis.__nextIndex__ = 0;\n\t\t\t})\n\t\t})\n\t)\n);\n\ndefineProperty(\n\tIterator.prototype,\n\tSymbol.iterator,\n\td(function () {\n\t\treturn this;\n\t})\n);\n\n\n/***/ }),\n\n/***/ \"06ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"60dc\");\n\nfunction _supply(layoutIn, layoutOut, fullData, coerce, traceType) {\n var category = traceType + 'Layout';\n var hasTraceType = false;\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(Registry.traceIs(trace, category)) {\n hasTraceType = true;\n break;\n }\n }\n if(!hasTraceType) return;\n\n coerce(traceType + 'mode');\n coerce(traceType + 'gap');\n coerce(traceType + 'groupgap');\n}\n\nfunction supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n _supply(layoutIn, layoutOut, fullData, coerce, 'box');\n}\n\nmodule.exports = {\n supplyLayoutDefaults: supplyLayoutDefaults,\n _supply: _supply\n};\n\n\n/***/ }),\n\n/***/ \"06cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar propertyIsEnumerableModule = __webpack_require__(\"d1e7\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar has = __webpack_require__(\"5135\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"0cfb\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"075f\":\n/***/ (function(module, exports) {\n\nvar DEFAULT_NORMALS_EPSILON = 1e-6;\nvar DEFAULT_FACE_EPSILON = 1e-6;\n\n//Estimate the vertex normals of a mesh\nexports.vertexNormals = function(faces, positions, specifiedEpsilon) {\n\n var N = positions.length;\n var normals = new Array(N);\n var epsilon = specifiedEpsilon === void(0) ? DEFAULT_NORMALS_EPSILON : specifiedEpsilon;\n\n //Initialize normal array\n for(var i=0; i epsilon) {\n var norm = normals[c];\n var w = 1.0 / Math.sqrt(m01 * m21);\n for(var k=0; k<3; ++k) {\n var u = (k+1)%3;\n var v = (k+2)%3;\n norm[k] += w * (d21[u] * d01[v] - d21[v] * d01[u]);\n }\n }\n }\n }\n\n //Scale all normals to unit length\n for(var i=0; i epsilon) {\n var w = 1.0 / Math.sqrt(m);\n for(var k=0; k<3; ++k) {\n norm[k] *= w;\n }\n } else {\n for(var k=0; k<3; ++k) {\n norm[k] = 0.0;\n }\n }\n }\n\n //Return the resulting set of patches\n return normals;\n}\n\n//Compute face normals of a mesh\nexports.faceNormals = function(faces, positions, specifiedEpsilon) {\n\n var N = faces.length;\n var normals = new Array(N);\n var epsilon = specifiedEpsilon === void(0) ? DEFAULT_FACE_EPSILON : specifiedEpsilon;\n\n for(var i=0; i epsilon) {\n l = 1.0 / Math.sqrt(l);\n } else {\n l = 0.0;\n }\n for(var j=0; j<3; ++j) {\n n[j] *= l;\n }\n normals[i] = n;\n }\n return normals;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"076f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function handleXYDefaults(traceIn, traceOut, layout, coerce) {\n var x = coerce('x');\n var y = coerce('y');\n var len;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n if(x) {\n var xlen = Lib.minRowLength(x);\n if(y) {\n len = Math.min(xlen, Lib.minRowLength(y));\n } else {\n len = xlen;\n coerce('y0');\n coerce('dy');\n }\n } else {\n if(!y) return 0;\n\n len = Lib.minRowLength(y);\n coerce('x0');\n coerce('dx');\n }\n\n traceOut._length = len;\n\n return len;\n};\n\n\n/***/ }),\n\n/***/ \"078e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar Scene2D = __webpack_require__(\"e212\");\nvar layoutGlobalAttrs = __webpack_require__(\"a685\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar constants = __webpack_require__(\"d301\");\nvar Cartesian = __webpack_require__(\"91cd\");\nvar fxAttrs = __webpack_require__(\"927d\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\n\nexports.name = 'gl2d';\n\nexports.attr = ['xaxis', 'yaxis'];\n\nexports.idRoot = ['x', 'y'];\n\nexports.idRegex = constants.idRegex;\n\nexports.attrRegex = constants.attrRegex;\n\nexports.attributes = __webpack_require__(\"3ff7\");\n\nexports.supplyLayoutDefaults = function(layoutIn, layoutOut, fullData) {\n if(!layoutOut._has('cartesian')) {\n Cartesian.supplyLayoutDefaults(layoutIn, layoutOut, fullData);\n }\n};\n\n// gl2d uses svg axis attributes verbatim, but overrides editType\n// this could potentially be just `layoutAttributes` but it would\n// still need special handling somewhere to give it precedence over\n// the svg version when both are in use on one plot\nexports.layoutAttrOverrides = overrideAll(Cartesian.layoutAttributes, 'plot', 'from-root');\n\n// similar overrides for base plot attributes (and those added by components)\nexports.baseLayoutAttrOverrides = overrideAll({\n plot_bgcolor: layoutGlobalAttrs.plot_bgcolor,\n hoverlabel: fxAttrs.hoverlabel\n // dragmode needs calc but only when transitioning TO lasso or select\n // so for now it's left inside _relayout\n // dragmode: fxAttrs.dragmode\n}, 'plot', 'nested');\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotId = subplotIds[i];\n var subplotObj = fullLayout._plots[subplotId];\n var fullSubplotData = getSubplotData(fullData, 'gl2d', subplotId);\n\n // ref. to corresp. Scene instance\n var scene = subplotObj._scene2d;\n\n // If Scene is not instantiated, create one!\n if(scene === undefined) {\n scene = new Scene2D({\n id: subplotId,\n graphDiv: gd,\n container: gd.querySelector('.gl-container'),\n staticPlot: gd._context.staticPlot,\n plotGlPixelRatio: gd._context.plotGlPixelRatio\n },\n fullLayout\n );\n\n // set ref to Scene instance\n subplotObj._scene2d = scene;\n }\n\n scene.plot(fullSubplotData, gd.calcdata, fullLayout, gd.layout);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldSceneKeys = oldFullLayout._subplots.gl2d || [];\n\n for(var i = 0; i < oldSceneKeys.length; i++) {\n var id = oldSceneKeys[i];\n var oldSubplot = oldFullLayout._plots[id];\n\n // old subplot wasn't gl2d; nothing to do\n if(!oldSubplot._scene2d) continue;\n\n // if no traces are present, delete gl2d subplot\n var subplotData = getSubplotData(newFullData, 'gl2d', id);\n if(subplotData.length === 0) {\n oldSubplot._scene2d.destroy();\n delete oldFullLayout._plots[id];\n }\n }\n\n // since we use cartesian interactions, do cartesian clean\n Cartesian.clean.apply(this, arguments);\n};\n\nexports.drawFramework = function(gd) {\n if(!gd._context.staticPlot) {\n Cartesian.drawFramework(gd);\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplot = fullLayout._plots[subplotIds[i]];\n var scene = subplot._scene2d;\n\n var imageData = scene.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: 0,\n y: 0,\n width: '100%',\n height: '100%',\n preserveAspectRatio: 'none'\n });\n\n scene.destroy();\n }\n};\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.gl2d;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout._plots[subplotIds[i]]._scene2d;\n subplotObj.updateFx(fullLayout.dragmode);\n }\n};\n\n\n/***/ }),\n\n/***/ \"07db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar sprintf = __webpack_require__(\"e19f\").sprintf;\nvar glConstants = __webpack_require__(\"b42a\");\nvar shaderName = __webpack_require__(\"b2dd\");\nvar addLineNumbers = __webpack_require__(\"911e\");\n\nmodule.exports = formatCompilerError;\n\nfunction formatCompilerError(errLog, src, type) {\n \"use strict\";\n\n var name = shaderName(src) || 'of unknown name (see npm glsl-shader-name)';\n\n var typeName = 'unknown type';\n if (type !== undefined) {\n typeName = type === glConstants.FRAGMENT_SHADER ? 'fragment' : 'vertex'\n }\n\n var longForm = sprintf('Error compiling %s shader %s:\\n', typeName, name);\n var shortForm = sprintf(\"%s%s\", longForm, errLog);\n\n var errorStrings = errLog.split('\\n');\n var errors = {};\n\n for (var i = 0; i < errorStrings.length; i++) {\n var errorString = errorStrings[i];\n if (errorString === '' || errorString === \"\\0\") continue;\n var lineNo = parseInt(errorString.split(':')[2]);\n if (isNaN(lineNo)) {\n throw new Error(sprintf('Could not parse error: %s', errorString));\n }\n errors[lineNo] = errorString;\n }\n\n var lines = addLineNumbers(src).split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n if (!errors[i+3] && !errors[i+2] && !errors[i+1]) continue;\n var line = lines[i];\n longForm += line + '\\n';\n if (errors[i+1]) {\n var e = errors[i+1];\n e = e.substr(e.split(':', 3).join(':').length + 1).trim();\n longForm += sprintf('^^^ %s\\n\\n', e);\n }\n }\n\n return {\n long: longForm.trim(),\n short: shortForm.trim()\n };\n}\n\n\n\n/***/ }),\n\n/***/ \"07dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar attributes = __webpack_require__(\"a08c\");\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n supplyIsoDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n}\n\nfunction supplyIsoDefaults(traceIn, traceOut, defaultColor, layout, coerce) {\n var isomin = coerce('isomin');\n var isomax = coerce('isomax');\n\n if(isomax !== undefined && isomax !== null &&\n isomin !== undefined && isomin !== null &&\n isomin > isomax) {\n // applying default values in this case:\n traceOut.isomin = null;\n traceOut.isomax = null;\n }\n\n var x = coerce('x');\n var y = coerce('y');\n var z = coerce('z');\n var value = coerce('value');\n\n if(\n !x || !x.length ||\n !y || !y.length ||\n !z || !z.length ||\n !value || !value.length\n ) {\n traceOut.visible = false;\n return;\n }\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y', 'z'], layout);\n\n ['x', 'y', 'z'].forEach(function(dim) {\n var capDim = 'caps.' + dim;\n var showCap = coerce(capDim + '.show');\n if(showCap) {\n coerce(capDim + '.fill');\n }\n\n var sliceDim = 'slices.' + dim;\n var showSlice = coerce(sliceDim + '.show');\n if(showSlice) {\n coerce(sliceDim + '.fill');\n coerce(sliceDim + '.locations');\n }\n });\n\n var showSpaceframe = coerce('spaceframe.show');\n if(showSpaceframe) {\n coerce('spaceframe.fill');\n }\n\n var showSurface = coerce('surface.show');\n if(showSurface) {\n coerce('surface.count');\n coerce('surface.fill');\n coerce('surface.pattern');\n }\n\n var showContour = coerce('contour.show');\n if(showContour) {\n coerce('contour.color');\n coerce('contour.width');\n }\n\n // Coerce remaining properties\n [\n 'text',\n 'hovertext',\n 'hovertemplate',\n 'lighting.ambient',\n 'lighting.diffuse',\n 'lighting.specular',\n 'lighting.roughness',\n 'lighting.fresnel',\n 'lighting.vertexnormalsepsilon',\n 'lighting.facenormalsepsilon',\n 'lightposition.x',\n 'lightposition.y',\n 'lightposition.z',\n 'flatshading',\n 'opacity'\n ].forEach(function(x) { coerce(x); });\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'});\n\n // disable 1D transforms (for now)\n traceOut._length = null;\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults,\n supplyIsoDefaults: supplyIsoDefaults\n};\n\n\n/***/ }),\n\n/***/ \"0804\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// projection names to d3 function name\nexports.projNames = {\n // d3.geo.projection\n 'equirectangular': 'equirectangular',\n 'mercator': 'mercator',\n 'orthographic': 'orthographic',\n 'natural earth': 'naturalEarth',\n 'kavrayskiy7': 'kavrayskiy7',\n 'miller': 'miller',\n 'robinson': 'robinson',\n 'eckert4': 'eckert4',\n 'azimuthal equal area': 'azimuthalEqualArea',\n 'azimuthal equidistant': 'azimuthalEquidistant',\n 'conic equal area': 'conicEqualArea',\n 'conic conformal': 'conicConformal',\n 'conic equidistant': 'conicEquidistant',\n 'gnomonic': 'gnomonic',\n 'stereographic': 'stereographic',\n 'mollweide': 'mollweide',\n 'hammer': 'hammer',\n 'transverse mercator': 'transverseMercator',\n 'albers usa': 'albersUsa',\n 'winkel tripel': 'winkel3',\n 'aitoff': 'aitoff',\n 'sinusoidal': 'sinusoidal'\n};\n\n// name of the axes\nexports.axesNames = ['lonaxis', 'lataxis'];\n\n// max longitudinal angular span (EXPERIMENTAL)\nexports.lonaxisSpan = {\n 'orthographic': 180,\n 'azimuthal equal area': 360,\n 'azimuthal equidistant': 360,\n 'conic conformal': 180,\n 'gnomonic': 160,\n 'stereographic': 180,\n 'transverse mercator': 180,\n '*': 360\n};\n\n// max latitudinal angular span (EXPERIMENTAL)\nexports.lataxisSpan = {\n 'conic conformal': 150,\n 'stereographic': 179.5,\n '*': 180\n};\n\n// defaults for each scope\nexports.scopeDefaults = {\n world: {\n lonaxisRange: [-180, 180],\n lataxisRange: [-90, 90],\n projType: 'equirectangular',\n projRotate: [0, 0, 0]\n },\n usa: {\n lonaxisRange: [-180, -50],\n lataxisRange: [15, 80],\n projType: 'albers usa'\n },\n europe: {\n lonaxisRange: [-30, 60],\n lataxisRange: [30, 85],\n projType: 'conic conformal',\n projRotate: [15, 0, 0],\n projParallels: [0, 60]\n },\n asia: {\n lonaxisRange: [22, 160],\n lataxisRange: [-15, 55],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n },\n africa: {\n lonaxisRange: [-30, 60],\n lataxisRange: [-40, 40],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n },\n 'north america': {\n lonaxisRange: [-180, -45],\n lataxisRange: [5, 85],\n projType: 'conic conformal',\n projRotate: [-100, 0, 0],\n projParallels: [29.5, 45.5]\n },\n 'south america': {\n lonaxisRange: [-100, -30],\n lataxisRange: [-60, 15],\n projType: 'mercator',\n projRotate: [0, 0, 0]\n }\n};\n\n// angular pad to avoid rounding error around clip angles\nexports.clipPad = 1e-3;\n\n// map projection precision\nexports.precision = 0.1;\n\n// default land and water fill colors\nexports.landColor = '#F0DC82';\nexports.waterColor = '#3399FF';\n\n// locationmode to layer name\nexports.locationmodeToLayer = {\n 'ISO-3': 'countries',\n 'USA-states': 'subunits',\n 'country names': 'countries'\n};\n\n// SVG element for a sphere (use to frame maps)\nexports.sphereSVG = {type: 'Sphere'};\n\n// N.B. base layer names must be the same as in the topojson files\n\n// base layer with a fill color\nexports.fillLayers = {\n ocean: 1,\n land: 1,\n lakes: 1\n};\n\n// base layer with a only a line color\nexports.lineLayers = {\n subunits: 1,\n countries: 1,\n coastlines: 1,\n rivers: 1,\n frame: 1\n};\n\nexports.layers = [\n 'bg',\n 'ocean', 'land', 'lakes',\n 'subunits', 'countries', 'coastlines', 'rivers',\n 'lataxis', 'lonaxis', 'frame',\n 'backplot',\n 'frontplot'\n];\n\nexports.layersForChoropleth = [\n 'bg',\n 'ocean', 'land',\n 'subunits', 'countries', 'coastlines',\n 'lataxis', 'lonaxis', 'frame',\n 'backplot',\n 'rivers', 'lakes',\n 'frontplot'\n];\n\nexports.layerNameToAdjective = {\n ocean: 'ocean',\n land: 'land',\n lakes: 'lake',\n subunits: 'subunit',\n countries: 'country',\n coastlines: 'coastline',\n rivers: 'river',\n frame: 'frame'\n};\n\n\n/***/ }),\n\n/***/ \"085f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar doubleBits = __webpack_require__(\"abc0\")\n\nvar SMALLEST_DENORM = Math.pow(2, -1074)\nvar UINT_MAX = (-1)>>>0\n\nmodule.exports = nextafter\n\nfunction nextafter(x, y) {\n if(isNaN(x) || isNaN(y)) {\n return NaN\n }\n if(x === y) {\n return x\n }\n if(x === 0) {\n if(y < 0) {\n return -SMALLEST_DENORM\n } else {\n return SMALLEST_DENORM\n }\n }\n var hi = doubleBits.hi(x)\n var lo = doubleBits.lo(x)\n if((y > x) === (x > 0)) {\n if(lo === UINT_MAX) {\n hi += 1\n lo = 0\n } else {\n lo += 1\n }\n } else {\n if(lo === 0) {\n lo = UINT_MAX\n hi -= 1\n } else {\n lo -= 1\n }\n }\n return doubleBits.pack(lo, hi)\n}\n\n/***/ }),\n\n/***/ \"089c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n solid: [[], 0],\n dot: [[0.5, 1], 200],\n dash: [[0.5, 1], 50],\n longdash: [[0.5, 1], 10],\n dashdot: [[0.5, 0.625, 0.875, 1], 50],\n longdashdot: [[0.5, 0.7, 0.8, 1], 10]\n};\n\n\n/***/ }),\n\n/***/ \"08ed\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'barpolar',\n basePlotModule: __webpack_require__(\"c07c\"),\n categories: ['polar', 'bar', 'showLegend'],\n\n attributes: __webpack_require__(\"792f\"),\n layoutAttributes: __webpack_require__(\"4ce7\"),\n supplyDefaults: __webpack_require__(\"5da2\"),\n supplyLayoutDefaults: __webpack_require__(\"25f3\"),\n\n calc: __webpack_require__(\"ce20\").calc,\n crossTraceCalc: __webpack_require__(\"ce20\").crossTraceCalc,\n\n plot: __webpack_require__(\"ec16\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"98e74\"),\n\n style: __webpack_require__(\"2df3\").style,\n styleOnSelect: __webpack_require__(\"2df3\").styleOnSelect,\n\n hoverPoints: __webpack_require__(\"f11b\"),\n selectPoints: __webpack_require__(\"7000\"),\n\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"0919\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar countryRegex = __webpack_require__(\"cec7\");\nvar turfArea = __webpack_require__(\"3b74\");\nvar turfCentroid = __webpack_require__(\"8dde\");\nvar turfBbox = __webpack_require__(\"409f\");\n\nvar identity = __webpack_require__(\"306c\");\nvar loggers = __webpack_require__(\"ae13\");\nvar isPlainObject = __webpack_require__(\"1385\");\nvar nestedProperty = __webpack_require__(\"74d6\");\nvar polygon = __webpack_require__(\"b68b\");\n\n// make list of all country iso3 ids from at runtime\nvar countryIds = Object.keys(countryRegex);\n\nvar locationmodeToIdFinder = {\n 'ISO-3': identity,\n 'USA-states': identity,\n 'country names': countryNameToISO3\n};\n\nfunction countryNameToISO3(countryName) {\n for(var i = 0; i < countryIds.length; i++) {\n var iso3 = countryIds[i];\n var regex = new RegExp(countryRegex[iso3]);\n\n if(regex.test(countryName.trim().toLowerCase())) return iso3;\n }\n\n loggers.log('Unrecognized country name: ' + countryName + '.');\n\n return false;\n}\n\nfunction locationToFeature(locationmode, location, features) {\n if(!location || typeof location !== 'string') return false;\n\n var locationId = locationmodeToIdFinder[locationmode](location);\n var filteredFeatures;\n var f, i;\n\n if(locationId) {\n if(locationmode === 'USA-states') {\n // Filter out features out in USA\n //\n // This is important as the Natural Earth files\n // include state/provinces from USA, Canada, Australia and Brazil\n // which have some overlay in their two-letter ids. For example,\n // 'WA' is used for both Washington state and Western Australia.\n filteredFeatures = [];\n for(i = 0; i < features.length; i++) {\n f = features[i];\n if(f.properties && f.properties.gu && f.properties.gu === 'USA') {\n filteredFeatures.push(f);\n }\n }\n } else {\n filteredFeatures = features;\n }\n\n for(i = 0; i < filteredFeatures.length; i++) {\n f = filteredFeatures[i];\n if(f.id === locationId) return f;\n }\n\n loggers.log([\n 'Location with id', locationId,\n 'does not have a matching topojson feature at this resolution.'\n ].join(' '));\n }\n\n return false;\n}\n\nfunction feature2polygons(feature) {\n var geometry = feature.geometry;\n var coords = geometry.coordinates;\n var loc = feature.id;\n\n var polygons = [];\n var appendPolygon, j, k, m;\n\n function doesCrossAntiMerdian(pts) {\n for(var l = 0; l < pts.length - 1; l++) {\n if(pts[l][0] > 0 && pts[l + 1][0] < 0) return l;\n }\n return null;\n }\n\n if(loc === 'RUS' || loc === 'FJI') {\n // Russia and Fiji have landmasses that cross the antimeridian,\n // we need to add +360 to their longitude coordinates, so that\n // polygon 'contains' doesn't get confused when crossing the antimeridian.\n //\n // Note that other countries have polygons on either side of the antimeridian\n // (e.g. some Aleutian island for the USA), but those don't confuse\n // the 'contains' method; these are skipped here.\n appendPolygon = function(_pts) {\n var pts;\n\n if(doesCrossAntiMerdian(_pts) === null) {\n pts = _pts;\n } else {\n pts = new Array(_pts.length);\n for(m = 0; m < _pts.length; m++) {\n // do not mutate calcdata[i][j].geojson !!\n pts[m] = [\n _pts[m][0] < 0 ? _pts[m][0] + 360 : _pts[m][0],\n _pts[m][1]\n ];\n }\n }\n\n polygons.push(polygon.tester(pts));\n };\n } else if(loc === 'ATA') {\n // Antarctica has a landmass that wraps around every longitudes which\n // confuses the 'contains' methods.\n appendPolygon = function(pts) {\n var crossAntiMeridianIndex = doesCrossAntiMerdian(pts);\n\n // polygon that do not cross anti-meridian need no special handling\n if(crossAntiMeridianIndex === null) {\n return polygons.push(polygon.tester(pts));\n }\n\n // stitch polygon by adding pt over South Pole,\n // so that it covers the projected region covers all latitudes\n //\n // Note that the algorithm below only works for polygons that\n // start and end on longitude -180 (like the ones built by\n // https://github.com/etpinard/sane-topojson).\n var stitch = new Array(pts.length + 1);\n var si = 0;\n\n for(m = 0; m < pts.length; m++) {\n if(m > crossAntiMeridianIndex) {\n stitch[si++] = [pts[m][0] + 360, pts[m][1]];\n } else if(m === crossAntiMeridianIndex) {\n stitch[si++] = pts[m];\n stitch[si++] = [pts[m][0], -90];\n } else {\n stitch[si++] = pts[m];\n }\n }\n\n // polygon.tester by default appends pt[0] to the points list,\n // we must remove it here, to avoid a jump in longitude from 180 to -180,\n // that would confuse the 'contains' method\n var tester = polygon.tester(stitch);\n tester.pts.pop();\n polygons.push(tester);\n };\n } else {\n // otherwise using same array ref is fine\n appendPolygon = function(pts) {\n polygons.push(polygon.tester(pts));\n };\n }\n\n switch(geometry.type) {\n case 'MultiPolygon':\n for(j = 0; j < coords.length; j++) {\n for(k = 0; k < coords[j].length; k++) {\n appendPolygon(coords[j][k]);\n }\n }\n break;\n case 'Polygon':\n for(j = 0; j < coords.length; j++) {\n appendPolygon(coords[j]);\n }\n break;\n }\n\n return polygons;\n}\n\nfunction getTraceGeojson(trace) {\n var g = trace.geojson;\n var PlotlyGeoAssets = window.PlotlyGeoAssets || {};\n var geojsonIn = typeof g === 'string' ? PlotlyGeoAssets[g] : g;\n\n // This should not happen, but just in case something goes\n // really wrong when fetching the GeoJSON\n if(!isPlainObject(geojsonIn)) {\n loggers.error('Oops ... something went wrong when fetching ' + g);\n return false;\n }\n\n return geojsonIn;\n}\n\nfunction extractTraceFeature(calcTrace) {\n var trace = calcTrace[0].trace;\n\n var geojsonIn = getTraceGeojson(trace);\n if(!geojsonIn) return false;\n\n var lookup = {};\n var featuresOut = [];\n var i;\n\n for(i = 0; i < trace._length; i++) {\n var cdi = calcTrace[i];\n if(cdi.loc || cdi.loc === 0) {\n lookup[cdi.loc] = cdi;\n }\n }\n\n function appendFeature(fIn) {\n var id = nestedProperty(fIn, trace.featureidkey || 'id').get();\n var cdi = lookup[id];\n\n if(cdi) {\n var geometry = fIn.geometry;\n\n if(geometry.type === 'Polygon' || geometry.type === 'MultiPolygon') {\n var fOut = {\n type: 'Feature',\n id: id,\n geometry: geometry,\n properties: {}\n };\n\n // Compute centroid, add it to the properties\n fOut.properties.ct = findCentroid(fOut);\n\n // Mutate in in/out features into calcdata\n cdi.fIn = fIn;\n cdi.fOut = fOut;\n\n featuresOut.push(fOut);\n } else {\n loggers.log([\n 'Location', cdi.loc, 'does not have a valid GeoJSON geometry.',\n 'Traces with locationmode *geojson-id* only support',\n '*Polygon* and *MultiPolygon* geometries.'\n ].join(' '));\n }\n }\n\n // remove key from lookup, so that we can track (if any)\n // the locations that did not have a corresponding GeoJSON feature\n delete lookup[id];\n }\n\n switch(geojsonIn.type) {\n case 'FeatureCollection':\n var featuresIn = geojsonIn.features;\n for(i = 0; i < featuresIn.length; i++) {\n appendFeature(featuresIn[i]);\n }\n break;\n case 'Feature':\n appendFeature(geojsonIn);\n break;\n default:\n loggers.warn([\n 'Invalid GeoJSON type', (geojsonIn.type || 'none') + '.',\n 'Traces with locationmode *geojson-id* only support',\n '*FeatureCollection* and *Feature* types.'\n ].join(' '));\n return false;\n }\n\n for(var loc in lookup) {\n loggers.log([\n 'Location *' + loc + '*',\n 'does not have a matching feature with id-key',\n '*' + trace.featureidkey + '*.'\n ].join(' '));\n }\n\n return featuresOut;\n}\n\n// TODO this find the centroid of the polygon of maxArea\n// (just like we currently do for geo choropleth polygons),\n// maybe instead it would make more sense to compute the centroid\n// of each polygon and consider those on hover/select\nfunction findCentroid(feature) {\n var geometry = feature.geometry;\n var poly;\n\n if(geometry.type === 'MultiPolygon') {\n var coords = geometry.coordinates;\n var maxArea = 0;\n\n for(var i = 0; i < coords.length; i++) {\n var polyi = {type: 'Polygon', coordinates: coords[i]};\n var area = turfArea.default(polyi);\n if(area > maxArea) {\n maxArea = area;\n poly = polyi;\n }\n }\n } else {\n poly = geometry;\n }\n\n return turfCentroid.default(poly).geometry.coordinates;\n}\n\nfunction fetchTraceGeoData(calcData) {\n var PlotlyGeoAssets = window.PlotlyGeoAssets || {};\n var promises = [];\n\n function fetch(url) {\n return new Promise(function(resolve, reject) {\n d3.json(url, function(err, d) {\n if(err) {\n delete PlotlyGeoAssets[url];\n var msg = err.status === 404 ?\n ('GeoJSON at URL \"' + url + '\" does not exist.') :\n ('Unexpected error while fetching from ' + url);\n return reject(new Error(msg));\n }\n\n PlotlyGeoAssets[url] = d;\n return resolve(d);\n });\n });\n }\n\n function wait(url) {\n return new Promise(function(resolve, reject) {\n var cnt = 0;\n var interval = setInterval(function() {\n if(PlotlyGeoAssets[url] && PlotlyGeoAssets[url] !== 'pending') {\n clearInterval(interval);\n return resolve(PlotlyGeoAssets[url]);\n }\n if(cnt > 100) {\n clearInterval(interval);\n return reject('Unexpected error while fetching from ' + url);\n }\n cnt++;\n }, 50);\n });\n }\n\n for(var i = 0; i < calcData.length; i++) {\n var trace = calcData[i][0].trace;\n var url = trace.geojson;\n\n if(typeof url === 'string') {\n if(!PlotlyGeoAssets[url]) {\n PlotlyGeoAssets[url] = 'pending';\n promises.push(fetch(url));\n } else if(PlotlyGeoAssets[url] === 'pending') {\n promises.push(wait(url));\n }\n }\n }\n\n return promises;\n}\n\n// TODO `turf/bbox` gives wrong result when the input feature/geometry\n// crosses the anti-meridian. We should try to implement our own bbox logic.\nfunction computeBbox(d) {\n return turfBbox.default(d);\n}\n\nmodule.exports = {\n locationToFeature: locationToFeature,\n feature2polygons: feature2polygons,\n getTraceGeojson: getTraceGeojson,\n extractTraceFeature: extractTraceFeature,\n fetchTraceGeoData: fetchTraceGeoData,\n computeBbox: computeBbox\n};\n\n\n/***/ }),\n\n/***/ \"093d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rat = __webpack_require__(\"f7bf\")\nvar mul = __webpack_require__(\"3bd6\")\n\nmodule.exports = muls\n\nfunction muls(a, x) {\n var s = rat(x)\n var n = a.length\n var r = new Array(n)\n for(var i=0; i= 0xd800 && code <= 0xdbff) return char + this.__list__[this.__nextIndex__++];\n\t\treturn char;\n\t})\n});\ndefineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n\n\n/***/ }),\n\n/***/ \"0a3e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar identity = __webpack_require__(\"306c\");\n\nfunction wrap(d) {return [d];}\n\nmodule.exports = {\n\n // The D3 data binding concept and the General Update Pattern promotes the idea of\n // traversing into the scenegraph by using the `.data(fun, keyFun)` call.\n // The `fun` is most often a `repeat`, ie. the elements beneath a `` element need\n // access to the same data, or a `descend`, which fans a scenegraph node into a bunch of\n // of elements, e.g. points, lines, rows, requiring an array as input.\n // The role of the `keyFun` is to identify what elements are being entered/exited/updated,\n // otherwise D3 reverts to using a plain index which would screw up `transition`s.\n keyFun: function(d) {return d.key;},\n repeat: wrap,\n descend: identity,\n\n // Plotly.js uses a convention of storing the actual contents of the `calcData` as the\n // element zero of a container array. These helpers are just used for clarity as a\n // newcomer to the codebase may not know what the `[0]` is, and whether there can be further\n // elements (not atm).\n wrap: wrap,\n unwrap: function(d) {return d[0];}\n};\n\n\n/***/ }),\n\n/***/ \"0a4a\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/center.js\n/* harmony default export */ var center = (function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/constant.js\n/* harmony default export */ var constant = (function(x) {\n return function() {\n return x;\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/jiggle.js\n/* harmony default export */ var jiggle = (function() {\n return (Math.random() - 0.5) * 1e-6;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/add.js\n/* harmony default export */ var add = (function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add_add(this.cover(x, y), x, y, d);\n});\n\nfunction add_add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nfunction addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add_add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/cover.js\n/* harmony default export */ var cover = (function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/data.js\n/* harmony default export */ var src_data = (function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/extent.js\n/* harmony default export */ var extent = (function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/quad.js\n/* harmony default export */ var src_quad = (function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/find.js\n\n\n/* harmony default export */ var find = (function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new src_quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new src_quad(node[3], xm, ym, x2, y2),\n new src_quad(node[2], x1, ym, xm, y2),\n new src_quad(node[1], xm, y1, x2, ym),\n new src_quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/remove.js\n/* harmony default export */ var remove = (function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n});\n\nfunction removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/root.js\n/* harmony default export */ var root = (function() {\n return this._root;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/size.js\n/* harmony default export */ var size = (function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/visit.js\n\n\n/* harmony default export */ var visit = (function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new src_quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new src_quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new src_quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new src_quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new src_quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/visitAfter.js\n\n\n/* harmony default export */ var visitAfter = (function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new src_quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new src_quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new src_quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new src_quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new src_quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/x.js\nfunction defaultX(d) {\n return d[0];\n}\n\n/* harmony default export */ var src_x = (function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/y.js\nfunction defaultY(d) {\n return d[1];\n}\n\n/* harmony default export */ var src_y = (function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-quadtree/src/quadtree.js\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = add;\ntreeProto.addAll = addAll;\ntreeProto.cover = cover;\ntreeProto.data = src_data;\ntreeProto.extent = extent;\ntreeProto.find = find;\ntreeProto.remove = remove;\ntreeProto.removeAll = removeAll;\ntreeProto.root = root;\ntreeProto.size = size;\ntreeProto.visit = visit;\ntreeProto.visitAfter = visitAfter;\ntreeProto.x = src_x;\ntreeProto.y = src_y;\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/collide.js\n\n\n\n\nfunction collide_x(d) {\n return d.x + d.vx;\n}\n\nfunction collide_y(d) {\n return d.y + d.vy;\n}\n\n/* harmony default export */ var collide = (function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, collide_x, collide_y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n});\n\n// EXTERNAL MODULE: ./node_modules/d3-collection/src/index.js + 6 modules\nvar src = __webpack_require__(\"6f04\");\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/link.js\n\n\n\n\nfunction index(d) {\n return d.index;\n}\n\nfunction link_find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\n/* harmony default export */ var src_link = (function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = Object(src[\"a\" /* map */])(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = link_find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = link_find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-dispatch/src/dispatch.js\nvar noop = {value: function() {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\n/* harmony default export */ var src_dispatch = (dispatch);\n\n// CONCATENATED MODULE: ./node_modules/d3-timer/src/timer.js\nvar timer_frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nfunction now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nfunction Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nfunction timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nfunction timerFlush() {\n now(); // Get the current time, if not already set.\n ++timer_frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --timer_frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n timer_frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n timer_frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (timer_frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n timer_frame = 1, setFrame(wake);\n }\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/simulation.js\n\n\n\n\nfunction simulation_x(d) {\n return d.x;\n}\n\nfunction simulation_y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\n/* harmony default export */ var src_simulation = (function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = Object(src[\"a\" /* map */])(),\n stepper = timer(step),\n event = src_dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function (force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/manyBody.js\n\n\n\n\n\n/* harmony default export */ var manyBody = (function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, simulation_x, simulation_y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/radial.js\n\n\n/* harmony default export */ var radial = (function(radius, x, y) {\n var nodes,\n strength = constant(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = constant(+radius);\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force(alpha) {\n for (var i = 0, n = nodes.length; i < n; ++i) {\n var node = nodes[i],\n dx = node.x - x || 1e-6,\n dy = node.y - y || 1e-6,\n r = Math.sqrt(dx * dx + dy * dy),\n k = (radiuses[i] - r) * strengths[i] * alpha / r;\n node.vx += dx * k;\n node.vy += dy * k;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n radiuses = new Array(n);\n for (i = 0; i < n; ++i) {\n radiuses[i] = +radius(nodes[i], i, nodes);\n strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _, initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/x.js\n\n\n/* harmony default export */ var d3_force_src_x = (function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/y.js\n\n\n/* harmony default export */ var d3_force_src_y = (function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-force/src/index.js\n/* concated harmony reexport forceCenter */__webpack_require__.d(__webpack_exports__, \"forceCenter\", function() { return center; });\n/* concated harmony reexport forceCollide */__webpack_require__.d(__webpack_exports__, \"forceCollide\", function() { return collide; });\n/* concated harmony reexport forceLink */__webpack_require__.d(__webpack_exports__, \"forceLink\", function() { return src_link; });\n/* concated harmony reexport forceManyBody */__webpack_require__.d(__webpack_exports__, \"forceManyBody\", function() { return manyBody; });\n/* concated harmony reexport forceRadial */__webpack_require__.d(__webpack_exports__, \"forceRadial\", function() { return radial; });\n/* concated harmony reexport forceSimulation */__webpack_require__.d(__webpack_exports__, \"forceSimulation\", function() { return src_simulation; });\n/* concated harmony reexport forceX */__webpack_require__.d(__webpack_exports__, \"forceX\", function() { return d3_force_src_x; });\n/* concated harmony reexport forceY */__webpack_require__.d(__webpack_exports__, \"forceY\", function() { return d3_force_src_y; });\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"0adf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar convertColumnData = __webpack_require__(\"d064\");\nvar clean2dArray = __webpack_require__(\"1b6a\");\nvar interp2d = __webpack_require__(\"2d0e\");\nvar findEmpties = __webpack_require__(\"0c3a\");\nvar makeBoundArray = __webpack_require__(\"d706\");\nvar supplyDefaults = __webpack_require__(\"eb12\");\nvar lookupCarpet = __webpack_require__(\"9b68\");\nvar setContours = __webpack_require__(\"8a7d\");\n\n// most is the same as heatmap calc, then adjust it\n// though a few things inside heatmap calc still look for\n// contour maps, because the makeBoundArray calls are too entangled\nmodule.exports = function calc(gd, trace) {\n var carpet = trace._carpetTrace = lookupCarpet(gd, trace);\n if(!carpet || !carpet.visible || carpet.visible === 'legendonly') return;\n\n if(!trace.a || !trace.b) {\n // Look up the original incoming carpet data:\n var carpetdata = gd.data[carpet.index];\n\n // Look up the incoming trace data, *except* perform a shallow\n // copy so that we're not actually modifying it when we use it\n // to supply defaults:\n var tracedata = gd.data[trace.index];\n // var tracedata = extendFlat({}, gd.data[trace.index]);\n\n // If the data is not specified\n if(!tracedata.a) tracedata.a = carpetdata.a;\n if(!tracedata.b) tracedata.b = carpetdata.b;\n\n supplyDefaults(tracedata, trace, trace._defaultColor, gd._fullLayout);\n }\n\n var cd = heatmappishCalc(gd, trace);\n setContours(trace, trace._z);\n\n return cd;\n};\n\nfunction heatmappishCalc(gd, trace) {\n // prepare the raw data\n // run makeCalcdata on x and y even for heatmaps, in case of category mappings\n var carpet = trace._carpetTrace;\n var aax = carpet.aaxis;\n var bax = carpet.baxis;\n var a,\n a0,\n da,\n b,\n b0,\n db,\n z;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n aax._minDtick = 0;\n bax._minDtick = 0;\n\n if(Lib.isArray1D(trace.z)) convertColumnData(trace, aax, bax, 'a', 'b', ['z']);\n a = trace._a = trace._a || trace.a;\n b = trace._b = trace._b || trace.b;\n\n a = a ? aax.makeCalcdata(trace, '_a') : [];\n b = b ? bax.makeCalcdata(trace, '_b') : [];\n a0 = trace.a0 || 0;\n da = trace.da || 1;\n b0 = trace.b0 || 0;\n db = trace.db || 1;\n\n z = trace._z = clean2dArray(trace._z || trace.z, trace.transpose);\n\n trace._emptypoints = findEmpties(z);\n interp2d(z, trace._emptypoints);\n\n // create arrays of brick boundaries, to be used by autorange and heatmap.plot\n var xlen = Lib.maxRowLength(z);\n var xIn = trace.xtype === 'scaled' ? '' : a;\n var xArray = makeBoundArray(trace, xIn, a0, da, xlen, aax);\n var yIn = trace.ytype === 'scaled' ? '' : b;\n var yArray = makeBoundArray(trace, yIn, b0, db, z.length, bax);\n\n var cd0 = {\n a: xArray,\n b: yArray,\n z: z,\n };\n\n if(trace.contours.type === 'levels' && trace.contours.coloring !== 'none') {\n // auto-z and autocolorscale if applicable\n colorscaleCalc(gd, trace, {\n vals: z,\n containerStr: '',\n cLetter: 'z'\n });\n }\n\n return [cd0];\n}\n\n\n/***/ }),\n\n/***/ \"0af2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar calcColorscale = __webpack_require__(\"09bd\");\nvar calcMarkerSize = __webpack_require__(\"70b4\").calcMarkerSize;\nvar convert = __webpack_require__(\"c879\");\nvar Axes = __webpack_require__(\"0642\");\nvar TOO_MANY_POINTS = __webpack_require__(\"b326\").TOO_MANY_POINTS;\n\nmodule.exports = function calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var subplotId = trace.subplot;\n var radialAxis = fullLayout[subplotId].radialaxis;\n var angularAxis = fullLayout[subplotId].angularaxis;\n var rArray = trace._r = radialAxis.makeCalcdata(trace, 'r');\n var thetaArray = trace._theta = angularAxis.makeCalcdata(trace, 'theta');\n var len = trace._length;\n var stash = {};\n\n if(len < rArray.length) rArray = rArray.slice(0, len);\n if(len < thetaArray.length) thetaArray = thetaArray.slice(0, len);\n\n stash.r = rArray;\n stash.theta = thetaArray;\n\n calcColorscale(gd, trace);\n\n // only compute 'style' options in calc, as position options\n // depend on the radial range and must be set in plot\n var opts = stash.opts = convert.style(gd, trace);\n\n // For graphs with very large number of points and array marker.size,\n // use average marker size instead to speed things up.\n var ppad;\n if(len < TOO_MANY_POINTS) {\n ppad = calcMarkerSize(trace, len);\n } else if(opts.marker) {\n ppad = 2 * (opts.marker.sizeAvg || Math.max(opts.marker.size, 3));\n }\n trace._extremes.x = Axes.findExtremes(radialAxis, rArray, {ppad: ppad});\n\n return [{x: false, y: false, t: stash, trace: trace}];\n};\n\n\n/***/ }),\n\n/***/ \"0b1d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar twoProduct = __webpack_require__(\"c01c\")\nvar robustSum = __webpack_require__(\"a026\")\nvar robustDiff = __webpack_require__(\"e100\")\nvar robustScale = __webpack_require__(\"0dd1\")\n\nvar NUM_EXPAND = 6\n\nfunction cofactor(m, c) {\n var result = new Array(m.length-1)\n for(var i=1; i>1\n return [\"sum(\", generateSum(expr.slice(0, m)), \",\", generateSum(expr.slice(m)), \")\"].join(\"\")\n }\n}\n\nfunction makeProduct(a, b) {\n if(a.charAt(0) === \"m\") {\n if(b.charAt(0) === \"w\") {\n var toks = a.split(\"[\")\n return [\"w\", b.substr(1), \"m\", toks[0].substr(1)].join(\"\")\n } else {\n return [\"prod(\", a, \",\", b, \")\"].join(\"\")\n }\n } else {\n return makeProduct(b, a)\n }\n}\n\nfunction sign(s) {\n if(s & 1 !== 0) {\n return \"-\"\n }\n return \"\"\n}\n\nfunction determinant(m) {\n if(m.length === 2) {\n return [[\"diff(\", makeProduct(m[0][0], m[1][1]), \",\", makeProduct(m[1][0], m[0][1]), \")\"].join(\"\")]\n } else {\n var expr = []\n for(var i=0; i ncnt * 2);\n}\n\n// are the (x,y)-values in gd.data mostly text?\n// require twice as many DISTINCT categories as distinct numbers\nfunction category(a) {\n // test at most 1000 points\n var inc = Math.max(1, (a.length - 1) / 1000);\n var curvenums = 0;\n var curvecats = 0;\n var seen = {};\n\n for(var i = 0; i < a.length; i += inc) {\n var ai = a[Math.round(i)];\n var stri = String(ai);\n if(seen[stri]) continue;\n seen[stri] = 1;\n\n if(typeof ai === 'boolean') curvecats++;\n else if(Lib.cleanNumber(ai) !== BADNUM) curvenums++;\n else if(typeof ai === 'string') curvecats++;\n }\n\n return curvecats > curvenums * 2;\n}\n\n// very-loose requirements for multicategory,\n// trace modules that should never auto-type to multicategory\n// should be declared with 'noMultiCategory'\nfunction multiCategory(a) {\n return Lib.isArrayOrTypedArray(a[0]) && Lib.isArrayOrTypedArray(a[1]);\n}\n\n\n/***/ }),\n\n/***/ \"0b79\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Taiwanese (Minguo) calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) February 2010.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\nvar gregorianCalendar = main.instance();\n\n/** Implementation of the Taiwanese calendar.\n See http://en.wikipedia.org/wiki/Minguo_calendar.\n @class TaiwanCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction TaiwanCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nTaiwanCalendar.prototype = new main.baseCalendar;\n\nassign(TaiwanCalendar.prototype, {\n /** The calendar name.\n @memberof TaiwanCalendar */\n name: 'Taiwan',\n /** Julian date of start of Taiwan epoch: 1 January 1912 CE (Gregorian).\n @memberof TaiwanCalendar */\n jdEpoch: 2419402.5,\n /** Difference in years between Taiwan and Gregorian calendars.\n @memberof TaiwanCalendar */\n yearsOffset: 1911,\n /** Days per month in a common year.\n @memberof TaiwanCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof TaiwanCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof TaiwanCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof TaiwanCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof TaiwanCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof TaiwanCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Taiwan',\n epochs: ['BROC', 'ROC'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 1,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.leapYear(year);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.weekOfYear(year, date.month(), date.day());\n },\n\n /** Retrieve the number of days in a month.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof TaiwanCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.toJD(year, date.month(), date.day());\n },\n\n /** Create a new date from a Julian date.\n @memberof TaiwanCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n var date = gregorianCalendar.fromJD(jd);\n var year = this._g2tYear(date.year());\n return this.newDate(year, date.month(), date.day());\n },\n\n /** Convert Taiwanese to Gregorian year.\n @memberof TaiwanCalendar\n @private\n @param year {number} The Taiwanese year.\n @return {number} The corresponding Gregorian year. */\n _t2gYear: function(year) {\n return year + this.yearsOffset + (year >= -this.yearsOffset && year <= -1 ? 1 : 0);\n },\n\n /** Convert Gregorian to Taiwanese year.\n @memberof TaiwanCalendar\n @private\n @param year {number} The Gregorian year.\n @return {number} The corresponding Taiwanese year. */\n _g2tYear: function(year) {\n return year - this.yearsOffset - (year >= 1 && year <= this.yearsOffset ? 1 : 0);\n }\n});\n\n// Taiwan calendar implementation\nmain.calendars.taiwan = TaiwanCalendar;\n\n\n\n/***/ }),\n\n/***/ \"0b89\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar TAU = Math.PI * 2;\n\nvar mapToEllipse = function mapToEllipse(_ref, rx, ry, cosphi, sinphi, centerx, centery) {\n var x = _ref.x,\n y = _ref.y;\n\n x *= rx;\n y *= ry;\n\n var xp = cosphi * x - sinphi * y;\n var yp = sinphi * x + cosphi * y;\n\n return {\n x: xp + centerx,\n y: yp + centery\n };\n};\n\nvar approxUnitArc = function approxUnitArc(ang1, ang2) {\n // If 90 degree circular arc, use a constant\n // as derived from http://spencermortensen.com/articles/bezier-circle\n var a = ang2 === 1.5707963267948966 ? 0.551915024494 : ang2 === -1.5707963267948966 ? -0.551915024494 : 4 / 3 * Math.tan(ang2 / 4);\n\n var x1 = Math.cos(ang1);\n var y1 = Math.sin(ang1);\n var x2 = Math.cos(ang1 + ang2);\n var y2 = Math.sin(ang1 + ang2);\n\n return [{\n x: x1 - y1 * a,\n y: y1 + x1 * a\n }, {\n x: x2 + y2 * a,\n y: y2 - x2 * a\n }, {\n x: x2,\n y: y2\n }];\n};\n\nvar vectorAngle = function vectorAngle(ux, uy, vx, vy) {\n var sign = ux * vy - uy * vx < 0 ? -1 : 1;\n\n var dot = ux * vx + uy * vy;\n\n if (dot > 1) {\n dot = 1;\n }\n\n if (dot < -1) {\n dot = -1;\n }\n\n return sign * Math.acos(dot);\n};\n\nvar getArcCenter = function getArcCenter(px, py, cx, cy, rx, ry, largeArcFlag, sweepFlag, sinphi, cosphi, pxp, pyp) {\n var rxsq = Math.pow(rx, 2);\n var rysq = Math.pow(ry, 2);\n var pxpsq = Math.pow(pxp, 2);\n var pypsq = Math.pow(pyp, 2);\n\n var radicant = rxsq * rysq - rxsq * pypsq - rysq * pxpsq;\n\n if (radicant < 0) {\n radicant = 0;\n }\n\n radicant /= rxsq * pypsq + rysq * pxpsq;\n radicant = Math.sqrt(radicant) * (largeArcFlag === sweepFlag ? -1 : 1);\n\n var centerxp = radicant * rx / ry * pyp;\n var centeryp = radicant * -ry / rx * pxp;\n\n var centerx = cosphi * centerxp - sinphi * centeryp + (px + cx) / 2;\n var centery = sinphi * centerxp + cosphi * centeryp + (py + cy) / 2;\n\n var vx1 = (pxp - centerxp) / rx;\n var vy1 = (pyp - centeryp) / ry;\n var vx2 = (-pxp - centerxp) / rx;\n var vy2 = (-pyp - centeryp) / ry;\n\n var ang1 = vectorAngle(1, 0, vx1, vy1);\n var ang2 = vectorAngle(vx1, vy1, vx2, vy2);\n\n if (sweepFlag === 0 && ang2 > 0) {\n ang2 -= TAU;\n }\n\n if (sweepFlag === 1 && ang2 < 0) {\n ang2 += TAU;\n }\n\n return [centerx, centery, ang1, ang2];\n};\n\nvar arcToBezier = function arcToBezier(_ref2) {\n var px = _ref2.px,\n py = _ref2.py,\n cx = _ref2.cx,\n cy = _ref2.cy,\n rx = _ref2.rx,\n ry = _ref2.ry,\n _ref2$xAxisRotation = _ref2.xAxisRotation,\n xAxisRotation = _ref2$xAxisRotation === undefined ? 0 : _ref2$xAxisRotation,\n _ref2$largeArcFlag = _ref2.largeArcFlag,\n largeArcFlag = _ref2$largeArcFlag === undefined ? 0 : _ref2$largeArcFlag,\n _ref2$sweepFlag = _ref2.sweepFlag,\n sweepFlag = _ref2$sweepFlag === undefined ? 0 : _ref2$sweepFlag;\n\n var curves = [];\n\n if (rx === 0 || ry === 0) {\n return [];\n }\n\n var sinphi = Math.sin(xAxisRotation * TAU / 360);\n var cosphi = Math.cos(xAxisRotation * TAU / 360);\n\n var pxp = cosphi * (px - cx) / 2 + sinphi * (py - cy) / 2;\n var pyp = -sinphi * (px - cx) / 2 + cosphi * (py - cy) / 2;\n\n if (pxp === 0 && pyp === 0) {\n return [];\n }\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var lambda = Math.pow(pxp, 2) / Math.pow(rx, 2) + Math.pow(pyp, 2) / Math.pow(ry, 2);\n\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n\n var _getArcCenter = getArcCenter(px, py, cx, cy, rx, ry, largeArcFlag, sweepFlag, sinphi, cosphi, pxp, pyp),\n _getArcCenter2 = _slicedToArray(_getArcCenter, 4),\n centerx = _getArcCenter2[0],\n centery = _getArcCenter2[1],\n ang1 = _getArcCenter2[2],\n ang2 = _getArcCenter2[3];\n\n // If 'ang2' == 90.0000000001, then `ratio` will evaluate to\n // 1.0000000001. This causes `segments` to be greater than one, which is an\n // unecessary split, and adds extra points to the bezier curve. To alleviate\n // this issue, we round to 1.0 when the ratio is close to 1.0.\n\n\n var ratio = Math.abs(ang2) / (TAU / 4);\n if (Math.abs(1.0 - ratio) < 0.0000001) {\n ratio = 1.0;\n }\n\n var segments = Math.max(Math.ceil(ratio), 1);\n\n ang2 /= segments;\n\n for (var i = 0; i < segments; i++) {\n curves.push(approxUnitArc(ang1, ang2));\n ang1 += ang2;\n }\n\n return curves.map(function (curve) {\n var _mapToEllipse = mapToEllipse(curve[0], rx, ry, cosphi, sinphi, centerx, centery),\n x1 = _mapToEllipse.x,\n y1 = _mapToEllipse.y;\n\n var _mapToEllipse2 = mapToEllipse(curve[1], rx, ry, cosphi, sinphi, centerx, centery),\n x2 = _mapToEllipse2.x,\n y2 = _mapToEllipse2.y;\n\n var _mapToEllipse3 = mapToEllipse(curve[2], rx, ry, cosphi, sinphi, centerx, centery),\n x = _mapToEllipse3.x,\n y = _mapToEllipse3.y;\n\n return { x1: x1, y1: y1, x2: x2, y2: y2, x: x, y: y };\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (arcToBezier);\n\n/***/ }),\n\n/***/ \"0c39\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar arraysToCalcdata = __webpack_require__(\"424b\");\nvar binFunctions = __webpack_require__(\"6dcc\");\nvar normFunctions = __webpack_require__(\"c005\");\nvar doAvg = __webpack_require__(\"9547\");\nvar getBinSpanLabelRound = __webpack_require__(\"5913\");\n\nfunction calc(gd, trace) {\n var pos = [];\n var size = [];\n var pa = Axes.getFromId(gd, trace.orientation === 'h' ? trace.yaxis : trace.xaxis);\n var mainData = trace.orientation === 'h' ? 'y' : 'x';\n var counterData = {x: 'y', y: 'x'}[mainData];\n var calendar = trace[mainData + 'calendar'];\n var cumulativeSpec = trace.cumulative;\n var i;\n\n var binsAndPos = calcAllAutoBins(gd, trace, pa, mainData);\n var binSpec = binsAndPos[0];\n var pos0 = binsAndPos[1];\n\n var nonuniformBins = typeof binSpec.size === 'string';\n var binEdges = [];\n var bins = nonuniformBins ? binEdges : binSpec;\n // make the empty bin array\n var inc = [];\n var counts = [];\n var inputPoints = [];\n var total = 0;\n var norm = trace.histnorm;\n var func = trace.histfunc;\n var densityNorm = norm.indexOf('density') !== -1;\n var i2, binEnd, n;\n\n if(cumulativeSpec.enabled && densityNorm) {\n // we treat \"cumulative\" like it means \"integral\" if you use a density norm,\n // which in the end means it's the same as without \"density\"\n norm = norm.replace(/ ?density$/, '');\n densityNorm = false;\n }\n\n var extremeFunc = func === 'max' || func === 'min';\n var sizeInit = extremeFunc ? null : 0;\n var binFunc = binFunctions.count;\n var normFunc = normFunctions[norm];\n var isAvg = false;\n var pr2c = function(v) { return pa.r2c(v, 0, calendar); };\n var rawCounterData;\n\n if(Lib.isArrayOrTypedArray(trace[counterData]) && func !== 'count') {\n rawCounterData = trace[counterData];\n isAvg = func === 'avg';\n binFunc = binFunctions[func];\n }\n\n // create the bins (and any extra arrays needed)\n // assume more than 1e6 bins is an error, so we don't crash the browser\n i = pr2c(binSpec.start);\n\n // decrease end a little in case of rounding errors\n binEnd = pr2c(binSpec.end) + (i - Axes.tickIncrement(i, binSpec.size, false, calendar)) / 1e6;\n\n while(i < binEnd && pos.length < 1e6) {\n i2 = Axes.tickIncrement(i, binSpec.size, false, calendar);\n pos.push((i + i2) / 2);\n size.push(sizeInit);\n inputPoints.push([]);\n // nonuniform bins (like months) we need to search,\n // rather than straight calculate the bin we're in\n binEdges.push(i);\n // nonuniform bins also need nonuniform normalization factors\n if(densityNorm) inc.push(1 / (i2 - i));\n if(isAvg) counts.push(0);\n // break to avoid infinite loops\n if(i2 <= i) break;\n i = i2;\n }\n binEdges.push(i);\n\n // for date axes we need bin bounds to be calcdata. For nonuniform bins\n // we already have this, but uniform with start/end/size they're still strings.\n if(!nonuniformBins && pa.type === 'date') {\n bins = {\n start: pr2c(bins.start),\n end: pr2c(bins.end),\n size: bins.size\n };\n }\n\n // bin the data\n // and make histogram-specific pt-number-to-cd-index map object\n var nMax = size.length;\n var uniqueValsPerBin = true;\n var leftGap = Infinity;\n var rightGap = Infinity;\n var ptNumber2cdIndex = {};\n for(i = 0; i < pos0.length; i++) {\n var posi = pos0[i];\n n = Lib.findBin(posi, bins);\n if(n >= 0 && n < nMax) {\n total += binFunc(n, i, size, rawCounterData, counts);\n if(uniqueValsPerBin && inputPoints[n].length && posi !== pos0[inputPoints[n][0]]) {\n uniqueValsPerBin = false;\n }\n inputPoints[n].push(i);\n ptNumber2cdIndex[i] = n;\n\n leftGap = Math.min(leftGap, posi - binEdges[n]);\n rightGap = Math.min(rightGap, binEdges[n + 1] - posi);\n }\n }\n\n var roundFn;\n if(!uniqueValsPerBin) {\n roundFn = getBinSpanLabelRound(leftGap, rightGap, binEdges, pa, calendar);\n }\n\n // average and/or normalize the data, if needed\n if(isAvg) total = doAvg(size, counts);\n if(normFunc) normFunc(size, total, inc);\n\n // after all normalization etc, now we can accumulate if desired\n if(cumulativeSpec.enabled) cdf(size, cumulativeSpec.direction, cumulativeSpec.currentbin);\n\n var seriesLen = Math.min(pos.length, size.length);\n var cd = [];\n var firstNonzero = 0;\n var lastNonzero = seriesLen - 1;\n\n // look for empty bins at the ends to remove, so autoscale omits them\n for(i = 0; i < seriesLen; i++) {\n if(size[i]) {\n firstNonzero = i;\n break;\n }\n }\n for(i = seriesLen - 1; i >= firstNonzero; i--) {\n if(size[i]) {\n lastNonzero = i;\n break;\n }\n }\n\n // create the \"calculated data\" to plot\n for(i = firstNonzero; i <= lastNonzero; i++) {\n if((isNumeric(pos[i]) && isNumeric(size[i]))) {\n var cdi = {\n p: pos[i],\n s: size[i],\n b: 0\n };\n\n // setup hover and event data fields,\n // N.B. pts and \"hover\" positions ph0/ph1 don't seem to make much sense\n // for cumulative distributions\n if(!cumulativeSpec.enabled) {\n cdi.pts = inputPoints[i];\n if(uniqueValsPerBin) {\n cdi.ph0 = cdi.ph1 = (inputPoints[i].length) ? pos0[inputPoints[i][0]] : pos[i];\n } else {\n cdi.ph0 = roundFn(binEdges[i]);\n cdi.ph1 = roundFn(binEdges[i + 1], true);\n }\n }\n cd.push(cdi);\n }\n }\n\n if(cd.length === 1) {\n // when we collapse to a single bin, calcdata no longer describes bin size\n // so we need to explicitly specify it\n cd[0].width1 = Axes.tickIncrement(cd[0].p, binSpec.size, false, calendar) - cd[0].p;\n }\n\n arraysToCalcdata(cd, trace);\n\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n Lib.tagSelected(cd, trace, ptNumber2cdIndex);\n }\n\n return cd;\n}\n\n/*\n * calcAllAutoBins: we want all histograms inside the same bingroup\n * (see logic in Histogram.crossTraceDefaults) to share bin specs\n *\n * If the user has explicitly specified differing\n * bin specs, there's nothing we can do, but if possible we will try to use the\n * smallest bins of any of the auto values for all histograms inside the same\n * bingroup.\n */\nfunction calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) {\n var binAttr = mainData + 'bins';\n var fullLayout = gd._fullLayout;\n var groupName = trace['_' + mainData + 'bingroup'];\n var binOpts = fullLayout._histogramBinOpts[groupName];\n var isOverlay = fullLayout.barmode === 'overlay';\n var i, traces, tracei, calendar, pos0, autoVals, cumulativeSpec;\n\n var r2c = function(v) { return pa.r2c(v, 0, calendar); };\n var c2r = function(v) { return pa.c2r(v, 0, calendar); };\n\n var cleanBound = pa.type === 'date' ?\n function(v) { return (v || v === 0) ? Lib.cleanDate(v, null, calendar) : null; } :\n function(v) { return isNumeric(v) ? Number(v) : null; };\n\n function setBound(attr, bins, newBins) {\n if(bins[attr + 'Found']) {\n bins[attr] = cleanBound(bins[attr]);\n if(bins[attr] === null) bins[attr] = newBins[attr];\n } else {\n autoVals[attr] = bins[attr] = newBins[attr];\n Lib.nestedProperty(traces[0], binAttr + '.' + attr).set(newBins[attr]);\n }\n }\n\n // all but the first trace in this group has already been marked finished\n // clear this flag, so next time we run calc we will run autobin again\n if(trace['_' + mainData + 'autoBinFinished']) {\n delete trace['_' + mainData + 'autoBinFinished'];\n } else {\n traces = binOpts.traces;\n var allPos = [];\n\n // Note: we're including `legendonly` traces here for autobin purposes,\n // so that showing & hiding from the legend won't affect bins.\n // But this complicates things a bit since those traces don't `calc`,\n // hence `isFirstVisible`.\n var isFirstVisible = true;\n var has2dMap = false;\n var hasHist2dContour = false;\n for(i = 0; i < traces.length; i++) {\n tracei = traces[i];\n\n if(tracei.visible) {\n var mainDatai = binOpts.dirs[i];\n pos0 = tracei['_' + mainDatai + 'pos0'] = pa.makeCalcdata(tracei, mainDatai);\n\n allPos = Lib.concat(allPos, pos0);\n delete tracei['_' + mainData + 'autoBinFinished'];\n\n if(trace.visible === true) {\n if(isFirstVisible) {\n isFirstVisible = false;\n } else {\n delete tracei._autoBin;\n tracei['_' + mainData + 'autoBinFinished'] = 1;\n }\n if(Registry.traceIs(tracei, '2dMap')) {\n has2dMap = true;\n }\n if(tracei.type === 'histogram2dcontour') {\n hasHist2dContour = true;\n }\n }\n }\n }\n\n calendar = traces[0][mainData + 'calendar'];\n var newBinSpec = Axes.autoBin(allPos, pa, binOpts.nbins, has2dMap, calendar, binOpts.sizeFound && binOpts.size);\n\n var autoBin = traces[0]._autoBin = {};\n autoVals = autoBin[binOpts.dirs[0]] = {};\n\n if(hasHist2dContour) {\n // the \"true\" 2nd argument reverses the tick direction (which we can't\n // just do with a minus sign because of month bins)\n if(!binOpts.size) {\n newBinSpec.start = c2r(Axes.tickIncrement(\n r2c(newBinSpec.start), newBinSpec.size, true, calendar));\n }\n if(binOpts.end === undefined) {\n newBinSpec.end = c2r(Axes.tickIncrement(\n r2c(newBinSpec.end), newBinSpec.size, false, calendar));\n }\n }\n\n // Edge case: single-valued histogram overlaying others\n // Use them all together to calculate the bin size for the single-valued one\n if(isOverlay && !Registry.traceIs(trace, '2dMap') && newBinSpec._dataSpan === 0 &&\n pa.type !== 'category' && pa.type !== 'multicategory') {\n // Several single-valued histograms! Stop infinite recursion,\n // just return an extra flag that tells handleSingleValueOverlays\n // to sort out this trace too\n if(_overlayEdgeCase) return [newBinSpec, pos0, true];\n\n newBinSpec = handleSingleValueOverlays(gd, trace, pa, mainData, binAttr);\n }\n\n // adjust for CDF edge cases\n cumulativeSpec = tracei.cumulative || {};\n if(cumulativeSpec.enabled && (cumulativeSpec.currentbin !== 'include')) {\n if(cumulativeSpec.direction === 'decreasing') {\n newBinSpec.start = c2r(Axes.tickIncrement(\n r2c(newBinSpec.start), newBinSpec.size, true, calendar));\n } else {\n newBinSpec.end = c2r(Axes.tickIncrement(\n r2c(newBinSpec.end), newBinSpec.size, false, calendar));\n }\n }\n\n binOpts.size = newBinSpec.size;\n if(!binOpts.sizeFound) {\n autoVals.size = newBinSpec.size;\n Lib.nestedProperty(traces[0], binAttr + '.size').set(newBinSpec.size);\n }\n\n setBound('start', binOpts, newBinSpec);\n setBound('end', binOpts, newBinSpec);\n }\n\n pos0 = trace['_' + mainData + 'pos0'];\n delete trace['_' + mainData + 'pos0'];\n\n // Each trace can specify its own start/end, or if omitted\n // we ensure they're beyond the bounds of this trace's data,\n // and we need to make sure start is aligned with the main start\n var traceInputBins = trace._input[binAttr] || {};\n var traceBinOptsCalc = Lib.extendFlat({}, binOpts);\n var mainStart = binOpts.start;\n var startIn = pa.r2l(traceInputBins.start);\n var hasStart = startIn !== undefined;\n if((binOpts.startFound || hasStart) && startIn !== pa.r2l(mainStart)) {\n // We have an explicit start to reconcile across traces\n // if this trace has an explicit start, shift it down to a bin edge\n // if another trace had an explicit start, shift it down to a\n // bin edge past our data\n var traceStart = hasStart ?\n startIn :\n Lib.aggNums(Math.min, null, pos0);\n\n var dummyAx = {\n type: (pa.type === 'category' || pa.type === 'multicategory') ? 'linear' : pa.type,\n r2l: pa.r2l,\n dtick: binOpts.size,\n tick0: mainStart,\n calendar: calendar,\n range: ([traceStart, Axes.tickIncrement(traceStart, binOpts.size, false, calendar)]).map(pa.l2r)\n };\n var newStart = Axes.tickFirst(dummyAx);\n if(newStart > pa.r2l(traceStart)) {\n newStart = Axes.tickIncrement(newStart, binOpts.size, true, calendar);\n }\n traceBinOptsCalc.start = pa.l2r(newStart);\n if(!hasStart) Lib.nestedProperty(trace, binAttr + '.start').set(traceBinOptsCalc.start);\n }\n\n var mainEnd = binOpts.end;\n var endIn = pa.r2l(traceInputBins.end);\n var hasEnd = endIn !== undefined;\n if((binOpts.endFound || hasEnd) && endIn !== pa.r2l(mainEnd)) {\n // Reconciling an explicit end is easier, as it doesn't need to\n // match bin edges\n var traceEnd = hasEnd ?\n endIn :\n Lib.aggNums(Math.max, null, pos0);\n\n traceBinOptsCalc.end = pa.l2r(traceEnd);\n if(!hasEnd) Lib.nestedProperty(trace, binAttr + '.start').set(traceBinOptsCalc.end);\n }\n\n // Backward compatibility for one-time autobinning.\n // autobin: true is handled in cleanData, but autobin: false\n // needs to be here where we have determined the values.\n var autoBinAttr = 'autobin' + mainData;\n if(trace._input[autoBinAttr] === false) {\n trace._input[binAttr] = Lib.extendFlat({}, trace[binAttr] || {});\n delete trace._input[autoBinAttr];\n delete trace[autoBinAttr];\n }\n\n return [traceBinOptsCalc, pos0];\n}\n\n/*\n * Adjust single-value histograms in overlay mode to make as good a\n * guess as we can at autobin values the user would like.\n *\n * Returns the binSpec for the trace that sparked all this\n */\nfunction handleSingleValueOverlays(gd, trace, pa, mainData, binAttr) {\n var fullLayout = gd._fullLayout;\n var overlaidTraceGroup = getConnectedHistograms(gd, trace);\n var pastThisTrace = false;\n var minSize = Infinity;\n var singleValuedTraces = [trace];\n var i, tracei, binOpts;\n\n // first collect all the:\n // - min bin size from all multi-valued traces\n // - single-valued traces\n for(i = 0; i < overlaidTraceGroup.length; i++) {\n tracei = overlaidTraceGroup[i];\n\n if(tracei === trace) {\n pastThisTrace = true;\n } else if(!pastThisTrace) {\n // This trace has already had its autobins calculated, so either:\n // - it is part of a bingroup\n // - it is NOT a single-valued trace\n binOpts = fullLayout._histogramBinOpts[tracei['_' + mainData + 'bingroup']];\n minSize = Math.min(minSize, binOpts.size || tracei[binAttr].size);\n } else {\n var resulti = calcAllAutoBins(gd, tracei, pa, mainData, true);\n var binSpeci = resulti[0];\n var isSingleValued = resulti[2];\n\n // so we can use this result when we get to tracei in the normal\n // course of events, mark it as done and put _pos0 back\n tracei['_' + mainData + 'autoBinFinished'] = 1;\n tracei['_' + mainData + 'pos0'] = resulti[1];\n\n if(isSingleValued) {\n singleValuedTraces.push(tracei);\n } else {\n minSize = Math.min(minSize, binSpeci.size);\n }\n }\n }\n\n // find the real data values for each single-valued trace\n // hunt through pos0 for the first valid value\n var dataVals = new Array(singleValuedTraces.length);\n for(i = 0; i < singleValuedTraces.length; i++) {\n var pos0 = singleValuedTraces[i]['_' + mainData + 'pos0'];\n for(var j = 0; j < pos0.length; j++) {\n if(pos0[j] !== undefined) {\n dataVals[i] = pos0[j];\n break;\n }\n }\n }\n\n // are ALL traces are single-valued? use the min difference between\n // all of their values (which defaults to 1 if there's still only one)\n if(!isFinite(minSize)) {\n minSize = Lib.distinctVals(dataVals).minDiff;\n }\n\n // now apply the min size we found to all single-valued traces\n for(i = 0; i < singleValuedTraces.length; i++) {\n tracei = singleValuedTraces[i];\n var calendar = tracei[mainData + 'calendar'];\n\n var newBins = {\n start: pa.c2r(dataVals[i] - minSize / 2, 0, calendar),\n end: pa.c2r(dataVals[i] + minSize / 2, 0, calendar),\n size: minSize\n };\n\n tracei._input[binAttr] = tracei[binAttr] = newBins;\n\n binOpts = fullLayout._histogramBinOpts[tracei['_' + mainData + 'bingroup']];\n if(binOpts) Lib.extendFlat(binOpts, newBins);\n }\n\n return trace[binAttr];\n}\n\n/*\n * Return an array of histograms that share axes and orientation.\n *\n * Only considers histograms. In principle we could include bars in a\n * similar way to how we do manually binned histograms, though this\n * would have tons of edge cases and value judgments to make.\n */\nfunction getConnectedHistograms(gd, trace) {\n var xid = trace.xaxis;\n var yid = trace.yaxis;\n var orientation = trace.orientation;\n\n var out = [];\n var fullData = gd._fullData;\n for(var i = 0; i < fullData.length; i++) {\n var tracei = fullData[i];\n if(tracei.type === 'histogram' &&\n tracei.visible === true &&\n tracei.orientation === orientation &&\n tracei.xaxis === xid && tracei.yaxis === yid\n ) {\n out.push(tracei);\n }\n }\n\n return out;\n}\n\nfunction cdf(size, direction, currentBin) {\n var i, vi, prevSum;\n\n function firstHalfPoint(i) {\n prevSum = size[i];\n size[i] /= 2;\n }\n\n function nextHalfPoint(i) {\n vi = size[i];\n size[i] = prevSum + vi / 2;\n prevSum += vi;\n }\n\n if(currentBin === 'half') {\n if(direction === 'increasing') {\n firstHalfPoint(0);\n for(i = 1; i < size.length; i++) {\n nextHalfPoint(i);\n }\n } else {\n firstHalfPoint(size.length - 1);\n for(i = size.length - 2; i >= 0; i--) {\n nextHalfPoint(i);\n }\n }\n } else if(direction === 'increasing') {\n for(i = 1; i < size.length; i++) {\n size[i] += size[i - 1];\n }\n\n // 'exclude' is identical to 'include' just shifted one bin over\n if(currentBin === 'exclude') {\n size.unshift(0);\n size.pop();\n }\n } else {\n for(i = size.length - 2; i >= 0; i--) {\n size[i] += size[i + 1];\n }\n\n if(currentBin === 'exclude') {\n size.push(0);\n size.shift();\n }\n }\n}\n\nmodule.exports = {\n calc: calc,\n calcAllAutoBins: calcAllAutoBins\n};\n\n\n/***/ }),\n\n/***/ \"0c3a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar maxRowLength = __webpack_require__(\"fc26\").maxRowLength;\n\n/* Return a list of empty points in 2D array z\n * each empty point z[i][j] gives an array [i, j, neighborCount]\n * neighborCount is the count of 4 nearest neighbors that DO exist\n * this is to give us an order of points to evaluate for interpolation.\n * if no neighbors exist, we iteratively look for neighbors that HAVE\n * neighbors, and add a fractional neighborCount\n */\nmodule.exports = function findEmpties(z) {\n var empties = [];\n var neighborHash = {};\n var noNeighborList = [];\n var nextRow = z[0];\n var row = [];\n var blank = [0, 0, 0];\n var rowLength = maxRowLength(z);\n var prevRow;\n var i;\n var j;\n var thisPt;\n var p;\n var neighborCount;\n var newNeighborHash;\n var foundNewNeighbors;\n\n for(i = 0; i < z.length; i++) {\n prevRow = row;\n row = nextRow;\n nextRow = z[i + 1] || [];\n for(j = 0; j < rowLength; j++) {\n if(row[j] === undefined) {\n neighborCount = (row[j - 1] !== undefined ? 1 : 0) +\n (row[j + 1] !== undefined ? 1 : 0) +\n (prevRow[j] !== undefined ? 1 : 0) +\n (nextRow[j] !== undefined ? 1 : 0);\n\n if(neighborCount) {\n // for this purpose, don't count off-the-edge points\n // as undefined neighbors\n if(i === 0) neighborCount++;\n if(j === 0) neighborCount++;\n if(i === z.length - 1) neighborCount++;\n if(j === row.length - 1) neighborCount++;\n\n // if all neighbors that could exist do, we don't\n // need this for finding farther neighbors\n if(neighborCount < 4) {\n neighborHash[[i, j]] = [i, j, neighborCount];\n }\n\n empties.push([i, j, neighborCount]);\n } else noNeighborList.push([i, j]);\n }\n }\n }\n\n while(noNeighborList.length) {\n newNeighborHash = {};\n foundNewNeighbors = false;\n\n // look for cells that now have neighbors but didn't before\n for(p = noNeighborList.length - 1; p >= 0; p--) {\n thisPt = noNeighborList[p];\n i = thisPt[0];\n j = thisPt[1];\n\n neighborCount = ((neighborHash[[i - 1, j]] || blank)[2] +\n (neighborHash[[i + 1, j]] || blank)[2] +\n (neighborHash[[i, j - 1]] || blank)[2] +\n (neighborHash[[i, j + 1]] || blank)[2]) / 20;\n\n if(neighborCount) {\n newNeighborHash[thisPt] = [i, j, neighborCount];\n noNeighborList.splice(p, 1);\n foundNewNeighbors = true;\n }\n }\n\n if(!foundNewNeighbors) {\n throw 'findEmpties iterated with no new neighbors';\n }\n\n // put these new cells into the main neighbor list\n for(thisPt in newNeighborHash) {\n neighborHash[thisPt] = newNeighborHash[thisPt];\n empties.push(newNeighborHash[thisPt]);\n }\n }\n\n // sort the full list in descending order of neighbor count\n return empties.sort(function(a, b) { return b[2] - a[2]; });\n};\n\n\n/***/ }),\n\n/***/ \"0c5d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar handleSampleDefaults = __webpack_require__(\"8173\");\nvar handleContoursDefaults = __webpack_require__(\"d61b\");\nvar handleStyleDefaults = __webpack_require__(\"41f8\");\nvar attributes = __webpack_require__(\"348d\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n function coerce2(attr) {\n return Lib.coerce2(traceIn, traceOut, attributes, attr);\n }\n\n handleSampleDefaults(traceIn, traceOut, coerce, layout);\n if(traceOut.visible === false) return;\n\n handleContoursDefaults(traceIn, traceOut, coerce, coerce2);\n handleStyleDefaults(traceIn, traceOut, coerce, layout);\n coerce('hovertemplate');\n};\n\n\n/***/ }),\n\n/***/ \"0c85\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar Colorscale = __webpack_require__(\"c258\");\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nmodule.exports = function calc(gd, trace) {\n var lineColor;\n var cscale;\n\n if(Colorscale.hasColorscale(trace, 'line') && isArrayOrTypedArray(trace.line.color)) {\n lineColor = trace.line.color;\n cscale = Colorscale.extractOpts(trace.line).colorscale;\n\n Colorscale.calc(gd, trace, {\n vals: lineColor,\n containerStr: 'line',\n cLetter: 'c'\n });\n } else {\n lineColor = constHalf(trace._length);\n cscale = [[0, trace.line.color], [1, trace.line.color]];\n }\n\n return wrap({lineColor: lineColor, cscale: cscale});\n};\n\nfunction constHalf(len) {\n var out = new Array(len);\n for(var i = 0; i < len; i++) {\n out[i] = 0.5;\n }\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"0cc1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar constants = __webpack_require__(\"000c\");\n\nmodule.exports = function plot(gd, plotinfo, cdimage, imageLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(imageLayer, cdimage, 'im').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n var z = cd0.z;\n var x0 = cd0.x0;\n var y0 = cd0.y0;\n var w = cd0.w;\n var h = cd0.h;\n var dx = trace.dx;\n var dy = trace.dy;\n\n var left, right, temp, top, bottom, i;\n // in case of log of a negative\n i = 0;\n while(left === undefined && i < w) {\n left = xa.c2p(x0 + i * dx);\n i++;\n }\n i = w;\n while(right === undefined && i > 0) {\n right = xa.c2p(x0 + i * dx);\n i--;\n }\n i = 0;\n while(top === undefined && i < h) {\n top = ya.c2p(y0 + i * dy);\n i++;\n }\n i = h;\n while(bottom === undefined && i > 0) {\n bottom = ya.c2p(y0 + i * dy);\n i--;\n }\n\n if(right < left) {\n temp = right;\n right = left;\n left = temp;\n }\n\n if(bottom < top) {\n temp = top;\n top = bottom;\n bottom = temp;\n }\n\n // Reduce image size when zoomed in to save memory\n var extra = 0.5; // half the axis size\n left = Math.max(-extra * xa._length, left);\n right = Math.min((1 + extra) * xa._length, right);\n top = Math.max(-extra * ya._length, top);\n bottom = Math.min((1 + extra) * ya._length, bottom);\n var imageWidth = Math.round(right - left);\n var imageHeight = Math.round(bottom - top);\n\n // if image is entirely off-screen, don't even draw it\n var isOffScreen = (imageWidth <= 0 || imageHeight <= 0);\n if(isOffScreen) {\n var noImage = plotGroup.selectAll('image').data([]);\n noImage.exit().remove();\n return;\n }\n\n // Draw each pixel\n var canvas = document.createElement('canvas');\n canvas.width = imageWidth;\n canvas.height = imageHeight;\n var context = canvas.getContext('2d');\n\n var ipx = function(i) {return Lib.constrain(Math.round(xa.c2p(x0 + i * dx) - left), 0, imageWidth);};\n var jpx = function(j) {return Lib.constrain(Math.round(ya.c2p(y0 + j * dy) - top), 0, imageHeight);};\n\n var fmt = constants.colormodel[trace.colormodel].fmt;\n var c;\n for(i = 0; i < cd0.w; i++) {\n var ipx0 = ipx(i); var ipx1 = ipx(i + 1);\n if(ipx1 === ipx0 || isNaN(ipx1) || isNaN(ipx0)) continue;\n for(var j = 0; j < cd0.h; j++) {\n var jpx0 = jpx(j); var jpx1 = jpx(j + 1);\n if(jpx1 === jpx0 || isNaN(jpx1) || isNaN(jpx0) || !z[j][i]) continue;\n c = trace._scaler(z[j][i]);\n if(c) {\n context.fillStyle = trace.colormodel + '(' + fmt(c).join(',') + ')';\n } else {\n // Return a transparent pixel\n context.fillStyle = 'rgba(0,0,0,0)';\n }\n context.fillRect(ipx0, jpx0, ipx1 - ipx0, jpx1 - jpx0);\n }\n }\n\n var image3 = plotGroup.selectAll('image')\n .data(cd);\n\n image3.enter().append('svg:image').attr({\n xmlns: xmlnsNamespaces.svg,\n preserveAspectRatio: 'none'\n });\n\n image3.attr({\n height: imageHeight,\n width: imageWidth,\n x: left,\n y: top,\n 'xlink:href': canvas.toDataURL('image/png')\n });\n });\n};\n\n\n/***/ }),\n\n/***/ \"0cec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\nvar getAxisGroup = __webpack_require__(\"3c1c\").getAxisGroup;\nvar Sieve = __webpack_require__(\"8b25\");\n\n/*\n * Bar chart stacking/grouping positioning and autoscaling calculations\n * for each direction separately calculate the ranges and positions\n * note that this handles histograms too\n * now doing this one subplot at a time\n */\n\nfunction crossTraceCalc(gd, plotinfo) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n var fullLayout = gd._fullLayout;\n var fullTraces = gd._fullData;\n var calcTraces = gd.calcdata;\n var calcTracesHorz = [];\n var calcTracesVert = [];\n\n for(var i = 0; i < fullTraces.length; i++) {\n var fullTrace = fullTraces[i];\n if(\n fullTrace.visible === true &&\n Registry.traceIs(fullTrace, 'bar') &&\n fullTrace.xaxis === xa._id &&\n fullTrace.yaxis === ya._id\n ) {\n if(fullTrace.orientation === 'h') {\n calcTracesHorz.push(calcTraces[i]);\n } else {\n calcTracesVert.push(calcTraces[i]);\n }\n }\n }\n\n var opts = {\n mode: fullLayout.barmode,\n norm: fullLayout.barnorm,\n gap: fullLayout.bargap,\n groupgap: fullLayout.bargroupgap\n };\n\n setGroupPositions(gd, xa, ya, calcTracesVert, opts);\n setGroupPositions(gd, ya, xa, calcTracesHorz, opts);\n}\n\nfunction setGroupPositions(gd, pa, sa, calcTraces, opts) {\n if(!calcTraces.length) return;\n\n var excluded;\n var included;\n var i, calcTrace, fullTrace;\n\n initBase(sa, calcTraces);\n\n switch(opts.mode) {\n case 'overlay':\n setGroupPositionsInOverlayMode(pa, sa, calcTraces, opts);\n break;\n\n case 'group':\n // exclude from the group those traces for which the user set an offset\n excluded = [];\n included = [];\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.offset === undefined) included.push(calcTrace);\n else excluded.push(calcTrace);\n }\n\n if(included.length) {\n setGroupPositionsInGroupMode(gd, pa, sa, included, opts);\n }\n if(excluded.length) {\n setGroupPositionsInOverlayMode(pa, sa, excluded, opts);\n }\n break;\n\n case 'stack':\n case 'relative':\n // exclude from the stack those traces for which the user set a base\n excluded = [];\n included = [];\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.base === undefined) included.push(calcTrace);\n else excluded.push(calcTrace);\n }\n\n if(included.length) {\n setGroupPositionsInStackOrRelativeMode(gd, pa, sa, included, opts);\n }\n if(excluded.length) {\n setGroupPositionsInOverlayMode(pa, sa, excluded, opts);\n }\n break;\n }\n\n collectExtents(calcTraces, pa);\n}\n\nfunction initBase(sa, calcTraces) {\n var i, j;\n\n for(i = 0; i < calcTraces.length; i++) {\n var cd = calcTraces[i];\n var trace = cd[0].trace;\n var base = (trace.type === 'funnel') ? trace._base : trace.base;\n var b;\n\n // not sure if it really makes sense to have dates for bar size data...\n // ideally if we want to make gantt charts or something we'd treat\n // the actual size (trace.x or y) as time delta but base as absolute\n // time. But included here for completeness.\n var scalendar = trace.orientation === 'h' ? trace.xcalendar : trace.ycalendar;\n\n // 'base' on categorical axes makes no sense\n var d2c = sa.type === 'category' || sa.type === 'multicategory' ?\n function() { return null; } :\n sa.d2c;\n\n if(isArrayOrTypedArray(base)) {\n for(j = 0; j < Math.min(base.length, cd.length); j++) {\n b = d2c(base[j], 0, scalendar);\n if(isNumeric(b)) {\n cd[j].b = +b;\n cd[j].hasB = 1;\n } else cd[j].b = 0;\n }\n for(; j < cd.length; j++) {\n cd[j].b = 0;\n }\n } else {\n b = d2c(base, 0, scalendar);\n var hasBase = isNumeric(b);\n b = hasBase ? b : 0;\n for(j = 0; j < cd.length; j++) {\n cd[j].b = b;\n if(hasBase) cd[j].hasB = 1;\n }\n }\n }\n}\n\nfunction setGroupPositionsInOverlayMode(pa, sa, calcTraces, opts) {\n // update position axis and set bar offsets and widths\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n var sieve = new Sieve([calcTrace], {\n sepNegVal: false,\n overlapNoMerge: !opts.norm\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidth(pa, sieve, opts);\n\n // set bar bases and sizes, and update size axis\n //\n // (note that `setGroupPositionsInOverlayMode` handles the case barnorm\n // is defined, because this function is also invoked for traces that\n // can't be grouped or stacked)\n if(opts.norm) {\n sieveBars(sieve);\n normalizeBars(sa, sieve, opts);\n } else {\n setBaseAndTop(sa, sieve);\n }\n }\n}\n\nfunction setGroupPositionsInGroupMode(gd, pa, sa, calcTraces, opts) {\n var sieve = new Sieve(calcTraces, {\n sepNegVal: false,\n overlapNoMerge: !opts.norm\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidthInGroupMode(gd, pa, sieve, opts);\n\n // relative-stack bars within the same trace that would otherwise\n // be hidden\n unhideBarsWithinTrace(sieve);\n\n // set bar bases and sizes, and update size axis\n if(opts.norm) {\n sieveBars(sieve);\n normalizeBars(sa, sieve, opts);\n } else {\n setBaseAndTop(sa, sieve);\n }\n}\n\nfunction setGroupPositionsInStackOrRelativeMode(gd, pa, sa, calcTraces, opts) {\n var sieve = new Sieve(calcTraces, {\n sepNegVal: opts.mode === 'relative',\n overlapNoMerge: !(opts.norm || opts.mode === 'stack' || opts.mode === 'relative')\n });\n\n // set bar offsets and widths, and update position axis\n setOffsetAndWidth(pa, sieve, opts);\n\n // set bar bases and sizes, and update size axis\n stackBars(sa, sieve, opts);\n\n // flag the outmost bar (for text display purposes)\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n var isOutmostBar = ((bar.b + bar.s) === sieve.get(bar.p, bar.s));\n if(isOutmostBar) bar._outmost = true;\n }\n }\n }\n\n // Note that marking the outmost bars has to be done\n // before `normalizeBars` changes `bar.b` and `bar.s`.\n if(opts.norm) normalizeBars(sa, sieve, opts);\n}\n\nfunction setOffsetAndWidth(pa, sieve, opts) {\n var minDiff = sieve.minDiff;\n var calcTraces = sieve.traces;\n\n // set bar offsets and widths\n var barGroupWidth = minDiff * (1 - opts.gap);\n var barWidthPlusGap = barGroupWidth;\n var barWidth = barWidthPlusGap * (1 - (opts.groupgap || 0));\n\n // computer bar group center and bar offset\n var offsetFromCenter = -barWidth / 2;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var t = calcTrace[0].t;\n\n // store bar width and offset for this trace\n t.barwidth = barWidth;\n t.poffset = offsetFromCenter;\n t.bargroupwidth = barGroupWidth;\n t.bardelta = minDiff;\n }\n\n // stack bars that only differ by rounding\n sieve.binWidth = calcTraces[0][0].t.barwidth / 100;\n\n // if defined, apply trace offset and width\n applyAttributes(sieve);\n\n // store the bar center in each calcdata item\n setBarCenterAndWidth(pa, sieve);\n\n // update position axes\n updatePositionAxis(pa, sieve);\n}\n\nfunction setOffsetAndWidthInGroupMode(gd, pa, sieve, opts) {\n var fullLayout = gd._fullLayout;\n var positions = sieve.positions;\n var distinctPositions = sieve.distinctPositions;\n var minDiff = sieve.minDiff;\n var calcTraces = sieve.traces;\n var nTraces = calcTraces.length;\n\n // if there aren't any overlapping positions,\n // let them have full width even if mode is group\n var overlap = (positions.length !== distinctPositions.length);\n var barGroupWidth = minDiff * (1 - opts.gap);\n\n var groupId = getAxisGroup(fullLayout, pa._id) + calcTraces[0][0].trace.orientation;\n var alignmentGroups = fullLayout._alignmentOpts[groupId] || {};\n\n for(var i = 0; i < nTraces; i++) {\n var calcTrace = calcTraces[i];\n var trace = calcTrace[0].trace;\n\n var alignmentGroupOpts = alignmentGroups[trace.alignmentgroup] || {};\n var nOffsetGroups = Object.keys(alignmentGroupOpts.offsetGroups || {}).length;\n\n var barWidthPlusGap;\n if(nOffsetGroups) {\n barWidthPlusGap = barGroupWidth / nOffsetGroups;\n } else {\n barWidthPlusGap = overlap ? barGroupWidth / nTraces : barGroupWidth;\n }\n\n var barWidth = barWidthPlusGap * (1 - (opts.groupgap || 0));\n\n var offsetFromCenter;\n if(nOffsetGroups) {\n offsetFromCenter = ((2 * trace._offsetIndex + 1 - nOffsetGroups) * barWidthPlusGap - barWidth) / 2;\n } else {\n offsetFromCenter = overlap ?\n ((2 * i + 1 - nTraces) * barWidthPlusGap - barWidth) / 2 :\n -barWidth / 2;\n }\n\n var t = calcTrace[0].t;\n t.barwidth = barWidth;\n t.poffset = offsetFromCenter;\n t.bargroupwidth = barGroupWidth;\n t.bardelta = minDiff;\n }\n\n // stack bars that only differ by rounding\n sieve.binWidth = calcTraces[0][0].t.barwidth / 100;\n\n // if defined, apply trace width\n applyAttributes(sieve);\n\n // store the bar center in each calcdata item\n setBarCenterAndWidth(pa, sieve);\n\n // update position axes\n updatePositionAxis(pa, sieve, overlap);\n}\n\nfunction applyAttributes(sieve) {\n var calcTraces = sieve.traces;\n var i, j;\n\n for(i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var calcTrace0 = calcTrace[0];\n var fullTrace = calcTrace0.trace;\n var t = calcTrace0.t;\n var offset = fullTrace._offset || fullTrace.offset;\n var initialPoffset = t.poffset;\n var newPoffset;\n\n if(isArrayOrTypedArray(offset)) {\n // if offset is an array, then clone it into t.poffset.\n newPoffset = Array.prototype.slice.call(offset, 0, calcTrace.length);\n\n // guard against non-numeric items\n for(j = 0; j < newPoffset.length; j++) {\n if(!isNumeric(newPoffset[j])) {\n newPoffset[j] = initialPoffset;\n }\n }\n\n // if the length of the array is too short,\n // then extend it with the initial value of t.poffset\n for(j = newPoffset.length; j < calcTrace.length; j++) {\n newPoffset.push(initialPoffset);\n }\n\n t.poffset = newPoffset;\n } else if(offset !== undefined) {\n t.poffset = offset;\n }\n\n var width = fullTrace._width || fullTrace.width;\n var initialBarwidth = t.barwidth;\n\n if(isArrayOrTypedArray(width)) {\n // if width is an array, then clone it into t.barwidth.\n var newBarwidth = Array.prototype.slice.call(width, 0, calcTrace.length);\n\n // guard against non-numeric items\n for(j = 0; j < newBarwidth.length; j++) {\n if(!isNumeric(newBarwidth[j])) newBarwidth[j] = initialBarwidth;\n }\n\n // if the length of the array is too short,\n // then extend it with the initial value of t.barwidth\n for(j = newBarwidth.length; j < calcTrace.length; j++) {\n newBarwidth.push(initialBarwidth);\n }\n\n t.barwidth = newBarwidth;\n\n // if user didn't set offset,\n // then correct t.poffset to ensure bars remain centered\n if(offset === undefined) {\n newPoffset = [];\n for(j = 0; j < calcTrace.length; j++) {\n newPoffset.push(\n initialPoffset + (initialBarwidth - newBarwidth[j]) / 2\n );\n }\n t.poffset = newPoffset;\n }\n } else if(width !== undefined) {\n t.barwidth = width;\n\n // if user didn't set offset,\n // then correct t.poffset to ensure bars remain centered\n if(offset === undefined) {\n t.poffset = initialPoffset + (initialBarwidth - width) / 2;\n }\n }\n }\n}\n\nfunction setBarCenterAndWidth(pa, sieve) {\n var calcTraces = sieve.traces;\n var pLetter = getAxisLetter(pa);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var t = calcTrace[0].t;\n var poffset = t.poffset;\n var poffsetIsArray = Array.isArray(poffset);\n var barwidth = t.barwidth;\n var barwidthIsArray = Array.isArray(barwidth);\n\n for(var j = 0; j < calcTrace.length; j++) {\n var calcBar = calcTrace[j];\n\n // store the actual bar width and position, for use by hover\n var width = calcBar.w = barwidthIsArray ? barwidth[j] : barwidth;\n calcBar[pLetter] = calcBar.p + (poffsetIsArray ? poffset[j] : poffset) + width / 2;\n }\n }\n}\n\nfunction updatePositionAxis(pa, sieve, allowMinDtick) {\n var calcTraces = sieve.traces;\n var minDiff = sieve.minDiff;\n var vpad = minDiff / 2;\n\n Axes.minDtick(pa, sieve.minDiff, sieve.distinctPositions[0], allowMinDtick);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var calcTrace0 = calcTrace[0];\n var fullTrace = calcTrace0.trace;\n var pts = [];\n var bar, l, r, j;\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n l = bar.p - vpad;\n r = bar.p + vpad;\n pts.push(l, r);\n }\n\n if(fullTrace.width || fullTrace.offset) {\n var t = calcTrace0.t;\n var poffset = t.poffset;\n var barwidth = t.barwidth;\n var poffsetIsArray = Array.isArray(poffset);\n var barwidthIsArray = Array.isArray(barwidth);\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n var calcBarOffset = poffsetIsArray ? poffset[j] : poffset;\n var calcBarWidth = barwidthIsArray ? barwidth[j] : barwidth;\n l = bar.p + calcBarOffset;\n r = l + calcBarWidth;\n pts.push(l, r);\n }\n }\n\n fullTrace._extremes[pa._id] = Axes.findExtremes(pa, pts, {padded: false});\n }\n}\n\n// store these bar bases and tops in calcdata\n// and make sure the size axis includes zero,\n// along with the bases and tops of each bar.\nfunction setBaseAndTop(sa, sieve) {\n var calcTraces = sieve.traces;\n var sLetter = getAxisLetter(sa);\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n var pts = [];\n var allBaseAboveZero = true;\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n var base = bar.b;\n var top = base + bar.s;\n\n bar[sLetter] = top;\n pts.push(top);\n if(bar.hasB) pts.push(base);\n\n if(!bar.hasB || !(bar.b > 0 && bar.s > 0)) {\n allBaseAboveZero = false;\n }\n }\n\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n tozero: !allBaseAboveZero,\n padded: true\n });\n }\n}\n\nfunction stackBars(sa, sieve, opts) {\n var sLetter = getAxisLetter(sa);\n var calcTraces = sieve.traces;\n var calcTrace;\n var fullTrace;\n var isFunnel;\n var i, j;\n var bar;\n\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n if(fullTrace.type === 'funnel') {\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n // create base of funnels\n sieve.put(bar.p, -0.5 * bar.s);\n }\n }\n }\n }\n\n for(i = 0; i < calcTraces.length; i++) {\n calcTrace = calcTraces[i];\n fullTrace = calcTrace[0].trace;\n\n isFunnel = (fullTrace.type === 'funnel');\n\n var pts = [];\n\n for(j = 0; j < calcTrace.length; j++) {\n bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n // stack current bar and get previous sum\n var value;\n if(isFunnel) {\n value = bar.s;\n } else {\n value = bar.s + bar.b;\n }\n\n var base = sieve.put(bar.p, value);\n\n var top = base + value;\n\n // store the bar base and top in each calcdata item\n bar.b = base;\n bar[sLetter] = top;\n\n if(!opts.norm) {\n pts.push(top);\n if(bar.hasB) {\n pts.push(base);\n }\n }\n }\n }\n\n // if barnorm is set, let normalizeBars update the axis range\n if(!opts.norm) {\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n // N.B. we don't stack base with 'base',\n // so set tozero:true always!\n tozero: true,\n padded: true\n });\n }\n }\n}\n\nfunction sieveBars(sieve) {\n var calcTraces = sieve.traces;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n sieve.put(bar.p, bar.b + bar.s);\n }\n }\n }\n}\n\nfunction unhideBarsWithinTrace(sieve) {\n var calcTraces = sieve.traces;\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n\n if(fullTrace.base === undefined) {\n var inTraceSieve = new Sieve([calcTrace], {\n sepNegVal: true,\n overlapNoMerge: true\n });\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.p !== BADNUM) {\n // stack current bar and get previous sum\n var base = inTraceSieve.put(bar.p, bar.b + bar.s);\n\n // if previous sum if non-zero, this means:\n // multiple bars have same starting point are potentially hidden,\n // shift them vertically so that all bars are visible by default\n if(base) bar.b = base;\n }\n }\n }\n }\n}\n\n// Note:\n//\n// normalizeBars requires that either sieveBars or stackBars has been\n// previously invoked.\nfunction normalizeBars(sa, sieve, opts) {\n var calcTraces = sieve.traces;\n var sLetter = getAxisLetter(sa);\n var sTop = opts.norm === 'fraction' ? 1 : 100;\n var sTiny = sTop / 1e9; // in case of rounding error in sum\n var sMin = sa.l2c(sa.c2l(0));\n var sMax = opts.mode === 'stack' ? sTop : sMin;\n\n function needsPadding(v) {\n return (\n isNumeric(sa.c2l(v)) &&\n ((v < sMin - sTiny) || (v > sMax + sTiny) || !isNumeric(sMin))\n );\n }\n\n for(var i = 0; i < calcTraces.length; i++) {\n var calcTrace = calcTraces[i];\n var fullTrace = calcTrace[0].trace;\n var pts = [];\n var allBaseAboveZero = true;\n var padded = false;\n\n for(var j = 0; j < calcTrace.length; j++) {\n var bar = calcTrace[j];\n\n if(bar.s !== BADNUM) {\n var scale = Math.abs(sTop / sieve.get(bar.p, bar.s));\n bar.b *= scale;\n bar.s *= scale;\n\n var base = bar.b;\n var top = base + bar.s;\n\n bar[sLetter] = top;\n pts.push(top);\n padded = padded || needsPadding(top);\n\n if(bar.hasB) {\n pts.push(base);\n padded = padded || needsPadding(base);\n }\n\n if(!bar.hasB || !(bar.b > 0 && bar.s > 0)) {\n allBaseAboveZero = false;\n }\n }\n }\n\n fullTrace._extremes[sa._id] = Axes.findExtremes(sa, pts, {\n tozero: !allBaseAboveZero,\n padded: padded\n });\n }\n}\n\n// find the full position span of bars at each position\n// for use by hover, to ensure labels move in if bars are\n// narrower than the space they're in.\n// run once per trace group (subplot & direction) and\n// the same mapping is attached to all calcdata traces\nfunction collectExtents(calcTraces, pa) {\n var pLetter = getAxisLetter(pa);\n var extents = {};\n var i, j, cd;\n\n var pMin = Infinity;\n var pMax = -Infinity;\n\n for(i = 0; i < calcTraces.length; i++) {\n cd = calcTraces[i];\n for(j = 0; j < cd.length; j++) {\n var p = cd[j].p;\n if(isNumeric(p)) {\n pMin = Math.min(pMin, p);\n pMax = Math.max(pMax, p);\n }\n }\n }\n\n // this is just for positioning of hover labels, and nobody will care if\n // the label is 1px too far out; so round positions to 1/10K in case\n // position values don't exactly match from trace to trace\n var roundFactor = 10000 / (pMax - pMin);\n var round = extents.round = function(p) {\n return String(Math.round(roundFactor * (p - pMin)));\n };\n\n for(i = 0; i < calcTraces.length; i++) {\n cd = calcTraces[i];\n cd[0].t.extents = extents;\n\n var poffset = cd[0].t.poffset;\n var poffsetIsArray = Array.isArray(poffset);\n\n for(j = 0; j < cd.length; j++) {\n var di = cd[j];\n var p0 = di[pLetter] - di.w / 2;\n\n if(isNumeric(p0)) {\n var p1 = di[pLetter] + di.w / 2;\n var pVal = round(di.p);\n if(extents[pVal]) {\n extents[pVal] = [Math.min(p0, extents[pVal][0]), Math.max(p1, extents[pVal][1])];\n } else {\n extents[pVal] = [p0, p1];\n }\n }\n\n di.p0 = di.p + (poffsetIsArray ? poffset[j] : poffset);\n di.p1 = di.p0 + di.w;\n di.s0 = di.b;\n di.s1 = di.s0 + di.s;\n }\n }\n}\n\nfunction getAxisLetter(ax) {\n return ax._id.charAt(0);\n}\n\nmodule.exports = {\n crossTraceCalc: crossTraceCalc,\n setGroupPositions: setGroupPositions\n};\n\n\n/***/ }),\n\n/***/ \"0cfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar fails = __webpack_require__(\"d039\");\nvar createElement = __webpack_require__(\"cc12\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"0d59\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n cellPad: 8,\n columnExtentOffset: 10,\n columnTitleOffset: 28,\n emptyHeaderHeight: 16,\n latexCheck: /^\\$.*\\$$/,\n goldenRatio: 1.618,\n lineBreaker: '
',\n maxDimensionCount: 60,\n overdrag: 45,\n releaseTransitionDuration: 120,\n releaseTransitionEase: 'cubic-out',\n scrollbarCaptureWidth: 18,\n scrollbarHideDelay: 1000,\n scrollbarHideDuration: 1000,\n scrollbarOffset: 5,\n scrollbarWidth: 8,\n transitionDuration: 100,\n transitionEase: 'cubic-out',\n uplift: 5,\n wrapSpacer: ' ',\n wrapSplitCharacter: ' ',\n cn: {\n // general class names\n table: 'table',\n tableControlView: 'table-control-view',\n scrollBackground: 'scroll-background',\n yColumn: 'y-column',\n columnBlock: 'column-block',\n scrollAreaClip: 'scroll-area-clip',\n scrollAreaClipRect: 'scroll-area-clip-rect',\n columnBoundary: 'column-boundary',\n columnBoundaryClippath: 'column-boundary-clippath',\n columnBoundaryRect: 'column-boundary-rect',\n columnCells: 'column-cells',\n columnCell: 'column-cell',\n cellRect: 'cell-rect',\n cellText: 'cell-text',\n cellTextHolder: 'cell-text-holder',\n\n // scroll related class names\n scrollbarKit: 'scrollbar-kit',\n scrollbar: 'scrollbar',\n scrollbarSlider: 'scrollbar-slider',\n scrollbarGlyph: 'scrollbar-glyph',\n scrollbarCaptureZone: 'scrollbar-capture-zone'\n }\n};\n\n\n/***/ }),\n\n/***/ \"0dd1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar twoProduct = __webpack_require__(\"c01c\")\nvar twoSum = __webpack_require__(\"d1bd\")\n\nmodule.exports = scaleLinearExpansion\n\nfunction scaleLinearExpansion(e, scale) {\n var n = e.length\n if(n === 1) {\n var ts = twoProduct(e[0], scale)\n if(ts[0]) {\n return ts\n }\n return [ ts[1] ]\n }\n var g = new Array(2 * n)\n var q = [0.1, 0.1]\n var t = [0.1, 0.1]\n var count = 0\n twoProduct(e[0], scale, q)\n if(q[0]) {\n g[count++] = q[0]\n }\n for(var i=1; i': makeInequalitySettings('>'),\n '<': makeInequalitySettings('<'),\n '=': makeInequalitySettings('=')\n};\n\n// This does not in any way shape or form support calendars. It's adapted from\n// transforms/filter.js.\nfunction coerceValue(operation, value) {\n var hasArrayValue = Array.isArray(value);\n\n var coercedValue;\n\n function coerce(value) {\n return isNumeric(value) ? (+value) : null;\n }\n\n if(filterOps.COMPARISON_OPS2.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ? coerce(value[0]) : coerce(value);\n } else if(filterOps.INTERVAL_OPS.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ?\n [coerce(value[0]), coerce(value[1])] :\n [coerce(value), coerce(value)];\n } else if(filterOps.SET_OPS.indexOf(operation) !== -1) {\n coercedValue = hasArrayValue ? value.map(coerce) : [coerce(value)];\n }\n\n return coercedValue;\n}\n\n// Returns a parabola scaled so that the min/max is either +/- 1 and zero at the two values\n// provided. The data is mapped by this function when constructing intervals so that it's\n// very easy to construct contours as normal.\nfunction makeRangeSettings(operation) {\n return function(value) {\n value = coerceValue(operation, value);\n\n // Ensure proper ordering:\n var min = Math.min(value[0], value[1]);\n var max = Math.max(value[0], value[1]);\n\n return {\n start: min,\n end: max,\n size: max - min\n };\n };\n}\n\nfunction makeInequalitySettings(operation) {\n return function(value) {\n value = coerceValue(operation, value);\n\n return {\n start: value,\n end: Infinity,\n size: Infinity\n };\n };\n}\n\n\n/***/ }),\n\n/***/ \"11e1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\nvar handleStyleDefaults = __webpack_require__(\"9103\");\nvar attributes = __webpack_require__(\"40c0\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var x = coerce('x');\n var y = coerce('y');\n\n var cumulative = coerce('cumulative.enabled');\n if(cumulative) {\n coerce('cumulative.direction');\n coerce('cumulative.currentbin');\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n var orientation = coerce('orientation', (y && !x) ? 'h' : 'v');\n var sampleLetter = orientation === 'v' ? 'x' : 'y';\n var aggLetter = orientation === 'v' ? 'y' : 'x';\n\n var len = (x && y) ?\n Math.min(Lib.minRowLength(x) && Lib.minRowLength(y)) :\n Lib.minRowLength(traceOut[sampleLetter] || []);\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n var hasAggregationData = traceOut[aggLetter];\n if(hasAggregationData) coerce('histfunc');\n coerce('histnorm');\n\n // Note: bin defaults are now handled in Histogram.crossTraceDefaults\n // autobin(x|y) are only included here to appease Plotly.validate\n coerce('autobin' + sampleLetter);\n\n handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout);\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n\n var lineColor = (traceOut.marker.line || {}).color;\n\n // override defaultColor for error bars with defaultLine\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});\n};\n\n\n/***/ }),\n\n/***/ \"122d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Template = __webpack_require__(\"a651\");\n\nvar handleSubplotDefaults = __webpack_require__(\"119e\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\n\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\nvar handleCategoryOrderDefaults = __webpack_require__(\"d18b\");\nvar handleLineGridDefaults = __webpack_require__(\"743b\");\nvar autoType = __webpack_require__(\"0b77\");\n\nvar layoutAttributes = __webpack_require__(\"ddde\");\nvar setConvert = __webpack_require__(\"7a52\");\nvar constants = __webpack_require__(\"f510\");\nvar axisNames = constants.axisNames;\n\nfunction handleDefaults(contIn, contOut, coerce, opts) {\n var bgColor = coerce('bgcolor');\n opts.bgColor = Color.combine(bgColor, opts.paper_bgcolor);\n\n var sector = coerce('sector');\n coerce('hole');\n\n // could optimize, subplotData is not always needed!\n var subplotData = getSubplotData(opts.fullData, constants.name, opts.id);\n var layoutOut = opts.layoutOut;\n var axName;\n\n function coerceAxis(attr, dflt) {\n return coerce(axName + '.' + attr, dflt);\n }\n\n for(var i = 0; i < axisNames.length; i++) {\n axName = axisNames[i];\n\n if(!Lib.isPlainObject(contIn[axName])) {\n contIn[axName] = {};\n }\n\n var axIn = contIn[axName];\n var axOut = Template.newContainer(contOut, axName);\n axOut._id = axOut._name = axName;\n axOut._attr = opts.id + '.' + axName;\n axOut._traceIndices = subplotData.map(function(t) { return t._expandedIndex; });\n\n var dataAttr = constants.axisName2dataArray[axName];\n var axType = handleAxisTypeDefaults(axIn, axOut, coerceAxis, subplotData, dataAttr);\n\n handleCategoryOrderDefaults(axIn, axOut, coerceAxis, {\n axData: subplotData,\n dataAttr: dataAttr\n });\n\n var visible = coerceAxis('visible');\n setConvert(axOut, contOut, layoutOut);\n\n coerceAxis('uirevision', contOut.uirevision);\n\n var dfltColor;\n var dfltFontColor;\n\n if(visible) {\n dfltColor = coerceAxis('color');\n dfltFontColor = (dfltColor === axIn.color) ? dfltColor : opts.font.color;\n }\n\n // We don't want to make downstream code call ax.setScale,\n // as both radial and angular axes don't have a set domain.\n // Furthermore, angular axes don't have a set range.\n //\n // Mocked domains and ranges are set by the polar subplot instances,\n // but Axes.findExtremes uses the sign of _m to determine which padding value\n // to use.\n //\n // By setting, _m to 1 here, we make Axes.findExtremes think that\n // range[1] > range[0], and vice-versa for `autorange: 'reversed'` below.\n axOut._m = 1;\n\n switch(axName) {\n case 'radialaxis':\n var autoRange = coerceAxis('autorange', !axOut.isValidRange(axIn.range));\n axIn.autorange = autoRange;\n if(autoRange && (axType === 'linear' || axType === '-')) coerceAxis('rangemode');\n if(autoRange === 'reversed') axOut._m = -1;\n\n coerceAxis('range');\n axOut.cleanRange('range', {dfltRange: [0, 1]});\n\n if(visible) {\n coerceAxis('side');\n coerceAxis('angle', sector[0]);\n\n coerceAxis('title.text');\n Lib.coerceFont(coerceAxis, 'title.font', {\n family: opts.font.family,\n size: Math.round(opts.font.size * 1.2),\n color: dfltFontColor\n });\n }\n break;\n\n case 'angularaxis':\n // We do not support 'true' date angular axes yet,\n // users can still plot dates on angular axes by setting\n // `angularaxis.type: 'category'`.\n //\n // Here, if a date angular axes is detected, we make\n // all its corresponding traces invisible, so that\n // when we do add support for data angular axes, the new\n // behavior won't conflict with existing behavior\n if(axType === 'date') {\n Lib.log('Polar plots do not support date angular axes yet.');\n\n for(var j = 0; j < subplotData.length; j++) {\n subplotData[j].visible = false;\n }\n\n // turn this into a 'dummy' linear axis so that\n // the subplot still renders ok\n axType = axIn.type = axOut.type = 'linear';\n }\n\n if(axType === 'linear') {\n coerceAxis('thetaunit');\n } else {\n coerceAxis('period');\n }\n\n var direction = coerceAxis('direction');\n coerceAxis('rotation', {counterclockwise: 0, clockwise: 90}[direction]);\n break;\n }\n\n if(visible) {\n handleTickValueDefaults(axIn, axOut, coerceAxis, axOut.type);\n handleTickLabelDefaults(axIn, axOut, coerceAxis, axOut.type, {\n tickSuffixDflt: axOut.thetaunit === 'degrees' ? '°' : undefined\n });\n handleTickMarkDefaults(axIn, axOut, coerceAxis, {outerTicks: true});\n\n var showTickLabels = coerceAxis('showticklabels');\n if(showTickLabels) {\n Lib.coerceFont(coerceAxis, 'tickfont', {\n family: opts.font.family,\n size: opts.font.size,\n color: dfltFontColor\n });\n coerceAxis('tickangle');\n coerceAxis('tickformat');\n }\n\n handleLineGridDefaults(axIn, axOut, coerceAxis, {\n dfltColor: dfltColor,\n bgColor: opts.bgColor,\n // default grid color is darker here (60%, vs cartesian default ~91%)\n // because the grid is not square so the eye needs heavier cues to follow\n blend: 60,\n showLine: true,\n showGrid: true,\n noZeroLine: true,\n attributes: layoutAttributes[axName]\n });\n\n coerceAxis('layer');\n }\n\n if(axType !== 'category') coerceAxis('hoverformat');\n\n axOut._input = axIn;\n }\n\n if(contOut.angularaxis.type === 'category') {\n coerce('gridshape');\n }\n}\n\nfunction handleAxisTypeDefaults(axIn, axOut, coerce, subplotData, dataAttr) {\n var axType = coerce('type');\n\n if(axType === '-') {\n var trace;\n\n for(var i = 0; i < subplotData.length; i++) {\n if(subplotData[i].visible) {\n trace = subplotData[i];\n break;\n }\n }\n\n if(trace && trace[dataAttr]) {\n axOut.type = autoType(trace[dataAttr], 'gregorian');\n }\n\n if(axOut.type === '-') {\n axOut.type = 'linear';\n } else {\n // copy autoType back to input axis\n // note that if this object didn't exist\n // in the input layout, we have to put it in\n // this happens in the main supplyDefaults function\n axIn.type = axOut.type;\n }\n }\n\n return axOut.type;\n}\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n handleSubplotDefaults(layoutIn, layoutOut, fullData, {\n type: constants.name,\n attributes: layoutAttributes,\n handleDefaults: handleDefaults,\n font: layoutOut.font,\n paper_bgcolor: layoutOut.paper_bgcolor,\n fullData: fullData,\n layoutOut: layoutOut\n });\n};\n\n\n/***/ }),\n\n/***/ \"12c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Modified from https://github.com/ArthurClemens/Javascript-Undo-Manager\n// Copyright (c) 2010-2013 Arthur Clemens, arthur@visiblearea.com\nmodule.exports = function UndoManager() {\n var undoCommands = [];\n var index = -1;\n var isExecuting = false;\n var callback;\n\n function execute(command, action) {\n if(!command) return this;\n\n isExecuting = true;\n command[action]();\n isExecuting = false;\n\n return this;\n }\n\n return {\n add: function(command) {\n if(isExecuting) return this;\n undoCommands.splice(index + 1, undoCommands.length - index);\n undoCommands.push(command);\n index = undoCommands.length - 1;\n return this;\n },\n setCallback: function(callbackFunc) { callback = callbackFunc; },\n undo: function() {\n var command = undoCommands[index];\n if(!command) return this;\n execute(command, 'undo');\n index -= 1;\n if(callback) callback(command.undo);\n return this;\n },\n redo: function() {\n var command = undoCommands[index + 1];\n if(!command) return this;\n execute(command, 'redo');\n index += 1;\n if(callback) callback(command.redo);\n return this;\n },\n clear: function() {\n undoCommands = [];\n index = -1;\n },\n hasUndo: function() { return index !== -1; },\n hasRedo: function() { return index < (undoCommands.length - 1); },\n getCommands: function() { return undoCommands; },\n getPreviousCommand: function() { return undoCommands[index - 1]; },\n getIndex: function() { return index; }\n };\n};\n\n\n/***/ }),\n\n/***/ \"12e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// a trimmed down version of:\n// https://github.com/alexcjohnson/world-calendars/blob/master/dist/index.js\n\nmodule.exports = __webpack_require__(\"0230\");\n\n__webpack_require__(\"54ea\");\n\n__webpack_require__(\"87d2\");\n__webpack_require__(\"ad2d\");\n__webpack_require__(\"d402\");\n__webpack_require__(\"fd3b\");\n__webpack_require__(\"becc\");\n__webpack_require__(\"3e43\");\n__webpack_require__(\"aaa9\");\n__webpack_require__(\"a7c5\");\n__webpack_require__(\"8a0e\");\n__webpack_require__(\"c107\");\n__webpack_require__(\"2d7d\");\n__webpack_require__(\"0b79\");\n__webpack_require__(\"1bbd\");\n__webpack_require__(\"7abc\");\n\n\n/***/ }),\n\n/***/ \"134c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fxAttrs = __webpack_require__(\"927d\");\n\nvar Scene = __webpack_require__(\"bb88\");\nvar getSubplotData = __webpack_require__(\"ad62\").getSubplotData;\nvar Lib = __webpack_require__(\"fc26\");\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\n\nvar GL3D = 'gl3d';\nvar SCENE = 'scene';\n\n\nexports.name = GL3D;\n\nexports.attr = SCENE;\n\nexports.idRoot = SCENE;\n\nexports.idRegex = exports.attrRegex = Lib.counterRegex('scene');\n\nexports.attributes = __webpack_require__(\"cdaf\");\n\nexports.layoutAttributes = __webpack_require__(\"f409\");\n\nexports.baseLayoutAttrOverrides = overrideAll({\n hoverlabel: fxAttrs.hoverlabel\n}, 'plot', 'nested');\n\nexports.supplyLayoutDefaults = __webpack_require__(\"9f41\");\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var sceneIds = fullLayout._subplots[GL3D];\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var fullSceneData = getSubplotData(fullData, GL3D, sceneId);\n var sceneLayout = fullLayout[sceneId];\n var camera = sceneLayout.camera;\n var scene = sceneLayout._scene;\n\n if(!scene) {\n scene = new Scene({\n id: sceneId,\n graphDiv: gd,\n container: gd.querySelector('.gl-container'),\n staticPlot: gd._context.staticPlot,\n plotGlPixelRatio: gd._context.plotGlPixelRatio,\n camera: camera\n },\n fullLayout\n );\n\n // set ref to Scene instance\n sceneLayout._scene = scene;\n }\n\n // save 'initial' camera view settings for modebar button\n if(!scene.viewInitial) {\n scene.viewInitial = {\n up: {\n x: camera.up.x,\n y: camera.up.y,\n z: camera.up.z\n },\n eye: {\n x: camera.eye.x,\n y: camera.eye.y,\n z: camera.eye.z\n },\n center: {\n x: camera.center.x,\n y: camera.center.y,\n z: camera.center.z\n }\n };\n }\n\n scene.plot(fullSceneData, fullLayout, gd.layout);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldSceneKeys = oldFullLayout._subplots[GL3D] || [];\n\n for(var i = 0; i < oldSceneKeys.length; i++) {\n var oldSceneKey = oldSceneKeys[i];\n\n if(!newFullLayout[oldSceneKey] && !!oldFullLayout[oldSceneKey]._scene) {\n oldFullLayout[oldSceneKey]._scene.destroy();\n\n if(oldFullLayout._infolayer) {\n oldFullLayout._infolayer\n .selectAll('.annotation-' + oldSceneKey)\n .remove();\n }\n }\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots[GL3D];\n var size = fullLayout._size;\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneLayout = fullLayout[sceneIds[i]];\n var domain = sceneLayout.domain;\n var scene = sceneLayout._scene;\n\n var imageData = scene.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: size.l + size.w * domain.x[0],\n y: size.t + size.h * (1 - domain.y[1]),\n width: size.w * (domain.x[1] - domain.x[0]),\n height: size.h * (domain.y[1] - domain.y[0]),\n preserveAspectRatio: 'none'\n });\n\n scene.destroy();\n }\n};\n\n// clean scene ids, 'scene1' -> 'scene'\nexports.cleanId = function cleanId(id) {\n if(!id.match(/^scene[0-9]*$/)) return;\n\n var sceneNum = id.substr(5);\n if(sceneNum === '1') sceneNum = '';\n\n return SCENE + sceneNum;\n};\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[GL3D];\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout[subplotIds[i]]._scene;\n subplotObj.updateFx(fullLayout.dragmode, fullLayout.hovermode);\n }\n};\n\n\n/***/ }),\n\n/***/ \"1368\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version 3.3.1\n */\n\n(function (global, factory) {\n true ? module.exports = factory() :\n undefined;\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n} else {\n _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n return function () {\n vertxNext(flush);\n };\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var r = require;\n var vertx = __webpack_require__(0);\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var _arguments = arguments;\n\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n (function () {\n var callback = _arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n })();\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n _resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n GET_THEN_ERROR.error = error;\n return GET_THEN_ERROR;\n }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n try {\n then.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n _resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n _reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n _reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n _reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return _resolve(promise, value);\n }, function (reason) {\n return _reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$ === GET_THEN_ERROR) {\n _reject(promise, GET_THEN_ERROR.error);\n } else if (then$$ === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$)) {\n handleForeignThenable(promise, maybeThenable, then$$);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction _resolve(promise, value) {\n if (promise === value) {\n _reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction _reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = undefined,\n callback = undefined,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = undefined,\n error = undefined,\n succeeded = undefined,\n failed = undefined;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n _reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n _resolve(promise, value);\n } else if (failed) {\n _reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n _reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n _resolve(promise, value);\n }, function rejectPromise(reason) {\n _reject(promise, reason);\n });\n } catch (e) {\n _reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this._input = input;\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate();\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n _reject(this.promise, validationError());\n }\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n var length = this.length;\n var _input = this._input;\n\n for (var i = 0; this._state === PENDING && i < length; i++) {\n this._eachEntry(_input[i], i);\n }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n var c = this._instanceConstructor;\n var resolve$$ = c.resolve;\n\n if (resolve$$ === resolve) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$) {\n return resolve$$(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$(entry), i);\n }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n _reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n};\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n _reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {function} resolver\n Useful for tooling.\n @constructor\n*/\nfunction Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n constructor: Promise,\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n \n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n \n Chaining\n --------\n \n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n \n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n \n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n \n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n \n Assimilation\n ------------\n \n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n \n If the assimliated promise rejects, then the downstream promise will also reject.\n \n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n \n Simple Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let result;\n \n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n \n Advanced Example\n --------------\n \n Synchronous Example\n \n ```javascript\n let author, books;\n \n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n \n Errback Example\n \n ```js\n \n function foundBooks(books) {\n \n }\n \n function failure(reason) {\n \n }\n \n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n \n Promise Example;\n \n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n \n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n then: then,\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n \n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n \n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n \n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n \n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n 'catch': function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nfunction polyfill() {\n var local = undefined;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise;\n}\n\npolyfill();\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\"), __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"1385\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n// more info: http://stackoverflow.com/questions/18531624/isplainobject-thing\nmodule.exports = function isPlainObject(obj) {\n // We need to be a little less strict in the `imagetest` container because\n // of how async image requests are handled.\n //\n // N.B. isPlainObject(new Constructor()) will return true in `imagetest`\n if(window && window.process && window.process.versions) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n }\n\n return (\n Object.prototype.toString.call(obj) === '[object Object]' &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n};\n\n\n/***/ }),\n\n/***/ \"13a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3Hierarchy = __webpack_require__(\"c947\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar makeColorScaleFn = __webpack_require__(\"c258\").makeColorScaleFuncFromTrace;\nvar makePullColorFn = __webpack_require__(\"86b8\").makePullColorFn;\nvar generateExtendedColors = __webpack_require__(\"86b8\").generateExtendedColors;\nvar colorscaleCalc = __webpack_require__(\"c258\").calc;\n\nvar ALMOST_EQUAL = __webpack_require__(\"e806\").ALMOST_EQUAL;\n\nvar sunburstExtendedColorWays = {};\nvar treemapExtendedColorWays = {};\n\nexports.calc = function(gd, trace) {\n var fullLayout = gd._fullLayout;\n var ids = trace.ids;\n var hasIds = Lib.isArrayOrTypedArray(ids);\n var labels = trace.labels;\n var parents = trace.parents;\n var values = trace.values;\n var hasValues = Lib.isArrayOrTypedArray(values);\n var cd = [];\n\n var parent2children = {};\n var refs = {};\n var addToLookup = function(parent, v) {\n if(parent2children[parent]) parent2children[parent].push(v);\n else parent2children[parent] = [v];\n refs[v] = 1;\n };\n\n // treat number `0` as valid\n var isValidKey = function(k) {\n return k || typeof k === 'number';\n };\n\n var isValidVal = function(i) {\n return !hasValues || (isNumeric(values[i]) && values[i] >= 0);\n };\n\n var len;\n var isValid;\n var getId;\n\n if(hasIds) {\n len = Math.min(ids.length, parents.length);\n isValid = function(i) { return isValidKey(ids[i]) && isValidVal(i); };\n getId = function(i) { return String(ids[i]); };\n } else {\n len = Math.min(labels.length, parents.length);\n isValid = function(i) { return isValidKey(labels[i]) && isValidVal(i); };\n // TODO We could allow some label / parent duplication\n //\n // From AJ:\n // It would work OK for one level\n // (multiple rows with the same name and different parents -\n // or even the same parent) but if that name is then used as a parent\n // which one is it?\n getId = function(i) { return String(labels[i]); };\n }\n\n if(hasValues) len = Math.min(len, values.length);\n\n for(var i = 0; i < len; i++) {\n if(isValid(i)) {\n var id = getId(i);\n var pid = isValidKey(parents[i]) ? String(parents[i]) : '';\n\n var cdi = {\n i: i,\n id: id,\n pid: pid,\n label: isValidKey(labels[i]) ? String(labels[i]) : ''\n };\n\n if(hasValues) cdi.v = +values[i];\n cd.push(cdi);\n addToLookup(pid, id);\n }\n }\n\n if(!parent2children['']) {\n var impliedRoots = [];\n var k;\n for(k in parent2children) {\n if(!refs[k]) {\n impliedRoots.push(k);\n }\n }\n\n // if an `id` has no ref in the `parents` array,\n // take it as being the root node\n\n if(impliedRoots.length === 1) {\n k = impliedRoots[0];\n cd.unshift({\n hasImpliedRoot: true,\n id: k,\n pid: '',\n label: k\n });\n } else {\n return Lib.warn('Multiple implied roots, cannot build ' + trace.type + ' hierarchy.');\n }\n } else if(parent2children[''].length > 1) {\n var dummyId = Lib.randstr();\n\n // if multiple rows linked to the root node,\n // add dummy \"root of roots\" node to make d3 build the hierarchy successfully\n\n for(var j = 0; j < cd.length; j++) {\n if(cd[j].pid === '') {\n cd[j].pid = dummyId;\n }\n }\n\n cd.unshift({\n hasMultipleRoots: true,\n id: dummyId,\n pid: '',\n label: ''\n });\n }\n\n // TODO might be better to replace stratify() with our own algorithm\n var root;\n try {\n root = d3Hierarchy.stratify()\n .id(function(d) { return d.id; })\n .parentId(function(d) { return d.pid; })(cd);\n } catch(e) {\n return Lib.warn('Failed to build ' + trace.type + ' hierarchy. Error: ' + e.message);\n }\n\n var hierarchy = d3Hierarchy.hierarchy(root);\n var failed = false;\n\n if(hasValues) {\n switch(trace.branchvalues) {\n case 'remainder':\n hierarchy.sum(function(d) { return d.data.v; });\n break;\n case 'total':\n hierarchy.each(function(d) {\n var cdi = d.data.data;\n var v = cdi.v;\n\n if(d.children) {\n var partialSum = d.children.reduce(function(a, c) {\n return a + c.data.data.v;\n }, 0);\n\n // N.B. we must fill in `value` for generated sectors\n // with the partialSum to compute the correct partition\n if(cdi.hasImpliedRoot || cdi.hasMultipleRoots) {\n v = partialSum;\n }\n\n if(v < partialSum * ALMOST_EQUAL) {\n failed = true;\n return Lib.warn([\n 'Total value for node', d.data.data.id,\n 'is smaller than the sum of its children.',\n '\\nparent value =', v,\n '\\nchildren sum =', partialSum\n ].join(' '));\n }\n }\n\n d.value = v;\n });\n break;\n }\n } else {\n countDescendants(hierarchy, trace, {\n branches: trace.count.indexOf('branches') !== -1,\n leaves: trace.count.indexOf('leaves') !== -1\n });\n }\n\n if(failed) return;\n\n // TODO add way to sort by height also?\n hierarchy.sort(function(a, b) { return b.value - a.value; });\n\n var pullColor;\n var scaleColor;\n var colors = trace.marker.colors || [];\n var hasColors = !!colors.length;\n\n if(trace._hasColorscale) {\n if(!hasColors) {\n colors = hasValues ? trace.values : trace._values;\n }\n\n colorscaleCalc(gd, trace, {\n vals: colors,\n containerStr: 'marker',\n cLetter: 'c'\n });\n\n scaleColor = makeColorScaleFn(trace.marker);\n } else {\n pullColor = makePullColorFn(fullLayout['_' + trace.type + 'colormap']);\n }\n\n // TODO keep track of 'root-children' (i.e. branch) for hover info etc.\n\n hierarchy.each(function(d) {\n var cdi = d.data.data;\n // N.B. this mutates items in `cd`\n cdi.color = trace._hasColorscale ?\n scaleColor(colors[cdi.i]) :\n pullColor(colors[cdi.i], cdi.id);\n });\n\n cd[0].hierarchy = hierarchy;\n\n return cd;\n};\n\n/*\n * `calc` filled in (and collated) explicit colors.\n * Now we need to propagate these explicit colors to other traces,\n * and fill in default colors.\n * This is done after sorting, so we pick defaults\n * in the order slices will be displayed\n */\nexports._runCrossTraceCalc = function(desiredType, gd) {\n var fullLayout = gd._fullLayout;\n var calcdata = gd.calcdata;\n var colorWay = fullLayout[desiredType + 'colorway'];\n var colorMap = fullLayout['_' + desiredType + 'colormap'];\n\n if(fullLayout['extend' + desiredType + 'colors']) {\n colorWay = generateExtendedColors(colorWay,\n desiredType === 'treemap' ? treemapExtendedColorWays : sunburstExtendedColorWays\n );\n }\n var dfltColorCount = 0;\n\n function pickColor(d) {\n var cdi = d.data.data;\n var id = cdi.id;\n\n if(cdi.color === false) {\n if(colorMap[id]) {\n // have we seen this label and assigned a color to it in a previous trace?\n cdi.color = colorMap[id];\n } else if(d.parent) {\n if(d.parent.parent) {\n // from third-level on, inherit from parent\n cdi.color = d.parent.data.data.color;\n } else {\n // pick new color for second level\n colorMap[id] = cdi.color = colorWay[dfltColorCount % colorWay.length];\n dfltColorCount++;\n }\n } else {\n // root gets no coloring by default\n cdi.color = 'rgba(0,0,0,0)';\n }\n }\n }\n\n for(var i = 0; i < calcdata.length; i++) {\n var cd = calcdata[i];\n var cd0 = cd[0];\n if(cd0.trace.type === desiredType && cd0.hierarchy) {\n cd0.hierarchy.each(pickColor);\n }\n }\n};\n\nexports.crossTraceCalc = function(gd) {\n return exports._runCrossTraceCalc('sunburst', gd);\n};\n\nfunction countDescendants(node, trace, opts) {\n var nChild = 0;\n\n var children = node.children;\n if(children) {\n var len = children.length;\n\n for(var i = 0; i < len; i++) {\n nChild += countDescendants(children[i], trace, opts);\n }\n\n if(opts.branches) nChild++; // count this branch\n } else {\n if(opts.leaves) nChild++; // count this leaf\n }\n\n // save to the node\n node.value = node.data.data.value = nChild;\n\n // save to the trace\n if(!trace._values) trace._values = [];\n trace._values[node.data.data.i] = nChild;\n\n return nChild;\n}\n\n\n/***/ }),\n\n/***/ \"13a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n\n// set cursors pointing toward the closest corner/side,\n// to indicate alignment\n// x and y are 0-1, fractions of the plot area\nvar cursorset = [\n ['sw-resize', 's-resize', 'se-resize'],\n ['w-resize', 'move', 'e-resize'],\n ['nw-resize', 'n-resize', 'ne-resize']\n];\n\nmodule.exports = function getCursor(x, y, xanchor, yanchor) {\n if(xanchor === 'left') x = 0;\n else if(xanchor === 'center') x = 1;\n else if(xanchor === 'right') x = 2;\n else x = Lib.constrain(Math.floor(x * 3), 0, 2);\n\n if(yanchor === 'bottom') y = 0;\n else if(yanchor === 'middle') y = 1;\n else if(yanchor === 'top') y = 2;\n else y = Lib.constrain(Math.floor(y * 3), 0, 2);\n\n return cursorset[y][x];\n};\n\n\n/***/ }),\n\n/***/ \"13c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * @module color-space/hsl\n */\n\n\nvar rgb = __webpack_require__(\"1bea\");\n\nmodule.exports = {\n\tname: 'hsl',\n\tmin: [0,0,0],\n\tmax: [360,100,100],\n\tchannel: ['hue', 'saturation', 'lightness'],\n\talias: ['HSL'],\n\n\trgb: function(hsl) {\n\t\tvar h = hsl[0] / 360,\n\t\t\t\ts = hsl[1] / 100,\n\t\t\t\tl = hsl[2] / 100,\n\t\t\t\tt1, t2, t3, rgb, val;\n\n\t\tif (s === 0) {\n\t\t\tval = l * 255;\n\t\t\treturn [val, val, val];\n\t\t}\n\n\t\tif (l < 0.5) {\n\t\t\tt2 = l * (1 + s);\n\t\t}\n\t\telse {\n\t\t\tt2 = l + s - l * s;\n\t\t}\n\t\tt1 = 2 * l - t2;\n\n\t\trgb = [0, 0, 0];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\tt3 = h + 1 / 3 * - (i - 1);\n\t\t\tif (t3 < 0) {\n\t\t\t\tt3++;\n\t\t\t}\n\t\t\telse if (t3 > 1) {\n\t\t\t\tt3--;\n\t\t\t}\n\n\t\t\tif (6 * t3 < 1) {\n\t\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t\t}\n\t\t\telse if (2 * t3 < 1) {\n\t\t\t\tval = t2;\n\t\t\t}\n\t\t\telse if (3 * t3 < 2) {\n\t\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tval = t1;\n\t\t\t}\n\n\t\t\trgb[i] = val * 255;\n\t\t}\n\n\t\treturn rgb;\n\t}\n};\n\n\n//extend rgb\nrgb.hsl = function(rgb) {\n\tvar r = rgb[0]/255,\n\t\t\tg = rgb[1]/255,\n\t\t\tb = rgb[2]/255,\n\t\t\tmin = Math.min(r, g, b),\n\t\t\tmax = Math.max(r, g, b),\n\t\t\tdelta = max - min,\n\t\t\th, s, l;\n\n\tif (max === min) {\n\t\th = 0;\n\t}\n\telse if (r === max) {\n\t\th = (g - b) / delta;\n\t}\n\telse if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t}\n\telse if (b === max) {\n\t\th = 4 + (r - g)/ delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t}\n\telse if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t}\n\telse {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\n\n/***/ }),\n\n/***/ \"13c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Plots = __webpack_require__(\"bb71\");\nvar axisIds = __webpack_require__(\"3c1c\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Icons = __webpack_require__(\"7559\");\n\nvar _ = Lib._;\n\nvar modeBarButtons = module.exports = {};\n\n/**\n * ModeBar buttons configuration\n *\n * @param {string} name\n * name / id of the buttons (for tracking)\n * @param {string} title\n * text that appears while hovering over the button,\n * enter null, false or '' for no hover text\n * @param {string} icon\n * svg icon object associated with the button\n * can be linked to Plotly.Icons to use the default plotly icons\n * @param {string} [gravity]\n * icon positioning\n * @param {function} click\n * click handler associated with the button, a function of\n * 'gd' (the main graph object) and\n * 'ev' (the event object)\n * @param {string} [attr]\n * attribute associated with button,\n * use this with 'val' to keep track of the state\n * @param {*} [val]\n * initial 'attr' value, can be a function of gd\n * @param {boolean} [toggle]\n * is the button a toggle button?\n */\nmodeBarButtons.toImage = {\n name: 'toImage',\n title: function(gd) {\n var opts = gd._context.toImageButtonOptions || {};\n var format = opts.format || 'png';\n return format === 'png' ?\n _(gd, 'Download plot as a png') : // legacy text\n _(gd, 'Download plot'); // generic non-PNG text\n },\n icon: Icons.camera,\n click: function(gd) {\n var toImageButtonOptions = gd._context.toImageButtonOptions;\n var opts = {format: toImageButtonOptions.format || 'png'};\n\n Lib.notifier(_(gd, 'Taking snapshot - this may take a few seconds'), 'long');\n\n if(opts.format !== 'svg' && Lib.isIE()) {\n Lib.notifier(_(gd, 'IE only supports svg. Changing format to svg.'), 'long');\n opts.format = 'svg';\n }\n\n ['filename', 'width', 'height', 'scale'].forEach(function(key) {\n if(key in toImageButtonOptions) {\n opts[key] = toImageButtonOptions[key];\n }\n });\n\n Registry.call('downloadImage', gd, opts)\n .then(function(filename) {\n Lib.notifier(_(gd, 'Snapshot succeeded') + ' - ' + filename, 'long');\n })\n .catch(function() {\n Lib.notifier(_(gd, 'Sorry, there was a problem downloading your snapshot!'), 'long');\n });\n }\n};\n\nmodeBarButtons.sendDataToCloud = {\n name: 'sendDataToCloud',\n title: function(gd) { return _(gd, 'Edit in Chart Studio'); },\n icon: Icons.disk,\n click: function(gd) {\n Plots.sendDataToCloud(gd);\n }\n};\n\nmodeBarButtons.editInChartStudio = {\n name: 'editInChartStudio',\n title: function(gd) { return _(gd, 'Edit in Chart Studio'); },\n icon: Icons.pencil,\n click: function(gd) {\n Plots.sendDataToCloud(gd);\n }\n};\n\nmodeBarButtons.zoom2d = {\n name: 'zoom2d',\n title: function(gd) { return _(gd, 'Zoom'); },\n attr: 'dragmode',\n val: 'zoom',\n icon: Icons.zoombox,\n click: handleCartesian\n};\n\nmodeBarButtons.pan2d = {\n name: 'pan2d',\n title: function(gd) { return _(gd, 'Pan'); },\n attr: 'dragmode',\n val: 'pan',\n icon: Icons.pan,\n click: handleCartesian\n};\n\nmodeBarButtons.select2d = {\n name: 'select2d',\n title: function(gd) { return _(gd, 'Box Select'); },\n attr: 'dragmode',\n val: 'select',\n icon: Icons.selectbox,\n click: handleCartesian\n};\n\nmodeBarButtons.lasso2d = {\n name: 'lasso2d',\n title: function(gd) { return _(gd, 'Lasso Select'); },\n attr: 'dragmode',\n val: 'lasso',\n icon: Icons.lasso,\n click: handleCartesian\n};\n\nmodeBarButtons.zoomIn2d = {\n name: 'zoomIn2d',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleCartesian\n};\n\nmodeBarButtons.zoomOut2d = {\n name: 'zoomOut2d',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleCartesian\n};\n\nmodeBarButtons.autoScale2d = {\n name: 'autoScale2d',\n title: function(gd) { return _(gd, 'Autoscale'); },\n attr: 'zoom',\n val: 'auto',\n icon: Icons.autoscale,\n click: handleCartesian\n};\n\nmodeBarButtons.resetScale2d = {\n name: 'resetScale2d',\n title: function(gd) { return _(gd, 'Reset axes'); },\n attr: 'zoom',\n val: 'reset',\n icon: Icons.home,\n click: handleCartesian\n};\n\nmodeBarButtons.hoverClosestCartesian = {\n name: 'hoverClosestCartesian',\n title: function(gd) { return _(gd, 'Show closest data on hover'); },\n attr: 'hovermode',\n val: 'closest',\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: handleCartesian\n};\n\nmodeBarButtons.hoverCompareCartesian = {\n name: 'hoverCompareCartesian',\n title: function(gd) { return _(gd, 'Compare data on hover'); },\n attr: 'hovermode',\n val: function(gd) {\n return gd._fullLayout._isHoriz ? 'y' : 'x';\n },\n icon: Icons.tooltip_compare,\n gravity: 'ne',\n click: handleCartesian\n};\n\nfunction handleCartesian(gd, ev) {\n var button = ev.currentTarget;\n var astr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var fullLayout = gd._fullLayout;\n var aobj = {};\n var axList = axisIds.list(gd, null, true);\n var allSpikesEnabled = fullLayout._cartesianSpikesEnabled;\n\n var ax, i;\n\n if(astr === 'zoom') {\n var mag = (val === 'in') ? 0.5 : 2;\n var r0 = (1 + mag) / 2;\n var r1 = (1 - mag) / 2;\n var axName;\n\n for(i = 0; i < axList.length; i++) {\n ax = axList[i];\n\n if(!ax.fixedrange) {\n axName = ax._name;\n if(val === 'auto') {\n aobj[axName + '.autorange'] = true;\n } else if(val === 'reset') {\n if(ax._rangeInitial === undefined) {\n aobj[axName + '.autorange'] = true;\n } else {\n var rangeInitial = ax._rangeInitial.slice();\n aobj[axName + '.range[0]'] = rangeInitial[0];\n aobj[axName + '.range[1]'] = rangeInitial[1];\n }\n\n // N.B. \"reset\" also resets showspikes\n if(ax._showSpikeInitial !== undefined) {\n aobj[axName + '.showspikes'] = ax._showSpikeInitial;\n if(allSpikesEnabled === 'on' && !ax._showSpikeInitial) {\n allSpikesEnabled = 'off';\n }\n }\n } else {\n var rangeNow = [\n ax.r2l(ax.range[0]),\n ax.r2l(ax.range[1]),\n ];\n\n var rangeNew = [\n r0 * rangeNow[0] + r1 * rangeNow[1],\n r0 * rangeNow[1] + r1 * rangeNow[0]\n ];\n\n aobj[axName + '.range[0]'] = ax.l2r(rangeNew[0]);\n aobj[axName + '.range[1]'] = ax.l2r(rangeNew[1]);\n }\n }\n }\n } else {\n // if ALL traces have orientation 'h', 'hovermode': 'x' otherwise: 'y'\n if(astr === 'hovermode' && (val === 'x' || val === 'y')) {\n val = fullLayout._isHoriz ? 'y' : 'x';\n button.setAttribute('data-val', val);\n }\n\n aobj[astr] = val;\n }\n\n fullLayout._cartesianSpikesEnabled = allSpikesEnabled;\n\n Registry.call('_guiRelayout', gd, aobj);\n}\n\nmodeBarButtons.zoom3d = {\n name: 'zoom3d',\n title: function(gd) { return _(gd, 'Zoom'); },\n attr: 'scene.dragmode',\n val: 'zoom',\n icon: Icons.zoombox,\n click: handleDrag3d\n};\n\nmodeBarButtons.pan3d = {\n name: 'pan3d',\n title: function(gd) { return _(gd, 'Pan'); },\n attr: 'scene.dragmode',\n val: 'pan',\n icon: Icons.pan,\n click: handleDrag3d\n};\n\nmodeBarButtons.orbitRotation = {\n name: 'orbitRotation',\n title: function(gd) { return _(gd, 'Orbital rotation'); },\n attr: 'scene.dragmode',\n val: 'orbit',\n icon: Icons['3d_rotate'],\n click: handleDrag3d\n};\n\nmodeBarButtons.tableRotation = {\n name: 'tableRotation',\n title: function(gd) { return _(gd, 'Turntable rotation'); },\n attr: 'scene.dragmode',\n val: 'turntable',\n icon: Icons['z-axis'],\n click: handleDrag3d\n};\n\nfunction handleDrag3d(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var sceneIds = gd._fullLayout._subplots.gl3d || [];\n var layoutUpdate = {};\n\n var parts = attr.split('.');\n\n for(var i = 0; i < sceneIds.length; i++) {\n layoutUpdate[sceneIds[i] + '.' + parts[1]] = val;\n }\n\n // for multi-type subplots\n var val2d = (val === 'pan') ? val : 'zoom';\n layoutUpdate.dragmode = val2d;\n\n Registry.call('_guiRelayout', gd, layoutUpdate);\n}\n\nmodeBarButtons.resetCameraDefault3d = {\n name: 'resetCameraDefault3d',\n title: function(gd) { return _(gd, 'Reset camera to default'); },\n attr: 'resetDefault',\n icon: Icons.home,\n click: handleCamera3d\n};\n\nmodeBarButtons.resetCameraLastSave3d = {\n name: 'resetCameraLastSave3d',\n title: function(gd) { return _(gd, 'Reset camera to last save'); },\n attr: 'resetLastSave',\n icon: Icons.movie,\n click: handleCamera3d\n};\n\nfunction handleCamera3d(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots.gl3d || [];\n var aobj = {};\n\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var camera = sceneId + '.camera';\n var aspectratio = sceneId + '.aspectratio';\n var scene = fullLayout[sceneId]._scene;\n var didUpdate;\n\n if(attr === 'resetLastSave') {\n aobj[camera + '.up'] = scene.viewInitial.up;\n aobj[camera + '.eye'] = scene.viewInitial.eye;\n aobj[camera + '.center'] = scene.viewInitial.center;\n didUpdate = true;\n } else if(attr === 'resetDefault') {\n aobj[camera + '.up'] = null;\n aobj[camera + '.eye'] = null;\n aobj[camera + '.center'] = null;\n didUpdate = true;\n }\n\n if(didUpdate) {\n aobj[aspectratio + '.x'] = scene.viewInitial.aspectratio.x;\n aobj[aspectratio + '.y'] = scene.viewInitial.aspectratio.y;\n aobj[aspectratio + '.z'] = scene.viewInitial.aspectratio.z;\n }\n }\n\n Registry.call('_guiRelayout', gd, aobj);\n}\n\nmodeBarButtons.hoverClosest3d = {\n name: 'hoverClosest3d',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: handleHover3d\n};\n\nfunction getNextHover3d(gd, ev) {\n var button = ev.currentTarget;\n var val = button._previousVal;\n var fullLayout = gd._fullLayout;\n var sceneIds = fullLayout._subplots.gl3d || [];\n\n var axes = ['xaxis', 'yaxis', 'zaxis'];\n\n // initialize 'current spike' object to be stored in the DOM\n var currentSpikes = {};\n var layoutUpdate = {};\n\n if(val) {\n layoutUpdate = val;\n button._previousVal = null;\n } else {\n for(var i = 0; i < sceneIds.length; i++) {\n var sceneId = sceneIds[i];\n var sceneLayout = fullLayout[sceneId];\n\n var hovermodeAStr = sceneId + '.hovermode';\n currentSpikes[hovermodeAStr] = sceneLayout.hovermode;\n layoutUpdate[hovermodeAStr] = false;\n\n // copy all the current spike attrs\n for(var j = 0; j < 3; j++) {\n var axis = axes[j];\n var spikeAStr = sceneId + '.' + axis + '.showspikes';\n layoutUpdate[spikeAStr] = false;\n currentSpikes[spikeAStr] = sceneLayout[axis].showspikes;\n }\n }\n\n button._previousVal = currentSpikes;\n }\n return layoutUpdate;\n}\n\nfunction handleHover3d(gd, ev) {\n var layoutUpdate = getNextHover3d(gd, ev);\n Registry.call('_guiRelayout', gd, layoutUpdate);\n}\n\nmodeBarButtons.zoomInGeo = {\n name: 'zoomInGeo',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleGeo\n};\n\nmodeBarButtons.zoomOutGeo = {\n name: 'zoomOutGeo',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleGeo\n};\n\nmodeBarButtons.resetGeo = {\n name: 'resetGeo',\n title: function(gd) { return _(gd, 'Reset'); },\n attr: 'reset',\n val: null,\n icon: Icons.autoscale,\n click: handleGeo\n};\n\nmodeBarButtons.hoverClosestGeo = {\n name: 'hoverClosestGeo',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nfunction handleGeo(gd, ev) {\n var button = ev.currentTarget;\n var attr = button.getAttribute('data-attr');\n var val = button.getAttribute('data-val') || true;\n var fullLayout = gd._fullLayout;\n var geoIds = fullLayout._subplots.geo || [];\n\n for(var i = 0; i < geoIds.length; i++) {\n var id = geoIds[i];\n var geoLayout = fullLayout[id];\n\n if(attr === 'zoom') {\n var scale = geoLayout.projection.scale;\n var newScale = (val === 'in') ? 2 * scale : 0.5 * scale;\n\n Registry.call('_guiRelayout', gd, id + '.projection.scale', newScale);\n }\n }\n\n if(attr === 'reset') {\n resetView(gd, 'geo');\n }\n}\n\nmodeBarButtons.hoverClosestGl2d = {\n name: 'hoverClosestGl2d',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nmodeBarButtons.hoverClosestPie = {\n name: 'hoverClosestPie',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: 'closest',\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: toggleHover\n};\n\nfunction getNextHover(gd) {\n var fullLayout = gd._fullLayout;\n\n if(fullLayout.hovermode) return false;\n\n if(fullLayout._has('cartesian')) {\n return fullLayout._isHoriz ? 'y' : 'x';\n }\n return 'closest';\n}\n\nfunction toggleHover(gd) {\n var newHover = getNextHover(gd);\n Registry.call('_guiRelayout', gd, 'hovermode', newHover);\n}\n\nmodeBarButtons.resetViewSankey = {\n name: 'resetSankeyGroup',\n title: function(gd) { return _(gd, 'Reset view'); },\n icon: Icons.home,\n click: function(gd) {\n var aObj = {\n 'node.groups': [],\n 'node.x': [],\n 'node.y': []\n };\n for(var i = 0; i < gd._fullData.length; i++) {\n var viewInitial = gd._fullData[i]._viewInitial;\n aObj['node.groups'].push(viewInitial.node.groups.slice());\n aObj['node.x'].push(viewInitial.node.x.slice());\n aObj['node.y'].push(viewInitial.node.y.slice());\n }\n Registry.call('restyle', gd, aObj);\n }\n};\n\n// buttons when more then one plot types are present\n\nmodeBarButtons.toggleHover = {\n name: 'toggleHover',\n title: function(gd) { return _(gd, 'Toggle show closest data on hover'); },\n attr: 'hovermode',\n val: null,\n toggle: true,\n icon: Icons.tooltip_basic,\n gravity: 'ne',\n click: function(gd, ev) {\n var layoutUpdate = getNextHover3d(gd, ev);\n layoutUpdate.hovermode = getNextHover(gd);\n\n Registry.call('_guiRelayout', gd, layoutUpdate);\n }\n};\n\nmodeBarButtons.resetViews = {\n name: 'resetViews',\n title: function(gd) { return _(gd, 'Reset views'); },\n icon: Icons.home,\n click: function(gd, ev) {\n var button = ev.currentTarget;\n\n button.setAttribute('data-attr', 'zoom');\n button.setAttribute('data-val', 'reset');\n handleCartesian(gd, ev);\n\n button.setAttribute('data-attr', 'resetLastSave');\n handleCamera3d(gd, ev);\n\n resetView(gd, 'geo');\n resetView(gd, 'mapbox');\n }\n};\n\nmodeBarButtons.toggleSpikelines = {\n name: 'toggleSpikelines',\n title: function(gd) { return _(gd, 'Toggle Spike Lines'); },\n icon: Icons.spikeline,\n attr: '_cartesianSpikesEnabled',\n val: 'on',\n click: function(gd) {\n var fullLayout = gd._fullLayout;\n var allSpikesEnabled = fullLayout._cartesianSpikesEnabled;\n\n fullLayout._cartesianSpikesEnabled = allSpikesEnabled === 'on' ? 'off' : 'on';\n Registry.call('_guiRelayout', gd, setSpikelineVisibility(gd));\n }\n};\n\nfunction setSpikelineVisibility(gd) {\n var fullLayout = gd._fullLayout;\n var areSpikesOn = fullLayout._cartesianSpikesEnabled === 'on';\n var axList = axisIds.list(gd, null, true);\n var aobj = {};\n\n for(var i = 0; i < axList.length; i++) {\n var ax = axList[i];\n aobj[ax._name + '.showspikes'] = areSpikesOn ? true : ax._showSpikeInitial;\n }\n\n return aobj;\n}\n\nmodeBarButtons.resetViewMapbox = {\n name: 'resetViewMapbox',\n title: function(gd) { return _(gd, 'Reset view'); },\n attr: 'reset',\n icon: Icons.home,\n click: function(gd) {\n resetView(gd, 'mapbox');\n }\n};\n\nmodeBarButtons.zoomInMapbox = {\n name: 'zoomInMapbox',\n title: function(gd) { return _(gd, 'Zoom in'); },\n attr: 'zoom',\n val: 'in',\n icon: Icons.zoom_plus,\n click: handleMapboxZoom\n};\n\nmodeBarButtons.zoomOutMapbox = {\n name: 'zoomOutMapbox',\n title: function(gd) { return _(gd, 'Zoom out'); },\n attr: 'zoom',\n val: 'out',\n icon: Icons.zoom_minus,\n click: handleMapboxZoom\n};\n\nfunction handleMapboxZoom(gd, ev) {\n var button = ev.currentTarget;\n var val = button.getAttribute('data-val');\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots.mapbox || [];\n var scalar = 1.05;\n var aObj = {};\n\n for(var i = 0; i < subplotIds.length; i++) {\n var id = subplotIds[i];\n var current = fullLayout[id].zoom;\n var next = (val === 'in') ? scalar * current : current / scalar;\n aObj[id + '.zoom'] = next;\n }\n\n Registry.call('_guiRelayout', gd, aObj);\n}\n\nfunction resetView(gd, subplotType) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[subplotType] || [];\n var aObj = {};\n\n for(var i = 0; i < subplotIds.length; i++) {\n var id = subplotIds[i];\n var subplotObj = fullLayout[id]._subplot;\n var viewInitial = subplotObj.viewInitial;\n var viewKeys = Object.keys(viewInitial);\n\n for(var j = 0; j < viewKeys.length; j++) {\n var key = viewKeys[j];\n aObj[id + '.' + key] = viewInitial[key];\n }\n }\n\n Registry.call('_guiRelayout', gd, aObj);\n}\n\n\n/***/ }),\n\n/***/ \"13d5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $reduce = __webpack_require__(\"d58f\").left;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"1417\":\n/***/ (function(module, exports) {\n\nmodule.exports = multiply;\n\n/**\n * Multiplies two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the first operand\n * @param {mat4} b the second operand\n * @returns {mat4} out\n */\nfunction multiply(out, a, b) {\n var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3],\n a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7],\n a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11],\n a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];\n\n // Cache only the current line of the second matrix\n var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; \n out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7];\n out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11];\n out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n\n b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15];\n out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30;\n out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31;\n out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32;\n out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33;\n return out;\n};\n\n/***/ }),\n\n/***/ \"145a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar parcatsPlot = __webpack_require__(\"3e11\");\n\nvar PARCATS = 'parcats';\nexports.name = PARCATS;\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n var cdModuleAndOthers = getModuleCalcData(gd.calcdata, PARCATS);\n\n if(cdModuleAndOthers.length) {\n var calcData = cdModuleAndOthers[0];\n parcatsPlot(gd, calcData, transitionOpts, makeOnCompleteCallback);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadTable = (oldFullLayout._has && oldFullLayout._has('parcats'));\n var hasTable = (newFullLayout._has && newFullLayout._has('parcats'));\n\n if(hadTable && !hasTable) {\n oldFullLayout._paperdiv.selectAll('.parcats').remove();\n }\n};\n\n\n/***/ }),\n\n/***/ \"1477\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar isBrowser = __webpack_require__(\"dcf3\")\r\n\r\nfunction detect() {\r\n\tvar supported = false\r\n\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function() {\r\n\t\t\t\tsupported = true\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.addEventListener('test', null, opts)\r\n\t\twindow.removeEventListener('test', null, opts)\r\n\t} catch(e) {\r\n\t\tsupported = false\r\n\t}\r\n\r\n\treturn supported\r\n}\r\n\r\nmodule.exports = isBrowser && detect()\r\n\n\n/***/ }),\n\n/***/ \"14ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar assign = Object.assign, obj;\n\tif (typeof assign !== \"function\") return false;\n\tobj = { foo: \"raz\" };\n\tassign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n\treturn obj.foo + obj.bar + obj.trzy === \"razdwatrzy\";\n};\n\n\n/***/ }),\n\n/***/ \"14b6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar annAttrs = __webpack_require__(\"bb4a\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\n\nmodule.exports = overrideAll(templatedArray('annotation', {\n visible: annAttrs.visible,\n x: {\n valType: 'any',\n \n \n },\n y: {\n valType: 'any',\n \n \n },\n z: {\n valType: 'any',\n \n \n },\n ax: {\n valType: 'number',\n \n \n },\n ay: {\n valType: 'number',\n \n \n },\n\n xanchor: annAttrs.xanchor,\n xshift: annAttrs.xshift,\n yanchor: annAttrs.yanchor,\n yshift: annAttrs.yshift,\n\n text: annAttrs.text,\n textangle: annAttrs.textangle,\n font: annAttrs.font,\n width: annAttrs.width,\n height: annAttrs.height,\n opacity: annAttrs.opacity,\n align: annAttrs.align,\n valign: annAttrs.valign,\n bgcolor: annAttrs.bgcolor,\n bordercolor: annAttrs.bordercolor,\n borderpad: annAttrs.borderpad,\n borderwidth: annAttrs.borderwidth,\n showarrow: annAttrs.showarrow,\n arrowcolor: annAttrs.arrowcolor,\n arrowhead: annAttrs.arrowhead,\n startarrowhead: annAttrs.startarrowhead,\n arrowside: annAttrs.arrowside,\n arrowsize: annAttrs.arrowsize,\n startarrowsize: annAttrs.startarrowsize,\n arrowwidth: annAttrs.arrowwidth,\n standoff: annAttrs.standoff,\n startstandoff: annAttrs.startstandoff,\n hovertext: annAttrs.hovertext,\n hoverlabel: annAttrs.hoverlabel,\n captureevents: annAttrs.captureevents,\n\n // maybes later?\n // clicktoshow: annAttrs.clicktoshow,\n // xclick: annAttrs.xclick,\n // yclick: annAttrs.yclick,\n\n // not needed!\n // axref: 'pixel'\n // ayref: 'pixel'\n // xref: 'x'\n // yref: 'y\n // zref: 'z'\n}), 'calc', 'from-root');\n\n\n/***/ }),\n\n/***/ \"14c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"c6b6\");\nvar regexpExec = __webpack_require__(\"9263\");\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n\n\n/***/ }),\n\n/***/ \"14cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar from = Array.from, arr, result;\n\tif (typeof from !== \"function\") return false;\n\tarr = [\"raz\", \"dwa\"];\n\tresult = from(arr);\n\treturn Boolean(result && result !== arr && result[1] === \"dwa\");\n};\n\n\n/***/ }),\n\n/***/ \"158b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = findMedian\n\nvar genPartition = __webpack_require__(\"8e58\")\n\nvar partitionStartLessThan = genPartition('lostart && boxes[ptr+axis] > x; \n --j, ptr-=elemSize) {\n //Swap\n var aPtr = ptr\n var bPtr = ptr+elemSize\n for(var k=0; k>> 1)\n var elemSize = 2*d\n var pivot = mid\n var value = boxes[elemSize*mid+axis]\n \n while(lo < hi) {\n if(hi - lo < PARTITION_THRESHOLD) {\n insertionSort(d, axis, lo, hi, boxes, ids)\n value = boxes[elemSize*mid+axis]\n break\n }\n \n //Select pivot using median-of-3\n var count = hi - lo\n var pivot0 = (Math.random()*count+lo)|0\n var value0 = boxes[elemSize*pivot0 + axis]\n var pivot1 = (Math.random()*count+lo)|0\n var value1 = boxes[elemSize*pivot1 + axis]\n var pivot2 = (Math.random()*count+lo)|0\n var value2 = boxes[elemSize*pivot2 + axis]\n if(value0 <= value1) {\n if(value2 >= value1) {\n pivot = pivot1\n value = value1\n } else if(value0 >= value2) {\n pivot = pivot0\n value = value0\n } else {\n pivot = pivot2\n value = value2\n }\n } else {\n if(value1 >= value2) {\n pivot = pivot1\n value = value1\n } else if(value2 >= value0) {\n pivot = pivot0\n value = value0\n } else {\n pivot = pivot2\n value = value2\n }\n }\n\n //Swap pivot to end of array\n var aPtr = elemSize * (hi-1)\n var bPtr = elemSize * pivot\n for(var i=0; i 0) {\n\t\t\tfor (var a = 0; a < facets; a++) {\n\t\t\t\tvar a1 = (a+1) % facets;\n\t\t\t\tverts.push(\n\t\t\t\t\tpreviousVerts[a],\n\t\t\t\t\tcurrentVerts[a],\n\t\t\t\t\tcurrentVerts[a1],\n\n\t\t\t\t\tcurrentVerts[a1],\n\t\t\t\t\tpreviousVerts[a1],\n\t\t\t\t\tpreviousVerts[a]\n\t\t\t\t);\n\t\t\t\tvectors.push(\n\t\t\t\t\tpreviousVector,\n\t\t\t\t\tcurrentVector,\n\t\t\t\t\tcurrentVector,\n\n\t\t\t\t\tcurrentVector,\n\t\t\t\t\tpreviousVector,\n\t\t\t\t\tpreviousVector\n\t\t\t\t);\n\t\t\t\tintensities.push(\n\t\t\t\t\tpreviousIntensity,\n\t\t\t\t\tcurrentIntensity,\n\t\t\t\t\tcurrentIntensity,\n\n\t\t\t\t\tcurrentIntensity,\n\t\t\t\t\tpreviousIntensity,\n\t\t\t\t\tpreviousIntensity\n\t\t\t\t);\n\n\t\t\t\tvar len = verts.length;\n\t\t\t\tfaces.push(\n\t\t\t\t\t[len-6, len-5, len-4],\n\t\t\t\t\t[len-3, len-2, len-1]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tvar tmp1 = previousVerts;\n\t\tpreviousVerts = currentVerts;\n\t\tcurrentVerts = tmp1;\n\n\t\tvar tmp2 = previousVector;\n\t\tpreviousVector = currentVector;\n\t\tcurrentVector = tmp2;\n\n\t\tvar tmp3 = previousIntensity;\n\t\tpreviousIntensity = currentIntensity;\n\t\tcurrentIntensity = tmp3;\n\t}\n\treturn {\n\t\tpositions: verts,\n\t\tcells: faces,\n\t\tvectors: vectors,\n\t\tvertexIntensity: intensities\n\t};\n};\n\nvar createTubes = function(streams, colormap, maxDivergence, minDistance) {\n\n\tvar maxNorm = 0;\n\tfor (var i=0; i v) return i-1;\n }\n return i;\n};\n\nvar clamp = function(v, min, max) {\n\treturn v < min ? min : (v > max ? max : v);\n};\n\nvar sampleMeshgrid = function(point, vectorField, gridInfo) {\n\tvar vectors = vectorField.vectors;\n\tvar meshgrid = vectorField.meshgrid;\n\n\tvar x = point[0];\n\tvar y = point[1];\n\tvar z = point[2];\n\n\tvar w = meshgrid[0].length;\n\tvar h = meshgrid[1].length;\n\tvar d = meshgrid[2].length;\n\n\t// Find the index of the nearest smaller value in the meshgrid for each coordinate of (x,y,z).\n\t// The nearest smaller value index for x is the index x0 such that\n\t// meshgrid[0][x0] < x and for all x1 > x0, meshgrid[0][x1] >= x.\n\tvar x0 = findLastSmallerIndex(meshgrid[0], x);\n\tvar y0 = findLastSmallerIndex(meshgrid[1], y);\n\tvar z0 = findLastSmallerIndex(meshgrid[2], z);\n\n\t// Get the nearest larger meshgrid value indices.\n\t// From the above \"nearest smaller value\", we know that\n\t// meshgrid[0][x0] < x\n\t// meshgrid[0][x0+1] >= x\n\tvar x1 = x0 + 1;\n\tvar y1 = y0 + 1;\n\tvar z1 = z0 + 1;\n\n\tx0 = clamp(x0, 0, w-1);\n\tx1 = clamp(x1, 0, w-1);\n\ty0 = clamp(y0, 0, h-1);\n\ty1 = clamp(y1, 0, h-1);\n\tz0 = clamp(z0, 0, d-1);\n\tz1 = clamp(z1, 0, d-1);\n\n\t// Reject points outside the meshgrid, return a zero vector.\n\tif (x0 < 0 || y0 < 0 || z0 < 0 || x1 > w-1 || y1 > h-1 || z1 > d-1) {\n\t\treturn vec3.create();\n\t}\n\n\t// Normalize point coordinates to 0..1 scaling factor between x0 and x1.\n\tvar mX0 = meshgrid[0][x0];\n\tvar mX1 = meshgrid[0][x1];\n\tvar mY0 = meshgrid[1][y0];\n\tvar mY1 = meshgrid[1][y1];\n\tvar mZ0 = meshgrid[2][z0];\n\tvar mZ1 = meshgrid[2][z1];\n\tvar xf = (x - mX0) / (mX1 - mX0);\n\tvar yf = (y - mY0) / (mY1 - mY0);\n\tvar zf = (z - mZ0) / (mZ1 - mZ0);\n\n\tif (!isFinite(xf)) xf = 0.5;\n\tif (!isFinite(yf)) yf = 0.5;\n\tif (!isFinite(zf)) zf = 0.5;\n\n\tvar x0off;\n\tvar x1off;\n\tvar y0off;\n\tvar y1off;\n\tvar z0off;\n\tvar z1off;\n\n\tif(gridInfo.reversedX) {\n\t\tx0 = w - 1 - x0;\n\t\tx1 = w - 1 - x1;\n\t}\n\n\tif(gridInfo.reversedY) {\n\t\ty0 = h - 1 - y0;\n\t\ty1 = h - 1 - y1;\n\t}\n\n\tif(gridInfo.reversedZ) {\n\t\tz0 = d - 1 - z0;\n\t\tz1 = d - 1 - z1;\n\t}\n\n\tswitch(gridInfo.filled) {\n\t\tcase 5: // 'zyx'\n\t\t\tz0off = z0;\n\t\t\tz1off = z1;\n\t\t\ty0off = y0*d;\n\t\t\ty1off = y1*d;\n\t\t\tx0off = x0*d*h;\n\t\t\tx1off = x1*d*h;\n\t\t\tbreak;\n\n\t\tcase 4: // 'zxy'\n\t\t\tz0off = z0;\n\t\t\tz1off = z1;\n\t\t\tx0off = x0*d;\n\t\t\tx1off = x1*d;\n\t\t\ty0off = y0*d*w;\n\t\t\ty1off = y1*d*w;\n\t\t\tbreak;\n\n\t\tcase 3: // 'yzx'\n\t\t\ty0off = y0;\n\t\t\ty1off = y1;\n\t\t\tz0off = z0*h;\n\t\t\tz1off = z1*h;\n\t\t\tx0off = x0*h*d;\n\t\t\tx1off = x1*h*d;\n\t\t\tbreak;\n\n\t\tcase 2: // 'yxz'\n\t\t\ty0off = y0;\n\t\t\ty1off = y1;\n\t\t\tx0off = x0*h;\n\t\t\tx1off = x1*h;\n\t\t\tz0off = z0*h*w;\n\t\t\tz1off = z1*h*w;\n\t\t\tbreak;\n\n\t\tcase 1: // 'xzy'\n\t\t\tx0off = x0;\n\t\t\tx1off = x1;\n\t\t\tz0off = z0*w;\n\t\t\tz1off = z1*w;\n\t\t\ty0off = y0*w*d;\n\t\t\ty1off = y1*w*d;\n\t\t\tbreak;\n\n\t\tdefault: // case 0: // 'xyz'\n\t\t\tx0off = x0;\n\t\t\tx1off = x1;\n\t\t\ty0off = y0*w;\n\t\t\ty1off = y1*w;\n\t\t\tz0off = z0*w*h;\n\t\t\tz1off = z1*w*h;\n\t\t\tbreak;\n\t}\n\n\t// Sample data vectors around the (x,y,z) point.\n\tvar v000 = vectors[x0off + y0off + z0off];\n\tvar v001 = vectors[x0off + y0off + z1off];\n\tvar v010 = vectors[x0off + y1off + z0off];\n\tvar v011 = vectors[x0off + y1off + z1off];\n\tvar v100 = vectors[x1off + y0off + z0off];\n\tvar v101 = vectors[x1off + y0off + z1off];\n\tvar v110 = vectors[x1off + y1off + z0off];\n\tvar v111 = vectors[x1off + y1off + z1off];\n\n\tvar c00 = vec3.create();\n\tvar c01 = vec3.create();\n\tvar c10 = vec3.create();\n\tvar c11 = vec3.create();\n\n\tvec3.lerp(c00, v000, v100, xf);\n\tvec3.lerp(c01, v001, v101, xf);\n\tvec3.lerp(c10, v010, v110, xf);\n\tvec3.lerp(c11, v011, v111, xf);\n\n\tvar c0 = vec3.create();\n\tvar c1 = vec3.create();\n\n\tvec3.lerp(c0, c00, c10, yf);\n\tvec3.lerp(c1, c01, c11, yf);\n\n\tvar c = vec3.create();\n\n\tvec3.lerp(c, c0, c1, zf);\n\n\treturn c;\n};\n\n\nvar vabs = function(dst, v) {\n\tvar x = v[0];\n\tvar y = v[1];\n\tvar z = v[2];\n\tdst[0] = x < 0 ? -x : x;\n\tdst[1] = y < 0 ? -y : y;\n\tdst[2] = z < 0 ? -z : z;\n\treturn dst;\n};\n\nvar findMinSeparation = function(xs) {\n\tvar minSeparation = Infinity;\n\txs.sort(function(a, b) { return a - b; });\n\tvar len = xs.length;\n\tfor (var i=1; i maxX ||\n\t\t\ty < minY || y > maxY ||\n\t\t\tz < minZ || z > maxZ\n\t\t);\n\t};\n\n\tvar boundsSize = vec3.distance(bounds[0], bounds[1]);\n\tvar maxStepSize = 10 * boundsSize / maxLength;\n\tvar maxStepSizeSq = maxStepSize * maxStepSize;\n\n\tvar minDistance = 1;\n\tvar maxDivergence = 0; // For component-wise divergence vec3.create();\n\n\t// In case we need to do component-wise divergence visualization\n\t// var tmp = vec3.create();\n\n\tvar len = positions.length;\n\tif (len > 1) {\n\t\tminDistance = calculateMinPositionDistance(positions);\n\t}\n\n\tfor (var i = 0; i < len; i++) {\n\t\tvar p = vec3.create();\n\t\tvec3.copy(p, positions[i]);\n\n\t\tvar stream = [p];\n\t\tvar velocities = [];\n\t\tvar v = getVelocity(p);\n\t\tvar op = p;\n\t\tvelocities.push(v);\n\n\t\tvar divergences = [];\n\n\t\tvar dv = getDivergence(p, v);\n\t\tvar dvLength = vec3.length(dv);\n\t\tif (isFinite(dvLength) && dvLength > maxDivergence) {\n\t\t\tmaxDivergence = dvLength;\n\t\t}\n\t\t// In case we need to do component-wise divergence visualization\n\t\t// vec3.max(maxDivergence, maxDivergence, vabs(tmp, dv));\n\t\tdivergences.push(dvLength);\n\n\t\tstreams.push({points: stream, velocities: velocities, divergences: divergences});\n\n\t\tvar j = 0;\n\n\t\twhile (j < maxLength * 100 && stream.length < maxLength && inBounds(p)) {\n\t\t\tj++;\n\t\t\tvar np = vec3.clone(v);\n\t\t\tvar sqLen = vec3.squaredLength(np);\n\t\t\tif (sqLen === 0) {\n\t\t\t\tbreak;\n\t\t\t} else if (sqLen > maxStepSizeSq) {\n\t\t\t\tvec3.scale(np, np, maxStepSize / Math.sqrt(sqLen));\n\t\t\t}\n\t\t\tvec3.add(np, np, p);\n\n\t\t\tv = getVelocity(np);\n\n\t\t\tif (vec3.squaredDistance(op, np) - maxStepSizeSq > -0.0001 * maxStepSizeSq) {\n\t\t\t\tstream.push(np);\n\t\t\t\top = np;\n\t\t\t\tvelocities.push(v);\n\t\t\t\tvar dv = getDivergence(np, v);\n\t\t\t\tvar dvLength = vec3.length(dv);\n\t\t\t\tif (isFinite(dvLength) && dvLength > maxDivergence) {\n\t\t\t\t\tmaxDivergence = dvLength;\n\t\t\t\t}\n\t\t\t\t// In case we need to do component-wise divergence visualization\n\t\t\t\t//vec3.max(maxDivergence, maxDivergence, vabs(tmp, dv));\n\t\t\t\tdivergences.push(dvLength);\n\t\t\t}\n\n\t\t\tp = np;\n\t\t}\n\t}\n\n\tvar tubes = createTubes(streams, vectorField.colormap, maxDivergence, minDistance);\n\n\tif (absoluteTubeSize) {\n\t\ttubes.tubeScale = absoluteTubeSize;\n\t} else {\n\t\t// Avoid division by zero.\n\t\tif (maxDivergence === 0) {\n\t\t\tmaxDivergence = 1;\n\t\t}\n\t\ttubes.tubeScale = tubeSize * 0.5 * minDistance / maxDivergence;\n\t}\n\n\treturn tubes;\n};\n\nvar shaders = __webpack_require__(\"aee4\");\nvar createMesh = __webpack_require__(\"2969\").createMesh;\nmodule.exports.createTubeMesh = function(gl, params) {\n\treturn createMesh(gl, params, {\n\t\tshaders: shaders,\n\t\ttraceType: 'streamtube'\n\t});\n}\n\n\n/***/ }),\n\n/***/ \"16ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"7c39\"),\n layoutAttributes: __webpack_require__(\"36fc\"),\n supplyDefaults: __webpack_require__(\"49d8\"),\n crossTraceDefaults: __webpack_require__(\"abc9\").crossTraceDefaults,\n supplyLayoutDefaults: __webpack_require__(\"870c\"),\n calc: __webpack_require__(\"b8c0\"),\n crossTraceCalc: __webpack_require__(\"e9d4\"),\n plot: __webpack_require__(\"8298\"),\n style: __webpack_require__(\"c451\"),\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"ca92\"),\n selectPoints: __webpack_require__(\"71b1\"),\n\n moduleType: 'trace',\n name: 'violin',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'symbols', 'oriented', 'box-violin', 'showLegend', 'violinLayout', 'zoomScale'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"1729\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\n// defaults common to 'annotations' and 'annotations3d'\nmodule.exports = function handleAnnotationCommonDefaults(annIn, annOut, fullLayout, coerce) {\n coerce('opacity');\n var bgColor = coerce('bgcolor');\n\n var borderColor = coerce('bordercolor');\n var borderOpacity = Color.opacity(borderColor);\n\n coerce('borderpad');\n\n var borderWidth = coerce('borderwidth');\n var showArrow = coerce('showarrow');\n\n coerce('text', showArrow ? ' ' : fullLayout._dfltTitle.annotation);\n coerce('textangle');\n Lib.coerceFont(coerce, 'font', fullLayout.font);\n\n coerce('width');\n coerce('align');\n\n var h = coerce('height');\n if(h) coerce('valign');\n\n if(showArrow) {\n var arrowside = coerce('arrowside');\n var arrowhead;\n var arrowsize;\n\n if(arrowside.indexOf('end') !== -1) {\n arrowhead = coerce('arrowhead');\n arrowsize = coerce('arrowsize');\n }\n\n if(arrowside.indexOf('start') !== -1) {\n coerce('startarrowhead', arrowhead);\n coerce('startarrowsize', arrowsize);\n }\n coerce('arrowcolor', borderOpacity ? annOut.bordercolor : Color.defaultLine);\n coerce('arrowwidth', ((borderOpacity && borderWidth) || 1) * 2);\n coerce('standoff');\n coerce('startstandoff');\n }\n\n var hoverText = coerce('hovertext');\n var globalHoverLabel = fullLayout.hoverlabel || {};\n\n if(hoverText) {\n var hoverBG = coerce('hoverlabel.bgcolor', globalHoverLabel.bgcolor ||\n (Color.opacity(bgColor) ? Color.rgb(bgColor) : Color.defaultLine)\n );\n\n var hoverBorder = coerce('hoverlabel.bordercolor', globalHoverLabel.bordercolor ||\n Color.contrast(hoverBG)\n );\n\n Lib.coerceFont(coerce, 'hoverlabel.font', {\n family: globalHoverLabel.font.family,\n size: globalHoverLabel.font.size,\n color: globalHoverLabel.font.color || hoverBorder\n });\n }\n\n coerce('captureevents', !!hoverText);\n};\n\n\n/***/ }),\n\n/***/ \"1735\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"02ea\"),\n supplyDefaults: __webpack_require__(\"2ff0\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n calc: __webpack_require__(\"0054\"),\n plot: __webpack_require__(\"baab\"),\n\n moduleType: 'trace',\n name: 'surface',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', '2dMap', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"175e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction unique_pred(list, compare) {\n var ptr = 1\n , len = list.length\n , a=list[0], b=list[0]\n for(var i=1; i 1.0) {\n t = 1.0\n }\n var ti = 1.0 - t\n var n = a.length\n var r = new Array(n)\n for(var i=0; i 0) || (a > 0 && b < 0)) {\n var p = lerpW(s, b, t, a)\n pos.push(p)\n neg.push(p.slice())\n }\n if(b < 0) {\n neg.push(t.slice())\n } else if(b > 0) {\n pos.push(t.slice())\n } else {\n pos.push(t.slice())\n neg.push(t.slice())\n }\n a = b\n }\n return { positive: pos, negative: neg }\n}\n\nfunction positive(points, plane) {\n var pos = []\n var a = planeT(points[points.length-1], plane)\n for(var s=points[points.length-1], t=points[0], i=0; i 0) || (a > 0 && b < 0)) {\n pos.push(lerpW(s, b, t, a))\n }\n if(b >= 0) {\n pos.push(t.slice())\n }\n a = b\n }\n return pos\n}\n\nfunction negative(points, plane) {\n var neg = []\n var a = planeT(points[points.length-1], plane)\n for(var s=points[points.length-1], t=points[0], i=0; i 0) || (a > 0 && b < 0)) {\n neg.push(lerpW(s, b, t, a))\n }\n if(b <= 0) {\n neg.push(t.slice())\n }\n a = b\n }\n return neg\n}\n\n/***/ }),\n\n/***/ \"1793\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isFunction = __webpack_require__(\"6321\");\n\nvar classRe = /^\\s*class[\\s{/}]/, functionToString = Function.prototype.toString;\n\nmodule.exports = function (value) {\n\tif (!isFunction(value)) return false;\n\tif (classRe.test(functionToString.call(value))) return false;\n\treturn true;\n};\n\n\n/***/ }),\n\n/***/ \"17c2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $forEach = __webpack_require__(\"b727\").forEach;\nvar arrayMethodIsStrict = __webpack_require__(\"a640\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n\n\n/***/ }),\n\n/***/ \"182a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar tablePlot = __webpack_require__(\"26dd\");\n\nvar TABLE = 'table';\n\nexports.name = TABLE;\n\nexports.plot = function(gd) {\n var calcData = getModuleCalcData(gd.calcdata, TABLE)[0];\n if(calcData.length) tablePlot(gd, calcData);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadTable = (oldFullLayout._has && oldFullLayout._has(TABLE));\n var hasTable = (newFullLayout._has && newFullLayout._has(TABLE));\n\n if(hadTable && !hasTable) {\n oldFullLayout._paperdiv.selectAll('.table').remove();\n }\n};\n\n\n/***/ }),\n\n/***/ \"1876\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar polybool = __webpack_require__(\"2441\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Color = __webpack_require__(\"d115\");\nvar Fx = __webpack_require__(\"a5c4\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar polygon = __webpack_require__(\"b68b\");\nvar throttle = __webpack_require__(\"7df2\");\nvar makeEventData = __webpack_require__(\"c4c7\").makeEventData;\nvar getFromId = __webpack_require__(\"3c1c\").getFromId;\nvar clearGlCanvases = __webpack_require__(\"821b\");\n\nvar redrawReglTraces = __webpack_require__(\"a392\").redrawReglTraces;\n\nvar constants = __webpack_require__(\"d301\");\nvar MINSELECT = constants.MINSELECT;\n\nvar filteredPolygon = polygon.filter;\nvar polygonTester = polygon.tester;\n\nfunction getAxId(ax) { return ax._id; }\n\nfunction prepSelect(e, startX, startY, dragOptions, mode) {\n var gd = dragOptions.gd;\n var fullLayout = gd._fullLayout;\n var zoomLayer = fullLayout._zoomlayer;\n var dragBBox = dragOptions.element.getBoundingClientRect();\n var plotinfo = dragOptions.plotinfo;\n var xs = plotinfo.xaxis._offset;\n var ys = plotinfo.yaxis._offset;\n var x0 = startX - dragBBox.left;\n var y0 = startY - dragBBox.top;\n var x1 = x0;\n var y1 = y0;\n var path0 = 'M' + x0 + ',' + y0;\n var pw = dragOptions.xaxes[0]._length;\n var ph = dragOptions.yaxes[0]._length;\n var allAxes = dragOptions.xaxes.concat(dragOptions.yaxes);\n var subtract = e.altKey;\n\n var filterPoly, selectionTester, mergedPolygons, currentPolygon;\n var i, searchInfo, eventData;\n\n coerceSelectionsCache(e, gd, dragOptions);\n\n if(mode === 'lasso') {\n filterPoly = filteredPolygon([[x0, y0]], constants.BENDPX);\n }\n\n var outlines = zoomLayer.selectAll('path.select-outline-' + plotinfo.id).data([1, 2]);\n\n outlines.enter()\n .append('path')\n .attr('class', function(d) { return 'select-outline select-outline-' + d + ' select-outline-' + plotinfo.id; })\n .attr('transform', 'translate(' + xs + ', ' + ys + ')')\n .attr('d', path0 + 'Z');\n\n var corners = zoomLayer.append('path')\n .attr('class', 'zoombox-corners')\n .style({\n fill: Color.background,\n stroke: Color.defaultLine,\n 'stroke-width': 1\n })\n .attr('transform', 'translate(' + xs + ', ' + ys + ')')\n .attr('d', 'M0,0Z');\n\n\n var throttleID = fullLayout._uid + constants.SELECTID;\n var selection = [];\n\n // find the traces to search for selection points\n var searchTraces = determineSearchTraces(gd, dragOptions.xaxes,\n dragOptions.yaxes, dragOptions.subplot);\n\n // in v2 (once log ranges are fixed),\n // we'll be able to p2r here for all axis types\n function p2r(ax, v) {\n return ax.type === 'log' ? ax.p2d(v) : ax.p2r(v);\n }\n\n function axValue(ax) {\n var index = (ax._id.charAt(0) === 'y') ? 1 : 0;\n return function(v) { return p2r(ax, v[index]); };\n }\n\n function ascending(a, b) { return a - b; }\n\n // allow subplots to override fillRangeItems routine\n var fillRangeItems;\n\n if(plotinfo.fillRangeItems) {\n fillRangeItems = plotinfo.fillRangeItems;\n } else {\n if(mode === 'select') {\n fillRangeItems = function(eventData, poly) {\n var ranges = eventData.range = {};\n\n for(i = 0; i < allAxes.length; i++) {\n var ax = allAxes[i];\n var axLetter = ax._id.charAt(0);\n\n ranges[ax._id] = [\n p2r(ax, poly[axLetter + 'min']),\n p2r(ax, poly[axLetter + 'max'])\n ].sort(ascending);\n }\n };\n } else {\n fillRangeItems = function(eventData, poly, filterPoly) {\n var dataPts = eventData.lassoPoints = {};\n\n for(i = 0; i < allAxes.length; i++) {\n var ax = allAxes[i];\n dataPts[ax._id] = filterPoly.filtered.map(axValue(ax));\n }\n };\n }\n }\n\n dragOptions.moveFn = function(dx0, dy0) {\n x1 = Math.max(0, Math.min(pw, dx0 + x0));\n y1 = Math.max(0, Math.min(ph, dy0 + y0));\n\n var dx = Math.abs(x1 - x0);\n var dy = Math.abs(y1 - y0);\n\n if(mode === 'select') {\n var direction = fullLayout.selectdirection;\n\n if(fullLayout.selectdirection === 'any') {\n if(dy < Math.min(dx * 0.6, MINSELECT)) direction = 'h';\n else if(dx < Math.min(dy * 0.6, MINSELECT)) direction = 'v';\n else direction = 'd';\n } else {\n direction = fullLayout.selectdirection;\n }\n\n if(direction === 'h') {\n // horizontal motion: make a vertical box\n currentPolygon = [[x0, 0], [x0, ph], [x1, ph], [x1, 0]];\n currentPolygon.xmin = Math.min(x0, x1);\n currentPolygon.xmax = Math.max(x0, x1);\n currentPolygon.ymin = Math.min(0, ph);\n currentPolygon.ymax = Math.max(0, ph);\n // extras to guide users in keeping a straight selection\n corners.attr('d', 'M' + currentPolygon.xmin + ',' + (y0 - MINSELECT) +\n 'h-4v' + (2 * MINSELECT) + 'h4Z' +\n 'M' + (currentPolygon.xmax - 1) + ',' + (y0 - MINSELECT) +\n 'h4v' + (2 * MINSELECT) + 'h-4Z');\n } else if(direction === 'v') {\n // vertical motion: make a horizontal box\n currentPolygon = [[0, y0], [0, y1], [pw, y1], [pw, y0]];\n currentPolygon.xmin = Math.min(0, pw);\n currentPolygon.xmax = Math.max(0, pw);\n currentPolygon.ymin = Math.min(y0, y1);\n currentPolygon.ymax = Math.max(y0, y1);\n corners.attr('d', 'M' + (x0 - MINSELECT) + ',' + currentPolygon.ymin +\n 'v-4h' + (2 * MINSELECT) + 'v4Z' +\n 'M' + (x0 - MINSELECT) + ',' + (currentPolygon.ymax - 1) +\n 'v4h' + (2 * MINSELECT) + 'v-4Z');\n } else if(direction === 'd') {\n // diagonal motion\n currentPolygon = [[x0, y0], [x0, y1], [x1, y1], [x1, y0]];\n currentPolygon.xmin = Math.min(x0, x1);\n currentPolygon.xmax = Math.max(x0, x1);\n currentPolygon.ymin = Math.min(y0, y1);\n currentPolygon.ymax = Math.max(y0, y1);\n corners.attr('d', 'M0,0Z');\n }\n } else if(mode === 'lasso') {\n filterPoly.addPt([x1, y1]);\n currentPolygon = filterPoly.filtered;\n }\n\n // create outline & tester\n if(dragOptions.selectionDefs && dragOptions.selectionDefs.length) {\n mergedPolygons = mergePolygons(dragOptions.mergedPolygons, currentPolygon, subtract);\n currentPolygon.subtract = subtract;\n selectionTester = multiTester(dragOptions.selectionDefs.concat([currentPolygon]));\n } else {\n mergedPolygons = [currentPolygon];\n selectionTester = polygonTester(currentPolygon);\n }\n\n // draw selection\n drawSelection(mergedPolygons, outlines);\n\n\n throttle.throttle(\n throttleID,\n constants.SELECTDELAY,\n function() {\n selection = [];\n\n var thisSelection;\n var traceSelections = [];\n var traceSelection;\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n\n traceSelection = searchInfo._module.selectPoints(searchInfo, selectionTester);\n traceSelections.push(traceSelection);\n\n thisSelection = fillSelectionItem(traceSelection, searchInfo);\n\n if(selection.length) {\n for(var j = 0; j < thisSelection.length; j++) {\n selection.push(thisSelection[j]);\n }\n } else selection = thisSelection;\n }\n\n eventData = {points: selection};\n updateSelectedState(gd, searchTraces, eventData);\n fillRangeItems(eventData, currentPolygon, filterPoly);\n dragOptions.gd.emit('plotly_selecting', eventData);\n }\n );\n };\n\n dragOptions.clickFn = function(numClicks, evt) {\n var clickmode = fullLayout.clickmode;\n\n corners.remove();\n\n throttle.done(throttleID).then(function() {\n throttle.clear(throttleID);\n if(numClicks === 2) {\n // clear selection on doubleclick\n outlines.remove();\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n searchInfo._module.selectPoints(searchInfo, false);\n }\n\n updateSelectedState(gd, searchTraces);\n\n clearSelectionsCache(dragOptions);\n\n gd.emit('plotly_deselect', null);\n } else {\n if(clickmode.indexOf('select') > -1) {\n selectOnClick(evt, gd, dragOptions.xaxes, dragOptions.yaxes,\n dragOptions.subplot, dragOptions, outlines);\n }\n\n if(clickmode === 'event') {\n // TODO: remove in v2 - this was probably never intended to work as it does,\n // but in case anyone depends on it we don't want to break it now.\n // Note that click-to-select introduced pre v2 also emitts proper\n // event data when clickmode is having 'select' in its flag list.\n gd.emit('plotly_selected', undefined);\n }\n }\n\n Fx.click(gd, evt);\n }).catch(Lib.error);\n };\n\n dragOptions.doneFn = function() {\n corners.remove();\n\n throttle.done(throttleID).then(function() {\n throttle.clear(throttleID);\n dragOptions.gd.emit('plotly_selected', eventData);\n\n if(currentPolygon && dragOptions.selectionDefs) {\n // save last polygons\n currentPolygon.subtract = subtract;\n dragOptions.selectionDefs.push(currentPolygon);\n\n // we have to keep reference to arrays container\n dragOptions.mergedPolygons.length = 0;\n [].push.apply(dragOptions.mergedPolygons, mergedPolygons);\n }\n\n if(dragOptions.doneFnCompleted) {\n dragOptions.doneFnCompleted(selection);\n }\n }).catch(Lib.error);\n };\n}\n\nfunction selectOnClick(evt, gd, xAxes, yAxes, subplot, dragOptions, polygonOutlines) {\n var hoverData = gd._hoverdata;\n var clickmode = gd._fullLayout.clickmode;\n var sendEvents = clickmode.indexOf('event') > -1;\n var selection = [];\n var searchTraces, searchInfo, currentSelectionDef, selectionTester, traceSelection;\n var thisTracesSelection, pointOrBinSelected, subtract, eventData, i;\n\n if(isHoverDataSet(hoverData)) {\n coerceSelectionsCache(evt, gd, dragOptions);\n searchTraces = determineSearchTraces(gd, xAxes, yAxes, subplot);\n var clickedPtInfo = extractClickedPtInfo(hoverData, searchTraces);\n var isBinnedTrace = clickedPtInfo.pointNumbers.length > 0;\n\n\n // Note: potentially costly operation isPointOrBinSelected is\n // called as late as possible through the use of an assignment\n // in an if condition.\n if(isBinnedTrace ?\n isOnlyThisBinSelected(searchTraces, clickedPtInfo) :\n isOnlyOnePointSelected(searchTraces) &&\n (pointOrBinSelected = isPointOrBinSelected(clickedPtInfo))) {\n if(polygonOutlines) polygonOutlines.remove();\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n searchInfo._module.selectPoints(searchInfo, false);\n }\n\n updateSelectedState(gd, searchTraces);\n\n clearSelectionsCache(dragOptions);\n\n if(sendEvents) {\n gd.emit('plotly_deselect', null);\n }\n } else {\n subtract = evt.shiftKey &&\n (pointOrBinSelected !== undefined ?\n pointOrBinSelected :\n isPointOrBinSelected(clickedPtInfo));\n currentSelectionDef = newPointSelectionDef(clickedPtInfo.pointNumber, clickedPtInfo.searchInfo, subtract);\n\n var allSelectionDefs = dragOptions.selectionDefs.concat([currentSelectionDef]);\n selectionTester = multiTester(allSelectionDefs);\n\n for(i = 0; i < searchTraces.length; i++) {\n traceSelection = searchTraces[i]._module.selectPoints(searchTraces[i], selectionTester);\n thisTracesSelection = fillSelectionItem(traceSelection, searchTraces[i]);\n\n if(selection.length) {\n for(var j = 0; j < thisTracesSelection.length; j++) {\n selection.push(thisTracesSelection[j]);\n }\n } else selection = thisTracesSelection;\n }\n\n eventData = {points: selection};\n updateSelectedState(gd, searchTraces, eventData);\n\n if(currentSelectionDef && dragOptions) {\n dragOptions.selectionDefs.push(currentSelectionDef);\n }\n\n if(polygonOutlines) drawSelection(dragOptions.mergedPolygons, polygonOutlines);\n\n if(sendEvents) {\n gd.emit('plotly_selected', eventData);\n }\n }\n }\n}\n\n/**\n * Constructs a new point selection definition object.\n */\nfunction newPointSelectionDef(pointNumber, searchInfo, subtract) {\n return {\n pointNumber: pointNumber,\n searchInfo: searchInfo,\n subtract: subtract\n };\n}\n\nfunction isPointSelectionDef(o) {\n return 'pointNumber' in o && 'searchInfo' in o;\n}\n\n/*\n * Constructs a new point number tester.\n */\nfunction newPointNumTester(pointSelectionDef) {\n return {\n xmin: 0,\n xmax: 0,\n ymin: 0,\n ymax: 0,\n pts: [],\n contains: function(pt, omitFirstEdge, pointNumber, searchInfo) {\n var idxWantedTrace = pointSelectionDef.searchInfo.cd[0].trace._expandedIndex;\n var idxActualTrace = searchInfo.cd[0].trace._expandedIndex;\n return idxActualTrace === idxWantedTrace &&\n pointNumber === pointSelectionDef.pointNumber;\n },\n isRect: false,\n degenerate: false,\n subtract: pointSelectionDef.subtract\n };\n}\n\n/**\n * Wraps multiple selection testers.\n *\n * @param {Array} list - An array of selection testers.\n *\n * @return a selection tester object with a contains function\n * that can be called to evaluate a point against all wrapped\n * selection testers that were passed in list.\n */\nfunction multiTester(list) {\n var testers = [];\n var xmin = isPointSelectionDef(list[0]) ? 0 : list[0][0][0];\n var xmax = xmin;\n var ymin = isPointSelectionDef(list[0]) ? 0 : list[0][0][1];\n var ymax = ymin;\n\n for(var i = 0; i < list.length; i++) {\n if(isPointSelectionDef(list[i])) {\n testers.push(newPointNumTester(list[i]));\n } else {\n var tester = polygon.tester(list[i]);\n tester.subtract = list[i].subtract;\n testers.push(tester);\n xmin = Math.min(xmin, tester.xmin);\n xmax = Math.max(xmax, tester.xmax);\n ymin = Math.min(ymin, tester.ymin);\n ymax = Math.max(ymax, tester.ymax);\n }\n }\n\n /**\n * Tests if the given point is within this tester.\n *\n * @param {Array} pt - [0] is the x coordinate, [1] is the y coordinate of the point.\n * @param {*} arg - An optional parameter to pass down to wrapped testers.\n * @param {number} pointNumber - The point number of the point within the underlying data array.\n * @param {number} searchInfo - An object identifying the trace the point is contained in.\n *\n * @return {boolean} true if point is considered to be selected, false otherwise.\n */\n function contains(pt, arg, pointNumber, searchInfo) {\n var contained = false;\n for(var i = 0; i < testers.length; i++) {\n if(testers[i].contains(pt, arg, pointNumber, searchInfo)) {\n // if contained by subtract tester - exclude the point\n contained = testers[i].subtract === false;\n }\n }\n\n return contained;\n }\n\n return {\n xmin: xmin,\n xmax: xmax,\n ymin: ymin,\n ymax: ymax,\n pts: [],\n contains: contains,\n isRect: false,\n degenerate: false\n };\n}\n\nfunction coerceSelectionsCache(evt, gd, dragOptions) {\n var fullLayout = gd._fullLayout;\n var plotinfo = dragOptions.plotinfo;\n\n var selectingOnSameSubplot = (\n fullLayout._lastSelectedSubplot &&\n fullLayout._lastSelectedSubplot === plotinfo.id\n );\n var hasModifierKey = evt.shiftKey || evt.altKey;\n\n if(selectingOnSameSubplot && hasModifierKey &&\n (plotinfo.selection && plotinfo.selection.selectionDefs) && !dragOptions.selectionDefs) {\n // take over selection definitions from prev mode, if any\n dragOptions.selectionDefs = plotinfo.selection.selectionDefs;\n dragOptions.mergedPolygons = plotinfo.selection.mergedPolygons;\n } else if(!hasModifierKey || !plotinfo.selection) {\n clearSelectionsCache(dragOptions);\n }\n\n // clear selection outline when selecting a different subplot\n if(!selectingOnSameSubplot) {\n clearSelect(gd);\n fullLayout._lastSelectedSubplot = plotinfo.id;\n }\n}\n\nfunction clearSelectionsCache(dragOptions) {\n var plotinfo = dragOptions.plotinfo;\n\n plotinfo.selection = {};\n plotinfo.selection.selectionDefs = dragOptions.selectionDefs = [];\n plotinfo.selection.mergedPolygons = dragOptions.mergedPolygons = [];\n}\n\nfunction determineSearchTraces(gd, xAxes, yAxes, subplot) {\n var searchTraces = [];\n var xAxisIds = xAxes.map(getAxId);\n var yAxisIds = yAxes.map(getAxId);\n var cd, trace, i;\n\n for(i = 0; i < gd.calcdata.length; i++) {\n cd = gd.calcdata[i];\n trace = cd[0].trace;\n\n if(trace.visible !== true || !trace._module || !trace._module.selectPoints) continue;\n\n if(subplot && (trace.subplot === subplot || trace.geo === subplot)) {\n searchTraces.push(createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]));\n } else if(\n trace.type === 'splom' &&\n // FIXME: make sure we don't have more than single axis for splom\n trace._xaxes[xAxisIds[0]] && trace._yaxes[yAxisIds[0]]\n ) {\n var info = createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]);\n info.scene = gd._fullLayout._splomScenes[trace.uid];\n searchTraces.push(info);\n } else if(\n trace.type === 'sankey'\n ) {\n var sankeyInfo = createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]);\n searchTraces.push(sankeyInfo);\n } else {\n if(xAxisIds.indexOf(trace.xaxis) === -1) continue;\n if(yAxisIds.indexOf(trace.yaxis) === -1) continue;\n\n searchTraces.push(createSearchInfo(trace._module, cd,\n getFromId(gd, trace.xaxis), getFromId(gd, trace.yaxis)));\n }\n }\n\n return searchTraces;\n\n function createSearchInfo(module, calcData, xaxis, yaxis) {\n return {\n _module: module,\n cd: calcData,\n xaxis: xaxis,\n yaxis: yaxis\n };\n }\n}\n\nfunction drawSelection(polygons, outlines) {\n var paths = [];\n var i, d;\n\n for(i = 0; i < polygons.length; i++) {\n var ppts = polygons[i];\n paths.push(ppts.join('L') + 'L' + ppts[0]);\n }\n\n d = polygons.length > 0 ?\n 'M' + paths.join('M') + 'Z' :\n 'M0,0Z';\n outlines.attr('d', d);\n}\n\nfunction isHoverDataSet(hoverData) {\n return hoverData &&\n Array.isArray(hoverData) &&\n hoverData[0].hoverOnBox !== true;\n}\n\nfunction extractClickedPtInfo(hoverData, searchTraces) {\n var hoverDatum = hoverData[0];\n var pointNumber = -1;\n var pointNumbers = [];\n var searchInfo, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n if(hoverDatum.fullData._expandedIndex === searchInfo.cd[0].trace._expandedIndex) {\n // Special case for box (and violin)\n if(hoverDatum.hoverOnBox === true) {\n break;\n }\n\n // Hint: in some traces like histogram, one graphical element\n // doesn't correspond to one particular data point, but to\n // bins of data points. Thus, hoverDatum can have a binNumber\n // property instead of pointNumber.\n if(hoverDatum.pointNumber !== undefined) {\n pointNumber = hoverDatum.pointNumber;\n } else if(hoverDatum.binNumber !== undefined) {\n pointNumber = hoverDatum.binNumber;\n pointNumbers = hoverDatum.pointNumbers;\n }\n\n break;\n }\n }\n\n return {\n pointNumber: pointNumber,\n pointNumbers: pointNumbers,\n searchInfo: searchInfo\n };\n}\n\nfunction isPointOrBinSelected(clickedPtInfo) {\n var trace = clickedPtInfo.searchInfo.cd[0].trace;\n var ptNum = clickedPtInfo.pointNumber;\n var ptNums = clickedPtInfo.pointNumbers;\n var ptNumsSet = ptNums.length > 0;\n\n // When pointsNumbers is set (e.g. histogram's binning),\n // it is assumed that when the first point of\n // a bin is selected, all others are as well\n var ptNumToTest = ptNumsSet ? ptNums[0] : ptNum;\n\n // TODO potential performance improvement\n // Primarily we need this function to determine if a click adds\n // or subtracts from a selection.\n // In cases `trace.selectedpoints` is a huge array, indexOf\n // might be slow. One remedy would be to introduce a hash somewhere.\n return trace.selectedpoints ? trace.selectedpoints.indexOf(ptNumToTest) > -1 : false;\n}\n\nfunction isOnlyThisBinSelected(searchTraces, clickedPtInfo) {\n var tracesWithSelectedPts = [];\n var searchInfo, trace, isSameTrace, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n if(searchInfo.cd[0].trace.selectedpoints && searchInfo.cd[0].trace.selectedpoints.length > 0) {\n tracesWithSelectedPts.push(searchInfo);\n }\n }\n\n if(tracesWithSelectedPts.length === 1) {\n isSameTrace = tracesWithSelectedPts[0] === clickedPtInfo.searchInfo;\n if(isSameTrace) {\n trace = clickedPtInfo.searchInfo.cd[0].trace;\n if(trace.selectedpoints.length === clickedPtInfo.pointNumbers.length) {\n for(i = 0; i < clickedPtInfo.pointNumbers.length; i++) {\n if(trace.selectedpoints.indexOf(clickedPtInfo.pointNumbers[i]) < 0) {\n return false;\n }\n }\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction isOnlyOnePointSelected(searchTraces) {\n var len = 0;\n var searchInfo, trace, i;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n trace = searchInfo.cd[0].trace;\n if(trace.selectedpoints) {\n if(trace.selectedpoints.length > 1) return false;\n\n len += trace.selectedpoints.length;\n if(len > 1) return false;\n }\n }\n\n return len === 1;\n}\n\nfunction updateSelectedState(gd, searchTraces, eventData) {\n var i, searchInfo, cd, trace;\n\n // before anything else, update preGUI if necessary\n for(i = 0; i < searchTraces.length; i++) {\n var fullInputTrace = searchTraces[i].cd[0].trace._fullInput;\n var tracePreGUI = gd._fullLayout._tracePreGUI[fullInputTrace.uid] || {};\n if(tracePreGUI.selectedpoints === undefined) {\n tracePreGUI.selectedpoints = fullInputTrace._input.selectedpoints || null;\n }\n }\n\n if(eventData) {\n var pts = eventData.points || [];\n\n for(i = 0; i < searchTraces.length; i++) {\n trace = searchTraces[i].cd[0].trace;\n trace._input.selectedpoints = trace._fullInput.selectedpoints = [];\n if(trace._fullInput !== trace) trace.selectedpoints = [];\n }\n\n for(i = 0; i < pts.length; i++) {\n var pt = pts[i];\n var data = pt.data;\n var fullData = pt.fullData;\n\n if(pt.pointIndices) {\n [].push.apply(data.selectedpoints, pt.pointIndices);\n if(trace._fullInput !== trace) {\n [].push.apply(fullData.selectedpoints, pt.pointIndices);\n }\n } else {\n data.selectedpoints.push(pt.pointIndex);\n if(trace._fullInput !== trace) {\n fullData.selectedpoints.push(pt.pointIndex);\n }\n }\n }\n } else {\n for(i = 0; i < searchTraces.length; i++) {\n trace = searchTraces[i].cd[0].trace;\n delete trace.selectedpoints;\n delete trace._input.selectedpoints;\n if(trace._fullInput !== trace) {\n delete trace._fullInput.selectedpoints;\n }\n }\n }\n\n var hasRegl = false;\n\n for(i = 0; i < searchTraces.length; i++) {\n searchInfo = searchTraces[i];\n cd = searchInfo.cd;\n trace = cd[0].trace;\n\n if(Registry.traceIs(trace, 'regl')) {\n hasRegl = true;\n }\n\n var _module = searchInfo._module;\n var fn = _module.styleOnSelect || _module.style;\n if(fn) {\n fn(gd, cd, cd[0].node3);\n if(cd[0].nodeRangePlot3) fn(gd, cd, cd[0].nodeRangePlot3);\n }\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n}\n\nfunction mergePolygons(list, poly, subtract) {\n var res;\n\n if(subtract) {\n res = polybool.difference({\n regions: list,\n inverted: false\n }, {\n regions: [poly],\n inverted: false\n });\n\n return res.regions;\n }\n\n res = polybool.union({\n regions: list,\n inverted: false\n }, {\n regions: [poly],\n inverted: false\n });\n\n return res.regions;\n}\n\nfunction fillSelectionItem(selection, searchInfo) {\n if(Array.isArray(selection)) {\n var cd = searchInfo.cd;\n var trace = searchInfo.cd[0].trace;\n\n for(var i = 0; i < selection.length; i++) {\n selection[i] = makeEventData(selection[i], trace, cd);\n }\n }\n\n return selection;\n}\n\n// until we get around to persistent selections, remove the outline\n// here. The selection itself will be removed when the plot redraws\n// at the end.\nfunction clearSelect(gd) {\n var fullLayout = gd._fullLayout || {};\n var zoomlayer = fullLayout._zoomlayer;\n if(zoomlayer) {\n zoomlayer.selectAll('.select-outline').remove();\n }\n}\n\nmodule.exports = {\n prepSelect: prepSelect,\n clearSelect: clearSelect,\n selectOnClick: selectOnClick\n};\n\n\n/***/ }),\n\n/***/ \"18a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rationalize = __webpack_require__(\"2195\")\n\nmodule.exports = div\n\nfunction div(a, b) {\n return rationalize(a[0].mul(b[1]), a[1].mul(b[0]))\n}\n\n\n/***/ }),\n\n/***/ \"18bb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"1c82\");\nvar handleDomainDefaults = __webpack_require__(\"81f0\").defaults;\nvar Template = __webpack_require__(\"a651\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\nvar cn = __webpack_require__(\"49b4\");\n\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n handleDomainDefaults(traceOut, layout, coerce);\n\n // Mode\n coerce('mode');\n traceOut._hasNumber = traceOut.mode.indexOf('number') !== -1;\n traceOut._hasDelta = traceOut.mode.indexOf('delta') !== -1;\n traceOut._hasGauge = traceOut.mode.indexOf('gauge') !== -1;\n\n var value = coerce('value');\n traceOut._range = [0, (typeof value === 'number' ? 1.5 * value : 1)];\n\n // Number attributes\n var auto = new Array(2);\n var bignumberFontSize;\n if(traceOut._hasNumber) {\n coerce('number.valueformat');\n coerce('number.font.color', layout.font.color);\n coerce('number.font.family', layout.font.family);\n coerce('number.font.size');\n if(traceOut.number.font.size === undefined) {\n traceOut.number.font.size = cn.defaultNumberFontSize;\n auto[0] = true;\n }\n coerce('number.prefix');\n coerce('number.suffix');\n bignumberFontSize = traceOut.number.font.size;\n }\n\n // delta attributes\n var deltaFontSize;\n if(traceOut._hasDelta) {\n coerce('delta.font.color', layout.font.color);\n coerce('delta.font.family', layout.font.family);\n coerce('delta.font.size');\n if(traceOut.delta.font.size === undefined) {\n traceOut.delta.font.size = (traceOut._hasNumber ? 0.5 : 1) * (bignumberFontSize || cn.defaultNumberFontSize);\n auto[1] = true;\n }\n coerce('delta.reference', traceOut.value);\n coerce('delta.relative');\n coerce('delta.valueformat', traceOut.delta.relative ? '2%' : '');\n coerce('delta.increasing.symbol');\n coerce('delta.increasing.color');\n coerce('delta.decreasing.symbol');\n coerce('delta.decreasing.color');\n coerce('delta.position');\n deltaFontSize = traceOut.delta.font.size;\n }\n traceOut._scaleNumbers = (!traceOut._hasNumber || auto[0]) && (!traceOut._hasDelta || auto[1]) || false;\n\n // Title attributes\n coerce('title.font.color', layout.font.color);\n coerce('title.font.family', layout.font.family);\n coerce('title.font.size', 0.25 * (bignumberFontSize || deltaFontSize || cn.defaultNumberFontSize));\n coerce('title.text');\n\n // Gauge attributes\n var gaugeIn, gaugeOut, axisIn, axisOut;\n function coerceGauge(attr, dflt) {\n return Lib.coerce(gaugeIn, gaugeOut, attributes.gauge, attr, dflt);\n }\n function coerceGaugeAxis(attr, dflt) {\n return Lib.coerce(axisIn, axisOut, attributes.gauge.axis, attr, dflt);\n }\n\n if(traceOut._hasGauge) {\n gaugeIn = traceIn.gauge;\n if(!gaugeIn) gaugeIn = {};\n gaugeOut = Template.newContainer(traceOut, 'gauge');\n coerceGauge('shape');\n var isBullet = traceOut._isBullet = traceOut.gauge.shape === 'bullet';\n if(!isBullet) {\n coerce('title.align', 'center');\n }\n var isAngular = traceOut._isAngular = traceOut.gauge.shape === 'angular';\n if(!isAngular) {\n coerce('align', 'center');\n }\n\n // gauge background\n coerceGauge('bgcolor', layout.paper_bgcolor);\n coerceGauge('borderwidth');\n coerceGauge('bordercolor');\n\n // gauge bar indicator\n coerceGauge('bar.color');\n coerceGauge('bar.line.color');\n coerceGauge('bar.line.width');\n var defaultBarThickness = cn.valueThickness * (traceOut.gauge.shape === 'bullet' ? 0.5 : 1);\n coerceGauge('bar.thickness', defaultBarThickness);\n\n // Gauge steps\n handleArrayContainerDefaults(gaugeIn, gaugeOut, {\n name: 'steps',\n handleItemDefaults: stepDefaults\n });\n\n // Gauge threshold\n coerceGauge('threshold.value');\n coerceGauge('threshold.thickness');\n coerceGauge('threshold.line.width');\n coerceGauge('threshold.line.color');\n\n // Gauge axis\n axisIn = {};\n if(gaugeIn) axisIn = gaugeIn.axis || {};\n axisOut = Template.newContainer(gaugeOut, 'axis');\n coerceGaugeAxis('visible');\n traceOut._range = coerceGaugeAxis('range', traceOut._range);\n\n var opts = {outerTicks: true};\n handleTickValueDefaults(axisIn, axisOut, coerceGaugeAxis, 'linear');\n handleTickLabelDefaults(axisIn, axisOut, coerceGaugeAxis, 'linear', opts);\n handleTickMarkDefaults(axisIn, axisOut, coerceGaugeAxis, opts);\n } else {\n coerce('title.align', 'center');\n coerce('align', 'center');\n traceOut._isAngular = traceOut._isBullet = false;\n }\n\n // disable 1D transforms\n traceOut._length = null;\n}\n\nfunction stepDefaults(stepIn, stepOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(stepIn, stepOut, attributes.gauge.steps, attr, dflt);\n }\n\n coerce('color');\n coerce('line.color');\n coerce('line.width');\n coerce('range');\n coerce('thickness');\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults\n};\n\n\n/***/ }),\n\n/***/ \"18ec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar str = \"razdwatrzy\";\n\nmodule.exports = function () {\n\tif (typeof str.contains !== \"function\") return false;\n\treturn str.contains(\"dwa\") === true && str.contains(\"foo\") === false;\n};\n\n\n/***/ }),\n\n/***/ \"191c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\n\nvar attributes = __webpack_require__(\"ce65\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var a = coerce('a');\n var b = coerce('b');\n var c = coerce('c');\n var len;\n\n // allow any one array to be missing, len is the minimum length of those\n // present. Note that after coerce data_array's are either Arrays (which\n // are truthy even if empty) or undefined. As in scatter, an empty array\n // is different from undefined, because it can signify that this data is\n // not known yet but expected in the future\n if(a) {\n len = a.length;\n if(b) {\n len = Math.min(len, b.length);\n if(c) len = Math.min(len, c.length);\n } else if(c) len = Math.min(len, c.length);\n else len = 0;\n } else if(b && c) {\n len = Math.min(b.length, c.length);\n }\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('sum');\n\n coerce('text');\n coerce('hovertext');\n if(traceOut.hoveron !== 'fills') coerce('hovertemplate');\n\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('cliponaxis');\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n coerce('hoveron', dfltHoverOn.join('+') || 'points');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"1936\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n // current\r\n 'precision'\r\n , 'highp'\r\n , 'mediump'\r\n , 'lowp'\r\n , 'attribute'\r\n , 'const'\r\n , 'uniform'\r\n , 'varying'\r\n , 'break'\r\n , 'continue'\r\n , 'do'\r\n , 'for'\r\n , 'while'\r\n , 'if'\r\n , 'else'\r\n , 'in'\r\n , 'out'\r\n , 'inout'\r\n , 'float'\r\n , 'int'\r\n , 'uint'\r\n , 'void'\r\n , 'bool'\r\n , 'true'\r\n , 'false'\r\n , 'discard'\r\n , 'return'\r\n , 'mat2'\r\n , 'mat3'\r\n , 'mat4'\r\n , 'vec2'\r\n , 'vec3'\r\n , 'vec4'\r\n , 'ivec2'\r\n , 'ivec3'\r\n , 'ivec4'\r\n , 'bvec2'\r\n , 'bvec3'\r\n , 'bvec4'\r\n , 'sampler1D'\r\n , 'sampler2D'\r\n , 'sampler3D'\r\n , 'samplerCube'\r\n , 'sampler1DShadow'\r\n , 'sampler2DShadow'\r\n , 'struct'\r\n\r\n // future\r\n , 'asm'\r\n , 'class'\r\n , 'union'\r\n , 'enum'\r\n , 'typedef'\r\n , 'template'\r\n , 'this'\r\n , 'packed'\r\n , 'goto'\r\n , 'switch'\r\n , 'default'\r\n , 'inline'\r\n , 'noinline'\r\n , 'volatile'\r\n , 'public'\r\n , 'static'\r\n , 'extern'\r\n , 'external'\r\n , 'interface'\r\n , 'long'\r\n , 'short'\r\n , 'double'\r\n , 'half'\r\n , 'fixed'\r\n , 'unsigned'\r\n , 'input'\r\n , 'output'\r\n , 'hvec2'\r\n , 'hvec3'\r\n , 'hvec4'\r\n , 'dvec2'\r\n , 'dvec3'\r\n , 'dvec4'\r\n , 'fvec2'\r\n , 'fvec3'\r\n , 'fvec4'\r\n , 'sampler2DRect'\r\n , 'sampler3DRect'\r\n , 'sampler2DRectShadow'\r\n , 'sizeof'\r\n , 'cast'\r\n , 'namespace'\r\n , 'using'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"1978\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\n\n// used in the drawing step for 'scatter' and 'scattegeo' and\n// in the convert step for 'scatter3d'\nmodule.exports = function makeBubbleSizeFn(trace) {\n var marker = trace.marker;\n var sizeRef = marker.sizeref || 1;\n var sizeMin = marker.sizemin || 0;\n\n // for bubble charts, allow scaling the provided value linearly\n // and by area or diameter.\n // Note this only applies to the array-value sizes\n\n var baseFn = (marker.sizemode === 'area') ?\n function(v) { return Math.sqrt(v / sizeRef); } :\n function(v) { return v / sizeRef; };\n\n // TODO add support for position/negative bubbles?\n // TODO add 'sizeoffset' attribute?\n return function(v) {\n var baseSize = baseFn(v / 2);\n\n // don't show non-numeric and negative sizes\n return (isNumeric(baseSize) && (baseSize > 0)) ?\n Math.max(baseSize, sizeMin) :\n 0;\n };\n};\n\n\n/***/ }),\n\n/***/ \"1999\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Plots = __webpack_require__(\"bb71\");\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar interactConstants = __webpack_require__(\"72a4\");\n\nvar OPPOSITE_SIDE = __webpack_require__(\"63dc\").OPPOSITE_SIDE;\nvar numStripRE = / [XY][0-9]* /;\n\n/**\n * Titles - (re)draw titles on the axes and plot:\n * @param {DOM element} gd - the graphDiv\n * @param {string} titleClass - the css class of this title\n * @param {object} options - how and what to draw\n * propContainer - the layout object containing `title` and `titlefont`\n * attributes that apply to this title\n * propName - the full name of the title property (for Plotly.relayout)\n * [traceIndex] - include only if this property applies to one trace\n * (such as a colorbar title) - then editing pipes to Plotly.restyle\n * instead of Plotly.relayout\n * placeholder - placeholder text for an empty editable title\n * [avoid] {object} - include if this title should move to avoid other elements\n * selection - d3 selection of elements to avoid\n * side - which direction to move if there is a conflict\n * [offsetLeft] - if these elements are subject to a translation\n * wrt the title element\n * [offsetTop]\n * attributes {object} - position and alignment attributes\n * x - pixels\n * y - pixels\n * text-anchor - start|middle|end\n * transform {object} - how to transform the title after positioning\n * rotate - degrees\n * offset - shift up/down in the rotated frame (unused?)\n * containerGroup - if an svg element already exists to hold this\n * title, include here. Otherwise it will go in fullLayout._infolayer\n * _meta {object (optional} - meta key-value to for title with\n * Lib.templateString, default to fullLayout._meta, if not provided\n *\n * @return {selection} d3 selection of title container group\n */\nfunction draw(gd, titleClass, options) {\n var cont = options.propContainer;\n var prop = options.propName;\n var placeholder = options.placeholder;\n var traceIndex = options.traceIndex;\n var avoid = options.avoid || {};\n var attributes = options.attributes;\n var transform = options.transform;\n var group = options.containerGroup;\n\n var fullLayout = gd._fullLayout;\n\n var opacity = 1;\n var isplaceholder = false;\n var title = cont.title;\n var txt = (title && title.text ? title.text : '').trim();\n\n var font = title && title.font ? title.font : {};\n var fontFamily = font.family;\n var fontSize = font.size;\n var fontColor = font.color;\n\n // only make this title editable if we positively identify its property\n // as one that has editing enabled.\n var editAttr;\n if(prop === 'title.text') editAttr = 'titleText';\n else if(prop.indexOf('axis') !== -1) editAttr = 'axisTitleText';\n else if(prop.indexOf('colorbar' !== -1)) editAttr = 'colorbarTitleText';\n var editable = gd._context.edits[editAttr];\n\n if(txt === '') opacity = 0;\n // look for placeholder text while stripping out numbers from eg X2, Y3\n // this is just for backward compatibility with the old version that had\n // \"Click to enter X2 title\" and may have gotten saved in some old plots,\n // we don't want this to show up when these are displayed.\n else if(txt.replace(numStripRE, ' % ') === placeholder.replace(numStripRE, ' % ')) {\n opacity = 0.2;\n isplaceholder = true;\n if(!editable) txt = '';\n }\n\n if(options._meta) {\n txt = Lib.templateString(txt, options._meta);\n } else if(fullLayout._meta) {\n txt = Lib.templateString(txt, fullLayout._meta);\n }\n\n var elShouldExist = txt || editable;\n\n if(!group) {\n group = Lib.ensureSingle(fullLayout._infolayer, 'g', 'g-' + titleClass);\n }\n\n var el = group.selectAll('text')\n .data(elShouldExist ? [0] : []);\n el.enter().append('text');\n el.text(txt)\n // this is hacky, but convertToTspans uses the class\n // to determine whether to rotate mathJax...\n // so we need to clear out any old class and put the\n // correct one (only relevant for colorbars, at least\n // for now) - ie don't use .classed\n .attr('class', titleClass);\n el.exit().remove();\n\n if(!elShouldExist) return group;\n\n function titleLayout(titleEl) {\n Lib.syncOrAsync([drawTitle, scootTitle], titleEl);\n }\n\n function drawTitle(titleEl) {\n var transformVal;\n\n if(transform) {\n transformVal = '';\n if(transform.rotate) {\n transformVal += 'rotate(' + [transform.rotate, attributes.x, attributes.y] + ')';\n }\n if(transform.offset) {\n transformVal += 'translate(0, ' + transform.offset + ')';\n }\n } else {\n transformVal = null;\n }\n\n titleEl.attr('transform', transformVal);\n\n titleEl.style({\n 'font-family': fontFamily,\n 'font-size': d3.round(fontSize, 2) + 'px',\n fill: Color.rgb(fontColor),\n opacity: opacity * Color.opacity(fontColor),\n 'font-weight': Plots.fontWeight\n })\n .attr(attributes)\n .call(svgTextUtils.convertToTspans, gd);\n\n return Plots.previousPromises(gd);\n }\n\n function scootTitle(titleElIn) {\n var titleGroup = d3.select(titleElIn.node().parentNode);\n\n if(avoid && avoid.selection && avoid.side && txt) {\n titleGroup.attr('transform', null);\n\n // move toward avoid.side (= left, right, top, bottom) if needed\n // can include pad (pixels, default 2)\n var backside = OPPOSITE_SIDE[avoid.side];\n var shiftSign = (avoid.side === 'left' || avoid.side === 'top') ? -1 : 1;\n var pad = isNumeric(avoid.pad) ? avoid.pad : 2;\n\n var titlebb = Drawing.bBox(titleGroup.node());\n var paperbb = {\n left: 0,\n top: 0,\n right: fullLayout.width,\n bottom: fullLayout.height\n };\n\n var maxshift = avoid.maxShift ||\n shiftSign * (paperbb[avoid.side] - titlebb[avoid.side]);\n var shift = 0;\n\n // Prevent the title going off the paper\n if(maxshift < 0) {\n shift = maxshift;\n } else {\n // so we don't have to offset each avoided element,\n // give the title the opposite offset\n var offsetLeft = avoid.offsetLeft || 0;\n var offsetTop = avoid.offsetTop || 0;\n titlebb.left -= offsetLeft;\n titlebb.right -= offsetLeft;\n titlebb.top -= offsetTop;\n titlebb.bottom -= offsetTop;\n\n // iterate over a set of elements (avoid.selection)\n // to avoid collisions with\n avoid.selection.each(function() {\n var avoidbb = Drawing.bBox(this);\n\n if(Lib.bBoxIntersect(titlebb, avoidbb, pad)) {\n shift = Math.max(shift, shiftSign * (\n avoidbb[avoid.side] - titlebb[backside]) + pad);\n }\n });\n shift = Math.min(maxshift, shift);\n }\n\n if(shift > 0 || maxshift < 0) {\n var shiftTemplate = {\n left: [-shift, 0],\n right: [shift, 0],\n top: [0, -shift],\n bottom: [0, shift]\n }[avoid.side];\n titleGroup.attr('transform', 'translate(' + shiftTemplate + ')');\n }\n }\n }\n\n el.call(titleLayout);\n\n function setPlaceholder() {\n opacity = 0;\n isplaceholder = true;\n el.text(placeholder)\n .on('mouseover.opacity', function() {\n d3.select(this).transition()\n .duration(interactConstants.SHOW_PLACEHOLDER).style('opacity', 1);\n })\n .on('mouseout.opacity', function() {\n d3.select(this).transition()\n .duration(interactConstants.HIDE_PLACEHOLDER).style('opacity', 0);\n });\n }\n\n if(editable) {\n if(!txt) setPlaceholder();\n else el.on('.opacity', null);\n\n el.call(svgTextUtils.makeEditable, {gd: gd})\n .on('edit', function(text) {\n if(traceIndex !== undefined) {\n Registry.call('_guiRestyle', gd, prop, text, traceIndex);\n } else {\n Registry.call('_guiRelayout', gd, prop, text);\n }\n })\n .on('cancel', function() {\n this.text(this.attr('data-unformatted'))\n .call(titleLayout);\n })\n .on('input', function(d) {\n this.text(d || ' ')\n .call(svgTextUtils.positionText, attributes.x, attributes.y);\n });\n }\n el.classed('js-placeholder', isplaceholder);\n\n return group;\n}\n\nmodule.exports = {\n draw: draw\n};\n\n\n/***/ }),\n\n/***/ \"19b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * inspired by is-number \n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n\n\nvar allBlankCharCodes = __webpack_require__(\"e9b4\");\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n\n\n/***/ }),\n\n/***/ \"19e1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mod = __webpack_require__(\"d3dc\").mod;\n\n/*\n * look for intersection of two line segments\n * (1->2 and 3->4) - returns array [x,y] if they do, null if not\n */\nexports.segmentsIntersect = segmentsIntersect;\nfunction segmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4) {\n var a = x2 - x1;\n var b = x3 - x1;\n var c = x4 - x3;\n var d = y2 - y1;\n var e = y3 - y1;\n var f = y4 - y3;\n var det = a * f - c * d;\n // parallel lines? intersection is undefined\n // ignore the case where they are colinear\n if(det === 0) return null;\n var t = (b * f - c * e) / det;\n var u = (b * d - a * e) / det;\n // segments do not intersect?\n if(u < 0 || u > 1 || t < 0 || t > 1) return null;\n\n return {x: x1 + a * t, y: y1 + d * t};\n}\n\n/*\n * find the minimum distance between two line segments (1->2 and 3->4)\n */\nexports.segmentDistance = function segmentDistance(x1, y1, x2, y2, x3, y3, x4, y4) {\n if(segmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4)) return 0;\n\n // the two segments and their lengths squared\n var x12 = x2 - x1;\n var y12 = y2 - y1;\n var x34 = x4 - x3;\n var y34 = y4 - y3;\n var ll12 = x12 * x12 + y12 * y12;\n var ll34 = x34 * x34 + y34 * y34;\n\n // calculate distance squared, then take the sqrt at the very end\n var dist2 = Math.min(\n perpDistance2(x12, y12, ll12, x3 - x1, y3 - y1),\n perpDistance2(x12, y12, ll12, x4 - x1, y4 - y1),\n perpDistance2(x34, y34, ll34, x1 - x3, y1 - y3),\n perpDistance2(x34, y34, ll34, x2 - x3, y2 - y3)\n );\n\n return Math.sqrt(dist2);\n};\n\n/*\n * distance squared from segment ab to point c\n * [xab, yab] is the vector b-a\n * [xac, yac] is the vector c-a\n * llab is the length squared of (b-a), just to simplify calculation\n */\nfunction perpDistance2(xab, yab, llab, xac, yac) {\n var fcAB = (xac * xab + yac * yab);\n if(fcAB < 0) {\n // point c is closer to point a\n return xac * xac + yac * yac;\n } else if(fcAB > llab) {\n // point c is closer to point b\n var xbc = xac - xab;\n var ybc = yac - yab;\n return xbc * xbc + ybc * ybc;\n } else {\n // perpendicular distance is the shortest\n var crossProduct = xac * yab - yac * xab;\n return crossProduct * crossProduct / llab;\n }\n}\n\n// a very short-term cache for getTextLocation, just because\n// we're often looping over the same locations multiple times\n// invalidated as soon as we look at a different path\nvar locationCache, workingPath, workingTextWidth;\n\n// turn a path and position along it into x, y, and angle for the given text\nexports.getTextLocation = function getTextLocation(path, totalPathLen, positionOnPath, textWidth) {\n if(path !== workingPath || textWidth !== workingTextWidth) {\n locationCache = {};\n workingPath = path;\n workingTextWidth = textWidth;\n }\n if(locationCache[positionOnPath]) {\n return locationCache[positionOnPath];\n }\n\n // for the angle, use points on the path separated by the text width\n // even though due to curvature, the text will cover a bit more than that\n var p0 = path.getPointAtLength(mod(positionOnPath - textWidth / 2, totalPathLen));\n var p1 = path.getPointAtLength(mod(positionOnPath + textWidth / 2, totalPathLen));\n // note: atan handles 1/0 nicely\n var theta = Math.atan((p1.y - p0.y) / (p1.x - p0.x));\n // center the text at 2/3 of the center position plus 1/3 the p0/p1 midpoint\n // that's the average position of this segment, assuming it's roughly quadratic\n var pCenter = path.getPointAtLength(mod(positionOnPath, totalPathLen));\n var x = (pCenter.x * 4 + p0.x + p1.x) / 6;\n var y = (pCenter.y * 4 + p0.y + p1.y) / 6;\n\n var out = {x: x, y: y, theta: theta};\n locationCache[positionOnPath] = out;\n return out;\n};\n\nexports.clearLocationCache = function() {\n workingPath = null;\n};\n\n/*\n * Find the segment of `path` that's within the visible area\n * given by `bounds` {left, right, top, bottom}, to within a\n * precision of `buffer` px\n *\n * returns: undefined if nothing is visible, else object:\n * {\n * min: position where the path first enters bounds, or 0 if it\n * starts within bounds\n * max: position where the path last exits bounds, or the path length\n * if it finishes within bounds\n * len: max - min, ie the length of visible path\n * total: the total path length - just included so the caller doesn't\n * need to call path.getTotalLength() again\n * isClosed: true iff the start and end points of the path are both visible\n * and are at the same point\n * }\n *\n * Works by starting from either end and repeatedly finding the distance from\n * that point to the plot area, and if it's outside the plot, moving along the\n * path by that distance (because the plot must be at least that far away on\n * the path). Note that if a path enters, exits, and re-enters the plot, we\n * will not capture this behavior.\n */\nexports.getVisibleSegment = function getVisibleSegment(path, bounds, buffer) {\n var left = bounds.left;\n var right = bounds.right;\n var top = bounds.top;\n var bottom = bounds.bottom;\n\n var pMin = 0;\n var pTotal = path.getTotalLength();\n var pMax = pTotal;\n\n var pt0, ptTotal;\n\n function getDistToPlot(len) {\n var pt = path.getPointAtLength(len);\n\n // hold on to the start and end points for `closed`\n if(len === 0) pt0 = pt;\n else if(len === pTotal) ptTotal = pt;\n\n var dx = (pt.x < left) ? left - pt.x : (pt.x > right ? pt.x - right : 0);\n var dy = (pt.y < top) ? top - pt.y : (pt.y > bottom ? pt.y - bottom : 0);\n return Math.sqrt(dx * dx + dy * dy);\n }\n\n var distToPlot = getDistToPlot(pMin);\n while(distToPlot) {\n pMin += distToPlot + buffer;\n if(pMin > pMax) return;\n distToPlot = getDistToPlot(pMin);\n }\n\n distToPlot = getDistToPlot(pMax);\n while(distToPlot) {\n pMax -= distToPlot + buffer;\n if(pMin > pMax) return;\n distToPlot = getDistToPlot(pMax);\n }\n\n return {\n min: pMin,\n max: pMax,\n len: pMax - pMin,\n total: pTotal,\n isClosed: pMin === 0 && pMax === pTotal &&\n Math.abs(pt0.x - ptTotal.x) < 0.1 &&\n Math.abs(pt0.y - ptTotal.y) < 0.1\n };\n};\n\n/**\n * Find point on SVG path corresponding to a given constraint coordinate\n *\n * @param {SVGPathElement} path\n * @param {Number} val : constraint coordinate value\n * @param {String} coord : 'x' or 'y' the constraint coordinate\n * @param {Object} opts :\n * - {Number} pathLength : supply total path length before hand\n * - {Number} tolerance\n * - {Number} iterationLimit\n * @return {SVGPoint}\n */\nexports.findPointOnPath = function findPointOnPath(path, val, coord, opts) {\n opts = opts || {};\n\n var pathLength = opts.pathLength || path.getTotalLength();\n var tolerance = opts.tolerance || 1e-3;\n var iterationLimit = opts.iterationLimit || 30;\n\n // if path starts at a val greater than the path tail (like on vertical violins),\n // we must flip the sign of the computed diff.\n var mul = path.getPointAtLength(0)[coord] > path.getPointAtLength(pathLength)[coord] ? -1 : 1;\n\n var i = 0;\n var b0 = 0;\n var b1 = pathLength;\n var mid;\n var pt;\n var diff;\n\n while(i < iterationLimit) {\n mid = (b0 + b1) / 2;\n pt = path.getPointAtLength(mid);\n diff = pt[coord] - val;\n\n if(Math.abs(diff) < tolerance) {\n return pt;\n } else {\n if(mul * diff > 0) {\n b1 = mid;\n } else {\n b0 = mid;\n }\n i++;\n }\n }\n return pt;\n};\n\n\n/***/ }),\n\n/***/ \"1a06\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar handleXYZDefaults = __webpack_require__(\"41e0\");\nvar handleConstraintDefaults = __webpack_require__(\"86df\");\nvar handleContoursDefaults = __webpack_require__(\"d61b\");\nvar handleStyleDefaults = __webpack_require__(\"41f8\");\nvar attributes = __webpack_require__(\"43ef\");\n\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n function coerce2(attr) {\n return Lib.coerce2(traceIn, traceOut, attributes, attr);\n }\n\n var len = handleXYZDefaults(traceIn, traceOut, coerce, layout);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('hoverongaps');\n\n var isConstraint = (coerce('contours.type') === 'constraint');\n coerce('connectgaps', Lib.isArray1D(traceOut.z));\n\n if(isConstraint) {\n handleConstraintDefaults(traceIn, traceOut, coerce, layout, defaultColor);\n } else {\n handleContoursDefaults(traceIn, traceOut, coerce, coerce2);\n handleStyleDefaults(traceIn, traceOut, coerce, layout);\n }\n};\n\n\n/***/ }),\n\n/***/ \"1a3f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar convexHull1d = __webpack_require__(\"1f25\")\nvar convexHull2d = __webpack_require__(\"8ff7\")\nvar convexHullnd = __webpack_require__(\"ca39\")\n\nmodule.exports = convexHull\n\nfunction convexHull(points) {\n var n = points.length\n if(n === 0) {\n return []\n } else if(n === 1) {\n return [[0]]\n }\n var d = points[0].length\n if(d === 0) {\n return []\n } else if(d === 1) {\n return convexHull1d(points)\n } else if(d === 2) {\n return convexHull2d(points)\n }\n return convexHullnd(points, d)\n}\n\n/***/ }),\n\n/***/ \"1a40\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar cleanNumber = Lib.cleanNumber;\nvar ms2DateTime = Lib.ms2DateTime;\nvar dateTime2ms = Lib.dateTime2ms;\nvar ensureNumber = Lib.ensureNumber;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\n\nvar numConstants = __webpack_require__(\"e806\");\nvar FP_SAFE = numConstants.FP_SAFE;\nvar BADNUM = numConstants.BADNUM;\nvar LOG_CLIP = numConstants.LOG_CLIP;\n\nvar constants = __webpack_require__(\"d301\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nfunction fromLog(v) {\n return Math.pow(10, v);\n}\n\nfunction isValidCategory(v) {\n return v !== null && v !== undefined;\n}\n\n/**\n * Define the conversion functions for an axis data is used in 5 ways:\n *\n * d: data, in whatever form it's provided\n * c: calcdata: turned into numbers, but not linearized\n * l: linearized - same as c except for log axes (and other nonlinear\n * mappings later?) this is used when we need to know if it's\n * *possible* to show some data on this axis, without caring about\n * the current range\n * p: pixel value - mapped to the screen with current size and zoom\n * r: ranges, tick0, and annotation positions match one of the above\n * but are handled differently for different types:\n * - linear and date: data format (d)\n * - category: calcdata format (c), and will stay that way because\n * the data format has no continuous mapping\n * - log: linearized (l) format\n * TODO: in v2.0 we plan to change it to data format. At that point\n * shapes will work the same way as ranges, tick0, and annotations\n * so they can use this conversion too.\n *\n * Creates/updates these conversion functions, and a few more utilities\n * like cleanRange, and makeCalcdata\n *\n * also clears the autotick constraints ._minDtick, ._forceTick0\n */\nmodule.exports = function setConvert(ax, fullLayout) {\n fullLayout = fullLayout || {};\n\n var axId = (ax._id || 'x');\n var axLetter = axId.charAt(0);\n\n function toLog(v, clip) {\n if(v > 0) return Math.log(v) / Math.LN10;\n\n else if(v <= 0 && clip && ax.range && ax.range.length === 2) {\n // clip NaN (ie past negative infinity) to LOG_CLIP axis\n // length past the negative edge\n var r0 = ax.range[0];\n var r1 = ax.range[1];\n return 0.5 * (r0 + r1 - 2 * LOG_CLIP * Math.abs(r0 - r1));\n } else return BADNUM;\n }\n\n /*\n * wrapped dateTime2ms that:\n * - accepts ms numbers for backward compatibility\n * - inserts a dummy arg so calendar is the 3rd arg (see notes below).\n * - defaults to ax.calendar\n */\n function dt2ms(v, _, calendar) {\n // NOTE: Changed this behavior: previously we took any numeric value\n // to be a ms, even if it was a string that could be a bare year.\n // Now we convert it as a date if at all possible, and only try\n // as (local) ms if that fails.\n var ms = dateTime2ms(v, calendar || ax.calendar);\n if(ms === BADNUM) {\n if(isNumeric(v)) {\n v = +v;\n // keep track of tenths of ms, that `new Date` will drop\n // same logic as in Lib.ms2DateTime\n var msecTenths = Math.floor(Lib.mod(v + 0.05, 1) * 10);\n var msRounded = Math.round(v - msecTenths / 10);\n ms = dateTime2ms(new Date(msRounded)) + msecTenths / 10;\n } else return BADNUM;\n }\n return ms;\n }\n\n // wrapped ms2DateTime to insert default ax.calendar\n function ms2dt(v, r, calendar) {\n return ms2DateTime(v, r, calendar || ax.calendar);\n }\n\n function getCategoryName(v) {\n return ax._categories[Math.round(v)];\n }\n\n /*\n * setCategoryIndex: return the index of category v,\n * inserting it in the list if it's not already there\n *\n * this will enter the categories in the order it\n * encounters them, ie all the categories from the\n * first data set, then all the ones from the second\n * that aren't in the first etc.\n *\n * it is assumed that this function is being invoked in the\n * already sorted category order; otherwise there would be\n * a disconnect between the array and the index returned\n */\n function setCategoryIndex(v) {\n if(isValidCategory(v)) {\n if(ax._categoriesMap === undefined) {\n ax._categoriesMap = {};\n }\n\n if(ax._categoriesMap[v] !== undefined) {\n return ax._categoriesMap[v];\n } else {\n ax._categories.push(typeof v === 'number' ? String(v) : v);\n\n var curLength = ax._categories.length - 1;\n ax._categoriesMap[v] = curLength;\n\n return curLength;\n }\n }\n return BADNUM;\n }\n\n function setMultiCategoryIndex(arrayIn, len) {\n var arrayOut = new Array(len);\n\n for(var i = 0; i < len; i++) {\n var v0 = (arrayIn[0] || [])[i];\n var v1 = (arrayIn[1] || [])[i];\n arrayOut[i] = getCategoryIndex([v0, v1]);\n }\n\n return arrayOut;\n }\n\n function getCategoryIndex(v) {\n if(ax._categoriesMap) {\n return ax._categoriesMap[v];\n }\n }\n\n function getCategoryPosition(v) {\n // d2l/d2c variant that that won't add categories but will also\n // allow numbers to be mapped to the linearized axis positions\n var index = getCategoryIndex(v);\n if(index !== undefined) return index;\n if(isNumeric(v)) return +v;\n }\n\n function l2p(v) {\n if(!isNumeric(v)) return BADNUM;\n\n // include 2 fractional digits on pixel, for PDF zooming etc\n return d3.round(ax._b + ax._m * v, 2);\n }\n\n function p2l(px) { return (px - ax._b) / ax._m; }\n\n // conversions among c/l/p are fairly simple - do them together for all axis types\n ax.c2l = (ax.type === 'log') ? toLog : ensureNumber;\n ax.l2c = (ax.type === 'log') ? fromLog : ensureNumber;\n\n ax.l2p = l2p;\n ax.p2l = p2l;\n\n ax.c2p = (ax.type === 'log') ? function(v, clip) { return l2p(toLog(v, clip)); } : l2p;\n ax.p2c = (ax.type === 'log') ? function(px) { return fromLog(p2l(px)); } : p2l;\n\n /*\n * now type-specific conversions for **ALL** other combinations\n * they're all written out, instead of being combinations of each other, for\n * both clarity and speed.\n */\n if(['linear', '-'].indexOf(ax.type) !== -1) {\n // all are data vals, but d and r need cleaning\n ax.d2r = ax.r2d = ax.d2c = ax.r2c = ax.d2l = ax.r2l = cleanNumber;\n ax.c2d = ax.c2r = ax.l2d = ax.l2r = ensureNumber;\n\n ax.d2p = ax.r2p = function(v) { return ax.l2p(cleanNumber(v)); };\n ax.p2d = ax.p2r = p2l;\n\n ax.cleanPos = ensureNumber;\n } else if(ax.type === 'log') {\n // d and c are data vals, r and l are logged (but d and r need cleaning)\n ax.d2r = ax.d2l = function(v, clip) { return toLog(cleanNumber(v), clip); };\n ax.r2d = ax.r2c = function(v) { return fromLog(cleanNumber(v)); };\n\n ax.d2c = ax.r2l = cleanNumber;\n ax.c2d = ax.l2r = ensureNumber;\n\n ax.c2r = toLog;\n ax.l2d = fromLog;\n\n ax.d2p = function(v, clip) { return ax.l2p(ax.d2r(v, clip)); };\n ax.p2d = function(px) { return fromLog(p2l(px)); };\n\n ax.r2p = function(v) { return ax.l2p(cleanNumber(v)); };\n ax.p2r = p2l;\n\n ax.cleanPos = ensureNumber;\n } else if(ax.type === 'date') {\n // r and d are date strings, l and c are ms\n\n /*\n * Any of these functions with r and d on either side, calendar is the\n * **3rd** argument. log has reserved the second argument.\n *\n * Unless you need the special behavior of the second arg (ms2DateTime\n * uses this to limit precision, toLog uses true to clip negatives\n * to offscreen low rather than undefined), it's safe to pass 0.\n */\n ax.d2r = ax.r2d = Lib.identity;\n\n ax.d2c = ax.r2c = ax.d2l = ax.r2l = dt2ms;\n ax.c2d = ax.c2r = ax.l2d = ax.l2r = ms2dt;\n\n ax.d2p = ax.r2p = function(v, _, calendar) { return ax.l2p(dt2ms(v, 0, calendar)); };\n ax.p2d = ax.p2r = function(px, r, calendar) { return ms2dt(p2l(px), r, calendar); };\n\n ax.cleanPos = function(v) { return Lib.cleanDate(v, BADNUM, ax.calendar); };\n } else if(ax.type === 'category') {\n // d is categories (string)\n // c and l are indices (numbers)\n // r is categories or numbers\n\n ax.d2c = ax.d2l = setCategoryIndex;\n ax.r2d = ax.c2d = ax.l2d = getCategoryName;\n\n ax.d2r = ax.d2l_noadd = getCategoryPosition;\n\n ax.r2c = function(v) {\n var index = getCategoryPosition(v);\n return index !== undefined ? index : ax.fraction2r(0.5);\n };\n\n ax.l2r = ax.c2r = ensureNumber;\n ax.r2l = getCategoryPosition;\n\n ax.d2p = function(v) { return ax.l2p(ax.r2c(v)); };\n ax.p2d = function(px) { return getCategoryName(p2l(px)); };\n ax.r2p = ax.d2p;\n ax.p2r = p2l;\n\n ax.cleanPos = function(v) {\n if(typeof v === 'string' && v !== '') return v;\n return ensureNumber(v);\n };\n } else if(ax.type === 'multicategory') {\n // N.B. multicategory axes don't define d2c and d2l,\n // as 'data-to-calcdata' conversion needs to take into\n // account all data array items as in ax.makeCalcdata.\n\n ax.r2d = ax.c2d = ax.l2d = getCategoryName;\n ax.d2r = ax.d2l_noadd = getCategoryPosition;\n\n ax.r2c = function(v) {\n var index = getCategoryPosition(v);\n return index !== undefined ? index : ax.fraction2r(0.5);\n };\n\n ax.r2c_just_indices = getCategoryIndex;\n\n ax.l2r = ax.c2r = ensureNumber;\n ax.r2l = getCategoryPosition;\n\n ax.d2p = function(v) { return ax.l2p(ax.r2c(v)); };\n ax.p2d = function(px) { return getCategoryName(p2l(px)); };\n ax.r2p = ax.d2p;\n ax.p2r = p2l;\n\n ax.cleanPos = function(v) {\n if(Array.isArray(v) || (typeof v === 'string' && v !== '')) return v;\n return ensureNumber(v);\n };\n\n ax.setupMultiCategory = function(fullData) {\n var traceIndices = ax._traceIndices;\n var i, j;\n\n var matchGroups = fullLayout._axisMatchGroups;\n if(matchGroups && matchGroups.length && ax._categories.length === 0) {\n for(i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n if(group[axId]) {\n for(var axId2 in group) {\n if(axId2 !== axId) {\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n traceIndices = traceIndices.concat(ax2._traceIndices);\n }\n }\n }\n }\n }\n\n // [ [cnt, {$cat: index}], for 1,2 ]\n var seen = [[0, {}], [0, {}]];\n // [ [arrayIn[0][i], arrayIn[1][i]], for i .. N ]\n var list = [];\n\n for(i = 0; i < traceIndices.length; i++) {\n var trace = fullData[traceIndices[i]];\n\n if(axLetter in trace) {\n var arrayIn = trace[axLetter];\n var len = trace._length || Lib.minRowLength(arrayIn);\n\n if(isArrayOrTypedArray(arrayIn[0]) && isArrayOrTypedArray(arrayIn[1])) {\n for(j = 0; j < len; j++) {\n var v0 = arrayIn[0][j];\n var v1 = arrayIn[1][j];\n\n if(isValidCategory(v0) && isValidCategory(v1)) {\n list.push([v0, v1]);\n\n if(!(v0 in seen[0][1])) {\n seen[0][1][v0] = seen[0][0]++;\n }\n if(!(v1 in seen[1][1])) {\n seen[1][1][v1] = seen[1][0]++;\n }\n }\n }\n }\n }\n }\n\n list.sort(function(a, b) {\n var ind0 = seen[0][1];\n var d = ind0[a[0]] - ind0[b[0]];\n if(d) return d;\n\n var ind1 = seen[1][1];\n return ind1[a[1]] - ind1[b[1]];\n });\n\n for(i = 0; i < list.length; i++) {\n setCategoryIndex(list[i]);\n }\n };\n }\n\n // find the range value at the specified (linear) fraction of the axis\n ax.fraction2r = function(v) {\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n return ax.l2r(rl0 + v * (rl1 - rl0));\n };\n\n // find the fraction of the range at the specified range value\n ax.r2fraction = function(v) {\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n return (ax.r2l(v) - rl0) / (rl1 - rl0);\n };\n\n /*\n * cleanRange: make sure range is a couplet of valid & distinct values\n * keep numbers away from the limits of floating point numbers,\n * and dates away from the ends of our date system (+/- 9999 years)\n *\n * optional param rangeAttr: operate on a different attribute, like\n * ax._r, rather than ax.range\n */\n ax.cleanRange = function(rangeAttr, opts) {\n if(!opts) opts = {};\n if(!rangeAttr) rangeAttr = 'range';\n\n var range = Lib.nestedProperty(ax, rangeAttr).get();\n var i, dflt;\n\n if(ax.type === 'date') dflt = Lib.dfltRange(ax.calendar);\n else if(axLetter === 'y') dflt = constants.DFLTRANGEY;\n else dflt = opts.dfltRange || constants.DFLTRANGEX;\n\n // make sure we don't later mutate the defaults\n dflt = dflt.slice();\n\n if(ax.rangemode === 'tozero' || ax.rangemode === 'nonnegative') {\n dflt[0] = 0;\n }\n\n if(!range || range.length !== 2) {\n Lib.nestedProperty(ax, rangeAttr).set(dflt);\n return;\n }\n\n if(ax.type === 'date' && !ax.autorange) {\n // check if milliseconds or js date objects are provided for range\n // and convert to date strings\n range[0] = Lib.cleanDate(range[0], BADNUM, ax.calendar);\n range[1] = Lib.cleanDate(range[1], BADNUM, ax.calendar);\n }\n\n for(i = 0; i < 2; i++) {\n if(ax.type === 'date') {\n if(!Lib.isDateTime(range[i], ax.calendar)) {\n ax[rangeAttr] = dflt;\n break;\n }\n\n if(ax.r2l(range[0]) === ax.r2l(range[1])) {\n // split by +/- 1 second\n var linCenter = Lib.constrain(ax.r2l(range[0]),\n Lib.MIN_MS + 1000, Lib.MAX_MS - 1000);\n range[0] = ax.l2r(linCenter - 1000);\n range[1] = ax.l2r(linCenter + 1000);\n break;\n }\n } else {\n if(!isNumeric(range[i])) {\n if(isNumeric(range[1 - i])) {\n range[i] = range[1 - i] * (i ? 10 : 0.1);\n } else {\n ax[rangeAttr] = dflt;\n break;\n }\n }\n\n if(range[i] < -FP_SAFE) range[i] = -FP_SAFE;\n else if(range[i] > FP_SAFE) range[i] = FP_SAFE;\n\n if(range[0] === range[1]) {\n // somewhat arbitrary: split by 1 or 1ppm, whichever is bigger\n var inc = Math.max(1, Math.abs(range[0] * 1e-6));\n range[0] -= inc;\n range[1] += inc;\n }\n }\n }\n };\n\n // set scaling to pixels\n ax.setScale = function(usePrivateRange) {\n var gs = fullLayout._size;\n\n // make sure we have a domain (pull it in from the axis\n // this one is overlaying if necessary)\n if(ax.overlaying) {\n var ax2 = axisIds.getFromId({ _fullLayout: fullLayout }, ax.overlaying);\n ax.domain = ax2.domain;\n }\n\n // While transitions are occuring, occurring, we get a double-transform\n // issue if we transform the drawn layer *and* use the new axis range to\n // draw the data. This allows us to construct setConvert using the pre-\n // interaction values of the range:\n var rangeAttr = (usePrivateRange && ax._r) ? '_r' : 'range';\n var calendar = ax.calendar;\n ax.cleanRange(rangeAttr);\n\n var rl0 = ax.r2l(ax[rangeAttr][0], calendar);\n var rl1 = ax.r2l(ax[rangeAttr][1], calendar);\n\n if(axLetter === 'y') {\n ax._offset = gs.t + (1 - ax.domain[1]) * gs.h;\n ax._length = gs.h * (ax.domain[1] - ax.domain[0]);\n ax._m = ax._length / (rl0 - rl1);\n ax._b = -ax._m * rl1;\n } else {\n ax._offset = gs.l + ax.domain[0] * gs.w;\n ax._length = gs.w * (ax.domain[1] - ax.domain[0]);\n ax._m = ax._length / (rl1 - rl0);\n ax._b = -ax._m * rl0;\n }\n\n if(!isFinite(ax._m) || !isFinite(ax._b) || ax._length < 0) {\n fullLayout._replotting = false;\n throw new Error('Something went wrong with axis scaling');\n }\n };\n\n // makeCalcdata: takes an x or y array and converts it\n // to a position on the axis object \"ax\"\n // inputs:\n // trace - a data object from gd.data\n // axLetter - a string, either 'x' or 'y', for which item\n // to convert (TODO: is this now always the same as\n // the first letter of ax._id?)\n // in case the expected data isn't there, make a list of\n // integers based on the opposite data\n ax.makeCalcdata = function(trace, axLetter) {\n var arrayIn, arrayOut, i, len;\n\n var axType = ax.type;\n var cal = axType === 'date' && trace[axLetter + 'calendar'];\n\n if(axLetter in trace) {\n arrayIn = trace[axLetter];\n len = trace._length || Lib.minRowLength(arrayIn);\n\n if(Lib.isTypedArray(arrayIn) && (axType === 'linear' || axType === 'log')) {\n if(len === arrayIn.length) {\n return arrayIn;\n } else if(arrayIn.subarray) {\n return arrayIn.subarray(0, len);\n }\n }\n\n if(axType === 'multicategory') {\n return setMultiCategoryIndex(arrayIn, len);\n }\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = ax.d2c(arrayIn[i], 0, cal);\n }\n } else {\n var v0 = ((axLetter + '0') in trace) ? ax.d2c(trace[axLetter + '0'], 0, cal) : 0;\n var dv = (trace['d' + axLetter]) ? Number(trace['d' + axLetter]) : 1;\n\n // the opposing data, for size if we have x and dx etc\n arrayIn = trace[{x: 'y', y: 'x'}[axLetter]];\n len = trace._length || arrayIn.length;\n arrayOut = new Array(len);\n\n for(i = 0; i < len; i++) {\n arrayOut[i] = v0 + i * dv;\n }\n }\n\n return arrayOut;\n };\n\n ax.isValidRange = function(range) {\n return (\n Array.isArray(range) &&\n range.length === 2 &&\n isNumeric(ax.r2l(range[0])) &&\n isNumeric(ax.r2l(range[1]))\n );\n };\n\n ax.isPtWithinRange = function(d, calendar) {\n var coord = ax.c2l(d[axLetter], null, calendar);\n var r0 = ax.r2l(ax.range[0]);\n var r1 = ax.r2l(ax.range[1]);\n\n if(r0 < r1) {\n return r0 <= coord && coord <= r1;\n } else {\n // Reversed axis case.\n return r1 <= coord && coord <= r0;\n }\n };\n\n // should skip if not category nor multicategory\n ax.clearCalc = function() {\n var emptyCategories = function() {\n ax._categories = [];\n ax._categoriesMap = {};\n };\n\n var matchGroups = fullLayout._axisMatchGroups;\n\n if(matchGroups && matchGroups.length) {\n var found = false;\n\n for(var i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n\n if(group[axId]) {\n found = true;\n var categories = null;\n var categoriesMap = null;\n\n for(var axId2 in group) {\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n if(ax2._categories) {\n categories = ax2._categories;\n categoriesMap = ax2._categoriesMap;\n break;\n }\n }\n\n if(categories && categoriesMap) {\n ax._categories = categories;\n ax._categoriesMap = categoriesMap;\n } else {\n emptyCategories();\n }\n break;\n }\n }\n if(!found) emptyCategories();\n } else {\n emptyCategories();\n }\n\n if(ax._initialCategories) {\n for(var j = 0; j < ax._initialCategories.length; j++) {\n setCategoryIndex(ax._initialCategories[j]);\n }\n }\n };\n\n // sort the axis (and all the matching ones) by _initialCategories\n // returns the indices of the traces affected by the reordering\n ax.sortByInitialCategories = function() {\n var affectedTraces = [];\n var emptyCategories = function() {\n ax._categories = [];\n ax._categoriesMap = {};\n };\n\n emptyCategories();\n\n if(ax._initialCategories) {\n for(var j = 0; j < ax._initialCategories.length; j++) {\n setCategoryIndex(ax._initialCategories[j]);\n }\n }\n\n affectedTraces = affectedTraces.concat(ax._traceIndices);\n\n // Propagate to matching axes\n var group = ax._matchGroup;\n for(var axId2 in group) {\n if(axId === axId2) continue;\n var ax2 = fullLayout[axisIds.id2name(axId2)];\n ax2._categories = ax._categories;\n ax2._categoriesMap = ax._categoriesMap;\n affectedTraces = affectedTraces.concat(ax2._traceIndices);\n }\n return affectedTraces;\n };\n\n // Propagate localization into the axis so that\n // methods in Axes can use it w/o having to pass fullLayout\n // Default (non-d3) number formatting uses separators directly\n // dates and d3-formatted numbers use the d3 locale\n // Fall back on default format for dummy axes that don't care about formatting\n var locale = fullLayout._d3locale;\n if(ax.type === 'date') {\n ax._dateFormat = locale ? locale.timeFormat.utc : d3.time.format.utc;\n ax._extraFormat = fullLayout._extraFormat;\n }\n // occasionally we need _numFormat to pass through\n // even though it won't be needed by this axis\n ax._separators = fullLayout.separators;\n ax._numFormat = locale ? locale.numberFormat : d3.format;\n\n // and for bar charts and box plots: reset forced minimum tick spacing\n delete ax._minDtick;\n delete ax._forceTick0;\n};\n\n\n/***/ }),\n\n/***/ \"1a5e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n // padding in pixels around text\n TEXTPAD: 3,\n // 'value' and 'label' are not really necessary for bar traces,\n // but they were made available to `texttemplate` (maybe by accident)\n // via tokens `%{value}` and `%{label}` starting in 1.50.0,\n // so let's include them in the event data also.\n eventDataKeys: ['value', 'label']\n};\n\n\n/***/ }),\n\n/***/ \"1a88\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/d3-path/src/path.js\nvar pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\n/* harmony default export */ var src_path = (path);\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/array.js\nvar slice = Array.prototype.slice;\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/constant.js\n/* harmony default export */ var constant = (function(x) {\n return function constant() {\n return x;\n };\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/point.js\nfunction point_x(p) {\n return p[0];\n}\n\nfunction point_y(p) {\n return p[1];\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/pointRadial.js\n/* harmony default export */ var pointRadial = (function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-shape/src/link/index.js\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return linkHorizontal; });\n/* unused harmony export linkVertical */\n/* unused harmony export linkRadial */\n\n\n\n\n\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link_link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = point_x,\n y = point_y,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = src_path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nfunction linkHorizontal() {\n return link_link(curveHorizontal);\n}\n\nfunction linkVertical() {\n return link_link(curveVertical);\n}\n\nfunction linkRadial() {\n var l = link_link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n\n\n/***/ }),\n\n/***/ \"1a94\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn) {\n\tif (typeof fn !== \"function\") throw new TypeError(fn + \" is not a function\");\n\treturn fn;\n};\n\n\n/***/ }),\n\n/***/ \"1aea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar setCursor = __webpack_require__(\"0f37\");\n\nvar makeDragBox = __webpack_require__(\"9676\").makeDragBox;\nvar DRAGGERSIZE = __webpack_require__(\"d301\").DRAGGERSIZE;\n\nexports.initInteractions = function initInteractions(gd) {\n var fullLayout = gd._fullLayout;\n\n if(gd._context.staticPlot) {\n // this sweeps up more than just cartesian drag elements...\n d3.select(gd).selectAll('.drag').remove();\n return;\n }\n\n if(!fullLayout._has('cartesian') && !fullLayout._has('splom')) return;\n\n var subplots = Object.keys(fullLayout._plots || {}).sort(function(a, b) {\n // sort overlays last, then by x axis number, then y axis number\n if((fullLayout._plots[a].mainplot && true) ===\n (fullLayout._plots[b].mainplot && true)) {\n var aParts = a.split('y');\n var bParts = b.split('y');\n return (aParts[0] === bParts[0]) ?\n (Number(aParts[1] || 1) - Number(bParts[1] || 1)) :\n (Number(aParts[0] || 1) - Number(bParts[0] || 1));\n }\n return fullLayout._plots[a].mainplot ? 1 : -1;\n });\n\n subplots.forEach(function(subplot) {\n var plotinfo = fullLayout._plots[subplot];\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n // main and corner draggers need not be repeated for\n // overlaid subplots - these draggers drag them all\n if(!plotinfo.mainplot) {\n // main dragger goes over the grids and data, so we use its\n // mousemove events for all data hover effects\n var maindrag = makeDragBox(gd, plotinfo, xa._offset, ya._offset,\n xa._length, ya._length, 'ns', 'ew');\n\n maindrag.onmousemove = function(evt) {\n // This is on `gd._fullLayout`, *not* fullLayout because the reference\n // changes by the time this is called again.\n gd._fullLayout._rehover = function() {\n if((gd._fullLayout._hoversubplot === subplot) && gd._fullLayout._plots[subplot]) {\n Fx.hover(gd, evt, subplot);\n }\n };\n\n Fx.hover(gd, evt, subplot);\n\n // Note that we have *not* used the cached fullLayout variable here\n // since that may be outdated when this is called as a callback later on\n gd._fullLayout._lasthover = maindrag;\n gd._fullLayout._hoversubplot = subplot;\n };\n\n /*\n * IMPORTANT:\n * We must check for the presence of the drag cover here.\n * If we don't, a 'mouseout' event is triggered on the\n * maindrag before each 'click' event, which has the effect\n * of clearing the hoverdata; thus, cancelling the click event.\n */\n maindrag.onmouseout = function(evt) {\n if(gd._dragging) return;\n\n // When the mouse leaves this maindrag, unset the hovered subplot.\n // This may cause problems if it leaves the subplot directly *onto*\n // another subplot, but that's a tiny corner case at the moment.\n gd._fullLayout._hoversubplot = null;\n\n dragElement.unhover(gd, evt);\n };\n\n // corner draggers\n if(gd._context.showAxisDragHandles) {\n makeDragBox(gd, plotinfo, xa._offset - DRAGGERSIZE, ya._offset - DRAGGERSIZE,\n DRAGGERSIZE, DRAGGERSIZE, 'n', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length, ya._offset - DRAGGERSIZE,\n DRAGGERSIZE, DRAGGERSIZE, 'n', 'e');\n makeDragBox(gd, plotinfo, xa._offset - DRAGGERSIZE, ya._offset + ya._length,\n DRAGGERSIZE, DRAGGERSIZE, 's', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length, ya._offset + ya._length,\n DRAGGERSIZE, DRAGGERSIZE, 's', 'e');\n }\n }\n if(gd._context.showAxisDragHandles) {\n // x axis draggers - if you have overlaid plots,\n // these drag each axis separately\n if(subplot === xa._mainSubplot) {\n // the y position of the main x axis line\n var y0 = xa._mainLinePosition;\n if(xa.side === 'top') y0 -= DRAGGERSIZE;\n makeDragBox(gd, plotinfo, xa._offset + xa._length * 0.1, y0,\n xa._length * 0.8, DRAGGERSIZE, '', 'ew');\n makeDragBox(gd, plotinfo, xa._offset, y0,\n xa._length * 0.1, DRAGGERSIZE, '', 'w');\n makeDragBox(gd, plotinfo, xa._offset + xa._length * 0.9, y0,\n xa._length * 0.1, DRAGGERSIZE, '', 'e');\n }\n // y axis draggers\n if(subplot === ya._mainSubplot) {\n // the x position of the main y axis line\n var x0 = ya._mainLinePosition;\n if(ya.side !== 'right') x0 -= DRAGGERSIZE;\n makeDragBox(gd, plotinfo, x0, ya._offset + ya._length * 0.1,\n DRAGGERSIZE, ya._length * 0.8, 'ns', '');\n makeDragBox(gd, plotinfo, x0, ya._offset + ya._length * 0.9,\n DRAGGERSIZE, ya._length * 0.1, 's', '');\n makeDragBox(gd, plotinfo, x0, ya._offset,\n DRAGGERSIZE, ya._length * 0.1, 'n', '');\n }\n }\n });\n\n // In case you mousemove over some hovertext, send it to Fx.hover too\n // we do this so that we can put the hover text in front of everything,\n // but still be able to interact with everything as if it isn't there\n var hoverLayer = fullLayout._hoverlayer.node();\n\n hoverLayer.onmousemove = function(evt) {\n evt.target = gd._fullLayout._lasthover;\n Fx.hover(gd, evt, fullLayout._hoversubplot);\n };\n\n hoverLayer.onclick = function(evt) {\n evt.target = gd._fullLayout._lasthover;\n Fx.click(gd, evt);\n };\n\n // also delegate mousedowns... TODO: does this actually work?\n hoverLayer.onmousedown = function(evt) {\n gd._fullLayout._lasthover.onmousedown(evt);\n };\n\n exports.updateFx(gd);\n};\n\n// Minimal set of update needed on 'modebar' edits.\n// We only need to update the cursor style.\n//\n// Note that changing the axis configuration and/or the fixedrange attribute\n// should trigger a full initInteractions.\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var cursor = fullLayout.dragmode === 'pan' ? 'move' : 'crosshair';\n setCursor(fullLayout._draggers, cursor);\n};\n\n\n/***/ }),\n\n/***/ \"1b06\":\n/***/ (function(module, exports) {\n\nmodule.exports = lerp;\n\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec3} out\n */\nfunction lerp(out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2]\n out[0] = ax + t * (b[0] - ax)\n out[1] = ay + t * (b[1] - ay)\n out[2] = az + t * (b[2] - az)\n return out\n}\n\n/***/ }),\n\n/***/ \"1b6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function clean2dArray(zOld, trace, xa, ya) {\n var rowlen, collen, getCollen, old2new, i, j;\n\n function cleanZvalue(v) {\n if(!isNumeric(v)) return undefined;\n return +v;\n }\n\n if(trace && trace.transpose) {\n rowlen = 0;\n for(i = 0; i < zOld.length; i++) rowlen = Math.max(rowlen, zOld[i].length);\n if(rowlen === 0) return false;\n getCollen = function(zOld) { return zOld.length; };\n old2new = function(zOld, i, j) { return (zOld[j] || [])[i]; };\n } else {\n rowlen = zOld.length;\n getCollen = function(zOld, i) { return zOld[i].length; };\n old2new = function(zOld, i, j) { return (zOld[i] || [])[j]; };\n }\n\n var padOld2new = function(zOld, i, j) {\n if(i === BADNUM || j === BADNUM) return BADNUM;\n return old2new(zOld, i, j);\n };\n\n function axisMapping(ax) {\n if(trace && trace.type !== 'carpet' && trace.type !== 'contourcarpet' &&\n ax && ax.type === 'category' && trace['_' + ax._id.charAt(0)].length) {\n var axLetter = ax._id.charAt(0);\n var axMapping = {};\n var traceCategories = trace['_' + axLetter + 'CategoryMap'] || trace[axLetter];\n for(i = 0; i < traceCategories.length; i++) {\n axMapping[traceCategories[i]] = i;\n }\n return function(i) {\n var ind = axMapping[ax._categories[i]];\n return ind + 1 ? ind : BADNUM;\n };\n } else {\n return Lib.identity;\n }\n }\n\n var xMap = axisMapping(xa);\n var yMap = axisMapping(ya);\n\n if(ya && ya.type === 'category') rowlen = ya._categories.length;\n var zNew = new Array(rowlen);\n\n for(i = 0; i < rowlen; i++) {\n if(xa && xa.type === 'category') {\n collen = xa._categories.length;\n } else {\n collen = getCollen(zOld, i);\n }\n zNew[i] = new Array(collen);\n for(j = 0; j < collen; j++) zNew[i][j] = cleanZvalue(padOld2new(zOld, yMap(i), xMap(j)));\n }\n\n return zNew;\n};\n\n\n/***/ }),\n\n/***/ \"1b88\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar loggers = __webpack_require__(\"ae13\");\n\n/**\n * Allow referencing a graph DOM element either directly\n * or by its id string\n *\n * @param {HTMLDivElement|string} gd: a graph element or its id\n *\n * @returns {HTMLDivElement} the DOM element of the graph\n */\nfunction getGraphDiv(gd) {\n var gdElement;\n\n if(typeof gd === 'string') {\n gdElement = document.getElementById(gd);\n\n if(gdElement === null) {\n throw new Error('No DOM element with id \\'' + gd + '\\' exists on the page.');\n }\n\n return gdElement;\n } else if(gd === null || gd === undefined) {\n throw new Error('DOM element provided is null or undefined');\n }\n\n // otherwise assume that gd is a DOM element\n return gd;\n}\n\nfunction isPlotDiv(el) {\n var el3 = d3.select(el);\n return el3.node() instanceof HTMLElement &&\n el3.size() &&\n el3.classed('js-plotly-plot');\n}\n\nfunction removeElement(el) {\n var elParent = el && el.parentNode;\n if(elParent) elParent.removeChild(el);\n}\n\n/**\n * for dynamically adding style rules\n * makes one stylesheet that contains all rules added\n * by all calls to this function\n */\nfunction addStyleRule(selector, styleString) {\n addRelatedStyleRule('global', selector, styleString);\n}\n\n/**\n * for dynamically adding style rules\n * to a stylesheet uniquely identified by a uid\n */\nfunction addRelatedStyleRule(uid, selector, styleString) {\n var id = 'plotly.js-style-' + uid;\n var style = document.getElementById(id);\n if(!style) {\n style = document.createElement('style');\n style.setAttribute('id', id);\n // WebKit hack :(\n style.appendChild(document.createTextNode(''));\n document.head.appendChild(style);\n }\n var styleSheet = style.sheet;\n\n if(styleSheet.insertRule) {\n styleSheet.insertRule(selector + '{' + styleString + '}', 0);\n } else if(styleSheet.addRule) {\n styleSheet.addRule(selector, styleString, 0);\n } else loggers.warn('addStyleRule failed');\n}\n\n/**\n * to remove from the page a stylesheet identified by a given uid\n */\nfunction deleteRelatedStyleRule(uid) {\n var id = 'plotly.js-style-' + uid;\n var style = document.getElementById(id);\n if(style) removeElement(style);\n}\n\nmodule.exports = {\n getGraphDiv: getGraphDiv,\n isPlotDiv: isPlotDiv,\n removeElement: removeElement,\n addStyleRule: addStyleRule,\n addRelatedStyleRule: addRelatedStyleRule,\n deleteRelatedStyleRule: deleteRelatedStyleRule\n};\n\n\n/***/ }),\n\n/***/ \"1bbd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Thai calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) February 2010.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\nvar gregorianCalendar = main.instance();\n\n/** Implementation of the Thai calendar.\n See http://en.wikipedia.org/wiki/Thai_calendar.\n @class ThaiCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction ThaiCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nThaiCalendar.prototype = new main.baseCalendar;\n\nassign(ThaiCalendar.prototype, {\n /** The calendar name.\n @memberof ThaiCalendar */\n name: 'Thai',\n /** Julian date of start of Thai epoch: 1 January 543 BCE (Gregorian).\n @memberof ThaiCalendar */\n jdEpoch: 1523098.5,\n /** Difference in years between Thai and Gregorian calendars.\n @memberof ThaiCalendar */\n yearsOffset: 543, \n /** Days per month in a common year.\n @memberof ThaiCalendar */\n daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n /** true if has a year zero, false if not.\n @memberof ThaiCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof ThaiCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof ThaiCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof ThaiCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof ThaiCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Thai',\n epochs: ['BBE', 'BE'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n digits: null,\n dateFormat: 'dd/mm/yyyy',\n firstDay: 0,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.leapYear(year);\n },\n\n /** Determine the week of the year for a date - ISO 8601.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.weekOfYear(year, date.month(), date.day());\n },\n\n /** Retrieve the number of days in a month.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 2 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return (this.dayOfWeek(year, month, day) || 7) < 6;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof ThaiCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var year = this._t2gYear(date.year());\n return gregorianCalendar.toJD(year, date.month(), date.day());\n },\n\n /** Create a new date from a Julian date.\n @memberof ThaiCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n var date = gregorianCalendar.fromJD(jd);\n var year = this._g2tYear(date.year());\n return this.newDate(year, date.month(), date.day());\n },\n\n /** Convert Thai to Gregorian year.\n @memberof ThaiCalendar\n @private\n @param year {number} The Thai year.\n @return {number} The corresponding Gregorian year. */\n _t2gYear: function(year) {\n return year - this.yearsOffset - (year >= 1 && year <= this.yearsOffset ? 1 : 0);\n },\n\n /** Convert Gregorian to Thai year.\n @memberof ThaiCalendar\n @private\n @param year {number} The Gregorian year.\n @return {number} The corresponding Thai year. */\n _g2tYear: function(year) {\n return year + this.yearsOffset + (year >= -this.yearsOffset && year <= -1 ? 1 : 0);\n }\n});\n\n// Thai calendar implementation\nmain.calendars.thai = ThaiCalendar;\n\n\n\n/***/ }),\n\n/***/ \"1bbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Icons = __webpack_require__(\"7559\");\nvar Parser = new DOMParser();\n\n/**\n * UI controller for interactive plots\n * @Class\n * @Param {object} opts\n * @Param {object} opts.buttons nested arrays of grouped buttons config objects\n * @Param {object} opts.container container div to append modeBar\n * @Param {object} opts.graphInfo primary plot object containing data and layout\n */\nfunction ModeBar(opts) {\n this.container = opts.container;\n this.element = document.createElement('div');\n\n this.update(opts.graphInfo, opts.buttons);\n\n this.container.appendChild(this.element);\n}\n\nvar proto = ModeBar.prototype;\n\n/**\n * Update modeBar (buttons and logo)\n *\n * @param {object} graphInfo primary plot object containing data and layout\n * @param {array of arrays} buttons nested arrays of grouped buttons to initialize\n *\n */\nproto.update = function(graphInfo, buttons) {\n this.graphInfo = graphInfo;\n\n var context = this.graphInfo._context;\n var fullLayout = this.graphInfo._fullLayout;\n var modeBarId = 'modebar-' + fullLayout._uid;\n\n this.element.setAttribute('id', modeBarId);\n this._uid = modeBarId;\n\n this.element.className = 'modebar';\n if(context.displayModeBar === 'hover') this.element.className += ' modebar--hover ease-bg';\n\n if(fullLayout.modebar.orientation === 'v') {\n this.element.className += ' vertical';\n buttons = buttons.reverse();\n }\n\n var style = fullLayout.modebar;\n var bgSelector = context.displayModeBar === 'hover' ? '.js-plotly-plot .plotly:hover ' : '';\n\n Lib.deleteRelatedStyleRule(modeBarId);\n Lib.addRelatedStyleRule(modeBarId, bgSelector + '#' + modeBarId + ' .modebar-group', 'background-color: ' + style.bgcolor);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn .icon path', 'fill: ' + style.color);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn:hover .icon path', 'fill: ' + style.activecolor);\n Lib.addRelatedStyleRule(modeBarId, '#' + modeBarId + ' .modebar-btn.active .icon path', 'fill: ' + style.activecolor);\n\n // if buttons or logo have changed, redraw modebar interior\n var needsNewButtons = !this.hasButtons(buttons);\n var needsNewLogo = (this.hasLogo !== context.displaylogo);\n var needsNewLocale = (this.locale !== context.locale);\n\n this.locale = context.locale;\n\n if(needsNewButtons || needsNewLogo || needsNewLocale) {\n this.removeAllButtons();\n\n this.updateButtons(buttons);\n\n if(context.watermark || context.displaylogo) {\n var logoGroup = this.getLogo();\n if(context.watermark) {\n logoGroup.className = logoGroup.className + ' watermark';\n }\n\n if(fullLayout.modebar.orientation === 'v') {\n this.element.insertBefore(logoGroup, this.element.childNodes[0]);\n } else {\n this.element.appendChild(logoGroup);\n }\n\n this.hasLogo = true;\n }\n }\n\n this.updateActiveButton();\n};\n\nproto.updateButtons = function(buttons) {\n var _this = this;\n\n this.buttons = buttons;\n this.buttonElements = [];\n this.buttonsNames = [];\n\n this.buttons.forEach(function(buttonGroup) {\n var group = _this.createGroup();\n\n buttonGroup.forEach(function(buttonConfig) {\n var buttonName = buttonConfig.name;\n if(!buttonName) {\n throw new Error('must provide button \\'name\\' in button config');\n }\n if(_this.buttonsNames.indexOf(buttonName) !== -1) {\n throw new Error('button name \\'' + buttonName + '\\' is taken');\n }\n _this.buttonsNames.push(buttonName);\n\n var button = _this.createButton(buttonConfig);\n _this.buttonElements.push(button);\n group.appendChild(button);\n });\n\n _this.element.appendChild(group);\n });\n};\n\n/**\n * Empty div for containing a group of buttons\n * @Return {HTMLelement}\n */\nproto.createGroup = function() {\n var group = document.createElement('div');\n group.className = 'modebar-group';\n return group;\n};\n\n/**\n * Create a new button div and set constant and configurable attributes\n * @Param {object} config (see ./buttons.js for more info)\n * @Return {HTMLelement}\n */\nproto.createButton = function(config) {\n var _this = this;\n var button = document.createElement('a');\n\n button.setAttribute('rel', 'tooltip');\n button.className = 'modebar-btn';\n\n var title = config.title;\n if(title === undefined) title = config.name;\n // for localization: allow title to be a callable that takes gd as arg\n else if(typeof title === 'function') title = title(this.graphInfo);\n\n if(title || title === 0) button.setAttribute('data-title', title);\n\n if(config.attr !== undefined) button.setAttribute('data-attr', config.attr);\n\n var val = config.val;\n if(val !== undefined) {\n if(typeof val === 'function') val = val(this.graphInfo);\n button.setAttribute('data-val', val);\n }\n\n var click = config.click;\n if(typeof click !== 'function') {\n throw new Error('must provide button \\'click\\' function in button config');\n } else {\n button.addEventListener('click', function(ev) {\n config.click(_this.graphInfo, ev);\n\n // only needed for 'hoverClosestGeo' which does not call relayout\n _this.updateActiveButton(ev.currentTarget);\n });\n }\n\n button.setAttribute('data-toggle', config.toggle || false);\n if(config.toggle) d3.select(button).classed('active', true);\n\n var icon = config.icon;\n if(typeof icon === 'function') {\n button.appendChild(icon());\n } else {\n button.appendChild(this.createIcon(icon || Icons.question));\n }\n button.setAttribute('data-gravity', config.gravity || 'n');\n\n return button;\n};\n\n/**\n * Add an icon to a button\n * @Param {object} thisIcon\n * @Param {number} thisIcon.width\n * @Param {string} thisIcon.path\n * @Param {string} thisIcon.color\n * @Return {HTMLelement}\n */\nproto.createIcon = function(thisIcon) {\n var iconHeight = isNumeric(thisIcon.height) ?\n Number(thisIcon.height) :\n thisIcon.ascent - thisIcon.descent;\n var svgNS = 'http://www.w3.org/2000/svg';\n var icon;\n\n if(thisIcon.path) {\n icon = document.createElementNS(svgNS, 'svg');\n icon.setAttribute('viewBox', [0, 0, thisIcon.width, iconHeight].join(' '));\n icon.setAttribute('class', 'icon');\n\n var path = document.createElementNS(svgNS, 'path');\n path.setAttribute('d', thisIcon.path);\n\n if(thisIcon.transform) {\n path.setAttribute('transform', thisIcon.transform);\n } else if(thisIcon.ascent !== undefined) {\n // Legacy icon transform calculation\n path.setAttribute('transform', 'matrix(1 0 0 -1 0 ' + thisIcon.ascent + ')');\n }\n\n icon.appendChild(path);\n }\n\n if(thisIcon.svg) {\n var svgDoc = Parser.parseFromString(thisIcon.svg, 'application/xml');\n icon = svgDoc.childNodes[0];\n }\n\n icon.setAttribute('height', '1em');\n icon.setAttribute('width', '1em');\n\n return icon;\n};\n\n/**\n * Updates active button with attribute specified in layout\n * @Param {object} graphInfo plot object containing data and layout\n * @Return {HTMLelement}\n */\nproto.updateActiveButton = function(buttonClicked) {\n var fullLayout = this.graphInfo._fullLayout;\n var dataAttrClicked = (buttonClicked !== undefined) ?\n buttonClicked.getAttribute('data-attr') :\n null;\n\n this.buttonElements.forEach(function(button) {\n var thisval = button.getAttribute('data-val') || true;\n var dataAttr = button.getAttribute('data-attr');\n var isToggleButton = (button.getAttribute('data-toggle') === 'true');\n var button3 = d3.select(button);\n\n // Use 'data-toggle' and 'buttonClicked' to toggle buttons\n // that have no one-to-one equivalent in fullLayout\n if(isToggleButton) {\n if(dataAttr === dataAttrClicked) {\n button3.classed('active', !button3.classed('active'));\n }\n } else {\n var val = (dataAttr === null) ?\n dataAttr :\n Lib.nestedProperty(fullLayout, dataAttr).get();\n\n button3.classed('active', val === thisval);\n }\n });\n};\n\n/**\n * Check if modeBar is configured as button configuration argument\n *\n * @Param {object} buttons 2d array of grouped button config objects\n * @Return {boolean}\n */\nproto.hasButtons = function(buttons) {\n var currentButtons = this.buttons;\n\n if(!currentButtons) return false;\n\n if(buttons.length !== currentButtons.length) return false;\n\n for(var i = 0; i < buttons.length; ++i) {\n if(buttons[i].length !== currentButtons[i].length) return false;\n for(var j = 0; j < buttons[i].length; j++) {\n if(buttons[i][j].name !== currentButtons[i][j].name) return false;\n }\n }\n\n return true;\n};\n\n/**\n * @return {HTMLDivElement} The logo image wrapped in a group\n */\nproto.getLogo = function() {\n var group = this.createGroup();\n var a = document.createElement('a');\n\n a.href = 'https://plot.ly/';\n a.target = '_blank';\n a.setAttribute('data-title', Lib._(this.graphInfo, 'Produced with Plotly'));\n a.className = 'modebar-btn plotlyjsicon modebar-btn--logo';\n\n a.appendChild(this.createIcon(Icons.newplotlylogo));\n\n group.appendChild(a);\n return group;\n};\n\nproto.removeAllButtons = function() {\n while(this.element.firstChild) {\n this.element.removeChild(this.element.firstChild);\n }\n\n this.hasLogo = false;\n};\n\nproto.destroy = function() {\n Lib.removeElement(this.container.querySelector('.modebar'));\n Lib.deleteRelatedStyleRule(this._uid);\n};\n\nfunction createModeBar(gd, buttons) {\n var fullLayout = gd._fullLayout;\n\n var modeBar = new ModeBar({\n graphInfo: gd,\n container: fullLayout._modebardiv.node(),\n buttons: buttons\n });\n\n if(fullLayout._privateplot) {\n d3.select(modeBar.element).append('span')\n .classed('badge-private float--left', true)\n .text('PRIVATE');\n }\n\n return modeBar;\n}\n\nmodule.exports = createModeBar;\n\n\n/***/ }),\n\n/***/ \"1be4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n\n/***/ }),\n\n/***/ \"1bea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * RGB space.\n *\n * @module color-space/rgb\n */\n\n\nmodule.exports = {\n\tname: 'rgb',\n\tmin: [0,0,0],\n\tmax: [255,255,255],\n\tchannel: ['red', 'green', 'blue'],\n\talias: ['RGB']\n};\n\n\n/***/ }),\n\n/***/ \"1bef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar subtypes = __webpack_require__(\"de81\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n var trace = cd[0].trace;\n var i;\n\n if(!subtypes.hasMarkers(trace)) return [];\n\n if(selectionTester === false) {\n for(i = 0; i < cd.length; i++) {\n cd[i].selected = 0;\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n var di = cd[i];\n var lonlat = di.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n var lonlat2 = [Lib.modHalf(lonlat[0], 360), lonlat[1]];\n var xy = [xa.c2p(lonlat2), ya.c2p(lonlat2)];\n\n if(selectionTester.contains(xy, null, i, searchInfo)) {\n selection.push({\n pointNumber: i,\n lon: lonlat[0],\n lat: lonlat[1]\n });\n di.selected = 1;\n } else {\n di.selected = 0;\n }\n }\n }\n }\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"1c0b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"1c0b8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attrs = __webpack_require__(\"8f38\");\nvar oppAxisAttrs = __webpack_require__(\"5844\");\nvar helpers = __webpack_require__(\"4c66\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'rangeslider',\n\n schema: {\n subplots: {\n xaxis: {\n rangeslider: Lib.extendFlat({}, attrs, {\n yaxis: oppAxisAttrs\n })\n }\n }\n },\n\n layoutAttributes: __webpack_require__(\"8f38\"),\n handleDefaults: __webpack_require__(\"6b10\"),\n calcAutorange: __webpack_require__(\"4cd2\"),\n draw: __webpack_require__(\"8b1d\"),\n isVisible: helpers.isVisible,\n makeData: helpers.makeData,\n autoMarginOpts: helpers.autoMarginOpts\n};\n\n\n/***/ }),\n\n/***/ \"1c1a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\")\n , setPrototypeOf = __webpack_require__(\"e0f6\")\n , object = __webpack_require__(\"68e6\")\n , ensureValue = __webpack_require__(\"96ae\")\n , randomUniq = __webpack_require__(\"6599\")\n , d = __webpack_require__(\"f508\")\n , getIterator = __webpack_require__(\"8a50\")\n , forOf = __webpack_require__(\"c351\")\n , toStringTagSymbol = __webpack_require__(\"1c4a\").toStringTag\n , isNative = __webpack_require__(\"7d72\")\n\n , isArray = Array.isArray, defineProperty = Object.defineProperty\n , objHasOwnProperty = Object.prototype.hasOwnProperty, getPrototypeOf = Object.getPrototypeOf\n , WeakMapPoly;\n\nmodule.exports = WeakMapPoly = function (/* Iterable*/) {\n\tvar iterable = arguments[0], self;\n\n\tif (!(this instanceof WeakMapPoly)) throw new TypeError(\"Constructor requires 'new'\");\n\tself = isNative && setPrototypeOf && (WeakMap !== WeakMapPoly)\n\t\t? setPrototypeOf(new WeakMap(), getPrototypeOf(this)) : this;\n\n\tif (isValue(iterable)) {\n\t\tif (!isArray(iterable)) iterable = getIterator(iterable);\n\t}\n\tdefineProperty(self, \"__weakMapData__\", d(\"c\", \"$weakMap$\" + randomUniq()));\n\tif (!iterable) return self;\n\tforOf(iterable, function (val) {\n\t\tensureValue(val);\n\t\tself.set(val[0], val[1]);\n\t});\n\treturn self;\n};\n\nif (isNative) {\n\tif (setPrototypeOf) setPrototypeOf(WeakMapPoly, WeakMap);\n\tWeakMapPoly.prototype = Object.create(WeakMap.prototype, { constructor: d(WeakMapPoly) });\n}\n\nObject.defineProperties(WeakMapPoly.prototype, {\n\tdelete: d(function (key) {\n\t\tif (objHasOwnProperty.call(object(key), this.__weakMapData__)) {\n\t\t\tdelete key[this.__weakMapData__];\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}),\n\tget: d(function (key) {\n\t\tif (!objHasOwnProperty.call(object(key), this.__weakMapData__)) return undefined;\n\t\treturn key[this.__weakMapData__];\n\t}),\n\thas: d(function (key) {\n\t\treturn objHasOwnProperty.call(object(key), this.__weakMapData__);\n\t}),\n\tset: d(function (key, value) {\n\t\tdefineProperty(object(key), this.__weakMapData__, d(\"c\", value));\n\t\treturn this;\n\t}),\n\ttoString: d(function () {\n\t\treturn \"[object WeakMap]\";\n\t})\n});\ndefineProperty(WeakMapPoly.prototype, toStringTagSymbol, d(\"c\", \"WeakMap\"));\n\n\n/***/ }),\n\n/***/ \"1c1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar handleXYDefaults = __webpack_require__(\"076f\");\nvar handleStyleDefaults = __webpack_require__(\"9103\");\nvar getAxisGroup = __webpack_require__(\"3c1c\").getAxisGroup;\nvar attributes = __webpack_require__(\"fb5a\");\n\nvar coerceFont = Lib.coerceFont;\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleXYDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('orientation', (traceOut.x && !traceOut.y) ? 'h' : 'v');\n coerce('base');\n coerce('offset');\n coerce('width');\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n var textposition = coerce('textposition');\n handleText(traceIn, traceOut, layout, coerce, textposition, {\n moduleHasSelected: true,\n moduleHasUnselected: true,\n moduleHasConstrain: true,\n moduleHasCliponaxis: true,\n moduleHasTextangle: true,\n moduleHasInsideanchor: true\n });\n\n handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout);\n\n var lineColor = (traceOut.marker.line || {}).color;\n\n // override defaultColor for error bars with defaultLine\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || Color.defaultLine, {axis: 'x', inherit: 'y'});\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n}\n\nfunction handleGroupingDefaults(traceIn, traceOut, fullLayout, coerce) {\n var orientation = traceOut.orientation;\n // N.B. grouping is done across all trace types that support it\n var posAxId = traceOut[{v: 'x', h: 'y'}[orientation] + 'axis'];\n var groupId = getAxisGroup(fullLayout, posAxId) + orientation;\n\n var alignmentOpts = fullLayout._alignmentOpts || {};\n var alignmentgroup = coerce('alignmentgroup');\n\n var alignmentGroups = alignmentOpts[groupId];\n if(!alignmentGroups) alignmentGroups = alignmentOpts[groupId] = {};\n\n var alignmentGroupOpts = alignmentGroups[alignmentgroup];\n\n if(alignmentGroupOpts) {\n alignmentGroupOpts.traces.push(traceOut);\n } else {\n alignmentGroupOpts = alignmentGroups[alignmentgroup] = {\n traces: [traceOut],\n alignmentIndex: Object.keys(alignmentGroups).length,\n offsetGroups: {}\n };\n }\n\n var offsetgroup = coerce('offsetgroup');\n var offsetGroups = alignmentGroupOpts.offsetGroups;\n var offsetGroupOpts = offsetGroups[offsetgroup];\n\n if(offsetgroup) {\n if(!offsetGroupOpts) {\n offsetGroupOpts = offsetGroups[offsetgroup] = {\n offsetIndex: Object.keys(offsetGroups).length\n };\n }\n\n traceOut._offsetIndex = offsetGroupOpts.offsetIndex;\n }\n}\n\nfunction crossTraceDefaults(fullData, fullLayout) {\n var traceIn, traceOut;\n\n function coerce(attr) {\n return Lib.coerce(traceOut._input, traceOut, attributes, attr);\n }\n\n if(fullLayout.barmode === 'group') {\n for(var i = 0; i < fullData.length; i++) {\n traceOut = fullData[i];\n\n if(traceOut.type === 'bar') {\n traceIn = traceOut._input;\n handleGroupingDefaults(traceIn, traceOut, fullLayout, coerce);\n }\n }\n }\n}\n\nfunction handleText(traceIn, traceOut, layout, coerce, textposition, opts) {\n opts = opts || {};\n var moduleHasSelected = !(opts.moduleHasSelected === false);\n var moduleHasUnselected = !(opts.moduleHasUnselected === false);\n var moduleHasConstrain = !(opts.moduleHasConstrain === false);\n var moduleHasCliponaxis = !(opts.moduleHasCliponaxis === false);\n var moduleHasTextangle = !(opts.moduleHasTextangle === false);\n var moduleHasInsideanchor = !(opts.moduleHasInsideanchor === false);\n var hasPathbar = !!opts.hasPathbar;\n\n var hasBoth = Array.isArray(textposition) || textposition === 'auto';\n var hasInside = hasBoth || textposition === 'inside';\n var hasOutside = hasBoth || textposition === 'outside';\n\n if(hasInside || hasOutside) {\n var dfltFont = coerceFont(coerce, 'textfont', layout.font);\n\n // Note that coercing `insidetextfont` is always needed –\n // even if `textposition` is `outside` for each trace – since\n // an outside label can become an inside one, for example because\n // of a bar being stacked on top of it.\n var insideTextFontDefault = Lib.extendFlat({}, dfltFont);\n var isTraceTextfontColorSet = traceIn.textfont && traceIn.textfont.color;\n var isColorInheritedFromLayoutFont = !isTraceTextfontColorSet;\n if(isColorInheritedFromLayoutFont) {\n delete insideTextFontDefault.color;\n }\n coerceFont(coerce, 'insidetextfont', insideTextFontDefault);\n\n if(hasPathbar) {\n var pathbarTextFontDefault = Lib.extendFlat({}, dfltFont);\n if(isColorInheritedFromLayoutFont) {\n delete pathbarTextFontDefault.color;\n }\n coerceFont(coerce, 'pathbar.textfont', pathbarTextFontDefault);\n }\n\n if(hasOutside) coerceFont(coerce, 'outsidetextfont', dfltFont);\n\n if(moduleHasSelected) coerce('selected.textfont.color');\n if(moduleHasUnselected) coerce('unselected.textfont.color');\n if(moduleHasConstrain) coerce('constraintext');\n if(moduleHasCliponaxis) coerce('cliponaxis');\n if(moduleHasTextangle) coerce('textangle');\n\n coerce('texttemplate');\n }\n\n if(hasInside) {\n if(moduleHasInsideanchor) coerce('insidetextanchor');\n }\n}\n\nmodule.exports = {\n supplyDefaults: supplyDefaults,\n crossTraceDefaults: crossTraceDefaults,\n handleGroupingDefaults: handleGroupingDefaults,\n handleText: handleText\n};\n\n\n/***/ }),\n\n/***/ \"1c4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"ba61\")()\n\t? __webpack_require__(\"7c4a\").Symbol\n\t: __webpack_require__(\"94ee\");\n\n\n/***/ }),\n\n/***/ \"1c4d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar sizes = __webpack_require__(\"fde6\")\r\n\r\nmodule.exports = {\r\n\tisSize: function isSize(value) {\r\n\t\treturn /^[\\d\\.]/.test(value)\r\n\t\t\t|| value.indexOf('/') !== -1\r\n\t\t\t|| sizes.indexOf(value) !== -1\r\n\t}\r\n}\r\n\n\n/***/ }),\n\n/***/ \"1c82\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar extendDeep = __webpack_require__(\"9092\").extendDeep;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar axesAttrs = __webpack_require__(\"d798\");\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\nvar delta = __webpack_require__(\"b8ce\");\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar textFontAttrs = fontAttrs({\n editType: 'plot',\n colorEditType: 'plot'\n});\n\nvar gaugeBarAttrs = {\n color: {\n valType: 'color',\n editType: 'plot',\n \n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n editType: 'plot',\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n editType: 'plot',\n \n },\n editType: 'calc'\n },\n thickness: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n editType: 'plot',\n \n },\n editType: 'calc'\n};\n\nvar rangeAttr = {\n valType: 'info_array',\n \n items: [\n {valType: 'number', editType: 'plot'},\n {valType: 'number', editType: 'plot'}\n ],\n editType: 'plot',\n \n};\n\nvar stepsAttrs = templatedArray('step', extendDeep({}, gaugeBarAttrs, {\n range: rangeAttr\n}));\n\nmodule.exports = {\n mode: {\n valType: 'flaglist',\n editType: 'calc',\n \n flags: ['number', 'delta', 'gauge'],\n dflt: 'number',\n \n },\n value: {\n valType: 'number',\n editType: 'calc',\n \n anim: true,\n \n },\n align: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n \n editType: 'plot',\n \n },\n // position\n domain: domainAttrs({name: 'indicator', trace: true, editType: 'calc'}),\n\n title: {\n text: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n align: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n \n editType: 'plot',\n \n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n editType: 'plot'\n },\n number: {\n valueformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n prefix: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n suffix: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n editType: 'plot'\n },\n delta: {\n reference: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n position: {\n valType: 'enumerated',\n values: ['top', 'bottom', 'left', 'right'],\n \n dflt: 'bottom',\n editType: 'plot',\n \n },\n relative: {\n valType: 'boolean',\n editType: 'plot',\n \n dflt: false,\n \n },\n valueformat: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n increasing: {\n symbol: {\n valType: 'string',\n \n dflt: delta.INCREASING.SYMBOL,\n editType: 'plot',\n \n },\n color: {\n valType: 'color',\n \n dflt: delta.INCREASING.COLOR,\n editType: 'plot',\n \n },\n // TODO: add attribute to show sign\n editType: 'plot'\n },\n decreasing: {\n symbol: {\n valType: 'string',\n \n dflt: delta.DECREASING.SYMBOL,\n editType: 'plot',\n \n },\n color: {\n valType: 'color',\n \n dflt: delta.DECREASING.COLOR,\n editType: 'plot',\n \n },\n // TODO: add attribute to hide sign\n editType: 'plot'\n },\n font: extendFlat({}, textFontAttrs, {\n \n }),\n editType: 'calc'\n },\n gauge: {\n shape: {\n valType: 'enumerated',\n editType: 'plot',\n \n dflt: 'angular',\n values: ['angular', 'bullet'],\n \n },\n bar: extendDeep({}, gaugeBarAttrs, {\n color: {dflt: 'green'},\n \n }),\n // Background of the gauge\n bgcolor: {\n valType: 'color',\n \n editType: 'plot',\n \n },\n bordercolor: {\n valType: 'color',\n dflt: colorAttrs.defaultLine,\n \n editType: 'plot',\n \n },\n borderwidth: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n editType: 'plot',\n \n },\n axis: overrideAll({\n range: rangeAttr,\n visible: extendFlat({}, axesAttrs.visible, {\n dflt: true\n }),\n // tick and title properties named and function exactly as in axes\n tickmode: axesAttrs.tickmode,\n nticks: axesAttrs.nticks,\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: extendFlat({}, axesAttrs.ticks, {dflt: 'outside'}),\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n tickfont: fontAttrs({\n \n }),\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n tickprefix: axesAttrs.tickprefix,\n showtickprefix: axesAttrs.showtickprefix,\n ticksuffix: axesAttrs.ticksuffix,\n showticksuffix: axesAttrs.showticksuffix,\n separatethousands: axesAttrs.separatethousands,\n exponentformat: axesAttrs.exponentformat,\n showexponent: axesAttrs.showexponent,\n editType: 'plot'\n }, 'plot'),\n // Steps (or ranges) and thresholds\n steps: stepsAttrs,\n threshold: {\n line: {\n color: extendFlat({}, gaugeBarAttrs.line.color, {\n \n }),\n width: extendFlat({}, gaugeBarAttrs.line.width, {\n dflt: 1,\n \n }),\n editType: 'plot'\n },\n thickness: extendFlat({}, gaugeBarAttrs.thickness, {\n dflt: 0.85,\n \n }),\n value: {\n valType: 'number',\n editType: 'calc',\n dflt: false,\n \n \n },\n editType: 'plot'\n },\n \n editType: 'plot'\n // TODO: in future version, add marker: (bar|needle)\n }\n};\n\n\n/***/ }),\n\n/***/ \"1cfc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"6386\");\n\n\n/***/ }),\n\n/***/ \"1d19\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* @module to-float32 */\r\n\r\n\r\n\r\nmodule.exports = float32\r\nmodule.exports.float32 =\r\nmodule.exports.float = float32\r\nmodule.exports.fract32 =\r\nmodule.exports.fract = fract32\r\n\r\nvar narr = new Float32Array(1)\r\n\r\n// return fractional part of float32 array\r\nfunction fract32 (arr) {\r\n\tif (arr.length) {\r\n\t\tvar fract = float32(arr)\r\n\t\tfor (var i = 0, l = fract.length; i < l; i++) {\r\n\t\t\tfract[i] = arr[i] - fract[i]\r\n\t\t}\r\n\t\treturn fract\r\n\t}\r\n\r\n\t// number\r\n\treturn float32(arr - float32(arr))\r\n}\r\n\r\n// make sure data is float32 array\r\nfunction float32 (arr) {\r\n\tif (arr.length) {\r\n\t\tif (arr instanceof Float32Array) return arr\r\n\t\tvar float = new Float32Array(arr)\r\n\t\tfloat.set(arr)\r\n\t\treturn float\r\n\t}\r\n\r\n\t// number\r\n\tnarr[0] = arr\r\n\treturn narr[0]\r\n}\r\n\n\n/***/ }),\n\n/***/ \"1d4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar compile = __webpack_require__(\"c535\")\nvar CACHE = {}\n\nfunction sort(array) {\n var order = array.order\n var dtype = array.dtype\n var typeSig = [order, dtype ]\n var typeName = typeSig.join(\":\")\n var compiled = CACHE[typeName]\n if(!compiled) {\n CACHE[typeName] = compiled = compile(order, dtype)\n }\n compiled(array)\n return array\n}\n\nmodule.exports = sort\n\n/***/ }),\n\n/***/ \"1d5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ndarray = __webpack_require__(\"b5bb\")\nvar ops = __webpack_require__(\"62d6\")\nvar pool = __webpack_require__(\"cea5\")\n\nmodule.exports = createTexture2D\n\nvar linearTypes = null\nvar filterTypes = null\nvar wrapTypes = null\n\nfunction lazyInitLinearTypes(gl) {\n linearTypes = [\n gl.LINEAR,\n gl.NEAREST_MIPMAP_LINEAR,\n gl.LINEAR_MIPMAP_NEAREST,\n gl.LINEAR_MIPMAP_NEAREST\n ]\n filterTypes = [\n gl.NEAREST,\n gl.LINEAR,\n gl.NEAREST_MIPMAP_NEAREST,\n gl.NEAREST_MIPMAP_LINEAR,\n gl.LINEAR_MIPMAP_NEAREST,\n gl.LINEAR_MIPMAP_LINEAR\n ]\n wrapTypes = [\n gl.REPEAT,\n gl.CLAMP_TO_EDGE,\n gl.MIRRORED_REPEAT\n ]\n}\n\nfunction acceptTextureDOM (obj) {\n return (\n ('undefined' != typeof HTMLCanvasElement && obj instanceof HTMLCanvasElement) ||\n ('undefined' != typeof HTMLImageElement && obj instanceof HTMLImageElement) ||\n ('undefined' != typeof HTMLVideoElement && obj instanceof HTMLVideoElement) ||\n ('undefined' != typeof ImageData && obj instanceof ImageData))\n}\n\nvar convertFloatToUint8 = function(out, inp) {\n ops.muls(out, inp, 255.0)\n}\n\nfunction reshapeTexture(tex, w, h) {\n var gl = tex.gl\n var maxSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(w < 0 || w > maxSize || h < 0 || h > maxSize) {\n throw new Error('gl-texture2d: Invalid texture size')\n }\n tex._shape = [w, h]\n tex.bind()\n gl.texImage2D(gl.TEXTURE_2D, 0, tex.format, w, h, 0, tex.format, tex.type, null)\n tex._mipLevels = [0]\n return tex\n}\n\nfunction Texture2D(gl, handle, width, height, format, type) {\n this.gl = gl\n this.handle = handle\n this.format = format\n this.type = type\n this._shape = [width, height]\n this._mipLevels = [0]\n this._magFilter = gl.NEAREST\n this._minFilter = gl.NEAREST\n this._wrapS = gl.CLAMP_TO_EDGE\n this._wrapT = gl.CLAMP_TO_EDGE\n this._anisoSamples = 1\n\n var parent = this\n var wrapVector = [this._wrapS, this._wrapT]\n Object.defineProperties(wrapVector, [\n {\n get: function() {\n return parent._wrapS\n },\n set: function(v) {\n return parent.wrapS = v\n }\n },\n {\n get: function() {\n return parent._wrapT\n },\n set: function(v) {\n return parent.wrapT = v\n }\n }\n ])\n this._wrapVector = wrapVector\n\n var shapeVector = [this._shape[0], this._shape[1]]\n Object.defineProperties(shapeVector, [\n {\n get: function() {\n return parent._shape[0]\n },\n set: function(v) {\n return parent.width = v\n }\n },\n {\n get: function() {\n return parent._shape[1]\n },\n set: function(v) {\n return parent.height = v\n }\n }\n ])\n this._shapeVector = shapeVector\n}\n\nvar proto = Texture2D.prototype\n\nObject.defineProperties(proto, {\n minFilter: {\n get: function() {\n return this._minFilter\n },\n set: function(v) {\n this.bind()\n var gl = this.gl\n if(this.type === gl.FLOAT && linearTypes.indexOf(v) >= 0) {\n if(!gl.getExtension('OES_texture_float_linear')) {\n v = gl.NEAREST\n }\n }\n if(filterTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown filter mode ' + v)\n }\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, v)\n return this._minFilter = v\n }\n },\n magFilter: {\n get: function() {\n return this._magFilter\n },\n set: function(v) {\n this.bind()\n var gl = this.gl\n if(this.type === gl.FLOAT && linearTypes.indexOf(v) >= 0) {\n if(!gl.getExtension('OES_texture_float_linear')) {\n v = gl.NEAREST\n }\n }\n if(filterTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown filter mode ' + v)\n }\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, v)\n return this._magFilter = v\n }\n },\n mipSamples: {\n get: function() {\n return this._anisoSamples\n },\n set: function(i) {\n var psamples = this._anisoSamples\n this._anisoSamples = Math.max(i, 1)|0\n if(psamples !== this._anisoSamples) {\n var ext = this.gl.getExtension('EXT_texture_filter_anisotropic')\n if(ext) {\n this.gl.texParameterf(this.gl.TEXTURE_2D, ext.TEXTURE_MAX_ANISOTROPY_EXT, this._anisoSamples)\n }\n }\n return this._anisoSamples\n }\n },\n wrapS: {\n get: function() {\n return this._wrapS\n },\n set: function(v) {\n this.bind()\n if(wrapTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, v)\n return this._wrapS = v\n }\n },\n wrapT: {\n get: function() {\n return this._wrapT\n },\n set: function(v) {\n this.bind()\n if(wrapTypes.indexOf(v) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, v)\n return this._wrapT = v\n }\n },\n wrap: {\n get: function() {\n return this._wrapVector\n },\n set: function(v) {\n if(!Array.isArray(v)) {\n v = [v,v]\n }\n if(v.length !== 2) {\n throw new Error('gl-texture2d: Must specify wrap mode for rows and columns')\n }\n for(var i=0; i<2; ++i) {\n if(wrapTypes.indexOf(v[i]) < 0) {\n throw new Error('gl-texture2d: Unknown wrap mode ' + v)\n }\n }\n this._wrapS = v[0]\n this._wrapT = v[1]\n\n var gl = this.gl\n this.bind()\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, this._wrapS)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, this._wrapT)\n\n return v\n }\n },\n shape: {\n get: function() {\n return this._shapeVector\n },\n set: function(x) {\n if(!Array.isArray(x)) {\n x = [x|0,x|0]\n } else {\n if(x.length !== 2) {\n throw new Error('gl-texture2d: Invalid texture shape')\n }\n }\n reshapeTexture(this, x[0]|0, x[1]|0)\n return [x[0]|0, x[1]|0]\n }\n },\n width: {\n get: function() {\n return this._shape[0]\n },\n set: function(w) {\n w = w|0\n reshapeTexture(this, w, this._shape[1])\n return w\n }\n },\n height: {\n get: function() {\n return this._shape[1]\n },\n set: function(h) {\n h = h|0\n reshapeTexture(this, this._shape[0], h)\n return h\n }\n }\n})\n\nproto.bind = function(unit) {\n var gl = this.gl\n if(unit !== undefined) {\n gl.activeTexture(gl.TEXTURE0 + (unit|0))\n }\n gl.bindTexture(gl.TEXTURE_2D, this.handle)\n if(unit !== undefined) {\n return (unit|0)\n }\n return gl.getParameter(gl.ACTIVE_TEXTURE) - gl.TEXTURE0\n}\n\nproto.dispose = function() {\n this.gl.deleteTexture(this.handle)\n}\n\nproto.generateMipmap = function() {\n this.bind()\n this.gl.generateMipmap(this.gl.TEXTURE_2D)\n\n //Update mip levels\n var l = Math.min(this._shape[0], this._shape[1])\n for(var i=0; l>0; ++i, l>>>=1) {\n if(this._mipLevels.indexOf(i) < 0) {\n this._mipLevels.push(i)\n }\n }\n}\n\nproto.setPixels = function(data, x_off, y_off, mip_level) {\n var gl = this.gl\n this.bind()\n if(Array.isArray(x_off)) {\n mip_level = y_off\n y_off = x_off[1]|0\n x_off = x_off[0]|0\n } else {\n x_off = x_off || 0\n y_off = y_off || 0\n }\n mip_level = mip_level || 0\n var directData = acceptTextureDOM(data) ? data : data.raw\n if(directData) {\n var needsMip = this._mipLevels.indexOf(mip_level) < 0\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, 0, this.format, this.format, this.type, directData)\n this._mipLevels.push(mip_level)\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, this.format, this.type, directData)\n }\n } else if(data.shape && data.stride && data.data) {\n if(data.shape.length < 2 ||\n x_off + data.shape[1] > this._shape[1]>>>mip_level ||\n y_off + data.shape[0] > this._shape[0]>>>mip_level ||\n x_off < 0 ||\n y_off < 0) {\n throw new Error('gl-texture2d: Texture dimensions are out of bounds')\n }\n texSubImageArray(gl, x_off, y_off, mip_level, this.format, this.type, this._mipLevels, data)\n } else {\n throw new Error('gl-texture2d: Unsupported data type')\n }\n}\n\n\nfunction isPacked(shape, stride) {\n if(shape.length === 3) {\n return (stride[2] === 1) &&\n (stride[1] === shape[0]*shape[2]) &&\n (stride[0] === shape[2])\n }\n return (stride[0] === 1) &&\n (stride[1] === shape[0])\n}\n\nfunction texSubImageArray(gl, x_off, y_off, mip_level, cformat, ctype, mipLevels, array) {\n var dtype = array.dtype\n var shape = array.shape.slice()\n if(shape.length < 2 || shape.length > 3) {\n throw new Error('gl-texture2d: Invalid ndarray, must be 2d or 3d')\n }\n var type = 0, format = 0\n var packed = isPacked(shape, array.stride.slice())\n if(dtype === 'float32') {\n type = gl.FLOAT\n } else if(dtype === 'float64') {\n type = gl.FLOAT\n packed = false\n dtype = 'float32'\n } else if(dtype === 'uint8') {\n type = gl.UNSIGNED_BYTE\n } else {\n type = gl.UNSIGNED_BYTE\n packed = false\n dtype = 'uint8'\n }\n var channels = 1\n if(shape.length === 2) {\n format = gl.LUMINANCE\n shape = [shape[0], shape[1], 1]\n array = ndarray(array.data, shape, [array.stride[0], array.stride[1], 1], array.offset)\n } else if(shape.length === 3) {\n if(shape[2] === 1) {\n format = gl.ALPHA\n } else if(shape[2] === 2) {\n format = gl.LUMINANCE_ALPHA\n } else if(shape[2] === 3) {\n format = gl.RGB\n } else if(shape[2] === 4) {\n format = gl.RGBA\n } else {\n throw new Error('gl-texture2d: Invalid shape for pixel coords')\n }\n channels = shape[2]\n } else {\n throw new Error('gl-texture2d: Invalid shape for texture')\n }\n //For 1-channel textures allow conversion between formats\n if((format === gl.LUMINANCE || format === gl.ALPHA) &&\n (cformat === gl.LUMINANCE || cformat === gl.ALPHA)) {\n format = cformat\n }\n if(format !== cformat) {\n throw new Error('gl-texture2d: Incompatible texture format for setPixels')\n }\n var size = array.size\n var needsMip = mipLevels.indexOf(mip_level) < 0\n if(needsMip) {\n mipLevels.push(mip_level)\n }\n if(type === ctype && packed) {\n //Array data types are compatible, can directly copy into texture\n if(array.offset === 0 && array.data.length === size) {\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, array.data)\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, array.data)\n }\n } else {\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, array.data.subarray(array.offset, array.offset+size))\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, array.data.subarray(array.offset, array.offset+size))\n }\n }\n } else {\n //Need to do type conversion to pack data into buffer\n var pack_buffer\n if(ctype === gl.FLOAT) {\n pack_buffer = pool.mallocFloat32(size)\n } else {\n pack_buffer = pool.mallocUint8(size)\n }\n var pack_view = ndarray(pack_buffer, shape, [shape[2], shape[2]*shape[0], 1])\n if(type === gl.FLOAT && ctype === gl.UNSIGNED_BYTE) {\n convertFloatToUint8(pack_view, array)\n } else {\n ops.assign(pack_view, array)\n }\n if(needsMip) {\n gl.texImage2D(gl.TEXTURE_2D, mip_level, cformat, shape[0], shape[1], 0, cformat, ctype, pack_buffer.subarray(0, size))\n } else {\n gl.texSubImage2D(gl.TEXTURE_2D, mip_level, x_off, y_off, shape[0], shape[1], cformat, ctype, pack_buffer.subarray(0, size))\n }\n if(ctype === gl.FLOAT) {\n pool.freeFloat32(pack_buffer)\n } else {\n pool.freeUint8(pack_buffer)\n }\n }\n}\n\nfunction initTexture(gl) {\n var tex = gl.createTexture()\n gl.bindTexture(gl.TEXTURE_2D, tex)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE)\n return tex\n}\n\nfunction createTextureShape(gl, width, height, format, type) {\n var maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(width < 0 || width > maxTextureSize || height < 0 || height > maxTextureSize) {\n throw new Error('gl-texture2d: Invalid texture shape')\n }\n if(type === gl.FLOAT && !gl.getExtension('OES_texture_float')) {\n throw new Error('gl-texture2d: Floating point textures not supported on this platform')\n }\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, width, height, 0, format, type, null)\n return new Texture2D(gl, tex, width, height, format, type)\n}\n\nfunction createTextureDOM(gl, directData, width, height, format, type) {\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, format, type, directData)\n return new Texture2D(gl, tex, width, height, format, type)\n}\n\n//Creates a texture from an ndarray\nfunction createTextureArray(gl, array) {\n var dtype = array.dtype\n var shape = array.shape.slice()\n var maxSize = gl.getParameter(gl.MAX_TEXTURE_SIZE)\n if(shape[0] < 0 || shape[0] > maxSize || shape[1] < 0 || shape[1] > maxSize) {\n throw new Error('gl-texture2d: Invalid texture size')\n }\n var packed = isPacked(shape, array.stride.slice())\n var type = 0\n if(dtype === 'float32') {\n type = gl.FLOAT\n } else if(dtype === 'float64') {\n type = gl.FLOAT\n packed = false\n dtype = 'float32'\n } else if(dtype === 'uint8') {\n type = gl.UNSIGNED_BYTE\n } else {\n type = gl.UNSIGNED_BYTE\n packed = false\n dtype = 'uint8'\n }\n var format = 0\n if(shape.length === 2) {\n format = gl.LUMINANCE\n shape = [shape[0], shape[1], 1]\n array = ndarray(array.data, shape, [array.stride[0], array.stride[1], 1], array.offset)\n } else if(shape.length === 3) {\n if(shape[2] === 1) {\n format = gl.ALPHA\n } else if(shape[2] === 2) {\n format = gl.LUMINANCE_ALPHA\n } else if(shape[2] === 3) {\n format = gl.RGB\n } else if(shape[2] === 4) {\n format = gl.RGBA\n } else {\n throw new Error('gl-texture2d: Invalid shape for pixel coords')\n }\n } else {\n throw new Error('gl-texture2d: Invalid shape for texture')\n }\n if(type === gl.FLOAT && !gl.getExtension('OES_texture_float')) {\n type = gl.UNSIGNED_BYTE\n packed = false\n }\n var buffer, buf_store\n var size = array.size\n if(!packed) {\n var stride = [shape[2], shape[2]*shape[0], 1]\n buf_store = pool.malloc(size, dtype)\n var buf_array = ndarray(buf_store, shape, stride, 0)\n if((dtype === 'float32' || dtype === 'float64') && type === gl.UNSIGNED_BYTE) {\n convertFloatToUint8(buf_array, array)\n } else {\n ops.assign(buf_array, array)\n }\n buffer = buf_store.subarray(0, size)\n } else if (array.offset === 0 && array.data.length === size) {\n buffer = array.data\n } else {\n buffer = array.data.subarray(array.offset, array.offset + size)\n }\n var tex = initTexture(gl)\n gl.texImage2D(gl.TEXTURE_2D, 0, format, shape[0], shape[1], 0, format, type, buffer)\n if(!packed) {\n pool.free(buf_store)\n }\n return new Texture2D(gl, tex, shape[0], shape[1], format, type)\n}\n\nfunction createTexture2D(gl) {\n if(arguments.length <= 1) {\n throw new Error('gl-texture2d: Missing arguments for texture2d constructor')\n }\n if(!linearTypes) {\n lazyInitLinearTypes(gl)\n }\n if(typeof arguments[1] === 'number') {\n return createTextureShape(gl, arguments[1], arguments[2], arguments[3]||gl.RGBA, arguments[4]||gl.UNSIGNED_BYTE)\n }\n if(Array.isArray(arguments[1])) {\n return createTextureShape(gl, arguments[1][0]|0, arguments[1][1]|0, arguments[2]||gl.RGBA, arguments[3]||gl.UNSIGNED_BYTE)\n }\n if(typeof arguments[1] === 'object') {\n var obj = arguments[1]\n var directData = acceptTextureDOM(obj) ? obj : obj.raw\n if (directData) {\n return createTextureDOM(gl, directData, obj.width|0, obj.height|0, arguments[2]||gl.RGBA, arguments[3]||gl.UNSIGNED_BYTE)\n } else if(obj.shape && obj.data && obj.stride) {\n return createTextureArray(gl, obj)\n }\n }\n throw new Error('gl-texture2d: Invalid arguments for texture2d constructor')\n}\n\n\n/***/ }),\n\n/***/ \"1d80\":\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"1d9e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Colorscale = __webpack_require__(\"c258\");\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\nvar makeBlank = __webpack_require__(\"2169\").makeBlank;\n\nmodule.exports = function convert(calcTrace) {\n var trace = calcTrace[0].trace;\n var isVisible = (trace.visible === true && trace._length !== 0);\n\n var heatmap = {\n layout: {visibility: 'none'},\n paint: {}\n };\n\n var opts = trace._opts = {\n heatmap: heatmap,\n geojson: makeBlank()\n };\n\n // early return if not visible or placeholder\n if(!isVisible) return opts;\n\n var features = [];\n var i;\n\n var z = trace.z;\n var radius = trace.radius;\n var hasZ = Lib.isArrayOrTypedArray(z) && z.length;\n var hasArrayRadius = Lib.isArrayOrTypedArray(radius);\n\n for(i = 0; i < calcTrace.length; i++) {\n var cdi = calcTrace[i];\n var lonlat = cdi.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n var props = {};\n\n if(hasZ) {\n var zi = cdi.z;\n props.z = zi !== BADNUM ? zi : 0;\n }\n if(hasArrayRadius) {\n props.r = (isNumeric(radius[i]) && radius[i] > 0) ? +radius[i] : 0;\n }\n\n features.push({\n type: 'Feature',\n geometry: {type: 'Point', coordinates: lonlat},\n properties: props\n });\n }\n }\n\n var cOpts = Colorscale.extractOpts(trace);\n var scl = cOpts.reversescale ?\n Colorscale.flipScale(cOpts.colorscale) :\n cOpts.colorscale;\n\n // Add alpha channel to first colorscale step.\n // If not, we would essentially color the entire map.\n // See https://docs.mapbox.com/mapbox-gl-js/example/heatmap-layer/\n var scl01 = scl[0][1];\n var color0 = Color.opacity(scl01) < 1 ? scl01 : Color.addOpacity(scl01, 0);\n\n var heatmapColor = [\n 'interpolate', ['linear'],\n ['heatmap-density'],\n 0, color0\n ];\n for(i = 1; i < scl.length; i++) {\n heatmapColor.push(scl[i][0], scl[i][1]);\n }\n\n // Those \"weights\" have to be in [0, 1], we can do this either:\n // - as here using a mapbox-gl expression\n // - or, scale the 'z' property in the feature loop\n var zExp = [\n 'interpolate', ['linear'],\n ['get', 'z'],\n cOpts.min, 0,\n cOpts.max, 1\n ];\n\n Lib.extendFlat(opts.heatmap.paint, {\n 'heatmap-weight': hasZ ? zExp : 1 / (cOpts.max - cOpts.min),\n\n 'heatmap-color': heatmapColor,\n\n 'heatmap-radius': hasArrayRadius ?\n {type: 'identity', property: 'r'} :\n trace.radius,\n\n 'heatmap-opacity': trace.opacity\n });\n\n opts.geojson = {type: 'FeatureCollection', features: features};\n opts.heatmap.layout.visibility = 'visible';\n\n return opts;\n};\n\n\n/***/ }),\n\n/***/ \"1db7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar c = __webpack_require__(\"f7a4\");\nvar d3 = __webpack_require__(\"6e58\");\nvar keyFun = __webpack_require__(\"0a3e\").keyFun;\nvar repeat = __webpack_require__(\"0a3e\").repeat;\nvar sortAsc = __webpack_require__(\"fc26\").sorterAsc;\n\nvar snapRatio = c.bar.snapRatio;\nfunction snapOvershoot(v, vAdjacent) { return v * (1 - snapRatio) + vAdjacent * snapRatio; }\n\nvar snapClose = c.bar.snapClose;\nfunction closeToCovering(v, vAdjacent) { return v * (1 - snapClose) + vAdjacent * snapClose; }\n\n// snap for the low end of a range on an ordinal scale\n// on an ordinal scale, always show some overshoot from the exact value,\n// so it's clear we're covering it\n// find the interval we're in, and snap to 1/4 the distance to the next\n// these two could be unified at a slight loss of readability / perf\nfunction ordinalScaleSnap(isHigh, a, v, existingRanges) {\n if(overlappingExisting(v, existingRanges)) return v;\n\n var dir = isHigh ? -1 : 1;\n\n var first = 0;\n var last = a.length - 1;\n if(dir < 0) {\n var tmp = first;\n first = last;\n last = tmp;\n }\n\n var aHere = a[first];\n var aPrev = aHere;\n for(var i = first; dir * i < dir * last; i += dir) {\n var nextI = i + dir;\n var aNext = a[nextI];\n\n // very close to the previous - snap down to it\n if(dir * v < dir * closeToCovering(aHere, aNext)) return snapOvershoot(aHere, aPrev);\n if(dir * v < dir * aNext || nextI === last) return snapOvershoot(aNext, aHere);\n\n aPrev = aHere;\n aHere = aNext;\n }\n}\n\nfunction overlappingExisting(v, existingRanges) {\n for(var i = 0; i < existingRanges.length; i++) {\n if(v >= existingRanges[i][0] && v <= existingRanges[i][1]) return true;\n }\n return false;\n}\n\nfunction barHorizontalSetup(selection) {\n selection\n .attr('x', -c.bar.captureWidth / 2)\n .attr('width', c.bar.captureWidth);\n}\n\nfunction backgroundBarHorizontalSetup(selection) {\n selection\n .attr('visibility', 'visible')\n .style('visibility', 'visible')\n .attr('fill', 'yellow')\n .attr('opacity', 0);\n}\n\nfunction setHighlight(d) {\n if(!d.brush.filterSpecified) {\n return '0,' + d.height;\n }\n\n var pixelRanges = unitToPx(d.brush.filter.getConsolidated(), d.height);\n var dashArray = [0]; // we start with a 0 length selection as filter ranges are inclusive, not exclusive\n var p, sectionHeight, iNext;\n var currentGap = pixelRanges.length ? pixelRanges[0][0] : null;\n for(var i = 0; i < pixelRanges.length; i++) {\n p = pixelRanges[i];\n sectionHeight = p[1] - p[0];\n dashArray.push(currentGap);\n dashArray.push(sectionHeight);\n iNext = i + 1;\n if(iNext < pixelRanges.length) {\n currentGap = pixelRanges[iNext][0] - p[1];\n }\n }\n dashArray.push(d.height);\n // d.height is added at the end to ensure that (1) we have an even number of dasharray points, MDN page says\n // \"If an odd number of values is provided, then the list of values is repeated to yield an even number of values.\"\n // and (2) it's _at least_ as long as the full height (even if range is minuscule and at the bottom) though this\n // may not be necessary, maybe duplicating the last point would do too. But no harm in a longer dasharray than line.\n return dashArray;\n}\n\nfunction unitToPx(unitRanges, height) {\n return unitRanges.map(function(pr) {\n return pr.map(function(v) { return Math.max(0, v * height); }).sort(sortAsc);\n });\n}\n\n// is the cursor over the north, middle, or south of a bar?\n// the end handles extend over the last 10% of the bar\nfunction getRegion(fPix, y) {\n var pad = c.bar.handleHeight;\n if(y > fPix[1] + pad || y < fPix[0] - pad) return;\n if(y >= 0.9 * fPix[1] + 0.1 * fPix[0]) return 'n';\n if(y <= 0.9 * fPix[0] + 0.1 * fPix[1]) return 's';\n return 'ns';\n}\n\nfunction clearCursor() {\n d3.select(document.body)\n .style('cursor', null);\n}\n\nfunction styleHighlight(selection) {\n // stroke-dasharray is used to minimize the number of created DOM nodes, because the requirement calls for up to\n // 1000 individual selections on an axis, and there can be 60 axes per parcoords, and multiple parcoords per\n // dashboard. The technique is similar to https://codepen.io/monfera/pen/rLYqWR and using a `polyline` with\n // multiple sections, or a `path` element via its `d` attribute would also be DOM-sparing alternatives.\n selection.attr('stroke-dasharray', setHighlight);\n}\n\nfunction renderHighlight(root, tweenCallback) {\n var bar = d3.select(root).selectAll('.highlight, .highlight-shadow');\n var barToStyle = tweenCallback ? bar.transition().duration(c.bar.snapDuration).each('end', tweenCallback) : bar;\n styleHighlight(barToStyle);\n}\n\nfunction getInterval(d, y) {\n var b = d.brush;\n var active = b.filterSpecified;\n var closestInterval = NaN;\n var out = {};\n var i;\n\n if(active) {\n var height = d.height;\n var intervals = b.filter.getConsolidated();\n var pixIntervals = unitToPx(intervals, height);\n var hoveredInterval = NaN;\n var previousInterval = NaN;\n var nextInterval = NaN;\n for(i = 0; i <= pixIntervals.length; i++) {\n var p = pixIntervals[i];\n if(p && p[0] <= y && y <= p[1]) {\n // over a bar\n hoveredInterval = i;\n break;\n } else {\n // between bars, or before/after the first/last bar\n previousInterval = i ? i - 1 : NaN;\n if(p && p[0] > y) {\n nextInterval = i;\n break; // no point continuing as intervals are non-overlapping and sorted; could use log search\n }\n }\n }\n\n closestInterval = hoveredInterval;\n if(isNaN(closestInterval)) {\n if(isNaN(previousInterval) || isNaN(nextInterval)) {\n closestInterval = isNaN(previousInterval) ? nextInterval : previousInterval;\n } else {\n closestInterval = (y - pixIntervals[previousInterval][1] < pixIntervals[nextInterval][0] - y) ?\n previousInterval : nextInterval;\n }\n }\n\n if(!isNaN(closestInterval)) {\n var fPix = pixIntervals[closestInterval];\n var region = getRegion(fPix, y);\n\n if(region) {\n out.interval = intervals[closestInterval];\n out.intervalPix = fPix;\n out.region = region;\n }\n }\n }\n\n if(d.ordinal && !out.region) {\n var a = d.unitTickvals;\n var unitLocation = d.unitToPaddedPx.invert(y);\n for(i = 0; i < a.length; i++) {\n var rangei = [\n a[Math.max(i - 1, 0)] * 0.25 + a[i] * 0.75,\n a[Math.min(i + 1, a.length - 1)] * 0.25 + a[i] * 0.75\n ];\n if(unitLocation >= rangei[0] && unitLocation <= rangei[1]) {\n out.clickableOrdinalRange = rangei;\n break;\n }\n }\n }\n\n return out;\n}\n\nfunction dragstart(lThis, d) {\n d3.event.sourceEvent.stopPropagation();\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var unitLocation = d.unitToPaddedPx.invert(y);\n var b = d.brush;\n var interval = getInterval(d, y);\n var unitRange = interval.interval;\n var s = b.svgBrush;\n s.wasDragged = false; // we start assuming there won't be a drag - useful for reset\n s.grabbingBar = interval.region === 'ns';\n if(s.grabbingBar) {\n var pixelRange = unitRange.map(d.unitToPaddedPx);\n s.grabPoint = y - pixelRange[0] - c.verticalPadding;\n s.barLength = pixelRange[1] - pixelRange[0];\n }\n s.clickableOrdinalRange = interval.clickableOrdinalRange;\n s.stayingIntervals = (d.multiselect && b.filterSpecified) ? b.filter.getConsolidated() : [];\n if(unitRange) {\n s.stayingIntervals = s.stayingIntervals.filter(function(int2) {\n return int2[0] !== unitRange[0] && int2[1] !== unitRange[1];\n });\n }\n s.startExtent = interval.region ? unitRange[interval.region === 's' ? 1 : 0] : unitLocation;\n d.parent.inBrushDrag = true;\n s.brushStartCallback();\n}\n\nfunction drag(lThis, d) {\n d3.event.sourceEvent.stopPropagation();\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var s = d.brush.svgBrush;\n s.wasDragged = true;\n s._dragging = true;\n\n if(s.grabbingBar) { // moving the bar\n s.newExtent = [y - s.grabPoint, y + s.barLength - s.grabPoint].map(d.unitToPaddedPx.invert);\n } else { // south/north drag or new bar creation\n s.newExtent = [s.startExtent, d.unitToPaddedPx.invert(y)].sort(sortAsc);\n }\n\n d.brush.filterSpecified = true;\n s.extent = s.stayingIntervals.concat([s.newExtent]);\n s.brushCallback(d);\n renderHighlight(lThis.parentNode);\n}\n\nfunction dragend(lThis, d) {\n var brush = d.brush;\n var filter = brush.filter;\n var s = brush.svgBrush;\n\n if(!s._dragging) { // i.e. click\n // mock zero drag\n mousemove(lThis, d);\n drag(lThis, d);\n // remember it is a click not a drag\n d.brush.svgBrush.wasDragged = false;\n }\n s._dragging = false;\n\n var e = d3.event;\n e.sourceEvent.stopPropagation();\n var grabbingBar = s.grabbingBar;\n s.grabbingBar = false;\n s.grabLocation = undefined;\n d.parent.inBrushDrag = false;\n clearCursor(); // instead of clearing, a nicer thing would be to set it according to current location\n if(!s.wasDragged) { // a click+release on the same spot (ie. w/o dragging) means a bar or full reset\n s.wasDragged = undefined; // logic-wise unneeded, just shows `wasDragged` has no longer a meaning\n if(s.clickableOrdinalRange) {\n if(brush.filterSpecified && d.multiselect) {\n s.extent.push(s.clickableOrdinalRange);\n } else {\n s.extent = [s.clickableOrdinalRange];\n brush.filterSpecified = true;\n }\n } else if(grabbingBar) {\n s.extent = s.stayingIntervals;\n if(s.extent.length === 0) {\n brushClear(brush);\n }\n } else {\n brushClear(brush);\n }\n s.brushCallback(d);\n renderHighlight(lThis.parentNode);\n s.brushEndCallback(brush.filterSpecified ? filter.getConsolidated() : []);\n return; // no need to fuse intervals or snap to ordinals, so we can bail early\n }\n\n var mergeIntervals = function() {\n // Key piece of logic: once the button is released, possibly overlapping intervals will be fused:\n // Here it's done immediately on click release while on ordinal snap transition it's done at the end\n filter.set(filter.getConsolidated());\n };\n\n if(d.ordinal) {\n var a = d.unitTickvals;\n if(a[a.length - 1] < a[0]) a.reverse();\n s.newExtent = [\n ordinalScaleSnap(0, a, s.newExtent[0], s.stayingIntervals),\n ordinalScaleSnap(1, a, s.newExtent[1], s.stayingIntervals)\n ];\n var hasNewExtent = s.newExtent[1] > s.newExtent[0];\n s.extent = s.stayingIntervals.concat(hasNewExtent ? [s.newExtent] : []);\n if(!s.extent.length) {\n brushClear(brush);\n }\n s.brushCallback(d);\n if(hasNewExtent) {\n // merging intervals post the snap tween\n renderHighlight(lThis.parentNode, mergeIntervals);\n } else {\n // if no new interval, don't animate, just redraw the highlight immediately\n mergeIntervals();\n renderHighlight(lThis.parentNode);\n }\n } else {\n mergeIntervals(); // merging intervals immediately\n }\n s.brushEndCallback(brush.filterSpecified ? filter.getConsolidated() : []);\n}\n\nfunction mousemove(lThis, d) {\n var y = d.height - d3.mouse(lThis)[1] - 2 * c.verticalPadding;\n var interval = getInterval(d, y);\n\n var cursor = 'crosshair';\n if(interval.clickableOrdinalRange) cursor = 'pointer';\n else if(interval.region) cursor = interval.region + '-resize';\n d3.select(document.body)\n .style('cursor', cursor);\n}\n\nfunction attachDragBehavior(selection) {\n // There's some fiddling with pointer cursor styling so that the cursor preserves its shape while dragging a brush\n // even if the cursor strays from the interacting bar, which is bound to happen as bars are thin and the user\n // will inevitably leave the hotspot strip. In this regard, it does something similar to what the D3 brush would do.\n selection\n .on('mousemove', function(d) {\n d3.event.preventDefault();\n if(!d.parent.inBrushDrag) mousemove(this, d);\n })\n .on('mouseleave', function(d) {\n if(!d.parent.inBrushDrag) clearCursor();\n })\n .call(d3.behavior.drag()\n .on('dragstart', function(d) { dragstart(this, d); })\n .on('drag', function(d) { drag(this, d); })\n .on('dragend', function(d) { dragend(this, d); })\n );\n}\n\nfunction startAsc(a, b) { return a[0] - b[0]; }\n\nfunction renderAxisBrush(axisBrush) {\n var background = axisBrush.selectAll('.background').data(repeat);\n\n background.enter()\n .append('rect')\n .classed('background', true)\n .call(barHorizontalSetup)\n .call(backgroundBarHorizontalSetup)\n .style('pointer-events', 'auto') // parent pointer events are disabled; we must have it to register events\n .attr('transform', 'translate(0 ' + c.verticalPadding + ')');\n\n background\n .call(attachDragBehavior)\n .attr('height', function(d) {\n return d.height - c.verticalPadding;\n });\n\n var highlightShadow = axisBrush.selectAll('.highlight-shadow').data(repeat); // we have a set here, can't call it `extent`\n\n highlightShadow.enter()\n .append('line')\n .classed('highlight-shadow', true)\n .attr('x', -c.bar.width / 2)\n .attr('stroke-width', c.bar.width + c.bar.strokeWidth)\n .attr('stroke', c.bar.strokeColor)\n .attr('opacity', c.bar.strokeOpacity)\n .attr('stroke-linecap', 'butt');\n\n highlightShadow\n .attr('y1', function(d) { return d.height; })\n .call(styleHighlight);\n\n var highlight = axisBrush.selectAll('.highlight').data(repeat); // we have a set here, can't call it `extent`\n\n highlight.enter()\n .append('line')\n .classed('highlight', true)\n .attr('x', -c.bar.width / 2)\n .attr('stroke-width', c.bar.width - c.bar.strokeWidth)\n .attr('stroke', c.bar.fillColor)\n .attr('opacity', c.bar.fillOpacity)\n .attr('stroke-linecap', 'butt');\n\n highlight\n .attr('y1', function(d) { return d.height; })\n .call(styleHighlight);\n}\n\nfunction ensureAxisBrush(axisOverlays) {\n var axisBrush = axisOverlays.selectAll('.' + c.cn.axisBrush)\n .data(repeat, keyFun);\n\n axisBrush.enter()\n .append('g')\n .classed(c.cn.axisBrush, true);\n\n renderAxisBrush(axisBrush);\n}\n\nfunction getBrushExtent(brush) {\n return brush.svgBrush.extent.map(function(e) {return e.slice();});\n}\n\nfunction brushClear(brush) {\n brush.filterSpecified = false;\n brush.svgBrush.extent = [[-Infinity, Infinity]];\n}\n\nfunction axisBrushMoved(callback) {\n return function axisBrushMoved(dimension) {\n var brush = dimension.brush;\n var extent = getBrushExtent(brush);\n var newExtent = extent.slice();\n brush.filter.set(newExtent);\n callback();\n };\n}\n\nfunction dedupeRealRanges(intervals) {\n // Fuses elements of intervals if they overlap, yielding discontiguous intervals, results.length <= intervals.length\n // Currently uses closed intervals, ie. dedupeRealRanges([[400, 800], [300, 400]]) -> [300, 800]\n var queue = intervals.slice();\n var result = [];\n var currentInterval;\n var current = queue.shift();\n while(current) { // [].shift === undefined, so we don't descend into an empty array\n currentInterval = current.slice();\n while((current = queue.shift()) && current[0] <= /* right-open interval would need `<` */ currentInterval[1]) {\n currentInterval[1] = Math.max(currentInterval[1], current[1]);\n }\n result.push(currentInterval);\n }\n return result;\n}\n\nfunction makeFilter() {\n var filter = [];\n var consolidated;\n var bounds;\n return {\n set: function(a) {\n filter = a\n .map(function(d) { return d.slice().sort(sortAsc); })\n .sort(startAsc);\n\n // handle unselected case\n if(filter.length === 1 &&\n filter[0][0] === -Infinity &&\n filter[0][1] === Infinity) {\n filter = [[0, -1]];\n }\n\n consolidated = dedupeRealRanges(filter);\n bounds = filter.reduce(function(p, n) {\n return [Math.min(p[0], n[0]), Math.max(p[1], n[1])];\n }, [Infinity, -Infinity]);\n },\n get: function() { return filter.slice(); },\n getConsolidated: function() { return consolidated; },\n getBounds: function() { return bounds; }\n };\n}\n\nfunction makeBrush(state, rangeSpecified, initialRange, brushStartCallback, brushCallback, brushEndCallback) {\n var filter = makeFilter();\n filter.set(initialRange);\n return {\n filter: filter,\n filterSpecified: rangeSpecified, // there's a difference between not filtering and filtering a non-proper subset\n svgBrush: {\n extent: [], // this is where the svgBrush writes contents into\n brushStartCallback: brushStartCallback,\n brushCallback: axisBrushMoved(brushCallback),\n brushEndCallback: brushEndCallback\n }\n };\n}\n\n// for use by supplyDefaults, but it needed tons of pieces from here so\n// seemed to make more sense just to put the whole routine here\nfunction cleanRanges(ranges, dimension) {\n if(Array.isArray(ranges[0])) {\n ranges = ranges.map(function(ri) { return ri.sort(sortAsc); });\n\n if(!dimension.multiselect) ranges = [ranges[0]];\n else ranges = dedupeRealRanges(ranges.sort(startAsc));\n } else ranges = [ranges.sort(sortAsc)];\n\n // ordinal snapping\n if(dimension.tickvals) {\n var sortedTickVals = dimension.tickvals.slice().sort(sortAsc);\n ranges = ranges.map(function(ri) {\n var rSnapped = [\n ordinalScaleSnap(0, sortedTickVals, ri[0], []),\n ordinalScaleSnap(1, sortedTickVals, ri[1], [])\n ];\n if(rSnapped[1] > rSnapped[0]) return rSnapped;\n })\n .filter(function(ri) { return ri; });\n\n if(!ranges.length) return;\n }\n return ranges.length > 1 ? ranges : ranges[0];\n}\n\nmodule.exports = {\n makeBrush: makeBrush,\n ensureAxisBrush: ensureAxisBrush,\n cleanRanges: cleanRanges\n};\n\n\n/***/ }),\n\n/***/ \"1db7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar extractOpts = __webpack_require__(\"215c\").extractOpts;\n\nmodule.exports = function crossTraceDefaults(fullData, fullLayout) {\n function replace(cont, k) {\n var val = cont['_' + k];\n if(val !== undefined) {\n cont[k] = val;\n }\n }\n\n function relinkColorAttrs(outerCont, cbOpt) {\n var cont = cbOpt.container ?\n Lib.nestedProperty(outerCont, cbOpt.container).get() :\n outerCont;\n\n if(cont) {\n if(cont.coloraxis) {\n // stash ref to color axis\n cont._colorAx = fullLayout[cont.coloraxis];\n } else {\n var cOpts = extractOpts(cont);\n var isAuto = cOpts.auto;\n\n if(isAuto || cOpts.min === undefined) {\n replace(cont, cbOpt.min);\n }\n if(isAuto || cOpts.max === undefined) {\n replace(cont, cbOpt.max);\n }\n if(cOpts.autocolorscale) {\n replace(cont, 'colorscale');\n }\n }\n }\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n var cbOpts = trace._module.colorbar;\n\n if(cbOpts) {\n if(Array.isArray(cbOpts)) {\n for(var j = 0; j < cbOpts.length; j++) {\n relinkColorAttrs(trace, cbOpts[j]);\n }\n } else {\n relinkColorAttrs(trace, cbOpts);\n }\n }\n\n if(hasColorscale(trace, 'marker.line')) {\n relinkColorAttrs(trace, {\n container: 'marker.line',\n min: 'cmin',\n max: 'cmax'\n });\n }\n }\n\n for(var k in fullLayout._colorAxes) {\n relinkColorAttrs(fullLayout[k], {min: 'cmin', max: 'cmax'});\n }\n};\n\n\n/***/ }),\n\n/***/ \"1ddb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bindAttribs = __webpack_require__(\"8c75\")\n\nfunction VAOEmulated(gl) {\n this.gl = gl\n this._elements = null\n this._attributes = null\n this._elementsType = gl.UNSIGNED_SHORT\n}\n\nVAOEmulated.prototype.bind = function() {\n bindAttribs(this.gl, this._elements, this._attributes)\n}\n\nVAOEmulated.prototype.update = function(attributes, elements, elementsType) {\n this._elements = elements\n this._attributes = attributes\n this._elementsType = elementsType || this.gl.UNSIGNED_SHORT\n}\n\nVAOEmulated.prototype.dispose = function() { }\nVAOEmulated.prototype.unbind = function() { }\n\nVAOEmulated.prototype.draw = function(mode, count, offset) {\n offset = offset || 0\n var gl = this.gl\n if(this._elements) {\n gl.drawElements(mode, count, this._elementsType, offset)\n } else {\n gl.drawArrays(mode, offset, count)\n }\n}\n\nfunction createVAOEmulated(gl) {\n return new VAOEmulated(gl)\n}\n\nmodule.exports = createVAOEmulated\n\n/***/ }),\n\n/***/ \"1dde\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\nvar V8_VERSION = __webpack_require__(\"2d00\");\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n\n/***/ }),\n\n/***/ \"1e03\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'locale',\n name: 'en-US',\n dictionary: {\n 'Click to enter Colorscale title': 'Click to enter Colorscale title'\n },\n format: {\n date: '%m/%d/%Y'\n }\n};\n\n\n/***/ }),\n\n/***/ \"1e0a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (value) {\n\ttry {\n\t\treturn value.toString();\n\t} catch (error) {\n\t\ttry { return String(value); }\n\t\tcatch (error2) { return null; }\n\t}\n};\n\n\n/***/ }),\n\n/***/ \"1ea6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'locale',\n name: 'en',\n dictionary: {\n 'Click to enter Colorscale title': 'Click to enter Colourscale title'\n },\n format: {\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December'\n ],\n shortMonths: [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ],\n periods: ['AM', 'PM'],\n dateTime: '%a %b %e %X %Y',\n date: '%d/%m/%Y',\n time: '%H:%M:%S',\n decimal: '.',\n thousands: ',',\n grouping: [3],\n currency: ['$', ''],\n year: '%Y',\n month: '%b %Y',\n dayMonth: '%b %-d',\n dayMonthYear: '%b %-d, %Y'\n }\n};\n\n\n/***/ }),\n\n/***/ \"1ebf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar barAttrs = __webpack_require__(\"fb5a\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = {\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n x0: {\n valType: 'any',\n \n editType: 'calc+clearAxisTypes',\n \n },\n y0: {\n valType: 'any',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n dx: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n dy: {\n valType: 'number',\n \n editType: 'calc',\n \n },\n\n name: {\n valType: 'string',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n q1: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n median: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n q3: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n lowerfence: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n upperfence: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n notched: {\n valType: 'boolean',\n \n editType: 'calc',\n \n },\n notchwidth: {\n valType: 'number',\n min: 0,\n max: 0.5,\n dflt: 0.25,\n \n editType: 'calc',\n \n },\n notchspan: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n // TODO\n // maybe add\n // - loweroutlierbound / upperoutlierbound\n // - lowersuspectedoutlierbound / uppersuspectedoutlierbound\n\n boxpoints: {\n valType: 'enumerated',\n values: ['all', 'outliers', 'suspectedoutliers', false],\n \n editType: 'calc',\n \n },\n jitter: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n pointpos: {\n valType: 'number',\n min: -2,\n max: 2,\n \n editType: 'calc',\n \n },\n\n boxmean: {\n valType: 'enumerated',\n values: [true, 'sd', false],\n \n editType: 'calc',\n \n },\n mean: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n sd: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n\n orientation: {\n valType: 'enumerated',\n values: ['v', 'h'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n quartilemethod: {\n valType: 'enumerated',\n values: ['linear', 'exclusive', 'inclusive'],\n dflt: 'linear',\n \n editType: 'calc',\n \n },\n\n width: {\n valType: 'number',\n min: 0,\n \n dflt: 0,\n editType: 'calc',\n \n },\n\n marker: {\n outliercolor: {\n valType: 'color',\n dflt: 'rgba(0, 0, 0, 0)',\n \n editType: 'style',\n \n },\n symbol: extendFlat({}, scatterMarkerAttrs.symbol,\n {arrayOk: false, editType: 'plot'}),\n opacity: extendFlat({}, scatterMarkerAttrs.opacity,\n {arrayOk: false, dflt: 1, editType: 'style'}),\n size: extendFlat({}, scatterMarkerAttrs.size,\n {arrayOk: false, editType: 'calc'}),\n color: extendFlat({}, scatterMarkerAttrs.color,\n {arrayOk: false, editType: 'style'}),\n line: {\n color: extendFlat({}, scatterMarkerLineAttrs.color,\n {arrayOk: false, dflt: colorAttrs.defaultLine, editType: 'style'}\n ),\n width: extendFlat({}, scatterMarkerLineAttrs.width,\n {arrayOk: false, dflt: 0, editType: 'style'}\n ),\n outliercolor: {\n valType: 'color',\n \n editType: 'style',\n \n },\n outlierwidth: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n editType: 'style',\n \n },\n editType: 'style'\n },\n editType: 'plot'\n },\n\n line: {\n color: {\n valType: 'color',\n \n editType: 'style',\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 2,\n editType: 'style',\n \n },\n editType: 'plot'\n },\n\n fillcolor: scatterAttrs.fillcolor,\n\n whiskerwidth: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.5,\n \n editType: 'calc',\n \n },\n\n offsetgroup: barAttrs.offsetgroup,\n alignmentgroup: barAttrs.alignmentgroup,\n\n selected: {\n marker: scatterAttrs.selected.marker,\n editType: 'style'\n },\n unselected: {\n marker: scatterAttrs.unselected.marker,\n editType: 'style'\n },\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n hovertemplate: hovertemplateAttrs({\n \n }),\n\n hoveron: {\n valType: 'flaglist',\n flags: ['boxes', 'points'],\n dflt: 'boxes+points',\n \n editType: 'style',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"1f25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = convexHull1d\n\nfunction convexHull1d(points) {\n var lo = 0\n var hi = 0\n for(var i=1; i points[hi][0]) {\n hi = i\n }\n }\n if(lo < hi) {\n return [[lo], [hi]]\n } else if(lo > hi) {\n return [[hi], [lo]]\n } else {\n return [[lo]]\n }\n}\n\n/***/ }),\n\n/***/ \"1fac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = gradient\n\nvar dup = __webpack_require__(\"84af\")\nvar cwiseCompiler = __webpack_require__(\"40ce\")\n\nvar TEMPLATE_CACHE = {}\nvar GRADIENT_CACHE = {}\n\nvar EmptyProc = {\n body: \"\",\n args: [],\n thisVars: [],\n localVars: []\n}\n\nvar centralDiff = cwiseCompiler({\n args: [ 'array', 'array', 'array' ],\n pre: EmptyProc,\n post: EmptyProc,\n body: {\n args: [ {\n name: 'out', \n lvalue: true,\n rvalue: false,\n count: 1\n }, {\n name: 'left', \n lvalue: false,\n rvalue: true,\n count: 1\n }, {\n name: 'right', \n lvalue: false,\n rvalue: true,\n count: 1\n }],\n body: \"out=0.5*(left-right)\",\n thisVars: [],\n localVars: []\n },\n funcName: 'cdiff'\n})\n\nvar zeroOut = cwiseCompiler({\n args: [ 'array' ],\n pre: EmptyProc,\n post: EmptyProc,\n body: {\n args: [ {\n name: 'out', \n lvalue: true,\n rvalue: false,\n count: 1\n }],\n body: \"out=0\",\n thisVars: [],\n localVars: []\n },\n funcName: 'zero'\n})\n\nfunction generateTemplate(d) {\n if(d in TEMPLATE_CACHE) {\n return TEMPLATE_CACHE[d]\n }\n var code = []\n for(var i=0; i= 0) {\n pickStr.push('0')\n } else if(facet.indexOf(-(i+1)) >= 0) {\n pickStr.push('s['+i+']-1')\n } else {\n pickStr.push('-1')\n loStr.push('1')\n hiStr.push('s['+i+']-2')\n }\n }\n var boundStr = '.lo(' + loStr.join() + ').hi(' + hiStr.join() + ')'\n if(loStr.length === 0) {\n boundStr = ''\n }\n \n if(cod > 0) {\n code.push('if(1') \n for(var i=0; i= 0 || facet.indexOf(-(i+1)) >= 0) {\n continue\n }\n code.push('&&s[', i, ']>2')\n }\n code.push('){grad', cod, '(src.pick(', pickStr.join(), ')', boundStr)\n for(var i=0; i= 0 || facet.indexOf(-(i+1)) >= 0) {\n continue\n }\n code.push(',dst.pick(', pickStr.join(), ',', i, ')', boundStr)\n }\n code.push(');')\n }\n\n for(var i=0; i1){dst.set(',\n pickStr.join(), ',', bnd, ',0.5*(src.get(',\n cPickStr.join(), ')-src.get(',\n dPickStr.join(), ')))}else{dst.set(',\n pickStr.join(), ',', bnd, ',0)};')\n } else {\n code.push('if(s[', bnd, ']>1){diff(', outStr, \n ',src.pick(', cPickStr.join(), ')', boundStr, \n ',src.pick(', dPickStr.join(), ')', boundStr, \n ');}else{zero(', outStr, ');};')\n }\n break\n\n case 'mirror':\n if(cod === 0) {\n code.push('dst.set(', pickStr.join(), ',', bnd, ',0);')\n } else {\n code.push('zero(', outStr, ');')\n }\n break\n\n case 'wrap':\n var aPickStr = pickStr.slice()\n var bPickStr = pickStr.slice()\n if(facet[i] < 0) {\n aPickStr[bnd] = 's[' + bnd + ']-2'\n bPickStr[bnd] = '0'\n \n } else {\n aPickStr[bnd] = 's[' + bnd + ']-1'\n bPickStr[bnd] = '1'\n }\n if(cod === 0) {\n code.push('if(s[', bnd, ']>2){dst.set(',\n pickStr.join(), ',', bnd, ',0.5*(src.get(',\n aPickStr.join(), ')-src.get(',\n bPickStr.join(), ')))}else{dst.set(',\n pickStr.join(), ',', bnd, ',0)};')\n } else {\n code.push('if(s[', bnd, ']>2){diff(', outStr, \n ',src.pick(', aPickStr.join(), ')', boundStr, \n ',src.pick(', bPickStr.join(), ')', boundStr, \n ');}else{zero(', outStr, ');};')\n }\n break\n\n default:\n throw new Error('ndarray-gradient: Invalid boundary condition')\n }\n }\n\n if(cod > 0) {\n code.push('};')\n }\n }\n\n //Enumerate ridges, facets, etc. of hypercube\n for(var i=0; i<(1< 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ \"2015\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\n\nvar attributes = __webpack_require__(\"8c2d\");\n\n\nmodule.exports = function(traceIn, traceOut, defaultColor, opts) {\n var objName = 'error_' + opts.axis;\n var containerOut = Template.newContainer(traceOut, objName);\n var containerIn = traceIn[objName] || {};\n\n function coerce(attr, dflt) {\n return Lib.coerce(containerIn, containerOut, attributes, attr, dflt);\n }\n\n var hasErrorBars = (\n containerIn.array !== undefined ||\n containerIn.value !== undefined ||\n containerIn.type === 'sqrt'\n );\n\n var visible = coerce('visible', hasErrorBars);\n\n if(visible === false) return;\n\n var type = coerce('type', 'array' in containerIn ? 'data' : 'percent');\n var symmetric = true;\n\n if(type !== 'sqrt') {\n symmetric = coerce('symmetric',\n !((type === 'data' ? 'arrayminus' : 'valueminus') in containerIn));\n }\n\n if(type === 'data') {\n coerce('array');\n coerce('traceref');\n if(!symmetric) {\n coerce('arrayminus');\n coerce('tracerefminus');\n }\n } else if(type === 'percent' || type === 'constant') {\n coerce('value');\n if(!symmetric) coerce('valueminus');\n }\n\n var copyAttr = 'copy_' + opts.inherit + 'style';\n if(opts.inherit) {\n var inheritObj = traceOut['error_' + opts.inherit];\n if((inheritObj || {}).visible) {\n coerce(copyAttr, !(containerIn.color ||\n isNumeric(containerIn.thickness) ||\n isNumeric(containerIn.width)));\n }\n }\n if(!opts.inherit || !containerOut[copyAttr]) {\n coerce('color', defaultColor);\n coerce('thickness');\n coerce('width', Registry.traceIs(traceOut, 'gl3d') ? 0 : 4);\n }\n};\n\n\n/***/ }),\n\n/***/ \"2031\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"14ab\")() ? Object.assign : __webpack_require__(\"f60e\");\n\n\n/***/ }),\n\n/***/ \"20314\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction iota(n) {\n var result = new Array(n)\n for(var i=0; i= 0; i--, j++) {\n var si = scl[i];\n sclNew[j] = [1 - si[0], si[1]];\n }\n return sclNew;\n}\n\n/**\n * General colorscale function generator.\n *\n * @param {object} specs output of Colorscale.extractScale or precomputed domain, range.\n * - domain {array}\n * - range {array}\n *\n * @param {object} opts\n * - noNumericCheck {boolean} if true, scale func bypasses numeric checks\n * - returnArray {boolean} if true, scale func return 4-item array instead of color strings\n *\n * @return {function}\n */\nfunction makeColorScaleFunc(specs, opts) {\n opts = opts || {};\n\n var domain = specs.domain;\n var range = specs.range;\n var N = range.length;\n var _range = new Array(N);\n\n for(var i = 0; i < N; i++) {\n var rgba = tinycolor(range[i]).toRgb();\n _range[i] = [rgba.r, rgba.g, rgba.b, rgba.a];\n }\n\n var _sclFunc = d3.scale.linear()\n .domain(domain)\n .range(_range)\n .clamp(true);\n\n var noNumericCheck = opts.noNumericCheck;\n var returnArray = opts.returnArray;\n var sclFunc;\n\n if(noNumericCheck && returnArray) {\n sclFunc = _sclFunc;\n } else if(noNumericCheck) {\n sclFunc = function(v) {\n return colorArray2rbga(_sclFunc(v));\n };\n } else if(returnArray) {\n sclFunc = function(v) {\n if(isNumeric(v)) return _sclFunc(v);\n else if(tinycolor(v).isValid()) return v;\n else return Color.defaultLine;\n };\n } else {\n sclFunc = function(v) {\n if(isNumeric(v)) return colorArray2rbga(_sclFunc(v));\n else if(tinycolor(v).isValid()) return v;\n else return Color.defaultLine;\n };\n }\n\n // colorbar draw looks into the d3 scale closure for domain and range\n sclFunc.domain = _sclFunc.domain;\n sclFunc.range = function() { return range; };\n\n return sclFunc;\n}\n\nfunction makeColorScaleFuncFromTrace(trace, opts) {\n return makeColorScaleFunc(extractScale(trace), opts);\n}\n\nfunction colorArray2rbga(colorArray) {\n var colorObj = {\n r: colorArray[0],\n g: colorArray[1],\n b: colorArray[2],\n a: colorArray[3]\n };\n\n return tinycolor(colorObj).toRgbString();\n}\n\nmodule.exports = {\n hasColorscale: hasColorscale,\n extractOpts: extractOpts,\n extractScale: extractScale,\n flipScale: flipScale,\n makeColorScaleFunc: makeColorScaleFunc,\n makeColorScaleFuncFromTrace: makeColorScaleFuncFromTrace\n};\n\n\n/***/ }),\n\n/***/ \"2160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\");\n\nvar map = { function: true, object: true };\n\nmodule.exports = function (value) { return (isValue(value) && map[typeof value]) || false; };\n\n\n/***/ }),\n\n/***/ \"2169\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\n/**\n * Convert calcTrace to GeoJSON 'MultiLineString' coordinate arrays\n *\n * @param {object} calcTrace\n * gd.calcdata item.\n * Note that calcTrace[i].lonlat is assumed to be defined\n *\n * @return {array}\n * return line coords array (or array of arrays)\n *\n */\nexports.calcTraceToLineCoords = function(calcTrace) {\n var trace = calcTrace[0].trace;\n var connectgaps = trace.connectgaps;\n\n var coords = [];\n var lineString = [];\n\n for(var i = 0; i < calcTrace.length; i++) {\n var calcPt = calcTrace[i];\n var lonlat = calcPt.lonlat;\n\n if(lonlat[0] !== BADNUM) {\n lineString.push(lonlat);\n } else if(!connectgaps && lineString.length > 0) {\n coords.push(lineString);\n lineString = [];\n }\n }\n\n if(lineString.length > 0) {\n coords.push(lineString);\n }\n\n return coords;\n};\n\n\n/**\n * Make line ('LineString' or 'MultiLineString') GeoJSON\n *\n * @param {array} coords\n * results form calcTraceToLineCoords\n * @return {object} out\n * GeoJSON object\n *\n */\nexports.makeLine = function(coords) {\n if(coords.length === 1) {\n return {\n type: 'LineString',\n coordinates: coords[0]\n };\n } else {\n return {\n type: 'MultiLineString',\n coordinates: coords\n };\n }\n};\n\n/**\n * Make polygon ('Polygon' or 'MultiPolygon') GeoJSON\n *\n * @param {array} coords\n * results form calcTraceToLineCoords\n * @return {object} out\n * GeoJSON object\n */\nexports.makePolygon = function(coords) {\n if(coords.length === 1) {\n return {\n type: 'Polygon',\n coordinates: coords\n };\n } else {\n var _coords = new Array(coords.length);\n\n for(var i = 0; i < coords.length; i++) {\n _coords[i] = [coords[i]];\n }\n\n return {\n type: 'MultiPolygon',\n coordinates: _coords\n };\n }\n};\n\n/**\n * Make blank GeoJSON\n *\n * @return {object}\n * Blank GeoJSON object\n *\n */\nexports.makeBlank = function() {\n return {\n type: 'Point',\n coordinates: []\n };\n};\n\n\n/***/ }),\n\n/***/ \"2195\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar num2bn = __webpack_require__(\"def6\")\nvar sign = __webpack_require__(\"0fba\")\n\nmodule.exports = rationalize\n\nfunction rationalize(numer, denom) {\n var snumer = sign(numer)\n var sdenom = sign(denom)\n if(snumer === 0) {\n return [num2bn(0), num2bn(1)]\n }\n if(sdenom === 0) {\n return [num2bn(0), num2bn(0)]\n }\n if(sdenom < 0) {\n numer = numer.neg()\n denom = denom.neg()\n }\n var d = numer.gcd(denom)\n if(d.cmpn(1)) {\n return [ numer.div(d), denom.div(d) ]\n }\n return [ numer, denom ]\n}\n\n\n/***/ }),\n\n/***/ \"21d9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boundary\n\nvar bnd = __webpack_require__(\"566e\")\nvar reduce = __webpack_require__(\"941b\")\n\nfunction boundary(cells) {\n return reduce(bnd(cells))\n}\n\n\n/***/ }),\n\n/***/ \"21dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f657\");\n\n\n/***/ }),\n\n/***/ \"223c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar partition = __webpack_require__(\"c8b8\");\nvar styleOne = __webpack_require__(\"da8c\").styleOne;\nvar constants = __webpack_require__(\"23cc\");\nvar helpers = __webpack_require__(\"fb56\");\nvar attachFxHandlers = __webpack_require__(\"6962\");\n\nvar onPathbar = true; // for Ancestors\n\nmodule.exports = function drawAncestors(gd, cd, entry, slices, opts) {\n var barDifY = opts.barDifY;\n var width = opts.width;\n var height = opts.height;\n var viewX = opts.viewX;\n var viewY = opts.viewY;\n var pathSlice = opts.pathSlice;\n var toMoveInsideSlice = opts.toMoveInsideSlice;\n var strTransform = opts.strTransform;\n var hasTransition = opts.hasTransition;\n var handleSlicesExit = opts.handleSlicesExit;\n var makeUpdateSliceInterpolator = opts.makeUpdateSliceInterpolator;\n var makeUpdateTextInterpolator = opts.makeUpdateTextInterpolator;\n var refRect = {};\n\n var fullLayout = gd._fullLayout;\n var cd0 = cd[0];\n var trace = cd0.trace;\n var hierarchy = cd0.hierarchy;\n\n var eachWidth = width / trace._entryDepth;\n\n var pathIds = helpers.listPath(entry.data, 'id');\n\n var sliceData = partition(hierarchy.copy(), [width, height], {\n packing: 'dice',\n pad: {\n inner: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n }\n }).descendants();\n\n // edit slices that show up on graph\n sliceData = sliceData.filter(function(pt) {\n var level = pathIds.indexOf(pt.data.id);\n if(level === -1) return false;\n\n pt.x0 = eachWidth * level;\n pt.x1 = eachWidth * (level + 1);\n pt.y0 = barDifY;\n pt.y1 = barDifY + height;\n\n pt.onPathbar = true;\n\n return true;\n });\n\n sliceData.reverse();\n\n slices = slices.data(sliceData, helpers.getPtId);\n\n slices.enter().append('g')\n .classed('pathbar', true);\n\n handleSlicesExit(slices, onPathbar, refRect, [width, height], pathSlice);\n\n slices.order();\n\n var updateSlices = slices;\n if(hasTransition) {\n updateSlices = updateSlices.transition().each('end', function() {\n // N.B. gd._transitioning is (still) *true* by the time\n // transition updates get here\n var sliceTop = d3.select(this);\n helpers.setSliceCursor(sliceTop, gd, {\n hideOnRoot: false,\n hideOnLeaves: false,\n isTransitioning: false\n });\n });\n }\n\n updateSlices.each(function(pt) {\n pt._hoverX = viewX(pt.x1 - Math.min(width, height) / 2);\n pt._hoverY = viewY(pt.y1 - height / 2);\n\n var sliceTop = d3.select(this);\n\n var slicePath = Lib.ensureSingle(sliceTop, 'path', 'surface', function(s) {\n s.style('pointer-events', 'all');\n });\n\n if(hasTransition) {\n slicePath.transition().attrTween('d', function(pt2) {\n var interp = makeUpdateSliceInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return pathSlice(interp(t)); };\n });\n } else {\n slicePath.attr('d', pathSlice);\n }\n\n sliceTop\n .call(attachFxHandlers, entry, gd, cd, {\n styleOne: styleOne,\n eventDataKeys: constants.eventDataKeys,\n transitionTime: constants.CLICK_TRANSITION_TIME,\n transitionEasing: constants.CLICK_TRANSITION_EASING\n })\n .call(helpers.setSliceCursor, gd, {\n hideOnRoot: false,\n hideOnLeaves: false,\n isTransitioning: gd._transitioning\n });\n\n slicePath.call(styleOne, pt, trace, {\n hovered: false\n });\n\n pt._text = (helpers.getPtLabel(pt) || '').split('
').join(' ') || '';\n\n var sliceTextGroup = Lib.ensureSingle(sliceTop, 'g', 'slicetext');\n var sliceText = Lib.ensureSingle(sliceTextGroup, 'text', '', function(s) {\n // prohibit tex interpretation until we can handle\n // tex and regular text together\n s.attr('data-notex', 1);\n });\n\n var font = Lib.ensureUniformFontSize(gd, helpers.determineTextFont(trace, pt, fullLayout.font, {\n onPathbar: true\n }));\n\n sliceText.text(pt._text || ' ') // use one space character instead of a blank string to avoid jumps during transition\n .classed('slicetext', true)\n .attr('text-anchor', 'start')\n .call(Drawing.font, font)\n .call(svgTextUtils.convertToTspans, gd);\n\n pt.textBB = Drawing.bBox(sliceText.node());\n pt.transform = toMoveInsideSlice(pt, {\n fontSize: font.size,\n onPathbar: true\n });\n pt.transform.fontSize = font.size;\n\n if(hasTransition) {\n sliceText.transition().attrTween('transform', function(pt2) {\n var interp = makeUpdateTextInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return strTransform(interp(t)); };\n });\n } else {\n sliceText.attr('transform', strTransform(pt));\n }\n });\n};\n\n\n/***/ }),\n\n/***/ \"2244\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"91ce\");\n\nmodule.exports = function(layoutIn, layoutOut, fullData) {\n var hasTraceType = false;\n\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n\n if(trace.visible && trace.type === 'waterfall') {\n hasTraceType = true;\n break;\n }\n }\n\n if(hasTraceType) {\n coerce('waterfallmode');\n coerce('waterfallgap', 0.2);\n coerce('waterfallgroupgap');\n }\n};\n\n\n/***/ }),\n\n/***/ \"2292\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function () {\n\tvar weakMap, obj;\n\n\tif (typeof WeakMap !== \"function\") return false;\n\ttry {\n\t\t// WebKit doesn't support arguments and crashes\n\t\tweakMap = new WeakMap([[obj = {}, \"one\"], [{}, \"two\"], [{}, \"three\"]]);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\tif (String(weakMap) !== \"[object WeakMap]\") return false;\n\tif (typeof weakMap.set !== \"function\") return false;\n\tif (weakMap.set({}, 1) !== weakMap) return false;\n\tif (typeof weakMap.delete !== \"function\") return false;\n\tif (typeof weakMap.has !== \"function\") return false;\n\tif (weakMap.get(obj) !== \"one\") return false;\n\n\treturn true;\n};\n\n\n/***/ }),\n\n/***/ \"22926\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"26e4\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar mergeLength = __webpack_require__(\"8cdc\");\nvar isOpenSymbol = __webpack_require__(\"50da\").isOpenSymbol;\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var dimensions = handleArrayContainerDefaults(traceIn, traceOut, {\n name: 'dimensions',\n handleItemDefaults: dimensionDefaults\n });\n\n var showDiag = coerce('diagonal.visible');\n var showUpper = coerce('showupperhalf');\n var showLower = coerce('showlowerhalf');\n\n var dimLength = mergeLength(traceOut, dimensions, 'values');\n\n if(!dimLength || (!showDiag && !showUpper && !showLower)) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n\n var isOpen = isOpenSymbol(traceOut.marker.symbol);\n var isBubble = subTypes.isBubble(traceOut);\n coerce('marker.line.width', isOpen || isBubble ? 1 : 0);\n\n handleAxisDefaults(traceIn, traceOut, layout, coerce);\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\nfunction dimensionDefaults(dimIn, dimOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(dimIn, dimOut, attributes.dimensions, attr, dflt);\n }\n\n coerce('label');\n var values = coerce('values');\n\n if(!(values && values.length)) dimOut.visible = false;\n else coerce('visible');\n\n coerce('axis.type');\n coerce('axis.matches');\n}\n\nfunction handleAxisDefaults(traceIn, traceOut, layout, coerce) {\n var dimensions = traceOut.dimensions;\n var dimLength = dimensions.length;\n var showUpper = traceOut.showupperhalf;\n var showLower = traceOut.showlowerhalf;\n var showDiag = traceOut.diagonal.visible;\n var i, j;\n\n var xAxesDflt = new Array(dimLength);\n var yAxesDflt = new Array(dimLength);\n\n for(i = 0; i < dimLength; i++) {\n var suffix = i ? i + 1 : '';\n xAxesDflt[i] = 'x' + suffix;\n yAxesDflt[i] = 'y' + suffix;\n }\n\n var xaxes = coerce('xaxes', xAxesDflt);\n var yaxes = coerce('yaxes', yAxesDflt);\n\n // build list of [x,y] axis corresponding to each dimensions[i],\n // very useful for passing options to regl-splom\n var diag = traceOut._diag = new Array(dimLength);\n\n // lookup for 'drawn' x|y axes, to avoid costly indexOf downstream\n traceOut._xaxes = {};\n traceOut._yaxes = {};\n\n // list of 'drawn' x|y axes, use to generate list of subplots\n var xList = [];\n var yList = [];\n\n function fillAxisStashes(axId, counterAxId, dim, list) {\n if(!axId) return;\n\n var axLetter = axId.charAt(0);\n var stash = layout._splomAxes[axLetter];\n\n traceOut['_' + axLetter + 'axes'][axId] = 1;\n list.push(axId);\n\n if(!(axId in stash)) {\n var s = stash[axId] = {};\n if(dim) {\n s.label = dim.label || '';\n if(dim.visible && dim.axis) {\n if(dim.axis.type) s.type = dim.axis.type;\n if(dim.axis.matches) s.matches = counterAxId;\n }\n }\n }\n }\n\n // cases where showDiag and showLower or showUpper are false\n // no special treatment as the 'drawn' x-axes and y-axes no longer match\n // the dimensions items and xaxes|yaxes 1-to-1\n var mustShiftX = !showDiag && !showLower;\n var mustShiftY = !showDiag && !showUpper;\n\n traceOut._axesDim = {};\n for(i = 0; i < dimLength; i++) {\n var dim = dimensions[i];\n var i0 = i === 0;\n var iN = i === dimLength - 1;\n\n var xaId = (i0 && mustShiftX) || (iN && mustShiftY) ?\n undefined :\n xaxes[i];\n\n var yaId = (i0 && mustShiftY) || (iN && mustShiftX) ?\n undefined :\n yaxes[i];\n\n fillAxisStashes(xaId, yaId, dim, xList);\n fillAxisStashes(yaId, xaId, dim, yList);\n diag[i] = [xaId, yaId];\n traceOut._axesDim[xaId] = i;\n traceOut._axesDim[yaId] = i;\n }\n\n // fill in splom subplot keys\n for(i = 0; i < xList.length; i++) {\n for(j = 0; j < yList.length; j++) {\n var id = xList[i] + yList[j];\n\n if(i > j && showUpper) {\n layout._splomSubplots[id] = 1;\n } else if(i < j && showLower) {\n layout._splomSubplots[id] = 1;\n } else if(i === j && (showDiag || !showLower || !showUpper)) {\n // need to include diagonal subplots when\n // hiding one half and the diagonal\n layout._splomSubplots[id] = 1;\n }\n }\n }\n\n // when lower half is omitted, or when just the diagonal is gone,\n // override grid default to make sure axes remain on\n // the left/bottom of the plot area\n if(!showLower || (!showDiag && showUpper && showLower)) {\n layout._splomGridDflt.xside = 'bottom';\n layout._splomGridDflt.yside = 'left';\n }\n}\n\n\n/***/ }),\n\n/***/ \"22b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.shader = getShaderReference\nexports.program = createProgram\n\nvar GLError = __webpack_require__(\"a3fd\")\nvar formatCompilerError = __webpack_require__(\"07db\");\n\nvar weakMap = typeof WeakMap === 'undefined' ? __webpack_require__(\"fcc5\") : WeakMap\nvar CACHE = new weakMap()\n\nvar SHADER_COUNTER = 0\n\nfunction ShaderReference(id, src, type, shader, programs, count, cache) {\n this.id = id\n this.src = src\n this.type = type\n this.shader = shader\n this.count = count\n this.programs = []\n this.cache = cache\n}\n\nShaderReference.prototype.dispose = function() {\n if(--this.count === 0) {\n var cache = this.cache\n var gl = cache.gl\n\n //Remove program references\n var programs = this.programs\n for(var i=0, n=programs.length; i 1.0){\n return 0\n } else {\n return Math.acos(cosine)\n } \n}\n\n\n/***/ }),\n\n/***/ \"2335\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n\n/***/ \"2357\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ch = __webpack_require__(\"0000\")\nvar uniq = __webpack_require__(\"175e\")\n\nmodule.exports = triangulate\n\nfunction LiftedPoint(p, i) {\n this.point = p\n this.index = i\n}\n\nfunction compareLifted(a, b) {\n var ap = a.point\n var bp = b.point\n var d = ap.length\n for(var i=0; i= 2) {\n return false\n }\n }\n cell[j] = v\n }\n return true\n })\n } else {\n hull = hull.filter(function(cell) {\n for(var i=0; i<=d; ++i) {\n var v = dindex[cell[i]]\n if(v < 0) {\n return false\n }\n cell[i] = v\n }\n return true\n })\n }\n\n if(d & 1) {\n for(var i=0; i minSensoryWidth ? sensoryWidth / 2 : minSensoryWidth;\n\n g.append('circle')\n .attr({\n 'data-line-point': 'start-point',\n 'cx': xPixelSized ? x2p(shapeOptions.xanchor) + shapeOptions.x0 : x2p(shapeOptions.x0),\n 'cy': yPixelSized ? y2p(shapeOptions.yanchor) - shapeOptions.y0 : y2p(shapeOptions.y0),\n 'r': circleRadius\n })\n .style(circleStyle)\n .classed('cursor-grab', true);\n\n g.append('circle')\n .attr({\n 'data-line-point': 'end-point',\n 'cx': xPixelSized ? x2p(shapeOptions.xanchor) + shapeOptions.x1 : x2p(shapeOptions.x1),\n 'cy': yPixelSized ? y2p(shapeOptions.yanchor) - shapeOptions.y1 : y2p(shapeOptions.y1),\n 'r': circleRadius\n })\n .style(circleStyle)\n .classed('cursor-grab', true);\n\n return g;\n }\n\n function updateDragMode(evt) {\n if(isLine) {\n if(evt.target.tagName === 'path') {\n dragMode = 'move';\n } else {\n dragMode = evt.target.attributes['data-line-point'].value === 'start-point' ?\n 'resize-over-start-point' : 'resize-over-end-point';\n }\n } else {\n // element might not be on screen at time of setup,\n // so obtain bounding box here\n var dragBBox = dragOptions.element.getBoundingClientRect();\n\n // choose 'move' or 'resize'\n // based on initial position of cursor within the drag element\n var w = dragBBox.right - dragBBox.left;\n var h = dragBBox.bottom - dragBBox.top;\n var x = evt.clientX - dragBBox.left;\n var y = evt.clientY - dragBBox.top;\n var cursor = (!isPath && w > MINWIDTH && h > MINHEIGHT && !evt.shiftKey) ?\n dragElement.getCursor(x / w, 1 - y / h) :\n 'move';\n\n setCursor(shapePath, cursor);\n\n // possible values 'move', 'sw', 'w', 'se', 'e', 'ne', 'n', 'nw' and 'w'\n dragMode = cursor.split('-')[0];\n }\n }\n\n function startDrag(evt) {\n // setup update strings and initial values\n if(xPixelSized) {\n xAnchor = x2p(shapeOptions.xanchor);\n }\n if(yPixelSized) {\n yAnchor = y2p(shapeOptions.yanchor);\n }\n\n if(shapeOptions.type === 'path') {\n pathIn = shapeOptions.path;\n } else {\n x0 = xPixelSized ? shapeOptions.x0 : x2p(shapeOptions.x0);\n y0 = yPixelSized ? shapeOptions.y0 : y2p(shapeOptions.y0);\n x1 = xPixelSized ? shapeOptions.x1 : x2p(shapeOptions.x1);\n y1 = yPixelSized ? shapeOptions.y1 : y2p(shapeOptions.y1);\n }\n\n if(x0 < x1) {\n w0 = x0;\n optW = 'x0';\n e0 = x1;\n optE = 'x1';\n } else {\n w0 = x1;\n optW = 'x1';\n e0 = x0;\n optE = 'x0';\n }\n\n // For fixed size shapes take opposing direction of y-axis into account.\n // Hint: For data sized shapes this is done by the y2p function.\n if((!yPixelSized && y0 < y1) || (yPixelSized && y0 > y1)) {\n n0 = y0;\n optN = 'y0';\n s0 = y1;\n optS = 'y1';\n } else {\n n0 = y1;\n optN = 'y1';\n s0 = y0;\n optS = 'y0';\n }\n\n // setup dragMode and the corresponding handler\n updateDragMode(evt);\n renderVisualCues(shapeLayer, shapeOptions);\n deactivateClipPathTemporarily(shapePath, shapeOptions, gd);\n dragOptions.moveFn = (dragMode === 'move') ? moveShape : resizeShape;\n }\n\n function endDrag() {\n setCursor(shapePath);\n removeVisualCues(shapeLayer);\n\n // Don't rely on clipPath being activated during re-layout\n setClipPath(shapePath, gd, shapeOptions);\n Registry.call('_guiRelayout', gd, editHelpers.getUpdateObj());\n }\n\n function abortDrag() {\n removeVisualCues(shapeLayer);\n }\n\n function moveShape(dx, dy) {\n if(shapeOptions.type === 'path') {\n var noOp = function(coord) { return coord; };\n var moveX = noOp;\n var moveY = noOp;\n\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n moveX = function moveX(x) { return p2x(x2p(x) + dx); };\n if(xa && xa.type === 'date') moveX = helpers.encodeDate(moveX);\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n moveY = function moveY(y) { return p2y(y2p(y) + dy); };\n if(ya && ya.type === 'date') moveY = helpers.encodeDate(moveY);\n }\n\n modifyItem('path', shapeOptions.path = movePath(pathIn, moveX, moveY));\n } else {\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n modifyItem('x0', shapeOptions.x0 = p2x(x0 + dx));\n modifyItem('x1', shapeOptions.x1 = p2x(x1 + dx));\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n modifyItem('y0', shapeOptions.y0 = p2y(y0 + dy));\n modifyItem('y1', shapeOptions.y1 = p2y(y1 + dy));\n }\n }\n\n shapePath.attr('d', getPathString(gd, shapeOptions));\n renderVisualCues(shapeLayer, shapeOptions);\n }\n\n function resizeShape(dx, dy) {\n if(isPath) {\n // TODO: implement path resize, don't forget to update dragMode code\n var noOp = function(coord) { return coord; };\n var moveX = noOp;\n var moveY = noOp;\n\n if(xPixelSized) {\n modifyItem('xanchor', shapeOptions.xanchor = p2x(xAnchor + dx));\n } else {\n moveX = function moveX(x) { return p2x(x2p(x) + dx); };\n if(xa && xa.type === 'date') moveX = helpers.encodeDate(moveX);\n }\n\n if(yPixelSized) {\n modifyItem('yanchor', shapeOptions.yanchor = p2y(yAnchor + dy));\n } else {\n moveY = function moveY(y) { return p2y(y2p(y) + dy); };\n if(ya && ya.type === 'date') moveY = helpers.encodeDate(moveY);\n }\n\n modifyItem('path', shapeOptions.path = movePath(pathIn, moveX, moveY));\n } else if(isLine) {\n if(dragMode === 'resize-over-start-point') {\n var newX0 = x0 + dx;\n var newY0 = yPixelSized ? y0 - dy : y0 + dy;\n modifyItem('x0', shapeOptions.x0 = xPixelSized ? newX0 : p2x(newX0));\n modifyItem('y0', shapeOptions.y0 = yPixelSized ? newY0 : p2y(newY0));\n } else if(dragMode === 'resize-over-end-point') {\n var newX1 = x1 + dx;\n var newY1 = yPixelSized ? y1 - dy : y1 + dy;\n modifyItem('x1', shapeOptions.x1 = xPixelSized ? newX1 : p2x(newX1));\n modifyItem('y1', shapeOptions.y1 = yPixelSized ? newY1 : p2y(newY1));\n }\n } else {\n var newN = (~dragMode.indexOf('n')) ? n0 + dy : n0;\n var newS = (~dragMode.indexOf('s')) ? s0 + dy : s0;\n var newW = (~dragMode.indexOf('w')) ? w0 + dx : w0;\n var newE = (~dragMode.indexOf('e')) ? e0 + dx : e0;\n\n // Do things in opposing direction for y-axis.\n // Hint: for data-sized shapes the reversal of axis direction is done in p2y.\n if(~dragMode.indexOf('n') && yPixelSized) newN = n0 - dy;\n if(~dragMode.indexOf('s') && yPixelSized) newS = s0 - dy;\n\n // Update shape eventually. Again, be aware of the\n // opposing direction of the y-axis of fixed size shapes.\n if((!yPixelSized && newS - newN > MINHEIGHT) ||\n (yPixelSized && newN - newS > MINHEIGHT)) {\n modifyItem(optN, shapeOptions[optN] = yPixelSized ? newN : p2y(newN));\n modifyItem(optS, shapeOptions[optS] = yPixelSized ? newS : p2y(newS));\n }\n if(newE - newW > MINWIDTH) {\n modifyItem(optW, shapeOptions[optW] = xPixelSized ? newW : p2x(newW));\n modifyItem(optE, shapeOptions[optE] = xPixelSized ? newE : p2x(newE));\n }\n }\n\n shapePath.attr('d', getPathString(gd, shapeOptions));\n renderVisualCues(shapeLayer, shapeOptions);\n }\n\n function renderVisualCues(shapeLayer, shapeOptions) {\n if(xPixelSized || yPixelSized) {\n renderAnchor();\n }\n\n function renderAnchor() {\n var isNotPath = shapeOptions.type !== 'path';\n\n // d3 join with dummy data to satisfy d3 data-binding\n var visualCues = shapeLayer.selectAll('.visual-cue').data([0]);\n\n // Enter\n var strokeWidth = 1;\n visualCues.enter()\n .append('path')\n .attr({\n 'fill': '#fff',\n 'fill-rule': 'evenodd',\n 'stroke': '#000',\n 'stroke-width': strokeWidth\n })\n .classed('visual-cue', true);\n\n // Update\n var posX = x2p(\n xPixelSized ?\n shapeOptions.xanchor :\n Lib.midRange(\n isNotPath ?\n [shapeOptions.x0, shapeOptions.x1] :\n helpers.extractPathCoords(shapeOptions.path, constants.paramIsX))\n );\n var posY = y2p(\n yPixelSized ?\n shapeOptions.yanchor :\n Lib.midRange(\n isNotPath ?\n [shapeOptions.y0, shapeOptions.y1] :\n helpers.extractPathCoords(shapeOptions.path, constants.paramIsY))\n );\n\n posX = helpers.roundPositionForSharpStrokeRendering(posX, strokeWidth);\n posY = helpers.roundPositionForSharpStrokeRendering(posY, strokeWidth);\n\n if(xPixelSized && yPixelSized) {\n var crossPath = 'M' + (posX - 1 - strokeWidth) + ',' + (posY - 1 - strokeWidth) +\n 'h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z';\n visualCues.attr('d', crossPath);\n } else if(xPixelSized) {\n var vBarPath = 'M' + (posX - 1 - strokeWidth) + ',' + (posY - 9 - strokeWidth) +\n 'v18 h2 v-18 Z';\n visualCues.attr('d', vBarPath);\n } else {\n var hBarPath = 'M' + (posX - 9 - strokeWidth) + ',' + (posY - 1 - strokeWidth) +\n 'h18 v2 h-18 Z';\n visualCues.attr('d', hBarPath);\n }\n }\n }\n\n function removeVisualCues(shapeLayer) {\n shapeLayer.selectAll('.visual-cue').remove();\n }\n\n function deactivateClipPathTemporarily(shapePath, shapeOptions, gd) {\n var xref = shapeOptions.xref;\n var yref = shapeOptions.yref;\n var xa = Axes.getFromId(gd, xref);\n var ya = Axes.getFromId(gd, yref);\n\n var clipAxes = '';\n if(xref !== 'paper' && !xa.autorange) clipAxes += xref;\n if(yref !== 'paper' && !ya.autorange) clipAxes += yref;\n\n Drawing.setClipUrl(\n shapePath,\n clipAxes ? 'clip' + gd._fullLayout._uid + clipAxes : null,\n gd\n );\n }\n}\n\nfunction getPathString(gd, options) {\n var type = options.type;\n var xa = Axes.getFromId(gd, options.xref);\n var ya = Axes.getFromId(gd, options.yref);\n var gs = gd._fullLayout._size;\n var x2r, x2p, y2r, y2p;\n var x0, x1, y0, y1;\n\n if(xa) {\n x2r = helpers.shapePositionToRange(xa);\n x2p = function(v) { return xa._offset + xa.r2p(x2r(v, true)); };\n } else {\n x2p = function(v) { return gs.l + gs.w * v; };\n }\n\n if(ya) {\n y2r = helpers.shapePositionToRange(ya);\n y2p = function(v) { return ya._offset + ya.r2p(y2r(v, true)); };\n } else {\n y2p = function(v) { return gs.t + gs.h * (1 - v); };\n }\n\n if(type === 'path') {\n if(xa && xa.type === 'date') x2p = helpers.decodeDate(x2p);\n if(ya && ya.type === 'date') y2p = helpers.decodeDate(y2p);\n return convertPath(options, x2p, y2p);\n }\n\n if(options.xsizemode === 'pixel') {\n var xAnchorPos = x2p(options.xanchor);\n x0 = xAnchorPos + options.x0;\n x1 = xAnchorPos + options.x1;\n } else {\n x0 = x2p(options.x0);\n x1 = x2p(options.x1);\n }\n\n if(options.ysizemode === 'pixel') {\n var yAnchorPos = y2p(options.yanchor);\n y0 = yAnchorPos - options.y0;\n y1 = yAnchorPos - options.y1;\n } else {\n y0 = y2p(options.y0);\n y1 = y2p(options.y1);\n }\n\n if(type === 'line') return 'M' + x0 + ',' + y0 + 'L' + x1 + ',' + y1;\n if(type === 'rect') return 'M' + x0 + ',' + y0 + 'H' + x1 + 'V' + y1 + 'H' + x0 + 'Z';\n\n // circle\n var cx = (x0 + x1) / 2;\n var cy = (y0 + y1) / 2;\n var rx = Math.abs(cx - x0);\n var ry = Math.abs(cy - y0);\n var rArc = 'A' + rx + ',' + ry;\n var rightPt = (cx + rx) + ',' + cy;\n var topPt = cx + ',' + (cy - ry);\n return 'M' + rightPt + rArc + ' 0 1,1 ' + topPt +\n rArc + ' 0 0,1 ' + rightPt + 'Z';\n}\n\n\nfunction convertPath(options, x2p, y2p) {\n var pathIn = options.path;\n var xSizemode = options.xsizemode;\n var ySizemode = options.ysizemode;\n var xAnchor = options.xanchor;\n var yAnchor = options.yanchor;\n\n return pathIn.replace(constants.segmentRE, function(segment) {\n var paramNumber = 0;\n var segmentType = segment.charAt(0);\n var xParams = constants.paramIsX[segmentType];\n var yParams = constants.paramIsY[segmentType];\n var nParams = constants.numParams[segmentType];\n\n var paramString = segment.substr(1).replace(constants.paramRE, function(param) {\n if(xParams[paramNumber]) {\n if(xSizemode === 'pixel') param = x2p(xAnchor) + Number(param);\n else param = x2p(param);\n } else if(yParams[paramNumber]) {\n if(ySizemode === 'pixel') param = y2p(yAnchor) - Number(param);\n else param = y2p(param);\n }\n paramNumber++;\n\n if(paramNumber > nParams) param = 'X';\n return param;\n });\n\n if(paramNumber > nParams) {\n paramString = paramString.replace(/[\\s,]*X.*/, '');\n Lib.log('Ignoring extra params in segment ' + segment);\n }\n\n return segmentType + paramString;\n });\n}\n\nfunction movePath(pathIn, moveX, moveY) {\n return pathIn.replace(constants.segmentRE, function(segment) {\n var paramNumber = 0;\n var segmentType = segment.charAt(0);\n var xParams = constants.paramIsX[segmentType];\n var yParams = constants.paramIsY[segmentType];\n var nParams = constants.numParams[segmentType];\n\n var paramString = segment.substr(1).replace(constants.paramRE, function(param) {\n if(paramNumber >= nParams) return param;\n\n if(xParams[paramNumber]) param = moveX(param);\n else if(yParams[paramNumber]) param = moveY(param);\n\n paramNumber++;\n\n return param;\n });\n\n return segmentType + paramString;\n });\n}\n\n\n/***/ }),\n\n/***/ \"2381\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n/* eslint-disable new-cap */\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\n\nvar micropolar = __webpack_require__(\"3a99\");\nvar UndoManager = __webpack_require__(\"12c1\");\nvar extendDeepAll = Lib.extendDeepAll;\n\nvar manager = module.exports = {};\n\nmanager.framework = function(_gd) {\n var config, previousConfigClone, plot, convertedInput, container;\n var undoManager = new UndoManager();\n\n function exports(_inputConfig, _container) {\n if(_container) container = _container;\n d3.select(d3.select(container).node().parentNode).selectAll('.svg-container>*:not(.chart-root)').remove();\n\n config = (!config) ?\n _inputConfig :\n extendDeepAll(config, _inputConfig);\n\n if(!plot) plot = micropolar.Axis();\n convertedInput = micropolar.adapter.plotly().convert(config);\n plot.config(convertedInput).render(container);\n _gd.data = config.data;\n _gd.layout = config.layout;\n manager.fillLayout(_gd);\n return config;\n }\n exports.isPolar = true;\n exports.svg = function() { return plot.svg(); };\n exports.getConfig = function() { return config; };\n exports.getLiveConfig = function() {\n return micropolar.adapter.plotly().convert(plot.getLiveConfig(), true);\n };\n exports.getLiveScales = function() { return {t: plot.angularScale(), r: plot.radialScale()}; };\n exports.setUndoPoint = function() {\n var that = this;\n var configClone = micropolar.util.cloneJson(config);\n (function(_configClone, _previousConfigClone) {\n undoManager.add({\n undo: function() {\n if(_previousConfigClone) that(_previousConfigClone);\n },\n redo: function() {\n that(_configClone);\n }\n });\n })(configClone, previousConfigClone);\n previousConfigClone = micropolar.util.cloneJson(configClone);\n };\n exports.undo = function() { undoManager.undo(); };\n exports.redo = function() { undoManager.redo(); };\n return exports;\n};\n\nmanager.fillLayout = function(_gd) {\n var container = d3.select(_gd).selectAll('.plot-container');\n var paperDiv = container.selectAll('.svg-container');\n var paper = _gd.framework && _gd.framework.svg && _gd.framework.svg();\n var dflts = {\n width: 800,\n height: 600,\n paper_bgcolor: Color.background,\n _container: container,\n _paperdiv: paperDiv,\n _paper: paper\n };\n\n _gd._fullLayout = extendDeepAll(dflts, _gd.layout);\n};\n\n\n/***/ }),\n\n/***/ \"23cb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ \"23cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n CLICK_TRANSITION_TIME: 750,\n CLICK_TRANSITION_EASING: 'poly',\n eventDataKeys: [\n // string\n 'currentPath',\n 'root',\n 'entry',\n // no need to add 'parent' here\n\n // percentages i.e. ratios\n 'percentRoot',\n 'percentEntry',\n 'percentParent'\n ],\n gapWithPathbar: 1 // i.e. one pixel\n};\n\n\n/***/ }),\n\n/***/ \"23e7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar getOwnPropertyDescriptor = __webpack_require__(\"06cf\").f;\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar redefine = __webpack_require__(\"6eeb\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar copyConstructorProperties = __webpack_require__(\"e893\");\nvar isForced = __webpack_require__(\"94ca\");\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n\n/***/ \"241c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(\"ca84\");\nvar enumBugKeys = __webpack_require__(\"7839\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"2441\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n */\n\nvar BuildLog = __webpack_require__(\"a6dc\");\nvar Epsilon = __webpack_require__(\"f8a5\");\nvar Intersecter = __webpack_require__(\"9935\");\nvar SegmentChainer = __webpack_require__(\"a626\");\nvar SegmentSelector = __webpack_require__(\"b924\");\nvar GeoJSON = __webpack_require__(\"34cc\");\n\nvar buildLog = false;\nvar epsilon = Epsilon();\n\nvar PolyBool;\nPolyBool = {\n\t// getter/setter for buildLog\n\tbuildLog: function(bl){\n\t\tif (bl === true)\n\t\t\tbuildLog = BuildLog();\n\t\telse if (bl === false)\n\t\t\tbuildLog = false;\n\t\treturn buildLog === false ? false : buildLog.list;\n\t},\n\t// getter/setter for epsilon\n\tepsilon: function(v){\n\t\treturn epsilon.epsilon(v);\n\t},\n\n\t// core API\n\tsegments: function(poly){\n\t\tvar i = Intersecter(true, epsilon, buildLog);\n\t\tpoly.regions.forEach(i.addRegion);\n\t\treturn {\n\t\t\tsegments: i.calculate(poly.inverted),\n\t\t\tinverted: poly.inverted\n\t\t};\n\t},\n\tcombine: function(segments1, segments2){\n\t\tvar i3 = Intersecter(false, epsilon, buildLog);\n\t\treturn {\n\t\t\tcombined: i3.calculate(\n\t\t\t\tsegments1.segments, segments1.inverted,\n\t\t\t\tsegments2.segments, segments2.inverted\n\t\t\t),\n\t\t\tinverted1: segments1.inverted,\n\t\t\tinverted2: segments2.inverted\n\t\t};\n\t},\n\tselectUnion: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.union(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 || combined.inverted2\n\t\t}\n\t},\n\tselectIntersect: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.intersect(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 && combined.inverted2\n\t\t}\n\t},\n\tselectDifference: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.difference(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 && !combined.inverted2\n\t\t}\n\t},\n\tselectDifferenceRev: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.differenceRev(combined.combined, buildLog),\n\t\t\tinverted: !combined.inverted1 && combined.inverted2\n\t\t}\n\t},\n\tselectXor: function(combined){\n\t\treturn {\n\t\t\tsegments: SegmentSelector.xor(combined.combined, buildLog),\n\t\t\tinverted: combined.inverted1 !== combined.inverted2\n\t\t}\n\t},\n\tpolygon: function(segments){\n\t\treturn {\n\t\t\tregions: SegmentChainer(segments.segments, epsilon, buildLog),\n\t\t\tinverted: segments.inverted\n\t\t};\n\t},\n\n\t// GeoJSON converters\n\tpolygonFromGeoJSON: function(geojson){\n\t\treturn GeoJSON.toPolygon(PolyBool, geojson);\n\t},\n\tpolygonToGeoJSON: function(poly){\n\t\treturn GeoJSON.fromPolygon(PolyBool, epsilon, poly);\n\t},\n\n\t// helper functions for common operations\n\tunion: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectUnion);\n\t},\n\tintersect: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectIntersect);\n\t},\n\tdifference: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectDifference);\n\t},\n\tdifferenceRev: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectDifferenceRev);\n\t},\n\txor: function(poly1, poly2){\n\t\treturn operate(poly1, poly2, PolyBool.selectXor);\n\t}\n};\n\nfunction operate(poly1, poly2, selector){\n\tvar seg1 = PolyBool.segments(poly1);\n\tvar seg2 = PolyBool.segments(poly2);\n\tvar comb = PolyBool.combine(seg1, seg2);\n\tvar seg3 = selector(comb);\n\treturn PolyBool.polygon(seg3);\n}\n\nif (typeof window === 'object')\n\twindow.PolyBool = PolyBool;\n\nmodule.exports = PolyBool;\n\n\n/***/ }),\n\n/***/ \"2456\":\n/***/ (function(module, exports) {\n\nmodule.exports = squaredLength;\n\n/**\n * Calculates the squared length of a vec3\n *\n * @param {vec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nfunction squaredLength(a) {\n var x = a[0],\n y = a[1],\n z = a[2]\n return x*x + y*y + z*z\n}\n\n/***/ }),\n\n/***/ \"24ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n \"use restrict\";\n\nvar bits = __webpack_require__(\"a48a\")\n , UnionFind = __webpack_require__(\"dca5\")\n\n//Returns the dimension of a cell complex\nfunction dimension(cells) {\n var d = 0\n , max = Math.max\n for(var i=0, il=cells.length; i> 1\n , s = compareCells(cells[mid], c)\n if(s <= 0) {\n if(s === 0) {\n r = mid\n }\n lo = mid + 1\n } else if(s > 0) {\n hi = mid - 1\n }\n }\n return r\n}\nexports.findCell = findCell;\n\n//Builds an index for an n-cell. This is more general than dual, but less efficient\nfunction incidence(from_cells, to_cells) {\n var index = new Array(from_cells.length)\n for(var i=0, il=index.length; i= from_cells.length || compareCells(from_cells[idx], b) !== 0) {\n break\n }\n }\n }\n }\n return index\n}\nexports.incidence = incidence\n\n//Computes the dual of the mesh. This is basically an optimized version of buildIndex for the situation where from_cells is just the list of vertices\nfunction dual(cells, vertex_count) {\n if(!vertex_count) {\n return incidence(unique(skeleton(cells, 0)), cells, 0)\n }\n var res = new Array(vertex_count)\n for(var i=0; i>> k) & 1) {\n b.push(c[k])\n }\n }\n result.push(b)\n }\n }\n return normalize(result)\n}\nexports.explode = explode\n\n//Enumerates all of the n-cells of a cell complex\nfunction skeleton(cells, n) {\n if(n < 0) {\n return []\n }\n var result = []\n , k0 = (1<<(n+1))-1\n for(var i=0; i 2 / 3) anchor = 'right';\n else anchor = 'center';\n }\n return {\n center: 0,\n middle: 0,\n left: 0.5,\n bottom: -0.5,\n right: -0.5,\n top: 0.5\n }[anchor];\n }\n\n var annotationIsOffscreen = false;\n var letters = ['x', 'y'];\n\n for(var i = 0; i < letters.length; i++) {\n var axLetter = letters[i];\n var axRef = options[axLetter + 'ref'] || axLetter;\n var tailRef = options['a' + axLetter + 'ref'];\n var ax = {x: xa, y: ya}[axLetter];\n var dimAngle = (textangle + (axLetter === 'x' ? 0 : -90)) * Math.PI / 180;\n // note that these two can be either positive or negative\n var annSizeFromWidth = outerWidth * Math.cos(dimAngle);\n var annSizeFromHeight = outerHeight * Math.sin(dimAngle);\n // but this one is the positive total size\n var annSize = Math.abs(annSizeFromWidth) + Math.abs(annSizeFromHeight);\n var anchor = options[axLetter + 'anchor'];\n var overallShift = options[axLetter + 'shift'] * (axLetter === 'x' ? 1 : -1);\n var posPx = annPosPx[axLetter];\n var basePx;\n var textPadShift;\n var alignPosition;\n var autoAlignFraction;\n var textShift;\n\n /*\n * calculate the *primary* pixel position\n * which is the arrowhead if there is one,\n * otherwise the text anchor point\n */\n if(ax) {\n // check if annotation is off screen, to bypass DOM manipulations\n var posFraction = ax.r2fraction(options[axLetter]);\n if(posFraction < 0 || posFraction > 1) {\n if(tailRef === axRef) {\n posFraction = ax.r2fraction(options['a' + axLetter]);\n if(posFraction < 0 || posFraction > 1) {\n annotationIsOffscreen = true;\n }\n } else {\n annotationIsOffscreen = true;\n }\n }\n basePx = ax._offset + ax.r2p(options[axLetter]);\n autoAlignFraction = 0.5;\n } else {\n if(axLetter === 'x') {\n alignPosition = options[axLetter];\n basePx = gs.l + gs.w * alignPosition;\n } else {\n alignPosition = 1 - options[axLetter];\n basePx = gs.t + gs.h * alignPosition;\n }\n autoAlignFraction = options.showarrow ? 0.5 : alignPosition;\n }\n\n // now translate this into pixel positions of head, tail, and text\n // as well as paddings for autorange\n if(options.showarrow) {\n posPx.head = basePx;\n\n var arrowLength = options['a' + axLetter];\n\n // with an arrow, the text rotates around the anchor point\n textShift = annSizeFromWidth * shiftFraction(0.5, options.xanchor) -\n annSizeFromHeight * shiftFraction(0.5, options.yanchor);\n\n if(tailRef === axRef) {\n posPx.tail = ax._offset + ax.r2p(arrowLength);\n // tail is data-referenced: autorange pads the text in px from the tail\n textPadShift = textShift;\n } else {\n posPx.tail = basePx + arrowLength;\n // tail is specified in px from head, so autorange also pads vs head\n textPadShift = textShift + arrowLength;\n }\n\n posPx.text = posPx.tail + textShift;\n\n // constrain pixel/paper referenced so the draggers are at least\n // partially visible\n var maxPx = fullLayout[(axLetter === 'x') ? 'width' : 'height'];\n if(axRef === 'paper') {\n posPx.head = Lib.constrain(posPx.head, 1, maxPx - 1);\n }\n if(tailRef === 'pixel') {\n var shiftPlus = -Math.max(posPx.tail - 3, posPx.text);\n var shiftMinus = Math.min(posPx.tail + 3, posPx.text) - maxPx;\n if(shiftPlus > 0) {\n posPx.tail += shiftPlus;\n posPx.text += shiftPlus;\n } else if(shiftMinus > 0) {\n posPx.tail -= shiftMinus;\n posPx.text -= shiftMinus;\n }\n }\n\n posPx.tail += overallShift;\n posPx.head += overallShift;\n } else {\n // with no arrow, the text rotates and *then* we put the anchor\n // relative to the new bounding box\n textShift = annSize * shiftFraction(autoAlignFraction, anchor);\n textPadShift = textShift;\n posPx.text = basePx + textShift;\n }\n\n posPx.text += overallShift;\n textShift += overallShift;\n textPadShift += overallShift;\n\n // padplus/minus are used by autorange\n options['_' + axLetter + 'padplus'] = (annSize / 2) + textPadShift;\n options['_' + axLetter + 'padminus'] = (annSize / 2) - textPadShift;\n\n // size/shift are used during dragging\n options['_' + axLetter + 'size'] = annSize;\n options['_' + axLetter + 'shift'] = textShift;\n }\n\n if(annotationIsOffscreen) {\n annTextGroupInner.remove();\n return;\n }\n\n var xShift = 0;\n var yShift = 0;\n\n if(options.align !== 'left') {\n xShift = (annWidth - textWidth) * (options.align === 'center' ? 0.5 : 1);\n }\n if(options.valign !== 'top') {\n yShift = (annHeight - textHeight) * (options.valign === 'middle' ? 0.5 : 1);\n }\n\n if(hasMathjax) {\n mathjaxGroup.select('svg').attr({\n x: borderfull + xShift - 1,\n y: borderfull + yShift\n })\n .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null, gd);\n } else {\n var texty = borderfull + yShift - anntextBB.top;\n var textx = borderfull + xShift - anntextBB.left;\n\n annText.call(svgTextUtils.positionText, textx, texty)\n .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null, gd);\n }\n\n annTextClip.select('rect').call(Drawing.setRect, borderfull, borderfull,\n annWidth, annHeight);\n\n annTextBG.call(Drawing.setRect, borderwidth / 2, borderwidth / 2,\n outerWidth - borderwidth, outerHeight - borderwidth);\n\n annTextGroupInner.call(Drawing.setTranslate,\n Math.round(annPosPx.x.text - outerWidth / 2),\n Math.round(annPosPx.y.text - outerHeight / 2));\n\n /*\n * rotate text and background\n * we already calculated the text center position *as rotated*\n * because we needed that for autoranging anyway, so now whether\n * we have an arrow or not, we rotate about the text center.\n */\n annTextGroup.attr({transform: 'rotate(' + textangle + ',' +\n annPosPx.x.text + ',' + annPosPx.y.text + ')'});\n\n /*\n * add the arrow\n * uses options[arrowwidth,arrowcolor,arrowhead] for styling\n * dx and dy are normally zero, but when you are dragging the textbox\n * while the head stays put, dx and dy are the pixel offsets\n */\n var drawArrow = function(dx, dy) {\n annGroup\n .selectAll('.annotation-arrow-g')\n .remove();\n\n var headX = annPosPx.x.head;\n var headY = annPosPx.y.head;\n var tailX = annPosPx.x.tail + dx;\n var tailY = annPosPx.y.tail + dy;\n var textX = annPosPx.x.text + dx;\n var textY = annPosPx.y.text + dy;\n\n // find the edge of the text box, where we'll start the arrow:\n // create transform matrix to rotate the text box corners\n var transform = Lib.rotationXYMatrix(textangle, textX, textY);\n var applyTransform = Lib.apply2DTransform(transform);\n var applyTransform2 = Lib.apply2DTransform2(transform);\n\n // calculate and transform bounding box\n var width = +annTextBG.attr('width');\n var height = +annTextBG.attr('height');\n var xLeft = textX - 0.5 * width;\n var xRight = xLeft + width;\n var yTop = textY - 0.5 * height;\n var yBottom = yTop + height;\n var edges = [\n [xLeft, yTop, xLeft, yBottom],\n [xLeft, yBottom, xRight, yBottom],\n [xRight, yBottom, xRight, yTop],\n [xRight, yTop, xLeft, yTop]\n ].map(applyTransform2);\n\n // Remove the line if it ends inside the box. Use ray\n // casting for rotated boxes: see which edges intersect a\n // line from the arrowhead to far away and reduce with xor\n // to get the parity of the number of intersections.\n if(edges.reduce(function(a, x) {\n return a ^\n !!Lib.segmentsIntersect(headX, headY, headX + 1e6, headY + 1e6,\n x[0], x[1], x[2], x[3]);\n }, false)) {\n // no line or arrow - so quit drawArrow now\n return;\n }\n\n edges.forEach(function(x) {\n var p = Lib.segmentsIntersect(tailX, tailY, headX, headY,\n x[0], x[1], x[2], x[3]);\n if(p) {\n tailX = p.x;\n tailY = p.y;\n }\n });\n\n var strokewidth = options.arrowwidth;\n var arrowColor = options.arrowcolor;\n var arrowSide = options.arrowside;\n\n var arrowGroup = annGroup.append('g')\n .style({opacity: Color.opacity(arrowColor)})\n .classed('annotation-arrow-g', true);\n\n var arrow = arrowGroup.append('path')\n .attr('d', 'M' + tailX + ',' + tailY + 'L' + headX + ',' + headY)\n .style('stroke-width', strokewidth + 'px')\n .call(Color.stroke, Color.rgb(arrowColor));\n\n drawArrowHead(arrow, arrowSide, options);\n\n // the arrow dragger is a small square right at the head, then a line to the tail,\n // all expanded by a stroke width of 6px plus the arrow line width\n if(edits.annotationPosition && arrow.node().parentNode && !subplotId) {\n var arrowDragHeadX = headX;\n var arrowDragHeadY = headY;\n if(options.standoff) {\n var arrowLength = Math.sqrt(Math.pow(headX - tailX, 2) + Math.pow(headY - tailY, 2));\n arrowDragHeadX += options.standoff * (tailX - headX) / arrowLength;\n arrowDragHeadY += options.standoff * (tailY - headY) / arrowLength;\n }\n var arrowDrag = arrowGroup.append('path')\n .classed('annotation-arrow', true)\n .classed('anndrag', true)\n .classed('cursor-move', true)\n .attr({\n d: 'M3,3H-3V-3H3ZM0,0L' + (tailX - arrowDragHeadX) + ',' + (tailY - arrowDragHeadY),\n transform: 'translate(' + arrowDragHeadX + ',' + arrowDragHeadY + ')'\n })\n .style('stroke-width', (strokewidth + 6) + 'px')\n .call(Color.stroke, 'rgba(0,0,0,0)')\n .call(Color.fill, 'rgba(0,0,0,0)');\n\n var annx0, anny0;\n\n // dragger for the arrow & head: translates the whole thing\n // (head/tail/text) all together\n dragElement.init({\n element: arrowDrag.node(),\n gd: gd,\n prepFn: function() {\n var pos = Drawing.getTranslate(annTextGroupInner);\n\n annx0 = pos.x;\n anny0 = pos.y;\n if(xa && xa.autorange) {\n modifyBase(xa._name + '.autorange', true);\n }\n if(ya && ya.autorange) {\n modifyBase(ya._name + '.autorange', true);\n }\n },\n moveFn: function(dx, dy) {\n var annxy0 = applyTransform(annx0, anny0);\n var xcenter = annxy0[0] + dx;\n var ycenter = annxy0[1] + dy;\n annTextGroupInner.call(Drawing.setTranslate, xcenter, ycenter);\n\n modifyItem('x', xa ?\n xa.p2r(xa.r2p(options.x) + dx) :\n (options.x + (dx / gs.w)));\n modifyItem('y', ya ?\n ya.p2r(ya.r2p(options.y) + dy) :\n (options.y - (dy / gs.h)));\n\n if(options.axref === options.xref) {\n modifyItem('ax', xa.p2r(xa.r2p(options.ax) + dx));\n }\n\n if(options.ayref === options.yref) {\n modifyItem('ay', ya.p2r(ya.r2p(options.ay) + dy));\n }\n\n arrowGroup.attr('transform', 'translate(' + dx + ',' + dy + ')');\n annTextGroup.attr({\n transform: 'rotate(' + textangle + ',' +\n xcenter + ',' + ycenter + ')'\n });\n },\n doneFn: function() {\n Registry.call('_guiRelayout', gd, getUpdateObj());\n var notesBox = document.querySelector('.js-notes-box-panel');\n if(notesBox) notesBox.redraw(notesBox.selectedObj);\n }\n });\n }\n };\n\n if(options.showarrow) drawArrow(0, 0);\n\n // user dragging the annotation (text, not arrow)\n if(editTextPosition) {\n var baseTextTransform;\n\n // dragger for the textbox: if there's an arrow, just drag the\n // textbox and tail, leave the head untouched\n dragElement.init({\n element: annTextGroupInner.node(),\n gd: gd,\n prepFn: function() {\n baseTextTransform = annTextGroup.attr('transform');\n },\n moveFn: function(dx, dy) {\n var csr = 'pointer';\n if(options.showarrow) {\n if(options.axref === options.xref) {\n modifyItem('ax', xa.p2r(xa.r2p(options.ax) + dx));\n } else {\n modifyItem('ax', options.ax + dx);\n }\n\n if(options.ayref === options.yref) {\n modifyItem('ay', ya.p2r(ya.r2p(options.ay) + dy));\n } else {\n modifyItem('ay', options.ay + dy);\n }\n\n drawArrow(dx, dy);\n } else if(!subplotId) {\n var xUpdate, yUpdate;\n if(xa) {\n xUpdate = xa.p2r(xa.r2p(options.x) + dx);\n } else {\n var widthFraction = options._xsize / gs.w;\n var xLeft = options.x + (options._xshift - options.xshift) / gs.w - widthFraction / 2;\n\n xUpdate = dragElement.align(xLeft + dx / gs.w,\n widthFraction, 0, 1, options.xanchor);\n }\n\n if(ya) {\n yUpdate = ya.p2r(ya.r2p(options.y) + dy);\n } else {\n var heightFraction = options._ysize / gs.h;\n var yBottom = options.y - (options._yshift + options.yshift) / gs.h - heightFraction / 2;\n\n yUpdate = dragElement.align(yBottom - dy / gs.h,\n heightFraction, 0, 1, options.yanchor);\n }\n modifyItem('x', xUpdate);\n modifyItem('y', yUpdate);\n if(!xa || !ya) {\n csr = dragElement.getCursor(\n xa ? 0.5 : xUpdate,\n ya ? 0.5 : yUpdate,\n options.xanchor, options.yanchor\n );\n }\n } else return;\n\n annTextGroup.attr({\n transform: 'translate(' + dx + ',' + dy + ')' + baseTextTransform\n });\n\n setCursor(annTextGroupInner, csr);\n },\n clickFn: function(_, initialEvent) {\n if(options.captureevents) {\n gd.emit('plotly_clickannotation', makeEventData(initialEvent));\n }\n },\n doneFn: function() {\n setCursor(annTextGroupInner);\n Registry.call('_guiRelayout', gd, getUpdateObj());\n var notesBox = document.querySelector('.js-notes-box-panel');\n if(notesBox) notesBox.redraw(notesBox.selectedObj);\n }\n });\n }\n }\n\n if(edits.annotationText) {\n annText.call(svgTextUtils.makeEditable, {delegate: annTextGroupInner, gd: gd})\n .call(textLayout)\n .on('edit', function(_text) {\n options.text = _text;\n\n this.call(textLayout);\n\n modifyItem('text', _text);\n\n if(xa && xa.autorange) {\n modifyBase(xa._name + '.autorange', true);\n }\n if(ya && ya.autorange) {\n modifyBase(ya._name + '.autorange', true);\n }\n\n Registry.call('_guiRelayout', gd, getUpdateObj());\n });\n } else annText.call(textLayout);\n}\n\n\n/***/ }),\n\n/***/ \"25be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar d = __webpack_require__(\"f508\")\n , validateSymbol = __webpack_require__(\"b380\");\n\nvar registry = Object.create(null);\n\nmodule.exports = function (SymbolPolyfill) {\n\treturn Object.defineProperties(SymbolPolyfill, {\n\t\tfor: d(function (key) {\n\t\t\tif (registry[key]) return registry[key];\n\t\t\treturn (registry[key] = SymbolPolyfill(String(key)));\n\t\t}),\n\t\tkeyFor: d(function (symbol) {\n\t\t\tvar key;\n\t\t\tvalidateSymbol(symbol);\n\t\t\tfor (key in registry) {\n\t\t\t\tif (registry[key] === symbol) return key;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t})\n\t});\n};\n\n\n/***/ }),\n\n/***/ \"25f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attrs = __webpack_require__(\"4ce7\");\n\nmodule.exports = function(layoutIn, layoutOut, fullData) {\n var subplotsDone = {};\n var sp;\n\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn[sp] || {}, layoutOut[sp], attrs, attr, dflt);\n }\n\n for(var i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n if(trace.type === 'barpolar' && trace.visible === true) {\n sp = trace.subplot;\n if(!subplotsDone[sp]) {\n coerce('barmode');\n coerce('bargap');\n subplotsDone[sp] = 1;\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"25f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n/*\n * Given a 2D array as well as a basis in either direction, this function fills in the\n * 2D array using a combination of smoothing and extrapolation. This is rather important\n * for carpet plots since it's used for layout so that we can't simply omit or blank out\n * points. We need a reasonable guess so that the interpolation puts points somewhere\n * even if we were to somehow represent that the data was missing later on.\n *\n * input:\n * - data: 2D array of arrays\n * - a: array such that a.length === data[0].length\n * - b: array such that b.length === data.length\n */\nmodule.exports = function smoothFill2dArray(data, a, b) {\n var i, j, k;\n var ip = [];\n var jp = [];\n // var neighborCnts = [];\n\n var ni = data[0].length;\n var nj = data.length;\n\n function avgSurrounding(i, j) {\n // As a low-quality start, we can simply average surrounding points (in a not\n // non-uniform grid aware manner):\n var sum = 0.0;\n var val;\n var cnt = 0;\n if(i > 0 && (val = data[j][i - 1]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(i < ni - 1 && (val = data[j][i + 1]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(j > 0 && (val = data[j - 1][i]) !== undefined) {\n cnt++;\n sum += val;\n }\n if(j < nj - 1 && (val = data[j + 1][i]) !== undefined) {\n cnt++;\n sum += val;\n }\n return sum / Math.max(1, cnt);\n }\n\n // This loop iterates over all cells. Any cells that are null will be noted and those\n // are the only points we will loop over and update via laplace's equation. Points with\n // any neighbors will receive the average. If there are no neighboring points, then they\n // will be set to zero. Also as we go, track the maximum magnitude so that we can scale\n // our tolerance accordingly.\n var dmax = 0.0;\n for(i = 0; i < ni; i++) {\n for(j = 0; j < nj; j++) {\n if(data[j][i] === undefined) {\n ip.push(i);\n jp.push(j);\n\n data[j][i] = avgSurrounding(i, j);\n // neighborCnts.push(result.neighbors);\n }\n dmax = Math.max(dmax, Math.abs(data[j][i]));\n }\n }\n\n if(!ip.length) return data;\n\n // The tolerance doesn't need to be excessive. It's just for display positioning\n var dxp, dxm, dap, dam, dbp, dbm, c, d, diff, reldiff, overrelaxation;\n var tol = 1e-5;\n var resid = 0;\n var itermax = 100;\n var iter = 0;\n var n = ip.length;\n do {\n resid = 0;\n // Normally we'd loop in two dimensions, but not all points are blank and need\n // an update, so we instead loop only over the points that were tabulated above\n for(k = 0; k < n; k++) {\n i = ip[k];\n j = jp[k];\n // neighborCnt = neighborCnts[k];\n\n // Track a counter for how many contributions there are. We'll use this counter\n // to average at the end, which reduces to laplace's equation with neumann boundary\n // conditions on the first derivative (second derivative is zero so that we get\n // a nice linear extrapolation at the boundaries).\n var boundaryCnt = 0;\n var newVal = 0;\n\n var d0, d1, x0, x1, i0, j0;\n if(i === 0) {\n // If this lies along the i = 0 boundary, extrapolate from the two points\n // to the right of this point. Note that the finite differences take into\n // account non-uniform grid spacing:\n i0 = Math.min(ni - 1, 2);\n x0 = a[i0];\n x1 = a[1];\n d0 = data[j][i0];\n d1 = data[j][1];\n newVal += d1 + (d1 - d0) * (a[0] - x1) / (x1 - x0);\n boundaryCnt++;\n } else if(i === ni - 1) {\n // If along the high i boundary, extrapolate from the two points to the\n // left of this point\n i0 = Math.max(0, ni - 3);\n x0 = a[i0];\n x1 = a[ni - 2];\n d0 = data[j][i0];\n d1 = data[j][ni - 2];\n newVal += d1 + (d1 - d0) * (a[ni - 1] - x1) / (x1 - x0);\n boundaryCnt++;\n }\n\n if((i === 0 || i === ni - 1) && (j > 0 && j < nj - 1)) {\n // If along the min(i) or max(i) boundaries, also smooth vertically as long\n // as we're not in a corner. Note that the finite differences used here\n // are also aware of nonuniform grid spacing:\n dxp = b[j + 1] - b[j];\n dxm = b[j] - b[j - 1];\n newVal += (dxm * data[j + 1][i] + dxp * data[j - 1][i]) / (dxm + dxp);\n boundaryCnt++;\n }\n\n if(j === 0) {\n // If along the j = 0 boundary, extrpolate this point from the two points\n // above it\n j0 = Math.min(nj - 1, 2);\n x0 = b[j0];\n x1 = b[1];\n d0 = data[j0][i];\n d1 = data[1][i];\n newVal += d1 + (d1 - d0) * (b[0] - x1) / (x1 - x0);\n boundaryCnt++;\n } else if(j === nj - 1) {\n // Same for the max j boundary from the cells below it:\n j0 = Math.max(0, nj - 3);\n x0 = b[j0];\n x1 = b[nj - 2];\n d0 = data[j0][i];\n d1 = data[nj - 2][i];\n newVal += d1 + (d1 - d0) * (b[nj - 1] - x1) / (x1 - x0);\n boundaryCnt++;\n }\n\n if((j === 0 || j === nj - 1) && (i > 0 && i < ni - 1)) {\n // Now average points to the left/right as long as not in a corner:\n dxp = a[i + 1] - a[i];\n dxm = a[i] - a[i - 1];\n newVal += (dxm * data[j][i + 1] + dxp * data[j][i - 1]) / (dxm + dxp);\n boundaryCnt++;\n }\n\n if(!boundaryCnt) {\n // If none of the above conditions were triggered, then this is an interior\n // point and we can just do a laplace equation update. As above, these differences\n // are aware of nonuniform grid spacing:\n dap = a[i + 1] - a[i];\n dam = a[i] - a[i - 1];\n dbp = b[j + 1] - b[j];\n dbm = b[j] - b[j - 1];\n\n // These are just some useful constants for the iteration, which is perfectly\n // straightforward but a little long to derive from f_xx + f_yy = 0.\n c = dap * dam * (dap + dam);\n d = dbp * dbm * (dbp + dbm);\n\n newVal = (c * (dbm * data[j + 1][i] + dbp * data[j - 1][i]) +\n d * (dam * data[j][i + 1] + dap * data[j][i - 1])) /\n (d * (dam + dap) + c * (dbm + dbp));\n } else {\n // If we did have contributions from the boundary conditions, then average\n // the result from the various contributions:\n newVal /= boundaryCnt;\n }\n\n // Jacobi updates are ridiculously slow to converge, so this approach uses a\n // Gauss-seidel iteration which is dramatically faster.\n diff = newVal - data[j][i];\n reldiff = diff / dmax;\n resid += reldiff * reldiff;\n\n // Gauss-Seidel-ish iteration, omega chosen based on heuristics and some\n // quick tests.\n //\n // NB: Don't overrelax the boundarie. Otherwise set an overrelaxation factor\n // which is a little low but safely optimal-ish:\n overrelaxation = boundaryCnt ? 0 : 0.85;\n\n // If there are four non-null neighbors, then we want a simple average without\n // overrelaxation. If all the surrouding points are null, then we want the full\n // overrelaxation\n //\n // Based on experiments, this actually seems to slow down convergence just a bit.\n // I'll leave it here for reference in case this needs to be revisited, but\n // it seems to work just fine without this.\n // if (overrelaxation) overrelaxation *= (4 - neighborCnt) / 4;\n\n data[j][i] += diff * (1 + overrelaxation);\n }\n\n resid = Math.sqrt(resid);\n } while(iter++ < itermax && resid > tol);\n\n Lib.log('Smoother converged to', resid, 'after', iter, 'iterations');\n\n return data;\n};\n\n\n/***/ }),\n\n/***/ \"262a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar resolveException = __webpack_require__(\"84d3\")\n , is = __webpack_require__(\"936a\");\n\nmodule.exports = function (value/*, options*/) {\n\tif (is(value)) return value;\n\treturn resolveException(value, \"Cannot use %v\", arguments[1]);\n};\n\n\n/***/ }),\n\n/***/ \"2638\":\n/***/ (function(module, exports) {\n\nmodule.exports = create\n\n/**\n * Creates a new, empty vec4\n *\n * @returns {vec4} a new 4D vector\n */\nfunction create () {\n var out = new Float32Array(4)\n out[0] = 0\n out[1] = 0\n out[2] = 0\n out[3] = 0\n return out\n}\n\n\n/***/ }),\n\n/***/ \"265e\":\n/***/ (function(module, exports) {\n\nmodule.exports = copy\n\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the source vector\n * @returns {vec4} out\n */\nfunction copy (out, a) {\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n out[3] = a[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"26a7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createErrorBars\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"531f\")\n\nvar IDENTITY = [1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction ErrorBars(gl, buffer, vao, shader) {\n this.gl = gl\n this.shader = shader\n this.buffer = buffer\n this.vao = vao\n this.pixelRatio = 1\n this.bounds = [[ Infinity, Infinity, Infinity], [-Infinity,-Infinity,-Infinity]]\n this.clipBounds = [[-Infinity,-Infinity,-Infinity], [ Infinity, Infinity, Infinity]]\n this.lineWidth = [1,1,1]\n this.capSize = [10,10,10]\n this.lineCount = [0,0,0]\n this.lineOffset = [0,0,0]\n this.opacity = 1\n this.hasAlpha = false\n}\n\nvar proto = ErrorBars.prototype\n\nproto.isOpaque = function() {\n return !this.hasAlpha\n}\n\nproto.isTransparent = function() {\n return this.hasAlpha\n}\n\nproto.drawTransparent = proto.draw = function(cameraParams) {\n var gl = this.gl\n var uniforms = this.shader.uniforms\n\n this.shader.bind()\n var view = uniforms.view = cameraParams.view || IDENTITY\n var projection = uniforms.projection = cameraParams.projection || IDENTITY\n uniforms.model = cameraParams.model || IDENTITY\n uniforms.clipBounds = this.clipBounds\n uniforms.opacity = this.opacity\n\n\n var cx = view[12]\n var cy = view[13]\n var cz = view[14]\n var cw = view[15]\n\n var isOrtho = cameraParams._ortho || false\n var orthoFix = (isOrtho) ? 2 : 1 // double up padding for orthographic ticks & labels\n var pixelScaleF = orthoFix * this.pixelRatio * (projection[3]*cx + projection[7]*cy + projection[11]*cz + projection[15]*cw) / gl.drawingBufferHeight\n\n this.vao.bind()\n for(var i=0; i<3; ++i) {\n gl.lineWidth(this.lineWidth[i] * this.pixelRatio)\n uniforms.capSize = this.capSize[i] * pixelScaleF\n if (this.lineCount[i]) {\n gl.drawArrays(gl.LINES, this.lineOffset[i], this.lineCount[i])\n }\n }\n this.vao.unbind()\n}\n\nfunction updateBounds(bounds, point) {\n for(var i=0; i<3; ++i) {\n bounds[0][i] = Math.min(bounds[0][i], point[i])\n bounds[1][i] = Math.max(bounds[1][i], point[i])\n }\n}\n\nvar FACE_TABLE = (function(){\n var table = new Array(3)\n for(var d=0; d<3; ++d) {\n var row = []\n for(var j=1; j<=2; ++j) {\n for(var s=-1; s<=1; s+=2) {\n var u = (j+d) % 3\n var y = [0,0,0]\n y[u] = s\n row.push(y)\n }\n }\n table[d] = row\n }\n return table\n})()\n\n\nfunction emitFace(verts, x, c, d) {\n var offsets = FACE_TABLE[d]\n for(var i=0; i 0) {\n var x = p.slice()\n x[j] += e[1][j]\n verts.push(p[0], p[1], p[2],\n c[0], c[1], c[2], c[3],\n 0, 0, 0,\n x[0], x[1], x[2],\n c[0], c[1], c[2], c[3],\n 0, 0, 0)\n updateBounds(this.bounds, x)\n vertexCount += 2 + emitFace(verts, x, c, j)\n }\n }\n this.lineCount[j] = vertexCount - this.lineOffset[j]\n }\n this.buffer.update(verts)\n }\n}\n\nproto.dispose = function() {\n this.shader.dispose()\n this.buffer.dispose()\n this.vao.dispose()\n}\n\nfunction createErrorBars(options) {\n var gl = options.gl\n var buffer = createBuffer(gl)\n var vao = createVAO(gl, [\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 0,\n stride: 40\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 4,\n offset: 12,\n stride: 40\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 28,\n stride: 40\n }\n ])\n\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.color.location = 1\n shader.attributes.offset.location = 2\n\n var result = new ErrorBars(gl, buffer, vao, shader)\n result.update(options)\n return result\n}\n\n\n/***/ }),\n\n/***/ \"26cf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar pool = __webpack_require__(\"cea5\")\nvar inverse = __webpack_require__(\"f31e\")\n\nfunction rank(permutation) {\n var n = permutation.length\n switch(n) {\n case 0:\n case 1:\n return 0\n case 2:\n return permutation[1]\n default:\n break\n }\n var p = pool.mallocUint32(n)\n var pinv = pool.mallocUint32(n)\n var r = 0, s, t, i\n inverse(permutation, pinv)\n for(i=0; i0; --i) {\n t = pinv[i]\n s = p[i]\n p[i] = p[t]\n p[t] = s\n pinv[i] = pinv[s]\n pinv[s] = t\n r = (r + s) * i\n }\n pool.freeUint32(pinv)\n pool.freeUint32(p)\n return r\n}\n\nfunction unrank(n, r, p) {\n switch(n) {\n case 0:\n if(p) { return p }\n return []\n case 1:\n if(p) {\n p[0] = 0\n return p\n } else {\n return [0]\n }\n case 2:\n if(p) {\n if(r) {\n p[0] = 0\n p[1] = 1\n } else {\n p[0] = 1\n p[1] = 0\n }\n return p\n } else {\n return r ? [0,1] : [1,0]\n }\n default:\n break\n }\n p = p || new Array(n)\n var s, t, i, nf=1\n p[0] = 0\n for(i=1; i0; --i) {\n s = (r / nf)|0\n r = (r - s * nf)|0\n nf = (nf / i)|0\n t = p[i]|0\n p[i] = p[s]|0\n p[s] = t|0\n }\n return p\n}\n\nexports.rank = rank\nexports.unrank = unrank\n\n\n/***/ }),\n\n/***/ \"26d1\":\n/***/ (function(module, exports) {\n\nmodule.exports = transformQuat;\n\n/**\n * Transforms the vec3 with a quat\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to transform\n * @param {quat} q quaternion to transform with\n * @returns {vec3} out\n */\nfunction transformQuat(out, a, q) {\n // benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations\n\n var x = a[0], y = a[1], z = a[2],\n qx = q[0], qy = q[1], qz = q[2], qw = q[3],\n\n // calculate quat * vec\n ix = qw * x + qy * z - qz * y,\n iy = qw * y + qz * x - qx * z,\n iz = qw * z + qx * y - qy * x,\n iw = -qx * x - qy * y - qz * z\n\n // calculate result * inverse quat\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx\n return out\n}\n\n/***/ }),\n\n/***/ \"26dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar c = __webpack_require__(\"0d59\");\nvar d3 = __webpack_require__(\"6e58\");\nvar gup = __webpack_require__(\"0a3e\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgUtil = __webpack_require__(\"0379\");\nvar raiseToTop = __webpack_require__(\"fc26\").raiseToTop;\nvar cancelEeaseColumn = __webpack_require__(\"fc26\").cancelTransition;\nvar prepareData = __webpack_require__(\"8766\");\nvar splitData = __webpack_require__(\"7815\");\nvar Color = __webpack_require__(\"d115\");\n\nmodule.exports = function plot(gd, wrappedTraceHolders) {\n var dynamic = !gd._context.staticPlot;\n\n var table = gd._fullLayout._paper.selectAll('.' + c.cn.table)\n .data(wrappedTraceHolders.map(function(wrappedTraceHolder) {\n var traceHolder = gup.unwrap(wrappedTraceHolder);\n var trace = traceHolder.trace;\n return prepareData(gd, trace);\n }), gup.keyFun);\n\n table.exit().remove();\n\n table.enter()\n .append('g')\n .classed(c.cn.table, true)\n .attr('overflow', 'visible')\n .style('box-sizing', 'content-box')\n .style('position', 'absolute')\n .style('left', 0)\n .style('overflow', 'visible')\n .style('shape-rendering', 'crispEdges')\n .style('pointer-events', 'all');\n\n table\n .attr('width', function(d) {return d.width + d.size.l + d.size.r;})\n .attr('height', function(d) {return d.height + d.size.t + d.size.b;})\n .attr('transform', function(d) {\n return 'translate(' + d.translateX + ',' + d.translateY + ')';\n });\n\n var tableControlView = table.selectAll('.' + c.cn.tableControlView)\n .data(gup.repeat, gup.keyFun);\n\n var cvEnter = tableControlView.enter()\n .append('g')\n .classed(c.cn.tableControlView, true)\n .style('box-sizing', 'content-box');\n if(dynamic) {\n cvEnter\n .on('mousemove', function(d) {\n tableControlView\n .filter(function(dd) {return d === dd;})\n .call(renderScrollbarKit, gd);\n })\n .on('mousewheel', function(d) {\n if(d.scrollbarState.wheeling) return;\n d.scrollbarState.wheeling = true;\n var newY = d.scrollY + d3.event.deltaY;\n var noChange = makeDragRow(gd, tableControlView, null, newY)(d);\n if(!noChange) {\n d3.event.stopPropagation();\n d3.event.preventDefault();\n }\n d.scrollbarState.wheeling = false;\n })\n .call(renderScrollbarKit, gd, true);\n }\n\n tableControlView\n .attr('transform', function(d) {return 'translate(' + d.size.l + ' ' + d.size.t + ')';});\n\n // scrollBackground merely ensures that mouse events are captured even on crazy fast scrollwheeling\n // otherwise rendering glitches may occur\n var scrollBackground = tableControlView.selectAll('.' + c.cn.scrollBackground)\n .data(gup.repeat, gup.keyFun);\n\n scrollBackground.enter()\n .append('rect')\n .classed(c.cn.scrollBackground, true)\n .attr('fill', 'none');\n\n scrollBackground\n .attr('width', function(d) {return d.width;})\n .attr('height', function(d) {return d.height;});\n\n tableControlView.each(function(d) {\n Drawing.setClipUrl(d3.select(this), scrollAreaBottomClipKey(gd, d), gd);\n });\n\n var yColumn = tableControlView.selectAll('.' + c.cn.yColumn)\n .data(function(vm) {return vm.columns;}, gup.keyFun);\n\n yColumn.enter()\n .append('g')\n .classed(c.cn.yColumn, true);\n\n yColumn.exit().remove();\n\n yColumn.attr('transform', function(d) {return 'translate(' + d.x + ' 0)';});\n\n if(dynamic) {\n yColumn.call(d3.behavior.drag()\n .origin(function(d) {\n var movedColumn = d3.select(this);\n easeColumn(movedColumn, d, -c.uplift);\n raiseToTop(this);\n d.calcdata.columnDragInProgress = true;\n renderScrollbarKit(tableControlView.filter(function(dd) {return d.calcdata.key === dd.key;}), gd);\n return d;\n })\n .on('drag', function(d) {\n var movedColumn = d3.select(this);\n var getter = function(dd) {return (d === dd ? d3.event.x : dd.x) + dd.columnWidth / 2;};\n d.x = Math.max(-c.overdrag, Math.min(d.calcdata.width + c.overdrag - d.columnWidth, d3.event.x));\n\n var sortableColumns = flatData(yColumn).filter(function(dd) {return dd.calcdata.key === d.calcdata.key;});\n var newOrder = sortableColumns.sort(function(a, b) {return getter(a) - getter(b);});\n newOrder.forEach(function(dd, i) {\n dd.xIndex = i;\n dd.x = d === dd ? dd.x : dd.xScale(dd);\n });\n\n yColumn.filter(function(dd) {return d !== dd;})\n .transition()\n .ease(c.transitionEase)\n .duration(c.transitionDuration)\n .attr('transform', function(d) {return 'translate(' + d.x + ' 0)';});\n movedColumn\n .call(cancelEeaseColumn)\n .attr('transform', 'translate(' + d.x + ' -' + c.uplift + ' )');\n })\n .on('dragend', function(d) {\n var movedColumn = d3.select(this);\n var p = d.calcdata;\n d.x = d.xScale(d);\n d.calcdata.columnDragInProgress = false;\n easeColumn(movedColumn, d, 0);\n columnMoved(gd, p, p.columns.map(function(dd) {return dd.xIndex;}));\n })\n );\n }\n\n yColumn.each(function(d) {\n Drawing.setClipUrl(d3.select(this), columnBoundaryClipKey(gd, d), gd);\n });\n\n var columnBlock = yColumn.selectAll('.' + c.cn.columnBlock)\n .data(splitData.splitToPanels, gup.keyFun);\n\n columnBlock.enter()\n .append('g')\n .classed(c.cn.columnBlock, true)\n .attr('id', function(d) {return d.key;});\n\n columnBlock\n .style('cursor', function(d) {\n return d.dragHandle ? 'ew-resize' : d.calcdata.scrollbarState.barWiggleRoom ? 'ns-resize' : 'default';\n });\n\n var headerColumnBlock = columnBlock.filter(headerBlock);\n var cellsColumnBlock = columnBlock.filter(cellsBlock);\n\n if(dynamic) {\n cellsColumnBlock.call(d3.behavior.drag()\n .origin(function(d) {\n d3.event.stopPropagation();\n return d;\n })\n .on('drag', makeDragRow(gd, tableControlView, -1))\n .on('dragend', function() {\n // fixme emit plotly notification\n })\n );\n }\n\n // initial rendering: header is rendered first, as it may may have async LaTeX (show header first)\n // but blocks are _entered_ the way they are due to painter's algo (header on top)\n renderColumnCellTree(gd, tableControlView, headerColumnBlock, columnBlock);\n renderColumnCellTree(gd, tableControlView, cellsColumnBlock, columnBlock);\n\n var scrollAreaClip = tableControlView.selectAll('.' + c.cn.scrollAreaClip)\n .data(gup.repeat, gup.keyFun);\n\n scrollAreaClip.enter()\n .append('clipPath')\n .classed(c.cn.scrollAreaClip, true)\n .attr('id', function(d) {return scrollAreaBottomClipKey(gd, d);});\n\n var scrollAreaClipRect = scrollAreaClip.selectAll('.' + c.cn.scrollAreaClipRect)\n .data(gup.repeat, gup.keyFun);\n\n scrollAreaClipRect.enter()\n .append('rect')\n .classed(c.cn.scrollAreaClipRect, true)\n .attr('x', -c.overdrag)\n .attr('y', -c.uplift)\n .attr('fill', 'none');\n\n scrollAreaClipRect\n .attr('width', function(d) {return d.width + 2 * c.overdrag;})\n .attr('height', function(d) {return d.height + c.uplift;});\n\n var columnBoundary = yColumn.selectAll('.' + c.cn.columnBoundary)\n .data(gup.repeat, gup.keyFun);\n\n columnBoundary.enter()\n .append('g')\n .classed(c.cn.columnBoundary, true);\n\n var columnBoundaryClippath = yColumn.selectAll('.' + c.cn.columnBoundaryClippath)\n .data(gup.repeat, gup.keyFun);\n\n // SVG spec doesn't mandate wrapping into a and doesn't seem to cause a speed difference\n columnBoundaryClippath.enter()\n .append('clipPath')\n .classed(c.cn.columnBoundaryClippath, true);\n\n columnBoundaryClippath\n .attr('id', function(d) {return columnBoundaryClipKey(gd, d);});\n\n var columnBoundaryRect = columnBoundaryClippath.selectAll('.' + c.cn.columnBoundaryRect)\n .data(gup.repeat, gup.keyFun);\n\n columnBoundaryRect.enter()\n .append('rect')\n .classed(c.cn.columnBoundaryRect, true)\n .attr('fill', 'none');\n\n columnBoundaryRect\n .attr('width', function(d) { return d.columnWidth + 2 * roundHalfWidth(d); })\n .attr('height', function(d) {return d.calcdata.height + 2 * roundHalfWidth(d) + c.uplift;})\n .attr('x', function(d) { return -roundHalfWidth(d); })\n .attr('y', function(d) { return -roundHalfWidth(d); });\n\n updateBlockYPosition(null, cellsColumnBlock, tableControlView);\n};\n\nfunction roundHalfWidth(d) {\n return Math.ceil(d.calcdata.maxLineWidth / 2);\n}\n\nfunction scrollAreaBottomClipKey(gd, d) {\n return 'clip' + gd._fullLayout._uid + '_scrollAreaBottomClip_' + d.key;\n}\n\nfunction columnBoundaryClipKey(gd, d) {\n return 'clip' + gd._fullLayout._uid + '_columnBoundaryClippath_' + d.calcdata.key + '_' + d.specIndex;\n}\n\nfunction flatData(selection) {\n return [].concat.apply([], selection.map(function(g) {return g;}))\n .map(function(g) {return g.__data__;});\n}\n\nfunction renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {\n function calcTotalHeight(d) {\n var blocks = d.rowBlocks;\n return firstRowAnchor(blocks, blocks.length - 1) + (blocks.length ? rowsHeight(blocks[blocks.length - 1], Infinity) : 1);\n }\n\n var scrollbarKit = tableControlView.selectAll('.' + c.cn.scrollbarKit)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarKit.enter()\n .append('g')\n .classed(c.cn.scrollbarKit, true)\n .style('shape-rendering', 'geometricPrecision');\n\n scrollbarKit\n .each(function(d) {\n var s = d.scrollbarState;\n s.totalHeight = calcTotalHeight(d);\n s.scrollableAreaHeight = d.groupHeight - headerHeight(d);\n s.currentlyVisibleHeight = Math.min(s.totalHeight, s.scrollableAreaHeight);\n s.ratio = s.currentlyVisibleHeight / s.totalHeight;\n s.barLength = Math.max(s.ratio * s.currentlyVisibleHeight, c.goldenRatio * c.scrollbarWidth);\n s.barWiggleRoom = s.currentlyVisibleHeight - s.barLength;\n s.wiggleRoom = Math.max(0, s.totalHeight - s.scrollableAreaHeight);\n s.topY = s.barWiggleRoom === 0 ? 0 : (d.scrollY / s.wiggleRoom) * s.barWiggleRoom;\n s.bottomY = s.topY + s.barLength;\n s.dragMultiplier = s.wiggleRoom / s.barWiggleRoom;\n })\n .attr('transform', function(d) {\n var xPosition = d.width + c.scrollbarWidth / 2 + c.scrollbarOffset;\n return 'translate(' + xPosition + ' ' + headerHeight(d) + ')';\n });\n\n var scrollbar = scrollbarKit.selectAll('.' + c.cn.scrollbar)\n .data(gup.repeat, gup.keyFun);\n\n scrollbar.enter()\n .append('g')\n .classed(c.cn.scrollbar, true);\n\n var scrollbarSlider = scrollbar.selectAll('.' + c.cn.scrollbarSlider)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarSlider.enter()\n .append('g')\n .classed(c.cn.scrollbarSlider, true);\n\n scrollbarSlider\n .attr('transform', function(d) {\n return 'translate(0 ' + (d.scrollbarState.topY || 0) + ')';\n });\n\n var scrollbarGlyph = scrollbarSlider.selectAll('.' + c.cn.scrollbarGlyph)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarGlyph.enter()\n .append('line')\n .classed(c.cn.scrollbarGlyph, true)\n .attr('stroke', 'black')\n .attr('stroke-width', c.scrollbarWidth)\n .attr('stroke-linecap', 'round')\n .attr('y1', c.scrollbarWidth / 2);\n\n scrollbarGlyph\n .attr('y2', function(d) {\n return d.scrollbarState.barLength - c.scrollbarWidth / 2;\n })\n .attr('stroke-opacity', function(d) {\n return d.columnDragInProgress || !d.scrollbarState.barWiggleRoom || bypassVisibleBar ? 0 : 0.4;\n });\n\n // cancel transition: possible pending (also, delayed) transition\n scrollbarGlyph\n .transition().delay(0).duration(0);\n\n scrollbarGlyph\n .transition().delay(c.scrollbarHideDelay).duration(c.scrollbarHideDuration)\n .attr('stroke-opacity', 0);\n\n var scrollbarCaptureZone = scrollbar.selectAll('.' + c.cn.scrollbarCaptureZone)\n .data(gup.repeat, gup.keyFun);\n\n scrollbarCaptureZone.enter()\n .append('line')\n .classed(c.cn.scrollbarCaptureZone, true)\n .attr('stroke', 'white')\n .attr('stroke-opacity', 0.01) // some browser might get rid of a 0 opacity element\n .attr('stroke-width', c.scrollbarCaptureWidth)\n .attr('stroke-linecap', 'butt')\n .attr('y1', 0)\n .on('mousedown', function(d) {\n var y = d3.event.y;\n var bbox = this.getBoundingClientRect();\n var s = d.scrollbarState;\n var pixelVal = y - bbox.top;\n var inverseScale = d3.scale.linear().domain([0, s.scrollableAreaHeight]).range([0, s.totalHeight]).clamp(true);\n if(!(s.topY <= pixelVal && pixelVal <= s.bottomY)) {\n makeDragRow(gd, tableControlView, null, inverseScale(pixelVal - s.barLength / 2))(d);\n }\n })\n .call(d3.behavior.drag()\n .origin(function(d) {\n d3.event.stopPropagation();\n d.scrollbarState.scrollbarScrollInProgress = true;\n return d;\n })\n .on('drag', makeDragRow(gd, tableControlView))\n .on('dragend', function() {\n // fixme emit Plotly event\n })\n );\n\n scrollbarCaptureZone\n .attr('y2', function(d) {\n return d.scrollbarState.scrollableAreaHeight;\n });\n\n // Remove scroll glyph and capture zone on static plots\n // as they don't render properly when converted to PDF\n // in the Chrome PDF viewer\n // https://github.com/plotly/streambed/issues/11618\n if(gd._context.staticPlot) {\n scrollbarGlyph.remove();\n scrollbarCaptureZone.remove();\n }\n}\n\nfunction renderColumnCellTree(gd, tableControlView, columnBlock, allColumnBlock) {\n // fixme this perf hotspot\n // this is performance critical code as scrolling calls it on every revolver switch\n // it appears sufficiently fast but there are plenty of low-hanging fruits for performance optimization\n\n var columnCells = renderColumnCells(columnBlock);\n\n var columnCell = renderColumnCell(columnCells);\n\n supplyStylingValues(columnCell);\n\n var cellRect = renderCellRect(columnCell);\n\n sizeAndStyleRect(cellRect);\n\n var cellTextHolder = renderCellTextHolder(columnCell);\n\n var cellText = renderCellText(cellTextHolder);\n\n setFont(cellText);\n populateCellText(cellText, tableControlView, allColumnBlock, gd);\n\n // doing this at the end when text, and text stlying are set\n setCellHeightAndPositionY(columnCell);\n}\n\nfunction renderColumnCells(columnBlock) {\n var columnCells = columnBlock.selectAll('.' + c.cn.columnCells)\n .data(gup.repeat, gup.keyFun);\n\n columnCells.enter()\n .append('g')\n .classed(c.cn.columnCells, true);\n\n columnCells.exit()\n .remove();\n\n return columnCells;\n}\n\nfunction renderColumnCell(columnCells) {\n var columnCell = columnCells.selectAll('.' + c.cn.columnCell)\n .data(splitData.splitToCells, function(d) {return d.keyWithinBlock;});\n\n columnCell.enter()\n .append('g')\n .classed(c.cn.columnCell, true);\n\n columnCell.exit()\n .remove();\n\n return columnCell;\n}\n\nfunction renderCellRect(columnCell) {\n var cellRect = columnCell.selectAll('.' + c.cn.cellRect)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellRect.enter()\n .append('rect')\n .classed(c.cn.cellRect, true);\n\n return cellRect;\n}\n\nfunction renderCellText(cellTextHolder) {\n var cellText = cellTextHolder.selectAll('.' + c.cn.cellText)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellText.enter()\n .append('text')\n .classed(c.cn.cellText, true)\n .style('cursor', function() {return 'auto';})\n .on('mousedown', function() {d3.event.stopPropagation();});\n\n return cellText;\n}\n\nfunction renderCellTextHolder(columnCell) {\n var cellTextHolder = columnCell.selectAll('.' + c.cn.cellTextHolder)\n .data(gup.repeat, function(d) {return d.keyWithinBlock;});\n\n cellTextHolder.enter()\n .append('g')\n .classed(c.cn.cellTextHolder, true)\n .style('shape-rendering', 'geometricPrecision');\n\n return cellTextHolder;\n}\n\nfunction supplyStylingValues(columnCell) {\n columnCell\n .each(function(d, i) {\n var spec = d.calcdata.cells.font;\n var col = d.column.specIndex;\n var font = {\n size: gridPick(spec.size, col, i),\n color: gridPick(spec.color, col, i),\n family: gridPick(spec.family, col, i)\n };\n d.rowNumber = d.key;\n d.align = gridPick(d.calcdata.cells.align, col, i);\n d.cellBorderWidth = gridPick(d.calcdata.cells.line.width, col, i);\n d.font = font;\n });\n}\n\nfunction setFont(cellText) {\n cellText\n .each(function(d) {\n Drawing.font(d3.select(this), d.font);\n });\n}\n\nfunction sizeAndStyleRect(cellRect) {\n cellRect\n .attr('width', function(d) {return d.column.columnWidth;})\n .attr('stroke-width', function(d) {return d.cellBorderWidth;})\n .each(function(d) {\n var atomicSelection = d3.select(this);\n Color.stroke(atomicSelection, gridPick(d.calcdata.cells.line.color, d.column.specIndex, d.rowNumber));\n Color.fill(atomicSelection, gridPick(d.calcdata.cells.fill.color, d.column.specIndex, d.rowNumber));\n });\n}\n\nfunction populateCellText(cellText, tableControlView, allColumnBlock, gd) {\n cellText\n .text(function(d) {\n var col = d.column.specIndex;\n var row = d.rowNumber;\n\n var userSuppliedContent = d.value;\n var stringSupplied = (typeof userSuppliedContent === 'string');\n var hasBreaks = stringSupplied && userSuppliedContent.match(/
/i);\n var userBrokenText = !stringSupplied || hasBreaks;\n d.mayHaveMarkup = stringSupplied && userSuppliedContent.match(/[<&>]/);\n\n var latex = isLatex(userSuppliedContent);\n d.latex = latex;\n\n var prefix = latex ? '' : gridPick(d.calcdata.cells.prefix, col, row) || '';\n var suffix = latex ? '' : gridPick(d.calcdata.cells.suffix, col, row) || '';\n var format = latex ? null : gridPick(d.calcdata.cells.format, col, row) || null;\n\n var prefixSuffixedText = prefix + (format ? d3.format(format)(d.value) : d.value) + suffix;\n\n var hasWrapSplitCharacter;\n d.wrappingNeeded = !d.wrapped && !userBrokenText && !latex && (hasWrapSplitCharacter = hasWrapCharacter(prefixSuffixedText));\n d.cellHeightMayIncrease = hasBreaks || latex || d.mayHaveMarkup || (hasWrapSplitCharacter === void(0) ? hasWrapCharacter(prefixSuffixedText) : hasWrapSplitCharacter);\n d.needsConvertToTspans = d.mayHaveMarkup || d.wrappingNeeded || d.latex;\n\n var textToRender;\n if(d.wrappingNeeded) {\n var hrefPreservedText = c.wrapSplitCharacter === ' ' ? prefixSuffixedText.replace(/ pTop) {\n pages.push(blockIndex);\n }\n pTop += rowsHeight;\n\n // consider this nice final optimization; put it in `for` condition - caveat, currently the\n // block.allRowsHeight relies on being invalidated, so enabling this opt may not be safe\n // if(pages.length > 1) break;\n }\n\n return pages;\n}\n\nfunction updateBlockYPosition(gd, cellsColumnBlock, tableControlView) {\n var d = flatData(cellsColumnBlock)[0];\n if(d === undefined) return;\n var blocks = d.rowBlocks;\n var calcdata = d.calcdata;\n\n var bottom = firstRowAnchor(blocks, blocks.length);\n var scrollHeight = d.calcdata.groupHeight - headerHeight(d);\n var scrollY = calcdata.scrollY = Math.max(0, Math.min(bottom - scrollHeight, calcdata.scrollY));\n\n var pages = findPagesAndCacheHeights(blocks, scrollY, scrollHeight);\n if(pages.length === 1) {\n if(pages[0] === blocks.length - 1) {\n pages.unshift(pages[0] - 1);\n } else {\n pages.push(pages[0] + 1);\n }\n }\n\n // make phased out page jump by 2 while leaving stationary page intact\n if(pages[0] % 2) {\n pages.reverse();\n }\n\n cellsColumnBlock\n .each(function(d, i) {\n // these values will also be needed when a block is translated again due to growing cell height\n d.page = pages[i];\n d.scrollY = scrollY;\n });\n\n cellsColumnBlock\n .attr('transform', function(d) {\n var yTranslate = firstRowAnchor(d.rowBlocks, d.page) - d.scrollY;\n return 'translate(0 ' + yTranslate + ')';\n });\n\n // conditionally rerendering panel 0 and 1\n if(gd) {\n conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, d.prevPages, d, 0);\n conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, d.prevPages, d, 1);\n renderScrollbarKit(tableControlView, gd);\n }\n}\n\nfunction makeDragRow(gd, allTableControlView, optionalMultiplier, optionalPosition) {\n return function dragRow(eventD) {\n // may come from whichever DOM event target: drag, wheel, bar... eventD corresponds to event target\n var d = eventD.calcdata ? eventD.calcdata : eventD;\n var tableControlView = allTableControlView.filter(function(dd) {return d.key === dd.key;});\n var multiplier = optionalMultiplier || d.scrollbarState.dragMultiplier;\n\n var initialScrollY = d.scrollY;\n\n d.scrollY = optionalPosition === void(0) ? d.scrollY + multiplier * d3.event.dy : optionalPosition;\n var cellsColumnBlock = tableControlView.selectAll('.' + c.cn.yColumn).selectAll('.' + c.cn.columnBlock).filter(cellsBlock);\n updateBlockYPosition(gd, cellsColumnBlock, tableControlView);\n\n // return false if we've \"used\" the scroll, ie it did something,\n // so the event shouldn't bubble (if appropriate)\n return d.scrollY === initialScrollY;\n };\n}\n\nfunction conditionalPanelRerender(gd, tableControlView, cellsColumnBlock, pages, prevPages, d, revolverIndex) {\n var shouldComponentUpdate = pages[revolverIndex] !== prevPages[revolverIndex];\n if(shouldComponentUpdate) {\n clearTimeout(d.currentRepaint[revolverIndex]);\n d.currentRepaint[revolverIndex] = setTimeout(function() {\n // setTimeout might lag rendering but yields a smoother scroll, because fast scrolling makes\n // some repaints invisible ie. wasteful (DOM work blocks the main thread)\n var toRerender = cellsColumnBlock.filter(function(d, i) {return i === revolverIndex && pages[i] !== prevPages[i];});\n renderColumnCellTree(gd, tableControlView, toRerender, cellsColumnBlock);\n prevPages[revolverIndex] = pages[revolverIndex];\n });\n }\n}\n\nfunction wrapTextMaker(columnBlock, element, tableControlView, gd) {\n return function wrapText() {\n var cellTextHolder = d3.select(element.parentNode);\n cellTextHolder\n .each(function(d) {\n var fragments = d.fragments;\n cellTextHolder.selectAll('tspan.line').each(function(dd, i) {\n fragments[i].width = this.getComputedTextLength();\n });\n // last element is only for measuring the separator character, so it's ignored:\n var separatorLength = fragments[fragments.length - 1].width;\n var rest = fragments.slice(0, -1);\n var currentRow = [];\n var currentAddition, currentAdditionLength;\n var currentRowLength = 0;\n var rowLengthLimit = d.column.columnWidth - 2 * c.cellPad;\n d.value = '';\n while(rest.length) {\n currentAddition = rest.shift();\n currentAdditionLength = currentAddition.width + separatorLength;\n if(currentRowLength + currentAdditionLength > rowLengthLimit) {\n d.value += currentRow.join(c.wrapSpacer) + c.lineBreaker;\n currentRow = [];\n currentRowLength = 0;\n }\n currentRow.push(currentAddition.text);\n currentRowLength += currentAdditionLength;\n }\n if(currentRowLength) {\n d.value += currentRow.join(c.wrapSpacer);\n }\n d.wrapped = true;\n });\n\n // the pre-wrapped text was rendered only for the text measurements\n cellTextHolder.selectAll('tspan.line').remove();\n\n // resupply text, now wrapped\n populateCellText(cellTextHolder.select('.' + c.cn.cellText), tableControlView, columnBlock, gd);\n d3.select(element.parentNode.parentNode).call(setCellHeightAndPositionY);\n };\n}\n\nfunction updateYPositionMaker(columnBlock, element, tableControlView, gd, d) {\n return function updateYPosition() {\n if(d.settledY) return;\n var cellTextHolder = d3.select(element.parentNode);\n var l = getBlock(d);\n var rowIndex = d.key - l.firstRowIndex;\n\n var declaredRowHeight = l.rows[rowIndex].rowHeight;\n\n var requiredHeight = d.cellHeightMayIncrease ? element.parentNode.getBoundingClientRect().height + 2 * c.cellPad : declaredRowHeight;\n\n var finalHeight = Math.max(requiredHeight, declaredRowHeight);\n var increase = finalHeight - l.rows[rowIndex].rowHeight;\n\n if(increase) {\n // current row height increased\n l.rows[rowIndex].rowHeight = finalHeight;\n\n columnBlock\n .selectAll('.' + c.cn.columnCell)\n .call(setCellHeightAndPositionY);\n\n updateBlockYPosition(null, columnBlock.filter(cellsBlock), 0);\n\n // if d.column.type === 'header', then the scrollbar has to be pushed downward to the scrollable area\n // if d.column.type === 'cells', it can still be relevant if total scrolling content height is less than the\n // scrollable window, as increases to row heights may need scrollbar updates\n renderScrollbarKit(tableControlView, gd, true);\n }\n\n cellTextHolder\n .attr('transform', function() {\n // this code block is only invoked for items where d.cellHeightMayIncrease is truthy\n var element = this;\n var columnCellElement = element.parentNode;\n var box = columnCellElement.getBoundingClientRect();\n var rectBox = d3.select(element.parentNode).select('.' + c.cn.cellRect).node().getBoundingClientRect();\n var currentTransform = element.transform.baseVal.consolidate();\n var yPosition = rectBox.top - box.top + (currentTransform ? currentTransform.matrix.f : c.cellPad);\n return 'translate(' + xPosition(d, d3.select(element.parentNode).select('.' + c.cn.cellTextHolder).node().getBoundingClientRect().width) + ' ' + yPosition + ')';\n });\n\n d.settledY = true;\n };\n}\n\nfunction xPosition(d, optionalWidth) {\n switch(d.align) {\n case 'left': return c.cellPad;\n case 'right': return d.column.columnWidth - (optionalWidth || 0) - c.cellPad;\n case 'center': return (d.column.columnWidth - (optionalWidth || 0)) / 2;\n default: return c.cellPad;\n }\n}\n\nfunction setCellHeightAndPositionY(columnCell) {\n columnCell\n .attr('transform', function(d) {\n var headerHeight = d.rowBlocks[0].auxiliaryBlocks.reduce(function(p, n) {return p + rowsHeight(n, Infinity);}, 0);\n var l = getBlock(d);\n var rowAnchor = rowsHeight(l, d.key);\n var yOffset = rowAnchor + headerHeight;\n return 'translate(0 ' + yOffset + ')';\n })\n .selectAll('.' + c.cn.cellRect)\n .attr('height', function(d) {return getRow(getBlock(d), d.key).rowHeight;});\n}\n\nfunction firstRowAnchor(blocks, page) {\n var total = 0;\n for(var i = page - 1; i >= 0; i--) {\n total += allRowsHeight(blocks[i]);\n }\n return total;\n}\n\nfunction rowsHeight(rowBlock, key) {\n var total = 0;\n for(var i = 0; i < rowBlock.rows.length && rowBlock.rows[i].rowIndex < key; i++) {\n total += rowBlock.rows[i].rowHeight;\n }\n return total;\n}\n\nfunction allRowsHeight(rowBlock) {\n var cached = rowBlock.allRowsHeight;\n\n if(cached !== void(0)) {\n return cached;\n }\n\n var total = 0;\n for(var i = 0; i < rowBlock.rows.length; i++) {\n total += rowBlock.rows[i].rowHeight;\n }\n rowBlock.allRowsHeight = total;\n\n return total;\n}\n\nfunction getBlock(d) {return d.rowBlocks[d.page];}\nfunction getRow(l, i) {return l.rows[i - l.firstRowIndex];}\n\n\n/***/ }),\n\n/***/ \"26e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar scatterGlAttrs = __webpack_require__(\"c20e\");\nvar cartesianIdRegex = __webpack_require__(\"d301\").idRegex;\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nvar markerLineAttrs = extendFlat(colorScaleAttrs('marker.line', {editTypeOverride: 'calc'}), {\n width: extendFlat({}, scatterMarkerLineAttrs.width, {editType: 'calc'}),\n editType: 'calc'\n});\n\nvar markerAttrs = extendFlat(colorScaleAttrs('marker'), {\n symbol: scatterMarkerAttrs.symbol,\n size: extendFlat({}, scatterMarkerAttrs.size, {editType: 'markerSize'}),\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n opacity: scatterMarkerAttrs.opacity,\n colorbar: scatterMarkerAttrs.colorbar,\n line: markerLineAttrs,\n editType: 'calc'\n});\n\nmarkerAttrs.color.editType = markerAttrs.cmin.editType = markerAttrs.cmax.editType = 'style';\n\nfunction makeAxesValObject(axLetter) {\n return {\n valType: 'info_array',\n freeLength: true,\n \n editType: 'calc',\n items: {\n valType: 'subplotid',\n regex: cartesianIdRegex[axLetter],\n editType: 'plot'\n },\n \n };\n}\n\nmodule.exports = {\n dimensions: templatedArray('dimension', {\n visible: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n label: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n values: {\n valType: 'data_array',\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n axis: {\n type: {\n valType: 'enumerated',\n values: ['linear', 'log', 'date', 'category'],\n \n editType: 'calc+clearAxisTypes',\n \n },\n\n // TODO make 'true' the default in v2?\n matches: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n editType: 'calc+clearAxisTypes'\n },\n\n // TODO should add an attribute to pin down x only vars and y only vars\n // like https://seaborn.pydata.org/generated/seaborn.pairplot.html\n // x_vars and y_vars\n\n // maybe more axis defaulting option e.g. `showgrid: false`\n\n editType: 'calc+clearAxisTypes'\n }),\n\n // mode: {}, (only 'markers' for now)\n\n text: extendFlat({}, scatterGlAttrs.text, {\n \n }),\n hovertext: extendFlat({}, scatterGlAttrs.hovertext, {\n \n }),\n\n hovertemplate: hovertemplateAttrs(),\n\n marker: markerAttrs,\n\n xaxes: makeAxesValObject('x'),\n yaxes: makeAxesValObject('y'),\n\n diagonal: {\n visible: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n\n // type: 'scattergl' | 'histogram' | 'box' | 'violin'\n // ...\n // more options\n\n editType: 'calc'\n },\n\n showupperhalf: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n showlowerhalf: {\n valType: 'boolean',\n \n dflt: true,\n editType: 'calc',\n \n },\n\n selected: {\n marker: scatterGlAttrs.selected.marker,\n editType: 'calc'\n },\n unselected: {\n marker: scatterGlAttrs.unselected.marker,\n editType: 'calc'\n },\n\n opacity: scatterGlAttrs.opacity\n};\n\n\n/***/ }),\n\n/***/ \"2705\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\n\nvar attributes = __webpack_require__(\"5aae\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n coerce('carpet');\n\n // XXX: Don't hard code this\n traceOut.xaxis = 'x';\n traceOut.yaxis = 'y';\n\n var a = coerce('a');\n var b = coerce('b');\n var len = Math.min(a.length, b.length);\n\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('text');\n coerce('texttemplate');\n coerce('hovertext');\n\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n\n var hoverOn = coerce('hoveron', dfltHoverOn.join('+') || 'points');\n if(hoverOn !== 'fills') coerce('hovertemplate');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"2781\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0e9a\");\n\n\n/***/ }),\n\n/***/ \"27a4\":\n/***/ (function(module, exports) {\n\nmodule.exports = cross;\n\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @returns {vec3} out\n */\nfunction cross(out, a, b) {\n var ax = a[0], ay = a[1], az = a[2],\n bx = b[0], by = b[1], bz = b[2]\n\n out[0] = ay * bz - az * by\n out[1] = az * bx - ax * bz\n out[2] = ax * by - ay * bx\n return out\n}\n\n/***/ }),\n\n/***/ \"27c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar helpers = __webpack_require__(\"50da\");\nvar attributes = __webpack_require__(\"c20e\");\nvar constants = __webpack_require__(\"de69\");\nvar subTypes = __webpack_require__(\"de81\");\nvar handleXYDefaults = __webpack_require__(\"076f\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var isOpen = traceIn.marker ? helpers.isOpenSymbol(traceIn.marker.symbol) : false;\n var isBubble = subTypes.isBubble(traceIn);\n\n var len = handleXYDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n var defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines';\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('mode', defaultMode);\n\n if(subTypes.hasLines(traceOut)) {\n coerce('connectgaps');\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n coerce('line.shape');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n coerce('marker.line.width', isOpen || isBubble ? 1 : 0);\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var lineColor = (traceOut.line || {}).color;\n var markerColor = (traceOut.marker || {}).color;\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n }\n\n var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'y'});\n errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'x', inherit: 'y'});\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\n\n/***/ }),\n\n/***/ \"27e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\n\n\n/**\n * options: inherits outerTicks from axes.handleAxisDefaults\n */\nmodule.exports = function handleTickDefaults(containerIn, containerOut, coerce, options) {\n var tickLen = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'ticklen');\n var tickWidth = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'tickwidth');\n var tickColor = Lib.coerce2(containerIn, containerOut, layoutAttributes, 'tickcolor', containerOut.color);\n var showTicks = coerce('ticks', (options.outerTicks || tickLen || tickWidth || tickColor) ? 'outside' : '');\n\n if(!showTicks) {\n delete containerOut.ticklen;\n delete containerOut.tickwidth;\n delete containerOut.tickcolor;\n }\n};\n\n\n/***/ }),\n\n/***/ \"283e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createLines\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction Lines(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n}\n\nvar proto = Lines.prototype\n\nproto.bind = function() {\n var shader = this.shader\n this.vbo.bind()\n this.shader.bind()\n shader.attributes.coord.pointer()\n shader.uniforms.screenBox = this.plot.screenBox\n}\n\nproto.drawLine = (function() {\n var start = [0,0]\n var end = [0,0]\n return function(startX, startY, endX, endY, width, color) {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n\n start[0] = startX\n start[1] = startY\n end[0] = endX\n end[1] = endY\n\n shader.uniforms.start = start\n shader.uniforms.end = end\n shader.uniforms.width = width * plot.pixelRatio\n shader.uniforms.color = color\n\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n }\n}())\n\nproto.dispose = function() {\n this.vbo.dispose()\n this.shader.dispose()\n}\n\nfunction createLines(plot) {\n var gl = plot.gl\n var vbo = createBuffer(gl, [\n -1,-1,\n -1,1,\n 1,-1,\n 1,1])\n var shader = createShader(gl, shaders.lineVert, shaders.lineFrag)\n var lines = new Lines(plot, vbo, shader)\n return lines\n}\n\n\n/***/ }),\n\n/***/ \"28a0\":\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n/***/ }),\n\n/***/ \"28dd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createUniformWrapper = __webpack_require__(\"d064b\")\nvar createAttributeWrapper = __webpack_require__(\"7e91\")\nvar makeReflect = __webpack_require__(\"eb73\")\nvar shaderCache = __webpack_require__(\"22b4\")\nvar runtime = __webpack_require__(\"d41a\")\nvar GLError = __webpack_require__(\"a3fd\")\n\n//Shader object\nfunction Shader(gl) {\n this.gl = gl\n this.gl.lastAttribCount = 0 // fixme where else should we store info, safe but not nice on the gl object\n\n //Default initialize these to null\n this._vref =\n this._fref =\n this._relink =\n this.vertShader =\n this.fragShader =\n this.program =\n this.attributes =\n this.uniforms =\n this.types = null\n}\n\nvar proto = Shader.prototype\n\nproto.bind = function() {\n if(!this.program) {\n this._relink()\n }\n\n // ensuring that we have the right number of enabled vertex attributes\n var i\n var newAttribCount = this.gl.getProgramParameter(this.program, this.gl.ACTIVE_ATTRIBUTES) // more robust approach\n //var newAttribCount = Object.keys(this.attributes).length // avoids the probably immaterial introspection slowdown\n var oldAttribCount = this.gl.lastAttribCount\n if(newAttribCount > oldAttribCount) {\n for(i = oldAttribCount; i < newAttribCount; i++) {\n this.gl.enableVertexAttribArray(i)\n }\n } else if(oldAttribCount > newAttribCount) {\n for(i = newAttribCount; i < oldAttribCount; i++) {\n this.gl.disableVertexAttribArray(i)\n }\n }\n\n this.gl.lastAttribCount = newAttribCount\n\n this.gl.useProgram(this.program)\n}\n\nproto.dispose = function() {\n\n // disabling vertex attributes so new shader starts with zero\n // and it's also useful if all shaders are disposed but the\n // gl context is reused for subsequent replotting\n var oldAttribCount = this.gl.lastAttribCount\n for (var i = 0; i < oldAttribCount; i++) {\n this.gl.disableVertexAttribArray(i)\n }\n this.gl.lastAttribCount = 0\n\n if(this._fref) {\n this._fref.dispose()\n }\n if(this._vref) {\n this._vref.dispose()\n }\n this.attributes =\n this.types =\n this.vertShader =\n this.fragShader =\n this.program =\n this._relink =\n this._fref =\n this._vref = null\n}\n\nfunction compareAttributes(a, b) {\n if(a.name < b.name) {\n return -1\n }\n return 1\n}\n\n//Update export hook for glslify-live\nproto.update = function(\n vertSource\n , fragSource\n , uniforms\n , attributes) {\n\n //If only one object passed, assume glslify style output\n if(!fragSource || arguments.length === 1) {\n var obj = vertSource\n vertSource = obj.vertex\n fragSource = obj.fragment\n uniforms = obj.uniforms\n attributes = obj.attributes\n }\n\n var wrapper = this\n var gl = wrapper.gl\n\n //Compile vertex and fragment shaders\n var pvref = wrapper._vref\n wrapper._vref = shaderCache.shader(gl, gl.VERTEX_SHADER, vertSource)\n if(pvref) {\n pvref.dispose()\n }\n wrapper.vertShader = wrapper._vref.shader\n var pfref = this._fref\n wrapper._fref = shaderCache.shader(gl, gl.FRAGMENT_SHADER, fragSource)\n if(pfref) {\n pfref.dispose()\n }\n wrapper.fragShader = wrapper._fref.shader\n\n //If uniforms/attributes is not specified, use RT reflection\n if(!uniforms || !attributes) {\n\n //Create initial test program\n var testProgram = gl.createProgram()\n gl.attachShader(testProgram, wrapper.fragShader)\n gl.attachShader(testProgram, wrapper.vertShader)\n gl.linkProgram(testProgram)\n if(!gl.getProgramParameter(testProgram, gl.LINK_STATUS)) {\n var errLog = gl.getProgramInfoLog(testProgram)\n throw new GLError(errLog, 'Error linking program:' + errLog)\n }\n\n //Load data from runtime\n uniforms = uniforms || runtime.uniforms(gl, testProgram)\n attributes = attributes || runtime.attributes(gl, testProgram)\n\n //Release test program\n gl.deleteProgram(testProgram)\n }\n\n //Sort attributes lexicographically\n // overrides undefined WebGL behavior for attribute locations\n attributes = attributes.slice()\n attributes.sort(compareAttributes)\n\n //Convert attribute types, read out locations\n var attributeUnpacked = []\n var attributeNames = []\n var attributeLocations = []\n var i\n for(i=0; i= 0) {\n var size = attr.type.charAt(attr.type.length-1)|0\n var locVector = new Array(size)\n for(var j=0; j= 0) {\n curLocation += 1\n }\n attributeLocations[i] = curLocation\n }\n }\n\n //Rebuild program and recompute all uniform locations\n var uniformLocations = new Array(uniforms.length)\n function relink() {\n wrapper.program = shaderCache.program(\n gl\n , wrapper._vref\n , wrapper._fref\n , attributeNames\n , attributeLocations)\n\n for(var i=0; i maxNorm) {\n\t\t\tmaxNorm = vec3.length(u);\n\t\t}\n\t\tif (i) {\n\t\t\t// Find vector scale [w/ units of time] using \"successive\" positions\n\t\t\t// (not \"adjacent\" with would be O(n^2)),\n\t\t\t//\n\t\t\t// The vector scale corresponds to the minimum \"time\" to travel across two\n\t\t\t// two adjacent positions at the average velocity of those two adjacent positions\n\n\t\t\tvar q = (2 * vec3.distance(p2, p) / (vec3.length(u2) + vec3.length(u)));\n\t\t\tif(q) {\n\t\t\t\tvectorScale = Math.min(vectorScale, q);\n\t\t\t\tskipIt = false;\n\t\t\t} else {\n\t\t\t\tskipIt = true;\n\t\t\t}\n\t\t}\n\t\tif(!skipIt) {\n\t\t\tp2 = p;\n\t\t\tu2 = u;\n\t\t}\n\t\tpositionVectors.push(u);\n\t}\n\tvar minV = [minX, minY, minZ];\n\tvar maxV = [maxX, maxY, maxZ];\n\tif (bounds) {\n\t\tbounds[0] = minV;\n\t\tbounds[1] = maxV;\n\t}\n\tif (maxNorm === 0) {\n\t\tmaxNorm = 1;\n\t}\n\n\t// Inverted max norm would map vector with norm maxNorm to 1 coord space units in length\n\tvar invertedMaxNorm = 1 / maxNorm;\n\n\tif (!isFinite(vectorScale)) {\n\t\tvectorScale = 1.0;\n\t}\n\tgeo.vectorScale = vectorScale;\n\n\tvar coneScale = vectorfield.coneSize || 0.5;\n\n\tif (vectorfield.absoluteConeSize) {\n\t\tconeScale = vectorfield.absoluteConeSize * invertedMaxNorm;\n\t}\n\n\tgeo.coneScale = coneScale;\n\n\t// Build the cone model.\n\tfor (var i = 0, j = 0; i < positions.length; i++) {\n\t\tvar p = positions[i];\n\t\tvar x = p[0], y = p[1], z = p[2];\n\t\tvar d = positionVectors[i];\n\t\tvar intensity = vec3.length(d) * invertedMaxNorm;\n\t\tfor (var k = 0, l = 8; k < l; k++) {\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\t\t\tgeo.positions.push([x, y, z, j++]);\n\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\t\t\tgeo.vectors.push(d);\n\n\t\t\tgeo.vertexIntensity.push(intensity, intensity, intensity);\n\t\t\tgeo.vertexIntensity.push(intensity, intensity, intensity);\n\n\t\t\tvar m = geo.positions.length;\n\t\t\tgeo.cells.push([m-6, m-5, m-4], [m-3, m-2, m-1]);\n\t\t}\n\t}\n\n\treturn geo;\n};\n\nvar shaders = __webpack_require__(\"f280\");\nmodule.exports.createMesh = __webpack_require__(\"6b3c\");\nmodule.exports.createConeMesh = function(gl, params) {\n\treturn module.exports.createMesh(gl, params, {\n\t\tshaders: shaders,\n\t\ttraceType: 'cone'\n\t});\n}\n\n\n/***/ }),\n\n/***/ \"2969f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nexports.getDimIndex = function getDimIndex(trace, ax) {\n var axId = ax._id;\n var axLetter = axId.charAt(0);\n var ind = {x: 0, y: 1}[axLetter];\n var visibleDims = trace._visibleDims;\n\n for(var k = 0; k < visibleDims.length; k++) {\n var i = visibleDims[k];\n if(trace._diag[i][ind] === axId) return k;\n }\n return false;\n};\n\n\n/***/ }),\n\n/***/ \"296e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n// for automatic alignment on dragging, <1/3 means left align,\n// >2/3 means right, and between is center. Pick the right fraction\n// based on where you are, and return the fraction corresponding to\n// that position on the object\nmodule.exports = function align(v, dv, v0, v1, anchor) {\n var vmin = (v - v0) / (v1 - v0);\n var vmax = vmin + dv / (v1 - v0);\n var vc = (vmin + vmax) / 2;\n\n // explicitly specified anchor\n if(anchor === 'left' || anchor === 'bottom') return vmin;\n if(anchor === 'center' || anchor === 'middle') return vc;\n if(anchor === 'right' || anchor === 'top') return vmax;\n\n // automatic based on position\n if(vmin < (2 / 3) - vc) return vmin;\n if(vmax > (4 / 3) - vc) return vmax;\n return vc;\n};\n\n\n/***/ }),\n\n/***/ \"299d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar createScatter = __webpack_require__(\"96e3\");\nvar createLine = __webpack_require__(\"e8ee\");\nvar createError = __webpack_require__(\"b113\");\nvar Text = __webpack_require__(\"ad68\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar prepareRegl = __webpack_require__(\"cf42\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar linkTraces = __webpack_require__(\"00bd\");\n\nvar styleTextSelection = __webpack_require__(\"e38a\").styleTextSelection;\n\nfunction getViewport(fullLayout, xaxis, yaxis) {\n var gs = fullLayout._size;\n var width = fullLayout.width;\n var height = fullLayout.height;\n return [\n gs.l + xaxis.domain[0] * gs.w,\n gs.b + yaxis.domain[0] * gs.h,\n (width - gs.r) - (1 - xaxis.domain[1]) * gs.w,\n (height - gs.t) - (1 - yaxis.domain[1]) * gs.h\n ];\n}\n\nmodule.exports = function plot(gd, subplot, cdata) {\n if(!cdata.length) return;\n\n var fullLayout = gd._fullLayout;\n var scene = subplot._scene;\n var xaxis = subplot.xaxis;\n var yaxis = subplot.yaxis;\n var i, j;\n\n // we may have more subplots than initialized data due to Axes.getSubplots method\n if(!scene) return;\n\n var success = prepareRegl(gd, ['ANGLE_instanced_arrays', 'OES_element_index_uint']);\n if(!success) {\n scene.init();\n return;\n }\n\n var count = scene.count;\n var regl = fullLayout._glcanvas.data()[0].regl;\n\n // that is needed for fills\n linkTraces(gd, subplot, cdata);\n\n if(scene.dirty) {\n // make sure scenes are created\n if(scene.error2d === true) {\n scene.error2d = createError(regl);\n }\n if(scene.line2d === true) {\n scene.line2d = createLine(regl);\n }\n if(scene.scatter2d === true) {\n scene.scatter2d = createScatter(regl);\n }\n if(scene.fill2d === true) {\n scene.fill2d = createLine(regl);\n }\n if(scene.glText === true) {\n scene.glText = new Array(count);\n for(i = 0; i < count; i++) {\n scene.glText[i] = new Text(regl);\n }\n }\n\n // update main marker options\n if(scene.glText) {\n if(count > scene.glText.length) {\n // add gl text marker\n var textsToAdd = count - scene.glText.length;\n for(i = 0; i < textsToAdd; i++) {\n scene.glText.push(new Text(regl));\n }\n } else if(count < scene.glText.length) {\n // remove gl text marker\n var textsToRemove = scene.glText.length - count;\n var removedTexts = scene.glText.splice(count, textsToRemove);\n removedTexts.forEach(function(text) { text.destroy(); });\n }\n\n for(i = 0; i < count; i++) {\n scene.glText[i].update(scene.textOptions[i]);\n }\n }\n if(scene.line2d) {\n scene.line2d.update(scene.lineOptions);\n scene.lineOptions = scene.lineOptions.map(function(lineOptions) {\n if(lineOptions && lineOptions.positions) {\n var srcPos = lineOptions.positions;\n\n var firstptdef = 0;\n while(firstptdef < srcPos.length && (isNaN(srcPos[firstptdef]) || isNaN(srcPos[firstptdef + 1]))) {\n firstptdef += 2;\n }\n var lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && (isNaN(srcPos[lastptdef]) || isNaN(srcPos[lastptdef + 1]))) {\n lastptdef -= 2;\n }\n lineOptions.positions = srcPos.slice(firstptdef, lastptdef + 2);\n }\n return lineOptions;\n });\n scene.line2d.update(scene.lineOptions);\n }\n if(scene.error2d) {\n var errorBatch = (scene.errorXOptions || []).concat(scene.errorYOptions || []);\n scene.error2d.update(errorBatch);\n }\n if(scene.scatter2d) {\n scene.scatter2d.update(scene.markerOptions);\n }\n\n // fill requires linked traces, so we generate it's positions here\n scene.fillOrder = Lib.repeat(null, count);\n if(scene.fill2d) {\n scene.fillOptions = scene.fillOptions.map(function(fillOptions, i) {\n var cdscatter = cdata[i];\n if(!fillOptions || !cdscatter || !cdscatter[0] || !cdscatter[0].trace) return;\n var cd = cdscatter[0];\n var trace = cd.trace;\n var stash = cd.t;\n var lineOptions = scene.lineOptions[i];\n var last, j;\n\n var fillData = [];\n if(trace._ownfill) fillData.push(i);\n if(trace._nexttrace) fillData.push(i + 1);\n if(fillData.length) scene.fillOrder[i] = fillData;\n\n var pos = [];\n var srcPos = (lineOptions && lineOptions.positions) || stash.positions;\n var firstptdef, lastptdef;\n\n if(trace.fill === 'tozeroy') {\n firstptdef = 0;\n while(firstptdef < srcPos.length && isNaN(srcPos[firstptdef + 1])) {\n firstptdef += 2;\n }\n lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && isNaN(srcPos[lastptdef + 1])) {\n lastptdef -= 2;\n }\n if(srcPos[firstptdef + 1] !== 0) {\n pos = [srcPos[firstptdef], 0];\n }\n pos = pos.concat(srcPos.slice(firstptdef, lastptdef + 2));\n if(srcPos[lastptdef + 1] !== 0) {\n pos = pos.concat([srcPos[lastptdef], 0]);\n }\n } else if(trace.fill === 'tozerox') {\n firstptdef = 0;\n while(firstptdef < srcPos.length && isNaN(srcPos[firstptdef])) {\n firstptdef += 2;\n }\n lastptdef = srcPos.length - 2;\n while(lastptdef > firstptdef && isNaN(srcPos[lastptdef])) {\n lastptdef -= 2;\n }\n if(srcPos[firstptdef] !== 0) {\n pos = [0, srcPos[firstptdef + 1]];\n }\n pos = pos.concat(srcPos.slice(firstptdef, lastptdef + 2));\n if(srcPos[lastptdef] !== 0) {\n pos = pos.concat([ 0, srcPos[lastptdef + 1]]);\n }\n } else if(trace.fill === 'toself' || trace.fill === 'tonext') {\n pos = [];\n last = 0;\n for(j = 0; j < srcPos.length; j += 2) {\n if(isNaN(srcPos[j]) || isNaN(srcPos[j + 1])) {\n pos = pos.concat(srcPos.slice(last, j));\n pos.push(srcPos[last], srcPos[last + 1]);\n last = j + 2;\n }\n }\n pos = pos.concat(srcPos.slice(last));\n if(last) {\n pos.push(srcPos[last], srcPos[last + 1]);\n }\n } else {\n var nextTrace = trace._nexttrace;\n\n if(nextTrace) {\n var nextOptions = scene.lineOptions[i + 1];\n\n if(nextOptions) {\n var nextPos = nextOptions.positions;\n if(trace.fill === 'tonexty') {\n pos = srcPos.slice();\n\n for(i = Math.floor(nextPos.length / 2); i--;) {\n var xx = nextPos[i * 2];\n var yy = nextPos[i * 2 + 1];\n if(isNaN(xx) || isNaN(yy)) continue;\n pos.push(xx, yy);\n }\n fillOptions.fill = nextTrace.fillcolor;\n }\n }\n }\n }\n\n // detect prev trace positions to exclude from current fill\n if(trace._prevtrace && trace._prevtrace.fill === 'tonext') {\n var prevLinePos = scene.lineOptions[i - 1].positions;\n\n // FIXME: likely this logic should be tested better\n var offset = pos.length / 2;\n last = offset;\n var hole = [last];\n for(j = 0; j < prevLinePos.length; j += 2) {\n if(isNaN(prevLinePos[j]) || isNaN(prevLinePos[j + 1])) {\n hole.push(j / 2 + offset + 1);\n last = j + 2;\n }\n }\n\n pos = pos.concat(prevLinePos);\n fillOptions.hole = hole;\n }\n fillOptions.fillmode = trace.fill;\n fillOptions.opacity = trace.opacity;\n fillOptions.positions = pos;\n\n return fillOptions;\n });\n\n scene.fill2d.update(scene.fillOptions);\n }\n }\n\n // form batch arrays, and check for selected points\n var dragmode = fullLayout.dragmode;\n var selectMode = dragmode === 'lasso' || dragmode === 'select';\n var clickSelectEnabled = fullLayout.clickmode.indexOf('select') > -1;\n\n for(i = 0; i < count; i++) {\n var cd0 = cdata[i][0];\n var trace = cd0.trace;\n var stash = cd0.t;\n var index = stash.index;\n var len = trace._length;\n var x = stash.x;\n var y = stash.y;\n\n if(trace.selectedpoints || selectMode || clickSelectEnabled) {\n if(!selectMode) selectMode = true;\n\n // regenerate scene batch, if traces number changed during selection\n if(trace.selectedpoints) {\n var selPts = scene.selectBatch[index] = Lib.selIndices2selPoints(trace);\n\n var selDict = {};\n for(j = 0; j < selPts.length; j++) {\n selDict[selPts[j]] = 1;\n }\n var unselPts = [];\n for(j = 0; j < len; j++) {\n if(!selDict[j]) unselPts.push(j);\n }\n scene.unselectBatch[index] = unselPts;\n }\n\n // precalculate px coords since we are not going to pan during select\n // TODO, could do better here e.g.\n // - spin that in a webworker\n // - compute selection from polygons in data coordinates\n // (maybe just for linear axes)\n var xpx = stash.xpx = new Array(len);\n var ypx = stash.ypx = new Array(len);\n for(j = 0; j < len; j++) {\n xpx[j] = xaxis.c2p(x[j]);\n ypx[j] = yaxis.c2p(y[j]);\n }\n } else {\n stash.xpx = stash.ypx = null;\n }\n }\n\n if(selectMode) {\n // create scatter instance by cloning scatter2d\n if(!scene.select2d) {\n scene.select2d = createScatter(fullLayout._glcanvas.data()[1].regl);\n }\n\n // use unselected styles on 'context' canvas\n if(scene.scatter2d) {\n var unselOpts = new Array(count);\n for(i = 0; i < count; i++) {\n unselOpts[i] = scene.selectBatch[i].length || scene.unselectBatch[i].length ?\n scene.markerUnselectedOptions[i] :\n {};\n }\n scene.scatter2d.update(unselOpts);\n }\n\n // use selected style on 'focus' canvas\n if(scene.select2d) {\n scene.select2d.update(scene.markerOptions);\n scene.select2d.update(scene.markerSelectedOptions);\n }\n\n if(scene.glText) {\n cdata.forEach(function(cdscatter) {\n var trace = ((cdscatter || [])[0] || {}).trace || {};\n if(subTypes.hasText(trace)) {\n styleTextSelection(cdscatter);\n }\n });\n }\n } else {\n // reset 'context' scatter2d opts to base opts,\n // thus unsetting markerUnselectedOptions from selection\n if(scene.scatter2d) {\n scene.scatter2d.update(scene.markerOptions);\n }\n }\n\n // provide viewport and range\n var vpRange0 = {\n viewport: getViewport(fullLayout, xaxis, yaxis),\n // TODO do we need those fallbacks?\n range: [\n (xaxis._rl || xaxis.range)[0],\n (yaxis._rl || yaxis.range)[0],\n (xaxis._rl || xaxis.range)[1],\n (yaxis._rl || yaxis.range)[1]\n ]\n };\n var vpRange = Lib.repeat(vpRange0, scene.count);\n\n // upload viewport/range data to GPU\n if(scene.fill2d) {\n scene.fill2d.update(vpRange);\n }\n if(scene.line2d) {\n scene.line2d.update(vpRange);\n }\n if(scene.error2d) {\n scene.error2d.update(vpRange.concat(vpRange));\n }\n if(scene.scatter2d) {\n scene.scatter2d.update(vpRange);\n }\n if(scene.select2d) {\n scene.select2d.update(vpRange);\n }\n if(scene.glText) {\n scene.glText.forEach(function(text) { text.update(vpRange0); });\n }\n};\n\n\n/***/ }),\n\n/***/ \"2a16\":\n/***/ (function(module, exports) {\n\nmodule.exports = scale;\n\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\nfunction scale(out, a, b) {\n out[0] = a[0] * b\n out[1] = a[1] * b\n out[2] = a[2] * b\n return out\n}\n\n/***/ }),\n\n/***/ \"2a27\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"97d1\");\nvar Color = __webpack_require__(\"d115\");\nvar handleDomainDefaults = __webpack_require__(\"81f0\").defaults;\nvar handleText = __webpack_require__(\"1c1c\").handleText;\nvar TEXTPAD = __webpack_require__(\"1a5e\").TEXTPAD;\n\nvar Colorscale = __webpack_require__(\"c258\");\nvar hasColorscale = Colorscale.hasColorscale;\nvar colorscaleDefaults = Colorscale.handleDefaults;\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var labels = coerce('labels');\n var parents = coerce('parents');\n\n if(!labels || !labels.length || !parents || !parents.length) {\n traceOut.visible = false;\n return;\n }\n\n var vals = coerce('values');\n if(vals && vals.length) {\n coerce('branchvalues');\n } else {\n coerce('count');\n }\n\n coerce('level');\n coerce('maxdepth');\n\n var packing = coerce('tiling.packing');\n if(packing === 'squarify') {\n coerce('tiling.squarifyratio');\n }\n\n coerce('tiling.flip');\n coerce('tiling.pad');\n\n var text = coerce('text');\n coerce('texttemplate');\n if(!traceOut.texttemplate) coerce('textinfo', Array.isArray(text) ? 'text+label' : 'label');\n\n coerce('hovertext');\n coerce('hovertemplate');\n\n var hasPathbar = coerce('pathbar.visible');\n\n var textposition = 'auto';\n handleText(traceIn, traceOut, layout, coerce, textposition, {\n hasPathbar: hasPathbar,\n moduleHasSelected: false,\n moduleHasUnselected: false,\n moduleHasConstrain: false,\n moduleHasCliponaxis: false,\n moduleHasTextangle: false,\n moduleHasInsideanchor: false\n });\n coerce('textposition');\n var bottomText = traceOut.textposition.indexOf('bottom') !== -1;\n\n var lineWidth = coerce('marker.line.width');\n if(lineWidth) coerce('marker.line.color', layout.paper_bgcolor);\n\n var colors = coerce('marker.colors');\n var withColorscale = traceOut._hasColorscale = (\n hasColorscale(traceIn, 'marker', 'colors') ||\n (traceIn.marker || {}).coloraxis // N.B. special logic to consider \"values\" colorscales\n );\n if(withColorscale) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n } else {\n coerce('marker.depthfade', !(colors || []).length);\n }\n\n var headerSize = traceOut.textfont.size * 2;\n\n coerce('marker.pad.t', bottomText ? headerSize / 4 : headerSize);\n coerce('marker.pad.l', headerSize / 4);\n coerce('marker.pad.r', headerSize / 4);\n coerce('marker.pad.b', bottomText ? headerSize : headerSize / 4);\n\n if(withColorscale) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n }\n\n traceOut._hovered = {\n marker: {\n line: {\n width: 2,\n color: Color.contrast(layout.paper_bgcolor)\n }\n }\n };\n\n if(hasPathbar) {\n // This works even for multi-line labels as treemap pathbar trim out line breaks\n coerce('pathbar.thickness', traceOut.pathbar.textfont.size + 2 * TEXTPAD);\n\n coerce('pathbar.side');\n coerce('pathbar.edgeshape');\n }\n\n handleDomainDefaults(traceOut, layout, coerce);\n\n // do not support transforms for now\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"2aa9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var selection = [];\n var fullData = cd[0].trace;\n\n var nodes = fullData._sankey.graph.nodes;\n\n for(var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if(node.partOfGroup) continue; // Those are invisible\n\n // Position of node's centroid\n var pos = [(node.x0 + node.x1) / 2, (node.y0 + node.y1) / 2];\n\n // Swap x and y if trace is vertical\n if(fullData.orientation === 'v') pos.reverse();\n\n if(selectionTester && selectionTester.contains(pos, false, i, searchInfo)) {\n selection.push({\n pointNumber: node.pointNumber\n // TODO: add eventData\n });\n }\n }\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"2ad6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // https://github.com/Semantic-Org/Semantic-UI/issues/3855\n // https://github.com/marcj/css-element-queries/issues/257\n var globalWindow = typeof window != 'undefined' && window.Math == Math\n ? window\n : typeof self != 'undefined' && self.Math == Math\n ? self\n : Function('return this')();\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = globalWindow.requestAnimationFrame ||\n globalWindow.mozRequestAnimationFrame ||\n globalWindow.webkitRequestAnimationFrame ||\n function (fn) {\n return globalWindow.setTimeout(fn, 20);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Apply CSS styles to element.\n *\n * @param {HTMLElement} element\n * @param {Object} style\n */\n function setStyle(element, style) {\n Object.keys(style).forEach(function(key) {\n element.style[key] = style[key];\n });\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function(sizeInfo) {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call(this, sizeInfo);\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n left: '0px',\n top: '0px',\n right: '0px',\n bottom: '0px',\n overflow: 'hidden',\n zIndex: '-1',\n visibility: 'hidden',\n maxWidth: '100%'\n };\n var styleChild = {\n position: 'absolute',\n left: '0px',\n top: '0px',\n transition: '0s',\n };\n\n setStyle(element.resizeSensor, style);\n\n var expand = document.createElement('div');\n expand.className = 'resize-sensor-expand';\n setStyle(expand, style);\n\n var expandChild = document.createElement('div');\n setStyle(expandChild, styleChild);\n expand.appendChild(expandChild);\n\n var shrink = document.createElement('div');\n shrink.className = 'resize-sensor-shrink';\n setStyle(shrink, style);\n\n var shrinkChild = document.createElement('div');\n setStyle(shrinkChild, styleChild);\n setStyle(shrinkChild, { width: '200%', height: '200%' });\n shrink.appendChild(shrinkChild);\n\n element.resizeSensor.appendChild(expand);\n element.resizeSensor.appendChild(shrink);\n element.appendChild(element.resizeSensor);\n\n var computedStyle = window.getComputedStyle(element);\n var position = computedStyle ? computedStyle.getPropertyValue('position') : null;\n if ('absolute' !== position && 'relative' !== position && 'fixed' !== position) {\n element.style.position = 'relative';\n }\n\n var dirty, rafId;\n var size = getElementSize(element);\n var lastWidth = 0;\n var lastHeight = 0;\n var initialHiddenCheck = true;\n var lastAnimationFrame = 0;\n\n var resetExpandShrink = function () {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n expandChild.style.width = (width + 10) + 'px';\n expandChild.style.height = (height + 10) + 'px';\n\n expand.scrollLeft = width + 10;\n expand.scrollTop = height + 10;\n\n shrink.scrollLeft = width + 10;\n shrink.scrollTop = height + 10;\n };\n\n var reset = function() {\n // Check if element is hidden\n if (initialHiddenCheck) {\n var invisible = element.offsetWidth === 0 && element.offsetHeight === 0;\n if (invisible) {\n // Check in next frame\n if (!lastAnimationFrame){\n lastAnimationFrame = requestAnimationFrame(function(){\n lastAnimationFrame = 0;\n\n reset();\n });\n }\n\n return;\n } else {\n // Stop checking\n initialHiddenCheck = false;\n }\n }\n\n resetExpandShrink();\n };\n element.resizeSensor.resetSensor = reset;\n\n var onResized = function() {\n rafId = 0;\n\n if (!dirty) return;\n\n lastWidth = size.width;\n lastHeight = size.height;\n\n if (element.resizedAttached) {\n element.resizedAttached.call(size);\n }\n };\n\n var onScroll = function() {\n size = getElementSize(element);\n dirty = size.width !== lastWidth || size.height !== lastHeight;\n\n if (dirty && !rafId) {\n rafId = requestAnimationFrame(onResized);\n }\n\n reset();\n };\n\n var addEvent = function(el, name, cb) {\n if (el.attachEvent) {\n el.attachEvent('on' + name, cb);\n } else {\n el.addEventListener(name, cb);\n }\n };\n\n addEvent(expand, 'scroll', onScroll);\n addEvent(shrink, 'scroll', onScroll);\n\n // Fix for custom Elements\n requestAnimationFrame(reset);\n }\n\n forEachElement(element, function(elem){\n attachResizeEvent(elem, callback);\n });\n\n this.detach = function(ev) {\n ResizeSensor.detach(element, ev);\n };\n\n this.reset = function() {\n element.resizeSensor.resetSensor();\n };\n };\n\n ResizeSensor.reset = function(element) {\n forEachElement(element, function(elem){\n elem.resizeSensor.resetSensor();\n });\n };\n\n ResizeSensor.detach = function(element, ev) {\n forEachElement(element, function(elem){\n if (!elem) return;\n if(elem.resizedAttached && typeof ev === \"function\"){\n elem.resizedAttached.remove(ev);\n if(elem.resizedAttached.length()) return;\n }\n if (elem.resizeSensor) {\n if (elem.contains(elem.resizeSensor)) {\n elem.removeChild(elem.resizeSensor);\n }\n delete elem.resizeSensor;\n delete elem.resizedAttached;\n }\n });\n };\n\n if (typeof MutationObserver !== \"undefined\") {\n var observer = new MutationObserver(function (mutations) {\n for (var i in mutations) {\n if (mutations.hasOwnProperty(i)) {\n var items = mutations[i].addedNodes;\n for (var j = 0; j < items.length; j++) {\n if (items[j].resizeSensor) {\n ResizeSensor.reset(items[j]);\n }\n }\n }\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", function (event) {\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n return ResizeSensor;\n\n}));\n\n\n/***/ }),\n\n/***/ \"2c66\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"2456\")\n\n\n/***/ }),\n\n/***/ \"2c8d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\r\n\r\nvar isBrowser = __webpack_require__(\"dcf3\")\r\nvar hasHover\r\n\r\nif (typeof global.matchMedia === 'function') {\r\n\thasHover = !global.matchMedia('(hover: none)').matches\r\n}\r\nelse {\r\n\thasHover = isBrowser\r\n}\r\n\r\nmodule.exports = hasHover\r\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar userAgent = __webpack_require__(\"342f\");\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n\n\n/***/ }),\n\n/***/ \"2d0e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar INTERPTHRESHOLD = 1e-2;\nvar NEIGHBORSHIFTS = [[-1, 0], [1, 0], [0, -1], [0, 1]];\n\nfunction correctionOvershoot(maxFractionalChange) {\n // start with less overshoot, until we know it's converging,\n // then ramp up the overshoot for faster convergence\n return 0.5 - 0.25 * Math.min(1, maxFractionalChange * 0.5);\n}\n\n/*\n * interp2d: Fill in missing data from a 2D array using an iterative\n * poisson equation solver with zero-derivative BC at edges.\n * Amazingly, this just amounts to repeatedly averaging all the existing\n * nearest neighbors, at least if we don't take x/y scaling into account,\n * which is the right approach here where x and y may not even have the\n * same units.\n *\n * @param {array of arrays} z\n * The 2D array to fill in. Will be mutated here. Assumed to already be\n * cleaned, so all entries are numbers except gaps, which are `undefined`.\n * @param {array of arrays} emptyPoints\n * Each entry [i, j, neighborCount] for empty points z[i][j] and the number\n * of neighbors that are *not* missing. Assumed to be sorted from most to\n * least neighbors, as produced by heatmap/find_empties.\n */\nmodule.exports = function interp2d(z, emptyPoints) {\n var maxFractionalChange = 1;\n var i;\n\n // one pass to fill in a starting value for all the empties\n iterateInterp2d(z, emptyPoints);\n\n // we're don't need to iterate lone empties - remove them\n for(i = 0; i < emptyPoints.length; i++) {\n if(emptyPoints[i][2] < 4) break;\n }\n // but don't remove these points from the original array,\n // we'll use them for masking, so make a copy.\n emptyPoints = emptyPoints.slice(i);\n\n for(i = 0; i < 100 && maxFractionalChange > INTERPTHRESHOLD; i++) {\n maxFractionalChange = iterateInterp2d(z, emptyPoints,\n correctionOvershoot(maxFractionalChange));\n }\n if(maxFractionalChange > INTERPTHRESHOLD) {\n Lib.log('interp2d didn\\'t converge quickly', maxFractionalChange);\n }\n\n return z;\n};\n\nfunction iterateInterp2d(z, emptyPoints, overshoot) {\n var maxFractionalChange = 0;\n var thisPt;\n var i;\n var j;\n var p;\n var q;\n var neighborShift;\n var neighborRow;\n var neighborVal;\n var neighborCount;\n var neighborSum;\n var initialVal;\n var minNeighbor;\n var maxNeighbor;\n\n for(p = 0; p < emptyPoints.length; p++) {\n thisPt = emptyPoints[p];\n i = thisPt[0];\n j = thisPt[1];\n initialVal = z[i][j];\n neighborSum = 0;\n neighborCount = 0;\n\n for(q = 0; q < 4; q++) {\n neighborShift = NEIGHBORSHIFTS[q];\n neighborRow = z[i + neighborShift[0]];\n if(!neighborRow) continue;\n neighborVal = neighborRow[j + neighborShift[1]];\n if(neighborVal !== undefined) {\n if(neighborSum === 0) {\n minNeighbor = maxNeighbor = neighborVal;\n } else {\n minNeighbor = Math.min(minNeighbor, neighborVal);\n maxNeighbor = Math.max(maxNeighbor, neighborVal);\n }\n neighborCount++;\n neighborSum += neighborVal;\n }\n }\n\n if(neighborCount === 0) {\n throw 'iterateInterp2d order is wrong: no defined neighbors';\n }\n\n // this is the laplace equation interpolation:\n // each point is just the average of its neighbors\n // note that this ignores differential x/y scaling\n // which I think is the right approach, since we\n // don't know what that scaling means\n z[i][j] = neighborSum / neighborCount;\n\n if(initialVal === undefined) {\n if(neighborCount < 4) maxFractionalChange = 1;\n } else {\n // we can make large empty regions converge faster\n // if we overshoot the change vs the previous value\n z[i][j] = (1 + overshoot) * z[i][j] - overshoot * initialVal;\n\n if(maxNeighbor > minNeighbor) {\n maxFractionalChange = Math.max(maxFractionalChange,\n Math.abs(z[i][j] - initialVal) / (maxNeighbor - minNeighbor));\n }\n }\n }\n\n return maxFractionalChange;\n}\n\n\n/***/ }),\n\n/***/ \"2d12\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"08ed\");\n\n\n/***/ }),\n\n/***/ \"2d1c\":\n/***/ (function(module, exports) {\n\nmodule.exports = negate;\n\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to negate\n * @returns {vec3} out\n */\nfunction negate(out, a) {\n out[0] = -a[0]\n out[1] = -a[1]\n out[2] = -a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"2d7d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Persian calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the Persian or Jalali calendar.\n Based on code from http://www.iranchamber.com/calendar/converter/iranian_calendar_converter.php.\n See also http://en.wikipedia.org/wiki/Iranian_calendar.\n @class PersianCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction PersianCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nPersianCalendar.prototype = new main.baseCalendar;\n\nassign(PersianCalendar.prototype, {\n /** The calendar name.\n @memberof PersianCalendar */\n name: 'Persian',\n /** Julian date of start of Persian epoch: 19 March 622 CE.\n @memberof PersianCalendar */\n jdEpoch: 1948320.5,\n /** Days per month in a common year.\n @memberof PersianCalendar */\n daysPerMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29],\n /** true if has a year zero, false if not.\n @memberof PersianCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof PersianCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof PersianCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof PersianCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof PersianCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Persian',\n epochs: ['BP', 'AP'],\n monthNames: ['Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad', 'Shahrivar',\n 'Mehr', 'Aban', 'Azar', 'Day', 'Bahman', 'Esfand'],\n monthNamesShort: ['Far', 'Ord', 'Kho', 'Tir', 'Mor', 'Sha', 'Meh', 'Aba', 'Aza', 'Day', 'Bah', 'Esf'],\n dayNames: ['Yekshambe', 'Doshambe', 'Seshambe', 'Chæharshambe', 'Panjshambe', 'Jom\\'e', 'Shambe'],\n dayNamesShort: ['Yek', 'Do', 'Se', 'Chæ', 'Panj', 'Jom', 'Sha'],\n dayNamesMin: ['Ye','Do','Se','Ch','Pa','Jo','Sh'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (((((date.year() - (date.year() > 0 ? 474 : 473)) % 2820) +\n 474 + 38) * 682) % 2816) < 682;\n },\n\n /** Determine the week of the year for a date.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Saturday of this week starting on Saturday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-((checkDate.dayOfWeek() + 1) % 7), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a month.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 12 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof PersianCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof PersianCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n var epBase = year - (year >= 0 ? 474 : 473);\n var epYear = 474 + mod(epBase, 2820);\n return day + (month <= 7 ? (month - 1) * 31 : (month - 1) * 30 + 6) +\n Math.floor((epYear * 682 - 110) / 2816) + (epYear - 1) * 365 +\n Math.floor(epBase / 2820) * 1029983 + this.jdEpoch - 1;\n },\n\n /** Create a new date from a Julian date.\n @memberof PersianCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n jd = Math.floor(jd) + 0.5;\n var depoch = jd - this.toJD(475, 1, 1);\n var cycle = Math.floor(depoch / 1029983);\n var cyear = mod(depoch, 1029983);\n var ycycle = 2820;\n if (cyear !== 1029982) {\n var aux1 = Math.floor(cyear / 366);\n var aux2 = mod(cyear, 366);\n ycycle = Math.floor(((2134 * aux1) + (2816 * aux2) + 2815) / 1028522) + aux1 + 1;\n }\n var year = ycycle + (2820 * cycle) + 474;\n year = (year <= 0 ? year - 1 : year);\n var yday = jd - this.toJD(year, 1, 1) + 1;\n var month = (yday <= 186 ? Math.ceil(yday / 31) : Math.ceil((yday - 6) / 30));\n var day = jd - this.toJD(year, month, 1) + 1;\n return this.newDate(year, month, day);\n }\n});\n\n// Modulus function which works for non-integers.\nfunction mod(a, b) {\n return a - (b * Math.floor(a / b));\n}\n\n// Persian (Jalali) calendar implementation\nmain.calendars.persian = PersianCalendar;\nmain.calendars.jalali = PersianCalendar;\n\n\n\n/***/ }),\n\n/***/ \"2d9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar isPlainObject = Lib.isPlainObject;\nvar PlotSchema = __webpack_require__(\"6921\");\nvar Plots = __webpack_require__(\"bb71\");\nvar plotAttributes = __webpack_require__(\"a876\");\nvar Template = __webpack_require__(\"a651\");\nvar dfltConfig = __webpack_require__(\"3ff5\").dfltConfig;\n\n/**\n * Plotly.makeTemplate: create a template off an existing figure to reuse\n * style attributes on other figures.\n *\n * Note: separated from the rest of templates because otherwise we get circular\n * references due to PlotSchema.\n *\n * @param {object|DOM element|string} figure: The figure to base the template on\n * should contain a trace array `figure.data`\n * and a layout object `figure.layout`\n * @returns {object} template: the extracted template - can then be used as\n * `layout.template` in another figure.\n */\nexports.makeTemplate = function(figure) {\n figure = Lib.isPlainObject(figure) ? figure : Lib.getGraphDiv(figure);\n figure = Lib.extendDeep({_context: dfltConfig}, {data: figure.data, layout: figure.layout});\n Plots.supplyDefaults(figure);\n var data = figure.data || [];\n var layout = figure.layout || {};\n // copy over a few items to help follow the schema\n layout._basePlotModules = figure._fullLayout._basePlotModules;\n layout._modules = figure._fullLayout._modules;\n\n var template = {\n data: {},\n layout: {}\n };\n\n /*\n * Note: we do NOT validate template values, we just take what's in the\n * user inputs data and layout, not the validated values in fullData and\n * fullLayout. Even if we were to validate here, there's no guarantee that\n * these values would still be valid when applied to a new figure, which\n * may contain different trace modes, different axes, etc. So it's\n * important that when applying a template we still validate the template\n * values, rather than just using them as defaults.\n */\n\n data.forEach(function(trace) {\n // TODO: What if no style info is extracted for this trace. We may\n // not want an empty object as the null value.\n // TODO: allow transforms to contribute to templates?\n // as it stands they are ignored, which may be for the best...\n\n var traceTemplate = {};\n walkStyleKeys(trace, traceTemplate, getTraceInfo.bind(null, trace));\n\n var traceType = Lib.coerce(trace, {}, plotAttributes, 'type');\n var typeTemplates = template.data[traceType];\n if(!typeTemplates) typeTemplates = template.data[traceType] = [];\n typeTemplates.push(traceTemplate);\n });\n\n walkStyleKeys(layout, template.layout, getLayoutInfo.bind(null, layout));\n\n /*\n * Compose the new template with an existing one to the same effect\n *\n * NOTE: there's a possibility of slightly different behavior: if the plot\n * has an invalid value and the old template has a valid value for the same\n * attribute, the plot will use the old template value but this routine\n * will pull the invalid value (resulting in the original default).\n * In the general case it's not possible to solve this with a single value,\n * since valid options can be context-dependent. It could be solved with\n * a *list* of values, but that would be huge complexity for little gain.\n */\n delete template.layout.template;\n var oldTemplate = layout.template;\n if(isPlainObject(oldTemplate)) {\n var oldLayoutTemplate = oldTemplate.layout;\n\n var i, traceType, oldTypeTemplates, oldTypeLen, typeTemplates, typeLen;\n\n if(isPlainObject(oldLayoutTemplate)) {\n mergeTemplates(oldLayoutTemplate, template.layout);\n }\n var oldDataTemplate = oldTemplate.data;\n if(isPlainObject(oldDataTemplate)) {\n for(traceType in template.data) {\n oldTypeTemplates = oldDataTemplate[traceType];\n if(Array.isArray(oldTypeTemplates)) {\n typeTemplates = template.data[traceType];\n typeLen = typeTemplates.length;\n oldTypeLen = oldTypeTemplates.length;\n for(i = 0; i < typeLen; i++) {\n mergeTemplates(oldTypeTemplates[i % oldTypeLen], typeTemplates[i]);\n }\n for(i = typeLen; i < oldTypeLen; i++) {\n typeTemplates.push(Lib.extendDeep({}, oldTypeTemplates[i]));\n }\n }\n }\n for(traceType in oldDataTemplate) {\n if(!(traceType in template.data)) {\n template.data[traceType] = Lib.extendDeep([], oldDataTemplate[traceType]);\n }\n }\n }\n }\n\n return template;\n};\n\nfunction mergeTemplates(oldTemplate, newTemplate) {\n // we don't care about speed here, just make sure we have a totally\n // distinct object from the previous template\n oldTemplate = Lib.extendDeep({}, oldTemplate);\n\n // sort keys so we always get annotationdefaults before annotations etc\n // so arrayTemplater will work right\n var oldKeys = Object.keys(oldTemplate).sort();\n var i, j;\n\n function mergeOne(oldVal, newVal, key) {\n if(isPlainObject(newVal) && isPlainObject(oldVal)) {\n mergeTemplates(oldVal, newVal);\n } else if(Array.isArray(newVal) && Array.isArray(oldVal)) {\n // Note: omitted `inclusionAttr` from arrayTemplater here,\n // it's irrelevant as we only want the resulting `_template`.\n var templater = Template.arrayTemplater({_template: oldTemplate}, key);\n for(j = 0; j < newVal.length; j++) {\n var item = newVal[j];\n var oldItem = templater.newItem(item)._template;\n if(oldItem) mergeTemplates(oldItem, item);\n }\n var defaultItems = templater.defaultItems();\n for(j = 0; j < defaultItems.length; j++) newVal.push(defaultItems[j]._template);\n\n // templateitemname only applies to receiving plots\n for(j = 0; j < newVal.length; j++) delete newVal[j].templateitemname;\n }\n }\n\n for(i = 0; i < oldKeys.length; i++) {\n var key = oldKeys[i];\n var oldVal = oldTemplate[key];\n if(key in newTemplate) {\n mergeOne(oldVal, newTemplate[key], key);\n } else newTemplate[key] = oldVal;\n\n // if this is a base key from the old template (eg xaxis), look for\n // extended keys (eg xaxis2) in the new template to merge into\n if(getBaseKey(key) === key) {\n for(var key2 in newTemplate) {\n var baseKey2 = getBaseKey(key2);\n if(key2 !== baseKey2 && baseKey2 === key && !(key2 in oldTemplate)) {\n mergeOne(oldVal, newTemplate[key2], key);\n }\n }\n }\n }\n}\n\nfunction getBaseKey(key) {\n return key.replace(/[0-9]+$/, '');\n}\n\nfunction walkStyleKeys(parent, templateOut, getAttributeInfo, path, basePath) {\n var pathAttr = basePath && getAttributeInfo(basePath);\n for(var key in parent) {\n var child = parent[key];\n var nextPath = getNextPath(parent, key, path);\n var nextBasePath = getNextPath(parent, key, basePath);\n var attr = getAttributeInfo(nextBasePath);\n if(!attr) {\n var baseKey = getBaseKey(key);\n if(baseKey !== key) {\n nextBasePath = getNextPath(parent, baseKey, basePath);\n attr = getAttributeInfo(nextBasePath);\n }\n }\n\n // we'll get an attr if path starts with a valid part, then has an\n // invalid ending. Make sure we got all the way to the end.\n if(pathAttr && (pathAttr === attr)) continue;\n\n if(!attr || attr._noTemplating ||\n attr.valType === 'data_array' ||\n (attr.arrayOk && Array.isArray(child))\n ) {\n continue;\n }\n\n if(!attr.valType && isPlainObject(child)) {\n walkStyleKeys(child, templateOut, getAttributeInfo, nextPath, nextBasePath);\n } else if(attr._isLinkedToArray && Array.isArray(child)) {\n var dfltDone = false;\n var namedIndex = 0;\n var usedNames = {};\n for(var i = 0; i < child.length; i++) {\n var item = child[i];\n if(isPlainObject(item)) {\n var name = item.name;\n if(name) {\n if(!usedNames[name]) {\n // named array items: allow all attributes except data arrays\n walkStyleKeys(item, templateOut, getAttributeInfo,\n getNextPath(child, namedIndex, nextPath),\n getNextPath(child, namedIndex, nextBasePath));\n namedIndex++;\n usedNames[name] = 1;\n }\n } else if(!dfltDone) {\n var dfltKey = Template.arrayDefaultKey(key);\n var dfltPath = getNextPath(parent, dfltKey, path);\n\n // getAttributeInfo will fail if we try to use dfltKey directly.\n // Instead put this item into the next array element, then\n // pull it out and move it to dfltKey.\n var pathInArray = getNextPath(child, namedIndex, nextPath);\n walkStyleKeys(item, templateOut, getAttributeInfo, pathInArray,\n getNextPath(child, namedIndex, nextBasePath));\n var itemPropInArray = Lib.nestedProperty(templateOut, pathInArray);\n var dfltProp = Lib.nestedProperty(templateOut, dfltPath);\n dfltProp.set(itemPropInArray.get());\n itemPropInArray.set(null);\n\n dfltDone = true;\n }\n }\n }\n } else {\n var templateProp = Lib.nestedProperty(templateOut, nextPath);\n templateProp.set(child);\n }\n }\n}\n\nfunction getLayoutInfo(layout, path) {\n return PlotSchema.getLayoutValObject(\n layout, Lib.nestedProperty({}, path).parts\n );\n}\n\nfunction getTraceInfo(trace, path) {\n return PlotSchema.getTraceValObject(\n trace, Lib.nestedProperty({}, path).parts\n );\n}\n\nfunction getNextPath(parent, key, path) {\n var nextPath;\n if(!path) nextPath = key;\n else if(Array.isArray(parent)) nextPath = path + '[' + key + ']';\n else nextPath = path + '.' + key;\n\n return nextPath;\n}\n\n/**\n * validateTemplate: Test for consistency between the given figure and\n * a template, either already included in the figure or given separately.\n * Note that not every issue we identify here is necessarily a problem,\n * it depends on what you're using the template for.\n *\n * @param {object|DOM element} figure: the plot, with {data, layout} members,\n * to test the template against\n * @param {Optional(object)} template: the template, with its own {data, layout},\n * to test. If omitted, we will look for a template already attached as the\n * plot's `layout.template` attribute.\n *\n * @returns {array} array of error objects each containing:\n * - {string} code\n * error code ('missing', 'unused', 'reused', 'noLayout', 'noData')\n * - {string} msg\n * a full readable description of the issue.\n */\nexports.validateTemplate = function(figureIn, template) {\n var figure = Lib.extendDeep({}, {\n _context: dfltConfig,\n data: figureIn.data,\n layout: figureIn.layout\n });\n var layout = figure.layout || {};\n if(!isPlainObject(template)) template = layout.template || {};\n var layoutTemplate = template.layout;\n var dataTemplate = template.data;\n var errorList = [];\n\n figure.layout = layout;\n figure.layout.template = template;\n Plots.supplyDefaults(figure);\n\n var fullLayout = figure._fullLayout;\n var fullData = figure._fullData;\n\n var layoutPaths = {};\n function crawlLayoutForContainers(obj, paths) {\n for(var key in obj) {\n if(key.charAt(0) !== '_' && isPlainObject(obj[key])) {\n var baseKey = getBaseKey(key);\n var nextPaths = [];\n var i;\n for(i = 0; i < paths.length; i++) {\n nextPaths.push(getNextPath(obj, key, paths[i]));\n if(baseKey !== key) nextPaths.push(getNextPath(obj, baseKey, paths[i]));\n }\n for(i = 0; i < nextPaths.length; i++) {\n layoutPaths[nextPaths[i]] = 1;\n }\n crawlLayoutForContainers(obj[key], nextPaths);\n }\n }\n }\n\n function crawlLayoutTemplateForContainers(obj, path) {\n for(var key in obj) {\n if(key.indexOf('defaults') === -1 && isPlainObject(obj[key])) {\n var nextPath = getNextPath(obj, key, path);\n if(layoutPaths[nextPath]) {\n crawlLayoutTemplateForContainers(obj[key], nextPath);\n } else {\n errorList.push({code: 'unused', path: nextPath});\n }\n }\n }\n }\n\n if(!isPlainObject(layoutTemplate)) {\n errorList.push({code: 'layout'});\n } else {\n crawlLayoutForContainers(fullLayout, ['layout']);\n crawlLayoutTemplateForContainers(layoutTemplate, 'layout');\n }\n\n if(!isPlainObject(dataTemplate)) {\n errorList.push({code: 'data'});\n } else {\n var typeCount = {};\n var traceType;\n for(var i = 0; i < fullData.length; i++) {\n var fullTrace = fullData[i];\n traceType = fullTrace.type;\n typeCount[traceType] = (typeCount[traceType] || 0) + 1;\n if(!fullTrace._fullInput._template) {\n // this takes care of the case of traceType in the data but not\n // the template\n errorList.push({\n code: 'missing',\n index: fullTrace._fullInput.index,\n traceType: traceType\n });\n }\n }\n for(traceType in dataTemplate) {\n var templateCount = dataTemplate[traceType].length;\n var dataCount = typeCount[traceType] || 0;\n if(templateCount > dataCount) {\n errorList.push({\n code: 'unused',\n traceType: traceType,\n templateCount: templateCount,\n dataCount: dataCount\n });\n } else if(dataCount > templateCount) {\n errorList.push({\n code: 'reused',\n traceType: traceType,\n templateCount: templateCount,\n dataCount: dataCount\n });\n }\n }\n }\n\n // _template: false is when someone tried to modify an array item\n // but there was no template with matching name\n function crawlForMissingTemplates(obj, path) {\n for(var key in obj) {\n if(key.charAt(0) === '_') continue;\n var val = obj[key];\n var nextPath = getNextPath(obj, key, path);\n if(isPlainObject(val)) {\n if(Array.isArray(obj) && val._template === false && val.templateitemname) {\n errorList.push({\n code: 'missing',\n path: nextPath,\n templateitemname: val.templateitemname\n });\n }\n crawlForMissingTemplates(val, nextPath);\n } else if(Array.isArray(val) && hasPlainObject(val)) {\n crawlForMissingTemplates(val, nextPath);\n }\n }\n }\n crawlForMissingTemplates({data: fullData, layout: fullLayout}, '');\n\n if(errorList.length) return errorList.map(format);\n};\n\nfunction hasPlainObject(arr) {\n for(var i = 0; i < arr.length; i++) {\n if(isPlainObject(arr[i])) return true;\n }\n}\n\nfunction format(opts) {\n var msg;\n switch(opts.code) {\n case 'data':\n msg = 'The template has no key data.';\n break;\n case 'layout':\n msg = 'The template has no key layout.';\n break;\n case 'missing':\n if(opts.path) {\n msg = 'There are no templates for item ' + opts.path +\n ' with name ' + opts.templateitemname;\n } else {\n msg = 'There are no templates for trace ' + opts.index +\n ', of type ' + opts.traceType + '.';\n }\n break;\n case 'unused':\n if(opts.path) {\n msg = 'The template item at ' + opts.path +\n ' was not used in constructing the plot.';\n } else if(opts.dataCount) {\n msg = 'Some of the templates of type ' + opts.traceType +\n ' were not used. The template has ' + opts.templateCount +\n ' traces, the data only has ' + opts.dataCount +\n ' of this type.';\n } else {\n msg = 'The template has ' + opts.templateCount +\n ' traces of type ' + opts.traceType +\n ' but there are none in the data.';\n }\n break;\n case 'reused':\n msg = 'Some of the templates of type ' + opts.traceType +\n ' were used more than once. The template has ' +\n opts.templateCount + ' traces, the data has ' +\n opts.dataCount + ' of this type.';\n break;\n }\n opts.msg = msg;\n\n return opts;\n}\n\n\n/***/ }),\n\n/***/ \"2dbe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar stringifyFont = __webpack_require__(\"c243\")\r\nvar defaultChars = [32, 126]\r\n\r\nmodule.exports = atlas\r\n\r\nfunction atlas(options) {\r\n options = options || {}\r\n\r\n var shape = options.shape ? options.shape : options.canvas ? [options.canvas.width, options.canvas.height] : [512, 512]\r\n var canvas = options.canvas || document.createElement('canvas')\r\n var font = options.font\r\n var step = typeof options.step === 'number' ? [options.step, options.step] : options.step || [32, 32]\r\n var chars = options.chars || defaultChars\r\n\r\n if (font && typeof font !== 'string') font = stringifyFont(font)\r\n\r\n if (!Array.isArray(chars)) {\r\n chars = String(chars).split('')\r\n } else\r\n if (chars.length === 2\r\n && typeof chars[0] === 'number'\r\n && typeof chars[1] === 'number'\r\n ) {\r\n var newchars = []\r\n\r\n for (var i = chars[0], j = 0; i <= chars[1]; i++) {\r\n newchars[j++] = String.fromCharCode(i)\r\n }\r\n\r\n chars = newchars\r\n }\r\n\r\n shape = shape.slice()\r\n canvas.width = shape[0]\r\n canvas.height = shape[1]\r\n\r\n var ctx = canvas.getContext('2d')\r\n\r\n ctx.fillStyle = '#000'\r\n ctx.fillRect(0, 0, canvas.width, canvas.height)\r\n\r\n ctx.font = font\r\n ctx.textAlign = 'center'\r\n ctx.textBaseline = 'middle'\r\n ctx.fillStyle = '#fff'\r\n\r\n var x = step[0] / 2\r\n var y = step[1] / 2\r\n for (var i = 0; i < chars.length; i++) {\r\n ctx.fillText(chars[i], x, y)\r\n if ((x += step[0]) > shape[0] - step[0]/2) (x = step[0]/2), (y += step[1])\r\n }\r\n\r\n return canvas\r\n}\r\n\n\n/***/ }),\n\n/***/ \"2dd7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"7ba3\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n coerce('sunburstcolorway', layoutOut.colorway);\n coerce('extendsunburstcolors');\n};\n\n\n/***/ }),\n\n/***/ \"2dd9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = compressExpansion\n\nfunction compressExpansion(e) {\n var m = e.length\n var Q = e[e.length-1]\n var bottom = m\n for(var i=m-2; i>=0; --i) {\n var a = Q\n var b = e[i]\n Q = a + b\n var bv = Q - a\n var q = b - bv\n if(q) {\n e[--bottom] = Q\n Q = q\n }\n }\n var top = 0\n for(var i=bottom; i 1) ||\n (fullLayout.bargap === 0 &&\n fullLayout.bargroupgap === 0 &&\n !d[0].trace.marker.line.width)) {\n d3.select(this).attr('shape-rendering', 'crispEdges');\n }\n });\n\n s.selectAll('g.points').each(function(d) {\n var sel = d3.select(this);\n var trace = d[0].trace;\n stylePoints(sel, trace, gd);\n });\n\n Registry.getComponentMethod('errorbars', 'style')(s);\n}\n\nfunction stylePoints(sel, trace, gd) {\n Drawing.pointStyle(sel.selectAll('path'), trace, gd);\n styleTextPoints(sel, trace, gd);\n}\n\nfunction styleTextPoints(sel, trace, gd) {\n sel.selectAll('text').each(function(d) {\n var tx = d3.select(this);\n var font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));\n\n Drawing.font(tx, font);\n });\n}\n\nfunction styleOnSelect(gd, cd, sel) {\n var trace = cd[0].trace;\n\n if(trace.selectedpoints) {\n stylePointsInSelectionMode(sel, trace, gd);\n } else {\n stylePoints(sel, trace, gd);\n Registry.getComponentMethod('errorbars', 'style')(sel);\n }\n}\n\nfunction stylePointsInSelectionMode(s, trace, gd) {\n Drawing.selectedPointStyle(s.selectAll('path'), trace);\n styleTextInSelectionMode(s.selectAll('text'), trace, gd);\n}\n\nfunction styleTextInSelectionMode(txs, trace, gd) {\n txs.each(function(d) {\n var tx = d3.select(this);\n var font;\n\n if(d.selected) {\n font = Lib.ensureUniformFontSize(gd, determineFont(tx, d, trace, gd));\n\n var selectedFontColor = trace.selected.textfont && trace.selected.textfont.color;\n if(selectedFontColor) {\n font.color = selectedFontColor;\n }\n\n Drawing.font(tx, font);\n } else {\n Drawing.selectedTextStyle(tx, trace);\n }\n });\n}\n\nfunction determineFont(tx, d, trace, gd) {\n var layoutFont = gd._fullLayout.font;\n var textFont = trace.textfont;\n\n if(tx.classed('bartext-inside')) {\n var barColor = getBarColor(d, trace);\n textFont = getInsideTextFont(trace, d.i, layoutFont, barColor);\n } else if(tx.classed('bartext-outside')) {\n textFont = getOutsideTextFont(trace, d.i, layoutFont);\n }\n\n return textFont;\n}\n\nfunction getTextFont(trace, index, defaultValue) {\n return getFontValue(\n attributeTextFont, trace.textfont, index, defaultValue);\n}\n\nfunction getInsideTextFont(trace, index, layoutFont, barColor) {\n var defaultFont = getTextFont(trace, index, layoutFont);\n\n var wouldFallBackToLayoutFont =\n (trace._input.textfont === undefined || trace._input.textfont.color === undefined) ||\n (Array.isArray(trace.textfont.color) && trace.textfont.color[index] === undefined);\n if(wouldFallBackToLayoutFont) {\n defaultFont = {\n color: Color.contrast(barColor),\n family: defaultFont.family,\n size: defaultFont.size\n };\n }\n\n return getFontValue(\n attributeInsideTextFont, trace.insidetextfont, index, defaultFont);\n}\n\nfunction getOutsideTextFont(trace, index, layoutFont) {\n var defaultFont = getTextFont(trace, index, layoutFont);\n return getFontValue(\n attributeOutsideTextFont, trace.outsidetextfont, index, defaultFont);\n}\n\nfunction getFontValue(attributeDefinition, attributeValue, index, defaultValue) {\n attributeValue = attributeValue || {};\n\n var familyValue = helpers.getValue(attributeValue.family, index);\n var sizeValue = helpers.getValue(attributeValue.size, index);\n var colorValue = helpers.getValue(attributeValue.color, index);\n\n return {\n family: helpers.coerceString(\n attributeDefinition.family, familyValue, defaultValue.family),\n size: helpers.coerceNumber(\n attributeDefinition.size, sizeValue, defaultValue.size),\n color: helpers.coerceColor(\n attributeDefinition.color, colorValue, defaultValue.color)\n };\n}\n\nfunction getBarColor(cd, trace) {\n if(trace.type === 'waterfall') {\n return trace[cd.dir].marker.color;\n }\n return cd.mc || trace.marker.color;\n}\n\nmodule.exports = {\n style: style,\n styleTextPoints: styleTextPoints,\n styleOnSelect: styleOnSelect,\n getInsideTextFont: getInsideTextFont,\n getOutsideTextFont: getOutsideTextFont,\n getBarColor: getBarColor,\n resizeText: resizeText\n};\n\n\n/***/ }),\n\n/***/ \"2e22\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyCircular\", function() { return sankeyCircular; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyCenter\", function() { return center; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyLeft\", function() { return left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyRight\", function() { return right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sankeyJustify\", function() { return justify; });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"bc17\");\n/* harmony import */ var d3_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"6f04\");\n/* harmony import */ var d3_shape__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"1a88\");\n/* harmony import */ var elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"7e55\");\n/* harmony import */ var elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\n// For a given link, return the target node's depth\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'left'\nfunction left(node) {\n return node.depth;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'right'\nfunction right(node, n) {\n return n - 1 - node.height;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'justify'\nfunction justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\n// The depth of a node when the nodeAlign (align) is set to 'center'\nfunction center(node) {\n return node.targetLinks.length ? node.depth : node.sourceLinks.length ? Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(node.sourceLinks, targetDepth) - 1 : 0;\n}\n\n// returns a function, using the parameter given to the sankey setting\nfunction constant(x) {\n return function () {\n return x;\n };\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n/// https://github.com/tomshanley/d3-sankeyCircular-circular\n\n// sort links' breadth (ie top to bottom in a column), based on their source nodes' breadths\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\n// sort links' breadth (ie top to bottom in a column), based on their target nodes' breadths\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\n// sort nodes' breadth (ie top to bottom in a column)\n// if both nodes have circular links, or both don't have circular links, then sort by the top (y0) of the node\n// else push nodes that have top circular links to the top, and nodes that have bottom circular links to the bottom\nfunction ascendingBreadth(a, b) {\n if (a.partOfCycle === b.partOfCycle) {\n return a.y0 - b.y0;\n } else {\n if (a.circularLinkType === 'top' || b.circularLinkType === 'bottom') {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n// return the value of a node or link\nfunction value(d) {\n return d.value;\n}\n\n// return the vertical center of a node\nfunction nodeCenter(node) {\n return (node.y0 + node.y1) / 2;\n}\n\n// return the vertical center of a link's source node\nfunction linkSourceCenter(link) {\n return nodeCenter(link.source);\n}\n\n// return the vertical center of a link's target node\nfunction linkTargetCenter(link) {\n return nodeCenter(link.target);\n}\n\n// Return the default value for ID for node, d.index\nfunction defaultId(d) {\n return d.index;\n}\n\n// Return the default object the graph's nodes, graph.nodes\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\n// Return the default object the graph's nodes, graph.links\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\n// Return the node from the collection that matches the provided ID, or throw an error if no match\nfunction find(nodeById, id) {\n var node = nodeById.get(id);\n if (!node) throw new Error('missing: ' + id);\n return node;\n}\n\nfunction getNodeID(node, id) {\n return id(node);\n}\n\n// The main sankeyCircular functions\n\n// Some constants for circular link calculations\nvar verticalMargin = 25;\nvar baseRadius = 10;\nvar scale = 0.3; //Possibly let user control this, although anything over 0.5 starts to get too cramped\n\nfunction sankeyCircular () {\n // Set the default values\n var x0 = 0,\n y0 = 0,\n x1 = 1,\n y1 = 1,\n // extent\n dx = 24,\n // nodeWidth\n py,\n // nodePadding, for vertical postioning\n id = defaultId,\n align = justify,\n nodes = defaultNodes,\n links = defaultLinks,\n iterations = 32,\n circularLinkGap = 2,\n paddingRatio,\n sortNodes = null;\n\n function sankeyCircular() {\n var graph = {\n nodes: nodes.apply(null, arguments),\n links: links.apply(null, arguments)\n\n // Process the graph's nodes and links, setting their positions\n\n // 1. Associate the nodes with their respective links, and vice versa\n };computeNodeLinks(graph);\n\n // 2. Determine which links result in a circular path in the graph\n identifyCircles(graph, id, sortNodes);\n\n // 4. Calculate the nodes' values, based on the values of the incoming and outgoing links\n computeNodeValues(graph);\n\n // 5. Calculate the nodes' depth based on the incoming and outgoing links\n // Sets the nodes':\n // - depth: the depth in the graph\n // - column: the depth (0, 1, 2, etc), as is relates to visual position from left to right\n // - x0, x1: the x coordinates, as is relates to visual position from left to right\n computeNodeDepths(graph);\n\n // 3. Determine how the circular links will be drawn,\n // either travelling back above the main chart (\"top\")\n // or below the main chart (\"bottom\")\n selectCircularLinkTypes(graph, id);\n\n // 6. Calculate the nodes' and links' vertical position within their respective column\n // Also readjusts sankeyCircular size if circular links are needed, and node x's\n computeNodeBreadths(graph, iterations, id);\n computeLinkBreadths(graph);\n\n // 7. Sort links per node, based on the links' source/target nodes' breadths\n // 8. Adjust nodes that overlap links that span 2+ columns\n var linkSortingIterations = 4; //Possibly let user control this number, like the iterations over node placement\n for (var iteration = 0; iteration < linkSortingIterations; iteration++) {\n\n sortSourceLinks(graph, y1, id);\n sortTargetLinks(graph, y1, id);\n resolveNodeLinkOverlaps(graph, y0, y1, id);\n sortSourceLinks(graph, y1, id);\n sortTargetLinks(graph, y1, id);\n }\n\n // 8.1 Adjust node and link positions back to fill height of chart area if compressed\n fillHeight(graph, y0, y1);\n\n // 9. Calculate visually appealling path for the circular paths, and create the \"d\" string\n addCircularPathData(graph, circularLinkGap, y1, id);\n\n return graph;\n } // end of sankeyCircular function\n\n\n // Set the sankeyCircular parameters\n // nodeID, nodeAlign, nodeWidth, nodePadding, nodes, links, size, extent, iterations, nodePaddingRatio, circularLinkGap\n sankeyCircular.nodeId = function (_) {\n return arguments.length ? (id = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : id;\n };\n\n sankeyCircular.nodeAlign = function (_) {\n return arguments.length ? (align = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : align;\n };\n\n sankeyCircular.nodeWidth = function (_) {\n return arguments.length ? (dx = +_, sankeyCircular) : dx;\n };\n\n sankeyCircular.nodePadding = function (_) {\n return arguments.length ? (py = +_, sankeyCircular) : py;\n };\n\n sankeyCircular.nodes = function (_) {\n return arguments.length ? (nodes = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : nodes;\n };\n\n sankeyCircular.links = function (_) {\n return arguments.length ? (links = typeof _ === 'function' ? _ : constant(_), sankeyCircular) : links;\n };\n\n sankeyCircular.size = function (_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankeyCircular) : [x1 - x0, y1 - y0];\n };\n\n sankeyCircular.extent = function (_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankeyCircular) : [[x0, y0], [x1, y1]];\n };\n\n sankeyCircular.iterations = function (_) {\n return arguments.length ? (iterations = +_, sankeyCircular) : iterations;\n };\n\n sankeyCircular.circularLinkGap = function (_) {\n return arguments.length ? (circularLinkGap = +_, sankeyCircular) : circularLinkGap;\n };\n\n sankeyCircular.nodePaddingRatio = function (_) {\n return arguments.length ? (paddingRatio = +_, sankeyCircular) : paddingRatio;\n };\n\n sankeyCircular.sortNodes = function (_) {\n return arguments.length ? (sortNodes = _, sankeyCircular) : sortNodes;\n };\n\n sankeyCircular.update = function (graph) {\n // 5. Calculate the nodes' depth based on the incoming and outgoing links\n // Sets the nodes':\n // - depth: the depth in the graph\n // - column: the depth (0, 1, 2, etc), as is relates to visual position from left to right\n // - x0, x1: the x coordinates, as is relates to visual position from left to right\n // computeNodeDepths(graph)\n\n // 3. Determine how the circular links will be drawn,\n // either travelling back above the main chart (\"top\")\n // or below the main chart (\"bottom\")\n selectCircularLinkTypes(graph, id);\n\n // 6. Calculate the nodes' and links' vertical position within their respective column\n // Also readjusts sankeyCircular size if circular links are needed, and node x's\n // computeNodeBreadths(graph, iterations, id)\n computeLinkBreadths(graph);\n\n // Force position of circular link type based on position\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularLinkType = link.y0 + link.y1 < y1 ? 'top' : 'bottom';\n\n link.source.circularLinkType = link.circularLinkType;\n link.target.circularLinkType = link.circularLinkType;\n }\n });\n\n sortSourceLinks(graph, y1, id, false); // Sort links but do not move nodes\n sortTargetLinks(graph, y1, id);\n\n // 7. Sort links per node, based on the links' source/target nodes' breadths\n // 8. Adjust nodes that overlap links that span 2+ columns\n // var linkSortingIterations = 4; //Possibly let user control this number, like the iterations over node placement\n // for (var iteration = 0; iteration < linkSortingIterations; iteration++) {\n //\n // sortSourceLinks(graph, y1, id)\n // sortTargetLinks(graph, y1, id)\n // resolveNodeLinkOverlaps(graph, y0, y1, id)\n // sortSourceLinks(graph, y1, id)\n // sortTargetLinks(graph, y1, id)\n //\n // }\n\n // 8.1 Adjust node and link positions back to fill height of chart area if compressed\n // fillHeight(graph, y0, y1)\n\n // 9. Calculate visually appealling path for the circular paths, and create the \"d\" string\n addCircularPathData(graph, circularLinkGap, y1, id);\n return graph;\n };\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks(graph) {\n graph.nodes.forEach(function (node, i) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n });\n var nodeById = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[/* map */ \"a\"])(graph.nodes, id);\n graph.links.forEach(function (link, i) {\n link.index = i;\n var source = link.source;\n var target = link.target;\n if ((typeof source === \"undefined\" ? \"undefined\" : _typeof(source)) !== 'object') {\n source = link.source = find(nodeById, source);\n }\n if ((typeof target === \"undefined\" ? \"undefined\" : _typeof(target)) !== 'object') {\n target = link.target = find(nodeById, target);\n }\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n return graph;\n }\n\n // Compute the value (size) and cycleness of each node by summing the associated links.\n function computeNodeValues(graph) {\n graph.nodes.forEach(function (node) {\n node.partOfCycle = false;\n node.value = Math.max(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(node.sourceLinks, value), Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(node.targetLinks, value));\n node.sourceLinks.forEach(function (link) {\n if (link.circular) {\n node.partOfCycle = true;\n node.circularLinkType = link.circularLinkType;\n }\n });\n node.targetLinks.forEach(function (link) {\n if (link.circular) {\n node.partOfCycle = true;\n node.circularLinkType = link.circularLinkType;\n }\n });\n });\n }\n\n function getCircleMargins(graph) {\n var totalTopLinksWidth = 0,\n totalBottomLinksWidth = 0,\n totalRightLinksWidth = 0,\n totalLeftLinksWidth = 0;\n\n var maxColumn = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(graph.nodes, function (node) {\n return node.column;\n });\n\n graph.links.forEach(function (link) {\n if (link.circular) {\n if (link.circularLinkType == 'top') {\n totalTopLinksWidth = totalTopLinksWidth + link.width;\n } else {\n totalBottomLinksWidth = totalBottomLinksWidth + link.width;\n }\n\n if (link.target.column == 0) {\n totalLeftLinksWidth = totalLeftLinksWidth + link.width;\n }\n\n if (link.source.column == maxColumn) {\n totalRightLinksWidth = totalRightLinksWidth + link.width;\n }\n }\n });\n\n //account for radius of curves and padding between links\n totalTopLinksWidth = totalTopLinksWidth > 0 ? totalTopLinksWidth + verticalMargin + baseRadius : totalTopLinksWidth;\n totalBottomLinksWidth = totalBottomLinksWidth > 0 ? totalBottomLinksWidth + verticalMargin + baseRadius : totalBottomLinksWidth;\n totalRightLinksWidth = totalRightLinksWidth > 0 ? totalRightLinksWidth + verticalMargin + baseRadius : totalRightLinksWidth;\n totalLeftLinksWidth = totalLeftLinksWidth > 0 ? totalLeftLinksWidth + verticalMargin + baseRadius : totalLeftLinksWidth;\n\n return { \"top\": totalTopLinksWidth, \"bottom\": totalBottomLinksWidth, \"left\": totalLeftLinksWidth, \"right\": totalRightLinksWidth };\n }\n\n // Update the x0, y0, x1 and y1 for the sankeyCircular, to allow space for any circular links\n function scaleSankeySize(graph, margin) {\n\n var maxColumn = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(graph.nodes, function (node) {\n return node.column;\n });\n\n var currentWidth = x1 - x0;\n var currentHeight = y1 - y0;\n\n var newWidth = currentWidth + margin.right + margin.left;\n var newHeight = currentHeight + margin.top + margin.bottom;\n\n var scaleX = currentWidth / newWidth;\n var scaleY = currentHeight / newHeight;\n\n x0 = x0 * scaleX + margin.left;\n x1 = margin.right == 0 ? x1 : x1 * scaleX;\n y0 = y0 * scaleY + margin.top;\n y1 = y1 * scaleY;\n\n graph.nodes.forEach(function (node) {\n node.x0 = x0 + node.column * ((x1 - x0 - dx) / maxColumn);\n node.x1 = node.x0 + dx;\n });\n\n return scaleY;\n }\n\n // Iteratively assign the depth for each node.\n // Nodes are assigned the maximum depth of incoming neighbors plus one;\n // nodes with no incoming links are assigned depth zero, while\n // nodes with no outgoing links are assigned the maximum depth.\n function computeNodeDepths(graph) {\n var nodes, next, x;\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function (node) {\n node.depth = x;\n node.sourceLinks.forEach(function (link) {\n if (next.indexOf(link.target) < 0 && !link.circular) {\n next.push(link.target);\n }\n });\n });\n }\n\n for (nodes = graph.nodes, next = [], x = 0; nodes.length; ++x, nodes = next, next = []) {\n nodes.forEach(function (node) {\n node.height = x;\n node.targetLinks.forEach(function (link) {\n if (next.indexOf(link.source) < 0 && !link.circular) {\n next.push(link.source);\n }\n });\n });\n }\n\n // assign column numbers, and get max value\n graph.nodes.forEach(function (node) {\n node.column = Math.floor(align.call(null, node, x));\n });\n }\n\n // Assign nodes' breadths, and then shift nodes that overlap (resolveCollisions)\n function computeNodeBreadths(graph, iterations, id) {\n var columns = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__[/* nest */ \"b\"])().key(function (d) {\n return d.column;\n }).sortKeys(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* ascending */ \"a\"]).entries(graph.nodes).map(function (d) {\n return d.values;\n });\n\n initializeNodeBreadth(id);\n resolveCollisions();\n\n for (var alpha = 1, n = iterations; n > 0; --n) {\n relaxLeftAndRight(alpha *= 0.99, id);\n resolveCollisions();\n }\n\n function initializeNodeBreadth(id) {\n\n //override py if nodePadding has been set\n if (paddingRatio) {\n var padding = Infinity;\n columns.forEach(function (nodes) {\n var thisPadding = y1 * paddingRatio / (nodes.length + 1);\n padding = thisPadding < padding ? thisPadding : padding;\n });\n py = padding;\n }\n\n var ky = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(columns, function (nodes) {\n return (y1 - y0 - (nodes.length - 1) * py) / Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* sum */ \"e\"])(nodes, value);\n });\n\n //calculate the widths of the links\n ky = ky * scale;\n\n graph.links.forEach(function (link) {\n link.width = link.value * ky;\n });\n\n //determine how much to scale down the chart, based on circular links\n var margin = getCircleMargins(graph);\n var ratio = scaleSankeySize(graph, margin);\n\n //re-calculate widths\n ky = ky * ratio;\n\n graph.links.forEach(function (link) {\n link.width = link.value * ky;\n });\n\n columns.forEach(function (nodes) {\n var nodesLength = nodes.length;\n nodes.forEach(function (node, i) {\n if (node.depth == columns.length - 1 && nodesLength == 1) {\n node.y0 = y1 / 2 - node.value * ky;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.depth == 0 && nodesLength == 1) {\n node.y0 = y1 / 2 - node.value * ky;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.partOfCycle) {\n if (numberOfNonSelfLinkingCycles(node, id) == 0) {\n node.y0 = y1 / 2 + i;\n node.y1 = node.y0 + node.value * ky;\n } else if (node.circularLinkType == 'top') {\n node.y0 = y0 + i;\n node.y1 = node.y0 + node.value * ky;\n } else {\n node.y0 = y1 - node.value * ky - i;\n node.y1 = node.y0 + node.value * ky;\n }\n } else {\n if (margin.top == 0 || margin.bottom == 0) {\n node.y0 = (y1 - y0) / nodesLength * i;\n node.y1 = node.y0 + node.value * ky;\n } else {\n node.y0 = (y1 - y0) / 2 - nodesLength / 2 + i;\n node.y1 = node.y0 + node.value * ky;\n }\n }\n });\n });\n }\n\n // For each node in each column, check the node's vertical position in relation to its targets and sources vertical position\n // and shift up/down to be closer to the vertical middle of those targets and sources\n function relaxLeftAndRight(alpha, id) {\n var columnsLength = columns.length;\n\n columns.forEach(function (nodes) {\n var n = nodes.length;\n var depth = nodes[0].depth;\n\n nodes.forEach(function (node) {\n // check the node is not an orphan\n var nodeHeight;\n if (node.sourceLinks.length || node.targetLinks.length) {\n if (node.partOfCycle && numberOfNonSelfLinkingCycles(node, id) > 0) ; else if (depth == 0 && n == 1) {\n nodeHeight = node.y1 - node.y0;\n\n node.y0 = y1 / 2 - nodeHeight / 2;\n node.y1 = y1 / 2 + nodeHeight / 2;\n } else if (depth == columnsLength - 1 && n == 1) {\n nodeHeight = node.y1 - node.y0;\n\n node.y0 = y1 / 2 - nodeHeight / 2;\n node.y1 = y1 / 2 + nodeHeight / 2;\n } else {\n var avg = 0;\n\n var avgTargetY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* mean */ \"c\"])(node.sourceLinks, linkTargetCenter);\n var avgSourceY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* mean */ \"c\"])(node.targetLinks, linkSourceCenter);\n\n if (avgTargetY && avgSourceY) {\n avg = (avgTargetY + avgSourceY) / 2;\n } else {\n avg = avgTargetY || avgSourceY;\n }\n\n var dy = (avg - nodeCenter(node)) * alpha;\n // positive if it node needs to move down\n node.y0 += dy;\n node.y1 += dy;\n }\n }\n });\n });\n }\n\n // For each column, check if nodes are overlapping, and if so, shift up/down\n function resolveCollisions() {\n columns.forEach(function (nodes) {\n var node,\n dy,\n y = y0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingBreadth);\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dy = y - node.y0;\n\n if (dy > 0) {\n node.y0 += dy;\n node.y1 += dy;\n }\n y = node.y1 + py;\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y - py - y1;\n if (dy > 0) {\n y = node.y0 -= dy, node.y1 -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y1 + py - y;\n if (dy > 0) node.y0 -= dy, node.y1 -= dy;\n y = node.y0;\n }\n }\n });\n }\n }\n\n // Assign the links y0 and y1 based on source/target nodes position,\n // plus the link's relative position to other links to the same node\n function computeLinkBreadths(graph) {\n graph.nodes.forEach(function (node) {\n node.sourceLinks.sort(ascendingTargetBreadth);\n node.targetLinks.sort(ascendingSourceBreadth);\n });\n graph.nodes.forEach(function (node) {\n var y0 = node.y0;\n var y1 = y0;\n\n // start from the bottom of the node for cycle links\n var y0cycle = node.y1;\n var y1cycle = y0cycle;\n\n node.sourceLinks.forEach(function (link) {\n if (link.circular) {\n link.y0 = y0cycle - link.width / 2;\n y0cycle = y0cycle - link.width;\n } else {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n });\n node.targetLinks.forEach(function (link) {\n if (link.circular) {\n link.y1 = y1cycle - link.width / 2;\n y1cycle = y1cycle - link.width;\n } else {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n });\n });\n }\n\n return sankeyCircular;\n}\n\n/// /////////////////////////////////////////////////////////////////////////////////\n// Cycle functions\n// portion of code to detect circular links based on Colin Fergus' bl.ock https://gist.github.com/cfergus/3956043\n\n// Identify circles in the link objects\nfunction identifyCircles(graph, id, sortNodes) {\n var circularLinkID = 0;\n if (sortNodes === null) {\n\n // Building adjacency graph\n var adjList = [];\n for (var i = 0; i < graph.links.length; i++) {\n var link = graph.links[i];\n var source = link.source.index;\n var target = link.target.index;\n if (!adjList[source]) adjList[source] = [];\n if (!adjList[target]) adjList[target] = [];\n\n // Add links if not already in set\n if (adjList[source].indexOf(target) === -1) adjList[source].push(target);\n }\n\n // Find all elementary circuits\n var cycles = elementary_circuits_directed_graph__WEBPACK_IMPORTED_MODULE_3___default()(adjList);\n\n // Sort by circuits length\n cycles.sort(function (a, b) {\n return a.length - b.length;\n });\n\n var circularLinks = {};\n for (i = 0; i < cycles.length; i++) {\n var cycle = cycles[i];\n var last = cycle.slice(-2);\n if (!circularLinks[last[0]]) circularLinks[last[0]] = {};\n circularLinks[last[0]][last[1]] = true;\n }\n\n graph.links.forEach(function (link) {\n var target = link.target.index;\n var source = link.source.index;\n // If self-linking or a back-edge\n if (target === source || circularLinks[source] && circularLinks[source][target]) {\n link.circular = true;\n link.circularLinkID = circularLinkID;\n circularLinkID = circularLinkID + 1;\n } else {\n link.circular = false;\n }\n });\n } else {\n graph.links.forEach(function (link) {\n if (link.source[sortNodes] < link.target[sortNodes]) {\n link.circular = false;\n } else {\n link.circular = true;\n link.circularLinkID = circularLinkID;\n circularLinkID = circularLinkID + 1;\n }\n });\n }\n}\n\n// Assign a circular link type (top or bottom), based on:\n// - if the source/target node already has circular links, then use the same type\n// - if not, choose the type with fewer links\nfunction selectCircularLinkTypes(graph, id) {\n var numberOfTops = 0;\n var numberOfBottoms = 0;\n graph.links.forEach(function (link) {\n if (link.circular) {\n // if either souce or target has type already use that\n if (link.source.circularLinkType || link.target.circularLinkType) {\n // default to source type if available\n link.circularLinkType = link.source.circularLinkType ? link.source.circularLinkType : link.target.circularLinkType;\n } else {\n link.circularLinkType = numberOfTops < numberOfBottoms ? 'top' : 'bottom';\n }\n\n if (link.circularLinkType == 'top') {\n numberOfTops = numberOfTops + 1;\n } else {\n numberOfBottoms = numberOfBottoms + 1;\n }\n\n graph.nodes.forEach(function (node) {\n if (getNodeID(node, id) == getNodeID(link.source, id) || getNodeID(node, id) == getNodeID(link.target, id)) {\n node.circularLinkType = link.circularLinkType;\n }\n });\n }\n });\n\n //correct self-linking links to be same direction as node\n graph.links.forEach(function (link) {\n if (link.circular) {\n //if both source and target node are same type, then link should have same type\n if (link.source.circularLinkType == link.target.circularLinkType) {\n link.circularLinkType = link.source.circularLinkType;\n }\n //if link is selflinking, then link should have same type as node\n if (selfLinking(link, id)) {\n link.circularLinkType = link.source.circularLinkType;\n }\n }\n });\n}\n\n// Return the angle between a straight line between the source and target of the link, and the vertical plane of the node\nfunction linkAngle(link) {\n var adjacent = Math.abs(link.y1 - link.y0);\n var opposite = Math.abs(link.target.x0 - link.source.x1);\n\n return Math.atan(opposite / adjacent);\n}\n\n// Check if two circular links potentially overlap\nfunction circularLinksCross(link1, link2) {\n if (link1.source.column < link2.target.column) {\n return false;\n } else if (link1.target.column > link2.source.column) {\n return false;\n } else {\n return true;\n }\n}\n\n// Return the number of circular links for node, not including self linking links\nfunction numberOfNonSelfLinkingCycles(node, id) {\n var sourceCount = 0;\n node.sourceLinks.forEach(function (l) {\n sourceCount = l.circular && !selfLinking(l, id) ? sourceCount + 1 : sourceCount;\n });\n\n var targetCount = 0;\n node.targetLinks.forEach(function (l) {\n targetCount = l.circular && !selfLinking(l, id) ? targetCount + 1 : targetCount;\n });\n\n return sourceCount + targetCount;\n}\n\n// Check if a circular link is the only circular link for both its source and target node\nfunction onlyCircularLink(link) {\n var nodeSourceLinks = link.source.sourceLinks;\n var sourceCount = 0;\n nodeSourceLinks.forEach(function (l) {\n sourceCount = l.circular ? sourceCount + 1 : sourceCount;\n });\n\n var nodeTargetLinks = link.target.targetLinks;\n var targetCount = 0;\n nodeTargetLinks.forEach(function (l) {\n targetCount = l.circular ? targetCount + 1 : targetCount;\n });\n\n if (sourceCount > 1 || targetCount > 1) {\n return false;\n } else {\n return true;\n }\n}\n\n// creates vertical buffer values per set of top/bottom links\nfunction calcVerticalBuffer(links, circularLinkGap, id) {\n links.sort(sortLinkColumnAscending);\n links.forEach(function (link, i) {\n var buffer = 0;\n\n if (selfLinking(link, id) && onlyCircularLink(link)) {\n link.circularPathData.verticalBuffer = buffer + link.width / 2;\n } else {\n var j = 0;\n for (j; j < i; j++) {\n if (circularLinksCross(links[i], links[j])) {\n var bufferOverThisLink = links[j].circularPathData.verticalBuffer + links[j].width / 2 + circularLinkGap;\n buffer = bufferOverThisLink > buffer ? bufferOverThisLink : buffer;\n }\n }\n\n link.circularPathData.verticalBuffer = buffer + link.width / 2;\n }\n });\n\n return links;\n}\n\n// calculate the optimum path for a link to reduce overlaps\nfunction addCircularPathData(graph, circularLinkGap, y1, id) {\n //var baseRadius = 10\n var buffer = 5;\n //var verticalMargin = 25\n\n var minY = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(graph.links, function (link) {\n return link.source.y0;\n });\n\n // create object for circular Path Data\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularPathData = {};\n }\n });\n\n // calc vertical offsets per top/bottom links\n var topLinks = graph.links.filter(function (l) {\n return l.circularLinkType == 'top';\n });\n /* topLinks = */calcVerticalBuffer(topLinks, circularLinkGap, id);\n\n var bottomLinks = graph.links.filter(function (l) {\n return l.circularLinkType == 'bottom';\n });\n /* bottomLinks = */calcVerticalBuffer(bottomLinks, circularLinkGap, id);\n\n // add the base data for each link\n graph.links.forEach(function (link) {\n if (link.circular) {\n link.circularPathData.arcRadius = link.width + baseRadius;\n link.circularPathData.leftNodeBuffer = buffer;\n link.circularPathData.rightNodeBuffer = buffer;\n link.circularPathData.sourceWidth = link.source.x1 - link.source.x0;\n link.circularPathData.sourceX = link.source.x0 + link.circularPathData.sourceWidth;\n link.circularPathData.targetX = link.target.x0;\n link.circularPathData.sourceY = link.y0;\n link.circularPathData.targetY = link.y1;\n\n // for self linking paths, and that the only circular link in/out of that node\n if (selfLinking(link, id) && onlyCircularLink(link)) {\n link.circularPathData.leftSmallArcRadius = baseRadius + link.width / 2;\n link.circularPathData.leftLargeArcRadius = baseRadius + link.width / 2;\n link.circularPathData.rightSmallArcRadius = baseRadius + link.width / 2;\n link.circularPathData.rightLargeArcRadius = baseRadius + link.width / 2;\n\n if (link.circularLinkType == 'bottom') {\n link.circularPathData.verticalFullExtent = link.source.y1 + verticalMargin + link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.rightLargeArcRadius;\n } else {\n // top links\n link.circularPathData.verticalFullExtent = link.source.y0 - verticalMargin - link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.rightLargeArcRadius;\n }\n } else {\n // else calculate normally\n // add left extent coordinates, based on links with same source column and circularLink type\n var thisColumn = link.source.column;\n var thisCircularLinkType = link.circularLinkType;\n var sameColumnLinks = graph.links.filter(function (l) {\n return l.source.column == thisColumn && l.circularLinkType == thisCircularLinkType;\n });\n\n if (link.circularLinkType == 'bottom') {\n sameColumnLinks.sort(sortLinkSourceYDescending);\n } else {\n sameColumnLinks.sort(sortLinkSourceYAscending);\n }\n\n var radiusOffset = 0;\n sameColumnLinks.forEach(function (l, i) {\n if (l.circularLinkID == link.circularLinkID) {\n link.circularPathData.leftSmallArcRadius = baseRadius + link.width / 2 + radiusOffset;\n link.circularPathData.leftLargeArcRadius = baseRadius + link.width / 2 + i * circularLinkGap + radiusOffset;\n }\n radiusOffset = radiusOffset + l.width;\n });\n\n // add right extent coordinates, based on links with same target column and circularLink type\n thisColumn = link.target.column;\n sameColumnLinks = graph.links.filter(function (l) {\n return l.target.column == thisColumn && l.circularLinkType == thisCircularLinkType;\n });\n if (link.circularLinkType == 'bottom') {\n sameColumnLinks.sort(sortLinkTargetYDescending);\n } else {\n sameColumnLinks.sort(sortLinkTargetYAscending);\n }\n\n radiusOffset = 0;\n sameColumnLinks.forEach(function (l, i) {\n if (l.circularLinkID == link.circularLinkID) {\n link.circularPathData.rightSmallArcRadius = baseRadius + link.width / 2 + radiusOffset;\n link.circularPathData.rightLargeArcRadius = baseRadius + link.width / 2 + i * circularLinkGap + radiusOffset;\n }\n radiusOffset = radiusOffset + l.width;\n });\n\n // bottom links\n if (link.circularLinkType == 'bottom') {\n link.circularPathData.verticalFullExtent = Math.max(y1, link.source.y1, link.target.y1) + verticalMargin + link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent - link.circularPathData.rightLargeArcRadius;\n } else {\n // top links\n link.circularPathData.verticalFullExtent = minY - verticalMargin - link.circularPathData.verticalBuffer;\n link.circularPathData.verticalLeftInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.leftLargeArcRadius;\n link.circularPathData.verticalRightInnerExtent = link.circularPathData.verticalFullExtent + link.circularPathData.rightLargeArcRadius;\n }\n }\n\n // all links\n link.circularPathData.leftInnerExtent = link.circularPathData.sourceX + link.circularPathData.leftNodeBuffer;\n link.circularPathData.rightInnerExtent = link.circularPathData.targetX - link.circularPathData.rightNodeBuffer;\n link.circularPathData.leftFullExtent = link.circularPathData.sourceX + link.circularPathData.leftLargeArcRadius + link.circularPathData.leftNodeBuffer;\n link.circularPathData.rightFullExtent = link.circularPathData.targetX - link.circularPathData.rightLargeArcRadius - link.circularPathData.rightNodeBuffer;\n }\n\n if (link.circular) {\n link.path = createCircularPathString(link);\n } else {\n var normalPath = Object(d3_shape__WEBPACK_IMPORTED_MODULE_2__[/* linkHorizontal */ \"a\"])().source(function (d) {\n var x = d.source.x0 + (d.source.x1 - d.source.x0);\n var y = d.y0;\n return [x, y];\n }).target(function (d) {\n var x = d.target.x0;\n var y = d.y1;\n return [x, y];\n });\n link.path = normalPath(link);\n }\n });\n}\n\n// create a d path using the addCircularPathData\nfunction createCircularPathString(link) {\n var pathString = '';\n // 'pathData' is assigned a value but never used\n // var pathData = {}\n\n if (link.circularLinkType == 'top') {\n pathString =\n // start at the right of the source node\n 'M' + link.circularPathData.sourceX + ' ' + link.circularPathData.sourceY + ' ' +\n // line right to buffer point\n 'L' + link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.sourceY + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftSmallArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftFullExtent + ' ' + (link.circularPathData.sourceY - link.circularPathData.leftSmallArcRadius) + ' ' + // End of arc X\n // line up to buffer point\n 'L' + link.circularPathData.leftFullExtent + ' ' + link.circularPathData.verticalLeftInnerExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftLargeArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' + // End of arc X\n // line left to buffer point\n 'L' + link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightLargeArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightFullExtent + ' ' + link.circularPathData.verticalRightInnerExtent + ' ' + // End of arc X\n // line down\n 'L' + link.circularPathData.rightFullExtent + ' ' + (link.circularPathData.targetY - link.circularPathData.rightSmallArcRadius) + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightSmallArcRadius + ' 0 0 0 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.targetY + ' ' + // End of arc X\n // line to end\n 'L' + link.circularPathData.targetX + ' ' + link.circularPathData.targetY;\n } else {\n // bottom path\n pathString =\n // start at the right of the source node\n 'M' + link.circularPathData.sourceX + ' ' + link.circularPathData.sourceY + ' ' +\n // line right to buffer point\n 'L' + link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.sourceY + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftSmallArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftFullExtent + ' ' + (link.circularPathData.sourceY + link.circularPathData.leftSmallArcRadius) + ' ' + // End of arc X\n // line down to buffer point\n 'L' + link.circularPathData.leftFullExtent + ' ' + link.circularPathData.verticalLeftInnerExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.leftLargeArcRadius + ' ' + link.circularPathData.leftLargeArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.leftInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' + // End of arc X\n // line left to buffer point\n 'L' + link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.verticalFullExtent + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightLargeArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightFullExtent + ' ' + link.circularPathData.verticalRightInnerExtent + ' ' + // End of arc X\n // line up\n 'L' + link.circularPathData.rightFullExtent + ' ' + (link.circularPathData.targetY + link.circularPathData.rightSmallArcRadius) + ' ' +\n // Arc around: Centre of arc X and //Centre of arc Y\n 'A' + link.circularPathData.rightLargeArcRadius + ' ' + link.circularPathData.rightSmallArcRadius + ' 0 0 1 ' +\n // End of arc X //End of arc Y\n link.circularPathData.rightInnerExtent + ' ' + link.circularPathData.targetY + ' ' + // End of arc X\n // line to end\n 'L' + link.circularPathData.targetX + ' ' + link.circularPathData.targetY;\n }\n\n return pathString;\n}\n\n// sort links based on the distance between the source and tartget node columns\n// if the same, then use Y position of the source node\nfunction sortLinkColumnAscending(link1, link2) {\n if (linkColumnDistance(link1) == linkColumnDistance(link2)) {\n return link1.circularLinkType == 'bottom' ? sortLinkSourceYDescending(link1, link2) : sortLinkSourceYAscending(link1, link2);\n } else {\n return linkColumnDistance(link2) - linkColumnDistance(link1);\n }\n}\n\n// sort ascending links by their source vertical position, y0\nfunction sortLinkSourceYAscending(link1, link2) {\n return link1.y0 - link2.y0;\n}\n\n// sort descending links by their source vertical position, y0\nfunction sortLinkSourceYDescending(link1, link2) {\n return link2.y0 - link1.y0;\n}\n\n// sort ascending links by their target vertical position, y1\nfunction sortLinkTargetYAscending(link1, link2) {\n return link1.y1 - link2.y1;\n}\n\n// sort descending links by their target vertical position, y1\nfunction sortLinkTargetYDescending(link1, link2) {\n return link2.y1 - link1.y1;\n}\n\n// return the distance between the link's target and source node, in terms of the nodes' column\nfunction linkColumnDistance(link) {\n return link.target.column - link.source.column;\n}\n\n// return the distance between the link's target and source node, in terms of the nodes' X coordinate\nfunction linkXLength(link) {\n return link.target.x0 - link.source.x1;\n}\n\n// Return the Y coordinate on the longerLink path * which is perpendicular shorterLink's source.\n// * approx, based on a straight line from target to source, when in fact the path is a bezier\nfunction linkPerpendicularYToLinkSource(longerLink, shorterLink) {\n // get the angle for the longer link\n var angle = linkAngle(longerLink);\n\n // get the adjacent length to the other link's x position\n var heightFromY1ToPependicular = linkXLength(shorterLink) / Math.tan(angle);\n\n // add or subtract from longer link1's original y1, depending on the slope\n var yPerpendicular = incline(longerLink) == 'up' ? longerLink.y1 + heightFromY1ToPependicular : longerLink.y1 - heightFromY1ToPependicular;\n\n return yPerpendicular;\n}\n\n// Return the Y coordinate on the longerLink path * which is perpendicular shorterLink's source.\n// * approx, based on a straight line from target to source, when in fact the path is a bezier\nfunction linkPerpendicularYToLinkTarget(longerLink, shorterLink) {\n // get the angle for the longer link\n var angle = linkAngle(longerLink);\n\n // get the adjacent length to the other link's x position\n var heightFromY1ToPependicular = linkXLength(shorterLink) / Math.tan(angle);\n\n // add or subtract from longer link's original y1, depending on the slope\n var yPerpendicular = incline(longerLink) == 'up' ? longerLink.y1 - heightFromY1ToPependicular : longerLink.y1 + heightFromY1ToPependicular;\n\n return yPerpendicular;\n}\n\n// Move any nodes that overlap links which span 2+ columns\nfunction resolveNodeLinkOverlaps(graph, y0, y1, id) {\n\n graph.links.forEach(function (link) {\n if (link.circular) {\n return;\n }\n\n if (link.target.column - link.source.column > 1) {\n var columnToTest = link.source.column + 1;\n var maxColumnToTest = link.target.column - 1;\n\n var i = 1;\n var numberOfColumnsToTest = maxColumnToTest - columnToTest + 1;\n\n for (i = 1; columnToTest <= maxColumnToTest; columnToTest++, i++) {\n graph.nodes.forEach(function (node) {\n if (node.column == columnToTest) {\n var t = i / (numberOfColumnsToTest + 1);\n\n // Find all the points of a cubic bezier curve in javascript\n // https://stackoverflow.com/questions/15397596/find-all-the-points-of-a-cubic-bezier-curve-in-javascript\n\n var B0_t = Math.pow(1 - t, 3);\n var B1_t = 3 * t * Math.pow(1 - t, 2);\n var B2_t = 3 * Math.pow(t, 2) * (1 - t);\n var B3_t = Math.pow(t, 3);\n\n var py_t = B0_t * link.y0 + B1_t * link.y0 + B2_t * link.y1 + B3_t * link.y1;\n\n var linkY0AtColumn = py_t - link.width / 2;\n var linkY1AtColumn = py_t + link.width / 2;\n var dy;\n\n // If top of link overlaps node, push node up\n if (linkY0AtColumn > node.y0 && linkY0AtColumn < node.y1) {\n\n dy = node.y1 - linkY0AtColumn + 10;\n dy = node.circularLinkType == 'bottom' ? dy : -dy;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n // check if other nodes need to move up too\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (nodesOverlap(node, otherNode)) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n } else if (linkY1AtColumn > node.y0 && linkY1AtColumn < node.y1) {\n // If bottom of link overlaps node, push node down\n dy = linkY1AtColumn - node.y0 + 10;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n // check if other nodes need to move down too\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (otherNode.y0 < node.y1 && otherNode.y1 > node.y1) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n } else if (linkY0AtColumn < node.y0 && linkY1AtColumn > node.y1) {\n // if link completely overlaps node\n dy = linkY1AtColumn - node.y0 + 10;\n\n node = adjustNodeHeight(node, dy, y0, y1);\n\n graph.nodes.forEach(function (otherNode) {\n // don't need to check itself or nodes at different columns\n if (getNodeID(otherNode, id) == getNodeID(node, id) || otherNode.column != node.column) {\n return;\n }\n if (otherNode.y0 < node.y1 && otherNode.y1 > node.y1) {\n adjustNodeHeight(otherNode, dy, y0, y1);\n }\n });\n }\n }\n });\n }\n }\n });\n}\n\n// check if two nodes overlap\nfunction nodesOverlap(nodeA, nodeB) {\n // test if nodeA top partially overlaps nodeB\n if (nodeA.y0 > nodeB.y0 && nodeA.y0 < nodeB.y1) {\n return true;\n } else if (nodeA.y1 > nodeB.y0 && nodeA.y1 < nodeB.y1) {\n // test if nodeA bottom partially overlaps nodeB\n return true;\n } else if (nodeA.y0 < nodeB.y0 && nodeA.y1 > nodeB.y1) {\n // test if nodeA covers nodeB\n return true;\n } else {\n return false;\n }\n}\n\n// update a node, and its associated links, vertical positions (y0, y1)\nfunction adjustNodeHeight(node, dy, sankeyY0, sankeyY1) {\n if (node.y0 + dy >= sankeyY0 && node.y1 + dy <= sankeyY1) {\n node.y0 = node.y0 + dy;\n node.y1 = node.y1 + dy;\n\n node.targetLinks.forEach(function (l) {\n l.y1 = l.y1 + dy;\n });\n\n node.sourceLinks.forEach(function (l) {\n l.y0 = l.y0 + dy;\n });\n }\n return node;\n}\n\n// sort and set the links' y0 for each node\nfunction sortSourceLinks(graph, y1, id, moveNodes) {\n graph.nodes.forEach(function (node) {\n // move any nodes up which are off the bottom\n if (moveNodes && node.y + (node.y1 - node.y0) > y1) {\n node.y = node.y - (node.y + (node.y1 - node.y0) - y1);\n }\n\n var nodesSourceLinks = graph.links.filter(function (l) {\n return getNodeID(l.source, id) == getNodeID(node, id);\n });\n\n var nodeSourceLinksLength = nodesSourceLinks.length;\n\n // if more than 1 link then sort\n if (nodeSourceLinksLength > 1) {\n nodesSourceLinks.sort(function (link1, link2) {\n // if both are not circular...\n if (!link1.circular && !link2.circular) {\n // if the target nodes are the same column, then sort by the link's target y\n if (link1.target.column == link2.target.column) {\n return link1.y1 - link2.y1;\n } else if (!sameInclines(link1, link2)) {\n // if the links slope in different directions, then sort by the link's target y\n return link1.y1 - link2.y1;\n\n // if the links slope in same directions, then sort by any overlap\n } else {\n if (link1.target.column > link2.target.column) {\n var link2Adj = linkPerpendicularYToLinkTarget(link2, link1);\n return link1.y1 - link2Adj;\n }\n if (link2.target.column > link1.target.column) {\n var link1Adj = linkPerpendicularYToLinkTarget(link1, link2);\n return link1Adj - link2.y1;\n }\n }\n }\n\n // if only one is circular, the move top links up, or bottom links down\n if (link1.circular && !link2.circular) {\n return link1.circularLinkType == 'top' ? -1 : 1;\n } else if (link2.circular && !link1.circular) {\n return link2.circularLinkType == 'top' ? 1 : -1;\n }\n\n // if both links are circular...\n if (link1.circular && link2.circular) {\n // ...and they both loop the same way (both top)\n if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'top') {\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.target.column === link2.target.column) {\n return link1.target.y1 - link2.target.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link2.target.column - link1.target.column;\n }\n } else if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'bottom') {\n // ...and they both loop the same way (both bottom)\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.target.column === link2.target.column) {\n return link2.target.y1 - link1.target.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link1.target.column - link2.target.column;\n }\n } else {\n // ...and they loop around different ways, the move top up and bottom down\n return link1.circularLinkType == 'top' ? -1 : 1;\n }\n }\n });\n }\n\n // update y0 for links\n var ySourceOffset = node.y0;\n\n nodesSourceLinks.forEach(function (link) {\n link.y0 = ySourceOffset + link.width / 2;\n ySourceOffset = ySourceOffset + link.width;\n });\n\n // correct any circular bottom links so they are at the bottom of the node\n nodesSourceLinks.forEach(function (link, i) {\n if (link.circularLinkType == 'bottom') {\n var j = i + 1;\n var offsetFromBottom = 0;\n // sum the widths of any links that are below this link\n for (j; j < nodeSourceLinksLength; j++) {\n offsetFromBottom = offsetFromBottom + nodesSourceLinks[j].width;\n }\n link.y0 = node.y1 - offsetFromBottom - link.width / 2;\n }\n });\n });\n}\n\n// sort and set the links' y1 for each node\nfunction sortTargetLinks(graph, y1, id) {\n graph.nodes.forEach(function (node) {\n var nodesTargetLinks = graph.links.filter(function (l) {\n return getNodeID(l.target, id) == getNodeID(node, id);\n });\n\n var nodesTargetLinksLength = nodesTargetLinks.length;\n\n if (nodesTargetLinksLength > 1) {\n nodesTargetLinks.sort(function (link1, link2) {\n // if both are not circular, the base on the source y position\n if (!link1.circular && !link2.circular) {\n if (link1.source.column == link2.source.column) {\n return link1.y0 - link2.y0;\n } else if (!sameInclines(link1, link2)) {\n return link1.y0 - link2.y0;\n } else {\n // get the angle of the link to the further source node (ie the smaller column)\n if (link2.source.column < link1.source.column) {\n var link2Adj = linkPerpendicularYToLinkSource(link2, link1);\n\n return link1.y0 - link2Adj;\n }\n if (link1.source.column < link2.source.column) {\n var link1Adj = linkPerpendicularYToLinkSource(link1, link2);\n\n return link1Adj - link2.y0;\n }\n }\n }\n\n // if only one is circular, the move top links up, or bottom links down\n if (link1.circular && !link2.circular) {\n return link1.circularLinkType == 'top' ? -1 : 1;\n } else if (link2.circular && !link1.circular) {\n return link2.circularLinkType == 'top' ? 1 : -1;\n }\n\n // if both links are circular...\n if (link1.circular && link2.circular) {\n // ...and they both loop the same way (both top)\n if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'top') {\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.source.column === link2.source.column) {\n return link1.source.y1 - link2.source.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link1.source.column - link2.source.column;\n }\n } else if (link1.circularLinkType === link2.circularLinkType && link1.circularLinkType == 'bottom') {\n // ...and they both loop the same way (both bottom)\n // ...and they both connect to a target with same column, then sort by the target's y\n if (link1.source.column === link2.source.column) {\n return link1.source.y1 - link2.source.y1;\n } else {\n // ...and they connect to different column targets, then sort by how far back they\n return link2.source.column - link1.source.column;\n }\n } else {\n // ...and they loop around different ways, the move top up and bottom down\n return link1.circularLinkType == 'top' ? -1 : 1;\n }\n }\n });\n }\n\n // update y1 for links\n var yTargetOffset = node.y0;\n\n nodesTargetLinks.forEach(function (link) {\n link.y1 = yTargetOffset + link.width / 2;\n yTargetOffset = yTargetOffset + link.width;\n });\n\n // correct any circular bottom links so they are at the bottom of the node\n nodesTargetLinks.forEach(function (link, i) {\n if (link.circularLinkType == 'bottom') {\n var j = i + 1;\n var offsetFromBottom = 0;\n // sum the widths of any links that are below this link\n for (j; j < nodesTargetLinksLength; j++) {\n offsetFromBottom = offsetFromBottom + nodesTargetLinks[j].width;\n }\n link.y1 = node.y1 - offsetFromBottom - link.width / 2;\n }\n });\n });\n}\n\n// test if links both slope up, or both slope down\nfunction sameInclines(link1, link2) {\n return incline(link1) == incline(link2);\n}\n\n// returns the slope of a link, from source to target\n// up => slopes up from source to target\n// down => slopes down from source to target\nfunction incline(link) {\n return link.y0 - link.y1 > 0 ? 'up' : 'down';\n}\n\n// check if link is self linking, ie links a node to the same node\nfunction selfLinking(link, id) {\n return getNodeID(link.source, id) == getNodeID(link.target, id);\n}\n\nfunction fillHeight(graph, y0, y1) {\n\n var nodes = graph.nodes;\n var links = graph.links;\n\n var top = false;\n var bottom = false;\n\n links.forEach(function (link) {\n if (link.circularLinkType == \"top\") {\n top = true;\n } else if (link.circularLinkType == \"bottom\") {\n bottom = true;\n }\n });\n\n if (top == false || bottom == false) {\n var minY0 = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* min */ \"d\"])(nodes, function (node) {\n return node.y0;\n });\n var maxY1 = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__[/* max */ \"b\"])(nodes, function (node) {\n return node.y1;\n });\n var currentHeight = maxY1 - minY0;\n var chartHeight = y1 - y0;\n var ratio = chartHeight / currentHeight;\n\n nodes.forEach(function (node) {\n var nodeHeight = (node.y1 - node.y0) * ratio;\n node.y0 = (node.y0 - minY0) * ratio;\n node.y1 = node.y0 + nodeHeight;\n });\n\n links.forEach(function (link) {\n link.y0 = (link.y0 - minY0) * ratio;\n link.y1 = (link.y1 - minY0) * ratio;\n link.width = link.width * ratio;\n });\n }\n}\n\n\n\n\n/***/ }),\n\n/***/ \"2e3d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n// ASCEND: chop off the last nesting level - either [] or . - to ascend\n// the attribute tree. the remaining attrString is in match[1]\nvar ASCEND = /^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/;\n\n// SIMPLEATTR: is this an un-nested attribute? (no dots or brackets)\nvar SIMPLEATTR = /^[^\\.\\[\\]]+$/;\n\n/*\n * calculate a relative attribute string, similar to a relative path\n *\n * @param {string} baseAttr:\n * an attribute string, such as 'annotations[3].x'. The \"current location\"\n * is the attribute string minus the last component ('annotations[3]')\n * @param {string} relativeAttr:\n * a route to the desired attribute string, using '^' to ascend\n *\n * @return {string} attrString:\n * for example:\n * relativeAttr('annotations[3].x', 'y') = 'annotations[3].y'\n * relativeAttr('annotations[3].x', '^[2].z') = 'annotations[2].z'\n * relativeAttr('annotations[3].x', '^^margin') = 'margin'\n * relativeAttr('annotations[3].x', '^^margin.r') = 'margin.r'\n */\nmodule.exports = function(baseAttr, relativeAttr) {\n while(relativeAttr) {\n var match = baseAttr.match(ASCEND);\n\n if(match) baseAttr = match[1];\n else if(baseAttr.match(SIMPLEATTR)) baseAttr = '';\n else throw new Error('bad relativeAttr call:' + [baseAttr, relativeAttr]);\n\n if(relativeAttr.charAt(0) === '^') relativeAttr = relativeAttr.slice(1);\n else break;\n }\n\n if(baseAttr && relativeAttr.charAt(0) !== '[') {\n return baseAttr + '.' + relativeAttr;\n }\n return baseAttr + relativeAttr;\n};\n\n\n/***/ }),\n\n/***/ \"2e46\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction compileSearch(funcName, predicate, reversed, extraArgs, useNdarray, earlyOut) {\n var code = [\n \"function \", funcName, \"(a,l,h,\", extraArgs.join(\",\"), \"){\",\nearlyOut ? \"\" : \"var i=\", (reversed ? \"l-1\" : \"h+1\"),\n\";while(l<=h){\\\nvar m=(l+h)>>>1,x=a\", useNdarray ? \".get(m)\" : \"[m]\"]\n if(earlyOut) {\n if(predicate.indexOf(\"c\") < 0) {\n code.push(\";if(x===y){return m}else if(x<=y){\")\n } else {\n code.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\")\n }\n } else {\n code.push(\";if(\", predicate, \"){i=m;\")\n }\n if(reversed) {\n code.push(\"l=m+1}else{h=m-1}\")\n } else {\n code.push(\"h=m-1}else{l=m+1}\")\n }\n code.push(\"}\")\n if(earlyOut) {\n code.push(\"return -1};\")\n } else {\n code.push(\"return i};\")\n }\n return code.join(\"\")\n}\n\nfunction compileBoundsSearch(predicate, reversed, suffix, earlyOut) {\n var result = new Function([\n compileSearch(\"A\", \"x\" + predicate + \"y\", reversed, [\"y\"], false, earlyOut),\n compileSearch(\"B\", \"x\" + predicate + \"y\", reversed, [\"y\"], true, earlyOut),\n compileSearch(\"P\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], false, earlyOut),\n compileSearch(\"Q\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], true, earlyOut),\n\"function dispatchBsearch\", suffix, \"(a,y,c,l,h){\\\nif(a.shape){\\\nif(typeof(c)==='function'){\\\nreturn Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)\\\n}else{\\\nreturn B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)\\\n}}else{\\\nif(typeof(c)==='function'){\\\nreturn P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)\\\n}else{\\\nreturn A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)\\\n}}}\\\nreturn dispatchBsearch\", suffix].join(\"\"))\n return result()\n}\n\nmodule.exports = {\n ge: compileBoundsSearch(\">=\", false, \"GE\"),\n gt: compileBoundsSearch(\">\", false, \"GT\"),\n lt: compileBoundsSearch(\"<\", true, \"LT\"),\n le: compileBoundsSearch(\"<=\", true, \"LE\"),\n eq: compileBoundsSearch(\"-\", true, \"EQ\", true)\n}\n\n\n/***/ }),\n\n/***/ \"2ee6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isTypedArray = __webpack_require__(\"fc26\").isTypedArray;\n\nexports.convertTypedArray = function(a) {\n return isTypedArray(a) ? Array.prototype.slice.call(a) : a;\n};\n\nexports.isOrdinal = function(dimension) {\n return !!dimension.tickvals;\n};\n\nexports.isVisible = function(dimension) {\n return dimension.visible || !('visible' in dimension);\n};\n\n\n/***/ }),\n\n/***/ \"2f03\":\n/***/ (function(module, exports) {\n\n// Copyright (C) 2011 Google Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n/**\n * @fileoverview Install a leaky WeakMap emulation on platforms that\n * don't provide a built-in one.\n *\n *

Assumes that an ES5 platform where, if {@code WeakMap} is\n * already present, then it conforms to the anticipated ES6\n * specification. To run this file on an ES5 or almost ES5\n * implementation where the {@code WeakMap} specification does not\n * quite conform, run repairES5.js first.\n *\n *

Even though WeakMapModule is not global, the linter thinks it\n * is, which is why it is in the overrides list below.\n *\n *

NOTE: Before using this WeakMap emulation in a non-SES\n * environment, see the note below about hiddenRecord.\n *\n * @author Mark S. Miller\n * @requires crypto, ArrayBuffer, Uint8Array, navigator, console\n * @overrides WeakMap, ses, Proxy\n * @overrides WeakMapModule\n */\n\n/**\n * This {@code WeakMap} emulation is observably equivalent to the\n * ES-Harmony WeakMap, but with leakier garbage collection properties.\n *\n *

As with true WeakMaps, in this emulation, a key does not\n * retain maps indexed by that key and (crucially) a map does not\n * retain the keys it indexes. A map by itself also does not retain\n * the values associated with that map.\n *\n *

However, the values associated with a key in some map are\n * retained so long as that key is retained and those associations are\n * not overridden. For example, when used to support membranes, all\n * values exported from a given membrane will live for the lifetime\n * they would have had in the absence of an interposed membrane. Even\n * when the membrane is revoked, all objects that would have been\n * reachable in the absence of revocation will still be reachable, as\n * far as the GC can tell, even though they will no longer be relevant\n * to ongoing computation.\n *\n *

The API implemented here is approximately the API as implemented\n * in FF6.0a1 and agreed to by MarkM, Andreas Gal, and Dave Herman,\n * rather than the offially approved proposal page. TODO(erights):\n * upgrade the ecmascript WeakMap proposal page to explain this API\n * change and present to EcmaScript committee for their approval.\n *\n *

The first difference between the emulation here and that in\n * FF6.0a1 is the presence of non enumerable {@code get___, has___,\n * set___, and delete___} methods on WeakMap instances to represent\n * what would be the hidden internal properties of a primitive\n * implementation. Whereas the FF6.0a1 WeakMap.prototype methods\n * require their {@code this} to be a genuine WeakMap instance (i.e.,\n * an object of {@code [[Class]]} \"WeakMap}), since there is nothing\n * unforgeable about the pseudo-internal method names used here,\n * nothing prevents these emulated prototype methods from being\n * applied to non-WeakMaps with pseudo-internal methods of the same\n * names.\n *\n *

Another difference is that our emulated {@code\n * WeakMap.prototype} is not itself a WeakMap. A problem with the\n * current FF6.0a1 API is that WeakMap.prototype is itself a WeakMap\n * providing ambient mutability and an ambient communications\n * channel. Thus, if a WeakMap is already present and has this\n * problem, repairES5.js wraps it in a safe wrappper in order to\n * prevent access to this channel. (See\n * PATCH_MUTABLE_FROZEN_WEAKMAP_PROTO in repairES5.js).\n */\n\n/**\n * If this is a full secureable ES5 platform and the ES-Harmony {@code WeakMap} is\n * absent, install an approximate emulation.\n *\n *

If WeakMap is present but cannot store some objects, use our approximate\n * emulation as a wrapper.\n *\n *

If this is almost a secureable ES5 platform, then WeakMap.js\n * should be run after repairES5.js.\n *\n *

See {@code WeakMap} for documentation of the garbage collection\n * properties of this WeakMap emulation.\n */\n(function WeakMapModule() {\n \"use strict\";\n\n if (typeof ses !== 'undefined' && ses.ok && !ses.ok()) {\n // already too broken, so give up\n return;\n }\n\n /**\n * In some cases (current Firefox), we must make a choice betweeen a\n * WeakMap which is capable of using all varieties of host objects as\n * keys and one which is capable of safely using proxies as keys. See\n * comments below about HostWeakMap and DoubleWeakMap for details.\n *\n * This function (which is a global, not exposed to guests) marks a\n * WeakMap as permitted to do what is necessary to index all host\n * objects, at the cost of making it unsafe for proxies.\n *\n * Do not apply this function to anything which is not a genuine\n * fresh WeakMap.\n */\n function weakMapPermitHostObjects(map) {\n // identity of function used as a secret -- good enough and cheap\n if (map.permitHostObjects___) {\n map.permitHostObjects___(weakMapPermitHostObjects);\n }\n }\n if (typeof ses !== 'undefined') {\n ses.weakMapPermitHostObjects = weakMapPermitHostObjects;\n }\n\n // IE 11 has no Proxy but has a broken WeakMap such that we need to patch\n // it using DoubleWeakMap; this flag tells DoubleWeakMap so.\n var doubleWeakMapCheckSilentFailure = false;\n\n // Check if there is already a good-enough WeakMap implementation, and if so\n // exit without replacing it.\n if (typeof WeakMap === 'function') {\n var HostWeakMap = WeakMap;\n // There is a WeakMap -- is it good enough?\n if (typeof navigator !== 'undefined' &&\n /Firefox/.test(navigator.userAgent)) {\n // We're now *assuming not*, because as of this writing (2013-05-06)\n // Firefox's WeakMaps have a miscellany of objects they won't accept, and\n // we don't want to make an exhaustive list, and testing for just one\n // will be a problem if that one is fixed alone (as they did for Event).\n\n // If there is a platform that we *can* reliably test on, here's how to\n // do it:\n // var problematic = ... ;\n // var testHostMap = new HostWeakMap();\n // try {\n // testHostMap.set(problematic, 1); // Firefox 20 will throw here\n // if (testHostMap.get(problematic) === 1) {\n // return;\n // }\n // } catch (e) {}\n\n } else {\n // IE 11 bug: WeakMaps silently fail to store frozen objects.\n var testMap = new HostWeakMap();\n var testObject = Object.freeze({});\n testMap.set(testObject, 1);\n if (testMap.get(testObject) !== 1) {\n doubleWeakMapCheckSilentFailure = true;\n // Fall through to installing our WeakMap.\n } else {\n module.exports = WeakMap;\n return;\n }\n }\n }\n\n var hop = Object.prototype.hasOwnProperty;\n var gopn = Object.getOwnPropertyNames;\n var defProp = Object.defineProperty;\n var isExtensible = Object.isExtensible;\n\n /**\n * Security depends on HIDDEN_NAME being both unguessable and\n * undiscoverable by untrusted code.\n *\n *

Given the known weaknesses of Math.random() on existing\n * browsers, it does not generate unguessability we can be confident\n * of.\n *\n *

It is the monkey patching logic in this file that is intended\n * to ensure undiscoverability. The basic idea is that there are\n * three fundamental means of discovering properties of an object:\n * The for/in loop, Object.keys(), and Object.getOwnPropertyNames(),\n * as well as some proposed ES6 extensions that appear on our\n * whitelist. The first two only discover enumerable properties, and\n * we only use HIDDEN_NAME to name a non-enumerable property, so the\n * only remaining threat should be getOwnPropertyNames and some\n * proposed ES6 extensions that appear on our whitelist. We monkey\n * patch them to remove HIDDEN_NAME from the list of properties they\n * returns.\n *\n *

TODO(erights): On a platform with built-in Proxies, proxies\n * could be used to trap and thereby discover the HIDDEN_NAME, so we\n * need to monkey patch Proxy.create, Proxy.createFunction, etc, in\n * order to wrap the provided handler with the real handler which\n * filters out all traps using HIDDEN_NAME.\n *\n *

TODO(erights): Revisit Mike Stay's suggestion that we use an\n * encapsulated function at a not-necessarily-secret name, which\n * uses the Stiegler shared-state rights amplification pattern to\n * reveal the associated value only to the WeakMap in which this key\n * is associated with that value. Since only the key retains the\n * function, the function can also remember the key without causing\n * leakage of the key, so this doesn't violate our general gc\n * goals. In addition, because the name need not be a guarded\n * secret, we could efficiently handle cross-frame frozen keys.\n */\n var HIDDEN_NAME_PREFIX = 'weakmap:';\n var HIDDEN_NAME = HIDDEN_NAME_PREFIX + 'ident:' + Math.random() + '___';\n\n if (typeof crypto !== 'undefined' &&\n typeof crypto.getRandomValues === 'function' &&\n typeof ArrayBuffer === 'function' &&\n typeof Uint8Array === 'function') {\n var ab = new ArrayBuffer(25);\n var u8s = new Uint8Array(ab);\n crypto.getRandomValues(u8s);\n HIDDEN_NAME = HIDDEN_NAME_PREFIX + 'rand:' +\n Array.prototype.map.call(u8s, function(u8) {\n return (u8 % 36).toString(36);\n }).join('') + '___';\n }\n\n function isNotHiddenName(name) {\n return !(\n name.substr(0, HIDDEN_NAME_PREFIX.length) == HIDDEN_NAME_PREFIX &&\n name.substr(name.length - 3) === '___');\n }\n\n /**\n * Monkey patch getOwnPropertyNames to avoid revealing the\n * HIDDEN_NAME.\n *\n *

The ES5.1 spec requires each name to appear only once, but as\n * of this writing, this requirement is controversial for ES6, so we\n * made this code robust against this case. If the resulting extra\n * search turns out to be expensive, we can probably relax this once\n * ES6 is adequately supported on all major browsers, iff no browser\n * versions we support at that time have relaxed this constraint\n * without providing built-in ES6 WeakMaps.\n */\n defProp(Object, 'getOwnPropertyNames', {\n value: function fakeGetOwnPropertyNames(obj) {\n return gopn(obj).filter(isNotHiddenName);\n }\n });\n\n /**\n * getPropertyNames is not in ES5 but it is proposed for ES6 and\n * does appear in our whitelist, so we need to clean it too.\n */\n if ('getPropertyNames' in Object) {\n var originalGetPropertyNames = Object.getPropertyNames;\n defProp(Object, 'getPropertyNames', {\n value: function fakeGetPropertyNames(obj) {\n return originalGetPropertyNames(obj).filter(isNotHiddenName);\n }\n });\n }\n\n /**\n *

To treat objects as identity-keys with reasonable efficiency\n * on ES5 by itself (i.e., without any object-keyed collections), we\n * need to add a hidden property to such key objects when we\n * can. This raises several issues:\n *

    \n *
  • Arranging to add this property to objects before we lose the\n * chance, and\n *
  • Hiding the existence of this new property from most\n * JavaScript code.\n *
  • Preventing certification theft, where one object is\n * created falsely claiming to be the key of an association\n * actually keyed by another object.\n *
  • Preventing value theft, where untrusted code with\n * access to a key object but not a weak map nevertheless\n * obtains access to the value associated with that key in that\n * weak map.\n *
\n * We do so by\n *
    \n *
  • Making the name of the hidden property unguessable, so \"[]\"\n * indexing, which we cannot intercept, cannot be used to access\n * a property without knowing the name.\n *
  • Making the hidden property non-enumerable, so we need not\n * worry about for-in loops or {@code Object.keys},\n *
  • monkey patching those reflective methods that would\n * prevent extensions, to add this hidden property first,\n *
  • monkey patching those methods that would reveal this\n * hidden property.\n *
\n * Unfortunately, because of same-origin iframes, we cannot reliably\n * add this hidden property before an object becomes\n * non-extensible. Instead, if we encounter a non-extensible object\n * without a hidden record that we can detect (whether or not it has\n * a hidden record stored under a name secret to us), then we just\n * use the key object itself to represent its identity in a brute\n * force leaky map stored in the weak map, losing all the advantages\n * of weakness for these.\n */\n function getHiddenRecord(key) {\n if (key !== Object(key)) {\n throw new TypeError('Not an object: ' + key);\n }\n var hiddenRecord = key[HIDDEN_NAME];\n if (hiddenRecord && hiddenRecord.key === key) { return hiddenRecord; }\n if (!isExtensible(key)) {\n // Weak map must brute force, as explained in doc-comment above.\n return void 0;\n }\n\n // The hiddenRecord and the key point directly at each other, via\n // the \"key\" and HIDDEN_NAME properties respectively. The key\n // field is for quickly verifying that this hidden record is an\n // own property, not a hidden record from up the prototype chain.\n //\n // NOTE: Because this WeakMap emulation is meant only for systems like\n // SES where Object.prototype is frozen without any numeric\n // properties, it is ok to use an object literal for the hiddenRecord.\n // This has two advantages:\n // * It is much faster in a performance critical place\n // * It avoids relying on Object.create(null), which had been\n // problematic on Chrome 28.0.1480.0. See\n // https://code.google.com/p/google-caja/issues/detail?id=1687\n hiddenRecord = { key: key };\n\n // When using this WeakMap emulation on platforms where\n // Object.prototype might not be frozen and Object.create(null) is\n // reliable, use the following two commented out lines instead.\n // hiddenRecord = Object.create(null);\n // hiddenRecord.key = key;\n\n // Please contact us if you need this to work on platforms where\n // Object.prototype might not be frozen and\n // Object.create(null) might not be reliable.\n\n try {\n defProp(key, HIDDEN_NAME, {\n value: hiddenRecord,\n writable: false,\n enumerable: false,\n configurable: false\n });\n return hiddenRecord;\n } catch (error) {\n // Under some circumstances, isExtensible seems to misreport whether\n // the HIDDEN_NAME can be defined.\n // The circumstances have not been isolated, but at least affect\n // Node.js v0.10.26 on TravisCI / Linux, but not the same version of\n // Node.js on OS X.\n return void 0;\n }\n }\n\n /**\n * Monkey patch operations that would make their argument\n * non-extensible.\n *\n *

The monkey patched versions throw a TypeError if their\n * argument is not an object, so it should only be done to functions\n * that should throw a TypeError anyway if their argument is not an\n * object.\n */\n (function(){\n var oldFreeze = Object.freeze;\n defProp(Object, 'freeze', {\n value: function identifyingFreeze(obj) {\n getHiddenRecord(obj);\n return oldFreeze(obj);\n }\n });\n var oldSeal = Object.seal;\n defProp(Object, 'seal', {\n value: function identifyingSeal(obj) {\n getHiddenRecord(obj);\n return oldSeal(obj);\n }\n });\n var oldPreventExtensions = Object.preventExtensions;\n defProp(Object, 'preventExtensions', {\n value: function identifyingPreventExtensions(obj) {\n getHiddenRecord(obj);\n return oldPreventExtensions(obj);\n }\n });\n })();\n\n function constFunc(func) {\n func.prototype = null;\n return Object.freeze(func);\n }\n\n var calledAsFunctionWarningDone = false;\n function calledAsFunctionWarning() {\n // Future ES6 WeakMap is currently (2013-09-10) expected to reject WeakMap()\n // but we used to permit it and do it ourselves, so warn only.\n if (!calledAsFunctionWarningDone && typeof console !== 'undefined') {\n calledAsFunctionWarningDone = true;\n console.warn('WeakMap should be invoked as new WeakMap(), not ' +\n 'WeakMap(). This will be an error in the future.');\n }\n }\n\n var nextId = 0;\n\n var OurWeakMap = function() {\n if (!(this instanceof OurWeakMap)) { // approximate test for new ...()\n calledAsFunctionWarning();\n }\n\n // We are currently (12/25/2012) never encountering any prematurely\n // non-extensible keys.\n var keys = []; // brute force for prematurely non-extensible keys.\n var values = []; // brute force for corresponding values.\n var id = nextId++;\n\n function get___(key, opt_default) {\n var index;\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n return id in hiddenRecord ? hiddenRecord[id] : opt_default;\n } else {\n index = keys.indexOf(key);\n return index >= 0 ? values[index] : opt_default;\n }\n }\n\n function has___(key) {\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n return id in hiddenRecord;\n } else {\n return keys.indexOf(key) >= 0;\n }\n }\n\n function set___(key, value) {\n var index;\n var hiddenRecord = getHiddenRecord(key);\n if (hiddenRecord) {\n hiddenRecord[id] = value;\n } else {\n index = keys.indexOf(key);\n if (index >= 0) {\n values[index] = value;\n } else {\n // Since some browsers preemptively terminate slow turns but\n // then continue computing with presumably corrupted heap\n // state, we here defensively get keys.length first and then\n // use it to update both the values and keys arrays, keeping\n // them in sync.\n index = keys.length;\n values[index] = value;\n // If we crash here, values will be one longer than keys.\n keys[index] = key;\n }\n }\n return this;\n }\n\n function delete___(key) {\n var hiddenRecord = getHiddenRecord(key);\n var index, lastIndex;\n if (hiddenRecord) {\n return id in hiddenRecord && delete hiddenRecord[id];\n } else {\n index = keys.indexOf(key);\n if (index < 0) {\n return false;\n }\n // Since some browsers preemptively terminate slow turns but\n // then continue computing with potentially corrupted heap\n // state, we here defensively get keys.length first and then use\n // it to update both the keys and the values array, keeping\n // them in sync. We update the two with an order of assignments,\n // such that any prefix of these assignments will preserve the\n // key/value correspondence, either before or after the delete.\n // Note that this needs to work correctly when index === lastIndex.\n lastIndex = keys.length - 1;\n keys[index] = void 0;\n // If we crash here, there's a void 0 in the keys array, but\n // no operation will cause a \"keys.indexOf(void 0)\", since\n // getHiddenRecord(void 0) will always throw an error first.\n values[index] = values[lastIndex];\n // If we crash here, values[index] cannot be found here,\n // because keys[index] is void 0.\n keys[index] = keys[lastIndex];\n // If index === lastIndex and we crash here, then keys[index]\n // is still void 0, since the aliasing killed the previous key.\n keys.length = lastIndex;\n // If we crash here, keys will be one shorter than values.\n values.length = lastIndex;\n return true;\n }\n }\n\n return Object.create(OurWeakMap.prototype, {\n get___: { value: constFunc(get___) },\n has___: { value: constFunc(has___) },\n set___: { value: constFunc(set___) },\n delete___: { value: constFunc(delete___) }\n });\n };\n\n OurWeakMap.prototype = Object.create(Object.prototype, {\n get: {\n /**\n * Return the value most recently associated with key, or\n * opt_default if none.\n */\n value: function get(key, opt_default) {\n return this.get___(key, opt_default);\n },\n writable: true,\n configurable: true\n },\n\n has: {\n /**\n * Is there a value associated with key in this WeakMap?\n */\n value: function has(key) {\n return this.has___(key);\n },\n writable: true,\n configurable: true\n },\n\n set: {\n /**\n * Associate value with key in this WeakMap, overwriting any\n * previous association if present.\n */\n value: function set(key, value) {\n return this.set___(key, value);\n },\n writable: true,\n configurable: true\n },\n\n 'delete': {\n /**\n * Remove any association for key in this WeakMap, returning\n * whether there was one.\n *\n *

Note that the boolean return here does not work like the\n * {@code delete} operator. The {@code delete} operator returns\n * whether the deletion succeeds at bringing about a state in\n * which the deleted property is absent. The {@code delete}\n * operator therefore returns true if the property was already\n * absent, whereas this {@code delete} method returns false if\n * the association was already absent.\n */\n value: function remove(key) {\n return this.delete___(key);\n },\n writable: true,\n configurable: true\n }\n });\n\n if (typeof HostWeakMap === 'function') {\n (function() {\n // If we got here, then the platform has a WeakMap but we are concerned\n // that it may refuse to store some key types. Therefore, make a map\n // implementation which makes use of both as possible.\n\n // In this mode we are always using double maps, so we are not proxy-safe.\n // This combination does not occur in any known browser, but we had best\n // be safe.\n if (doubleWeakMapCheckSilentFailure && typeof Proxy !== 'undefined') {\n Proxy = undefined;\n }\n\n function DoubleWeakMap() {\n if (!(this instanceof OurWeakMap)) { // approximate test for new ...()\n calledAsFunctionWarning();\n }\n\n // Preferable, truly weak map.\n var hmap = new HostWeakMap();\n\n // Our hidden-property-based pseudo-weak-map. Lazily initialized in the\n // 'set' implementation; thus we can avoid performing extra lookups if\n // we know all entries actually stored are entered in 'hmap'.\n var omap = undefined;\n\n // Hidden-property maps are not compatible with proxies because proxies\n // can observe the hidden name and either accidentally expose it or fail\n // to allow the hidden property to be set. Therefore, we do not allow\n // arbitrary WeakMaps to switch to using hidden properties, but only\n // those which need the ability, and unprivileged code is not allowed\n // to set the flag.\n //\n // (Except in doubleWeakMapCheckSilentFailure mode in which case we\n // disable proxies.)\n var enableSwitching = false;\n\n function dget(key, opt_default) {\n if (omap) {\n return hmap.has(key) ? hmap.get(key)\n : omap.get___(key, opt_default);\n } else {\n return hmap.get(key, opt_default);\n }\n }\n\n function dhas(key) {\n return hmap.has(key) || (omap ? omap.has___(key) : false);\n }\n\n var dset;\n if (doubleWeakMapCheckSilentFailure) {\n dset = function(key, value) {\n hmap.set(key, value);\n if (!hmap.has(key)) {\n if (!omap) { omap = new OurWeakMap(); }\n omap.set(key, value);\n }\n return this;\n };\n } else {\n dset = function(key, value) {\n if (enableSwitching) {\n try {\n hmap.set(key, value);\n } catch (e) {\n if (!omap) { omap = new OurWeakMap(); }\n omap.set___(key, value);\n }\n } else {\n hmap.set(key, value);\n }\n return this;\n };\n }\n\n function ddelete(key) {\n var result = !!hmap['delete'](key);\n if (omap) { return omap.delete___(key) || result; }\n return result;\n }\n\n return Object.create(OurWeakMap.prototype, {\n get___: { value: constFunc(dget) },\n has___: { value: constFunc(dhas) },\n set___: { value: constFunc(dset) },\n delete___: { value: constFunc(ddelete) },\n permitHostObjects___: { value: constFunc(function(token) {\n if (token === weakMapPermitHostObjects) {\n enableSwitching = true;\n } else {\n throw new Error('bogus call to permitHostObjects___');\n }\n })}\n });\n }\n DoubleWeakMap.prototype = OurWeakMap.prototype;\n module.exports = DoubleWeakMap;\n\n // define .constructor to hide OurWeakMap ctor\n Object.defineProperty(WeakMap.prototype, 'constructor', {\n value: WeakMap,\n enumerable: false, // as default .constructor is\n configurable: true,\n writable: true\n });\n })();\n } else {\n // There is no host WeakMap, so we must use the emulation.\n\n // Emulated WeakMaps are incompatible with native proxies (because proxies\n // can observe the hidden name), so we must disable Proxy usage (in\n // ArrayLike and Domado, currently).\n if (typeof Proxy !== 'undefined') {\n Proxy = undefined;\n }\n\n module.exports = OurWeakMap;\n }\n})();\n\n\n/***/ }),\n\n/***/ \"2f68\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f1c3\");\n\n\n/***/ }),\n\n/***/ \"2ff0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"02ea\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n var i, j;\n\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var x = coerce('x');\n var y = coerce('y');\n\n var z = coerce('z');\n if(!z || !z.length ||\n (x ? (x.length < 1) : false) ||\n (y ? (y.length < 1) : false)\n ) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._xlength = (Array.isArray(x) && Lib.isArrayOrTypedArray(x[0])) ? z.length : z[0].length;\n traceOut._ylength = z.length;\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y', 'z'], layout);\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n // Coerce remaining properties\n [\n 'lighting.ambient',\n 'lighting.diffuse',\n 'lighting.specular',\n 'lighting.roughness',\n 'lighting.fresnel',\n 'lightposition.x',\n 'lightposition.y',\n 'lightposition.z',\n 'hidesurface',\n 'connectgaps',\n 'opacity'\n ].forEach(function(x) { coerce(x); });\n\n var surfaceColor = coerce('surfacecolor');\n\n var dims = ['x', 'y', 'z'];\n for(i = 0; i < 3; ++i) {\n var contourDim = 'contours.' + dims[i];\n var show = coerce(contourDim + '.show');\n var highlight = coerce(contourDim + '.highlight');\n\n if(show || highlight) {\n for(j = 0; j < 3; ++j) {\n coerce(contourDim + '.project.' + dims[j]);\n }\n }\n\n if(show) {\n coerce(contourDim + '.color');\n coerce(contourDim + '.width');\n coerce(contourDim + '.usecolormap');\n }\n\n if(highlight) {\n coerce(contourDim + '.highlightcolor');\n coerce(contourDim + '.highlightwidth');\n }\n\n coerce(contourDim + '.start');\n coerce(contourDim + '.end');\n coerce(contourDim + '.size');\n }\n\n // backward compatibility block\n if(!surfaceColor) {\n mapLegacy(traceIn, 'zmin', 'cmin');\n mapLegacy(traceIn, 'zmax', 'cmax');\n mapLegacy(traceIn, 'zauto', 'cauto');\n }\n\n // TODO if contours.?.usecolormap are false and hidesurface is true\n // the colorbar shouldn't be shown by default\n\n colorscaleDefaults(\n traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'}\n );\n\n // disable 1D transforms - currently surface does NOT support column data like heatmap does\n // you can use mesh3d for this use case, but not surface\n traceOut._length = null;\n};\n\nfunction mapLegacy(traceIn, oldAttr, newAttr) {\n if(oldAttr in traceIn && !(newAttr in traceIn)) {\n traceIn[newAttr] = traceIn[oldAttr];\n }\n}\n\n\n/***/ }),\n\n/***/ \"3022\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = Object({\"NODE_ENV\":\"production\",\"BASE_URL\":\"\"}).NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = __webpack_require__(\"d60a\");\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = __webpack_require__(\"28a0\");\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"3029\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = solveIntersection\n\nvar ratMul = __webpack_require__(\"3bd6\")\nvar ratDiv = __webpack_require__(\"18a2\")\nvar ratSub = __webpack_require__(\"9c7c\")\nvar ratSign = __webpack_require__(\"3dac\")\nvar rvSub = __webpack_require__(\"66ac\")\nvar rvAdd = __webpack_require__(\"e56e\")\nvar rvMuls = __webpack_require__(\"093d\")\n\nfunction ratPerp (a, b) {\n return ratSub(ratMul(a[0], b[1]), ratMul(a[1], b[0]))\n}\n\n// Solve for intersection\n// x = a + t (b-a)\n// (x - c) ^ (d-c) = 0\n// (t * (b-a) + (a-c) ) ^ (d-c) = 0\n// t * (b-a)^(d-c) = (d-c)^(a-c)\n// t = (d-c)^(a-c) / (b-a)^(d-c)\n\nfunction solveIntersection (a, b, c, d) {\n var ba = rvSub(b, a)\n var dc = rvSub(d, c)\n\n var baXdc = ratPerp(ba, dc)\n\n if (ratSign(baXdc) === 0) {\n return null\n }\n\n var ac = rvSub(a, c)\n var dcXac = ratPerp(dc, ac)\n\n var t = ratDiv(dcXac, baXdc)\n var s = rvMuls(ba, t)\n var r = rvAdd(a, s)\n\n return r\n}\n\n\n/***/ }),\n\n/***/ \"3044\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar heatmapAttrs = __webpack_require__(\"0435\");\nvar contourAttrs = __webpack_require__(\"43ef\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar contourContourAttrs = contourAttrs.contours;\n\nmodule.exports = extendFlat({\n carpet: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n z: heatmapAttrs.z,\n a: heatmapAttrs.x,\n a0: heatmapAttrs.x0,\n da: heatmapAttrs.dx,\n b: heatmapAttrs.y,\n b0: heatmapAttrs.y0,\n db: heatmapAttrs.dy,\n text: heatmapAttrs.text,\n hovertext: heatmapAttrs.hovertext,\n transpose: heatmapAttrs.transpose,\n atype: heatmapAttrs.xtype,\n btype: heatmapAttrs.ytype,\n\n fillcolor: contourAttrs.fillcolor,\n\n autocontour: contourAttrs.autocontour,\n ncontours: contourAttrs.ncontours,\n\n contours: {\n type: contourContourAttrs.type,\n start: contourContourAttrs.start,\n end: contourContourAttrs.end,\n size: contourContourAttrs.size,\n coloring: {\n // from contourAttrs.contours.coloring but no 'heatmap' option\n valType: 'enumerated',\n values: ['fill', 'lines', 'none'],\n dflt: 'fill',\n \n editType: 'calc',\n \n },\n showlines: contourContourAttrs.showlines,\n showlabels: contourContourAttrs.showlabels,\n labelfont: contourContourAttrs.labelfont,\n labelformat: contourContourAttrs.labelformat,\n operation: contourContourAttrs.operation,\n value: contourContourAttrs.value,\n editType: 'calc',\n impliedEdits: {'autocontour': false}\n },\n\n line: {\n color: contourAttrs.line.color,\n width: contourAttrs.line.width,\n dash: contourAttrs.line.dash,\n smoothing: contourAttrs.line.smoothing,\n editType: 'plot'\n },\n\n transforms: undefined\n},\n\n colorScaleAttrs('', {\n cLetter: 'z',\n autoColorDflt: false\n })\n);\n\n\n/***/ }),\n\n/***/ \"3068\":\n/***/ (function(module, exports) {\n\nvar reg = /[\\'\\\"]/\n\nmodule.exports = function unquote(str) {\n if (!str) {\n return ''\n }\n if (reg.test(str.charAt(0))) {\n str = str.substr(1)\n }\n if (reg.test(str.charAt(str.length - 1))) {\n str = str.substr(0, str.length - 1)\n }\n return str\n}\n\n\n/***/ }),\n\n/***/ \"306c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Simple helper functions\n// none of these need any external deps\n\nmodule.exports = function identity(d) { return d; };\n\n\n/***/ }),\n\n/***/ \"3122\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = compareAngle\n\nvar orient = __webpack_require__(\"92ba\")\nvar sgn = __webpack_require__(\"79d9\")\nvar twoSum = __webpack_require__(\"d1bd\")\nvar robustProduct = __webpack_require__(\"91e1\")\nvar robustSum = __webpack_require__(\"a026\")\n\nfunction testInterior(a, b, c) {\n var x0 = twoSum(a[0], -b[0])\n var y0 = twoSum(a[1], -b[1])\n var x1 = twoSum(c[0], -b[0])\n var y1 = twoSum(c[1], -b[1])\n\n var d = robustSum(\n robustProduct(x0, x1),\n robustProduct(y0, y1))\n\n return d[d.length-1] >= 0\n}\n\nfunction compareAngle(a, b, c, d) {\n var bcd = orient(b, c, d)\n if(bcd === 0) {\n //Handle degenerate cases\n var sabc = sgn(orient(a, b, c))\n var sabd = sgn(orient(a, b, d))\n if(sabc === sabd) {\n if(sabc === 0) {\n var ic = testInterior(a, b, c)\n var id = testInterior(a, b, d)\n if(ic === id) {\n return 0\n } else if(ic) {\n return 1\n } else {\n return -1\n }\n }\n return 0\n } else if(sabd === 0) {\n if(sabc > 0) {\n return -1\n } else if(testInterior(a, b, d)) {\n return -1\n } else {\n return 1\n }\n } else if(sabc === 0) {\n if(sabd > 0) {\n return 1\n } else if(testInterior(a, b, c)) {\n return 1\n } else {\n return -1\n }\n }\n return sgn(sabd - sabc)\n }\n var abc = orient(a, b, c)\n if(abc > 0) {\n if(bcd > 0 && orient(a, b, d) > 0) {\n return 1\n }\n return -1\n } else if(abc < 0) {\n if(bcd > 0 || orient(a, b, d) > 0) {\n return 1\n }\n return -1\n } else {\n var abd = orient(a, b, d)\n if(abd > 0) {\n return 1\n } else {\n if(testInterior(a, b, c)) {\n return 1\n } else {\n return -1\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"3146\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createBackgroundCube\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"c185\").bg\n\nfunction BackgroundCube(gl, buffer, vao, shader) {\n this.gl = gl\n this.buffer = buffer\n this.vao = vao\n this.shader = shader\n}\n\nvar proto = BackgroundCube.prototype\n\nproto.draw = function(model, view, projection, bounds, enable, colors) {\n var needsBG = false\n for(var i=0; i<3; ++i) {\n needsBG = needsBG || enable[i]\n }\n if(!needsBG) {\n return\n }\n\n var gl = this.gl\n\n gl.enable(gl.POLYGON_OFFSET_FILL)\n gl.polygonOffset(1, 2)\n\n this.shader.bind()\n this.shader.uniforms = {\n model: model,\n view: view,\n projection: projection,\n bounds: bounds,\n enable: enable,\n colors: colors\n }\n this.vao.bind()\n this.vao.draw(this.gl.TRIANGLES, 36)\n this.vao.unbind()\n\n gl.disable(gl.POLYGON_OFFSET_FILL)\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.buffer.dispose()\n this.shader.dispose()\n}\n\nfunction createBackgroundCube(gl) {\n //Create cube vertices\n var vertices = []\n var indices = []\n var ptr = 0\n for(var d=0; d<3; ++d) {\n var u = (d+1) % 3\n var v = (d+2) % 3\n var x = [0,0,0]\n var c = [0,0,0]\n for(var s=-1; s<=1; s+=2) {\n indices.push(ptr, ptr+2, ptr+1,\n ptr+1, ptr+2, ptr+3)\n x[d] = s\n c[d] = s\n for(var i=-1; i<=1; i+=2) {\n x[u] = i\n for(var j=-1; j<=1; j+=2) {\n x[v] = j\n vertices.push(x[0], x[1], x[2],\n c[0], c[1], c[2])\n ptr += 1\n }\n }\n //Swap u and v\n var tt = u\n u = v\n v = tt\n }\n }\n\n //Allocate buffer and vertex array\n var buffer = createBuffer(gl, new Float32Array(vertices))\n var elements = createBuffer(gl, new Uint16Array(indices), gl.ELEMENT_ARRAY_BUFFER)\n var vao = createVAO(gl, [\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 0,\n stride: 24\n },\n {\n buffer: buffer,\n type: gl.FLOAT,\n size: 3,\n offset: 12,\n stride: 24\n }\n ], elements)\n\n //Create shader object\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.normal.location = 1\n\n return new BackgroundCube(gl, buffer, vao, shader)\n}\n\n\n/***/ }),\n\n/***/ \"320c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"3273\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar drawModule = __webpack_require__(\"236d\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'shapes',\n\n layoutAttributes: __webpack_require__(\"a5cc\"),\n supplyLayoutDefaults: __webpack_require__(\"567e\"),\n includeBasePlot: __webpack_require__(\"37d1\")('shapes'),\n\n calcAutorange: __webpack_require__(\"cef0\"),\n draw: drawModule.draw,\n drawOne: drawModule.drawOne\n};\n\n\n/***/ }),\n\n/***/ \"3350\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\n/** Marker symbol definitions\n * users can specify markers either by number or name\n * add 100 (or '-open') and you get an open marker\n * open markers have no fill and use line color as the stroke color\n * add 200 (or '-dot') and you get a dot in the middle\n * add both and you get both\n */\n\nmodule.exports = {\n circle: {\n n: 0,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n }\n },\n square: {\n n: 1,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n }\n },\n diamond: {\n n: 2,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z';\n }\n },\n cross: {\n n: 3,\n f: function(r) {\n var rc = d3.round(r * 0.4, 2);\n var rc2 = d3.round(r * 1.2, 2);\n return 'M' + rc2 + ',' + rc + 'H' + rc + 'V' + rc2 + 'H-' + rc +\n 'V' + rc + 'H-' + rc2 + 'V-' + rc + 'H-' + rc + 'V-' + rc2 +\n 'H' + rc + 'V-' + rc + 'H' + rc2 + 'Z';\n }\n },\n x: {\n n: 4,\n f: function(r) {\n var rx = d3.round(r * 0.8 / Math.sqrt(2), 2);\n var ne = 'l' + rx + ',' + rx;\n var se = 'l' + rx + ',-' + rx;\n var sw = 'l-' + rx + ',-' + rx;\n var nw = 'l-' + rx + ',' + rx;\n return 'M0,' + rx + ne + se + sw + se + sw + nw + sw + nw + ne + nw + ne + 'Z';\n }\n },\n 'triangle-up': {\n n: 5,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + rt + ',' + r2 + 'H' + rt + 'L0,-' + rs + 'Z';\n }\n },\n 'triangle-down': {\n n: 6,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + rt + ',-' + r2 + 'H' + rt + 'L0,' + rs + 'Z';\n }\n },\n 'triangle-left': {\n n: 7,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M' + r2 + ',-' + rt + 'V' + rt + 'L-' + rs + ',0Z';\n }\n },\n 'triangle-right': {\n n: 8,\n f: function(r) {\n var rt = d3.round(r * 2 / Math.sqrt(3), 2);\n var r2 = d3.round(r / 2, 2);\n var rs = d3.round(r, 2);\n return 'M-' + r2 + ',-' + rt + 'V' + rt + 'L' + rs + ',0Z';\n }\n },\n 'triangle-ne': {\n n: 9,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M-' + r2 + ',-' + r1 + 'H' + r1 + 'V' + r2 + 'Z';\n }\n },\n 'triangle-se': {\n n: 10,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M' + r1 + ',-' + r2 + 'V' + r1 + 'H-' + r2 + 'Z';\n }\n },\n 'triangle-sw': {\n n: 11,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M' + r2 + ',' + r1 + 'H-' + r1 + 'V-' + r2 + 'Z';\n }\n },\n 'triangle-nw': {\n n: 12,\n f: function(r) {\n var r1 = d3.round(r * 0.6, 2);\n var r2 = d3.round(r * 1.2, 2);\n return 'M-' + r1 + ',' + r2 + 'V-' + r1 + 'H' + r2 + 'Z';\n }\n },\n pentagon: {\n n: 13,\n f: function(r) {\n var x1 = d3.round(r * 0.951, 2);\n var x2 = d3.round(r * 0.588, 2);\n var y0 = d3.round(-r, 2);\n var y1 = d3.round(r * -0.309, 2);\n var y2 = d3.round(r * 0.809, 2);\n return 'M' + x1 + ',' + y1 + 'L' + x2 + ',' + y2 + 'H-' + x2 +\n 'L-' + x1 + ',' + y1 + 'L0,' + y0 + 'Z';\n }\n },\n hexagon: {\n n: 14,\n f: function(r) {\n var y0 = d3.round(r, 2);\n var y1 = d3.round(r / 2, 2);\n var x = d3.round(r * Math.sqrt(3) / 2, 2);\n return 'M' + x + ',-' + y1 + 'V' + y1 + 'L0,' + y0 +\n 'L-' + x + ',' + y1 + 'V-' + y1 + 'L0,-' + y0 + 'Z';\n }\n },\n hexagon2: {\n n: 15,\n f: function(r) {\n var x0 = d3.round(r, 2);\n var x1 = d3.round(r / 2, 2);\n var y = d3.round(r * Math.sqrt(3) / 2, 2);\n return 'M-' + x1 + ',' + y + 'H' + x1 + 'L' + x0 +\n ',0L' + x1 + ',-' + y + 'H-' + x1 + 'L-' + x0 + ',0Z';\n }\n },\n octagon: {\n n: 16,\n f: function(r) {\n var a = d3.round(r * 0.924, 2);\n var b = d3.round(r * 0.383, 2);\n return 'M-' + b + ',-' + a + 'H' + b + 'L' + a + ',-' + b + 'V' + b +\n 'L' + b + ',' + a + 'H-' + b + 'L-' + a + ',' + b + 'V-' + b + 'Z';\n }\n },\n star: {\n n: 17,\n f: function(r) {\n var rs = r * 1.4;\n var x1 = d3.round(rs * 0.225, 2);\n var x2 = d3.round(rs * 0.951, 2);\n var x3 = d3.round(rs * 0.363, 2);\n var x4 = d3.round(rs * 0.588, 2);\n var y0 = d3.round(-rs, 2);\n var y1 = d3.round(rs * -0.309, 2);\n var y3 = d3.round(rs * 0.118, 2);\n var y4 = d3.round(rs * 0.809, 2);\n var y5 = d3.round(rs * 0.382, 2);\n return 'M' + x1 + ',' + y1 + 'H' + x2 + 'L' + x3 + ',' + y3 +\n 'L' + x4 + ',' + y4 + 'L0,' + y5 + 'L-' + x4 + ',' + y4 +\n 'L-' + x3 + ',' + y3 + 'L-' + x2 + ',' + y1 + 'H-' + x1 +\n 'L0,' + y0 + 'Z';\n }\n },\n hexagram: {\n n: 18,\n f: function(r) {\n var y = d3.round(r * 0.66, 2);\n var x1 = d3.round(r * 0.38, 2);\n var x2 = d3.round(r * 0.76, 2);\n return 'M-' + x2 + ',0l-' + x1 + ',-' + y + 'h' + x2 +\n 'l' + x1 + ',-' + y + 'l' + x1 + ',' + y + 'h' + x2 +\n 'l-' + x1 + ',' + y + 'l' + x1 + ',' + y + 'h-' + x2 +\n 'l-' + x1 + ',' + y + 'l-' + x1 + ',-' + y + 'h-' + x2 + 'Z';\n }\n },\n 'star-triangle-up': {\n n: 19,\n f: function(r) {\n var x = d3.round(r * Math.sqrt(3) * 0.8, 2);\n var y1 = d3.round(r * 0.8, 2);\n var y2 = d3.round(r * 1.6, 2);\n var rc = d3.round(r * 4, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + x + ',' + y1 + aPart + x + ',' + y1 +\n aPart + '0,-' + y2 + aPart + '-' + x + ',' + y1 + 'Z';\n }\n },\n 'star-triangle-down': {\n n: 20,\n f: function(r) {\n var x = d3.round(r * Math.sqrt(3) * 0.8, 2);\n var y1 = d3.round(r * 0.8, 2);\n var y2 = d3.round(r * 1.6, 2);\n var rc = d3.round(r * 4, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M' + x + ',-' + y1 + aPart + '-' + x + ',-' + y1 +\n aPart + '0,' + y2 + aPart + x + ',-' + y1 + 'Z';\n }\n },\n 'star-square': {\n n: 21,\n f: function(r) {\n var rp = d3.round(r * 1.1, 2);\n var rc = d3.round(r * 2, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + rp + ',-' + rp + aPart + '-' + rp + ',' + rp +\n aPart + rp + ',' + rp + aPart + rp + ',-' + rp +\n aPart + '-' + rp + ',-' + rp + 'Z';\n }\n },\n 'star-diamond': {\n n: 22,\n f: function(r) {\n var rp = d3.round(r * 1.4, 2);\n var rc = d3.round(r * 1.9, 2);\n var aPart = 'A ' + rc + ',' + rc + ' 0 0 1 ';\n return 'M-' + rp + ',0' + aPart + '0,' + rp +\n aPart + rp + ',0' + aPart + '0,-' + rp +\n aPart + '-' + rp + ',0' + 'Z';\n }\n },\n 'diamond-tall': {\n n: 23,\n f: function(r) {\n var x = d3.round(r * 0.7, 2);\n var y = d3.round(r * 1.4, 2);\n return 'M0,' + y + 'L' + x + ',0L0,-' + y + 'L-' + x + ',0Z';\n }\n },\n 'diamond-wide': {\n n: 24,\n f: function(r) {\n var x = d3.round(r * 1.4, 2);\n var y = d3.round(r * 0.7, 2);\n return 'M0,' + y + 'L' + x + ',0L0,-' + y + 'L-' + x + ',0Z';\n }\n },\n hourglass: {\n n: 25,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'H-' + rs + 'L' + rs + ',-' + rs + 'H-' + rs + 'Z';\n },\n noDot: true\n },\n bowtie: {\n n: 26,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'V-' + rs + 'L-' + rs + ',' + rs + 'V-' + rs + 'Z';\n },\n noDot: true\n },\n 'circle-cross': {\n n: 27,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M0,' + rs + 'V-' + rs + 'M' + rs + ',0H-' + rs +\n 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n },\n needLine: true,\n noDot: true\n },\n 'circle-x': {\n n: 28,\n f: function(r) {\n var rs = d3.round(r, 2);\n var rc = d3.round(r / Math.sqrt(2), 2);\n return 'M' + rc + ',' + rc + 'L-' + rc + ',-' + rc +\n 'M' + rc + ',-' + rc + 'L-' + rc + ',' + rc +\n 'M' + rs + ',0A' + rs + ',' + rs + ' 0 1,1 0,-' + rs +\n 'A' + rs + ',' + rs + ' 0 0,1 ' + rs + ',0Z';\n },\n needLine: true,\n noDot: true\n },\n 'square-cross': {\n n: 29,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M0,' + rs + 'V-' + rs + 'M' + rs + ',0H-' + rs +\n 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n },\n needLine: true,\n noDot: true\n },\n 'square-x': {\n n: 30,\n f: function(r) {\n var rs = d3.round(r, 2);\n return 'M' + rs + ',' + rs + 'L-' + rs + ',-' + rs +\n 'M' + rs + ',-' + rs + 'L-' + rs + ',' + rs +\n 'M' + rs + ',' + rs + 'H-' + rs + 'V-' + rs + 'H' + rs + 'Z';\n },\n needLine: true,\n noDot: true\n },\n 'diamond-cross': {\n n: 31,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z' +\n 'M0,-' + rd + 'V' + rd + 'M-' + rd + ',0H' + rd;\n },\n needLine: true,\n noDot: true\n },\n 'diamond-x': {\n n: 32,\n f: function(r) {\n var rd = d3.round(r * 1.3, 2);\n var r2 = d3.round(r * 0.65, 2);\n return 'M' + rd + ',0L0,' + rd + 'L-' + rd + ',0L0,-' + rd + 'Z' +\n 'M-' + r2 + ',-' + r2 + 'L' + r2 + ',' + r2 +\n 'M-' + r2 + ',' + r2 + 'L' + r2 + ',-' + r2;\n },\n needLine: true,\n noDot: true\n },\n 'cross-thin': {\n n: 33,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M0,' + rc + 'V-' + rc + 'M' + rc + ',0H-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'x-thin': {\n n: 34,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',' + rx + 'L-' + rx + ',-' + rx +\n 'M' + rx + ',-' + rx + 'L-' + rx + ',' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n asterisk: {\n n: 35,\n f: function(r) {\n var rc = d3.round(r * 1.2, 2);\n var rs = d3.round(r * 0.85, 2);\n return 'M0,' + rc + 'V-' + rc + 'M' + rc + ',0H-' + rc +\n 'M' + rs + ',' + rs + 'L-' + rs + ',-' + rs +\n 'M' + rs + ',-' + rs + 'L-' + rs + ',' + rs;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n hash: {\n n: 36,\n f: function(r) {\n var r1 = d3.round(r / 2, 2);\n var r2 = d3.round(r, 2);\n return 'M' + r1 + ',' + r2 + 'V-' + r2 +\n 'm-' + r2 + ',0V' + r2 +\n 'M' + r2 + ',' + r1 + 'H-' + r2 +\n 'm0,-' + r2 + 'H' + r2;\n },\n needLine: true,\n noFill: true\n },\n 'y-up': {\n n: 37,\n f: function(r) {\n var x = d3.round(r * 1.2, 2);\n var y0 = d3.round(r * 1.6, 2);\n var y1 = d3.round(r * 0.8, 2);\n return 'M-' + x + ',' + y1 + 'L0,0M' + x + ',' + y1 + 'L0,0M0,-' + y0 + 'L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-down': {\n n: 38,\n f: function(r) {\n var x = d3.round(r * 1.2, 2);\n var y0 = d3.round(r * 1.6, 2);\n var y1 = d3.round(r * 0.8, 2);\n return 'M-' + x + ',-' + y1 + 'L0,0M' + x + ',-' + y1 + 'L0,0M0,' + y0 + 'L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-left': {\n n: 39,\n f: function(r) {\n var y = d3.round(r * 1.2, 2);\n var x0 = d3.round(r * 1.6, 2);\n var x1 = d3.round(r * 0.8, 2);\n return 'M' + x1 + ',' + y + 'L0,0M' + x1 + ',-' + y + 'L0,0M-' + x0 + ',0L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'y-right': {\n n: 40,\n f: function(r) {\n var y = d3.round(r * 1.2, 2);\n var x0 = d3.round(r * 1.6, 2);\n var x1 = d3.round(r * 0.8, 2);\n return 'M-' + x1 + ',' + y + 'L0,0M-' + x1 + ',-' + y + 'L0,0M' + x0 + ',0L0,0';\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ew': {\n n: 41,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M' + rc + ',0H-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ns': {\n n: 42,\n f: function(r) {\n var rc = d3.round(r * 1.4, 2);\n return 'M0,' + rc + 'V-' + rc;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-ne': {\n n: 43,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',-' + rx + 'L-' + rx + ',' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n },\n 'line-nw': {\n n: 44,\n f: function(r) {\n var rx = d3.round(r, 2);\n return 'M' + rx + ',' + rx + 'L-' + rx + ',-' + rx;\n },\n needLine: true,\n noDot: true,\n noFill: true\n }\n};\n\n\n/***/ }),\n\n/***/ \"33ae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar str2RGBArray = __webpack_require__(\"f977\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nfunction SpikeOptions() {\n this.enabled = [true, true, true];\n this.colors = [[0, 0, 0, 1],\n [0, 0, 0, 1],\n [0, 0, 0, 1]];\n this.drawSides = [true, true, true];\n this.lineWidth = [1, 1, 1];\n}\n\nvar proto = SpikeOptions.prototype;\n\nproto.merge = function(sceneLayout) {\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n if(!axes.visible) {\n this.enabled[i] = false;\n this.drawSides[i] = false;\n continue;\n }\n\n this.enabled[i] = axes.showspikes;\n this.colors[i] = str2RGBArray(axes.spikecolor);\n this.drawSides[i] = axes.spikesides;\n this.lineWidth[i] = axes.spikethickness;\n }\n};\n\nfunction createSpikeOptions(layout) {\n var result = new SpikeOptions();\n result.merge(layout);\n return result;\n}\n\nmodule.exports = createSpikeOptions;\n\n\n/***/ }),\n\n/***/ \"342f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n\n/***/ }),\n\n/***/ \"3473\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isIterable = __webpack_require__(\"91e3\");\n\nmodule.exports = function (value) {\n\tif (!isIterable(value)) throw new TypeError(value + \" is not iterable\");\n\treturn value;\n};\n\n\n/***/ }),\n\n/***/ \"348d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar histogram2dAttrs = __webpack_require__(\"1590\");\nvar contourAttrs = __webpack_require__(\"43ef\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n x: histogram2dAttrs.x,\n y: histogram2dAttrs.y,\n z: histogram2dAttrs.z,\n marker: histogram2dAttrs.marker,\n\n histnorm: histogram2dAttrs.histnorm,\n histfunc: histogram2dAttrs.histfunc,\n nbinsx: histogram2dAttrs.nbinsx,\n xbins: histogram2dAttrs.xbins,\n nbinsy: histogram2dAttrs.nbinsy,\n ybins: histogram2dAttrs.ybins,\n autobinx: histogram2dAttrs.autobinx,\n autobiny: histogram2dAttrs.autobiny,\n\n bingroup: histogram2dAttrs.bingroup,\n xbingroup: histogram2dAttrs.xbingroup,\n ybingroup: histogram2dAttrs.ybingroup,\n\n autocontour: contourAttrs.autocontour,\n ncontours: contourAttrs.ncontours,\n contours: contourAttrs.contours,\n line: {\n color: contourAttrs.line.color,\n width: extendFlat({}, contourAttrs.line.width, {\n dflt: 0.5,\n \n }),\n dash: contourAttrs.line.dash,\n smoothing: contourAttrs.line.smoothing,\n editType: 'plot'\n },\n zhoverformat: histogram2dAttrs.zhoverformat,\n hovertemplate: histogram2dAttrs.hovertemplate\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"34cc\":\n/***/ (function(module, exports) {\n\n// (c) Copyright 2017, Sean Connelly (@voidqk), http://syntheti.cc\n// MIT License\n// Project Home: https://github.com/voidqk/polybooljs\n\n//\n// convert between PolyBool polygon format and GeoJSON formats (Polygon and MultiPolygon)\n//\n\nvar GeoJSON = {\n\t// convert a GeoJSON object to a PolyBool polygon\n\ttoPolygon: function(PolyBool, geojson){\n\n\t\t// converts list of LineString's to segments\n\t\tfunction GeoPoly(coords){\n\t\t\t// check for empty coords\n\t\t\tif (coords.length <= 0)\n\t\t\t\treturn PolyBool.segments({ inverted: false, regions: [] });\n\n\t\t\t// convert LineString to segments\n\t\t\tfunction LineString(ls){\n\t\t\t\t// remove tail which should be the same as head\n\t\t\t\tvar reg = ls.slice(0, ls.length - 1);\n\t\t\t\treturn PolyBool.segments({ inverted: false, regions: [reg] });\n\t\t\t}\n\n\t\t\t// the first LineString is considered the outside\n\t\t\tvar out = LineString(coords[0]);\n\n\t\t\t// the rest of the LineStrings are considered interior holes, so subtract them from the\n\t\t\t// current result\n\t\t\tfor (var i = 1; i < coords.length; i++)\n\t\t\t\tout = PolyBool.selectDifference(PolyBool.combine(out, LineString(coords[i])));\n\n\t\t\treturn out;\n\t\t}\n\n\t\tif (geojson.type === 'Polygon'){\n\t\t\t// single polygon, so just convert it and we're done\n\t\t\treturn PolyBool.polygon(GeoPoly(geojson.coordinates));\n\t\t}\n\t\telse if (geojson.type === 'MultiPolygon'){\n\t\t\t// multiple polygons, so union all the polygons together\n\t\t\tvar out = PolyBool.segments({ inverted: false, regions: [] });\n\t\t\tfor (var i = 0; i < geojson.coordinates.length; i++)\n\t\t\t\tout = PolyBool.selectUnion(PolyBool.combine(out, GeoPoly(geojson.coordinates[i])));\n\t\t\treturn PolyBool.polygon(out);\n\t\t}\n\t\tthrow new Error('PolyBool: Cannot convert GeoJSON object to PolyBool polygon');\n\t},\n\n\t// convert a PolyBool polygon to a GeoJSON object\n\tfromPolygon: function(PolyBool, eps, poly){\n\t\t// make sure out polygon is clean\n\t\tpoly = PolyBool.polygon(PolyBool.segments(poly));\n\n\t\t// test if r1 is inside r2\n\t\tfunction regionInsideRegion(r1, r2){\n\t\t\t// we're guaranteed no lines intersect (because the polygon is clean), but a vertex\n\t\t\t// could be on the edge -- so we just average pt[0] and pt[1] to produce a point on the\n\t\t\t// edge of the first line, which cannot be on an edge\n\t\t\treturn eps.pointInsideRegion([\n\t\t\t\t(r1[0][0] + r1[1][0]) * 0.5,\n\t\t\t\t(r1[0][1] + r1[1][1]) * 0.5\n\t\t\t], r2);\n\t\t}\n\n\t\t// calculate inside heirarchy\n\t\t//\n\t\t// _____________________ _______ roots -> A -> F\n\t\t// | A | | F | | |\n\t\t// | _______ _______ | | ___ | +-- B +-- G\n\t\t// | | B | | C | | | | | | | |\n\t\t// | | ___ | | ___ | | | | | | | +-- D\n\t\t// | | | D | | | | E | | | | | G | | |\n\t\t// | | |___| | | |___| | | | | | | +-- C\n\t\t// | |_______| |_______| | | |___| | |\n\t\t// |_____________________| |_______| +-- E\n\n\t\tfunction newNode(region){\n\t\t\treturn {\n\t\t\t\tregion: region,\n\t\t\t\tchildren: []\n\t\t\t};\n\t\t}\n\n\t\tvar roots = newNode(null);\n\n\t\tfunction addChild(root, region){\n\t\t\t// first check if we're inside any children\n\t\t\tfor (var i = 0; i < root.children.length; i++){\n\t\t\t\tvar child = root.children[i];\n\t\t\t\tif (regionInsideRegion(region, child.region)){\n\t\t\t\t\t// we are, so insert inside them instead\n\t\t\t\t\taddChild(child, region);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// not inside any children, so check to see if any children are inside us\n\t\t\tvar node = newNode(region);\n\t\t\tfor (var i = 0; i < root.children.length; i++){\n\t\t\t\tvar child = root.children[i];\n\t\t\t\tif (regionInsideRegion(child.region, region)){\n\t\t\t\t\t// oops... move the child beneath us, and remove them from root\n\t\t\t\t\tnode.children.push(child);\n\t\t\t\t\troot.children.splice(i, 1);\n\t\t\t\t\ti--;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// now we can add ourselves\n\t\t\troot.children.push(node);\n\t\t}\n\n\t\t// add all regions to the root\n\t\tfor (var i = 0; i < poly.regions.length; i++){\n\t\t\tvar region = poly.regions[i];\n\t\t\tif (region.length < 3) // regions must have at least 3 points (sanity check)\n\t\t\t\tcontinue;\n\t\t\taddChild(roots, region);\n\t\t}\n\n\t\t// with our heirarchy, we can distinguish between exterior borders, and interior holes\n\t\t// the root nodes are exterior, children are interior, children's children are exterior,\n\t\t// children's children's children are interior, etc\n\n\t\t// while we're at it, exteriors are counter-clockwise, and interiors are clockwise\n\n\t\tfunction forceWinding(region, clockwise){\n\t\t\t// first, see if we're clockwise or counter-clockwise\n\t\t\t// https://en.wikipedia.org/wiki/Shoelace_formula\n\t\t\tvar winding = 0;\n\t\t\tvar last_x = region[region.length - 1][0];\n\t\t\tvar last_y = region[region.length - 1][1];\n\t\t\tvar copy = [];\n\t\t\tfor (var i = 0; i < region.length; i++){\n\t\t\t\tvar curr_x = region[i][0];\n\t\t\t\tvar curr_y = region[i][1];\n\t\t\t\tcopy.push([curr_x, curr_y]); // create a copy while we're at it\n\t\t\t\twinding += curr_y * last_x - curr_x * last_y;\n\t\t\t\tlast_x = curr_x;\n\t\t\t\tlast_y = curr_y;\n\t\t\t}\n\t\t\t// this assumes Cartesian coordinates (Y is positive going up)\n\t\t\tvar isclockwise = winding < 0;\n\t\t\tif (isclockwise !== clockwise)\n\t\t\t\tcopy.reverse();\n\t\t\t// while we're here, the last point must be the first point...\n\t\t\tcopy.push([copy[0][0], copy[0][1]]);\n\t\t\treturn copy;\n\t\t}\n\n\t\tvar geopolys = [];\n\n\t\tfunction addExterior(node){\n\t\t\tvar poly = [forceWinding(node.region, false)];\n\t\t\tgeopolys.push(poly);\n\t\t\t// children of exteriors are interior\n\t\t\tfor (var i = 0; i < node.children.length; i++)\n\t\t\t\tpoly.push(getInterior(node.children[i]));\n\t\t}\n\n\t\tfunction getInterior(node){\n\t\t\t// children of interiors are exterior\n\t\t\tfor (var i = 0; i < node.children.length; i++)\n\t\t\t\taddExterior(node.children[i]);\n\t\t\t// return the clockwise interior\n\t\t\treturn forceWinding(node.region, true);\n\t\t}\n\n\t\t// root nodes are exterior\n\t\tfor (var i = 0; i < roots.children.length; i++)\n\t\t\taddExterior(roots.children[i]);\n\n\t\t// lastly, construct the approrpriate GeoJSON object\n\n\t\tif (geopolys.length <= 0) // empty GeoJSON Polygon\n\t\t\treturn { type: 'Polygon', coordinates: [] };\n\t\tif (geopolys.length == 1) // use a GeoJSON Polygon\n\t\t\treturn { type: 'Polygon', coordinates: geopolys[0] };\n\t\treturn { // otherwise, use a GeoJSON MultiPolygon\n\t\t\ttype: 'MultiPolygon',\n\t\t\tcoordinates: geopolys\n\t\t};\n\t}\n};\n\nmodule.exports = GeoJSON;\n\n\n/***/ }),\n\n/***/ \"34d8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar barPlot = __webpack_require__(\"c791\");\nvar clearMinTextSize = __webpack_require__(\"93a6\").clearMinTextSize;\n\nmodule.exports = function plot(gd, plotinfo, cdModule, traceLayer) {\n var fullLayout = gd._fullLayout;\n\n clearMinTextSize('funnel', fullLayout);\n\n plotConnectorRegions(gd, plotinfo, cdModule, traceLayer);\n plotConnectorLines(gd, plotinfo, cdModule, traceLayer);\n\n barPlot.plot(gd, plotinfo, cdModule, traceLayer, {\n mode: fullLayout.funnelmode,\n norm: fullLayout.funnelmode,\n gap: fullLayout.funnelgap,\n groupgap: fullLayout.funnelgroupgap\n });\n};\n\nfunction plotConnectorRegions(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'regions');\n\n if(!trace.connector || !trace.connector.visible) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n\n var connectors = group.selectAll('g.region').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('region', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(x[3] !== undefined && y[3] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'L' + x[2] + ',' + y[2] + 'H' + x[3] + 'L' + x[1] + ',' + y[1] + 'Z';\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[2] + ',' + y[3] + 'V' + y[2] + 'L' + x[1] + ',' + y[0] + 'Z';\n }\n }\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction plotConnectorLines(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'lines');\n\n if(!trace.connector || !trace.connector.visible || !trace.connector.line.width) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n\n var connectors = group.selectAll('g.line').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('line', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(x[3] !== undefined && y[3] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'L' + x[2] + ',' + y[2];\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[3] + ',' + y[2];\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'L' + x[2] + ',' + y[3];\n shape += 'M' + x[1] + ',' + y[0] + 'L' + x[2] + ',' + y[2];\n }\n }\n\n if(shape === '') shape = 'M0,0Z';\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction getXY(di, xa, ya, isHorizontal) {\n var s = [];\n var p = [];\n\n var sAxis = isHorizontal ? xa : ya;\n var pAxis = isHorizontal ? ya : xa;\n\n s[0] = sAxis.c2p(di.s0, true);\n p[0] = pAxis.c2p(di.p0, true);\n\n s[1] = sAxis.c2p(di.s1, true);\n p[1] = pAxis.c2p(di.p1, true);\n\n s[2] = sAxis.c2p(di.nextS0, true);\n p[2] = pAxis.c2p(di.nextP0, true);\n\n s[3] = sAxis.c2p(di.nextS1, true);\n p[3] = pAxis.c2p(di.nextP1, true);\n\n return isHorizontal ? [s, p] : [p, s];\n}\n\n\n/***/ }),\n\n/***/ \"34f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\nvar arrayEditor = __webpack_require__(\"a651\").arrayEditor;\n\nmodule.exports = {\n hasClickToShow: hasClickToShow,\n onClick: onClick\n};\n\n/*\n * hasClickToShow: does the given hoverData have ANY annotations which will\n * turn ON if we click here? (used by hover events to set cursor)\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: boolean\n */\nfunction hasClickToShow(gd, hoverData) {\n var sets = getToggleSets(gd, hoverData);\n return sets.on.length > 0 || sets.explicitOff.length > 0;\n}\n\n/*\n * onClick: perform the toggling (via Plotly.update) implied by clicking\n * at this hoverData\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: Promise that the update is complete\n */\nfunction onClick(gd, hoverData) {\n var toggleSets = getToggleSets(gd, hoverData);\n var onSet = toggleSets.on;\n var offSet = toggleSets.off.concat(toggleSets.explicitOff);\n var update = {};\n var annotationsOut = gd._fullLayout.annotations;\n var i, editHelpers;\n\n if(!(onSet.length || offSet.length)) return;\n\n for(i = 0; i < onSet.length; i++) {\n editHelpers = arrayEditor(gd.layout, 'annotations', annotationsOut[onSet[i]]);\n editHelpers.modifyItem('visible', true);\n Lib.extendFlat(update, editHelpers.getUpdateObj());\n }\n\n for(i = 0; i < offSet.length; i++) {\n editHelpers = arrayEditor(gd.layout, 'annotations', annotationsOut[offSet[i]]);\n editHelpers.modifyItem('visible', false);\n Lib.extendFlat(update, editHelpers.getUpdateObj());\n }\n\n return Registry.call('update', gd, {}, update);\n}\n\n/*\n * getToggleSets: find the annotations which will turn on or off at this\n * hoverData\n *\n * gd: graphDiv\n * hoverData: a hoverData array, as included with the *plotly_hover* or\n * *plotly_click* events in the `points` attribute\n *\n * returns: {\n * on: Array (indices of annotations to turn on),\n * off: Array (indices to turn off because you're not hovering on them),\n * explicitOff: Array (indices to turn off because you *are* hovering on them)\n * }\n */\nfunction getToggleSets(gd, hoverData) {\n var annotations = gd._fullLayout.annotations;\n var onSet = [];\n var offSet = [];\n var explicitOffSet = [];\n var hoverLen = (hoverData || []).length;\n\n var i, j, anni, showMode, pointj, xa, ya, toggleType;\n\n for(i = 0; i < annotations.length; i++) {\n anni = annotations[i];\n showMode = anni.clicktoshow;\n\n if(showMode) {\n for(j = 0; j < hoverLen; j++) {\n pointj = hoverData[j];\n xa = pointj.xaxis;\n ya = pointj.yaxis;\n\n if(xa._id === anni.xref &&\n ya._id === anni.yref &&\n xa.d2r(pointj.x) === clickData2r(anni._xclick, xa) &&\n ya.d2r(pointj.y) === clickData2r(anni._yclick, ya)\n ) {\n // match! toggle this annotation\n // regardless of its clicktoshow mode\n // but if it's onout mode, off is implicit\n if(anni.visible) {\n if(showMode === 'onout') toggleType = offSet;\n else toggleType = explicitOffSet;\n } else {\n toggleType = onSet;\n }\n toggleType.push(i);\n break;\n }\n }\n\n if(j === hoverLen) {\n // no match - only turn this annotation OFF, and only if\n // showmode is 'onout'\n if(anni.visible && showMode === 'onout') offSet.push(i);\n }\n }\n }\n\n return {on: onSet, off: offSet, explicitOff: explicitOffSet};\n}\n\n// to handle log axes until v2\nfunction clickData2r(d, ax) {\n return ax.type === 'log' ? ax.l2r(d) : ax.d2r(d);\n}\n\n\n/***/ }),\n\n/***/ \"3511\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar constraintMapping = __webpack_require__(\"11ab\");\nvar endPlus = __webpack_require__(\"bc6b\");\n\nmodule.exports = function emptyPathinfo(contours, plotinfo, cd0) {\n var contoursFinal = (contours.type === 'constraint') ?\n constraintMapping[contours._operation](contours.value) :\n contours;\n\n var cs = contoursFinal.size;\n var pathinfo = [];\n var end = endPlus(contoursFinal);\n\n var carpet = cd0.trace._carpetTrace;\n\n var basePathinfo = carpet ? {\n // store axes so we can convert to px\n xaxis: carpet.aaxis,\n yaxis: carpet.baxis,\n // full data arrays to use for interpolation\n x: cd0.a,\n y: cd0.b\n } : {\n xaxis: plotinfo.xaxis,\n yaxis: plotinfo.yaxis,\n x: cd0.x,\n y: cd0.y\n };\n\n for(var ci = contoursFinal.start; ci < end; ci += cs) {\n pathinfo.push(Lib.extendFlat({\n level: ci,\n // all the cells with nontrivial marching index\n crossings: {},\n // starting points on the edges of the lattice for each contour\n starts: [],\n // all unclosed paths (may have less items than starts,\n // if a path is closed by rounding)\n edgepaths: [],\n // all closed paths\n paths: [],\n z: cd0.z,\n smoothing: cd0.trace.line.smoothing\n }, basePathinfo));\n\n if(pathinfo.length > 1000) {\n Lib.warn('Too many contours, clipping at 1000', contours);\n break;\n }\n }\n return pathinfo;\n};\n\n\n/***/ }),\n\n/***/ \"351b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar toLogRange = __webpack_require__(\"f6b0\");\n\n/*\n * convertCoords: when converting an axis between log and linear\n * you need to alter any annotations on that axis to keep them\n * pointing at the same data point.\n * In v2.0 this will become obsolete\n *\n * gd: the plot div\n * ax: the axis being changed\n * newType: the type it's getting\n * doExtra: function(attr, val) from inside relayout that sets the attribute.\n * Use this to make the changes as it's aware if any other changes in the\n * same relayout call should override this conversion.\n */\nmodule.exports = function convertCoords(gd, ax, newType, doExtra) {\n ax = ax || {};\n\n var toLog = (newType === 'log') && (ax.type === 'linear');\n var fromLog = (newType === 'linear') && (ax.type === 'log');\n\n if(!(toLog || fromLog)) return;\n\n var annotations = gd._fullLayout.annotations;\n var axLetter = ax._id.charAt(0);\n var ann;\n var attrPrefix;\n\n function convert(attr) {\n var currentVal = ann[attr];\n var newVal = null;\n\n if(toLog) newVal = toLogRange(currentVal, ax.range);\n else newVal = Math.pow(10, currentVal);\n\n // if conversion failed, delete the value so it gets a default value\n if(!isNumeric(newVal)) newVal = null;\n\n doExtra(attrPrefix + attr, newVal);\n }\n\n for(var i = 0; i < annotations.length; i++) {\n ann = annotations[i];\n attrPrefix = 'annotations[' + i + '].';\n\n if(ann[axLetter + 'ref'] === ax._id) convert(axLetter);\n if(ann['a' + axLetter + 'ref'] === ax._id) convert('a' + axLetter);\n }\n};\n\n\n/***/ }),\n\n/***/ \"3560\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boxIntersectIter\n\nvar pool = __webpack_require__(\"cea5\")\nvar bits = __webpack_require__(\"a48a\")\nvar bruteForce = __webpack_require__(\"b83d\")\nvar bruteForcePartial = bruteForce.partial\nvar bruteForceFull = bruteForce.full\nvar sweep = __webpack_require__(\"97e2\")\nvar findMedian = __webpack_require__(\"158b\")\nvar genPartition = __webpack_require__(\"8e58\")\n\n//Twiddle parameters\nvar BRUTE_FORCE_CUTOFF = 128 //Cut off for brute force search\nvar SCAN_CUTOFF = (1<<22) //Cut off for two way scan\nvar SCAN_COMPLETE_CUTOFF = (1<<22) \n\n//Partition functions\nvar partitionInteriorContainsInterval = genPartition(\n '!(lo>=p0)&&!(p1>=hi)', \n ['p0', 'p1'])\n\nvar partitionStartEqual = genPartition(\n 'lo===p0',\n ['p0'])\n\nvar partitionStartLessThan = genPartition(\n 'lo 0) {\n top -= 1\n\n var iptr = top * IFRAME_SIZE\n var axis = BOX_ISTACK[iptr]\n var redStart = BOX_ISTACK[iptr+1]\n var redEnd = BOX_ISTACK[iptr+2]\n var blueStart = BOX_ISTACK[iptr+3]\n var blueEnd = BOX_ISTACK[iptr+4]\n var state = BOX_ISTACK[iptr+5]\n\n var dptr = top * DFRAME_SIZE\n var lo = BOX_DSTACK[dptr]\n var hi = BOX_DSTACK[dptr+1]\n\n //Unpack state info\n var flip = (state & 1)\n var full = !!(state & 16)\n\n //Unpack indices\n var red = xBoxes\n var redIndex = xIndex\n var blue = yBoxes\n var blueIndex = yIndex\n if(flip) {\n red = yBoxes\n redIndex = yIndex\n blue = xBoxes\n blueIndex = xIndex\n }\n\n if(state & 2) {\n redEnd = partitionStartLessThan(\n d, axis,\n redStart, redEnd, red, redIndex,\n hi)\n if(redStart >= redEnd) {\n continue\n }\n }\n if(state & 4) {\n redStart = partitionEndLessThanEqual(\n d, axis,\n redStart, redEnd, red, redIndex,\n lo)\n if(redStart >= redEnd) {\n continue\n }\n }\n \n var redCount = redEnd - redStart\n var blueCount = blueEnd - blueStart\n\n if(full) {\n if(d * redCount * (redCount + blueCount) < SCAN_COMPLETE_CUTOFF) {\n retval = sweep.scanComplete(\n d, axis, visit, \n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n }\n } else {\n if(d * Math.min(redCount, blueCount) < BRUTE_FORCE_CUTOFF) {\n //If input small, then use brute force\n retval = bruteForcePartial(\n d, axis, visit, flip,\n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n } else if(d * redCount * blueCount < SCAN_CUTOFF) {\n //If input medium sized, then use sweep and prune\n retval = sweep.scanBipartite(\n d, axis, visit, flip, \n redStart, redEnd, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n continue\n }\n }\n \n //First, find all red intervals whose interior contains (lo,hi)\n var red0 = partitionInteriorContainsInterval(\n d, axis, \n redStart, redEnd, red, redIndex,\n lo, hi)\n\n //Lower dimensional case\n if(redStart < red0) {\n\n if(d * (red0 - redStart) < BRUTE_FORCE_CUTOFF) {\n //Special case for small inputs: use brute force\n retval = bruteForceFull(\n d, axis+1, visit,\n redStart, red0, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n } else if(axis === d-2) {\n if(flip) {\n retval = sweep.sweepBipartite(\n d, visit,\n blueStart, blueEnd, blue, blueIndex,\n redStart, red0, red, redIndex)\n } else {\n retval = sweep.sweepBipartite(\n d, visit,\n redStart, red0, red, redIndex,\n blueStart, blueEnd, blue, blueIndex)\n }\n if(retval !== void 0) {\n return retval\n }\n } else {\n iterPush(top++,\n axis+1,\n redStart, red0,\n blueStart, blueEnd,\n flip,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blueStart, blueEnd,\n redStart, red0,\n flip^1,\n -Infinity, Infinity)\n }\n }\n\n //Divide and conquer phase\n if(red0 < redEnd) {\n\n //Cut blue into 3 parts:\n //\n // Points < mid point\n // Points = mid point\n // Points > mid point\n //\n var blue0 = findMedian(\n d, axis, \n blueStart, blueEnd, blue, blueIndex)\n var mid = blue[elemSize * blue0 + axis]\n var blue1 = partitionStartEqual(\n d, axis,\n blue0, blueEnd, blue, blueIndex,\n mid)\n\n //Right case\n if(blue1 < blueEnd) {\n iterPush(top++,\n axis,\n red0, redEnd,\n blue1, blueEnd,\n (flip|4) + (full ? 16 : 0),\n mid, hi)\n }\n\n //Left case\n if(blueStart < blue0) {\n iterPush(top++,\n axis,\n red0, redEnd,\n blueStart, blue0,\n (flip|2) + (full ? 16 : 0),\n lo, mid)\n }\n\n //Center case (the hard part)\n if(blue0 + 1 === blue1) {\n //Optimization: Range with exactly 1 point, use a brute force scan\n if(full) {\n retval = onePointFull(\n d, axis, visit,\n red0, redEnd, red, redIndex,\n blue0, blue, blueIndex[blue0])\n } else {\n retval = onePointPartial(\n d, axis, visit, flip,\n red0, redEnd, red, redIndex,\n blue0, blue, blueIndex[blue0])\n }\n if(retval !== void 0) {\n return retval\n }\n } else if(blue0 < blue1) {\n var red1\n if(full) {\n //If full intersection, need to handle special case\n red1 = partitionContainsPoint(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n if(red0 < red1) {\n var redX = partitionStartEqual(\n d, axis,\n red0, red1, red, redIndex,\n mid)\n if(axis === d-2) {\n //Degenerate sweep intersection:\n // [red0, redX] with [blue0, blue1]\n if(red0 < redX) {\n retval = sweep.sweepComplete(\n d, visit,\n red0, redX, red, redIndex,\n blue0, blue1, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n }\n\n //Normal sweep intersection:\n // [redX, red1] with [blue0, blue1]\n if(redX < red1) {\n retval = sweep.sweepBipartite(\n d, visit,\n redX, red1, red, redIndex,\n blue0, blue1, blue, blueIndex)\n if(retval !== void 0) {\n return retval\n }\n }\n } else {\n if(red0 < redX) {\n iterPush(top++,\n axis+1,\n red0, redX,\n blue0, blue1,\n 16,\n -Infinity, Infinity)\n }\n if(redX < red1) {\n iterPush(top++,\n axis+1,\n redX, red1,\n blue0, blue1,\n 0,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blue0, blue1,\n redX, red1,\n 1,\n -Infinity, Infinity)\n }\n }\n }\n } else {\n if(flip) {\n red1 = partitionContainsPointProper(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n } else {\n red1 = partitionContainsPoint(\n d, axis,\n red0, redEnd, red, redIndex,\n mid)\n }\n if(red0 < red1) {\n if(axis === d-2) {\n if(flip) {\n retval = sweep.sweepBipartite(\n d, visit,\n blue0, blue1, blue, blueIndex,\n red0, red1, red, redIndex)\n } else {\n retval = sweep.sweepBipartite(\n d, visit,\n red0, red1, red, redIndex,\n blue0, blue1, blue, blueIndex)\n }\n } else {\n iterPush(top++,\n axis+1,\n red0, red1,\n blue0, blue1,\n flip,\n -Infinity, Infinity)\n iterPush(top++,\n axis+1,\n blue0, blue1,\n red0, red1,\n flip^1,\n -Infinity, Infinity)\n }\n }\n }\n }\n }\n }\n}\n\n/***/ }),\n\n/***/ \"35b1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar determinant = __webpack_require__(\"c2ef\")\n\nvar NUM_EXPAND = 6\n\nfunction generateSolver(n) {\n var funcName = \"robustLinearSolve\" + n + \"d\"\n var code = [\"function \", funcName, \"(A,b){return [\"]\n for(var i=0; i 0) {\n code.push(\",\")\n }\n code.push(\"[\")\n for(var k=0; k 0) {\n code.push(\",\")\n }\n if(k === i) {\n code.push(\"+b[\", j, \"]\")\n } else {\n code.push(\"+A[\", j, \"][\", k, \"]\")\n }\n }\n code.push(\"]\")\n }\n code.push(\"]),\")\n }\n code.push(\"det(A)]}return \", funcName)\n var proc = new Function(\"det\", code.join(\"\"))\n if(n < 6) {\n return proc(determinant[n])\n }\n return proc(determinant)\n}\n\nfunction robustLinearSolve0d() {\n return [ 0 ]\n}\n\nfunction robustLinearSolve1d(A, b) {\n return [ [ b[0] ], [ A[0][0] ] ]\n}\n\nvar CACHE = [\n robustLinearSolve0d,\n robustLinearSolve1d\n]\n\nfunction generateDispatch() {\n while(CACHE.length < NUM_EXPAND) {\n CACHE.push(generateSolver(CACHE.length))\n }\n var procArgs = []\n var code = [\"function dispatchLinearSolve(A,b){switch(A.length){\"]\n for(var i=0; i>> 24\r\n\tvar g = (n & 0x00ff0000) >>> 16\r\n\tvar b = (n & 0x0000ff00) >>> 8\r\n\tvar a = n & 0x000000ff\r\n\r\n\tif (normalized === false) return [r, g, b, a]\r\n\r\n\treturn [r/255, g/255, b/255, a/255]\r\n}\r\n\n\n/***/ }),\n\n/***/ \"3642\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n/***/ }),\n\n/***/ \"36ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar barPlot = __webpack_require__(\"c791\");\nvar clearMinTextSize = __webpack_require__(\"93a6\").clearMinTextSize;\n\nmodule.exports = function plot(gd, plotinfo, cdModule, traceLayer) {\n var fullLayout = gd._fullLayout;\n\n clearMinTextSize('waterfall', fullLayout);\n\n barPlot.plot(gd, plotinfo, cdModule, traceLayer, {\n mode: fullLayout.waterfallmode,\n norm: fullLayout.waterfallmode,\n gap: fullLayout.waterfallgap,\n groupgap: fullLayout.waterfallgroupgap\n });\n\n plotConnectors(gd, plotinfo, cdModule, traceLayer);\n};\n\nfunction plotConnectors(gd, plotinfo, cdModule, traceLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(traceLayer, cdModule, 'trace bars').each(function(cd) {\n var plotGroup = d3.select(this);\n var trace = cd[0].trace;\n\n var group = Lib.ensureSingle(plotGroup, 'g', 'lines');\n\n if(!trace.connector || !trace.connector.visible) {\n group.remove();\n return;\n }\n\n var isHorizontal = (trace.orientation === 'h');\n var mode = trace.connector.mode;\n\n var connectors = group.selectAll('g.line').data(Lib.identity);\n\n connectors.enter().append('g')\n .classed('line', true);\n\n connectors.exit().remove();\n\n var len = connectors.size();\n\n connectors.each(function(di, i) {\n // don't draw lines between nulls\n if(i !== len - 1 && !di.cNext) return;\n\n var xy = getXY(di, xa, ya, isHorizontal);\n var x = xy[0];\n var y = xy[1];\n\n var shape = '';\n\n if(mode === 'spanning') {\n if(!di.isSum && i > 0) {\n if(isHorizontal) {\n shape += 'M' + x[0] + ',' + y[1] + 'V' + y[0];\n } else {\n shape += 'M' + x[1] + ',' + y[0] + 'H' + x[0];\n }\n }\n }\n\n if(mode !== 'between') {\n if(di.isSum || i < len - 1) {\n if(isHorizontal) {\n shape += 'M' + x[1] + ',' + y[0] + 'V' + y[1];\n } else {\n shape += 'M' + x[0] + ',' + y[1] + 'H' + x[1];\n }\n }\n }\n\n if(x[2] !== undefined && y[2] !== undefined) {\n if(isHorizontal) {\n shape += 'M' + x[1] + ',' + y[1] + 'V' + y[2];\n } else {\n shape += 'M' + x[1] + ',' + y[1] + 'H' + x[2];\n }\n }\n\n if(shape === '') shape = 'M0,0Z';\n\n Lib.ensureSingle(d3.select(this), 'path')\n .attr('d', shape)\n .call(Drawing.setClipUrl, plotinfo.layerClipId, gd);\n });\n });\n}\n\nfunction getXY(di, xa, ya, isHorizontal) {\n var s = [];\n var p = [];\n\n var sAxis = isHorizontal ? xa : ya;\n var pAxis = isHorizontal ? ya : xa;\n\n s[0] = sAxis.c2p(di.s0, true);\n p[0] = pAxis.c2p(di.p0, true);\n\n s[1] = sAxis.c2p(di.s1, true);\n p[1] = pAxis.c2p(di.p1, true);\n\n s[2] = sAxis.c2p(di.nextS0, true);\n p[2] = pAxis.c2p(di.nextP0, true);\n\n return isHorizontal ? [s, p] : [p, s];\n}\n\n\n/***/ }),\n\n/***/ \"36fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar boxLayoutAttrs = __webpack_require__(\"60dc\");\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\n\nmodule.exports = {\n violinmode: extendFlat({}, boxLayoutAttrs.boxmode, {\n \n }),\n violingap: extendFlat({}, boxLayoutAttrs.boxgap, {\n \n }),\n violingroupgap: extendFlat({}, boxLayoutAttrs.boxgroupgap, {\n \n })\n};\n\n\n/***/ }),\n\n/***/ \"371e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Loggers = __webpack_require__(\"ae13\");\nvar noop = __webpack_require__(\"b778\");\nvar pushUnique = __webpack_require__(\"5a1b\");\nvar isPlainObject = __webpack_require__(\"1385\");\nvar addStyleRule = __webpack_require__(\"1b88\").addStyleRule;\nvar ExtendModule = __webpack_require__(\"9092\");\n\nvar basePlotAttributes = __webpack_require__(\"a876\");\nvar baseLayoutAttributes = __webpack_require__(\"a685\");\n\nvar extendFlat = ExtendModule.extendFlat;\nvar extendDeepAll = ExtendModule.extendDeepAll;\n\nexports.modules = {};\nexports.allCategories = {};\nexports.allTypes = [];\nexports.subplotsRegistry = {};\nexports.transformsRegistry = {};\nexports.componentsRegistry = {};\nexports.layoutArrayContainers = [];\nexports.layoutArrayRegexes = [];\nexports.traceLayoutAttributes = {};\nexports.localeRegistry = {};\nexports.apiMethodRegistry = {};\nexports.collectableSubplotTypes = null;\n\n/**\n * Top-level register routine, exported as Plotly.register\n *\n * @param {object array or array of objects} _modules :\n * module object or list of module object to register.\n *\n * A valid `moduleType: 'trace'` module has fields:\n * - name {string} : the trace type\n * - categories {array} : categories associated with this trace type,\n * tested with Register.traceIs()\n * - meta {object} : meta info (mostly for plot-schema)\n *\n * A valid `moduleType: 'locale'` module has fields:\n * - name {string} : the locale name. Should be a 2-digit language string ('en', 'de')\n * optionally with a country/region code ('en-GB', 'de-CH'). If a country\n * code is used but the base language locale has not yet been supplied,\n * we will use this locale for the base as well.\n * - dictionary {object} : the dictionary mapping input strings to localized strings\n * generally the keys should be the literal input strings, but\n * if default translations are provided you can use any string as a key.\n * - format {object} : a `d3.locale` format specifier for this locale\n * any omitted keys we'll fall back on en-US.\n *\n * A valid `moduleType: 'transform'` module has fields:\n * - name {string} : transform name\n * - transform {function} : default-level transform function\n * - calcTransform {function} : calc-level transform function\n * - attributes {object} : transform attributes declarations\n * - supplyDefaults {function} : attributes default-supply function\n *\n * A valid `moduleType: 'component'` module has fields:\n * - name {string} : the component name, used it with Register.getComponentMethod()\n * to employ component method.\n *\n * A valid `moduleType: 'apiMethod'` module has fields:\n * - name {string} : the api method name.\n * - fn {function} : the api method called with Register.call();\n *\n */\nexports.register = function register(_modules) {\n exports.collectableSubplotTypes = null;\n\n if(!_modules) {\n throw new Error('No argument passed to Plotly.register.');\n } else if(_modules && !Array.isArray(_modules)) {\n _modules = [_modules];\n }\n\n for(var i = 0; i < _modules.length; i++) {\n var newModule = _modules[i];\n\n if(!newModule) {\n throw new Error('Invalid module was attempted to be registered!');\n }\n\n switch(newModule.moduleType) {\n case 'trace':\n registerTraceModule(newModule);\n break;\n case 'transform':\n registerTransformModule(newModule);\n break;\n case 'component':\n registerComponentModule(newModule);\n break;\n case 'locale':\n registerLocale(newModule);\n break;\n case 'apiMethod':\n var name = newModule.name;\n exports.apiMethodRegistry[name] = newModule.fn;\n break;\n default:\n throw new Error('Invalid module was attempted to be registered!');\n }\n }\n};\n\n/**\n * Get registered module using trace object or trace type\n *\n * @param {object||string} trace\n * trace object with prop 'type' or trace type as a string\n * @return {object}\n * module object corresponding to trace type\n */\nexports.getModule = function(trace) {\n var _module = exports.modules[getTraceType(trace)];\n if(!_module) return false;\n return _module._module;\n};\n\n/**\n * Determine if this trace type is in a given category\n *\n * @param {object||string} traceType\n * a trace (object) or trace type (string)\n * @param {string} category\n * category in question\n * @return {boolean}\n */\nexports.traceIs = function(traceType, category) {\n traceType = getTraceType(traceType);\n\n // old plot.ly workspace hack, nothing to see here\n if(traceType === 'various') return false;\n\n var _module = exports.modules[traceType];\n\n if(!_module) {\n if(traceType && traceType !== 'area') {\n Loggers.log('Unrecognized trace type ' + traceType + '.');\n }\n\n _module = exports.modules[basePlotAttributes.type.dflt];\n }\n\n return !!_module.categories[category];\n};\n\n/**\n * Determine if this trace has a transform of the given type and return\n * array of matching indices.\n *\n * @param {object} data\n * a trace object (member of data or fullData)\n * @param {string} type\n * type of trace to test\n * @return {array}\n * array of matching indices. If none found, returns []\n */\nexports.getTransformIndices = function(data, type) {\n var indices = [];\n var transforms = data.transforms || [];\n for(var i = 0; i < transforms.length; i++) {\n if(transforms[i].type === type) {\n indices.push(i);\n }\n }\n return indices;\n};\n\n/**\n * Determine if this trace has a transform of the given type\n *\n * @param {object} data\n * a trace object (member of data or fullData)\n * @param {string} type\n * type of trace to test\n * @return {boolean}\n */\nexports.hasTransform = function(data, type) {\n var transforms = data.transforms || [];\n for(var i = 0; i < transforms.length; i++) {\n if(transforms[i].type === type) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * Retrieve component module method. Falls back on noop if either the\n * module or the method is missing, so the result can always be safely called\n *\n * @param {string} name\n * name of component (as declared in component module)\n * @param {string} method\n * name of component module method\n * @return {function}\n */\nexports.getComponentMethod = function(name, method) {\n var _module = exports.componentsRegistry[name];\n\n if(!_module) return noop;\n return _module[method] || noop;\n};\n\n/**\n * Call registered api method.\n *\n * @param {string} name : api method name\n * @param {...array} args : arguments passed to api method\n * @return {any} : returns api method output\n */\nexports.call = function() {\n var name = arguments[0];\n var args = [].slice.call(arguments, 1);\n return exports.apiMethodRegistry[name].apply(null, args);\n};\n\nfunction registerTraceModule(_module) {\n var thisType = _module.name;\n var categoriesIn = _module.categories;\n var meta = _module.meta;\n\n if(exports.modules[thisType]) {\n Loggers.log('Type ' + thisType + ' already registered');\n return;\n }\n\n if(!exports.subplotsRegistry[_module.basePlotModule.name]) {\n registerSubplot(_module.basePlotModule);\n }\n\n var categoryObj = {};\n for(var i = 0; i < categoriesIn.length; i++) {\n categoryObj[categoriesIn[i]] = true;\n exports.allCategories[categoriesIn[i]] = true;\n }\n\n exports.modules[thisType] = {\n _module: _module,\n categories: categoryObj\n };\n\n if(meta && Object.keys(meta).length) {\n exports.modules[thisType].meta = meta;\n }\n\n exports.allTypes.push(thisType);\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToTrace(componentName, thisType);\n }\n\n /*\n * Collect all trace layout attributes in one place for easier lookup later\n * but don't merge them into the base schema as it would confuse the docs\n * (at least after https://github.com/plotly/documentation/issues/202 gets done!)\n */\n if(_module.layoutAttributes) {\n extendFlat(exports.traceLayoutAttributes, _module.layoutAttributes);\n }\n\n var basePlotModule = _module.basePlotModule;\n var bpmName = basePlotModule.name;\n\n // add mapbox-gl CSS here to avoid console warning on instantiation\n if(bpmName === 'mapbox') {\n var styleRules = basePlotModule.constants.styleRules;\n for(var k in styleRules) {\n addStyleRule('.js-plotly-plot .plotly .mapboxgl-' + k, styleRules[k]);\n }\n }\n\n // if `plotly-geo-assets.js` is not included,\n // add `PlotlyGeoAssets` global to stash references to all fetched\n // topojson / geojson data\n if((bpmName === 'geo' || bpmName === 'mapbox') &&\n (typeof window !== undefined && window.PlotlyGeoAssets === undefined)\n ) {\n window.PlotlyGeoAssets = {topojson: {}};\n }\n}\n\nfunction registerSubplot(_module) {\n var plotType = _module.name;\n\n if(exports.subplotsRegistry[plotType]) {\n Loggers.log('Plot type ' + plotType + ' already registered.');\n return;\n }\n\n // relayout array handling will look for component module methods with this\n // name and won't find them because this is a subplot module... but that\n // should be fine, it will just fall back on redrawing the plot.\n findArrayRegexps(_module);\n\n // not sure what's best for the 'cartesian' type at this point\n exports.subplotsRegistry[plotType] = _module;\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToSubplot(componentName, _module.name);\n }\n}\n\nfunction registerComponentModule(_module) {\n if(typeof _module.name !== 'string') {\n throw new Error('Component module *name* must be a string.');\n }\n\n var name = _module.name;\n exports.componentsRegistry[name] = _module;\n\n if(_module.layoutAttributes) {\n if(_module.layoutAttributes._isLinkedToArray) {\n pushUnique(exports.layoutArrayContainers, name);\n }\n findArrayRegexps(_module);\n }\n\n for(var traceType in exports.modules) {\n mergeComponentAttrsToTrace(name, traceType);\n }\n\n for(var subplotName in exports.subplotsRegistry) {\n mergeComponentAttrsToSubplot(name, subplotName);\n }\n\n for(var transformType in exports.transformsRegistry) {\n mergeComponentAttrsToTransform(name, transformType);\n }\n\n if(_module.schema && _module.schema.layout) {\n extendDeepAll(baseLayoutAttributes, _module.schema.layout);\n }\n}\n\nfunction registerTransformModule(_module) {\n if(typeof _module.name !== 'string') {\n throw new Error('Transform module *name* must be a string.');\n }\n\n var prefix = 'Transform module ' + _module.name;\n var hasTransform = typeof _module.transform === 'function';\n var hasCalcTransform = typeof _module.calcTransform === 'function';\n\n if(!hasTransform && !hasCalcTransform) {\n throw new Error(prefix + ' is missing a *transform* or *calcTransform* method.');\n }\n if(hasTransform && hasCalcTransform) {\n Loggers.log([\n prefix + ' has both a *transform* and *calcTransform* methods.',\n 'Please note that all *transform* methods are executed',\n 'before all *calcTransform* methods.'\n ].join(' '));\n }\n if(!isPlainObject(_module.attributes)) {\n Loggers.log(prefix + ' registered without an *attributes* object.');\n }\n if(typeof _module.supplyDefaults !== 'function') {\n Loggers.log(prefix + ' registered without a *supplyDefaults* method.');\n }\n\n exports.transformsRegistry[_module.name] = _module;\n\n for(var componentName in exports.componentsRegistry) {\n mergeComponentAttrsToTransform(componentName, _module.name);\n }\n}\n\nfunction registerLocale(_module) {\n var locale = _module.name;\n var baseLocale = locale.split('-')[0];\n\n var newDict = _module.dictionary;\n var newFormat = _module.format;\n var hasDict = newDict && Object.keys(newDict).length;\n var hasFormat = newFormat && Object.keys(newFormat).length;\n\n var locales = exports.localeRegistry;\n\n var localeObj = locales[locale];\n if(!localeObj) locales[locale] = localeObj = {};\n\n // Should we use this dict for the base locale?\n // In case we're overwriting a previous dict for this locale, check\n // whether the base matches the full locale dict now. If we're not\n // overwriting, locales[locale] is undefined so this just checks if\n // baseLocale already had a dict or not.\n // Same logic for dateFormats\n if(baseLocale !== locale) {\n var baseLocaleObj = locales[baseLocale];\n if(!baseLocaleObj) locales[baseLocale] = baseLocaleObj = {};\n\n if(hasDict && baseLocaleObj.dictionary === localeObj.dictionary) {\n baseLocaleObj.dictionary = newDict;\n }\n if(hasFormat && baseLocaleObj.format === localeObj.format) {\n baseLocaleObj.format = newFormat;\n }\n }\n\n if(hasDict) localeObj.dictionary = newDict;\n if(hasFormat) localeObj.format = newFormat;\n}\n\nfunction findArrayRegexps(_module) {\n if(_module.layoutAttributes) {\n var arrayAttrRegexps = _module.layoutAttributes._arrayAttrRegexps;\n if(arrayAttrRegexps) {\n for(var i = 0; i < arrayAttrRegexps.length; i++) {\n pushUnique(exports.layoutArrayRegexes, arrayAttrRegexps[i]);\n }\n }\n }\n}\n\nfunction mergeComponentAttrsToTrace(componentName, traceType) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.traces) return;\n\n var traceAttrs = componentSchema.traces[traceType];\n if(traceAttrs) {\n extendDeepAll(exports.modules[traceType]._module.attributes, traceAttrs);\n }\n}\n\nfunction mergeComponentAttrsToTransform(componentName, transformType) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.transforms) return;\n\n var transformAttrs = componentSchema.transforms[transformType];\n if(transformAttrs) {\n extendDeepAll(exports.transformsRegistry[transformType].attributes, transformAttrs);\n }\n}\n\nfunction mergeComponentAttrsToSubplot(componentName, subplotName) {\n var componentSchema = exports.componentsRegistry[componentName].schema;\n if(!componentSchema || !componentSchema.subplots) return;\n\n var subplotModule = exports.subplotsRegistry[subplotName];\n var subplotAttrs = subplotModule.layoutAttributes;\n var subplotAttr = subplotModule.attr === 'subplot' ? subplotModule.name : subplotModule.attr;\n if(Array.isArray(subplotAttr)) subplotAttr = subplotAttr[0];\n\n var componentLayoutAttrs = componentSchema.subplots[subplotAttr];\n if(subplotAttrs && componentLayoutAttrs) {\n extendDeepAll(subplotAttrs, componentLayoutAttrs);\n }\n}\n\nfunction getTraceType(traceType) {\n if(typeof traceType === 'object') traceType = traceType.type;\n return traceType;\n}\n\n\n/***/ }),\n\n/***/ \"372f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"1735\");\n\n\n/***/ }),\n\n/***/ \"375c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nmodule.exports = typeof navigator !== 'undefined' &&\n\t(/MSIE/.test(navigator.userAgent) || /Trident\\//.test(navigator.appVersion));\n\n\n/***/ }),\n\n/***/ \"37bf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isArray1D = __webpack_require__(\"fc26\").isArray1D;\n\nmodule.exports = function handleXYDefaults(traceIn, traceOut, coerce) {\n var x = coerce('x');\n var hasX = x && x.length;\n var y = coerce('y');\n var hasY = y && y.length;\n if(!hasX && !hasY) return false;\n\n traceOut._cheater = !x;\n\n if((!hasX || isArray1D(x)) && (!hasY || isArray1D(y))) {\n var len = hasX ? x.length : Infinity;\n if(hasY) len = Math.min(len, y.length);\n if(traceOut.a && traceOut.a.length) len = Math.min(len, traceOut.a.length);\n if(traceOut.b && traceOut.b.length) len = Math.min(len, traceOut.b.length);\n traceOut._length = len;\n } else traceOut._length = null;\n\n return true;\n};\n\n\n/***/ }),\n\n/***/ \"37cd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*eslint new-cap:0*/\nvar dtype = __webpack_require__(\"7831\")\n\nmodule.exports = flattenVertexData\n\nfunction flattenVertexData (data, output, offset) {\n if (!data) throw new TypeError('must specify data as first parameter')\n offset = +(offset || 0) | 0\n\n if (Array.isArray(data) && (data[0] && typeof data[0][0] === 'number')) {\n var dim = data[0].length\n var length = data.length * dim\n var i, j, k, l\n\n // no output specified, create a new typed array\n if (!output || typeof output === 'string') {\n output = new (dtype(output || 'float32'))(length + offset)\n }\n\n var dstLength = output.length - offset\n if (length !== dstLength) {\n throw new Error('source length ' + length + ' (' + dim + 'x' + data.length + ')' +\n ' does not match destination length ' + dstLength)\n }\n\n for (i = 0, k = offset; i < data.length; i++) {\n for (j = 0; j < dim; j++) {\n output[k++] = data[i][j] === null ? NaN : data[i][j]\n }\n }\n } else {\n if (!output || typeof output === 'string') {\n // no output, create a new one\n var Ctor = dtype(output || 'float32')\n\n // handle arrays separately due to possible nulls\n if (Array.isArray(data) || output === 'array') {\n output = new Ctor(data.length + offset)\n for (i = 0, k = offset, l = output.length; k < l; k++, i++) {\n output[k] = data[i] === null ? NaN : data[i]\n }\n } else {\n if (offset === 0) {\n output = new Ctor(data)\n } else {\n output = new Ctor(data.length + offset)\n\n output.set(data, offset)\n }\n }\n } else {\n // store output in existing array\n output.set(data, offset)\n }\n }\n\n return output\n}\n\n\n/***/ }),\n\n/***/ \"37d1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * Factory function for checking component arrays for subplot references.\n *\n * @param {string} containerArrayName: the top-level array in gd.layout to check\n * If an item in this container is found that references a cartesian x and/or y axis,\n * ensure cartesian is marked as a base plot module and record the axes (and subplot\n * if both refs are axes) in gd._fullLayout\n *\n * @return {function}: with args layoutIn (gd.layout) and layoutOut (gd._fullLayout)\n * as expected of a component includeBasePlot method\n */\nmodule.exports = function makeIncludeComponents(containerArrayName) {\n return function includeComponents(layoutIn, layoutOut) {\n var array = layoutIn[containerArrayName];\n if(!Array.isArray(array)) return;\n\n var Cartesian = Registry.subplotsRegistry.cartesian;\n var idRegex = Cartesian.idRegex;\n var subplots = layoutOut._subplots;\n var xaList = subplots.xaxis;\n var yaList = subplots.yaxis;\n var cartesianList = subplots.cartesian;\n var hasCartesianOrGL2D = layoutOut._has('cartesian') || layoutOut._has('gl2d');\n\n for(var i = 0; i < array.length; i++) {\n var itemi = array[i];\n if(!Lib.isPlainObject(itemi)) continue;\n\n var xref = itemi.xref;\n var yref = itemi.yref;\n\n var hasXref = idRegex.x.test(xref);\n var hasYref = idRegex.y.test(yref);\n if(hasXref || hasYref) {\n if(!hasCartesianOrGL2D) Lib.pushUnique(layoutOut._basePlotModules, Cartesian);\n\n var newAxis = false;\n if(hasXref && xaList.indexOf(xref) === -1) {\n xaList.push(xref);\n newAxis = true;\n }\n if(hasYref && yaList.indexOf(yref) === -1) {\n yaList.push(yref);\n newAxis = true;\n }\n\n /*\n * Notice the logic here: only add a subplot for a component if\n * it's referencing both x and y axes AND it's creating a new axis\n * so for example if your plot already has xy and x2y2, an annotation\n * on x2y or xy2 will not create a new subplot.\n */\n if(newAxis && hasXref && hasYref) {\n cartesianList.push(xref + yref);\n }\n }\n }\n };\n};\n\n\n/***/ }),\n\n/***/ \"37e3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n barmode: {\n valType: 'enumerated',\n values: ['stack', 'group', 'overlay', 'relative'],\n dflt: 'group',\n \n editType: 'calc',\n \n },\n barnorm: {\n valType: 'enumerated',\n values: ['', 'fraction', 'percent'],\n dflt: '',\n \n editType: 'calc',\n \n },\n bargap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n bargroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"37e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(\"83ab\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar anObject = __webpack_require__(\"825a\");\nvar objectKeys = __webpack_require__(\"df75\");\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"3802\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nmodule.exports = function fillColorDefaults(traceIn, traceOut, defaultColor, coerce) {\n var inheritColorFromMarker = false;\n\n if(traceOut.marker) {\n // don't try to inherit a color array\n var markerColor = traceOut.marker.color;\n var markerLineColor = (traceOut.marker.line || {}).color;\n\n if(markerColor && !isArrayOrTypedArray(markerColor)) {\n inheritColorFromMarker = markerColor;\n } else if(markerLineColor && !isArrayOrTypedArray(markerLineColor)) {\n inheritColorFromMarker = markerLineColor;\n }\n }\n\n coerce('fillcolor', Color.addOpacity(\n (traceOut.line || {}).color ||\n inheritColorFromMarker ||\n defaultColor, 0.5\n ));\n};\n\n\n/***/ }),\n\n/***/ \"388d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"feb0\");\n\n\n/***/ }),\n\n/***/ \"38eb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar glslify = __webpack_require__(\"e98f\")\n\nvar triVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n , view\\n , projection\\n , inverseModel;\\nuniform vec3 eyePosition\\n , lightPosition;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n gl_Position = project(position);\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * vec4(position , 1.0);\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\\n\"])\nvar triFragSrc = glslify([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness,\\n float fresnel) {\\n\\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n //Half angle vector\\n vec3 H = normalize(lightDirection + viewDirection);\\n\\n //Geometric term\\n float NdotH = max(dot(surfaceNormal, H), 0.0);\\n float VdotH = max(dot(viewDirection, H), 0.000001);\\n float LdotH = max(dot(lightDirection, H), 0.000001);\\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n float G = min(1.0, min(G1, G2));\\n \\n //Distribution term\\n float D = beckmannDistribution(NdotH, roughness);\\n\\n //Fresnel term\\n float F = pow(1.0 - VdotN, fresnel);\\n\\n //Multiply terms and done\\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n , fresnel\\n , kambient\\n , kdiffuse\\n , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n , f_lightDirection\\n , f_eyeDirection\\n , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (f_color.a == 0.0 ||\\n outOfRange(clipBounds[0], clipBounds[1], f_data)\\n ) discard;\\n\\n vec3 N = normalize(f_normal);\\n vec3 L = normalize(f_lightDirection);\\n vec3 V = normalize(f_eyeDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = litColor * f_color.a;\\n}\\n\"])\nvar edgeVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_color = color;\\n f_data = position;\\n f_uv = uv;\\n}\"])\nvar edgeFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"])\nvar pointVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n }\\n gl_PointSize = pointSize;\\n f_color = color;\\n f_uv = uv;\\n}\"])\nvar pointFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n if(dot(pointR, pointR) > 0.25) {\\n discard;\\n }\\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"])\nvar pickVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n f_id = id;\\n f_position = position;\\n}\"])\nvar pickFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"])\nvar pickPointVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute float pointSize;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n } else {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n gl_PointSize = pointSize;\\n }\\n f_id = id;\\n f_position = position;\\n}\"])\nvar contourVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"])\nvar contourFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"])\n\nexports.meshShader = {\n vertex: triVertSrc,\n fragment: triFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'normal', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'}\n ]\n}\nexports.wireShader = {\n vertex: edgeVertSrc,\n fragment: edgeFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'}\n ]\n}\nexports.pointShader = {\n vertex: pointVertSrc,\n fragment: pointFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'uv', type: 'vec2'},\n {name: 'pointSize', type: 'float'}\n ]\n}\nexports.pickShader = {\n vertex: pickVertSrc,\n fragment: pickFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'id', type: 'vec4'}\n ]\n}\nexports.pointPickShader = {\n vertex: pickPointVertSrc,\n fragment: pickFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'},\n {name: 'pointSize', type: 'float'},\n {name: 'id', type: 'vec4'}\n ]\n}\nexports.contourShader = {\n vertex: contourVertSrc,\n fragment: contourFragSrc,\n attributes: [\n {name: 'position', type: 'vec3'}\n ]\n}\n\n\n/***/ }),\n\n/***/ \"391b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Registry = __webpack_require__(\"371e\");\nvar getTraceColor = __webpack_require__(\"feed\");\nvar Color = __webpack_require__(\"d115\");\nvar fillText = Lib.fillText;\n\nmodule.exports = function hoverPoints(pointData, xval, yval, hovermode) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var xpx = xa.c2p(xval);\n var ypx = ya.c2p(yval);\n var pt = [xpx, ypx];\n var hoveron = trace.hoveron || '';\n var minRad = (trace.mode.indexOf('markers') !== -1) ? 3 : 0.5;\n\n // look for points to hover on first, then take fills only if we\n // didn't find a point\n if(hoveron.indexOf('points') !== -1) {\n var dx = function(di) {\n // dx and dy are used in compare modes - here we want to always\n // prioritize the closest data point, at least as long as markers are\n // the same size or nonexistent, but still try to prioritize small markers too.\n var rad = Math.max(3, di.mrc || 0);\n var kink = 1 - 1 / rad;\n var dxRaw = Math.abs(xa.c2p(di.x) - xpx);\n var d = (dxRaw < rad) ? (kink * dxRaw / rad) : (dxRaw - rad + kink);\n return d;\n };\n var dy = function(di) {\n var rad = Math.max(3, di.mrc || 0);\n var kink = 1 - 1 / rad;\n var dyRaw = Math.abs(ya.c2p(di.y) - ypx);\n return (dyRaw < rad) ? (kink * dyRaw / rad) : (dyRaw - rad + kink);\n };\n var dxy = function(di) {\n // scatter points: d.mrc is the calculated marker radius\n // adjust the distance so if you're inside the marker it\n // always will show up regardless of point size, but\n // prioritize smaller points\n var rad = Math.max(minRad, di.mrc || 0);\n var dx = xa.c2p(di.x) - xpx;\n var dy = ya.c2p(di.y) - ypx;\n return Math.max(Math.sqrt(dx * dx + dy * dy) - rad, 1 - minRad / rad);\n };\n var distfn = Fx.getDistanceFunction(hovermode, dx, dy, dxy);\n\n Fx.getClosest(cd, distfn, pointData);\n\n // skip the rest (for this trace) if we didn't find a close point\n if(pointData.index !== false) {\n // the closest data point\n var di = cd[pointData.index];\n var xc = xa.c2p(di.x, true);\n var yc = ya.c2p(di.y, true);\n var rad = di.mrc || 1;\n\n // now we're done using the whole `calcdata` array, replace the\n // index with the original index (in case of inserted point from\n // stacked area)\n pointData.index = di.i;\n\n var orientation = cd[0].t.orientation;\n // TODO: for scatter and bar, option to show (sub)totals and\n // raw data? Currently stacked and/or normalized bars just show\n // the normalized individual sizes, so that's what I'm doing here\n // for now.\n var sizeVal = orientation && (di.sNorm || di.s);\n var xLabelVal = (orientation === 'h') ? sizeVal : di.x;\n var yLabelVal = (orientation === 'v') ? sizeVal : di.y;\n\n Lib.extendFlat(pointData, {\n color: getTraceColor(trace, di),\n\n x0: xc - rad,\n x1: xc + rad,\n xLabelVal: xLabelVal,\n\n y0: yc - rad,\n y1: yc + rad,\n yLabelVal: yLabelVal,\n\n spikeDistance: dxy(di),\n hovertemplate: trace.hovertemplate\n });\n\n fillText(di, trace, pointData);\n Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData);\n\n return [pointData];\n }\n }\n\n // even if hoveron is 'fills', only use it if we have polygons too\n if(hoveron.indexOf('fills') !== -1 && trace._polygons) {\n var polygons = trace._polygons;\n var polygonsIn = [];\n var inside = false;\n var xmin = Infinity;\n var xmax = -Infinity;\n var ymin = Infinity;\n var ymax = -Infinity;\n\n var i, j, polygon, pts, xCross, x0, x1, y0, y1;\n\n for(i = 0; i < polygons.length; i++) {\n polygon = polygons[i];\n // TODO: this is not going to work right for curved edges, it will\n // act as though they're straight. That's probably going to need\n // the elements themselves to capture the events. Worth it?\n if(polygon.contains(pt)) {\n inside = !inside;\n // TODO: need better than just the overall bounding box\n polygonsIn.push(polygon);\n ymin = Math.min(ymin, polygon.ymin);\n ymax = Math.max(ymax, polygon.ymax);\n }\n }\n\n if(inside) {\n // constrain ymin/max to the visible plot, so the label goes\n // at the middle of the piece you can see\n ymin = Math.max(ymin, 0);\n ymax = Math.min(ymax, ya._length);\n\n // find the overall left-most and right-most points of the\n // polygon(s) we're inside at their combined vertical midpoint.\n // This is where we will draw the hover label.\n // Note that this might not be the vertical midpoint of the\n // whole trace, if it's disjoint.\n var yAvg = (ymin + ymax) / 2;\n for(i = 0; i < polygonsIn.length; i++) {\n pts = polygonsIn[i].pts;\n for(j = 1; j < pts.length; j++) {\n y0 = pts[j - 1][1];\n y1 = pts[j][1];\n if((y0 > yAvg) !== (y1 >= yAvg)) {\n x0 = pts[j - 1][0];\n x1 = pts[j][0];\n if(y1 - y0) {\n xCross = x0 + (x1 - x0) * (yAvg - y0) / (y1 - y0);\n xmin = Math.min(xmin, xCross);\n xmax = Math.max(xmax, xCross);\n }\n }\n }\n }\n\n // constrain xmin/max to the visible plot now too\n xmin = Math.max(xmin, 0);\n xmax = Math.min(xmax, xa._length);\n\n // get only fill or line color for the hover color\n var color = Color.defaultLine;\n if(Color.opacity(trace.fillcolor)) color = trace.fillcolor;\n else if(Color.opacity((trace.line || {}).color)) {\n color = trace.line.color;\n }\n\n Lib.extendFlat(pointData, {\n // never let a 2D override 1D type as closest point\n // also: no spikeDistance, it's not allowed for fills\n distance: pointData.maxHoverDistance,\n x0: xmin,\n x1: xmax,\n y0: yAvg,\n y1: yAvg,\n color: color,\n hovertemplate: false\n });\n\n delete pointData.index;\n\n if(trace.text && !Array.isArray(trace.text)) {\n pointData.text = String(trace.text);\n } else pointData.text = trace.name;\n\n return [pointData];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"3936\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar pieCalc = __webpack_require__(\"86b8\");\n\nfunction calc(gd, trace) {\n return pieCalc.calc(gd, trace);\n}\n\nfunction crossTraceCalc(gd) {\n pieCalc.crossTraceCalc(gd, { type: 'funnelarea' });\n}\n\nmodule.exports = {\n calc: calc,\n crossTraceCalc: crossTraceCalc\n};\n\n\n/***/ }),\n\n/***/ \"399f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = __webpack_require__(1).Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})( false || module, this);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"62e4\")(module)))\n\n/***/ }),\n\n/***/ \"3a04\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// make sure scene exists on subplot, return it\nmodule.exports = function sceneUpdate(gd, subplot) {\n var scene = subplot._scene;\n\n var resetOpts = {\n // number of traces in subplot, since scene:subplot -> 1:1\n count: 0,\n // whether scene requires init hook in plot call (dirty plot call)\n dirty: true,\n // last used options\n lineOptions: [],\n fillOptions: [],\n markerOptions: [],\n markerSelectedOptions: [],\n markerUnselectedOptions: [],\n errorXOptions: [],\n errorYOptions: [],\n textOptions: [],\n textSelectedOptions: [],\n textUnselectedOptions: [],\n // selection batches\n selectBatch: [],\n unselectBatch: []\n };\n\n // regl- component stubs, initialized in dirty plot call\n var initOpts = {\n fill2d: false,\n scatter2d: false,\n error2d: false,\n line2d: false,\n glText: false,\n select2d: false\n };\n\n if(!subplot._scene) {\n scene = subplot._scene = {};\n\n scene.init = function init() {\n Lib.extendFlat(scene, initOpts, resetOpts);\n };\n\n scene.init();\n\n // apply new option to all regl components (used on drag)\n scene.update = function update(opt) {\n var opts = Lib.repeat(opt, scene.count);\n\n if(scene.fill2d) scene.fill2d.update(opts);\n if(scene.scatter2d) scene.scatter2d.update(opts);\n if(scene.line2d) scene.line2d.update(opts);\n if(scene.error2d) scene.error2d.update(opts.concat(opts));\n if(scene.select2d) scene.select2d.update(opts);\n if(scene.glText) {\n for(var i = 0; i < scene.count; i++) {\n scene.glText[i].update(opt);\n }\n }\n };\n\n // draw traces in proper order\n scene.draw = function draw() {\n var count = scene.count;\n var fill2d = scene.fill2d;\n var error2d = scene.error2d;\n var line2d = scene.line2d;\n var scatter2d = scene.scatter2d;\n var glText = scene.glText;\n var select2d = scene.select2d;\n var selectBatch = scene.selectBatch;\n var unselectBatch = scene.unselectBatch;\n\n for(var i = 0; i < count; i++) {\n if(fill2d && scene.fillOrder[i]) {\n fill2d.draw(scene.fillOrder[i]);\n }\n if(line2d && scene.lineOptions[i]) {\n line2d.draw(i);\n }\n if(error2d) {\n if(scene.errorXOptions[i]) error2d.draw(i);\n if(scene.errorYOptions[i]) error2d.draw(i + count);\n }\n if(scatter2d && scene.markerOptions[i]) {\n if(unselectBatch[i].length) {\n var arg = Lib.repeat([], scene.count);\n arg[i] = unselectBatch[i];\n scatter2d.draw(arg);\n } else if(!selectBatch[i].length) {\n scatter2d.draw(i);\n }\n }\n if(glText[i] && scene.textOptions[i]) {\n glText[i].render();\n }\n }\n\n if(select2d) {\n select2d.draw(selectBatch);\n }\n\n scene.dirty = false;\n };\n\n // remove scene resources\n scene.destroy = function destroy() {\n if(scene.fill2d && scene.fill2d.destroy) scene.fill2d.destroy();\n if(scene.scatter2d && scene.scatter2d.destroy) scene.scatter2d.destroy();\n if(scene.error2d && scene.error2d.destroy) scene.error2d.destroy();\n if(scene.line2d && scene.line2d.destroy) scene.line2d.destroy();\n if(scene.select2d && scene.select2d.destroy) scene.select2d.destroy();\n if(scene.glText) {\n scene.glText.forEach(function(text) {\n if(text.destroy) text.destroy();\n });\n }\n\n scene.lineOptions = null;\n scene.fillOptions = null;\n scene.markerOptions = null;\n scene.markerSelectedOptions = null;\n scene.markerUnselectedOptions = null;\n scene.errorXOptions = null;\n scene.errorYOptions = null;\n scene.textOptions = null;\n scene.textSelectedOptions = null;\n scene.textUnselectedOptions = null;\n\n scene.selectBatch = null;\n scene.unselectBatch = null;\n\n // we can't just delete _scene, because `destroy` is called in the\n // middle of supplyDefaults, before relinkPrivateKeys which will put it back.\n subplot._scene = null;\n };\n }\n\n // in case if we have scene from the last calc - reset data\n if(!scene.dirty) {\n Lib.extendFlat(scene, resetOpts);\n }\n\n return scene;\n};\n\n\n/***/ }),\n\n/***/ \"3a19\":\n/***/ (function(module, exports) {\n\nmodule.exports = round\n\n/**\n * Math.round the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to round\n * @returns {vec3} out\n */\nfunction round(out, a) {\n out[0] = Math.round(a[0])\n out[1] = Math.round(a[1])\n out[2] = Math.round(a[2])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"3a55\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = findZeroCrossings\n\nvar core = __webpack_require__(\"b530\")\n\nfunction findZeroCrossings(array, level) {\n var cross = []\n level = +level || 0.0\n core(array.hi(array.shape[0]-1), cross, level)\n return cross\n}\n\n/***/ }),\n\n/***/ \"3a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar extendDeepAll = Lib.extendDeepAll;\nvar MID_SHIFT = __webpack_require__(\"63dc\").MID_SHIFT;\n\nvar µ = module.exports = { version: '0.2.2' };\n\nµ.Axis = function module() {\n var config = {\n data: [],\n layout: {}\n }, inputConfig = {}, liveConfig = {};\n var svg, container, dispatch = d3.dispatch('hover'), radialScale, angularScale;\n var exports = {};\n function render(_container) {\n container = _container || container;\n var data = config.data;\n var axisConfig = config.layout;\n if (typeof container == 'string' || container.nodeName) container = d3.select(container);\n container.datum(data).each(function(_data, _index) {\n var dataOriginal = _data.slice();\n liveConfig = {\n data: µ.util.cloneJson(dataOriginal),\n layout: µ.util.cloneJson(axisConfig)\n };\n var colorIndex = 0;\n dataOriginal.forEach(function(d, i) {\n if (!d.color) {\n d.color = axisConfig.defaultColorRange[colorIndex];\n colorIndex = (colorIndex + 1) % axisConfig.defaultColorRange.length;\n }\n if (!d.strokeColor) {\n d.strokeColor = d.geometry === 'LinePlot' ? d.color : d3.rgb(d.color).darker().toString();\n }\n liveConfig.data[i].color = d.color;\n liveConfig.data[i].strokeColor = d.strokeColor;\n liveConfig.data[i].strokeDash = d.strokeDash;\n liveConfig.data[i].strokeSize = d.strokeSize;\n });\n var data = dataOriginal.filter(function(d, i) {\n var visible = d.visible;\n return typeof visible === 'undefined' || visible === true;\n });\n var isStacked = false;\n var dataWithGroupId = data.map(function(d, i) {\n isStacked = isStacked || typeof d.groupId !== 'undefined';\n return d;\n });\n if (isStacked) {\n var grouped = d3.nest().key(function(d, i) {\n return typeof d.groupId != 'undefined' ? d.groupId : 'unstacked';\n }).entries(dataWithGroupId);\n var dataYStack = [];\n var stacked = grouped.map(function(d, i) {\n if (d.key === 'unstacked') return d.values; else {\n var prevArray = d.values[0].r.map(function(d, i) {\n return 0;\n });\n d.values.forEach(function(d, i, a) {\n d.yStack = [ prevArray ];\n dataYStack.push(prevArray);\n prevArray = µ.util.sumArrays(d.r, prevArray);\n });\n return d.values;\n }\n });\n data = d3.merge(stacked);\n }\n data.forEach(function(d, i) {\n d.t = Array.isArray(d.t[0]) ? d.t : [ d.t ];\n d.r = Array.isArray(d.r[0]) ? d.r : [ d.r ];\n });\n var radius = Math.min(axisConfig.width - axisConfig.margin.left - axisConfig.margin.right, axisConfig.height - axisConfig.margin.top - axisConfig.margin.bottom) / 2;\n radius = Math.max(10, radius);\n var chartCenter = [ axisConfig.margin.left + radius, axisConfig.margin.top + radius ];\n var extent;\n if (isStacked) {\n var highestStackedValue = d3.max(µ.util.sumArrays(µ.util.arrayLast(data).r[0], µ.util.arrayLast(dataYStack)));\n extent = [ 0, highestStackedValue ];\n } else extent = d3.extent(µ.util.flattenArray(data.map(function(d, i) {\n return d.r;\n })));\n if (axisConfig.radialAxis.domain != µ.DATAEXTENT) extent[0] = 0;\n radialScale = d3.scale.linear().domain(axisConfig.radialAxis.domain != µ.DATAEXTENT && axisConfig.radialAxis.domain ? axisConfig.radialAxis.domain : extent).range([ 0, radius ]);\n liveConfig.layout.radialAxis.domain = radialScale.domain();\n var angularDataMerged = µ.util.flattenArray(data.map(function(d, i) {\n return d.t;\n }));\n var isOrdinal = typeof angularDataMerged[0] === 'string';\n var ticks;\n if (isOrdinal) {\n angularDataMerged = µ.util.deduplicate(angularDataMerged);\n ticks = angularDataMerged.slice();\n angularDataMerged = d3.range(angularDataMerged.length);\n data = data.map(function(d, i) {\n var result = d;\n d.t = [ angularDataMerged ];\n if (isStacked) result.yStack = d.yStack;\n return result;\n });\n }\n var hasOnlyLineOrDotPlot = data.filter(function(d, i) {\n return d.geometry === 'LinePlot' || d.geometry === 'DotPlot';\n }).length === data.length;\n var needsEndSpacing = axisConfig.needsEndSpacing === null ? isOrdinal || !hasOnlyLineOrDotPlot : axisConfig.needsEndSpacing;\n var useProvidedDomain = axisConfig.angularAxis.domain && axisConfig.angularAxis.domain != µ.DATAEXTENT && !isOrdinal && axisConfig.angularAxis.domain[0] >= 0;\n var angularDomain = useProvidedDomain ? axisConfig.angularAxis.domain : d3.extent(angularDataMerged);\n var angularDomainStep = Math.abs(angularDataMerged[1] - angularDataMerged[0]);\n if (hasOnlyLineOrDotPlot && !isOrdinal) angularDomainStep = 0;\n var angularDomainWithPadding = angularDomain.slice();\n if (needsEndSpacing && isOrdinal) angularDomainWithPadding[1] += angularDomainStep;\n var tickCount = axisConfig.angularAxis.ticksCount || 4;\n if (tickCount > 8) tickCount = tickCount / (tickCount / 8) + tickCount % 8;\n if (axisConfig.angularAxis.ticksStep) {\n tickCount = (angularDomainWithPadding[1] - angularDomainWithPadding[0]) / tickCount;\n }\n var angularTicksStep = axisConfig.angularAxis.ticksStep || (angularDomainWithPadding[1] - angularDomainWithPadding[0]) / (tickCount * (axisConfig.minorTicks + 1));\n if (ticks) angularTicksStep = Math.max(Math.round(angularTicksStep), 1);\n if (!angularDomainWithPadding[2]) angularDomainWithPadding[2] = angularTicksStep;\n var angularAxisRange = d3.range.apply(this, angularDomainWithPadding);\n angularAxisRange = angularAxisRange.map(function(d, i) {\n return parseFloat(d.toPrecision(12));\n });\n angularScale = d3.scale.linear().domain(angularDomainWithPadding.slice(0, 2)).range(axisConfig.direction === 'clockwise' ? [ 0, 360 ] : [ 360, 0 ]);\n liveConfig.layout.angularAxis.domain = angularScale.domain();\n liveConfig.layout.angularAxis.endPadding = needsEndSpacing ? angularDomainStep : 0;\n svg = d3.select(this).select('svg.chart-root');\n if (typeof svg === 'undefined' || svg.empty()) {\n var skeleton = \"' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '\";\n var doc = new DOMParser().parseFromString(skeleton, 'application/xml');\n var newSvg = this.appendChild(this.ownerDocument.importNode(doc.documentElement, true));\n svg = d3.select(newSvg);\n }\n svg.select('.guides-group').style({\n 'pointer-events': 'none'\n });\n svg.select('.angular.axis-group').style({\n 'pointer-events': 'none'\n });\n svg.select('.radial.axis-group').style({\n 'pointer-events': 'none'\n });\n var chartGroup = svg.select('.chart-group');\n var lineStyle = {\n fill: 'none',\n stroke: axisConfig.tickColor\n };\n var fontStyle = {\n 'font-size': axisConfig.font.size,\n 'font-family': axisConfig.font.family,\n fill: axisConfig.font.color,\n 'text-shadow': [ '-1px 0px', '1px -1px', '-1px 1px', '1px 1px' ].map(function(d, i) {\n return ' ' + d + ' 0 ' + axisConfig.font.outlineColor;\n }).join(',')\n };\n var legendContainer;\n if (axisConfig.showLegend) {\n legendContainer = svg.select('.legend-group').attr({\n transform: 'translate(' + [ radius, axisConfig.margin.top ] + ')'\n }).style({\n display: 'block'\n });\n var elements = data.map(function(d, i) {\n var datumClone = µ.util.cloneJson(d);\n datumClone.symbol = d.geometry === 'DotPlot' ? d.dotType || 'circle' : d.geometry != 'LinePlot' ? 'square' : 'line';\n datumClone.visibleInLegend = typeof d.visibleInLegend === 'undefined' || d.visibleInLegend;\n datumClone.color = d.geometry === 'LinePlot' ? d.strokeColor : d.color;\n return datumClone;\n });\n\n µ.Legend().config({\n data: data.map(function(d, i) {\n return d.name || 'Element' + i;\n }),\n legendConfig: extendDeepAll({},\n µ.Legend.defaultConfig().legendConfig,\n {\n container: legendContainer,\n elements: elements,\n reverseOrder: axisConfig.legend.reverseOrder\n }\n )\n })();\n\n var legendBBox = legendContainer.node().getBBox();\n radius = Math.min(axisConfig.width - legendBBox.width - axisConfig.margin.left - axisConfig.margin.right, axisConfig.height - axisConfig.margin.top - axisConfig.margin.bottom) / 2;\n radius = Math.max(10, radius);\n chartCenter = [ axisConfig.margin.left + radius, axisConfig.margin.top + radius ];\n radialScale.range([ 0, radius ]);\n liveConfig.layout.radialAxis.domain = radialScale.domain();\n legendContainer.attr('transform', 'translate(' + [ chartCenter[0] + radius, chartCenter[1] - radius ] + ')');\n } else {\n legendContainer = svg.select('.legend-group').style({\n display: 'none'\n });\n }\n svg.attr({\n width: axisConfig.width,\n height: axisConfig.height\n }).style({\n opacity: axisConfig.opacity\n });\n chartGroup.attr('transform', 'translate(' + chartCenter + ')').style({\n cursor: 'crosshair'\n });\n var centeringOffset = [ (axisConfig.width - (axisConfig.margin.left + axisConfig.margin.right + radius * 2 + (legendBBox ? legendBBox.width : 0))) / 2, (axisConfig.height - (axisConfig.margin.top + axisConfig.margin.bottom + radius * 2)) / 2 ];\n centeringOffset[0] = Math.max(0, centeringOffset[0]);\n centeringOffset[1] = Math.max(0, centeringOffset[1]);\n svg.select('.outer-group').attr('transform', 'translate(' + centeringOffset + ')');\n if (axisConfig.title && axisConfig.title.text) {\n var title = svg.select('g.title-group text').style(fontStyle).text(axisConfig.title.text);\n var titleBBox = title.node().getBBox();\n title.attr({\n x: chartCenter[0] - titleBBox.width / 2,\n y: chartCenter[1] - radius - 20\n });\n }\n var radialAxis = svg.select('.radial.axis-group');\n if (axisConfig.radialAxis.gridLinesVisible) {\n var gridCircles = radialAxis.selectAll('circle.grid-circle').data(radialScale.ticks(5));\n gridCircles.enter().append('circle').attr({\n 'class': 'grid-circle'\n }).style(lineStyle);\n gridCircles.attr('r', radialScale);\n gridCircles.exit().remove();\n }\n radialAxis.select('circle.outside-circle').attr({\n r: radius\n }).style(lineStyle);\n var backgroundCircle = svg.select('circle.background-circle').attr({\n r: radius\n }).style({\n fill: axisConfig.backgroundColor,\n stroke: axisConfig.stroke\n });\n function currentAngle(d, i) {\n return angularScale(d) % 360 + axisConfig.orientation;\n }\n if (axisConfig.radialAxis.visible) {\n var axis = d3.svg.axis().scale(radialScale).ticks(5).tickSize(5);\n radialAxis.call(axis).attr({\n transform: 'rotate(' + axisConfig.radialAxis.orientation + ')'\n });\n radialAxis.selectAll('.domain').style(lineStyle);\n radialAxis.selectAll('g>text').text(function(d, i) {\n return this.textContent + axisConfig.radialAxis.ticksSuffix;\n }).style(fontStyle).style({\n 'text-anchor': 'start'\n }).attr({\n x: 0,\n y: 0,\n dx: 0,\n dy: 0,\n transform: function(d, i) {\n if (axisConfig.radialAxis.tickOrientation === 'horizontal') {\n return 'rotate(' + -axisConfig.radialAxis.orientation + ') translate(' + [ 0, fontStyle['font-size'] ] + ')';\n } else return 'translate(' + [ 0, fontStyle['font-size'] ] + ')';\n }\n });\n radialAxis.selectAll('g>line').style({\n stroke: 'black'\n });\n }\n var angularAxis = svg.select('.angular.axis-group').selectAll('g.angular-tick').data(angularAxisRange);\n var angularAxisEnter = angularAxis.enter().append('g').classed('angular-tick', true);\n angularAxis.attr({\n transform: function(d, i) {\n return 'rotate(' + currentAngle(d, i) + ')';\n }\n }).style({\n display: axisConfig.angularAxis.visible ? 'block' : 'none'\n });\n angularAxis.exit().remove();\n angularAxisEnter.append('line').classed('grid-line', true).classed('major', function(d, i) {\n return i % (axisConfig.minorTicks + 1) == 0;\n }).classed('minor', function(d, i) {\n return !(i % (axisConfig.minorTicks + 1) == 0);\n }).style(lineStyle);\n angularAxisEnter.selectAll('.minor').style({\n stroke: axisConfig.minorTickColor\n });\n angularAxis.select('line.grid-line').attr({\n x1: axisConfig.tickLength ? radius - axisConfig.tickLength : 0,\n x2: radius\n }).style({\n display: axisConfig.angularAxis.gridLinesVisible ? 'block' : 'none'\n });\n angularAxisEnter.append('text').classed('axis-text', true).style(fontStyle);\n var ticksText = angularAxis.select('text.axis-text').attr({\n x: radius + axisConfig.labelOffset,\n dy: MID_SHIFT + 'em',\n transform: function(d, i) {\n var angle = currentAngle(d, i);\n var rad = radius + axisConfig.labelOffset;\n var orient = axisConfig.angularAxis.tickOrientation;\n if (orient == 'horizontal') return 'rotate(' + -angle + ' ' + rad + ' 0)'; else if (orient == 'radial') return angle < 270 && angle > 90 ? 'rotate(180 ' + rad + ' 0)' : null; else return 'rotate(' + (angle <= 180 && angle > 0 ? -90 : 90) + ' ' + rad + ' 0)';\n }\n }).style({\n 'text-anchor': 'middle',\n display: axisConfig.angularAxis.labelsVisible ? 'block' : 'none'\n }).text(function(d, i) {\n if (i % (axisConfig.minorTicks + 1) != 0) return '';\n if (ticks) {\n return ticks[d] + axisConfig.angularAxis.ticksSuffix;\n } else return d + axisConfig.angularAxis.ticksSuffix;\n }).style(fontStyle);\n if (axisConfig.angularAxis.rewriteTicks) ticksText.text(function(d, i) {\n if (i % (axisConfig.minorTicks + 1) != 0) return '';\n return axisConfig.angularAxis.rewriteTicks(this.textContent, i);\n });\n var rightmostTickEndX = d3.max(chartGroup.selectAll('.angular-tick text')[0].map(function(d, i) {\n return d.getCTM().e + d.getBBox().width;\n }));\n legendContainer.attr({\n transform: 'translate(' + [ radius + rightmostTickEndX, axisConfig.margin.top ] + ')'\n });\n var hasGeometry = svg.select('g.geometry-group').selectAll('g').size() > 0;\n var geometryContainer = svg.select('g.geometry-group').selectAll('g.geometry').data(data);\n geometryContainer.enter().append('g').attr({\n 'class': function(d, i) {\n return 'geometry geometry' + i;\n }\n });\n geometryContainer.exit().remove();\n if (data[0] || hasGeometry) {\n var geometryConfigs = [];\n data.forEach(function(d, i) {\n var geometryConfig = {};\n geometryConfig.radialScale = radialScale;\n geometryConfig.angularScale = angularScale;\n geometryConfig.container = geometryContainer.filter(function(dB, iB) {\n return iB == i;\n });\n geometryConfig.geometry = d.geometry;\n geometryConfig.orientation = axisConfig.orientation;\n geometryConfig.direction = axisConfig.direction;\n geometryConfig.index = i;\n geometryConfigs.push({\n data: d,\n geometryConfig: geometryConfig\n });\n });\n var geometryConfigsGrouped = d3.nest().key(function(d, i) {\n return typeof d.data.groupId != 'undefined' || 'unstacked';\n }).entries(geometryConfigs);\n var geometryConfigsGrouped2 = [];\n geometryConfigsGrouped.forEach(function(d, i) {\n if (d.key === 'unstacked') geometryConfigsGrouped2 = geometryConfigsGrouped2.concat(d.values.map(function(d, i) {\n return [ d ];\n })); else geometryConfigsGrouped2.push(d.values);\n });\n geometryConfigsGrouped2.forEach(function(d, i) {\n var geometry;\n if (Array.isArray(d)) geometry = d[0].geometryConfig.geometry; else geometry = d.geometryConfig.geometry;\n var finalGeometryConfig = d.map(function(dB, iB) {\n return extendDeepAll(µ[geometry].defaultConfig(), dB);\n });\n µ[geometry]().config(finalGeometryConfig)();\n });\n }\n var guides = svg.select('.guides-group');\n var tooltipContainer = svg.select('.tooltips-group');\n var angularTooltip = µ.tooltipPanel().config({\n container: tooltipContainer,\n fontSize: 8\n })();\n var radialTooltip = µ.tooltipPanel().config({\n container: tooltipContainer,\n fontSize: 8\n })();\n var geometryTooltip = µ.tooltipPanel().config({\n container: tooltipContainer,\n hasTick: true\n })();\n var angularValue, radialValue;\n if (!isOrdinal) {\n var angularGuideLine = guides.select('line').attr({\n x1: 0,\n y1: 0,\n y2: 0\n }).style({\n stroke: 'grey',\n 'pointer-events': 'none'\n });\n chartGroup.on('mousemove.angular-guide', function(d, i) {\n var mouseAngle = µ.util.getMousePos(backgroundCircle).angle;\n angularGuideLine.attr({\n x2: -radius,\n transform: 'rotate(' + mouseAngle + ')'\n }).style({\n opacity: .5\n });\n var angleWithOriginOffset = (mouseAngle + 180 + 360 - axisConfig.orientation) % 360;\n angularValue = angularScale.invert(angleWithOriginOffset);\n var pos = µ.util.convertToCartesian(radius + 12, mouseAngle + 180);\n angularTooltip.text(µ.util.round(angularValue)).move([ pos[0] + chartCenter[0], pos[1] + chartCenter[1] ]);\n }).on('mouseout.angular-guide', function(d, i) {\n guides.select('line').style({\n opacity: 0\n });\n });\n }\n var angularGuideCircle = guides.select('circle').style({\n stroke: 'grey',\n fill: 'none'\n });\n chartGroup.on('mousemove.radial-guide', function(d, i) {\n var r = µ.util.getMousePos(backgroundCircle).radius;\n angularGuideCircle.attr({\n r: r\n }).style({\n opacity: .5\n });\n radialValue = radialScale.invert(µ.util.getMousePos(backgroundCircle).radius);\n var pos = µ.util.convertToCartesian(r, axisConfig.radialAxis.orientation);\n radialTooltip.text(µ.util.round(radialValue)).move([ pos[0] + chartCenter[0], pos[1] + chartCenter[1] ]);\n }).on('mouseout.radial-guide', function(d, i) {\n angularGuideCircle.style({\n opacity: 0\n });\n geometryTooltip.hide();\n angularTooltip.hide();\n radialTooltip.hide();\n });\n svg.selectAll('.geometry-group .mark').on('mouseover.tooltip', function(d, i) {\n var el = d3.select(this);\n var color = this.style.fill;\n var newColor = 'black';\n var opacity = this.style.opacity || 1;\n el.attr({\n 'data-opacity': opacity\n });\n if (color && color !== 'none') {\n el.attr({\n 'data-fill': color\n });\n newColor = d3.hsl(color).darker().toString();\n el.style({\n fill: newColor,\n opacity: 1\n });\n var textData = {\n t: µ.util.round(d[0]),\n r: µ.util.round(d[1])\n };\n if (isOrdinal) textData.t = ticks[d[0]];\n var text = 't: ' + textData.t + ', r: ' + textData.r;\n var bbox = this.getBoundingClientRect();\n var svgBBox = svg.node().getBoundingClientRect();\n var pos = [ bbox.left + bbox.width / 2 - centeringOffset[0] - svgBBox.left, bbox.top + bbox.height / 2 - centeringOffset[1] - svgBBox.top ];\n geometryTooltip.config({\n color: newColor\n }).text(text);\n geometryTooltip.move(pos);\n } else {\n color = this.style.stroke || 'black';\n el.attr({\n 'data-stroke': color\n });\n newColor = d3.hsl(color).darker().toString();\n el.style({\n stroke: newColor,\n opacity: 1\n });\n }\n }).on('mousemove.tooltip', function(d, i) {\n if (d3.event.which != 0) return false;\n if (d3.select(this).attr('data-fill')) geometryTooltip.show();\n }).on('mouseout.tooltip', function(d, i) {\n geometryTooltip.hide();\n var el = d3.select(this);\n var fillColor = el.attr('data-fill');\n if (fillColor) el.style({\n fill: fillColor,\n opacity: el.attr('data-opacity')\n }); else el.style({\n stroke: el.attr('data-stroke'),\n opacity: el.attr('data-opacity')\n });\n });\n });\n return exports;\n }\n exports.render = function(_container) {\n render(_container);\n return this;\n };\n exports.config = function(_x) {\n if (!arguments.length) return config;\n var xClone = µ.util.cloneJson(_x);\n xClone.data.forEach(function(d, i) {\n if (!config.data[i]) config.data[i] = {};\n extendDeepAll(config.data[i], µ.Axis.defaultConfig().data[0]);\n extendDeepAll(config.data[i], d);\n });\n extendDeepAll(config.layout, µ.Axis.defaultConfig().layout);\n extendDeepAll(config.layout, xClone.layout);\n return this;\n };\n exports.getLiveConfig = function() {\n return liveConfig;\n };\n exports.getinputConfig = function() {\n return inputConfig;\n };\n exports.radialScale = function(_x) {\n return radialScale;\n };\n exports.angularScale = function(_x) {\n return angularScale;\n };\n exports.svg = function() {\n return svg;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nµ.Axis.defaultConfig = function(d, i) {\n var config = {\n data: [ {\n t: [ 1, 2, 3, 4 ],\n r: [ 10, 11, 12, 13 ],\n name: 'Line1',\n geometry: 'LinePlot',\n color: null,\n strokeDash: 'solid',\n strokeColor: null,\n strokeSize: '1',\n visibleInLegend: true,\n opacity: 1\n } ],\n layout: {\n defaultColorRange: d3.scale.category10().range(),\n title: null,\n height: 450,\n width: 500,\n margin: {\n top: 40,\n right: 40,\n bottom: 40,\n left: 40\n },\n font: {\n size: 12,\n color: 'gray',\n outlineColor: 'white',\n family: 'Tahoma, sans-serif'\n },\n direction: 'clockwise',\n orientation: 0,\n labelOffset: 10,\n radialAxis: {\n domain: null,\n orientation: -45,\n ticksSuffix: '',\n visible: true,\n gridLinesVisible: true,\n tickOrientation: 'horizontal',\n rewriteTicks: null\n },\n angularAxis: {\n domain: [ 0, 360 ],\n ticksSuffix: '',\n visible: true,\n gridLinesVisible: true,\n labelsVisible: true,\n tickOrientation: 'horizontal',\n rewriteTicks: null,\n ticksCount: null,\n ticksStep: null\n },\n minorTicks: 0,\n tickLength: null,\n tickColor: 'silver',\n minorTickColor: '#eee',\n backgroundColor: 'none',\n needsEndSpacing: null,\n showLegend: true,\n legend: {\n reverseOrder: false\n },\n opacity: 1\n }\n };\n return config;\n};\n\nµ.util = {};\n\nµ.DATAEXTENT = 'dataExtent';\n\nµ.AREA = 'AreaChart';\n\nµ.LINE = 'LinePlot';\n\nµ.DOT = 'DotPlot';\n\nµ.BAR = 'BarChart';\n\nµ.util._override = function(_objA, _objB) {\n for (var x in _objA) if (x in _objB) _objB[x] = _objA[x];\n};\n\nµ.util._extend = function(_objA, _objB) {\n for (var x in _objA) _objB[x] = _objA[x];\n};\n\nµ.util._rndSnd = function() {\n return Math.random() * 2 - 1 + (Math.random() * 2 - 1) + (Math.random() * 2 - 1);\n};\n\nµ.util.dataFromEquation2 = function(_equation, _step) {\n var step = _step || 6;\n var data = d3.range(0, 360 + step, step).map(function(deg, index) {\n var theta = deg * Math.PI / 180;\n var radius = _equation(theta);\n return [ deg, radius ];\n });\n return data;\n};\n\nµ.util.dataFromEquation = function(_equation, _step, _name) {\n var step = _step || 6;\n var t = [], r = [];\n d3.range(0, 360 + step, step).forEach(function(deg, index) {\n var theta = deg * Math.PI / 180;\n var radius = _equation(theta);\n t.push(deg);\n r.push(radius);\n });\n var result = {\n t: t,\n r: r\n };\n if (_name) result.name = _name;\n return result;\n};\n\nµ.util.ensureArray = function(_val, _count) {\n if (typeof _val === 'undefined') return null;\n var arr = [].concat(_val);\n return d3.range(_count).map(function(d, i) {\n return arr[i] || arr[0];\n });\n};\n\nµ.util.fillArrays = function(_obj, _valueNames, _count) {\n _valueNames.forEach(function(d, i) {\n _obj[d] = µ.util.ensureArray(_obj[d], _count);\n });\n return _obj;\n};\n\nµ.util.cloneJson = function(json) {\n return JSON.parse(JSON.stringify(json));\n};\n\nµ.util.validateKeys = function(obj, keys) {\n if (typeof keys === 'string') keys = keys.split('.');\n var next = keys.shift();\n return obj[next] && (!keys.length || objHasKeys(obj[next], keys));\n};\n\nµ.util.sumArrays = function(a, b) {\n return d3.zip(a, b).map(function(d, i) {\n return d3.sum(d);\n });\n};\n\nµ.util.arrayLast = function(a) {\n return a[a.length - 1];\n};\n\nµ.util.arrayEqual = function(a, b) {\n var i = Math.max(a.length, b.length, 1);\n while (i-- >= 0 && a[i] === b[i]) ;\n return i === -2;\n};\n\nµ.util.flattenArray = function(arr) {\n var r = [];\n while (!µ.util.arrayEqual(r, arr)) {\n r = arr;\n arr = [].concat.apply([], arr);\n }\n return arr;\n};\n\nµ.util.deduplicate = function(arr) {\n return arr.filter(function(v, i, a) {\n return a.indexOf(v) == i;\n });\n};\n\nµ.util.convertToCartesian = function(radius, theta) {\n var thetaRadians = theta * Math.PI / 180;\n var x = radius * Math.cos(thetaRadians);\n var y = radius * Math.sin(thetaRadians);\n return [ x, y ];\n};\n\nµ.util.round = function(_value, _digits) {\n var digits = _digits || 2;\n var mult = Math.pow(10, digits);\n return Math.round(_value * mult) / mult;\n};\n\nµ.util.getMousePos = function(_referenceElement) {\n var mousePos = d3.mouse(_referenceElement.node());\n var mouseX = mousePos[0];\n var mouseY = mousePos[1];\n var mouse = {};\n mouse.x = mouseX;\n mouse.y = mouseY;\n mouse.pos = mousePos;\n mouse.angle = (Math.atan2(mouseY, mouseX) + Math.PI) * 180 / Math.PI;\n mouse.radius = Math.sqrt(mouseX * mouseX + mouseY * mouseY);\n return mouse;\n};\n\nµ.util.duplicatesCount = function(arr) {\n var uniques = {}, val;\n var dups = {};\n for (var i = 0, len = arr.length; i < len; i++) {\n val = arr[i];\n if (val in uniques) {\n uniques[val]++;\n dups[val] = uniques[val];\n } else {\n uniques[val] = 1;\n }\n }\n return dups;\n};\n\nµ.util.duplicates = function(arr) {\n return Object.keys(µ.util.duplicatesCount(arr));\n};\n\nµ.util.translator = function(obj, sourceBranch, targetBranch, reverse) {\n if (reverse) {\n var targetBranchCopy = targetBranch.slice();\n targetBranch = sourceBranch;\n sourceBranch = targetBranchCopy;\n }\n var value = sourceBranch.reduce(function(previousValue, currentValue) {\n if (typeof previousValue != 'undefined') return previousValue[currentValue];\n }, obj);\n if (typeof value === 'undefined') return;\n sourceBranch.reduce(function(previousValue, currentValue, index) {\n if (typeof previousValue == 'undefined') return;\n if (index === sourceBranch.length - 1) delete previousValue[currentValue];\n return previousValue[currentValue];\n }, obj);\n targetBranch.reduce(function(previousValue, currentValue, index) {\n if (typeof previousValue[currentValue] === 'undefined') previousValue[currentValue] = {};\n if (index === targetBranch.length - 1) previousValue[currentValue] = value;\n return previousValue[currentValue];\n }, obj);\n};\n\nµ.PolyChart = function module() {\n var config = [ µ.PolyChart.defaultConfig() ];\n var dispatch = d3.dispatch('hover');\n var dashArray = {\n solid: 'none',\n dash: [ 5, 2 ],\n dot: [ 2, 5 ]\n };\n var colorScale;\n function exports() {\n var geometryConfig = config[0].geometryConfig;\n var container = geometryConfig.container;\n if (typeof container == 'string') container = d3.select(container);\n container.datum(config).each(function(_config, _index) {\n var isStack = !!_config[0].data.yStack;\n var data = _config.map(function(d, i) {\n if (isStack) return d3.zip(d.data.t[0], d.data.r[0], d.data.yStack[0]); else return d3.zip(d.data.t[0], d.data.r[0]);\n });\n var angularScale = geometryConfig.angularScale;\n var domainMin = geometryConfig.radialScale.domain()[0];\n var generator = {};\n generator.bar = function(d, i, pI) {\n var dataConfig = _config[pI].data;\n var h = geometryConfig.radialScale(d[1]) - geometryConfig.radialScale(0);\n var stackTop = geometryConfig.radialScale(d[2] || 0);\n var w = dataConfig.barWidth;\n d3.select(this).attr({\n 'class': 'mark bar',\n d: 'M' + [ [ h + stackTop, -w / 2 ], [ h + stackTop, w / 2 ], [ stackTop, w / 2 ], [ stackTop, -w / 2 ] ].join('L') + 'Z',\n transform: function(d, i) {\n return 'rotate(' + (geometryConfig.orientation + angularScale(d[0])) + ')';\n }\n });\n };\n generator.dot = function(d, i, pI) {\n var stackedData = d[2] ? [ d[0], d[1] + d[2] ] : d;\n var symbol = d3.svg.symbol().size(_config[pI].data.dotSize).type(_config[pI].data.dotType)(d, i);\n d3.select(this).attr({\n 'class': 'mark dot',\n d: symbol,\n transform: function(d, i) {\n var coord = convertToCartesian(getPolarCoordinates(stackedData));\n return 'translate(' + [ coord.x, coord.y ] + ')';\n }\n });\n };\n var line = d3.svg.line.radial().interpolate(_config[0].data.lineInterpolation).radius(function(d) {\n return geometryConfig.radialScale(d[1]);\n }).angle(function(d) {\n return geometryConfig.angularScale(d[0]) * Math.PI / 180;\n });\n generator.line = function(d, i, pI) {\n var lineData = d[2] ? data[pI].map(function(d, i) {\n return [ d[0], d[1] + d[2] ];\n }) : data[pI];\n d3.select(this).each(generator['dot']).style({\n opacity: function(dB, iB) {\n return +_config[pI].data.dotVisible;\n },\n fill: markStyle.stroke(d, i, pI)\n }).attr({\n 'class': 'mark dot'\n });\n if (i > 0) return;\n var lineSelection = d3.select(this.parentNode).selectAll('path.line').data([ 0 ]);\n lineSelection.enter().insert('path');\n lineSelection.attr({\n 'class': 'line',\n d: line(lineData),\n transform: function(dB, iB) {\n return 'rotate(' + (geometryConfig.orientation + 90) + ')';\n },\n 'pointer-events': 'none'\n }).style({\n fill: function(dB, iB) {\n return markStyle.fill(d, i, pI);\n },\n 'fill-opacity': 0,\n stroke: function(dB, iB) {\n return markStyle.stroke(d, i, pI);\n },\n 'stroke-width': function(dB, iB) {\n return markStyle['stroke-width'](d, i, pI);\n },\n 'stroke-dasharray': function(dB, iB) {\n return markStyle['stroke-dasharray'](d, i, pI);\n },\n opacity: function(dB, iB) {\n return markStyle.opacity(d, i, pI);\n },\n display: function(dB, iB) {\n return markStyle.display(d, i, pI);\n }\n });\n };\n var angularRange = geometryConfig.angularScale.range();\n var triangleAngle = Math.abs(angularRange[1] - angularRange[0]) / data[0].length * Math.PI / 180;\n var arc = d3.svg.arc().startAngle(function(d) {\n return -triangleAngle / 2;\n }).endAngle(function(d) {\n return triangleAngle / 2;\n }).innerRadius(function(d) {\n return geometryConfig.radialScale(domainMin + (d[2] || 0));\n }).outerRadius(function(d) {\n return geometryConfig.radialScale(domainMin + (d[2] || 0)) + geometryConfig.radialScale(d[1]);\n });\n generator.arc = function(d, i, pI) {\n d3.select(this).attr({\n 'class': 'mark arc',\n d: arc,\n transform: function(d, i) {\n return 'rotate(' + (geometryConfig.orientation + angularScale(d[0]) + 90) + ')';\n }\n });\n };\n var markStyle = {\n fill: function(d, i, pI) {\n return _config[pI].data.color;\n },\n stroke: function(d, i, pI) {\n return _config[pI].data.strokeColor;\n },\n 'stroke-width': function(d, i, pI) {\n return _config[pI].data.strokeSize + 'px';\n },\n 'stroke-dasharray': function(d, i, pI) {\n return dashArray[_config[pI].data.strokeDash];\n },\n opacity: function(d, i, pI) {\n return _config[pI].data.opacity;\n },\n display: function(d, i, pI) {\n return typeof _config[pI].data.visible === 'undefined' || _config[pI].data.visible ? 'block' : 'none';\n }\n };\n var geometryLayer = d3.select(this).selectAll('g.layer').data(data);\n geometryLayer.enter().append('g').attr({\n 'class': 'layer'\n });\n var geometry = geometryLayer.selectAll('path.mark').data(function(d, i) {\n return d;\n });\n geometry.enter().append('path').attr({\n 'class': 'mark'\n });\n geometry.style(markStyle).each(generator[geometryConfig.geometryType]);\n geometry.exit().remove();\n geometryLayer.exit().remove();\n function getPolarCoordinates(d, i) {\n var r = geometryConfig.radialScale(d[1]);\n var t = (geometryConfig.angularScale(d[0]) + geometryConfig.orientation) * Math.PI / 180;\n return {\n r: r,\n t: t\n };\n }\n function convertToCartesian(polarCoordinates) {\n var x = polarCoordinates.r * Math.cos(polarCoordinates.t);\n var y = polarCoordinates.r * Math.sin(polarCoordinates.t);\n return {\n x: x,\n y: y\n };\n }\n });\n }\n exports.config = function(_x) {\n if (!arguments.length) return config;\n _x.forEach(function(d, i) {\n if (!config[i]) config[i] = {};\n extendDeepAll(config[i], µ.PolyChart.defaultConfig());\n extendDeepAll(config[i], d);\n });\n return this;\n };\n exports.getColorScale = function() {\n return colorScale;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nµ.PolyChart.defaultConfig = function() {\n var config = {\n data: {\n name: 'geom1',\n t: [ [ 1, 2, 3, 4 ] ],\n r: [ [ 1, 2, 3, 4 ] ],\n dotType: 'circle',\n dotSize: 64,\n dotVisible: false,\n barWidth: 20,\n color: '#ffa500',\n strokeSize: 1,\n strokeColor: 'silver',\n strokeDash: 'solid',\n opacity: 1,\n index: 0,\n visible: true,\n visibleInLegend: true\n },\n geometryConfig: {\n geometry: 'LinePlot',\n geometryType: 'arc',\n direction: 'clockwise',\n orientation: 0,\n container: 'body',\n radialScale: null,\n angularScale: null,\n colorScale: d3.scale.category20()\n }\n };\n return config;\n};\n\nµ.BarChart = function module() {\n return µ.PolyChart();\n};\n\nµ.BarChart.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'bar'\n }\n };\n return config;\n};\n\nµ.AreaChart = function module() {\n return µ.PolyChart();\n};\n\nµ.AreaChart.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'arc'\n }\n };\n return config;\n};\n\nµ.DotPlot = function module() {\n return µ.PolyChart();\n};\n\nµ.DotPlot.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'dot',\n dotType: 'circle'\n }\n };\n return config;\n};\n\nµ.LinePlot = function module() {\n return µ.PolyChart();\n};\n\nµ.LinePlot.defaultConfig = function() {\n var config = {\n geometryConfig: {\n geometryType: 'line'\n }\n };\n return config;\n};\n\nµ.Legend = function module() {\n var config = µ.Legend.defaultConfig();\n var dispatch = d3.dispatch('hover');\n function exports() {\n var legendConfig = config.legendConfig;\n var flattenData = config.data.map(function(d, i) {\n return [].concat(d).map(function(dB, iB) {\n var element = extendDeepAll({}, legendConfig.elements[i]);\n element.name = dB;\n element.color = [].concat(legendConfig.elements[i].color)[iB];\n return element;\n });\n });\n var data = d3.merge(flattenData);\n data = data.filter(function(d, i) {\n return legendConfig.elements[i] && (legendConfig.elements[i].visibleInLegend || typeof legendConfig.elements[i].visibleInLegend === 'undefined');\n });\n if (legendConfig.reverseOrder) data = data.reverse();\n var container = legendConfig.container;\n if (typeof container == 'string' || container.nodeName) container = d3.select(container);\n var colors = data.map(function(d, i) {\n return d.color;\n });\n var lineHeight = legendConfig.fontSize;\n var isContinuous = legendConfig.isContinuous == null ? typeof data[0] === 'number' : legendConfig.isContinuous;\n var height = isContinuous ? legendConfig.height : lineHeight * data.length;\n var legendContainerGroup = container.classed('legend-group', true);\n var svg = legendContainerGroup.selectAll('svg').data([ 0 ]);\n var svgEnter = svg.enter().append('svg').attr({\n width: 300,\n height: height + lineHeight,\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n version: '1.1'\n });\n svgEnter.append('g').classed('legend-axis', true);\n svgEnter.append('g').classed('legend-marks', true);\n var dataNumbered = d3.range(data.length);\n var colorScale = d3.scale[isContinuous ? 'linear' : 'ordinal']().domain(dataNumbered).range(colors);\n var dataScale = d3.scale[isContinuous ? 'linear' : 'ordinal']().domain(dataNumbered)[isContinuous ? 'range' : 'rangePoints']([ 0, height ]);\n var shapeGenerator = function(_type, _size) {\n var squareSize = _size * 3;\n if (_type === 'line') {\n return 'M' + [ [ -_size / 2, -_size / 12 ], [ _size / 2, -_size / 12 ], [ _size / 2, _size / 12 ], [ -_size / 2, _size / 12 ] ] + 'Z';\n } else if (d3.svg.symbolTypes.indexOf(_type) != -1) return d3.svg.symbol().type(_type).size(squareSize)(); else return d3.svg.symbol().type('square').size(squareSize)();\n };\n if (isContinuous) {\n var gradient = svg.select('.legend-marks').append('defs').append('linearGradient').attr({\n id: 'grad1',\n x1: '0%',\n y1: '0%',\n x2: '0%',\n y2: '100%'\n }).selectAll('stop').data(colors);\n gradient.enter().append('stop');\n gradient.attr({\n offset: function(d, i) {\n return i / (colors.length - 1) * 100 + '%';\n }\n }).style({\n 'stop-color': function(d, i) {\n return d;\n }\n });\n svg.append('rect').classed('legend-mark', true).attr({\n height: legendConfig.height,\n width: legendConfig.colorBandWidth,\n fill: 'url(#grad1)'\n });\n } else {\n var legendElement = svg.select('.legend-marks').selectAll('path.legend-mark').data(data);\n legendElement.enter().append('path').classed('legend-mark', true);\n legendElement.attr({\n transform: function(d, i) {\n return 'translate(' + [ lineHeight / 2, dataScale(i) + lineHeight / 2 ] + ')';\n },\n d: function(d, i) {\n var symbolType = d.symbol;\n return shapeGenerator(symbolType, lineHeight);\n },\n fill: function(d, i) {\n return colorScale(i);\n }\n });\n legendElement.exit().remove();\n }\n var legendAxis = d3.svg.axis().scale(dataScale).orient('right');\n var axis = svg.select('g.legend-axis').attr({\n transform: 'translate(' + [ isContinuous ? legendConfig.colorBandWidth : lineHeight, lineHeight / 2 ] + ')'\n }).call(legendAxis);\n axis.selectAll('.domain').style({\n fill: 'none',\n stroke: 'none'\n });\n axis.selectAll('line').style({\n fill: 'none',\n stroke: isContinuous ? legendConfig.textColor : 'none'\n });\n axis.selectAll('text').style({\n fill: legendConfig.textColor,\n 'font-size': legendConfig.fontSize\n }).text(function(d, i) {\n return data[i].name;\n });\n return exports;\n }\n exports.config = function(_x) {\n if (!arguments.length) return config;\n extendDeepAll(config, _x);\n return this;\n };\n d3.rebind(exports, dispatch, 'on');\n return exports;\n};\n\nµ.Legend.defaultConfig = function(d, i) {\n var config = {\n data: [ 'a', 'b', 'c' ],\n legendConfig: {\n elements: [ {\n symbol: 'line',\n color: 'red'\n }, {\n symbol: 'square',\n color: 'yellow'\n }, {\n symbol: 'diamond',\n color: 'limegreen'\n } ],\n height: 150,\n colorBandWidth: 30,\n fontSize: 12,\n container: 'body',\n isContinuous: null,\n textColor: 'grey',\n reverseOrder: false\n }\n };\n return config;\n};\n\nµ.tooltipPanel = function() {\n var tooltipEl, tooltipTextEl, backgroundEl;\n var config = {\n container: null,\n hasTick: false,\n fontSize: 12,\n color: 'white',\n padding: 5\n };\n var id = 'tooltip-' + µ.tooltipPanel.uid++;\n var tickSize = 10;\n var exports = function() {\n tooltipEl = config.container.selectAll('g.' + id).data([ 0 ]);\n var tooltipEnter = tooltipEl.enter().append('g').classed(id, true).style({\n 'pointer-events': 'none',\n display: 'none'\n });\n backgroundEl = tooltipEnter.append('path').style({\n fill: 'white',\n 'fill-opacity': .9\n }).attr({\n d: 'M0 0'\n });\n tooltipTextEl = tooltipEnter.append('text').attr({\n dx: config.padding + tickSize,\n dy: +config.fontSize * .3\n });\n return exports;\n };\n exports.text = function(_text) {\n var l = d3.hsl(config.color).l;\n var strokeColor = l >= .5 ? '#aaa' : 'white';\n var fillColor = l >= .5 ? 'black' : 'white';\n var text = _text || '';\n tooltipTextEl.style({\n fill: fillColor,\n 'font-size': config.fontSize + 'px'\n }).text(text);\n var padding = config.padding;\n var bbox = tooltipTextEl.node().getBBox();\n var boxStyle = {\n fill: config.color,\n stroke: strokeColor,\n 'stroke-width': '2px'\n };\n var backGroundW = bbox.width + padding * 2 + tickSize;\n var backGroundH = bbox.height + padding * 2;\n backgroundEl.attr({\n d: 'M' + [ [ tickSize, -backGroundH / 2 ], [ tickSize, -backGroundH / 4 ], [ config.hasTick ? 0 : tickSize, 0 ], [ tickSize, backGroundH / 4 ], [ tickSize, backGroundH / 2 ], [ backGroundW, backGroundH / 2 ], [ backGroundW, -backGroundH / 2 ] ].join('L') + 'Z'\n }).style(boxStyle);\n tooltipEl.attr({\n transform: 'translate(' + [ tickSize, -backGroundH / 2 + padding * 2 ] + ')'\n });\n tooltipEl.style({\n display: 'block'\n });\n return exports;\n };\n exports.move = function(_pos) {\n if (!tooltipEl) return;\n tooltipEl.attr({\n transform: 'translate(' + [ _pos[0], _pos[1] ] + ')'\n }).style({\n display: 'block'\n });\n return exports;\n };\n exports.hide = function() {\n if (!tooltipEl) return;\n tooltipEl.style({\n display: 'none'\n });\n return exports;\n };\n exports.show = function() {\n if (!tooltipEl) return;\n tooltipEl.style({\n display: 'block'\n });\n return exports;\n };\n exports.config = function(_x) {\n extendDeepAll(config, _x);\n return exports;\n };\n return exports;\n};\n\nµ.tooltipPanel.uid = 1;\n\nµ.adapter = {};\n\nµ.adapter.plotly = function module() {\n var exports = {};\n exports.convert = function(_inputConfig, reverse) {\n var outputConfig = {};\n if (_inputConfig.data) {\n outputConfig.data = _inputConfig.data.map(function(d, i) {\n var r = extendDeepAll({}, d);\n var toTranslate = [\n [ r, [ 'marker', 'color' ], [ 'color' ] ],\n [ r, [ 'marker', 'opacity' ], [ 'opacity' ] ],\n [ r, [ 'marker', 'line', 'color' ], [ 'strokeColor' ] ],\n [ r, [ 'marker', 'line', 'dash' ], [ 'strokeDash' ] ],\n [ r, [ 'marker', 'line', 'width' ], [ 'strokeSize' ] ],\n [ r, [ 'marker', 'symbol' ], [ 'dotType' ] ],\n [ r, [ 'marker', 'size' ], [ 'dotSize' ] ],\n [ r, [ 'marker', 'barWidth' ], [ 'barWidth' ] ],\n [ r, [ 'line', 'interpolation' ], [ 'lineInterpolation' ] ],\n [ r, [ 'showlegend' ], [ 'visibleInLegend' ] ]\n ];\n toTranslate.forEach(function(d, i) {\n µ.util.translator.apply(null, d.concat(reverse));\n });\n\n if (!reverse) delete r.marker;\n if (reverse) delete r.groupId;\n if (!reverse) {\n if (r.type === 'scatter') {\n if (r.mode === 'lines') r.geometry = 'LinePlot'; else if (r.mode === 'markers') r.geometry = 'DotPlot'; else if (r.mode === 'lines+markers') {\n r.geometry = 'LinePlot';\n r.dotVisible = true;\n }\n } else if (r.type === 'area') r.geometry = 'AreaChart'; else if (r.type === 'bar') r.geometry = 'BarChart';\n delete r.mode;\n delete r.type;\n } else {\n if (r.geometry === 'LinePlot') {\n r.type = 'scatter';\n if (r.dotVisible === true) {\n delete r.dotVisible;\n r.mode = 'lines+markers';\n } else r.mode = 'lines';\n } else if (r.geometry === 'DotPlot') {\n r.type = 'scatter';\n r.mode = 'markers';\n } else if (r.geometry === 'AreaChart') r.type = 'area'; else if (r.geometry === 'BarChart') r.type = 'bar';\n delete r.geometry;\n }\n return r;\n });\n if (!reverse && _inputConfig.layout && _inputConfig.layout.barmode === 'stack') {\n var duplicates = µ.util.duplicates(outputConfig.data.map(function(d, i) {\n return d.geometry;\n }));\n outputConfig.data.forEach(function(d, i) {\n var idx = duplicates.indexOf(d.geometry);\n if (idx != -1) outputConfig.data[i].groupId = idx;\n });\n }\n }\n if (_inputConfig.layout) {\n var r = extendDeepAll({}, _inputConfig.layout);\n var toTranslate = [\n [ r, [ 'plot_bgcolor' ], [ 'backgroundColor' ] ],\n [ r, [ 'showlegend' ], [ 'showLegend' ] ],\n [ r, [ 'radialaxis' ], [ 'radialAxis' ] ],\n [ r, [ 'angularaxis' ], [ 'angularAxis' ] ],\n [ r.angularaxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.angularaxis, [ 'showticklabels' ], [ 'labelsVisible' ] ],\n [ r.angularaxis, [ 'nticks' ], [ 'ticksCount' ] ],\n [ r.angularaxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.angularaxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.angularaxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularaxis, [ 'endpadding' ], [ 'endPadding' ] ],\n [ r.radialaxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.radialaxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.radialaxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.radialaxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularAxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.angularAxis, [ 'showticklabels' ], [ 'labelsVisible' ] ],\n [ r.angularAxis, [ 'nticks' ], [ 'ticksCount' ] ],\n [ r.angularAxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.angularAxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.angularAxis, [ 'range' ], [ 'domain' ] ],\n [ r.angularAxis, [ 'endpadding' ], [ 'endPadding' ] ],\n [ r.radialAxis, [ 'showline' ], [ 'gridLinesVisible' ] ],\n [ r.radialAxis, [ 'tickorientation' ], [ 'tickOrientation' ] ],\n [ r.radialAxis, [ 'ticksuffix' ], [ 'ticksSuffix' ] ],\n [ r.radialAxis, [ 'range' ], [ 'domain' ] ],\n [ r.font, [ 'outlinecolor' ], [ 'outlineColor' ] ],\n [ r.legend, [ 'traceorder' ], [ 'reverseOrder' ] ],\n [ r, [ 'labeloffset' ], [ 'labelOffset' ] ],\n [ r, [ 'defaultcolorrange' ], [ 'defaultColorRange' ] ]\n ];\n toTranslate.forEach(function(d, i) {\n µ.util.translator.apply(null, d.concat(reverse));\n });\n\n if (!reverse) {\n if (r.angularAxis && typeof r.angularAxis.ticklen !== 'undefined') r.tickLength = r.angularAxis.ticklen;\n if (r.angularAxis && typeof r.angularAxis.tickcolor !== 'undefined') r.tickColor = r.angularAxis.tickcolor;\n } else {\n if (typeof r.tickLength !== 'undefined') {\n r.angularaxis.ticklen = r.tickLength;\n delete r.tickLength;\n }\n if (r.tickColor) {\n r.angularaxis.tickcolor = r.tickColor;\n delete r.tickColor;\n }\n }\n if (r.legend && typeof r.legend.reverseOrder != 'boolean') {\n r.legend.reverseOrder = r.legend.reverseOrder != 'normal';\n }\n if (r.legend && typeof r.legend.traceorder == 'boolean') {\n r.legend.traceorder = r.legend.traceorder ? 'reversed' : 'normal';\n delete r.legend.reverseOrder;\n }\n if (r.margin && typeof r.margin.t != 'undefined') {\n var source = [ 't', 'r', 'b', 'l', 'pad' ];\n var target = [ 'top', 'right', 'bottom', 'left', 'pad' ];\n var margin = {};\n d3.entries(r.margin).forEach(function(dB, iB) {\n margin[target[source.indexOf(dB.key)]] = dB.value;\n });\n r.margin = margin;\n }\n if (reverse) {\n delete r.needsEndSpacing;\n delete r.minorTickColor;\n delete r.minorTicks;\n delete r.angularaxis.ticksCount;\n delete r.angularaxis.ticksCount;\n delete r.angularaxis.ticksStep;\n delete r.angularaxis.rewriteTicks;\n delete r.angularaxis.nticks;\n delete r.radialaxis.ticksCount;\n delete r.radialaxis.ticksCount;\n delete r.radialaxis.ticksStep;\n delete r.radialaxis.rewriteTicks;\n delete r.radialaxis.nticks;\n }\n outputConfig.layout = r;\n }\n return outputConfig;\n };\n return exports;\n};\n\n\n/***/ }),\n\n/***/ \"3a9c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar setGroupPositions = __webpack_require__(\"0cec\").setGroupPositions;\n\nmodule.exports = function crossTraceCalc(gd, plotinfo) {\n var fullLayout = gd._fullLayout;\n var fullData = gd._fullData;\n var calcdata = gd.calcdata;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n var funnels = [];\n var funnelsVert = [];\n var funnelsHorz = [];\n var cd, i;\n\n for(i = 0; i < fullData.length; i++) {\n var fullTrace = fullData[i];\n var isHorizontal = (fullTrace.orientation === 'h');\n\n if(\n fullTrace.visible === true &&\n fullTrace.xaxis === xa._id &&\n fullTrace.yaxis === ya._id &&\n fullTrace.type === 'funnel'\n ) {\n cd = calcdata[i];\n\n if(isHorizontal) {\n funnelsHorz.push(cd);\n } else {\n funnelsVert.push(cd);\n }\n\n funnels.push(cd);\n }\n }\n\n var opts = {\n mode: fullLayout.funnelmode,\n norm: fullLayout.funnelnorm,\n gap: fullLayout.funnelgap,\n groupgap: fullLayout.funnelgroupgap\n };\n\n setGroupPositions(gd, xa, ya, funnelsVert, opts);\n setGroupPositions(gd, ya, xa, funnelsHorz, opts);\n\n for(i = 0; i < funnels.length; i++) {\n cd = funnels[i];\n\n for(var j = 0; j < cd.length; j++) {\n if(j + 1 < cd.length) {\n cd[j].nextP0 = cd[j + 1].p0;\n cd[j].nextS0 = cd[j + 1].s0;\n\n cd[j].nextP1 = cd[j + 1].p1;\n cd[j].nextS1 = cd[j + 1].s1;\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"3aa8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar extractOpts = __webpack_require__(\"215c\").extractOpts;\n\nmodule.exports = function calc(gd, trace, opts) {\n var fullLayout = gd._fullLayout;\n var vals = opts.vals;\n var containerStr = opts.containerStr;\n\n var container = containerStr ?\n Lib.nestedProperty(trace, containerStr).get() :\n trace;\n\n var cOpts = extractOpts(container);\n var auto = cOpts.auto !== false;\n var min = cOpts.min;\n var max = cOpts.max;\n var mid = cOpts.mid;\n\n var minVal = function() { return Lib.aggNums(Math.min, null, vals); };\n var maxVal = function() { return Lib.aggNums(Math.max, null, vals); };\n\n if(min === undefined) {\n min = minVal();\n } else if(auto) {\n if(container._colorAx && isNumeric(min)) {\n min = Math.min(min, minVal());\n } else {\n min = minVal();\n }\n }\n\n if(max === undefined) {\n max = maxVal();\n } else if(auto) {\n if(container._colorAx && isNumeric(max)) {\n max = Math.max(max, maxVal());\n } else {\n max = maxVal();\n }\n }\n\n if(auto && mid !== undefined) {\n if(max - mid > mid - min) {\n min = mid - (max - mid);\n } else if(max - mid < mid - min) {\n max = mid + (mid - min);\n }\n }\n\n if(min === max) {\n min -= 0.5;\n max += 0.5;\n }\n\n cOpts._sync('min', min);\n cOpts._sync('max', max);\n\n if(cOpts.autocolorscale) {\n var scl;\n if(min * max < 0) scl = fullLayout.colorscale.diverging;\n else if(min >= 0) scl = fullLayout.colorscale.sequential;\n else scl = fullLayout.colorscale.sequentialminus;\n cOpts._sync('colorscale', scl);\n }\n};\n\n\n/***/ }),\n\n/***/ \"3af0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar glslify = __webpack_require__(\"e98f\");\nvar vertexShaderSource = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n p17_20, p21_24, p25_28, p29_32,\\n p33_36, p37_40, p41_44, p45_48,\\n p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform sampler2D mask, palette;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\n\\nbool isPick = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n return (\\n fOutside(p[0], lo[0], hi[0]) ||\\n fOutside(p[1], lo[1], hi[1]) ||\\n fOutside(p[2], lo[2], hi[2]) ||\\n fOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n return (\\n vOutside(p[0], lo[0], hi[0]) ||\\n vOutside(p[1], lo[1], hi[1]) ||\\n vOutside(p[2], lo[2], hi[2]) ||\\n vOutside(p[3], lo[3], hi[3])\\n );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n return mOutside(A, loA, hiA) ||\\n mOutside(B, loB, hiB) ||\\n mOutside(C, loC, hiC) ||\\n mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n mat4 pnts[4];\\n pnts[0] = A;\\n pnts[1] = B;\\n pnts[2] = C;\\n pnts[3] = D;\\n\\n for(int i = 0; i < 4; ++i) {\\n for(int j = 0; j < 4; ++j) {\\n for(int k = 0; k < 4; ++k) {\\n if(0 == iMod(\\n int(255.0 * texture2D(mask,\\n vec2(\\n (float(i * 2 + j / 2) + 0.5) / 8.0,\\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n ))[3]\\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n 2\\n )) return true;\\n }\\n }\\n }\\n return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n float x = 0.5 * sign(v) + 0.5;\\n float y = axisY(x, A, B, C, D);\\n float z = 1.0 - abs(v);\\n\\n z += isContext ? 0.0 : 2.0 * float(\\n outsideBoundingBox(A, B, C, D) ||\\n outsideRasterMask(A, B, C, D)\\n );\\n\\n return vec4(\\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n z,\\n 1.0\\n );\\n}\\n\\nvoid main() {\\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n float v = colors[3];\\n\\n gl_Position = position(isContext, v, A, B, C, D);\\n\\n fragColor =\\n isContext ? vec4(contextColor) :\\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]);\nvar fragmentShaderSource = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n gl_FragColor = fragColor;\\n}\\n\"]);\nvar maxDim = __webpack_require__(\"f7a4\").maxDimensionCount;\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// don't change; otherwise near/far plane lines are lost\nvar depthLimitEpsilon = 1e-6;\n\n// precision of multiselect is the full range divided into this many parts\nvar maskHeight = 2048;\n\nvar dummyPixel = new Uint8Array(4);\nvar dataPixel = new Uint8Array(4);\n\nvar paletteTextureConfig = {\n shape: [256, 1],\n format: 'rgba',\n type: 'uint8',\n mag: 'nearest',\n min: 'nearest'\n};\n\nfunction ensureDraw(regl) {\n regl.read({\n x: 0,\n y: 0,\n width: 1,\n height: 1,\n data: dummyPixel\n });\n}\n\nfunction clear(regl, x, y, width, height) {\n var gl = regl._gl;\n gl.enable(gl.SCISSOR_TEST);\n gl.scissor(x, y, width, height);\n regl.clear({color: [0, 0, 0, 0], depth: 1}); // clearing is done in scissored panel only\n}\n\nfunction renderBlock(regl, glAes, renderState, blockLineCount, sampleCount, item) {\n var rafKey = item.key;\n\n function render(blockNumber) {\n var count = Math.min(blockLineCount, sampleCount - blockNumber * blockLineCount);\n\n if(blockNumber === 0) {\n // stop drawing possibly stale glyphs before clearing\n window.cancelAnimationFrame(renderState.currentRafs[rafKey]);\n delete renderState.currentRafs[rafKey];\n clear(regl, item.scissorX, item.scissorY, item.scissorWidth, item.viewBoxSize[1]);\n }\n\n if(renderState.clearOnly) {\n return;\n }\n\n item.count = 2 * count;\n item.offset = 2 * blockNumber * blockLineCount;\n glAes(item);\n\n if(blockNumber * blockLineCount + count < sampleCount) {\n renderState.currentRafs[rafKey] = window.requestAnimationFrame(function() {\n render(blockNumber + 1);\n });\n }\n\n renderState.drawCompleted = false;\n }\n\n if(!renderState.drawCompleted) {\n ensureDraw(regl);\n renderState.drawCompleted = true;\n }\n\n // start with rendering item 0; recursion handles the rest\n render(0);\n}\n\nfunction adjustDepth(d) {\n // WebGL matrix operations use floats with limited precision, potentially causing a number near a border of [0, 1]\n // to end up slightly outside the border. With an epsilon, we reduce the chance that a line gets clipped by the\n // near or the far plane.\n return Math.max(depthLimitEpsilon, Math.min(1 - depthLimitEpsilon, d));\n}\n\nfunction palette(unitToColor, opacity) {\n var result = new Array(256);\n for(var i = 0; i < 256; i++) {\n result[i] = unitToColor(i / 255).concat(opacity);\n }\n return result;\n}\n\n// Maps the sample index [0...sampleCount - 1] to a range of [0, 1] as the shader expects colors in the [0, 1] range.\n// but first it shifts the sample index by 0, 8 or 16 bits depending on rgbIndex [0..2]\n// with the end result that each line will be of a unique color, making it possible for the pick handler\n// to uniquely identify which line is hovered over (bijective mapping).\n// The inverse, i.e. readPixel is invoked from 'parcoords.js'\nfunction calcPickColor(i, rgbIndex) {\n return (i >>> 8 * rgbIndex) % 256 / 255;\n}\n\nfunction makePoints(sampleCount, dims, color) {\n var points = new Array(sampleCount * (maxDim + 4));\n var n = 0;\n for(var i = 0; i < sampleCount; i++) {\n for(var k = 0; k < maxDim; k++) {\n points[n++] = (k < dims.length) ? dims[k].paddedUnitValues[i] : 0.5;\n }\n points[n++] = calcPickColor(i, 2);\n points[n++] = calcPickColor(i, 1);\n points[n++] = calcPickColor(i, 0);\n points[n++] = adjustDepth(color[i]);\n }\n return points;\n}\n\nfunction makeVecAttr(vecIndex, sampleCount, points) {\n var pointPairs = new Array(sampleCount * 8);\n var n = 0;\n for(var i = 0; i < sampleCount; i++) {\n for(var j = 0; j < 2; j++) {\n for(var k = 0; k < 4; k++) {\n var q = vecIndex * 4 + k;\n var v = points[i * 64 + q];\n if(q === 63 && j === 0) {\n v *= -1;\n }\n pointPairs[n++] = v;\n }\n }\n }\n return pointPairs;\n}\n\nfunction pad2(num) {\n var s = '0' + num;\n return s.substr(s.length - 2);\n}\n\nfunction getAttrName(i) {\n return (i < maxDim) ? 'p' + pad2(i + 1) + '_' + pad2(i + 4) : 'colors';\n}\n\nfunction setAttributes(attributes, sampleCount, points) {\n for(var i = 0; i <= maxDim; i += 4) {\n attributes[getAttrName(i)](makeVecAttr(i / 4, sampleCount, points));\n }\n}\n\nfunction emptyAttributes(regl) {\n var attributes = {};\n for(var i = 0; i <= maxDim; i += 4) {\n attributes[getAttrName(i)] = regl.buffer({usage: 'dynamic', type: 'float', data: new Uint8Array(0)});\n }\n return attributes;\n}\n\nfunction makeItem(model, leftmost, rightmost, itemNumber, i0, i1, x, y, panelSizeX, panelSizeY, crossfilterDimensionIndex, drwLayer, constraints) {\n var dims = [[], []];\n for(var k = 0; k < 64; k++) {\n dims[0][k] = (k === i0) ? 1 : 0;\n dims[1][k] = (k === i1) ? 1 : 0;\n }\n\n var overdrag = model.lines.canvasOverdrag;\n var domain = model.domain;\n var canvasWidth = model.canvasWidth;\n var canvasHeight = model.canvasHeight;\n\n var deselectedLinesColor = model.deselectedLines.color;\n\n var itemModel = Lib.extendFlat({\n key: crossfilterDimensionIndex,\n resolution: [canvasWidth, canvasHeight],\n viewBoxPos: [x + overdrag, y],\n viewBoxSize: [panelSizeX, panelSizeY],\n i0: i0,\n i1: i1,\n\n dim0A: dims[0].slice(0, 16),\n dim0B: dims[0].slice(16, 32),\n dim0C: dims[0].slice(32, 48),\n dim0D: dims[0].slice(48, 64),\n dim1A: dims[1].slice(0, 16),\n dim1B: dims[1].slice(16, 32),\n dim1C: dims[1].slice(32, 48),\n dim1D: dims[1].slice(48, 64),\n\n drwLayer: drwLayer,\n contextColor: [\n deselectedLinesColor[0] / 255,\n deselectedLinesColor[1] / 255,\n deselectedLinesColor[2] / 255,\n deselectedLinesColor[3] < 1 ?\n deselectedLinesColor[3] :\n Math.max(1 / 255, Math.pow(1 / model.lines.color.length, 1 / 3))\n ],\n\n scissorX: (itemNumber === leftmost ? 0 : x + overdrag) + (model.pad.l - overdrag) + model.layoutWidth * domain.x[0],\n scissorWidth: (itemNumber === rightmost ? canvasWidth - x + overdrag : panelSizeX + 0.5) + (itemNumber === leftmost ? x + overdrag : 0),\n scissorY: y + model.pad.b + model.layoutHeight * domain.y[0],\n scissorHeight: panelSizeY,\n\n viewportX: model.pad.l - overdrag + model.layoutWidth * domain.x[0],\n viewportY: model.pad.b + model.layoutHeight * domain.y[0],\n viewportWidth: canvasWidth,\n viewportHeight: canvasHeight\n }, constraints);\n\n return itemModel;\n}\n\nfunction expandedPixelRange(bounds) {\n var dh = maskHeight - 1;\n var a = Math.max(0, Math.floor(bounds[0] * dh), 0);\n var b = Math.min(dh, Math.ceil(bounds[1] * dh), dh);\n return [\n Math.min(a, b),\n Math.max(a, b)\n ];\n}\n\nmodule.exports = function(canvasGL, d) {\n // context & pick describe which canvas we're talking about - won't change with new data\n var isContext = d.context;\n var isPick = d.pick;\n\n var regl = d.regl;\n\n var renderState = {\n currentRafs: {},\n drawCompleted: true,\n clearOnly: false\n };\n\n // state to be set by update and used later\n var model;\n var vm;\n var initialDims;\n var sampleCount;\n var attributes = emptyAttributes(regl);\n var maskTexture;\n var paletteTexture = regl.texture(paletteTextureConfig);\n\n var prevAxisOrder = [];\n\n update(d);\n\n var glAes = regl({\n\n profile: false,\n\n blend: {\n enable: isContext,\n func: {\n srcRGB: 'src alpha',\n dstRGB: 'one minus src alpha',\n srcAlpha: 1,\n dstAlpha: 1 // 'one minus src alpha'\n },\n equation: {\n rgb: 'add',\n alpha: 'add'\n },\n color: [0, 0, 0, 0]\n },\n\n depth: {\n enable: !isContext,\n mask: true,\n func: 'less',\n range: [0, 1]\n },\n\n // for polygons\n cull: {\n enable: true,\n face: 'back'\n },\n\n scissor: {\n enable: true,\n box: {\n x: regl.prop('scissorX'),\n y: regl.prop('scissorY'),\n width: regl.prop('scissorWidth'),\n height: regl.prop('scissorHeight')\n }\n },\n\n viewport: {\n x: regl.prop('viewportX'),\n y: regl.prop('viewportY'),\n width: regl.prop('viewportWidth'),\n height: regl.prop('viewportHeight')\n },\n\n dither: false,\n\n vert: vertexShaderSource,\n\n frag: fragmentShaderSource,\n\n primitive: 'lines',\n lineWidth: 1,\n attributes: attributes,\n uniforms: {\n resolution: regl.prop('resolution'),\n viewBoxPos: regl.prop('viewBoxPos'),\n viewBoxSize: regl.prop('viewBoxSize'),\n dim0A: regl.prop('dim0A'),\n dim1A: regl.prop('dim1A'),\n dim0B: regl.prop('dim0B'),\n dim1B: regl.prop('dim1B'),\n dim0C: regl.prop('dim0C'),\n dim1C: regl.prop('dim1C'),\n dim0D: regl.prop('dim0D'),\n dim1D: regl.prop('dim1D'),\n loA: regl.prop('loA'),\n hiA: regl.prop('hiA'),\n loB: regl.prop('loB'),\n hiB: regl.prop('hiB'),\n loC: regl.prop('loC'),\n hiC: regl.prop('hiC'),\n loD: regl.prop('loD'),\n hiD: regl.prop('hiD'),\n palette: paletteTexture,\n contextColor: regl.prop('contextColor'),\n mask: regl.prop('maskTexture'),\n drwLayer: regl.prop('drwLayer'),\n maskHeight: regl.prop('maskHeight')\n },\n offset: regl.prop('offset'),\n count: regl.prop('count')\n });\n\n function update(dNew) {\n model = dNew.model;\n vm = dNew.viewModel;\n initialDims = vm.dimensions.slice();\n sampleCount = initialDims[0] ? initialDims[0].values.length : 0;\n\n var lines = model.lines;\n var color = isPick ? lines.color.map(function(_, i) {return i / lines.color.length;}) : lines.color;\n\n var points = makePoints(sampleCount, initialDims, color);\n setAttributes(attributes, sampleCount, points);\n\n if(!isContext && !isPick) {\n paletteTexture = regl.texture(Lib.extendFlat({\n data: palette(model.unitToColor, 255)\n }, paletteTextureConfig));\n }\n }\n\n function makeConstraints(isContext) {\n var i, j, k;\n\n var limits = [[], []];\n for(k = 0; k < 64; k++) {\n var p = (!isContext && k < initialDims.length) ?\n initialDims[k].brush.filter.getBounds() : [-Infinity, Infinity];\n\n limits[0][k] = p[0];\n limits[1][k] = p[1];\n }\n\n var len = maskHeight * 8;\n var mask = new Array(len);\n for(i = 0; i < len; i++) {\n mask[i] = 255;\n }\n if(!isContext) {\n for(i = 0; i < initialDims.length; i++) {\n var u = i % 8;\n var v = (i - u) / 8;\n var bitMask = Math.pow(2, u);\n var dim = initialDims[i];\n var ranges = dim.brush.filter.get();\n if(ranges.length < 2) continue; // bail if the bounding box based filter is sufficient\n\n var prevEnd = expandedPixelRange(ranges[0])[1];\n for(j = 1; j < ranges.length; j++) {\n var nextRange = expandedPixelRange(ranges[j]);\n for(k = prevEnd + 1; k < nextRange[0]; k++) {\n mask[k * 8 + v] &= ~bitMask;\n }\n prevEnd = Math.max(prevEnd, nextRange[1]);\n }\n }\n }\n\n var textureData = {\n // 8 units x 8 bits = 64 bits, just sufficient for the almost 64 dimensions we support\n shape: [8, maskHeight],\n format: 'alpha',\n type: 'uint8',\n mag: 'nearest',\n min: 'nearest',\n data: mask\n };\n if(maskTexture) maskTexture(textureData);\n else maskTexture = regl.texture(textureData);\n\n return {\n maskTexture: maskTexture,\n maskHeight: maskHeight,\n loA: limits[0].slice(0, 16),\n loB: limits[0].slice(16, 32),\n loC: limits[0].slice(32, 48),\n loD: limits[0].slice(48, 64),\n hiA: limits[1].slice(0, 16),\n hiB: limits[1].slice(16, 32),\n hiC: limits[1].slice(32, 48),\n hiD: limits[1].slice(48, 64),\n };\n }\n\n function renderGLParcoords(panels, setChanged, clearOnly) {\n var panelCount = panels.length;\n var i;\n\n var leftmost;\n var rightmost;\n var lowestX = Infinity;\n var highestX = -Infinity;\n\n for(i = 0; i < panelCount; i++) {\n if(panels[i].dim0.canvasX < lowestX) {\n lowestX = panels[i].dim0.canvasX;\n leftmost = i;\n }\n if(panels[i].dim1.canvasX > highestX) {\n highestX = panels[i].dim1.canvasX;\n rightmost = i;\n }\n }\n\n if(panelCount === 0) {\n // clear canvas here, as the panel iteration below will not enter the loop body\n clear(regl, 0, 0, model.canvasWidth, model.canvasHeight);\n }\n var constraints = makeConstraints(isContext);\n\n for(i = 0; i < panelCount; i++) {\n var p = panels[i];\n var i0 = p.dim0.crossfilterDimensionIndex;\n var i1 = p.dim1.crossfilterDimensionIndex;\n var x = p.canvasX;\n var y = p.canvasY;\n var nextX = x + p.panelSizeX;\n if(setChanged ||\n !prevAxisOrder[i0] ||\n prevAxisOrder[i0][0] !== x ||\n prevAxisOrder[i0][1] !== nextX\n ) {\n prevAxisOrder[i0] = [x, nextX];\n\n var item = makeItem(\n model,\n leftmost, rightmost, i, i0, i1, x, y,\n p.panelSizeX, p.panelSizeY,\n p.dim0.crossfilterDimensionIndex,\n isContext ? 0 : isPick ? 2 : 1,\n constraints\n );\n\n renderState.clearOnly = clearOnly;\n\n var blockLineCount = setChanged ? model.lines.blockLineCount : sampleCount;\n renderBlock(\n regl, glAes, renderState, blockLineCount, sampleCount, item\n );\n }\n }\n }\n\n function readPixel(canvasX, canvasY) {\n regl.read({\n x: canvasX,\n y: canvasY,\n width: 1,\n height: 1,\n data: dataPixel\n });\n return dataPixel;\n }\n\n function readPixels(canvasX, canvasY, width, height) {\n var pixelArray = new Uint8Array(4 * width * height);\n regl.read({\n x: canvasX,\n y: canvasY,\n width: width,\n height: height,\n data: pixelArray\n });\n return pixelArray;\n }\n\n function destroy() {\n canvasGL.style['pointer-events'] = 'none';\n paletteTexture.destroy();\n if(maskTexture) maskTexture.destroy();\n for(var k in attributes) attributes[k].destroy();\n }\n\n return {\n render: renderGLParcoords,\n readPixel: readPixel,\n readPixels: readPixels,\n destroy: destroy,\n update: update\n };\n};\n\n\n/***/ }),\n\n/***/ \"3b74\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar meta_1 = __webpack_require__(\"716c\");\n// Note: change RADIUS => earthRadius\nvar RADIUS = 6378137;\n/**\n * Takes one or more features and returns their area in square meters.\n *\n * @name area\n * @param {GeoJSON} geojson input GeoJSON feature(s)\n * @returns {number} area in square meters\n * @example\n * var polygon = turf.polygon([[[125, -15], [113, -22], [154, -27], [144, -15], [125, -15]]]);\n *\n * var area = turf.area(polygon);\n *\n * //addToMap\n * var addToMap = [polygon]\n * polygon.properties.area = area\n */\nfunction area(geojson) {\n return meta_1.geomReduce(geojson, function (value, geom) {\n return value + calculateArea(geom);\n }, 0);\n}\nexports.default = area;\n/**\n * Calculate Area\n *\n * @private\n * @param {Geometry} geom GeoJSON Geometries\n * @returns {number} area\n */\nfunction calculateArea(geom) {\n var total = 0;\n var i;\n switch (geom.type) {\n case \"Polygon\":\n return polygonArea(geom.coordinates);\n case \"MultiPolygon\":\n for (i = 0; i < geom.coordinates.length; i++) {\n total += polygonArea(geom.coordinates[i]);\n }\n return total;\n case \"Point\":\n case \"MultiPoint\":\n case \"LineString\":\n case \"MultiLineString\":\n return 0;\n }\n return 0;\n}\nfunction polygonArea(coords) {\n var total = 0;\n if (coords && coords.length > 0) {\n total += Math.abs(ringArea(coords[0]));\n for (var i = 1; i < coords.length; i++) {\n total -= Math.abs(ringArea(coords[i]));\n }\n }\n return total;\n}\n/**\n * @private\n * Calculate the approximate area of the polygon were it projected onto the earth.\n * Note that this area will be positive if ring is oriented clockwise, otherwise it will be negative.\n *\n * Reference:\n * Robert. G. Chamberlain and William H. Duquette, \"Some Algorithms for Polygons on a Sphere\",\n * JPL Publication 07-03, Jet Propulsion\n * Laboratory, Pasadena, CA, June 2007 http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409\n *\n * @param {Array>} coords Ring Coordinates\n * @returns {number} The approximate signed geodesic area of the polygon in square meters.\n */\nfunction ringArea(coords) {\n var p1;\n var p2;\n var p3;\n var lowerIndex;\n var middleIndex;\n var upperIndex;\n var i;\n var total = 0;\n var coordsLength = coords.length;\n if (coordsLength > 2) {\n for (i = 0; i < coordsLength; i++) {\n if (i === coordsLength - 2) {\n lowerIndex = coordsLength - 2;\n middleIndex = coordsLength - 1;\n upperIndex = 0;\n }\n else if (i === coordsLength - 1) {\n lowerIndex = coordsLength - 1;\n middleIndex = 0;\n upperIndex = 1;\n }\n else {\n lowerIndex = i;\n middleIndex = i + 1;\n upperIndex = i + 2;\n }\n p1 = coords[lowerIndex];\n p2 = coords[middleIndex];\n p3 = coords[upperIndex];\n total += (rad(p3[0]) - rad(p1[0])) * Math.sin(rad(p2[1]));\n }\n total = total * RADIUS * RADIUS / 2;\n }\n return total;\n}\nfunction rad(num) {\n return num * Math.PI / 180;\n}\n\n\n/***/ }),\n\n/***/ \"3b80\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"5aae\"),\n supplyDefaults: __webpack_require__(\"2705\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"a2ee\"),\n calc: __webpack_require__(\"fcb7\"),\n plot: __webpack_require__(\"b8b2\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"e92c\"),\n selectPoints: __webpack_require__(\"214c\"),\n eventData: __webpack_require__(\"0271\"),\n\n moduleType: 'trace',\n name: 'scattercarpet',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['svg', 'carpet', 'symbols', 'showLegend', 'carpetDependent', 'zoomScale'],\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3bd6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar rationalize = __webpack_require__(\"2195\")\n\nmodule.exports = mul\n\nfunction mul(a, b) {\n return rationalize(a[0].mul(b[0]), a[1].mul(b[1]))\n}\n\n\n/***/ }),\n\n/***/ \"3c1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\n\nvar constants = __webpack_require__(\"d301\");\n\n\n// convert between axis names (xaxis, xaxis2, etc, elements of gd.layout)\n// and axis id's (x, x2, etc). Would probably have ditched 'xaxis'\n// completely in favor of just 'x' if it weren't ingrained in the API etc.\nexports.id2name = function id2name(id) {\n if(typeof id !== 'string' || !id.match(constants.AX_ID_PATTERN)) return;\n var axNum = id.substr(1);\n if(axNum === '1') axNum = '';\n return id.charAt(0) + 'axis' + axNum;\n};\n\nexports.name2id = function name2id(name) {\n if(!name.match(constants.AX_NAME_PATTERN)) return;\n var axNum = name.substr(5);\n if(axNum === '1') axNum = '';\n return name.charAt(0) + axNum;\n};\n\nexports.cleanId = function cleanId(id, axLetter) {\n if(!id.match(constants.AX_ID_PATTERN)) return;\n if(axLetter && id.charAt(0) !== axLetter) return;\n\n var axNum = id.substr(1).replace(/^0+/, '');\n if(axNum === '1') axNum = '';\n return id.charAt(0) + axNum;\n};\n\n// get all axis objects, as restricted in listNames\nexports.list = function(gd, axLetter, only2d) {\n var fullLayout = gd._fullLayout;\n if(!fullLayout) return [];\n\n var idList = exports.listIds(gd, axLetter);\n var out = new Array(idList.length);\n var i;\n\n for(i = 0; i < idList.length; i++) {\n var idi = idList[i];\n out[i] = fullLayout[idi.charAt(0) + 'axis' + idi.substr(1)];\n }\n\n if(!only2d) {\n var sceneIds3D = fullLayout._subplots.gl3d || [];\n\n for(i = 0; i < sceneIds3D.length; i++) {\n var scene = fullLayout[sceneIds3D[i]];\n\n if(axLetter) out.push(scene[axLetter + 'axis']);\n else out.push(scene.xaxis, scene.yaxis, scene.zaxis);\n }\n }\n\n return out;\n};\n\n// get all axis ids, optionally restricted by letter\n// this only makes sense for 2d axes\nexports.listIds = function(gd, axLetter) {\n var fullLayout = gd._fullLayout;\n if(!fullLayout) return [];\n\n var subplotLists = fullLayout._subplots;\n if(axLetter) return subplotLists[axLetter + 'axis'];\n return subplotLists.xaxis.concat(subplotLists.yaxis);\n};\n\n// get an axis object from its id 'x','x2' etc\n// optionally, id can be a subplot (ie 'x2y3') and type gets x or y from it\nexports.getFromId = function(gd, id, type) {\n var fullLayout = gd._fullLayout;\n\n if(type === 'x') id = id.replace(/y[0-9]*/, '');\n else if(type === 'y') id = id.replace(/x[0-9]*/, '');\n\n return fullLayout[exports.id2name(id)];\n};\n\n// get an axis object of specified type from the containing trace\nexports.getFromTrace = function(gd, fullTrace, type) {\n var fullLayout = gd._fullLayout;\n var ax = null;\n\n if(Registry.traceIs(fullTrace, 'gl3d')) {\n var scene = fullTrace.scene;\n if(scene.substr(0, 5) === 'scene') {\n ax = fullLayout[scene][type + 'axis'];\n }\n } else {\n ax = exports.getFromId(gd, fullTrace[type + 'axis'] || type);\n }\n\n return ax;\n};\n\n// sort x, x2, x10, y, y2, y10...\nexports.idSort = function(id1, id2) {\n var letter1 = id1.charAt(0);\n var letter2 = id2.charAt(0);\n if(letter1 !== letter2) return letter1 > letter2 ? 1 : -1;\n return +(id1.substr(1) || 1) - +(id2.substr(1) || 1);\n};\n\nexports.getAxisGroup = function getAxisGroup(fullLayout, axId) {\n var matchGroups = fullLayout._axisMatchGroups;\n\n for(var i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n if(group[axId]) return 'g' + i;\n }\n return axId;\n};\n\n\n/***/ }),\n\n/***/ \"3c31\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Error bar computing function generator\n *\n * N.B. The generated function does not clean the dataPt entries. Non-numeric\n * entries result in undefined error magnitudes.\n *\n * @param {object} opts error bar attributes\n *\n * @return {function} :\n * @param {numeric} dataPt data point from where to compute the error magnitude\n * @param {number} index index of dataPt in its corresponding data array\n * @return {array}\n * - error[0] : error magnitude in the negative direction\n * - error[1] : \" \" \" \" positive \"\n */\nmodule.exports = function makeComputeError(opts) {\n var type = opts.type;\n var symmetric = opts.symmetric;\n\n if(type === 'data') {\n var array = opts.array || [];\n\n if(symmetric) {\n return function computeError(dataPt, index) {\n var val = +(array[index]);\n return [val, val];\n };\n } else {\n var arrayminus = opts.arrayminus || [];\n return function computeError(dataPt, index) {\n var val = +array[index];\n var valMinus = +arrayminus[index];\n // in case one is present and the other is missing, fill in 0\n // so we still see the present one. Mostly useful during manual\n // data entry.\n if(!isNaN(val) || !isNaN(valMinus)) {\n return [valMinus || 0, val || 0];\n }\n return [NaN, NaN];\n };\n }\n } else {\n var computeErrorValue = makeComputeErrorValue(type, opts.value);\n var computeErrorValueMinus = makeComputeErrorValue(type, opts.valueminus);\n\n if(symmetric || opts.valueminus === undefined) {\n return function computeError(dataPt) {\n var val = computeErrorValue(dataPt);\n return [val, val];\n };\n } else {\n return function computeError(dataPt) {\n return [\n computeErrorValueMinus(dataPt),\n computeErrorValue(dataPt)\n ];\n };\n }\n }\n};\n\n/**\n * Compute error bar magnitude (for all types except data)\n *\n * @param {string} type error bar type\n * @param {numeric} value error bar value\n *\n * @return {function} :\n * @param {numeric} dataPt\n */\nfunction makeComputeErrorValue(type, value) {\n if(type === 'percent') {\n return function(dataPt) {\n return Math.abs(dataPt * value / 100);\n };\n }\n if(type === 'constant') {\n return function() {\n return Math.abs(value);\n };\n }\n if(type === 'sqrt') {\n return function(dataPt) {\n return Math.sqrt(Math.abs(dataPt));\n };\n }\n}\n\n\n/***/ }),\n\n/***/ \"3c41\":\n/***/ (function(module, exports) {\n\nmodule.exports = clone\n\n/**\n * Creates a new vec4 initialized with values from an existing vector\n *\n * @param {vec4} a vector to clone\n * @returns {vec4} a new 4D vector\n */\nfunction clone (a) {\n var out = new Float32Array(4)\n out[0] = a[0]\n out[1] = a[1]\n out[2] = a[2]\n out[3] = a[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"3cf3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterFormatLabels = __webpack_require__(\"7e96\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var i = cdi.i;\n if(!('x' in cdi)) cdi.x = trace._x[i];\n if(!('y' in cdi)) cdi.y = trace._y[i];\n return scatterFormatLabels(cdi, trace, fullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"3d2e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\nmodule.exports = {\n\n // layout attribute name\n name: 'updatemenus',\n\n // class names\n containerClassName: 'updatemenu-container',\n headerGroupClassName: 'updatemenu-header-group',\n headerClassName: 'updatemenu-header',\n headerArrowClassName: 'updatemenu-header-arrow',\n dropdownButtonGroupClassName: 'updatemenu-dropdown-button-group',\n dropdownButtonClassName: 'updatemenu-dropdown-button',\n buttonClassName: 'updatemenu-button',\n itemRectClassName: 'updatemenu-item-rect',\n itemTextClassName: 'updatemenu-item-text',\n\n // DOM attribute name in button group keeping track\n // of active update menu\n menuIndexAttrName: 'updatemenu-active-index',\n\n // id root pass to Plots.autoMargin\n autoMarginIdRoot: 'updatemenu-',\n\n // options when 'active: -1'\n blankHeaderOpts: { label: ' ' },\n\n // min item width / height\n minWidth: 30,\n minHeight: 30,\n\n // padding around item text\n textPadX: 24,\n arrowPadX: 16,\n\n // item rect radii\n rx: 2,\n ry: 2,\n\n // item text x offset off left edge\n textOffsetX: 12,\n\n // item text y offset (w.r.t. middle)\n textOffsetY: 3,\n\n // arrow offset off right edge\n arrowOffsetX: 4,\n\n // gap between header and buttons\n gapButtonHeader: 5,\n\n // gap between between buttons\n gapButton: 2,\n\n // color given to active buttons\n activeColor: '#F4FAFF',\n\n // color given to hovered buttons\n hoverColor: '#F4FAFF',\n\n // symbol for menu open arrow\n arrowSymbol: {\n left: '◄',\n right: '►',\n up: '▲',\n down: '▼'\n }\n};\n\n\n/***/ }),\n\n/***/ \"3d78\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar vectorizeText = __webpack_require__(\"b993\")\n\nmodule.exports = getGlyph\n\nvar GLYPH_CACHE = {}\n\nfunction getGlyph(symbol, font, pixelRatio) {\n var fontCache = GLYPH_CACHE[font]\n if(!fontCache) {\n fontCache = GLYPH_CACHE[font] = {}\n }\n if(symbol in fontCache) {\n return fontCache[symbol]\n }\n\n var config = {\n textAlign: \"center\",\n textBaseline: \"middle\",\n lineHeight: 1.0,\n font: font,\n lineSpacing: 1.25,\n styletags: {\n breaklines:true,\n bolds: true,\n italics: true,\n subscripts:true,\n superscripts:true\n }\n }\n\n //Get line and triangle meshes for glyph\n config.triangles = true\n var triSymbol = vectorizeText(symbol, config)\n config.triangles = false\n var lineSymbol = vectorizeText(symbol, config)\n\n var i, j\n\n if(pixelRatio && pixelRatio !== 1) {\n for(i = 0; i < triSymbol.positions.length; ++i){\n for(j = 0; j < triSymbol.positions[i].length; ++j){\n triSymbol.positions[i][j] /= pixelRatio;\n }\n }\n\n for(i = 0; i < lineSymbol.positions.length; ++i){\n for(j = 0; j < lineSymbol.positions[i].length; ++j){\n lineSymbol.positions[i][j] /= pixelRatio;\n }\n }\n }\n\n //Calculate bounding box\n var bounds = [[Infinity,Infinity], [-Infinity,-Infinity]]\n var n = lineSymbol.positions.length\n for(i = 0; i < n; ++i) {\n var p = lineSymbol.positions[i]\n for(j=0; j<2; ++j) {\n bounds[0][j] = Math.min(bounds[0][j], p[j])\n bounds[1][j] = Math.max(bounds[1][j], p[j])\n }\n }\n\n //Save cached symbol\n return fontCache[symbol] = [triSymbol, lineSymbol, bounds]\n}\n\n/***/ }),\n\n/***/ \"3dac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bnsign = __webpack_require__(\"0fba\")\n\nmodule.exports = sign\n\nfunction sign(x) {\n return bnsign(x[0]) * bnsign(x[1])\n}\n\n\n/***/ }),\n\n/***/ \"3de2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar pick = __webpack_require__(\"b7d1\")\r\n\r\nmodule.exports = parseRect\r\n\r\nfunction parseRect (arg) {\r\n var rect\r\n\r\n // direct arguments sequence\r\n if (arguments.length > 1) {\r\n arg = arguments\r\n }\r\n\r\n // svg viewbox\r\n if (typeof arg === 'string') {\r\n arg = arg.split(/\\s/).map(parseFloat)\r\n }\r\n else if (typeof arg === 'number') {\r\n arg = [arg]\r\n }\r\n\r\n // 0, 0, 100, 100 - array-like\r\n if (arg.length && typeof arg[0] === 'number') {\r\n // [w, w]\r\n if (arg.length === 1) {\r\n rect = {\r\n width: arg[0],\r\n height: arg[0],\r\n x: 0, y: 0\r\n }\r\n }\r\n // [w, h]\r\n else if (arg.length === 2) {\r\n rect = {\r\n width: arg[0],\r\n height: arg[1],\r\n x: 0, y: 0\r\n }\r\n }\r\n // [l, t, r, b]\r\n else {\r\n rect = {\r\n x: arg[0],\r\n y: arg[1],\r\n width: (arg[2] - arg[0]) || 0,\r\n height: (arg[3] - arg[1]) || 0\r\n }\r\n }\r\n }\r\n // {x, y, w, h} or {l, t, b, r}\r\n else if (arg) {\r\n arg = pick(arg, {\r\n left: 'x l left Left',\r\n top: 'y t top Top',\r\n width: 'w width W Width',\r\n height: 'h height W Width',\r\n bottom: 'b bottom Bottom',\r\n right: 'r right Right'\r\n })\r\n\r\n rect = {\r\n x: arg.left || 0,\r\n y: arg.top || 0\r\n }\r\n\r\n if (arg.width == null) {\r\n if (arg.right) rect.width = arg.right - rect.x\r\n else rect.width = 0\r\n }\r\n else {\r\n rect.width = arg.width\r\n }\r\n\r\n if (arg.height == null) {\r\n if (arg.bottom) rect.height = arg.bottom - rect.y\r\n else rect.height = 0\r\n }\r\n else {\r\n rect.height = arg.height\r\n }\r\n }\r\n\r\n return rect\r\n}\r\n\n\n/***/ }),\n\n/***/ \"3e11\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar parcats = __webpack_require__(\"cf9f\");\n\n/**\n * Create / update parcat traces\n *\n * @param {Object} graphDiv\n * @param {Array.} parcatsModels\n */\nmodule.exports = function plot(graphDiv, parcatsModels, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = graphDiv._fullLayout;\n var svg = fullLayout._paper;\n var size = fullLayout._size;\n\n parcats(\n graphDiv,\n svg,\n parcatsModels,\n {\n width: size.w,\n height: size.h,\n margin: {\n t: size.t,\n r: size.r,\n b: size.b,\n l: size.l\n }\n },\n transitionOpts,\n makeOnCompleteCallback\n );\n};\n\n\n/***/ }),\n\n/***/ \"3e43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Islamic calendar for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the Islamic or '16 civil' calendar.\n Based on code from http://www.iranchamber.com/calendar/converter/iranian_calendar_converter.php.\n See also http://en.wikipedia.org/wiki/Islamic_calendar.\n @class IslamicCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction IslamicCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nIslamicCalendar.prototype = new main.baseCalendar;\n\nassign(IslamicCalendar.prototype, {\n /** The calendar name.\n @memberof IslamicCalendar */\n name: 'Islamic',\n /** Julian date of start of Islamic epoch: 16 July 622 CE.\n @memberof IslamicCalendar */\n jdEpoch: 1948439.5,\n /** Days per month in a common year.\n @memberof IslamicCalendar */\n daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29],\n /** true if has a year zero, false if not.\n @memberof IslamicCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof IslamicCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof IslamicCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof IslamicCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof IslamicCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Islamic',\n epochs: ['BH', 'AH'],\n monthNames: ['Muharram', 'Safar', 'Rabi\\' al-awwal', 'Rabi\\' al-thani', 'Jumada al-awwal', 'Jumada al-thani',\n 'Rajab', 'Sha\\'aban', 'Ramadan', 'Shawwal', 'Dhu al-Qi\\'dah', 'Dhu al-Hijjah'],\n monthNamesShort: ['Muh', 'Saf', 'Rab1', 'Rab2', 'Jum1', 'Jum2', 'Raj', 'Sha\\'', 'Ram', 'Shaw', 'DhuQ', 'DhuH'],\n dayNames: ['Yawm al-ahad', 'Yawm al-ithnayn', 'Yawm ath-thulaathaa\\'',\n 'Yawm al-arbi\\'aa\\'', 'Yawm al-khamīs', 'Yawm al-jum\\'a', 'Yawm as-sabt'],\n dayNamesShort: ['Aha', 'Ith', 'Thu', 'Arb', 'Kha', 'Jum', 'Sab'],\n dayNamesMin: ['Ah','It','Th','Ar','Kh','Ju','Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: false\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function(year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (date.year() * 11 + 14) % 30 < 11;\n },\n\n /** Determine the week of the year for a date.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function(year, month, day) {\n // Find Sunday of this week starting on Sunday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-checkDate.dayOfWeek(), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a year.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function(year) {\n return (this.leapYear(year) ? 355 : 354);\n },\n\n /** Retrieve the number of days in a month.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function(year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n return this.daysPerMonth[date.month() - 1] +\n (date.month() === 12 && this.leapYear(date.year()) ? 1 : 0);\n },\n\n /** Determine whether this date is a week day.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function(year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof IslamicCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function(year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n year = date.year();\n month = date.month();\n day = date.day();\n year = (year <= 0 ? year + 1 : year);\n return day + Math.ceil(29.5 * (month - 1)) + (year - 1) * 354 +\n Math.floor((3 + (11 * year)) / 30) + this.jdEpoch - 1;\n },\n\n /** Create a new date from a Julian date.\n @memberof IslamicCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function(jd) {\n jd = Math.floor(jd) + 0.5;\n var year = Math.floor((30 * (jd - this.jdEpoch) + 10646) / 10631);\n year = (year <= 0 ? year - 1 : year);\n var month = Math.min(12, Math.ceil((jd - 29 - this.toJD(year, 1, 1)) / 29.5) + 1);\n var day = jd - this.toJD(year, month, 1) + 1;\n return this.newDate(year, month, day);\n }\n});\n\n// Islamic (16 civil) calendar implementation\nmain.calendars.islamic = IslamicCalendar;\n\n\n\n/***/ }),\n\n/***/ \"3e8e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n treemapcolorway: {\n valType: 'colorlist',\n \n editType: 'calc',\n \n },\n extendtreemapcolors: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3e97\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n if('xVal' in pt) out.x = pt.xVal;\n if('yVal' in pt) out.y = pt.yVal;\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n out.color = pt.color;\n out.colormodel = pt.trace.colormodel;\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"3eab\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"77ae\");\n\n\n/***/ }),\n\n/***/ \"3ee9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"6b50\"),\n supplyDefaults: __webpack_require__(\"b6f7\"),\n calc: __webpack_require__(\"6dea\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n plot: __webpack_require__(\"54a9\"),\n\n moduleType: 'trace',\n name: 'mesh3d',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"3efe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"a18b\");\n\n\n/***/ }),\n\n/***/ \"3f57\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"e5c5\")\n\n/***/ }),\n\n/***/ \"3fb2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Plots = __webpack_require__(\"bb71\");\nvar PlotSchema = __webpack_require__(\"6921\");\nvar dfltConfig = __webpack_require__(\"3ff5\").dfltConfig;\n\nvar isPlainObject = Lib.isPlainObject;\nvar isArray = Array.isArray;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\n\n/**\n * Validate a data array and layout object.\n *\n * @param {array} data\n * @param {object} layout\n *\n * @return {array} array of error objects each containing:\n * - {string} code\n * error code ('object', 'array', 'schema', 'unused', 'invisible' or 'value')\n * - {string} container\n * container where the error occurs ('data' or 'layout')\n * - {number} trace\n * trace index of the 'data' container where the error occurs\n * - {array} path\n * nested path to the key that causes the error\n * - {string} astr\n * attribute string variant of 'path' compatible with Plotly.restyle and\n * Plotly.relayout.\n * - {string} msg\n * error message (shown in console in logger config argument is enable)\n */\nmodule.exports = function validate(data, layout) {\n var schema = PlotSchema.get();\n var errorList = [];\n var gd = {_context: Lib.extendFlat({}, dfltConfig)};\n\n var dataIn, layoutIn;\n\n if(isArray(data)) {\n gd.data = Lib.extendDeep([], data);\n dataIn = data;\n } else {\n gd.data = [];\n dataIn = [];\n errorList.push(format('array', 'data'));\n }\n\n if(isPlainObject(layout)) {\n gd.layout = Lib.extendDeep({}, layout);\n layoutIn = layout;\n } else {\n gd.layout = {};\n layoutIn = {};\n if(arguments.length > 1) {\n errorList.push(format('object', 'layout'));\n }\n }\n\n // N.B. dataIn and layoutIn are in general not the same as\n // gd.data and gd.layout after supplyDefaults as some attributes\n // in gd.data and gd.layout (still) get mutated during this step.\n\n Plots.supplyDefaults(gd);\n\n var dataOut = gd._fullData;\n var len = dataIn.length;\n\n for(var i = 0; i < len; i++) {\n var traceIn = dataIn[i];\n var base = ['data', i];\n\n if(!isPlainObject(traceIn)) {\n errorList.push(format('object', base));\n continue;\n }\n\n var traceOut = dataOut[i];\n var traceType = traceOut.type;\n var traceSchema = schema.traces[traceType].attributes;\n\n // PlotSchema does something fancy with trace 'type', reset it here\n // to make the trace schema compatible with Lib.validate.\n traceSchema.type = {\n valType: 'enumerated',\n values: [traceType]\n };\n\n if(traceOut.visible === false && traceIn.visible !== false) {\n errorList.push(format('invisible', base));\n }\n\n crawl(traceIn, traceOut, traceSchema, errorList, base);\n\n var transformsIn = traceIn.transforms;\n var transformsOut = traceOut.transforms;\n\n if(transformsIn) {\n if(!isArray(transformsIn)) {\n errorList.push(format('array', base, ['transforms']));\n }\n\n base.push('transforms');\n\n for(var j = 0; j < transformsIn.length; j++) {\n var path = ['transforms', j];\n var transformType = transformsIn[j].type;\n\n if(!isPlainObject(transformsIn[j])) {\n errorList.push(format('object', base, path));\n continue;\n }\n\n var transformSchema = schema.transforms[transformType] ?\n schema.transforms[transformType].attributes :\n {};\n\n // add 'type' to transform schema to validate the transform type\n transformSchema.type = {\n valType: 'enumerated',\n values: Object.keys(schema.transforms)\n };\n\n crawl(transformsIn[j], transformsOut[j], transformSchema, errorList, base, path);\n }\n }\n }\n\n var layoutOut = gd._fullLayout;\n var layoutSchema = fillLayoutSchema(schema, dataOut);\n\n crawl(layoutIn, layoutOut, layoutSchema, errorList, 'layout');\n\n // return undefined if no validation errors were found\n return (errorList.length === 0) ? void(0) : errorList;\n};\n\nfunction crawl(objIn, objOut, schema, list, base, path) {\n path = path || [];\n\n var keys = Object.keys(objIn);\n\n for(var i = 0; i < keys.length; i++) {\n var k = keys[i];\n\n // transforms are handled separately\n if(k === 'transforms') continue;\n\n var p = path.slice();\n p.push(k);\n\n var valIn = objIn[k];\n var valOut = objOut[k];\n\n var nestedSchema = getNestedSchema(schema, k);\n var isInfoArray = (nestedSchema || {}).valType === 'info_array';\n var isColorscale = (nestedSchema || {}).valType === 'colorscale';\n var items = (nestedSchema || {}).items;\n\n if(!isInSchema(schema, k)) {\n list.push(format('schema', base, p));\n } else if(isPlainObject(valIn) && isPlainObject(valOut)) {\n crawl(valIn, valOut, nestedSchema, list, base, p);\n } else if(isInfoArray && isArray(valIn)) {\n if(valIn.length > valOut.length) {\n list.push(format('unused', base, p.concat(valOut.length)));\n }\n var len = valOut.length;\n var arrayItems = Array.isArray(items);\n if(arrayItems) len = Math.min(len, items.length);\n var m, n, item, valInPart, valOutPart;\n if(nestedSchema.dimensions === 2) {\n for(n = 0; n < len; n++) {\n if(isArray(valIn[n])) {\n if(valIn[n].length > valOut[n].length) {\n list.push(format('unused', base, p.concat(n, valOut[n].length)));\n }\n var len2 = valOut[n].length;\n for(m = 0; m < (arrayItems ? Math.min(len2, items[n].length) : len2); m++) {\n item = arrayItems ? items[n][m] : items;\n valInPart = valIn[n][m];\n valOutPart = valOut[n][m];\n if(!Lib.validate(valInPart, item)) {\n list.push(format('value', base, p.concat(n, m), valInPart));\n } else if(valOutPart !== valInPart && valOutPart !== +valInPart) {\n list.push(format('dynamic', base, p.concat(n, m), valInPart, valOutPart));\n }\n }\n } else {\n list.push(format('array', base, p.concat(n), valIn[n]));\n }\n }\n } else {\n for(n = 0; n < len; n++) {\n item = arrayItems ? items[n] : items;\n valInPart = valIn[n];\n valOutPart = valOut[n];\n if(!Lib.validate(valInPart, item)) {\n list.push(format('value', base, p.concat(n), valInPart));\n } else if(valOutPart !== valInPart && valOutPart !== +valInPart) {\n list.push(format('dynamic', base, p.concat(n), valInPart, valOutPart));\n }\n }\n }\n } else if(nestedSchema.items && !isInfoArray && isArray(valIn)) {\n var _nestedSchema = items[Object.keys(items)[0]];\n var indexList = [];\n\n var j, _p;\n\n // loop over valOut items while keeping track of their\n // corresponding input container index (given by _index)\n for(j = 0; j < valOut.length; j++) {\n var _index = valOut[j]._index || j;\n\n _p = p.slice();\n _p.push(_index);\n\n if(isPlainObject(valIn[_index]) && isPlainObject(valOut[j])) {\n indexList.push(_index);\n var valInj = valIn[_index];\n var valOutj = valOut[j];\n if(isPlainObject(valInj) && valInj.visible !== false && valOutj.visible === false) {\n list.push(format('invisible', base, _p));\n } else crawl(valInj, valOutj, _nestedSchema, list, base, _p);\n }\n }\n\n // loop over valIn to determine where it went wrong for some items\n for(j = 0; j < valIn.length; j++) {\n _p = p.slice();\n _p.push(j);\n\n if(!isPlainObject(valIn[j])) {\n list.push(format('object', base, _p, valIn[j]));\n } else if(indexList.indexOf(j) === -1) {\n list.push(format('unused', base, _p));\n }\n }\n } else if(!isPlainObject(valIn) && isPlainObject(valOut)) {\n list.push(format('object', base, p, valIn));\n } else if(!isArrayOrTypedArray(valIn) && isArrayOrTypedArray(valOut) && !isInfoArray && !isColorscale) {\n list.push(format('array', base, p, valIn));\n } else if(!(k in objOut)) {\n list.push(format('unused', base, p, valIn));\n } else if(!Lib.validate(valIn, nestedSchema)) {\n list.push(format('value', base, p, valIn));\n } else if(nestedSchema.valType === 'enumerated' &&\n ((nestedSchema.coerceNumber && valIn !== +valOut) || valIn !== valOut)\n ) {\n list.push(format('dynamic', base, p, valIn, valOut));\n }\n }\n\n return list;\n}\n\n// the 'full' layout schema depends on the traces types presents\nfunction fillLayoutSchema(schema, dataOut) {\n var layoutSchema = schema.layout.layoutAttributes;\n\n for(var i = 0; i < dataOut.length; i++) {\n var traceOut = dataOut[i];\n var traceSchema = schema.traces[traceOut.type];\n var traceLayoutAttr = traceSchema.layoutAttributes;\n\n if(traceLayoutAttr) {\n if(traceOut.subplot) {\n Lib.extendFlat(layoutSchema[traceSchema.attributes.subplot.dflt], traceLayoutAttr);\n } else {\n Lib.extendFlat(layoutSchema, traceLayoutAttr);\n }\n }\n }\n\n return layoutSchema;\n}\n\n// validation error codes\nvar code2msgFunc = {\n object: function(base, astr) {\n var prefix;\n\n if(base === 'layout' && astr === '') prefix = 'The layout argument';\n else if(base[0] === 'data' && astr === '') {\n prefix = 'Trace ' + base[1] + ' in the data argument';\n } else prefix = inBase(base) + 'key ' + astr;\n\n return prefix + ' must be linked to an object container';\n },\n array: function(base, astr) {\n var prefix;\n\n if(base === 'data') prefix = 'The data argument';\n else prefix = inBase(base) + 'key ' + astr;\n\n return prefix + ' must be linked to an array container';\n },\n schema: function(base, astr) {\n return inBase(base) + 'key ' + astr + ' is not part of the schema';\n },\n unused: function(base, astr, valIn) {\n var target = isPlainObject(valIn) ? 'container' : 'key';\n\n return inBase(base) + target + ' ' + astr + ' did not get coerced';\n },\n dynamic: function(base, astr, valIn, valOut) {\n return [\n inBase(base) + 'key',\n astr,\n '(set to \\'' + valIn + '\\')',\n 'got reset to',\n '\\'' + valOut + '\\'',\n 'during defaults.'\n ].join(' ');\n },\n invisible: function(base, astr) {\n return (\n astr ? (inBase(base) + 'item ' + astr) : ('Trace ' + base[1])\n ) + ' got defaulted to be not visible';\n },\n value: function(base, astr, valIn) {\n return [\n inBase(base) + 'key ' + astr,\n 'is set to an invalid value (' + valIn + ')'\n ].join(' ');\n }\n};\n\nfunction inBase(base) {\n if(isArray(base)) return 'In data trace ' + base[1] + ', ';\n\n return 'In ' + base + ', ';\n}\n\nfunction format(code, base, path, valIn, valOut) {\n path = path || '';\n\n var container, trace;\n\n // container is either 'data' or 'layout\n // trace is the trace index if 'data', null otherwise\n\n if(isArray(base)) {\n container = base[0];\n trace = base[1];\n } else {\n container = base;\n trace = null;\n }\n\n var astr = convertPathToAttributeString(path);\n var msg = code2msgFunc[code](base, astr, valIn, valOut);\n\n // log to console if logger config option is enabled\n Lib.log(msg);\n\n return {\n code: code,\n container: container,\n trace: trace,\n path: path,\n astr: astr,\n msg: msg\n };\n}\n\nfunction isInSchema(schema, key) {\n var parts = splitKey(key);\n var keyMinusId = parts.keyMinusId;\n var id = parts.id;\n\n if((keyMinusId in schema) && schema[keyMinusId]._isSubplotObj && id) {\n return true;\n }\n\n return (key in schema);\n}\n\nfunction getNestedSchema(schema, key) {\n if(key in schema) return schema[key];\n\n var parts = splitKey(key);\n\n return schema[parts.keyMinusId];\n}\n\nvar idRegex = Lib.counterRegex('([a-z]+)');\n\nfunction splitKey(key) {\n var idMatch = key.match(idRegex);\n\n return {\n keyMinusId: idMatch && idMatch[1],\n id: idMatch && idMatch[2]\n };\n}\n\nfunction convertPathToAttributeString(path) {\n if(!isArray(path)) return String(path);\n\n var astr = '';\n\n for(var i = 0; i < path.length; i++) {\n var p = path[i];\n\n if(typeof p === 'number') {\n astr = astr.substr(0, astr.length - 1) + '[' + p + ']';\n } else {\n astr += p;\n }\n\n if(i < path.length - 1) astr += '.';\n }\n\n return astr;\n}\n\n\n/***/ }),\n\n/***/ \"3fca\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mapboxgl = __webpack_require__(\"e192\");\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar geoUtils = __webpack_require__(\"0919\");\nvar Registry = __webpack_require__(\"371e\");\nvar Axes = __webpack_require__(\"0642\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\n\nvar constants = __webpack_require__(\"b5e4\");\nvar createMapboxLayer = __webpack_require__(\"d0d2\");\n\nfunction Mapbox(gd, id) {\n this.id = id;\n this.gd = gd;\n\n var fullLayout = gd._fullLayout;\n var context = gd._context;\n\n this.container = fullLayout._glcontainer.node();\n this.isStatic = context.staticPlot;\n\n // unique id for this Mapbox instance\n this.uid = fullLayout._uid + '-' + this.id;\n\n // create framework on instantiation for a smoother first plot call\n this.div = null;\n this.xaxis = null;\n this.yaxis = null;\n this.createFramework(fullLayout);\n\n // state variables used to infer how and what to update\n this.map = null;\n this.accessToken = null;\n this.styleObj = null;\n this.traceHash = {};\n this.layerList = [];\n this.belowLookup = {};\n this.dragging = false;\n this.wheeling = false;\n}\n\nvar proto = Mapbox.prototype;\n\nproto.plot = function(calcData, fullLayout, promises) {\n var self = this;\n var opts = fullLayout[self.id];\n\n // remove map and create a new map if access token has change\n if(self.map && (opts.accesstoken !== self.accessToken)) {\n self.map.remove();\n self.map = null;\n self.styleObj = null;\n self.traceHash = [];\n self.layerList = {};\n }\n\n var promise;\n\n if(!self.map) {\n promise = new Promise(function(resolve, reject) {\n self.createMap(calcData, fullLayout, resolve, reject);\n });\n } else {\n promise = new Promise(function(resolve, reject) {\n self.updateMap(calcData, fullLayout, resolve, reject);\n });\n }\n\n promises.push(promise);\n};\n\nproto.createMap = function(calcData, fullLayout, resolve, reject) {\n var self = this;\n var opts = fullLayout[self.id];\n\n // store style id and URL or object\n var styleObj = self.styleObj = getStyleObj(opts.style);\n\n // store access token associated with this map\n self.accessToken = opts.accesstoken;\n\n // create the map!\n var map = self.map = new mapboxgl.Map({\n container: self.div,\n\n style: styleObj.style,\n center: convertCenter(opts.center),\n zoom: opts.zoom,\n bearing: opts.bearing,\n pitch: opts.pitch,\n\n interactive: !self.isStatic,\n preserveDrawingBuffer: self.isStatic,\n\n doubleClickZoom: false,\n boxZoom: false,\n\n attributionControl: false\n })\n .addControl(new mapboxgl.AttributionControl({\n compact: true\n }));\n\n\n // make sure canvas does not inherit left and top css\n map._canvas.style.left = '0px';\n map._canvas.style.top = '0px';\n\n self.rejectOnError(reject);\n\n if(!self.isStatic) {\n self.initFx(calcData, fullLayout);\n }\n\n var promises = [];\n\n promises.push(new Promise(function(resolve) {\n map.once('load', resolve);\n }));\n\n promises = promises.concat(geoUtils.fetchTraceGeoData(calcData));\n\n Promise.all(promises).then(function() {\n self.fillBelowLookup(calcData, fullLayout);\n self.updateData(calcData);\n self.updateLayout(fullLayout);\n self.resolveOnRender(resolve);\n }).catch(reject);\n};\n\nproto.updateMap = function(calcData, fullLayout, resolve, reject) {\n var self = this;\n var map = self.map;\n var opts = fullLayout[this.id];\n\n self.rejectOnError(reject);\n\n var promises = [];\n var styleObj = getStyleObj(opts.style);\n\n if(self.styleObj.id !== styleObj.id) {\n self.styleObj = styleObj;\n map.setStyle(styleObj.style);\n\n // need to rebuild trace layers on reload\n // to avoid 'lost event' errors\n self.traceHash = {};\n\n promises.push(new Promise(function(resolve) {\n map.once('styledata', resolve);\n }));\n }\n\n promises = promises.concat(geoUtils.fetchTraceGeoData(calcData));\n\n Promise.all(promises).then(function() {\n self.fillBelowLookup(calcData, fullLayout);\n self.updateData(calcData);\n self.updateLayout(fullLayout);\n self.resolveOnRender(resolve);\n }).catch(reject);\n};\n\nproto.fillBelowLookup = function(calcData, fullLayout) {\n var opts = fullLayout[this.id];\n var layers = opts.layers;\n var i, val;\n\n var belowLookup = this.belowLookup = {};\n var hasTraceAtTop = false;\n\n for(i = 0; i < calcData.length; i++) {\n var trace = calcData[i][0].trace;\n var _module = trace._module;\n\n if(typeof trace.below === 'string') {\n val = trace.below;\n } else if(_module.getBelow) {\n // 'smart' default that depend the map's base layers\n val = _module.getBelow(trace, this);\n }\n\n if(val === '') {\n hasTraceAtTop = true;\n }\n\n belowLookup['trace-' + trace.uid] = val || '';\n }\n\n for(i = 0; i < layers.length; i++) {\n var item = layers[i];\n\n if(typeof item.below === 'string') {\n val = item.below;\n } else if(hasTraceAtTop) {\n // if one or more trace(s) set `below:''` and\n // layers[i].below is unset,\n // place layer below traces\n val = 'traces';\n } else {\n val = '';\n }\n\n belowLookup['layout-' + i] = val;\n }\n\n // N.B. If multiple layers have the 'below' value,\n // we must clear the stashed 'below' field in order\n // to make `traceHash[k].update()` and `layerList[i].update()`\n // remove/add the all those layers to have preserve\n // the correct layer ordering\n var val2list = {};\n var k, id;\n\n for(k in belowLookup) {\n val = belowLookup[k];\n if(val2list[val]) {\n val2list[val].push(k);\n } else {\n val2list[val] = [k];\n }\n }\n\n for(val in val2list) {\n var list = val2list[val];\n if(list.length > 1) {\n for(i = 0; i < list.length; i++) {\n k = list[i];\n if(k.indexOf('trace-') === 0) {\n id = k.split('trace-')[1];\n if(this.traceHash[id]) {\n this.traceHash[id].below = null;\n }\n } else if(k.indexOf('layout-') === 0) {\n id = k.split('layout-')[1];\n if(this.layerList[id]) {\n this.layerList[id].below = null;\n }\n }\n }\n }\n }\n};\n\nvar traceType2orderIndex = {\n choroplethmapbox: 0,\n densitymapbox: 1,\n scattermapbox: 2\n};\n\nproto.updateData = function(calcData) {\n var traceHash = this.traceHash;\n var traceObj, trace, i, j;\n\n // Need to sort here by trace type here,\n // in case traces with different `type` have the same\n // below value, but sorting we ensure that\n // e.g. choroplethmapbox traces will be below scattermapbox traces\n var calcDataSorted = calcData.slice().sort(function(a, b) {\n return (\n traceType2orderIndex[a[0].trace.type] -\n traceType2orderIndex[b[0].trace.type]\n );\n });\n\n // update or create trace objects\n for(i = 0; i < calcDataSorted.length; i++) {\n var calcTrace = calcDataSorted[i];\n\n trace = calcTrace[0].trace;\n traceObj = traceHash[trace.uid];\n\n var didUpdate = false;\n if(traceObj) {\n if(traceObj.type === trace.type) {\n traceObj.update(calcTrace);\n didUpdate = true;\n } else {\n traceObj.dispose();\n }\n }\n if(!didUpdate && trace._module) {\n traceHash[trace.uid] = trace._module.plot(this, calcTrace);\n }\n }\n\n // remove empty trace objects\n var ids = Object.keys(traceHash);\n idLoop:\n for(i = 0; i < ids.length; i++) {\n var id = ids[i];\n\n for(j = 0; j < calcData.length; j++) {\n trace = calcData[j][0].trace;\n if(id === trace.uid) continue idLoop;\n }\n\n traceObj = traceHash[id];\n traceObj.dispose();\n delete traceHash[id];\n }\n};\n\nproto.updateLayout = function(fullLayout) {\n var map = this.map;\n var opts = fullLayout[this.id];\n\n if(!this.dragging && !this.wheeling) {\n map.setCenter(convertCenter(opts.center));\n map.setZoom(opts.zoom);\n map.setBearing(opts.bearing);\n map.setPitch(opts.pitch);\n }\n\n this.updateLayers(fullLayout);\n this.updateFramework(fullLayout);\n this.updateFx(fullLayout);\n this.map.resize();\n\n if(this.gd._context._scrollZoom.mapbox) {\n map.scrollZoom.enable();\n } else {\n map.scrollZoom.disable();\n }\n};\n\nproto.resolveOnRender = function(resolve) {\n var map = this.map;\n\n map.on('render', function onRender() {\n if(map.loaded()) {\n map.off('render', onRender);\n // resolve at end of render loop\n //\n // Need a 10ms delay (0ms should suffice to skip a thread in the\n // render loop) to workaround mapbox-gl bug introduced in v1.3.0\n setTimeout(resolve, 10);\n }\n });\n};\n\nproto.rejectOnError = function(reject) {\n var map = this.map;\n\n function handler() {\n reject(new Error(constants.mapOnErrorMsg));\n }\n\n map.once('error', handler);\n map.once('style.error', handler);\n map.once('source.error', handler);\n map.once('tile.error', handler);\n map.once('layer.error', handler);\n};\n\nproto.createFramework = function(fullLayout) {\n var self = this;\n\n var div = self.div = document.createElement('div');\n div.id = self.uid;\n div.style.position = 'absolute';\n self.container.appendChild(div);\n\n // create mock x/y axes for hover routine\n self.xaxis = {\n _id: 'x',\n c2p: function(v) { return self.project(v).x; }\n };\n self.yaxis = {\n _id: 'y',\n c2p: function(v) { return self.project(v).y; }\n };\n\n self.updateFramework(fullLayout);\n\n // mock axis for hover formatting\n self.mockAxis = {\n type: 'linear',\n showexponent: 'all',\n exponentformat: 'B'\n };\n Axes.setConvert(self.mockAxis, fullLayout);\n};\n\nproto.initFx = function(calcData, fullLayout) {\n var self = this;\n var gd = self.gd;\n var map = self.map;\n\n // keep track of pan / zoom in user layout and emit relayout event\n map.on('moveend', function(evt) {\n if(!self.map) return;\n\n var fullLayoutNow = gd._fullLayout;\n\n // 'moveend' gets triggered by map.setCenter, map.setZoom,\n // map.setBearing and map.setPitch.\n //\n // Here, we make sure that state updates amd 'plotly_relayout'\n // are triggered only when the 'moveend' originates from a\n // mouse target (filtering out API calls) to not\n // duplicate 'plotly_relayout' events.\n\n if(evt.originalEvent || self.wheeling) {\n var optsNow = fullLayoutNow[self.id];\n Registry.call('_storeDirectGUIEdit', gd.layout, fullLayoutNow._preGUI, self.getViewEdits(optsNow));\n\n var viewNow = self.getView();\n optsNow._input.center = optsNow.center = viewNow.center;\n optsNow._input.zoom = optsNow.zoom = viewNow.zoom;\n optsNow._input.bearing = optsNow.bearing = viewNow.bearing;\n optsNow._input.pitch = optsNow.pitch = viewNow.pitch;\n gd.emit('plotly_relayout', self.getViewEditsWithDerived(viewNow));\n }\n if(evt.originalEvent && evt.originalEvent.type === 'mouseup') {\n self.dragging = false;\n } else if(self.wheeling) {\n self.wheeling = false;\n }\n\n if(fullLayoutNow._rehover) {\n fullLayoutNow._rehover();\n }\n });\n\n map.on('wheel', function() {\n self.wheeling = true;\n });\n\n map.on('mousemove', function(evt) {\n var bb = self.div.getBoundingClientRect();\n\n // some hackery to get Fx.hover to work\n evt.clientX = evt.point.x + bb.left;\n evt.clientY = evt.point.y + bb.top;\n\n evt.target.getBoundingClientRect = function() { return bb; };\n\n self.xaxis.p2c = function() { return evt.lngLat.lng; };\n self.yaxis.p2c = function() { return evt.lngLat.lat; };\n\n gd._fullLayout._rehover = function() {\n if(gd._fullLayout._hoversubplot === self.id && gd._fullLayout[self.id]) {\n Fx.hover(gd, evt, self.id);\n }\n };\n\n Fx.hover(gd, evt, self.id);\n gd._fullLayout._hoversubplot = self.id;\n });\n\n function unhover() {\n Fx.loneUnhover(fullLayout._hoverlayer);\n }\n\n map.on('dragstart', function() {\n self.dragging = true;\n unhover();\n });\n map.on('zoomstart', unhover);\n\n map.on('mouseout', function() {\n gd._fullLayout._hoversubplot = null;\n });\n\n function emitUpdate() {\n var viewNow = self.getView();\n gd.emit('plotly_relayouting', self.getViewEditsWithDerived(viewNow));\n }\n\n map.on('drag', emitUpdate);\n map.on('zoom', emitUpdate);\n\n map.on('dblclick', function() {\n var optsNow = gd._fullLayout[self.id];\n Registry.call('_storeDirectGUIEdit', gd.layout, gd._fullLayout._preGUI, self.getViewEdits(optsNow));\n\n var viewInitial = self.viewInitial;\n map.setCenter(convertCenter(viewInitial.center));\n map.setZoom(viewInitial.zoom);\n map.setBearing(viewInitial.bearing);\n map.setPitch(viewInitial.pitch);\n\n var viewNow = self.getView();\n optsNow._input.center = optsNow.center = viewNow.center;\n optsNow._input.zoom = optsNow.zoom = viewNow.zoom;\n optsNow._input.bearing = optsNow.bearing = viewNow.bearing;\n optsNow._input.pitch = optsNow.pitch = viewNow.pitch;\n\n gd.emit('plotly_doubleclick', null);\n gd.emit('plotly_relayout', self.getViewEditsWithDerived(viewNow));\n });\n\n // define event handlers on map creation, to keep one ref per map,\n // so that map.on / map.off in updateFx works as expected\n self.clearSelect = function() {\n gd._fullLayout._zoomlayer.selectAll('.select-outline').remove();\n };\n\n /**\n * Returns a click handler function that is supposed\n * to handle clicks in pan mode.\n */\n self.onClickInPanFn = function(dragOptions) {\n return function(evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n if(clickMode.indexOf('select') > -1) {\n selectOnClick(evt.originalEvent, gd, [self.xaxis], [self.yaxis], self.id, dragOptions);\n }\n\n if(clickMode.indexOf('event') > -1) {\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change mapbox to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // pie would use this too.\n Fx.click(gd, evt.originalEvent);\n }\n };\n };\n};\n\nproto.updateFx = function(fullLayout) {\n var self = this;\n var map = self.map;\n var gd = self.gd;\n\n if(self.isStatic) return;\n\n function invert(pxpy) {\n var obj = self.map.unproject(pxpy);\n return [obj.lng, obj.lat];\n }\n\n var dragMode = fullLayout.dragmode;\n var fillRangeItems;\n\n if(dragMode === 'select') {\n fillRangeItems = function(eventData, poly) {\n var ranges = eventData.range = {};\n ranges[self.id] = [\n invert([poly.xmin, poly.ymin]),\n invert([poly.xmax, poly.ymax])\n ];\n };\n } else {\n fillRangeItems = function(eventData, poly, pts) {\n var dataPts = eventData.lassoPoints = {};\n dataPts[self.id] = pts.filtered.map(invert);\n };\n }\n\n // Note: dragOptions is needed to be declared for all dragmodes because\n // it's the object that holds persistent selection state.\n // Merge old dragOptions with new to keep possibly initialized\n // persistent selection state.\n var oldDragOptions = self.dragOptions;\n self.dragOptions = Lib.extendDeep(oldDragOptions || {}, {\n element: self.div,\n gd: gd,\n plotinfo: {\n id: self.id,\n xaxis: self.xaxis,\n yaxis: self.yaxis,\n fillRangeItems: fillRangeItems\n },\n xaxes: [self.xaxis],\n yaxes: [self.yaxis],\n subplot: self.id\n });\n\n // Unregister the old handler before potentially registering\n // a new one. Otherwise multiple click handlers might\n // be registered resulting in unwanted behavior.\n map.off('click', self.onClickInPanHandler);\n if(dragMode === 'select' || dragMode === 'lasso') {\n map.dragPan.disable();\n map.on('zoomstart', self.clearSelect);\n\n self.dragOptions.prepFn = function(e, startX, startY) {\n prepSelect(e, startX, startY, self.dragOptions, dragMode);\n };\n\n dragElement.init(self.dragOptions);\n } else {\n map.dragPan.enable();\n map.off('zoomstart', self.clearSelect);\n self.div.onmousedown = null;\n\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change mapbox to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // pie would use this too.\n self.onClickInPanHandler = self.onClickInPanFn(self.dragOptions);\n map.on('click', self.onClickInPanHandler);\n }\n};\n\nproto.updateFramework = function(fullLayout) {\n var domain = fullLayout[this.id].domain;\n var size = fullLayout._size;\n\n var style = this.div.style;\n style.width = size.w * (domain.x[1] - domain.x[0]) + 'px';\n style.height = size.h * (domain.y[1] - domain.y[0]) + 'px';\n style.left = size.l + domain.x[0] * size.w + 'px';\n style.top = size.t + (1 - domain.y[1]) * size.h + 'px';\n\n this.xaxis._offset = size.l + domain.x[0] * size.w;\n this.xaxis._length = size.w * (domain.x[1] - domain.x[0]);\n\n this.yaxis._offset = size.t + (1 - domain.y[1]) * size.h;\n this.yaxis._length = size.h * (domain.y[1] - domain.y[0]);\n};\n\nproto.updateLayers = function(fullLayout) {\n var opts = fullLayout[this.id];\n var layers = opts.layers;\n var layerList = this.layerList;\n var i;\n\n // if the layer arrays don't match,\n // don't try to be smart,\n // delete them all, and start all over.\n\n if(layers.length !== layerList.length) {\n for(i = 0; i < layerList.length; i++) {\n layerList[i].dispose();\n }\n\n layerList = this.layerList = [];\n\n for(i = 0; i < layers.length; i++) {\n layerList.push(createMapboxLayer(this, i, layers[i]));\n }\n } else {\n for(i = 0; i < layers.length; i++) {\n layerList[i].update(layers[i]);\n }\n }\n};\n\nproto.destroy = function() {\n if(this.map) {\n this.map.remove();\n this.map = null;\n this.container.removeChild(this.div);\n }\n};\n\nproto.toImage = function() {\n this.map.stop();\n return this.map.getCanvas().toDataURL();\n};\n\n// convenience wrapper to create set multiple layer\n// 'layout' or 'paint options at once.\nproto.setOptions = function(id, methodName, opts) {\n for(var k in opts) {\n this.map[methodName](id, k, opts[k]);\n }\n};\n\nproto.getMapLayers = function() {\n return this.map.getStyle().layers;\n};\n\n// convenience wrapper that first check in 'below' references\n// a layer that exist and then add the layer to the map,\nproto.addLayer = function(opts, below) {\n var map = this.map;\n\n if(typeof below === 'string') {\n if(below === '') {\n map.addLayer(opts, below);\n return;\n }\n\n var mapLayers = this.getMapLayers();\n for(var i = 0; i < mapLayers.length; i++) {\n if(below === mapLayers[i].id) {\n map.addLayer(opts, below);\n return;\n }\n }\n\n Lib.warn([\n 'Trying to add layer with *below* value',\n below,\n 'referencing a layer that does not exist',\n 'or that does not yet exist.'\n ].join(' '));\n }\n\n map.addLayer(opts);\n};\n\n// convenience method to project a [lon, lat] array to pixel coords\nproto.project = function(v) {\n return this.map.project(new mapboxgl.LngLat(v[0], v[1]));\n};\n\n// get map's current view values in plotly.js notation\nproto.getView = function() {\n var map = this.map;\n var mapCenter = map.getCenter();\n var center = { lon: mapCenter.lng, lat: mapCenter.lat };\n\n var canvas = map.getCanvas();\n var w = canvas.width;\n var h = canvas.height;\n return {\n center: center,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n _derived: {\n coordinates: [\n map.unproject([0, 0]).toArray(),\n map.unproject([w, 0]).toArray(),\n map.unproject([w, h]).toArray(),\n map.unproject([0, h]).toArray()\n ]\n }\n };\n};\n\nproto.getViewEdits = function(cont) {\n var id = this.id;\n var keys = ['center', 'zoom', 'bearing', 'pitch'];\n var obj = {};\n\n for(var i = 0; i < keys.length; i++) {\n var k = keys[i];\n obj[id + '.' + k] = cont[k];\n }\n\n return obj;\n};\n\nproto.getViewEditsWithDerived = function(cont) {\n var id = this.id;\n var obj = this.getViewEdits(cont);\n obj[id + '._derived'] = cont._derived;\n return obj;\n};\n\nfunction getStyleObj(val) {\n var styleObj = {};\n\n if(Lib.isPlainObject(val)) {\n styleObj.id = val.id;\n styleObj.style = val;\n } else if(typeof val === 'string') {\n styleObj.id = val;\n\n if(constants.styleValuesMapbox.indexOf(val) !== -1) {\n styleObj.style = convertStyleVal(val);\n } else if(constants.stylesNonMapbox[val]) {\n styleObj.style = constants.stylesNonMapbox[val];\n } else {\n styleObj.style = val;\n }\n } else {\n styleObj.id = constants.styleValueDflt;\n styleObj.style = convertStyleVal(constants.styleValueDflt);\n }\n\n styleObj.transition = {duration: 0, delay: 0};\n\n return styleObj;\n}\n\n// if style is part of the 'official' mapbox values, add URL prefix and suffix\nfunction convertStyleVal(val) {\n return constants.styleUrlPrefix + val + '-' + constants.styleUrlSuffix;\n}\n\nfunction convertCenter(center) {\n return [center.lon, center.lat];\n}\n\nmodule.exports = Mapbox;\n\n\n/***/ }),\n\n/***/ \"3fe8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleOHLC(traceIn, traceOut, coerce, layout) {\n var x = coerce('x');\n var open = coerce('open');\n var high = coerce('high');\n var low = coerce('low');\n var close = coerce('close');\n\n coerce('hoverlabel.split');\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x'], layout);\n\n if(!(open && high && low && close)) return;\n\n var len = Math.min(open.length, high.length, low.length, close.length);\n if(x) len = Math.min(len, Lib.minRowLength(x));\n traceOut._length = len;\n\n return len;\n};\n\n\n/***/ }),\n\n/***/ \"3ff5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * This will be transferred over to gd and overridden by\n * config args to Plotly.plot.\n *\n * The defaults are the appropriate settings for plotly.js,\n * so we get the right experience without any config argument.\n *\n * N.B. the config options are not coerced using Lib.coerce so keys\n * like `valType` and `values` are only set for documentation purposes\n * at the moment.\n */\n\nvar configAttributes = {\n staticPlot: {\n valType: 'boolean',\n dflt: false,\n \n },\n\n plotlyServerURL: {\n valType: 'string',\n dflt: 'https://plot.ly',\n \n },\n\n editable: {\n valType: 'boolean',\n dflt: false,\n \n },\n edits: {\n annotationPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n annotationTail: {\n valType: 'boolean',\n dflt: false,\n \n },\n annotationText: {\n valType: 'boolean',\n dflt: false,\n \n },\n axisTitleText: {\n valType: 'boolean',\n dflt: false,\n \n },\n colorbarPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n colorbarTitleText: {\n valType: 'boolean',\n dflt: false,\n \n },\n legendPosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n legendText: {\n valType: 'boolean',\n dflt: false,\n \n },\n shapePosition: {\n valType: 'boolean',\n dflt: false,\n \n },\n titleText: {\n valType: 'boolean',\n dflt: false,\n \n }\n },\n\n autosizable: {\n valType: 'boolean',\n dflt: false,\n \n },\n responsive: {\n valType: 'boolean',\n dflt: false,\n \n },\n fillFrame: {\n valType: 'boolean',\n dflt: false,\n \n },\n frameMargins: {\n valType: 'number',\n dflt: 0,\n min: 0,\n max: 0.5,\n \n },\n\n scrollZoom: {\n valType: 'flaglist',\n flags: ['cartesian', 'gl3d', 'geo', 'mapbox'],\n extras: [true, false],\n dflt: 'gl3d+geo+mapbox',\n \n },\n doubleClick: {\n valType: 'enumerated',\n values: [false, 'reset', 'autosize', 'reset+autosize'],\n dflt: 'reset+autosize',\n \n },\n doubleClickDelay: {\n valType: 'number',\n dflt: 300,\n min: 0,\n \n },\n\n showAxisDragHandles: {\n valType: 'boolean',\n dflt: true,\n \n },\n showAxisRangeEntryBoxes: {\n valType: 'boolean',\n dflt: true,\n \n },\n\n showTips: {\n valType: 'boolean',\n dflt: true,\n \n },\n\n showLink: {\n valType: 'boolean',\n dflt: false,\n \n },\n linkText: {\n valType: 'string',\n dflt: 'Edit chart',\n noBlank: true,\n \n },\n sendData: {\n valType: 'boolean',\n dflt: true,\n \n },\n showSources: {\n valType: 'any',\n dflt: false,\n \n },\n\n displayModeBar: {\n valType: 'enumerated',\n values: ['hover', true, false],\n dflt: 'hover',\n \n },\n showSendToCloud: {\n valType: 'boolean',\n dflt: false,\n \n },\n showEditInChartStudio: {\n valType: 'boolean',\n dflt: false,\n \n },\n modeBarButtonsToRemove: {\n valType: 'any',\n dflt: [],\n \n },\n modeBarButtonsToAdd: {\n valType: 'any',\n dflt: [],\n \n },\n modeBarButtons: {\n valType: 'any',\n dflt: false,\n \n },\n toImageButtonOptions: {\n valType: 'any',\n dflt: {},\n \n },\n displaylogo: {\n valType: 'boolean',\n dflt: true,\n \n },\n watermark: {\n valType: 'boolean',\n dflt: false,\n \n },\n\n plotGlPixelRatio: {\n valType: 'number',\n dflt: 2,\n min: 1,\n max: 4,\n \n },\n\n setBackground: {\n valType: 'any',\n dflt: 'transparent',\n \n },\n\n topojsonURL: {\n valType: 'string',\n noBlank: true,\n dflt: 'https://cdn.plot.ly/',\n \n },\n\n mapboxAccessToken: {\n valType: 'string',\n dflt: null,\n \n },\n\n logging: {\n valType: 'integer',\n min: 0,\n max: 2,\n dflt: 1,\n \n },\n\n notifyOnLogging: {\n valType: 'integer',\n min: 0,\n max: 2,\n dflt: 0,\n \n },\n\n queueLength: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n },\n\n globalTransforms: {\n valType: 'any',\n dflt: [],\n \n },\n\n locale: {\n valType: 'string',\n dflt: 'en-US',\n \n },\n\n locales: {\n valType: 'any',\n dflt: {},\n \n }\n};\n\nvar dfltConfig = {};\n\nfunction crawl(src, target) {\n for(var k in src) {\n var obj = src[k];\n if(obj.valType) {\n target[k] = obj.dflt;\n } else {\n if(!target[k]) {\n target[k] = {};\n }\n crawl(obj, target[k]);\n }\n }\n}\n\ncrawl(configAttributes, dfltConfig);\n\nmodule.exports = {\n configAttributes: configAttributes,\n dfltConfig: dfltConfig\n};\n\n\n/***/ }),\n\n/***/ \"3ff7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n xaxis: {\n valType: 'subplotid',\n \n dflt: 'x',\n editType: 'calc+clearAxisTypes',\n \n },\n yaxis: {\n valType: 'subplotid',\n \n dflt: 'y',\n editType: 'calc+clearAxisTypes',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"402e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\n\nvar pool = __webpack_require__(\"cea5\")\n\nvar SHADERS = __webpack_require__(\"c9eb\")\n\nmodule.exports = createPointcloud2D\n\nfunction Pointcloud2D(plot, offsetBuffer, pickBuffer, shader, pickShader) {\n this.plot = plot\n this.offsetBuffer = offsetBuffer\n this.pickBuffer = pickBuffer\n this.shader = shader\n this.pickShader = pickShader\n this.sizeMin = 0.5\n this.sizeMinCap = 2\n this.sizeMax = 20\n this.areaRatio = 1.0\n this.pointCount = 0\n this.color = [1, 0, 0, 1]\n this.borderColor = [0, 0, 0, 1]\n this.blend = false\n this.pickOffset = 0\n this.points = null\n}\n\nvar proto = Pointcloud2D.prototype\n\nproto.dispose = function() {\n this.shader.dispose()\n this.pickShader.dispose()\n this.offsetBuffer.dispose()\n this.pickBuffer.dispose()\n this.plot.removeObject(this)\n}\n\nproto.update = function(options) {\n\n var i\n\n options = options || {}\n\n function dflt(opt, value) {\n if(opt in options) {\n return options[opt]\n }\n return value\n }\n\n this.sizeMin = dflt('sizeMin', 0.5)\n // this.sizeMinCap = dflt('sizeMinCap', 2)\n this.sizeMax = dflt('sizeMax', 20)\n this.color = dflt('color', [1, 0, 0, 1]).slice()\n this.areaRatio = dflt('areaRatio', 1)\n this.borderColor = dflt('borderColor', [0, 0, 0, 1]).slice()\n this.blend = dflt('blend', false)\n\n //Update point data\n\n // Attempt straight-through processing (STP) to avoid allocation and copy\n // TODO eventually abstract out STP logic, maybe into `pool` or a layer above\n var pointCount = options.positions.length >>> 1\n var dataStraightThrough = options.positions instanceof Float32Array\n var idStraightThrough = options.idToIndex instanceof Int32Array && options.idToIndex.length >= pointCount // permit larger to help reuse\n\n var data = options.positions\n var packed = dataStraightThrough ? data : pool.mallocFloat32(data.length)\n var packedId = idStraightThrough ? options.idToIndex : pool.mallocInt32(pointCount)\n\n if(!dataStraightThrough) {\n packed.set(data)\n }\n\n if(!idStraightThrough) {\n packed.set(data)\n for(i = 0; i < pointCount; i++) {\n packedId[i] = i\n }\n }\n\n this.points = data\n\n this.offsetBuffer.update(packed)\n this.pickBuffer.update(packedId)\n\n if(!dataStraightThrough) {\n pool.free(packed)\n }\n\n if(!idStraightThrough) {\n pool.free(packedId)\n }\n\n this.pointCount = pointCount\n this.pickOffset = 0\n}\n\nfunction count(points, dataBox) {\n var visiblePointCountEstimate = 0\n var length = points.length >>> 1\n var i\n for(i = 0; i < length; i++) {\n var x = points[i * 2]\n var y = points[i * 2 + 1]\n if(x >= dataBox[0] && x <= dataBox[2] && y >= dataBox[1] && y <= dataBox[3])\n visiblePointCountEstimate++\n }\n return visiblePointCountEstimate\n}\n\nproto.unifiedDraw = (function() {\n var MATRIX = [1, 0, 0,\n 0, 1, 0,\n 0, 0, 1]\n var PICK_VEC4 = [0, 0, 0, 0]\nreturn function(pickOffset) {\n var pick = pickOffset !== void(0)\n\n var shader = pick ? this.pickShader : this.shader\n var gl = this.plot.gl\n var dataBox = this.plot.dataBox\n\n if(this.pointCount === 0) {\n return pickOffset\n }\n\n var dataX = dataBox[2] - dataBox[0]\n var dataY = dataBox[3] - dataBox[1]\n\n var visiblePointCountEstimate = count(this.points, dataBox)\n var basicPointSize = this.plot.pickPixelRatio * Math.max(Math.min(this.sizeMinCap, this.sizeMin), Math.min(this.sizeMax, this.sizeMax / Math.pow(visiblePointCountEstimate, 0.33333)))\n\n MATRIX[0] = 2.0 / dataX\n MATRIX[4] = 2.0 / dataY\n MATRIX[6] = -2.0 * dataBox[0] / dataX - 1.0\n MATRIX[7] = -2.0 * dataBox[1] / dataY - 1.0\n\n this.offsetBuffer.bind()\n\n shader.bind()\n shader.attributes.position.pointer()\n shader.uniforms.matrix = MATRIX\n shader.uniforms.color = this.color\n shader.uniforms.borderColor = this.borderColor\n shader.uniforms.pointCloud = basicPointSize < 5\n shader.uniforms.pointSize = basicPointSize\n shader.uniforms.centerFraction = Math.min(1, Math.max(0, Math.sqrt(1 - this.areaRatio)))\n\n if(pick) {\n\n PICK_VEC4[0] = ( pickOffset & 0xff)\n PICK_VEC4[1] = ((pickOffset >> 8) & 0xff)\n PICK_VEC4[2] = ((pickOffset >> 16) & 0xff)\n PICK_VEC4[3] = ((pickOffset >> 24) & 0xff)\n\n this.pickBuffer.bind()\n shader.attributes.pickId.pointer(gl.UNSIGNED_BYTE)\n shader.uniforms.pickOffset = PICK_VEC4\n this.pickOffset = pickOffset\n }\n\n // Worth switching these off, but we can't make assumptions about other\n // renderers, so let's restore it after each draw\n var blend = gl.getParameter(gl.BLEND)\n var dither = gl.getParameter(gl.DITHER)\n\n if(blend && !this.blend)\n gl.disable(gl.BLEND)\n if(dither)\n gl.disable(gl.DITHER)\n\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n\n if(blend && !this.blend)\n gl.enable(gl.BLEND)\n if(dither)\n gl.enable(gl.DITHER)\n\n return pickOffset + this.pointCount\n}\n})()\n\nproto.draw = proto.unifiedDraw\nproto.drawPick = proto.unifiedDraw\n\nproto.pick = function(x, y, value) {\n var pickOffset = this.pickOffset\n var pointCount = this.pointCount\n if(value < pickOffset || value >= pickOffset + pointCount) {\n return null\n }\n var pointId = value - pickOffset\n var points = this.points\n return {\n object: this,\n pointId: pointId,\n dataCoord: [points[2 * pointId], points[2 * pointId + 1] ]\n }\n}\n\nfunction createPointcloud2D(plot, options) {\n var gl = plot.gl\n var buffer = createBuffer(gl)\n var pickBuffer = createBuffer(gl)\n var shader = createShader(gl, SHADERS.pointVertex, SHADERS.pointFragment)\n var pickShader = createShader(gl, SHADERS.pickVertex, SHADERS.pickFragment)\n\n var result = new Pointcloud2D(plot, buffer, pickBuffer, shader, pickShader)\n result.update(options)\n\n //Register with plot\n plot.addObject(result)\n\n return result\n}\n\n\n/***/ }),\n\n/***/ \"4051\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar helpers = __webpack_require__(\"2969f\");\nvar calcHover = __webpack_require__(\"98e7\").calcHover;\n\nfunction hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var scene = pointData.scene;\n var cdata = scene.matrixOptions.cdata;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var xpx = xa.c2p(xval);\n var ypx = ya.c2p(yval);\n var maxDistance = pointData.distance;\n\n var xi = helpers.getDimIndex(trace, xa);\n var yi = helpers.getDimIndex(trace, ya);\n if(xi === false || yi === false) return [pointData];\n\n var x = cdata[xi];\n var y = cdata[yi];\n\n var id, dxy;\n var minDist = maxDistance;\n\n for(var i = 0; i < x.length; i++) {\n var ptx = x[i];\n var pty = y[i];\n var dx = xa.c2p(ptx) - xpx;\n var dy = ya.c2p(pty) - ypx;\n var dist = Math.sqrt(dx * dx + dy * dy);\n\n if(dist < minDist) {\n minDist = dxy = dist;\n id = i;\n }\n }\n\n pointData.index = id;\n pointData.distance = minDist;\n pointData.dxy = dxy;\n\n if(id === undefined) return [pointData];\n\n return [calcHover(pointData, x, y, trace)];\n}\n\nmodule.exports = {\n hoverPoints: hoverPoints\n};\n\n\n/***/ }),\n\n/***/ \"409f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar meta_1 = __webpack_require__(\"716c\");\n/**\n * Takes a set of features, calculates the bbox of all input features, and returns a bounding box.\n *\n * @name bbox\n * @param {GeoJSON} geojson any GeoJSON object\n * @returns {BBox} bbox extent in [minX, minY, maxX, maxY] order\n * @example\n * var line = turf.lineString([[-74, 40], [-78, 42], [-82, 35]]);\n * var bbox = turf.bbox(line);\n * var bboxPolygon = turf.bboxPolygon(bbox);\n *\n * //addToMap\n * var addToMap = [line, bboxPolygon]\n */\nfunction bbox(geojson) {\n var result = [Infinity, Infinity, -Infinity, -Infinity];\n meta_1.coordEach(geojson, function (coord) {\n if (result[0] > coord[0]) {\n result[0] = coord[0];\n }\n if (result[1] > coord[1]) {\n result[1] = coord[1];\n }\n if (result[2] < coord[0]) {\n result[2] = coord[0];\n }\n if (result[3] < coord[1]) {\n result[3] = coord[1];\n }\n });\n return result;\n}\nexports.default = bbox;\n\n\n/***/ }),\n\n/***/ \"40c0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar barAttrs = __webpack_require__(\"fb5a\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar makeBinAttrs = __webpack_require__(\"4274\");\nvar constants = __webpack_require__(\"8d0e\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = {\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n text: extendFlat({}, barAttrs.text, {\n \n }),\n hovertext: extendFlat({}, barAttrs.hovertext, {\n \n }),\n orientation: barAttrs.orientation,\n\n histfunc: {\n valType: 'enumerated',\n values: ['count', 'sum', 'avg', 'min', 'max'],\n \n dflt: 'count',\n editType: 'calc',\n \n },\n histnorm: {\n valType: 'enumerated',\n values: ['', 'percent', 'probability', 'density', 'probability density'],\n dflt: '',\n \n editType: 'calc',\n \n },\n\n cumulative: {\n enabled: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'calc',\n \n },\n\n direction: {\n valType: 'enumerated',\n values: ['increasing', 'decreasing'],\n dflt: 'increasing',\n \n editType: 'calc',\n \n },\n\n currentbin: {\n valType: 'enumerated',\n values: ['include', 'exclude', 'half'],\n dflt: 'include',\n \n editType: 'calc',\n \n },\n editType: 'calc'\n },\n nbinsx: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: 'calc',\n \n },\n xbins: makeBinAttrs('x', true),\n\n nbinsy: {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: 'calc',\n \n },\n ybins: makeBinAttrs('y', true),\n autobinx: {\n valType: 'boolean',\n dflt: null,\n \n editType: 'calc',\n \n },\n autobiny: {\n valType: 'boolean',\n dflt: null,\n \n editType: 'calc',\n \n },\n\n bingroup: {\n valType: 'string',\n \n dflt: '',\n editType: 'calc',\n \n },\n\n hovertemplate: hovertemplateAttrs({}, {\n keys: constants.eventDataKeys\n }),\n\n marker: barAttrs.marker,\n\n offsetgroup: barAttrs.offsetgroup,\n alignmentgroup: barAttrs.alignmentgroup,\n\n selected: barAttrs.selected,\n unselected: barAttrs.unselected,\n\n _deprecated: {\n bardir: barAttrs._deprecated.bardir\n }\n};\n\n\n/***/ }),\n\n/***/ \"40ce\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createThunk = __webpack_require__(\"d37d\")\n\nfunction Procedure() {\n this.argTypes = []\n this.shimArgs = []\n this.arrayArgs = []\n this.arrayBlockIndices = []\n this.scalarArgs = []\n this.offsetArgs = []\n this.offsetArgIndex = []\n this.indexArgs = []\n this.shapeArgs = []\n this.funcName = \"\"\n this.pre = null\n this.body = null\n this.post = null\n this.debug = false\n}\n\nfunction compileCwise(user_args) {\n //Create procedure\n var proc = new Procedure()\n \n //Parse blocks\n proc.pre = user_args.pre\n proc.body = user_args.body\n proc.post = user_args.post\n\n //Parse arguments\n var proc_args = user_args.args.slice(0)\n proc.argTypes = proc_args\n for(var i=0; i0) {\n throw new Error(\"cwise: pre() block may not reference array args\")\n }\n if(i < proc.post.args.length && proc.post.args[i].count>0) {\n throw new Error(\"cwise: post() block may not reference array args\")\n }\n } else if(arg_type === \"scalar\") {\n proc.scalarArgs.push(i)\n proc.shimArgs.push(\"scalar\" + i)\n } else if(arg_type === \"index\") {\n proc.indexArgs.push(i)\n if(i < proc.pre.args.length && proc.pre.args[i].count > 0) {\n throw new Error(\"cwise: pre() block may not reference array index\")\n }\n if(i < proc.body.args.length && proc.body.args[i].lvalue) {\n throw new Error(\"cwise: body() block may not write to array index\")\n }\n if(i < proc.post.args.length && proc.post.args[i].count > 0) {\n throw new Error(\"cwise: post() block may not reference array index\")\n }\n } else if(arg_type === \"shape\") {\n proc.shapeArgs.push(i)\n if(i < proc.pre.args.length && proc.pre.args[i].lvalue) {\n throw new Error(\"cwise: pre() block may not write to array shape\")\n }\n if(i < proc.body.args.length && proc.body.args[i].lvalue) {\n throw new Error(\"cwise: body() block may not write to array shape\")\n }\n if(i < proc.post.args.length && proc.post.args[i].lvalue) {\n throw new Error(\"cwise: post() block may not write to array shape\")\n }\n } else if(typeof arg_type === \"object\" && arg_type.offset) {\n proc.argTypes[i] = \"offset\"\n proc.offsetArgs.push({ array: arg_type.array, offset:arg_type.offset })\n proc.offsetArgIndex.push(i)\n } else {\n throw new Error(\"cwise: Unknown argument type \" + proc_args[i])\n }\n }\n \n //Make sure at least one array argument was specified\n if(proc.arrayArgs.length <= 0) {\n throw new Error(\"cwise: No array arguments specified\")\n }\n \n //Make sure arguments are correct\n if(proc.pre.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in pre() block\")\n }\n if(proc.body.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in body() block\")\n }\n if(proc.post.args.length > proc_args.length) {\n throw new Error(\"cwise: Too many arguments in post() block\")\n }\n\n //Check debug flag\n proc.debug = !!user_args.printCode || !!user_args.debug\n \n //Retrieve name\n proc.funcName = user_args.funcName || \"cwise\"\n \n //Read in block size\n proc.blockSize = user_args.blockSize || 64\n\n return createThunk(proc)\n}\n\nmodule.exports = compileCwise\n\n\n/***/ }),\n\n/***/ \"4136\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function calcSelection(cd, trace) {\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n Lib.tagSelected(cd, trace);\n }\n};\n\n\n/***/ }),\n\n/***/ \"4160\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar forEach = __webpack_require__(\"17c2\");\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n\n\n/***/ }),\n\n/***/ \"4168\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nvar bsearch = __webpack_require__(\"7fcc\")\r\nvar m4interp = __webpack_require__(\"8b23\")\r\nvar invert44 = __webpack_require__(\"9343\")\r\nvar rotateX = __webpack_require__(\"e9e1\")\r\nvar rotateY = __webpack_require__(\"44fe\")\r\nvar rotateZ = __webpack_require__(\"fc11\")\r\nvar lookAt = __webpack_require__(\"e581\")\r\nvar translate = __webpack_require__(\"6f51\")\r\nvar scale = __webpack_require__(\"9ca2\")\r\nvar normalize = __webpack_require__(\"913b\")\r\n\r\nvar DEFAULT_CENTER = [0,0,0]\r\n\r\nmodule.exports = createMatrixCameraController\r\n\r\nfunction MatrixCameraController(initialMatrix) {\r\n this._components = initialMatrix.slice()\r\n this._time = [0]\r\n this.prevMatrix = initialMatrix.slice()\r\n this.nextMatrix = initialMatrix.slice()\r\n this.computedMatrix = initialMatrix.slice()\r\n this.computedInverse = initialMatrix.slice()\r\n this.computedEye = [0,0,0]\r\n this.computedUp = [0,0,0]\r\n this.computedCenter = [0,0,0]\r\n this.computedRadius = [0]\r\n this._limits = [-Infinity, Infinity]\r\n}\r\n\r\nvar proto = MatrixCameraController.prototype\r\n\r\nproto.recalcMatrix = function(t) {\r\n var time = this._time\r\n var tidx = bsearch.le(time, t)\r\n var mat = this.computedMatrix\r\n if(tidx < 0) {\r\n return\r\n }\r\n var comps = this._components\r\n if(tidx === time.length-1) {\r\n var ptr = 16*tidx\r\n for(var i=0; i<16; ++i) {\r\n mat[i] = comps[ptr++]\r\n }\r\n } else {\r\n var dt = (time[tidx+1] - time[tidx])\r\n var ptr = 16*tidx\r\n var prev = this.prevMatrix\r\n var allEqual = true\r\n for(var i=0; i<16; ++i) {\r\n prev[i] = comps[ptr++]\r\n }\r\n var next = this.nextMatrix\r\n for(var i=0; i<16; ++i) {\r\n next[i] = comps[ptr++]\r\n allEqual = allEqual && (prev[i] === next[i])\r\n }\r\n if(dt < 1e-6 || allEqual) {\r\n for(var i=0; i<16; ++i) {\r\n mat[i] = prev[i]\r\n }\r\n } else {\r\n m4interp(mat, prev, next, (t - time[tidx])/dt)\r\n }\r\n }\r\n\r\n var up = this.computedUp\r\n up[0] = mat[1]\r\n up[1] = mat[5]\r\n up[2] = mat[9]\r\n normalize(up, up)\r\n\r\n var imat = this.computedInverse\r\n invert44(imat, mat)\r\n var eye = this.computedEye\r\n var w = imat[15]\r\n eye[0] = imat[12]/w\r\n eye[1] = imat[13]/w\r\n eye[2] = imat[14]/w\r\n\r\n var center = this.computedCenter\r\n var radius = Math.exp(this.computedRadius[0])\r\n for(var i=0; i<3; ++i) {\r\n center[i] = eye[i] - mat[2+4*i] * radius\r\n }\r\n}\r\n\r\nproto.idle = function(t) {\r\n if(t < this.lastT()) {\r\n return\r\n }\r\n var mc = this._components\r\n var ptr = mc.length-16\r\n for(var i=0; i<16; ++i) {\r\n mc.push(mc[ptr++])\r\n }\r\n this._time.push(t)\r\n}\r\n\r\nproto.flush = function(t) {\r\n var idx = bsearch.gt(this._time, t) - 2\r\n if(idx < 0) {\r\n return\r\n }\r\n this._time.splice(0, idx)\r\n this._components.splice(0, 16*idx)\r\n}\r\n\r\nproto.lastT = function() {\r\n return this._time[this._time.length-1]\r\n}\r\n\r\nproto.lookAt = function(t, eye, center, up) {\r\n this.recalcMatrix(t)\r\n eye = eye || this.computedEye\r\n center = center || DEFAULT_CENTER\r\n up = up || this.computedUp\r\n this.setMatrix(t, lookAt(this.computedMatrix, eye, center, up))\r\n var d2 = 0.0\r\n for(var i=0; i<3; ++i) {\r\n d2 += Math.pow(center[i] - eye[i], 2)\r\n }\r\n d2 = Math.log(Math.sqrt(d2))\r\n this.computedRadius[0] = d2\r\n}\r\n\r\nproto.rotate = function(t, yaw, pitch, roll) {\r\n this.recalcMatrix(t)\r\n var mat = this.computedInverse\r\n if(yaw) rotateY(mat, mat, yaw)\r\n if(pitch) rotateX(mat, mat, pitch)\r\n if(roll) rotateZ(mat, mat, roll)\r\n this.setMatrix(t, invert44(this.computedMatrix, mat))\r\n}\r\n\r\nvar tvec = [0,0,0]\r\n\r\nproto.pan = function(t, dx, dy, dz) {\r\n tvec[0] = -(dx || 0.0)\r\n tvec[1] = -(dy || 0.0)\r\n tvec[2] = -(dz || 0.0)\r\n this.recalcMatrix(t)\r\n var mat = this.computedInverse\r\n translate(mat, mat, tvec)\r\n this.setMatrix(t, invert44(mat, mat))\r\n}\r\n\r\nproto.translate = function(t, dx, dy, dz) {\r\n tvec[0] = dx || 0.0\r\n tvec[1] = dy || 0.0\r\n tvec[2] = dz || 0.0\r\n this.recalcMatrix(t)\r\n var mat = this.computedMatrix\r\n translate(mat, mat, tvec)\r\n this.setMatrix(t, mat)\r\n}\r\n\r\nproto.setMatrix = function(t, mat) {\r\n if(t < this.lastT()) {\r\n return\r\n }\r\n this._time.push(t)\r\n for(var i=0; i<16; ++i) {\r\n this._components.push(mat[i])\r\n }\r\n}\r\n\r\nproto.setDistance = function(t, d) {\r\n this.computedRadius[0] = d\r\n}\r\n\r\nproto.setDistanceLimits = function(a,b) {\r\n var lim = this._limits\r\n lim[0] = a\r\n lim[1] = b\r\n}\r\n\r\nproto.getDistanceLimits = function(out) {\r\n var lim = this._limits\r\n if(out) {\r\n out[0] = lim[0]\r\n out[1] = lim[1]\r\n return out\r\n }\r\n return lim\r\n}\r\n\r\nfunction createMatrixCameraController(options) {\r\n options = options || {}\r\n var matrix = options.matrix || \r\n [1,0,0,0,\r\n 0,1,0,0,\r\n 0,0,1,0,\r\n 0,0,0,1]\r\n return new MatrixCameraController(matrix)\r\n}\r\n\n\n/***/ }),\n\n/***/ \"4183\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar hasColorbar = __webpack_require__(\"7089\");\nvar colorbarDefaults = __webpack_require__(\"8f2a\");\n\nvar isValidScale = __webpack_require__(\"4852\").isValid;\nvar traceIs = __webpack_require__(\"371e\").traceIs;\n\nfunction npMaybe(parentCont, prefix) {\n var containerStr = prefix.slice(0, prefix.length - 1);\n return prefix ?\n Lib.nestedProperty(parentCont, containerStr).get() || {} :\n parentCont;\n}\n\n/**\n * Colorscale / colorbar default handler\n *\n * @param {object} parentContIn : user (input) parent container (e.g. trace or layout coloraxis object)\n * @param {object} parentContOut : full parent container\n * @param {object} layout : (full) layout object\n * @param {fn} coerce : Lib.coerce wrapper\n * @param {object} opts :\n * - prefix {string} : attr string prefix to colorscale container from parent root\n * - cLetter {string} : 'c or 'z' color letter\n */\nmodule.exports = function colorScaleDefaults(parentContIn, parentContOut, layout, coerce, opts) {\n var prefix = opts.prefix;\n var cLetter = opts.cLetter;\n var inTrace = '_module' in parentContOut;\n var containerIn = npMaybe(parentContIn, prefix);\n var containerOut = npMaybe(parentContOut, prefix);\n var template = npMaybe(parentContOut._template || {}, prefix) || {};\n\n // colorScaleDefaults wrapper called if-ever we need to reset the colorscale\n // attributes for containers that were linked to invalid color axes\n var thisFn = function() {\n delete parentContIn.coloraxis;\n delete parentContOut.coloraxis;\n return colorScaleDefaults(parentContIn, parentContOut, layout, coerce, opts);\n };\n\n if(inTrace) {\n var colorAxes = layout._colorAxes || {};\n var colorAx = coerce(prefix + 'coloraxis');\n\n if(colorAx) {\n var colorbarVisuals = (\n traceIs(parentContOut, 'contour') &&\n Lib.nestedProperty(parentContOut, 'contours.coloring').get()\n ) || 'heatmap';\n\n var stash = colorAxes[colorAx];\n\n if(stash) {\n stash[2].push(thisFn);\n\n if(stash[0] !== colorbarVisuals) {\n stash[0] = false;\n Lib.warn([\n 'Ignoring coloraxis:', colorAx, 'setting',\n 'as it is linked to incompatible colorscales.'\n ].join(' '));\n }\n } else {\n // stash:\n // - colorbar visual 'type'\n // - colorbar options to help in Colorbar.draw\n // - list of colorScaleDefaults wrapper functions\n colorAxes[colorAx] = [colorbarVisuals, parentContOut, [thisFn]];\n }\n return;\n }\n }\n\n var minIn = containerIn[cLetter + 'min'];\n var maxIn = containerIn[cLetter + 'max'];\n var validMinMax = isNumeric(minIn) && isNumeric(maxIn) && (minIn < maxIn);\n var auto = coerce(prefix + cLetter + 'auto', !validMinMax);\n\n if(auto) {\n coerce(prefix + cLetter + 'mid');\n } else {\n coerce(prefix + cLetter + 'min');\n coerce(prefix + cLetter + 'max');\n }\n\n // handles both the trace case (autocolorscale is false by default) and\n // the marker and marker.line case (autocolorscale is true by default)\n var sclIn = containerIn.colorscale;\n var sclTemplate = template.colorscale;\n var autoColorscaleDflt;\n if(sclIn !== undefined) autoColorscaleDflt = !isValidScale(sclIn);\n if(sclTemplate !== undefined) autoColorscaleDflt = !isValidScale(sclTemplate);\n coerce(prefix + 'autocolorscale', autoColorscaleDflt);\n\n coerce(prefix + 'colorscale');\n coerce(prefix + 'reversescale');\n\n if(prefix !== 'marker.line.') {\n // handles both the trace case where the dflt is listed in attributes and\n // the marker case where the dflt is determined by hasColorbar\n var showScaleDflt;\n if(prefix && inTrace) showScaleDflt = hasColorbar(containerIn);\n\n var showScale = coerce(prefix + 'showscale', showScaleDflt);\n if(showScale) {\n if(prefix && template) containerOut._template = template;\n colorbarDefaults(containerIn, containerOut, layout);\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4190\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleXYDefaults = __webpack_require__(\"37bf\");\nvar handleABDefaults = __webpack_require__(\"8da3\");\nvar attributes = __webpack_require__(\"e7bd\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, dfltColor, fullLayout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n traceOut._clipPathId = 'clip' + traceOut.uid + 'carpet';\n\n var defaultColor = coerce('color', colorAttrs.defaultLine);\n Lib.coerceFont(coerce, 'font');\n\n coerce('carpet');\n\n handleABDefaults(traceIn, traceOut, fullLayout, coerce, defaultColor);\n\n if(!traceOut.a || !traceOut.b) {\n traceOut.visible = false;\n return;\n }\n\n if(traceOut.a.length < 3) {\n traceOut.aaxis.smoothing = 0;\n }\n\n if(traceOut.b.length < 3) {\n traceOut.baxis.smoothing = 0;\n }\n\n // NB: the input is x/y arrays. You should know that the *first* dimension of x and y\n // corresponds to b and the second to a. This sounds backwards but ends up making sense\n // the important part to know is that when you write y[j][i], j goes from 0 to b.length - 1\n // and i goes from 0 to a.length - 1.\n var validData = handleXYDefaults(traceIn, traceOut, coerce);\n if(!validData) {\n traceOut.visible = false;\n }\n\n if(traceOut._cheater) {\n coerce('cheaterslope');\n }\n};\n\n\n/***/ }),\n\n/***/ \"41a1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = cmp\n\nfunction cmp(a, b) {\n return a[0].mul(b[1]).cmp(b[0].mul(a[1]))\n}\n\n\n/***/ }),\n\n/***/ \"41e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function handleXYZDefaults(traceIn, traceOut, coerce, layout, xName, yName) {\n var z = coerce('z');\n xName = xName || 'x';\n yName = yName || 'y';\n var x, y;\n\n if(z === undefined || !z.length) return 0;\n\n if(Lib.isArray1D(traceIn.z)) {\n x = coerce(xName);\n y = coerce(yName);\n\n var xlen = Lib.minRowLength(x);\n var ylen = Lib.minRowLength(y);\n\n // column z must be accompanied by xName and yName arrays\n if(xlen === 0 || ylen === 0) return 0;\n\n traceOut._length = Math.min(xlen, ylen, z.length);\n } else {\n x = coordDefaults(xName, coerce);\n y = coordDefaults(yName, coerce);\n\n // TODO put z validation elsewhere\n if(!isValidZ(z)) return 0;\n\n coerce('transpose');\n\n traceOut._length = null;\n }\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, [xName, yName], layout);\n\n return true;\n};\n\nfunction coordDefaults(coordStr, coerce) {\n var coord = coerce(coordStr);\n var coordType = coord ? coerce(coordStr + 'type', 'array') : 'scaled';\n\n if(coordType === 'scaled') {\n coerce(coordStr + '0');\n coerce('d' + coordStr);\n }\n\n return coord;\n}\n\nfunction isValidZ(z) {\n var allRowsAreArrays = true;\n var oneRowIsFilled = false;\n var hasOneNumber = false;\n var zi;\n\n /*\n * Without this step:\n *\n * hasOneNumber = false breaks contour but not heatmap\n * allRowsAreArrays = false breaks contour but not heatmap\n * oneRowIsFilled = false breaks both\n */\n\n for(var i = 0; i < z.length; i++) {\n zi = z[i];\n if(!Lib.isArrayOrTypedArray(zi)) {\n allRowsAreArrays = false;\n break;\n }\n if(zi.length > 0) oneRowIsFilled = true;\n for(var j = 0; j < zi.length; j++) {\n if(isNumeric(zi[j])) {\n hasOneNumber = true;\n break;\n }\n }\n }\n\n return (allRowsAreArrays && oneRowIsFilled && hasOneNumber);\n}\n\n\n/***/ }),\n\n/***/ \"41f8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar handleLabelDefaults = __webpack_require__(\"6533\");\n\n\nmodule.exports = function handleStyleDefaults(traceIn, traceOut, coerce, layout, opts) {\n var coloring = coerce('contours.coloring');\n\n var showLines;\n var lineColor = '';\n if(coloring === 'fill') showLines = coerce('contours.showlines');\n\n if(showLines !== false) {\n if(coloring !== 'lines') lineColor = coerce('line.color', '#000');\n coerce('line.width', 0.5);\n coerce('line.dash');\n }\n\n if(coloring !== 'none') {\n // plots/plots always coerces showlegend to true, but in this case\n // we default to false and (by default) show a colorbar instead\n if(traceIn.showlegend !== true) traceOut.showlegend = false;\n traceOut._dfltShowLegend = false;\n\n colorscaleDefaults(\n traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'}\n );\n }\n\n coerce('line.smoothing');\n\n handleLabelDefaults(coerce, layout, lineColor, opts);\n};\n\n\n/***/ }),\n\n/***/ \"422c\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateX;\n\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nfunction rotateX(out, a, b, c){\n var by = b[1]\n var bz = b[2]\n\n // Translate point to the origin\n var py = a[1] - by\n var pz = a[2] - bz\n\n var sc = Math.sin(c)\n var cc = Math.cos(c)\n\n // perform rotation and translate to correct position\n out[0] = a[0]\n out[1] = by + py * cc - pz * sc\n out[2] = bz + py * sc + pz * cc\n\n return out\n}\n\n\n/***/ }),\n\n/***/ \"4248\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\n\nexports.getDelay = function(fullLayout) {\n if(!fullLayout._has) return 0;\n\n return (\n fullLayout._has('gl3d') ||\n fullLayout._has('gl2d') ||\n fullLayout._has('mapbox')\n ) ? 500 : 0;\n};\n\nexports.getRedrawFunc = function(gd) {\n return function() {\n var fullLayout = gd._fullLayout || {};\n var hasPolar = fullLayout._has && fullLayout._has('polar');\n var hasLegacyPolar = !hasPolar && gd.data && gd.data[0] && gd.data[0].r;\n\n if(!hasLegacyPolar) {\n Registry.getComponentMethod('colorbar', 'draw')(gd);\n }\n };\n};\n\nexports.encodeSVG = function(svg) {\n return 'data:image/svg+xml,' + encodeURIComponent(svg);\n};\n\nvar DOM_URL = window.URL || window.webkitURL;\n\nexports.createObjectURL = function(blob) {\n return DOM_URL.createObjectURL(blob);\n};\n\nexports.revokeObjectURL = function(url) {\n return DOM_URL.revokeObjectURL(url);\n};\n\nexports.createBlob = function(url, format) {\n if(format === 'svg') {\n return new window.Blob([url], {type: 'image/svg+xml;charset=utf-8'});\n } else {\n var binary = fixBinary(window.atob(url));\n return new window.Blob([binary], {type: 'image/' + format});\n }\n};\n\nexports.octetStream = function(s) {\n document.location.href = 'data:application/octet-stream' + s;\n};\n\n// Taken from https://bl.ocks.org/nolanlawson/0eac306e4dac2114c752\nfunction fixBinary(b) {\n var len = b.length;\n var buf = new ArrayBuffer(len);\n var arr = new Uint8Array(buf);\n for(var i = 0; i < len; i++) {\n arr[i] = b.charCodeAt(i);\n }\n return buf;\n}\n\nexports.IMAGE_URL_PREFIX = /^data:image\\/\\w+;base64,/;\n\nexports.MSG_IE_BAD_FORMAT = 'Sorry IE does not support downloading from canvas. Try {format:\\'svg\\'} instead.';\n\n\n/***/ }),\n\n/***/ \"424b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// arrayOk attributes, merge them into calcdata array\nmodule.exports = function arraysToCalcdata(cd, trace) {\n for(var i = 0; i < cd.length; i++) cd[i].i = i;\n\n Lib.mergeArray(trace.text, cd, 'tx');\n Lib.mergeArray(trace.hovertext, cd, 'htx');\n\n var marker = trace.marker;\n if(marker) {\n Lib.mergeArray(marker.opacity, cd, 'mo', true);\n Lib.mergeArray(marker.color, cd, 'mc');\n\n var markerLine = marker.line;\n if(markerLine) {\n Lib.mergeArray(markerLine.color, cd, 'mlc');\n Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4274\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function makeBinAttrs(axLetter, match) {\n return {\n start: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n end: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n size: {\n valType: 'any', // for date axes\n \n editType: 'calc',\n \n },\n editType: 'calc'\n };\n};\n\n\n/***/ }),\n\n/***/ \"428d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n!function(t,e){ true?module.exports=e(__webpack_require__(\"2ad6\"),__webpack_require__(\"f7fe\")):undefined}(this,function(t,e){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p=\"/\",e(0)}([function(t,e,n){var r,o,i;!function(s,u){o=[t,e,n(10),n(38),n(39),n(9),n(37)],r=u,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(t,e,n,r,o){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}function s(t){if(!t)return{delay:_,initial:!1};var e=t.initial,n=void 0!==e&&e,r=(0,h.default)(t).map(function(t){return parseInt(t)}).find(function(t){return!isNaN(t)});return r=r||_,{delay:r,initial:n}}function u(t,e){var n={root:document.documentElement},r=new IntersectionObserver(function(t,n){t.forEach(function(t){t.isIntersecting&&(e(),n.disconnect())})},n);return r.observe(t),r}function c(t,e){var n=e.value,r=e.arg,o=e.options,i=function(){return n(t)};switch(r){case\"debounce\":i=v(function(){return n(t)},o.delay);break;case\"throttle\":i=v(function(){return n(t)},o.delay,{leading:!0,trailing:!0,maxWait:o.delay})}var s=new l.default(t,i);return o.initial&&n(t),s}function a(t,e,n){var r=e.value,o=e.arg,i=e.modifiers,h=n.context;if(!r||\"function\"!=typeof r)return void console.warn(\"v-resize should received a function as value\");var l=s(i);return h&&h.$el===t&&h.$once(\"hook:deactivated\",function(){f(t),h.$once(\"hook:activated\",function(){a(t,{value:r,arg:o,modifiers:i},{context:h})})}),t.offsetParent?void c(t,{value:r,arg:o,options:l}):(l.initial=!0,void(t.__visibility__listener__=u(t,function(){return c(t,{value:r,arg:o,options:l})})))}function f(t){t.__visibility__listener__&&t.__visibility__listener__.disconnect(),t.resizeSensor&&l.default.detach(t)}Object.defineProperty(e,\"__esModule\",{value:!0});var h=i(n),l=i(r),p=i(o),d=p.default.debounce,v=void 0===d?p.default:d,_=150;e.default={inserted:a,unbind:f},t.exports=e.default})},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(23),o=n(6);t.exports=function(t){return r(o(t))}},function(t,e,n){var r,o,i;!function(n,s){o=[],r=s,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(){\"use strict\";Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null==this)throw new TypeError('\"this\" is null or not defined');var e=Object(this),n=e.length>>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var r=arguments[1],o=0;of;)if(u=c[f++],u!=u)return!0}else for(;a>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(12);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var r=n(4),o=n(1),i=n(16),s=n(21),u=\"prototype\",c=function(t,e,n){var a,f,h,l=t&c.F,p=t&c.G,d=t&c.S,v=t&c.P,_=t&c.B,y=t&c.W,g=p?o:o[e]||(o[e]={}),b=g[u],m=p?r:d?r[e]:(r[e]||{})[u];p&&(n=e);for(a in n)f=!l&&m&&void 0!==m[a],f&&a in g||(h=f?m[a]:n[a],g[a]=p&&\"function\"!=typeof m[a]?n[a]:_&&f?i(h,r):y&&m[a]==h?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(h):v&&\"function\"==typeof h?i(Function.call,h):h,v&&((g.virtual||(g.virtual={}))[a]=h,t&c.R&&b&&!b[a]&&s(b,a,h)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),o=n(28);t.exports=n(2)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(2)&&!n(3)(function(){return 7!=Object.defineProperty(n(17)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(15);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(13),o=n(22),i=n(34),s=Object.defineProperty;e.f=n(2)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(20),o=n(8),i=n(14)(!1),s=n(29)(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),c=0,a=[];for(n in u)n!=s&&r(u,n)&&a.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(a,n)||a.push(n));return a}},function(t,e,n){var r=n(25),o=n(18);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(19),o=n(1),i=n(3);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",s)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(30)(\"keys\"),o=n(35);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(4),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(7),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(7),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e,n){var r=n(33),o=n(26);n(27)(\"keys\",function(){return function(t){return o(r(t))}})},function(t,e){!function(t,e){\"use strict\";function n(t){this.time=t.time,this.target=t.target,this.rootBounds=t.rootBounds,this.boundingClientRect=t.boundingClientRect,this.intersectionRect=t.intersectionRect||f(),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,n=e.width*e.height,r=this.intersectionRect,o=r.width*r.height;n?this.intersectionRatio=o/n:this.intersectionRatio=this.isIntersecting?1:0}function r(t,e){var n=e||{};if(\"function\"!=typeof t)throw new Error(\"callback must be a function\");if(n.root&&1!=n.root.nodeType)throw new Error(\"root must be an Element\");this._checkForIntersections=i(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(n.rootMargin),this.thresholds=this._initThresholds(n.threshold),this.root=n.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(\" \")}function o(){return t.performance&&performance.now&&performance.now()}function i(t,e){var n=null;return function(){n||(n=setTimeout(function(){t(),n=null},e))}}function s(t,e,n,r){\"function\"==typeof t.addEventListener?t.addEventListener(e,n,r||!1):\"function\"==typeof t.attachEvent&&t.attachEvent(\"on\"+e,n)}function u(t,e,n,r){\"function\"==typeof t.removeEventListener?t.removeEventListener(e,n,r||!1):\"function\"==typeof t.detatchEvent&&t.detatchEvent(\"on\"+e,n)}function c(t,e){var n=Math.max(t.top,e.top),r=Math.min(t.bottom,e.bottom),o=Math.max(t.left,e.left),i=Math.min(t.right,e.right),s=i-o,u=r-n;return s>=0&&u>=0&&{top:n,bottom:r,left:o,right:i,width:s,height:u}}function a(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):f()}function f(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function h(t,e){for(var n=e;n;){if(n==t)return!0;n=l(n)}return!1}function l(t){var e=t.parentNode;return e&&11==e.nodeType&&e.host?e.host:e}if(\"IntersectionObserver\"in t&&\"IntersectionObserverEntry\"in t&&\"intersectionRatio\"in t.IntersectionObserverEntry.prototype)return void(\"isIntersecting\"in t.IntersectionObserverEntry.prototype||Object.defineProperty(t.IntersectionObserverEntry.prototype,\"isIntersecting\",{get:function(){return this.intersectionRatio>0}}));var p=[];r.prototype.THROTTLE_TIMEOUT=100,r.prototype.POLL_INTERVAL=null,r.prototype.USE_MUTATION_OBSERVER=!0,r.prototype.observe=function(t){var e=this._observationTargets.some(function(e){return e.element==t});if(!e){if(!t||1!=t.nodeType)throw new Error(\"target must be an Element\");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},r.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},r.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},r.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},r.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,n){if(\"number\"!=typeof t||isNaN(t)||t<0||t>1)throw new Error(\"threshold must be a number between 0 and 1 inclusively\");return t!==n[e-1]})},r.prototype._parseRootMargin=function(t){var e=t||\"0px\",n=e.split(/\\s+/).map(function(t){var e=/^(-?\\d*\\.?\\d+)(px|%)$/.exec(t);if(!e)throw new Error(\"rootMargin must be specified in pixels or percent\");return{value:parseFloat(e[1]),unit:e[2]}});return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},r.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(s(t,\"resize\",this._checkForIntersections,!0),s(e,\"scroll\",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&\"MutationObserver\"in t&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},r.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,u(t,\"resize\",this._checkForIntersections,!0),u(e,\"scroll\",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},r.prototype._checkForIntersections=function(){var t=this._rootIsInDom(),e=t?this._getRootRect():f();this._observationTargets.forEach(function(r){var i=r.element,s=a(i),u=this._rootContainsTarget(i),c=r.entry,f=t&&u&&this._computeTargetAndRootIntersection(i,e),h=r.entry=new n({time:o(),target:i,boundingClientRect:s,rootBounds:e,intersectionRect:f});c?t&&u?this._hasCrossedThreshold(c,h)&&this._queuedEntries.push(h):c&&c.isIntersecting&&this._queuedEntries.push(h):this._queuedEntries.push(h)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},r.prototype._computeTargetAndRootIntersection=function(n,r){if(\"none\"!=t.getComputedStyle(n).display){for(var o=a(n),i=o,s=l(n),u=!1;!u;){var f=null,h=1==s.nodeType?t.getComputedStyle(s):{};if(\"none\"==h.display)return;if(s==this.root||s==e?(u=!0,f=r):s!=e.body&&s!=e.documentElement&&\"visible\"!=h.overflow&&(f=a(s)),f&&(i=c(f,i),!i))break;s=l(s)}return i}},r.prototype._getRootRect=function(){var t;if(this.root)t=a(this.root);else{var n=e.documentElement,r=e.body;t={top:0,left:0,right:n.clientWidth||r.clientWidth,width:n.clientWidth||r.clientWidth,bottom:n.clientHeight||r.clientHeight,height:n.clientHeight||r.clientHeight}}return this._expandRectByRootMargin(t)},r.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,n){return\"px\"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100}),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},r.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,r=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==r)for(var o=0;o allPositions[k] && k < allPositions.length; k++) {\n // the current trace is missing a position from some previous trace(s)\n insertBlank(cd, j, allPositions[k], i, hasAnyBlanks, interpolate, posAttr);\n j++;\n }\n if(posj !== allPositions[k]) {\n // previous trace(s) are missing a position from the current trace\n for(i2 = 0; i2 < i; i2++) {\n insertBlank(calcTraces[indices[i2]], k, posj, i2, hasAnyBlanks, interpolate, posAttr);\n }\n allPositions.splice(k, 0, posj);\n }\n k++;\n }\n for(; k < allPositions.length; k++) {\n insertBlank(cd, j, allPositions[k], i, hasAnyBlanks, interpolate, posAttr);\n j++;\n }\n }\n\n var serieslen = allPositions.length;\n\n // stack (and normalize)!\n for(j = 0; j < cd0.length; j++) {\n sumj = cd0[j][valAttr] = cd0[j].s;\n for(i = 1; i < indices.length; i++) {\n cd = calcTraces[indices[i]];\n cd[0].trace._rawLength = cd[0].trace._length;\n cd[0].trace._length = serieslen;\n sumj += cd[j].s;\n cd[j][valAttr] = sumj;\n }\n\n if(groupnorm) {\n norm = ((groupnorm === 'fraction') ? sumj : (sumj / 100)) || 1;\n for(i = 0; i < indices.length; i++) {\n var cdj = calcTraces[indices[i]][j];\n cdj[valAttr] /= norm;\n cdj.sNorm = cdj.s / norm;\n }\n }\n }\n\n // autorange\n for(i = 0; i < indices.length; i++) {\n cd = calcTraces[indices[i]];\n var trace = cd[0].trace;\n var ppad = calc.calcMarkerSize(trace, trace._rawLength);\n var arrayPad = Array.isArray(ppad);\n if((ppad && hasAnyBlanks[i]) || arrayPad) {\n var ppadRaw = ppad;\n ppad = new Array(serieslen);\n for(j = 0; j < serieslen; j++) {\n ppad[j] = cd[j].gap ? 0 : (arrayPad ? ppadRaw[cd[j].i] : ppadRaw);\n }\n }\n var x = new Array(serieslen);\n var y = new Array(serieslen);\n for(j = 0; j < serieslen; j++) {\n x[j] = cd[j].x;\n y[j] = cd[j].y;\n }\n calc.calcAxisExpansion(gd, trace, xa, ya, x, y, ppad);\n\n // while we're here (in a loop over all traces in the stack)\n // record the orientation, so hover can find it easily\n cd[0].t.orientation = groupOpts.orientation;\n }\n }\n};\n\nfunction insertBlank(calcTrace, index, position, traceIndex, hasAnyBlanks, interpolate, posAttr) {\n hasAnyBlanks[traceIndex] = true;\n var newEntry = {\n i: null,\n gap: true,\n s: 0\n };\n newEntry[posAttr] = position;\n calcTrace.splice(index, 0, newEntry);\n // Even if we're not interpolating, if one trace has multiple\n // values at the same position and this trace only has one value there,\n // we just duplicate that one value rather than insert a zero.\n // We also make it look like a real point - because it's ambiguous which\n // one really is the real one!\n if(index && position === calcTrace[index - 1][posAttr]) {\n var prevEntry = calcTrace[index - 1];\n newEntry.s = prevEntry.s;\n // TODO is it going to cause any problems to have multiple\n // calcdata points with the same index?\n newEntry.i = prevEntry.i;\n newEntry.gap = prevEntry.gap;\n } else if(interpolate) {\n newEntry.s = getInterp(calcTrace, index, position, posAttr);\n }\n if(!index) {\n // t and trace need to stay on the first cd entry\n calcTrace[0].t = calcTrace[1].t;\n calcTrace[0].trace = calcTrace[1].trace;\n delete calcTrace[1].t;\n delete calcTrace[1].trace;\n }\n}\n\nfunction getInterp(calcTrace, index, position, posAttr) {\n var pt0 = calcTrace[index - 1];\n var pt1 = calcTrace[index + 1];\n if(!pt1) return pt0.s;\n if(!pt0) return pt1.s;\n return pt0.s + (pt1.s - pt0.s) * (position - pt0[posAttr]) / (pt1[posAttr] - pt0[posAttr]);\n}\n\n\n/***/ }),\n\n/***/ \"4358\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\nvar isPlainObject = __webpack_require__(\"1385\");\n\n/**\n * Relink private _keys and keys with a function value from one container\n * to the new container.\n * Relink means copying if object is pass-by-value and adding a reference\n * if object is pass-by-ref.\n * This prevents deepCopying massive structures like a webgl context.\n */\nmodule.exports = function relinkPrivateKeys(toContainer, fromContainer) {\n for(var k in fromContainer) {\n var fromVal = fromContainer[k];\n var toVal = toContainer[k];\n\n if(toVal === fromVal) {\n continue;\n }\n if(k.charAt(0) === '_' || typeof fromVal === 'function') {\n // if it already exists at this point, it's something\n // that we recreate each time around, so ignore it\n if(k in toContainer) continue;\n\n toContainer[k] = fromVal;\n } else if(isArrayOrTypedArray(fromVal) && isArrayOrTypedArray(toVal) && isPlainObject(fromVal[0])) {\n // filter out data_array items that can contain user objects\n // most of the time the toVal === fromVal check will catch these early\n // but if the user makes new ones we also don't want to recurse in.\n if(k === 'customdata' || k === 'ids') continue;\n\n // recurse into arrays containers\n var minLen = Math.min(fromVal.length, toVal.length);\n for(var j = 0; j < minLen; j++) {\n if((toVal[j] !== fromVal[j]) && isPlainObject(fromVal[j]) && isPlainObject(toVal[j])) {\n relinkPrivateKeys(toVal[j], fromVal[j]);\n }\n }\n } else if(isPlainObject(fromVal) && isPlainObject(toVal)) {\n // recurse into objects, but only if they still exist\n relinkPrivateKeys(toVal, fromVal);\n\n if(!Object.keys(toVal).length) delete toContainer[k];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4362\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = __webpack_require__(\"df7c\");\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n\n\n/***/ }),\n\n/***/ \"4393\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bounds = __webpack_require__(\"a671\")\n\nvar NOT_FOUND = 0\nvar SUCCESS = 1\nvar EMPTY = 2\n\nmodule.exports = createWrapper\n\nfunction IntervalTreeNode(mid, left, right, leftPoints, rightPoints) {\n this.mid = mid\n this.left = left\n this.right = right\n this.leftPoints = leftPoints\n this.rightPoints = rightPoints\n this.count = (left ? left.count : 0) + (right ? right.count : 0) + leftPoints.length\n}\n\nvar proto = IntervalTreeNode.prototype\n\nfunction copy(a, b) {\n a.mid = b.mid\n a.left = b.left\n a.right = b.right\n a.leftPoints = b.leftPoints\n a.rightPoints = b.rightPoints\n a.count = b.count\n}\n\nfunction rebuild(node, intervals) {\n var ntree = createIntervalTree(intervals)\n node.mid = ntree.mid\n node.left = ntree.left\n node.right = ntree.right\n node.leftPoints = ntree.leftPoints\n node.rightPoints = ntree.rightPoints\n node.count = ntree.count\n}\n\nfunction rebuildWithInterval(node, interval) {\n var intervals = node.intervals([])\n intervals.push(interval)\n rebuild(node, intervals) \n}\n\nfunction rebuildWithoutInterval(node, interval) {\n var intervals = node.intervals([])\n var idx = intervals.indexOf(interval)\n if(idx < 0) {\n return NOT_FOUND\n }\n intervals.splice(idx, 1)\n rebuild(node, intervals)\n return SUCCESS\n}\n\nproto.intervals = function(result) {\n result.push.apply(result, this.leftPoints)\n if(this.left) {\n this.left.intervals(result)\n }\n if(this.right) {\n this.right.intervals(result)\n }\n return result\n}\n\nproto.insert = function(interval) {\n var weight = this.count - this.leftPoints.length\n this.count += 1\n if(interval[1] < this.mid) {\n if(this.left) {\n if(4*(this.left.count+1) > 3*(weight+1)) {\n rebuildWithInterval(this, interval)\n } else {\n this.left.insert(interval)\n }\n } else {\n this.left = createIntervalTree([interval])\n }\n } else if(interval[0] > this.mid) {\n if(this.right) {\n if(4*(this.right.count+1) > 3*(weight+1)) {\n rebuildWithInterval(this, interval)\n } else {\n this.right.insert(interval)\n }\n } else {\n this.right = createIntervalTree([interval])\n }\n } else {\n var l = bounds.ge(this.leftPoints, interval, compareBegin)\n var r = bounds.ge(this.rightPoints, interval, compareEnd)\n this.leftPoints.splice(l, 0, interval)\n this.rightPoints.splice(r, 0, interval)\n }\n}\n\nproto.remove = function(interval) {\n var weight = this.count - this.leftPoints\n if(interval[1] < this.mid) {\n if(!this.left) {\n return NOT_FOUND\n }\n var rw = this.right ? this.right.count : 0\n if(4 * rw > 3 * (weight-1)) {\n return rebuildWithoutInterval(this, interval)\n }\n var r = this.left.remove(interval)\n if(r === EMPTY) {\n this.left = null\n this.count -= 1\n return SUCCESS\n } else if(r === SUCCESS) {\n this.count -= 1\n }\n return r\n } else if(interval[0] > this.mid) {\n if(!this.right) {\n return NOT_FOUND\n }\n var lw = this.left ? this.left.count : 0\n if(4 * lw > 3 * (weight-1)) {\n return rebuildWithoutInterval(this, interval)\n }\n var r = this.right.remove(interval)\n if(r === EMPTY) {\n this.right = null\n this.count -= 1\n return SUCCESS\n } else if(r === SUCCESS) {\n this.count -= 1\n }\n return r\n } else {\n if(this.count === 1) {\n if(this.leftPoints[0] === interval) {\n return EMPTY\n } else {\n return NOT_FOUND\n }\n }\n if(this.leftPoints.length === 1 && this.leftPoints[0] === interval) {\n if(this.left && this.right) {\n var p = this\n var n = this.left\n while(n.right) {\n p = n\n n = n.right\n }\n if(p === this) {\n n.right = this.right\n } else {\n var l = this.left\n var r = this.right\n p.count -= n.count\n p.right = n.left\n n.left = l\n n.right = r\n }\n copy(this, n)\n this.count = (this.left?this.left.count:0) + (this.right?this.right.count:0) + this.leftPoints.length\n } else if(this.left) {\n copy(this, this.left)\n } else {\n copy(this, this.right)\n }\n return SUCCESS\n }\n for(var l = bounds.ge(this.leftPoints, interval, compareBegin); l=0 && arr[i][1] >= lo; --i) {\n var r = cb(arr[i])\n if(r) { return r }\n }\n}\n\nfunction reportRange(arr, cb) {\n for(var i=0; i this.mid) {\n if(this.right) {\n var r = this.right.queryPoint(x, cb)\n if(r) { return r }\n }\n return reportRightRange(this.rightPoints, x, cb)\n } else {\n return reportRange(this.leftPoints, cb)\n }\n}\n\nproto.queryInterval = function(lo, hi, cb) {\n if(lo < this.mid && this.left) {\n var r = this.left.queryInterval(lo, hi, cb)\n if(r) { return r }\n }\n if(hi > this.mid && this.right) {\n var r = this.right.queryInterval(lo, hi, cb)\n if(r) { return r }\n }\n if(hi < this.mid) {\n return reportLeftRange(this.leftPoints, hi, cb)\n } else if(lo > this.mid) {\n return reportRightRange(this.rightPoints, lo, cb)\n } else {\n return reportRange(this.leftPoints, cb)\n }\n}\n\nfunction compareNumbers(a, b) {\n return a - b\n}\n\nfunction compareBegin(a, b) {\n var d = a[0] - b[0]\n if(d) { return d }\n return a[1] - b[1]\n}\n\nfunction compareEnd(a, b) {\n var d = a[1] - b[1]\n if(d) { return d }\n return a[0] - b[0]\n}\n\nfunction createIntervalTree(intervals) {\n if(intervals.length === 0) {\n return null\n }\n var pts = []\n for(var i=0; i>1]\n\n var leftIntervals = []\n var rightIntervals = []\n var centerIntervals = []\n for(var i=0; i= bbox.left && e.clientX <= bbox.right &&\n e.clientY >= bbox.top && e.clientY <= bbox.bottom\n );\n });\n if(clickedTrace.size() > 0) {\n clickOrDoubleClick(gd, legend, clickedTrace, numClicks, e);\n }\n }\n });\n }\n }], gd);\n};\n\nfunction clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) {\n var trace = legendItem.data()[0][0].trace;\n var evtData = {\n event: evt,\n node: legendItem.node(),\n curveNumber: trace.index,\n expandedIndex: trace._expandedIndex,\n data: gd.data,\n layout: gd.layout,\n frames: gd._transitionData._frames,\n config: gd._context,\n fullData: gd._fullData,\n fullLayout: gd._fullLayout\n };\n\n if(trace._group) {\n evtData.group = trace._group;\n }\n if(Registry.traceIs(trace, 'pie-like')) {\n evtData.label = legendItem.datum()[0].label;\n }\n\n var clickVal = Events.triggerHandler(gd, 'plotly_legendclick', evtData);\n if(clickVal === false) return;\n\n if(numClicks === 1) {\n legend._clickTimeout = setTimeout(function() {\n handleClick(legendItem, gd, numClicks);\n }, gd._context.doubleClickDelay);\n } else if(numClicks === 2) {\n if(legend._clickTimeout) clearTimeout(legend._clickTimeout);\n gd._legendMouseDownTime = 0;\n\n var dblClickVal = Events.triggerHandler(gd, 'plotly_legenddoubleclick', evtData);\n if(dblClickVal !== false) handleClick(legendItem, gd, numClicks);\n }\n}\n\nfunction drawTexts(g, gd) {\n var legendItem = g.data()[0][0];\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var trace = legendItem.trace;\n var isPieLike = Registry.traceIs(trace, 'pie-like');\n var traceIndex = trace.index;\n var isEditable = gd._context.edits.legendText && !isPieLike;\n var maxNameLength = opts._maxNameLength;\n\n var name = isPieLike ? legendItem.label : trace.name;\n if(trace._meta) {\n name = Lib.templateString(name, trace._meta);\n }\n\n var textEl = Lib.ensureSingle(g, 'text', 'legendtext');\n\n textEl.attr('text-anchor', 'start')\n .classed('user-select-none', true)\n .call(Drawing.font, opts.font)\n .text(isEditable ? ensureLength(name, maxNameLength) : name);\n\n svgTextUtils.positionText(textEl, constants.textGap, 0);\n\n if(isEditable) {\n textEl.call(svgTextUtils.makeEditable, {gd: gd, text: name})\n .call(textLayout, g, gd)\n .on('edit', function(newName) {\n this.text(ensureLength(newName, maxNameLength))\n .call(textLayout, g, gd);\n\n var fullInput = legendItem.trace._fullInput || {};\n var update = {};\n\n if(Registry.hasTransform(fullInput, 'groupby')) {\n var groupbyIndices = Registry.getTransformIndices(fullInput, 'groupby');\n var index = groupbyIndices[groupbyIndices.length - 1];\n\n var kcont = Lib.keyedContainer(fullInput, 'transforms[' + index + '].styles', 'target', 'value.name');\n\n kcont.set(legendItem.trace._group, newName);\n\n update = kcont.constructUpdate();\n } else {\n update.name = newName;\n }\n\n return Registry.call('_guiRestyle', gd, update, traceIndex);\n });\n } else {\n textLayout(textEl, g, gd);\n }\n}\n\n/*\n * Make sure we have a reasonably clickable region.\n * If this string is missing or very short, pad it with spaces out to at least\n * 4 characters, up to the max length of other labels, on the assumption that\n * most characters are wider than spaces so a string of spaces will usually be\n * no wider than the real labels.\n */\nfunction ensureLength(str, maxLength) {\n var targetLength = Math.max(4, maxLength);\n if(str && str.trim().length >= targetLength / 2) return str;\n str = str || '';\n for(var i = targetLength - str.length; i > 0; i--) str += ' ';\n return str;\n}\n\nfunction setupTraceToggle(g, gd) {\n var doubleClickDelay = gd._context.doubleClickDelay;\n var newMouseDownTime;\n var numClicks = 1;\n\n var traceToggle = Lib.ensureSingle(g, 'rect', 'legendtoggle', function(s) {\n s.style('cursor', 'pointer')\n .attr('pointer-events', 'all')\n .call(Color.fill, 'rgba(0,0,0,0)');\n });\n\n traceToggle.on('mousedown', function() {\n newMouseDownTime = (new Date()).getTime();\n if(newMouseDownTime - gd._legendMouseDownTime < doubleClickDelay) {\n // in a click train\n numClicks += 1;\n } else {\n // new click train\n numClicks = 1;\n gd._legendMouseDownTime = newMouseDownTime;\n }\n });\n traceToggle.on('mouseup', function() {\n if(gd._dragged || gd._editing) return;\n var legend = gd._fullLayout.legend;\n\n if((new Date()).getTime() - gd._legendMouseDownTime > doubleClickDelay) {\n numClicks = Math.max(numClicks - 1, 1);\n }\n\n clickOrDoubleClick(gd, legend, g, numClicks, d3.event);\n });\n}\n\nfunction textLayout(s, g, gd) {\n svgTextUtils.convertToTspans(s, gd, function() {\n computeTextDimensions(g, gd);\n });\n}\n\nfunction computeTextDimensions(g, gd) {\n var legendItem = g.data()[0][0];\n if(legendItem && !legendItem.trace.showlegend) {\n g.remove();\n return;\n }\n\n var mathjaxGroup = g.select('g[class*=math-group]');\n var mathjaxNode = mathjaxGroup.node();\n var bw = gd._fullLayout.legend.borderwidth;\n var opts = gd._fullLayout.legend;\n var lineHeight = (legendItem ? opts : opts.title).font.size * LINE_SPACING;\n var height, width;\n\n if(mathjaxNode) {\n var mathjaxBB = Drawing.bBox(mathjaxNode);\n\n height = mathjaxBB.height;\n width = mathjaxBB.width;\n\n if(legendItem) {\n Drawing.setTranslate(mathjaxGroup, 0, height * 0.25);\n } else { // case of title\n Drawing.setTranslate(mathjaxGroup, bw, height * 0.75 + bw);\n }\n } else {\n var textEl = g.select(legendItem ?\n '.legendtext' : '.legendtitletext'\n );\n var textLines = svgTextUtils.lineCount(textEl);\n var textNode = textEl.node();\n\n height = lineHeight * textLines;\n width = textNode ? Drawing.bBox(textNode).width : 0;\n\n // approximation to height offset to center the font\n // to avoid getBoundingClientRect\n var textY = lineHeight * ((textLines - 1) / 2 - 0.3);\n if(legendItem) {\n svgTextUtils.positionText(textEl, constants.textGap, -textY);\n } else { // case of title\n svgTextUtils.positionText(textEl, constants.titlePad + bw, lineHeight + bw);\n }\n }\n\n if(legendItem) {\n legendItem.lineHeight = lineHeight;\n legendItem.height = Math.max(height, 16) + 3;\n legendItem.width = width;\n } else { // case of title\n opts._titleWidth = width;\n opts._titleHeight = height;\n }\n}\n\nfunction getTitleSize(opts) {\n var w = 0;\n var h = 0;\n\n var side = opts.title.side;\n if(side) {\n if(side.indexOf('left') !== -1) {\n w = opts._titleWidth;\n }\n if(side.indexOf('top') !== -1) {\n h = opts._titleHeight;\n }\n }\n\n return [w, h];\n}\n\n/*\n * Computes in fullLayout.legend:\n *\n * - _height: legend height including items past scrollbox height\n * - _maxHeight: maximum legend height before scrollbox is required\n * - _effHeight: legend height w/ or w/o scrollbox\n *\n * - _width: legend width\n * - _maxWidth (for orientation:h only): maximum width before starting new row\n */\nfunction computeLegendDimensions(gd, groups, traces) {\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var gs = fullLayout._size;\n\n var isVertical = helpers.isVertical(opts);\n var isGrouped = helpers.isGrouped(opts);\n\n var bw = opts.borderwidth;\n var bw2 = 2 * bw;\n var textGap = constants.textGap;\n var itemGap = constants.itemGap;\n var endPad = 2 * (bw + itemGap);\n\n var yanchor = getYanchor(opts);\n var isBelowPlotArea = opts.y < 0 || (opts.y === 0 && yanchor === 'top');\n var isAbovePlotArea = opts.y > 1 || (opts.y === 1 && yanchor === 'bottom');\n\n // - if below/above plot area, give it the maximum potential margin-push value\n // - otherwise, extend the height of the plot area\n opts._maxHeight = Math.max(\n (isBelowPlotArea || isAbovePlotArea) ? fullLayout.height / 2 : gs.h,\n 30\n );\n\n var toggleRectWidth = 0;\n opts._width = 0;\n opts._height = 0;\n var titleSize = getTitleSize(opts);\n\n if(isVertical) {\n traces.each(function(d) {\n var h = d[0].height;\n Drawing.setTranslate(this,\n bw + titleSize[0],\n bw + titleSize[1] + opts._height + h / 2 + itemGap\n );\n opts._height += h;\n opts._width = Math.max(opts._width, d[0].width);\n });\n\n toggleRectWidth = textGap + opts._width;\n opts._width += itemGap + textGap + bw2;\n opts._height += endPad;\n\n if(isGrouped) {\n groups.each(function(d, i) {\n Drawing.setTranslate(this, 0, i * opts.tracegroupgap);\n });\n opts._height += (opts._lgroupsLength - 1) * opts.tracegroupgap;\n }\n } else {\n var xanchor = getXanchor(opts);\n var isLeftOfPlotArea = opts.x < 0 || (opts.x === 0 && xanchor === 'right');\n var isRightOfPlotArea = opts.x > 1 || (opts.x === 1 && xanchor === 'left');\n var isBeyondPlotAreaY = isAbovePlotArea || isBelowPlotArea;\n var hw = fullLayout.width / 2;\n\n // - if placed within x-margins, extend the width of the plot area\n // - else if below/above plot area and anchored in the margin, extend to opposite margin,\n // - otherwise give it the maximum potential margin-push value\n opts._maxWidth = Math.max(\n isLeftOfPlotArea ? ((isBeyondPlotAreaY && xanchor === 'left') ? gs.l + gs.w : hw) :\n isRightOfPlotArea ? ((isBeyondPlotAreaY && xanchor === 'right') ? gs.r + gs.w : hw) :\n gs.w,\n 2 * textGap);\n var maxItemWidth = 0;\n var combinedItemWidth = 0;\n traces.each(function(d) {\n var w = d[0].width + textGap;\n maxItemWidth = Math.max(maxItemWidth, w);\n combinedItemWidth += w;\n });\n\n toggleRectWidth = null;\n var maxRowWidth = 0;\n\n if(isGrouped) {\n var maxGroupHeightInRow = 0;\n var groupOffsetX = 0;\n var groupOffsetY = 0;\n groups.each(function() {\n var maxWidthInGroup = 0;\n var offsetY = 0;\n d3.select(this).selectAll('g.traces').each(function(d) {\n var h = d[0].height;\n Drawing.setTranslate(this,\n titleSize[0],\n titleSize[1] + bw + itemGap + h / 2 + offsetY\n );\n offsetY += h;\n maxWidthInGroup = Math.max(maxWidthInGroup, textGap + d[0].width);\n });\n maxGroupHeightInRow = Math.max(maxGroupHeightInRow, offsetY);\n\n var next = maxWidthInGroup + itemGap;\n\n if((next + bw + groupOffsetX) > opts._maxWidth) {\n maxRowWidth = Math.max(maxRowWidth, groupOffsetX);\n groupOffsetX = 0;\n groupOffsetY += maxGroupHeightInRow + opts.tracegroupgap;\n maxGroupHeightInRow = offsetY;\n }\n\n Drawing.setTranslate(this, groupOffsetX, groupOffsetY);\n\n groupOffsetX += next;\n });\n\n opts._width = Math.max(maxRowWidth, groupOffsetX) + bw;\n opts._height = groupOffsetY + maxGroupHeightInRow + endPad;\n } else {\n var nTraces = traces.size();\n var oneRowLegend = (combinedItemWidth + bw2 + (nTraces - 1) * itemGap) < opts._maxWidth;\n\n var maxItemHeightInRow = 0;\n var offsetX = 0;\n var offsetY = 0;\n var rowWidth = 0;\n traces.each(function(d) {\n var h = d[0].height;\n var w = textGap + d[0].width;\n var next = (oneRowLegend ? w : maxItemWidth) + itemGap;\n\n if((next + bw + offsetX) > opts._maxWidth) {\n maxRowWidth = Math.max(maxRowWidth, rowWidth);\n offsetX = 0;\n offsetY += maxItemHeightInRow;\n opts._height += maxItemHeightInRow;\n maxItemHeightInRow = 0;\n }\n\n Drawing.setTranslate(this,\n titleSize[0] + bw + offsetX,\n titleSize[1] + bw + offsetY + h / 2 + itemGap\n );\n\n rowWidth = offsetX + w + itemGap;\n offsetX += next;\n maxItemHeightInRow = Math.max(maxItemHeightInRow, h);\n });\n\n if(oneRowLegend) {\n opts._width = offsetX + bw2;\n opts._height = maxItemHeightInRow + endPad;\n } else {\n opts._width = Math.max(maxRowWidth, rowWidth) + bw2;\n opts._height += maxItemHeightInRow + endPad;\n }\n }\n }\n\n opts._width = Math.ceil(\n Math.max(\n opts._width + titleSize[0],\n opts._titleWidth + 2 * (bw + constants.titlePad)\n )\n );\n\n opts._height = Math.ceil(\n Math.max(\n opts._height + titleSize[1],\n opts._titleHeight + 2 * (bw + constants.itemGap)\n )\n );\n\n opts._effHeight = Math.min(opts._height, opts._maxHeight);\n\n var edits = gd._context.edits;\n var isEditable = edits.legendText || edits.legendPosition;\n traces.each(function(d) {\n var traceToggle = d3.select(this).select('.legendtoggle');\n var h = d[0].height;\n var w = isEditable ? textGap : (toggleRectWidth || (textGap + d[0].width));\n if(!isVertical) w += itemGap / 2;\n Drawing.setRect(traceToggle, 0, -h / 2, w, h);\n });\n}\n\nfunction expandMargin(gd) {\n var fullLayout = gd._fullLayout;\n var opts = fullLayout.legend;\n var xanchor = getXanchor(opts);\n var yanchor = getYanchor(opts);\n\n return Plots.autoMargin(gd, 'legend', {\n x: opts.x,\n y: opts.y,\n l: opts._width * (FROM_TL[xanchor]),\n r: opts._width * (FROM_BR[xanchor]),\n b: opts._effHeight * (FROM_BR[yanchor]),\n t: opts._effHeight * (FROM_TL[yanchor])\n });\n}\n\nfunction getXanchor(opts) {\n return Lib.isRightAnchor(opts) ? 'right' :\n Lib.isCenterAnchor(opts) ? 'center' :\n 'left';\n}\n\nfunction getYanchor(opts) {\n return Lib.isBottomAnchor(opts) ? 'bottom' :\n Lib.isMiddleAnchor(opts) ? 'middle' :\n 'top';\n}\n\n\n/***/ }),\n\n/***/ \"43ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar heatmapAttrs = __webpack_require__(\"0435\");\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar dash = __webpack_require__(\"db54\").dash;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar filterOps = __webpack_require__(\"6c77\");\nvar COMPARISON_OPS2 = filterOps.COMPARISON_OPS2;\nvar INTERVAL_OPS = filterOps.INTERVAL_OPS;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar scatterLineAttrs = scatterAttrs.line;\n\nmodule.exports = extendFlat({\n z: heatmapAttrs.z,\n x: heatmapAttrs.x,\n x0: heatmapAttrs.x0,\n dx: heatmapAttrs.dx,\n y: heatmapAttrs.y,\n y0: heatmapAttrs.y0,\n dy: heatmapAttrs.dy,\n text: heatmapAttrs.text,\n hovertext: heatmapAttrs.hovertext,\n transpose: heatmapAttrs.transpose,\n xtype: heatmapAttrs.xtype,\n ytype: heatmapAttrs.ytype,\n zhoverformat: heatmapAttrs.zhoverformat,\n hovertemplate: heatmapAttrs.hovertemplate,\n hoverongaps: heatmapAttrs.hoverongaps,\n connectgaps: extendFlat({}, heatmapAttrs.connectgaps, {\n \n }),\n\n fillcolor: {\n valType: 'color',\n \n editType: 'calc',\n \n },\n\n autocontour: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n impliedEdits: {\n 'contours.start': undefined,\n 'contours.end': undefined,\n 'contours.size': undefined\n },\n \n },\n ncontours: {\n valType: 'integer',\n dflt: 15,\n min: 1,\n \n editType: 'calc',\n \n },\n\n contours: {\n type: {\n valType: 'enumerated',\n values: ['levels', 'constraint'],\n dflt: 'levels',\n \n editType: 'calc',\n \n },\n start: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n end: {\n valType: 'number',\n dflt: null,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n size: {\n valType: 'number',\n dflt: null,\n min: 0,\n \n editType: 'plot',\n impliedEdits: {'^autocontour': false},\n \n },\n coloring: {\n valType: 'enumerated',\n values: ['fill', 'heatmap', 'lines', 'none'],\n dflt: 'fill',\n \n editType: 'calc',\n \n },\n showlines: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'plot',\n \n },\n showlabels: {\n valType: 'boolean',\n dflt: false,\n \n editType: 'plot',\n \n },\n labelfont: fontAttrs({\n editType: 'plot',\n colorEditType: 'style',\n \n }),\n labelformat: {\n valType: 'string',\n dflt: '',\n \n editType: 'plot',\n \n },\n operation: {\n valType: 'enumerated',\n values: [].concat(COMPARISON_OPS2).concat(INTERVAL_OPS),\n \n dflt: '=',\n editType: 'calc',\n \n },\n value: {\n valType: 'any',\n dflt: 0,\n \n editType: 'calc',\n \n },\n editType: 'calc',\n impliedEdits: {'autocontour': false}\n },\n\n line: {\n color: extendFlat({}, scatterLineAttrs.color, {\n editType: 'style+colorbars',\n \n }),\n width: {\n valType: 'number',\n min: 0,\n \n editType: 'style+colorbars',\n \n },\n dash: dash,\n smoothing: extendFlat({}, scatterLineAttrs.smoothing, {\n \n }),\n editType: 'plot'\n }\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n autoColorDflt: false,\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"442f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar main = __webpack_require__(\"b5e3\");\n\nexports.plot = main.plot;\nexports.newPlot = main.newPlot;\nexports.restyle = main.restyle;\nexports.relayout = main.relayout;\nexports.redraw = main.redraw;\nexports.update = main.update;\nexports._guiRestyle = main._guiRestyle;\nexports._guiRelayout = main._guiRelayout;\nexports._guiUpdate = main._guiUpdate;\nexports._storeDirectGUIEdit = main._storeDirectGUIEdit;\nexports.react = main.react;\nexports.extendTraces = main.extendTraces;\nexports.prependTraces = main.prependTraces;\nexports.addTraces = main.addTraces;\nexports.deleteTraces = main.deleteTraces;\nexports.moveTraces = main.moveTraces;\nexports.purge = main.purge;\nexports.addFrames = main.addFrames;\nexports.deleteFrames = main.deleteFrames;\nexports.animate = main.animate;\nexports.setPlotConfig = main.setPlotConfig;\n\nexports.toImage = __webpack_require__(\"a288\");\nexports.validate = __webpack_require__(\"3fb2\");\nexports.downloadImage = __webpack_require__(\"ad91\");\n\nvar templateApi = __webpack_require__(\"2d9a\");\nexports.makeTemplate = templateApi.makeTemplate;\nexports.validateTemplate = templateApi.validateTemplate;\n\n\n/***/ }),\n\n/***/ \"447e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar attributes = __webpack_require__(\"86d2\");\nvar constants = __webpack_require__(\"000c\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n var z = coerce('z');\n if(z === undefined || !z.length || !z[0] || !z[0].length) {\n traceOut.visible = false;\n return;\n }\n\n coerce('x0');\n coerce('y0');\n coerce('dx');\n coerce('dy');\n var colormodel = coerce('colormodel');\n\n coerce('zmin', constants.colormodel[colormodel].min);\n coerce('zmax', constants.colormodel[colormodel].max);\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"44ad\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\nvar classof = __webpack_require__(\"c6b6\");\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n\n/***/ \"44c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createTexture = __webpack_require__(\"1d5b\")\n\nmodule.exports = createFBO\n\nvar colorAttachmentArrays = null\nvar FRAMEBUFFER_UNSUPPORTED\nvar FRAMEBUFFER_INCOMPLETE_ATTACHMENT\nvar FRAMEBUFFER_INCOMPLETE_DIMENSIONS\nvar FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\n\nfunction saveFBOState(gl) {\n var fbo = gl.getParameter(gl.FRAMEBUFFER_BINDING)\n var rbo = gl.getParameter(gl.RENDERBUFFER_BINDING)\n var tex = gl.getParameter(gl.TEXTURE_BINDING_2D)\n return [fbo, rbo, tex]\n}\n\nfunction restoreFBOState(gl, data) {\n gl.bindFramebuffer(gl.FRAMEBUFFER, data[0])\n gl.bindRenderbuffer(gl.RENDERBUFFER, data[1])\n gl.bindTexture(gl.TEXTURE_2D, data[2])\n}\n\nfunction lazyInitColorAttachments(gl, ext) {\n var maxColorAttachments = gl.getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL)\n colorAttachmentArrays = new Array(maxColorAttachments + 1)\n for(var i=0; i<=maxColorAttachments; ++i) {\n var x = new Array(maxColorAttachments)\n for(var j=0; j 1) {\n ext.drawBuffersWEBGL(colorAttachmentArrays[numColors])\n }\n\n //Allocate depth/stencil buffers\n var WEBGL_depth_texture = gl.getExtension('WEBGL_depth_texture')\n if(WEBGL_depth_texture) {\n if(useStencil) {\n fbo.depth = initTexture(gl, width, height,\n WEBGL_depth_texture.UNSIGNED_INT_24_8_WEBGL,\n gl.DEPTH_STENCIL,\n gl.DEPTH_STENCIL_ATTACHMENT)\n } else if(useDepth) {\n fbo.depth = initTexture(gl, width, height,\n gl.UNSIGNED_SHORT,\n gl.DEPTH_COMPONENT,\n gl.DEPTH_ATTACHMENT)\n }\n } else {\n if(useDepth && useStencil) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.DEPTH_STENCIL, gl.DEPTH_STENCIL_ATTACHMENT)\n } else if(useDepth) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.DEPTH_COMPONENT16, gl.DEPTH_ATTACHMENT)\n } else if(useStencil) {\n fbo._depth_rb = initRenderBuffer(gl, width, height, gl.STENCIL_INDEX, gl.STENCIL_ATTACHMENT)\n }\n }\n\n //Check frame buffer state\n var status = gl.checkFramebufferStatus(gl.FRAMEBUFFER)\n if(status !== gl.FRAMEBUFFER_COMPLETE) {\n\n //Release all partially allocated resources\n fbo._destroyed = true\n\n //Release all resources\n gl.bindFramebuffer(gl.FRAMEBUFFER, null)\n gl.deleteFramebuffer(fbo.handle)\n fbo.handle = null\n if(fbo.depth) {\n fbo.depth.dispose()\n fbo.depth = null\n }\n if(fbo._depth_rb) {\n gl.deleteRenderbuffer(fbo._depth_rb)\n fbo._depth_rb = null\n }\n for(var i=0; i maxFBOSize ||\n h < 0 || h > maxFBOSize) {\n throw new Error('gl-fbo: Can\\'t resize FBO, invalid dimensions')\n }\n\n //Update shape\n fbo._shape[0] = w\n fbo._shape[1] = h\n\n //Save framebuffer state\n var state = saveFBOState(gl)\n\n //Resize framebuffer attachments\n for(var i=0; i maxFBOSize || height < 0 || height > maxFBOSize) {\n throw new Error('gl-fbo: Parameters are too large for FBO')\n }\n\n //Handle each option type\n options = options || {}\n\n //Figure out number of color buffers to use\n var numColors = 1\n if('color' in options) {\n numColors = Math.max(options.color|0, 0)\n if(numColors < 0) {\n throw new Error('gl-fbo: Must specify a nonnegative number of colors')\n }\n if(numColors > 1) {\n //Check if multiple render targets supported\n if(!WEBGL_draw_buffers) {\n throw new Error('gl-fbo: Multiple draw buffer extension not supported')\n } else if(numColors > gl.getParameter(WEBGL_draw_buffers.MAX_COLOR_ATTACHMENTS_WEBGL)) {\n throw new Error('gl-fbo: Context does not support ' + numColors + ' draw buffers')\n }\n }\n }\n\n //Determine whether to use floating point textures\n var colorType = gl.UNSIGNED_BYTE\n var OES_texture_float = gl.getExtension('OES_texture_float')\n if(options.float && numColors > 0) {\n if(!OES_texture_float) {\n throw new Error('gl-fbo: Context does not support floating point textures')\n }\n colorType = gl.FLOAT\n } else if(options.preferFloat && numColors > 0) {\n if(OES_texture_float) {\n colorType = gl.FLOAT\n }\n }\n\n //Check if we should use depth buffer\n var useDepth = true\n if('depth' in options) {\n useDepth = !!options.depth\n }\n\n //Check if we should use a stencil buffer\n var useStencil = false\n if('stencil' in options) {\n useStencil = !!options.stencil\n }\n\n return new Framebuffer(\n gl,\n width,\n height,\n colorType,\n numColors,\n useDepth,\n useStencil,\n WEBGL_draw_buffers)\n}\n\n\n/***/ }),\n\n/***/ \"44d4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"ea27\");\n\n\n/***/ }),\n\n/***/ \"44fe\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateY;\n\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\nfunction rotateY(out, a, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad),\n a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3],\n a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n\n if (a !== out) { // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n // Perform axis-specific matrix multiplication\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n};\n\n/***/ }),\n\n/***/ \"45a2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar axesAttrs = __webpack_require__(\"d798\");\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar ternaryAxesAttrs = {\n title: {\n text: axesAttrs.title.text,\n font: axesAttrs.title.font\n // TODO does standoff here make sense?\n },\n color: axesAttrs.color,\n // ticks\n tickmode: axesAttrs.tickmode,\n nticks: extendFlat({}, axesAttrs.nticks, {dflt: 6, min: 1}),\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: axesAttrs.ticks,\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n showtickprefix: axesAttrs.showtickprefix,\n tickprefix: axesAttrs.tickprefix,\n showticksuffix: axesAttrs.showticksuffix,\n ticksuffix: axesAttrs.ticksuffix,\n showexponent: axesAttrs.showexponent,\n exponentformat: axesAttrs.exponentformat,\n separatethousands: axesAttrs.separatethousands,\n tickfont: axesAttrs.tickfont,\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n hoverformat: axesAttrs.hoverformat,\n // lines and grids\n showline: extendFlat({}, axesAttrs.showline, {dflt: true}),\n linecolor: axesAttrs.linecolor,\n linewidth: axesAttrs.linewidth,\n showgrid: extendFlat({}, axesAttrs.showgrid, {dflt: true}),\n gridcolor: axesAttrs.gridcolor,\n gridwidth: axesAttrs.gridwidth,\n layer: axesAttrs.layer,\n // range\n min: {\n valType: 'number',\n dflt: 0,\n \n min: 0,\n \n },\n _deprecated: {\n title: axesAttrs._deprecated.title,\n titlefont: axesAttrs._deprecated.titlefont\n }\n};\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'ternary'}),\n\n bgcolor: {\n valType: 'color',\n \n dflt: colorAttrs.background,\n \n },\n sum: {\n valType: 'number',\n \n dflt: 1,\n min: 0,\n \n },\n aaxis: ternaryAxesAttrs,\n baxis: ternaryAxesAttrs,\n caxis: ternaryAxesAttrs\n}, 'plot', 'from-root');\n\n// set uirevisions outside of `overrideAll` so we can get `editType: none`\nattrs.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\nattrs.aaxis.uirevision = attrs.baxis.uirevision = attrs.caxis.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\n\n/***/ }),\n\n/***/ \"45be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar constants = __webpack_require__(\"0804\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar geoAxesAttrs = {\n range: {\n valType: 'info_array',\n \n items: [\n {valType: 'number'},\n {valType: 'number'}\n ],\n \n },\n showgrid: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n tick0: {\n valType: 'number',\n \n dflt: 0,\n \n },\n dtick: {\n valType: 'number',\n \n \n },\n gridcolor: {\n valType: 'color',\n \n dflt: colorAttrs.lightLine,\n \n },\n gridwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n }\n};\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'geo'}, {\n \n }),\n\n fitbounds: {\n valType: 'enumerated',\n values: [false, 'locations', 'geojson'],\n dflt: false,\n \n editType: 'plot',\n \n },\n\n resolution: {\n valType: 'enumerated',\n values: [110, 50],\n \n dflt: 110,\n coerceNumber: true,\n \n },\n scope: {\n valType: 'enumerated',\n \n values: Object.keys(constants.scopeDefaults),\n dflt: 'world',\n \n },\n projection: {\n type: {\n valType: 'enumerated',\n \n values: Object.keys(constants.projNames),\n \n },\n rotation: {\n lon: {\n valType: 'number',\n \n \n },\n lat: {\n valType: 'number',\n \n \n },\n roll: {\n valType: 'number',\n \n \n }\n },\n parallels: {\n valType: 'info_array',\n \n items: [\n {valType: 'number'},\n {valType: 'number'}\n ],\n \n },\n scale: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n },\n center: {\n lon: {\n valType: 'number',\n \n \n },\n lat: {\n valType: 'number',\n \n \n }\n },\n visible: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n showcoastlines: {\n valType: 'boolean',\n \n \n },\n coastlinecolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n coastlinewidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showland: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n landcolor: {\n valType: 'color',\n \n dflt: constants.landColor,\n \n },\n showocean: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n oceancolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n showlakes: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n lakecolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n showrivers: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n rivercolor: {\n valType: 'color',\n \n dflt: constants.waterColor,\n \n },\n riverwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showcountries: {\n valType: 'boolean',\n \n \n },\n countrycolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n countrywidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showsubunits: {\n valType: 'boolean',\n \n \n },\n subunitcolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n subunitwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n showframe: {\n valType: 'boolean',\n \n \n },\n framecolor: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n \n },\n framewidth: {\n valType: 'number',\n \n min: 0,\n dflt: 1,\n \n },\n bgcolor: {\n valType: 'color',\n \n dflt: colorAttrs.background,\n \n },\n lonaxis: geoAxesAttrs,\n lataxis: geoAxesAttrs\n}, 'plot', 'from-root');\n\n// set uirevision outside of overrideAll so it can be `editType: 'none'`\nattrs.uirevision = {\n valType: 'any',\n \n editType: 'none',\n \n};\n\n\n/***/ }),\n\n/***/ \"4633\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*!\n * repeat-string \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n\n\n/**\n * Results cache\n */\n\nvar res = '';\nvar cache;\n\n/**\n * Expose `repeat`\n */\n\nmodule.exports = repeat;\n\n/**\n * Repeat the given `string` the specified `number`\n * of times.\n *\n * **Example:**\n *\n * ```js\n * var repeat = require('repeat-string');\n * repeat('A', 5);\n * //=> AAAAA\n * ```\n *\n * @param {String} `string` The string to repeat\n * @param {Number} `number` The number of times to repeat the string\n * @return {String} Repeated string\n * @api public\n */\n\nfunction repeat(str, num) {\n if (typeof str !== 'string') {\n throw new TypeError('expected a string');\n }\n\n // cover common, quick use cases\n if (num === 1) return str;\n if (num === 2) return str + str;\n\n var max = str.length * num;\n if (cache !== str || typeof cache === 'undefined') {\n cache = str;\n res = '';\n } else if (res.length >= max) {\n return res.substr(0, max);\n }\n\n while (max > res.length && num > 1) {\n if (num & 1) {\n res += str;\n }\n\n num >>= 1;\n str += str;\n }\n\n res += str;\n res = res.substr(0, max);\n return res;\n}\n\n\n/***/ }),\n\n/***/ \"464d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nmodule.exports = function style(gd) {\n d3.select(gd).selectAll('.im image')\n .style('opacity', function(d) {\n return d.trace.opacity;\n });\n};\n\n\n/***/ }),\n\n/***/ \"4665\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar callable = __webpack_require__(\"1a94\")\n , forEach = __webpack_require__(\"6858\")\n , call = Function.prototype.call;\n\nmodule.exports = function (obj, cb/*, thisArg*/) {\n\tvar result = {}, thisArg = arguments[2];\n\tcallable(cb);\n\tforEach(obj, function (value, key, targetObj, index) {\n\t\tresult[key] = call.call(cb, thisArg, value, key, targetObj, index);\n\t});\n\treturn result;\n};\n\n\n/***/ }),\n\n/***/ \"469b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/*\n * Create or update an observer. This function is designed to be\n * idempotent so that it can be called over and over as the component\n * updates, and will attach and detach listeners as needed.\n *\n * @param {optional object} container\n * An object on which the observer is stored. This is the mechanism\n * by which it is idempotent. If it already exists, another won't be\n * added. Each time it's called, the value lookup table is updated.\n * @param {array} commandList\n * An array of commands, following either `buttons` of `updatemenus`\n * or `steps` of `sliders`.\n * @param {function} onchange\n * A listener called when the value is changed. Receives data object\n * with information about the new state.\n */\nexports.manageCommandObserver = function(gd, container, commandList, onchange) {\n var ret = {};\n var enabled = true;\n\n if(container && container._commandObserver) {\n ret = container._commandObserver;\n }\n\n if(!ret.cache) {\n ret.cache = {};\n }\n\n // Either create or just recompute this:\n ret.lookupTable = {};\n\n var binding = exports.hasSimpleAPICommandBindings(gd, commandList, ret.lookupTable);\n\n if(container && container._commandObserver) {\n if(!binding) {\n // If container exists and there are no longer any bindings,\n // remove existing:\n if(container._commandObserver.remove) {\n container._commandObserver.remove();\n container._commandObserver = null;\n return ret;\n }\n } else {\n // If container exists and there *are* bindings, then the lookup\n // table should have been updated and check is already attached,\n // so there's nothing to be done:\n return ret;\n }\n }\n\n // Determine whether there's anything to do for this binding:\n\n if(binding) {\n // Build the cache:\n bindingValueHasChanged(gd, binding, ret.cache);\n\n ret.check = function check() {\n if(!enabled) return;\n\n var update = bindingValueHasChanged(gd, binding, ret.cache);\n\n if(update.changed && onchange) {\n // Disable checks for the duration of this command in order to avoid\n // infinite loops:\n if(ret.lookupTable[update.value] !== undefined) {\n ret.disable();\n Promise.resolve(onchange({\n value: update.value,\n type: binding.type,\n prop: binding.prop,\n traces: binding.traces,\n index: ret.lookupTable[update.value]\n })).then(ret.enable, ret.enable);\n }\n }\n\n return update.changed;\n };\n\n var checkEvents = [\n 'plotly_relayout',\n 'plotly_redraw',\n 'plotly_restyle',\n 'plotly_update',\n 'plotly_animatingframe',\n 'plotly_afterplot'\n ];\n\n for(var i = 0; i < checkEvents.length; i++) {\n gd._internalOn(checkEvents[i], ret.check);\n }\n\n ret.remove = function() {\n for(var i = 0; i < checkEvents.length; i++) {\n gd._removeInternalListener(checkEvents[i], ret.check);\n }\n };\n } else {\n // TODO: It'd be really neat to actually give a *reason* for this, but at least a warning\n // is a start\n Lib.log('Unable to automatically bind plot updates to API command');\n\n ret.lookupTable = {};\n ret.remove = function() {};\n }\n\n ret.disable = function disable() {\n enabled = false;\n };\n\n ret.enable = function enable() {\n enabled = true;\n };\n\n if(container) {\n container._commandObserver = ret;\n }\n\n return ret;\n};\n\n/*\n * This function checks to see if an array of objects containing\n * method and args properties is compatible with automatic two-way\n * binding. The criteria right now are that\n *\n * 1. multiple traces may be affected\n * 2. only one property may be affected\n * 3. the same property must be affected by all commands\n */\nexports.hasSimpleAPICommandBindings = function(gd, commandList, bindingsByValue) {\n var i;\n var n = commandList.length;\n\n var refBinding;\n\n for(i = 0; i < n; i++) {\n var binding;\n var command = commandList[i];\n var method = command.method;\n var args = command.args;\n\n if(!Array.isArray(args)) args = [];\n\n // If any command has no method, refuse to bind:\n if(!method) {\n return false;\n }\n var bindings = exports.computeAPICommandBindings(gd, method, args);\n\n // Right now, handle one and *only* one property being set:\n if(bindings.length !== 1) {\n return false;\n }\n\n if(!refBinding) {\n refBinding = bindings[0];\n if(Array.isArray(refBinding.traces)) {\n refBinding.traces.sort();\n }\n } else {\n binding = bindings[0];\n if(binding.type !== refBinding.type) {\n return false;\n }\n if(binding.prop !== refBinding.prop) {\n return false;\n }\n if(Array.isArray(refBinding.traces)) {\n if(Array.isArray(binding.traces)) {\n binding.traces.sort();\n for(var j = 0; j < refBinding.traces.length; j++) {\n if(refBinding.traces[j] !== binding.traces[j]) {\n return false;\n }\n }\n } else {\n return false;\n }\n } else {\n if(binding.prop !== refBinding.prop) {\n return false;\n }\n }\n }\n\n binding = bindings[0];\n var value = binding.value;\n if(Array.isArray(value)) {\n if(value.length === 1) {\n value = value[0];\n } else {\n return false;\n }\n }\n if(bindingsByValue) {\n bindingsByValue[value] = i;\n }\n }\n\n return refBinding;\n};\n\nfunction bindingValueHasChanged(gd, binding, cache) {\n var container, value, obj;\n var changed = false;\n\n if(binding.type === 'data') {\n // If it's data, we need to get a trace. Based on the limited scope\n // of what we cover, we can just take the first trace from the list,\n // or otherwise just the first trace:\n container = gd._fullData[binding.traces !== null ? binding.traces[0] : 0];\n } else if(binding.type === 'layout') {\n container = gd._fullLayout;\n } else {\n return false;\n }\n\n value = Lib.nestedProperty(container, binding.prop).get();\n\n obj = cache[binding.type] = cache[binding.type] || {};\n\n if(obj.hasOwnProperty(binding.prop)) {\n if(obj[binding.prop] !== value) {\n changed = true;\n }\n }\n\n obj[binding.prop] = value;\n\n return {\n changed: changed,\n value: value\n };\n}\n\n/*\n * Execute an API command. There's really not much to this; it just provides\n * a common hook so that implementations don't need to be synchronized across\n * multiple components with the ability to invoke API commands.\n *\n * @param {string} method\n * The name of the plotly command to execute. Must be one of 'animate',\n * 'restyle', 'relayout', 'update'.\n * @param {array} args\n * A list of arguments passed to the API command\n */\nexports.executeAPICommand = function(gd, method, args) {\n if(method === 'skip') return Promise.resolve();\n\n var _method = Registry.apiMethodRegistry[method];\n var allArgs = [gd];\n if(!Array.isArray(args)) args = [];\n\n for(var i = 0; i < args.length; i++) {\n allArgs.push(args[i]);\n }\n\n return _method.apply(null, allArgs).catch(function(err) {\n Lib.warn('API call to Plotly.' + method + ' rejected.', err);\n return Promise.reject(err);\n });\n};\n\nexports.computeAPICommandBindings = function(gd, method, args) {\n var bindings;\n\n if(!Array.isArray(args)) args = [];\n\n switch(method) {\n case 'restyle':\n bindings = computeDataBindings(gd, args);\n break;\n case 'relayout':\n bindings = computeLayoutBindings(gd, args);\n break;\n case 'update':\n bindings = computeDataBindings(gd, [args[0], args[2]])\n .concat(computeLayoutBindings(gd, [args[1]]));\n break;\n case 'animate':\n bindings = computeAnimateBindings(gd, args);\n break;\n default:\n // This is the case where intelligent logic about what affects\n // this command is not implemented. It causes no ill effects.\n // For example, addFrames simply won't bind to a control component.\n bindings = [];\n }\n return bindings;\n};\n\nfunction computeAnimateBindings(gd, args) {\n // We'll assume that the only relevant modification an animation\n // makes that's meaningfully tracked is the frame:\n if(Array.isArray(args[0]) && args[0].length === 1 && ['string', 'number'].indexOf(typeof args[0][0]) !== -1) {\n return [{type: 'layout', prop: '_currentFrame', value: args[0][0].toString()}];\n } else {\n return [];\n }\n}\n\nfunction computeLayoutBindings(gd, args) {\n var bindings = [];\n\n var astr = args[0];\n var aobj = {};\n if(typeof astr === 'string') {\n aobj[astr] = args[1];\n } else if(Lib.isPlainObject(astr)) {\n aobj = astr;\n } else {\n return bindings;\n }\n\n crawl(aobj, function(path, attrName, attr) {\n bindings.push({type: 'layout', prop: path, value: attr});\n }, '', 0);\n\n return bindings;\n}\n\nfunction computeDataBindings(gd, args) {\n var traces, astr, val, aobj;\n var bindings = [];\n\n // Logic copied from Plotly.restyle:\n astr = args[0];\n val = args[1];\n traces = args[2];\n aobj = {};\n if(typeof astr === 'string') {\n aobj[astr] = val;\n } else if(Lib.isPlainObject(astr)) {\n // the 3-arg form\n aobj = astr;\n\n if(traces === undefined) {\n traces = val;\n }\n } else {\n return bindings;\n }\n\n if(traces === undefined) {\n // Explicitly assign this to null instead of undefined:\n traces = null;\n }\n\n crawl(aobj, function(path, attrName, _attr) {\n var thisTraces;\n var attr;\n\n if(Array.isArray(_attr)) {\n attr = _attr.slice();\n\n var nAttr = Math.min(attr.length, gd.data.length);\n if(traces) {\n nAttr = Math.min(nAttr, traces.length);\n }\n thisTraces = [];\n for(var j = 0; j < nAttr; j++) {\n thisTraces[j] = traces ? traces[j] : j;\n }\n } else {\n attr = _attr;\n thisTraces = traces ? traces.slice() : null;\n }\n\n // Convert [7] to just 7 when traces is null:\n if(thisTraces === null) {\n if(Array.isArray(attr)) {\n attr = attr[0];\n }\n } else if(Array.isArray(thisTraces)) {\n if(!Array.isArray(attr)) {\n var tmp = attr;\n attr = [];\n for(var i = 0; i < thisTraces.length; i++) {\n attr[i] = tmp;\n }\n }\n attr.length = Math.min(thisTraces.length, attr.length);\n }\n\n bindings.push({\n type: 'data',\n prop: path,\n traces: thisTraces,\n value: attr\n });\n }, '', 0);\n\n return bindings;\n}\n\nfunction crawl(attrs, callback, path, depth) {\n Object.keys(attrs).forEach(function(attrName) {\n var attr = attrs[attrName];\n\n if(attrName[0] === '_') return;\n\n var thisPath = path + (depth > 0 ? '.' : '') + attrName;\n\n if(Lib.isPlainObject(attr)) {\n crawl(attr, callback, thisPath, depth + 1);\n } else {\n // Only execute the callback on leaf nodes:\n callback(thisPath, attrName, attr);\n }\n });\n}\n\n\n/***/ }),\n\n/***/ \"46bc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar inCircle = __webpack_require__(\"0b1d\")[4]\nvar bsearch = __webpack_require__(\"cc77\")\n\nmodule.exports = delaunayRefine\n\nfunction testFlip(points, triangulation, stack, a, b, x) {\n var y = triangulation.opposite(a, b)\n\n //Test boundary edge\n if(y < 0) {\n return\n }\n\n //Swap edge if order flipped\n if(b < a) {\n var tmp = a\n a = b\n b = tmp\n tmp = x\n x = y\n y = tmp\n }\n\n //Test if edge is constrained\n if(triangulation.isConstraint(a, b)) {\n return\n }\n\n //Test if edge is delaunay\n if(inCircle(points[a], points[b], points[x], points[y]) < 0) {\n stack.push(a, b)\n }\n}\n\n//Assume edges are sorted lexicographically\nfunction delaunayRefine(points, triangulation) {\n var stack = []\n\n var numPoints = points.length\n var stars = triangulation.stars\n for(var a=0; a 0) {\n var b = stack.pop()\n var a = stack.pop()\n\n //Find opposite pairs\n var x = -1, y = -1\n var star = stars[a]\n for(var i=1; i= 0) {\n continue\n }\n\n //Flip the edge\n triangulation.flip(a, b)\n\n //Test flipping neighboring edges\n testFlip(points, triangulation, stack, x, a, y)\n testFlip(points, triangulation, stack, a, y, x)\n testFlip(points, triangulation, stack, y, b, x)\n testFlip(points, triangulation, stack, b, x, y)\n }\n}\n\n\n/***/ }),\n\n/***/ \"46c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"60c5\");\n\n\n/***/ }),\n\n/***/ \"4746\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"48bb\");\n\n\n/***/ }),\n\n/***/ \"47cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = function orientText(trace, xaxis, yaxis, xy, dxy, refDxy) {\n var dx = dxy[0] * trace.dpdx(xaxis);\n var dy = dxy[1] * trace.dpdy(yaxis);\n var flip = 1;\n\n var offsetMultiplier = 1.0;\n if(refDxy) {\n var l1 = Math.sqrt(dxy[0] * dxy[0] + dxy[1] * dxy[1]);\n var l2 = Math.sqrt(refDxy[0] * refDxy[0] + refDxy[1] * refDxy[1]);\n var dot = (dxy[0] * refDxy[0] + dxy[1] * refDxy[1]) / l1 / l2;\n offsetMultiplier = Math.max(0.0, dot);\n }\n\n var angle = Math.atan2(dy, dx) * 180 / Math.PI;\n if(angle < -90) {\n angle += 180;\n flip = -flip;\n } else if(angle > 90) {\n angle -= 180;\n flip = -flip;\n }\n\n return {\n angle: angle,\n flip: flip,\n p: trace.c2p(xy, xaxis, yaxis),\n offsetMultplier: offsetMultiplier\n };\n};\n\n\n/***/ }),\n\n/***/ \"4852\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar scales = {\n 'Greys': [\n [0, 'rgb(0,0,0)'], [1, 'rgb(255,255,255)']\n ],\n\n 'YlGnBu': [\n [0, 'rgb(8,29,88)'], [0.125, 'rgb(37,52,148)'],\n [0.25, 'rgb(34,94,168)'], [0.375, 'rgb(29,145,192)'],\n [0.5, 'rgb(65,182,196)'], [0.625, 'rgb(127,205,187)'],\n [0.75, 'rgb(199,233,180)'], [0.875, 'rgb(237,248,217)'],\n [1, 'rgb(255,255,217)']\n ],\n\n 'Greens': [\n [0, 'rgb(0,68,27)'], [0.125, 'rgb(0,109,44)'],\n [0.25, 'rgb(35,139,69)'], [0.375, 'rgb(65,171,93)'],\n [0.5, 'rgb(116,196,118)'], [0.625, 'rgb(161,217,155)'],\n [0.75, 'rgb(199,233,192)'], [0.875, 'rgb(229,245,224)'],\n [1, 'rgb(247,252,245)']\n ],\n\n 'YlOrRd': [\n [0, 'rgb(128,0,38)'], [0.125, 'rgb(189,0,38)'],\n [0.25, 'rgb(227,26,28)'], [0.375, 'rgb(252,78,42)'],\n [0.5, 'rgb(253,141,60)'], [0.625, 'rgb(254,178,76)'],\n [0.75, 'rgb(254,217,118)'], [0.875, 'rgb(255,237,160)'],\n [1, 'rgb(255,255,204)']\n ],\n\n 'Bluered': [\n [0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']\n ],\n\n // modified RdBu based on\n // http://www.kennethmoreland.com/color-maps/\n 'RdBu': [\n [0, 'rgb(5,10,172)'], [0.35, 'rgb(106,137,247)'],\n [0.5, 'rgb(190,190,190)'], [0.6, 'rgb(220,170,132)'],\n [0.7, 'rgb(230,145,90)'], [1, 'rgb(178,10,28)']\n ],\n\n // Scale for non-negative numeric values\n 'Reds': [\n [0, 'rgb(220,220,220)'], [0.2, 'rgb(245,195,157)'],\n [0.4, 'rgb(245,160,105)'], [1, 'rgb(178,10,28)']\n ],\n\n // Scale for non-positive numeric values\n 'Blues': [\n [0, 'rgb(5,10,172)'], [0.35, 'rgb(40,60,190)'],\n [0.5, 'rgb(70,100,245)'], [0.6, 'rgb(90,120,245)'],\n [0.7, 'rgb(106,137,247)'], [1, 'rgb(220,220,220)']\n ],\n\n 'Picnic': [\n [0, 'rgb(0,0,255)'], [0.1, 'rgb(51,153,255)'],\n [0.2, 'rgb(102,204,255)'], [0.3, 'rgb(153,204,255)'],\n [0.4, 'rgb(204,204,255)'], [0.5, 'rgb(255,255,255)'],\n [0.6, 'rgb(255,204,255)'], [0.7, 'rgb(255,153,255)'],\n [0.8, 'rgb(255,102,204)'], [0.9, 'rgb(255,102,102)'],\n [1, 'rgb(255,0,0)']\n ],\n\n 'Rainbow': [\n [0, 'rgb(150,0,90)'], [0.125, 'rgb(0,0,200)'],\n [0.25, 'rgb(0,25,255)'], [0.375, 'rgb(0,152,255)'],\n [0.5, 'rgb(44,255,150)'], [0.625, 'rgb(151,255,0)'],\n [0.75, 'rgb(255,234,0)'], [0.875, 'rgb(255,111,0)'],\n [1, 'rgb(255,0,0)']\n ],\n\n 'Portland': [\n [0, 'rgb(12,51,131)'], [0.25, 'rgb(10,136,186)'],\n [0.5, 'rgb(242,211,56)'], [0.75, 'rgb(242,143,56)'],\n [1, 'rgb(217,30,30)']\n ],\n\n 'Jet': [\n [0, 'rgb(0,0,131)'], [0.125, 'rgb(0,60,170)'],\n [0.375, 'rgb(5,255,255)'], [0.625, 'rgb(255,255,0)'],\n [0.875, 'rgb(250,0,0)'], [1, 'rgb(128,0,0)']\n ],\n\n 'Hot': [\n [0, 'rgb(0,0,0)'], [0.3, 'rgb(230,0,0)'],\n [0.6, 'rgb(255,210,0)'], [1, 'rgb(255,255,255)']\n ],\n\n 'Blackbody': [\n [0, 'rgb(0,0,0)'], [0.2, 'rgb(230,0,0)'],\n [0.4, 'rgb(230,210,0)'], [0.7, 'rgb(255,255,255)'],\n [1, 'rgb(160,200,255)']\n ],\n\n 'Earth': [\n [0, 'rgb(0,0,130)'], [0.1, 'rgb(0,180,180)'],\n [0.2, 'rgb(40,210,40)'], [0.4, 'rgb(230,230,50)'],\n [0.6, 'rgb(120,70,20)'], [1, 'rgb(255,255,255)']\n ],\n\n 'Electric': [\n [0, 'rgb(0,0,0)'], [0.15, 'rgb(30,0,100)'],\n [0.4, 'rgb(120,0,100)'], [0.6, 'rgb(160,90,0)'],\n [0.8, 'rgb(230,200,0)'], [1, 'rgb(255,250,220)']\n ],\n\n 'Viridis': [\n [0, '#440154'], [0.06274509803921569, '#48186a'],\n [0.12549019607843137, '#472d7b'], [0.18823529411764706, '#424086'],\n [0.25098039215686274, '#3b528b'], [0.3137254901960784, '#33638d'],\n [0.3764705882352941, '#2c728e'], [0.4392156862745098, '#26828e'],\n [0.5019607843137255, '#21918c'], [0.5647058823529412, '#1fa088'],\n [0.6274509803921569, '#28ae80'], [0.6901960784313725, '#3fbc73'],\n [0.7529411764705882, '#5ec962'], [0.8156862745098039, '#84d44b'],\n [0.8784313725490196, '#addc30'], [0.9411764705882353, '#d8e219'],\n [1, '#fde725']\n ],\n\n 'Cividis': [\n [0.000000, 'rgb(0,32,76)'], [0.058824, 'rgb(0,42,102)'],\n [0.117647, 'rgb(0,52,110)'], [0.176471, 'rgb(39,63,108)'],\n [0.235294, 'rgb(60,74,107)'], [0.294118, 'rgb(76,85,107)'],\n [0.352941, 'rgb(91,95,109)'], [0.411765, 'rgb(104,106,112)'],\n [0.470588, 'rgb(117,117,117)'], [0.529412, 'rgb(131,129,120)'],\n [0.588235, 'rgb(146,140,120)'], [0.647059, 'rgb(161,152,118)'],\n [0.705882, 'rgb(176,165,114)'], [0.764706, 'rgb(192,177,109)'],\n [0.823529, 'rgb(209,191,102)'], [0.882353, 'rgb(225,204,92)'],\n [0.941176, 'rgb(243,219,79)'], [1.000000, 'rgb(255,233,69)']\n ]\n};\n\nvar defaultScale = scales.RdBu;\n\nfunction getScale(scl, dflt) {\n if(!dflt) dflt = defaultScale;\n if(!scl) return dflt;\n\n function parseScale() {\n try {\n scl = scales[scl] || JSON.parse(scl);\n } catch(e) {\n scl = dflt;\n }\n }\n\n if(typeof scl === 'string') {\n parseScale();\n // occasionally scl is double-JSON encoded...\n if(typeof scl === 'string') parseScale();\n }\n\n if(!isValidScaleArray(scl)) return dflt;\n return scl;\n}\n\n\nfunction isValidScaleArray(scl) {\n var highestVal = 0;\n\n if(!Array.isArray(scl) || scl.length < 2) return false;\n\n if(!scl[0] || !scl[scl.length - 1]) return false;\n\n if(+scl[0][0] !== 0 || +scl[scl.length - 1][0] !== 1) return false;\n\n for(var i = 0; i < scl.length; i++) {\n var si = scl[i];\n\n if(si.length !== 2 || +si[0] < highestVal || !tinycolor(si[1]).isValid()) {\n return false;\n }\n\n highestVal = +si[0];\n }\n\n return true;\n}\n\nfunction isValidScale(scl) {\n if(scales[scl] !== undefined) return true;\n else return isValidScaleArray(scl);\n}\n\nmodule.exports = {\n scales: scales,\n defaultScale: defaultScale,\n\n get: getScale,\n isValid: isValidScale\n};\n\n\n/***/ }),\n\n/***/ \"487e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createLines\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"c185\").line\n\nvar MAJOR_AXIS = [0,0,0]\nvar MINOR_AXIS = [0,0,0]\nvar SCREEN_AXIS = [0,0,0]\nvar OFFSET_VEC = [0,0,0]\nvar SHAPE = [1,1]\n\nfunction zeroVec(a) {\n a[0] = a[1] = a[2] = 0\n return a\n}\n\nfunction copyVec(a,b) {\n a[0] = b[0]\n a[1] = b[1]\n a[2] = b[2]\n return a\n}\n\nfunction Lines(gl, vertBuffer, vao, shader, tickCount, tickOffset, gridCount, gridOffset) {\n this.gl = gl\n this.vertBuffer = vertBuffer\n this.vao = vao\n this.shader = shader\n this.tickCount = tickCount\n this.tickOffset = tickOffset\n this.gridCount = gridCount\n this.gridOffset = gridOffset\n}\n\nvar proto = Lines.prototype\n\nproto.bind = function(model, view, projection) {\n this.shader.bind()\n this.shader.uniforms.model = model\n this.shader.uniforms.view = view\n this.shader.uniforms.projection = projection\n\n SHAPE[0] = this.gl.drawingBufferWidth\n SHAPE[1] = this.gl.drawingBufferHeight\n\n this.shader.uniforms.screenShape = SHAPE\n this.vao.bind()\n}\n\nproto.unbind = function() {\n this.vao.unbind()\n}\n\nproto.drawAxisLine = function(j, bounds, offset, color, lineWidth) {\n var minorAxis = zeroVec(MINOR_AXIS)\n this.shader.uniforms.majorAxis = MINOR_AXIS\n\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[(j+2)%3] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, 6)\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[(j+1)%3] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, 6)\n}\n\nproto.drawAxisTicks = function(j, offset, minorAxis, color, lineWidth) {\n if(!this.tickCount[j]) {\n return\n }\n\n var majorAxis = zeroVec(MAJOR_AXIS)\n majorAxis[j] = 1\n this.shader.uniforms.majorAxis = majorAxis\n this.shader.uniforms.offset = offset\n this.shader.uniforms.minorAxis = minorAxis\n this.shader.uniforms.color = color\n this.shader.uniforms.lineWidth = lineWidth\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[j] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.vao.draw(this.gl.TRIANGLES, this.tickCount[j], this.tickOffset[j])\n}\n\n\nproto.drawGrid = function(i, j, bounds, offset, color, lineWidth) {\n if(!this.gridCount[i]) {\n return\n }\n\n var minorAxis = zeroVec(MINOR_AXIS)\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n var majorAxis = zeroVec(MAJOR_AXIS)\n majorAxis[i] = 1\n this.shader.uniforms.majorAxis = majorAxis\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[i] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n this.vao.draw(this.gl.TRIANGLES, this.gridCount[i], this.gridOffset[i])\n}\n\nproto.drawZero = function(j, i, bounds, offset, color, lineWidth) {\n var minorAxis = zeroVec(MINOR_AXIS)\n this.shader.uniforms.majorAxis = minorAxis\n\n minorAxis[j] = bounds[1][j] - bounds[0][j]\n this.shader.uniforms.minorAxis = minorAxis\n\n var noffset = copyVec(OFFSET_VEC, offset)\n noffset[j] += bounds[0][j]\n this.shader.uniforms.offset = noffset\n\n var screenAxis = zeroVec(SCREEN_AXIS)\n screenAxis[i] = 1\n this.shader.uniforms.screenAxis = screenAxis\n this.shader.uniforms.lineWidth = lineWidth\n\n this.shader.uniforms.color = color\n this.vao.draw(this.gl.TRIANGLES, 6)\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.vertBuffer.dispose()\n this.shader.dispose()\n}\n\nfunction createLines(gl, bounds, ticks) {\n var vertices = []\n var tickOffset = [0,0,0]\n var tickCount = [0,0,0]\n\n //Create grid lines for each axis/direction\n var gridOffset = [0,0,0]\n var gridCount = [0,0,0]\n\n //Add zero line\n vertices.push(\n 0,0,1, 0,1,1, 0,0,-1,\n 0,0,-1, 0,1,1, 0,1,-1)\n\n for(var i=0; i<3; ++i) {\n //Axis tick marks\n var start = ((vertices.length / 3)|0)\n for(var j=0; j\n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT license.\n */\n\n\n\nvar repeat = __webpack_require__(\"4633\");\n\nmodule.exports = function padLeft(str, num, ch) {\n ch = typeof ch !== 'undefined' ? (ch + '') : ' ';\n return repeat(ch, num) + str;\n};\n\n/***/ }),\n\n/***/ \"48f0\":\n/***/ (function(module, exports) {\n\nmodule.exports = invert\n\n/**\n * Inverts a mat2\n *\n * @alias mat2.invert\n * @param {mat2} out the receiving matrix\n * @param {mat2} a the source matrix\n * @returns {mat2} out\n */\nfunction invert(out, a) {\n var a0 = a[0]\n var a1 = a[1]\n var a2 = a[2]\n var a3 = a[3]\n var det = a0 * a3 - a2 * a1\n\n if (!det) return null\n det = 1.0 / det\n\n out[0] = a3 * det\n out[1] = -a1 * det\n out[2] = -a2 * det\n out[3] = a0 * det\n\n return out\n}\n\n\n/***/ }),\n\n/***/ \"492e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSlabDecomposition\n\nvar bounds = __webpack_require__(\"2e46\")\nvar createRBTree = __webpack_require__(\"c8ac\")\nvar orient = __webpack_require__(\"92ba\")\nvar orderSegments = __webpack_require__(\"9cfb\")\n\nfunction SlabDecomposition(slabs, coordinates, horizontal) {\n this.slabs = slabs\n this.coordinates = coordinates\n this.horizontal = horizontal\n}\n\nvar proto = SlabDecomposition.prototype\n\nfunction compareHorizontal(e, y) {\n return e.y - y\n}\n\nfunction searchBucket(root, p) {\n var lastNode = null\n while(root) {\n var seg = root.key\n var l, r\n if(seg[0][0] < seg[1][0]) {\n l = seg[0]\n r = seg[1]\n } else {\n l = seg[1]\n r = seg[0]\n }\n var o = orient(l, r, p)\n if(o < 0) {\n root = root.left\n } else if(o > 0) {\n if(p[0] !== seg[1][0]) {\n lastNode = root\n root = root.right\n } else {\n var val = searchBucket(root.right, p)\n if(val) {\n return val\n }\n root = root.left\n }\n } else {\n if(p[0] !== seg[1][0]) {\n return root\n } else {\n var val = searchBucket(root.right, p)\n if(val) {\n return val\n }\n root = root.left\n }\n }\n }\n return lastNode\n}\n\nproto.castUp = function(p) {\n var bucket = bounds.le(this.coordinates, p[0])\n if(bucket < 0) {\n return -1\n }\n var root = this.slabs[bucket]\n var hitNode = searchBucket(this.slabs[bucket], p)\n var lastHit = -1\n if(hitNode) {\n lastHit = hitNode.value\n }\n //Edge case: need to handle horizontal segments (sucks)\n if(this.coordinates[bucket] === p[0]) {\n var lastSegment = null\n if(hitNode) {\n lastSegment = hitNode.key\n }\n if(bucket > 0) {\n var otherHitNode = searchBucket(this.slabs[bucket-1], p)\n if(otherHitNode) {\n if(lastSegment) {\n if(orderSegments(otherHitNode.key, lastSegment) > 0) {\n lastSegment = otherHitNode.key\n lastHit = otherHitNode.value\n }\n } else {\n lastHit = otherHitNode.value\n lastSegment = otherHitNode.key\n }\n }\n }\n var horiz = this.horizontal[bucket]\n if(horiz.length > 0) {\n var hbucket = bounds.ge(horiz, p[1], compareHorizontal)\n if(hbucket < horiz.length) {\n var e = horiz[hbucket]\n if(p[1] === e.y) {\n if(e.closed) {\n return e.index\n } else {\n while(hbucket < horiz.length-1 && horiz[hbucket+1].y === p[1]) {\n hbucket = hbucket+1\n e = horiz[hbucket]\n if(e.closed) {\n return e.index\n }\n }\n if(e.y === p[1] && !e.start) {\n hbucket = hbucket+1\n if(hbucket >= horiz.length) {\n return lastHit\n }\n e = horiz[hbucket]\n }\n }\n }\n //Check if e is above/below last segment\n if(e.start) {\n if(lastSegment) {\n var o = orient(lastSegment[0], lastSegment[1], [p[0], e.y])\n if(lastSegment[0][0] > lastSegment[1][0]) {\n o = -o\n }\n if(o > 0) {\n lastHit = e.index\n }\n } else {\n lastHit = e.index\n }\n } else if(e.y !== p[1]) {\n lastHit = e.index\n }\n }\n }\n }\n return lastHit\n}\n\nfunction IntervalSegment(y, index, start, closed) {\n this.y = y\n this.index = index\n this.start = start\n this.closed = closed\n}\n\nfunction Event(x, segment, create, index) {\n this.x = x\n this.segment = segment\n this.create = create\n this.index = index\n}\n\n\nfunction createSlabDecomposition(segments) {\n var numSegments = segments.length\n var numEvents = 2 * numSegments\n var events = new Array(numEvents)\n for(var i=0; i bounds[2]) bounds[2] = points[j + 0]\r\n if (points[j + 1] > bounds[3]) bounds[3] = points[j + 1]\r\n }\r\n }\r\n\r\n return bounds\r\n}\r\n\n\n/***/ }),\n\n/***/ \"4aa8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"3e8e\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n coerce('treemapcolorway', layoutOut.colorway);\n coerce('extendtreemapcolors');\n};\n\n\n/***/ }),\n\n/***/ \"4ae2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = preprocessPolygon\n\nvar orient = __webpack_require__(\"92ba\")[3]\nvar makeSlabs = __webpack_require__(\"492e\")\nvar makeIntervalTree = __webpack_require__(\"4393\")\nvar bsearch = __webpack_require__(\"b707\")\n\nfunction visitInterval() {\n return true\n}\n\nfunction intervalSearch(table) {\n return function(x, y) {\n var tree = table[x]\n if(tree) {\n return !!tree.queryPoint(y, visitInterval)\n }\n return false\n }\n}\n\nfunction buildVerticalIndex(segments) {\n var table = {}\n for(var i=0; i 0 && coordinates[bucket] === p[0]) {\n root = slabs[bucket-1]\n } else {\n return 1\n }\n }\n var lastOrientation = 1\n while(root) {\n var s = root.key\n var o = orient(p, s[0], s[1])\n if(s[0][0] < s[1][0]) {\n if(o < 0) {\n root = root.left\n } else if(o > 0) {\n lastOrientation = -1\n root = root.right\n } else {\n return 0\n }\n } else {\n if(o > 0) {\n root = root.left\n } else if(o < 0) {\n lastOrientation = 1\n root = root.right\n } else {\n return 0\n }\n }\n }\n return lastOrientation\n }\n}\n\nfunction classifyEmpty(p) {\n return 1\n}\n\nfunction createClassifyVertical(testVertical) {\n return function classify(p) {\n if(testVertical(p[0], p[1])) {\n return 0\n }\n return 1\n }\n}\n\nfunction createClassifyPointDegen(testVertical, testNormal) {\n return function classify(p) {\n if(testVertical(p[0], p[1])) {\n return 0\n }\n return testNormal(p)\n }\n}\n\nfunction preprocessPolygon(loops) {\n //Compute number of loops\n var numLoops = loops.length\n\n //Unpack segments\n var segments = []\n var vsegments = []\n var ptr = 0\n for(var i=0; i 1 ? {\n type: \"MultiPolygon\",\n coordinates: polygons\n } : {\n type: \"Polygon\",\n coordinates: polygons[0]\n };\n }\n };\n var d3_geo_projectGeometryType = {\n Point: d3_geo_projectPoint,\n MultiPoint: d3_geo_projectPoint,\n LineString: d3_geo_projectLine,\n MultiLineString: d3_geo_projectLine,\n Polygon: d3_geo_projectPolygon,\n MultiPolygon: d3_geo_projectPolygon,\n Sphere: d3_geo_projectPolygon\n };\n function d3_geo_projectNoop() {}\n function d3_geo_projectClockwise(ring) {\n if ((n = ring.length) < 4) return false;\n var i = 0, n, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area <= 0;\n }\n function d3_geo_projectContains(ring, point) {\n var x = point[0], y = point[1], contains = false;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (yi > y ^ yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) contains = !contains;\n }\n return contains;\n }\n var ε = 1e-6, ε2 = ε * ε, π = Math.PI, halfπ = π / 2, sqrtπ = Math.sqrt(π), radians = π / 180, degrees = 180 / π;\n function sinci(x) {\n return x ? x / Math.sin(x) : 1;\n }\n function sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function asin(x) {\n return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n }\n function acos(x) {\n return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n }\n function asqrt(x) {\n return x > 0 ? Math.sqrt(x) : 0;\n }\n var projection = d3.geo.projection, projectionMutator = d3.geo.projectionMutator;\n d3.geo.interrupt = function(project) {\n var lobes = [ [ [ [ -π, 0 ], [ 0, halfπ ], [ π, 0 ] ] ], [ [ [ -π, 0 ], [ 0, -halfπ ], [ π, 0 ] ] ] ];\n var bounds;\n function forward(λ, φ) {\n var sign = φ < 0 ? -1 : +1, hemilobes = lobes[+(φ < 0)];\n for (var i = 0, n = hemilobes.length - 1; i < n && λ > hemilobes[i][2][0]; ++i) ;\n var coordinates = project(λ - hemilobes[i][1][0], φ);\n coordinates[0] += project(hemilobes[i][1][0], sign * φ > sign * hemilobes[i][0][1] ? hemilobes[i][0][1] : φ)[0];\n return coordinates;\n }\n function reset() {\n bounds = lobes.map(function(hemilobes) {\n return hemilobes.map(function(lobe) {\n var x0 = project(lobe[0][0], lobe[0][1])[0], x1 = project(lobe[2][0], lobe[2][1])[0], y0 = project(lobe[1][0], lobe[0][1])[1], y1 = project(lobe[1][0], lobe[1][1])[1], t;\n if (y0 > y1) t = y0, y0 = y1, y1 = t;\n return [ [ x0, y0 ], [ x1, y1 ] ];\n });\n });\n }\n if (project.invert) forward.invert = function(x, y) {\n var hemibounds = bounds[+(y < 0)], hemilobes = lobes[+(y < 0)];\n for (var i = 0, n = hemibounds.length; i < n; ++i) {\n var b = hemibounds[i];\n if (b[0][0] <= x && x < b[1][0] && b[0][1] <= y && y < b[1][1]) {\n var coordinates = project.invert(x - project(hemilobes[i][1][0], 0)[0], y);\n coordinates[0] += hemilobes[i][1][0];\n return pointEqual(forward(coordinates[0], coordinates[1]), [ x, y ]) ? coordinates : null;\n }\n }\n };\n var projection = d3.geo.projection(forward), stream_ = projection.stream;\n projection.stream = function(stream) {\n var rotate = projection.rotate(), rotateStream = stream_(stream), sphereStream = (projection.rotate([ 0, 0 ]),\n stream_(stream));\n projection.rotate(rotate);\n rotateStream.sphere = function() {\n d3.geo.stream(sphere(), sphereStream);\n };\n return rotateStream;\n };\n projection.lobes = function(_) {\n if (!arguments.length) return lobes.map(function(lobes) {\n return lobes.map(function(lobe) {\n return [ [ lobe[0][0] * 180 / π, lobe[0][1] * 180 / π ], [ lobe[1][0] * 180 / π, lobe[1][1] * 180 / π ], [ lobe[2][0] * 180 / π, lobe[2][1] * 180 / π ] ];\n });\n });\n lobes = _.map(function(lobes) {\n return lobes.map(function(lobe) {\n return [ [ lobe[0][0] * π / 180, lobe[0][1] * π / 180 ], [ lobe[1][0] * π / 180, lobe[1][1] * π / 180 ], [ lobe[2][0] * π / 180, lobe[2][1] * π / 180 ] ];\n });\n });\n reset();\n return projection;\n };\n function sphere() {\n var ε = 1e-6, coordinates = [];\n for (var i = 0, n = lobes[0].length; i < n; ++i) {\n var lobe = lobes[0][i], λ0 = lobe[0][0] * 180 / π, φ0 = lobe[0][1] * 180 / π, φ1 = lobe[1][1] * 180 / π, λ2 = lobe[2][0] * 180 / π, φ2 = lobe[2][1] * 180 / π;\n coordinates.push(resample([ [ λ0 + ε, φ0 + ε ], [ λ0 + ε, φ1 - ε ], [ λ2 - ε, φ1 - ε ], [ λ2 - ε, φ2 + ε ] ], 30));\n }\n for (var i = lobes[1].length - 1; i >= 0; --i) {\n var lobe = lobes[1][i], λ0 = lobe[0][0] * 180 / π, φ0 = lobe[0][1] * 180 / π, φ1 = lobe[1][1] * 180 / π, λ2 = lobe[2][0] * 180 / π, φ2 = lobe[2][1] * 180 / π;\n coordinates.push(resample([ [ λ2 - ε, φ2 - ε ], [ λ2 - ε, φ1 + ε ], [ λ0 + ε, φ1 + ε ], [ λ0 + ε, φ0 - ε ] ], 30));\n }\n return {\n type: \"Polygon\",\n coordinates: [ d3.merge(coordinates) ]\n };\n }\n function resample(coordinates, m) {\n var i = -1, n = coordinates.length, p0 = coordinates[0], p1, dx, dy, resampled = [];\n while (++i < n) {\n p1 = coordinates[i];\n dx = (p1[0] - p0[0]) / m;\n dy = (p1[1] - p0[1]) / m;\n for (var j = 0; j < m; ++j) resampled.push([ p0[0] + j * dx, p0[1] + j * dy ]);\n p0 = p1;\n }\n resampled.push(p1);\n return resampled;\n }\n function pointEqual(a, b) {\n return Math.abs(a[0] - b[0]) < ε && Math.abs(a[1] - b[1]) < ε;\n }\n return projection;\n };\n function eckert4(λ, φ) {\n var k = (2 + halfπ) * Math.sin(φ);\n φ /= 2;\n for (var i = 0, δ = Infinity; i < 10 && Math.abs(δ) > ε; i++) {\n var cosφ = Math.cos(φ);\n φ -= δ = (φ + Math.sin(φ) * (cosφ + 2) - k) / (2 * cosφ * (1 + cosφ));\n }\n return [ 2 / Math.sqrt(π * (4 + π)) * λ * (1 + Math.cos(φ)), 2 * Math.sqrt(π / (4 + π)) * Math.sin(φ) ];\n }\n eckert4.invert = function(x, y) {\n var A = .5 * y * Math.sqrt((4 + π) / π), k = asin(A), c = Math.cos(k);\n return [ x / (2 / Math.sqrt(π * (4 + π)) * (1 + c)), asin((k + A * (c + 2)) / (2 + halfπ)) ];\n };\n (d3.geo.eckert4 = function() {\n return projection(eckert4);\n }).raw = eckert4;\n var hammerAzimuthalEqualArea = d3.geo.azimuthalEqualArea.raw;\n function hammer(A, B) {\n if (arguments.length < 2) B = A;\n if (B === 1) return hammerAzimuthalEqualArea;\n if (B === Infinity) return hammerQuarticAuthalic;\n function forward(λ, φ) {\n var coordinates = hammerAzimuthalEqualArea(λ / B, φ);\n coordinates[0] *= A;\n return coordinates;\n }\n forward.invert = function(x, y) {\n var coordinates = hammerAzimuthalEqualArea.invert(x / A, y);\n coordinates[0] *= B;\n return coordinates;\n };\n return forward;\n }\n function hammerProjection() {\n var B = 2, m = projectionMutator(hammer), p = m(B);\n p.coefficient = function(_) {\n if (!arguments.length) return B;\n return m(B = +_);\n };\n return p;\n }\n function hammerQuarticAuthalic(λ, φ) {\n return [ λ * Math.cos(φ) / Math.cos(φ /= 2), 2 * Math.sin(φ) ];\n }\n hammerQuarticAuthalic.invert = function(x, y) {\n var φ = 2 * asin(y / 2);\n return [ x * Math.cos(φ / 2) / Math.cos(φ), φ ];\n };\n (d3.geo.hammer = hammerProjection).raw = hammer;\n function kavrayskiy7(λ, φ) {\n return [ 3 * λ / (2 * π) * Math.sqrt(π * π / 3 - φ * φ), φ ];\n }\n kavrayskiy7.invert = function(x, y) {\n return [ 2 / 3 * π * x / Math.sqrt(π * π / 3 - y * y), y ];\n };\n (d3.geo.kavrayskiy7 = function() {\n return projection(kavrayskiy7);\n }).raw = kavrayskiy7;\n function miller(λ, φ) {\n return [ λ, 1.25 * Math.log(Math.tan(π / 4 + .4 * φ)) ];\n }\n miller.invert = function(x, y) {\n return [ x, 2.5 * Math.atan(Math.exp(.8 * y)) - .625 * π ];\n };\n (d3.geo.miller = function() {\n return projection(miller);\n }).raw = miller;\n function mollweideBromleyθ(Cp) {\n return function(θ) {\n var Cpsinθ = Cp * Math.sin(θ), i = 30, δ;\n do θ -= δ = (θ + Math.sin(θ) - Cpsinθ) / (1 + Math.cos(θ)); while (Math.abs(δ) > ε && --i > 0);\n return θ / 2;\n };\n }\n function mollweideBromley(Cx, Cy, Cp) {\n var θ = mollweideBromleyθ(Cp);\n function forward(λ, φ) {\n return [ Cx * λ * Math.cos(φ = θ(φ)), Cy * Math.sin(φ) ];\n }\n forward.invert = function(x, y) {\n var θ = asin(y / Cy);\n return [ x / (Cx * Math.cos(θ)), asin((2 * θ + Math.sin(2 * θ)) / Cp) ];\n };\n return forward;\n }\n var mollweideθ = mollweideBromleyθ(π), mollweide = mollweideBromley(Math.SQRT2 / halfπ, Math.SQRT2, π);\n (d3.geo.mollweide = function() {\n return projection(mollweide);\n }).raw = mollweide;\n function naturalEarth(λ, φ) {\n var φ2 = φ * φ, φ4 = φ2 * φ2;\n return [ λ * (.8707 - .131979 * φ2 + φ4 * (-.013791 + φ4 * (.003971 * φ2 - .001529 * φ4))), φ * (1.007226 + φ2 * (.015085 + φ4 * (-.044475 + .028874 * φ2 - .005916 * φ4))) ];\n }\n naturalEarth.invert = function(x, y) {\n var φ = y, i = 25, δ;\n do {\n var φ2 = φ * φ, φ4 = φ2 * φ2;\n φ -= δ = (φ * (1.007226 + φ2 * (.015085 + φ4 * (-.044475 + .028874 * φ2 - .005916 * φ4))) - y) / (1.007226 + φ2 * (.015085 * 3 + φ4 * (-.044475 * 7 + .028874 * 9 * φ2 - .005916 * 11 * φ4)));\n } while (Math.abs(δ) > ε && --i > 0);\n return [ x / (.8707 + (φ2 = φ * φ) * (-.131979 + φ2 * (-.013791 + φ2 * φ2 * φ2 * (.003971 - .001529 * φ2)))), φ ];\n };\n (d3.geo.naturalEarth = function() {\n return projection(naturalEarth);\n }).raw = naturalEarth;\n var robinsonConstants = [ [ .9986, -.062 ], [ 1, 0 ], [ .9986, .062 ], [ .9954, .124 ], [ .99, .186 ], [ .9822, .248 ], [ .973, .31 ], [ .96, .372 ], [ .9427, .434 ], [ .9216, .4958 ], [ .8962, .5571 ], [ .8679, .6176 ], [ .835, .6769 ], [ .7986, .7346 ], [ .7597, .7903 ], [ .7186, .8435 ], [ .6732, .8936 ], [ .6213, .9394 ], [ .5722, .9761 ], [ .5322, 1 ] ];\n robinsonConstants.forEach(function(d) {\n d[1] *= 1.0144;\n });\n function robinson(λ, φ) {\n var i = Math.min(18, Math.abs(φ) * 36 / π), i0 = Math.floor(i), di = i - i0, ax = (k = robinsonConstants[i0])[0], ay = k[1], bx = (k = robinsonConstants[++i0])[0], by = k[1], cx = (k = robinsonConstants[Math.min(19, ++i0)])[0], cy = k[1], k;\n return [ λ * (bx + di * (cx - ax) / 2 + di * di * (cx - 2 * bx + ax) / 2), (φ > 0 ? halfπ : -halfπ) * (by + di * (cy - ay) / 2 + di * di * (cy - 2 * by + ay) / 2) ];\n }\n robinson.invert = function(x, y) {\n var yy = y / halfπ, φ = yy * 90, i = Math.min(18, Math.abs(φ / 5)), i0 = Math.max(0, Math.floor(i));\n do {\n var ay = robinsonConstants[i0][1], by = robinsonConstants[i0 + 1][1], cy = robinsonConstants[Math.min(19, i0 + 2)][1], u = cy - ay, v = cy - 2 * by + ay, t = 2 * (Math.abs(yy) - by) / u, c = v / u, di = t * (1 - c * t * (1 - 2 * c * t));\n if (di >= 0 || i0 === 1) {\n φ = (y >= 0 ? 5 : -5) * (di + i);\n var j = 50, δ;\n do {\n i = Math.min(18, Math.abs(φ) / 5);\n i0 = Math.floor(i);\n di = i - i0;\n ay = robinsonConstants[i0][1];\n by = robinsonConstants[i0 + 1][1];\n cy = robinsonConstants[Math.min(19, i0 + 2)][1];\n φ -= (δ = (y >= 0 ? halfπ : -halfπ) * (by + di * (cy - ay) / 2 + di * di * (cy - 2 * by + ay) / 2) - y) * degrees;\n } while (Math.abs(δ) > ε2 && --j > 0);\n break;\n }\n } while (--i0 >= 0);\n var ax = robinsonConstants[i0][0], bx = robinsonConstants[i0 + 1][0], cx = robinsonConstants[Math.min(19, i0 + 2)][0];\n return [ x / (bx + di * (cx - ax) / 2 + di * di * (cx - 2 * bx + ax) / 2), φ * radians ];\n };\n (d3.geo.robinson = function() {\n return projection(robinson);\n }).raw = robinson;\n function sinusoidal(λ, φ) {\n return [ λ * Math.cos(φ), φ ];\n }\n sinusoidal.invert = function(x, y) {\n return [ x / Math.cos(y), y ];\n };\n (d3.geo.sinusoidal = function() {\n return projection(sinusoidal);\n }).raw = sinusoidal;\n function aitoff(λ, φ) {\n var cosφ = Math.cos(φ), sinciα = sinci(acos(cosφ * Math.cos(λ /= 2)));\n return [ 2 * cosφ * Math.sin(λ) * sinciα, Math.sin(φ) * sinciα ];\n }\n aitoff.invert = function(x, y) {\n if (x * x + 4 * y * y > π * π + ε) return;\n var λ = x, φ = y, i = 25;\n do {\n var sinλ = Math.sin(λ), sinλ_2 = Math.sin(λ / 2), cosλ_2 = Math.cos(λ / 2), sinφ = Math.sin(φ), cosφ = Math.cos(φ), sin_2φ = Math.sin(2 * φ), sin2φ = sinφ * sinφ, cos2φ = cosφ * cosφ, sin2λ_2 = sinλ_2 * sinλ_2, C = 1 - cos2φ * cosλ_2 * cosλ_2, E = C ? acos(cosφ * cosλ_2) * Math.sqrt(F = 1 / C) : F = 0, F, fx = 2 * E * cosφ * sinλ_2 - x, fy = E * sinφ - y, δxδλ = F * (cos2φ * sin2λ_2 + E * cosφ * cosλ_2 * sin2φ), δxδφ = F * (.5 * sinλ * sin_2φ - E * 2 * sinφ * sinλ_2), δyδλ = F * .25 * (sin_2φ * sinλ_2 - E * sinφ * cos2φ * sinλ), δyδφ = F * (sin2φ * cosλ_2 + E * sin2λ_2 * cosφ), denominator = δxδφ * δyδλ - δyδφ * δxδλ;\n if (!denominator) break;\n var δλ = (fy * δxδφ - fx * δyδφ) / denominator, δφ = (fx * δyδλ - fy * δxδλ) / denominator;\n λ -= δλ, φ -= δφ;\n } while ((Math.abs(δλ) > ε || Math.abs(δφ) > ε) && --i > 0);\n return [ λ, φ ];\n };\n (d3.geo.aitoff = function() {\n return projection(aitoff);\n }).raw = aitoff;\n function winkel3(λ, φ) {\n var coordinates = aitoff(λ, φ);\n return [ (coordinates[0] + λ / halfπ) / 2, (coordinates[1] + φ) / 2 ];\n }\n winkel3.invert = function(x, y) {\n var λ = x, φ = y, i = 25;\n do {\n var cosφ = Math.cos(φ), sinφ = Math.sin(φ), sin_2φ = Math.sin(2 * φ), sin2φ = sinφ * sinφ, cos2φ = cosφ * cosφ, sinλ = Math.sin(λ), cosλ_2 = Math.cos(λ / 2), sinλ_2 = Math.sin(λ / 2), sin2λ_2 = sinλ_2 * sinλ_2, C = 1 - cos2φ * cosλ_2 * cosλ_2, E = C ? acos(cosφ * cosλ_2) * Math.sqrt(F = 1 / C) : F = 0, F, fx = .5 * (2 * E * cosφ * sinλ_2 + λ / halfπ) - x, fy = .5 * (E * sinφ + φ) - y, δxδλ = .5 * F * (cos2φ * sin2λ_2 + E * cosφ * cosλ_2 * sin2φ) + .5 / halfπ, δxδφ = F * (sinλ * sin_2φ / 4 - E * sinφ * sinλ_2), δyδλ = .125 * F * (sin_2φ * sinλ_2 - E * sinφ * cos2φ * sinλ), δyδφ = .5 * F * (sin2φ * cosλ_2 + E * sin2λ_2 * cosφ) + .5, denominator = δxδφ * δyδλ - δyδφ * δxδλ, δλ = (fy * δxδφ - fx * δyδφ) / denominator, δφ = (fx * δyδλ - fy * δxδλ) / denominator;\n λ -= δλ, φ -= δφ;\n } while ((Math.abs(δλ) > ε || Math.abs(δφ) > ε) && --i > 0);\n return [ λ, φ ];\n };\n (d3.geo.winkel3 = function() {\n return projection(winkel3);\n }).raw = winkel3;\n}\n\nmodule.exports = addProjectionsToD3;\n\n\n/***/ }),\n\n/***/ \"4bba\":\n/***/ (function(module, exports) {\n\nmodule.exports = inverse;\n\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to invert\n * @returns {vec3} out\n */\nfunction inverse(out, a) {\n out[0] = 1.0 / a[0]\n out[1] = 1.0 / a[1]\n out[2] = 1.0 / a[2]\n return out\n}\n\n/***/ }),\n\n/***/ \"4c18\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar uniq = __webpack_require__(\"175e\")\n\n// This function generates very simple loops analogous to how you typically traverse arrays (the outermost loop corresponds to the slowest changing index, the innermost loop to the fastest changing index)\n// TODO: If two arrays have the same strides (and offsets) there is potential for decreasing the number of \"pointers\" and related variables. The drawback is that the type signature would become more specific and that there would thus be less potential for caching, but it might still be worth it, especially when dealing with large numbers of arguments.\nfunction innerFill(order, proc, body) {\n var dimension = order.length\n , nargs = proc.arrayArgs.length\n , has_index = proc.indexArgs.length>0\n , code = []\n , vars = []\n , idx=0, pidx=0, i, j\n for(i=0; i 0) {\n code.push(\"var \" + vars.join(\",\"))\n } \n //Scan loop\n for(i=dimension-1; i>=0; --i) { // Start at largest stride and work your way inwards\n idx = order[i]\n code.push([\"for(i\",i,\"=0;i\",i,\" 0) {\n code.push([\"index[\",pidx,\"]-=s\",pidx].join(\"\"))\n }\n code.push([\"++index[\",idx,\"]\"].join(\"\"))\n }\n code.push(\"}\")\n }\n return code.join(\"\\n\")\n}\n\n// Generate \"outer\" loops that loop over blocks of data, applying \"inner\" loops to the blocks by manipulating the local variables in such a way that the inner loop only \"sees\" the current block.\n// TODO: If this is used, then the previous declaration (done by generateCwiseOp) of s* is essentially unnecessary.\n// I believe the s* are not used elsewhere (in particular, I don't think they're used in the pre/post parts and \"shape\" is defined independently), so it would be possible to make defining the s* dependent on what loop method is being used.\nfunction outerFill(matched, order, proc, body) {\n var dimension = order.length\n , nargs = proc.arrayArgs.length\n , blockSize = proc.blockSize\n , has_index = proc.indexArgs.length > 0\n , code = []\n for(var i=0; i0;){\"].join(\"\")) // Iterate back to front\n code.push([\"if(j\",i,\"<\",blockSize,\"){\"].join(\"\")) // Either decrease j by blockSize (s = blockSize), or set it to zero (after setting s = j).\n code.push([\"s\",order[i],\"=j\",i].join(\"\"))\n code.push([\"j\",i,\"=0\"].join(\"\"))\n code.push([\"}else{s\",order[i],\"=\",blockSize].join(\"\"))\n code.push([\"j\",i,\"-=\",blockSize,\"}\"].join(\"\"))\n if(has_index) {\n code.push([\"index[\",order[i],\"]=j\",i].join(\"\"))\n }\n }\n for(var i=0; i 0) {\n allEqual = allEqual && summary[i] === summary[i-1]\n }\n }\n if(allEqual) {\n return summary[0]\n }\n return summary.join(\"\")\n}\n\n//Generates a cwise operator\nfunction generateCWiseOp(proc, typesig) {\n\n //Compute dimension\n // Arrays get put first in typesig, and there are two entries per array (dtype and order), so this gets the number of dimensions in the first array arg.\n var dimension = (typesig[1].length - Math.abs(proc.arrayBlockIndices[0]))|0\n var orders = new Array(proc.arrayArgs.length)\n var dtypes = new Array(proc.arrayArgs.length)\n for(var i=0; i 0) {\n vars.push(\"shape=SS.slice(0)\") // Makes the shape over which we iterate available to the user defined functions (so you can use width/height for example)\n }\n if(proc.indexArgs.length > 0) {\n // Prepare an array to keep track of the (logical) indices, initialized to dimension zeroes.\n var zeros = new Array(dimension)\n for(var i=0; i 0) {\n code.push(\"var \" + vars.join(\",\"))\n }\n for(var i=0; i 3) {\n code.push(processBlock(proc.pre, proc, dtypes))\n }\n\n //Process body\n var body = processBlock(proc.body, proc, dtypes)\n var matched = countMatches(loopOrders)\n if(matched < dimension) {\n code.push(outerFill(matched, loopOrders[0], proc, body)) // TODO: Rather than passing loopOrders[0], it might be interesting to look at passing an order that represents the majority of the arguments for example.\n } else {\n code.push(innerFill(loopOrders[0], proc, body))\n }\n\n //Inline epilog\n if(proc.post.body.length > 3) {\n code.push(processBlock(proc.post, proc, dtypes))\n }\n \n if(proc.debug) {\n console.log(\"-----Generated cwise routine for \", typesig, \":\\n\" + code.join(\"\\n\") + \"\\n----------\")\n }\n \n var loopName = [(proc.funcName||\"unnamed\"), \"_cwise_loop_\", orders[0].join(\"s\"),\"m\",matched,typeSummary(dtypes)].join(\"\")\n var f = new Function([\"function \",loopName,\"(\", arglist.join(\",\"),\"){\", code.join(\"\\n\"),\"} return \", loopName].join(\"\"))\n return f()\n}\nmodule.exports = generateCWiseOp\n\n\n/***/ }),\n\n/***/ \"4c66\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar axisIDs = __webpack_require__(\"3c1c\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar constants = __webpack_require__(\"22f9\");\nvar LINE_SPACING = __webpack_require__(\"63dc\").LINE_SPACING;\nvar name = constants.name;\n\nfunction isVisible(ax) {\n var rangeSlider = ax && ax[name];\n return rangeSlider && rangeSlider.visible;\n}\nexports.isVisible = isVisible;\n\nexports.makeData = function(fullLayout) {\n var axes = axisIDs.list({ _fullLayout: fullLayout }, 'x', true);\n var margin = fullLayout.margin;\n var rangeSliderData = [];\n\n if(!fullLayout._has('gl2d')) {\n for(var i = 0; i < axes.length; i++) {\n var ax = axes[i];\n\n if(isVisible(ax)) {\n rangeSliderData.push(ax);\n\n var opts = ax[name];\n opts._id = name + ax._id;\n opts._height = (fullLayout.height - margin.b - margin.t) * opts.thickness;\n opts._offsetShift = Math.floor(opts.borderwidth / 2);\n }\n }\n }\n\n fullLayout._rangeSliderData = rangeSliderData;\n};\n\nexports.autoMarginOpts = function(gd, ax) {\n var fullLayout = gd._fullLayout;\n var opts = ax[name];\n var axLetter = ax._id.charAt(0);\n\n var bottomDepth = 0;\n var titleHeight = 0;\n if(ax.side === 'bottom') {\n bottomDepth = ax._depth;\n if(ax.title.text !== fullLayout._dfltTitle[axLetter]) {\n // as in rangeslider/draw.js\n titleHeight = 1.5 * ax.title.font.size + 10 + opts._offsetShift;\n // multi-line extra bump\n var extraLines = (ax.title.text.match(svgTextUtils.BR_TAG_ALL) || []).length;\n titleHeight += extraLines * ax.title.font.size * LINE_SPACING;\n }\n }\n\n return {\n x: 0,\n y: ax._counterDomainMin,\n l: 0,\n r: 0,\n t: 0,\n b: opts._height + bottomDepth + Math.max(fullLayout.margin.b, titleHeight),\n pad: constants.extraPad + opts._offsetShift * 2\n };\n};\n\n\n/***/ }),\n\n/***/ \"4c69\":\n/***/ (function(module, exports) {\n\nmodule.exports = function parseUnit(str, out) {\n if (!out)\n out = [ 0, '' ]\n\n str = String(str)\n var num = parseFloat(str, 10)\n out[0] = num\n out[1] = str.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || ''\n return out\n}\n\n/***/ }),\n\n/***/ \"4cd2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar listAxes = __webpack_require__(\"3c1c\").list;\nvar getAutoRange = __webpack_require__(\"ce56\").getAutoRange;\nvar constants = __webpack_require__(\"22f9\");\n\nmodule.exports = function calcAutorange(gd) {\n var axes = listAxes(gd, 'x', true);\n\n // Compute new slider range using axis autorange if necessary.\n //\n // Copy back range to input range slider container to skip\n // this step in subsequent draw calls.\n\n for(var i = 0; i < axes.length; i++) {\n var ax = axes[i];\n var opts = ax[constants.name];\n\n if(opts && opts.visible && opts.autorange) {\n opts._input.autorange = true;\n opts._input.range = opts.range = getAutoRange(gd, ax);\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"4cd5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n RELATIVE_CULL_TOLERANCE: 1e-6\n};\n\n\n/***/ }),\n\n/***/ \"4ce7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n barmode: {\n valType: 'enumerated',\n values: ['stack', 'overlay'],\n dflt: 'stack',\n \n editType: 'calc',\n \n },\n bargap: {\n valType: 'number',\n dflt: 0.1,\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"4d64\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(\"fc6a\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toAbsoluteIndex = __webpack_require__(\"23cb\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\n\n/***/ }),\n\n/***/ \"4de4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(\"23e7\");\nvar $filter = __webpack_require__(\"b727\").filter;\nvar arrayMethodHasSpeciesSupport = __webpack_require__(\"1dde\");\nvar arrayMethodUsesToLength = __webpack_require__(\"ae40\");\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"4e7e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar BN = __webpack_require__(\"399f\")\n\nmodule.exports = isBN\n\n//Test if x is a bignumber\n//FIXME: obviously this is the wrong way to do it\nfunction isBN(x) {\n return x && typeof x === 'object' && Boolean(x.words)\n}\n\n\n/***/ }),\n\n/***/ \"4e89\":\n/***/ (function(module, exports) {\n\nmodule.exports = length\n\n/**\n * Calculates the length of a vec4\n *\n * @param {vec4} a vector to calculate length of\n * @returns {Number} length of a\n */\nfunction length (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n return Math.sqrt(x * x + y * y + z * z + w * w)\n}\n\n\n/***/ }),\n\n/***/ \"4ebd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar EventEmitter = __webpack_require__(\"7e25\").EventEmitter;\n\nvar helpers = __webpack_require__(\"4248\");\n\nfunction svgToImg(opts) {\n var ev = opts.emitter || new EventEmitter();\n\n var promise = new Promise(function(resolve, reject) {\n var Image = window.Image;\n var svg = opts.svg;\n var format = opts.format || 'png';\n\n // IE only support svg\n if(Lib.isIE() && format !== 'svg') {\n var ieSvgError = new Error(helpers.MSG_IE_BAD_FORMAT);\n reject(ieSvgError);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', ieSvgError);\n } else {\n return promise;\n }\n }\n\n var canvas = opts.canvas;\n var scale = opts.scale || 1;\n var w0 = opts.width || 300;\n var h0 = opts.height || 150;\n var w1 = scale * w0;\n var h1 = scale * h0;\n\n var ctx = canvas.getContext('2d');\n var img = new Image();\n var svgBlob, url;\n\n if(format === 'svg' || Lib.isIE9orBelow() || Lib.isSafari()) {\n url = helpers.encodeSVG(svg);\n } else {\n svgBlob = helpers.createBlob(svg, 'svg');\n url = helpers.createObjectURL(svgBlob);\n }\n\n canvas.width = w1;\n canvas.height = h1;\n\n img.onload = function() {\n var imgData;\n\n svgBlob = null;\n helpers.revokeObjectURL(url);\n\n // don't need to draw to canvas if svg\n // save some time and also avoid failure on IE\n if(format !== 'svg') {\n ctx.drawImage(img, 0, 0, w1, h1);\n }\n\n switch(format) {\n case 'jpeg':\n imgData = canvas.toDataURL('image/jpeg');\n break;\n case 'png':\n imgData = canvas.toDataURL('image/png');\n break;\n case 'webp':\n imgData = canvas.toDataURL('image/webp');\n break;\n case 'svg':\n imgData = url;\n break;\n default:\n var errorMsg = 'Image format is not jpeg, png, svg or webp.';\n reject(new Error(errorMsg));\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', errorMsg);\n }\n }\n resolve(imgData);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n ev.emit('success', imgData);\n }\n };\n\n img.onerror = function(err) {\n svgBlob = null;\n helpers.revokeObjectURL(url);\n\n reject(err);\n // eventually remove the ev\n // in favor of promises\n if(!opts.promise) {\n return ev.emit('error', err);\n }\n };\n\n img.src = url;\n });\n\n // temporary for backward compatibility\n // move to only Promise in 2.0.0\n // and eliminate the EventEmitter\n if(opts.promise) {\n return promise;\n }\n\n return ev;\n}\n\nmodule.exports = svgToImg;\n\n\n/***/ }),\n\n/***/ \"4eee\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\n/*\n * Construct a 2D array of cheater values given a, b, and a slope.\n * If\n */\nmodule.exports = function(a, b, cheaterslope) {\n var i, j, ascal, bscal, aval, bval;\n var data = [];\n\n var na = isArrayOrTypedArray(a) ? a.length : a;\n var nb = isArrayOrTypedArray(b) ? b.length : b;\n var adata = isArrayOrTypedArray(a) ? a : null;\n var bdata = isArrayOrTypedArray(b) ? b : null;\n\n // If we're using data, scale it so that for data that's just barely\n // not evenly spaced, the switch to value-based indexing is continuous.\n // This means evenly spaced data should look the same whether value\n // or index cheatertype.\n if(adata) {\n ascal = (adata.length - 1) / (adata[adata.length - 1] - adata[0]) / (na - 1);\n }\n\n if(bdata) {\n bscal = (bdata.length - 1) / (bdata[bdata.length - 1] - bdata[0]) / (nb - 1);\n }\n\n var xval;\n var xmin = Infinity;\n var xmax = -Infinity;\n for(j = 0; j < nb; j++) {\n data[j] = [];\n bval = bdata ? (bdata[j] - bdata[0]) * bscal : j / (nb - 1);\n for(i = 0; i < na; i++) {\n aval = adata ? (adata[i] - adata[0]) * ascal : i / (na - 1);\n xval = aval - bval * cheaterslope;\n xmin = Math.min(xval, xmin);\n xmax = Math.max(xval, xmax);\n data[j][i] = xval;\n }\n }\n\n // Normalize cheater values to the 0-1 range. This comes into play when you have\n // multiple cheater plots. After careful consideration, it seems better if cheater\n // values are normalized to a consistent range. Otherwise one cheater affects the\n // layout of other cheaters on the same axis.\n var slope = 1.0 / (xmax - xmin);\n var offset = -xmin * slope;\n for(j = 0; j < nb; j++) {\n for(i = 0; i < na; i++) {\n data[j][i] = slope * data[j][i] + offset;\n }\n }\n\n return data;\n};\n\n\n/***/ }),\n\n/***/ \"4efe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mouseOffset = __webpack_require__(\"8b98\");\nvar hasHover = __webpack_require__(\"2c8d\");\nvar supportsPassive = __webpack_require__(\"1477\");\n\nvar removeElement = __webpack_require__(\"fc26\").removeElement;\nvar constants = __webpack_require__(\"d301\");\n\nvar dragElement = module.exports = {};\n\ndragElement.align = __webpack_require__(\"296e\");\ndragElement.getCursor = __webpack_require__(\"13a4\");\n\nvar unhover = __webpack_require__(\"855b\");\ndragElement.unhover = unhover.wrapped;\ndragElement.unhoverRaw = unhover.raw;\n\n/**\n * Abstracts click & drag interactions\n *\n * During the interaction, a \"coverSlip\" element - a transparent\n * div covering the whole page - is created, which has two key effects:\n * - Lets you drag beyond the boundaries of the plot itself without\n * dropping (but if you drag all the way out of the browser window the\n * interaction will end)\n * - Freezes the cursor: whatever mouse cursor the drag element had when the\n * interaction started gets copied to the coverSlip for use until mouseup\n *\n * If the user executes a drag bigger than MINDRAG, callbacks will fire as:\n * prepFn, moveFn (1 or more times), doneFn\n * If the user does not drag enough, prepFn and clickFn will fire.\n *\n * Note: If you cancel contextmenu, clickFn will fire even with a right click\n * (unlike native events) so you'll get a `plotly_click` event. Cancel context eg:\n * gd.addEventListener('contextmenu', function(e) { e.preventDefault(); });\n * TODO: we should probably turn this into a `config` parameter, so we can fix it\n * such that if you *don't* cancel contextmenu, we can prevent partial drags, which\n * put you in a weird state.\n *\n * If the user clicks multiple times quickly, clickFn will fire each time\n * but numClicks will increase to help you recognize doubleclicks.\n *\n * @param {object} options with keys:\n * element (required) the DOM element to drag\n * prepFn (optional) function(event, startX, startY)\n * executed on mousedown\n * startX and startY are the clientX and clientY pixel position\n * of the mousedown event\n * moveFn (optional) function(dx, dy)\n * executed on move, ONLY after we've exceeded MINDRAG\n * (we keep executing moveFn if you move back to where you started)\n * dx and dy are the net pixel offset of the drag,\n * dragged is true/false, has the mouse moved enough to\n * constitute a drag\n * doneFn (optional) function(e)\n * executed on mouseup, ONLY if we exceeded MINDRAG (so you can be\n * sure that moveFn has been called at least once)\n * numClicks is how many clicks we've registered within\n * a doubleclick time\n * e is the original mouseup event\n * clickFn (optional) function(numClicks, e)\n * executed on mouseup if we have NOT exceeded MINDRAG (ie moveFn\n * has not been called at all)\n * numClicks is how many clicks we've registered within\n * a doubleclick time\n * e is the original mousedown event\n * clampFn (optional, function(dx, dy) return [dx2, dy2])\n * Provide custom clamping function for small displacements.\n * By default, clamping is done using `minDrag` to x and y displacements\n * independently.\n */\ndragElement.init = function init(options) {\n var gd = options.gd;\n var numClicks = 1;\n var doubleClickDelay = gd._context.doubleClickDelay;\n var element = options.element;\n\n var startX,\n startY,\n newMouseDownTime,\n cursor,\n dragCover,\n initialEvent,\n initialTarget,\n rightClick;\n\n if(!gd._mouseDownTime) gd._mouseDownTime = 0;\n\n element.style.pointerEvents = 'all';\n\n element.onmousedown = onStart;\n\n if(!supportsPassive) {\n element.ontouchstart = onStart;\n } else {\n if(element._ontouchstart) {\n element.removeEventListener('touchstart', element._ontouchstart);\n }\n element._ontouchstart = onStart;\n element.addEventListener('touchstart', onStart, {passive: false});\n }\n\n function _clampFn(dx, dy, minDrag) {\n if(Math.abs(dx) < minDrag) dx = 0;\n if(Math.abs(dy) < minDrag) dy = 0;\n return [dx, dy];\n }\n\n var clampFn = options.clampFn || _clampFn;\n\n function onStart(e) {\n // make dragging and dragged into properties of gd\n // so that others can look at and modify them\n gd._dragged = false;\n gd._dragging = true;\n var offset = pointerOffset(e);\n startX = offset[0];\n startY = offset[1];\n initialTarget = e.target;\n initialEvent = e;\n rightClick = e.buttons === 2 || e.ctrlKey;\n\n // fix Fx.hover for touch events\n if(typeof e.clientX === 'undefined' && typeof e.clientY === 'undefined') {\n e.clientX = startX;\n e.clientY = startY;\n }\n\n newMouseDownTime = (new Date()).getTime();\n if(newMouseDownTime - gd._mouseDownTime < doubleClickDelay) {\n // in a click train\n numClicks += 1;\n } else {\n // new click train\n numClicks = 1;\n gd._mouseDownTime = newMouseDownTime;\n }\n\n if(options.prepFn) options.prepFn(e, startX, startY);\n\n if(hasHover && !rightClick) {\n dragCover = coverSlip();\n dragCover.style.cursor = window.getComputedStyle(element).cursor;\n } else if(!hasHover) {\n // document acts as a dragcover for mobile, bc we can't create dragcover dynamically\n dragCover = document;\n cursor = window.getComputedStyle(document.documentElement).cursor;\n document.documentElement.style.cursor = window.getComputedStyle(element).cursor;\n }\n\n document.addEventListener('mouseup', onDone);\n document.addEventListener('touchend', onDone);\n\n if(options.dragmode !== false) {\n e.preventDefault();\n document.addEventListener('mousemove', onMove);\n document.addEventListener('touchmove', onMove, {passive: false});\n }\n\n return;\n }\n\n function onMove(e) {\n e.preventDefault();\n\n var offset = pointerOffset(e);\n var minDrag = options.minDrag || constants.MINDRAG;\n var dxdy = clampFn(offset[0] - startX, offset[1] - startY, minDrag);\n var dx = dxdy[0];\n var dy = dxdy[1];\n\n if(dx || dy) {\n gd._dragged = true;\n dragElement.unhover(gd);\n }\n\n if(gd._dragged && options.moveFn && !rightClick) {\n gd._dragdata = {\n element: element,\n dx: dx,\n dy: dy\n };\n options.moveFn(dx, dy);\n }\n\n return;\n }\n\n function onDone(e) {\n delete gd._dragdata;\n\n if(options.dragmode !== false) {\n e.preventDefault();\n document.removeEventListener('mousemove', onMove);\n document.removeEventListener('touchmove', onMove);\n }\n\n document.removeEventListener('mouseup', onDone);\n document.removeEventListener('touchend', onDone);\n\n if(hasHover) {\n removeElement(dragCover);\n } else if(cursor) {\n dragCover.documentElement.style.cursor = cursor;\n cursor = null;\n }\n\n if(!gd._dragging) {\n gd._dragged = false;\n return;\n }\n gd._dragging = false;\n\n // don't count as a dblClick unless the mouseUp is also within\n // the dblclick delay\n if((new Date()).getTime() - gd._mouseDownTime > doubleClickDelay) {\n numClicks = Math.max(numClicks - 1, 1);\n }\n\n if(gd._dragged) {\n if(options.doneFn) options.doneFn();\n } else {\n if(options.clickFn) options.clickFn(numClicks, initialEvent);\n\n // If we haven't dragged, this should be a click. But because of the\n // coverSlip changing the element, the natural system might not generate one,\n // so we need to make our own. But right clicks don't normally generate\n // click events, only contextmenu events, which happen on mousedown.\n if(!rightClick) {\n var e2;\n\n try {\n e2 = new MouseEvent('click', e);\n } catch(err) {\n var offset = pointerOffset(e);\n e2 = document.createEvent('MouseEvents');\n e2.initMouseEvent('click',\n e.bubbles, e.cancelable,\n e.view, e.detail,\n e.screenX, e.screenY,\n offset[0], offset[1],\n e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,\n e.button, e.relatedTarget);\n }\n\n initialTarget.dispatchEvent(e2);\n }\n }\n\n gd._dragging = false;\n gd._dragged = false;\n return;\n }\n};\n\nfunction coverSlip() {\n var cover = document.createElement('div');\n\n cover.className = 'dragcover';\n var cStyle = cover.style;\n cStyle.position = 'fixed';\n cStyle.left = 0;\n cStyle.right = 0;\n cStyle.top = 0;\n cStyle.bottom = 0;\n cStyle.zIndex = 999999999;\n cStyle.background = 'none';\n\n document.body.appendChild(cover);\n\n return cover;\n}\n\ndragElement.coverSlip = coverSlip;\n\nfunction pointerOffset(e) {\n return mouseOffset(\n e.changedTouches ? e.changedTouches[0] : e,\n document.body\n );\n}\n\n\n/***/ }),\n\n/***/ \"4f25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar glslify = __webpack_require__(\"e98f\")\n\nmodule.exports = {\n fragment: glslify([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),\n vertex: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n fragColor = color;\\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),\n pickFragment: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n vec2 d = step(.5, vWeight);\\n vec4 id = fragId + pickOffset;\\n id.x += d.x + d.y*shape.x;\\n\\n id.y += floor(id.x / 256.0);\\n id.x -= floor(id.x / 256.0) * 256.0;\\n\\n id.z += floor(id.y / 256.0);\\n id.y -= floor(id.y / 256.0) * 256.0;\\n\\n id.w += floor(id.z / 256.0);\\n id.z -= floor(id.z / 256.0) * 256.0;\\n\\n gl_FragColor = id/255.;\\n}\\n\"]),\n pickVertex: glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n vWeight = weight;\\n\\n fragId = pickId;\\n\\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])\n}\n\n\n/***/ }),\n\n/***/ \"4f4d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n\n\n/***/ }),\n\n/***/ \"4f65\":\n/***/ (function(module, exports) {\n\nmodule.exports = rotateY;\n\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {vec3} a The vec3 point to rotate\n * @param {vec3} b The origin of the rotation\n * @param {Number} c The angle of rotation\n * @returns {vec3} out\n */\nfunction rotateY(out, a, b, c){\n var bx = b[0]\n var bz = b[2]\n\n // translate point to the origin\n var px = a[0] - bx\n var pz = a[2] - bz\n \n var sc = Math.sin(c)\n var cc = Math.cos(c)\n \n // perform rotation and translate to correct position\n out[0] = bx + pz * sc + px * cc\n out[1] = a[1]\n out[2] = bz + pz * cc - px * sc\n \n return out\n}\n\n\n/***/ }),\n\n/***/ \"4f94\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"1ebf\"),\n layoutAttributes: __webpack_require__(\"60dc\"),\n supplyDefaults: __webpack_require__(\"abc9\").supplyDefaults,\n crossTraceDefaults: __webpack_require__(\"abc9\").crossTraceDefaults,\n supplyLayoutDefaults: __webpack_require__(\"06ad\").supplyLayoutDefaults,\n calc: __webpack_require__(\"6a77\"),\n crossTraceCalc: __webpack_require__(\"f4b3\").crossTraceCalc,\n plot: __webpack_require__(\"d34f\").plot,\n style: __webpack_require__(\"b4c7\").style,\n styleOnSelect: __webpack_require__(\"b4c7\").styleOnSelect,\n hoverPoints: __webpack_require__(\"fa10\").hoverPoints,\n eventData: __webpack_require__(\"5885\"),\n selectPoints: __webpack_require__(\"71b1\"),\n\n moduleType: 'trace',\n name: 'box',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', 'symbols', 'oriented', 'box-violin', 'showLegend', 'boxLayout', 'zoomScale'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"4fc7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"af50\");\n\n\n/***/ }),\n\n/***/ \"4ffa\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = extractPlanes\n\nfunction extractPlanes(M, zNear, zFar) {\n var z = zNear || 0.0\n var zf = zFar || 1.0\n return [\n [ M[12] + M[0], M[13] + M[1], M[14] + M[2], M[15] + M[3] ],\n [ M[12] - M[0], M[13] - M[1], M[14] - M[2], M[15] - M[3] ],\n [ M[12] + M[4], M[13] + M[5], M[14] + M[6], M[15] + M[7] ],\n [ M[12] - M[4], M[13] - M[5], M[14] - M[6], M[15] - M[7] ],\n [ z*M[12] + M[8], z*M[13] + M[9], z*M[14] + M[10], z*M[15] + M[11] ],\n [ zf*M[12] - M[8], zf*M[13] - M[9], zf*M[14] - M[10], zf*M[15] - M[11] ]\n ]\n}\n\n/***/ }),\n\n/***/ \"5008\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nmodule.exports = function handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, config) {\n if(!config || config.pass === 1) {\n handlePrefixSuffix(containerIn, containerOut, coerce, axType, options);\n }\n\n if(!config || config.pass === 2) {\n handleOtherDefaults(containerIn, containerOut, coerce, axType, options);\n }\n};\n\nfunction handlePrefixSuffix(containerIn, containerOut, coerce, axType, options) {\n var showAttrDflt = getShowAttrDflt(containerIn);\n\n var tickPrefix = coerce('tickprefix');\n if(tickPrefix) coerce('showtickprefix', showAttrDflt);\n\n var tickSuffix = coerce('ticksuffix', options.tickSuffixDflt);\n if(tickSuffix) coerce('showticksuffix', showAttrDflt);\n}\n\nfunction handleOtherDefaults(containerIn, containerOut, coerce, axType, options) {\n var showAttrDflt = getShowAttrDflt(containerIn);\n\n var tickPrefix = coerce('tickprefix');\n if(tickPrefix) coerce('showtickprefix', showAttrDflt);\n\n var tickSuffix = coerce('ticksuffix', options.tickSuffixDflt);\n if(tickSuffix) coerce('showticksuffix', showAttrDflt);\n\n var showTickLabels = coerce('showticklabels');\n if(showTickLabels) {\n var font = options.font || {};\n var contColor = containerOut.color;\n // as with titlefont.color, inherit axis.color only if one was\n // explicitly provided\n var dfltFontColor = (contColor && contColor !== layoutAttributes.color.dflt) ?\n contColor : font.color;\n Lib.coerceFont(coerce, 'tickfont', {\n family: font.family,\n size: font.size,\n color: dfltFontColor\n });\n coerce('tickangle');\n\n if(axType !== 'category') {\n var tickFormat = coerce('tickformat');\n var tickformatStops = containerIn.tickformatstops;\n if(Array.isArray(tickformatStops) && tickformatStops.length) {\n handleArrayContainerDefaults(containerIn, containerOut, {\n name: 'tickformatstops',\n inclusionAttr: 'enabled',\n handleItemDefaults: tickformatstopDefaults\n });\n }\n if(!tickFormat && axType !== 'date') {\n coerce('showexponent', showAttrDflt);\n coerce('exponentformat');\n coerce('separatethousands');\n }\n }\n }\n}\n\n/*\n * Attributes 'showexponent', 'showtickprefix' and 'showticksuffix'\n * share values.\n *\n * If only 1 attribute is set,\n * the remaining attributes inherit that value.\n *\n * If 2 attributes are set to the same value,\n * the remaining attribute inherits that value.\n *\n * If 2 attributes are set to different values,\n * the remaining is set to its dflt value.\n *\n */\nfunction getShowAttrDflt(containerIn) {\n var showAttrsAll = ['showexponent', 'showtickprefix', 'showticksuffix'];\n var showAttrs = showAttrsAll.filter(function(a) {\n return containerIn[a] !== undefined;\n });\n var sameVal = function(a) {\n return containerIn[a] === containerIn[showAttrs[0]];\n };\n\n if(showAttrs.every(sameVal) || showAttrs.length === 1) {\n return containerIn[showAttrs[0]];\n }\n}\n\nfunction tickformatstopDefaults(valueIn, valueOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(valueIn, valueOut, layoutAttributes.tickformatstops, attr, dflt);\n }\n\n var enabled = coerce('enabled');\n if(enabled) {\n coerce('dtickrange');\n coerce('value');\n }\n}\n\n\n/***/ }),\n\n/***/ \"5047\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Color = __webpack_require__(\"d115\");\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nvar subTypes = __webpack_require__(\"de81\");\n\n/*\n * opts: object of flags to control features not all marker users support\n * noLine: caller does not support marker lines\n * gradient: caller supports gradients\n * noSelect: caller does not support selected/unselected attribute containers\n */\nmodule.exports = function markerDefaults(traceIn, traceOut, defaultColor, layout, coerce, opts) {\n var isBubble = subTypes.isBubble(traceIn);\n var lineColor = (traceIn.line || {}).color;\n var defaultMLC;\n\n opts = opts || {};\n\n // marker.color inherit from line.color (even if line.color is an array)\n if(lineColor) defaultColor = lineColor;\n\n coerce('marker.symbol');\n coerce('marker.opacity', isBubble ? 0.7 : 1);\n coerce('marker.size');\n\n coerce('marker.color', defaultColor);\n if(hasColorscale(traceIn, 'marker')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.', cLetter: 'c'});\n }\n\n if(!opts.noSelect) {\n coerce('selected.marker.color');\n coerce('unselected.marker.color');\n coerce('selected.marker.size');\n coerce('unselected.marker.size');\n }\n\n if(!opts.noLine) {\n // if there's a line with a different color than the marker, use\n // that line color as the default marker line color\n // (except when it's an array)\n // mostly this is for transparent markers to behave nicely\n if(lineColor && !Array.isArray(lineColor) && (traceOut.marker.color !== lineColor)) {\n defaultMLC = lineColor;\n } else if(isBubble) defaultMLC = Color.background;\n else defaultMLC = Color.defaultLine;\n\n coerce('marker.line.color', defaultMLC);\n if(hasColorscale(traceIn, 'marker.line')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'marker.line.', cLetter: 'c'});\n }\n\n coerce('marker.line.width', isBubble ? 1 : 0);\n }\n\n if(isBubble) {\n coerce('marker.sizeref');\n coerce('marker.sizemin');\n coerce('marker.sizemode');\n }\n\n if(opts.gradient) {\n var gradientType = coerce('marker.gradient.type');\n if(gradientType !== 'none') {\n coerce('marker.gradient.color');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"5053\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"8be6\")\n\n\n/***/ }),\n\n/***/ \"50c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"50da\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar constants = __webpack_require__(\"b326\");\n\nexports.isOpenSymbol = function(symbol) {\n return (typeof symbol === 'string') ?\n constants.OPEN_RE.test(symbol) :\n symbol % 200 > 100;\n};\n\nexports.isDotSymbol = function(symbol) {\n return (typeof symbol === 'string') ?\n constants.DOT_RE.test(symbol) :\n symbol > 200;\n};\n\n\n/***/ }),\n\n/***/ \"510f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Color = __webpack_require__(\"d115\");\n\nvar heatmapHoverPoints = __webpack_require__(\"d6fb\");\n\nmodule.exports = function hoverPoints(pointData, xval, yval, hovermode, hoverLayer) {\n var hoverData = heatmapHoverPoints(pointData, xval, yval, hovermode, hoverLayer, true);\n\n if(hoverData) {\n hoverData.forEach(function(hoverPt) {\n var trace = hoverPt.trace;\n if(trace.contours.type === 'constraint') {\n if(trace.fillcolor && Color.opacity(trace.fillcolor)) {\n hoverPt.color = Color.addOpacity(trace.fillcolor, 1);\n } else if(trace.contours.showlines && Color.opacity(trace.line.color)) {\n hoverPt.color = Color.addOpacity(trace.line.color, 1);\n }\n }\n });\n }\n\n return hoverData;\n};\n\n\n/***/ }),\n\n/***/ \"5135\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"5243\":\n/***/ (function(module, exports) {\n\nmodule.exports = normalize\n\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a vector to normalize\n * @returns {vec4} out\n */\nfunction normalize (out, a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n var len = x * x + y * y + z * z + w * w\n if (len > 0) {\n len = 1 / Math.sqrt(len)\n out[0] = x * len\n out[1] = y * len\n out[2] = z * len\n out[3] = w * len\n }\n return out\n}\n\n\n/***/ }),\n\n/***/ \"52d8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"a08c\"),\n supplyDefaults: __webpack_require__(\"07dd\").supplyDefaults,\n calc: __webpack_require__(\"edf7\"),\n colorbar: {\n min: 'cmin',\n max: 'cmax'\n },\n plot: __webpack_require__(\"caf7\").createIsosurfaceTrace,\n\n moduleType: 'trace',\n name: 'isosurface',\n basePlotModule: __webpack_require__(\"134c\"),\n categories: ['gl3d', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"52e8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Registry = __webpack_require__(\"371e\");\n\nfunction style(gd) {\n var s = d3.select(gd).selectAll('g.trace.scatter');\n\n s.style('opacity', function(d) {\n return d[0].trace.opacity;\n });\n\n s.selectAll('g.points').each(function(d) {\n var sel = d3.select(this);\n var trace = d.trace || d[0].trace;\n stylePoints(sel, trace, gd);\n });\n\n s.selectAll('g.text').each(function(d) {\n var sel = d3.select(this);\n var trace = d.trace || d[0].trace;\n styleText(sel, trace, gd);\n });\n\n s.selectAll('g.trace path.js-line')\n .call(Drawing.lineGroupStyle);\n\n s.selectAll('g.trace path.js-fill')\n .call(Drawing.fillGroupStyle);\n\n Registry.getComponentMethod('errorbars', 'style')(s);\n}\n\nfunction stylePoints(sel, trace, gd) {\n Drawing.pointStyle(sel.selectAll('path.point'), trace, gd);\n}\n\nfunction styleText(sel, trace, gd) {\n Drawing.textPointStyle(sel.selectAll('text'), trace, gd);\n}\n\nfunction styleOnSelect(gd, cd, sel) {\n var trace = cd[0].trace;\n\n if(trace.selectedpoints) {\n Drawing.selectedPointStyle(sel.selectAll('path.point'), trace);\n Drawing.selectedTextStyle(sel.selectAll('text'), trace);\n } else {\n stylePoints(sel, trace, gd);\n styleText(sel, trace, gd);\n }\n}\n\nmodule.exports = {\n style: style,\n stylePoints: stylePoints,\n styleText: styleText,\n styleOnSelect: styleOnSelect\n};\n\n\n/***/ }),\n\n/***/ \"5319\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fixRegExpWellKnownSymbolLogic = __webpack_require__(\"d784\");\nvar anObject = __webpack_require__(\"825a\");\nvar toObject = __webpack_require__(\"7b0b\");\nvar toLength = __webpack_require__(\"50c4\");\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\nvar advanceStringIndex = __webpack_require__(\"8aa5\");\nvar regExpExec = __webpack_require__(\"14c3\");\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n\n/***/ \"531f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar glslify = __webpack_require__(\"e98f\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar vertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n vec4 worldPosition = model * vec4(position, 1.0);\\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n gl_Position = projection * view * worldPosition;\\n fragColor = color;\\n fragPosition = position;\\n}\"])\nvar fragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n if (\\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n fragColor.a * opacity == 0.\\n ) discard;\\n\\n gl_FragColor = opacity * fragColor;\\n}\"])\n\nmodule.exports = function(gl) {\n return createShader(gl, vertSrc, fragSrc, null, [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'offset', type: 'vec3'}\n ])\n}\n\n\n/***/ }),\n\n/***/ \"5348\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar isosurfaceAttrs = __webpack_require__(\"a08c\");\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar attrs = module.exports = overrideAll(extendFlat({\n x: isosurfaceAttrs.x,\n y: isosurfaceAttrs.y,\n z: isosurfaceAttrs.z,\n value: isosurfaceAttrs.value,\n isomin: isosurfaceAttrs.isomin,\n isomax: isosurfaceAttrs.isomax,\n surface: isosurfaceAttrs.surface,\n spaceframe: {\n show: {\n valType: 'boolean',\n \n dflt: false,\n \n },\n fill: {\n valType: 'number',\n \n min: 0,\n max: 1,\n dflt: 1,\n \n }\n },\n\n slices: isosurfaceAttrs.slices,\n caps: isosurfaceAttrs.caps,\n text: isosurfaceAttrs.text,\n hovertext: isosurfaceAttrs.hovertext,\n hovertemplate: isosurfaceAttrs.hovertemplate\n},\n\ncolorScaleAttrs('', {\n colorAttr: '`value`',\n showScaleDflt: true,\n editTypeOverride: 'calc'\n}), {\n\n colorbar: isosurfaceAttrs.colorbar,\n opacity: isosurfaceAttrs.opacity,\n opacityscale: {\n valType: 'any',\n \n editType: 'calc',\n \n },\n\n lightposition: isosurfaceAttrs.lightposition,\n lighting: isosurfaceAttrs.lighting,\n flatshading: isosurfaceAttrs.flatshading,\n contour: isosurfaceAttrs.contour,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n}), 'calc', 'nested');\n\nattrs.x.editType = attrs.y.editType = attrs.z.editType = attrs.value.editType = 'calc+clearAxisTypes';\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"535c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar baseAttrs = __webpack_require__(\"a876\");\nvar scatterMapboxAttrs = __webpack_require__(\"74b4\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\n/*\n * - https://docs.mapbox.com/help/tutorials/make-a-heatmap-with-mapbox-gl-js/\n * - https://docs.mapbox.com/mapbox-gl-js/example/heatmap-layer/\n * - https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers-heatmap\n * - https://blog.mapbox.com/introducing-heatmaps-in-mapbox-gl-js-71355ada9e6c\n *\n * Gotchas:\n * - https://github.com/mapbox/mapbox-gl-js/issues/6463\n * - https://github.com/mapbox/mapbox-gl-js/issues/6112\n */\n\n/*\n *\n * In mathematical terms, Mapbox GL heatmaps are a bivariate (2D) kernel density\n * estimation with a Gaussian kernel. It means that each data point has an area\n * of “influence” around it (called a kernel) where the numerical value of\n * influence (which we call density) decreases as you go further from the point.\n * If we sum density values of all points in every pixel of the screen, we get a\n * combined density value which we then map to a heatmap color.\n *\n */\n\nmodule.exports = extendFlat({\n lon: scatterMapboxAttrs.lon,\n lat: scatterMapboxAttrs.lat,\n\n z: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n radius: {\n valType: 'number',\n \n editType: 'plot',\n arrayOk: true,\n min: 1,\n dflt: 30,\n \n },\n\n below: {\n valType: 'string',\n \n editType: 'plot',\n \n },\n\n text: scatterMapboxAttrs.text,\n hovertext: scatterMapboxAttrs.hovertext,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'z', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n},\n colorScaleAttrs('', {\n cLetter: 'z',\n editTypeOverride: 'calc'\n })\n);\n\n\n/***/ }),\n\n/***/ \"5374\":\n/***/ (function(module, exports) {\n\nmodule.exports = min\n\n/**\n * Returns the minimum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction min (out, a, b) {\n out[0] = Math.min(a[0], b[0])\n out[1] = Math.min(a[1], b[1])\n out[2] = Math.min(a[2], b[2])\n out[3] = Math.min(a[3], b[3])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"538c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar geoUtils = __webpack_require__(\"0919\");\nvar getTopojsonFeatures = __webpack_require__(\"c400\").getTopojsonFeatures;\nvar findExtremes = __webpack_require__(\"ce56\").findExtremes;\n\nvar style = __webpack_require__(\"e7ab\").style;\n\nfunction plot(gd, geo, calcData) {\n var choroplethLayer = geo.layers.backplot.select('.choroplethlayer');\n\n Lib.makeTraceGroups(choroplethLayer, calcData, 'trace choropleth').each(function(calcTrace) {\n var sel = d3.select(this);\n\n var paths = sel.selectAll('path.choroplethlocation')\n .data(Lib.identity);\n\n paths.enter().append('path')\n .classed('choroplethlocation', true);\n\n paths.exit().remove();\n\n // call style here within topojson request callback\n style(gd, calcTrace);\n });\n}\n\nfunction calcGeoJSON(calcTrace, fullLayout) {\n var trace = calcTrace[0].trace;\n var geoLayout = fullLayout[trace.geo];\n var geo = geoLayout._subplot;\n var locationmode = trace.locationmode;\n var len = trace._length;\n\n var features = locationmode === 'geojson-id' ?\n geoUtils.extractTraceFeature(calcTrace) :\n getTopojsonFeatures(trace, geo.topojson);\n\n var lonArray = [];\n var latArray = [];\n\n for(var i = 0; i < len; i++) {\n var calcPt = calcTrace[i];\n var feature = locationmode === 'geojson-id' ?\n calcPt.fOut :\n geoUtils.locationToFeature(locationmode, calcPt.loc, features);\n\n if(feature) {\n calcPt.geojson = feature;\n calcPt.ct = feature.properties.ct;\n calcPt._polygons = geoUtils.feature2polygons(feature);\n\n var bboxFeature = geoUtils.computeBbox(feature);\n lonArray.push(bboxFeature[0], bboxFeature[2]);\n latArray.push(bboxFeature[1], bboxFeature[3]);\n } else {\n calcPt.geojson = null;\n }\n }\n\n if(geoLayout.fitbounds === 'geojson' && locationmode === 'geojson-id') {\n var bboxGeojson = geoUtils.computeBbox(geoUtils.getTraceGeojson(trace));\n lonArray = [bboxGeojson[0], bboxGeojson[2]];\n latArray = [bboxGeojson[1], bboxGeojson[3]];\n }\n\n var opts = {padded: true};\n trace._extremes.lon = findExtremes(geoLayout.lonaxis._ax, lonArray, opts);\n trace._extremes.lat = findExtremes(geoLayout.lataxis._ax, latArray, opts);\n}\n\nmodule.exports = {\n calcGeoJSON: calcGeoJSON,\n plot: plot\n};\n\n\n/***/ }),\n\n/***/ \"53a5\":\n/***/ (function(module, exports) {\n\nmodule.exports = clamp\n\nfunction clamp(value, min, max) {\n return min < max\n ? (value < min ? min : value > max ? max : value)\n : (value < max ? max : value > min ? min : value)\n}\n\n\n/***/ }),\n\n/***/ \"53cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = stronglyConnectedComponents\n\nfunction stronglyConnectedComponents(adjList) {\n var numVertices = adjList.length;\n var index = new Array(numVertices)\n var lowValue = new Array(numVertices)\n var active = new Array(numVertices)\n var child = new Array(numVertices)\n var scc = new Array(numVertices)\n var sccLinks = new Array(numVertices)\n \n //Initialize tables\n for(var i=0; i 0) {\n v = T[T.length-1]\n var e = adjList[v]\n if (child[v] < e.length) { // If we're not done iterating over the children, first try finishing that.\n for(var i=child[v]; i= 0) {\n // Node v is not yet assigned an scc, but once it is that scc can apparently reach scc[u].\n sccLinks[v].push(scc[u])\n }\n }\n child[v] = i // Remember where we left off.\n } else { // If we're done iterating over the children, check whether we have an scc.\n if(lowValue[v] === index[v]) { // TODO: It /might/ be true that T is always a prefix of S (at this point!!!), and if so, this could be used here.\n var component = []\n var links = [], linkCount = 0\n for(var i=S.length-1; i>=0; --i) {\n var w = S[i]\n active[w] = false\n component.push(w)\n links.push(sccLinks[w])\n linkCount += sccLinks[w].length\n scc[w] = components.length\n if(w === v) {\n S.length = i\n break\n }\n }\n components.push(component)\n var allLinks = new Array(linkCount)\n for(var i=0; i= numVertices - 0.5) { // Note: the indices would be rounded -0.49 is valid.\n return false;\n }\n }\n return true;\n}\n\nproto.update = function(data) {\n var scene = this.scene;\n var layout = scene.fullSceneLayout;\n\n this.data = data;\n\n var numVertices = data.x.length;\n\n var positions = zip3(\n toDataCoords(layout.xaxis, data.x, scene.dataScale[0], data.xcalendar),\n toDataCoords(layout.yaxis, data.y, scene.dataScale[1], data.ycalendar),\n toDataCoords(layout.zaxis, data.z, scene.dataScale[2], data.zcalendar)\n );\n\n var cells;\n if(data.i && data.j && data.k) {\n if(\n data.i.length !== data.j.length ||\n data.j.length !== data.k.length ||\n !hasValidIndices(data.i, numVertices) ||\n !hasValidIndices(data.j, numVertices) ||\n !hasValidIndices(data.k, numVertices)\n ) {\n return;\n }\n cells = zip3(\n toRoundIndex(data.i),\n toRoundIndex(data.j),\n toRoundIndex(data.k)\n );\n } else if(data.alphahull === 0) {\n cells = convexHull(positions);\n } else if(data.alphahull > 0) {\n cells = alphaShape(data.alphahull, positions);\n } else {\n cells = delaunayCells(data.delaunayaxis, positions);\n }\n\n var config = {\n positions: positions,\n cells: cells,\n lightPosition: [data.lightposition.x, data.lightposition.y, data.lightposition.z],\n ambient: data.lighting.ambient,\n diffuse: data.lighting.diffuse,\n specular: data.lighting.specular,\n roughness: data.lighting.roughness,\n fresnel: data.lighting.fresnel,\n vertexNormalsEpsilon: data.lighting.vertexnormalsepsilon,\n faceNormalsEpsilon: data.lighting.facenormalsepsilon,\n opacity: data.opacity,\n contourEnable: data.contour.show,\n contourColor: str2RgbaArray(data.contour.color).slice(0, 3),\n contourWidth: data.contour.width,\n useFacetNormals: data.flatshading\n };\n\n if(data.intensity) {\n var cOpts = extractOpts(data);\n this.color = '#fff';\n var mode = data.intensitymode;\n config[mode + 'Intensity'] = data.intensity;\n config[mode + 'IntensityBounds'] = [cOpts.min, cOpts.max];\n config.colormap = parseColorScale(data);\n } else if(data.vertexcolor) {\n this.color = data.vertexcolor[0];\n config.vertexColors = parseColorArray(data.vertexcolor);\n } else if(data.facecolor) {\n this.color = data.facecolor[0];\n config.cellColors = parseColorArray(data.facecolor);\n } else {\n this.color = data.color;\n config.meshColor = str2RgbaArray(data.color);\n }\n\n // Update mesh\n this.mesh.update(config);\n};\n\nproto.dispose = function() {\n this.scene.glplot.remove(this.mesh);\n this.mesh.dispose();\n};\n\nfunction createMesh3DTrace(scene, data) {\n var gl = scene.glplot.gl;\n var mesh = createMesh({gl: gl});\n var result = new Mesh3DTrace(scene, mesh, data.uid);\n mesh._trace = result;\n result.update(data);\n scene.glplot.add(mesh);\n return result;\n}\n\nmodule.exports = createMesh3DTrace;\n\n\n/***/ }),\n\n/***/ \"54ea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n Calendars extras for jQuery v2.0.2.\n Written by Keith Wood (wood.keith{at}optusnet.com.au) August 2009.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar assign = __webpack_require__(\"320c\");\nvar main = __webpack_require__(\"0230\");\n\n\nassign(main.regionalOptions[''], {\n invalidArguments: 'Invalid arguments',\n invalidFormat: 'Cannot format a date from another calendar',\n missingNumberAt: 'Missing number at position {0}',\n unknownNameAt: 'Unknown name at position {0}',\n unexpectedLiteralAt: 'Unexpected literal at position {0}',\n unexpectedText: 'Additional text found at end'\n});\nmain.local = main.regionalOptions[''];\n\nassign(main.cdate.prototype, {\n\n /** Format this date.\n Found in the jquery.calendars.plus.js module.\n @memberof CDate\n @param [format] {string} The date format to use (see formatDate).\n @param [settings] {object} Options for the formatDate function.\n @return {string} The formatted date. */\n formatDate: function(format, settings) {\n if (typeof format !== 'string') {\n settings = format;\n format = '';\n }\n return this._calendar.formatDate(format || '', this, settings);\n }\n});\n\nassign(main.baseCalendar.prototype, {\n\n UNIX_EPOCH: main.instance().newDate(1970, 1, 1).toJD(),\n SECS_PER_DAY: 24 * 60 * 60,\n TICKS_EPOCH: main.instance().jdEpoch, // 1 January 0001 CE\n TICKS_PER_DAY: 24 * 60 * 60 * 10000000,\n\n /** Date form for ATOM (RFC 3339/ISO 8601).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n ATOM: 'yyyy-mm-dd',\n /** Date form for cookies.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n COOKIE: 'D, dd M yyyy',\n /** Date form for full date.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n FULL: 'DD, MM d, yyyy',\n /** Date form for ISO 8601.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n ISO_8601: 'yyyy-mm-dd',\n /** Date form for Julian date.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n JULIAN: 'J',\n /** Date form for RFC 822.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_822: 'D, d M yy',\n /** Date form for RFC 850.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_850: 'DD, dd-M-yy',\n /** Date form for RFC 1036.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_1036: 'D, d M yy',\n /** Date form for RFC 1123.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_1123: 'D, d M yyyy',\n /** Date form for RFC 2822.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RFC_2822: 'D, d M yyyy',\n /** Date form for RSS (RFC 822).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n RSS: 'D, d M yy',\n /** Date form for Windows ticks.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n TICKS: '!',\n /** Date form for Unix timestamp.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n TIMESTAMP: '@',\n /** Date form for W3c (ISO 8601).\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar */\n W3C: 'yyyy-mm-dd',\n\n /** Format a date object into a string value.\n The format can be combinations of the following:\n

    \n
  • d - day of month (no leading zero)
  • \n
  • dd - day of month (two digit)
  • \n
  • o - day of year (no leading zeros)
  • \n
  • oo - day of year (three digit)
  • \n
  • D - day name short
  • \n
  • DD - day name long
  • \n
  • w - week of year (no leading zero)
  • \n
  • ww - week of year (two digit)
  • \n
  • m - month of year (no leading zero)
  • \n
  • mm - month of year (two digit)
  • \n
  • M - month name short
  • \n
  • MM - month name long
  • \n
  • yy - year (two digit)
  • \n
  • yyyy - year (four digit)
  • \n
  • YYYY - formatted year
  • \n
  • J - Julian date (days since January 1, 4713 BCE Greenwich noon)
  • \n
  • @ - Unix timestamp (s since 01/01/1970)
  • \n
  • ! - Windows ticks (100ns since 01/01/0001)
  • \n
  • '...' - literal text
  • \n
  • '' - single quote
  • \n
\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param [format] {string} The desired format of the date (defaults to calendar format).\n @param date {CDate} The date value to format.\n @param [settings] {object} Addition options, whose attributes include:\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @property [calculateWeek] {CalendarsPickerCalculateWeek} Function that determines week of the year.\n @property [localNumbers=false] {boolean} true to localise numbers (if available),\n false to use normal Arabic numerals.\n @return {string} The date in the above format.\n @throws Errors if the date is from a different calendar. */\n formatDate: function(format, date, settings) {\n if (typeof format !== 'string') {\n settings = date;\n date = format;\n format = '';\n }\n if (!date) {\n return '';\n }\n if (date.calendar() !== this) {\n throw main.local.invalidFormat || main.regionalOptions[''].invalidFormat;\n }\n format = format || this.local.dateFormat;\n settings = settings || {};\n var dayNamesShort = settings.dayNamesShort || this.local.dayNamesShort;\n var dayNames = settings.dayNames || this.local.dayNames;\n var monthNumbers = settings.monthNumbers || this.local.monthNumbers;\n var monthNamesShort = settings.monthNamesShort || this.local.monthNamesShort;\n var monthNames = settings.monthNames || this.local.monthNames;\n var calculateWeek = settings.calculateWeek || this.local.calculateWeek;\n // Check whether a format character is doubled\n var doubled = function(match, step) {\n var matches = 1;\n while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {\n matches++;\n }\n iFormat += matches - 1;\n return Math.floor(matches / (step || 1)) > 1;\n };\n // Format a number, with leading zeroes if necessary\n var formatNumber = function(match, value, len, step) {\n var num = '' + value;\n if (doubled(match, step)) {\n while (num.length < len) {\n num = '0' + num;\n }\n }\n return num;\n };\n // Format a name, short or long as requested\n var formatName = function(match, value, shortNames, longNames) {\n return (doubled(match) ? longNames[value] : shortNames[value]);\n };\n // Format month number\n // (e.g. Chinese calendar needs to account for intercalary months)\n var calendar = this;\n var formatMonth = function(date) {\n return (typeof monthNumbers === 'function') ?\n monthNumbers.call(calendar, date, doubled('m')) :\n localiseNumbers(formatNumber('m', date.month(), 2));\n };\n // Format a month name, short or long as requested\n var formatMonthName = function(date, useLongName) {\n if (useLongName) {\n return (typeof monthNames === 'function') ?\n monthNames.call(calendar, date) :\n monthNames[date.month() - calendar.minMonth];\n } else {\n return (typeof monthNamesShort === 'function') ?\n monthNamesShort.call(calendar, date) :\n monthNamesShort[date.month() - calendar.minMonth];\n }\n };\n // Localise numbers if requested and available\n var digits = this.local.digits;\n var localiseNumbers = function(value) {\n return (settings.localNumbers && digits ? digits(value) : value);\n };\n var output = '';\n var literal = false;\n for (var iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !doubled(\"'\")) {\n literal = false;\n }\n else {\n output += format.charAt(iFormat);\n }\n }\n else {\n switch (format.charAt(iFormat)) {\n case 'd': output += localiseNumbers(formatNumber('d', date.day(), 2)); break;\n case 'D': output += formatName('D', date.dayOfWeek(),\n dayNamesShort, dayNames); break;\n case 'o': output += formatNumber('o', date.dayOfYear(), 3); break;\n case 'w': output += formatNumber('w', date.weekOfYear(), 2); break;\n case 'm': output += formatMonth(date); break;\n case 'M': output += formatMonthName(date, doubled('M')); break;\n case 'y':\n output += (doubled('y', 2) ? date.year() :\n (date.year() % 100 < 10 ? '0' : '') + date.year() % 100);\n break;\n case 'Y':\n doubled('Y', 2);\n output += date.formatYear();\n break;\n case 'J': output += date.toJD(); break;\n case '@': output += (date.toJD() - this.UNIX_EPOCH) * this.SECS_PER_DAY; break;\n case '!': output += (date.toJD() - this.TICKS_EPOCH) * this.TICKS_PER_DAY; break;\n case \"'\":\n if (doubled(\"'\")) {\n output += \"'\";\n }\n else {\n literal = true;\n }\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n }\n return output;\n },\n\n /** Parse a string value into a date object.\n See formatDate for the possible formats, plus:\n
    \n
  • * - ignore rest of string
  • \n
\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param format {string} The expected format of the date ('' for default calendar format).\n @param value {string} The date in the above format.\n @param [settings] {object} Additional options whose attributes include:\n @property [shortYearCutoff] {number} The cutoff year for determining the century.\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @return {CDate} The extracted date value or null if value is blank.\n @throws Errors if the format and/or value are missing,\n if the value doesn't match the format, or if the date is invalid. */\n parseDate: function(format, value, settings) {\n if (value == null) {\n throw main.local.invalidArguments || main.regionalOptions[''].invalidArguments;\n }\n value = (typeof value === 'object' ? value.toString() : value + '');\n if (value === '') {\n return null;\n }\n format = format || this.local.dateFormat;\n settings = settings || {};\n var shortYearCutoff = settings.shortYearCutoff || this.shortYearCutoff;\n shortYearCutoff = (typeof shortYearCutoff !== 'string' ? shortYearCutoff :\n this.today().year() % 100 + parseInt(shortYearCutoff, 10));\n var dayNamesShort = settings.dayNamesShort || this.local.dayNamesShort;\n var dayNames = settings.dayNames || this.local.dayNames;\n var parseMonth = settings.parseMonth || this.local.parseMonth;\n var monthNumbers = settings.monthNumbers || this.local.monthNumbers;\n var monthNamesShort = settings.monthNamesShort || this.local.monthNamesShort;\n var monthNames = settings.monthNames || this.local.monthNames;\n var jd = -1;\n var year = -1;\n var month = -1;\n var day = -1;\n var doy = -1;\n var shortYear = false;\n var literal = false;\n // Check whether a format character is doubled\n var doubled = function(match, step) {\n var matches = 1;\n while (iFormat + matches < format.length && format.charAt(iFormat + matches) === match) {\n matches++;\n }\n iFormat += matches - 1;\n return Math.floor(matches / (step || 1)) > 1;\n };\n // Extract a number from the string value\n var getNumber = function(match, step) {\n var isDoubled = doubled(match, step);\n var size = [2, 3, isDoubled ? 4 : 2, isDoubled ? 4 : 2, 10, 11, 20]['oyYJ@!'.indexOf(match) + 1];\n var digits = new RegExp('^-?\\\\d{1,' + size + '}');\n var num = value.substring(iValue).match(digits);\n if (!num) {\n throw (main.local.missingNumberAt || main.regionalOptions[''].missingNumberAt).\n replace(/\\{0\\}/, iValue);\n }\n iValue += num[0].length;\n return parseInt(num[0], 10);\n };\n // Extract a month number from the string value\n var calendar = this;\n var getMonthNumber = function() {\n if (typeof monthNumbers === 'function') {\n doubled('m'); // update iFormat\n var month = monthNumbers.call(calendar, value.substring(iValue));\n iValue += month.length;\n return month;\n }\n\n return getNumber('m');\n };\n // Extract a name from the string value and convert to an index\n var getName = function(match, shortNames, longNames, step) {\n var names = (doubled(match, step) ? longNames : shortNames);\n for (var i = 0; i < names.length; i++) {\n if (value.substr(iValue, names[i].length).toLowerCase() === names[i].toLowerCase()) {\n iValue += names[i].length;\n return i + calendar.minMonth;\n }\n }\n throw (main.local.unknownNameAt || main.regionalOptions[''].unknownNameAt).\n replace(/\\{0\\}/, iValue);\n };\n // Extract a month number from the string value\n var getMonthName = function() {\n if (typeof monthNames === 'function') {\n var month = doubled('M') ?\n monthNames.call(calendar, value.substring(iValue)) :\n monthNamesShort.call(calendar, value.substring(iValue));\n iValue += month.length;\n return month;\n }\n\n return getName('M', monthNamesShort, monthNames);\n };\n // Confirm that a literal character matches the string value\n var checkLiteral = function() {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw (main.local.unexpectedLiteralAt ||\n main.regionalOptions[''].unexpectedLiteralAt).replace(/\\{0\\}/, iValue);\n }\n iValue++;\n };\n var iValue = 0;\n for (var iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !doubled(\"'\")) {\n literal = false;\n }\n else {\n checkLiteral();\n }\n }\n else {\n switch (format.charAt(iFormat)) {\n case 'd': day = getNumber('d'); break;\n case 'D': getName('D', dayNamesShort, dayNames); break;\n case 'o': doy = getNumber('o'); break;\n case 'w': getNumber('w'); break;\n case 'm': month = getMonthNumber(); break;\n case 'M': month = getMonthName(); break;\n case 'y':\n var iSave = iFormat;\n shortYear = !doubled('y', 2);\n iFormat = iSave;\n year = getNumber('y', 2);\n break;\n case 'Y': year = getNumber('Y', 2); break;\n case 'J':\n jd = getNumber('J') + 0.5;\n if (value.charAt(iValue) === '.') {\n iValue++;\n getNumber('J');\n }\n break;\n case '@': jd = getNumber('@') / this.SECS_PER_DAY + this.UNIX_EPOCH; break;\n case '!': jd = getNumber('!') / this.TICKS_PER_DAY + this.TICKS_EPOCH; break;\n case '*': iValue = value.length; break;\n case \"'\":\n if (doubled(\"'\")) {\n checkLiteral();\n }\n else {\n literal = true;\n }\n break;\n default: checkLiteral();\n }\n }\n }\n if (iValue < value.length) {\n throw main.local.unexpectedText || main.regionalOptions[''].unexpectedText;\n }\n if (year === -1) {\n year = this.today().year();\n }\n else if (year < 100 && shortYear) {\n year += (shortYearCutoff === -1 ? 1900 : this.today().year() -\n this.today().year() % 100 - (year <= shortYearCutoff ? 0 : 100));\n }\n if (typeof month === 'string') {\n month = parseMonth.call(this, year, month);\n }\n if (doy > -1) {\n month = 1;\n day = doy;\n for (var dim = this.daysInMonth(year, month); day > dim; dim = this.daysInMonth(year, month)) {\n month++;\n day -= dim;\n }\n }\n return (jd > -1 ? this.fromJD(jd) : this.newDate(year, month, day));\n },\n\n /** A date may be specified as an exact value or a relative one.\n Found in the jquery.calendars.plus.js module.\n @memberof BaseCalendar\n @param dateSpec {CDate|number|string} The date as an object or string in the given format or\n an offset - numeric days from today, or string amounts and periods, e.g. '+1m +2w'.\n @param defaultDate {CDate} The date to use if no other supplied, may be null.\n @param currentDate {CDate} The current date as a possible basis for relative dates,\n if null today is used (optional)\n @param [dateFormat] {string} The expected date format - see formatDate.\n @param [settings] {object} Additional options whose attributes include:\n @property [shortYearCutoff] {number} The cutoff year for determining the century.\n @property [dayNamesShort] {string[]} Abbreviated names of the days from Sunday.\n @property [dayNames] {string[]} Names of the days from Sunday.\n @property [monthNamesShort] {string[]} Abbreviated names of the months.\n @property [monthNames] {string[]} Names of the months.\n @return {CDate} The decoded date. */\n determineDate: function(dateSpec, defaultDate, currentDate, dateFormat, settings) {\n if (currentDate && typeof currentDate !== 'object') {\n settings = dateFormat;\n dateFormat = currentDate;\n currentDate = null;\n }\n if (typeof dateFormat !== 'string') {\n settings = dateFormat;\n dateFormat = '';\n }\n var calendar = this;\n var offsetString = function(offset) {\n try {\n return calendar.parseDate(dateFormat, offset, settings);\n }\n catch (e) {\n // Ignore\n }\n offset = offset.toLowerCase();\n var date = (offset.match(/^c/) && currentDate ?\n currentDate.newDate() : null) || calendar.today();\n var pattern = /([+-]?[0-9]+)\\s*(d|w|m|y)?/g;\n var matches = pattern.exec(offset);\n while (matches) {\n date.add(parseInt(matches[1], 10), matches[2] || 'd');\n matches = pattern.exec(offset);\n }\n return date;\n };\n defaultDate = (defaultDate ? defaultDate.newDate() : null);\n dateSpec = (dateSpec == null ? defaultDate :\n (typeof dateSpec === 'string' ? offsetString(dateSpec) : (typeof dateSpec === 'number' ?\n (isNaN(dateSpec) || dateSpec === Infinity || dateSpec === -Infinity ? defaultDate :\n calendar.today().add(dateSpec, 'd')) : calendar.newDate(dateSpec))));\n return dateSpec;\n }\n});\n\n\n\n/***/ }),\n\n/***/ \"5506\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Polar = module.exports = __webpack_require__(\"3a99\");\n\nPolar.manager = __webpack_require__(\"2381\");\n\n\n/***/ }),\n\n/***/ \"551a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar DEFAULT_VERTEX_NORMALS_EPSILON = 1e-6; // may be too large if triangles are very small\nvar DEFAULT_FACE_NORMALS_EPSILON = 1e-6;\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createTexture = __webpack_require__(\"1d5b\")\nvar normals = __webpack_require__(\"075f\")\nvar multiply = __webpack_require__(\"1417\")\nvar invert = __webpack_require__(\"9343\")\nvar ndarray = __webpack_require__(\"b5bb\")\nvar colormap = __webpack_require__(\"595c\")\nvar getContour = __webpack_require__(\"b7f8\")\nvar pool = __webpack_require__(\"cea5\")\nvar shaders = __webpack_require__(\"38eb\")\nvar closestPoint = __webpack_require__(\"b82b\")\n\nvar meshShader = shaders.meshShader\nvar wireShader = shaders.wireShader\nvar pointShader = shaders.pointShader\nvar pickShader = shaders.pickShader\nvar pointPickShader = shaders.pointPickShader\nvar contourShader = shaders.contourShader\n\nvar IDENTITY = [\n 1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\n\nfunction SimplicialMesh(gl\n , texture\n , triShader\n , lineShader\n , pointShader\n , pickShader\n , pointPickShader\n , contourShader\n , trianglePositions\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleNormals\n , triangleVAO\n , edgePositions\n , edgeIds\n , edgeColors\n , edgeUVs\n , edgeVAO\n , pointPositions\n , pointIds\n , pointColors\n , pointUVs\n , pointSizes\n , pointVAO\n , contourPositions\n , contourVAO) {\n\n this.gl = gl\n this.pixelRatio = 1\n this.cells = []\n this.positions = []\n this.intensity = []\n this.texture = texture\n this.dirty = true\n\n this.triShader = triShader\n this.lineShader = lineShader\n this.pointShader = pointShader\n this.pickShader = pickShader\n this.pointPickShader = pointPickShader\n this.contourShader = contourShader\n\n this.trianglePositions = trianglePositions\n this.triangleColors = triangleColors\n this.triangleNormals = triangleNormals\n this.triangleUVs = triangleUVs\n this.triangleIds = triangleIds\n this.triangleVAO = triangleVAO\n this.triangleCount = 0\n\n this.lineWidth = 1\n this.edgePositions = edgePositions\n this.edgeColors = edgeColors\n this.edgeUVs = edgeUVs\n this.edgeIds = edgeIds\n this.edgeVAO = edgeVAO\n this.edgeCount = 0\n\n this.pointPositions = pointPositions\n this.pointColors = pointColors\n this.pointUVs = pointUVs\n this.pointSizes = pointSizes\n this.pointIds = pointIds\n this.pointVAO = pointVAO\n this.pointCount = 0\n\n this.contourLineWidth = 1\n this.contourPositions = contourPositions\n this.contourVAO = contourVAO\n this.contourCount = 0\n this.contourColor = [0,0,0]\n this.contourEnable = true\n\n this.pickId = 1\n this.bounds = [\n [ Infinity, Infinity, Infinity],\n [-Infinity,-Infinity,-Infinity] ]\n this.clipBounds = [\n [-Infinity,-Infinity,-Infinity],\n [ Infinity, Infinity, Infinity] ]\n\n this.lightPosition = [1e5, 1e5, 0]\n this.ambientLight = 0.8\n this.diffuseLight = 0.8\n this.specularLight = 2.0\n this.roughness = 0.5\n this.fresnel = 1.5\n\n this.opacity = 1.0\n this.hasAlpha = false\n this.opacityscale = false\n\n this._model = IDENTITY\n this._view = IDENTITY\n this._projection = IDENTITY\n this._resolution = [1,1]\n}\n\nvar proto = SimplicialMesh.prototype\n\nproto.isOpaque = function() {\n return !this.hasAlpha\n}\n\nproto.isTransparent = function() {\n return this.hasAlpha\n}\n\nproto.pickSlots = 1\n\nproto.setPickBase = function(id) {\n this.pickId = id\n}\n\nfunction getOpacityFromScale(ratio, opacityscale) {\n\n if(!opacityscale) return 1\n if(!opacityscale.length) return 1\n\n for(var i = 0; i < opacityscale.length; ++i) {\n if(opacityscale.length < 2) return 1\n if(opacityscale[i][0] === ratio) return opacityscale[i][1]\n if(opacityscale[i][0] > ratio && i > 0) {\n var d = (opacityscale[i][0] - ratio) / (opacityscale[i][0] - opacityscale[i - 1][0])\n return opacityscale[i][1] * (1 - d) + d * opacityscale[i - 1][1]\n }\n }\n\n return 1\n}\n\nfunction genColormap(param, opacityscale) {\n var colors = colormap({\n colormap: param\n , nshades: 256\n , format: 'rgba'\n })\n\n var result = new Uint8Array(256*4)\n for(var i=0; i<256; ++i) {\n var c = colors[i]\n for(var j=0; j<3; ++j) {\n result[4*i+j] = c[j]\n }\n if(!opacityscale) {\n result[4*i+3] = 255 * c[3]\n } else {\n result[4*i+3] = 255 * getOpacityFromScale(i / 255.0, opacityscale)\n }\n }\n\n return ndarray(result, [256,256,4], [4,0,1])\n}\n\nfunction unpackIntensity(cells, numVerts, cellIntensity) {\n var result = new Array(numVerts)\n for(var i=0; i 0) {\n var shader = this.triShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n\n if(this.edgeCount > 0 && this.lineWidth > 0) {\n var shader = this.lineShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.edgeVAO.bind()\n gl.lineWidth(this.lineWidth * this.pixelRatio)\n gl.drawArrays(gl.LINES, 0, this.edgeCount*2)\n this.edgeVAO.unbind()\n }\n\n if(this.pointCount > 0) {\n var shader = this.pointShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.pointVAO.bind()\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n this.pointVAO.unbind()\n }\n\n if(this.contourEnable && this.contourCount > 0 && this.contourLineWidth > 0) {\n var shader = this.contourShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.contourVAO.bind()\n gl.drawArrays(gl.LINES, 0, this.contourCount)\n this.contourVAO.unbind()\n }\n}\n\nproto.drawPick = function(params) {\n params = params || {}\n\n var gl = this.gl\n\n var model = params.model || IDENTITY\n var view = params.view || IDENTITY\n var projection = params.projection || IDENTITY\n\n var clipBounds = [[-1e6,-1e6,-1e6],[1e6,1e6,1e6]]\n for(var i=0; i<3; ++i) {\n clipBounds[0][i] = Math.max(clipBounds[0][i], this.clipBounds[0][i])\n clipBounds[1][i] = Math.min(clipBounds[1][i], this.clipBounds[1][i])\n }\n\n //Save camera parameters\n this._model = [].slice.call(model)\n this._view = [].slice.call(view)\n this._projection = [].slice.call(projection)\n this._resolution = [gl.drawingBufferWidth, gl.drawingBufferHeight]\n\n var uniforms = {\n model: model,\n view: view,\n projection: projection,\n clipBounds: clipBounds,\n pickId: this.pickId / 255.0,\n }\n\n var shader = this.pickShader\n shader.bind()\n shader.uniforms = uniforms\n\n if(this.triangleCount > 0) {\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n\n if(this.edgeCount > 0) {\n this.edgeVAO.bind()\n gl.lineWidth(this.lineWidth * this.pixelRatio)\n gl.drawArrays(gl.LINES, 0, this.edgeCount*2)\n this.edgeVAO.unbind()\n }\n\n if(this.pointCount > 0) {\n var shader = this.pointPickShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.pointVAO.bind()\n gl.drawArrays(gl.POINTS, 0, this.pointCount)\n this.pointVAO.unbind()\n }\n}\n\n\nproto.pick = function(pickData) {\n if(!pickData) {\n return null\n }\n if(pickData.id !== this.pickId) {\n return null\n }\n\n var cellId = pickData.value[0] + 256*pickData.value[1] + 65536*pickData.value[2]\n var cell = this.cells[cellId]\n var positions = this.positions\n\n var simplex = new Array(cell.length)\n for(var i=0; i 0;\n\n traces.each(function(d) {\n var trace = d[0].trace;\n // || {} is in case the trace (specifically scatterternary)\n // doesn't support error bars at all, but does go through\n // the scatter.plot mechanics, which calls ErrorBars.plot\n // internally\n var xObj = trace.error_x || {};\n var yObj = trace.error_y || {};\n\n var keyFunc;\n\n if(trace.ids) {\n keyFunc = function(d) {return d.id;};\n }\n\n var sparse = (\n subTypes.hasMarkers(trace) &&\n trace.marker.maxdisplayed > 0\n );\n\n if(!yObj.visible && !xObj.visible) d = [];\n\n var errorbars = d3.select(this).selectAll('g.errorbar')\n .data(d, keyFunc);\n\n errorbars.exit().remove();\n\n if(!d.length) return;\n\n if(!xObj.visible) errorbars.selectAll('path.xerror').remove();\n if(!yObj.visible) errorbars.selectAll('path.yerror').remove();\n\n errorbars.style('opacity', 1);\n\n var enter = errorbars.enter().append('g')\n .classed('errorbar', true);\n\n if(hasAnimation) {\n enter.style('opacity', 0).transition()\n .duration(transitionOpts.duration)\n .style('opacity', 1);\n }\n\n Drawing.setClipUrl(errorbars, plotinfo.layerClipId, gd);\n\n errorbars.each(function(d) {\n var errorbar = d3.select(this);\n var coords = errorCoords(d, xa, ya);\n\n if(sparse && !d.vis) return;\n\n var path;\n\n var yerror = errorbar.select('path.yerror');\n if(yObj.visible && isNumeric(coords.x) &&\n isNumeric(coords.yh) &&\n isNumeric(coords.ys)) {\n var yw = yObj.width;\n\n path = 'M' + (coords.x - yw) + ',' +\n coords.yh + 'h' + (2 * yw) + // hat\n 'm-' + yw + ',0V' + coords.ys; // bar\n\n\n if(!coords.noYS) path += 'm-' + yw + ',0h' + (2 * yw); // shoe\n\n isNew = !yerror.size();\n\n if(isNew) {\n yerror = errorbar.append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .classed('yerror', true);\n } else if(hasAnimation) {\n yerror = yerror\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing);\n }\n\n yerror.attr('d', path);\n } else yerror.remove();\n\n var xerror = errorbar.select('path.xerror');\n if(xObj.visible && isNumeric(coords.y) &&\n isNumeric(coords.xh) &&\n isNumeric(coords.xs)) {\n var xw = (xObj.copy_ystyle ? yObj : xObj).width;\n\n path = 'M' + coords.xh + ',' +\n (coords.y - xw) + 'v' + (2 * xw) + // hat\n 'm0,-' + xw + 'H' + coords.xs; // bar\n\n if(!coords.noXS) path += 'm0,-' + xw + 'v' + (2 * xw); // shoe\n\n isNew = !xerror.size();\n\n if(isNew) {\n xerror = errorbar.append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .classed('xerror', true);\n } else if(hasAnimation) {\n xerror = xerror\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing);\n }\n\n xerror.attr('d', path);\n } else xerror.remove();\n });\n });\n};\n\n// compute the coordinates of the error-bar objects\nfunction errorCoords(d, xa, ya) {\n var out = {\n x: xa.c2p(d.x),\n y: ya.c2p(d.y)\n };\n\n // calculate the error bar size and hat and shoe locations\n if(d.yh !== undefined) {\n out.yh = ya.c2p(d.yh);\n out.ys = ya.c2p(d.ys);\n\n // if the shoes go off-scale (ie log scale, error bars past zero)\n // clip the bar and hide the shoes\n if(!isNumeric(out.ys)) {\n out.noYS = true;\n out.ys = ya.c2p(d.ys, true);\n }\n }\n\n if(d.xh !== undefined) {\n out.xh = xa.c2p(d.xh);\n out.xs = xa.c2p(d.xs);\n\n if(!isNumeric(out.xs)) {\n out.noXS = true;\n out.xs = xa.c2p(d.xs, true);\n }\n }\n\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"5567\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Return news array containing only the unique items\n * found in input array.\n *\n * IMPORTANT: Note that items are considered unique\n * if `String({})` is unique. For example;\n *\n * Lib.filterUnique([ { a: 1 }, { b: 2 } ])\n *\n * returns [{ a: 1 }]\n *\n * and\n *\n * Lib.filterUnique([ '1', 1 ])\n *\n * returns ['1']\n *\n *\n * @param {array} array base array\n * @return {array} new filtered array\n */\nmodule.exports = function filterUnique(array) {\n var seen = {};\n var out = [];\n var j = 0;\n\n for(var i = 0; i < array.length; i++) {\n var item = array[i];\n\n if(seen[item] !== 1) {\n seen[item] = 1;\n out[j++] = item;\n }\n }\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"55eb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n eventDataKeys: [\n 'initial',\n 'delta',\n 'final'\n ]\n};\n\n\n/***/ }),\n\n/***/ \"55f6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar _ = __webpack_require__(\"fc26\")._;\n\nmodule.exports = function calc(gd, trace) {\n var len = trace._length;\n var calcTrace = new Array(len);\n var z = trace.z;\n var hasZ = isArrayOrTypedArray(z) && z.length;\n\n for(var i = 0; i < len; i++) {\n var cdi = calcTrace[i] = {};\n\n var lon = trace.lon[i];\n var lat = trace.lat[i];\n\n cdi.lonlat = isNumeric(lon) && isNumeric(lat) ?\n [+lon, +lat] :\n [BADNUM, BADNUM];\n\n if(hasZ) {\n var zi = z[i];\n cdi.z = isNumeric(zi) ? zi : BADNUM;\n }\n }\n\n colorscaleCalc(gd, trace, {\n vals: hasZ ? z : [0, 1],\n containerStr: '',\n cLetter: 'z'\n });\n\n if(len) {\n calcTrace[0].t = {\n labels: {\n lat: _(gd, 'lat:') + ' ',\n lon: _(gd, 'lon:') + ' '\n }\n };\n }\n\n return calcTrace;\n};\n\n\n/***/ }),\n\n/***/ \"5664\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = earcut;\nmodule.exports.default = earcut;\n\nfunction earcut(data, holeIndices, dim) {\n\n dim = dim || 2;\n\n var hasHoles = holeIndices && holeIndices.length,\n outerLen = hasHoles ? holeIndices[0] * dim : data.length,\n outerNode = linkedList(data, 0, outerLen, dim, true),\n triangles = [];\n\n if (!outerNode || outerNode.next === outerNode.prev) return triangles;\n\n var minX, minY, maxX, maxY, x, y, invSize;\n\n if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);\n\n // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox\n if (data.length > 80 * dim) {\n minX = maxX = data[0];\n minY = maxY = data[1];\n\n for (var i = dim; i < outerLen; i += dim) {\n x = data[i];\n y = data[i + 1];\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x > maxX) maxX = x;\n if (y > maxY) maxY = y;\n }\n\n // minX, minY and invSize are later used to transform coords into integers for z-order calculation\n invSize = Math.max(maxX - minX, maxY - minY);\n invSize = invSize !== 0 ? 1 / invSize : 0;\n }\n\n earcutLinked(outerNode, triangles, dim, minX, minY, invSize);\n\n return triangles;\n}\n\n// create a circular doubly linked list from polygon points in the specified winding order\nfunction linkedList(data, start, end, dim, clockwise) {\n var i, last;\n\n if (clockwise === (signedArea(data, start, end, dim) > 0)) {\n for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);\n } else {\n for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);\n }\n\n if (last && equals(last, last.next)) {\n removeNode(last);\n last = last.next;\n }\n\n return last;\n}\n\n// eliminate colinear or duplicate points\nfunction filterPoints(start, end) {\n if (!start) return start;\n if (!end) end = start;\n\n var p = start,\n again;\n do {\n again = false;\n\n if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {\n removeNode(p);\n p = end = p.prev;\n if (p === p.next) break;\n again = true;\n\n } else {\n p = p.next;\n }\n } while (again || p !== end);\n\n return end;\n}\n\n// main ear slicing loop which triangulates a polygon (given as a linked list)\nfunction earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) {\n if (!ear) return;\n\n // interlink polygon nodes in z-order\n if (!pass && invSize) indexCurve(ear, minX, minY, invSize);\n\n var stop = ear,\n prev, next;\n\n // iterate through ears, slicing them one by one\n while (ear.prev !== ear.next) {\n prev = ear.prev;\n next = ear.next;\n\n if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) {\n // cut off the triangle\n triangles.push(prev.i / dim);\n triangles.push(ear.i / dim);\n triangles.push(next.i / dim);\n\n removeNode(ear);\n\n // skipping the next vertex leads to less sliver triangles\n ear = next.next;\n stop = next.next;\n\n continue;\n }\n\n ear = next;\n\n // if we looped through the whole remaining polygon and can't find any more ears\n if (ear === stop) {\n // try filtering points and slicing again\n if (!pass) {\n earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1);\n\n // if this didn't work, try curing all small self-intersections locally\n } else if (pass === 1) {\n ear = cureLocalIntersections(filterPoints(ear), triangles, dim);\n earcutLinked(ear, triangles, dim, minX, minY, invSize, 2);\n\n // as a last resort, try splitting the remaining polygon into two\n } else if (pass === 2) {\n splitEarcut(ear, triangles, dim, minX, minY, invSize);\n }\n\n break;\n }\n }\n}\n\n// check whether a polygon node forms a valid ear with adjacent nodes\nfunction isEar(ear) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // now make sure we don't have other points inside the potential ear\n var p = ear.next.next;\n\n while (p !== ear.prev) {\n if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.next;\n }\n\n return true;\n}\n\nfunction isEarHashed(ear, minX, minY, invSize) {\n var a = ear.prev,\n b = ear,\n c = ear.next;\n\n if (area(a, b, c) >= 0) return false; // reflex, can't be an ear\n\n // triangle bbox; min & max are calculated like this for speed\n var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),\n minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),\n maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),\n maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);\n\n // z-order range for the current triangle bbox;\n var minZ = zOrder(minTX, minTY, minX, minY, invSize),\n maxZ = zOrder(maxTX, maxTY, minX, minY, invSize);\n\n var p = ear.prevZ,\n n = ear.nextZ;\n\n // look for points inside the triangle in both directions\n while (p && p.z >= minZ && n && n.z <= maxZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n // look for remaining points in decreasing z-order\n while (p && p.z >= minZ) {\n if (p !== ear.prev && p !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&\n area(p.prev, p, p.next) >= 0) return false;\n p = p.prevZ;\n }\n\n // look for remaining points in increasing z-order\n while (n && n.z <= maxZ) {\n if (n !== ear.prev && n !== ear.next &&\n pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) &&\n area(n.prev, n, n.next) >= 0) return false;\n n = n.nextZ;\n }\n\n return true;\n}\n\n// go through all polygon nodes and cure small local self-intersections\nfunction cureLocalIntersections(start, triangles, dim) {\n var p = start;\n do {\n var a = p.prev,\n b = p.next.next;\n\n if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {\n\n triangles.push(a.i / dim);\n triangles.push(p.i / dim);\n triangles.push(b.i / dim);\n\n // remove two nodes involved\n removeNode(p);\n removeNode(p.next);\n\n p = start = b;\n }\n p = p.next;\n } while (p !== start);\n\n return filterPoints(p);\n}\n\n// try splitting polygon into two and triangulate them independently\nfunction splitEarcut(start, triangles, dim, minX, minY, invSize) {\n // look for a valid diagonal that divides the polygon into two\n var a = start;\n do {\n var b = a.next.next;\n while (b !== a.prev) {\n if (a.i !== b.i && isValidDiagonal(a, b)) {\n // split the polygon in two by the diagonal\n var c = splitPolygon(a, b);\n\n // filter colinear points around the cuts\n a = filterPoints(a, a.next);\n c = filterPoints(c, c.next);\n\n // run earcut on each half\n earcutLinked(a, triangles, dim, minX, minY, invSize);\n earcutLinked(c, triangles, dim, minX, minY, invSize);\n return;\n }\n b = b.next;\n }\n a = a.next;\n } while (a !== start);\n}\n\n// link every hole into the outer loop, producing a single-ring polygon without holes\nfunction eliminateHoles(data, holeIndices, outerNode, dim) {\n var queue = [],\n i, len, start, end, list;\n\n for (i = 0, len = holeIndices.length; i < len; i++) {\n start = holeIndices[i] * dim;\n end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n list = linkedList(data, start, end, dim, false);\n if (list === list.next) list.steiner = true;\n queue.push(getLeftmost(list));\n }\n\n queue.sort(compareX);\n\n // process holes from left to right\n for (i = 0; i < queue.length; i++) {\n eliminateHole(queue[i], outerNode);\n outerNode = filterPoints(outerNode, outerNode.next);\n }\n\n return outerNode;\n}\n\nfunction compareX(a, b) {\n return a.x - b.x;\n}\n\n// find a bridge between vertices that connects hole with an outer ring and and link it\nfunction eliminateHole(hole, outerNode) {\n outerNode = findHoleBridge(hole, outerNode);\n if (outerNode) {\n var b = splitPolygon(outerNode, hole);\n filterPoints(b, b.next);\n }\n}\n\n// David Eberly's algorithm for finding a bridge between hole and outer polygon\nfunction findHoleBridge(hole, outerNode) {\n var p = outerNode,\n hx = hole.x,\n hy = hole.y,\n qx = -Infinity,\n m;\n\n // find a segment intersected by a ray from the hole's leftmost point to the left;\n // segment's endpoint with lesser x will be potential connection point\n do {\n if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) {\n var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);\n if (x <= hx && x > qx) {\n qx = x;\n if (x === hx) {\n if (hy === p.y) return p;\n if (hy === p.next.y) return p.next;\n }\n m = p.x < p.next.x ? p : p.next;\n }\n }\n p = p.next;\n } while (p !== outerNode);\n\n if (!m) return null;\n\n if (hx === qx) return m; // hole touches outer segment; pick leftmost endpoint\n\n // look for points inside the triangle of hole point, segment intersection and endpoint;\n // if there are no points found, we have a valid connection;\n // otherwise choose the point of the minimum angle with the ray as connection point\n\n var stop = m,\n mx = m.x,\n my = m.y,\n tanMin = Infinity,\n tan;\n\n p = m;\n\n do {\n if (hx >= p.x && p.x >= mx && hx !== p.x &&\n pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {\n\n tan = Math.abs(hy - p.y) / (hx - p.x); // tangential\n\n if (locallyInside(p, hole) &&\n (tan < tanMin || (tan === tanMin && (p.x > m.x || (p.x === m.x && sectorContainsSector(m, p)))))) {\n m = p;\n tanMin = tan;\n }\n }\n\n p = p.next;\n } while (p !== stop);\n\n return m;\n}\n\n// whether sector in vertex m contains sector in vertex p in the same coordinates\nfunction sectorContainsSector(m, p) {\n return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0;\n}\n\n// interlink polygon nodes in z-order\nfunction indexCurve(start, minX, minY, invSize) {\n var p = start;\n do {\n if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize);\n p.prevZ = p.prev;\n p.nextZ = p.next;\n p = p.next;\n } while (p !== start);\n\n p.prevZ.nextZ = null;\n p.prevZ = null;\n\n sortLinked(p);\n}\n\n// Simon Tatham's linked list merge sort algorithm\n// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html\nfunction sortLinked(list) {\n var i, p, q, e, tail, numMerges, pSize, qSize,\n inSize = 1;\n\n do {\n p = list;\n list = null;\n tail = null;\n numMerges = 0;\n\n while (p) {\n numMerges++;\n q = p;\n pSize = 0;\n for (i = 0; i < inSize; i++) {\n pSize++;\n q = q.nextZ;\n if (!q) break;\n }\n qSize = inSize;\n\n while (pSize > 0 || (qSize > 0 && q)) {\n\n if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) {\n e = p;\n p = p.nextZ;\n pSize--;\n } else {\n e = q;\n q = q.nextZ;\n qSize--;\n }\n\n if (tail) tail.nextZ = e;\n else list = e;\n\n e.prevZ = tail;\n tail = e;\n }\n\n p = q;\n }\n\n tail.nextZ = null;\n inSize *= 2;\n\n } while (numMerges > 1);\n\n return list;\n}\n\n// z-order of a point given coords and inverse of the longer side of data bbox\nfunction zOrder(x, y, minX, minY, invSize) {\n // coords are transformed into non-negative 15-bit integer range\n x = 32767 * (x - minX) * invSize;\n y = 32767 * (y - minY) * invSize;\n\n x = (x | (x << 8)) & 0x00FF00FF;\n x = (x | (x << 4)) & 0x0F0F0F0F;\n x = (x | (x << 2)) & 0x33333333;\n x = (x | (x << 1)) & 0x55555555;\n\n y = (y | (y << 8)) & 0x00FF00FF;\n y = (y | (y << 4)) & 0x0F0F0F0F;\n y = (y | (y << 2)) & 0x33333333;\n y = (y | (y << 1)) & 0x55555555;\n\n return x | (y << 1);\n}\n\n// find the leftmost node of a polygon ring\nfunction getLeftmost(start) {\n var p = start,\n leftmost = start;\n do {\n if (p.x < leftmost.x || (p.x === leftmost.x && p.y < leftmost.y)) leftmost = p;\n p = p.next;\n } while (p !== start);\n\n return leftmost;\n}\n\n// check if a point lies within a convex triangle\nfunction pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {\n return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&\n (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&\n (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;\n}\n\n// check if a diagonal between two polygon nodes is valid (lies in polygon interior)\nfunction isValidDiagonal(a, b) {\n return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && // dones't intersect other edges\n (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && // locally visible\n (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors\n equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case\n}\n\n// signed area of a triangle\nfunction area(p, q, r) {\n return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);\n}\n\n// check if two points are equal\nfunction equals(p1, p2) {\n return p1.x === p2.x && p1.y === p2.y;\n}\n\n// check if two segments intersect\nfunction intersects(p1, q1, p2, q2) {\n var o1 = sign(area(p1, q1, p2));\n var o2 = sign(area(p1, q1, q2));\n var o3 = sign(area(p2, q2, p1));\n var o4 = sign(area(p2, q2, q1));\n\n if (o1 !== o2 && o3 !== o4) return true; // general case\n\n if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1\n if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1\n if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2\n if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2\n\n return false;\n}\n\n// for collinear points p, q, r, check if point q lies on segment pr\nfunction onSegment(p, q, r) {\n return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y);\n}\n\nfunction sign(num) {\n return num > 0 ? 1 : num < 0 ? -1 : 0;\n}\n\n// check if a polygon diagonal intersects any polygon segments\nfunction intersectsPolygon(a, b) {\n var p = a;\n do {\n if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&\n intersects(p, p.next, a, b)) return true;\n p = p.next;\n } while (p !== a);\n\n return false;\n}\n\n// check if a polygon diagonal is locally inside the polygon\nfunction locallyInside(a, b) {\n return area(a.prev, a, a.next) < 0 ?\n area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :\n area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;\n}\n\n// check if the middle point of a polygon diagonal is inside the polygon\nfunction middleInside(a, b) {\n var p = a,\n inside = false,\n px = (a.x + b.x) / 2,\n py = (a.y + b.y) / 2;\n do {\n if (((p.y > py) !== (p.next.y > py)) && p.next.y !== p.y &&\n (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))\n inside = !inside;\n p = p.next;\n } while (p !== a);\n\n return inside;\n}\n\n// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;\n// if one belongs to the outer ring and another to a hole, it merges it into a single ring\nfunction splitPolygon(a, b) {\n var a2 = new Node(a.i, a.x, a.y),\n b2 = new Node(b.i, b.x, b.y),\n an = a.next,\n bp = b.prev;\n\n a.next = b;\n b.prev = a;\n\n a2.next = an;\n an.prev = a2;\n\n b2.next = a2;\n a2.prev = b2;\n\n bp.next = b2;\n b2.prev = bp;\n\n return b2;\n}\n\n// create a node and optionally link it with previous one (in a circular doubly linked list)\nfunction insertNode(i, x, y, last) {\n var p = new Node(i, x, y);\n\n if (!last) {\n p.prev = p;\n p.next = p;\n\n } else {\n p.next = last.next;\n p.prev = last;\n last.next.prev = p;\n last.next = p;\n }\n return p;\n}\n\nfunction removeNode(p) {\n p.next.prev = p.prev;\n p.prev.next = p.next;\n\n if (p.prevZ) p.prevZ.nextZ = p.nextZ;\n if (p.nextZ) p.nextZ.prevZ = p.prevZ;\n}\n\nfunction Node(i, x, y) {\n // vertex index in coordinates array\n this.i = i;\n\n // vertex coordinates\n this.x = x;\n this.y = y;\n\n // previous and next vertex nodes in a polygon ring\n this.prev = null;\n this.next = null;\n\n // z-order curve value\n this.z = null;\n\n // previous and next nodes in z-order\n this.prevZ = null;\n this.nextZ = null;\n\n // indicates whether this is a steiner point\n this.steiner = false;\n}\n\n// return a percentage difference between the polygon area and its triangulation area;\n// used to verify correctness of triangulation\nearcut.deviation = function (data, holeIndices, dim, triangles) {\n var hasHoles = holeIndices && holeIndices.length;\n var outerLen = hasHoles ? holeIndices[0] * dim : data.length;\n\n var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));\n if (hasHoles) {\n for (var i = 0, len = holeIndices.length; i < len; i++) {\n var start = holeIndices[i] * dim;\n var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;\n polygonArea -= Math.abs(signedArea(data, start, end, dim));\n }\n }\n\n var trianglesArea = 0;\n for (i = 0; i < triangles.length; i += 3) {\n var a = triangles[i] * dim;\n var b = triangles[i + 1] * dim;\n var c = triangles[i + 2] * dim;\n trianglesArea += Math.abs(\n (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -\n (data[a] - data[b]) * (data[c + 1] - data[a + 1]));\n }\n\n return polygonArea === 0 && trianglesArea === 0 ? 0 :\n Math.abs((trianglesArea - polygonArea) / polygonArea);\n};\n\nfunction signedArea(data, start, end, dim) {\n var sum = 0;\n for (var i = start, j = end - dim; i < end; i += dim) {\n sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);\n j = i;\n }\n return sum;\n}\n\n// turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts\nearcut.flatten = function (data) {\n var dim = data[0][0].length,\n result = {vertices: [], holes: [], dimensions: dim},\n holeIndex = 0;\n\n for (var i = 0; i < data.length; i++) {\n for (var j = 0; j < data[i].length; j++) {\n for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);\n }\n if (i > 0) {\n holeIndex += data[i - 1].length;\n result.holes.push(holeIndex);\n }\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"566e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = boundary\n\nfunction boundary (cells) {\n var i, j, k\n var n = cells.length\n var sz = 0\n for (i = 0; i < n; ++i) {\n sz += cells[i].length\n }\n var result = new Array(sz)\n var ptr = 0\n for (i = 0; i < n; ++i) {\n var c = cells[i]\n var d = c.length\n for (j = 0; j < d; ++j) {\n var b = result[ptr++] = new Array(d - 1)\n var p = 0\n for (k = 0; k < d; ++k) {\n if (k === j) {\n continue\n }\n b[p++] = c[k]\n }\n if (j & 1) {\n var tmp = b[1]\n b[1] = b[0]\n b[0] = tmp\n }\n }\n }\n return result\n}\n\n\n/***/ }),\n\n/***/ \"567e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"a5cc\");\nvar helpers = __webpack_require__(\"fdc7\");\n\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n handleArrayContainerDefaults(layoutIn, layoutOut, {\n name: 'shapes',\n handleItemDefaults: handleShapeDefaults\n });\n};\n\nfunction handleShapeDefaults(shapeIn, shapeOut, fullLayout) {\n function coerce(attr, dflt) {\n return Lib.coerce(shapeIn, shapeOut, attributes, attr, dflt);\n }\n\n var visible = coerce('visible');\n\n if(!visible) return;\n\n coerce('layer');\n coerce('opacity');\n coerce('fillcolor');\n coerce('line.color');\n coerce('line.width');\n coerce('line.dash');\n\n var dfltType = shapeIn.path ? 'path' : 'rect';\n var shapeType = coerce('type', dfltType);\n var xSizeMode = coerce('xsizemode');\n var ySizeMode = coerce('ysizemode');\n\n // positioning\n var axLetters = ['x', 'y'];\n for(var i = 0; i < 2; i++) {\n var axLetter = axLetters[i];\n var attrAnchor = axLetter + 'anchor';\n var sizeMode = axLetter === 'x' ? xSizeMode : ySizeMode;\n var gdMock = {_fullLayout: fullLayout};\n var ax;\n var pos2r;\n var r2pos;\n\n // xref, yref\n var axRef = Axes.coerceRef(shapeIn, shapeOut, gdMock, axLetter, '', 'paper');\n\n if(axRef !== 'paper') {\n ax = Axes.getFromId(gdMock, axRef);\n ax._shapeIndices.push(shapeOut._index);\n r2pos = helpers.rangeToShapePosition(ax);\n pos2r = helpers.shapePositionToRange(ax);\n } else {\n pos2r = r2pos = Lib.identity;\n }\n\n // Coerce x0, x1, y0, y1\n if(shapeType !== 'path') {\n var dflt0 = 0.25;\n var dflt1 = 0.75;\n\n // hack until V2.0 when log has regular range behavior - make it look like other\n // ranges to send to coerce, then put it back after\n // this is all to give reasonable default position behavior on log axes, which is\n // a pretty unimportant edge case so we could just ignore this.\n var attr0 = axLetter + '0';\n var attr1 = axLetter + '1';\n var in0 = shapeIn[attr0];\n var in1 = shapeIn[attr1];\n shapeIn[attr0] = pos2r(shapeIn[attr0], true);\n shapeIn[attr1] = pos2r(shapeIn[attr1], true);\n\n if(sizeMode === 'pixel') {\n coerce(attr0, 0);\n coerce(attr1, 10);\n } else {\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attr0, dflt0);\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attr1, dflt1);\n }\n\n // hack part 2\n shapeOut[attr0] = r2pos(shapeOut[attr0]);\n shapeOut[attr1] = r2pos(shapeOut[attr1]);\n shapeIn[attr0] = in0;\n shapeIn[attr1] = in1;\n }\n\n // Coerce xanchor and yanchor\n if(sizeMode === 'pixel') {\n // Hack for log axis described above\n var inAnchor = shapeIn[attrAnchor];\n shapeIn[attrAnchor] = pos2r(shapeIn[attrAnchor], true);\n\n Axes.coercePosition(shapeOut, gdMock, coerce, axRef, attrAnchor, 0.25);\n\n // Hack part 2\n shapeOut[attrAnchor] = r2pos(shapeOut[attrAnchor]);\n shapeIn[attrAnchor] = inAnchor;\n }\n }\n\n if(shapeType === 'path') {\n coerce('path');\n } else {\n Lib.noneOrAll(shapeIn, shapeOut, ['x0', 'x1', 'y0', 'y1']);\n }\n}\n\n\n/***/ }),\n\n/***/ \"5692\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar IS_PURE = __webpack_require__(\"c430\");\nvar store = __webpack_require__(\"c6cd\");\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"569b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function zip3(x, y, z, len) {\n len = len || x.length;\n\n var result = new Array(len);\n for(var i = 0; i < len; i++) {\n result[i] = [x[i], y[i], z[i]];\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"56b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"78d8\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, layoutAttributes, attr, dflt);\n }\n\n coerce('hiddenlabels');\n coerce('piecolorway', layoutOut.colorway);\n coerce('extendpiecolors');\n};\n\n\n/***/ }),\n\n/***/ \"56cf\":\n/***/ (function(module, exports) {\n\nmodule.exports = subtract\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction subtract (out, a, b) {\n out[0] = a[0] - b[0]\n out[1] = a[1] - b[1]\n out[2] = a[2] - b[2]\n out[3] = a[3] - b[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"56ef\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getBuiltIn = __webpack_require__(\"d066\");\nvar getOwnPropertyNamesModule = __webpack_require__(\"241c\");\nvar getOwnPropertySymbolsModule = __webpack_require__(\"7418\");\nvar anObject = __webpack_require__(\"825a\");\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ \"56f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorAttributes = __webpack_require__(\"f4e9\");\nvar dash = __webpack_require__(\"db54\").dash;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterLineAttrs = scatterAttrs.line;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = overrideAll({\n lon: {\n valType: 'data_array',\n \n },\n lat: {\n valType: 'data_array',\n \n },\n\n locations: {\n valType: 'data_array',\n \n },\n locationmode: {\n valType: 'enumerated',\n values: ['ISO-3', 'USA-states', 'country names', 'geojson-id'],\n \n dflt: 'ISO-3',\n \n },\n\n geojson: {\n valType: 'any',\n \n editType: 'calc',\n \n },\n featureidkey: {\n valType: 'string',\n \n editType: 'calc',\n dflt: 'id',\n \n },\n\n mode: extendFlat({}, scatterAttrs.mode, {dflt: 'markers'}),\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['lat', 'lon', 'location', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n\n textfont: scatterAttrs.textfont,\n textposition: scatterAttrs.textposition,\n\n line: {\n color: scatterLineAttrs.color,\n width: scatterLineAttrs.width,\n dash: dash\n },\n connectgaps: scatterAttrs.connectgaps,\n\n marker: extendFlat({\n symbol: scatterMarkerAttrs.symbol,\n opacity: scatterMarkerAttrs.opacity,\n size: scatterMarkerAttrs.size,\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n colorbar: scatterMarkerAttrs.colorbar,\n line: extendFlat({\n width: scatterMarkerLineAttrs.width\n },\n colorAttributes('marker.line')\n ),\n gradient: scatterMarkerAttrs.gradient\n },\n colorAttributes('marker')\n ),\n\n fill: {\n valType: 'enumerated',\n values: ['none', 'toself'],\n dflt: 'none',\n \n \n },\n fillcolor: scatterAttrs.fillcolor,\n\n selected: scatterAttrs.selected,\n unselected: scatterAttrs.unselected,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'location', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n}, 'calc', 'nested');\n\n\n/***/ }),\n\n/***/ \"56fc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/*\n * Return a function that evaluates a set of linear or bicubic control points.\n * This will get evaluated a lot, so we'll at least do a bit of extra work to\n * flatten some of the choices. In particular, we'll unroll the linear/bicubic\n * combinations and we'll allow computing results in parallel to cut down\n * on repeated arithmetic.\n *\n * Take note that we don't search for the correct range in this function. The\n * reason is for consistency due to the corrresponding derivative function. In\n * particular, the derivatives aren't continuous across cells, so it's important\n * to be able control whether the derivative at a cell boundary is approached\n * from one side or the other.\n */\nmodule.exports = function(arrays, na, nb, asmoothing, bsmoothing) {\n var imax = na - 2;\n var jmax = nb - 2;\n\n if(asmoothing && bsmoothing) {\n return function(out, i, j) {\n if(!out) out = [];\n var f0, f1, f2, f3, ak, k;\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n // Since it's a grid of control points, the actual indices are * 3:\n i0 *= 3;\n j0 *= 3;\n\n // Precompute some numbers:\n var u2 = u * u;\n var u3 = u2 * u;\n var ou = 1 - u;\n var ou2 = ou * ou;\n var ou3 = ou2 * ou;\n\n var v2 = v * v;\n var v3 = v2 * v;\n var ov = 1 - v;\n var ov2 = ov * ov;\n var ov3 = ov2 * ov;\n\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou3 * ak[j0][i0] + 3 * (ou2 * u * ak[j0][i0 + 1] + ou * u2 * ak[j0][i0 + 2]) + u3 * ak[j0][i0 + 3];\n f1 = ou3 * ak[j0 + 1][i0] + 3 * (ou2 * u * ak[j0 + 1][i0 + 1] + ou * u2 * ak[j0 + 1][i0 + 2]) + u3 * ak[j0 + 1][i0 + 3];\n f2 = ou3 * ak[j0 + 2][i0] + 3 * (ou2 * u * ak[j0 + 2][i0 + 1] + ou * u2 * ak[j0 + 2][i0 + 2]) + u3 * ak[j0 + 2][i0 + 3];\n f3 = ou3 * ak[j0 + 3][i0] + 3 * (ou2 * u * ak[j0 + 3][i0 + 1] + ou * u2 * ak[j0 + 3][i0 + 2]) + u3 * ak[j0 + 3][i0 + 3];\n out[k] = ov3 * f0 + 3 * (ov2 * v * f1 + ov * v2 * f2) + v3 * f3;\n }\n\n return out;\n };\n } else if(asmoothing) {\n // Handle smooth in the a-direction but linear in the b-direction by performing four\n // linear interpolations followed by one cubic interpolation of the result\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, f2, f3, k, ak;\n i0 *= 3;\n var u2 = u * u;\n var u3 = u2 * u;\n var ou = 1 - u;\n var ou2 = ou * ou;\n var ou3 = ou2 * ou;\n var ov = 1 - v;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ov * ak[j0][i0] + v * ak[j0 + 1][i0];\n f1 = ov * ak[j0][i0 + 1] + v * ak[j0 + 1][i0 + 1];\n f2 = ov * ak[j0][i0 + 2] + v * ak[j0 + 1][i0 + 1];\n f3 = ov * ak[j0][i0 + 3] + v * ak[j0 + 1][i0 + 1];\n\n out[k] = ou3 * f0 + 3 * (ou2 * u * f1 + ou * u2 * f2) + u3 * f3;\n }\n return out;\n };\n } else if(bsmoothing) {\n // Same as the above case, except reversed:\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, f2, f3, k, ak;\n j0 *= 3;\n var v2 = v * v;\n var v3 = v2 * v;\n var ov = 1 - v;\n var ov2 = ov * ov;\n var ov3 = ov2 * ov;\n var ou = 1 - u;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou * ak[j0][i0] + u * ak[j0][i0 + 1];\n f1 = ou * ak[j0 + 1][i0] + u * ak[j0 + 1][i0 + 1];\n f2 = ou * ak[j0 + 2][i0] + u * ak[j0 + 2][i0 + 1];\n f3 = ou * ak[j0 + 3][i0] + u * ak[j0 + 3][i0 + 1];\n\n out[k] = ov3 * f0 + 3 * (ov2 * v * f1 + ov * v2 * f2) + v3 * f3;\n }\n return out;\n };\n } else {\n // Finally, both directions are linear:\n return function(out, i, j) {\n if(!out) out = [];\n\n var i0 = Math.max(0, Math.min(Math.floor(i), imax));\n var j0 = Math.max(0, Math.min(Math.floor(j), jmax));\n var u = Math.max(0, Math.min(1, i - i0));\n var v = Math.max(0, Math.min(1, j - j0));\n\n var f0, f1, k, ak;\n var ov = 1 - v;\n var ou = 1 - u;\n for(k = 0; k < arrays.length; k++) {\n ak = arrays[k];\n f0 = ou * ak[j0][i0] + u * ak[j0][i0 + 1];\n f1 = ou * ak[j0 + 1][i0] + u * ak[j0 + 1][i0 + 1];\n\n out[k] = ov * f0 + v * f1;\n }\n return out;\n };\n }\n};\n\n\n/***/ }),\n\n/***/ \"5714\":\n/***/ (function(module, exports) {\n\nmodule.exports = ceil\n\n/**\n * Math.ceil the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a vector to ceil\n * @returns {vec3} out\n */\nfunction ceil(out, a) {\n out[0] = Math.ceil(a[0])\n out[1] = Math.ceil(a[1])\n out[2] = Math.ceil(a[2])\n return out\n}\n\n\n/***/ }),\n\n/***/ \"5752\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar BN = __webpack_require__(\"399f\")\n\nmodule.exports = str2BN\n\nfunction str2BN(x) {\n return new BN(x)\n}\n\n\n/***/ }),\n\n/***/ \"578f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSelectBuffer\n\nvar createFBO = __webpack_require__(\"44c3\")\nvar pool = __webpack_require__(\"cea5\")\nvar ndarray = __webpack_require__(\"b5bb\")\n\nvar nextPow2 = __webpack_require__(\"a48a\").nextPow2\n\nvar selectRange = __webpack_require__(\"dd8f\")({\"args\":[\"array\",{\"offset\":[0,0,1],\"array\":0},{\"offset\":[0,0,2],\"array\":0},{\"offset\":[0,0,3],\"array\":0},\"scalar\",\"scalar\",\"index\"],\"pre\":{\"body\":\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",\"args\":[],\"thisVars\":[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],\"localVars\":[]},\"body\":{\"body\":\"{if(_inline_4_arg0_<255||_inline_4_arg1_<255||_inline_4_arg2_<255||_inline_4_arg3_<255){var _inline_4_l=_inline_4_arg4_-_inline_4_arg6_[0],_inline_4_a=_inline_4_arg5_-_inline_4_arg6_[1],_inline_4_f=_inline_4_l*_inline_4_l+_inline_4_a*_inline_4_a;_inline_4_f this.buffer.length) {\n pool.free(this.buffer)\n var buffer = this.buffer = pool.mallocUint8(nextPow2(r*c*4))\n for(var i=0; i -1 ? vph + barPad : -(barH + barPad);\n\n var pathbarOrigin = {\n x0: barW, // slide to the right\n x1: barW,\n y0: barDifY,\n y1: barDifY + barH\n };\n\n var findClosestEdge = function(pt, ref, size) {\n var e = trace.tiling.pad;\n var isLeftOfRect = function(x) { return x - e <= ref.x0; };\n var isRightOfRect = function(x) { return x + e >= ref.x1; };\n var isBottomOfRect = function(y) { return y - e <= ref.y0; };\n var isTopOfRect = function(y) { return y + e >= ref.y1; };\n\n return {\n x0: isLeftOfRect(pt.x0 - e) ? 0 : isRightOfRect(pt.x0 - e) ? size[0] : pt.x0,\n x1: isLeftOfRect(pt.x1 + e) ? 0 : isRightOfRect(pt.x1 + e) ? size[0] : pt.x1,\n y0: isBottomOfRect(pt.y0 - e) ? 0 : isTopOfRect(pt.y0 - e) ? size[1] : pt.y0,\n y1: isBottomOfRect(pt.y1 + e) ? 0 : isTopOfRect(pt.y1 + e) ? size[1] : pt.y1\n };\n };\n\n // stash of 'previous' position data used by tweening functions\n var prevEntry = null;\n var prevLookupPathbar = {};\n var prevLookupSlices = {};\n var nextOfPrevEntry = null;\n var getPrev = function(pt, onPathbar) {\n return onPathbar ?\n prevLookupPathbar[getKey(pt)] :\n prevLookupSlices[getKey(pt)];\n };\n\n var getOrigin = function(pt, onPathbar, refRect, size) {\n if(onPathbar) {\n return prevLookupPathbar[getKey(hierarchy)] || pathbarOrigin;\n } else {\n var ref = prevLookupSlices[trace.level] || refRect;\n\n if(hasVisibleDepth(pt)) { // case of an empty object - happens when maxdepth is set\n return findClosestEdge(pt, ref, size);\n }\n }\n return {};\n };\n\n // N.B. handle multiple-root special case\n if(cd0.hasMultipleRoots && isRoot) {\n maxDepth++;\n }\n\n trace._maxDepth = maxDepth;\n trace._backgroundColor = fullLayout.paper_bgcolor;\n trace._entryDepth = entry.data.depth;\n trace._atRootLevel = isRoot;\n\n var cenX = -vpw / 2 + gs.l + gs.w * (domain.x[1] + domain.x[0]) / 2;\n var cenY = -vph / 2 + gs.t + gs.h * (1 - (domain.y[1] + domain.y[0]) / 2);\n\n var viewMapX = function(x) { return cenX + x; };\n var viewMapY = function(y) { return cenY + y; };\n\n var barY0 = viewMapY(0);\n var barX0 = viewMapX(0);\n\n var viewBarX = function(x) { return barX0 + x; };\n var viewBarY = function(y) { return barY0 + y; };\n\n function pos(x, y) {\n return x + ',' + y;\n }\n\n var xStart = viewBarX(0);\n var limitX0 = function(p) { p.x = Math.max(xStart, p.x); };\n\n var edgeshape = trace.pathbar.edgeshape;\n\n // pathbar(directory) path generation fn\n var pathAncestor = function(d) {\n var _x0 = viewBarX(Math.max(Math.min(d.x0, d.x0), 0));\n var _x1 = viewBarX(Math.min(Math.max(d.x1, d.x1), barW));\n var _y0 = viewBarY(d.y0);\n var _y1 = viewBarY(d.y1);\n\n var halfH = barH / 2;\n\n var pL = {};\n var pR = {};\n\n pL.x = _x0;\n pR.x = _x1;\n\n pL.y = pR.y = (_y0 + _y1) / 2;\n\n var pA = {x: _x0, y: _y0};\n var pB = {x: _x1, y: _y0};\n var pC = {x: _x1, y: _y1};\n var pD = {x: _x0, y: _y1};\n\n if(edgeshape === '>') {\n pA.x -= halfH;\n pB.x -= halfH;\n pC.x -= halfH;\n pD.x -= halfH;\n } else if(edgeshape === '/') {\n pC.x -= halfH;\n pD.x -= halfH;\n pL.x -= halfH / 2;\n pR.x -= halfH / 2;\n } else if(edgeshape === '\\\\') {\n pA.x -= halfH;\n pB.x -= halfH;\n pL.x -= halfH / 2;\n pR.x -= halfH / 2;\n } else if(edgeshape === '<') {\n pL.x -= halfH;\n pR.x -= halfH;\n }\n\n limitX0(pA);\n limitX0(pD);\n limitX0(pL);\n\n limitX0(pB);\n limitX0(pC);\n limitX0(pR);\n\n return (\n 'M' + pos(pA.x, pA.y) +\n 'L' + pos(pB.x, pB.y) +\n 'L' + pos(pR.x, pR.y) +\n 'L' + pos(pC.x, pC.y) +\n 'L' + pos(pD.x, pD.y) +\n 'L' + pos(pL.x, pL.y) +\n 'Z'\n );\n };\n\n // slice path generation fn\n var pathDescendant = function(d) {\n var _x0 = viewMapX(d.x0);\n var _x1 = viewMapX(d.x1);\n var _y0 = viewMapY(d.y0);\n var _y1 = viewMapY(d.y1);\n\n var dx = _x1 - _x0;\n var dy = _y1 - _y0;\n if(!dx || !dy) return '';\n\n var FILLET = 0; // TODO: may expose this constant\n\n var r = (\n dx > 2 * FILLET &&\n dy > 2 * FILLET\n ) ? FILLET : 0;\n\n var arc = function(rx, ry) { return r ? 'a' + pos(r, r) + ' 0 0 1 ' + pos(rx, ry) : ''; };\n\n return (\n 'M' + pos(_x0, _y0 + r) +\n arc(r, -r) +\n 'L' + pos(_x1 - r, _y0) +\n arc(r, r) +\n 'L' + pos(_x1, _y1 - r) +\n arc(-r, r) +\n 'L' + pos(_x0 + r, _y1) +\n arc(-r, -r) + 'Z'\n );\n };\n\n var toMoveInsideSlice = function(pt, opts) {\n var x0 = pt.x0;\n var x1 = pt.x1;\n var y0 = pt.y0;\n var y1 = pt.y1;\n var textBB = pt.textBB;\n\n var hasFlag = function(f) { return trace.textposition.indexOf(f) !== -1; };\n\n var hasBottom = hasFlag('bottom');\n var hasTop = hasFlag('top') || (opts.isHeader && !hasBottom);\n\n var anchor =\n hasTop ? 'start' :\n hasBottom ? 'end' : 'middle';\n\n var hasRight = hasFlag('right');\n var hasLeft = hasFlag('left') || opts.onPathbar;\n\n var leftToRight =\n hasLeft ? -1 :\n hasRight ? 1 : 0;\n\n var pad = trace.marker.pad;\n if(opts.isHeader) {\n x0 += pad.l - TEXTPAD;\n x1 -= pad.r - TEXTPAD;\n if(x0 >= x1) {\n var mid = (x0 + x1) / 2;\n x0 = mid;\n x1 = mid;\n }\n\n // limit the drawing area for headers\n var limY;\n if(hasBottom) {\n limY = y1 - pad.b;\n if(y0 < limY && limY < y1) y0 = limY;\n } else {\n limY = y0 + pad.t;\n if(y0 < limY && limY < y1) y1 = limY;\n }\n }\n\n // position the text relative to the slice\n var transform = toMoveInsideBar(x0, x1, y0, y1, textBB, {\n isHorizontal: false,\n constrained: true,\n angle: 0,\n anchor: anchor,\n leftToRight: leftToRight\n });\n transform.fontSize = opts.fontSize;\n\n transform.targetX = viewMapX(transform.targetX);\n transform.targetY = viewMapY(transform.targetY);\n\n if(isNaN(transform.targetX) || isNaN(transform.targetY)) {\n return {};\n }\n\n if(x0 !== x1 && y0 !== y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return {\n scale: transform.scale,\n rotate: transform.rotate,\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY\n };\n };\n\n var interpFromParent = function(pt, onPathbar) {\n var parentPrev;\n var i = 0;\n var Q = pt;\n while(!parentPrev && i < maxDepth) { // loop to find a parent/grandParent on the previous graph\n i++;\n Q = Q.parent;\n if(Q) {\n parentPrev = getPrev(Q, onPathbar);\n } else i = maxDepth;\n }\n return parentPrev || {};\n };\n\n var makeExitSliceInterpolator = function(pt, onPathbar, refRect, size) {\n var prev = getPrev(pt, onPathbar);\n var next;\n\n if(onPathbar) {\n next = pathbarOrigin;\n } else {\n var entryPrev = getPrev(entry, onPathbar);\n if(entryPrev) {\n // 'entryPrev' is here has the previous coordinates of the entry\n // node, which corresponds to the last \"clicked\" node when zooming in\n next = findClosestEdge(pt, entryPrev, size);\n } else {\n // this happens when maxdepth is set, when leaves must\n // be removed and the entry is new (i.e. does not have a 'prev' object)\n next = {};\n }\n }\n\n return d3.interpolate(prev, next);\n };\n\n var makeUpdateSliceInterpolator = function(pt, onPathbar, refRect, size) {\n var prev0 = getPrev(pt, onPathbar);\n var prev;\n\n if(prev0) {\n // if pt already on graph, this is easy\n prev = prev0;\n } else {\n // for new pts:\n if(onPathbar) {\n prev = pathbarOrigin;\n } else {\n if(prevEntry) {\n // if trace was visible before\n if(pt.parent) {\n var ref = nextOfPrevEntry || refRect;\n\n if(ref && !onPathbar) {\n prev = findClosestEdge(pt, ref, size);\n } else {\n // if new leaf (when maxdepth is set),\n // grow it from its parent node\n prev = {};\n Lib.extendFlat(prev, interpFromParent(pt, onPathbar));\n }\n } else {\n prev = pt;\n }\n } else {\n prev = {};\n }\n }\n }\n\n return d3.interpolate(prev, {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n });\n };\n\n var makeUpdateTextInterpolator = function(pt, onPathbar, refRect, size) {\n var prev0 = getPrev(pt, onPathbar);\n var prev = {};\n var origin = getOrigin(pt, onPathbar, refRect, size);\n\n Lib.extendFlat(prev, {\n transform: toMoveInsideSlice({\n x0: origin.x0,\n x1: origin.x1,\n y0: origin.y0,\n y1: origin.y1,\n textBB: pt.textBB,\n _text: pt._text\n }, {\n isHeader: helpers.isHeader(pt, trace)\n })\n });\n\n if(prev0) {\n // if pt already on graph, this is easy\n prev = prev0;\n } else {\n // for new pts:\n if(pt.parent) {\n Lib.extendFlat(prev, interpFromParent(pt, onPathbar));\n }\n }\n\n var transform = pt.transform;\n if(pt.x0 !== pt.x1 && pt.y0 !== pt.y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return d3.interpolate(prev, {\n transform: {\n scale: transform.scale,\n rotate: transform.rotate,\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY\n }\n });\n };\n\n var handleSlicesExit = function(slices, onPathbar, refRect, size, pathSlice) {\n var width = size[0];\n var height = size[1];\n\n if(hasTransition) {\n slices.exit().transition()\n .each(function() {\n var sliceTop = d3.select(this);\n\n var slicePath = sliceTop.select('path.surface');\n slicePath.transition().attrTween('d', function(pt2) {\n var interp = makeExitSliceInterpolator(pt2, onPathbar, refRect, [width, height]);\n return function(t) { return pathSlice(interp(t)); };\n });\n\n var sliceTextGroup = sliceTop.select('g.slicetext');\n sliceTextGroup.attr('opacity', 0);\n })\n .remove();\n } else {\n slices.exit().remove();\n }\n };\n\n var strTransform = function(d) {\n var transform = d.transform;\n\n if(d.x0 !== d.x1 && d.y0 !== d.y1) {\n recordMinTextSize(trace.type, transform, fullLayout);\n }\n\n return Lib.getTextTransform({\n textX: transform.textX,\n textY: transform.textY,\n anchorX: transform.anchorX,\n anchorY: transform.anchorY,\n targetX: transform.targetX,\n targetY: transform.targetY,\n scale: transform.scale,\n rotate: transform.rotate\n });\n };\n\n if(hasTransition) {\n // Important: do this before binding new sliceData!\n\n selAncestors.each(function(pt) {\n prevLookupPathbar[getKey(pt)] = {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n };\n\n if(pt.transform) {\n prevLookupPathbar[getKey(pt)].transform = {\n textX: pt.transform.textX,\n textY: pt.transform.textY,\n anchorX: pt.transform.anchorX,\n anchorY: pt.transform.anchorY,\n targetX: pt.transform.targetX,\n targetY: pt.transform.targetY,\n scale: pt.transform.scale,\n rotate: pt.transform.rotate\n };\n }\n });\n\n selDescendants.each(function(pt) {\n prevLookupSlices[getKey(pt)] = {\n x0: pt.x0,\n x1: pt.x1,\n y0: pt.y0,\n y1: pt.y1\n };\n\n if(pt.transform) {\n prevLookupSlices[getKey(pt)].transform = {\n textX: pt.transform.textX,\n textY: pt.transform.textY,\n anchorX: pt.transform.anchorX,\n anchorY: pt.transform.anchorY,\n targetX: pt.transform.targetX,\n targetY: pt.transform.targetY,\n scale: pt.transform.scale,\n rotate: pt.transform.rotate\n };\n }\n\n if(!prevEntry && helpers.isEntry(pt)) {\n prevEntry = pt;\n }\n });\n }\n\n nextOfPrevEntry = drawDescendants(gd, cd, entry, selDescendants, {\n width: vpw,\n height: vph,\n\n viewX: viewMapX,\n viewY: viewMapY,\n\n pathSlice: pathDescendant,\n toMoveInsideSlice: toMoveInsideSlice,\n\n prevEntry: prevEntry,\n makeUpdateSliceInterpolator: makeUpdateSliceInterpolator,\n makeUpdateTextInterpolator: makeUpdateTextInterpolator,\n\n handleSlicesExit: handleSlicesExit,\n hasTransition: hasTransition,\n strTransform: strTransform\n });\n\n if(trace.pathbar.visible) {\n drawAncestors(gd, cd, entry, selAncestors, {\n barDifY: barDifY,\n width: barW,\n height: barH,\n\n viewX: viewBarX,\n viewY: viewBarY,\n\n pathSlice: pathAncestor,\n toMoveInsideSlice: toMoveInsideSlice,\n\n makeUpdateSliceInterpolator: makeUpdateSliceInterpolator,\n makeUpdateTextInterpolator: makeUpdateTextInterpolator,\n\n handleSlicesExit: handleSlicesExit,\n hasTransition: hasTransition,\n strTransform: strTransform\n });\n }\n}\n\n\n/***/ }),\n\n/***/ \"5844\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n // not really a 'subplot' attribute container,\n // but this is the flag we use to denote attributes that\n // support yaxis, yaxis2, yaxis3, ... counters\n _isSubplotObj: true,\n\n rangemode: {\n valType: 'enumerated',\n values: ['auto', 'fixed', 'match'],\n dflt: 'match',\n \n editType: 'calc',\n \n },\n range: {\n valType: 'info_array',\n \n items: [\n {valType: 'any', editType: 'plot'},\n {valType: 'any', editType: 'plot'}\n ],\n editType: 'plot',\n \n },\n editType: 'calc'\n};\n\n\n/***/ }),\n\n/***/ \"5885\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n // Note: hoverOnBox property is needed for click-to-select\n // to ignore when a box was clicked. This is the reason box\n // implements this custom eventData function.\n if(pt.hoverOnBox) out.hoverOnBox = pt.hoverOnBox;\n\n if('xVal' in pt) out.x = pt.xVal;\n if('yVal' in pt) out.y = pt.yVal;\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"5913\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar numConstants = __webpack_require__(\"e806\");\nvar oneYear = numConstants.ONEAVGYEAR;\nvar oneMonth = numConstants.ONEAVGMONTH;\nvar oneDay = numConstants.ONEDAY;\nvar oneHour = numConstants.ONEHOUR;\nvar oneMin = numConstants.ONEMIN;\nvar oneSec = numConstants.ONESEC;\nvar tickIncrement = __webpack_require__(\"0642\").tickIncrement;\n\n\n/*\n * make a function that will find rounded bin edges\n * @param {number} leftGap: how far from the left edge of any bin is the closest data value?\n * @param {number} rightGap: how far from the right edge of any bin is the closest data value?\n * @param {Array[number]} binEdges: the actual edge values used in binning\n * @param {object} pa: the position axis\n * @param {string} calendar: the data calendar\n *\n * @return {function(v, isRightEdge)}:\n * find the start (isRightEdge is falsy) or end (truthy) label value for a bin edge `v`\n */\nmodule.exports = function getBinSpanLabelRound(leftGap, rightGap, binEdges, pa, calendar) {\n // the rounding digit is the largest digit that changes in *all* of 4 regions:\n // - inside the rightGap before binEdges[0] (shifted 10% to the left)\n // - inside the leftGap after binEdges[0] (expanded by 10% of rightGap on each end)\n // - same for binEdges[1]\n var dv0 = -1.1 * rightGap;\n var dv1 = -0.1 * rightGap;\n var dv2 = leftGap - dv1;\n var edge0 = binEdges[0];\n var edge1 = binEdges[1];\n var leftDigit = Math.min(\n biggestDigitChanged(edge0 + dv1, edge0 + dv2, pa, calendar),\n biggestDigitChanged(edge1 + dv1, edge1 + dv2, pa, calendar)\n );\n var rightDigit = Math.min(\n biggestDigitChanged(edge0 + dv0, edge0 + dv1, pa, calendar),\n biggestDigitChanged(edge1 + dv0, edge1 + dv1, pa, calendar)\n );\n\n // normally we try to make the label for the right edge different from\n // the left edge label, so it's unambiguous which bin gets data on the edge.\n // but if this results in more than 3 extra digits (or for dates, more than\n // 2 fields ie hr&min or min&sec, which is 3600x), it'll be more clutter than\n // useful so keep the label cleaner instead\n var digit, disambiguateEdges;\n if(leftDigit > rightDigit && rightDigit < Math.abs(edge1 - edge0) / 4000) {\n digit = leftDigit;\n disambiguateEdges = false;\n } else {\n digit = Math.min(leftDigit, rightDigit);\n disambiguateEdges = true;\n }\n\n if(pa.type === 'date' && digit > oneDay) {\n var dashExclude = (digit === oneYear) ? 1 : 6;\n var increment = (digit === oneYear) ? 'M12' : 'M1';\n\n return function(v, isRightEdge) {\n var dateStr = pa.c2d(v, oneYear, calendar);\n var dashPos = dateStr.indexOf('-', dashExclude);\n if(dashPos > 0) dateStr = dateStr.substr(0, dashPos);\n var roundedV = pa.d2c(dateStr, 0, calendar);\n\n if(roundedV < v) {\n var nextV = tickIncrement(roundedV, increment, false, calendar);\n if((roundedV + nextV) / 2 < v + leftGap) roundedV = nextV;\n }\n\n if(isRightEdge && disambiguateEdges) {\n return tickIncrement(roundedV, increment, true, calendar);\n }\n\n return roundedV;\n };\n }\n\n return function(v, isRightEdge) {\n var roundedV = digit * Math.round(v / digit);\n // if we rounded down and we could round up and still be < leftGap\n // (or what leftGap values round to), do that\n if(roundedV + (digit / 10) < v && roundedV + (digit * 0.9) < v + leftGap) {\n roundedV += digit;\n }\n // finally for the right edge back off one digit - but only if we can do that\n // and not clip off any data that's potentially in the bin\n if(isRightEdge && disambiguateEdges) {\n roundedV -= digit;\n }\n return roundedV;\n };\n};\n\n/*\n * Find the largest digit that changes within a (calcdata) region [v1, v2]\n * if dates, \"digit\" means date/time part when it's bigger than a second\n * returns the unit value to round to this digit, eg 0.01 to round to hundredths, or\n * 100 to round to hundreds. returns oneMonth or oneYear for month or year rounding,\n * so that Math.min will work, rather than 'M1' and 'M12'\n */\nfunction biggestDigitChanged(v1, v2, pa, calendar) {\n // are we crossing zero? can't say anything.\n // in principle this doesn't apply to dates but turns out this doesn't matter.\n if(v1 * v2 <= 0) return Infinity;\n\n var dv = Math.abs(v2 - v1);\n var isDate = pa.type === 'date';\n var digit = biggestGuaranteedDigitChanged(dv, isDate);\n // see if a larger digit also changed\n for(var i = 0; i < 10; i++) {\n // numbers: next digit needs to be >10x but <100x then gets rounded down.\n // dates: next digit can be as much as 60x (then rounded down)\n var nextDigit = biggestGuaranteedDigitChanged(digit * 80, isDate);\n // if we get to years, the chain stops\n if(digit === nextDigit) break;\n if(didDigitChange(nextDigit, v1, v2, isDate, pa, calendar)) digit = nextDigit;\n else break;\n }\n return digit;\n}\n\n/*\n * Find the largest digit that *definitely* changes in a region [v, v + dv] for any v\n * for nonuniform date regions (months/years) pick the largest\n */\nfunction biggestGuaranteedDigitChanged(dv, isDate) {\n if(isDate && dv > oneSec) {\n // this is supposed to be the biggest *guaranteed* change\n // so compare to the longest month and year across any calendar,\n // and we'll iterate back up later\n // note: does not support rounding larger than one year. We could add\n // that if anyone wants it, but seems unusual and not strictly necessary.\n if(dv > oneDay) {\n if(dv > oneYear * 1.1) return oneYear;\n if(dv > oneMonth * 1.1) return oneMonth;\n return oneDay;\n }\n\n if(dv > oneHour) return oneHour;\n if(dv > oneMin) return oneMin;\n return oneSec;\n }\n return Math.pow(10, Math.floor(Math.log(dv) / Math.LN10));\n}\n\nfunction didDigitChange(digit, v1, v2, isDate, pa, calendar) {\n if(isDate && digit > oneDay) {\n var dateParts1 = dateParts(v1, pa, calendar);\n var dateParts2 = dateParts(v2, pa, calendar);\n var parti = (digit === oneYear) ? 0 : 1;\n return dateParts1[parti] !== dateParts2[parti];\n }\n return Math.floor(v2 / digit) - Math.floor(v1 / digit) > 0.1;\n}\n\nfunction dateParts(v, pa, calendar) {\n var parts = pa.c2d(v, oneYear, calendar).split('-');\n if(parts[0] === '') {\n parts.unshift();\n parts[0] = '-' + parts[0];\n }\n return parts;\n}\n\n\n/***/ }),\n\n/***/ \"5928\":\n/***/ (function(module, exports) {\n\nmodule.exports = fromQuat;\n\n/**\n * Creates a matrix from a quaternion rotation.\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @returns {mat4} out\n */\nfunction fromQuat(out, q) {\n var x = q[0], y = q[1], z = q[2], w = q[3],\n x2 = x + x,\n y2 = y + y,\n z2 = z + z,\n\n xx = x * x2,\n yx = y * x2,\n yy = y * y2,\n zx = z * x2,\n zy = z * y2,\n zz = z * z2,\n wx = w * x2,\n wy = w * y2,\n wz = w * z2;\n\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n\n return out;\n};\n\n/***/ }),\n\n/***/ \"595c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n * Ben Postlethwaite\n * January 2013\n * License MIT\n */\n\n\nvar colorScale = __webpack_require__(\"9a02\");\nvar lerp = __webpack_require__(\"9b49\")\n\nmodule.exports = createColormap;\n\nfunction createColormap (spec) {\n /*\n * Default Options\n */\n var indicies, fromrgba, torgba,\n nsteps, cmap, colormap, format,\n nshades, colors, alpha, i;\n\n if ( !spec ) spec = {};\n\n nshades = (spec.nshades || 72) - 1;\n format = spec.format || 'hex';\n\n colormap = spec.colormap;\n if (!colormap) colormap = 'jet';\n\n if (typeof colormap === 'string') {\n colormap = colormap.toLowerCase();\n\n if (!colorScale[colormap]) {\n throw Error(colormap + ' not a supported colorscale');\n }\n\n cmap = colorScale[colormap];\n\n } else if (Array.isArray(colormap)) {\n cmap = colormap.slice();\n\n } else {\n throw Error('unsupported colormap option', colormap);\n }\n\n if (cmap.length > nshades + 1) {\n throw new Error(\n colormap+' map requires nshades to be at least size '+cmap.length\n );\n }\n\n if (!Array.isArray(spec.alpha)) {\n\n if (typeof spec.alpha === 'number') {\n alpha = [spec.alpha, spec.alpha];\n\n } else {\n alpha = [1, 1];\n }\n\n } else if (spec.alpha.length !== 2) {\n alpha = [1, 1];\n\n } else {\n alpha = spec.alpha.slice();\n }\n\n // map index points from 0..1 to 0..n-1\n indicies = cmap.map(function(c) {\n return Math.round(c.index * nshades);\n });\n\n // Add alpha channel to the map\n alpha[0] = Math.min(Math.max(alpha[0], 0), 1);\n alpha[1] = Math.min(Math.max(alpha[1], 0), 1);\n\n var steps = cmap.map(function(c, i) {\n var index = cmap[i].index\n\n var rgba = cmap[i].rgb.slice();\n\n // if user supplies their own map use it\n if (rgba.length === 4 && rgba[3] >= 0 && rgba[3] <= 1) {\n return rgba\n }\n rgba[3] = alpha[0] + (alpha[1] - alpha[0])*index;\n\n return rgba\n })\n\n\n /*\n * map increasing linear values between indicies to\n * linear steps in colorvalues\n */\n var colors = []\n for (i = 0; i < indicies.length-1; ++i) {\n nsteps = indicies[i+1] - indicies[i];\n fromrgba = steps[i];\n torgba = steps[i+1];\n\n for (var j = 0; j < nsteps; j++) {\n var amt = j / nsteps\n colors.push([\n Math.round(lerp(fromrgba[0], torgba[0], amt)),\n Math.round(lerp(fromrgba[1], torgba[1], amt)),\n Math.round(lerp(fromrgba[2], torgba[2], amt)),\n lerp(fromrgba[3], torgba[3], amt)\n ])\n }\n }\n\n //add 1 step as last value\n colors.push(cmap[cmap.length - 1].rgb.concat(alpha[1]))\n\n if (format === 'hex') colors = colors.map( rgb2hex );\n else if (format === 'rgbaString') colors = colors.map( rgbaStr );\n else if (format === 'float') colors = colors.map( rgb2float );\n\n return colors;\n};\n\nfunction rgb2float (rgba) {\n return [\n rgba[0] / 255,\n rgba[1] / 255,\n rgba[2] / 255,\n rgba[3]\n ]\n}\n\nfunction rgb2hex (rgba) {\n var dig, hex = '#';\n for (var i = 0; i < 3; ++i) {\n dig = rgba[i];\n dig = dig.toString(16);\n hex += ('00' + dig).substr( dig.length );\n }\n return hex;\n}\n\nfunction rgbaStr (rgba) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n\n\n/***/ }),\n\n/***/ \"59be\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleDefaults = __webpack_require__(\"4183\");\n\nmodule.exports = function lineDefaults(traceIn, traceOut, defaultColor, layout, coerce, opts) {\n var markerColor = (traceIn.marker || {}).color;\n\n coerce('line.color', defaultColor);\n\n if(hasColorscale(traceIn, 'line')) {\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: 'line.', cLetter: 'c'});\n } else {\n var lineColorDflt = (isArrayOrTypedArray(markerColor) ? false : markerColor) || defaultColor;\n coerce('line.color', lineColorDflt);\n }\n\n coerce('line.width');\n if(!(opts || {}).noDash) coerce('line.dash');\n};\n\n\n/***/ }),\n\n/***/ \"59ce\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Plots = __webpack_require__(\"bb71\");\nvar Axes = __webpack_require__(\"0642\");\nvar setConvertCartesian = __webpack_require__(\"1a40\");\nvar setConvertPolar = __webpack_require__(\"7a52\");\nvar doAutoRange = __webpack_require__(\"ce56\").doAutoRange;\nvar dragBox = __webpack_require__(\"9676\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Titles = __webpack_require__(\"1999\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\nvar clearSelect = __webpack_require__(\"1876\").clearSelect;\nvar setCursor = __webpack_require__(\"0f37\");\nvar clearGlCanvases = __webpack_require__(\"821b\");\nvar redrawReglTraces = __webpack_require__(\"a392\").redrawReglTraces;\n\nvar MID_SHIFT = __webpack_require__(\"63dc\").MID_SHIFT;\nvar constants = __webpack_require__(\"f510\");\nvar helpers = __webpack_require__(\"a60f\");\n\nvar _ = Lib._;\nvar mod = Lib.mod;\nvar deg2rad = Lib.deg2rad;\nvar rad2deg = Lib.rad2deg;\n\nfunction Polar(gd, id) {\n this.id = id;\n this.gd = gd;\n\n this._hasClipOnAxisFalse = null;\n this.vangles = null;\n this.radialAxisAngle = null;\n this.traceHash = {};\n this.layers = {};\n this.clipPaths = {};\n this.clipIds = {};\n this.viewInitial = {};\n\n var fullLayout = gd._fullLayout;\n var clipIdBase = 'clip' + fullLayout._uid + id;\n\n this.clipIds.forTraces = clipIdBase + '-for-traces';\n this.clipPaths.forTraces = fullLayout._clips.append('clipPath')\n .attr('id', this.clipIds.forTraces);\n this.clipPaths.forTraces.append('path');\n\n this.framework = fullLayout._polarlayer.append('g')\n .attr('class', id);\n\n // unfortunately, we have to keep track of some axis tick settings\n // as polar subplots do not implement the 'ticks' editType\n this.radialTickLayout = null;\n this.angularTickLayout = null;\n}\n\nvar proto = Polar.prototype;\n\nmodule.exports = function createPolar(gd, id) {\n return new Polar(gd, id);\n};\n\nproto.plot = function(polarCalcData, fullLayout) {\n var _this = this;\n var polarLayout = fullLayout[_this.id];\n\n _this._hasClipOnAxisFalse = false;\n for(var i = 0; i < polarCalcData.length; i++) {\n var trace = polarCalcData[i][0].trace;\n if(trace.cliponaxis === false) {\n _this._hasClipOnAxisFalse = true;\n break;\n }\n }\n\n _this.updateLayers(fullLayout, polarLayout);\n _this.updateLayout(fullLayout, polarLayout);\n Plots.generalUpdatePerTraceModule(_this.gd, _this, polarCalcData, polarLayout);\n _this.updateFx(fullLayout, polarLayout);\n};\n\nproto.updateLayers = function(fullLayout, polarLayout) {\n var _this = this;\n var layers = _this.layers;\n var radialLayout = polarLayout.radialaxis;\n var angularLayout = polarLayout.angularaxis;\n var layerNames = constants.layerNames;\n\n var frontPlotIndex = layerNames.indexOf('frontplot');\n var layerData = layerNames.slice(0, frontPlotIndex);\n var isAngularAxisBelowTraces = angularLayout.layer === 'below traces';\n var isRadialAxisBelowTraces = radialLayout.layer === 'below traces';\n\n if(isAngularAxisBelowTraces) layerData.push('angular-line');\n if(isRadialAxisBelowTraces) layerData.push('radial-line');\n if(isAngularAxisBelowTraces) layerData.push('angular-axis');\n if(isRadialAxisBelowTraces) layerData.push('radial-axis');\n\n layerData.push('frontplot');\n\n if(!isAngularAxisBelowTraces) layerData.push('angular-line');\n if(!isRadialAxisBelowTraces) layerData.push('radial-line');\n if(!isAngularAxisBelowTraces) layerData.push('angular-axis');\n if(!isRadialAxisBelowTraces) layerData.push('radial-axis');\n\n var join = _this.framework.selectAll('.polarsublayer')\n .data(layerData, String);\n\n join.enter().append('g')\n .attr('class', function(d) { return 'polarsublayer ' + d;})\n .each(function(d) {\n var sel = layers[d] = d3.select(this);\n\n switch(d) {\n case 'frontplot':\n // TODO add option to place in 'backplot' layer??\n sel.append('g').classed('barlayer', true);\n sel.append('g').classed('scatterlayer', true);\n break;\n case 'backplot':\n sel.append('g').classed('maplayer', true);\n break;\n case 'plotbg':\n layers.bg = sel.append('path');\n break;\n case 'radial-grid':\n sel.style('fill', 'none');\n break;\n case 'angular-grid':\n sel.style('fill', 'none');\n break;\n case 'radial-line':\n sel.append('line').style('fill', 'none');\n break;\n case 'angular-line':\n sel.append('path').style('fill', 'none');\n break;\n }\n });\n\n join.order();\n};\n\n/* Polar subplots juggle with 6 'axis objects' (!), these are:\n *\n * - polarLayout.radialaxis (aka radialLayout in this file):\n * - polarLayout.angularaxis (aka angularLayout in this file):\n * used for data -> calcdata conversions (aka d2c) during the calc step\n *\n * - this.radialAxis\n * extends polarLayout.radialaxis, adds mocked 'domain' and\n * few other keys in order to reuse Cartesian doAutoRange and the Axes\n * drawing routines.\n * used for calcdata -> geometric conversions (aka c2g) during the plot step\n * + setGeometry setups ax.c2g for given ax.range\n * + setScale setups ax._m,ax._b for given ax.range\n *\n * - this.angularAxis\n * extends polarLayout.angularaxis, adds mocked 'range' and 'domain' and\n * a few other keys in order to reuse the Axes drawing routines.\n * used for calcdata -> geometric conversions (aka c2g) during the plot step\n * + setGeometry setups ax.c2g given ax.rotation, ax.direction & ax._categories,\n * and mocks ax.range\n * + setScale setups ax._m,ax._b with that mocked ax.range\n *\n * - this.xaxis\n * - this.yaxis\n * setup so that polar traces can reuse plot methods of Cartesian traces\n * which mostly rely on 2pixel methods (e.g ax.c2p)\n */\nproto.updateLayout = function(fullLayout, polarLayout) {\n var _this = this;\n var layers = _this.layers;\n var gs = fullLayout._size;\n\n // axis attributes\n var radialLayout = polarLayout.radialaxis;\n var angularLayout = polarLayout.angularaxis;\n // layout domains\n var xDomain = polarLayout.domain.x;\n var yDomain = polarLayout.domain.y;\n // offsets from paper edge to layout domain box\n _this.xOffset = gs.l + gs.w * xDomain[0];\n _this.yOffset = gs.t + gs.h * (1 - yDomain[1]);\n // lengths of the layout domain box\n var xLength = _this.xLength = gs.w * (xDomain[1] - xDomain[0]);\n var yLength = _this.yLength = gs.h * (yDomain[1] - yDomain[0]);\n // sector to plot\n var sector = polarLayout.sector;\n _this.sectorInRad = sector.map(deg2rad);\n var sectorBBox = _this.sectorBBox = computeSectorBBox(sector);\n var dxSectorBBox = sectorBBox[2] - sectorBBox[0];\n var dySectorBBox = sectorBBox[3] - sectorBBox[1];\n // aspect ratios\n var arDomain = yLength / xLength;\n var arSector = Math.abs(dySectorBBox / dxSectorBBox);\n // actual lengths and domains of subplot box\n var xLength2, yLength2;\n var xDomain2, yDomain2;\n var gap;\n if(arDomain > arSector) {\n xLength2 = xLength;\n yLength2 = xLength * arSector;\n gap = (yLength - yLength2) / gs.h / 2;\n xDomain2 = [xDomain[0], xDomain[1]];\n yDomain2 = [yDomain[0] + gap, yDomain[1] - gap];\n } else {\n xLength2 = yLength / arSector;\n yLength2 = yLength;\n gap = (xLength - xLength2) / gs.w / 2;\n xDomain2 = [xDomain[0] + gap, xDomain[1] - gap];\n yDomain2 = [yDomain[0], yDomain[1]];\n }\n _this.xLength2 = xLength2;\n _this.yLength2 = yLength2;\n _this.xDomain2 = xDomain2;\n _this.yDomain2 = yDomain2;\n // actual offsets from paper edge to the subplot box top-left corner\n var xOffset2 = _this.xOffset2 = gs.l + gs.w * xDomain2[0];\n var yOffset2 = _this.yOffset2 = gs.t + gs.h * (1 - yDomain2[1]);\n // circle radius in px\n var radius = _this.radius = xLength2 / dxSectorBBox;\n // 'inner' radius in px (when polar.hole is set)\n var innerRadius = _this.innerRadius = polarLayout.hole * radius;\n // circle center position in px\n var cx = _this.cx = xOffset2 - radius * sectorBBox[0];\n var cy = _this.cy = yOffset2 + radius * sectorBBox[3];\n // circle center in the coordinate system of plot area\n var cxx = _this.cxx = cx - xOffset2;\n var cyy = _this.cyy = cy - yOffset2;\n\n _this.radialAxis = _this.mockAxis(fullLayout, polarLayout, radialLayout, {\n // make this an 'x' axis to make positioning (especially rotation) easier\n _id: 'x',\n // convert to 'x' axis equivalent\n side: {\n counterclockwise: 'top',\n clockwise: 'bottom'\n }[radialLayout.side],\n // spans length 1 radius\n domain: [innerRadius / gs.w, radius / gs.w]\n });\n\n _this.angularAxis = _this.mockAxis(fullLayout, polarLayout, angularLayout, {\n side: 'right',\n // to get auto nticks right\n domain: [0, Math.PI],\n // don't pass through autorange logic\n autorange: false\n });\n\n _this.doAutoRange(fullLayout, polarLayout);\n // N.B. this sets _this.vangles\n _this.updateAngularAxis(fullLayout, polarLayout);\n // N.B. this sets _this.radialAxisAngle\n _this.updateRadialAxis(fullLayout, polarLayout);\n _this.updateRadialAxisTitle(fullLayout, polarLayout);\n\n _this.xaxis = _this.mockCartesianAxis(fullLayout, polarLayout, {\n _id: 'x',\n domain: xDomain2\n });\n\n _this.yaxis = _this.mockCartesianAxis(fullLayout, polarLayout, {\n _id: 'y',\n domain: yDomain2\n });\n\n var dPath = _this.pathSubplot();\n\n _this.clipPaths.forTraces.select('path')\n .attr('d', dPath)\n .attr('transform', strTranslate(cxx, cyy));\n\n layers.frontplot\n .attr('transform', strTranslate(xOffset2, yOffset2))\n .call(Drawing.setClipUrl, _this._hasClipOnAxisFalse ? null : _this.clipIds.forTraces, _this.gd);\n\n layers.bg\n .attr('d', dPath)\n .attr('transform', strTranslate(cx, cy))\n .call(Color.fill, polarLayout.bgcolor);\n};\n\nproto.mockAxis = function(fullLayout, polarLayout, axLayout, opts) {\n var ax = Lib.extendFlat({}, axLayout, opts);\n setConvertPolar(ax, polarLayout, fullLayout);\n return ax;\n};\n\nproto.mockCartesianAxis = function(fullLayout, polarLayout, opts) {\n var _this = this;\n var axId = opts._id;\n\n var ax = Lib.extendFlat({type: 'linear'}, opts);\n setConvertCartesian(ax, fullLayout);\n\n var bboxIndices = {\n x: [0, 2],\n y: [1, 3]\n };\n\n ax.setRange = function() {\n var sectorBBox = _this.sectorBBox;\n var ind = bboxIndices[axId];\n var rl = _this.radialAxis._rl;\n var drl = (rl[1] - rl[0]) / (1 - polarLayout.hole);\n ax.range = [sectorBBox[ind[0]] * drl, sectorBBox[ind[1]] * drl];\n };\n\n ax.isPtWithinRange = axId === 'x' ?\n function(d) { return _this.isPtInside(d); } :\n function() { return true; };\n\n ax.setRange();\n ax.setScale();\n return ax;\n};\n\nproto.doAutoRange = function(fullLayout, polarLayout) {\n var gd = this.gd;\n var radialAxis = this.radialAxis;\n var radialLayout = polarLayout.radialaxis;\n\n radialAxis.setScale();\n doAutoRange(gd, radialAxis);\n\n var rng = radialAxis.range;\n radialLayout.range = rng.slice();\n radialLayout._input.range = rng.slice();\n\n radialAxis._rl = [\n radialAxis.r2l(rng[0], null, 'gregorian'),\n radialAxis.r2l(rng[1], null, 'gregorian')\n ];\n};\n\nproto.updateRadialAxis = function(fullLayout, polarLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialLayout = polarLayout.radialaxis;\n var a0 = mod(polarLayout.sector[0], 360);\n var ax = _this.radialAxis;\n var hasRoomForIt = innerRadius < radius;\n\n _this.fillViewInitialKey('radialaxis.angle', radialLayout.angle);\n _this.fillViewInitialKey('radialaxis.range', ax.range.slice());\n\n ax.setGeometry();\n\n // rotate auto tick labels by 180 if in quadrant II and III to make them\n // readable from left-to-right\n //\n // TODO try moving deeper in Axes.drawLabels for better results?\n if(ax.tickangle === 'auto' && (a0 > 90 && a0 <= 270)) {\n ax.tickangle = 180;\n }\n\n // easier to set rotate angle with custom translate function\n var transFn = function(d) {\n return 'translate(' + (ax.l2p(d.x) + innerRadius) + ',0)';\n };\n\n // set special grid path function\n var gridPathFn = function(d) {\n return _this.pathArc(ax.r2p(d.x) + innerRadius);\n };\n\n var newTickLayout = strTickLayout(radialLayout);\n if(_this.radialTickLayout !== newTickLayout) {\n layers['radial-axis'].selectAll('.xtick').remove();\n _this.radialTickLayout = newTickLayout;\n }\n\n if(hasRoomForIt) {\n ax.setScale();\n\n var vals = Axes.calcTicks(ax);\n var valsClipped = Axes.clipEnds(ax, vals);\n var tickSign = Axes.getTickSigns(ax)[2];\n\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: layers['radial-axis'],\n path: Axes.makeTickPath(ax, 0, tickSign),\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: valsClipped,\n layer: layers['radial-grid'],\n path: gridPathFn,\n transFn: Lib.noop,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: layers['radial-axis'],\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, 0)\n });\n }\n\n // stash 'actual' radial axis angle for drag handlers (in degrees)\n var angle = _this.radialAxisAngle = _this.vangles ?\n rad2deg(snapToVertexAngle(deg2rad(radialLayout.angle), _this.vangles)) :\n radialLayout.angle;\n\n var tLayer = strTranslate(cx, cy);\n var tLayer2 = tLayer + strRotate(-angle);\n\n updateElement(\n layers['radial-axis'],\n hasRoomForIt && (radialLayout.showticklabels || radialLayout.ticks),\n {transform: tLayer2}\n );\n\n updateElement(\n layers['radial-grid'],\n hasRoomForIt && radialLayout.showgrid,\n {transform: tLayer}\n );\n\n updateElement(\n layers['radial-line'].select('line'),\n hasRoomForIt && radialLayout.showline,\n {\n x1: innerRadius,\n y1: 0,\n x2: radius,\n y2: 0,\n transform: tLayer2\n }\n )\n .attr('stroke-width', radialLayout.linewidth)\n .call(Color.stroke, radialLayout.linecolor);\n};\n\nproto.updateRadialAxisTitle = function(fullLayout, polarLayout, _angle) {\n var _this = this;\n var gd = _this.gd;\n var radius = _this.radius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialLayout = polarLayout.radialaxis;\n var titleClass = _this.id + 'title';\n\n var angle = _angle !== undefined ? _angle : _this.radialAxisAngle;\n var angleRad = deg2rad(angle);\n var cosa = Math.cos(angleRad);\n var sina = Math.sin(angleRad);\n\n var pad = 0;\n\n // Hint: no need to check if there is in fact a title.text set\n // because if plot is editable, pad needs to be calculated anyways\n // to properly show placeholder text when title is empty.\n if(radialLayout.title) {\n var h = Drawing.bBox(_this.layers['radial-axis'].node()).height;\n var ts = radialLayout.title.font.size;\n pad = radialLayout.side === 'counterclockwise' ?\n -h - ts * 0.4 :\n h + ts * 0.8;\n }\n\n _this.layers['radial-axis-title'] = Titles.draw(gd, titleClass, {\n propContainer: radialLayout,\n propName: _this.id + '.radialaxis.title',\n placeholder: _(gd, 'Click to enter radial axis title'),\n attributes: {\n x: cx + (radius / 2) * cosa + pad * sina,\n y: cy - (radius / 2) * sina + pad * cosa,\n 'text-anchor': 'middle'\n },\n transform: {rotate: -angle}\n });\n};\n\nproto.updateAngularAxis = function(fullLayout, polarLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var angularLayout = polarLayout.angularaxis;\n var ax = _this.angularAxis;\n\n _this.fillViewInitialKey('angularaxis.rotation', angularLayout.rotation);\n\n ax.setGeometry();\n ax.setScale();\n\n // 't'ick to 'g'eometric radians is used all over the place here\n var t2g = function(d) { return ax.t2g(d.x); };\n\n // run rad2deg on tick0 and ditck for thetaunit: 'radians' axes\n if(ax.type === 'linear' && ax.thetaunit === 'radians') {\n ax.tick0 = rad2deg(ax.tick0);\n ax.dtick = rad2deg(ax.dtick);\n }\n\n var _transFn = function(rad) {\n return strTranslate(cx + radius * Math.cos(rad), cy - radius * Math.sin(rad));\n };\n\n var transFn = function(d) {\n return _transFn(t2g(d));\n };\n\n var transFn2 = function(d) {\n var rad = t2g(d);\n return _transFn(rad) + strRotate(-rad2deg(rad));\n };\n\n var gridPathFn = function(d) {\n var rad = t2g(d);\n var cosRad = Math.cos(rad);\n var sinRad = Math.sin(rad);\n return 'M' + [cx + innerRadius * cosRad, cy - innerRadius * sinRad] +\n 'L' + [cx + radius * cosRad, cy - radius * sinRad];\n };\n\n var out = Axes.makeLabelFns(ax, 0);\n var labelStandoff = out.labelStandoff;\n var labelFns = {};\n\n labelFns.xFn = function(d) {\n var rad = t2g(d);\n return Math.cos(rad) * labelStandoff;\n };\n\n labelFns.yFn = function(d) {\n var rad = t2g(d);\n var ff = Math.sin(rad) > 0 ? 0.2 : 1;\n return -Math.sin(rad) * (labelStandoff + d.fontSize * ff) +\n Math.abs(Math.cos(rad)) * (d.fontSize * MID_SHIFT);\n };\n\n labelFns.anchorFn = function(d) {\n var rad = t2g(d);\n var cos = Math.cos(rad);\n return Math.abs(cos) < 0.1 ?\n 'middle' :\n (cos > 0 ? 'start' : 'end');\n };\n\n labelFns.heightFn = function(d, a, h) {\n var rad = t2g(d);\n return -0.5 * (1 + Math.sin(rad)) * h;\n };\n\n var newTickLayout = strTickLayout(angularLayout);\n if(_this.angularTickLayout !== newTickLayout) {\n layers['angular-axis'].selectAll('.' + ax._id + 'tick').remove();\n _this.angularTickLayout = newTickLayout;\n }\n\n var vals = Axes.calcTicks(ax);\n\n // angle of polygon vertices in geometric radians (null means circles)\n // TODO what to do when ax.period > ax._categories ??\n var vangles;\n if(polarLayout.gridshape === 'linear') {\n vangles = vals.map(t2g);\n\n // ax._vals should be always ordered, make them\n // always turn counterclockwise for convenience here\n if(Lib.angleDelta(vangles[0], vangles[1]) < 0) {\n vangles = vangles.slice().reverse();\n }\n } else {\n vangles = null;\n }\n _this.vangles = vangles;\n\n // Use tickval filter for category axes instead of tweaking\n // the range w.r.t sector, so that sectors that cross 360 can\n // show all their ticks.\n if(ax.type === 'category') {\n vals = vals.filter(function(d) {\n return Lib.isAngleInsideSector(t2g(d), _this.sectorInRad);\n });\n }\n\n if(ax.visible) {\n var tickSign = ax.ticks === 'inside' ? -1 : 1;\n var pad = (ax.linewidth || 1) / 2;\n\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: layers['angular-axis'],\n path: 'M' + (tickSign * pad) + ',0h' + (tickSign * ax.ticklen),\n transFn: transFn2,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: vals,\n layer: layers['angular-grid'],\n path: gridPathFn,\n transFn: Lib.noop,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: layers['angular-axis'],\n repositionOnUpdate: true,\n transFn: transFn,\n labelFns: labelFns\n });\n }\n\n // TODO maybe two arcs is better here?\n // maybe split style attributes between inner and outer angular axes?\n\n updateElement(layers['angular-line'].select('path'), angularLayout.showline, {\n d: _this.pathSubplot(),\n transform: strTranslate(cx, cy)\n })\n .attr('stroke-width', angularLayout.linewidth)\n .call(Color.stroke, angularLayout.linecolor);\n};\n\nproto.updateFx = function(fullLayout, polarLayout) {\n if(!this.gd._context.staticPlot) {\n this.updateAngularDrag(fullLayout);\n this.updateRadialDrag(fullLayout, polarLayout, 0);\n this.updateRadialDrag(fullLayout, polarLayout, 1);\n this.updateMainDrag(fullLayout);\n }\n};\n\nproto.updateMainDrag = function(fullLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var zoomlayer = fullLayout._zoomlayer;\n var MINZOOM = constants.MINZOOM;\n var OFFEDGE = constants.OFFEDGE;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var cxx = _this.cxx;\n var cyy = _this.cyy;\n var sectorInRad = _this.sectorInRad;\n var vangles = _this.vangles;\n var radialAxis = _this.radialAxis;\n var clampTiny = helpers.clampTiny;\n var findXYatLength = helpers.findXYatLength;\n var findEnclosingVertexAngles = helpers.findEnclosingVertexAngles;\n var chw = constants.cornerHalfWidth;\n var chl = constants.cornerLen / 2;\n\n var mainDrag = dragBox.makeDragger(layers, 'path', 'maindrag', 'crosshair');\n\n d3.select(mainDrag)\n .attr('d', _this.pathSubplot())\n .attr('transform', strTranslate(cx, cy));\n\n var dragOpts = {\n element: mainDrag,\n gd: gd,\n subplot: _this.id,\n plotinfo: {\n id: _this.id,\n xaxis: _this.xaxis,\n yaxis: _this.yaxis\n },\n xaxes: [_this.xaxis],\n yaxes: [_this.yaxis]\n };\n\n // mouse px position at drag start (0), move (1)\n var x0, y0;\n // radial distance from circle center at drag start (0), move (1)\n var r0, r1;\n // zoombox persistent quantities\n var path0, dimmed, lum;\n // zoombox, corners elements\n var zb, corners;\n\n function norm(x, y) {\n return Math.sqrt(x * x + y * y);\n }\n\n function xy2r(x, y) {\n return norm(x - cxx, y - cyy);\n }\n\n function xy2a(x, y) {\n return Math.atan2(cyy - y, x - cxx);\n }\n\n function ra2xy(r, a) {\n return [r * Math.cos(a), r * Math.sin(-a)];\n }\n\n function pathCorner(r, a) {\n if(r === 0) return _this.pathSector(2 * chw);\n\n var da = chl / r;\n var am = a - da;\n var ap = a + da;\n var rb = Math.max(0, Math.min(r, radius));\n var rm = rb - chw;\n var rp = rb + chw;\n\n return 'M' + ra2xy(rm, am) +\n 'A' + [rm, rm] + ' 0,0,0 ' + ra2xy(rm, ap) +\n 'L' + ra2xy(rp, ap) +\n 'A' + [rp, rp] + ' 0,0,1 ' + ra2xy(rp, am) +\n 'Z';\n }\n\n // (x,y) is the pt at middle of the va0 <-> va1 edge\n //\n // ... we could eventually add another mode for cursor\n // angles 'close to' enough to a particular vertex.\n function pathCornerForPolygons(r, va0, va1) {\n if(r === 0) return _this.pathSector(2 * chw);\n\n var xy0 = ra2xy(r, va0);\n var xy1 = ra2xy(r, va1);\n var x = clampTiny((xy0[0] + xy1[0]) / 2);\n var y = clampTiny((xy0[1] + xy1[1]) / 2);\n var innerPts, outerPts;\n\n if(x && y) {\n var m = y / x;\n var mperp = -1 / m;\n var midPts = findXYatLength(chw, m, x, y);\n innerPts = findXYatLength(chl, mperp, midPts[0][0], midPts[0][1]);\n outerPts = findXYatLength(chl, mperp, midPts[1][0], midPts[1][1]);\n } else {\n var dx, dy;\n if(y) {\n // horizontal handles\n dx = chl;\n dy = chw;\n } else {\n // vertical handles\n dx = chw;\n dy = chl;\n }\n innerPts = [[x - dx, y - dy], [x + dx, y - dy]];\n outerPts = [[x - dx, y + dy], [x + dx, y + dy]];\n }\n\n return 'M' + innerPts.join('L') +\n 'L' + outerPts.reverse().join('L') + 'Z';\n }\n\n function zoomPrep() {\n r0 = null;\n r1 = null;\n path0 = _this.pathSubplot();\n dimmed = false;\n\n var polarLayoutNow = gd._fullLayout[_this.id];\n lum = tinycolor(polarLayoutNow.bgcolor).getLuminance();\n\n zb = dragBox.makeZoombox(zoomlayer, lum, cx, cy, path0);\n zb.attr('fill-rule', 'evenodd');\n corners = dragBox.makeCorners(zoomlayer, cx, cy);\n clearSelect(gd);\n }\n\n // N.B. this sets scoped 'r0' and 'r1'\n // return true if 'valid' zoom distance, false otherwise\n function clampAndSetR0R1(rr0, rr1) {\n rr1 = Math.max(Math.min(rr1, radius), innerRadius);\n\n // starting or ending drag near center (outer edge),\n // clamps radial distance at origin (at r=radius)\n if(rr0 < OFFEDGE) rr0 = 0;\n else if((radius - rr0) < OFFEDGE) rr0 = radius;\n else if(rr1 < OFFEDGE) rr1 = 0;\n else if((radius - rr1) < OFFEDGE) rr1 = radius;\n\n // make sure r0 < r1,\n // to get correct fill pattern in path1 below\n if(Math.abs(rr1 - rr0) > MINZOOM) {\n if(rr0 < rr1) {\n r0 = rr0;\n r1 = rr1;\n } else {\n r0 = rr1;\n r1 = rr0;\n }\n return true;\n } else {\n r0 = null;\n r1 = null;\n return false;\n }\n }\n\n function applyZoomMove(path1, cpath) {\n path1 = path1 || path0;\n cpath = cpath || 'M0,0Z';\n\n zb.attr('d', path1);\n corners.attr('d', cpath);\n dragBox.transitionZoombox(zb, corners, dimmed, lum);\n dimmed = true;\n\n var updateObj = {};\n computeZoomUpdates(updateObj);\n gd.emit('plotly_relayouting', updateObj);\n }\n\n function zoomMove(dx, dy) {\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var rr0 = xy2r(x0, y0);\n var rr1 = Math.min(xy2r(x1, y1), radius);\n var a0 = xy2a(x0, y0);\n var path1;\n var cpath;\n\n if(clampAndSetR0R1(rr0, rr1)) {\n path1 = path0 + _this.pathSector(r1);\n if(r0) path1 += _this.pathSector(r0);\n // keep 'starting' angle\n cpath = pathCorner(r0, a0) + pathCorner(r1, a0);\n }\n applyZoomMove(path1, cpath);\n }\n\n function findPolygonRadius(x, y, va0, va1) {\n var xy = helpers.findIntersectionXY(va0, va1, va0, [x - cxx, cyy - y]);\n return norm(xy[0], xy[1]);\n }\n\n function zoomMoveForPolygons(dx, dy) {\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var a0 = xy2a(x0, y0);\n var a1 = xy2a(x1, y1);\n var vangles0 = findEnclosingVertexAngles(a0, vangles);\n var vangles1 = findEnclosingVertexAngles(a1, vangles);\n var rr0 = findPolygonRadius(x0, y0, vangles0[0], vangles0[1]);\n var rr1 = Math.min(findPolygonRadius(x1, y1, vangles1[0], vangles1[1]), radius);\n var path1;\n var cpath;\n\n if(clampAndSetR0R1(rr0, rr1)) {\n path1 = path0 + _this.pathSector(r1);\n if(r0) path1 += _this.pathSector(r0);\n // keep 'starting' angle here too\n cpath = [\n pathCornerForPolygons(r0, vangles0[0], vangles0[1]),\n pathCornerForPolygons(r1, vangles0[0], vangles0[1])\n ].join(' ');\n }\n applyZoomMove(path1, cpath);\n }\n\n function zoomDone() {\n dragBox.removeZoombox(gd);\n\n if(r0 === null || r1 === null) return;\n var updateObj = {};\n computeZoomUpdates(updateObj);\n\n dragBox.showDoubleClickNotifier(gd);\n\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n function computeZoomUpdates(update) {\n var rl = radialAxis._rl;\n var m = (rl[1] - rl[0]) / (1 - innerRadius / radius) / radius;\n var newRng = [\n rl[0] + (r0 - innerRadius) * m,\n rl[0] + (r1 - innerRadius) * m\n ];\n update[_this.id + '.radialaxis.range'] = newRng;\n }\n\n function zoomClick(numClicks, evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n dragBox.removeZoombox(gd);\n\n // TODO double once vs twice logic (autorange vs fixed range)\n if(numClicks === 2) {\n var updateObj = {};\n for(var k in _this.viewInitial) {\n updateObj[_this.id + '.' + k] = _this.viewInitial[k];\n }\n\n gd.emit('plotly_doubleclick', null);\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n if(clickMode.indexOf('select') > -1 && numClicks === 1) {\n selectOnClick(evt, gd, [_this.xaxis], [_this.yaxis], _this.id, dragOpts);\n }\n\n if(clickMode.indexOf('event') > -1) {\n Fx.click(gd, evt, _this.id);\n }\n }\n\n dragOpts.prepFn = function(evt, startX, startY) {\n var dragModeNow = gd._fullLayout.dragmode;\n\n var bbox = mainDrag.getBoundingClientRect();\n x0 = startX - bbox.left;\n y0 = startY - bbox.top;\n\n // need to offset x/y as bbox center does not\n // match origin for asymmetric polygons\n if(vangles) {\n var offset = helpers.findPolygonOffset(radius, sectorInRad[0], sectorInRad[1], vangles);\n x0 += cxx + offset[0];\n y0 += cyy + offset[1];\n }\n\n switch(dragModeNow) {\n case 'zoom':\n if(vangles) {\n dragOpts.moveFn = zoomMoveForPolygons;\n } else {\n dragOpts.moveFn = zoomMove;\n }\n dragOpts.clickFn = zoomClick;\n dragOpts.doneFn = zoomDone;\n zoomPrep(evt, startX, startY);\n break;\n case 'select':\n case 'lasso':\n prepSelect(evt, startX, startY, dragOpts, dragModeNow);\n break;\n }\n };\n\n mainDrag.onmousemove = function(evt) {\n Fx.hover(gd, evt, _this.id);\n gd._fullLayout._lasthover = mainDrag;\n gd._fullLayout._hoversubplot = _this.id;\n };\n\n mainDrag.onmouseout = function(evt) {\n if(gd._dragging) return;\n dragElement.unhover(gd, evt);\n };\n\n dragElement.init(dragOpts);\n};\n\nproto.updateRadialDrag = function(fullLayout, polarLayout, rngIndex) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var innerRadius = _this.innerRadius;\n var cx = _this.cx;\n var cy = _this.cy;\n var radialAxis = _this.radialAxis;\n var bl = constants.radialDragBoxSize;\n var bl2 = bl / 2;\n\n if(!radialAxis.visible) return;\n\n var angle0 = deg2rad(_this.radialAxisAngle);\n var rl = radialAxis._rl;\n var rl0 = rl[0];\n var rl1 = rl[1];\n var rbase = rl[rngIndex];\n var m = 0.75 * (rl[1] - rl[0]) / (1 - polarLayout.hole) / radius;\n\n var tx, ty, className;\n if(rngIndex) {\n tx = cx + (radius + bl2) * Math.cos(angle0);\n ty = cy - (radius + bl2) * Math.sin(angle0);\n className = 'radialdrag';\n } else {\n // the 'inner' box can get called:\n // - when polar.hole>0\n // - when polar.sector isn't a full circle\n // otherwise it is hidden behind the main drag.\n tx = cx + (innerRadius - bl2) * Math.cos(angle0);\n ty = cy - (innerRadius - bl2) * Math.sin(angle0);\n className = 'radialdrag-inner';\n }\n\n var radialDrag = dragBox.makeRectDragger(layers, className, 'crosshair', -bl2, -bl2, bl, bl);\n var dragOpts = {element: radialDrag, gd: gd};\n\n updateElement(d3.select(radialDrag), radialAxis.visible && innerRadius < radius, {\n transform: strTranslate(tx, ty)\n });\n\n // move function (either rotate or re-range flavor)\n var moveFn2;\n // rotate angle on done\n var angle1;\n // re-range range[1] (or range[0]) on done\n var rprime;\n\n function moveFn(dx, dy) {\n if(moveFn2) {\n moveFn2(dx, dy);\n } else {\n var dvec = [dx, -dy];\n var rvec = [Math.cos(angle0), Math.sin(angle0)];\n var comp = Math.abs(Lib.dot(dvec, rvec) / Math.sqrt(Lib.dot(dvec, dvec)));\n\n // mostly perpendicular motions rotate,\n // mostly parallel motions re-range\n if(!isNaN(comp)) {\n moveFn2 = comp < 0.5 ? rotateMove : rerangeMove;\n }\n }\n\n var update = {};\n computeRadialAxisUpdates(update);\n gd.emit('plotly_relayouting', update);\n }\n\n function computeRadialAxisUpdates(update) {\n if(angle1 !== null) {\n update[_this.id + '.radialaxis.angle'] = angle1;\n } else if(rprime !== null) {\n update[_this.id + '.radialaxis.range[' + rngIndex + ']'] = rprime;\n }\n }\n\n function doneFn() {\n if(angle1 !== null) {\n Registry.call('_guiRelayout', gd, _this.id + '.radialaxis.angle', angle1);\n } else if(rprime !== null) {\n Registry.call('_guiRelayout', gd, _this.id + '.radialaxis.range[' + rngIndex + ']', rprime);\n }\n }\n\n function rotateMove(dx, dy) {\n // disable for inner drag boxes\n if(rngIndex === 0) return;\n\n var x1 = tx + dx;\n var y1 = ty + dy;\n\n angle1 = Math.atan2(cy - y1, x1 - cx);\n if(_this.vangles) angle1 = snapToVertexAngle(angle1, _this.vangles);\n angle1 = rad2deg(angle1);\n\n var transform = strTranslate(cx, cy) + strRotate(-angle1);\n layers['radial-axis'].attr('transform', transform);\n layers['radial-line'].select('line').attr('transform', transform);\n\n var fullLayoutNow = _this.gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n _this.updateRadialAxisTitle(fullLayoutNow, polarLayoutNow, angle1);\n }\n\n function rerangeMove(dx, dy) {\n // project (dx, dy) unto unit radial axis vector\n var dr = Lib.dot([dx, -dy], [Math.cos(angle0), Math.sin(angle0)]);\n rprime = rbase - m * dr;\n\n // make sure rprime does not change the range[0] -> range[1] sign\n if((m > 0) !== (rngIndex ? rprime > rl0 : rprime < rl1)) {\n rprime = null;\n return;\n }\n\n var fullLayoutNow = gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n\n // update radial range -> update c2g -> update _m,_b\n radialAxis.range[rngIndex] = rprime;\n radialAxis._rl[rngIndex] = rprime;\n _this.updateRadialAxis(fullLayoutNow, polarLayoutNow);\n\n _this.xaxis.setRange();\n _this.xaxis.setScale();\n _this.yaxis.setRange();\n _this.yaxis.setScale();\n\n var hasRegl = false;\n\n for(var traceType in _this.traceHash) {\n var moduleCalcData = _this.traceHash[traceType];\n var moduleCalcDataVisible = Lib.filterVisible(moduleCalcData);\n var _module = moduleCalcData[0][0].trace._module;\n _module.plot(gd, _this, moduleCalcDataVisible, polarLayoutNow);\n if(Registry.traceIs(traceType, 'gl') && moduleCalcDataVisible.length) hasRegl = true;\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n }\n\n dragOpts.prepFn = function() {\n moveFn2 = null;\n angle1 = null;\n rprime = null;\n\n dragOpts.moveFn = moveFn;\n dragOpts.doneFn = doneFn;\n\n clearSelect(gd);\n };\n\n dragOpts.clampFn = function(dx, dy) {\n if(Math.sqrt(dx * dx + dy * dy) < constants.MINDRAG) {\n dx = 0;\n dy = 0;\n }\n return [dx, dy];\n };\n\n dragElement.init(dragOpts);\n};\n\nproto.updateAngularDrag = function(fullLayout) {\n var _this = this;\n var gd = _this.gd;\n var layers = _this.layers;\n var radius = _this.radius;\n var angularAxis = _this.angularAxis;\n var cx = _this.cx;\n var cy = _this.cy;\n var cxx = _this.cxx;\n var cyy = _this.cyy;\n var dbs = constants.angularDragBoxSize;\n\n var angularDrag = dragBox.makeDragger(layers, 'path', 'angulardrag', 'move');\n var dragOpts = {element: angularDrag, gd: gd};\n\n d3.select(angularDrag)\n .attr('d', _this.pathAnnulus(radius, radius + dbs))\n .attr('transform', strTranslate(cx, cy))\n .call(setCursor, 'move');\n\n function xy2a(x, y) {\n return Math.atan2(cyy + dbs - y, x - cxx - dbs);\n }\n\n // scatter trace, points and textpoints selections\n var scatterTraces = layers.frontplot.select('.scatterlayer').selectAll('.trace');\n var scatterPoints = scatterTraces.selectAll('.point');\n var scatterTextPoints = scatterTraces.selectAll('.textpoint');\n\n // mouse px position at drag start (0), move (1)\n var x0, y0;\n // angular axis angle rotation at drag start (0), move (1)\n var rot0, rot1;\n // induced radial axis rotation (only used on polygon grids)\n var rrot1;\n // angle about circle center at drag start\n var a0;\n\n function moveFn(dx, dy) {\n var fullLayoutNow = _this.gd._fullLayout;\n var polarLayoutNow = fullLayoutNow[_this.id];\n\n var x1 = x0 + dx;\n var y1 = y0 + dy;\n var a1 = xy2a(x1, y1);\n var da = rad2deg(a1 - a0);\n rot1 = rot0 + da;\n\n layers.frontplot.attr('transform',\n strTranslate(_this.xOffset2, _this.yOffset2) + strRotate([-da, cxx, cyy])\n );\n\n if(_this.vangles) {\n rrot1 = _this.radialAxisAngle + da;\n\n var trans = strTranslate(cx, cy) + strRotate(-da);\n var trans2 = strTranslate(cx, cy) + strRotate(-rrot1);\n\n layers.bg.attr('transform', trans);\n layers['radial-grid'].attr('transform', trans);\n layers['radial-axis'].attr('transform', trans2);\n layers['radial-line'].select('line').attr('transform', trans2);\n _this.updateRadialAxisTitle(fullLayoutNow, polarLayoutNow, rrot1);\n } else {\n _this.clipPaths.forTraces.select('path').attr('transform',\n strTranslate(cxx, cyy) + strRotate(da)\n );\n }\n\n // 'un-rotate' marker and text points\n scatterPoints.each(function() {\n var sel = d3.select(this);\n var xy = Drawing.getTranslate(sel);\n sel.attr('transform', strTranslate(xy.x, xy.y) + strRotate([da]));\n });\n scatterTextPoints.each(function() {\n var sel = d3.select(this);\n var tx = sel.select('text');\n var xy = Drawing.getTranslate(sel);\n // N.B rotate -> translate ordering matters\n sel.attr('transform', strRotate([da, tx.attr('x'), tx.attr('y')]) + strTranslate(xy.x, xy.y));\n });\n\n // update rotation -> range -> _m,_b\n angularAxis.rotation = Lib.modHalf(rot1, 360);\n _this.updateAngularAxis(fullLayoutNow, polarLayoutNow);\n\n if(_this._hasClipOnAxisFalse && !Lib.isFullCircle(_this.sectorInRad)) {\n scatterTraces.call(Drawing.hideOutsideRangePoints, _this);\n }\n\n var hasRegl = false;\n\n for(var traceType in _this.traceHash) {\n if(Registry.traceIs(traceType, 'gl')) {\n var moduleCalcData = _this.traceHash[traceType];\n var moduleCalcDataVisible = Lib.filterVisible(moduleCalcData);\n var _module = moduleCalcData[0][0].trace._module;\n _module.plot(gd, _this, moduleCalcDataVisible, polarLayoutNow);\n if(moduleCalcDataVisible.length) hasRegl = true;\n }\n }\n\n if(hasRegl) {\n clearGlCanvases(gd);\n redrawReglTraces(gd);\n }\n\n var update = {};\n computeRotationUpdates(update);\n gd.emit('plotly_relayouting', update);\n }\n\n function computeRotationUpdates(updateObj) {\n updateObj[_this.id + '.angularaxis.rotation'] = rot1;\n\n if(_this.vangles) {\n updateObj[_this.id + '.radialaxis.angle'] = rrot1;\n }\n }\n\n function doneFn() {\n scatterTextPoints.select('text').attr('transform', null);\n\n var updateObj = {};\n computeRotationUpdates(updateObj);\n Registry.call('_guiRelayout', gd, updateObj);\n }\n\n dragOpts.prepFn = function(evt, startX, startY) {\n var polarLayoutNow = fullLayout[_this.id];\n rot0 = polarLayoutNow.angularaxis.rotation;\n\n var bbox = angularDrag.getBoundingClientRect();\n x0 = startX - bbox.left;\n y0 = startY - bbox.top;\n a0 = xy2a(x0, y0);\n\n dragOpts.moveFn = moveFn;\n dragOpts.doneFn = doneFn;\n\n clearSelect(gd);\n };\n\n // I don't what we should do in this case, skip we now\n if(_this.vangles && !Lib.isFullCircle(_this.sectorInRad)) {\n dragOpts.prepFn = Lib.noop;\n setCursor(d3.select(angularDrag), null);\n }\n\n dragElement.init(dragOpts);\n};\n\nproto.isPtInside = function(d) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var thetag = this.angularAxis.c2g(d.theta);\n var radialAxis = this.radialAxis;\n var r = radialAxis.c2l(d.r);\n var rl = radialAxis._rl;\n\n var fn = vangles ? helpers.isPtInsidePolygon : Lib.isPtInsideSector;\n return fn(r, thetag, rl, sectorInRad, vangles);\n};\n\nproto.pathArc = function(r) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygon : Lib.pathArc;\n return fn(r, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathSector = function(r) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygon : Lib.pathSector;\n return fn(r, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathAnnulus = function(r0, r1) {\n var sectorInRad = this.sectorInRad;\n var vangles = this.vangles;\n var fn = vangles ? helpers.pathPolygonAnnulus : Lib.pathAnnulus;\n return fn(r0, r1, sectorInRad[0], sectorInRad[1], vangles);\n};\n\nproto.pathSubplot = function() {\n var r0 = this.innerRadius;\n var r1 = this.radius;\n return r0 ? this.pathAnnulus(r0, r1) : this.pathSector(r1);\n};\n\nproto.fillViewInitialKey = function(key, val) {\n if(!(key in this.viewInitial)) {\n this.viewInitial[key] = val;\n }\n};\n\nfunction strTickLayout(axLayout) {\n var out = axLayout.ticks + String(axLayout.ticklen) + String(axLayout.showticklabels);\n if('side' in axLayout) out += axLayout.side;\n return out;\n}\n\n// Finds the bounding box of a given circle sector,\n// inspired by https://math.stackexchange.com/q/1852703\n//\n// assumes:\n// - sector[0] < sector[1]\n// - counterclockwise rotation\nfunction computeSectorBBox(sector) {\n var s0 = sector[0];\n var s1 = sector[1];\n var arc = s1 - s0;\n var a0 = mod(s0, 360);\n var a1 = a0 + arc;\n\n var ax0 = Math.cos(deg2rad(a0));\n var ay0 = Math.sin(deg2rad(a0));\n var ax1 = Math.cos(deg2rad(a1));\n var ay1 = Math.sin(deg2rad(a1));\n\n var x0, y0, x1, y1;\n\n if((a0 <= 90 && a1 >= 90) || (a0 > 90 && a1 >= 450)) {\n y1 = 1;\n } else if(ay0 <= 0 && ay1 <= 0) {\n y1 = 0;\n } else {\n y1 = Math.max(ay0, ay1);\n }\n\n if((a0 <= 180 && a1 >= 180) || (a0 > 180 && a1 >= 540)) {\n x0 = -1;\n } else if(ax0 >= 0 && ax1 >= 0) {\n x0 = 0;\n } else {\n x0 = Math.min(ax0, ax1);\n }\n\n if((a0 <= 270 && a1 >= 270) || (a0 > 270 && a1 >= 630)) {\n y0 = -1;\n } else if(ay0 >= 0 && ay1 >= 0) {\n y0 = 0;\n } else {\n y0 = Math.min(ay0, ay1);\n }\n\n if(a1 >= 360) {\n x1 = 1;\n } else if(ax0 <= 0 && ax1 <= 0) {\n x1 = 0;\n } else {\n x1 = Math.max(ax0, ax1);\n }\n\n return [x0, y0, x1, y1];\n}\n\nfunction snapToVertexAngle(a, vangles) {\n var fn = function(v) { return Lib.angleDist(a, v); };\n var ind = Lib.findIndexOfMin(vangles, fn);\n return vangles[ind];\n}\n\nfunction updateElement(sel, showAttr, attrs) {\n if(showAttr) {\n sel.attr('display', null);\n sel.attr(attrs);\n } else if(sel) {\n sel.attr('display', 'none');\n }\n return sel;\n}\n\nfunction strTranslate(x, y) {\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction strRotate(angle) {\n return 'rotate(' + angle + ')';\n}\n\n\n/***/ }),\n\n/***/ \"59e0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nexports.formatPiePercent = function formatPiePercent(v, separators) {\n var vRounded = (v * 100).toPrecision(3);\n if(vRounded.lastIndexOf('.') !== -1) {\n vRounded = vRounded.replace(/[.]?0+$/, '');\n }\n return Lib.numSeparate(vRounded, separators) + '%';\n};\n\nexports.formatPieValue = function formatPieValue(v, separators) {\n var vRounded = v.toPrecision(10);\n if(vRounded.lastIndexOf('.') !== -1) {\n vRounded = vRounded.replace(/[.]?0+$/, '');\n }\n return Lib.numSeparate(vRounded, separators);\n};\n\nexports.getFirstFilled = function getFirstFilled(array, indices) {\n if(!Array.isArray(array)) return;\n for(var i = 0; i < indices.length; i++) {\n var v = array[indices[i]];\n if(v || v === 0 || v === '') return v;\n }\n};\n\nexports.castOption = function castOption(item, indices) {\n if(Array.isArray(item)) return exports.getFirstFilled(item, indices);\n else if(item) return item;\n};\n\n\n/***/ }),\n\n/***/ \"5a1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Push array with unique items\n *\n * Ignores falsy items, except 0 so we can use it to construct arrays of indices.\n *\n * @param {array} array\n * array to be filled\n * @param {any} item\n * item to be or not to be inserted\n * @return {array}\n * ref to array (now possibly containing one more item)\n *\n */\nmodule.exports = function pushUnique(array, item) {\n if(item instanceof RegExp) {\n var itemStr = item.toString();\n for(var i = 0; i < array.length; i++) {\n if(array[i] instanceof RegExp && array[i].toString() === itemStr) {\n return array;\n }\n }\n array.push(item);\n } else if((item || item === 0) && array.indexOf(item) === -1) array.push(item);\n\n return array;\n};\n\n\n/***/ }),\n\n/***/ \"5a1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Color = __webpack_require__(\"d115\");\n\nvar ARROWPATHS = __webpack_require__(\"a935\");\n\n/**\n * Add arrowhead(s) to a path or line element\n *\n * @param {d3.selection} el3: a d3-selected line or path element\n *\n * @param {string} ends: 'none', 'start', 'end', or 'start+end' for which ends get arrowheads\n *\n * @param {object} options: style information. Must have all the following:\n * @param {number} options.arrowhead: end head style - see ./arrow_paths\n * @param {number} options.startarrowhead: start head style - see ./arrow_paths\n * @param {number} options.arrowsize: relative size of the end head vs line width\n * @param {number} options.startarrowsize: relative size of the start head vs line width\n * @param {number} options.standoff: distance in px to move the end arrow point from its target\n * @param {number} options.startstandoff: distance in px to move the start arrow point from its target\n * @param {number} options.arrowwidth: width of the arrow line\n * @param {string} options.arrowcolor: color of the arrow line, for the head to match\n * Note that the opacity of this color is ignored, as it's assumed the container\n * of both the line and head has opacity applied to it so there isn't greater opacity\n * where they overlap.\n */\nmodule.exports = function drawArrowHead(el3, ends, options) {\n var el = el3.node();\n var headStyle = ARROWPATHS[options.arrowhead || 0];\n var startHeadStyle = ARROWPATHS[options.startarrowhead || 0];\n var scale = (options.arrowwidth || 1) * (options.arrowsize || 1);\n var startScale = (options.arrowwidth || 1) * (options.startarrowsize || 1);\n var doStart = ends.indexOf('start') >= 0;\n var doEnd = ends.indexOf('end') >= 0;\n var backOff = headStyle.backoff * scale + options.standoff;\n var startBackOff = startHeadStyle.backoff * startScale + options.startstandoff;\n\n var start, end, startRot, endRot;\n\n if(el.nodeName === 'line') {\n start = {x: +el3.attr('x1'), y: +el3.attr('y1')};\n end = {x: +el3.attr('x2'), y: +el3.attr('y2')};\n\n var dx = start.x - end.x;\n var dy = start.y - end.y;\n\n startRot = Math.atan2(dy, dx);\n endRot = startRot + Math.PI;\n if(backOff && startBackOff) {\n if(backOff + startBackOff > Math.sqrt(dx * dx + dy * dy)) {\n hideLine();\n return;\n }\n }\n\n if(backOff) {\n if(backOff * backOff > dx * dx + dy * dy) {\n hideLine();\n return;\n }\n var backOffX = backOff * Math.cos(startRot);\n var backOffY = backOff * Math.sin(startRot);\n\n end.x += backOffX;\n end.y += backOffY;\n el3.attr({x2: end.x, y2: end.y});\n }\n\n if(startBackOff) {\n if(startBackOff * startBackOff > dx * dx + dy * dy) {\n hideLine();\n return;\n }\n var startBackOffX = startBackOff * Math.cos(startRot);\n var startbackOffY = startBackOff * Math.sin(startRot);\n\n start.x -= startBackOffX;\n start.y -= startbackOffY;\n el3.attr({x1: start.x, y1: start.y});\n }\n } else if(el.nodeName === 'path') {\n var pathlen = el.getTotalLength();\n // using dash to hide the backOff region of the path.\n // if we ever allow dash for the arrow we'll have to\n // do better than this hack... maybe just manually\n // combine the two\n var dashArray = '';\n\n if(pathlen < backOff + startBackOff) {\n hideLine();\n return;\n }\n\n\n var start0 = el.getPointAtLength(0);\n var dstart = el.getPointAtLength(0.1);\n\n startRot = Math.atan2(start0.y - dstart.y, start0.x - dstart.x);\n start = el.getPointAtLength(Math.min(startBackOff, pathlen));\n\n dashArray = '0px,' + startBackOff + 'px,';\n\n var end0 = el.getPointAtLength(pathlen);\n var dend = el.getPointAtLength(pathlen - 0.1);\n\n endRot = Math.atan2(end0.y - dend.y, end0.x - dend.x);\n end = el.getPointAtLength(Math.max(0, pathlen - backOff));\n\n var shortening = dashArray ? startBackOff + backOff : backOff;\n dashArray += (pathlen - shortening) + 'px,' + pathlen + 'px';\n\n el3.style('stroke-dasharray', dashArray);\n }\n\n function hideLine() { el3.style('stroke-dasharray', '0px,100px'); }\n\n function drawhead(arrowHeadStyle, p, rot, arrowScale) {\n if(!arrowHeadStyle.path) return;\n if(arrowHeadStyle.noRotate) rot = 0;\n\n d3.select(el.parentNode).append('path')\n .attr({\n 'class': el3.attr('class'),\n d: arrowHeadStyle.path,\n transform:\n 'translate(' + p.x + ',' + p.y + ')' +\n (rot ? 'rotate(' + (rot * 180 / Math.PI) + ')' : '') +\n 'scale(' + arrowScale + ')'\n })\n .style({\n fill: Color.rgb(options.arrowcolor),\n 'stroke-width': 0\n });\n }\n\n if(doStart) drawhead(startHeadStyle, start, startRot, startScale);\n if(doEnd) drawhead(headStyle, end, endRot, scale);\n};\n\n\n/***/ }),\n\n/***/ \"5aa9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bn2num = __webpack_require__(\"0948\")\nvar ctz = __webpack_require__(\"7223\")\n\nmodule.exports = roundRat\n\n// Round a rational to the closest float\nfunction roundRat (f) {\n var a = f[0]\n var b = f[1]\n if (a.cmpn(0) === 0) {\n return 0\n }\n var h = a.abs().divmod(b.abs())\n var iv = h.div\n var x = bn2num(iv)\n var ir = h.mod\n var sgn = (a.negative !== b.negative) ? -1 : 1\n if (ir.cmpn(0) === 0) {\n return sgn * x\n }\n if (x) {\n var s = ctz(x) + 4\n var y = bn2num(ir.ushln(s).divRound(b))\n return sgn * (x + y * Math.pow(2, -s))\n } else {\n var ybits = b.bitLength() - ir.bitLength() + 53\n var y = bn2num(ir.ushln(ybits).divRound(b))\n if (ybits < 1023) {\n return sgn * y * Math.pow(2, -ybits)\n }\n y *= Math.pow(2, -1023)\n return sgn * y * Math.pow(2, 1023 - ybits)\n }\n}\n\n\n/***/ }),\n\n/***/ \"5aae\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nvar scatterMarkerAttrs = scatterAttrs.marker;\nvar scatterLineAttrs = scatterAttrs.line;\nvar scatterMarkerLineAttrs = scatterMarkerAttrs.line;\n\nmodule.exports = {\n carpet: {\n valType: 'string',\n \n editType: 'calc',\n \n },\n a: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n b: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n mode: extendFlat({}, scatterAttrs.mode, {dflt: 'markers'}),\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['a', 'b', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n line: {\n color: scatterLineAttrs.color,\n width: scatterLineAttrs.width,\n dash: scatterLineAttrs.dash,\n shape: extendFlat({}, scatterLineAttrs.shape,\n {values: ['linear', 'spline']}),\n smoothing: scatterLineAttrs.smoothing,\n editType: 'calc'\n },\n connectgaps: scatterAttrs.connectgaps,\n fill: extendFlat({}, scatterAttrs.fill, {\n values: ['none', 'toself', 'tonext'],\n dflt: 'none',\n \n }),\n fillcolor: scatterAttrs.fillcolor,\n marker: extendFlat({\n symbol: scatterMarkerAttrs.symbol,\n opacity: scatterMarkerAttrs.opacity,\n maxdisplayed: scatterMarkerAttrs.maxdisplayed,\n size: scatterMarkerAttrs.size,\n sizeref: scatterMarkerAttrs.sizeref,\n sizemin: scatterMarkerAttrs.sizemin,\n sizemode: scatterMarkerAttrs.sizemode,\n line: extendFlat({\n width: scatterMarkerLineAttrs.width,\n editType: 'calc'\n },\n colorScaleAttrs('marker.line')\n ),\n gradient: scatterMarkerAttrs.gradient,\n editType: 'calc'\n },\n colorScaleAttrs('marker')\n ),\n\n textfont: scatterAttrs.textfont,\n textposition: scatterAttrs.textposition,\n\n selected: scatterAttrs.selected,\n unselected: scatterAttrs.unselected,\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['a', 'b', 'text', 'name']\n }),\n hoveron: scatterAttrs.hoveron,\n hovertemplate: hovertemplateAttrs()\n};\n\n\n/***/ }),\n\n/***/ \"5ad1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// var Lib = require('../../lib');\n\nfunction calc(gd, trace) {\n var cd = [];\n\n var lastReading = trace.value;\n if(!(typeof trace._lastValue === 'number')) trace._lastValue = trace.value;\n var secondLastReading = trace._lastValue;\n var deltaRef = secondLastReading;\n if(trace._hasDelta && typeof trace.delta.reference === 'number') {\n deltaRef = trace.delta.reference;\n }\n cd[0] = {\n y: lastReading,\n lastY: secondLastReading,\n\n delta: lastReading - deltaRef,\n relativeDelta: (lastReading - deltaRef) / deltaRef,\n };\n return cd;\n}\n\nmodule.exports = {\n calc: calc\n};\n\n\n/***/ }),\n\n/***/ \"5ad3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"f6a2\")\n\r\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIkY6L3NvdXJjZS92dWUtcGxvdGx5LmpzL25vZGVfbW9kdWxlcy9wb2ludC1jbHVzdGVyL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vcXVhZCcpXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaO0FBQ0EsTUFBTSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDOyJ9\n\n/***/ }),\n\n/***/ \"5b68\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n mode: {\n valType: 'enumerated',\n dflt: 'afterall',\n \n values: ['immediate', 'next', 'afterall'],\n \n },\n direction: {\n valType: 'enumerated',\n \n values: ['forward', 'reverse'],\n dflt: 'forward',\n \n },\n fromcurrent: {\n valType: 'boolean',\n dflt: false,\n \n \n },\n frame: {\n duration: {\n valType: 'number',\n \n min: 0,\n dflt: 500,\n \n },\n redraw: {\n valType: 'boolean',\n \n dflt: true,\n \n },\n },\n transition: {\n duration: {\n valType: 'number',\n \n min: 0,\n dflt: 500,\n editType: 'none',\n \n },\n easing: {\n valType: 'enumerated',\n dflt: 'cubic-in-out',\n values: [\n 'linear',\n 'quad',\n 'cubic',\n 'sin',\n 'exp',\n 'circle',\n 'elastic',\n 'back',\n 'bounce',\n 'linear-in',\n 'quad-in',\n 'cubic-in',\n 'sin-in',\n 'exp-in',\n 'circle-in',\n 'elastic-in',\n 'back-in',\n 'bounce-in',\n 'linear-out',\n 'quad-out',\n 'cubic-out',\n 'sin-out',\n 'exp-out',\n 'circle-out',\n 'elastic-out',\n 'back-out',\n 'bounce-out',\n 'linear-in-out',\n 'quad-in-out',\n 'cubic-in-out',\n 'sin-in-out',\n 'exp-in-out',\n 'circle-in-out',\n 'elastic-in-out',\n 'back-in-out',\n 'bounce-in-out'\n ],\n \n editType: 'none',\n \n },\n ordering: {\n valType: 'enumerated',\n values: ['layout first', 'traces first'],\n dflt: 'layout first',\n \n editType: 'none',\n \n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"5bec\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt /* , trace, cd, pointNumber */) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for funnel\n if('initial' in pt) out.initial = pt.initial;\n if('delta' in pt) out.delta = pt.delta;\n if('final' in pt) out.final = pt.final;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"5c33\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar annAttrs = __webpack_require__(\"bb4a\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar fontAttrs = __webpack_require__(\"9845\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar attrs = module.exports = overrideAll({\n domain: domainAttrs({name: 'table', trace: true}),\n\n columnwidth: {\n valType: 'number',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n columnorder: {\n valType: 'data_array',\n \n \n },\n\n header: {\n\n values: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n format: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n prefix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n suffix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n height: {\n valType: 'number',\n dflt: 28,\n \n \n },\n\n align: extendFlat({}, annAttrs.align, {arrayOk: true}),\n\n line: {\n width: {\n valType: 'number',\n arrayOk: true,\n dflt: 1,\n \n },\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'grey',\n \n }\n },\n\n fill: {\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'white',\n \n \n }\n },\n\n font: extendFlat({}, fontAttrs({arrayOk: true}))\n },\n\n cells: {\n\n values: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n format: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n\n prefix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n suffix: {\n valType: 'string',\n arrayOk: true,\n dflt: null,\n \n \n },\n\n height: {\n valType: 'number',\n dflt: 20,\n \n \n },\n\n align: extendFlat({}, annAttrs.align, {arrayOk: true}),\n\n line: {\n width: {\n valType: 'number',\n arrayOk: true,\n dflt: 1,\n \n },\n color: {\n valType: 'color',\n arrayOk: true,\n dflt: 'grey',\n \n }\n },\n\n fill: {\n color: {\n valType: 'color',\n arrayOk: true,\n \n dflt: 'white',\n \n }\n },\n\n font: extendFlat({}, fontAttrs({arrayOk: true}))\n }\n}, 'calc', 'from-root');\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"5c6c\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"5c79\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\nvar _ = Lib._;\nvar Color = __webpack_require__(\"d115\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar setConvert = __webpack_require__(\"1a40\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar Plots = __webpack_require__(\"bb71\");\nvar Axes = __webpack_require__(\"0642\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar Fx = __webpack_require__(\"a5c4\");\nvar Titles = __webpack_require__(\"1999\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar selectOnClick = __webpack_require__(\"1876\").selectOnClick;\nvar clearSelect = __webpack_require__(\"1876\").clearSelect;\nvar constants = __webpack_require__(\"d301\");\n\nfunction Ternary(options, fullLayout) {\n this.id = options.id;\n this.graphDiv = options.graphDiv;\n this.init(fullLayout);\n this.makeFramework(fullLayout);\n\n // unfortunately, we have to keep track of some axis tick settings\n // as ternary subplots do not implement the 'ticks' editType\n this.aTickLayout = null;\n this.bTickLayout = null;\n this.cTickLayout = null;\n}\n\nmodule.exports = Ternary;\n\nvar proto = Ternary.prototype;\n\nproto.init = function(fullLayout) {\n this.container = fullLayout._ternarylayer;\n this.defs = fullLayout._defs;\n this.layoutId = fullLayout._uid;\n this.traceHash = {};\n this.layers = {};\n};\n\nproto.plot = function(ternaryCalcData, fullLayout) {\n var _this = this;\n var ternaryLayout = fullLayout[_this.id];\n var graphSize = fullLayout._size;\n\n _this._hasClipOnAxisFalse = false;\n for(var i = 0; i < ternaryCalcData.length; i++) {\n var trace = ternaryCalcData[i][0].trace;\n\n if(trace.cliponaxis === false) {\n _this._hasClipOnAxisFalse = true;\n break;\n }\n }\n\n _this.updateLayers(ternaryLayout);\n _this.adjustLayout(ternaryLayout, graphSize);\n Plots.generalUpdatePerTraceModule(_this.graphDiv, _this, ternaryCalcData, ternaryLayout);\n _this.layers.plotbg.select('path').call(Color.fill, ternaryLayout.bgcolor);\n};\n\nproto.makeFramework = function(fullLayout) {\n var _this = this;\n var gd = _this.graphDiv;\n var ternaryLayout = fullLayout[_this.id];\n\n var clipId = _this.clipId = 'clip' + _this.layoutId + _this.id;\n var clipIdRelative = _this.clipIdRelative = 'clip-relative' + _this.layoutId + _this.id;\n\n // clippath for this ternary subplot\n _this.clipDef = Lib.ensureSingleById(fullLayout._clips, 'clipPath', clipId, function(s) {\n s.append('path').attr('d', 'M0,0Z');\n });\n\n // 'relative' clippath (i.e. no translation) for this ternary subplot\n _this.clipDefRelative = Lib.ensureSingleById(fullLayout._clips, 'clipPath', clipIdRelative, function(s) {\n s.append('path').attr('d', 'M0,0Z');\n });\n\n // container for everything in this ternary subplot\n _this.plotContainer = Lib.ensureSingle(_this.container, 'g', _this.id);\n _this.updateLayers(ternaryLayout);\n\n Drawing.setClipUrl(_this.layers.backplot, clipId, gd);\n Drawing.setClipUrl(_this.layers.grids, clipId, gd);\n};\n\nproto.updateLayers = function(ternaryLayout) {\n var _this = this;\n var layers = _this.layers;\n\n // inside that container, we have one container for the data, and\n // one each for the three axes around it.\n\n var plotLayers = ['draglayer', 'plotbg', 'backplot', 'grids'];\n\n if(ternaryLayout.aaxis.layer === 'below traces') {\n plotLayers.push('aaxis', 'aline');\n }\n if(ternaryLayout.baxis.layer === 'below traces') {\n plotLayers.push('baxis', 'bline');\n }\n if(ternaryLayout.caxis.layer === 'below traces') {\n plotLayers.push('caxis', 'cline');\n }\n\n plotLayers.push('frontplot');\n\n if(ternaryLayout.aaxis.layer === 'above traces') {\n plotLayers.push('aaxis', 'aline');\n }\n if(ternaryLayout.baxis.layer === 'above traces') {\n plotLayers.push('baxis', 'bline');\n }\n if(ternaryLayout.caxis.layer === 'above traces') {\n plotLayers.push('caxis', 'cline');\n }\n\n var toplevel = _this.plotContainer.selectAll('g.toplevel')\n .data(plotLayers, String);\n\n var grids = ['agrid', 'bgrid', 'cgrid'];\n\n toplevel.enter().append('g')\n .attr('class', function(d) { return 'toplevel ' + d; })\n .each(function(d) {\n var s = d3.select(this);\n layers[d] = s;\n\n // containers for different trace types.\n // NOTE - this is different from cartesian, where all traces\n // are in front of grids. Here I'm putting maps behind the grids\n // so the grids will always be visible if they're requested.\n // Perhaps we want that for cartesian too?\n if(d === 'frontplot') {\n s.append('g').classed('scatterlayer', true);\n } else if(d === 'backplot') {\n s.append('g').classed('maplayer', true);\n } else if(d === 'plotbg') {\n s.append('path').attr('d', 'M0,0Z');\n } else if(d === 'aline' || d === 'bline' || d === 'cline') {\n s.append('path');\n } else if(d === 'grids') {\n grids.forEach(function(d) {\n layers[d] = s.append('g').classed('grid ' + d, true);\n });\n }\n });\n\n toplevel.order();\n};\n\nvar whRatio = Math.sqrt(4 / 3);\n\nproto.adjustLayout = function(ternaryLayout, graphSize) {\n var _this = this;\n var domain = ternaryLayout.domain;\n var xDomainCenter = (domain.x[0] + domain.x[1]) / 2;\n var yDomainCenter = (domain.y[0] + domain.y[1]) / 2;\n var xDomain = domain.x[1] - domain.x[0];\n var yDomain = domain.y[1] - domain.y[0];\n var wmax = xDomain * graphSize.w;\n var hmax = yDomain * graphSize.h;\n var sum = ternaryLayout.sum;\n var amin = ternaryLayout.aaxis.min;\n var bmin = ternaryLayout.baxis.min;\n var cmin = ternaryLayout.caxis.min;\n\n var x0, y0, w, h, xDomainFinal, yDomainFinal;\n\n if(wmax > whRatio * hmax) {\n h = hmax;\n w = h * whRatio;\n } else {\n w = wmax;\n h = w / whRatio;\n }\n\n xDomainFinal = xDomain * w / wmax;\n yDomainFinal = yDomain * h / hmax;\n\n x0 = graphSize.l + graphSize.w * xDomainCenter - w / 2;\n y0 = graphSize.t + graphSize.h * (1 - yDomainCenter) - h / 2;\n\n _this.x0 = x0;\n _this.y0 = y0;\n _this.w = w;\n _this.h = h;\n _this.sum = sum;\n\n // set up the x and y axis objects we'll use to lay out the points\n _this.xaxis = {\n type: 'linear',\n range: [amin + 2 * cmin - sum, sum - amin - 2 * bmin],\n domain: [\n xDomainCenter - xDomainFinal / 2,\n xDomainCenter + xDomainFinal / 2\n ],\n _id: 'x'\n };\n setConvert(_this.xaxis, _this.graphDiv._fullLayout);\n _this.xaxis.setScale();\n _this.xaxis.isPtWithinRange = function(d) {\n return (\n d.a >= _this.aaxis.range[0] &&\n d.a <= _this.aaxis.range[1] &&\n d.b >= _this.baxis.range[1] &&\n d.b <= _this.baxis.range[0] &&\n d.c >= _this.caxis.range[1] &&\n d.c <= _this.caxis.range[0]\n );\n };\n\n _this.yaxis = {\n type: 'linear',\n range: [amin, sum - bmin - cmin],\n domain: [\n yDomainCenter - yDomainFinal / 2,\n yDomainCenter + yDomainFinal / 2\n ],\n _id: 'y'\n };\n setConvert(_this.yaxis, _this.graphDiv._fullLayout);\n _this.yaxis.setScale();\n _this.yaxis.isPtWithinRange = function() { return true; };\n\n // set up the modified axes for tick drawing\n var yDomain0 = _this.yaxis.domain[0];\n\n // aaxis goes up the left side. Set it up as a y axis, but with\n // fictitious angles and domain, but then rotate and translate\n // it into place at the end\n var aaxis = _this.aaxis = extendFlat({}, ternaryLayout.aaxis, {\n range: [amin, sum - bmin - cmin],\n side: 'left',\n // tickangle = 'auto' means 0 anyway for a y axis, need to coerce to 0 here\n // so we can shift by 30.\n tickangle: (+ternaryLayout.aaxis.tickangle || 0) - 30,\n domain: [yDomain0, yDomain0 + yDomainFinal * whRatio],\n anchor: 'free',\n position: 0,\n _id: 'y',\n _length: w\n });\n setConvert(aaxis, _this.graphDiv._fullLayout);\n aaxis.setScale();\n\n // baxis goes across the bottom (backward). We can set it up as an x axis\n // without any enclosing transformation.\n var baxis = _this.baxis = extendFlat({}, ternaryLayout.baxis, {\n range: [sum - amin - cmin, bmin],\n side: 'bottom',\n domain: _this.xaxis.domain,\n anchor: 'free',\n position: 0,\n _id: 'x',\n _length: w\n });\n setConvert(baxis, _this.graphDiv._fullLayout);\n baxis.setScale();\n\n // caxis goes down the right side. Set it up as a y axis, with\n // post-transformation similar to aaxis\n var caxis = _this.caxis = extendFlat({}, ternaryLayout.caxis, {\n range: [sum - amin - bmin, cmin],\n side: 'right',\n tickangle: (+ternaryLayout.caxis.tickangle || 0) + 30,\n domain: [yDomain0, yDomain0 + yDomainFinal * whRatio],\n anchor: 'free',\n position: 0,\n _id: 'y',\n _length: w\n });\n setConvert(caxis, _this.graphDiv._fullLayout);\n caxis.setScale();\n\n var triangleClip = 'M' + x0 + ',' + (y0 + h) + 'h' + w + 'l-' + (w / 2) + ',-' + h + 'Z';\n _this.clipDef.select('path').attr('d', triangleClip);\n _this.layers.plotbg.select('path').attr('d', triangleClip);\n\n var triangleClipRelative = 'M0,' + h + 'h' + w + 'l-' + (w / 2) + ',-' + h + 'Z';\n _this.clipDefRelative.select('path').attr('d', triangleClipRelative);\n\n var plotTransform = 'translate(' + x0 + ',' + y0 + ')';\n _this.plotContainer.selectAll('.scatterlayer,.maplayer')\n .attr('transform', plotTransform);\n\n _this.clipDefRelative.select('path').attr('transform', null);\n\n // TODO: shift axes to accommodate linewidth*sin(30) tick mark angle\n\n // TODO: there's probably an easier way to handle these translations/offsets now...\n var bTransform = 'translate(' + (x0 - baxis._offset) + ',' + (y0 + h) + ')';\n\n _this.layers.baxis.attr('transform', bTransform);\n _this.layers.bgrid.attr('transform', bTransform);\n\n var aTransform = 'translate(' + (x0 + w / 2) + ',' + y0 +\n ')rotate(30)translate(0,' + -aaxis._offset + ')';\n _this.layers.aaxis.attr('transform', aTransform);\n _this.layers.agrid.attr('transform', aTransform);\n\n var cTransform = 'translate(' + (x0 + w / 2) + ',' + y0 +\n ')rotate(-30)translate(0,' + -caxis._offset + ')';\n _this.layers.caxis.attr('transform', cTransform);\n _this.layers.cgrid.attr('transform', cTransform);\n\n _this.drawAxes(true);\n\n _this.layers.aline.select('path')\n .attr('d', aaxis.showline ?\n 'M' + x0 + ',' + (y0 + h) + 'l' + (w / 2) + ',-' + h : 'M0,0')\n .call(Color.stroke, aaxis.linecolor || '#000')\n .style('stroke-width', (aaxis.linewidth || 0) + 'px');\n _this.layers.bline.select('path')\n .attr('d', baxis.showline ?\n 'M' + x0 + ',' + (y0 + h) + 'h' + w : 'M0,0')\n .call(Color.stroke, baxis.linecolor || '#000')\n .style('stroke-width', (baxis.linewidth || 0) + 'px');\n _this.layers.cline.select('path')\n .attr('d', caxis.showline ?\n 'M' + (x0 + w / 2) + ',' + y0 + 'l' + (w / 2) + ',' + h : 'M0,0')\n .call(Color.stroke, caxis.linecolor || '#000')\n .style('stroke-width', (caxis.linewidth || 0) + 'px');\n\n if(!_this.graphDiv._context.staticPlot) {\n _this.initInteractions();\n }\n\n Drawing.setClipUrl(\n _this.layers.frontplot,\n _this._hasClipOnAxisFalse ? null : _this.clipId,\n _this.graphDiv\n );\n};\n\nproto.drawAxes = function(doTitles) {\n var _this = this;\n var gd = _this.graphDiv;\n var titlesuffix = _this.id.substr(7) + 'title';\n var layers = _this.layers;\n var aaxis = _this.aaxis;\n var baxis = _this.baxis;\n var caxis = _this.caxis;\n\n _this.drawAx(aaxis);\n _this.drawAx(baxis);\n _this.drawAx(caxis);\n\n if(doTitles) {\n var apad = Math.max(aaxis.showticklabels ? aaxis.tickfont.size / 2 : 0,\n (caxis.showticklabels ? caxis.tickfont.size * 0.75 : 0) +\n (caxis.ticks === 'outside' ? caxis.ticklen * 0.87 : 0));\n var bpad = (baxis.showticklabels ? baxis.tickfont.size : 0) +\n (baxis.ticks === 'outside' ? baxis.ticklen : 0) + 3;\n\n layers['a-title'] = Titles.draw(gd, 'a' + titlesuffix, {\n propContainer: aaxis,\n propName: _this.id + '.aaxis.title',\n placeholder: _(gd, 'Click to enter Component A title'),\n attributes: {\n x: _this.x0 + _this.w / 2,\n y: _this.y0 - aaxis.title.font.size / 3 - apad,\n 'text-anchor': 'middle'\n }\n });\n layers['b-title'] = Titles.draw(gd, 'b' + titlesuffix, {\n propContainer: baxis,\n propName: _this.id + '.baxis.title',\n placeholder: _(gd, 'Click to enter Component B title'),\n attributes: {\n x: _this.x0 - bpad,\n y: _this.y0 + _this.h + baxis.title.font.size * 0.83 + bpad,\n 'text-anchor': 'middle'\n }\n });\n layers['c-title'] = Titles.draw(gd, 'c' + titlesuffix, {\n propContainer: caxis,\n propName: _this.id + '.caxis.title',\n placeholder: _(gd, 'Click to enter Component C title'),\n attributes: {\n x: _this.x0 + _this.w + bpad,\n y: _this.y0 + _this.h + caxis.title.font.size * 0.83 + bpad,\n 'text-anchor': 'middle'\n }\n });\n }\n};\n\nproto.drawAx = function(ax) {\n var _this = this;\n var gd = _this.graphDiv;\n var axName = ax._name;\n var axLetter = axName.charAt(0);\n var axId = ax._id;\n var axLayer = _this.layers[axName];\n var counterAngle = 30;\n\n var stashKey = axLetter + 'tickLayout';\n var newTickLayout = strTickLayout(ax);\n if(_this[stashKey] !== newTickLayout) {\n axLayer.selectAll('.' + axId + 'tick').remove();\n _this[stashKey] = newTickLayout;\n }\n\n ax.setScale();\n\n var vals = Axes.calcTicks(ax);\n var valsClipped = Axes.clipEnds(ax, vals);\n var transFn = Axes.makeTransFn(ax);\n var tickSign = Axes.getTickSigns(ax)[2];\n\n var caRad = Lib.deg2rad(counterAngle);\n var pad = tickSign * (ax.linewidth || 1) / 2;\n var len = tickSign * ax.ticklen;\n var w = _this.w;\n var h = _this.h;\n\n var tickPath = axLetter === 'b' ?\n 'M0,' + pad + 'l' + (Math.sin(caRad) * len) + ',' + (Math.cos(caRad) * len) :\n 'M' + pad + ',0l' + (Math.cos(caRad) * len) + ',' + (-Math.sin(caRad) * len);\n\n var gridPath = {\n a: 'M0,0l' + h + ',-' + (w / 2),\n b: 'M0,0l-' + (w / 2) + ',-' + h,\n c: 'M0,0l-' + h + ',' + (w / 2)\n }[axLetter];\n\n Axes.drawTicks(gd, ax, {\n vals: ax.ticks === 'inside' ? valsClipped : vals,\n layer: axLayer,\n path: tickPath,\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawGrid(gd, ax, {\n vals: valsClipped,\n layer: _this.layers[axLetter + 'grid'],\n path: gridPath,\n transFn: transFn,\n crisp: false\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axLayer,\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, 0, counterAngle)\n });\n};\n\nfunction strTickLayout(axLayout) {\n return axLayout.ticks + String(axLayout.ticklen) + String(axLayout.showticklabels);\n}\n\n// hard coded paths for zoom corners\n// uses the same sizing as cartesian, length is MINZOOM/2, width is 3px\nvar CLEN = constants.MINZOOM / 2 + 0.87;\nvar BLPATH = 'm-0.87,.5h' + CLEN + 'v3h-' + (CLEN + 5.2) +\n 'l' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l2.6,1.5l-' + (CLEN / 2) + ',' + (CLEN * 0.87) + 'Z';\nvar BRPATH = 'm0.87,.5h-' + CLEN + 'v3h' + (CLEN + 5.2) +\n 'l-' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l-2.6,1.5l' + (CLEN / 2) + ',' + (CLEN * 0.87) + 'Z';\nvar TOPPATH = 'm0,1l' + (CLEN / 2) + ',' + (CLEN * 0.87) +\n 'l2.6,-1.5l-' + (CLEN / 2 + 2.6) + ',-' + (CLEN * 0.87 + 4.5) +\n 'l-' + (CLEN / 2 + 2.6) + ',' + (CLEN * 0.87 + 4.5) +\n 'l2.6,1.5l' + (CLEN / 2) + ',-' + (CLEN * 0.87) + 'Z';\nvar STARTMARKER = 'm0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z';\n\n// I guess this could be shared with cartesian... but for now it's separate.\nvar SHOWZOOMOUTTIP = true;\n\nproto.initInteractions = function() {\n var _this = this;\n var dragger = _this.layers.plotbg.select('path').node();\n var gd = _this.graphDiv;\n var zoomLayer = gd._fullLayout._zoomlayer;\n\n // use plotbg for the main interactions\n var dragOptions = {\n element: dragger,\n gd: gd,\n plotinfo: {\n id: _this.id,\n xaxis: _this.xaxis,\n yaxis: _this.yaxis\n },\n subplot: _this.id,\n prepFn: function(e, startX, startY) {\n // these aren't available yet when initInteractions\n // is called\n dragOptions.xaxes = [_this.xaxis];\n dragOptions.yaxes = [_this.yaxis];\n var dragModeNow = gd._fullLayout.dragmode;\n\n if(dragModeNow === 'lasso') dragOptions.minDrag = 1;\n else dragOptions.minDrag = undefined;\n\n if(dragModeNow === 'zoom') {\n dragOptions.moveFn = zoomMove;\n dragOptions.clickFn = clickZoomPan;\n dragOptions.doneFn = zoomDone;\n zoomPrep(e, startX, startY);\n } else if(dragModeNow === 'pan') {\n dragOptions.moveFn = plotDrag;\n dragOptions.clickFn = clickZoomPan;\n dragOptions.doneFn = dragDone;\n panPrep();\n clearSelect(gd);\n } else if(dragModeNow === 'select' || dragModeNow === 'lasso') {\n prepSelect(e, startX, startY, dragOptions, dragModeNow);\n }\n }\n };\n\n var x0, y0, mins0, span0, mins, lum, path0, dimmed, zb, corners;\n\n function makeUpdate(_mins) {\n var attrs = {};\n attrs[_this.id + '.aaxis.min'] = _mins.a;\n attrs[_this.id + '.baxis.min'] = _mins.b;\n attrs[_this.id + '.caxis.min'] = _mins.c;\n return attrs;\n }\n\n function clickZoomPan(numClicks, evt) {\n var clickMode = gd._fullLayout.clickmode;\n\n removeZoombox(gd);\n\n if(numClicks === 2) {\n gd.emit('plotly_doubleclick', null);\n Registry.call('_guiRelayout', gd, makeUpdate({a: 0, b: 0, c: 0}));\n }\n\n if(clickMode.indexOf('select') > -1 && numClicks === 1) {\n selectOnClick(evt, gd, [_this.xaxis], [_this.yaxis], _this.id, dragOptions);\n }\n\n if(clickMode.indexOf('event') > -1) {\n Fx.click(gd, evt, _this.id);\n }\n }\n\n function zoomPrep(e, startX, startY) {\n var dragBBox = dragger.getBoundingClientRect();\n x0 = startX - dragBBox.left;\n y0 = startY - dragBBox.top;\n mins0 = {\n a: _this.aaxis.range[0],\n b: _this.baxis.range[1],\n c: _this.caxis.range[1]\n };\n mins = mins0;\n span0 = _this.aaxis.range[1] - mins0.a;\n lum = tinycolor(_this.graphDiv._fullLayout[_this.id].bgcolor).getLuminance();\n path0 = 'M0,' + _this.h + 'L' + (_this.w / 2) + ', 0L' + _this.w + ',' + _this.h + 'Z';\n dimmed = false;\n\n zb = zoomLayer.append('path')\n .attr('class', 'zoombox')\n .attr('transform', 'translate(' + _this.x0 + ', ' + _this.y0 + ')')\n .style({\n 'fill': lum > 0.2 ? 'rgba(0,0,0,0)' : 'rgba(255,255,255,0)',\n 'stroke-width': 0\n })\n .attr('d', path0);\n\n corners = zoomLayer.append('path')\n .attr('class', 'zoombox-corners')\n .attr('transform', 'translate(' + _this.x0 + ', ' + _this.y0 + ')')\n .style({\n fill: Color.background,\n stroke: Color.defaultLine,\n 'stroke-width': 1,\n opacity: 0\n })\n .attr('d', 'M0,0Z');\n\n clearSelect(gd);\n }\n\n function getAFrac(x, y) { return 1 - (y / _this.h); }\n function getBFrac(x, y) { return 1 - ((x + (_this.h - y) / Math.sqrt(3)) / _this.w); }\n function getCFrac(x, y) { return ((x - (_this.h - y) / Math.sqrt(3)) / _this.w); }\n\n function zoomMove(dx0, dy0) {\n var x1 = x0 + dx0;\n var y1 = y0 + dy0;\n var afrac = Math.max(0, Math.min(1, getAFrac(x0, y0), getAFrac(x1, y1)));\n var bfrac = Math.max(0, Math.min(1, getBFrac(x0, y0), getBFrac(x1, y1)));\n var cfrac = Math.max(0, Math.min(1, getCFrac(x0, y0), getCFrac(x1, y1)));\n var xLeft = ((afrac / 2) + cfrac) * _this.w;\n var xRight = (1 - (afrac / 2) - bfrac) * _this.w;\n var xCenter = (xLeft + xRight) / 2;\n var xSpan = xRight - xLeft;\n var yBottom = (1 - afrac) * _this.h;\n var yTop = yBottom - xSpan / whRatio;\n\n if(xSpan < constants.MINZOOM) {\n mins = mins0;\n zb.attr('d', path0);\n corners.attr('d', 'M0,0Z');\n } else {\n mins = {\n a: mins0.a + afrac * span0,\n b: mins0.b + bfrac * span0,\n c: mins0.c + cfrac * span0\n };\n zb.attr('d', path0 + 'M' + xLeft + ',' + yBottom +\n 'H' + xRight + 'L' + xCenter + ',' + yTop +\n 'L' + xLeft + ',' + yBottom + 'Z');\n corners.attr('d', 'M' + x0 + ',' + y0 + STARTMARKER +\n 'M' + xLeft + ',' + yBottom + BLPATH +\n 'M' + xRight + ',' + yBottom + BRPATH +\n 'M' + xCenter + ',' + yTop + TOPPATH);\n }\n\n if(!dimmed) {\n zb.transition()\n .style('fill', lum > 0.2 ? 'rgba(0,0,0,0.4)' :\n 'rgba(255,255,255,0.3)')\n .duration(200);\n corners.transition()\n .style('opacity', 1)\n .duration(200);\n dimmed = true;\n }\n\n gd.emit('plotly_relayouting', makeUpdate(mins));\n }\n\n function zoomDone() {\n removeZoombox(gd);\n\n if(mins === mins0) return;\n\n Registry.call('_guiRelayout', gd, makeUpdate(mins));\n\n if(SHOWZOOMOUTTIP && gd.data && gd._context.showTips) {\n Lib.notifier(_(gd, 'Double-click to zoom back out'), 'long');\n SHOWZOOMOUTTIP = false;\n }\n }\n\n function panPrep() {\n mins0 = {\n a: _this.aaxis.range[0],\n b: _this.baxis.range[1],\n c: _this.caxis.range[1]\n };\n mins = mins0;\n }\n\n function plotDrag(dx, dy) {\n var dxScaled = dx / _this.xaxis._m;\n var dyScaled = dy / _this.yaxis._m;\n mins = {\n a: mins0.a - dyScaled,\n b: mins0.b + (dxScaled + dyScaled) / 2,\n c: mins0.c - (dxScaled - dyScaled) / 2\n };\n var minsorted = [mins.a, mins.b, mins.c].sort();\n var minindices = {\n a: minsorted.indexOf(mins.a),\n b: minsorted.indexOf(mins.b),\n c: minsorted.indexOf(mins.c)\n };\n if(minsorted[0] < 0) {\n if(minsorted[1] + minsorted[0] / 2 < 0) {\n minsorted[2] += minsorted[0] + minsorted[1];\n minsorted[0] = minsorted[1] = 0;\n } else {\n minsorted[2] += minsorted[0] / 2;\n minsorted[1] += minsorted[0] / 2;\n minsorted[0] = 0;\n }\n mins = {\n a: minsorted[minindices.a],\n b: minsorted[minindices.b],\n c: minsorted[minindices.c]\n };\n dy = (mins0.a - mins.a) * _this.yaxis._m;\n dx = (mins0.c - mins.c - mins0.b + mins.b) * _this.xaxis._m;\n }\n\n // move the data (translate, don't redraw)\n var plotTransform = 'translate(' + (_this.x0 + dx) + ',' + (_this.y0 + dy) + ')';\n _this.plotContainer.selectAll('.scatterlayer,.maplayer')\n .attr('transform', plotTransform);\n\n var plotTransform2 = 'translate(' + -dx + ',' + -dy + ')';\n _this.clipDefRelative.select('path').attr('transform', plotTransform2);\n\n // move the ticks\n _this.aaxis.range = [mins.a, _this.sum - mins.b - mins.c];\n _this.baxis.range = [_this.sum - mins.a - mins.c, mins.b];\n _this.caxis.range = [_this.sum - mins.a - mins.b, mins.c];\n\n _this.drawAxes(false);\n\n if(_this._hasClipOnAxisFalse) {\n _this.plotContainer\n .select('.scatterlayer').selectAll('.trace')\n .call(Drawing.hideOutsideRangePoints, _this);\n }\n\n gd.emit('plotly_relayouting', makeUpdate(mins));\n }\n\n function dragDone() {\n Registry.call('_guiRelayout', gd, makeUpdate(mins));\n }\n\n // finally, set up hover and click\n // these event handlers must already be set before dragElement.init\n // so it can stash them and override them.\n dragger.onmousemove = function(evt) {\n Fx.hover(gd, evt, _this.id);\n gd._fullLayout._lasthover = dragger;\n gd._fullLayout._hoversubplot = _this.id;\n };\n\n dragger.onmouseout = function(evt) {\n if(gd._dragging) return;\n\n dragElement.unhover(gd, evt);\n };\n\n dragElement.init(dragOptions);\n};\n\nfunction removeZoombox(gd) {\n d3.select(gd)\n .selectAll('.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners')\n .remove();\n}\n\n\n/***/ }),\n\n/***/ \"5c9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"43ef\"),\n supplyDefaults: __webpack_require__(\"1a06\"),\n calc: __webpack_require__(\"6bd5\"),\n plot: __webpack_require__(\"6954\").plot,\n style: __webpack_require__(\"ee6b\"),\n colorbar: __webpack_require__(\"a5e1\"),\n hoverPoints: __webpack_require__(\"510f\"),\n\n moduleType: 'trace',\n name: 'contour',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'contour', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"5cc5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"5c9a\");\n\n\n/***/ }),\n\n/***/ \"5ccc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar glslify = __webpack_require__(\"e98f\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar vertSrc = glslify([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n uv = position;\\n gl_Position = vec4(position, 0, 1);\\n}\"])\nvar fragSrc = glslify([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"])\n\nmodule.exports = function(gl) {\n return createShader(gl, vertSrc, fragSrc, null, [ { name: 'position', type: 'vec2'}])\n}\n\n\n/***/ }),\n\n/***/ \"5cf9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction mouseButtons(ev) {\n if(typeof ev === 'object') {\n if('buttons' in ev) {\n return ev.buttons\n } else if('which' in ev) {\n var b = ev.which\n if(b === 2) {\n return 4\n } else if(b === 3) {\n return 2\n } else if(b > 0) {\n return 1<<(b-1)\n }\n } else if('button' in ev) {\n var b = ev.button\n if(b === 1) {\n return 4\n } else if(b === 2) {\n return 2\n } else if(b >= 0) {\n return 1<= 0)) {\n continue\n }\n\n var zeroIntercept = screenBox[i] -\n dataBox[i] * (screenBox[i+2] - screenBox[i]) / (dataBox[i+2] - dataBox[i])\n\n if(i === 0) {\n line.drawLine(\n zeroIntercept, screenBox[1], zeroIntercept, screenBox[3],\n zeroLineWidth[i],\n zeroLineColor[i])\n } else {\n line.drawLine(\n screenBox[0], zeroIntercept, screenBox[2], zeroIntercept,\n zeroLineWidth[i],\n zeroLineColor[i])\n }\n }\n }\n\n //Draw traces\n for(var i=0; i=0; --i) {\n this.objects[i].dispose()\n }\n this.objects.length = 0\n for(var i=this.overlays.length-1; i>=0; --i) {\n this.overlays[i].dispose()\n }\n this.overlays.length = 0\n\n this.gl = null\n}\n\nproto.addObject = function(object) {\n if(this.objects.indexOf(object) < 0) {\n this.objects.push(object)\n this.setDirty()\n }\n}\n\nproto.removeObject = function(object) {\n var objects = this.objects\n for(var i=0; i 2) {\n // This object contains more than just the key/value, so unset\n // the value without modifying the entry otherwise:\n changeTypes[idx] = changeTypes[idx] | VALUE;\n return obj.set(name, null);\n }\n\n if(isSimpleValueProp) {\n for(i = idx; i < arr.length; i++) {\n changeTypes[i] = changeTypes[i] | BOTH;\n }\n for(i = idx; i < arr.length; i++) {\n indexLookup[arr[i][keyName]]--;\n }\n arr.splice(idx, 1);\n delete(indexLookup[name]);\n } else {\n // Perform this update *strictly* so we can check whether the result's\n // been pruned. If so, it's a removal. If not, it's a value unset only.\n nestedProperty(object, valueName).set(null);\n\n // Now check if the top level nested property has any keys left. If so,\n // the object still has values so we only want to unset the key. If not,\n // the entire object can be removed since there's no other data.\n // var topLevelKeys = Object.keys(object[valueName.split('.')[0]] || []);\n\n changeTypes[idx] = changeTypes[idx] | VALUE | UNSET;\n }\n\n return obj;\n },\n constructUpdate: function() {\n var astr, idx;\n var update = {};\n var changed = Object.keys(changeTypes);\n for(var i = 0; i < changed.length; i++) {\n idx = changed[i];\n astr = path + '[' + idx + ']';\n if(arr[idx]) {\n if(changeTypes[idx] & NAME) {\n update[astr + '.' + keyName] = arr[idx][keyName];\n }\n if(changeTypes[idx] & VALUE) {\n if(isSimpleValueProp) {\n update[astr + '.' + valueName] = (changeTypes[idx] & UNSET) ? null : arr[idx][valueName];\n } else {\n update[astr + '.' + valueName] = (changeTypes[idx] & UNSET) ? null : nestedProperty(arr[idx], valueName).get();\n }\n }\n } else {\n update[astr] = null;\n }\n }\n\n return update;\n }\n };\n\n return obj;\n};\n\n\n/***/ }),\n\n/***/ \"5e2e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createBoxes\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\n\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction Boxes(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n}\n\nvar proto = Boxes.prototype\n\nproto.bind = function() {\n var shader = this.shader\n this.vbo.bind()\n this.shader.bind()\n shader.attributes.coord.pointer()\n shader.uniforms.screenBox = this.plot.screenBox\n}\n\nproto.drawBox = (function() {\n var lo = [0,0]\n var hi = [0,0]\n return function(loX, loY, hiX, hiY, color) {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n\n lo[0] = loX\n lo[1] = loY\n hi[0] = hiX\n hi[1] = hiY\n\n shader.uniforms.lo = lo\n shader.uniforms.hi = hi\n shader.uniforms.color = color\n\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)\n }\n}())\n\nproto.dispose = function() {\n this.vbo.dispose()\n this.shader.dispose()\n}\n\nfunction createBoxes(plot) {\n var gl = plot.gl\n var vbo = createBuffer(gl, [\n 0,0,\n 0,1,\n 1,0,\n 1,1])\n var shader = createShader(gl, shaders.boxVert, shaders.lineFrag)\n return new Boxes(plot, vbo, shader)\n}\n\n\n/***/ }),\n\n/***/ \"5e46\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterPolarFormatLabels = __webpack_require__(\"98e74\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var i = cdi.i;\n if(!('r' in cdi)) cdi.r = trace._r[i];\n if(!('theta' in cdi)) cdi.theta = trace._theta[i];\n return scatterPolarFormatLabels(cdi, trace, fullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"5e8f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar subtypes = __webpack_require__(\"de81\");\n\nmodule.exports = {\n hasLines: subtypes.hasLines,\n hasMarkers: subtypes.hasMarkers,\n hasText: subtypes.hasText,\n isBubble: subtypes.isBubble,\n\n attributes: __webpack_require__(\"107c\"),\n supplyDefaults: __webpack_require__(\"0eb7\"),\n crossTraceDefaults: __webpack_require__(\"0324\"),\n calc: __webpack_require__(\"70b4\").calc,\n crossTraceCalc: __webpack_require__(\"4324\"),\n arraysToCalcdata: __webpack_require__(\"106b\"),\n plot: __webpack_require__(\"f118\"),\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"7e96\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"391b\"),\n selectPoints: __webpack_require__(\"214c\"),\n animatable: true,\n\n moduleType: 'trace',\n name: 'scatter',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: [\n 'cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like',\n 'zoomScale'\n ],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"5ecd\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n // Keep this list sorted\r\n 'abs'\r\n , 'acos'\r\n , 'all'\r\n , 'any'\r\n , 'asin'\r\n , 'atan'\r\n , 'ceil'\r\n , 'clamp'\r\n , 'cos'\r\n , 'cross'\r\n , 'dFdx'\r\n , 'dFdy'\r\n , 'degrees'\r\n , 'distance'\r\n , 'dot'\r\n , 'equal'\r\n , 'exp'\r\n , 'exp2'\r\n , 'faceforward'\r\n , 'floor'\r\n , 'fract'\r\n , 'gl_BackColor'\r\n , 'gl_BackLightModelProduct'\r\n , 'gl_BackLightProduct'\r\n , 'gl_BackMaterial'\r\n , 'gl_BackSecondaryColor'\r\n , 'gl_ClipPlane'\r\n , 'gl_ClipVertex'\r\n , 'gl_Color'\r\n , 'gl_DepthRange'\r\n , 'gl_DepthRangeParameters'\r\n , 'gl_EyePlaneQ'\r\n , 'gl_EyePlaneR'\r\n , 'gl_EyePlaneS'\r\n , 'gl_EyePlaneT'\r\n , 'gl_Fog'\r\n , 'gl_FogCoord'\r\n , 'gl_FogFragCoord'\r\n , 'gl_FogParameters'\r\n , 'gl_FragColor'\r\n , 'gl_FragCoord'\r\n , 'gl_FragData'\r\n , 'gl_FragDepth'\r\n , 'gl_FragDepthEXT'\r\n , 'gl_FrontColor'\r\n , 'gl_FrontFacing'\r\n , 'gl_FrontLightModelProduct'\r\n , 'gl_FrontLightProduct'\r\n , 'gl_FrontMaterial'\r\n , 'gl_FrontSecondaryColor'\r\n , 'gl_LightModel'\r\n , 'gl_LightModelParameters'\r\n , 'gl_LightModelProducts'\r\n , 'gl_LightProducts'\r\n , 'gl_LightSource'\r\n , 'gl_LightSourceParameters'\r\n , 'gl_MaterialParameters'\r\n , 'gl_MaxClipPlanes'\r\n , 'gl_MaxCombinedTextureImageUnits'\r\n , 'gl_MaxDrawBuffers'\r\n , 'gl_MaxFragmentUniformComponents'\r\n , 'gl_MaxLights'\r\n , 'gl_MaxTextureCoords'\r\n , 'gl_MaxTextureImageUnits'\r\n , 'gl_MaxTextureUnits'\r\n , 'gl_MaxVaryingFloats'\r\n , 'gl_MaxVertexAttribs'\r\n , 'gl_MaxVertexTextureImageUnits'\r\n , 'gl_MaxVertexUniformComponents'\r\n , 'gl_ModelViewMatrix'\r\n , 'gl_ModelViewMatrixInverse'\r\n , 'gl_ModelViewMatrixInverseTranspose'\r\n , 'gl_ModelViewMatrixTranspose'\r\n , 'gl_ModelViewProjectionMatrix'\r\n , 'gl_ModelViewProjectionMatrixInverse'\r\n , 'gl_ModelViewProjectionMatrixInverseTranspose'\r\n , 'gl_ModelViewProjectionMatrixTranspose'\r\n , 'gl_MultiTexCoord0'\r\n , 'gl_MultiTexCoord1'\r\n , 'gl_MultiTexCoord2'\r\n , 'gl_MultiTexCoord3'\r\n , 'gl_MultiTexCoord4'\r\n , 'gl_MultiTexCoord5'\r\n , 'gl_MultiTexCoord6'\r\n , 'gl_MultiTexCoord7'\r\n , 'gl_Normal'\r\n , 'gl_NormalMatrix'\r\n , 'gl_NormalScale'\r\n , 'gl_ObjectPlaneQ'\r\n , 'gl_ObjectPlaneR'\r\n , 'gl_ObjectPlaneS'\r\n , 'gl_ObjectPlaneT'\r\n , 'gl_Point'\r\n , 'gl_PointCoord'\r\n , 'gl_PointParameters'\r\n , 'gl_PointSize'\r\n , 'gl_Position'\r\n , 'gl_ProjectionMatrix'\r\n , 'gl_ProjectionMatrixInverse'\r\n , 'gl_ProjectionMatrixInverseTranspose'\r\n , 'gl_ProjectionMatrixTranspose'\r\n , 'gl_SecondaryColor'\r\n , 'gl_TexCoord'\r\n , 'gl_TextureEnvColor'\r\n , 'gl_TextureMatrix'\r\n , 'gl_TextureMatrixInverse'\r\n , 'gl_TextureMatrixInverseTranspose'\r\n , 'gl_TextureMatrixTranspose'\r\n , 'gl_Vertex'\r\n , 'greaterThan'\r\n , 'greaterThanEqual'\r\n , 'inversesqrt'\r\n , 'length'\r\n , 'lessThan'\r\n , 'lessThanEqual'\r\n , 'log'\r\n , 'log2'\r\n , 'matrixCompMult'\r\n , 'max'\r\n , 'min'\r\n , 'mix'\r\n , 'mod'\r\n , 'normalize'\r\n , 'not'\r\n , 'notEqual'\r\n , 'pow'\r\n , 'radians'\r\n , 'reflect'\r\n , 'refract'\r\n , 'sign'\r\n , 'sin'\r\n , 'smoothstep'\r\n , 'sqrt'\r\n , 'step'\r\n , 'tan'\r\n , 'texture2D'\r\n , 'texture2DLod'\r\n , 'texture2DProj'\r\n , 'texture2DProjLod'\r\n , 'textureCube'\r\n , 'textureCubeLod'\r\n , 'texture2DLodEXT'\r\n , 'texture2DProjLodEXT'\r\n , 'textureCubeLodEXT'\r\n , 'texture2DGradEXT'\r\n , 'texture2DProjGradEXT'\r\n , 'textureCubeGradEXT'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"5edd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"936a\");\n\n// prettier-ignore\nvar possibleTypes = { \"object\": true, \"function\": true, \"undefined\": true /* document.all */ };\n\nmodule.exports = function (value) {\n\tif (!isValue(value)) return false;\n\treturn hasOwnProperty.call(possibleTypes, typeof value);\n};\n\n\n/***/ }),\n\n/***/ \"5f0d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar tarjan = __webpack_require__(\"53cc\");\nvar Lib = __webpack_require__(\"fc26\");\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\nvar isIndex = Lib.isIndex;\nvar Colorscale = __webpack_require__(\"c258\");\n\nfunction convertToD3Sankey(trace) {\n var nodeSpec = trace.node;\n var linkSpec = trace.link;\n\n var links = [];\n var hasLinkColorArray = isArrayOrTypedArray(linkSpec.color);\n var linkedNodes = {};\n\n var components = {};\n var componentCount = linkSpec.colorscales.length;\n var i;\n for(i = 0; i < componentCount; i++) {\n var cscale = linkSpec.colorscales[i];\n var specs = Colorscale.extractScale(cscale, {cLetter: 'c'});\n var scale = Colorscale.makeColorScaleFunc(specs);\n components[cscale.label] = scale;\n }\n\n var maxNodeId = 0;\n for(i = 0; i < linkSpec.value.length; i++) {\n if(linkSpec.source[i] > maxNodeId) maxNodeId = linkSpec.source[i];\n if(linkSpec.target[i] > maxNodeId) maxNodeId = linkSpec.target[i];\n }\n var nodeCount = maxNodeId + 1;\n trace.node._count = nodeCount;\n\n // Group nodes\n var j;\n var groups = trace.node.groups;\n var groupLookup = {};\n for(i = 0; i < groups.length; i++) {\n var group = groups[i];\n // Build a lookup table to quickly find in which group a node is\n for(j = 0; j < group.length; j++) {\n var nodeIndex = group[j];\n var groupIndex = nodeCount + i;\n if(groupLookup.hasOwnProperty(nodeIndex)) {\n Lib.warn('Node ' + nodeIndex + ' is already part of a group.');\n } else {\n groupLookup[nodeIndex] = groupIndex;\n }\n }\n }\n\n // Process links\n var groupedLinks = {\n source: [],\n target: []\n };\n for(i = 0; i < linkSpec.value.length; i++) {\n var val = linkSpec.value[i];\n // remove negative values, but keep zeros with special treatment\n var source = linkSpec.source[i];\n var target = linkSpec.target[i];\n if(!(val > 0 && isIndex(source, nodeCount) && isIndex(target, nodeCount))) {\n continue;\n }\n\n // Remove links that are within the same group\n if(groupLookup.hasOwnProperty(source) && groupLookup.hasOwnProperty(target) && groupLookup[source] === groupLookup[target]) {\n continue;\n }\n\n // if link targets a node in the group, relink target to that group\n if(groupLookup.hasOwnProperty(target)) {\n target = groupLookup[target];\n }\n\n // if link originates from a node in a group, relink source to that group\n if(groupLookup.hasOwnProperty(source)) {\n source = groupLookup[source];\n }\n\n source = +source;\n target = +target;\n linkedNodes[source] = linkedNodes[target] = true;\n\n var label = '';\n if(linkSpec.label && linkSpec.label[i]) label = linkSpec.label[i];\n\n var concentrationscale = null;\n if(label && components.hasOwnProperty(label)) concentrationscale = components[label];\n\n links.push({\n pointNumber: i,\n label: label,\n color: hasLinkColorArray ? linkSpec.color[i] : linkSpec.color,\n concentrationscale: concentrationscale,\n source: source,\n target: target,\n value: +val\n });\n\n groupedLinks.source.push(source);\n groupedLinks.target.push(target);\n }\n\n // Process nodes\n var totalCount = nodeCount + groups.length;\n var hasNodeColorArray = isArrayOrTypedArray(nodeSpec.color);\n var nodes = [];\n for(i = 0; i < totalCount; i++) {\n if(!linkedNodes[i]) continue;\n var l = nodeSpec.label[i];\n\n nodes.push({\n group: (i > nodeCount - 1),\n childrenNodes: [],\n pointNumber: i,\n label: l,\n color: hasNodeColorArray ? nodeSpec.color[i] : nodeSpec.color\n });\n }\n\n // Check if we have circularity on the resulting graph\n var circular = false;\n if(circularityPresent(totalCount, groupedLinks.source, groupedLinks.target)) {\n circular = true;\n }\n\n return {\n circular: circular,\n links: links,\n nodes: nodes,\n\n // Data structure for groups\n groups: groups,\n groupLookup: groupLookup\n };\n}\n\nfunction circularityPresent(nodeLen, sources, targets) {\n var nodes = Lib.init2dArray(nodeLen, 0);\n\n for(var i = 0; i < Math.min(sources.length, targets.length); i++) {\n if(Lib.isIndex(sources[i], nodeLen) && Lib.isIndex(targets[i], nodeLen)) {\n if(sources[i] === targets[i]) {\n return true; // self-link which is also a scc of one\n }\n nodes[sources[i]].push(targets[i]);\n }\n }\n\n var scc = tarjan(nodes);\n\n // Tarján's strongly connected components algorithm coded by Mikola Lysenko\n // returns at least one non-singular component if there's circularity in the graph\n return scc.components.some(function(c) {\n return c.length > 1;\n });\n}\n\nmodule.exports = function calc(gd, trace) {\n var result = convertToD3Sankey(trace);\n\n return wrap({\n circular: result.circular,\n _nodes: result.nodes,\n _links: result.links,\n\n // Data structure for grouping\n _groups: result.groups,\n _groupLookup: result.groupLookup,\n });\n};\n\n\n/***/ }),\n\n/***/ \"5f5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createSpikes2D\n\nfunction GLSpikes2D(plot) {\n this.plot = plot\n this.enable = [true, true, false, false]\n this.width = [1, 1, 1, 1]\n this.color = [[0,0,0,1],\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1]]\n this.center = [Infinity, Infinity]\n}\n\nvar proto = GLSpikes2D.prototype\n\nproto.update = function(options) {\n options = options || {}\n this.enable = (options.enable || [true,true,false,false]).slice()\n this.width = (options.width || [1,1,1,1]).slice()\n this.color = (options.color || [\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1],\n [0,0,0,1]]).map(function(x) { return x.slice() })\n this.center = (options.center || [Infinity,Infinity]).slice()\n this.plot.setOverlayDirty()\n}\n\nproto.draw = function() {\n var spikeEnable = this.enable\n var spikeWidth = this.width\n var spikeColor = this.color\n var spikeCenter = this.center\n var plot = this.plot\n var line = plot.line\n\n var dataBox = plot.dataBox\n var viewPixels = plot.viewBox\n\n line.bind()\n\n if(dataBox[0] <= spikeCenter[0] && spikeCenter[0] <= dataBox[2] &&\n dataBox[1] <= spikeCenter[1] && spikeCenter[1] <= dataBox[3]) {\n\n var centerX = viewPixels[0] + (spikeCenter[0] - dataBox[0]) / (dataBox[2] - dataBox[0]) * (viewPixels[2] - viewPixels[0])\n var centerY = viewPixels[1] + (spikeCenter[1] - dataBox[1]) / (dataBox[3] - dataBox[1]) * (viewPixels[3] - viewPixels[1])\n\n if(spikeEnable[0]) {\n line.drawLine(\n centerX, centerY,\n viewPixels[0], centerY,\n spikeWidth[0], spikeColor[0])\n }\n if(spikeEnable[1]) {\n line.drawLine(\n centerX, centerY,\n centerX, viewPixels[1],\n spikeWidth[1], spikeColor[1])\n }\n if(spikeEnable[2]) {\n line.drawLine(\n centerX, centerY,\n viewPixels[2], centerY,\n spikeWidth[2], spikeColor[2])\n }\n if(spikeEnable[3]) {\n line.drawLine(\n centerX, centerY,\n centerX, viewPixels[3],\n spikeWidth[3], spikeColor[3])\n }\n }\n}\n\nproto.dispose = function() {\n this.plot.removeOverlay(this)\n}\n\nfunction createSpikes2D(plot, options) {\n var spikes = new GLSpikes2D(plot)\n spikes.update(options)\n plot.addOverlay(spikes)\n return spikes\n}\n\n\n/***/ }),\n\n/***/ \"6024\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar setPrototypeOf = __webpack_require__(\"e0f6\")\n , contains = __webpack_require__(\"f973\")\n , d = __webpack_require__(\"f508\")\n , Symbol = __webpack_require__(\"1c4a\")\n , Iterator = __webpack_require__(\"06a2\");\n\nvar defineProperty = Object.defineProperty, ArrayIterator;\n\nArrayIterator = module.exports = function (arr, kind) {\n\tif (!(this instanceof ArrayIterator)) throw new TypeError(\"Constructor requires 'new'\");\n\tIterator.call(this, arr);\n\tif (!kind) kind = \"value\";\n\telse if (contains.call(kind, \"key+value\")) kind = \"key+value\";\n\telse if (contains.call(kind, \"key\")) kind = \"key\";\n\telse kind = \"value\";\n\tdefineProperty(this, \"__kind__\", d(\"\", kind));\n};\nif (setPrototypeOf) setPrototypeOf(ArrayIterator, Iterator);\n\n// Internal %ArrayIteratorPrototype% doesn't expose its constructor\ndelete ArrayIterator.prototype.constructor;\n\nArrayIterator.prototype = Object.create(Iterator.prototype, {\n\t_resolve: d(function (i) {\n\t\tif (this.__kind__ === \"value\") return this.__list__[i];\n\t\tif (this.__kind__ === \"key+value\") return [i, this.__list__[i]];\n\t\treturn i;\n\t})\n});\ndefineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n\n\n/***/ }),\n\n/***/ \"605a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.create = defaultTicks\nexports.equal = ticksEqual\n\nfunction prettyPrint(spacing, i) {\n var stepStr = spacing + \"\"\n var u = stepStr.indexOf(\".\")\n var sigFigs = 0\n if(u >= 0) {\n sigFigs = stepStr.length - u - 1\n }\n var shift = Math.pow(10, sigFigs)\n var x = Math.round(spacing * i * shift)\n var xstr = x + \"\"\n if(xstr.indexOf(\"e\") >= 0) {\n return xstr\n }\n var xi = x / shift, xf = x % shift\n if(x < 0) {\n xi = -Math.ceil(xi)|0\n xf = (-xf)|0\n } else {\n xi = Math.floor(xi)|0\n xf = xf|0\n }\n var xis = \"\" + xi \n if(x < 0) {\n xis = \"-\" + xis\n }\n if(sigFigs) {\n var xs = \"\" + xf\n while(xs.length < sigFigs) {\n xs = \"0\" + xs\n }\n return xis + \".\" + xs\n } else {\n return xis\n }\n}\n\nfunction defaultTicks(bounds, tickSpacing) {\n var array = []\n for(var d=0; d<3; ++d) {\n var ticks = []\n var m = 0.5*(bounds[0][d]+bounds[1][d])\n for(var t=0; t*tickSpacing[d]<=bounds[1][d]; ++t) {\n ticks.push({x: t*tickSpacing[d], text: prettyPrint(tickSpacing[d], t)})\n }\n for(var t=-1; t*tickSpacing[d]>=bounds[0][d]; --t) {\n ticks.push({x: t*tickSpacing[d], text: prettyPrint(tickSpacing[d], t)})\n }\n array.push(ticks)\n }\n return array\n}\n\nfunction ticksEqual(ticksA, ticksB) {\n for(var i=0; i<3; ++i) {\n if(ticksA[i].length !== ticksB[i].length) {\n return false\n }\n for(var j=0; j index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n\n\n/***/ }),\n\n/***/ \"60dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n boxmode: {\n valType: 'enumerated',\n values: ['group', 'overlay'],\n dflt: 'overlay',\n \n editType: 'calc',\n \n },\n boxgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.3,\n \n editType: 'calc',\n \n },\n boxgroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0.3,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"615a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createTextElements\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createShader = __webpack_require__(\"28dd\")\nvar getText = __webpack_require__(\"9662\")\nvar bsearch = __webpack_require__(\"cc77\")\nvar shaders = __webpack_require__(\"b44d\")\n\nfunction TextElements(plot, vbo, shader) {\n this.plot = plot\n this.vbo = vbo\n this.shader = shader\n this.tickOffset = [[],[]]\n this.tickX = [[],[]]\n this.labelOffset = [0,0]\n this.labelCount = [0,0]\n}\n\nvar proto = TextElements.prototype\n\nproto.drawTicks = (function() {\n var DATA_AXIS = [0,0]\n var SCREEN_OFFSET = [0,0]\n var ZERO_2 = [0,0]\n\n return function(axis) {\n var plot = this.plot\n var shader = this.shader\n var tickX = this.tickX[axis]\n var tickOffset = this.tickOffset[axis]\n var gl = plot.gl\n var viewBox = plot.viewBox\n var dataBox = plot.dataBox\n var screenBox = plot.screenBox\n var pixelRatio = plot.pixelRatio\n var tickEnable = plot.tickEnable\n var tickPad = plot.tickPad\n var textColor = plot.tickColor\n var textAngle = plot.tickAngle\n // todo check if this should be used (now unused)\n // var tickLength = plot.tickMarkLength\n\n var labelEnable = plot.labelEnable\n var labelPad = plot.labelPad\n var labelColor = plot.labelColor\n var labelAngle = plot.labelAngle\n var labelOffset = this.labelOffset[axis]\n var labelCount = this.labelCount[axis]\n\n var start = bsearch.lt(tickX, dataBox[axis])\n var end = bsearch.le(tickX, dataBox[axis+2])\n\n DATA_AXIS[0] = DATA_AXIS[1] = 0\n DATA_AXIS[axis] = 1\n\n SCREEN_OFFSET[axis] = (viewBox[2+axis] + viewBox[axis]) / (screenBox[2+axis] - screenBox[axis]) - 1.0\n\n var screenScale = 2.0 / screenBox[2+(axis^1)] - screenBox[axis^1]\n\n SCREEN_OFFSET[axis^1] = screenScale * viewBox[axis^1] - 1.0\n if(tickEnable[axis]) {\n SCREEN_OFFSET[axis^1] -= screenScale * pixelRatio * tickPad[axis]\n if(start < end && tickOffset[end] > tickOffset[start]) {\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = textColor[axis]\n shader.uniforms.angle = textAngle[axis]\n gl.drawArrays(\n gl.TRIANGLES,\n tickOffset[start],\n tickOffset[end] - tickOffset[start])\n }\n }\n if(labelEnable[axis] && labelCount) {\n SCREEN_OFFSET[axis^1] -= screenScale * pixelRatio * labelPad[axis]\n shader.uniforms.dataAxis = ZERO_2\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = labelColor[axis]\n shader.uniforms.angle = labelAngle[axis]\n gl.drawArrays(\n gl.TRIANGLES,\n labelOffset,\n labelCount)\n }\n\n SCREEN_OFFSET[axis^1] = screenScale * viewBox[2+(axis^1)] - 1.0\n if(tickEnable[axis+2]) {\n SCREEN_OFFSET[axis^1] += screenScale * pixelRatio * tickPad[axis+2]\n if(start < end && tickOffset[end] > tickOffset[start]) {\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = textColor[axis+2]\n shader.uniforms.angle = textAngle[axis+2]\n gl.drawArrays(\n gl.TRIANGLES,\n tickOffset[start],\n tickOffset[end] - tickOffset[start])\n }\n }\n if(labelEnable[axis+2] && labelCount) {\n SCREEN_OFFSET[axis^1] += screenScale * pixelRatio * labelPad[axis+2]\n shader.uniforms.dataAxis = ZERO_2\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.color = labelColor[axis+2]\n shader.uniforms.angle = labelAngle[axis+2]\n gl.drawArrays(\n gl.TRIANGLES,\n labelOffset,\n labelCount)\n }\n\n }\n})()\n\nproto.drawTitle = (function() {\n var DATA_AXIS = [0,0]\n var SCREEN_OFFSET = [0,0]\n\n return function() {\n var plot = this.plot\n var shader = this.shader\n var gl = plot.gl\n var screenBox = plot.screenBox\n var titleCenter = plot.titleCenter\n var titleAngle = plot.titleAngle\n var titleColor = plot.titleColor\n var pixelRatio = plot.pixelRatio\n\n if(!this.titleCount) {\n return\n }\n\n for(var i=0; i<2; ++i) {\n SCREEN_OFFSET[i] = 2.0 * (titleCenter[i]*pixelRatio - screenBox[i]) /\n (screenBox[2+i] - screenBox[i]) - 1\n }\n\n shader.bind()\n shader.uniforms.dataAxis = DATA_AXIS\n shader.uniforms.screenOffset = SCREEN_OFFSET\n shader.uniforms.angle = titleAngle\n shader.uniforms.color = titleColor\n\n gl.drawArrays(gl.TRIANGLES, this.titleOffset, this.titleCount)\n }\n})()\n\nproto.bind = (function() {\n var DATA_SHIFT = [0,0]\n var DATA_SCALE = [0,0]\n var TEXT_SCALE = [0,0]\n\n return function() {\n var plot = this.plot\n var shader = this.shader\n var bounds = plot._tickBounds\n var dataBox = plot.dataBox\n var screenBox = plot.screenBox\n var viewBox = plot.viewBox\n\n shader.bind()\n\n //Set up coordinate scaling uniforms\n for(var i=0; i<2; ++i) {\n\n var lo = bounds[i]\n var hi = bounds[i+2]\n var boundScale = hi - lo\n var dataCenter = 0.5 * (dataBox[i+2] + dataBox[i])\n var dataWidth = (dataBox[i+2] - dataBox[i])\n\n var viewLo = viewBox[i]\n var viewHi = viewBox[i+2]\n var viewScale = viewHi - viewLo\n var screenLo = screenBox[i]\n var screenHi = screenBox[i+2]\n var screenScale = screenHi - screenLo\n\n DATA_SCALE[i] = 2.0 * boundScale / dataWidth * viewScale / screenScale\n DATA_SHIFT[i] = 2.0 * (lo - dataCenter) / dataWidth * viewScale / screenScale\n }\n\n TEXT_SCALE[1] = 2.0 * plot.pixelRatio / (screenBox[3] - screenBox[1])\n TEXT_SCALE[0] = TEXT_SCALE[1] * (screenBox[3] - screenBox[1]) / (screenBox[2] - screenBox[0])\n\n shader.uniforms.dataScale = DATA_SCALE\n shader.uniforms.dataShift = DATA_SHIFT\n shader.uniforms.textScale = TEXT_SCALE\n\n //Set attributes\n this.vbo.bind()\n shader.attributes.textCoordinate.pointer()\n }\n})()\n\nproto.update = function(options) {\n var vertices = []\n var axesTicks = options.ticks\n var bounds = options.bounds\n var i, j, k, data, scale, dimension\n\n for(dimension=0; dimension<2; ++dimension) {\n var offsets = [Math.floor(vertices.length/3)], tickX = [-Infinity]\n\n //Copy vertices over to buffer\n var ticks = axesTicks[dimension]\n for(i=0; i 1e-6) {\n out[0] = ax/al\n out[1] = ay/al\n out[2] = az/al\n out[3] = aw/al\n } else {\n out[0] = out[1] = out[2] = 0.0\n out[3] = 1.0\n }\n}\n\nfunction OrbitCameraController(initQuat, initCenter, initRadius) {\n this.radius = filterVector([initRadius])\n this.center = filterVector(initCenter)\n this.rotation = filterVector(initQuat)\n\n this.computedRadius = this.radius.curve(0)\n this.computedCenter = this.center.curve(0)\n this.computedRotation = this.rotation.curve(0)\n this.computedUp = [0.1,0,0]\n this.computedEye = [0.1,0,0]\n this.computedMatrix = [0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]\n\n this.recalcMatrix(0)\n}\n\nvar proto = OrbitCameraController.prototype\n\nproto.lastT = function() {\n return Math.max(\n this.radius.lastT(),\n this.center.lastT(),\n this.rotation.lastT())\n}\n\nproto.recalcMatrix = function(t) {\n this.radius.curve(t)\n this.center.curve(t)\n this.rotation.curve(t)\n\n var quat = this.computedRotation\n normalize4(quat, quat)\n\n var mat = this.computedMatrix\n mat4FromQuat(mat, quat)\n\n var center = this.computedCenter\n var eye = this.computedEye\n var up = this.computedUp\n var radius = Math.exp(this.computedRadius[0])\n\n eye[0] = center[0] + radius * mat[2]\n eye[1] = center[1] + radius * mat[6]\n eye[2] = center[2] + radius * mat[10]\n up[0] = mat[1]\n up[1] = mat[5]\n up[2] = mat[9]\n\n for(var i=0; i<3; ++i) {\n var rr = 0.0\n for(var j=0; j<3; ++j) {\n rr += mat[i+4*j] * eye[j]\n }\n mat[12+i] = -rr\n }\n}\n\nproto.getMatrix = function(t, result) {\n this.recalcMatrix(t)\n var m = this.computedMatrix\n if(result) {\n for(var i=0; i<16; ++i) {\n result[i] = m[i]\n }\n return result\n }\n return m\n}\n\nproto.idle = function(t) {\n this.center.idle(t)\n this.radius.idle(t)\n this.rotation.idle(t)\n}\n\nproto.flush = function(t) {\n this.center.flush(t)\n this.radius.flush(t)\n this.rotation.flush(t)\n}\n\nproto.pan = function(t, dx, dy, dz) {\n dx = dx || 0.0\n dy = dy || 0.0\n dz = dz || 0.0\n\n this.recalcMatrix(t)\n var mat = this.computedMatrix\n\n var ux = mat[1]\n var uy = mat[5]\n var uz = mat[9]\n var ul = len3(ux, uy, uz)\n ux /= ul\n uy /= ul\n uz /= ul\n\n var rx = mat[0]\n var ry = mat[4]\n var rz = mat[8]\n var ru = rx * ux + ry * uy + rz * uz\n rx -= ux * ru\n ry -= uy * ru\n rz -= uz * ru\n var rl = len3(rx, ry, rz)\n rx /= rl\n ry /= rl\n rz /= rl\n\n var fx = mat[2]\n var fy = mat[6]\n var fz = mat[10]\n var fu = fx * ux + fy * uy + fz * uz\n var fr = fx * rx + fy * ry + fz * rz\n fx -= fu * ux + fr * rx\n fy -= fu * uy + fr * ry\n fz -= fu * uz + fr * rz\n var fl = len3(fx, fy, fz)\n fx /= fl\n fy /= fl\n fz /= fl\n\n var vx = rx * dx + ux * dy\n var vy = ry * dx + uy * dy\n var vz = rz * dx + uz * dy\n\n this.center.move(t, vx, vy, vz)\n\n //Update z-component of radius\n var radius = Math.exp(this.computedRadius[0])\n radius = Math.max(1e-4, radius + dz)\n this.radius.set(t, Math.log(radius))\n}\n\nproto.rotate = function(t, dx, dy, dz) {\n this.recalcMatrix(t)\n\n dx = dx||0.0\n dy = dy||0.0\n\n var mat = this.computedMatrix\n\n var rx = mat[0]\n var ry = mat[4]\n var rz = mat[8]\n\n var ux = mat[1]\n var uy = mat[5]\n var uz = mat[9]\n\n var fx = mat[2]\n var fy = mat[6]\n var fz = mat[10]\n\n var qx = dx * rx + dy * ux\n var qy = dx * ry + dy * uy\n var qz = dx * rz + dy * uz\n\n var bx = -(fy * qz - fz * qy)\n var by = -(fz * qx - fx * qz)\n var bz = -(fx * qy - fy * qx) \n var bw = Math.sqrt(Math.max(0.0, 1.0 - Math.pow(bx,2) - Math.pow(by,2) - Math.pow(bz,2)))\n var bl = len4(bx, by, bz, bw)\n if(bl > 1e-6) {\n bx /= bl\n by /= bl\n bz /= bl\n bw /= bl\n } else {\n bx = by = bz = 0.0\n bw = 1.0\n }\n\n var rotation = this.computedRotation\n var ax = rotation[0]\n var ay = rotation[1]\n var az = rotation[2]\n var aw = rotation[3]\n\n var cx = ax*bw + aw*bx + ay*bz - az*by\n var cy = ay*bw + aw*by + az*bx - ax*bz\n var cz = az*bw + aw*bz + ax*by - ay*bx\n var cw = aw*bw - ax*bx - ay*by - az*bz\n \n //Apply roll\n if(dz) {\n bx = fx\n by = fy\n bz = fz\n var s = Math.sin(dz) / len3(bx, by, bz)\n bx *= s\n by *= s\n bz *= s\n bw = Math.cos(dx)\n cx = cx*bw + cw*bx + cy*bz - cz*by\n cy = cy*bw + cw*by + cz*bx - cx*bz\n cz = cz*bw + cw*bz + cx*by - cy*bx\n cw = cw*bw - cx*bx - cy*by - cz*bz\n }\n\n var cl = len4(cx, cy, cz, cw)\n if(cl > 1e-6) {\n cx /= cl\n cy /= cl\n cz /= cl\n cw /= cl\n } else {\n cx = cy = cz = 0.0\n cw = 1.0\n }\n\n this.rotation.set(t, cx, cy, cz, cw)\n}\n\nproto.lookAt = function(t, eye, center, up) {\n this.recalcMatrix(t)\n\n center = center || this.computedCenter\n eye = eye || this.computedEye\n up = up || this.computedUp\n\n var mat = this.computedMatrix\n lookAt(mat, eye, center, up)\n\n var rotation = this.computedRotation\n quatFromFrame(rotation,\n mat[0], mat[1], mat[2],\n mat[4], mat[5], mat[6],\n mat[8], mat[9], mat[10])\n normalize4(rotation, rotation)\n this.rotation.set(t, rotation[0], rotation[1], rotation[2], rotation[3])\n\n var fl = 0.0\n for(var i=0; i<3; ++i) {\n fl += Math.pow(center[i] - eye[i], 2)\n }\n this.radius.set(t, 0.5 * Math.log(Math.max(fl, 1e-6)))\n\n this.center.set(t, center[0], center[1], center[2])\n}\n\nproto.translate = function(t, dx, dy, dz) {\n this.center.move(t,\n dx||0.0,\n dy||0.0,\n dz||0.0)\n}\n\nproto.setMatrix = function(t, matrix) {\n\n var rotation = this.computedRotation\n quatFromFrame(rotation,\n matrix[0], matrix[1], matrix[2],\n matrix[4], matrix[5], matrix[6],\n matrix[8], matrix[9], matrix[10])\n normalize4(rotation, rotation)\n this.rotation.set(t, rotation[0], rotation[1], rotation[2], rotation[3])\n\n var mat = this.computedMatrix\n invert44(mat, matrix)\n var w = mat[15]\n if(Math.abs(w) > 1e-6) {\n var cx = mat[12]/w\n var cy = mat[13]/w\n var cz = mat[14]/w\n\n this.recalcMatrix(t) \n var r = Math.exp(this.computedRadius[0])\n this.center.set(t, cx-mat[2]*r, cy-mat[6]*r, cz-mat[10]*r)\n this.radius.idle(t)\n } else {\n this.center.idle(t)\n this.radius.idle(t)\n }\n}\n\nproto.setDistance = function(t, d) {\n if(d > 0) {\n this.radius.set(t, Math.log(d))\n }\n}\n\nproto.setDistanceLimits = function(lo, hi) {\n if(lo > 0) {\n lo = Math.log(lo)\n } else {\n lo = -Infinity \n }\n if(hi > 0) {\n hi = Math.log(hi)\n } else {\n hi = Infinity\n }\n hi = Math.max(hi, lo)\n this.radius.bounds[0][0] = lo\n this.radius.bounds[1][0] = hi\n}\n\nproto.getDistanceLimits = function(out) {\n var bounds = this.radius.bounds\n if(out) {\n out[0] = Math.exp(bounds[0][0])\n out[1] = Math.exp(bounds[1][0])\n return out\n }\n return [ Math.exp(bounds[0][0]), Math.exp(bounds[1][0]) ]\n}\n\nproto.toJSON = function() {\n this.recalcMatrix(this.lastT())\n return {\n center: this.computedCenter.slice(),\n rotation: this.computedRotation.slice(),\n distance: Math.log(this.computedRadius[0]),\n zoomMin: this.radius.bounds[0][0],\n zoomMax: this.radius.bounds[1][0]\n }\n}\n\nproto.fromJSON = function(options) {\n var t = this.lastT()\n var c = options.center\n if(c) {\n this.center.set(t, c[0], c[1], c[2])\n }\n var r = options.rotation\n if(r) {\n this.rotation.set(t, r[0], r[1], r[2], r[3])\n }\n var d = options.distance\n if(d && d > 0) {\n this.radius.set(t, Math.log(d))\n }\n this.setDistanceLimits(options.zoomMin, options.zoomMax)\n}\n\nfunction createOrbitController(options) {\n options = options || {}\n var center = options.center || [0,0,0]\n var rotation = options.rotation || [0,0,0,1]\n var radius = options.radius || 1.0\n\n center = [].slice.call(center, 0, 3)\n rotation = [].slice.call(rotation, 0, 4)\n normalize4(rotation, rotation)\n\n var result = new OrbitCameraController(\n rotation,\n center,\n Math.log(radius))\n\n result.setDistanceLimits(options.zoomMin, options.zoomMax)\n\n if('eye' in options || 'up' in options) {\n result.lookAt(0, options.eye, options.center, options.up)\n }\n\n return result\n}\n\n/***/ }),\n\n/***/ \"6259\":\n/***/ (function(module, exports) {\n\nmodule.exports = transformMat4\n\n/**\n * Transforms the vec4 with a mat4.\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the vector to transform\n * @param {mat4} m matrix to transform with\n * @returns {vec4} out\n */\nfunction transformMat4 (out, a, m) {\n var x = a[0], y = a[1], z = a[2], w = a[3]\n out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w\n out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w\n out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w\n out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w\n return out\n}\n\n\n/***/ }),\n\n/***/ \"6295\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createShader = __webpack_require__(\"28dd\")\nvar glslify = __webpack_require__(\"e98f\")\n\nvar vertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 localCoordinate = vec3(uv.zw, f.x);\\n worldCoordinate = objectOffset + localCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n vec4 clipPosition = projection * view * worldPosition;\\n gl_Position = clipPosition;\\n kill = f.y;\\n value = f.z;\\n planeCoordinate = uv.xy;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Lighting geometry parameters\\n vec4 cameraCoordinate = view * worldPosition;\\n cameraCoordinate.xyz /= cameraCoordinate.w;\\n lightDirection = lightPosition - cameraCoordinate.xyz;\\n eyeDirection = eyePosition - cameraCoordinate.xyz;\\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"])\nvar fragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n float NdotH = max(x, 0.0001);\\n float cos2Alpha = NdotH * NdotH;\\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n float roughness2 = roughness * roughness;\\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n vec3 lightDirection,\\n vec3 viewDirection,\\n vec3 surfaceNormal,\\n float roughness) {\\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec3 N = normalize(surfaceNormal);\\n vec3 V = normalize(eyeDirection);\\n vec3 L = normalize(lightDirection);\\n\\n if(gl_FrontFacing) {\\n N = -N;\\n }\\n\\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n //decide how to interpolate color — in vertex or in fragment\\n vec4 surfaceColor =\\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n step(.5, vertexColor) * vColor;\\n\\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\\n\\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"])\nvar contourVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n worldCoordinate = objectOffset + dataCoordinate;\\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n vec4 clipPosition = projection * view * worldPosition;\\n clipPosition.z += zOffset;\\n\\n gl_Position = clipPosition;\\n value = f + objectOffset.z;\\n kill = -1.0;\\n planeCoordinate = uv.zw;\\n\\n vColor = texture2D(colormap, vec2(value, value));\\n\\n //Don't do lighting for contours\\n surfaceNormal = vec3(1,0,0);\\n eyeDirection = vec3(0,1,0);\\n lightDirection = vec3(0,0,1);\\n}\\n\"])\nvar pickSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n float vh = 255.0 * v;\\n float upper = floor(vh);\\n float lower = fract(vh);\\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n if ((kill > 0.0) ||\\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"])\n\nexports.createShader = function (gl) {\n var shader = createShader(gl, vertSrc, fragSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'vec3'},\n {name: 'normal', type: 'vec3'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n shader.attributes.normal.location = 2\n return shader\n}\nexports.createPickShader = function (gl) {\n var shader = createShader(gl, vertSrc, pickSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'vec3'},\n {name: 'normal', type: 'vec3'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n shader.attributes.normal.location = 2\n return shader\n}\nexports.createContourShader = function (gl) {\n var shader = createShader(gl, contourVertSrc, fragSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'float'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n return shader\n}\nexports.createPickContourShader = function (gl) {\n var shader = createShader(gl, contourVertSrc, pickSrc, null, [\n {name: 'uv', type: 'vec4'},\n {name: 'f', type: 'float'}\n ])\n shader.attributes.uv.location = 0\n shader.attributes.f.location = 1\n return shader\n}\n\n\n/***/ }),\n\n/***/ \"62c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _undefined = __webpack_require__(\"e76c\")(); // Support ES3 engines\n\nmodule.exports = function (val) { return val !== _undefined && val !== null; };\n\n\n/***/ }),\n\n/***/ \"62d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar compile = __webpack_require__(\"40ce\")\n\nvar EmptyProc = {\n body: \"\",\n args: [],\n thisVars: [],\n localVars: []\n}\n\nfunction fixup(x) {\n if(!x) {\n return EmptyProc\n }\n for(var i=0; i>\",\n rrshift: \">>>\"\n}\n;(function(){\n for(var id in assign_ops) {\n var op = assign_ops[id]\n exports[id] = makeOp({\n args: [\"array\",\"array\",\"array\"],\n body: {args:[\"a\",\"b\",\"c\"],\n body: \"a=b\"+op+\"c\"},\n funcName: id\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\",\"array\"],\n body: {args:[\"a\",\"b\"],\n body:\"a\"+op+\"=b\"},\n rvalue: true,\n funcName: id+\"eq\"\n })\n exports[id+\"s\"] = makeOp({\n args: [\"array\", \"array\", \"scalar\"],\n body: {args:[\"a\",\"b\",\"s\"],\n body:\"a=b\"+op+\"s\"},\n funcName: id+\"s\"\n })\n exports[id+\"seq\"] = makeOp({\n args: [\"array\",\"scalar\"],\n body: {args:[\"a\",\"s\"],\n body:\"a\"+op+\"=s\"},\n rvalue: true,\n funcName: id+\"seq\"\n })\n }\n})();\n\nvar unary_ops = {\n not: \"!\",\n bnot: \"~\",\n neg: \"-\",\n recip: \"1.0/\"\n}\n;(function(){\n for(var id in unary_ops) {\n var op = unary_ops[id]\n exports[id] = makeOp({\n args: [\"array\", \"array\"],\n body: {args:[\"a\",\"b\"],\n body:\"a=\"+op+\"b\"},\n funcName: id\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\"],\n body: {args:[\"a\"],\n body:\"a=\"+op+\"a\"},\n rvalue: true,\n count: 2,\n funcName: id+\"eq\"\n })\n }\n})();\n\nvar binary_ops = {\n and: \"&&\",\n or: \"||\",\n eq: \"===\",\n neq: \"!==\",\n lt: \"<\",\n gt: \">\",\n leq: \"<=\",\n geq: \">=\"\n}\n;(function() {\n for(var id in binary_ops) {\n var op = binary_ops[id]\n exports[id] = makeOp({\n args: [\"array\",\"array\",\"array\"],\n body: {args:[\"a\", \"b\", \"c\"],\n body:\"a=b\"+op+\"c\"},\n funcName: id\n })\n exports[id+\"s\"] = makeOp({\n args: [\"array\",\"array\",\"scalar\"],\n body: {args:[\"a\", \"b\", \"s\"],\n body:\"a=b\"+op+\"s\"},\n funcName: id+\"s\"\n })\n exports[id+\"eq\"] = makeOp({\n args: [\"array\", \"array\"],\n body: {args:[\"a\", \"b\"],\n body:\"a=a\"+op+\"b\"},\n rvalue:true,\n count:2,\n funcName: id+\"eq\"\n })\n exports[id+\"seq\"] = makeOp({\n args: [\"array\", \"scalar\"],\n body: {args:[\"a\",\"s\"],\n body:\"a=a\"+op+\"s\"},\n rvalue:true,\n count:2,\n funcName: id+\"seq\"\n })\n }\n})();\n\nvar math_unary = [\n \"abs\",\n \"acos\",\n \"asin\",\n \"atan\",\n \"ceil\",\n \"cos\",\n \"exp\",\n \"floor\",\n \"log\",\n \"round\",\n \"sin\",\n \"sqrt\",\n \"tan\"\n]\n;(function() {\n for(var i=0; ithis_s){this_s=-a}else if(a>this_s){this_s=a}\", localVars: [], thisVars: [\"this_s\"]},\n post: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"return this_s\"},\n funcName: \"norminf\"\n})\n\nexports.norm1 = compile({\n args:[\"array\"],\n pre: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"this_s=0\"},\n body: {args:[{name:\"a\", lvalue:false, rvalue:true, count:3}], body: \"this_s+=a<0?-a:a\", localVars: [], thisVars: [\"this_s\"]},\n post: {args:[], localVars:[], thisVars:[\"this_s\"], body:\"return this_s\"},\n funcName: \"norm1\"\n})\n\nexports.sup = compile({\n args: [ \"array\" ],\n pre:\n { body: \"this_h=-Infinity\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n body:\n { body: \"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",\n args: [{\"name\":\"_inline_1_arg0_\",\"lvalue\":false,\"rvalue\":true,\"count\":2} ],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n post:\n { body: \"return this_h\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] }\n })\n\nexports.inf = compile({\n args: [ \"array\" ],\n pre:\n { body: \"this_h=Infinity\",\n args: [],\n thisVars: [ \"this_h\" ],\n localVars: [] },\n body:\n { body: \"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",\n args:[\n {name:\"_inline_1_arg0_\",lvalue:false,rvalue:true,count:2},\n {name:\"_inline_1_arg1_\",lvalue:false,rvalue:true,count:2}],\n thisVars:[\"this_i\",\"this_v\"],\n localVars:[\"_inline_1_k\"]},\n post:{\n body:\"{return this_i}\",\n args:[],\n thisVars:[\"this_i\"],\n localVars:[]}\n}) \n\nexports.random = makeOp({\n args: [\"array\"],\n pre: {args:[], body:\"this_f=Math.random\", thisVars:[\"this_f\"]},\n body: {args: [\"a\"], body:\"a=this_f()\", thisVars:[\"this_f\"]},\n funcName: \"random\"\n})\n\nexports.assign = makeOp({\n args:[\"array\", \"array\"],\n body: {args:[\"a\", \"b\"], body:\"a=b\"},\n funcName: \"assign\" })\n\nexports.assigns = makeOp({\n args:[\"array\", \"scalar\"],\n body: {args:[\"a\", \"b\"], body:\"a=b\"},\n funcName: \"assigns\" })\n\n\nexports.equals = compile({\n args:[\"array\", \"array\"],\n pre: EmptyProc,\n body: {args:[{name:\"x\", lvalue:false, rvalue:true, count:1},\n {name:\"y\", lvalue:false, rvalue:true, count:1}], \n body: \"if(x!==y){return false}\", \n localVars: [], \n thisVars: []},\n post: {args:[], localVars:[], thisVars:[], body:\"return true\"},\n funcName: \"equals\"\n})\n\n\n\n\n/***/ }),\n\n/***/ \"62e4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n\n/***/ \"6321\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isPrototype = __webpack_require__(\"9013\");\n\nmodule.exports = function (value) {\n\tif (typeof value !== \"function\") return false;\n\n\tif (!hasOwnProperty.call(value, \"length\")) return false;\n\n\ttry {\n\t\tif (typeof value.length !== \"number\") return false;\n\t\tif (typeof value.call !== \"function\") return false;\n\t\tif (typeof value.apply !== \"function\") return false;\n\t} catch (error) {\n\t\treturn false;\n\t}\n\n\treturn !isPrototype(value);\n};\n\n\n/***/ }),\n\n/***/ \"6386\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'scatterpolar',\n basePlotModule: __webpack_require__(\"c07c\"),\n categories: ['polar', 'symbols', 'showLegend', 'scatter-like'],\n\n attributes: __webpack_require__(\"8a6e\"),\n supplyDefaults: __webpack_require__(\"66db\").supplyDefaults,\n colorbar: __webpack_require__(\"f3cf\"),\n formatLabels: __webpack_require__(\"98e74\"),\n calc: __webpack_require__(\"8a43\"),\n plot: __webpack_require__(\"8260\"),\n style: __webpack_require__(\"52e8\").style,\n styleOnSelect: __webpack_require__(\"52e8\").styleOnSelect,\n hoverPoints: __webpack_require__(\"efcd\").hoverPoints,\n selectPoints: __webpack_require__(\"214c\"),\n\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"63dc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// fraction of some size to get to a named position\nmodule.exports = {\n // from bottom left: this is the origin of our paper-reference\n // positioning system\n FROM_BL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // from top left: this is the screen pixel positioning origin\n FROM_TL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 1,\n middle: 0.5,\n top: 0\n },\n // from bottom right: sometimes you just need the opposite of ^^\n FROM_BR: {\n left: 1,\n center: 0.5,\n right: 0,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // multiple of fontSize to get the vertical offset between lines\n LINE_SPACING: 1.3,\n\n // multiple of fontSize to shift from the baseline\n // to the cap (captical letter) line\n // (to use when we don't calculate this shift from Drawing.bBox)\n // This is an approximation since in reality cap height can differ\n // from font to font. However, according to Wikipedia\n // an \"average\" font might have a cap height of 70% of the em\n // https://en.wikipedia.org/wiki/Em_(typography)#History\n CAP_SHIFT: 0.70,\n\n // half the cap height (distance between baseline and cap line)\n // of an \"average\" font (for more info see above).\n MID_SHIFT: 0.35,\n\n OPPOSITE_SIDE: {\n left: 'right',\n right: 'left',\n top: 'bottom',\n bottom: 'top'\n }\n};\n\n\n/***/ }),\n\n/***/ \"643c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar plots = __webpack_require__(\"bb71\");\n\nexports.name = 'indicator';\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n plots.plotBasePlot(exports.name, gd, traces, transitionOpts, makeOnCompleteCallback);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n plots.cleanBasePlot(exports.name, newFullData, newFullLayout, oldFullData, oldFullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"644a\":\n/***/ (function(module, exports) {\n\nmodule.exports = squaredLength\n\n/**\n * Calculates the squared length of a vec4\n *\n * @param {vec4} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nfunction squaredLength (a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3]\n return x * x + y * y + z * z + w * w\n}\n\n\n/***/ }),\n\n/***/ \"64c3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\nvar OHLCattrs = __webpack_require__(\"6657\");\nvar boxAttrs = __webpack_require__(\"1ebf\");\n\nfunction directionAttrs(lineColorDefault) {\n return {\n line: {\n color: extendFlat({}, boxAttrs.line.color, {dflt: lineColorDefault}),\n width: boxAttrs.line.width,\n editType: 'style'\n },\n\n fillcolor: boxAttrs.fillcolor,\n editType: 'style'\n };\n}\n\nmodule.exports = {\n x: OHLCattrs.x,\n open: OHLCattrs.open,\n high: OHLCattrs.high,\n low: OHLCattrs.low,\n close: OHLCattrs.close,\n\n line: {\n width: extendFlat({}, boxAttrs.line.width, {\n \n }),\n editType: 'style'\n },\n\n increasing: directionAttrs(OHLCattrs.increasing.line.color.dflt),\n\n decreasing: directionAttrs(OHLCattrs.decreasing.line.color.dflt),\n\n text: OHLCattrs.text,\n hovertext: OHLCattrs.hovertext,\n whiskerwidth: extendFlat({}, boxAttrs.whiskerwidth, { dflt: 0 }),\n\n hoverlabel: OHLCattrs.hoverlabel,\n};\n\n\n/***/ }),\n\n/***/ \"6533\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleLabelDefaults(coerce, layout, lineColor, opts) {\n if(!opts) opts = {};\n var showLabels = coerce('contours.showlabels');\n if(showLabels) {\n var globalFont = layout.font;\n Lib.coerceFont(coerce, 'contours.labelfont', {\n family: globalFont.family,\n size: globalFont.size,\n color: lineColor\n });\n coerce('contours.labelformat');\n }\n\n if(opts.hasHover !== false) coerce('zhoverformat');\n};\n\n\n/***/ }),\n\n/***/ \"6547\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"a691\");\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n\n\n/***/ }),\n\n/***/ \"654e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"535c\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var lon = coerce('lon') || [];\n var lat = coerce('lat') || [];\n\n var len = Math.min(lon.length, lat.length);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = len;\n\n coerce('z');\n coerce('radius');\n coerce('below');\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'});\n};\n\n\n/***/ }),\n\n/***/ \"6578\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"16ef\");\n\n\n/***/ }),\n\n/***/ \"6599\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar generated = Object.create(null), random = Math.random;\n\nmodule.exports = function () {\n\tvar str;\n\tdo {\n\t\tstr = random().toString(36).slice(2);\n\t} while (generated[str]);\n\treturn str;\n};\n\n\n/***/ }),\n\n/***/ \"65f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\nvar isArray = __webpack_require__(\"e8b5\");\nvar wellKnownSymbol = __webpack_require__(\"b622\");\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n\n/***/ }),\n\n/***/ \"661c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Loggers = __webpack_require__(\"ae13\");\nvar mod = __webpack_require__(\"d3dc\").mod;\n\nvar constants = __webpack_require__(\"e806\");\nvar BADNUM = constants.BADNUM;\nvar ONEDAY = constants.ONEDAY;\nvar ONEHOUR = constants.ONEHOUR;\nvar ONEMIN = constants.ONEMIN;\nvar ONESEC = constants.ONESEC;\nvar EPOCHJD = constants.EPOCHJD;\n\nvar Registry = __webpack_require__(\"371e\");\n\nvar utcFormat = d3.time.format.utc;\n\nvar DATETIME_REGEXP = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m;\n// special regex for chinese calendars to support yyyy-mmi-dd etc for intercalary months\nvar DATETIME_REGEXP_CN = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m;\n\n// for 2-digit years, the first year we map them onto\nvar YFIRST = new Date().getFullYear() - 70;\n\nfunction isWorldCalendar(calendar) {\n return (\n calendar &&\n Registry.componentsRegistry.calendars &&\n typeof calendar === 'string' && calendar !== 'gregorian'\n );\n}\n\n/*\n * dateTick0: get the canonical tick for this calendar\n *\n * bool sunday is for week ticks, shift it to a Sunday.\n */\nexports.dateTick0 = function(calendar, sunday) {\n if(isWorldCalendar(calendar)) {\n return sunday ?\n Registry.getComponentMethod('calendars', 'CANONICAL_SUNDAY')[calendar] :\n Registry.getComponentMethod('calendars', 'CANONICAL_TICK')[calendar];\n } else {\n return sunday ? '2000-01-02' : '2000-01-01';\n }\n};\n\n/*\n * dfltRange: for each calendar, give a valid default range\n */\nexports.dfltRange = function(calendar) {\n if(isWorldCalendar(calendar)) {\n return Registry.getComponentMethod('calendars', 'DFLTRANGE')[calendar];\n } else {\n return ['2000-01-01', '2001-01-01'];\n }\n};\n\n// is an object a javascript date?\nexports.isJSDate = function(v) {\n return typeof v === 'object' && v !== null && typeof v.getTime === 'function';\n};\n\n// The absolute limits of our date-time system\n// This is a little weird: we use MIN_MS and MAX_MS in dateTime2ms\n// but we use dateTime2ms to calculate them (after defining it!)\nvar MIN_MS, MAX_MS;\n\n/**\n * dateTime2ms - turn a date object or string s into milliseconds\n * (relative to 1970-01-01, per javascript standard)\n * optional calendar (string) to use a non-gregorian calendar\n *\n * Returns BADNUM if it doesn't find a date\n *\n * strings should have the form:\n *\n * -?YYYY-mm-ddHH:MM:SS.sss?\n *\n * : space (our normal standard) or T or t (ISO-8601)\n * : Z, z, or [+\\-]HH:?MM and we THROW IT AWAY\n * this format comes from https://tools.ietf.org/html/rfc3339#section-5.6\n * but we allow it even with a space as the separator\n *\n * May truncate after any full field, and sss can be any length\n * even >3 digits, though javascript dates truncate to milliseconds,\n * we keep as much as javascript numeric precision can hold, but we only\n * report back up to 100 microsecond precision, because most dates support\n * this precision (close to 1970 support more, very far away support less)\n *\n * Expanded to support negative years to -9999 but you must always\n * give 4 digits, except for 2-digit positive years which we assume are\n * near the present time.\n * Note that we follow ISO 8601:2004: there *is* a year 0, which\n * is 1BC/BCE, and -1===2BC etc.\n *\n * World calendars: not all of these *have* agreed extensions to this full range,\n * if you have another calendar system but want a date range outside its validity,\n * you can use a gregorian date string prefixed with 'G' or 'g'.\n *\n * Where to cut off 2-digit years between 1900s and 2000s?\n * from http://support.microsoft.com/kb/244664:\n * 1930-2029 (the most retro of all...)\n * but in my mac chrome from eg. d=new Date(Date.parse('8/19/50')):\n * 1950-2049\n * by Java, from http://stackoverflow.com/questions/2024273/:\n * now-80 - now+19\n * or FileMaker Pro, from\n * http://www.filemaker.com/12help/html/add_view_data.4.21.html:\n * now-70 - now+29\n * but python strptime etc, via\n * http://docs.python.org/py3k/library/time.html:\n * 1969-2068 (super forward-looking, but static, not sliding!)\n *\n * lets go with now-70 to now+29, and if anyone runs into this problem\n * they can learn the hard way not to use 2-digit years, as no choice we\n * make now will cover all possibilities. mostly this will all be taken\n * care of in initial parsing, should only be an issue for hand-entered data\n * currently (2016) this range is:\n * 1946-2045\n */\nexports.dateTime2ms = function(s, calendar) {\n // first check if s is a date object\n if(exports.isJSDate(s)) {\n // Convert to the UTC milliseconds that give the same\n // hours as this date has in the local timezone\n var tzOffset = s.getTimezoneOffset() * ONEMIN;\n var offsetTweak = (s.getUTCMinutes() - s.getMinutes()) * ONEMIN +\n (s.getUTCSeconds() - s.getSeconds()) * ONESEC +\n (s.getUTCMilliseconds() - s.getMilliseconds());\n\n if(offsetTweak) {\n var comb = 3 * ONEMIN;\n tzOffset = tzOffset - comb / 2 + mod(offsetTweak - tzOffset + comb / 2, comb);\n }\n s = Number(s) - tzOffset;\n if(s >= MIN_MS && s <= MAX_MS) return s;\n return BADNUM;\n }\n // otherwise only accept strings and numbers\n if(typeof s !== 'string' && typeof s !== 'number') return BADNUM;\n\n s = String(s);\n\n var isWorld = isWorldCalendar(calendar);\n\n // to handle out-of-range dates in international calendars, accept\n // 'G' as a prefix to force the built-in gregorian calendar.\n var s0 = s.charAt(0);\n if(isWorld && (s0 === 'G' || s0 === 'g')) {\n s = s.substr(1);\n calendar = '';\n }\n\n var isChinese = isWorld && calendar.substr(0, 7) === 'chinese';\n\n var match = s.match(isChinese ? DATETIME_REGEXP_CN : DATETIME_REGEXP);\n if(!match) return BADNUM;\n var y = match[1];\n var m = match[3] || '1';\n var d = Number(match[5] || 1);\n var H = Number(match[7] || 0);\n var M = Number(match[9] || 0);\n var S = Number(match[11] || 0);\n\n if(isWorld) {\n // disallow 2-digit years for world calendars\n if(y.length === 2) return BADNUM;\n y = Number(y);\n\n var cDate;\n try {\n var calInstance = Registry.getComponentMethod('calendars', 'getCal')(calendar);\n if(isChinese) {\n var isIntercalary = m.charAt(m.length - 1) === 'i';\n m = parseInt(m, 10);\n cDate = calInstance.newDate(y, calInstance.toMonthIndex(y, m, isIntercalary), d);\n } else {\n cDate = calInstance.newDate(y, Number(m), d);\n }\n } catch(e) { return BADNUM; } // Invalid ... date\n\n if(!cDate) return BADNUM;\n\n return ((cDate.toJD() - EPOCHJD) * ONEDAY) +\n (H * ONEHOUR) + (M * ONEMIN) + (S * ONESEC);\n }\n\n if(y.length === 2) {\n y = (Number(y) + 2000 - YFIRST) % 100 + YFIRST;\n } else y = Number(y);\n\n // new Date uses months from 0; subtract 1 here just so we\n // don't have to do it again during the validity test below\n m -= 1;\n\n // javascript takes new Date(0..99,m,d) to mean 1900-1999, so\n // to support years 0-99 we need to use setFullYear explicitly\n // Note that 2000 is a leap year.\n var date = new Date(Date.UTC(2000, m, d, H, M));\n date.setUTCFullYear(y);\n\n if(date.getUTCMonth() !== m) return BADNUM;\n if(date.getUTCDate() !== d) return BADNUM;\n\n return date.getTime() + S * ONESEC;\n};\n\nMIN_MS = exports.MIN_MS = exports.dateTime2ms('-9999');\nMAX_MS = exports.MAX_MS = exports.dateTime2ms('9999-12-31 23:59:59.9999');\n\n// is string s a date? (see above)\nexports.isDateTime = function(s, calendar) {\n return (exports.dateTime2ms(s, calendar) !== BADNUM);\n};\n\n// pad a number with zeroes, to given # of digits before the decimal point\nfunction lpad(val, digits) {\n return String(val + Math.pow(10, digits)).substr(1);\n}\n\n/**\n * Turn ms into string of the form YYYY-mm-dd HH:MM:SS.ssss\n * Crop any trailing zeros in time, except never stop right after hours\n * (we could choose to crop '-01' from date too but for now we always\n * show the whole date)\n * Optional range r is the data range that applies, also in ms.\n * If rng is big, the later parts of time will be omitted\n */\nvar NINETYDAYS = 90 * ONEDAY;\nvar THREEHOURS = 3 * ONEHOUR;\nvar FIVEMIN = 5 * ONEMIN;\nexports.ms2DateTime = function(ms, r, calendar) {\n if(typeof ms !== 'number' || !(ms >= MIN_MS && ms <= MAX_MS)) return BADNUM;\n\n if(!r) r = 0;\n\n var msecTenths = Math.floor(mod(ms + 0.05, 1) * 10);\n var msRounded = Math.round(ms - msecTenths / 10);\n var dateStr, h, m, s, msec10, d;\n\n if(isWorldCalendar(calendar)) {\n var dateJD = Math.floor(msRounded / ONEDAY) + EPOCHJD;\n var timeMs = Math.floor(mod(ms, ONEDAY));\n try {\n dateStr = Registry.getComponentMethod('calendars', 'getCal')(calendar)\n .fromJD(dateJD).formatDate('yyyy-mm-dd');\n } catch(e) {\n // invalid date in this calendar - fall back to Gyyyy-mm-dd\n dateStr = utcFormat('G%Y-%m-%d')(new Date(msRounded));\n }\n\n // yyyy does NOT guarantee 4-digit years. YYYY mostly does, but does\n // other things for a few calendars, so we can't trust it. Just pad\n // it manually (after the '-' if there is one)\n if(dateStr.charAt(0) === '-') {\n while(dateStr.length < 11) dateStr = '-0' + dateStr.substr(1);\n } else {\n while(dateStr.length < 10) dateStr = '0' + dateStr;\n }\n\n // TODO: if this is faster, we could use this block for extracting\n // the time components of regular gregorian too\n h = (r < NINETYDAYS) ? Math.floor(timeMs / ONEHOUR) : 0;\n m = (r < NINETYDAYS) ? Math.floor((timeMs % ONEHOUR) / ONEMIN) : 0;\n s = (r < THREEHOURS) ? Math.floor((timeMs % ONEMIN) / ONESEC) : 0;\n msec10 = (r < FIVEMIN) ? (timeMs % ONESEC) * 10 + msecTenths : 0;\n } else {\n d = new Date(msRounded);\n\n dateStr = utcFormat('%Y-%m-%d')(d);\n\n // <90 days: add hours and minutes - never *only* add hours\n h = (r < NINETYDAYS) ? d.getUTCHours() : 0;\n m = (r < NINETYDAYS) ? d.getUTCMinutes() : 0;\n // <3 hours: add seconds\n s = (r < THREEHOURS) ? d.getUTCSeconds() : 0;\n // <5 minutes: add ms (plus one extra digit, this is msec*10)\n msec10 = (r < FIVEMIN) ? d.getUTCMilliseconds() * 10 + msecTenths : 0;\n }\n\n return includeTime(dateStr, h, m, s, msec10);\n};\n\n// For converting old-style milliseconds to date strings,\n// we use the local timezone rather than UTC like we use\n// everywhere else, both for backward compatibility and\n// because that's how people mostly use javasript date objects.\n// Clip one extra day off our date range though so we can't get\n// thrown beyond the range by the timezone shift.\nexports.ms2DateTimeLocal = function(ms) {\n if(!(ms >= MIN_MS + ONEDAY && ms <= MAX_MS - ONEDAY)) return BADNUM;\n\n var msecTenths = Math.floor(mod(ms + 0.05, 1) * 10);\n var d = new Date(Math.round(ms - msecTenths / 10));\n var dateStr = d3.time.format('%Y-%m-%d')(d);\n var h = d.getHours();\n var m = d.getMinutes();\n var s = d.getSeconds();\n var msec10 = d.getUTCMilliseconds() * 10 + msecTenths;\n\n return includeTime(dateStr, h, m, s, msec10);\n};\n\nfunction includeTime(dateStr, h, m, s, msec10) {\n // include each part that has nonzero data in or after it\n if(h || m || s || msec10) {\n dateStr += ' ' + lpad(h, 2) + ':' + lpad(m, 2);\n if(s || msec10) {\n dateStr += ':' + lpad(s, 2);\n if(msec10) {\n var digits = 4;\n while(msec10 % 10 === 0) {\n digits -= 1;\n msec10 /= 10;\n }\n dateStr += '.' + lpad(msec10, digits);\n }\n }\n }\n return dateStr;\n}\n\n// normalize date format to date string, in case it starts as\n// a Date object or milliseconds\n// optional dflt is the return value if cleaning fails\nexports.cleanDate = function(v, dflt, calendar) {\n // let us use cleanDate to provide a missing default without an error\n if(v === BADNUM) return dflt;\n if(exports.isJSDate(v) || (typeof v === 'number' && isFinite(v))) {\n // do not allow milliseconds (old) or jsdate objects (inherently\n // described as gregorian dates) with world calendars\n if(isWorldCalendar(calendar)) {\n Loggers.error('JS Dates and milliseconds are incompatible with world calendars', v);\n return dflt;\n }\n\n // NOTE: if someone puts in a year as a number rather than a string,\n // this will mistakenly convert it thinking it's milliseconds from 1970\n // that is: '2012' -> Jan. 1, 2012, but 2012 -> 2012 epoch milliseconds\n v = exports.ms2DateTimeLocal(+v);\n if(!v && dflt !== undefined) return dflt;\n } else if(!exports.isDateTime(v, calendar)) {\n Loggers.error('unrecognized date', v);\n return dflt;\n }\n return v;\n};\n\n/*\n * Date formatting for ticks and hovertext\n */\n\n/*\n * modDateFormat: Support world calendars, and add one item to\n * d3's vocabulary:\n * %{n}f where n is the max number of digits of fractional seconds\n */\nvar fracMatch = /%\\d?f/g;\nfunction modDateFormat(fmt, x, formatter, calendar) {\n fmt = fmt.replace(fracMatch, function(match) {\n var digits = Math.min(+(match.charAt(1)) || 6, 6);\n var fracSecs = ((x / 1000 % 1) + 2)\n .toFixed(digits)\n .substr(2).replace(/0+$/, '') || '0';\n return fracSecs;\n });\n\n var d = new Date(Math.floor(x + 0.05));\n\n if(isWorldCalendar(calendar)) {\n try {\n fmt = Registry.getComponentMethod('calendars', 'worldCalFmt')(fmt, x, calendar);\n } catch(e) {\n return 'Invalid';\n }\n }\n return formatter(fmt)(d);\n}\n\n/*\n * formatTime: create a time string from:\n * x: milliseconds\n * tr: tickround ('M', 'S', or # digits)\n * only supports UTC times (where every day is 24 hours and 0 is at midnight)\n */\nvar MAXSECONDS = [59, 59.9, 59.99, 59.999, 59.9999];\nfunction formatTime(x, tr) {\n var timePart = mod(x + 0.05, ONEDAY);\n\n var timeStr = lpad(Math.floor(timePart / ONEHOUR), 2) + ':' +\n lpad(mod(Math.floor(timePart / ONEMIN), 60), 2);\n\n if(tr !== 'M') {\n if(!isNumeric(tr)) tr = 0; // should only be 'S'\n\n /*\n * this is a weird one - and shouldn't come up unless people\n * monkey with tick0 in weird ways, but we need to do something!\n * IN PARTICULAR we had better not display garbage (see below)\n * for numbers we always round to the nearest increment of the\n * precision we're showing, and this seems like the right way to\n * handle seconds and milliseconds, as they have a decimal point\n * and people will interpret that to mean rounding like numbers.\n * but for larger increments we floor the value: it's always\n * 2013 until the ball drops on the new year. We could argue about\n * which field it is where we start rounding (should 12:08:59\n * round to 12:09 if we're stopping at minutes?) but for now I'll\n * say we round seconds but floor everything else. BUT that means\n * we need to never round up to 60 seconds, ie 23:59:60\n */\n var sec = Math.min(mod(x / ONESEC, 60), MAXSECONDS[tr]);\n\n var secStr = (100 + sec).toFixed(tr).substr(1);\n if(tr > 0) {\n secStr = secStr.replace(/0+$/, '').replace(/[\\.]$/, '');\n }\n\n timeStr += ':' + secStr;\n }\n return timeStr;\n}\n\n/*\n * formatDate: turn a date into tick or hover label text.\n *\n * x: milliseconds, the value to convert\n * fmt: optional, an explicit format string (d3 format, even for world calendars)\n * tr: tickround ('y', 'm', 'd', 'M', 'S', or # digits)\n * used if no explicit fmt is provided\n * formatter: locale-aware d3 date formatter for standard gregorian calendars\n * should be the result of exports.getD3DateFormat(gd)\n * calendar: optional string, the world calendar system to use\n *\n * returns the date/time as a string, potentially with the leading portion\n * on a separate line (after '\\n')\n * Note that this means if you provide an explicit format which includes '\\n'\n * the axis may choose to strip things after it when they don't change from\n * one tick to the next (as it does with automatic formatting)\n */\nexports.formatDate = function(x, fmt, tr, formatter, calendar, extraFormat) {\n calendar = isWorldCalendar(calendar) && calendar;\n\n if(!fmt) {\n if(tr === 'y') fmt = extraFormat.year;\n else if(tr === 'm') fmt = extraFormat.month;\n else if(tr === 'd') {\n fmt = extraFormat.dayMonth + '\\n' + extraFormat.year;\n } else {\n return formatTime(x, tr) + '\\n' + modDateFormat(extraFormat.dayMonthYear, x, formatter, calendar);\n }\n }\n\n return modDateFormat(fmt, x, formatter, calendar);\n};\n\n/*\n * incrementMonth: make a new milliseconds value from the given one,\n * having changed the month\n *\n * special case for world calendars: multiples of 12 are treated as years,\n * even for calendar systems that don't have (always or ever) 12 months/year\n * TODO: perhaps we need a different code for year increments to support this?\n *\n * ms (number): the initial millisecond value\n * dMonth (int): the (signed) number of months to shift\n * calendar (string): the calendar system to use\n *\n * changing month does not (and CANNOT) always preserve day, since\n * months have different lengths. The worst example of this is:\n * d = new Date(1970,0,31); d.setMonth(1) -> Feb 31 turns into Mar 3\n *\n * But we want to be able to iterate over the last day of each month,\n * regardless of what its number is.\n * So shift 3 days forward, THEN set the new month, then unshift:\n * 1/31 -> 2/28 (or 29) -> 3/31 -> 4/30 -> ...\n *\n * Note that odd behavior still exists if you start from the 26th-28th:\n * 1/28 -> 2/28 -> 3/31\n * but at least you can't shift any dates into the wrong month,\n * and ticks on these days incrementing by month would be very unusual\n */\nvar THREEDAYS = 3 * ONEDAY;\nexports.incrementMonth = function(ms, dMonth, calendar) {\n calendar = isWorldCalendar(calendar) && calendar;\n\n // pull time out and operate on pure dates, then add time back at the end\n // this gives maximum precision - not that we *normally* care if we're\n // incrementing by month, but better to be safe!\n var timeMs = mod(ms, ONEDAY);\n ms = Math.round(ms - timeMs);\n\n if(calendar) {\n try {\n var dateJD = Math.round(ms / ONEDAY) + EPOCHJD;\n var calInstance = Registry.getComponentMethod('calendars', 'getCal')(calendar);\n var cDate = calInstance.fromJD(dateJD);\n\n if(dMonth % 12) calInstance.add(cDate, dMonth, 'm');\n else calInstance.add(cDate, dMonth / 12, 'y');\n\n return (cDate.toJD() - EPOCHJD) * ONEDAY + timeMs;\n } catch(e) {\n Loggers.error('invalid ms ' + ms + ' in calendar ' + calendar);\n // then keep going in gregorian even though the result will be 'Invalid'\n }\n }\n\n var y = new Date(ms + THREEDAYS);\n return y.setUTCMonth(y.getUTCMonth() + dMonth) + timeMs - THREEDAYS;\n};\n\n/*\n * findExactDates: what fraction of data is exact days, months, or years?\n *\n * data: array of millisecond values\n * calendar (string) the calendar to test against\n */\nexports.findExactDates = function(data, calendar) {\n var exactYears = 0;\n var exactMonths = 0;\n var exactDays = 0;\n var blankCount = 0;\n var d;\n var di;\n\n var calInstance = (\n isWorldCalendar(calendar) &&\n Registry.getComponentMethod('calendars', 'getCal')(calendar)\n );\n\n for(var i = 0; i < data.length; i++) {\n di = data[i];\n\n // not date data at all\n if(!isNumeric(di)) {\n blankCount ++;\n continue;\n }\n\n // not an exact date\n if(di % ONEDAY) continue;\n\n if(calInstance) {\n try {\n d = calInstance.fromJD(di / ONEDAY + EPOCHJD);\n if(d.day() === 1) {\n if(d.month() === 1) exactYears++;\n else exactMonths++;\n } else exactDays++;\n } catch(e) {\n // invalid date in this calendar - ignore it here.\n }\n } else {\n d = new Date(di);\n if(d.getUTCDate() === 1) {\n if(d.getUTCMonth() === 0) exactYears++;\n else exactMonths++;\n } else exactDays++;\n }\n }\n exactMonths += exactYears;\n exactDays += exactMonths;\n\n var dataCount = data.length - blankCount;\n\n return {\n exactYears: exactYears / dataCount,\n exactMonths: exactMonths / dataCount,\n exactDays: exactDays / dataCount\n };\n};\n\n\n/***/ }),\n\n/***/ \"6626\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0b4f\");\n\n\n/***/ }),\n\n/***/ \"6649\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hiddenStore = __webpack_require__(\"b332\");\n\nmodule.exports = createStore;\n\nfunction createStore() {\n var key = {};\n\n return function (obj) {\n if ((typeof obj !== 'object' || obj === null) &&\n typeof obj !== 'function'\n ) {\n throw new Error('Weakmap-shim: Key must be object')\n }\n\n var store = obj.valueOf(key);\n return store && store.identity === key ?\n store : hiddenStore(obj, key);\n };\n}\n\n\n/***/ }),\n\n/***/ \"664d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"9509\");\n\n\n/***/ }),\n\n/***/ \"6657\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar extendFlat = __webpack_require__(\"fc26\").extendFlat;\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar dash = __webpack_require__(\"db54\").dash;\nvar fxAttrs = __webpack_require__(\"a462\");\nvar delta = __webpack_require__(\"b8ce\");\n\nvar INCREASING_COLOR = delta.INCREASING.COLOR;\nvar DECREASING_COLOR = delta.DECREASING.COLOR;\n\nvar lineAttrs = scatterAttrs.line;\n\nfunction directionAttrs(lineColorDefault) {\n return {\n line: {\n color: extendFlat({}, lineAttrs.color, {dflt: lineColorDefault}),\n width: lineAttrs.width,\n dash: dash,\n editType: 'style'\n },\n editType: 'style'\n };\n}\n\nmodule.exports = {\n\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n open: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n high: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n low: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n close: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n\n line: {\n width: extendFlat({}, lineAttrs.width, {\n \n }),\n dash: extendFlat({}, dash, {\n \n }),\n editType: 'style'\n },\n\n increasing: directionAttrs(INCREASING_COLOR),\n\n decreasing: directionAttrs(DECREASING_COLOR),\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n\n tickwidth: {\n valType: 'number',\n min: 0,\n max: 0.5,\n dflt: 0.3,\n \n editType: 'calc',\n \n },\n\n hoverlabel: extendFlat({}, fxAttrs.hoverlabel, {\n split: {\n valType: 'boolean',\n \n dflt: false,\n editType: 'style',\n \n }\n }),\n};\n\n\n/***/ }),\n\n/***/ \"6672\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar baseTraceAttrs = __webpack_require__(\"a876\");\nvar colorscales = __webpack_require__(\"4852\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\n\nvar nestedProperty = __webpack_require__(\"74d6\");\nvar counterRegex = __webpack_require__(\"055a\").counter;\nvar modHalf = __webpack_require__(\"d3dc\").modHalf;\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\nexports.valObjectMeta = {\n data_array: {\n // You can use *dflt=[] to force said array to exist though.\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n // TODO maybe `v: {type: 'float32', vals: [/* ... */]}` also\n if(isArrayOrTypedArray(v)) propOut.set(v);\n else if(dflt !== undefined) propOut.set(dflt);\n }\n },\n enumerated: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(opts.coerceNumber) v = +v;\n if(opts.values.indexOf(v) === -1) propOut.set(dflt);\n else propOut.set(v);\n },\n validateFunction: function(v, opts) {\n if(opts.coerceNumber) v = +v;\n\n var values = opts.values;\n for(var i = 0; i < values.length; i++) {\n var k = String(values[i]);\n\n if((k.charAt(0) === '/' && k.charAt(k.length - 1) === '/')) {\n var regex = new RegExp(k.substr(1, k.length - 2));\n if(regex.test(v)) return true;\n } else if(v === values[i]) return true;\n }\n return false;\n }\n },\n 'boolean': {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === true || v === false) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n number: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(!isNumeric(v) ||\n (opts.min !== undefined && v < opts.min) ||\n (opts.max !== undefined && v > opts.max)) {\n propOut.set(dflt);\n } else propOut.set(+v);\n }\n },\n integer: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(v % 1 || !isNumeric(v) ||\n (opts.min !== undefined && v < opts.min) ||\n (opts.max !== undefined && v > opts.max)) {\n propOut.set(dflt);\n } else propOut.set(+v);\n }\n },\n string: {\n \n \n // TODO 'values shouldn't be in there (edge case: 'dash' in Scatter)\n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(typeof v !== 'string') {\n var okToCoerce = (typeof v === 'number');\n\n if(opts.strict === true || !okToCoerce) propOut.set(dflt);\n else propOut.set(String(v));\n } else if(opts.noBlank && !v) propOut.set(dflt);\n else propOut.set(v);\n }\n },\n color: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(tinycolor(v).isValid()) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n colorlist: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n function isColor(color) {\n return tinycolor(color).isValid();\n }\n if(!Array.isArray(v) || !v.length) propOut.set(dflt);\n else if(v.every(isColor)) propOut.set(v);\n else propOut.set(dflt);\n }\n },\n colorscale: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n propOut.set(colorscales.get(v, dflt));\n }\n },\n angle: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === 'auto') propOut.set('auto');\n else if(!isNumeric(v)) propOut.set(dflt);\n else propOut.set(modHalf(+v, 360));\n }\n },\n subplotid: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n var regex = opts.regex || counterRegex(dflt);\n if(typeof v === 'string' && regex.test(v)) {\n propOut.set(v);\n return;\n }\n propOut.set(dflt);\n },\n validateFunction: function(v, opts) {\n var dflt = opts.dflt;\n\n if(v === dflt) return true;\n if(typeof v !== 'string') return false;\n if(counterRegex(dflt).test(v)) return true;\n\n return false;\n }\n },\n flaglist: {\n \n \n \n coerceFunction: function(v, propOut, dflt, opts) {\n if(typeof v !== 'string') {\n propOut.set(dflt);\n return;\n }\n if((opts.extras || []).indexOf(v) !== -1) {\n propOut.set(v);\n return;\n }\n var vParts = v.split('+');\n var i = 0;\n while(i < vParts.length) {\n var vi = vParts[i];\n if(opts.flags.indexOf(vi) === -1 || vParts.indexOf(vi) < i) {\n vParts.splice(i, 1);\n } else i++;\n }\n if(!vParts.length) propOut.set(dflt);\n else propOut.set(vParts.join('+'));\n }\n },\n any: {\n \n \n \n coerceFunction: function(v, propOut, dflt) {\n if(v === undefined) propOut.set(dflt);\n else propOut.set(v);\n }\n },\n info_array: {\n \n \n // set `dimensions=2` for a 2D array or '1-2' for either\n // `items` may be a single object instead of an array, in which case\n // `freeLength` must be true.\n // if `dimensions='1-2'` and items is a 1D array, then the value can\n // either be a matching 1D array or an array of such matching 1D arrays\n \n coerceFunction: function(v, propOut, dflt, opts) {\n // simplified coerce function just for array items\n function coercePart(v, opts, dflt) {\n var out;\n var propPart = {set: function(v) { out = v; }};\n\n if(dflt === undefined) dflt = opts.dflt;\n\n exports.valObjectMeta[opts.valType].coerceFunction(v, propPart, dflt, opts);\n\n return out;\n }\n\n var twoD = opts.dimensions === 2 || (opts.dimensions === '1-2' && Array.isArray(v) && Array.isArray(v[0]));\n\n if(!Array.isArray(v)) {\n propOut.set(dflt);\n return;\n }\n\n var items = opts.items;\n var vOut = [];\n var arrayItems = Array.isArray(items);\n var arrayItems2D = arrayItems && twoD && Array.isArray(items[0]);\n var innerItemsOnly = twoD && arrayItems && !arrayItems2D;\n var len = (arrayItems && !innerItemsOnly) ? items.length : v.length;\n\n var i, j, row, item, len2, vNew;\n\n dflt = Array.isArray(dflt) ? dflt : [];\n\n if(twoD) {\n for(i = 0; i < len; i++) {\n vOut[i] = [];\n row = Array.isArray(v[i]) ? v[i] : [];\n if(innerItemsOnly) len2 = items.length;\n else if(arrayItems) len2 = items[i].length;\n else len2 = row.length;\n\n for(j = 0; j < len2; j++) {\n if(innerItemsOnly) item = items[j];\n else if(arrayItems) item = items[i][j];\n else item = items;\n\n vNew = coercePart(row[j], item, (dflt[i] || [])[j]);\n if(vNew !== undefined) vOut[i][j] = vNew;\n }\n }\n } else {\n for(i = 0; i < len; i++) {\n vNew = coercePart(v[i], arrayItems ? items[i] : items, dflt[i]);\n if(vNew !== undefined) vOut[i] = vNew;\n }\n }\n\n propOut.set(vOut);\n },\n validateFunction: function(v, opts) {\n if(!Array.isArray(v)) return false;\n\n var items = opts.items;\n var arrayItems = Array.isArray(items);\n var twoD = opts.dimensions === 2;\n\n // when free length is off, input and declared lengths must match\n if(!opts.freeLength && v.length !== items.length) return false;\n\n // valid when all input items are valid\n for(var i = 0; i < v.length; i++) {\n if(twoD) {\n if(!Array.isArray(v[i]) || (!opts.freeLength && v[i].length !== items[i].length)) {\n return false;\n }\n for(var j = 0; j < v[i].length; j++) {\n if(!validate(v[i][j], arrayItems ? items[i][j] : items)) {\n return false;\n }\n }\n } else if(!validate(v[i], arrayItems ? items[i] : items)) return false;\n }\n\n return true;\n }\n }\n};\n\n/**\n * Ensures that container[attribute] has a valid value.\n *\n * attributes[attribute] is an object with possible keys:\n * - valType: data_array, enumerated, boolean, ... as in valObjectMeta\n * - values: (enumerated only) array of allowed vals\n * - min, max: (number, integer only) inclusive bounds on allowed vals\n * either or both may be omitted\n * - dflt: if attribute is invalid or missing, use this default\n * if dflt is provided as an argument to lib.coerce it takes precedence\n * as a convenience, returns the value it finally set\n */\nexports.coerce = function(containerIn, containerOut, attributes, attribute, dflt) {\n var opts = nestedProperty(attributes, attribute).get();\n var propIn = nestedProperty(containerIn, attribute);\n var propOut = nestedProperty(containerOut, attribute);\n var v = propIn.get();\n\n var template = containerOut._template;\n if(v === undefined && template) {\n v = nestedProperty(template, attribute).get();\n // already used the template value, so short-circuit the second check\n template = 0;\n }\n\n if(dflt === undefined) dflt = opts.dflt;\n\n /**\n * arrayOk: value MAY be an array, then we do no value checking\n * at this point, because it can be more complicated than the\n * individual form (eg. some array vals can be numbers, even if the\n * single values must be color strings)\n */\n if(opts.arrayOk && isArrayOrTypedArray(v)) {\n propOut.set(v);\n return v;\n }\n\n var coerceFunction = exports.valObjectMeta[opts.valType].coerceFunction;\n coerceFunction(v, propOut, dflt, opts);\n\n var out = propOut.get();\n // in case v was provided but invalid, try the template again so it still\n // overrides the regular default\n if(template && out === dflt && !validate(v, opts)) {\n v = nestedProperty(template, attribute).get();\n coerceFunction(v, propOut, dflt, opts);\n out = propOut.get();\n }\n return out;\n};\n\n/**\n * Variation on coerce\n *\n * Uses coerce to get attribute value if user input is valid,\n * returns attribute default if user input it not valid or\n * returns false if there is no user input.\n */\nexports.coerce2 = function(containerIn, containerOut, attributes, attribute, dflt) {\n var propIn = nestedProperty(containerIn, attribute);\n var propOut = exports.coerce(containerIn, containerOut, attributes, attribute, dflt);\n var valIn = propIn.get();\n\n return (valIn !== undefined && valIn !== null) ? propOut : false;\n};\n\n/*\n * Shortcut to coerce the three font attributes\n *\n * 'coerce' is a lib.coerce wrapper with implied first three arguments\n */\nexports.coerceFont = function(coerce, attr, dfltObj) {\n var out = {};\n\n dfltObj = dfltObj || {};\n\n out.family = coerce(attr + '.family', dfltObj.family);\n out.size = coerce(attr + '.size', dfltObj.size);\n out.color = coerce(attr + '.color', dfltObj.color);\n\n return out;\n};\n\n/** Coerce shortcut for 'hoverinfo'\n * handling 1-vs-multi-trace dflt logic\n *\n * @param {object} traceIn : user trace object\n * @param {object} traceOut : full trace object (requires _module ref)\n * @param {object} layoutOut : full layout object (require _dataLength ref)\n * @return {any} : the coerced value\n */\nexports.coerceHoverinfo = function(traceIn, traceOut, layoutOut) {\n var moduleAttrs = traceOut._module.attributes;\n var attrs = moduleAttrs.hoverinfo ? moduleAttrs : baseTraceAttrs;\n\n var valObj = attrs.hoverinfo;\n var dflt;\n\n if(layoutOut._dataLength === 1) {\n var flags = valObj.dflt === 'all' ?\n valObj.flags.slice() :\n valObj.dflt.split('+');\n\n flags.splice(flags.indexOf('name'), 1);\n dflt = flags.join('+');\n }\n\n return exports.coerce(traceIn, traceOut, attrs, 'hoverinfo', dflt);\n};\n\n/** Coerce shortcut for [un]selected.marker.opacity,\n * which has special default logic, to ensure that it corresponds to the\n * default selection behavior while allowing to be overtaken by any other\n * [un]selected attribute.\n *\n * N.B. This must be called *after* coercing all the other [un]selected attrs,\n * to give the intended result.\n *\n * @param {object} traceOut : fullData item\n * @param {function} coerce : lib.coerce wrapper with implied first three arguments\n */\nexports.coerceSelectionMarkerOpacity = function(traceOut, coerce) {\n if(!traceOut.marker) return;\n\n var mo = traceOut.marker.opacity;\n // you can still have a `marker` container with no markers if there's text\n if(mo === undefined) return;\n\n var smoDflt;\n var usmoDflt;\n\n // Don't give [un]selected.marker.opacity a default value if\n // marker.opacity is an array: handle this during style step.\n //\n // Only give [un]selected.marker.opacity a default value if you don't\n // set any other [un]selected attributes.\n if(!isArrayOrTypedArray(mo) && !traceOut.selected && !traceOut.unselected) {\n smoDflt = mo;\n usmoDflt = DESELECTDIM * mo;\n }\n\n coerce('selected.marker.opacity', smoDflt);\n coerce('unselected.marker.opacity', usmoDflt);\n};\n\nfunction validate(value, opts) {\n var valObjectDef = exports.valObjectMeta[opts.valType];\n\n if(opts.arrayOk && isArrayOrTypedArray(value)) return true;\n\n if(valObjectDef.validateFunction) {\n return valObjectDef.validateFunction(value, opts);\n }\n\n var failed = {};\n var out = failed;\n var propMock = { set: function(v) { out = v; } };\n\n // 'failed' just something mutable that won't be === anything else\n\n valObjectDef.coerceFunction(value, propMock, failed, opts);\n return out !== failed;\n}\nexports.validate = validate;\n\n\n/***/ }),\n\n/***/ \"66ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bnsub = __webpack_require__(\"9c7c\")\n\nmodule.exports = sub\n\nfunction sub(a, b) {\n var n = a.length\n var r = new Array(n)\n for(var i=0; i= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif ( true && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {}\n\n})(Math);\n\n\n/***/ }),\n\n/***/ \"66db\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleLineShapeDefaults = __webpack_require__(\"eb07\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar PTS_LINESONLY = __webpack_require__(\"de69\").PTS_LINESONLY;\n\nvar attributes = __webpack_require__(\"8a6e\");\n\nfunction supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleRThetaDefaults(traceIn, traceOut, layout, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('thetaunit');\n coerce('mode', len < PTS_LINESONLY ? 'lines+markers' : 'lines');\n coerce('text');\n coerce('hovertext');\n if(traceOut.hoveron !== 'fills') coerce('hovertemplate');\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);\n handleLineShapeDefaults(traceIn, traceOut, coerce);\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {gradient: true});\n }\n\n if(subTypes.hasText(traceOut)) {\n coerce('texttemplate');\n handleTextDefaults(traceIn, traceOut, layout, coerce);\n }\n\n var dfltHoverOn = [];\n\n if(subTypes.hasMarkers(traceOut) || subTypes.hasText(traceOut)) {\n coerce('cliponaxis');\n coerce('marker.maxdisplayed');\n dfltHoverOn.push('points');\n }\n\n coerce('fill');\n\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce);\n }\n\n if(traceOut.fill === 'tonext' || traceOut.fill === 'toself') {\n dfltHoverOn.push('fills');\n }\n coerce('hoveron', dfltHoverOn.join('+') || 'points');\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n}\n\nfunction handleRThetaDefaults(traceIn, traceOut, layout, coerce) {\n var r = coerce('r');\n var theta = coerce('theta');\n var len;\n\n if(r) {\n if(theta) {\n len = Math.min(r.length, theta.length);\n } else {\n len = r.length;\n coerce('theta0');\n coerce('dtheta');\n }\n } else {\n if(!theta) return 0;\n len = traceOut.theta.length;\n coerce('r0');\n coerce('dr');\n }\n\n traceOut._length = len;\n return len;\n}\n\nmodule.exports = {\n handleRThetaDefaults: handleRThetaDefaults,\n supplyDefaults: supplyDefaults\n};\n\n\n/***/ }),\n\n/***/ \"6726\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * @module parenthesis\n */\n\nfunction parse (str, opts) {\n\t// pretend non-string parsed per-se\n\tif (typeof str !== 'string') return [str]\n\n\tvar res = [str]\n\n\tif (typeof opts === 'string' || Array.isArray(opts)) {\n\t\topts = {brackets: opts}\n\t}\n\telse if (!opts) opts = {}\n\n\tvar brackets = opts.brackets ? (Array.isArray(opts.brackets) ? opts.brackets : [opts.brackets]) : ['{}', '[]', '()']\n\n\tvar escape = opts.escape || '___'\n\n\tvar flat = !!opts.flat\n\n\tbrackets.forEach(function (bracket) {\n\t\t// create parenthesis regex\n\t\tvar pRE = new RegExp(['\\\\', bracket[0], '[^\\\\', bracket[0], '\\\\', bracket[1], ']*\\\\', bracket[1]].join(''))\n\n\t\tvar ids = []\n\n\t\tfunction replaceToken(token, idx, str){\n\t\t\t// save token to res\n\t\t\tvar refId = res.push(token.slice(bracket[0].length, -bracket[1].length)) - 1\n\n\t\t\tids.push(refId)\n\n\t\t\treturn escape + refId + escape\n\t\t}\n\n\t\tres.forEach(function (str, i) {\n\t\t\tvar prevStr\n\n\t\t\t// replace paren tokens till there’s none\n\t\t\tvar a = 0\n\t\t\twhile (str != prevStr) {\n\t\t\t\tprevStr = str\n\t\t\t\tstr = str.replace(pRE, replaceToken)\n\t\t\t\tif (a++ > 10e3) throw Error('References have circular dependency. Please, check them.')\n\t\t\t}\n\n\t\t\tres[i] = str\n\t\t})\n\n\t\t// wrap found refs to brackets\n\t\tids = ids.reverse()\n\t\tres = res.map(function (str) {\n\t\t\tids.forEach(function (id) {\n\t\t\t\tstr = str.replace(new RegExp('(\\\\' + escape + id + '\\\\' + escape + ')', 'g'), bracket[0] + '$1' + bracket[1])\n\t\t\t})\n\t\t\treturn str\n\t\t})\n\t})\n\n\tvar re = new RegExp('\\\\' + escape + '([0-9]+)' + '\\\\' + escape)\n\n\t// transform references to tree\n\tfunction nest (str, refs, escape) {\n\t\tvar res = [], match\n\n\t\tvar a = 0\n\t\twhile (match = re.exec(str)) {\n\t\t\tif (a++ > 10e3) throw Error('Circular references in parenthesis')\n\n\t\t\tres.push(str.slice(0, match.index))\n\n\t\t\tres.push(nest(refs[match[1]], refs))\n\n\t\t\tstr = str.slice(match.index + match[0].length)\n\t\t}\n\n\t\tres.push(str)\n\n\t\treturn res\n\t}\n\n\treturn flat ? res : nest(res[0], res)\n}\n\nfunction stringify (arg, opts) {\n\tif (opts && opts.flat) {\n\t\tvar escape = opts && opts.escape || '___'\n\n\t\tvar str = arg[0], prevStr\n\n\t\t// pretend bad string stringified with no parentheses\n\t\tif (!str) return ''\n\n\n\t\tvar re = new RegExp('\\\\' + escape + '([0-9]+)' + '\\\\' + escape)\n\n\t\tvar a = 0\n\t\twhile (str != prevStr) {\n\t\t\tif (a++ > 10e3) throw Error('Circular references in ' + arg)\n\t\t\tprevStr = str\n\t\t\tstr = str.replace(re, replaceRef)\n\t\t}\n\n\t\treturn str\n\t}\n\n\treturn arg.reduce(function f (prev, curr) {\n\t\tif (Array.isArray(curr)) {\n\t\t\tcurr = curr.reduce(f, '')\n\t\t}\n\t\treturn prev + curr\n\t}, '')\n\n\tfunction replaceRef(match, idx){\n\t\tif (arg[idx] == null) throw Error('Reference ' + idx + 'is undefined')\n\t\treturn arg[idx]\n\t}\n}\n\nfunction parenthesis (arg, opts) {\n\tif (Array.isArray(arg)) {\n\t\treturn stringify(arg, opts)\n\t}\n\telse {\n\t\treturn parse(arg, opts)\n\t}\n}\n\nparenthesis.parse = parse\nparenthesis.stringify = stringify\n\nmodule.exports = parenthesis\n\n\n/***/ }),\n\n/***/ \"67c4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar axesAttrs = __webpack_require__(\"d798\");\nvar fontAttrs = __webpack_require__(\"9845\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\n\nmodule.exports = overrideAll({\n// TODO: only right is supported currently\n// orient: {\n// valType: 'enumerated',\n// \n// values: ['left', 'right', 'top', 'bottom'],\n// dflt: 'right',\n// \n// },\n thicknessmode: {\n valType: 'enumerated',\n values: ['fraction', 'pixels'],\n \n dflt: 'pixels',\n \n },\n thickness: {\n valType: 'number',\n \n min: 0,\n dflt: 30,\n \n },\n lenmode: {\n valType: 'enumerated',\n values: ['fraction', 'pixels'],\n \n dflt: 'fraction',\n \n },\n len: {\n valType: 'number',\n min: 0,\n dflt: 1,\n \n \n },\n x: {\n valType: 'number',\n dflt: 1.02,\n min: -2,\n max: 3,\n \n \n },\n xanchor: {\n valType: 'enumerated',\n values: ['left', 'center', 'right'],\n dflt: 'left',\n \n \n },\n xpad: {\n valType: 'number',\n \n min: 0,\n dflt: 10,\n \n },\n y: {\n valType: 'number',\n \n dflt: 0.5,\n min: -2,\n max: 3,\n \n },\n yanchor: {\n valType: 'enumerated',\n values: ['top', 'middle', 'bottom'],\n \n dflt: 'middle',\n \n },\n ypad: {\n valType: 'number',\n \n min: 0,\n dflt: 10,\n \n },\n // a possible line around the bar itself\n outlinecolor: axesAttrs.linecolor,\n outlinewidth: axesAttrs.linewidth,\n // Should outlinewidth have {dflt: 0} ?\n // another possible line outside the padding and tick labels\n bordercolor: axesAttrs.linecolor,\n borderwidth: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n \n },\n bgcolor: {\n valType: 'color',\n \n dflt: 'rgba(0,0,0,0)',\n \n },\n // tick and title properties named and function exactly as in axes\n tickmode: axesAttrs.tickmode,\n nticks: axesAttrs.nticks,\n tick0: axesAttrs.tick0,\n dtick: axesAttrs.dtick,\n tickvals: axesAttrs.tickvals,\n ticktext: axesAttrs.ticktext,\n ticks: extendFlat({}, axesAttrs.ticks, {dflt: ''}),\n ticklen: axesAttrs.ticklen,\n tickwidth: axesAttrs.tickwidth,\n tickcolor: axesAttrs.tickcolor,\n showticklabels: axesAttrs.showticklabels,\n tickfont: fontAttrs({\n \n }),\n tickangle: axesAttrs.tickangle,\n tickformat: axesAttrs.tickformat,\n tickformatstops: axesAttrs.tickformatstops,\n tickprefix: axesAttrs.tickprefix,\n showtickprefix: axesAttrs.showtickprefix,\n ticksuffix: axesAttrs.ticksuffix,\n showticksuffix: axesAttrs.showticksuffix,\n separatethousands: axesAttrs.separatethousands,\n exponentformat: axesAttrs.exponentformat,\n showexponent: axesAttrs.showexponent,\n title: {\n text: {\n valType: 'string',\n \n \n },\n font: fontAttrs({\n \n }),\n side: {\n valType: 'enumerated',\n values: ['right', 'top', 'bottom'],\n \n dflt: 'top',\n \n }\n },\n\n _deprecated: {\n title: {\n valType: 'string',\n \n \n },\n titlefont: fontAttrs({\n \n }),\n titleside: {\n valType: 'enumerated',\n values: ['right', 'top', 'bottom'],\n \n dflt: 'top',\n \n }\n }\n}, 'colorbars', 'from-root');\n\n\n/***/ }),\n\n/***/ \"67f2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar subTypes = __webpack_require__(\"de81\");\nvar handleMarkerDefaults = __webpack_require__(\"5047\");\nvar handleLineDefaults = __webpack_require__(\"59be\");\nvar handleTextDefaults = __webpack_require__(\"e9f7\");\nvar handleFillColorDefaults = __webpack_require__(\"3802\");\nvar attributes = __webpack_require__(\"74b4\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var len = handleLonLatDefaults(traceIn, traceOut, coerce);\n if(!len) {\n traceOut.visible = false;\n return;\n }\n\n coerce('text');\n coerce('texttemplate');\n coerce('hovertext');\n coerce('hovertemplate');\n coerce('mode');\n coerce('below');\n\n if(subTypes.hasLines(traceOut)) {\n handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noDash: true});\n coerce('connectgaps');\n }\n\n if(subTypes.hasMarkers(traceOut)) {\n handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce, {noLine: true});\n\n // array marker.size and marker.color are only supported with circles\n var marker = traceOut.marker;\n if(marker.symbol !== 'circle') {\n if(Lib.isArrayOrTypedArray(marker.size)) marker.size = marker.size[0];\n if(Lib.isArrayOrTypedArray(marker.color)) marker.color = marker.color[0];\n }\n }\n\n if(subTypes.hasText(traceOut)) {\n handleTextDefaults(traceIn, traceOut, layout, coerce, {noSelect: true});\n }\n\n coerce('fill');\n if(traceOut.fill !== 'none') {\n handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce);\n }\n\n Lib.coerceSelectionMarkerOpacity(traceOut, coerce);\n};\n\nfunction handleLonLatDefaults(traceIn, traceOut, coerce) {\n var lon = coerce('lon') || [];\n var lat = coerce('lat') || [];\n var len = Math.min(lon.length, lat.length);\n traceOut._length = len;\n\n return len;\n}\n\n\n/***/ }),\n\n/***/ \"6833\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nexports.coerceString = function(attributeDefinition, value, defaultValue) {\n if(typeof value === 'string') {\n if(value || !attributeDefinition.noBlank) return value;\n } else if(typeof value === 'number' || value === true) {\n if(!attributeDefinition.strict) return String(value);\n }\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceNumber = function(attributeDefinition, value, defaultValue) {\n if(isNumeric(value)) {\n value = +value;\n\n var min = attributeDefinition.min;\n var max = attributeDefinition.max;\n var isOutOfBounds = (min !== undefined && value < min) ||\n (max !== undefined && value > max);\n\n if(!isOutOfBounds) return value;\n }\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceColor = function(attributeDefinition, value, defaultValue) {\n if(tinycolor(value).isValid()) return value;\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.coerceEnumerated = function(attributeDefinition, value, defaultValue) {\n if(attributeDefinition.coerceNumber) value = +value;\n\n if(attributeDefinition.values.indexOf(value) !== -1) return value;\n\n return (defaultValue !== undefined) ?\n defaultValue :\n attributeDefinition.dflt;\n};\n\nexports.getValue = function(arrayOrScalar, index) {\n var value;\n if(!Array.isArray(arrayOrScalar)) value = arrayOrScalar;\n else if(index < arrayOrScalar.length) value = arrayOrScalar[index];\n return value;\n};\n\nexports.getLineWidth = function(trace, di) {\n var w =\n (0 < di.mlw) ? di.mlw :\n !isArrayOrTypedArray(trace.marker.line.width) ? trace.marker.line.width :\n 0;\n\n return w;\n};\n\n\n/***/ }),\n\n/***/ \"6858\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"cecf\")(\"forEach\");\n\n\n/***/ }),\n\n/***/ \"68e6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isObject = __webpack_require__(\"2160\");\n\nmodule.exports = function (value) {\n\tif (!isObject(value)) throw new TypeError(value + \" is not an Object\");\n\treturn value;\n};\n\n\n/***/ }),\n\n/***/ \"6921\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar baseAttributes = __webpack_require__(\"a876\");\nvar baseLayoutAttributes = __webpack_require__(\"a685\");\nvar frameAttributes = __webpack_require__(\"a9cb\");\nvar animationAttributes = __webpack_require__(\"5b68\");\nvar configAttributes = __webpack_require__(\"3ff5\").configAttributes;\n\n// polar attributes are not part of the Registry yet\nvar polarAreaAttrs = __webpack_require__(\"fa06\");\nvar polarAxisAttrs = __webpack_require__(\"b7b8\");\n\nvar editTypes = __webpack_require__(\"cb34\");\n\nvar extendFlat = Lib.extendFlat;\nvar extendDeepAll = Lib.extendDeepAll;\nvar isPlainObject = Lib.isPlainObject;\nvar isArrayOrTypedArray = Lib.isArrayOrTypedArray;\nvar nestedProperty = Lib.nestedProperty;\nvar valObjectMeta = Lib.valObjectMeta;\n\nvar IS_SUBPLOT_OBJ = '_isSubplotObj';\nvar IS_LINKED_TO_ARRAY = '_isLinkedToArray';\nvar ARRAY_ATTR_REGEXPS = '_arrayAttrRegexps';\nvar DEPRECATED = '_deprecated';\nvar UNDERSCORE_ATTRS = [IS_SUBPLOT_OBJ, IS_LINKED_TO_ARRAY, ARRAY_ATTR_REGEXPS, DEPRECATED];\n\nexports.IS_SUBPLOT_OBJ = IS_SUBPLOT_OBJ;\nexports.IS_LINKED_TO_ARRAY = IS_LINKED_TO_ARRAY;\nexports.DEPRECATED = DEPRECATED;\nexports.UNDERSCORE_ATTRS = UNDERSCORE_ATTRS;\n\n/** Outputs the full plotly.js plot schema\n *\n * @return {object}\n * - defs\n * - traces\n * - layout\n * - transforms\n * - frames\n * - animations\n * - config\n */\nexports.get = function() {\n var traces = {};\n\n Registry.allTypes.concat('area').forEach(function(type) {\n traces[type] = getTraceAttributes(type);\n });\n\n var transforms = {};\n\n Object.keys(Registry.transformsRegistry).forEach(function(type) {\n transforms[type] = getTransformAttributes(type);\n });\n\n return {\n defs: {\n valObjects: valObjectMeta,\n metaKeys: UNDERSCORE_ATTRS.concat(['description', 'role', 'editType', 'impliedEdits']),\n editType: {\n traces: editTypes.traces,\n layout: editTypes.layout\n },\n impliedEdits: {\n \n }\n },\n\n traces: traces,\n layout: getLayoutAttributes(),\n\n transforms: transforms,\n\n frames: getFramesAttributes(),\n animation: formatAttributes(animationAttributes),\n\n config: formatAttributes(configAttributes)\n };\n};\n\n/**\n * Crawl the attribute tree, recursively calling a callback function\n *\n * @param {object} attrs\n * The node of the attribute tree (e.g. the root) from which recursion originates\n * @param {Function} callback\n * A callback function with the signature:\n * @callback callback\n * @param {object} attr an attribute\n * @param {String} attrName name string\n * @param {object[]} attrs all the attributes\n * @param {Number} level the recursion level, 0 at the root\n * @param {String} fullAttrString full attribute name (ie 'marker.line')\n * @param {Number} [specifiedLevel]\n * The level in the tree, in order to let the callback function detect descend or backtrack,\n * typically unsupplied (implied 0), just used by the self-recursive call.\n * The necessity arises because the tree traversal is not controlled by callback return values.\n * The decision to not use callback return values for controlling tree pruning arose from\n * the goal of keeping the crawler backwards compatible. Observe that one of the pruning conditions\n * precedes the callback call.\n * @param {string} [attrString]\n * the path to the current attribute, as an attribute string (ie 'marker.line')\n * typically unsupplied, but you may supply it if you want to disambiguate which attrs tree you\n * are starting from\n *\n * @return {object} transformOut\n * copy of transformIn that contains attribute defaults\n */\nexports.crawl = function(attrs, callback, specifiedLevel, attrString) {\n var level = specifiedLevel || 0;\n attrString = attrString || '';\n\n Object.keys(attrs).forEach(function(attrName) {\n var attr = attrs[attrName];\n\n if(UNDERSCORE_ATTRS.indexOf(attrName) !== -1) return;\n\n var fullAttrString = (attrString ? attrString + '.' : '') + attrName;\n callback(attr, attrName, attrs, level, fullAttrString);\n\n if(exports.isValObject(attr)) return;\n\n if(isPlainObject(attr) && attrName !== 'impliedEdits') {\n exports.crawl(attr, callback, level + 1, fullAttrString);\n }\n });\n};\n\n/** Is object a value object (or a container object)?\n *\n * @param {object} obj\n * @return {boolean}\n * returns true for a valid value object and\n * false for tree nodes in the attribute hierarchy\n */\nexports.isValObject = function(obj) {\n return obj && obj.valType !== undefined;\n};\n\n/**\n * Find all data array attributes in a given trace object - including\n * `arrayOk` attributes.\n *\n * @param {object} trace\n * full trace object that contains a reference to `_module.attributes`\n *\n * @return {array} arrayAttributes\n * list of array attributes for the given trace\n */\nexports.findArrayAttributes = function(trace) {\n var arrayAttributes = [];\n var stack = [];\n var isArrayStack = [];\n var baseContainer, baseAttrName;\n\n function callback(attr, attrName, attrs, level) {\n stack = stack.slice(0, level).concat([attrName]);\n isArrayStack = isArrayStack.slice(0, level).concat([attr && attr._isLinkedToArray]);\n\n var splittableAttr = (\n attr &&\n (attr.valType === 'data_array' || attr.arrayOk === true) &&\n !(stack[level - 1] === 'colorbar' && (attrName === 'ticktext' || attrName === 'tickvals'))\n );\n\n // Manually exclude 'colorbar.tickvals' and 'colorbar.ticktext' for now\n // which are declared as `valType: 'data_array'` but scale independently of\n // the coordinate arrays.\n //\n // Down the road, we might want to add a schema field (e.g `uncorrelatedArray: true`)\n // to distinguish attributes of the likes.\n\n if(!splittableAttr) return;\n\n crawlIntoTrace(baseContainer, 0, '');\n }\n\n function crawlIntoTrace(container, i, astrPartial) {\n var item = container[stack[i]];\n var newAstrPartial = astrPartial + stack[i];\n if(i === stack.length - 1) {\n if(isArrayOrTypedArray(item)) {\n arrayAttributes.push(baseAttrName + newAstrPartial);\n }\n } else {\n if(isArrayStack[i]) {\n if(Array.isArray(item)) {\n for(var j = 0; j < item.length; j++) {\n if(isPlainObject(item[j])) {\n crawlIntoTrace(item[j], i + 1, newAstrPartial + '[' + j + '].');\n }\n }\n }\n } else if(isPlainObject(item)) {\n crawlIntoTrace(item, i + 1, newAstrPartial + '.');\n }\n }\n }\n\n baseContainer = trace;\n baseAttrName = '';\n exports.crawl(baseAttributes, callback);\n if(trace._module && trace._module.attributes) {\n exports.crawl(trace._module.attributes, callback);\n }\n\n var transforms = trace.transforms;\n if(transforms) {\n for(var i = 0; i < transforms.length; i++) {\n var transform = transforms[i];\n var module = transform._module;\n\n if(module) {\n baseAttrName = 'transforms[' + i + '].';\n baseContainer = transform;\n\n exports.crawl(module.attributes, callback);\n }\n }\n }\n\n return arrayAttributes;\n};\n\n/*\n * Find the valObject for one attribute in an existing trace\n *\n * @param {object} trace\n * full trace object that contains a reference to `_module.attributes`\n * @param {object} parts\n * an array of parts, like ['transforms', 1, 'value']\n * typically from nestedProperty(...).parts\n *\n * @return {object|false}\n * the valObject for this attribute, or the last found parent\n * in some cases the innermost valObject will not exist, for example\n * `valType: 'any'` attributes where we might set a part of the attribute.\n * In that case, stop at the deepest valObject we *do* find.\n */\nexports.getTraceValObject = function(trace, parts) {\n var head = parts[0];\n var i = 1; // index to start recursing from\n var moduleAttrs, valObject;\n\n if(head === 'transforms') {\n if(parts.length === 1) {\n return baseAttributes.transforms;\n }\n var transforms = trace.transforms;\n if(!Array.isArray(transforms) || !transforms.length) return false;\n var tNum = parts[1];\n if(!isIndex(tNum) || tNum >= transforms.length) {\n return false;\n }\n moduleAttrs = (Registry.transformsRegistry[transforms[tNum].type] || {}).attributes;\n valObject = moduleAttrs && moduleAttrs[parts[2]];\n i = 3; // start recursing only inside the transform\n } else if(trace.type === 'area') {\n valObject = polarAreaAttrs[head];\n } else {\n // first look in the module for this trace\n // components have already merged their trace attributes in here\n var _module = trace._module;\n if(!_module) _module = (Registry.modules[trace.type || baseAttributes.type.dflt] || {})._module;\n if(!_module) return false;\n\n moduleAttrs = _module.attributes;\n valObject = moduleAttrs && moduleAttrs[head];\n\n // then look in the subplot attributes\n if(!valObject) {\n var subplotModule = _module.basePlotModule;\n if(subplotModule && subplotModule.attributes) {\n valObject = subplotModule.attributes[head];\n }\n }\n\n // finally look in the global attributes\n if(!valObject) valObject = baseAttributes[head];\n }\n\n return recurseIntoValObject(valObject, parts, i);\n};\n\n/*\n * Find the valObject for one layout attribute\n *\n * @param {array} parts\n * an array of parts, like ['annotations', 1, 'x']\n * typically from nestedProperty(...).parts\n *\n * @return {object|false}\n * the valObject for this attribute, or the last found parent\n * in some cases the innermost valObject will not exist, for example\n * `valType: 'any'` attributes where we might set a part of the attribute.\n * In that case, stop at the deepest valObject we *do* find.\n */\nexports.getLayoutValObject = function(fullLayout, parts) {\n var valObject = layoutHeadAttr(fullLayout, parts[0]);\n\n return recurseIntoValObject(valObject, parts, 1);\n};\n\nfunction layoutHeadAttr(fullLayout, head) {\n var i, key, _module, attributes;\n\n // look for attributes of the subplot types used on the plot\n var basePlotModules = fullLayout._basePlotModules;\n if(basePlotModules) {\n var out;\n for(i = 0; i < basePlotModules.length; i++) {\n _module = basePlotModules[i];\n if(_module.attrRegex && _module.attrRegex.test(head)) {\n // if a module defines overrides, these take precedence\n // initially this is to allow gl2d different editTypes from svg cartesian\n if(_module.layoutAttrOverrides) return _module.layoutAttrOverrides;\n\n // otherwise take the first attributes we find\n if(!out && _module.layoutAttributes) out = _module.layoutAttributes;\n }\n\n // a module can also override the behavior of base (and component) module layout attrs\n // again see gl2d for initial use case\n var baseOverrides = _module.baseLayoutAttrOverrides;\n if(baseOverrides && head in baseOverrides) return baseOverrides[head];\n }\n if(out) return out;\n }\n\n // look for layout attributes contributed by traces on the plot\n var modules = fullLayout._modules;\n if(modules) {\n for(i = 0; i < modules.length; i++) {\n attributes = modules[i].layoutAttributes;\n if(attributes && head in attributes) {\n return attributes[head];\n }\n }\n }\n\n /*\n * Next look in components.\n * Components that define a schema have already merged this into\n * base and subplot attribute defs, so ignore these.\n * Others (older style) all put all their attributes\n * inside a container matching the module `name`\n * eg `attributes` (array) or `legend` (object)\n */\n for(key in Registry.componentsRegistry) {\n _module = Registry.componentsRegistry[key];\n if(_module.name === 'colorscale' && head.indexOf('coloraxis') === 0) {\n return _module.layoutAttributes[head];\n } else if(!_module.schema && (head === _module.name)) {\n return _module.layoutAttributes;\n }\n }\n\n if(head in baseLayoutAttributes) return baseLayoutAttributes[head];\n\n // Polar doesn't populate _modules or _basePlotModules\n // just fall back on these when the others fail\n if(head === 'radialaxis' || head === 'angularaxis') {\n return polarAxisAttrs[head];\n }\n return polarAxisAttrs.layout[head] || false;\n}\n\nfunction recurseIntoValObject(valObject, parts, i) {\n if(!valObject) return false;\n\n if(valObject._isLinkedToArray) {\n // skip array index, abort if we try to dive into an array without an index\n if(isIndex(parts[i])) i++;\n else if(i < parts.length) return false;\n }\n\n // now recurse as far as we can. Occasionally we have an attribute\n // setting an internal part below what's in the schema; just return\n // the innermost schema item we find.\n for(; i < parts.length; i++) {\n var newValObject = valObject[parts[i]];\n if(isPlainObject(newValObject)) valObject = newValObject;\n else break;\n\n if(i === parts.length - 1) break;\n\n if(valObject._isLinkedToArray) {\n i++;\n if(!isIndex(parts[i])) return false;\n } else if(valObject.valType === 'info_array') {\n i++;\n var index = parts[i];\n if(!isIndex(index)) return false;\n\n var items = valObject.items;\n if(Array.isArray(items)) {\n if(index >= items.length) return false;\n if(valObject.dimensions === 2) {\n i++;\n if(parts.length === i) return valObject;\n var index2 = parts[i];\n if(!isIndex(index2)) return false;\n valObject = items[index][index2];\n } else valObject = items[index];\n } else {\n valObject = items;\n }\n }\n }\n\n return valObject;\n}\n\n// note: this is different from Lib.isIndex, this one doesn't accept numeric\n// strings, only actual numbers.\nfunction isIndex(val) {\n return val === Math.round(val) && val >= 0;\n}\n\nfunction getTraceAttributes(type) {\n var _module, basePlotModule;\n\n if(type === 'area') {\n _module = { attributes: polarAreaAttrs };\n basePlotModule = {};\n } else {\n _module = Registry.modules[type]._module,\n basePlotModule = _module.basePlotModule;\n }\n\n var attributes = {};\n\n // make 'type' the first attribute in the object\n attributes.type = null;\n\n var copyBaseAttributes = extendDeepAll({}, baseAttributes);\n var copyModuleAttributes = extendDeepAll({}, _module.attributes);\n\n // prune global-level trace attributes that are already defined in a trace\n exports.crawl(copyModuleAttributes, function(attr, attrName, attrs, level, fullAttrString) {\n nestedProperty(copyBaseAttributes, fullAttrString).set(undefined);\n // Prune undefined attributes\n if(attr === undefined) nestedProperty(copyModuleAttributes, fullAttrString).set(undefined);\n });\n\n // base attributes (same for all trace types)\n extendDeepAll(attributes, copyBaseAttributes);\n\n // prune-out base attributes based on trace module categories\n if(Registry.traceIs(type, 'noOpacity')) {\n delete attributes.opacity;\n }\n if(!Registry.traceIs(type, 'showLegend')) {\n delete attributes.showlegend;\n delete attributes.legendgroup;\n }\n if(Registry.traceIs(type, 'noHover')) {\n delete attributes.hoverinfo;\n delete attributes.hoverlabel;\n }\n if(!_module.selectPoints) {\n delete attributes.selectedpoints;\n }\n\n // module attributes\n extendDeepAll(attributes, copyModuleAttributes);\n\n // subplot attributes\n if(basePlotModule.attributes) {\n extendDeepAll(attributes, basePlotModule.attributes);\n }\n\n // 'type' gets overwritten by baseAttributes; reset it here\n attributes.type = type;\n\n var out = {\n meta: _module.meta || {},\n categories: _module.categories || {},\n animatable: Boolean(_module.animatable),\n type: type,\n attributes: formatAttributes(attributes),\n };\n\n // trace-specific layout attributes\n if(_module.layoutAttributes) {\n var layoutAttributes = {};\n\n extendDeepAll(layoutAttributes, _module.layoutAttributes);\n out.layoutAttributes = formatAttributes(layoutAttributes);\n }\n\n // drop anim:true in non-animatable modules\n if(!_module.animatable) {\n exports.crawl(out, function(attr) {\n if(exports.isValObject(attr) && 'anim' in attr) {\n delete attr.anim;\n }\n });\n }\n\n return out;\n}\n\nfunction getLayoutAttributes() {\n var layoutAttributes = {};\n var key, _module;\n\n // global layout attributes\n extendDeepAll(layoutAttributes, baseLayoutAttributes);\n\n // add base plot module layout attributes\n for(key in Registry.subplotsRegistry) {\n _module = Registry.subplotsRegistry[key];\n\n if(!_module.layoutAttributes) continue;\n\n if(Array.isArray(_module.attr)) {\n for(var i = 0; i < _module.attr.length; i++) {\n handleBasePlotModule(layoutAttributes, _module, _module.attr[i]);\n }\n } else {\n var astr = _module.attr === 'subplot' ? _module.name : _module.attr;\n handleBasePlotModule(layoutAttributes, _module, astr);\n }\n }\n\n // polar layout attributes\n layoutAttributes = assignPolarLayoutAttrs(layoutAttributes);\n\n // add registered components layout attributes\n for(key in Registry.componentsRegistry) {\n _module = Registry.componentsRegistry[key];\n var schema = _module.schema;\n\n if(schema && (schema.subplots || schema.layout)) {\n /*\n * Components with defined schema have already been merged in at register time\n * but a few components define attributes that apply only to xaxis\n * not yaxis (rangeselector, rangeslider) - delete from y schema.\n * Note that the input attributes for xaxis/yaxis are the same object\n * so it's not possible to only add them to xaxis from the start.\n * If we ever have such asymmetry the other way, or anywhere else,\n * we will need to extend both this code and mergeComponentAttrsToSubplot\n * (which will not find yaxis only for example)\n */\n var subplots = schema.subplots;\n if(subplots && subplots.xaxis && !subplots.yaxis) {\n for(var xkey in subplots.xaxis) {\n delete layoutAttributes.yaxis[xkey];\n }\n }\n } else if(_module.name === 'colorscale') {\n extendDeepAll(layoutAttributes, _module.layoutAttributes);\n } else if(_module.layoutAttributes) {\n // older style without schema need to be explicitly merged in now\n insertAttrs(layoutAttributes, _module.layoutAttributes, _module.name);\n }\n }\n\n return {\n layoutAttributes: formatAttributes(layoutAttributes)\n };\n}\n\nfunction getTransformAttributes(type) {\n var _module = Registry.transformsRegistry[type];\n var attributes = extendDeepAll({}, _module.attributes);\n\n // add registered components transform attributes\n Object.keys(Registry.componentsRegistry).forEach(function(k) {\n var _module = Registry.componentsRegistry[k];\n\n if(_module.schema && _module.schema.transforms && _module.schema.transforms[type]) {\n Object.keys(_module.schema.transforms[type]).forEach(function(v) {\n insertAttrs(attributes, _module.schema.transforms[type][v], v);\n });\n }\n });\n\n return {\n attributes: formatAttributes(attributes)\n };\n}\n\nfunction getFramesAttributes() {\n var attrs = {\n frames: extendDeepAll({}, frameAttributes)\n };\n\n formatAttributes(attrs);\n\n return attrs.frames;\n}\n\nfunction formatAttributes(attrs) {\n mergeValTypeAndRole(attrs);\n formatArrayContainers(attrs);\n stringify(attrs);\n\n return attrs;\n}\n\nfunction mergeValTypeAndRole(attrs) {\n function makeSrcAttr(attrName) {\n return {\n valType: 'string',\n \n \n editType: 'none'\n };\n }\n\n function callback(attr, attrName, attrs) {\n if(exports.isValObject(attr)) {\n if(attr.valType === 'data_array') {\n // all 'data_array' attrs have role 'data'\n attr.role = 'data';\n // all 'data_array' attrs have a corresponding 'src' attr\n attrs[attrName + 'src'] = makeSrcAttr(attrName);\n } else if(attr.arrayOk === true) {\n // all 'arrayOk' attrs have a corresponding 'src' attr\n attrs[attrName + 'src'] = makeSrcAttr(attrName);\n }\n } else if(isPlainObject(attr)) {\n // all attrs container objects get role 'object'\n attr.role = 'object';\n }\n }\n\n exports.crawl(attrs, callback);\n}\n\nfunction formatArrayContainers(attrs) {\n function callback(attr, attrName, attrs) {\n if(!attr) return;\n\n var itemName = attr[IS_LINKED_TO_ARRAY];\n\n if(!itemName) return;\n\n delete attr[IS_LINKED_TO_ARRAY];\n\n attrs[attrName] = { items: {} };\n attrs[attrName].items[itemName] = attr;\n attrs[attrName].role = 'object';\n }\n\n exports.crawl(attrs, callback);\n}\n\n// this can take around 10ms and should only be run from PlotSchema.get(),\n// to ensure JSON.stringify(PlotSchema.get()) gives the intended result.\nfunction stringify(attrs) {\n function walk(attr) {\n for(var k in attr) {\n if(isPlainObject(attr[k])) {\n walk(attr[k]);\n } else if(Array.isArray(attr[k])) {\n for(var i = 0; i < attr[k].length; i++) {\n walk(attr[k][i]);\n }\n } else {\n // as JSON.stringify(/test/) // => {}\n if(attr[k] instanceof RegExp) {\n attr[k] = attr[k].toString();\n }\n }\n }\n }\n\n walk(attrs);\n}\n\nfunction assignPolarLayoutAttrs(layoutAttributes) {\n extendFlat(layoutAttributes, {\n radialaxis: polarAxisAttrs.radialaxis,\n angularaxis: polarAxisAttrs.angularaxis\n });\n\n extendFlat(layoutAttributes, polarAxisAttrs.layout);\n\n return layoutAttributes;\n}\n\nfunction handleBasePlotModule(layoutAttributes, _module, astr) {\n var np = nestedProperty(layoutAttributes, astr);\n var attrs = extendDeepAll({}, _module.layoutAttributes);\n\n attrs[IS_SUBPLOT_OBJ] = true;\n np.set(attrs);\n}\n\nfunction insertAttrs(baseAttrs, newAttrs, astr) {\n var np = nestedProperty(baseAttrs, astr);\n\n np.set(extendDeepAll(np.get() || {}, newAttrs));\n}\n\n\n/***/ }),\n\n/***/ \"692b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar objToString = Object.prototype.toString, id = objToString.call(\"\");\n\nmodule.exports = function (value) {\n\treturn (\n\t\ttypeof value === \"string\" ||\n\t\t(value &&\n\t\t\ttypeof value === \"object\" &&\n\t\t\t(value instanceof String || objToString.call(value) === id)) ||\n\t\tfalse\n\t);\n};\n\n\n/***/ }),\n\n/***/ \"6954\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Colorscale = __webpack_require__(\"c258\");\nvar svgTextUtils = __webpack_require__(\"0379\");\nvar Axes = __webpack_require__(\"0642\");\nvar setConvert = __webpack_require__(\"1a40\");\n\nvar heatmapPlot = __webpack_require__(\"fa8a\");\nvar makeCrossings = __webpack_require__(\"da89\");\nvar findAllPaths = __webpack_require__(\"f50a\");\nvar emptyPathinfo = __webpack_require__(\"3511\");\nvar convertToConstraints = __webpack_require__(\"849d\");\nvar closeBoundaries = __webpack_require__(\"c997\");\nvar constants = __webpack_require__(\"8e43\");\nvar costConstants = constants.LABELOPTIMIZER;\n\nexports.plot = function plot(gd, plotinfo, cdcontours, contourLayer) {\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n Lib.makeTraceGroups(contourLayer, cdcontours, 'contour').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n var x = cd0.x;\n var y = cd0.y;\n var contours = trace.contours;\n var pathinfo = emptyPathinfo(contours, plotinfo, cd0);\n\n // use a heatmap to fill - draw it behind the lines\n var heatmapColoringLayer = Lib.ensureSingle(plotGroup, 'g', 'heatmapcoloring');\n var cdheatmaps = [];\n if(contours.coloring === 'heatmap') {\n cdheatmaps = [cd];\n }\n heatmapPlot(gd, plotinfo, cdheatmaps, heatmapColoringLayer);\n\n makeCrossings(pathinfo);\n findAllPaths(pathinfo);\n\n var leftedge = xa.c2p(x[0], true);\n var rightedge = xa.c2p(x[x.length - 1], true);\n var bottomedge = ya.c2p(y[0], true);\n var topedge = ya.c2p(y[y.length - 1], true);\n var perimeter = [\n [leftedge, topedge],\n [rightedge, topedge],\n [rightedge, bottomedge],\n [leftedge, bottomedge]\n ];\n\n var fillPathinfo = pathinfo;\n if(contours.type === 'constraint') {\n // N.B. this also mutates pathinfo\n fillPathinfo = convertToConstraints(pathinfo, contours._operation);\n }\n\n // draw everything\n makeBackground(plotGroup, perimeter, contours);\n makeFills(plotGroup, fillPathinfo, perimeter, contours);\n makeLinesAndLabels(plotGroup, pathinfo, gd, cd0, contours);\n clipGaps(plotGroup, plotinfo, gd, cd0, perimeter);\n });\n};\n\nfunction makeBackground(plotgroup, perimeter, contours) {\n var bggroup = Lib.ensureSingle(plotgroup, 'g', 'contourbg');\n\n var bgfill = bggroup.selectAll('path')\n .data(contours.coloring === 'fill' ? [0] : []);\n bgfill.enter().append('path');\n bgfill.exit().remove();\n bgfill\n .attr('d', 'M' + perimeter.join('L') + 'Z')\n .style('stroke', 'none');\n}\n\nfunction makeFills(plotgroup, pathinfo, perimeter, contours) {\n var hasFills = contours.coloring === 'fill' || (contours.type === 'constraint' && contours._operation !== '=');\n var boundaryPath = 'M' + perimeter.join('L') + 'Z';\n\n // fills prefixBoundary in pathinfo items\n if(hasFills) {\n closeBoundaries(pathinfo, contours);\n }\n\n var fillgroup = Lib.ensureSingle(plotgroup, 'g', 'contourfill');\n\n var fillitems = fillgroup.selectAll('path').data(hasFills ? pathinfo : []);\n fillitems.enter().append('path');\n fillitems.exit().remove();\n fillitems.each(function(pi) {\n // join all paths for this level together into a single path\n // first follow clockwise around the perimeter to close any open paths\n // if the whole perimeter is above this level, start with a path\n // enclosing the whole thing. With all that, the parity should mean\n // that we always fill everything above the contour, nothing below\n var fullpath = (pi.prefixBoundary ? boundaryPath : '') +\n joinAllPaths(pi, perimeter);\n\n if(!fullpath) {\n d3.select(this).remove();\n } else {\n d3.select(this)\n .attr('d', fullpath)\n .style('stroke', 'none');\n }\n });\n}\n\nfunction joinAllPaths(pi, perimeter) {\n var fullpath = '';\n var i = 0;\n var startsleft = pi.edgepaths.map(function(v, i) { return i; });\n var newloop = true;\n var endpt;\n var newendpt;\n var cnt;\n var nexti;\n var possiblei;\n var addpath;\n\n function istop(pt) { return Math.abs(pt[1] - perimeter[0][1]) < 0.01; }\n function isbottom(pt) { return Math.abs(pt[1] - perimeter[2][1]) < 0.01; }\n function isleft(pt) { return Math.abs(pt[0] - perimeter[0][0]) < 0.01; }\n function isright(pt) { return Math.abs(pt[0] - perimeter[2][0]) < 0.01; }\n\n while(startsleft.length) {\n addpath = Drawing.smoothopen(pi.edgepaths[i], pi.smoothing);\n fullpath += newloop ? addpath : addpath.replace(/^M/, 'L');\n startsleft.splice(startsleft.indexOf(i), 1);\n endpt = pi.edgepaths[i][pi.edgepaths[i].length - 1];\n nexti = -1;\n\n // now loop through sides, moving our endpoint until we find a new start\n for(cnt = 0; cnt < 4; cnt++) { // just to prevent infinite loops\n if(!endpt) {\n Lib.log('Missing end?', i, pi);\n break;\n }\n\n if(istop(endpt) && !isright(endpt)) newendpt = perimeter[1]; // right top\n else if(isleft(endpt)) newendpt = perimeter[0]; // left top\n else if(isbottom(endpt)) newendpt = perimeter[3]; // right bottom\n else if(isright(endpt)) newendpt = perimeter[2]; // left bottom\n\n for(possiblei = 0; possiblei < pi.edgepaths.length; possiblei++) {\n var ptNew = pi.edgepaths[possiblei][0];\n // is ptNew on the (horz. or vert.) segment from endpt to newendpt?\n if(Math.abs(endpt[0] - newendpt[0]) < 0.01) {\n if(Math.abs(endpt[0] - ptNew[0]) < 0.01 &&\n (ptNew[1] - endpt[1]) * (newendpt[1] - ptNew[1]) >= 0) {\n newendpt = ptNew;\n nexti = possiblei;\n }\n } else if(Math.abs(endpt[1] - newendpt[1]) < 0.01) {\n if(Math.abs(endpt[1] - ptNew[1]) < 0.01 &&\n (ptNew[0] - endpt[0]) * (newendpt[0] - ptNew[0]) >= 0) {\n newendpt = ptNew;\n nexti = possiblei;\n }\n } else {\n Lib.log('endpt to newendpt is not vert. or horz.',\n endpt, newendpt, ptNew);\n }\n }\n\n endpt = newendpt;\n\n if(nexti >= 0) break;\n fullpath += 'L' + newendpt;\n }\n\n if(nexti === pi.edgepaths.length) {\n Lib.log('unclosed perimeter path');\n break;\n }\n\n i = nexti;\n\n // if we closed back on a loop we already included,\n // close it and start a new loop\n newloop = (startsleft.indexOf(i) === -1);\n if(newloop) {\n i = startsleft[0];\n fullpath += 'Z';\n }\n }\n\n // finally add the interior paths\n for(i = 0; i < pi.paths.length; i++) {\n fullpath += Drawing.smoothclosed(pi.paths[i], pi.smoothing);\n }\n\n return fullpath;\n}\n\nfunction makeLinesAndLabels(plotgroup, pathinfo, gd, cd0, contours) {\n var lineContainer = Lib.ensureSingle(plotgroup, 'g', 'contourlines');\n var showLines = contours.showlines !== false;\n var showLabels = contours.showlabels;\n var clipLinesForLabels = showLines && showLabels;\n\n // Even if we're not going to show lines, we need to create them\n // if we're showing labels, because the fill paths include the perimeter\n // so can't be used to position the labels correctly.\n // In this case we'll remove the lines after making the labels.\n var linegroup = exports.createLines(lineContainer, showLines || showLabels, pathinfo);\n\n var lineClip = exports.createLineClip(lineContainer, clipLinesForLabels, gd, cd0.trace.uid);\n\n var labelGroup = plotgroup.selectAll('g.contourlabels')\n .data(showLabels ? [0] : []);\n\n labelGroup.exit().remove();\n\n labelGroup.enter().append('g')\n .classed('contourlabels', true);\n\n if(showLabels) {\n var labelClipPathData = [];\n var labelData = [];\n\n // invalidate the getTextLocation cache in case paths changed\n Lib.clearLocationCache();\n\n var contourFormat = exports.labelFormatter(gd, cd0);\n\n var dummyText = Drawing.tester.append('text')\n .attr('data-notex', 1)\n .call(Drawing.font, contours.labelfont);\n\n var xa = pathinfo[0].xaxis;\n var ya = pathinfo[0].yaxis;\n var xLen = xa._length;\n var yLen = ya._length;\n var xRng = xa.range;\n var yRng = ya.range;\n var xMin = Lib.aggNums(Math.min, null, cd0.x);\n var xMax = Lib.aggNums(Math.max, null, cd0.x);\n var yMin = Lib.aggNums(Math.min, null, cd0.y);\n var yMax = Lib.aggNums(Math.max, null, cd0.y);\n var x0 = Math.max(xa.c2p(xMin, true), 0);\n var x1 = Math.min(xa.c2p(xMax, true), xLen);\n var y0 = Math.max(ya.c2p(yMax, true), 0);\n var y1 = Math.min(ya.c2p(yMin, true), yLen);\n\n // visible bounds of the contour trace (and the midpoints, to\n // help with cost calculations)\n var bounds = {};\n\n if(xRng[0] < xRng[1]) {\n bounds.left = x0;\n bounds.right = x1;\n } else {\n bounds.left = x1;\n bounds.right = x0;\n }\n\n if(yRng[0] < yRng[1]) {\n bounds.top = y0;\n bounds.bottom = y1;\n } else {\n bounds.top = y1;\n bounds.bottom = y0;\n }\n\n bounds.middle = (bounds.top + bounds.bottom) / 2;\n bounds.center = (bounds.left + bounds.right) / 2;\n\n labelClipPathData.push([\n [bounds.left, bounds.top],\n [bounds.right, bounds.top],\n [bounds.right, bounds.bottom],\n [bounds.left, bounds.bottom]\n ]);\n\n var plotDiagonal = Math.sqrt(xLen * xLen + yLen * yLen);\n\n // the path length to use to scale the number of labels to draw:\n var normLength = constants.LABELDISTANCE * plotDiagonal /\n Math.max(1, pathinfo.length / constants.LABELINCREASE);\n\n linegroup.each(function(d) {\n var textOpts = exports.calcTextOpts(d.level, contourFormat, dummyText, gd);\n\n d3.select(this).selectAll('path').each(function() {\n var path = this;\n var pathBounds = Lib.getVisibleSegment(path, bounds, textOpts.height / 2);\n if(!pathBounds) return;\n\n if(pathBounds.len < (textOpts.width + textOpts.height) * constants.LABELMIN) return;\n\n var maxLabels = Math.min(Math.ceil(pathBounds.len / normLength),\n constants.LABELMAX);\n\n for(var i = 0; i < maxLabels; i++) {\n var loc = exports.findBestTextLocation(path, pathBounds, textOpts,\n labelData, bounds);\n\n if(!loc) break;\n\n exports.addLabelData(loc, textOpts, labelData, labelClipPathData);\n }\n });\n });\n\n dummyText.remove();\n\n exports.drawLabels(labelGroup, labelData, gd, lineClip,\n clipLinesForLabels ? labelClipPathData : null);\n }\n\n if(showLabels && !showLines) linegroup.remove();\n}\n\nexports.createLines = function(lineContainer, makeLines, pathinfo) {\n var smoothing = pathinfo[0].smoothing;\n\n var linegroup = lineContainer.selectAll('g.contourlevel')\n .data(makeLines ? pathinfo : []);\n\n linegroup.exit().remove();\n linegroup.enter().append('g')\n .classed('contourlevel', true);\n\n if(makeLines) {\n // pedgepaths / ppaths are used by contourcarpet, for the paths transformed from a/b to x/y\n // edgepaths / paths are used by contour since it's in x/y from the start\n var opencontourlines = linegroup.selectAll('path.openline')\n .data(function(d) { return d.pedgepaths || d.edgepaths; });\n\n opencontourlines.exit().remove();\n opencontourlines.enter().append('path')\n .classed('openline', true);\n\n opencontourlines\n .attr('d', function(d) {\n return Drawing.smoothopen(d, smoothing);\n })\n .style('stroke-miterlimit', 1)\n .style('vector-effect', 'non-scaling-stroke');\n\n var closedcontourlines = linegroup.selectAll('path.closedline')\n .data(function(d) { return d.ppaths || d.paths; });\n\n closedcontourlines.exit().remove();\n closedcontourlines.enter().append('path')\n .classed('closedline', true);\n\n closedcontourlines\n .attr('d', function(d) {\n return Drawing.smoothclosed(d, smoothing);\n })\n .style('stroke-miterlimit', 1)\n .style('vector-effect', 'non-scaling-stroke');\n }\n\n return linegroup;\n};\n\nexports.createLineClip = function(lineContainer, clipLinesForLabels, gd, uid) {\n var clips = gd._fullLayout._clips;\n var clipId = clipLinesForLabels ? ('clipline' + uid) : null;\n\n var lineClip = clips.selectAll('#' + clipId)\n .data(clipLinesForLabels ? [0] : []);\n lineClip.exit().remove();\n\n lineClip.enter().append('clipPath')\n .classed('contourlineclip', true)\n .attr('id', clipId);\n\n Drawing.setClipUrl(lineContainer, clipId, gd);\n\n return lineClip;\n};\n\nexports.labelFormatter = function(gd, cd0) {\n var fullLayout = gd._fullLayout;\n var trace = cd0.trace;\n var contours = trace.contours;\n\n if(contours.labelformat) {\n return fullLayout._d3locale.numberFormat(contours.labelformat);\n } else {\n var formatAxis;\n var cOpts = Colorscale.extractOpts(trace);\n if(cOpts && cOpts.colorbar && cOpts.colorbar._axis) {\n formatAxis = cOpts.colorbar._axis;\n } else {\n formatAxis = {\n type: 'linear',\n _id: 'ycontour',\n showexponent: 'all',\n exponentformat: 'B'\n };\n\n if(contours.type === 'constraint') {\n var value = contours.value;\n if(Array.isArray(value)) {\n formatAxis.range = [value[0], value[value.length - 1]];\n } else formatAxis.range = [value, value];\n } else {\n formatAxis.range = [contours.start, contours.end];\n formatAxis.nticks = (contours.end - contours.start) / contours.size;\n }\n\n if(formatAxis.range[0] === formatAxis.range[1]) {\n formatAxis.range[1] += formatAxis.range[0] || 1;\n }\n if(!formatAxis.nticks) formatAxis.nticks = 1000;\n\n setConvert(formatAxis, fullLayout);\n Axes.prepTicks(formatAxis);\n formatAxis._tmin = null;\n formatAxis._tmax = null;\n }\n return function(v) {\n return Axes.tickText(formatAxis, v).text;\n };\n }\n};\n\nexports.calcTextOpts = function(level, contourFormat, dummyText, gd) {\n var text = contourFormat(level);\n dummyText.text(text)\n .call(svgTextUtils.convertToTspans, gd);\n var bBox = Drawing.bBox(dummyText.node(), true);\n\n return {\n text: text,\n width: bBox.width,\n height: bBox.height,\n level: level,\n dy: (bBox.top + bBox.bottom) / 2\n };\n};\n\nexports.findBestTextLocation = function(path, pathBounds, textOpts, labelData, plotBounds) {\n var textWidth = textOpts.width;\n\n var p0, dp, pMax, pMin, loc;\n if(pathBounds.isClosed) {\n dp = pathBounds.len / costConstants.INITIALSEARCHPOINTS;\n p0 = pathBounds.min + dp / 2;\n pMax = pathBounds.max;\n } else {\n dp = (pathBounds.len - textWidth) / (costConstants.INITIALSEARCHPOINTS + 1);\n p0 = pathBounds.min + dp + textWidth / 2;\n pMax = pathBounds.max - (dp + textWidth) / 2;\n }\n\n var cost = Infinity;\n for(var j = 0; j < costConstants.ITERATIONS; j++) {\n for(var p = p0; p < pMax; p += dp) {\n var newLocation = Lib.getTextLocation(path, pathBounds.total, p, textWidth);\n var newCost = locationCost(newLocation, textOpts, labelData, plotBounds);\n if(newCost < cost) {\n cost = newCost;\n loc = newLocation;\n pMin = p;\n }\n }\n if(cost > costConstants.MAXCOST * 2) break;\n\n // subsequent iterations just look half steps away from the\n // best we found in the previous iteration\n if(j) dp /= 2;\n p0 = pMin - dp / 2;\n pMax = p0 + dp * 1.5;\n }\n if(cost <= costConstants.MAXCOST) return loc;\n};\n\n/*\n * locationCost: a cost function for label locations\n * composed of three kinds of penalty:\n * - for open paths, being close to the end of the path\n * - the angle away from horizontal\n * - being too close to already placed neighbors\n */\nfunction locationCost(loc, textOpts, labelData, bounds) {\n var halfWidth = textOpts.width / 2;\n var halfHeight = textOpts.height / 2;\n var x = loc.x;\n var y = loc.y;\n var theta = loc.theta;\n var dx = Math.cos(theta) * halfWidth;\n var dy = Math.sin(theta) * halfWidth;\n\n // cost for being near an edge\n var normX = ((x > bounds.center) ? (bounds.right - x) : (x - bounds.left)) /\n (dx + Math.abs(Math.sin(theta) * halfHeight));\n var normY = ((y > bounds.middle) ? (bounds.bottom - y) : (y - bounds.top)) /\n (Math.abs(dy) + Math.cos(theta) * halfHeight);\n if(normX < 1 || normY < 1) return Infinity;\n var cost = costConstants.EDGECOST * (1 / (normX - 1) + 1 / (normY - 1));\n\n // cost for not being horizontal\n cost += costConstants.ANGLECOST * theta * theta;\n\n // cost for being close to other labels\n var x1 = x - dx;\n var y1 = y - dy;\n var x2 = x + dx;\n var y2 = y + dy;\n for(var i = 0; i < labelData.length; i++) {\n var labeli = labelData[i];\n var dxd = Math.cos(labeli.theta) * labeli.width / 2;\n var dyd = Math.sin(labeli.theta) * labeli.width / 2;\n var dist = Lib.segmentDistance(\n x1, y1,\n x2, y2,\n labeli.x - dxd, labeli.y - dyd,\n labeli.x + dxd, labeli.y + dyd\n ) * 2 / (textOpts.height + labeli.height);\n\n var sameLevel = labeli.level === textOpts.level;\n var distOffset = sameLevel ? costConstants.SAMELEVELDISTANCE : 1;\n\n if(dist <= distOffset) return Infinity;\n\n var distFactor = costConstants.NEIGHBORCOST *\n (sameLevel ? costConstants.SAMELEVELFACTOR : 1);\n\n cost += distFactor / (dist - distOffset);\n }\n\n return cost;\n}\n\nexports.addLabelData = function(loc, textOpts, labelData, labelClipPathData) {\n var halfWidth = textOpts.width / 2;\n var halfHeight = textOpts.height / 2;\n\n var x = loc.x;\n var y = loc.y;\n var theta = loc.theta;\n\n var sin = Math.sin(theta);\n var cos = Math.cos(theta);\n var dxw = halfWidth * cos;\n var dxh = halfHeight * sin;\n var dyw = halfWidth * sin;\n var dyh = -halfHeight * cos;\n var bBoxPts = [\n [x - dxw - dxh, y - dyw - dyh],\n [x + dxw - dxh, y + dyw - dyh],\n [x + dxw + dxh, y + dyw + dyh],\n [x - dxw + dxh, y - dyw + dyh],\n ];\n\n labelData.push({\n text: textOpts.text,\n x: x,\n y: y,\n dy: textOpts.dy,\n theta: theta,\n level: textOpts.level,\n width: textOpts.width,\n height: textOpts.height\n });\n\n labelClipPathData.push(bBoxPts);\n};\n\nexports.drawLabels = function(labelGroup, labelData, gd, lineClip, labelClipPathData) {\n var labels = labelGroup.selectAll('text')\n .data(labelData, function(d) {\n return d.text + ',' + d.x + ',' + d.y + ',' + d.theta;\n });\n\n labels.exit().remove();\n\n labels.enter().append('text')\n .attr({\n 'data-notex': 1,\n 'text-anchor': 'middle'\n })\n .each(function(d) {\n var x = d.x + Math.sin(d.theta) * d.dy;\n var y = d.y - Math.cos(d.theta) * d.dy;\n d3.select(this)\n .text(d.text)\n .attr({\n x: x,\n y: y,\n transform: 'rotate(' + (180 * d.theta / Math.PI) + ' ' + x + ' ' + y + ')'\n })\n .call(svgTextUtils.convertToTspans, gd);\n });\n\n if(labelClipPathData) {\n var clipPath = '';\n for(var i = 0; i < labelClipPathData.length; i++) {\n clipPath += 'M' + labelClipPathData[i].join('L') + 'Z';\n }\n\n var lineClipPath = Lib.ensureSingle(lineClip, 'path', '');\n lineClipPath.attr('d', clipPath);\n }\n};\n\nfunction clipGaps(plotGroup, plotinfo, gd, cd0, perimeter) {\n var trace = cd0.trace;\n var clips = gd._fullLayout._clips;\n var clipId = 'clip' + trace.uid;\n\n var clipPath = clips.selectAll('#' + clipId)\n .data(trace.connectgaps ? [] : [0]);\n clipPath.enter().append('clipPath')\n .classed('contourclip', true)\n .attr('id', clipId);\n clipPath.exit().remove();\n\n if(trace.connectgaps === false) {\n var clipPathInfo = {\n // fraction of the way from missing to present point\n // to draw the boundary.\n // if you make this 1 (or 1-epsilon) then a point in\n // a sea of missing data will disappear entirely.\n level: 0.9,\n crossings: {},\n starts: [],\n edgepaths: [],\n paths: [],\n xaxis: plotinfo.xaxis,\n yaxis: plotinfo.yaxis,\n x: cd0.x,\n y: cd0.y,\n // 0 = no data, 1 = data\n z: makeClipMask(cd0),\n smoothing: 0\n };\n\n makeCrossings([clipPathInfo]);\n findAllPaths([clipPathInfo]);\n closeBoundaries([clipPathInfo], {type: 'levels'});\n\n var path = Lib.ensureSingle(clipPath, 'path', '');\n path.attr('d',\n (clipPathInfo.prefixBoundary ? 'M' + perimeter.join('L') + 'Z' : '') +\n joinAllPaths(clipPathInfo, perimeter)\n );\n } else clipId = null;\n\n Drawing.setClipUrl(plotGroup, clipId, gd);\n}\n\nfunction makeClipMask(cd0) {\n var empties = cd0.trace._emptypoints;\n var z = [];\n var m = cd0.z.length;\n var n = cd0.z[0].length;\n var i;\n var row = [];\n var emptyPoint;\n\n for(i = 0; i < n; i++) row.push(1);\n for(i = 0; i < m; i++) z.push(row.slice());\n for(i = 0; i < empties.length; i++) {\n emptyPoint = empties[i];\n z[emptyPoint[0]][emptyPoint[1]] = 0;\n }\n // save this mask to determine whether to show this data in hover\n cd0.zmask = z;\n return z;\n}\n\n\n/***/ }),\n\n/***/ \"6962\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Registry = __webpack_require__(\"371e\");\nvar appendArrayPointValue = __webpack_require__(\"c4c7\").appendArrayPointValue;\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Events = __webpack_require__(\"8741\");\n\nvar helpers = __webpack_require__(\"fb56\");\nvar pieHelpers = __webpack_require__(\"59e0\");\n\nvar formatValue = pieHelpers.formatPieValue;\n\nmodule.exports = function attachFxHandlers(sliceTop, entry, gd, cd, opts) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n var hierarchy = cd0.hierarchy;\n\n var isSunburst = trace.type === 'sunburst';\n var isTreemap = trace.type === 'treemap';\n\n // hover state vars\n // have we drawn a hover label, so it should be cleared later\n if(!('_hasHoverLabel' in trace)) trace._hasHoverLabel = false;\n // have we emitted a hover event, so later an unhover event should be emitted\n // note that click events do not depend on this - you can still get them\n // with hovermode: false or if you were earlier dragging, then clicked\n // in the same slice that you moused up in\n if(!('_hasHoverEvent' in trace)) trace._hasHoverEvent = false;\n\n var onMouseOver = function(pt) {\n var fullLayoutNow = gd._fullLayout;\n\n if(gd._dragging || fullLayoutNow.hovermode === false) return;\n\n var traceNow = gd._fullData[trace.index];\n var cdi = pt.data.data;\n var ptNumber = cdi.i;\n var isRoot = helpers.isHierarchyRoot(pt);\n var parent = helpers.getParent(hierarchy, pt);\n\n var val = helpers.getValue(pt);\n\n var _cast = function(astr) {\n return Lib.castOption(traceNow, ptNumber, astr);\n };\n\n var hovertemplate = _cast('hovertemplate');\n var hoverinfo = Fx.castHoverinfo(traceNow, fullLayoutNow, ptNumber);\n var separators = fullLayoutNow.separators;\n\n if(hovertemplate || (hoverinfo && hoverinfo !== 'none' && hoverinfo !== 'skip')) {\n var hoverCenterX;\n var hoverCenterY;\n if(isSunburst) {\n hoverCenterX = cd0.cx + pt.pxmid[0] * (1 - pt.rInscribed);\n hoverCenterY = cd0.cy + pt.pxmid[1] * (1 - pt.rInscribed);\n }\n if(isTreemap) {\n hoverCenterX = pt._hoverX;\n hoverCenterY = pt._hoverY;\n }\n\n var hoverPt = {};\n var parts = [];\n var thisText = [];\n var hasFlag = function(flag) { return parts.indexOf(flag) !== -1; };\n\n if(hoverinfo) {\n parts = hoverinfo === 'all' ?\n traceNow._module.attributes.hoverinfo.flags :\n hoverinfo.split('+');\n }\n\n hoverPt.label = cdi.label;\n if(hasFlag('label') && hoverPt.label) thisText.push(hoverPt.label);\n\n if(cdi.hasOwnProperty('v')) {\n hoverPt.value = cdi.v;\n hoverPt.valueLabel = formatValue(hoverPt.value, separators);\n if(hasFlag('value')) thisText.push(hoverPt.valueLabel);\n }\n\n hoverPt.currentPath = pt.currentPath = helpers.getPath(pt.data);\n if(hasFlag('current path') && !isRoot) {\n thisText.push(hoverPt.currentPath);\n }\n\n var tx;\n var allPercents = [];\n var insertPercent = function() {\n if(allPercents.indexOf(tx) === -1) { // no need to add redundant info\n thisText.push(tx);\n allPercents.push(tx);\n }\n };\n\n hoverPt.percentParent = pt.percentParent = val / helpers.getValue(parent);\n hoverPt.parent = pt.parentString = helpers.getPtLabel(parent);\n if(hasFlag('percent parent')) {\n tx = helpers.formatPercent(hoverPt.percentParent, separators) + ' of ' + hoverPt.parent;\n insertPercent();\n }\n\n hoverPt.percentEntry = pt.percentEntry = val / helpers.getValue(entry);\n hoverPt.entry = pt.entry = helpers.getPtLabel(entry);\n if(hasFlag('percent entry') && !isRoot && !pt.onPathbar) {\n tx = helpers.formatPercent(hoverPt.percentEntry, separators) + ' of ' + hoverPt.entry;\n insertPercent();\n }\n\n hoverPt.percentRoot = pt.percentRoot = val / helpers.getValue(hierarchy);\n hoverPt.root = pt.root = helpers.getPtLabel(hierarchy);\n if(hasFlag('percent root') && !isRoot) {\n tx = helpers.formatPercent(hoverPt.percentRoot, separators) + ' of ' + hoverPt.root;\n insertPercent();\n }\n\n hoverPt.text = _cast('hovertext') || _cast('text');\n if(hasFlag('text')) {\n tx = hoverPt.text;\n if(Lib.isValidTextValue(tx)) thisText.push(tx);\n }\n\n var hoverItems = {\n trace: traceNow,\n y: hoverCenterY,\n text: thisText.join('
'),\n name: (hovertemplate || hasFlag('name')) ? traceNow.name : undefined,\n color: _cast('hoverlabel.bgcolor') || cdi.color,\n borderColor: _cast('hoverlabel.bordercolor'),\n fontFamily: _cast('hoverlabel.font.family'),\n fontSize: _cast('hoverlabel.font.size'),\n fontColor: _cast('hoverlabel.font.color'),\n nameLength: _cast('hoverlabel.namelength'),\n textAlign: _cast('hoverlabel.align'),\n hovertemplate: hovertemplate,\n hovertemplateLabels: hoverPt,\n eventData: [makeEventData(pt, traceNow, opts.eventDataKeys)]\n };\n\n if(isSunburst) {\n hoverItems.x0 = hoverCenterX - pt.rInscribed * pt.rpx1;\n hoverItems.x1 = hoverCenterX + pt.rInscribed * pt.rpx1;\n hoverItems.idealAlign = pt.pxmid[0] < 0 ? 'left' : 'right';\n }\n if(isTreemap) {\n hoverItems.x = hoverCenterX;\n hoverItems.idealAlign = hoverCenterX < 0 ? 'left' : 'right';\n }\n\n Fx.loneHover(hoverItems, {\n container: fullLayoutNow._hoverlayer.node(),\n outerContainer: fullLayoutNow._paper.node(),\n gd: gd\n });\n\n trace._hasHoverLabel = true;\n }\n\n if(isTreemap) {\n var slice = sliceTop.select('path.surface');\n opts.styleOne(slice, pt, traceNow, {\n hovered: true\n });\n }\n\n trace._hasHoverEvent = true;\n gd.emit('plotly_hover', {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n });\n };\n\n var onMouseOut = function(evt) {\n var fullLayoutNow = gd._fullLayout;\n var traceNow = gd._fullData[trace.index];\n var pt = d3.select(this).datum();\n\n if(trace._hasHoverEvent) {\n evt.originalEvent = d3.event;\n gd.emit('plotly_unhover', {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n });\n trace._hasHoverEvent = false;\n }\n\n if(trace._hasHoverLabel) {\n Fx.loneUnhover(fullLayoutNow._hoverlayer.node());\n trace._hasHoverLabel = false;\n }\n\n if(isTreemap) {\n var slice = sliceTop.select('path.surface');\n opts.styleOne(slice, pt, traceNow, {\n hovered: false\n });\n }\n };\n\n var onClick = function(pt) {\n // TODO: this does not support right-click. If we want to support it, we\n // would likely need to change pie to use dragElement instead of straight\n // mapbox event binding. Or perhaps better, make a simple wrapper with the\n // right mousedown, mousemove, and mouseup handlers just for a left/right click\n // mapbox would use this too.\n var fullLayoutNow = gd._fullLayout;\n var traceNow = gd._fullData[trace.index];\n\n var noTransition = isSunburst && (helpers.isHierarchyRoot(pt) || helpers.isLeaf(pt));\n\n var id = helpers.getPtId(pt);\n var nextEntry = helpers.isEntry(pt) ?\n helpers.findEntryWithChild(hierarchy, id) :\n helpers.findEntryWithLevel(hierarchy, id);\n var nextLevel = helpers.getPtId(nextEntry);\n\n var typeClickEvtData = {\n points: [makeEventData(pt, traceNow, opts.eventDataKeys)],\n event: d3.event\n };\n if(!noTransition) typeClickEvtData.nextLevel = nextLevel;\n\n var clickVal = Events.triggerHandler(gd, 'plotly_' + trace.type + 'click', typeClickEvtData);\n\n if(clickVal !== false && fullLayoutNow.hovermode) {\n gd._hoverdata = [makeEventData(pt, traceNow, opts.eventDataKeys)];\n Fx.click(gd, d3.event);\n }\n\n // if click does not trigger a transition, we're done!\n if(noTransition) return;\n\n // if custom handler returns false, we're done!\n if(clickVal === false) return;\n\n // skip if triggered from dragging a nearby cartesian subplot\n if(gd._dragging) return;\n\n // skip during transitions, to avoid potential bugs\n // we could remove this check later\n if(gd._transitioning) return;\n\n // store 'old' level in guiEdit stash, so that subsequent Plotly.react\n // calls with the same uirevision can start from the same entry\n Registry.call('_storeDirectGUIEdit', traceNow, fullLayoutNow._tracePreGUI[traceNow.uid], {\n level: traceNow.level\n });\n\n var frame = {\n data: [{level: nextLevel}],\n traces: [trace.index]\n };\n\n var animOpts = {\n frame: {\n redraw: false,\n duration: opts.transitionTime\n },\n transition: {\n duration: opts.transitionTime,\n easing: opts.transitionEasing\n },\n mode: 'immediate',\n fromcurrent: true\n };\n\n Fx.loneUnhover(fullLayoutNow._hoverlayer.node());\n Registry.call('animate', gd, frame, animOpts);\n };\n\n sliceTop.on('mouseover', onMouseOver);\n sliceTop.on('mouseout', onMouseOut);\n sliceTop.on('click', onClick);\n};\n\nfunction makeEventData(pt, trace, keys) {\n var cdi = pt.data.data;\n\n var out = {\n curveNumber: trace.index,\n pointNumber: cdi.i,\n data: trace._input,\n fullData: trace,\n\n // TODO more things like 'children', 'siblings', 'hierarchy?\n };\n\n for(var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if(key in pt) out[key] = pt[key];\n }\n // handle special case of parent\n if('parentString' in pt && !helpers.isHierarchyRoot(pt)) out.parent = pt.parentString;\n\n appendArrayPointValue(out, trace, cdi.i);\n\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"69f1\":\n/***/ (function(module, exports) {\n\n// transliterated from the python snippet here:\n// http://en.wikipedia.org/wiki/Lanczos_approximation\n\nvar g = 7;\nvar p = [\n 0.99999999999980993,\n 676.5203681218851,\n -1259.1392167224028,\n 771.32342877765313,\n -176.61502916214059,\n 12.507343278686905,\n -0.13857109526572012,\n 9.9843695780195716e-6,\n 1.5056327351493116e-7\n];\n\nvar g_ln = 607/128;\nvar p_ln = [\n 0.99999999999999709182,\n 57.156235665862923517,\n -59.597960355475491248,\n 14.136097974741747174,\n -0.49191381609762019978,\n 0.33994649984811888699e-4,\n 0.46523628927048575665e-4,\n -0.98374475304879564677e-4,\n 0.15808870322491248884e-3,\n -0.21026444172410488319e-3,\n 0.21743961811521264320e-3,\n -0.16431810653676389022e-3,\n 0.84418223983852743293e-4,\n -0.26190838401581408670e-4,\n 0.36899182659531622704e-5\n];\n\n// Spouge approximation (suitable for large arguments)\nfunction lngamma(z) {\n\n if(z < 0) return Number('0/0');\n var x = p_ln[0];\n for(var i = p_ln.length - 1; i > 0; --i) x += p_ln[i] / (z + i);\n var t = z + g_ln + 0.5;\n return .5*Math.log(2*Math.PI)+(z+.5)*Math.log(t)-t+Math.log(x)-Math.log(z);\n}\n\nmodule.exports = function gamma (z) {\n if (z < 0.5) {\n return Math.PI / (Math.sin(Math.PI * z) * gamma(1 - z));\n }\n else if(z > 100) return Math.exp(lngamma(z));\n else {\n z -= 1;\n var x = p[0];\n for (var i = 1; i < g + 2; i++) {\n x += p[i] / (z + i);\n }\n var t = z + g + 0.5;\n\n return Math.sqrt(2 * Math.PI)\n * Math.pow(t, z + 0.5)\n * Math.exp(-t)\n * x\n ;\n }\n};\n\nmodule.exports.log = lngamma;\n\n\n/***/ }),\n\n/***/ \"69f3\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(\"7f9a\");\nvar global = __webpack_require__(\"da84\");\nvar isObject = __webpack_require__(\"861d\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar objectHas = __webpack_require__(\"5135\");\nvar sharedKey = __webpack_require__(\"f772\");\nvar hiddenKeys = __webpack_require__(\"d012\");\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ \"6a08\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n// Requirements\n// ============\nvar wrap = __webpack_require__(\"0a3e\").wrap;\nvar hasColorscale = __webpack_require__(\"215c\").hasColorscale;\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\nvar filterUnique = __webpack_require__(\"5567\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * Create a wrapped ParcatsModel object from trace\n *\n * Note: trace defaults have already been applied\n * @param {Object} gd\n * @param {Object} trace\n * @return {Array.}\n */\nmodule.exports = function calc(gd, trace) {\n var visibleDims = Lib.filterVisible(trace.dimensions);\n\n if(visibleDims.length === 0) return [];\n\n var uniqueInfoDims = visibleDims.map(function(dim) {\n var categoryValues;\n if(dim.categoryorder === 'trace') {\n // Use order of first occurrence in trace\n categoryValues = null;\n } else if(dim.categoryorder === 'array') {\n // Use categories specified in `categoryarray` first,\n // then add extra to the end in trace order\n categoryValues = dim.categoryarray;\n } else {\n // Get all categories up front so we can order them\n // Should we check for numbers as sort numerically?\n categoryValues = filterUnique(dim.values).sort();\n if(dim.categoryorder === 'category descending') {\n categoryValues = categoryValues.reverse();\n }\n }\n return getUniqueInfo(dim.values, categoryValues);\n });\n\n var counts,\n count,\n totalCount;\n if(Lib.isArrayOrTypedArray(trace.counts)) {\n counts = trace.counts;\n } else {\n counts = [trace.counts];\n }\n\n validateDimensionDisplayInds(visibleDims);\n\n visibleDims.forEach(function(dim, dimInd) {\n validateCategoryProperties(dim, uniqueInfoDims[dimInd]);\n });\n\n // Handle path colors\n // ------------------\n var line = trace.line;\n var markerColorscale;\n\n // Process colorscale\n if(line) {\n if(hasColorscale(trace, 'line')) {\n colorscaleCalc(gd, trace, {\n vals: trace.line.color,\n containerStr: 'line',\n cLetter: 'c'\n });\n }\n markerColorscale = Drawing.tryColorscale(line);\n } else {\n markerColorscale = Lib.identity;\n }\n\n // Build color generation function\n function getMarkerColorInfo(index) {\n var value, rawColor;\n if(Lib.isArrayOrTypedArray(line.color)) {\n value = line.color[index % line.color.length];\n rawColor = value;\n } else {\n value = line.color;\n }\n\n return {color: markerColorscale(value), rawColor: rawColor};\n }\n\n // Number of values and counts\n // ---------------------------\n var numValues = visibleDims[0].values.length;\n\n // Build path info\n // ---------------\n // Mapping from category inds to PathModel objects\n var pathModels = {};\n\n // Category inds array for each dimension\n var categoryIndsDims = uniqueInfoDims.map(function(di) {return di.inds;});\n\n // Initialize total count\n totalCount = 0;\n var valueInd;\n var d;\n\n for(valueInd = 0; valueInd < numValues; valueInd++) {\n // Category inds for this input value across dimensions\n var categoryIndsPath = [];\n for(d = 0; d < categoryIndsDims.length; d++) {\n categoryIndsPath.push(categoryIndsDims[d][valueInd]);\n }\n\n // Count\n count = counts[valueInd % counts.length];\n\n // Update total count\n totalCount += count;\n\n // Path color\n var pathColorInfo = getMarkerColorInfo(valueInd);\n\n // path key\n var pathKey = categoryIndsPath + '-' + pathColorInfo.rawColor;\n\n // Create / Update PathModel\n if(pathModels[pathKey] === undefined) {\n pathModels[pathKey] = createPathModel(categoryIndsPath,\n pathColorInfo.color,\n pathColorInfo.rawColor);\n }\n updatePathModel(pathModels[pathKey], valueInd, count);\n }\n\n var dimensionModels = visibleDims.map(function(di, i) {\n return createDimensionModel(i, di._index, di._displayindex, di.label, totalCount);\n });\n\n\n for(valueInd = 0; valueInd < numValues; valueInd++) {\n count = counts[valueInd % counts.length];\n\n for(d = 0; d < dimensionModels.length; d++) {\n var containerInd = dimensionModels[d].containerInd;\n var catInd = uniqueInfoDims[d].inds[valueInd];\n var cats = dimensionModels[d].categories;\n\n if(cats[catInd] === undefined) {\n var catValue = trace.dimensions[containerInd]._categoryarray[catInd];\n var catLabel = trace.dimensions[containerInd]._ticktext[catInd];\n cats[catInd] = createCategoryModel(d, catInd, catValue, catLabel);\n }\n\n updateCategoryModel(cats[catInd], valueInd, count);\n }\n }\n\n // Compute unique\n return wrap(createParcatsModel(dimensionModels, pathModels, totalCount));\n};\n\n// Models\n// ======\n\n// Parcats Model\n// -------------\n/**\n * @typedef {Object} ParcatsModel\n * Object containing calculated information about a parcats trace\n *\n * @property {Array.} dimensions\n * Array of dimension models\n * @property {Object.} paths\n * Dictionary from category inds string (e.g. \"1,2,1,1\") to path model\n * @property {Number} maxCats\n * The maximum number of categories of any dimension in the diagram\n * @property {Number} count\n * Total number of input values\n * @property {Object} trace\n */\n\n/**\n * Create and new ParcatsModel object\n * @param {Array.} dimensions\n * @param {Object.} paths\n * @param {Number} count\n * @return {ParcatsModel}\n */\nfunction createParcatsModel(dimensions, paths, count) {\n var maxCats = dimensions\n .map(function(d) {return d.categories.length;})\n .reduce(function(v1, v2) {return Math.max(v1, v2);});\n return {dimensions: dimensions, paths: paths, trace: undefined, maxCats: maxCats, count: count};\n}\n\n// Dimension Model\n// ---------------\n/**\n * @typedef {Object} DimensionModel\n * Object containing calculated information about a single dimension\n *\n * @property {Number} dimensionInd\n * The index of this dimension among the *visible* dimensions\n * @property {Number} containerInd\n * The index of this dimension in the original dimensions container,\n * irrespective of dimension visibility\n * @property {Number} displayInd\n * The display index of this dimension (where 0 is the left most dimension)\n * @property {String} dimensionLabel\n * The label of this dimension\n * @property {Number} count\n * Total number of input values\n * @property {Array.} categories\n * @property {Number|null} dragX\n * The x position of dimension that is currently being dragged. null if not being dragged\n */\n\n/**\n * Create and new DimensionModel object with an empty categories array\n * @param {Number} dimensionInd\n * @param {Number} containerInd\n * @param {Number} displayInd\n * @param {String} dimensionLabel\n * @param {Number} count\n * Total number of input values\n * @return {DimensionModel}\n */\nfunction createDimensionModel(dimensionInd, containerInd, displayInd, dimensionLabel, count) {\n return {\n dimensionInd: dimensionInd,\n containerInd: containerInd,\n displayInd: displayInd,\n dimensionLabel: dimensionLabel,\n count: count,\n categories: [],\n dragX: null\n };\n}\n\n// Category Model\n// --------------\n/**\n * @typedef {Object} CategoryModel\n * Object containing calculated information about a single category.\n *\n * @property {Number} dimensionInd\n * The index of this categories dimension\n * @property {Number} categoryInd\n * The index of this category\n * @property {Number} displayInd\n * The display index of this category (where 0 is the topmost category)\n * @property {String} categoryLabel\n * The name of this category\n * @property categoryValue: Raw value of the category\n * @property {Array} valueInds\n * Array of indices (into the original value array) of all samples in this category\n * @property {Number} count\n * The number of elements from the original array in this path\n * @property {Number|null} dragY\n * The y position of category that is currently being dragged. null if not being dragged\n */\n\n/**\n * Create and return a new CategoryModel object\n * @param {Number} dimensionInd\n * @param {Number} categoryInd\n * The display index of this category (where 0 is the topmost category)\n * @param {String} categoryValue\n * @param {String} categoryLabel\n * @return {CategoryModel}\n */\nfunction createCategoryModel(dimensionInd, categoryInd, categoryValue, categoryLabel) {\n return {\n dimensionInd: dimensionInd,\n categoryInd: categoryInd,\n categoryValue: categoryValue,\n displayInd: categoryInd,\n categoryLabel: categoryLabel,\n valueInds: [],\n count: 0,\n dragY: null\n };\n}\n\n/**\n * Update a CategoryModel object with a new value index\n * Note: The calling parameter is modified in place.\n *\n * @param {CategoryModel} categoryModel\n * @param {Number} valueInd\n * @param {Number} count\n */\nfunction updateCategoryModel(categoryModel, valueInd, count) {\n categoryModel.valueInds.push(valueInd);\n categoryModel.count += count;\n}\n\n\n// Path Model\n// ----------\n/**\n * @typedef {Object} PathModel\n * Object containing calculated information about the samples in a path.\n *\n * @property {Array} categoryInds\n * Array of category indices for each dimension (length `numDimensions`)\n * @param {String} pathColor\n * Color of this path. (Note: Any colorscaling has already taken place)\n * @property {Array} valueInds\n * Array of indices (into the original value array) of all samples in this path\n * @property {Number} count\n * The number of elements from the original array in this path\n * @property {String} color\n * The path's color (ass CSS color string)\n * @property rawColor\n * The raw color value specified by the user. May be a CSS color string or a Number\n */\n\n/**\n * Create and return a new PathModel object\n * @param {Array} categoryInds\n * @param color\n * @param rawColor\n * @return {PathModel}\n */\nfunction createPathModel(categoryInds, color, rawColor) {\n return {\n categoryInds: categoryInds,\n color: color,\n rawColor: rawColor,\n valueInds: [],\n count: 0\n };\n}\n\n/**\n * Update a PathModel object with a new value index\n * Note: The calling parameter is modified in place.\n *\n * @param {PathModel} pathModel\n * @param {Number} valueInd\n * @param {Number} count\n */\nfunction updatePathModel(pathModel, valueInd, count) {\n pathModel.valueInds.push(valueInd);\n pathModel.count += count;\n}\n\n// Unique calculations\n// ===================\n/**\n * @typedef {Object} UniqueInfo\n * Object containing information about the unique values of an input array\n *\n * @property {Array} uniqueValues\n * The unique values in the input array\n * @property {Array} uniqueCounts\n * The number of times each entry in uniqueValues occurs in input array.\n * This has the same length as `uniqueValues`\n * @property {Array} inds\n * Indices into uniqueValues that would reproduce original input array\n */\n\n/**\n * Compute unique value information for an array\n *\n * IMPORTANT: Note that values are considered unique\n * if their string representations are unique.\n *\n * @param {Array} values\n * @param {Array|undefined} uniqueValues\n * Array of expected unique values. The uniqueValues property of the resulting UniqueInfo object will begin with\n * these entries. Entries are included even if there are zero occurrences in the values array. Entries found in\n * the values array that are not present in uniqueValues will be included at the end of the array in the\n * UniqueInfo object.\n * @return {UniqueInfo}\n */\nfunction getUniqueInfo(values, uniqueValues) {\n // Initialize uniqueValues if not specified\n if(uniqueValues === undefined || uniqueValues === null) {\n uniqueValues = [];\n } else {\n // Shallow copy so append below doesn't alter input array\n uniqueValues = uniqueValues.map(function(e) {return e;});\n }\n\n // Initialize Variables\n var uniqueValueCounts = {};\n var uniqueValueInds = {};\n var inds = [];\n\n // Initialize uniqueValueCounts and\n uniqueValues.forEach(function(uniqueVal, valInd) {\n uniqueValueCounts[uniqueVal] = 0;\n uniqueValueInds[uniqueVal] = valInd;\n });\n\n // Compute the necessary unique info in a single pass\n for(var i = 0; i < values.length; i++) {\n var item = values[i];\n var itemInd;\n\n if(uniqueValueCounts[item] === undefined) {\n // This item has a previously unseen value\n uniqueValueCounts[item] = 1;\n itemInd = uniqueValues.push(item) - 1;\n uniqueValueInds[item] = itemInd;\n } else {\n // Increment count for this item\n uniqueValueCounts[item]++;\n itemInd = uniqueValueInds[item];\n }\n inds.push(itemInd);\n }\n\n // Build UniqueInfo\n var uniqueCounts = uniqueValues.map(function(v) { return uniqueValueCounts[v]; });\n\n return {\n uniqueValues: uniqueValues,\n uniqueCounts: uniqueCounts,\n inds: inds\n };\n}\n\n\n/**\n * Validate the requested display order for the dimensions.\n * If the display order is a permutation of 0 through dimensions.length - 1, link to _displayindex\n * Otherwise, replace the display order with the dimension order\n * @param {Object} trace\n */\nfunction validateDimensionDisplayInds(visibleDims) {\n var displayInds = visibleDims.map(function(d) { return d.displayindex; });\n var i;\n\n if(isRangePermutation(displayInds)) {\n for(i = 0; i < visibleDims.length; i++) {\n visibleDims[i]._displayindex = visibleDims[i].displayindex;\n }\n } else {\n for(i = 0; i < visibleDims.length; i++) {\n visibleDims[i]._displayindex = i;\n }\n }\n}\n\n\n/**\n * Update category properties based on the unique values found for this dimension\n * @param {Object} dim\n * @param {UniqueInfo} uniqueInfoDim\n */\nfunction validateCategoryProperties(dim, uniqueInfoDim) {\n // Update categoryarray\n dim._categoryarray = uniqueInfoDim.uniqueValues;\n\n // Handle ticktext\n if(dim.ticktext === null || dim.ticktext === undefined) {\n dim._ticktext = [];\n } else {\n // Shallow copy to avoid modifying input array\n dim._ticktext = dim.ticktext.slice();\n }\n\n // Extend ticktext with elements from uniqueInfoDim.uniqueValues\n for(var i = dim._ticktext.length; i < uniqueInfoDim.uniqueValues.length; i++) {\n dim._ticktext.push(uniqueInfoDim.uniqueValues[i]);\n }\n}\n\n/**\n * Determine whether an array contains a permutation of the integers from 0 to the array's length - 1\n * @param {Array} inds\n * @return {boolean}\n */\nfunction isRangePermutation(inds) {\n var indsSpecified = new Array(inds.length);\n\n for(var i = 0; i < inds.length; i++) {\n // Check for out of bounds\n if(inds[i] < 0 || inds[i] >= inds.length) {\n return false;\n }\n\n // Check for collisions with already specified index\n if(indsSpecified[inds[i]] !== undefined) {\n return false;\n }\n\n indsSpecified[inds[i]] = true;\n }\n\n // Nothing out of bounds and no collisions. We have a permutation\n return true;\n}\n\n\n/***/ }),\n\n/***/ \"6a25\":\n/***/ (function(module, exports) {\n\nmodule.exports = [\r\n '<<='\r\n , '>>='\r\n , '++'\r\n , '--'\r\n , '<<'\r\n , '>>'\r\n , '<='\r\n , '>='\r\n , '=='\r\n , '!='\r\n , '&&'\r\n , '||'\r\n , '+='\r\n , '-='\r\n , '*='\r\n , '/='\r\n , '%='\r\n , '&='\r\n , '^^'\r\n , '^='\r\n , '|='\r\n , '('\r\n , ')'\r\n , '['\r\n , ']'\r\n , '.'\r\n , '!'\r\n , '~'\r\n , '*'\r\n , '/'\r\n , '%'\r\n , '+'\r\n , '-'\r\n , '<'\r\n , '>'\r\n , '&'\r\n , '^'\r\n , '|'\r\n , '?'\r\n , ':'\r\n , '='\r\n , ','\r\n , ';'\r\n , '{'\r\n , '}'\r\n]\r\n\n\n/***/ }),\n\n/***/ \"6a77\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\nvar Axes = __webpack_require__(\"0642\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\nvar _ = Lib._;\n\nmodule.exports = function calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var cd = [];\n\n // N.B. violin reuses same Box.calc\n var numKey = trace.type === 'violin' ? '_numViolins' : '_numBoxes';\n\n var i, j;\n var valAxis, valLetter;\n var posAxis, posLetter;\n\n if(trace.orientation === 'h') {\n valAxis = xa;\n valLetter = 'x';\n posAxis = ya;\n posLetter = 'y';\n } else {\n valAxis = ya;\n valLetter = 'y';\n posAxis = xa;\n posLetter = 'x';\n }\n\n var posArray = getPos(trace, posLetter, posAxis, fullLayout[numKey]);\n var dv = Lib.distinctVals(posArray);\n var posDistinct = dv.vals;\n var dPos = dv.minDiff / 2;\n\n // item in trace calcdata\n var cdi;\n // array of {v: v, i, i} sample pts\n var pts;\n // values of the `pts` array of objects\n var boxVals;\n // length of sample\n var N;\n // single sample point\n var pt;\n // single sample value\n var v;\n\n // filter function for outlier pts\n // outlier definition based on http://www.physics.csbsju.edu/stats/box2.html\n var ptFilterFn = (trace.boxpoints || trace.points) === 'all' ?\n Lib.identity :\n function(pt) { return (pt.v < cdi.lf || pt.v > cdi.uf); };\n\n if(trace._hasPreCompStats) {\n var valArrayRaw = trace[valLetter];\n var d2c = function(k) { return valAxis.d2c((trace[k] || [])[i]); };\n var minVal = Infinity;\n var maxVal = -Infinity;\n\n for(i = 0; i < trace._length; i++) {\n var posi = posArray[i];\n if(!isNumeric(posi)) continue;\n\n cdi = {};\n cdi.pos = cdi[posLetter] = posi;\n\n cdi.q1 = d2c('q1');\n cdi.med = d2c('median');\n cdi.q3 = d2c('q3');\n\n pts = [];\n if(valArrayRaw && Lib.isArrayOrTypedArray(valArrayRaw[i])) {\n for(j = 0; j < valArrayRaw[i].length; j++) {\n v = valAxis.d2c(valArrayRaw[i][j]);\n if(v !== BADNUM) {\n pt = {v: v, i: [i, j]};\n arraysToCalcdata(pt, trace, [i, j]);\n pts.push(pt);\n }\n }\n }\n cdi.pts = pts.sort(sortByVal);\n boxVals = cdi[valLetter] = pts.map(extractVal);\n N = boxVals.length;\n\n if(cdi.med !== BADNUM && cdi.q1 !== BADNUM && cdi.q3 !== BADNUM &&\n cdi.med >= cdi.q1 && cdi.q3 >= cdi.med\n ) {\n var lf = d2c('lowerfence');\n cdi.lf = (lf !== BADNUM && lf <= cdi.q1) ?\n lf :\n computeLowerFence(cdi, boxVals, N);\n\n var uf = d2c('upperfence');\n cdi.uf = (uf !== BADNUM && uf >= cdi.q3) ?\n uf :\n computeUpperFence(cdi, boxVals, N);\n\n var mean = d2c('mean');\n cdi.mean = (mean !== BADNUM) ?\n mean :\n (N ? Lib.mean(boxVals, N) : (cdi.q1 + cdi.q3) / 2);\n\n var sd = d2c('sd');\n cdi.sd = (mean !== BADNUM && sd >= 0) ?\n sd :\n (N ? Lib.stdev(boxVals, N, cdi.mean) : (cdi.q3 - cdi.q1));\n\n cdi.lo = computeLowerOutlierBound(cdi);\n cdi.uo = computeUpperOutlierBound(cdi);\n\n var ns = d2c('notchspan');\n ns = (ns !== BADNUM && ns > 0) ? ns : computeNotchSpan(cdi, N);\n cdi.ln = cdi.med - ns;\n cdi.un = cdi.med + ns;\n\n var imin = cdi.lf;\n var imax = cdi.uf;\n if(trace.boxpoints && boxVals.length) {\n imin = Math.min(imin, boxVals[0]);\n imax = Math.max(imax, boxVals[N - 1]);\n }\n if(trace.notched) {\n imin = Math.min(imin, cdi.ln);\n imax = Math.max(imax, cdi.un);\n }\n cdi.min = imin;\n cdi.max = imax;\n } else {\n Lib.warn([\n 'Invalid input - make sure that q1 <= median <= q3',\n 'q1 = ' + cdi.q1,\n 'median = ' + cdi.med,\n 'q3 = ' + cdi.q3\n ].join('\\n'));\n\n var v0;\n if(cdi.med !== BADNUM) {\n v0 = cdi.med;\n } else if(cdi.q1 !== BADNUM) {\n if(cdi.q3 !== BADNUM) v0 = (cdi.q1 + cdi.q3) / 2;\n else v0 = cdi.q1;\n } else if(cdi.q3 !== BADNUM) {\n v0 = cdi.q3;\n } else {\n v0 = 0;\n }\n\n // draw box as line segment\n cdi.med = v0;\n cdi.q1 = cdi.q3 = v0;\n cdi.lf = cdi.uf = v0;\n cdi.mean = cdi.sd = v0;\n cdi.ln = cdi.un = v0;\n cdi.min = cdi.max = v0;\n }\n\n minVal = Math.min(minVal, cdi.min);\n maxVal = Math.max(maxVal, cdi.max);\n\n cdi.pts2 = pts.filter(ptFilterFn);\n\n cd.push(cdi);\n }\n\n trace._extremes[valAxis._id] = Axes.findExtremes(valAxis,\n [minVal, maxVal],\n {padded: true}\n );\n } else {\n var valArray = valAxis.makeCalcdata(trace, valLetter);\n var posBins = makeBins(posDistinct, dPos);\n var pLen = posDistinct.length;\n var ptsPerBin = initNestedArray(pLen);\n\n // bin pts info per position bins\n for(i = 0; i < trace._length; i++) {\n v = valArray[i];\n if(!isNumeric(v)) continue;\n\n var n = Lib.findBin(posArray[i], posBins);\n if(n >= 0 && n < pLen) {\n pt = {v: v, i: i};\n arraysToCalcdata(pt, trace, i);\n ptsPerBin[n].push(pt);\n }\n }\n\n var minLowerNotch = Infinity;\n var maxUpperNotch = -Infinity;\n\n var quartilemethod = trace.quartilemethod;\n var usesExclusive = quartilemethod === 'exclusive';\n var usesInclusive = quartilemethod === 'inclusive';\n\n // build calcdata trace items, one item per distinct position\n for(i = 0; i < pLen; i++) {\n if(ptsPerBin[i].length > 0) {\n cdi = {};\n cdi.pos = cdi[posLetter] = posDistinct[i];\n\n pts = cdi.pts = ptsPerBin[i].sort(sortByVal);\n boxVals = cdi[valLetter] = pts.map(extractVal);\n N = boxVals.length;\n\n cdi.min = boxVals[0];\n cdi.max = boxVals[N - 1];\n cdi.mean = Lib.mean(boxVals, N);\n cdi.sd = Lib.stdev(boxVals, N, cdi.mean);\n cdi.med = Lib.interp(boxVals, 0.5);\n\n if((N % 2) && (usesExclusive || usesInclusive)) {\n var lower;\n var upper;\n\n if(usesExclusive) {\n // do NOT include the median in either half\n lower = boxVals.slice(0, N / 2);\n upper = boxVals.slice(N / 2 + 1);\n } else if(usesInclusive) {\n // include the median in either half\n lower = boxVals.slice(0, N / 2 + 1);\n upper = boxVals.slice(N / 2);\n }\n\n cdi.q1 = Lib.interp(lower, 0.5);\n cdi.q3 = Lib.interp(upper, 0.5);\n } else {\n cdi.q1 = Lib.interp(boxVals, 0.25);\n cdi.q3 = Lib.interp(boxVals, 0.75);\n }\n\n // lower and upper fences\n cdi.lf = computeLowerFence(cdi, boxVals, N);\n cdi.uf = computeUpperFence(cdi, boxVals, N);\n\n // lower and upper outliers bounds\n cdi.lo = computeLowerOutlierBound(cdi);\n cdi.uo = computeUpperOutlierBound(cdi);\n\n // lower and upper notches\n var mci = computeNotchSpan(cdi, N);\n cdi.ln = cdi.med - mci;\n cdi.un = cdi.med + mci;\n minLowerNotch = Math.min(minLowerNotch, cdi.ln);\n maxUpperNotch = Math.max(maxUpperNotch, cdi.un);\n\n cdi.pts2 = pts.filter(ptFilterFn);\n\n cd.push(cdi);\n }\n }\n\n trace._extremes[valAxis._id] = Axes.findExtremes(valAxis,\n trace.notched ? valArray.concat([minLowerNotch, maxUpperNotch]) : valArray,\n {padded: true}\n );\n }\n\n calcSelection(cd, trace);\n\n if(cd.length > 0) {\n cd[0].t = {\n num: fullLayout[numKey],\n dPos: dPos,\n posLetter: posLetter,\n valLetter: valLetter,\n labels: {\n med: _(gd, 'median:'),\n min: _(gd, 'min:'),\n q1: _(gd, 'q1:'),\n q3: _(gd, 'q3:'),\n max: _(gd, 'max:'),\n mean: trace.boxmean === 'sd' ? _(gd, 'mean ± σ:') : _(gd, 'mean:'),\n lf: _(gd, 'lower fence:'),\n uf: _(gd, 'upper fence:')\n }\n };\n\n fullLayout[numKey]++;\n return cd;\n } else {\n return [{t: {empty: true}}];\n }\n};\n\n// In vertical (horizontal) box plots:\n// if no x (y) data, use x0 (y0), or name\n// so if you want one box\n// per trace, set x0 (y0) to the x (y) value or category for this trace\n// (or set x (y) to a constant array matching y (x))\nfunction getPos(trace, posLetter, posAxis, num) {\n var hasPosArray = posLetter in trace;\n var hasPos0 = posLetter + '0' in trace;\n var hasPosStep = 'd' + posLetter in trace;\n\n if(hasPosArray || (hasPos0 && hasPosStep)) {\n return posAxis.makeCalcdata(trace, posLetter);\n }\n\n var pos0;\n if(hasPos0) {\n pos0 = trace[posLetter + '0'];\n } else if('name' in trace && (\n posAxis.type === 'category' || (\n isNumeric(trace.name) &&\n ['linear', 'log'].indexOf(posAxis.type) !== -1\n ) || (\n Lib.isDateTime(trace.name) &&\n posAxis.type === 'date'\n )\n )) {\n pos0 = trace.name;\n } else {\n pos0 = num;\n }\n\n var pos0c = posAxis.type === 'multicategory' ?\n posAxis.r2c_just_indices(pos0) :\n posAxis.d2c(pos0, 0, trace[posLetter + 'calendar']);\n\n var len = trace._length;\n var out = new Array(len);\n for(var i = 0; i < len; i++) out[i] = pos0c;\n\n return out;\n}\n\nfunction makeBins(x, dx) {\n var len = x.length;\n var bins = new Array(len + 1);\n\n for(var i = 0; i < len; i++) {\n bins[i] = x[i] - dx;\n }\n bins[len] = x[len - 1] + dx;\n\n return bins;\n}\n\nfunction initNestedArray(len) {\n var arr = new Array(len);\n for(var i = 0; i < len; i++) {\n arr[i] = [];\n }\n return arr;\n}\n\nvar TRACE_TO_CALC = {\n text: 'tx',\n hovertext: 'htx'\n};\n\nfunction arraysToCalcdata(pt, trace, ptNumber) {\n for(var k in TRACE_TO_CALC) {\n if(Lib.isArrayOrTypedArray(trace[k])) {\n if(Array.isArray(ptNumber)) {\n if(Lib.isArrayOrTypedArray(trace[k][ptNumber[0]])) {\n pt[TRACE_TO_CALC[k]] = trace[k][ptNumber[0]][ptNumber[1]];\n }\n } else {\n pt[TRACE_TO_CALC[k]] = trace[k][ptNumber];\n }\n }\n }\n}\n\nfunction calcSelection(cd, trace) {\n if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {\n for(var i = 0; i < cd.length; i++) {\n var pts = cd[i].pts || [];\n var ptNumber2cdIndex = {};\n\n for(var j = 0; j < pts.length; j++) {\n ptNumber2cdIndex[pts[j].i] = j;\n }\n\n Lib.tagSelected(pts, trace, ptNumber2cdIndex);\n }\n }\n}\n\nfunction sortByVal(a, b) { return a.v - b.v; }\n\nfunction extractVal(o) { return o.v; }\n\n// last point below 1.5 * IQR\nfunction computeLowerFence(cdi, boxVals, N) {\n if(N === 0) return cdi.q1;\n return Math.min(\n cdi.q1,\n boxVals[Math.min(\n Lib.findBin(2.5 * cdi.q1 - 1.5 * cdi.q3, boxVals, true) + 1,\n N - 1\n )]\n );\n}\n\n// last point above 1.5 * IQR\nfunction computeUpperFence(cdi, boxVals, N) {\n if(N === 0) return cdi.q3;\n return Math.max(\n cdi.q3,\n boxVals[Math.max(\n Lib.findBin(2.5 * cdi.q3 - 1.5 * cdi.q1, boxVals),\n 0\n )]\n );\n}\n\n// 3 IQR below (don't clip to max/min,\n// this is only for discriminating suspected & far outliers)\nfunction computeLowerOutlierBound(cdi) {\n return 4 * cdi.q1 - 3 * cdi.q3;\n}\n\n// 3 IQR above (don't clip to max/min,\n// this is only for discriminating suspected & far outliers)\nfunction computeUpperOutlierBound(cdi) {\n return 4 * cdi.q3 - 3 * cdi.q1;\n}\n\n// 95% confidence intervals for median\nfunction computeNotchSpan(cdi, N) {\n if(N === 0) return 0;\n return 1.57 * (cdi.q3 - cdi.q1) / Math.sqrt(N);\n}\n\n\n/***/ }),\n\n/***/ \"6aa3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar wrap = __webpack_require__(\"0a3e\").wrap;\n\nmodule.exports = function calc() {\n // we don't actually need to include the trace here, since that will be added\n // by Plots.doCalcdata, and that's all we actually need later.\n return wrap({});\n};\n\n\n/***/ }),\n\n/***/ \"6add\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar id2name = __webpack_require__(\"3c1c\").id2name;\nvar scaleZoom = __webpack_require__(\"9759\");\nvar makePadFn = __webpack_require__(\"ce56\").makePadFn;\nvar concatExtremes = __webpack_require__(\"ce56\").concatExtremes;\n\nvar ALMOST_EQUAL = __webpack_require__(\"e806\").ALMOST_EQUAL;\nvar FROM_BL = __webpack_require__(\"63dc\").FROM_BL;\n\nexports.handleConstraintDefaults = function(containerIn, containerOut, coerce, opts) {\n var allAxisIds = opts.allAxisIds;\n var layoutOut = opts.layoutOut;\n var scaleanchorDflt = opts.scaleanchorDflt;\n var constrainDflt = opts.constrainDflt;\n var constraintGroups = layoutOut._axisConstraintGroups;\n var matchGroups = layoutOut._axisMatchGroups;\n var axId = containerOut._id;\n var axLetter = axId.charAt(0);\n var splomStash = ((layoutOut._splomAxes || {})[axLetter] || {})[axId] || {};\n var thisID = containerOut._id;\n var letter = thisID.charAt(0);\n\n // coerce the constraint mechanics even if this axis has no scaleanchor\n // because it may be the anchor of another axis.\n var constrain = coerce('constrain', constrainDflt);\n Lib.coerce(containerIn, containerOut, {\n constraintoward: {\n valType: 'enumerated',\n values: letter === 'x' ? ['left', 'center', 'right'] : ['bottom', 'middle', 'top'],\n dflt: letter === 'x' ? 'center' : 'middle'\n }\n }, 'constraintoward');\n\n var matches, matchOpts;\n\n if((containerIn.matches || splomStash.matches) && !containerOut.fixedrange) {\n matchOpts = getConstraintOpts(matchGroups, thisID, allAxisIds, layoutOut);\n matches = Lib.coerce(containerIn, containerOut, {\n matches: {\n valType: 'enumerated',\n values: matchOpts.linkableAxes || [],\n dflt: splomStash.matches\n }\n }, 'matches');\n }\n\n // 'matches' wins over 'scaleanchor' (for now)\n var scaleanchor, scaleOpts;\n\n if(!matches &&\n !(containerOut.fixedrange && constrain !== 'domain') &&\n (containerIn.scaleanchor || scaleanchorDflt)\n ) {\n scaleOpts = getConstraintOpts(constraintGroups, thisID, allAxisIds, layoutOut, constrain);\n scaleanchor = Lib.coerce(containerIn, containerOut, {\n scaleanchor: {\n valType: 'enumerated',\n values: scaleOpts.linkableAxes || []\n }\n }, 'scaleanchor', scaleanchorDflt);\n }\n\n if(matches) {\n delete containerOut.constrain;\n updateConstraintGroups(matchGroups, matchOpts.thisGroup, thisID, matches, 1);\n } else if(allAxisIds.indexOf(containerIn.matches) !== -1) {\n Lib.warn('ignored ' + containerOut._name + '.matches: \"' +\n containerIn.matches + '\" to avoid either an infinite loop ' +\n 'or because the target axis has fixed range.');\n }\n\n if(scaleanchor) {\n var scaleratio = coerce('scaleratio');\n\n // TODO: I suppose I could do attribute.min: Number.MIN_VALUE to avoid zero,\n // but that seems hacky. Better way to say \"must be a positive number\"?\n // Of course if you use several super-tiny values you could eventually\n // force a product of these to zero and all hell would break loose...\n // Likewise with super-huge values.\n if(!scaleratio) scaleratio = containerOut.scaleratio = 1;\n\n updateConstraintGroups(constraintGroups, scaleOpts.thisGroup, thisID, scaleanchor, scaleratio);\n } else if(allAxisIds.indexOf(containerIn.scaleanchor) !== -1) {\n Lib.warn('ignored ' + containerOut._name + '.scaleanchor: \"' +\n containerIn.scaleanchor + '\" to avoid either an infinite loop ' +\n 'and possibly inconsistent scaleratios, or because the target ' +\n 'axis has fixed range or this axis declares a *matches* constraint.');\n }\n};\n\n// If this axis is already part of a constraint group, we can't\n// scaleanchor any other axis in that group, or we'd make a loop.\n// Filter allAxisIds to enforce this, also matching axis types.\nfunction getConstraintOpts(groups, thisID, allAxisIds, layoutOut, constrain) {\n var doesNotConstrainRange = constrain !== 'range';\n var thisType = layoutOut[id2name(thisID)].type;\n var i, j, idj, axj;\n\n var linkableAxes = [];\n for(j = 0; j < allAxisIds.length; j++) {\n idj = allAxisIds[j];\n if(idj === thisID) continue;\n\n axj = layoutOut[id2name(idj)];\n if(axj.type === thisType) {\n if(!axj.fixedrange) {\n linkableAxes.push(idj);\n } else if(doesNotConstrainRange && axj.anchor) {\n // allow domain constraints on subplots where\n // BOTH axes have fixedrange:true and constrain:domain\n var counterAxj = layoutOut[id2name(axj.anchor)];\n if(counterAxj.fixedrange) {\n linkableAxes.push(idj);\n }\n }\n }\n }\n\n for(i = 0; i < groups.length; i++) {\n if(groups[i][thisID]) {\n var thisGroup = groups[i];\n\n var linkableAxesNoLoops = [];\n for(j = 0; j < linkableAxes.length; j++) {\n idj = linkableAxes[j];\n if(!thisGroup[idj]) linkableAxesNoLoops.push(idj);\n }\n return {linkableAxes: linkableAxesNoLoops, thisGroup: thisGroup};\n }\n }\n\n return {linkableAxes: linkableAxes, thisGroup: null};\n}\n\n/*\n * Add this axis to the axis constraint groups, which is the collection\n * of axes that are all constrained together on scale.\n *\n * constraintGroups: a list of objects. each object is\n * {axis_id: scale_within_group}, where scale_within_group is\n * only important relative to the rest of the group, and defines\n * the relative scales between all axes in the group\n *\n * thisGroup: the group the current axis is already in\n * thisID: the id if the current axis\n * scaleanchor: the id of the axis to scale it with\n * scaleratio: the ratio of this axis to the scaleanchor axis\n */\nfunction updateConstraintGroups(constraintGroups, thisGroup, thisID, scaleanchor, scaleratio) {\n var i, j, groupi, keyj, thisGroupIndex;\n\n if(thisGroup === null) {\n thisGroup = {};\n thisGroup[thisID] = 1;\n thisGroupIndex = constraintGroups.length;\n constraintGroups.push(thisGroup);\n } else {\n thisGroupIndex = constraintGroups.indexOf(thisGroup);\n }\n\n var thisGroupKeys = Object.keys(thisGroup);\n\n // we know that this axis isn't in any other groups, but we don't know\n // about the scaleanchor axis. If it is, we need to merge the groups.\n for(i = 0; i < constraintGroups.length; i++) {\n groupi = constraintGroups[i];\n if(i !== thisGroupIndex && groupi[scaleanchor]) {\n var baseScale = groupi[scaleanchor];\n for(j = 0; j < thisGroupKeys.length; j++) {\n keyj = thisGroupKeys[j];\n groupi[keyj] = baseScale * scaleratio * thisGroup[keyj];\n }\n constraintGroups.splice(thisGroupIndex, 1);\n return;\n }\n }\n\n // otherwise, we insert the new scaleanchor axis as the base scale (1)\n // in its group, and scale the rest of the group to it\n if(scaleratio !== 1) {\n for(j = 0; j < thisGroupKeys.length; j++) {\n thisGroup[thisGroupKeys[j]] *= scaleratio;\n }\n }\n thisGroup[scaleanchor] = 1;\n}\n\nexports.enforce = function enforce(gd) {\n var fullLayout = gd._fullLayout;\n var constraintGroups = fullLayout._axisConstraintGroups || [];\n\n var i, j, axisID, ax, normScale, mode, factor;\n\n for(i = 0; i < constraintGroups.length; i++) {\n var group = constraintGroups[i];\n var axisIDs = Object.keys(group);\n\n var minScale = Infinity;\n var maxScale = 0;\n // mostly matchScale will be the same as minScale\n // ie we expand axis ranges to encompass *everything*\n // that's currently in any of their ranges, but during\n // autorange of a subset of axes we will ignore other\n // axes for this purpose.\n var matchScale = Infinity;\n var normScales = {};\n var axes = {};\n var hasAnyDomainConstraint = false;\n\n // find the (normalized) scale of each axis in the group\n for(j = 0; j < axisIDs.length; j++) {\n axisID = axisIDs[j];\n axes[axisID] = ax = fullLayout[id2name(axisID)];\n\n if(ax._inputDomain) ax.domain = ax._inputDomain.slice();\n else ax._inputDomain = ax.domain.slice();\n\n if(!ax._inputRange) ax._inputRange = ax.range.slice();\n\n // set axis scale here so we can use _m rather than\n // having to calculate it from length and range\n ax.setScale();\n\n // abs: inverted scales still satisfy the constraint\n normScales[axisID] = normScale = Math.abs(ax._m) / group[axisID];\n minScale = Math.min(minScale, normScale);\n if(ax.constrain === 'domain' || !ax._constraintShrinkable) {\n matchScale = Math.min(matchScale, normScale);\n }\n\n // this has served its purpose, so remove it\n delete ax._constraintShrinkable;\n maxScale = Math.max(maxScale, normScale);\n\n if(ax.constrain === 'domain') hasAnyDomainConstraint = true;\n }\n\n // Do we have a constraint mismatch? Give a small buffer for rounding errors\n if(minScale > ALMOST_EQUAL * maxScale && !hasAnyDomainConstraint) continue;\n\n // now increase any ranges we need to until all normalized scales are equal\n for(j = 0; j < axisIDs.length; j++) {\n axisID = axisIDs[j];\n normScale = normScales[axisID];\n ax = axes[axisID];\n mode = ax.constrain;\n\n // even if the scale didn't change, if we're shrinking domain\n // we need to recalculate in case `constraintoward` changed\n if(normScale !== matchScale || mode === 'domain') {\n factor = normScale / matchScale;\n\n if(mode === 'range') {\n scaleZoom(ax, factor);\n } else {\n // mode === 'domain'\n\n var inputDomain = ax._inputDomain;\n var domainShrunk = (ax.domain[1] - ax.domain[0]) /\n (inputDomain[1] - inputDomain[0]);\n var rangeShrunk = (ax.r2l(ax.range[1]) - ax.r2l(ax.range[0])) /\n (ax.r2l(ax._inputRange[1]) - ax.r2l(ax._inputRange[0]));\n\n factor /= domainShrunk;\n\n if(factor * rangeShrunk < 1) {\n // we've asked to magnify the axis more than we can just by\n // enlarging the domain - so we need to constrict range\n ax.domain = ax._input.domain = inputDomain.slice();\n scaleZoom(ax, factor);\n continue;\n }\n\n if(rangeShrunk < 1) {\n // the range has previously been constricted by ^^, but we've\n // switched to the domain-constricted regime, so reset range\n ax.range = ax._input.range = ax._inputRange.slice();\n factor *= rangeShrunk;\n }\n\n if(ax.autorange) {\n /*\n * range & factor may need to change because range was\n * calculated for the larger scaling, so some pixel\n * paddings may get cut off when we reduce the domain.\n *\n * This is easier than the regular autorange calculation\n * because we already know the scaling `m`, but we still\n * need to cut out impossible constraints (like\n * annotations with super-long arrows). That's what\n * outerMin/Max are for - if the expansion was going to\n * go beyond the original domain, it must be impossible\n */\n var rl0 = ax.r2l(ax.range[0]);\n var rl1 = ax.r2l(ax.range[1]);\n var rangeCenter = (rl0 + rl1) / 2;\n var rangeMin = rangeCenter;\n var rangeMax = rangeCenter;\n var halfRange = Math.abs(rl1 - rangeCenter);\n // extra tiny bit for rounding errors, in case we actually\n // *are* expanding to the full domain\n var outerMin = rangeCenter - halfRange * factor * 1.0001;\n var outerMax = rangeCenter + halfRange * factor * 1.0001;\n var getPad = makePadFn(ax);\n\n updateDomain(ax, factor);\n var m = Math.abs(ax._m);\n var extremes = concatExtremes(gd, ax);\n var minArray = extremes.min;\n var maxArray = extremes.max;\n var newVal;\n var k;\n\n for(k = 0; k < minArray.length; k++) {\n newVal = minArray[k].val - getPad(minArray[k]) / m;\n if(newVal > outerMin && newVal < rangeMin) {\n rangeMin = newVal;\n }\n }\n\n for(k = 0; k < maxArray.length; k++) {\n newVal = maxArray[k].val + getPad(maxArray[k]) / m;\n if(newVal < outerMax && newVal > rangeMax) {\n rangeMax = newVal;\n }\n }\n\n var domainExpand = (rangeMax - rangeMin) / (2 * halfRange);\n factor /= domainExpand;\n\n rangeMin = ax.l2r(rangeMin);\n rangeMax = ax.l2r(rangeMax);\n ax.range = ax._input.range = (rl0 < rl1) ?\n [rangeMin, rangeMax] : [rangeMax, rangeMin];\n }\n\n updateDomain(ax, factor);\n }\n }\n }\n }\n};\n\n// For use before autoranging, check if this axis was previously constrained\n// by domain but no longer is\nexports.clean = function clean(gd, ax) {\n if(ax._inputDomain) {\n var isConstrained = false;\n var axId = ax._id;\n var constraintGroups = gd._fullLayout._axisConstraintGroups;\n for(var j = 0; j < constraintGroups.length; j++) {\n if(constraintGroups[j][axId]) {\n isConstrained = true;\n break;\n }\n }\n if(!isConstrained || ax.constrain !== 'domain') {\n ax._input.domain = ax.domain = ax._inputDomain;\n delete ax._inputDomain;\n }\n }\n};\n\nfunction updateDomain(ax, factor) {\n var inputDomain = ax._inputDomain;\n var centerFraction = FROM_BL[ax.constraintoward];\n var center = inputDomain[0] + (inputDomain[1] - inputDomain[0]) * centerFraction;\n\n ax.domain = ax._input.domain = [\n center + (inputDomain[0] - center) / factor,\n center + (inputDomain[1] - center) / factor\n ];\n ax.setScale();\n}\n\n\n/***/ }),\n\n/***/ \"6af8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArray = Array.isArray;\n\n// IE9 fallbacks\n\nvar ab = (typeof ArrayBuffer === 'undefined' || !ArrayBuffer.isView) ?\n {isView: function() { return false; }} :\n ArrayBuffer;\n\nvar dv = (typeof DataView === 'undefined') ?\n function() {} :\n DataView;\n\nfunction isTypedArray(a) {\n return ab.isView(a) && !(a instanceof dv);\n}\nexports.isTypedArray = isTypedArray;\n\nfunction isArrayOrTypedArray(a) {\n return isArray(a) || isTypedArray(a);\n}\nexports.isArrayOrTypedArray = isArrayOrTypedArray;\n\n/*\n * Test whether an input object is 1D.\n *\n * Assumes we already know the object is an array.\n *\n * Looks only at the first element, if the dimensionality is\n * not consistent we won't figure that out here.\n */\nfunction isArray1D(a) {\n return !isArrayOrTypedArray(a[0]);\n}\nexports.isArray1D = isArray1D;\n\n/*\n * Ensures an array has the right amount of storage space. If it doesn't\n * exist, it creates an array. If it does exist, it returns it if too\n * short or truncates it in-place.\n *\n * The goal is to just reuse memory to avoid a bit of excessive garbage\n * collection.\n */\nexports.ensureArray = function(out, n) {\n // TODO: typed array support here? This is only used in\n // traces/carpet/compute_control_points\n if(!isArray(out)) out = [];\n\n // If too long, truncate. (If too short, it will grow\n // automatically so we don't care about that case)\n out.length = n;\n\n return out;\n};\n\n/*\n * TypedArray-compatible concatenation of n arrays\n * if all arrays are the same type it will preserve that type,\n * otherwise it falls back on Array.\n * Also tries to avoid copying, in case one array has zero length\n * But never mutates an existing array\n */\nexports.concat = function() {\n var args = [];\n var allArray = true;\n var totalLen = 0;\n\n var _constructor, arg0, i, argi, posi, leni, out, j;\n\n for(i = 0; i < arguments.length; i++) {\n argi = arguments[i];\n leni = argi.length;\n if(leni) {\n if(arg0) args.push(argi);\n else {\n arg0 = argi;\n posi = leni;\n }\n\n if(isArray(argi)) {\n _constructor = false;\n } else {\n allArray = false;\n if(!totalLen) {\n _constructor = argi.constructor;\n } else if(_constructor !== argi.constructor) {\n // TODO: in principle we could upgrade here,\n // ie keep typed array but convert all to Float64Array?\n _constructor = false;\n }\n }\n\n totalLen += leni;\n }\n }\n\n if(!totalLen) return [];\n if(!args.length) return arg0;\n\n if(allArray) return arg0.concat.apply(arg0, args);\n if(_constructor) {\n // matching typed arrays\n out = new _constructor(totalLen);\n out.set(arg0);\n for(i = 0; i < args.length; i++) {\n argi = args[i];\n out.set(argi, posi);\n posi += argi.length;\n }\n return out;\n }\n\n // mismatched types or Array + typed\n out = new Array(totalLen);\n for(j = 0; j < arg0.length; j++) out[j] = arg0[j];\n for(i = 0; i < args.length; i++) {\n argi = args[i];\n for(j = 0; j < argi.length; j++) out[posi + j] = argi[j];\n posi += j;\n }\n return out;\n};\n\nexports.maxRowLength = function(z) {\n return _rowLength(z, Math.max, 0);\n};\n\nexports.minRowLength = function(z) {\n return _rowLength(z, Math.min, Infinity);\n};\n\nfunction _rowLength(z, fn, len0) {\n if(isArrayOrTypedArray(z)) {\n if(isArrayOrTypedArray(z[0])) {\n var len = len0;\n for(var i = 0; i < z.length; i++) {\n len = fn(len, z[i].length);\n }\n return len;\n } else {\n return z.length;\n }\n }\n return 0;\n}\n\n\n/***/ }),\n\n/***/ \"6b10\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nvar attributes = __webpack_require__(\"8f38\");\nvar oppAxisAttrs = __webpack_require__(\"5844\");\n\nmodule.exports = function handleDefaults(layoutIn, layoutOut, axName) {\n var axIn = layoutIn[axName];\n var axOut = layoutOut[axName];\n\n if(!(axIn.rangeslider || layoutOut._requestRangeslider[axOut._id])) return;\n\n // not super proud of this (maybe store _ in axis object instead\n if(!Lib.isPlainObject(axIn.rangeslider)) {\n axIn.rangeslider = {};\n }\n\n var containerIn = axIn.rangeslider;\n var containerOut = Template.newContainer(axOut, 'rangeslider');\n\n function coerce(attr, dflt) {\n return Lib.coerce(containerIn, containerOut, attributes, attr, dflt);\n }\n\n var rangeContainerIn, rangeContainerOut;\n function coerceRange(attr, dflt) {\n return Lib.coerce(rangeContainerIn, rangeContainerOut, oppAxisAttrs, attr, dflt);\n }\n\n var visible = coerce('visible');\n if(!visible) return;\n\n coerce('bgcolor', layoutOut.plot_bgcolor);\n coerce('bordercolor');\n coerce('borderwidth');\n coerce('thickness');\n\n coerce('autorange', !axOut.isValidRange(containerIn.range));\n coerce('range');\n\n var subplots = layoutOut._subplots;\n if(subplots) {\n var yIds = subplots.cartesian\n .filter(function(subplotId) {\n return subplotId.substr(0, subplotId.indexOf('y')) === axisIds.name2id(axName);\n })\n .map(function(subplotId) {\n return subplotId.substr(subplotId.indexOf('y'), subplotId.length);\n });\n var yNames = Lib.simpleMap(yIds, axisIds.id2name);\n for(var i = 0; i < yNames.length; i++) {\n var yName = yNames[i];\n\n rangeContainerIn = containerIn[yName] || {};\n rangeContainerOut = Template.newContainer(containerOut, yName, 'yaxis');\n\n var yAxOut = layoutOut[yName];\n\n var rangemodeDflt;\n if(rangeContainerIn.range && yAxOut.isValidRange(rangeContainerIn.range)) {\n rangemodeDflt = 'fixed';\n }\n\n var rangeMode = coerceRange('rangemode', rangemodeDflt);\n if(rangeMode !== 'match') {\n coerceRange('range', yAxOut.range.slice());\n }\n }\n }\n\n // to map back range slider (auto) range\n containerOut._input = containerIn;\n};\n\n\n/***/ }),\n\n/***/ \"6b38\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/** @module gl-util/context */\r\n\r\n\r\nvar pick = __webpack_require__(\"b7d1\")\r\n\r\nmodule.exports = function setContext (o) {\r\n\tif (!o) o = {}\r\n\telse if (typeof o === 'string') o = {container: o}\r\n\r\n\t// HTMLCanvasElement\r\n\tif (isCanvas(o)) {\r\n\t\to = {container: o}\r\n\t}\r\n\t// HTMLElement\r\n\telse if (isElement(o)) {\r\n\t\to = {container: o}\r\n\t}\r\n\t// WebGLContext\r\n\telse if (isContext(o)) {\r\n\t\to = {gl: o}\r\n\t}\r\n\t// options object\r\n\telse {\r\n\t\to = pick(o, {\r\n\t\t\tcontainer: 'container target element el canvas holder parent parentNode wrapper use ref root node',\r\n\t\t\tgl: 'gl context webgl glContext',\r\n\t\t\tattrs: 'attributes attrs contextAttributes',\r\n\t\t\tpixelRatio: 'pixelRatio pxRatio px ratio pxratio pixelratio',\r\n\t\t\twidth: 'w width',\r\n\t\t\theight: 'h height'\r\n\t\t}, true)\r\n\t}\r\n\r\n\tif (!o.pixelRatio) o.pixelRatio = global.pixelRatio || 1\r\n\r\n\t// make sure there is container and canvas\r\n\tif (o.gl) {\r\n\t\treturn o.gl\r\n\t}\r\n\tif (o.canvas) {\r\n\t\to.container = o.canvas.parentNode\r\n\t}\r\n\tif (o.container) {\r\n\t\tif (typeof o.container === 'string') {\r\n\t\t\tvar c = document.querySelector(o.container)\r\n\t\t\tif (!c) throw Error('Element ' + o.container + ' is not found')\r\n\t\t\to.container = c\r\n\t\t}\r\n\t\tif (isCanvas(o.container)) {\r\n\t\t\to.canvas = o.container\r\n\t\t\to.container = o.canvas.parentNode\r\n\t\t}\r\n\t\telse if (!o.canvas) {\r\n\t\t\to.canvas = createCanvas()\r\n\t\t\to.container.appendChild(o.canvas)\r\n\t\t\tresize(o)\r\n\t\t}\r\n\t}\r\n\t// blank new canvas\r\n\telse if (!o.canvas) {\r\n\t\tif (typeof document !== 'undefined') {\r\n\t\t\to.container = document.body || document.documentElement\r\n\t\t\to.canvas = createCanvas()\r\n\t\t\to.container.appendChild(o.canvas)\r\n\t\t\tresize(o)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthrow Error('Not DOM environment. Use headless-gl.')\r\n\t\t}\r\n\t}\r\n\r\n\t// make sure there is context\r\n\tif (!o.gl) {\r\n\t\ttry {\r\n\t\t\to.gl = o.canvas.getContext('webgl', o.attrs)\r\n\t\t} catch (e) {\r\n\t\t\ttry {\r\n\t\t\t\to.gl = o.canvas.getContext('experimental-webgl', o.attrs)\r\n\t\t\t}\r\n\t\t\tcatch (e) {\r\n\t\t\t\to.gl = o.canvas.getContext('webgl-experimental', o.attrs)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn o.gl\r\n}\r\n\r\n\r\nfunction resize (o) {\r\n\tif (o.container) {\r\n\t\tif (o.container == document.body) {\r\n\t\t\tif (!document.body.style.width) o.canvas.width = o.width || (o.pixelRatio * global.innerWidth)\r\n\t\t\tif (!document.body.style.height) o.canvas.height = o.height || (o.pixelRatio * global.innerHeight)\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvar bounds = o.container.getBoundingClientRect()\r\n\t\t\to.canvas.width = o.width || (bounds.right - bounds.left)\r\n\t\t\to.canvas.height = o.height || (bounds.bottom - bounds.top)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction isCanvas (e) {\r\n\treturn typeof e.getContext === 'function'\r\n\t\t&& 'width' in e\r\n\t\t&& 'height' in e\r\n}\r\n\r\nfunction isElement (e) {\r\n\treturn typeof e.nodeName === 'string' &&\r\n\t\ttypeof e.appendChild === 'function' &&\r\n\t\ttypeof e.getBoundingClientRect === 'function'\r\n}\r\n\r\nfunction isContext (e) {\r\n\treturn typeof e.drawArrays === 'function' ||\r\n\t\ttypeof e.drawElements === 'function'\r\n}\r\n\r\nfunction createCanvas () {\r\n\tvar canvas = document.createElement('canvas')\r\n\tcanvas.style.position = 'absolute'\r\n\tcanvas.style.top = 0\r\n\tcanvas.style.left = 0\r\n\r\n\treturn canvas\r\n}\r\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"6b3c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createShader = __webpack_require__(\"28dd\")\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createTexture = __webpack_require__(\"1d5b\")\nvar multiply = __webpack_require__(\"1417\")\nvar invert = __webpack_require__(\"9343\")\nvar ndarray = __webpack_require__(\"b5bb\")\nvar colormap = __webpack_require__(\"595c\")\n\nvar IDENTITY = [\n 1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction VectorMesh(gl\n , texture\n , triShader\n , pickShader\n , trianglePositions\n , triangleVectors\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleVAO\n , traceType) {\n\n this.gl = gl\n this.pixelRatio = 1\n this.cells = []\n this.positions = []\n this.intensity = []\n this.texture = texture\n this.dirty = true\n\n this.triShader = triShader\n this.pickShader = pickShader\n\n this.trianglePositions = trianglePositions\n this.triangleVectors = triangleVectors\n this.triangleColors = triangleColors\n this.triangleUVs = triangleUVs\n this.triangleIds = triangleIds\n this.triangleVAO = triangleVAO\n this.triangleCount = 0\n\n this.pickId = 1\n this.bounds = [\n [ Infinity, Infinity, Infinity],\n [-Infinity,-Infinity,-Infinity] ]\n this.clipBounds = [\n [-Infinity,-Infinity,-Infinity],\n [ Infinity, Infinity, Infinity] ]\n\n this.lightPosition = [1e5, 1e5, 0]\n this.ambientLight = 0.8\n this.diffuseLight = 0.8\n this.specularLight = 2.0\n this.roughness = 0.5\n this.fresnel = 1.5\n\n this.opacity = 1\n\n this.traceType = traceType\n this.tubeScale = 1 // used in streamtube\n this.coneScale = 2 // used in cone\n this.vectorScale = 1 // used in cone\n this.coneOffset = 0.25 // used in cone\n\n this._model = IDENTITY\n this._view = IDENTITY\n this._projection = IDENTITY\n this._resolution = [1,1]\n}\n\nvar proto = VectorMesh.prototype\n\nproto.isOpaque = function() {\n return this.opacity >= 1\n}\n\nproto.isTransparent = function() {\n return this.opacity < 1\n}\n\nproto.pickSlots = 1\n\nproto.setPickBase = function(id) {\n this.pickId = id\n}\n\nfunction genColormap(param) {\n var colors = colormap({\n colormap: param\n , nshades: 256\n , format: 'rgba'\n })\n\n var result = new Uint8Array(256*4)\n for(var i=0; i<256; ++i) {\n var c = colors[i]\n for(var j=0; j<3; ++j) {\n result[4*i+j] = c[j]\n }\n result[4*i+3] = c[3]*255\n }\n\n return ndarray(result, [256,256,4], [4,0,1])\n}\n\nfunction takeZComponent(array) {\n var n = array.length\n var result = new Array(n)\n for(var i=0; i 0) {\n var shader = this.triShader\n shader.bind()\n shader.uniforms = uniforms\n\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n}\n\nproto.drawPick = function(params) {\n params = params || {}\n\n var gl = this.gl\n\n var model = params.model || IDENTITY\n var view = params.view || IDENTITY\n var projection = params.projection || IDENTITY\n\n var clipBounds = [[-1e6,-1e6,-1e6],[1e6,1e6,1e6]]\n for(var i=0; i<3; ++i) {\n clipBounds[0][i] = Math.max(clipBounds[0][i], this.clipBounds[0][i])\n clipBounds[1][i] = Math.min(clipBounds[1][i], this.clipBounds[1][i])\n }\n\n //Save camera parameters\n this._model = [].slice.call(model)\n this._view = [].slice.call(view)\n this._projection = [].slice.call(projection)\n this._resolution = [gl.drawingBufferWidth, gl.drawingBufferHeight]\n\n var uniforms = {\n model: model,\n view: view,\n projection: projection,\n clipBounds: clipBounds,\n\n tubeScale: this.tubeScale,\n vectorScale: this.vectorScale,\n coneScale: this.coneScale,\n coneOffset: this.coneOffset,\n\n pickId: this.pickId / 255.0,\n }\n\n var shader = this.pickShader\n shader.bind()\n shader.uniforms = uniforms\n\n if(this.triangleCount > 0) {\n this.triangleVAO.bind()\n gl.drawArrays(gl.TRIANGLES, 0, this.triangleCount*3)\n this.triangleVAO.unbind()\n }\n}\n\n\nproto.pick = function(pickData) {\n if(!pickData) {\n return null\n }\n if(pickData.id !== this.pickId) {\n return null\n }\n\n var cellId = pickData.value[0] + 256*pickData.value[1] + 65536*pickData.value[2]\n var cell = this.cells[cellId]\n var pos = this.positions[cell[1]].slice(0, 3)\n\n var result = {\n position: pos,\n dataCoordinate: pos,\n index: Math.floor(cell[1] / 48)\n }\n\n\n if(this.traceType === 'cone') {\n result.index = Math.floor(cell[1] / 48)\n } else if(this.traceType === 'streamtube') {\n result.intensity = this.intensity[cell[1]]\n result.velocity = this.vectors[cell[1]].slice(0, 3)\n result.divergence = this.vectors[cell[1]][3]\n result.index = cellId\n }\n\n return result\n}\n\n\nproto.dispose = function() {\n this.texture.dispose()\n\n this.triShader.dispose()\n this.pickShader.dispose()\n\n this.triangleVAO.dispose()\n this.trianglePositions.dispose()\n this.triangleVectors.dispose()\n this.triangleColors.dispose()\n this.triangleUVs.dispose()\n this.triangleIds.dispose()\n}\n\nfunction createMeshShader(gl, shaders) {\n var shader = createShader(gl,\n shaders.meshShader.vertex,\n shaders.meshShader.fragment,\n null,\n shaders.meshShader.attributes\n )\n\n shader.attributes.position.location = 0\n shader.attributes.color.location = 2\n shader.attributes.uv.location = 3\n shader.attributes.vector.location = 4\n return shader\n}\n\n\nfunction createPickShader(gl, shaders) {\n var shader = createShader(gl,\n shaders.pickShader.vertex,\n shaders.pickShader.fragment,\n null,\n shaders.pickShader.attributes\n )\n\n shader.attributes.position.location = 0\n shader.attributes.id.location = 1\n shader.attributes.vector.location = 4\n return shader\n}\n\n\nfunction createVectorMesh(gl, params, opts) {\n var shaders = opts.shaders\n\n if (arguments.length === 1) {\n params = gl\n gl = params.gl\n }\n\n\n var triShader = createMeshShader(gl, shaders)\n var pickShader = createPickShader(gl, shaders)\n var meshTexture = createTexture(gl,\n ndarray(new Uint8Array([255,255,255,255]), [1,1,4]))\n meshTexture.generateMipmap()\n meshTexture.minFilter = gl.LINEAR_MIPMAP_LINEAR\n meshTexture.magFilter = gl.LINEAR\n\n var trianglePositions = createBuffer(gl)\n var triangleVectors = createBuffer(gl)\n var triangleColors = createBuffer(gl)\n var triangleUVs = createBuffer(gl)\n var triangleIds = createBuffer(gl)\n var triangleVAO = createVAO(gl, [\n { buffer: trianglePositions,\n type: gl.FLOAT,\n size: 4\n },\n { buffer: triangleIds,\n type: gl.UNSIGNED_BYTE,\n size: 4,\n normalized: true\n },\n { buffer: triangleColors,\n type: gl.FLOAT,\n size: 4\n },\n { buffer: triangleUVs,\n type: gl.FLOAT,\n size: 2\n },\n { buffer: triangleVectors,\n type: gl.FLOAT,\n size: 4\n }\n ])\n\n var mesh = new VectorMesh(gl\n , meshTexture\n , triShader\n , pickShader\n , trianglePositions\n , triangleVectors\n , triangleIds\n , triangleColors\n , triangleUVs\n , triangleVAO\n , opts.traceType || 'cone'\n )\n\n mesh.update(params)\n\n return mesh\n}\n\nmodule.exports = createVectorMesh\n\n\n/***/ }),\n\n/***/ \"6b50\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar surfaceAttrs = __webpack_require__(\"02ea\");\nvar baseAttrs = __webpack_require__(\"a876\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = extendFlat({\n x: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n y: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n z: {\n valType: 'data_array',\n editType: 'calc+clearAxisTypes',\n \n },\n\n i: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n j: {\n valType: 'data_array',\n editType: 'calc',\n \n\n },\n k: {\n valType: 'data_array',\n editType: 'calc',\n \n\n },\n\n text: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertext: {\n valType: 'string',\n \n dflt: '',\n arrayOk: true,\n editType: 'calc',\n \n },\n hovertemplate: hovertemplateAttrs({editType: 'calc'}),\n\n delaunayaxis: {\n valType: 'enumerated',\n \n values: [ 'x', 'y', 'z' ],\n dflt: 'z',\n editType: 'calc',\n \n },\n\n alphahull: {\n valType: 'number',\n \n dflt: -1,\n editType: 'calc',\n \n },\n\n intensity: {\n valType: 'data_array',\n editType: 'calc',\n \n },\n intensitymode: {\n valType: 'enumerated',\n values: ['vertex', 'cell'],\n dflt: 'vertex',\n editType: 'calc',\n \n \n },\n\n // Color field\n color: {\n valType: 'color',\n \n editType: 'calc',\n \n },\n vertexcolor: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n facecolor: {\n valType: 'data_array',\n \n editType: 'calc',\n \n },\n transforms: undefined\n},\n\ncolorScaleAttrs('', {\n colorAttr: '`intensity`',\n showScaleDflt: true,\n editTypeOverride: 'calc'\n}), {\n opacity: surfaceAttrs.opacity,\n\n // Flat shaded mode\n flatshading: {\n valType: 'boolean',\n \n dflt: false,\n editType: 'calc',\n \n },\n\n contour: {\n show: extendFlat({}, surfaceAttrs.contours.x.show, {\n \n }),\n color: surfaceAttrs.contours.x.color,\n width: surfaceAttrs.contours.x.width,\n editType: 'calc'\n },\n\n lightposition: {\n x: extendFlat({}, surfaceAttrs.lightposition.x, {dflt: 1e5}),\n y: extendFlat({}, surfaceAttrs.lightposition.y, {dflt: 1e5}),\n z: extendFlat({}, surfaceAttrs.lightposition.z, {dflt: 0}),\n editType: 'calc'\n },\n lighting: extendFlat({\n vertexnormalsepsilon: {\n valType: 'number',\n \n min: 0.00,\n max: 1,\n dflt: 1e-12, // otherwise finely tessellated things eg. the brain will have no specular light reflection\n editType: 'calc',\n \n },\n facenormalsepsilon: {\n valType: 'number',\n \n min: 0.00,\n max: 1,\n dflt: 1e-6, // even the brain model doesn't appear to need finer than this\n editType: 'calc',\n \n },\n editType: 'calc'\n }, surfaceAttrs.lighting),\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {editType: 'calc'}),\n showlegend: extendFlat({}, baseAttrs.showlegend, {dflt: false})\n});\n\n\n/***/ }),\n\n/***/ \"6b5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar plots = __webpack_require__(\"bb71\");\n\nexports.name = 'pie';\n\nexports.plot = function(gd, traces, transitionOpts, makeOnCompleteCallback) {\n plots.plotBasePlot(exports.name, gd, traces, transitionOpts, makeOnCompleteCallback);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n plots.cleanBasePlot(exports.name, newFullData, newFullLayout, oldFullData, oldFullLayout);\n};\n\n\n/***/ }),\n\n/***/ \"6b78\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar perStackAttrs = ['orientation', 'groupnorm', 'stackgaps'];\n\nmodule.exports = function handleStackDefaults(traceIn, traceOut, layout, coerce) {\n var stackOpts = layout._scatterStackOpts;\n\n var stackGroup = coerce('stackgroup');\n if(stackGroup) {\n // use independent stacking options per subplot\n var subplot = traceOut.xaxis + traceOut.yaxis;\n var subplotStackOpts = stackOpts[subplot];\n if(!subplotStackOpts) subplotStackOpts = stackOpts[subplot] = {};\n\n var groupOpts = subplotStackOpts[stackGroup];\n var firstTrace = false;\n if(groupOpts) {\n groupOpts.traces.push(traceOut);\n } else {\n groupOpts = subplotStackOpts[stackGroup] = {\n // keep track of trace indices for use during stacking calculations\n // this will be filled in during `calc` and used during `crossTraceCalc`\n // so it's OK if we don't recreate it during a non-calc edit\n traceIndices: [],\n // Hold on to the whole set of prior traces\n // First one is most important, so we can clear defaults\n // there if we find explicit values only in later traces.\n // We're only going to *use* the values stored in groupOpts,\n // but for the editor and validate we want things self-consistent\n // The full set of traces is used only to fix `fill` default if\n // we find `orientation: 'h'` beyond the first trace\n traces: [traceOut]\n };\n firstTrace = true;\n }\n // TODO: how is this going to work with groupby transforms?\n // in principle it should be OK I guess, as long as explicit group styles\n // don't override explicit base-trace styles?\n\n var dflts = {\n orientation: (traceOut.x && !traceOut.y) ? 'h' : 'v'\n };\n\n for(var i = 0; i < perStackAttrs.length; i++) {\n var attr = perStackAttrs[i];\n var attrFound = attr + 'Found';\n if(!groupOpts[attrFound]) {\n var traceHasAttr = traceIn[attr] !== undefined;\n var isOrientation = attr === 'orientation';\n if(traceHasAttr || firstTrace) {\n groupOpts[attr] = coerce(attr, dflts[attr]);\n\n if(isOrientation) {\n groupOpts.fillDflt = groupOpts[attr] === 'h' ?\n 'tonextx' : 'tonexty';\n }\n\n if(traceHasAttr) {\n // Note: this will show a value here even if it's invalid\n // in which case it will revert to default.\n groupOpts[attrFound] = true;\n\n // Note: only one trace in the stack will get a _fullData\n // entry for a given stack-wide attribute. If no traces\n // (or the first trace) specify that attribute, the\n // first trace will get it. If the first trace does NOT\n // specify it but some later trace does, then it gets\n // removed from the first trace and only included in the\n // one that specified it. This is mostly important for\n // editors (that want to see the full values to know\n // what settings are available) and Plotly.react diffing.\n // Editors may want to use fullLayout._scatterStackOpts\n // directly and make these settings available from all\n // traces in the stack... then set the new value into\n // the first trace, and clear all later traces.\n if(!firstTrace) {\n delete groupOpts.traces[0][attr];\n\n // orientation can affect default fill of previous traces\n if(isOrientation) {\n for(var j = 0; j < groupOpts.traces.length - 1; j++) {\n var trace2 = groupOpts.traces[j];\n if(trace2._input.fill !== trace2.fill) {\n trace2.fill = groupOpts.fillDflt;\n }\n }\n }\n }\n }\n }\n }\n }\n return groupOpts;\n }\n};\n\n\n/***/ }),\n\n/***/ \"6bd5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Colorscale = __webpack_require__(\"c258\");\n\nvar heatmapCalc = __webpack_require__(\"0625\");\nvar setContours = __webpack_require__(\"8a7d\");\nvar endPlus = __webpack_require__(\"bc6b\");\n\n// most is the same as heatmap calc, then adjust it\n// though a few things inside heatmap calc still look for\n// contour maps, because the makeBoundArray calls are too entangled\nmodule.exports = function calc(gd, trace) {\n var cd = heatmapCalc(gd, trace);\n\n var zOut = cd[0].z;\n setContours(trace, zOut);\n\n var contours = trace.contours;\n var cOpts = Colorscale.extractOpts(trace);\n var cVals;\n\n if(contours.coloring === 'heatmap' && cOpts.auto && trace.autocontour === false) {\n var start = contours.start;\n var end = endPlus(contours);\n var cs = contours.size || 1;\n var nc = Math.floor((end - start) / cs) + 1;\n\n if(!isFinite(cs)) {\n cs = 1;\n nc = 1;\n }\n\n var min0 = start - cs / 2;\n var max0 = min0 + nc * cs;\n cVals = [min0, max0];\n } else {\n cVals = zOut;\n }\n\n Colorscale.calc(gd, trace, {vals: cVals, cLetter: 'z'});\n\n return cd;\n};\n\n\n/***/ }),\n\n/***/ \"6c5a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\n/**\n * Determine the position anchor property of x/y xanchor/yanchor components.\n *\n * - values < 1/3 align the low side at that fraction,\n * - values [1/3, 2/3] align the center at that fraction,\n * - values > 2/3 align the right at that fraction.\n */\n\n\nexports.isLeftAnchor = function isLeftAnchor(opts) {\n return (\n opts.xanchor === 'left' ||\n (opts.xanchor === 'auto' && opts.x <= 1 / 3)\n );\n};\n\nexports.isCenterAnchor = function isCenterAnchor(opts) {\n return (\n opts.xanchor === 'center' ||\n (opts.xanchor === 'auto' && opts.x > 1 / 3 && opts.x < 2 / 3)\n );\n};\n\nexports.isRightAnchor = function isRightAnchor(opts) {\n return (\n opts.xanchor === 'right' ||\n (opts.xanchor === 'auto' && opts.x >= 2 / 3)\n );\n};\n\nexports.isTopAnchor = function isTopAnchor(opts) {\n return (\n opts.yanchor === 'top' ||\n (opts.yanchor === 'auto' && opts.y >= 2 / 3)\n );\n};\n\nexports.isMiddleAnchor = function isMiddleAnchor(opts) {\n return (\n opts.yanchor === 'middle' ||\n (opts.yanchor === 'auto' && opts.y > 1 / 3 && opts.y < 2 / 3)\n );\n};\n\nexports.isBottomAnchor = function isBottomAnchor(opts) {\n return (\n opts.yanchor === 'bottom' ||\n (opts.yanchor === 'auto' && opts.y <= 1 / 3)\n );\n};\n\n\n/***/ }),\n\n/***/ \"6c77\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n COMPARISON_OPS: ['=', '!=', '<', '>=', '>', '<='],\n COMPARISON_OPS2: ['=', '<', '>=', '>', '<='],\n INTERVAL_OPS: ['[]', '()', '[)', '(]', '][', ')(', '](', ')['],\n SET_OPS: ['{}', '}{'],\n CONSTRAINT_REDUCTION: {\n // for contour constraints, open/closed endpoints are equivalent\n '=': '=',\n\n '<': '<',\n '<=': '<',\n\n '>': '>',\n '>=': '>',\n\n '[]': '[]',\n '()': '[]',\n '[)': '[]',\n '(]': '[]',\n\n '][': '][',\n ')(': '][',\n '](': '][',\n ')[': ']['\n }\n};\n\n\n/***/ }),\n\n/***/ \"6ca5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"89ab\");\n\n\n/***/ }),\n\n/***/ \"6ceb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getContext = __webpack_require__(\"fda9\")\n\nmodule.exports = function getWebGLContext (opt) {\n return getContext('webgl', opt)\n}\n\n\n/***/ }),\n\n/***/ \"6d08\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"6d0a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"c7c2\");\n\n\n/***/ }),\n\n/***/ \"6dcc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\n\n\nmodule.exports = {\n count: function(n, i, size) {\n size[n]++;\n return 1;\n },\n\n sum: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n size[n] += v;\n return v;\n }\n return 0;\n },\n\n avg: function(n, i, size, counterData, counts) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n size[n] += v;\n counts[n]++;\n }\n return 0;\n },\n\n min: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n if(!isNumeric(size[n])) {\n size[n] = v;\n return v;\n } else if(size[n] > v) {\n var delta = v - size[n];\n size[n] = v;\n return delta;\n }\n }\n return 0;\n },\n\n max: function(n, i, size, counterData) {\n var v = counterData[i];\n if(isNumeric(v)) {\n v = Number(v);\n if(!isNumeric(size[n])) {\n size[n] = v;\n return v;\n } else if(size[n] < v) {\n var delta = v - size[n];\n size[n] = v;\n return delta;\n }\n }\n return 0;\n }\n};\n\n\n/***/ }),\n\n/***/ \"6dd0\":\n/***/ (function(module) {\n\nmodule.exports = JSON.parse(\"[\\\"caption\\\",\\\"icon\\\",\\\"menu\\\",\\\"message-box\\\",\\\"small-caption\\\",\\\"status-bar\\\"]\");\n\n/***/ }),\n\n/***/ \"6dea\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorscaleCalc = __webpack_require__(\"3aa8\");\n\nmodule.exports = function calc(gd, trace) {\n if(trace.intensity) {\n colorscaleCalc(gd, trace, {\n vals: trace.intensity,\n containerStr: '',\n cLetter: 'c'\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"6e1f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = segmentsIntersect\n\nvar orient = __webpack_require__(\"92ba\")[3]\n\nfunction checkCollinear(a0, a1, b0, b1) {\n\n for(var d=0; d<2; ++d) {\n var x0 = a0[d]\n var y0 = a1[d]\n var l0 = Math.min(x0, y0)\n var h0 = Math.max(x0, y0) \n\n var x1 = b0[d]\n var y1 = b1[d]\n var l1 = Math.min(x1, y1)\n var h1 = Math.max(x1, y1) \n\n if(h1 < l0 || h0 < l1) {\n return false\n }\n }\n\n return true\n}\n\nfunction segmentsIntersect(a0, a1, b0, b1) {\n var x0 = orient(a0, b0, b1)\n var y0 = orient(a1, b0, b1)\n if((x0 > 0 && y0 > 0) || (x0 < 0 && y0 < 0)) {\n return false\n }\n\n var x1 = orient(b0, a0, a1)\n var y1 = orient(b1, a0, a1)\n if((x1 > 0 && y1 > 0) || (x1 < 0 && y1 < 0)) {\n return false\n }\n\n //Check for degenerate collinear case\n if(x0 === 0 && y0 === 0 && x1 === 0 && y1 === 0) {\n return checkCollinear(a0, a1, b0, b1)\n }\n\n return true\n}\n\n/***/ }),\n\n/***/ \"6e40\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar modModule = __webpack_require__(\"d3dc\");\nvar mod = modModule.mod;\nvar modHalf = modModule.modHalf;\n\nvar PI = Math.PI;\nvar twoPI = 2 * PI;\n\nfunction deg2rad(deg) { return deg / 180 * PI; }\n\nfunction rad2deg(rad) { return rad / PI * 180; }\n\n/**\n * is sector a full circle?\n * ... this comes up a lot in SVG path-drawing routines\n *\n * N.B. we consider all sectors that span more that 2pi 'full' circles\n *\n * @param {2-item array} aBnds : angular bounds in *radians*\n * @return {boolean}\n */\nfunction isFullCircle(aBnds) {\n return Math.abs(aBnds[1] - aBnds[0]) > twoPI - 1e-14;\n}\n\n/**\n * angular delta between angle 'a' and 'b'\n * solution taken from: https://stackoverflow.com/a/2007279\n *\n * @param {number} a : first angle in *radians*\n * @param {number} b : second angle in *radians*\n * @return {number} angular delta in *radians*\n */\nfunction angleDelta(a, b) {\n return modHalf(b - a, twoPI);\n}\n\n/**\n * angular distance between angle 'a' and 'b'\n *\n * @param {number} a : first angle in *radians*\n * @param {number} b : second angle in *radians*\n * @return {number} angular distance in *radians*\n */\nfunction angleDist(a, b) {\n return Math.abs(angleDelta(a, b));\n}\n\n/**\n * is angle inside sector?\n *\n * @param {number} a : angle to test in *radians*\n * @param {2-item array} aBnds : sector's angular bounds in *radians*\n * @param {boolean}\n */\nfunction isAngleInsideSector(a, aBnds) {\n if(isFullCircle(aBnds)) return true;\n\n var s0, s1;\n\n if(aBnds[0] < aBnds[1]) {\n s0 = aBnds[0];\n s1 = aBnds[1];\n } else {\n s0 = aBnds[1];\n s1 = aBnds[0];\n }\n\n s0 = mod(s0, twoPI);\n s1 = mod(s1, twoPI);\n if(s0 > s1) s1 += twoPI;\n\n var a0 = mod(a, twoPI);\n var a1 = a0 + twoPI;\n\n return (a0 >= s0 && a0 <= s1) || (a1 >= s0 && a1 <= s1);\n}\n\n/**\n * is pt (r,a) inside sector?\n *\n * @param {number} r : pt's radial coordinate\n * @param {number} a : pt's angular coordinate in *radians*\n * @param {2-item array} rBnds : sector's radial bounds\n * @param {2-item array} aBnds : sector's angular bounds in *radians*\n * @return {boolean}\n */\nfunction isPtInsideSector(r, a, rBnds, aBnds) {\n if(!isAngleInsideSector(a, aBnds)) return false;\n\n var r0, r1;\n\n if(rBnds[0] < rBnds[1]) {\n r0 = rBnds[0];\n r1 = rBnds[1];\n } else {\n r0 = rBnds[1];\n r1 = rBnds[0];\n }\n\n return r >= r0 && r <= r1;\n}\n\n// common to pathArc, pathSector and pathAnnulus\nfunction _path(r0, r1, a0, a1, cx, cy, isClosed) {\n cx = cx || 0;\n cy = cy || 0;\n\n var isCircle = isFullCircle([a0, a1]);\n var aStart, aMid, aEnd;\n var rStart, rEnd;\n\n if(isCircle) {\n aStart = 0;\n aMid = PI;\n aEnd = twoPI;\n } else {\n if(a0 < a1) {\n aStart = a0;\n aEnd = a1;\n } else {\n aStart = a1;\n aEnd = a0;\n }\n }\n\n if(r0 < r1) {\n rStart = r0;\n rEnd = r1;\n } else {\n rStart = r1;\n rEnd = r0;\n }\n\n // N.B. svg coordinates here, where y increases downward\n function pt(r, a) {\n return [r * Math.cos(a) + cx, cy - r * Math.sin(a)];\n }\n\n var largeArc = Math.abs(aEnd - aStart) <= PI ? 0 : 1;\n function arc(r, a, cw) {\n return 'A' + [r, r] + ' ' + [0, largeArc, cw] + ' ' + pt(r, a);\n }\n\n var p;\n\n if(isCircle) {\n if(rStart === null) {\n p = 'M' + pt(rEnd, aStart) +\n arc(rEnd, aMid, 0) +\n arc(rEnd, aEnd, 0) + 'Z';\n } else {\n p = 'M' + pt(rStart, aStart) +\n arc(rStart, aMid, 0) +\n arc(rStart, aEnd, 0) + 'Z' +\n 'M' + pt(rEnd, aStart) +\n arc(rEnd, aMid, 1) +\n arc(rEnd, aEnd, 1) + 'Z';\n }\n } else {\n if(rStart === null) {\n p = 'M' + pt(rEnd, aStart) + arc(rEnd, aEnd, 0);\n if(isClosed) p += 'L0,0Z';\n } else {\n p = 'M' + pt(rStart, aStart) +\n 'L' + pt(rEnd, aStart) +\n arc(rEnd, aEnd, 0) +\n 'L' + pt(rStart, aEnd) +\n arc(rStart, aStart, 1) + 'Z';\n }\n }\n\n return p;\n}\n\n/**\n * path an arc\n *\n * @param {number} r : radius\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathArc(r, a0, a1, cx, cy) {\n return _path(null, r, a0, a1, cx, cy, 0);\n}\n\n/**\n * path a sector\n *\n * @param {number} r : radius\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathSector(r, a0, a1, cx, cy) {\n return _path(null, r, a0, a1, cx, cy, 1);\n}\n\n/**\n * path an annulus\n *\n * @param {number} r0 : first radial coordinate\n * @param {number} r1 : second radial coordinate\n * @param {number} a0 : first angular coordinate in *radians*\n * @param {number} a1 : second angular coordinate in *radians*\n * @param {number (optional)} cx : x coordinate of center\n * @param {number (optional)} cy : y coordinate of center\n * @return {string} svg path\n */\nfunction pathAnnulus(r0, r1, a0, a1, cx, cy) {\n return _path(r0, r1, a0, a1, cx, cy, 1);\n}\n\nmodule.exports = {\n deg2rad: deg2rad,\n rad2deg: rad2deg,\n angleDelta: angleDelta,\n angleDist: angleDist,\n isFullCircle: isFullCircle,\n isAngleInsideSector: isAngleInsideSector,\n isPtInsideSector: isPtInsideSector,\n pathArc: pathArc,\n pathSector: pathSector,\n pathAnnulus: pathAnnulus\n};\n\n\n/***/ }),\n\n/***/ \"6e58\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;!function() {\n var d3 = {\n version: \"3.5.17\"\n };\n var d3_arraySlice = [].slice, d3_array = function(list) {\n return d3_arraySlice.call(list);\n };\n var d3_document = this.document;\n function d3_documentElement(node) {\n return node && (node.ownerDocument || node.document || node).documentElement;\n }\n function d3_window(node) {\n return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n }\n if (d3_document) {\n try {\n d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n } catch (e) {\n d3_array = function(list) {\n var i = list.length, array = new Array(i);\n while (i--) array[i] = list[i];\n return array;\n };\n }\n }\n if (!Date.now) Date.now = function() {\n return +new Date();\n };\n if (d3_document) {\n try {\n d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch (error) {\n var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n d3_element_prototype.setAttribute = function(name, value) {\n d3_element_setAttribute.call(this, name, value + \"\");\n };\n d3_element_prototype.setAttributeNS = function(space, local, value) {\n d3_element_setAttributeNS.call(this, space, local, value + \"\");\n };\n d3_style_prototype.setProperty = function(name, value, priority) {\n d3_style_setProperty.call(this, name, value + \"\", priority);\n };\n }\n }\n d3.ascending = d3_ascending;\n function d3_ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n }\n d3.descending = function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n };\n d3.min = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n }\n return a;\n };\n d3.max = function(array, f) {\n var i = -1, n = array.length, a, b;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n }\n return a;\n };\n d3.extent = function(array, f) {\n var i = -1, n = array.length, a, b, c;\n if (arguments.length === 1) {\n while (++i < n) if ((b = array[i]) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = array[i]) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n } else {\n while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n a = c = b;\n break;\n }\n while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n if (a > b) a = b;\n if (c < b) c = b;\n }\n }\n return [ a, c ];\n };\n function d3_number(x) {\n return x === null ? NaN : +x;\n }\n function d3_numeric(x) {\n return !isNaN(x);\n }\n d3.sum = function(array, f) {\n var s = 0, n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n } else {\n while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n }\n return s;\n };\n d3.mean = function(array, f) {\n var s = 0, n = array.length, a, i = -1, j = n;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n }\n if (j) return s / j;\n };\n d3.quantile = function(values, p) {\n var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n return e ? v + e * (values[h] - v) : v;\n };\n d3.median = function(array, f) {\n var numbers = [], n = array.length, a, i = -1;\n if (arguments.length === 1) {\n while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n }\n if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n };\n d3.variance = function(array, f) {\n var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n if (arguments.length === 1) {\n while (++i < n) {\n if (d3_numeric(a = d3_number(array[i]))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n } else {\n while (++i < n) {\n if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n d = a - m;\n m += d / ++j;\n s += d * (a - m);\n }\n }\n }\n if (j > 1) return s / (j - 1);\n };\n d3.deviation = function() {\n var v = d3.variance.apply(this, arguments);\n return v ? Math.sqrt(v) : v;\n };\n function d3_bisector(compare) {\n return {\n left: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (arguments.length < 3) lo = 0;\n if (arguments.length < 4) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n }\n return lo;\n }\n };\n }\n var d3_bisect = d3_bisector(d3_ascending);\n d3.bisectLeft = d3_bisect.left;\n d3.bisect = d3.bisectRight = d3_bisect.right;\n d3.bisector = function(f) {\n return d3_bisector(f.length === 1 ? function(d, x) {\n return d3_ascending(f(d), x);\n } : f);\n };\n d3.shuffle = function(array, i0, i1) {\n if ((m = arguments.length) < 3) {\n i1 = array.length;\n if (m < 2) i0 = 0;\n }\n var m = i1 - i0, t, i;\n while (m) {\n i = Math.random() * m-- | 0;\n t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n }\n return array;\n };\n d3.permute = function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n };\n d3.pairs = function(array) {\n var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n return pairs;\n };\n d3.transpose = function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n row[j] = matrix[j][i];\n }\n }\n return transpose;\n };\n function d3_transposeLength(d) {\n return d.length;\n }\n d3.zip = function() {\n return d3.transpose(arguments);\n };\n d3.keys = function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n };\n d3.values = function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n };\n d3.entries = function(map) {\n var entries = [];\n for (var key in map) entries.push({\n key: key,\n value: map[key]\n });\n return entries;\n };\n d3.merge = function(arrays) {\n var n = arrays.length, m, i = -1, j = 0, merged, array;\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n return merged;\n };\n var abs = Math.abs;\n d3.range = function(start, stop, step) {\n if (arguments.length < 3) {\n step = 1;\n if (arguments.length < 2) {\n stop = start;\n start = 0;\n }\n }\n if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n start *= k, stop *= k, step *= k;\n if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n return range;\n };\n function d3_range_integerScale(x) {\n var k = 1;\n while (x * k % 1) k *= 10;\n return k;\n }\n function d3_class(ctor, properties) {\n for (var key in properties) {\n Object.defineProperty(ctor.prototype, key, {\n value: properties[key],\n enumerable: false\n });\n }\n }\n d3.map = function(object, f) {\n var map = new d3_Map();\n if (object instanceof d3_Map) {\n object.forEach(function(key, value) {\n map.set(key, value);\n });\n } else if (Array.isArray(object)) {\n var i = -1, n = object.length, o;\n if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n } else {\n for (var key in object) map.set(key, object[key]);\n }\n return map;\n };\n function d3_Map() {\n this._ = Object.create(null);\n }\n var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n d3_class(d3_Map, {\n has: d3_map_has,\n get: function(key) {\n return this._[d3_map_escape(key)];\n },\n set: function(key, value) {\n return this._[d3_map_escape(key)] = value;\n },\n remove: d3_map_remove,\n keys: d3_map_keys,\n values: function() {\n var values = [];\n for (var key in this._) values.push(this._[key]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var key in this._) entries.push({\n key: d3_map_unescape(key),\n value: this._[key]\n });\n return entries;\n },\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n }\n });\n function d3_map_escape(key) {\n return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n }\n function d3_map_unescape(key) {\n return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n }\n function d3_map_has(key) {\n return d3_map_escape(key) in this._;\n }\n function d3_map_remove(key) {\n return (key = d3_map_escape(key)) in this._ && delete this._[key];\n }\n function d3_map_keys() {\n var keys = [];\n for (var key in this._) keys.push(d3_map_unescape(key));\n return keys;\n }\n function d3_map_size() {\n var size = 0;\n for (var key in this._) ++size;\n return size;\n }\n function d3_map_empty() {\n for (var key in this._) return false;\n return true;\n }\n d3.nest = function() {\n var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n function map(mapType, array, depth) {\n if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n values.push(object);\n } else {\n valuesByKey.set(keyValue, [ object ]);\n }\n }\n if (mapType) {\n object = mapType();\n setter = function(keyValue, values) {\n object.set(keyValue, map(mapType, values, depth));\n };\n } else {\n object = {};\n setter = function(keyValue, values) {\n object[keyValue] = map(mapType, values, depth);\n };\n }\n valuesByKey.forEach(setter);\n return object;\n }\n function entries(map, depth) {\n if (depth >= keys.length) return map;\n var array = [], sortKey = sortKeys[depth++];\n map.forEach(function(key, keyMap) {\n array.push({\n key: key,\n values: entries(keyMap, depth)\n });\n });\n return sortKey ? array.sort(function(a, b) {\n return sortKey(a.key, b.key);\n }) : array;\n }\n nest.map = function(array, mapType) {\n return map(mapType, array, 0);\n };\n nest.entries = function(array) {\n return entries(map(d3.map, array, 0), 0);\n };\n nest.key = function(d) {\n keys.push(d);\n return nest;\n };\n nest.sortKeys = function(order) {\n sortKeys[keys.length - 1] = order;\n return nest;\n };\n nest.sortValues = function(order) {\n sortValues = order;\n return nest;\n };\n nest.rollup = function(f) {\n rollup = f;\n return nest;\n };\n return nest;\n };\n d3.set = function(array) {\n var set = new d3_Set();\n if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n return set;\n };\n function d3_Set() {\n this._ = Object.create(null);\n }\n d3_class(d3_Set, {\n has: d3_map_has,\n add: function(key) {\n this._[d3_map_escape(key += \"\")] = true;\n return key;\n },\n remove: d3_map_remove,\n values: d3_map_keys,\n size: d3_map_size,\n empty: d3_map_empty,\n forEach: function(f) {\n for (var key in this._) f.call(this, d3_map_unescape(key));\n }\n });\n d3.behavior = {};\n function d3_identity(d) {\n return d;\n }\n d3.rebind = function(target, source) {\n var i = 1, n = arguments.length, method;\n while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n return target;\n };\n function d3_rebind(target, source, method) {\n return function() {\n var value = method.apply(source, arguments);\n return value === source ? target : value;\n };\n }\n function d3_vendorSymbol(object, name) {\n if (name in object) return name;\n name = name.charAt(0).toUpperCase() + name.slice(1);\n for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n var prefixName = d3_vendorPrefixes[i] + name;\n if (prefixName in object) return prefixName;\n }\n }\n var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n function d3_noop() {}\n d3.dispatch = function() {\n var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n return dispatch;\n };\n function d3_dispatch() {}\n d3_dispatch.prototype.on = function(type, listener) {\n var i = type.indexOf(\".\"), name = \"\";\n if (i >= 0) {\n name = type.slice(i + 1);\n type = type.slice(0, i);\n }\n if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n if (arguments.length === 2) {\n if (listener == null) for (type in this) {\n if (this.hasOwnProperty(type)) this[type].on(name, null);\n }\n return this;\n }\n };\n function d3_dispatch_event(dispatch) {\n var listeners = [], listenerByName = new d3_Map();\n function event() {\n var z = listeners, i = -1, n = z.length, l;\n while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n return dispatch;\n }\n event.on = function(name, listener) {\n var l = listenerByName.get(name), i;\n if (arguments.length < 2) return l && l.on;\n if (l) {\n l.on = null;\n listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n listenerByName.remove(name);\n }\n if (listener) listeners.push(listenerByName.set(name, {\n on: listener\n }));\n return dispatch;\n };\n return event;\n }\n d3.event = null;\n function d3_eventPreventDefault() {\n d3.event.preventDefault();\n }\n function d3_eventSource() {\n var e = d3.event, s;\n while (s = e.sourceEvent) e = s;\n return e;\n }\n function d3_eventDispatch(target) {\n var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n dispatch.of = function(thiz, argumentz) {\n return function(e1) {\n try {\n var e0 = e1.sourceEvent = d3.event;\n e1.target = target;\n d3.event = e1;\n dispatch[e1.type].apply(thiz, argumentz);\n } finally {\n d3.event = e0;\n }\n };\n };\n return dispatch;\n }\n d3.requote = function(s) {\n return s.replace(d3_requote_re, \"\\\\$&\");\n };\n var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n var d3_subclass = {}.__proto__ ? function(object, prototype) {\n object.__proto__ = prototype;\n } : function(object, prototype) {\n for (var property in prototype) object[property] = prototype[property];\n };\n function d3_selection(groups) {\n d3_subclass(groups, d3_selectionPrototype);\n return groups;\n }\n var d3_select = function(s, n) {\n return n.querySelector(s);\n }, d3_selectAll = function(s, n) {\n return n.querySelectorAll(s);\n }, d3_selectMatches = function(n, s) {\n var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n d3_selectMatches = function(n, s) {\n return d3_selectMatcher.call(n, s);\n };\n return d3_selectMatches(n, s);\n };\n if (typeof Sizzle === \"function\") {\n d3_select = function(s, n) {\n return Sizzle(s, n)[0] || null;\n };\n d3_selectAll = Sizzle;\n d3_selectMatches = Sizzle.matchesSelector;\n }\n d3.selection = function() {\n return d3.select(d3_document.documentElement);\n };\n var d3_selectionPrototype = d3.selection.prototype = [];\n d3_selectionPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, group, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selector(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_select(selector, this);\n };\n }\n d3_selectionPrototype.selectAll = function(selector) {\n var subgroups = [], subgroup, node;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n subgroup.parentNode = node;\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_selectorAll(selector) {\n return typeof selector === \"function\" ? selector : function() {\n return d3_selectAll(selector, this);\n };\n }\n var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n var d3_nsPrefix = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: d3_nsXhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n };\n d3.ns = {\n prefix: d3_nsPrefix,\n qualify: function(name) {\n var i = name.indexOf(\":\"), prefix = name;\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return d3_nsPrefix.hasOwnProperty(prefix) ? {\n space: d3_nsPrefix[prefix],\n local: name\n } : name;\n }\n };\n d3_selectionPrototype.attr = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node();\n name = d3.ns.qualify(name);\n return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n }\n for (value in name) this.each(d3_selection_attr(value, name[value]));\n return this;\n }\n return this.each(d3_selection_attr(name, value));\n };\n function d3_selection_attr(name, value) {\n name = d3.ns.qualify(name);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrConstant() {\n this.setAttribute(name, value);\n }\n function attrConstantNS() {\n this.setAttributeNS(name.space, name.local, value);\n }\n function attrFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n }\n function attrFunctionNS() {\n var x = value.apply(this, arguments);\n if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n }\n return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n }\n function d3_collapse(s) {\n return s.trim().replace(/\\s+/g, \" \");\n }\n d3_selectionPrototype.classed = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") {\n var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n if (value = node.classList) {\n while (++i < n) if (!value.contains(name[i])) return false;\n } else {\n value = node.getAttribute(\"class\");\n while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n }\n return true;\n }\n for (value in name) this.each(d3_selection_classed(value, name[value]));\n return this;\n }\n return this.each(d3_selection_classed(name, value));\n };\n function d3_selection_classedRe(name) {\n return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n }\n function d3_selection_classes(name) {\n return (name + \"\").trim().split(/^|\\s+/);\n }\n function d3_selection_classed(name, value) {\n name = d3_selection_classes(name).map(d3_selection_classedName);\n var n = name.length;\n function classedConstant() {\n var i = -1;\n while (++i < n) name[i](this, value);\n }\n function classedFunction() {\n var i = -1, x = value.apply(this, arguments);\n while (++i < n) name[i](this, x);\n }\n return typeof value === \"function\" ? classedFunction : classedConstant;\n }\n function d3_selection_classedName(name) {\n var re = d3_selection_classedRe(name);\n return function(node, value) {\n if (c = node.classList) return value ? c.add(name) : c.remove(name);\n var c = node.getAttribute(\"class\") || \"\";\n if (value) {\n re.lastIndex = 0;\n if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n } else {\n node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n }\n };\n }\n d3_selectionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n return this;\n }\n if (n < 2) {\n var node = this.node();\n return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n }\n priority = \"\";\n }\n return this.each(d3_selection_style(name, value, priority));\n };\n function d3_selection_style(name, value, priority) {\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleConstant() {\n this.style.setProperty(name, value, priority);\n }\n function styleFunction() {\n var x = value.apply(this, arguments);\n if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n }\n return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n }\n d3_selectionPrototype.property = function(name, value) {\n if (arguments.length < 2) {\n if (typeof name === \"string\") return this.node()[name];\n for (value in name) this.each(d3_selection_property(value, name[value]));\n return this;\n }\n return this.each(d3_selection_property(name, value));\n };\n function d3_selection_property(name, value) {\n function propertyNull() {\n delete this[name];\n }\n function propertyConstant() {\n this[name] = value;\n }\n function propertyFunction() {\n var x = value.apply(this, arguments);\n if (x == null) delete this[name]; else this[name] = x;\n }\n return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n }\n d3_selectionPrototype.text = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n } : value == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = value;\n }) : this.node().textContent;\n };\n d3_selectionPrototype.html = function(value) {\n return arguments.length ? this.each(typeof value === \"function\" ? function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n } : value == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = value;\n }) : this.node().innerHTML;\n };\n d3_selectionPrototype.append = function(name) {\n name = d3_selection_creator(name);\n return this.select(function() {\n return this.appendChild(name.apply(this, arguments));\n });\n };\n function d3_selection_creator(name) {\n function create() {\n var document = this.ownerDocument, namespace = this.namespaceURI;\n return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n }\n function createNS() {\n return this.ownerDocument.createElementNS(name.space, name.local);\n }\n return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n }\n d3_selectionPrototype.insert = function(name, before) {\n name = d3_selection_creator(name);\n before = d3_selection_selector(before);\n return this.select(function() {\n return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n });\n };\n d3_selectionPrototype.remove = function() {\n return this.each(d3_selectionRemove);\n };\n function d3_selectionRemove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n }\n d3_selectionPrototype.data = function(value, key) {\n var i = -1, n = this.length, group, node;\n if (!arguments.length) {\n value = new Array(n = (group = this[0]).length);\n while (++i < n) {\n if (node = group[i]) {\n value[i] = node.__data__;\n }\n }\n return value;\n }\n function bind(group, groupData) {\n var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n if (key) {\n var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n for (i = -1; ++i < n; ) {\n if (node = group[i]) {\n if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n exitNodes[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n keyValues[i] = keyValue;\n }\n }\n for (i = -1; ++i < m; ) {\n if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n } else if (node !== true) {\n updateNodes[i] = node;\n node.__data__ = nodeData;\n }\n nodeByKeyValue.set(keyValue, true);\n }\n for (i = -1; ++i < n; ) {\n if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n exitNodes[i] = group[i];\n }\n }\n } else {\n for (i = -1; ++i < n0; ) {\n node = group[i];\n nodeData = groupData[i];\n if (node) {\n node.__data__ = nodeData;\n updateNodes[i] = node;\n } else {\n enterNodes[i] = d3_selection_dataNode(nodeData);\n }\n }\n for (;i < m; ++i) {\n enterNodes[i] = d3_selection_dataNode(groupData[i]);\n }\n for (;i < n; ++i) {\n exitNodes[i] = group[i];\n }\n }\n enterNodes.update = updateNodes;\n enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n enter.push(enterNodes);\n update.push(updateNodes);\n exit.push(exitNodes);\n }\n var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n if (typeof value === \"function\") {\n while (++i < n) {\n bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n }\n } else {\n while (++i < n) {\n bind(group = this[i], value);\n }\n }\n update.enter = function() {\n return enter;\n };\n update.exit = function() {\n return exit;\n };\n return update;\n };\n function d3_selection_dataNode(data) {\n return {\n __data__: data\n };\n }\n d3_selectionPrototype.datum = function(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n };\n d3_selectionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n subgroup.parentNode = (group = this[j]).parentNode;\n for (var i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_selection(subgroups);\n };\n function d3_selection_filter(selector) {\n return function() {\n return d3_selectMatches(this, selector);\n };\n }\n d3_selectionPrototype.order = function() {\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n if (node = group[i]) {\n if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n };\n d3_selectionPrototype.sort = function(comparator) {\n comparator = d3_selection_sortComparator.apply(this, arguments);\n for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n return this.order();\n };\n function d3_selection_sortComparator(comparator) {\n if (!arguments.length) comparator = d3_ascending;\n return function(a, b) {\n return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n };\n }\n d3_selectionPrototype.each = function(callback) {\n return d3_selection_each(this, function(node, i, j) {\n callback.call(node, node.__data__, i, j);\n });\n };\n function d3_selection_each(groups, callback) {\n for (var j = 0, m = groups.length; j < m; j++) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n if (node = group[i]) callback(node, i, j);\n }\n }\n return groups;\n }\n d3_selectionPrototype.call = function(callback) {\n var args = d3_array(arguments);\n callback.apply(args[0] = this, args);\n return this;\n };\n d3_selectionPrototype.empty = function() {\n return !this.node();\n };\n d3_selectionPrototype.node = function() {\n for (var j = 0, m = this.length; j < m; j++) {\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n };\n d3_selectionPrototype.size = function() {\n var n = 0;\n d3_selection_each(this, function() {\n ++n;\n });\n return n;\n };\n function d3_selection_enter(selection) {\n d3_subclass(selection, d3_selection_enterPrototype);\n return selection;\n }\n var d3_selection_enterPrototype = [];\n d3.selection.enter = d3_selection_enter;\n d3.selection.enter.prototype = d3_selection_enterPrototype;\n d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n d3_selection_enterPrototype.select = function(selector) {\n var subgroups = [], subgroup, subnode, upgroup, group, node;\n for (var j = -1, m = this.length; ++j < m; ) {\n upgroup = (group = this[j]).update;\n subgroups.push(subgroup = []);\n subgroup.parentNode = group.parentNode;\n for (var i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n subnode.__data__ = node.__data__;\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_selection(subgroups);\n };\n d3_selection_enterPrototype.insert = function(name, before) {\n if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n return d3_selectionPrototype.insert.call(this, name, before);\n };\n function d3_selection_enterInsertBefore(enter) {\n var i0, j0;\n return function(d, i, j) {\n var group = enter[j].update, n = group.length, node;\n if (j != j0) j0 = j, i0 = 0;\n if (i >= i0) i0 = i + 1;\n while (!(node = group[i0]) && ++i0 < n) ;\n return node;\n };\n }\n d3.select = function(node) {\n var group;\n if (typeof node === \"string\") {\n group = [ d3_select(node, d3_document) ];\n group.parentNode = d3_document.documentElement;\n } else {\n group = [ node ];\n group.parentNode = d3_documentElement(node);\n }\n return d3_selection([ group ]);\n };\n d3.selectAll = function(nodes) {\n var group;\n if (typeof nodes === \"string\") {\n group = d3_array(d3_selectAll(nodes, d3_document));\n group.parentNode = d3_document.documentElement;\n } else {\n group = d3_array(nodes);\n group.parentNode = null;\n }\n return d3_selection([ group ]);\n };\n d3_selectionPrototype.on = function(type, listener, capture) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof type !== \"string\") {\n if (n < 2) listener = false;\n for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n return this;\n }\n if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n capture = false;\n }\n return this.each(d3_selection_on(type, listener, capture));\n };\n function d3_selection_on(type, listener, capture) {\n var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n if (i > 0) type = type.slice(0, i);\n var filter = d3_selection_onFilters.get(type);\n if (filter) type = filter, wrap = d3_selection_onFilter;\n function onRemove() {\n var l = this[name];\n if (l) {\n this.removeEventListener(type, l, l.$);\n delete this[name];\n }\n }\n function onAdd() {\n var l = wrap(listener, d3_array(arguments));\n onRemove.call(this);\n this.addEventListener(type, this[name] = l, l.$ = capture);\n l._ = listener;\n }\n function removeAll() {\n var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n for (var name in this) {\n if (match = name.match(re)) {\n var l = this[name];\n this.removeEventListener(match[1], l, l.$);\n delete this[name];\n }\n }\n }\n return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n }\n var d3_selection_onFilters = d3.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n if (d3_document) {\n d3_selection_onFilters.forEach(function(k) {\n if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n });\n }\n function d3_selection_onListener(listener, argumentz) {\n return function(e) {\n var o = d3.event;\n d3.event = e;\n argumentz[0] = this.__data__;\n try {\n listener.apply(this, argumentz);\n } finally {\n d3.event = o;\n }\n };\n }\n function d3_selection_onFilter(listener, argumentz) {\n var l = d3_selection_onListener(listener, argumentz);\n return function(e) {\n var target = this, related = e.relatedTarget;\n if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n l.call(target, e);\n }\n };\n }\n var d3_event_dragSelect, d3_event_dragId = 0;\n function d3_event_dragSuppress(node) {\n var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n if (d3_event_dragSelect == null) {\n d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n }\n if (d3_event_dragSelect) {\n var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n style[d3_event_dragSelect] = \"none\";\n }\n return function(suppressClick) {\n w.on(name, null);\n if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n if (suppressClick) {\n var off = function() {\n w.on(click, null);\n };\n w.on(click, function() {\n d3_eventPreventDefault();\n off();\n }, true);\n setTimeout(off, 0);\n }\n };\n }\n d3.mouse = function(container) {\n return d3_mousePoint(container, d3_eventSource());\n };\n var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function d3_mousePoint(container, e) {\n if (e.changedTouches) e = e.changedTouches[0];\n var svg = container.ownerSVGElement || container;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n if (d3_mouse_bug44083 < 0) {\n var window = d3_window(container);\n if (window.scrollX || window.scrollY) {\n svg = d3.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var ctm = svg[0][0].getScreenCTM();\n d3_mouse_bug44083 = !(ctm.f || ctm.e);\n svg.remove();\n }\n }\n if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n point.y = e.clientY;\n point = point.matrixTransform(container.getScreenCTM().inverse());\n return [ point.x, point.y ];\n }\n var rect = container.getBoundingClientRect();\n return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n }\n d3.touch = function(container, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return d3_mousePoint(container, touch);\n }\n }\n };\n d3.behavior.drag = function() {\n var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n function drag() {\n this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n }\n function dragstart(id, position, subject, move, end) {\n return function() {\n var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n if (origin) {\n dragOffset = origin.apply(that, arguments);\n dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n } else {\n dragOffset = [ 0, 0 ];\n }\n dispatch({\n type: \"dragstart\"\n });\n function moved() {\n var position1 = position(parent, dragId), dx, dy;\n if (!position1) return;\n dx = position1[0] - position0[0];\n dy = position1[1] - position0[1];\n dragged |= dx | dy;\n position0 = position1;\n dispatch({\n type: \"drag\",\n x: position1[0] + dragOffset[0],\n y: position1[1] + dragOffset[1],\n dx: dx,\n dy: dy\n });\n }\n function ended() {\n if (!position(parent, dragId)) return;\n dragSubject.on(move + dragName, null).on(end + dragName, null);\n dragRestore(dragged);\n dispatch({\n type: \"dragend\"\n });\n }\n };\n }\n drag.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return drag;\n };\n return d3.rebind(drag, event, \"on\");\n };\n function d3_behavior_dragTouchId() {\n return d3.event.changedTouches[0].identifier;\n }\n d3.touches = function(container, touches) {\n if (arguments.length < 2) touches = d3_eventSource().touches;\n return touches ? d3_array(touches).map(function(touch) {\n var point = d3_mousePoint(container, touch);\n point.identifier = touch.identifier;\n return point;\n }) : [];\n };\n var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;\n function d3_sgn(x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n }\n function d3_cross2d(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n }\n function d3_acos(x) {\n return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n }\n function d3_asin(x) {\n return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n }\n function d3_sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n }\n function d3_cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n }\n function d3_tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n }\n function d3_haversin(x) {\n return (x = Math.sin(x / 2)) * x;\n }\n var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;\n d3.interpolateZoom = function(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n if (d2 < ε2) {\n S = Math.log(w1 / w0) / ρ;\n i = function(t) {\n return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * t * S) ];\n };\n } else {\n var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / ρ;\n i = function(t) {\n var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));\n return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ];\n };\n }\n i.duration = S * 1e3;\n return i;\n };\n d3.behavior.zoom = function() {\n var view = {\n x: 0,\n y: 0,\n k: 1\n }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n if (!d3_behavior_zoomWheel) {\n d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n return d3.event.wheelDelta;\n }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n return -d3.event.detail;\n }, \"MozMousePixelScroll\");\n }\n function zoom(g) {\n g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n }\n zoom.event = function(g) {\n g.each(function() {\n var dispatch = event.of(this, arguments), view1 = view;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.zoom\", function() {\n view = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n };\n zoomstarted(dispatch);\n }).tween(\"zoom:zoom\", function() {\n var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n return function(t) {\n var l = i(t), k = dx / l[2];\n this.__chart__ = view = {\n x: cx - l[0] * k,\n y: cy - l[1] * k,\n k: k\n };\n zoomed(dispatch);\n };\n }).each(\"interrupt.zoom\", function() {\n zoomended(dispatch);\n }).each(\"end.zoom\", function() {\n zoomended(dispatch);\n });\n } else {\n this.__chart__ = view;\n zoomstarted(dispatch);\n zoomed(dispatch);\n zoomended(dispatch);\n }\n });\n };\n zoom.translate = function(_) {\n if (!arguments.length) return [ view.x, view.y ];\n view = {\n x: +_[0],\n y: +_[1],\n k: view.k\n };\n rescale();\n return zoom;\n };\n zoom.scale = function(_) {\n if (!arguments.length) return view.k;\n view = {\n x: view.x,\n y: view.y,\n k: null\n };\n scaleTo(+_);\n rescale();\n return zoom;\n };\n zoom.scaleExtent = function(_) {\n if (!arguments.length) return scaleExtent;\n scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.center = function(_) {\n if (!arguments.length) return center;\n center = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.size = function(_) {\n if (!arguments.length) return size;\n size = _ && [ +_[0], +_[1] ];\n return zoom;\n };\n zoom.duration = function(_) {\n if (!arguments.length) return duration;\n duration = +_;\n return zoom;\n };\n zoom.x = function(z) {\n if (!arguments.length) return x1;\n x1 = z;\n x0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n zoom.y = function(z) {\n if (!arguments.length) return y1;\n y1 = z;\n y0 = z.copy();\n view = {\n x: 0,\n y: 0,\n k: 1\n };\n return zoom;\n };\n function location(p) {\n return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n }\n function point(l) {\n return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n }\n function scaleTo(s) {\n view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n }\n function translateTo(p, l) {\n l = point(l);\n view.x += p[0] - l[0];\n view.y += p[1] - l[1];\n }\n function zoomTo(that, p, l, k) {\n that.__chart__ = {\n x: view.x,\n y: view.y,\n k: view.k\n };\n scaleTo(Math.pow(2, k));\n translateTo(center0 = p, l);\n that = d3.select(that);\n if (duration > 0) that = that.transition().duration(duration);\n that.call(zoom.event);\n }\n function rescale() {\n if (x1) x1.domain(x0.range().map(function(x) {\n return (x - view.x) / view.k;\n }).map(x0.invert));\n if (y1) y1.domain(y0.range().map(function(y) {\n return (y - view.y) / view.k;\n }).map(y0.invert));\n }\n function zoomstarted(dispatch) {\n if (!zooming++) dispatch({\n type: \"zoomstart\"\n });\n }\n function zoomed(dispatch) {\n rescale();\n dispatch({\n type: \"zoom\",\n scale: view.k,\n translate: [ view.x, view.y ]\n });\n }\n function zoomended(dispatch) {\n if (!--zooming) dispatch({\n type: \"zoomend\"\n }), center0 = null;\n }\n function mousedowned() {\n var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n d3_selection_interrupt.call(that);\n zoomstarted(dispatch);\n function moved() {\n dragged = 1;\n translateTo(d3.mouse(that), location0);\n zoomed(dispatch);\n }\n function ended() {\n subject.on(mousemove, null).on(mouseup, null);\n dragRestore(dragged);\n zoomended(dispatch);\n }\n }\n function touchstarted() {\n var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n started();\n zoomstarted(dispatch);\n subject.on(mousedown, null).on(touchstart, started);\n function relocate() {\n var touches = d3.touches(that);\n scale0 = view.k;\n touches.forEach(function(t) {\n if (t.identifier in locations0) locations0[t.identifier] = location(t);\n });\n return touches;\n }\n function started() {\n var target = d3.event.target;\n d3.select(target).on(touchmove, moved).on(touchend, ended);\n targets.push(target);\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n locations0[changed[i].identifier] = null;\n }\n var touches = relocate(), now = Date.now();\n if (touches.length === 1) {\n if (now - touchtime < 500) {\n var p = touches[0];\n zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n d3_eventPreventDefault();\n }\n touchtime = now;\n } else if (touches.length > 1) {\n var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n distance0 = dx * dx + dy * dy;\n }\n }\n function moved() {\n var touches = d3.touches(that), p0, l0, p1, l1;\n d3_selection_interrupt.call(that);\n for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n p1 = touches[i];\n if (l1 = locations0[p1.identifier]) {\n if (l0) break;\n p0 = p1, l0 = l1;\n }\n }\n if (l1) {\n var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n scaleTo(scale1 * scale0);\n }\n touchtime = null;\n translateTo(p0, l0);\n zoomed(dispatch);\n }\n function ended() {\n if (d3.event.touches.length) {\n var changed = d3.event.changedTouches;\n for (var i = 0, n = changed.length; i < n; ++i) {\n delete locations0[changed[i].identifier];\n }\n for (var identifier in locations0) {\n return void relocate();\n }\n }\n d3.selectAll(targets).on(zoomName, null);\n subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n dragRestore();\n zoomended(dispatch);\n }\n }\n function mousewheeled() {\n var dispatch = event.of(this, arguments);\n if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n mousewheelTimer = setTimeout(function() {\n mousewheelTimer = null;\n zoomended(dispatch);\n }, 50);\n d3_eventPreventDefault();\n scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n translateTo(center0, translate0);\n zoomed(dispatch);\n }\n function dblclicked() {\n var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n }\n return d3.rebind(zoom, event, \"on\");\n };\n var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n d3.color = d3_color;\n function d3_color() {}\n d3_color.prototype.toString = function() {\n return this.rgb() + \"\";\n };\n d3.hsl = d3_hsl;\n function d3_hsl(h, s, l) {\n return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n }\n var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n d3_hslPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, this.l / k);\n };\n d3_hslPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_hsl(this.h, this.s, k * this.l);\n };\n d3_hslPrototype.rgb = function() {\n return d3_hsl_rgb(this.h, this.s, this.l);\n };\n function d3_hsl_rgb(h, s, l) {\n var m1, m2;\n h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n m1 = 2 * l - m2;\n function v(h) {\n if (h > 360) h -= 360; else if (h < 0) h += 360;\n if (h < 60) return m1 + (m2 - m1) * h / 60;\n if (h < 180) return m2;\n if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n return m1;\n }\n function vv(h) {\n return Math.round(v(h) * 255);\n }\n return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n }\n d3.hcl = d3_hcl;\n function d3_hcl(h, c, l) {\n return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n }\n var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n d3_hclPrototype.brighter = function(k) {\n return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.darker = function(k) {\n return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n };\n d3_hclPrototype.rgb = function() {\n return d3_hcl_lab(this.h, this.c, this.l).rgb();\n };\n function d3_hcl_lab(h, c, l) {\n if (isNaN(h)) h = 0;\n if (isNaN(c)) c = 0;\n return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n }\n d3.lab = d3_lab;\n function d3_lab(l, a, b) {\n return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n }\n var d3_lab_K = 18;\n var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n var d3_labPrototype = d3_lab.prototype = new d3_color();\n d3_labPrototype.brighter = function(k) {\n return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.darker = function(k) {\n return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n };\n d3_labPrototype.rgb = function() {\n return d3_lab_rgb(this.l, this.a, this.b);\n };\n function d3_lab_rgb(l, a, b) {\n var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n x = d3_lab_xyz(x) * d3_lab_X;\n y = d3_lab_xyz(y) * d3_lab_Y;\n z = d3_lab_xyz(z) * d3_lab_Z;\n return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n }\n function d3_lab_hcl(l, a, b) {\n return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n }\n function d3_lab_xyz(x) {\n return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n }\n function d3_xyz_lab(x) {\n return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n }\n function d3_xyz_rgb(r) {\n return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n }\n d3.rgb = d3_rgb;\n function d3_rgb(r, g, b) {\n return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n }\n function d3_rgbNumber(value) {\n return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n }\n function d3_rgbString(value) {\n return d3_rgbNumber(value) + \"\";\n }\n var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n d3_rgbPrototype.brighter = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n var r = this.r, g = this.g, b = this.b, i = 30;\n if (!r && !g && !b) return new d3_rgb(i, i, i);\n if (r && r < i) r = i;\n if (g && g < i) g = i;\n if (b && b < i) b = i;\n return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n };\n d3_rgbPrototype.darker = function(k) {\n k = Math.pow(.7, arguments.length ? k : 1);\n return new d3_rgb(k * this.r, k * this.g, k * this.b);\n };\n d3_rgbPrototype.hsl = function() {\n return d3_rgb_hsl(this.r, this.g, this.b);\n };\n d3_rgbPrototype.toString = function() {\n return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n };\n function d3_rgb_hex(v) {\n return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n }\n function d3_rgb_parse(format, rgb, hsl) {\n var r = 0, g = 0, b = 0, m1, m2, color;\n m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n if (m1) {\n m2 = m1[2].split(\",\");\n switch (m1[1]) {\n case \"hsl\":\n {\n return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n }\n\n case \"rgb\":\n {\n return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n }\n }\n }\n if (color = d3_rgb_names.get(format)) {\n return rgb(color.r, color.g, color.b);\n }\n if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n if (format.length === 4) {\n r = (color & 3840) >> 4;\n r = r >> 4 | r;\n g = color & 240;\n g = g >> 4 | g;\n b = color & 15;\n b = b << 4 | b;\n } else if (format.length === 7) {\n r = (color & 16711680) >> 16;\n g = (color & 65280) >> 8;\n b = color & 255;\n }\n }\n return rgb(r, g, b);\n }\n function d3_rgb_hsl(r, g, b) {\n var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n if (d) {\n s = l < .5 ? d / (max + min) : d / (2 - max - min);\n if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n h *= 60;\n } else {\n h = NaN;\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new d3_hsl(h, s, l);\n }\n function d3_rgb_lab(r, g, b) {\n r = d3_rgb_xyz(r);\n g = d3_rgb_xyz(g);\n b = d3_rgb_xyz(b);\n var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n }\n function d3_rgb_xyz(r) {\n return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n }\n function d3_rgb_parseNumber(c) {\n var f = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n }\n var d3_rgb_names = d3.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n d3_rgb_names.forEach(function(key, value) {\n d3_rgb_names.set(key, d3_rgbNumber(value));\n });\n function d3_functor(v) {\n return typeof v === \"function\" ? v : function() {\n return v;\n };\n }\n d3.functor = d3_functor;\n d3.xhr = d3_xhrType(d3_identity);\n function d3_xhrType(response) {\n return function(url, mimeType, callback) {\n if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n mimeType = null;\n return d3_xhr(url, mimeType, response, callback);\n };\n }\n function d3_xhr(url, mimeType, response, callback) {\n var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n request.readyState > 3 && respond();\n };\n function respond() {\n var status = request.status, result;\n if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n try {\n result = response.call(xhr, request);\n } catch (e) {\n dispatch.error.call(xhr, e);\n return;\n }\n dispatch.load.call(xhr, result);\n } else {\n dispatch.error.call(xhr, request);\n }\n }\n request.onprogress = function(event) {\n var o = d3.event;\n d3.event = event;\n try {\n dispatch.progress.call(xhr, request);\n } finally {\n d3.event = o;\n }\n };\n xhr.header = function(name, value) {\n name = (name + \"\").toLowerCase();\n if (arguments.length < 2) return headers[name];\n if (value == null) delete headers[name]; else headers[name] = value + \"\";\n return xhr;\n };\n xhr.mimeType = function(value) {\n if (!arguments.length) return mimeType;\n mimeType = value == null ? null : value + \"\";\n return xhr;\n };\n xhr.responseType = function(value) {\n if (!arguments.length) return responseType;\n responseType = value;\n return xhr;\n };\n xhr.response = function(value) {\n response = value;\n return xhr;\n };\n [ \"get\", \"post\" ].forEach(function(method) {\n xhr[method] = function() {\n return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n };\n });\n xhr.send = function(method, data, callback) {\n if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n request.open(method, url, true);\n if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n if (responseType != null) request.responseType = responseType;\n if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n callback(null, request);\n });\n dispatch.beforesend.call(xhr, request);\n request.send(data == null ? null : data);\n return xhr;\n };\n xhr.abort = function() {\n request.abort();\n return xhr;\n };\n d3.rebind(xhr, dispatch, \"on\");\n return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n }\n function d3_xhr_fixCallback(callback) {\n return callback.length === 1 ? function(error, request) {\n callback(error == null ? request : null);\n } : callback;\n }\n function d3_xhrHasResponse(request) {\n var type = request.responseType;\n return type && type !== \"text\" ? request.response : request.responseText;\n }\n d3.dsv = function(delimiter, mimeType) {\n var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n function dsv(url, row, callback) {\n if (arguments.length < 3) callback = row, row = null;\n var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n xhr.row = function(_) {\n return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n };\n return xhr;\n }\n function response(request) {\n return dsv.parse(request.responseText);\n }\n function typedResponse(f) {\n return function(request) {\n return dsv.parse(request.responseText, f);\n };\n }\n dsv.parse = function(text, f) {\n var o;\n return dsv.parseRows(text, function(row, i) {\n if (o) return o(row, i - 1);\n var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n return JSON.stringify(name) + \": d[\" + i + \"]\";\n }).join(\",\") + \"}\");\n o = f ? function(row, i) {\n return f(a(row), i);\n } : a;\n });\n };\n dsv.parseRows = function(text, f) {\n var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n function token() {\n if (I >= N) return EOF;\n if (eol) return eol = false, EOL;\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n }\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; else if (c === 13) {\n eol = true;\n if (text.charCodeAt(I) === 10) ++I, ++k;\n } else if (c !== delimiterCode) continue;\n return text.slice(j, I - k);\n }\n return text.slice(j);\n }\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && (a = f(a, n++)) == null) continue;\n rows.push(a);\n }\n return rows;\n };\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n var fieldSet = new d3_Set(), fields = [];\n rows.forEach(function(row) {\n for (var field in row) {\n if (!fieldSet.has(field)) {\n fields.push(fieldSet.add(field));\n }\n }\n });\n return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join(\"\\n\");\n };\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join(\"\\n\");\n };\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n function formatValue(text) {\n return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n }\n return dsv;\n };\n d3.csv = d3.dsv(\",\", \"text/csv\");\n d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n setTimeout(callback, 17);\n };\n d3.timer = function() {\n d3_timer.apply(this, arguments);\n };\n function d3_timer(callback, delay, then) {\n var n = arguments.length;\n if (n < 2) delay = 0;\n if (n < 3) then = Date.now();\n var time = then + delay, timer = {\n c: callback,\n t: time,\n n: null\n };\n if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n d3_timer_queueTail = timer;\n if (!d3_timer_interval) {\n d3_timer_timeout = clearTimeout(d3_timer_timeout);\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n return timer;\n }\n function d3_timer_step() {\n var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n if (delay > 24) {\n if (isFinite(delay)) {\n clearTimeout(d3_timer_timeout);\n d3_timer_timeout = setTimeout(d3_timer_step, delay);\n }\n d3_timer_interval = 0;\n } else {\n d3_timer_interval = 1;\n d3_timer_frame(d3_timer_step);\n }\n }\n d3.timer.flush = function() {\n d3_timer_mark();\n d3_timer_sweep();\n };\n function d3_timer_mark() {\n var now = Date.now(), timer = d3_timer_queueHead;\n while (timer) {\n if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n timer = timer.n;\n }\n return now;\n }\n function d3_timer_sweep() {\n var t0, t1 = d3_timer_queueHead, time = Infinity;\n while (t1) {\n if (t1.c) {\n if (t1.t < time) time = t1.t;\n t1 = (t0 = t1).n;\n } else {\n t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n }\n }\n d3_timer_queueTail = t0;\n return time;\n }\n function d3_format_precision(x, p) {\n return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n }\n d3.round = function(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n };\n var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n d3.formatPrefix = function(value, precision) {\n var i = 0;\n if (value = +value) {\n if (value < 0) value *= -1;\n if (precision) value = d3.round(value, d3_format_precision(value, precision));\n i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n }\n return d3_formatPrefixes[8 + i / 3];\n };\n function d3_formatPrefix(d, i) {\n var k = Math.pow(10, abs(8 - i) * 3);\n return {\n scale: i > 8 ? function(d) {\n return d / k;\n } : function(d) {\n return d * k;\n },\n symbol: d\n };\n }\n function d3_locale_numberFormat(locale) {\n var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = locale_grouping[j = (j + 1) % locale_grouping.length];\n }\n return t.reverse().join(locale_thousands);\n } : d3_identity;\n return function(specifier) {\n var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n if (precision) precision = +precision.substring(1);\n if (zfill || fill === \"0\" && align === \"=\") {\n zfill = fill = \"0\";\n align = \"=\";\n }\n switch (type) {\n case \"n\":\n comma = true;\n type = \"g\";\n break;\n\n case \"%\":\n scale = 100;\n suffix = \"%\";\n type = \"f\";\n break;\n\n case \"p\":\n scale = 100;\n suffix = \"%\";\n type = \"r\";\n break;\n\n case \"b\":\n case \"o\":\n case \"x\":\n case \"X\":\n if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n\n case \"c\":\n exponent = false;\n\n case \"d\":\n integer = true;\n precision = 0;\n break;\n\n case \"s\":\n scale = -1;\n type = \"r\";\n break;\n }\n if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n if (type == \"r\" && !precision) type = \"g\";\n if (precision != null) {\n if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n }\n type = d3_format_types.get(type) || d3_format_typeDefault;\n var zcomma = zfill && comma;\n return function(value) {\n var fullSuffix = suffix;\n if (integer && value % 1) return \"\";\n var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n if (scale < 0) {\n var unit = d3.formatPrefix(value, precision);\n value = unit.scale(value);\n fullSuffix = unit.symbol + suffix;\n } else {\n value *= scale;\n }\n value = type(value, precision);\n var i = value.lastIndexOf(\".\"), before, after;\n if (i < 0) {\n var j = exponent ? value.lastIndexOf(\"e\") : -1;\n if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n } else {\n before = value.substring(0, i);\n after = locale_decimal + value.substring(i + 1);\n }\n if (!zfill && comma) before = formatGroup(before, Infinity);\n var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n negative += prefix;\n value = before + after;\n return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n };\n };\n }\n var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n var d3_format_types = d3.map({\n b: function(x) {\n return x.toString(2);\n },\n c: function(x) {\n return String.fromCharCode(x);\n },\n o: function(x) {\n return x.toString(8);\n },\n x: function(x) {\n return x.toString(16);\n },\n X: function(x) {\n return x.toString(16).toUpperCase();\n },\n g: function(x, p) {\n return x.toPrecision(p);\n },\n e: function(x, p) {\n return x.toExponential(p);\n },\n f: function(x, p) {\n return x.toFixed(p);\n },\n r: function(x, p) {\n return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n }\n });\n function d3_format_typeDefault(x) {\n return x + \"\";\n }\n var d3_time = d3.time = {}, d3_date = Date;\n function d3_date_utc() {\n this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n }\n d3_date_utc.prototype = {\n getDate: function() {\n return this._.getUTCDate();\n },\n getDay: function() {\n return this._.getUTCDay();\n },\n getFullYear: function() {\n return this._.getUTCFullYear();\n },\n getHours: function() {\n return this._.getUTCHours();\n },\n getMilliseconds: function() {\n return this._.getUTCMilliseconds();\n },\n getMinutes: function() {\n return this._.getUTCMinutes();\n },\n getMonth: function() {\n return this._.getUTCMonth();\n },\n getSeconds: function() {\n return this._.getUTCSeconds();\n },\n getTime: function() {\n return this._.getTime();\n },\n getTimezoneOffset: function() {\n return 0;\n },\n valueOf: function() {\n return this._.valueOf();\n },\n setDate: function() {\n d3_time_prototype.setUTCDate.apply(this._, arguments);\n },\n setDay: function() {\n d3_time_prototype.setUTCDay.apply(this._, arguments);\n },\n setFullYear: function() {\n d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n },\n setHours: function() {\n d3_time_prototype.setUTCHours.apply(this._, arguments);\n },\n setMilliseconds: function() {\n d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n },\n setMinutes: function() {\n d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n },\n setMonth: function() {\n d3_time_prototype.setUTCMonth.apply(this._, arguments);\n },\n setSeconds: function() {\n d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n },\n setTime: function() {\n d3_time_prototype.setTime.apply(this._, arguments);\n }\n };\n var d3_time_prototype = Date.prototype;\n function d3_time_interval(local, step, number) {\n function round(date) {\n var d0 = local(date), d1 = offset(d0, 1);\n return date - d0 < d1 - date ? d0 : d1;\n }\n function ceil(date) {\n step(date = local(new d3_date(date - 1)), 1);\n return date;\n }\n function offset(date, k) {\n step(date = new d3_date(+date), k);\n return date;\n }\n function range(t0, t1, dt) {\n var time = ceil(t0), times = [];\n if (dt > 1) {\n while (time < t1) {\n if (!(number(time) % dt)) times.push(new Date(+time));\n step(time, 1);\n }\n } else {\n while (time < t1) times.push(new Date(+time)), step(time, 1);\n }\n return times;\n }\n function range_utc(t0, t1, dt) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = t0;\n return range(utc, t1, dt);\n } finally {\n d3_date = Date;\n }\n }\n local.floor = local;\n local.round = round;\n local.ceil = ceil;\n local.offset = offset;\n local.range = range;\n var utc = local.utc = d3_time_interval_utc(local);\n utc.floor = utc;\n utc.round = d3_time_interval_utc(round);\n utc.ceil = d3_time_interval_utc(ceil);\n utc.offset = d3_time_interval_utc(offset);\n utc.range = range_utc;\n return local;\n }\n function d3_time_interval_utc(method) {\n return function(date, k) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date_utc();\n utc._ = date;\n return method(utc, k)._;\n } finally {\n d3_date = Date;\n }\n };\n }\n d3_time.year = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setMonth(0, 1);\n return date;\n }, function(date, offset) {\n date.setFullYear(date.getFullYear() + offset);\n }, function(date) {\n return date.getFullYear();\n });\n d3_time.years = d3_time.year.range;\n d3_time.years.utc = d3_time.year.utc.range;\n d3_time.day = d3_time_interval(function(date) {\n var day = new d3_date(2e3, 0);\n day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n return day;\n }, function(date, offset) {\n date.setDate(date.getDate() + offset);\n }, function(date) {\n return date.getDate() - 1;\n });\n d3_time.days = d3_time.day.range;\n d3_time.days.utc = d3_time.day.utc.range;\n d3_time.dayOfYear = function(date) {\n var year = d3_time.year(date);\n return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n };\n [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n i = 7 - i;\n var interval = d3_time[day] = d3_time_interval(function(date) {\n (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n return date;\n }, function(date, offset) {\n date.setDate(date.getDate() + Math.floor(offset) * 7);\n }, function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n });\n d3_time[day + \"s\"] = interval.range;\n d3_time[day + \"s\"].utc = interval.utc.range;\n d3_time[day + \"OfYear\"] = function(date) {\n var day = d3_time.year(date).getDay();\n return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n };\n });\n d3_time.week = d3_time.sunday;\n d3_time.weeks = d3_time.sunday.range;\n d3_time.weeks.utc = d3_time.sunday.utc.range;\n d3_time.weekOfYear = d3_time.sundayOfYear;\n function d3_locale_timeFormat(locale) {\n var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n function d3_time_format(template) {\n var n = template.length;\n function format(date) {\n var string = [], i = -1, j = 0, c, p, f;\n while (++i < n) {\n if (template.charCodeAt(i) === 37) {\n string.push(template.slice(j, i));\n if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(template.slice(j, i));\n return string.join(\"\");\n }\n format.parse = function(string) {\n var d = {\n y: 1900,\n m: 0,\n d: 1,\n H: 0,\n M: 0,\n S: 0,\n L: 0,\n Z: null\n }, i = d3_time_parse(d, template, string, 0);\n if (i != string.length) return null;\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n date.setFullYear(d.y, 0, 1);\n date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n } else date.setFullYear(d.y, d.m, d.d);\n date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n return localZ ? date._ : date;\n };\n format.toString = function() {\n return template;\n };\n return format;\n }\n function d3_time_parse(date, template, string, j) {\n var c, p, t, i = 0, n = template.length, m = string.length;\n while (i < n) {\n if (j >= m) return -1;\n c = template.charCodeAt(i++);\n if (c === 37) {\n t = template.charAt(i++);\n p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n if (!p || (j = p(date, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n d3_time_format.utc = function(template) {\n var local = d3_time_format(template);\n function format(date) {\n try {\n d3_date = d3_date_utc;\n var utc = new d3_date();\n utc._ = date;\n return local(utc);\n } finally {\n d3_date = Date;\n }\n }\n format.parse = function(string) {\n try {\n d3_date = d3_date_utc;\n var date = local.parse(string);\n return date && date._;\n } finally {\n d3_date = Date;\n }\n };\n format.toString = local.toString;\n return format;\n };\n d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n locale_periods.forEach(function(p, i) {\n d3_time_periodLookup.set(p.toLowerCase(), i);\n });\n var d3_time_formats = {\n a: function(d) {\n return locale_shortDays[d.getDay()];\n },\n A: function(d) {\n return locale_days[d.getDay()];\n },\n b: function(d) {\n return locale_shortMonths[d.getMonth()];\n },\n B: function(d) {\n return locale_months[d.getMonth()];\n },\n c: d3_time_format(locale_dateTime),\n d: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n e: function(d, p) {\n return d3_time_formatPad(d.getDate(), p, 2);\n },\n H: function(d, p) {\n return d3_time_formatPad(d.getHours(), p, 2);\n },\n I: function(d, p) {\n return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n },\n j: function(d, p) {\n return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n },\n L: function(d, p) {\n return d3_time_formatPad(d.getMilliseconds(), p, 3);\n },\n m: function(d, p) {\n return d3_time_formatPad(d.getMonth() + 1, p, 2);\n },\n M: function(d, p) {\n return d3_time_formatPad(d.getMinutes(), p, 2);\n },\n p: function(d) {\n return locale_periods[+(d.getHours() >= 12)];\n },\n S: function(d, p) {\n return d3_time_formatPad(d.getSeconds(), p, 2);\n },\n U: function(d, p) {\n return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n },\n w: function(d) {\n return d.getDay();\n },\n W: function(d, p) {\n return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n },\n x: d3_time_format(locale_date),\n X: d3_time_format(locale_time),\n y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n },\n Y: function(d, p) {\n return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n },\n Z: d3_time_zone,\n \"%\": function() {\n return \"%\";\n }\n };\n var d3_time_parsers = {\n a: d3_time_parseWeekdayAbbrev,\n A: d3_time_parseWeekday,\n b: d3_time_parseMonthAbbrev,\n B: d3_time_parseMonth,\n c: d3_time_parseLocaleFull,\n d: d3_time_parseDay,\n e: d3_time_parseDay,\n H: d3_time_parseHour24,\n I: d3_time_parseHour24,\n j: d3_time_parseDayOfYear,\n L: d3_time_parseMilliseconds,\n m: d3_time_parseMonthNumber,\n M: d3_time_parseMinutes,\n p: d3_time_parseAmPm,\n S: d3_time_parseSeconds,\n U: d3_time_parseWeekNumberSunday,\n w: d3_time_parseWeekdayNumber,\n W: d3_time_parseWeekNumberMonday,\n x: d3_time_parseLocaleDate,\n X: d3_time_parseLocaleTime,\n y: d3_time_parseYear,\n Y: d3_time_parseFullYear,\n Z: d3_time_parseZone,\n \"%\": d3_time_parseLiteralPercent\n };\n function d3_time_parseWeekdayAbbrev(date, string, i) {\n d3_time_dayAbbrevRe.lastIndex = 0;\n var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseWeekday(date, string, i) {\n d3_time_dayRe.lastIndex = 0;\n var n = d3_time_dayRe.exec(string.slice(i));\n return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonthAbbrev(date, string, i) {\n d3_time_monthAbbrevRe.lastIndex = 0;\n var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseMonth(date, string, i) {\n d3_time_monthRe.lastIndex = 0;\n var n = d3_time_monthRe.exec(string.slice(i));\n return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function d3_time_parseLocaleFull(date, string, i) {\n return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n }\n function d3_time_parseLocaleDate(date, string, i) {\n return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n }\n function d3_time_parseLocaleTime(date, string, i) {\n return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n }\n function d3_time_parseAmPm(date, string, i) {\n var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n return n == null ? -1 : (date.p = n, i);\n }\n return d3_time_format;\n }\n var d3_time_formatPads = {\n \"-\": \"\",\n _: \" \",\n \"0\": \"0\"\n }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n function d3_time_formatPad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n }\n function d3_time_formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n }\n function d3_time_formatLookup(names) {\n var map = new d3_Map(), i = -1, n = names.length;\n while (++i < n) map.set(names[i].toLowerCase(), i);\n return map;\n }\n function d3_time_parseWeekdayNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n return n ? (date.w = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberSunday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.U = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseWeekNumberMonday(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i));\n return n ? (date.W = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseFullYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n return n ? (date.y = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n }\n function d3_time_parseZone(date, string, i) {\n return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n i + 5) : -1;\n }\n function d3_time_expandYear(d) {\n return d + (d > 68 ? 1900 : 2e3);\n }\n function d3_time_parseMonthNumber(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n }\n function d3_time_parseDay(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.d = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseDayOfYear(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.j = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseHour24(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.H = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMinutes(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.M = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseSeconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n return n ? (date.S = +n[0], i + n[0].length) : -1;\n }\n function d3_time_parseMilliseconds(date, string, i) {\n d3_time_numberRe.lastIndex = 0;\n var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n return n ? (date.L = +n[0], i + n[0].length) : -1;\n }\n function d3_time_zone(d) {\n var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n }\n function d3_time_parseLiteralPercent(date, string, i) {\n d3_time_percentRe.lastIndex = 0;\n var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n }\n function d3_time_formatMulti(formats) {\n var n = formats.length, i = -1;\n while (++i < n) formats[i][0] = this(formats[i][0]);\n return function(date) {\n var i = 0, f = formats[i];\n while (!f[1](date)) f = formats[++i];\n return f[0](date);\n };\n }\n d3.locale = function(locale) {\n return {\n numberFormat: d3_locale_numberFormat(locale),\n timeFormat: d3_locale_timeFormat(locale)\n };\n };\n var d3_locale_enUS = d3.locale({\n decimal: \".\",\n thousands: \",\",\n grouping: [ 3 ],\n currency: [ \"$\", \"\" ],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%m/%d/%Y\",\n time: \"%H:%M:%S\",\n periods: [ \"AM\", \"PM\" ],\n days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n });\n d3.format = d3_locale_enUS.numberFormat;\n d3.geo = {};\n function d3_adder() {}\n d3_adder.prototype = {\n s: 0,\n t: 0,\n add: function(y) {\n d3_adderSum(y, this.t, d3_adderTemp);\n d3_adderSum(d3_adderTemp.s, this.s, this);\n if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n },\n reset: function() {\n this.s = this.t = 0;\n },\n valueOf: function() {\n return this.s;\n }\n };\n var d3_adderTemp = new d3_adder();\n function d3_adderSum(a, b, o) {\n var x = o.s = a + b, bv = x - a, av = x - bv;\n o.t = a - av + (b - bv);\n }\n d3.geo.stream = function(object, listener) {\n if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n d3_geo_streamObjectType[object.type](object, listener);\n } else {\n d3_geo_streamGeometry(object, listener);\n }\n };\n function d3_geo_streamGeometry(geometry, listener) {\n if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n d3_geo_streamGeometryType[geometry.type](geometry, listener);\n }\n }\n var d3_geo_streamObjectType = {\n Feature: function(feature, listener) {\n d3_geo_streamGeometry(feature.geometry, listener);\n },\n FeatureCollection: function(object, listener) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n }\n };\n var d3_geo_streamGeometryType = {\n Sphere: function(object, listener) {\n listener.sphere();\n },\n Point: function(object, listener) {\n object = object.coordinates;\n listener.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n },\n LineString: function(object, listener) {\n d3_geo_streamLine(object.coordinates, listener, 0);\n },\n MultiLineString: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n },\n Polygon: function(object, listener) {\n d3_geo_streamPolygon(object.coordinates, listener);\n },\n MultiPolygon: function(object, listener) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n },\n GeometryCollection: function(object, listener) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n }\n };\n function d3_geo_streamLine(coordinates, listener, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n listener.lineStart();\n while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n listener.lineEnd();\n }\n function d3_geo_streamPolygon(coordinates, listener) {\n var i = -1, n = coordinates.length;\n listener.polygonStart();\n while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n listener.polygonEnd();\n }\n d3.geo.area = function(object) {\n d3_geo_areaSum = 0;\n d3.geo.stream(object, d3_geo_area);\n return d3_geo_areaSum;\n };\n var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n var d3_geo_area = {\n sphere: function() {\n d3_geo_areaSum += 4 * π;\n },\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_areaRingSum.reset();\n d3_geo_area.lineStart = d3_geo_areaRingStart;\n },\n polygonEnd: function() {\n var area = 2 * d3_geo_areaRingSum;\n d3_geo_areaSum += area < 0 ? 4 * π + area : area;\n d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n }\n };\n function d3_geo_areaRingStart() {\n var λ00, φ00, λ0, cosφ0, sinφ0;\n d3_geo_area.point = function(λ, φ) {\n d3_geo_area.point = nextPoint;\n λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), \n sinφ0 = Math.sin(φ);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n φ = φ * d3_radians / 2 + π / 4;\n var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ);\n d3_geo_areaRingSum.add(Math.atan2(v, u));\n λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;\n }\n d3_geo_area.lineEnd = function() {\n nextPoint(λ00, φ00);\n };\n }\n function d3_geo_cartesian(spherical) {\n var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);\n return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];\n }\n function d3_geo_cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n }\n function d3_geo_cartesianCross(a, b) {\n return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n }\n function d3_geo_cartesianAdd(a, b) {\n a[0] += b[0];\n a[1] += b[1];\n a[2] += b[2];\n }\n function d3_geo_cartesianScale(vector, k) {\n return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n }\n function d3_geo_cartesianNormalize(d) {\n var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l;\n d[1] /= l;\n d[2] /= l;\n }\n function d3_geo_spherical(cartesian) {\n return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n }\n function d3_geo_sphericalEqual(a, b) {\n return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;\n }\n d3.geo.bounds = function() {\n var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;\n var bound = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n bound.point = ringPoint;\n bound.lineStart = ringStart;\n bound.lineEnd = ringEnd;\n dλSum = 0;\n d3_geo_area.polygonStart();\n },\n polygonEnd: function() {\n d3_geo_area.polygonEnd();\n bound.point = point;\n bound.lineStart = lineStart;\n bound.lineEnd = lineEnd;\n if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;\n range[0] = λ0, range[1] = λ1;\n }\n };\n function point(λ, φ) {\n ranges.push(range = [ λ0 = λ, λ1 = λ ]);\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n function linePoint(λ, φ) {\n var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);\n if (p0) {\n var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n d3_geo_cartesianNormalize(inflection);\n inflection = d3_geo_spherical(inflection);\n var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180;\n if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = inflection[1] * d3_degrees;\n if (φi > φ1) φ1 = φi;\n } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n var φi = -inflection[1] * d3_degrees;\n if (φi < φ0) φ0 = φi;\n } else {\n if (φ < φ0) φ0 = φ;\n if (φ > φ1) φ1 = φ;\n }\n if (antimeridian) {\n if (λ < λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n } else {\n if (λ1 >= λ0) {\n if (λ < λ0) λ0 = λ;\n if (λ > λ1) λ1 = λ;\n } else {\n if (λ > λ_) {\n if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n } else {\n if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n }\n }\n }\n } else {\n point(λ, φ);\n }\n p0 = p, λ_ = λ;\n }\n function lineStart() {\n bound.point = linePoint;\n }\n function lineEnd() {\n range[0] = λ0, range[1] = λ1;\n bound.point = point;\n p0 = null;\n }\n function ringPoint(λ, φ) {\n if (p0) {\n var dλ = λ - λ_;\n dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;\n } else λ__ = λ, φ__ = φ;\n d3_geo_area.point(λ, φ);\n linePoint(λ, φ);\n }\n function ringStart() {\n d3_geo_area.lineStart();\n }\n function ringEnd() {\n ringPoint(λ__, φ__);\n d3_geo_area.lineEnd();\n if (abs(dλSum) > ε) λ0 = -(λ1 = 180);\n range[0] = λ0, range[1] = λ1;\n p0 = null;\n }\n function angle(λ0, λ1) {\n return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;\n }\n function compareRanges(a, b) {\n return a[0] - b[0];\n }\n function withinRange(x, range) {\n return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n }\n return function(feature) {\n φ1 = λ1 = -(λ0 = φ0 = Infinity);\n ranges = [];\n d3.geo.stream(feature, bound);\n var n = ranges.length;\n if (n) {\n ranges.sort(compareRanges);\n for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n b = ranges[i];\n if (withinRange(b[0], a) || withinRange(b[1], a)) {\n if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n } else {\n merged.push(a = b);\n }\n }\n var best = -Infinity, dλ;\n for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n b = merged[i];\n if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];\n }\n }\n ranges = range = null;\n return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];\n };\n }();\n d3.geo.centroid = function(object) {\n d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, d3_geo_centroid);\n var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n if (m < ε2) {\n x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n m = x * x + y * y + z * z;\n if (m < ε2) return [ NaN, NaN ];\n }\n return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n };\n var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n var d3_geo_centroid = {\n sphere: d3_noop,\n point: d3_geo_centroidPoint,\n lineStart: d3_geo_centroidLineStart,\n lineEnd: d3_geo_centroidLineEnd,\n polygonStart: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n }\n };\n function d3_geo_centroidPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));\n }\n function d3_geo_centroidPointXYZ(x, y, z) {\n ++d3_geo_centroidW0;\n d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n }\n function d3_geo_centroidLineStart() {\n var x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroid.point = nextPoint;\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_centroidLineEnd() {\n d3_geo_centroid.point = d3_geo_centroidPoint;\n }\n function d3_geo_centroidRingStart() {\n var λ00, φ00, x0, y0, z0;\n d3_geo_centroid.point = function(λ, φ) {\n λ00 = λ, φ00 = φ;\n d3_geo_centroid.point = nextPoint;\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians);\n x0 = cosφ * Math.cos(λ);\n y0 = cosφ * Math.sin(λ);\n z0 = Math.sin(φ);\n d3_geo_centroidPointXYZ(x0, y0, z0);\n };\n d3_geo_centroid.lineEnd = function() {\n nextPoint(λ00, φ00);\n d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n d3_geo_centroid.point = d3_geo_centroidPoint;\n };\n function nextPoint(λ, φ) {\n λ *= d3_radians;\n var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n d3_geo_centroidX2 += v * cx;\n d3_geo_centroidY2 += v * cy;\n d3_geo_centroidZ2 += v * cz;\n d3_geo_centroidW1 += w;\n d3_geo_centroidX1 += w * (x0 + (x0 = x));\n d3_geo_centroidY1 += w * (y0 + (y0 = y));\n d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n d3_geo_centroidPointXYZ(x0, y0, z0);\n }\n }\n function d3_geo_compose(a, b) {\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n return compose;\n }\n function d3_true() {\n return true;\n }\n function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n var subject = [], clip = [];\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n];\n if (d3_geo_sphericalEqual(p0, p1)) {\n listener.lineStart();\n for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n listener.lineEnd();\n return;\n }\n var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n a.o = b;\n subject.push(a);\n clip.push(b);\n a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n a.o = b;\n subject.push(a);\n clip.push(b);\n });\n clip.sort(compare);\n d3_geo_clipPolygonLinkCircular(subject);\n d3_geo_clipPolygonLinkCircular(clip);\n if (!subject.length) return;\n for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n clip[i].e = entry = !entry;\n }\n var start = subject[0], points, point;\n while (1) {\n var current = start, isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n listener.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, listener);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, listener);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n listener.lineEnd();\n }\n }\n function d3_geo_clipPolygonLinkCircular(array) {\n if (!(n = array.length)) return;\n var n, i = 0, a = array[0], b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n }\n function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other;\n this.e = entry;\n this.v = false;\n this.n = this.p = null;\n }\n function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n return function(rotate, listener) {\n var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = d3.merge(segments);\n var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n if (segments.length) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n } else if (clipStartInside) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n listener.polygonStart();\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n listener.polygonEnd();\n }\n };\n function point(λ, φ) {\n var point = rotate(λ, φ);\n if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);\n }\n function pointLine(λ, φ) {\n var point = rotate(λ, φ);\n line.point(point[0], point[1]);\n }\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n var segments;\n var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n function pointRing(λ, φ) {\n ring.push([ λ, φ ]);\n var point = rotate(λ, φ);\n ringListener.point(point[0], point[1]);\n }\n function ringStart() {\n ringListener.lineStart();\n ring = [];\n }\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringListener.lineEnd();\n var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return;\n if (clean & 1) {\n segment = ringSegments[0];\n var n = segment.length - 1, i = -1, point;\n if (n > 0) {\n if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n listener.lineStart();\n while (++i < n) listener.point((point = segment[i])[0], point[1]);\n listener.lineEnd();\n }\n return;\n }\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n }\n return clip;\n };\n }\n function d3_geo_clipSegmentLength1(segment) {\n return segment.length > 1;\n }\n function d3_geo_clipBufferListener() {\n var lines = [], line;\n return {\n lineStart: function() {\n lines.push(line = []);\n },\n point: function(λ, φ) {\n line.push([ λ, φ ]);\n },\n lineEnd: d3_noop,\n buffer: function() {\n var buffer = lines;\n lines = [];\n line = null;\n return buffer;\n },\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n }\n };\n }\n function d3_geo_clipSort(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);\n }\n var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]);\n function d3_geo_clipAntimeridianLine(listener) {\n var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;\n return {\n lineStart: function() {\n listener.lineStart();\n clean = 1;\n },\n point: function(λ1, φ1) {\n var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);\n if (abs(dλ - π) < ε) {\n listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n listener.point(λ1, φ0);\n clean = 0;\n } else if (sλ0 !== sλ1 && dλ >= π) {\n if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;\n if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;\n φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);\n listener.point(sλ0, φ0);\n listener.lineEnd();\n listener.lineStart();\n listener.point(sλ1, φ0);\n clean = 0;\n }\n listener.point(λ0 = λ1, φ0 = φ1);\n sλ0 = sλ1;\n },\n lineEnd: function() {\n listener.lineEnd();\n λ0 = φ0 = NaN;\n },\n clean: function() {\n return 2 - clean;\n }\n };\n }\n function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {\n var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);\n return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;\n }\n function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n var φ;\n if (from == null) {\n φ = direction * halfπ;\n listener.point(-π, φ);\n listener.point(0, φ);\n listener.point(π, φ);\n listener.point(π, 0);\n listener.point(π, -φ);\n listener.point(0, -φ);\n listener.point(-π, -φ);\n listener.point(-π, 0);\n listener.point(-π, φ);\n } else if (abs(from[0] - to[0]) > ε) {\n var s = from[0] < to[0] ? π : -π;\n φ = direction * s / 2;\n listener.point(-s, φ);\n listener.point(0, φ);\n listener.point(s, φ);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function d3_geo_pointInPolygon(point, polygon) {\n var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n d3_geo_areaRingSum.reset();\n for (var i = 0, n = polygon.length; i < n; ++i) {\n var ring = polygon[i], m = ring.length;\n if (!m) continue;\n var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;\n while (true) {\n if (j === m) j = 0;\n point = ring[j];\n var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ;\n d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));\n polarAngle += antimeridian ? dλ + sdλ * τ : dλ;\n if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {\n var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n d3_geo_cartesianNormalize(arc);\n var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n d3_geo_cartesianNormalize(intersection);\n var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {\n winding += antimeridian ^ dλ >= 0 ? 1 : -1;\n }\n }\n if (!j++) break;\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;\n }\n }\n return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < -ε) ^ winding & 1;\n }\n function d3_geo_clipCircle(radius) {\n var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);\n function visible(λ, φ) {\n return Math.cos(λ) * Math.cos(φ) > cr;\n }\n function clipLine(listener) {\n var point0, c0, v0, v00, clean;\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(λ, φ) {\n var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;\n if (!point0 && (v00 = v0 = v)) listener.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n point1[0] += ε;\n point1[1] += ε;\n v = visible(point1[0], point1[1]);\n }\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n listener.lineStart();\n point2 = intersect(point1, point0);\n listener.point(point2[0], point2[1]);\n } else {\n point2 = intersect(point0, point1);\n listener.point(point2[0], point2[1]);\n listener.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n } else {\n listener.point(t[1][0], t[1][1]);\n listener.lineEnd();\n listener.lineStart();\n listener.point(t[0][0], t[0][1]);\n }\n }\n }\n if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n listener.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) listener.lineEnd();\n point0 = null;\n },\n clean: function() {\n return clean | (v00 && v0) << 1;\n }\n };\n }\n function intersect(a, b, two) {\n var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n if (!determinant) return !two && a;\n var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n d3_geo_cartesianAdd(A, B);\n var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n d3_geo_cartesianAdd(q, A);\n q = d3_geo_spherical(q);\n if (!two) return q;\n var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;\n if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;\n var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;\n if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;\n if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {\n var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n d3_geo_cartesianAdd(q1, A);\n return [ q, d3_geo_spherical(q1) ];\n }\n }\n function code(λ, φ) {\n var r = smallRadius ? radius : π - radius, code = 0;\n if (λ < -r) code |= 1; else if (λ > r) code |= 2;\n if (φ < -r) code |= 4; else if (φ > r) code |= 8;\n return code;\n }\n }\n function d3_geom_clipLine(x0, y0, x1, y1) {\n return function(line) {\n var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n if (t0 > 0) line.a = {\n x: ax + t0 * dx,\n y: ay + t0 * dy\n };\n if (t1 < 1) line.b = {\n x: ax + t1 * dx,\n y: ay + t1 * dy\n };\n return line;\n };\n }\n var d3_geo_clipExtentMAX = 1e9;\n d3.geo.clipExtent = function() {\n var x0, y0, x1, y1, stream, clip, clipExtent = {\n stream: function(output) {\n if (stream) stream.valid = false;\n stream = clip(output);\n stream.valid = true;\n return stream;\n },\n extent: function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n if (stream) stream.valid = false, stream = null;\n return clipExtent;\n }\n };\n return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n };\n function d3_geo_clipExtent(x0, y0, x1, y1) {\n return function(listener) {\n var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n listener = bufferListener;\n segments = [];\n polygon = [];\n clean = true;\n },\n polygonEnd: function() {\n listener = listener_;\n segments = d3.merge(segments);\n var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n if (inside || visible) {\n listener.polygonStart();\n if (inside) {\n listener.lineStart();\n interpolate(null, null, 1, listener);\n listener.lineEnd();\n }\n if (visible) {\n d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n }\n listener.polygonEnd();\n }\n segments = polygon = ring = null;\n }\n };\n function insidePolygon(p) {\n var wn = 0, n = polygon.length, y = p[1];\n for (var i = 0; i < n; ++i) {\n for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n b = v[j];\n if (a[1] <= y) {\n if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n } else {\n if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n }\n a = b;\n }\n }\n return wn !== 0;\n }\n function interpolate(from, to, direction, listener) {\n var a = 0, a1 = 0;\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n do {\n listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n } while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n listener.point(to[0], to[1]);\n }\n }\n function pointVisible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n function point(x, y) {\n if (pointVisible(x, y)) listener.point(x, y);\n }\n var x__, y__, v__, x_, y_, v_, first, clean;\n function lineStart() {\n clip.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferListener.rejoin();\n segments.push(bufferListener.buffer());\n }\n clip.point = point;\n if (v_) listener.lineEnd();\n }\n function linePoint(x, y) {\n x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n var v = pointVisible(x, y);\n if (polygon) ring.push([ x, y ]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n listener.lineStart();\n listener.point(x, y);\n }\n } else {\n if (v && v_) listener.point(x, y); else {\n var l = {\n a: {\n x: x_,\n y: y_\n },\n b: {\n x: x,\n y: y\n }\n };\n if (clipLine(l)) {\n if (!v_) {\n listener.lineStart();\n listener.point(l.a.x, l.a.y);\n }\n listener.point(l.b.x, l.b.y);\n if (!v) listener.lineEnd();\n clean = false;\n } else if (v) {\n listener.lineStart();\n listener.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n return clip;\n };\n function corner(p, direction) {\n return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n }\n function compare(a, b) {\n return comparePoints(a.x, b.x);\n }\n function comparePoints(a, b) {\n var ca = corner(a, 1), cb = corner(b, 1);\n return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n }\n }\n function d3_geo_conic(projectAt) {\n var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);\n p.parallels = function(_) {\n if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];\n return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);\n };\n return p;\n }\n function d3_geo_conicEqualArea(φ0, φ1) {\n var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;\n function forward(λ, φ) {\n var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;\n return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = ρ0 - y;\n return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];\n };\n return forward;\n }\n (d3.geo.conicEqualArea = function() {\n return d3_geo_conic(d3_geo_conicEqualArea);\n }).raw = d3_geo_conicEqualArea;\n d3.geo.albers = function() {\n return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n };\n d3.geo.albersUsa = function() {\n var lower48 = d3.geo.albers();\n var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n var point, pointStream = {\n point: function(x, y) {\n point = [ x, y ];\n }\n }, lower48Point, alaskaPoint, hawaiiPoint;\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n point = null;\n (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n return point;\n }\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n };\n albersUsa.stream = function(stream) {\n var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n return {\n point: function(x, y) {\n lower48Stream.point(x, y);\n alaskaStream.point(x, y);\n hawaiiStream.point(x, y);\n },\n sphere: function() {\n lower48Stream.sphere();\n alaskaStream.sphere();\n hawaiiStream.sphere();\n },\n lineStart: function() {\n lower48Stream.lineStart();\n alaskaStream.lineStart();\n hawaiiStream.lineStart();\n },\n lineEnd: function() {\n lower48Stream.lineEnd();\n alaskaStream.lineEnd();\n hawaiiStream.lineEnd();\n },\n polygonStart: function() {\n lower48Stream.polygonStart();\n alaskaStream.polygonStart();\n hawaiiStream.polygonStart();\n },\n polygonEnd: function() {\n lower48Stream.polygonEnd();\n alaskaStream.polygonEnd();\n hawaiiStream.polygonEnd();\n }\n };\n };\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_);\n alaska.precision(_);\n hawaii.precision(_);\n return albersUsa;\n };\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_);\n alaska.scale(_ * .35);\n hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n return albersUsa;\n };\n return albersUsa.scale(1070);\n };\n var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n point: d3_noop,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: function() {\n d3_geo_pathAreaPolygon = 0;\n d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n }\n };\n function d3_geo_pathAreaRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathArea.point = function(x, y) {\n d3_geo_pathArea.point = nextPoint;\n x00 = x0 = x, y00 = y0 = y;\n };\n function nextPoint(x, y) {\n d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n x0 = x, y0 = y;\n }\n d3_geo_pathArea.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n var d3_geo_pathBounds = {\n point: d3_geo_pathBoundsPoint,\n lineStart: d3_noop,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_pathBoundsPoint(x, y) {\n if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n }\n function d3_geo_pathBuffer() {\n var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointCircle = d3_geo_pathBufferCircle(_);\n return stream;\n },\n result: function() {\n if (buffer.length) {\n var result = buffer.join(\"\");\n buffer = [];\n return result;\n }\n }\n };\n function point(x, y) {\n buffer.push(\"M\", x, \",\", y, pointCircle);\n }\n function pointLineStart(x, y) {\n buffer.push(\"M\", x, \",\", y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n buffer.push(\"L\", x, \",\", y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n buffer.push(\"Z\");\n }\n return stream;\n }\n function d3_geo_pathBufferCircle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n }\n var d3_geo_pathCentroid = {\n point: d3_geo_pathCentroidPoint,\n lineStart: d3_geo_pathCentroidLineStart,\n lineEnd: d3_geo_pathCentroidLineEnd,\n polygonStart: function() {\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n },\n polygonEnd: function() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n }\n };\n function d3_geo_pathCentroidPoint(x, y) {\n d3_geo_centroidX0 += x;\n d3_geo_centroidY0 += y;\n ++d3_geo_centroidZ0;\n }\n function d3_geo_pathCentroidLineStart() {\n var x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n }\n function d3_geo_pathCentroidLineEnd() {\n d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n }\n function d3_geo_pathCentroidRingStart() {\n var x00, y00, x0, y0;\n d3_geo_pathCentroid.point = function(x, y) {\n d3_geo_pathCentroid.point = nextPoint;\n d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n };\n function nextPoint(x, y) {\n var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n d3_geo_centroidX1 += z * (x0 + x) / 2;\n d3_geo_centroidY1 += z * (y0 + y) / 2;\n d3_geo_centroidZ1 += z;\n z = y0 * x - x0 * y;\n d3_geo_centroidX2 += z * (x0 + x);\n d3_geo_centroidY2 += z * (y0 + y);\n d3_geo_centroidZ2 += z * 3;\n d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n }\n d3_geo_pathCentroid.lineEnd = function() {\n nextPoint(x00, y00);\n };\n }\n function d3_geo_pathContext(context) {\n var pointRadius = 4.5;\n var stream = {\n point: point,\n lineStart: function() {\n stream.point = pointLineStart;\n },\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.lineEnd = lineEndPolygon;\n },\n polygonEnd: function() {\n stream.lineEnd = lineEnd;\n stream.point = point;\n },\n pointRadius: function(_) {\n pointRadius = _;\n return stream;\n },\n result: d3_noop\n };\n function point(x, y) {\n context.moveTo(x + pointRadius, y);\n context.arc(x, y, pointRadius, 0, τ);\n }\n function pointLineStart(x, y) {\n context.moveTo(x, y);\n stream.point = pointLine;\n }\n function pointLine(x, y) {\n context.lineTo(x, y);\n }\n function lineEnd() {\n stream.point = point;\n }\n function lineEndPolygon() {\n context.closePath();\n }\n return stream;\n }\n function d3_geo_resample(project) {\n var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n function resample(stream) {\n return (maxDepth ? resampleRecursive : resampleNone)(stream);\n }\n function resampleNone(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n });\n }\n function resampleRecursive(stream) {\n var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;\n var resample = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n stream.polygonStart();\n resample.lineStart = ringStart;\n },\n polygonEnd: function() {\n stream.polygonEnd();\n resample.lineStart = lineStart;\n }\n };\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n function lineStart() {\n x0 = NaN;\n resample.point = linePoint;\n stream.lineStart();\n }\n function linePoint(λ, φ) {\n var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n function lineEnd() {\n resample.point = point;\n stream.lineEnd();\n }\n function ringStart() {\n lineStart();\n resample.point = ringPoint;\n resample.lineEnd = ringEnd;\n }\n function ringPoint(λ, φ) {\n linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resample.point = linePoint;\n }\n function ringEnd() {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);\n resample.lineEnd = lineEnd;\n lineEnd();\n }\n return resample;\n }\n function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n if (d2 > 4 * δ2 && depth--) {\n var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);\n }\n }\n }\n resample.precision = function(_) {\n if (!arguments.length) return Math.sqrt(δ2);\n maxDepth = (δ2 = _ * _) > 0 && 16;\n return resample;\n };\n return resample;\n }\n d3.geo.path = function() {\n var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n d3.geo.stream(object, cacheStream);\n }\n return contextStream.result();\n }\n path.area = function(object) {\n d3_geo_pathAreaSum = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathArea));\n return d3_geo_pathAreaSum;\n };\n path.centroid = function(object) {\n d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n };\n path.bounds = function(object) {\n d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n };\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n return reset();\n };\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return reset();\n };\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n function reset() {\n cacheStream = null;\n return path;\n }\n return path.projection(d3.geo.albersUsa()).context(null);\n };\n function d3_geo_pathProjectStream(project) {\n var resample = d3_geo_resample(function(x, y) {\n return project([ x * d3_degrees, y * d3_degrees ]);\n });\n return function(stream) {\n return d3_geo_projectionRadians(resample(stream));\n };\n }\n d3.geo.transform = function(methods) {\n return {\n stream: function(stream) {\n var transform = new d3_geo_transform(stream);\n for (var k in methods) transform[k] = methods[k];\n return transform;\n }\n };\n };\n function d3_geo_transform(stream) {\n this.stream = stream;\n }\n d3_geo_transform.prototype = {\n point: function(x, y) {\n this.stream.point(x, y);\n },\n sphere: function() {\n this.stream.sphere();\n },\n lineStart: function() {\n this.stream.lineStart();\n },\n lineEnd: function() {\n this.stream.lineEnd();\n },\n polygonStart: function() {\n this.stream.polygonStart();\n },\n polygonEnd: function() {\n this.stream.polygonEnd();\n }\n };\n function d3_geo_transformPoint(stream, point) {\n return {\n point: point,\n sphere: function() {\n stream.sphere();\n },\n lineStart: function() {\n stream.lineStart();\n },\n lineEnd: function() {\n stream.lineEnd();\n },\n polygonStart: function() {\n stream.polygonStart();\n },\n polygonEnd: function() {\n stream.polygonEnd();\n }\n };\n }\n d3.geo.projection = d3_geo_projection;\n d3.geo.projectionMutator = d3_geo_projectionMutator;\n function d3_geo_projection(project) {\n return d3_geo_projectionMutator(function() {\n return project;\n })();\n }\n function d3_geo_projectionMutator(projectAt) {\n var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n x = project(x, y);\n return [ x[0] * k + δx, δy - x[1] * k ];\n }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n function projection(point) {\n point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n return [ point[0] * k + δx, δy - point[1] * k ];\n }\n function invert(point) {\n point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);\n return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n }\n projection.stream = function(output) {\n if (stream) stream.valid = false;\n stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n stream.valid = true;\n return stream;\n };\n projection.clipAngle = function(_) {\n if (!arguments.length) return clipAngle;\n preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n return invalidate();\n };\n projection.clipExtent = function(_) {\n if (!arguments.length) return clipExtent;\n clipExtent = _;\n postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n return invalidate();\n };\n projection.scale = function(_) {\n if (!arguments.length) return k;\n k = +_;\n return reset();\n };\n projection.translate = function(_) {\n if (!arguments.length) return [ x, y ];\n x = +_[0];\n y = +_[1];\n return reset();\n };\n projection.center = function(_) {\n if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];\n λ = _[0] % 360 * d3_radians;\n φ = _[1] % 360 * d3_radians;\n return reset();\n };\n projection.rotate = function(_) {\n if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];\n δλ = _[0] % 360 * d3_radians;\n δφ = _[1] % 360 * d3_radians;\n δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n return reset();\n };\n d3.rebind(projection, projectResample, \"precision\");\n function reset() {\n projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);\n var center = project(λ, φ);\n δx = x - center[0] * k;\n δy = y + center[1] * k;\n return invalidate();\n }\n function invalidate() {\n if (stream) stream.valid = false, stream = null;\n return projection;\n }\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return reset();\n };\n }\n function d3_geo_projectionRadians(stream) {\n return d3_geo_transformPoint(stream, function(x, y) {\n stream.point(x * d3_radians, y * d3_radians);\n });\n }\n function d3_geo_equirectangular(λ, φ) {\n return [ λ, φ ];\n }\n (d3.geo.equirectangular = function() {\n return d3_geo_projection(d3_geo_equirectangular);\n }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n d3.geo.rotation = function(rotate) {\n rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n }\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n };\n return forward;\n };\n function d3_geo_identityRotation(λ, φ) {\n return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n }\n d3_geo_identityRotation.invert = d3_geo_equirectangular;\n function d3_geo_rotation(δλ, δφ, δγ) {\n return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;\n }\n function d3_geo_forwardRotationλ(δλ) {\n return function(λ, φ) {\n return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n };\n }\n function d3_geo_rotationλ(δλ) {\n var rotation = d3_geo_forwardRotationλ(δλ);\n rotation.invert = d3_geo_forwardRotationλ(-δλ);\n return rotation;\n }\n function d3_geo_rotationφγ(δφ, δγ) {\n var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);\n function rotation(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;\n return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];\n }\n rotation.invert = function(λ, φ) {\n var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;\n return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];\n };\n return rotation;\n }\n d3.geo.circle = function() {\n var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n function circle() {\n var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n interpolate(null, null, 1, {\n point: function(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= d3_degrees, x[1] *= d3_degrees;\n }\n });\n return {\n type: \"Polygon\",\n coordinates: [ ring ]\n };\n }\n circle.origin = function(x) {\n if (!arguments.length) return origin;\n origin = x;\n return circle;\n };\n circle.angle = function(x) {\n if (!arguments.length) return angle;\n interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n return circle;\n };\n circle.precision = function(_) {\n if (!arguments.length) return precision;\n interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n return circle;\n };\n return circle.angle(90);\n };\n function d3_geo_circleInterpolate(radius, precision) {\n var cr = Math.cos(radius), sr = Math.sin(radius);\n return function(from, to, direction, listener) {\n var step = direction * precision;\n if (from != null) {\n from = d3_geo_circleAngle(cr, from);\n to = d3_geo_circleAngle(cr, to);\n if (direction > 0 ? from < to : from > to) from += direction * τ;\n } else {\n from = radius + direction * τ;\n to = radius - .5 * step;\n }\n for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n }\n };\n }\n function d3_geo_circleAngle(cr, point) {\n var a = d3_geo_cartesian(point);\n a[0] -= cr;\n d3_geo_cartesianNormalize(a);\n var angle = d3_acos(-a[1]);\n return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);\n }\n d3.geo.distance = function(a, b) {\n var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;\n return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);\n };\n d3.geo.graticule = function() {\n var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n function graticule() {\n return {\n type: \"MultiLineString\",\n coordinates: lines()\n };\n }\n function lines() {\n return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n return abs(x % DX) > ε;\n }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n return abs(y % DY) > ε;\n }).map(y));\n }\n graticule.lines = function() {\n return lines().map(function(coordinates) {\n return {\n type: \"LineString\",\n coordinates: coordinates\n };\n });\n };\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n };\n };\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.minorExtent();\n return graticule.majorExtent(_).minorExtent(_);\n };\n graticule.majorExtent = function(_) {\n if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n graticule.minorExtent = function(_) {\n if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n graticule.step = function(_) {\n if (!arguments.length) return graticule.minorStep();\n return graticule.majorStep(_).minorStep(_);\n };\n graticule.majorStep = function(_) {\n if (!arguments.length) return [ DX, DY ];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n graticule.minorStep = function(_) {\n if (!arguments.length) return [ dx, dy ];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = d3_geo_graticuleX(y0, y1, 90);\n y = d3_geo_graticuleY(x0, x1, precision);\n X = d3_geo_graticuleX(Y0, Y1, 90);\n Y = d3_geo_graticuleY(X0, X1, precision);\n return graticule;\n };\n return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);\n };\n function d3_geo_graticuleX(y0, y1, dy) {\n var y = d3.range(y0, y1 - ε, dy).concat(y1);\n return function(x) {\n return y.map(function(y) {\n return [ x, y ];\n });\n };\n }\n function d3_geo_graticuleY(x0, x1, dx) {\n var x = d3.range(x0, x1 - ε, dx).concat(x1);\n return function(y) {\n return x.map(function(x) {\n return [ x, y ];\n });\n };\n }\n function d3_source(d) {\n return d.source;\n }\n function d3_target(d) {\n return d.target;\n }\n d3.geo.greatArc = function() {\n var source = d3_source, source_, target = d3_target, target_;\n function greatArc() {\n return {\n type: \"LineString\",\n coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n };\n }\n greatArc.distance = function() {\n return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n };\n greatArc.source = function(_) {\n if (!arguments.length) return source;\n source = _, source_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.target = function(_) {\n if (!arguments.length) return target;\n target = _, target_ = typeof _ === \"function\" ? null : _;\n return greatArc;\n };\n greatArc.precision = function() {\n return arguments.length ? greatArc : 0;\n };\n return greatArc;\n };\n d3.geo.interpolate = function(source, target) {\n return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n };\n function d3_geo_interpolate(x0, y0, x1, y1) {\n var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n var interpolate = d ? function(t) {\n var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n } : function() {\n return [ x0 * d3_degrees, y0 * d3_degrees ];\n };\n interpolate.distance = d;\n return interpolate;\n }\n d3.geo.length = function(object) {\n d3_geo_lengthSum = 0;\n d3.geo.stream(object, d3_geo_length);\n return d3_geo_lengthSum;\n };\n var d3_geo_lengthSum;\n var d3_geo_length = {\n sphere: d3_noop,\n point: d3_noop,\n lineStart: d3_geo_lengthLineStart,\n lineEnd: d3_noop,\n polygonStart: d3_noop,\n polygonEnd: d3_noop\n };\n function d3_geo_lengthLineStart() {\n var λ0, sinφ0, cosφ0;\n d3_geo_length.point = function(λ, φ) {\n λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);\n d3_geo_length.point = nextPoint;\n };\n d3_geo_length.lineEnd = function() {\n d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n };\n function nextPoint(λ, φ) {\n var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);\n d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);\n λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;\n }\n }\n function d3_geo_azimuthal(scale, angle) {\n function azimuthal(λ, φ) {\n var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);\n return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];\n }\n azimuthal.invert = function(x, y) {\n var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);\n return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];\n };\n return azimuthal;\n }\n var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {\n return Math.sqrt(2 / (1 + cosλcosφ));\n }, function(ρ) {\n return 2 * Math.asin(ρ / 2);\n });\n (d3.geo.azimuthalEqualArea = function() {\n return d3_geo_projection(d3_geo_azimuthalEqualArea);\n }).raw = d3_geo_azimuthalEqualArea;\n var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {\n var c = Math.acos(cosλcosφ);\n return c && c / Math.sin(c);\n }, d3_identity);\n (d3.geo.azimuthalEquidistant = function() {\n return d3_geo_projection(d3_geo_azimuthalEquidistant);\n }).raw = d3_geo_azimuthalEquidistant;\n function d3_geo_conicConformal(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), t = function(φ) {\n return Math.tan(π / 4 + φ / 2);\n }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;\n if (!n) return d3_geo_mercator;\n function forward(λ, φ) {\n if (F > 0) {\n if (φ < -halfπ + ε) φ = -halfπ + ε;\n } else {\n if (φ > halfπ - ε) φ = halfπ - ε;\n }\n var ρ = F / Math.pow(t(φ), n);\n return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);\n return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];\n };\n return forward;\n }\n (d3.geo.conicConformal = function() {\n return d3_geo_conic(d3_geo_conicConformal);\n }).raw = d3_geo_conicConformal;\n function d3_geo_conicEquidistant(φ0, φ1) {\n var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;\n if (abs(n) < ε) return d3_geo_equirectangular;\n function forward(λ, φ) {\n var ρ = G - φ;\n return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];\n }\n forward.invert = function(x, y) {\n var ρ0_y = G - y;\n return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];\n };\n return forward;\n }\n (d3.geo.conicEquidistant = function() {\n return d3_geo_conic(d3_geo_conicEquidistant);\n }).raw = d3_geo_conicEquidistant;\n var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / cosλcosφ;\n }, Math.atan);\n (d3.geo.gnomonic = function() {\n return d3_geo_projection(d3_geo_gnomonic);\n }).raw = d3_geo_gnomonic;\n function d3_geo_mercator(λ, φ) {\n return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];\n }\n d3_geo_mercator.invert = function(x, y) {\n return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ];\n };\n function d3_geo_mercatorProjection(project) {\n var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n m.scale = function() {\n var v = scale.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.translate = function() {\n var v = translate.apply(m, arguments);\n return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n };\n m.clipExtent = function(_) {\n var v = clipExtent.apply(m, arguments);\n if (v === m) {\n if (clipAuto = _ == null) {\n var k = π * scale(), t = translate();\n clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n }\n } else if (clipAuto) {\n v = null;\n }\n return v;\n };\n return m.clipExtent(null);\n }\n (d3.geo.mercator = function() {\n return d3_geo_mercatorProjection(d3_geo_mercator);\n }).raw = d3_geo_mercator;\n var d3_geo_orthographic = d3_geo_azimuthal(function() {\n return 1;\n }, Math.asin);\n (d3.geo.orthographic = function() {\n return d3_geo_projection(d3_geo_orthographic);\n }).raw = d3_geo_orthographic;\n var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {\n return 1 / (1 + cosλcosφ);\n }, function(ρ) {\n return 2 * Math.atan(ρ);\n });\n (d3.geo.stereographic = function() {\n return d3_geo_projection(d3_geo_stereographic);\n }).raw = d3_geo_stereographic;\n function d3_geo_transverseMercator(λ, φ) {\n return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];\n }\n d3_geo_transverseMercator.invert = function(x, y) {\n return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];\n };\n (d3.geo.transverseMercator = function() {\n var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n projection.center = function(_) {\n return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n };\n projection.rotate = function(_) {\n return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n [ _[0], _[1], _[2] - 90 ]);\n };\n return rotate([ 0, 0, 90 ]);\n }).raw = d3_geo_transverseMercator;\n d3.geom = {};\n function d3_geom_pointX(d) {\n return d[0];\n }\n function d3_geom_pointY(d) {\n return d[1];\n }\n d3.geom.hull = function(vertices) {\n var x = d3_geom_pointX, y = d3_geom_pointY;\n if (arguments.length) return hull(vertices);\n function hull(data) {\n if (data.length < 3) return [];\n var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n for (i = 0; i < n; i++) {\n points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n }\n points.sort(d3_geom_hullOrder);\n for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n return polygon;\n }\n hull.x = function(_) {\n return arguments.length ? (x = _, hull) : x;\n };\n hull.y = function(_) {\n return arguments.length ? (y = _, hull) : y;\n };\n return hull;\n };\n function d3_geom_hullUpper(points) {\n var n = points.length, hull = [ 0, 1 ], hs = 2;\n for (var i = 2; i < n; i++) {\n while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n hull[hs++] = i;\n }\n return hull.slice(0, hs);\n }\n function d3_geom_hullOrder(a, b) {\n return a[0] - b[0] || a[1] - b[1];\n }\n d3.geom.polygon = function(coordinates) {\n d3_subclass(coordinates, d3_geom_polygonPrototype);\n return coordinates;\n };\n var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n d3_geom_polygonPrototype.area = function() {\n var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n while (++i < n) {\n a = b;\n b = this[i];\n area += a[1] * b[0] - a[0] * b[1];\n }\n return area * .5;\n };\n d3_geom_polygonPrototype.centroid = function(k) {\n var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n if (!arguments.length) k = -1 / (6 * this.area());\n while (++i < n) {\n a = b;\n b = this[i];\n c = a[0] * b[1] - b[0] * a[1];\n x += (a[0] + b[0]) * c;\n y += (a[1] + b[1]) * c;\n }\n return [ x * k, y * k ];\n };\n d3_geom_polygonPrototype.clip = function(subject) {\n var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n while (++i < n) {\n input = subject.slice();\n subject.length = 0;\n b = this[i];\n c = input[(m = input.length - closed) - 1];\n j = -1;\n while (++j < m) {\n d = input[j];\n if (d3_geom_polygonInside(d, a, b)) {\n if (!d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n subject.push(d);\n } else if (d3_geom_polygonInside(c, a, b)) {\n subject.push(d3_geom_polygonIntersect(c, d, a, b));\n }\n c = d;\n }\n if (closed) subject.push(subject[0]);\n a = b;\n }\n return subject;\n };\n function d3_geom_polygonInside(p, a, b) {\n return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n }\n function d3_geom_polygonIntersect(c, d, a, b) {\n var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n return [ x1 + ua * x21, y1 + ua * y21 ];\n }\n function d3_geom_polygonClosed(coordinates) {\n var a = coordinates[0], b = coordinates[coordinates.length - 1];\n return !(a[0] - b[0] || a[1] - b[1]);\n }\n var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n function d3_geom_voronoiBeach() {\n d3_geom_voronoiRedBlackNode(this);\n this.edge = this.site = this.circle = null;\n }\n function d3_geom_voronoiCreateBeach(site) {\n var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n beach.site = site;\n return beach;\n }\n function d3_geom_voronoiDetachBeach(beach) {\n d3_geom_voronoiDetachCircle(beach);\n d3_geom_voronoiBeaches.remove(beach);\n d3_geom_voronoiBeachPool.push(beach);\n d3_geom_voronoiRedBlackNode(beach);\n }\n function d3_geom_voronoiRemoveBeach(beach) {\n var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n x: x,\n y: y\n }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n d3_geom_voronoiDetachBeach(beach);\n var lArc = previous;\n while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachBeach(lArc);\n lArc = previous;\n }\n disappearing.unshift(lArc);\n d3_geom_voronoiDetachCircle(lArc);\n var rArc = next;\n while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {\n next = rArc.N;\n disappearing.push(rArc);\n d3_geom_voronoiDetachBeach(rArc);\n rArc = next;\n }\n disappearing.push(rArc);\n d3_geom_voronoiDetachCircle(rArc);\n var nArcs = disappearing.length, iArc;\n for (iArc = 1; iArc < nArcs; ++iArc) {\n rArc = disappearing[iArc];\n lArc = disappearing[iArc - 1];\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n }\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiAddBeach(site) {\n var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n while (node) {\n dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n if (dxl > ε) node = node.L; else {\n dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n if (dxr > ε) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -ε) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -ε) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n var newArc = d3_geom_voronoiCreateBeach(site);\n d3_geom_voronoiBeaches.insert(lArc, newArc);\n if (!lArc && !rArc) return;\n if (lArc === rArc) {\n d3_geom_voronoiDetachCircle(lArc);\n rArc = d3_geom_voronoiCreateBeach(lArc.site);\n d3_geom_voronoiBeaches.insert(newArc, rArc);\n newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n return;\n }\n if (!rArc) {\n newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n return;\n }\n d3_geom_voronoiDetachCircle(lArc);\n d3_geom_voronoiDetachCircle(rArc);\n var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n x: (cy * hb - by * hc) / d + ax,\n y: (bx * hc - cx * hb) / d + ay\n };\n d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n d3_geom_voronoiAttachCircle(lArc);\n d3_geom_voronoiAttachCircle(rArc);\n }\n function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n if (!pby2) return rfocx;\n var lArc = arc.P;\n if (!lArc) return -Infinity;\n site = lArc.site;\n var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n if (!plby2) return lfocx;\n var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n return (rfocx + lfocx) / 2;\n }\n function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n var rArc = arc.N;\n if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n var site = arc.site;\n return site.y === directrix ? site.x : Infinity;\n }\n function d3_geom_voronoiCell(site) {\n this.site = site;\n this.edges = [];\n }\n d3_geom_voronoiCell.prototype.prepare = function() {\n var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n while (iHalfEdge--) {\n edge = halfEdges[iHalfEdge].edge;\n if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n }\n halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n return halfEdges.length;\n };\n function d3_geom_voronoiCloseCells(extent) {\n var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n while (iCell--) {\n cell = cells[iCell];\n if (!cell || !cell.prepare()) continue;\n halfEdges = cell.edges;\n nHalfEdges = halfEdges.length;\n iHalfEdge = 0;\n while (iHalfEdge < nHalfEdges) {\n end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {\n halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {\n x: x0,\n y: abs(x2 - x0) < ε ? y2 : y1\n } : abs(y3 - y1) < ε && x1 - x3 > ε ? {\n x: abs(y2 - y1) < ε ? x2 : x1,\n y: y1\n } : abs(x3 - x1) < ε && y3 - y0 > ε ? {\n x: x1,\n y: abs(x2 - x1) < ε ? y2 : y0\n } : abs(y3 - y0) < ε && x3 - x0 > ε ? {\n x: abs(y2 - y0) < ε ? x2 : x0,\n y: y0\n } : null), cell.site, null));\n ++nHalfEdges;\n }\n }\n }\n }\n function d3_geom_voronoiHalfEdgeOrder(a, b) {\n return b.angle - a.angle;\n }\n function d3_geom_voronoiCircle() {\n d3_geom_voronoiRedBlackNode(this);\n this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function d3_geom_voronoiAttachCircle(arc) {\n var lArc = arc.P, rArc = arc.N;\n if (!lArc || !rArc) return;\n var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n if (lSite === rSite) return;\n var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n var d = 2 * (ax * cy - ay * cx);\n if (d >= -ε2) return;\n var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n circle.arc = arc;\n circle.site = cSite;\n circle.x = x + bx;\n circle.y = cy + Math.sqrt(x * x + y * y);\n circle.cy = cy;\n arc.circle = circle;\n var before = null, node = d3_geom_voronoiCircles._;\n while (node) {\n if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n if (node.L) node = node.L; else {\n before = node.P;\n break;\n }\n } else {\n if (node.R) node = node.R; else {\n before = node;\n break;\n }\n }\n }\n d3_geom_voronoiCircles.insert(before, circle);\n if (!before) d3_geom_voronoiFirstCircle = circle;\n }\n function d3_geom_voronoiDetachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n d3_geom_voronoiCircles.remove(circle);\n d3_geom_voronoiCirclePool.push(circle);\n d3_geom_voronoiRedBlackNode(circle);\n arc.circle = null;\n }\n }\n function d3_geom_voronoiClipEdges(extent) {\n var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n while (i--) {\n e = edges[i];\n if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {\n e.a = e.b = null;\n edges.splice(i, 1);\n }\n }\n }\n function d3_geom_voronoiConnectEdge(edge, extent) {\n var vb = edge.b;\n if (vb) return true;\n var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n if (ry === ly) {\n if (fx < x0 || fx >= x1) return;\n if (lx > rx) {\n if (!va) va = {\n x: fx,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: fx,\n y: y1\n };\n } else {\n if (!va) va = {\n x: fx,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: fx,\n y: y0\n };\n }\n } else {\n fm = (lx - rx) / (ry - ly);\n fb = fy - fm * fx;\n if (fm < -1 || fm > 1) {\n if (lx > rx) {\n if (!va) va = {\n x: (y0 - fb) / fm,\n y: y0\n }; else if (va.y >= y1) return;\n vb = {\n x: (y1 - fb) / fm,\n y: y1\n };\n } else {\n if (!va) va = {\n x: (y1 - fb) / fm,\n y: y1\n }; else if (va.y < y0) return;\n vb = {\n x: (y0 - fb) / fm,\n y: y0\n };\n }\n } else {\n if (ly < ry) {\n if (!va) va = {\n x: x0,\n y: fm * x0 + fb\n }; else if (va.x >= x1) return;\n vb = {\n x: x1,\n y: fm * x1 + fb\n };\n } else {\n if (!va) va = {\n x: x1,\n y: fm * x1 + fb\n }; else if (va.x < x0) return;\n vb = {\n x: x0,\n y: fm * x0 + fb\n };\n }\n }\n }\n edge.a = va;\n edge.b = vb;\n return true;\n }\n function d3_geom_voronoiEdge(lSite, rSite) {\n this.l = lSite;\n this.r = rSite;\n this.a = this.b = null;\n }\n function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, rSite);\n d3_geom_voronoiEdges.push(edge);\n if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n return edge;\n }\n function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n var edge = new d3_geom_voronoiEdge(lSite, null);\n edge.a = va;\n edge.b = vb;\n d3_geom_voronoiEdges.push(edge);\n return edge;\n }\n function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n if (!edge.a && !edge.b) {\n edge.a = vertex;\n edge.l = lSite;\n edge.r = rSite;\n } else if (edge.l === rSite) {\n edge.b = vertex;\n } else {\n edge.a = vertex;\n }\n }\n function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n var va = edge.a, vb = edge.b;\n this.edge = edge;\n this.site = lSite;\n this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n }\n d3_geom_voronoiHalfEdge.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function d3_geom_voronoiRedBlackTree() {\n this._ = null;\n }\n function d3_geom_voronoiRedBlackNode(node) {\n node.U = node.C = node.L = node.R = node.P = node.N = null;\n }\n d3_geom_voronoiRedBlackTree.prototype = {\n insert: function(after, node) {\n var parent, grandpa, uncle;\n if (after) {\n node.P = after;\n node.N = after.N;\n if (after.N) after.N.P = node;\n after.N = node;\n if (after.R) {\n after = after.R;\n while (after.L) after = after.L;\n after.L = node;\n } else {\n after.R = node;\n }\n parent = after;\n } else if (this._) {\n after = d3_geom_voronoiRedBlackFirst(this._);\n node.P = null;\n node.N = after;\n after.P = after.L = node;\n parent = after;\n } else {\n node.P = node.N = null;\n this._ = node;\n parent = null;\n }\n node.L = node.R = null;\n node.U = parent;\n node.C = true;\n after = node;\n while (parent && parent.C) {\n grandpa = parent.U;\n if (parent === grandpa.L) {\n uncle = grandpa.R;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.R) {\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n }\n } else {\n uncle = grandpa.L;\n if (uncle && uncle.C) {\n parent.C = uncle.C = false;\n grandpa.C = true;\n after = grandpa;\n } else {\n if (after === parent.L) {\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n after = parent;\n parent = after.U;\n }\n parent.C = false;\n grandpa.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n }\n }\n parent = after.U;\n }\n this._.C = false;\n },\n remove: function(node) {\n if (node.N) node.N.P = node.P;\n if (node.P) node.P.N = node.N;\n node.N = node.P = null;\n var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n if (parent) {\n if (parent.L === node) parent.L = next; else parent.R = next;\n } else {\n this._ = next;\n }\n if (left && right) {\n red = next.C;\n next.C = node.C;\n next.L = left;\n left.U = next;\n if (next !== right) {\n parent = next.U;\n next.U = node.U;\n node = next.R;\n parent.L = node;\n next.R = right;\n right.U = next;\n } else {\n next.U = parent;\n parent = next;\n node = next.R;\n }\n } else {\n red = node.C;\n node = next;\n }\n if (node) node.U = parent;\n if (red) return;\n if (node && node.C) {\n node.C = false;\n return;\n }\n do {\n if (node === this._) break;\n if (node === parent.L) {\n sibling = parent.R;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n sibling = parent.R;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.R || !sibling.R.C) {\n sibling.L.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, sibling);\n sibling = parent.R;\n }\n sibling.C = parent.C;\n parent.C = sibling.R.C = false;\n d3_geom_voronoiRedBlackRotateLeft(this, parent);\n node = this._;\n break;\n }\n } else {\n sibling = parent.L;\n if (sibling.C) {\n sibling.C = false;\n parent.C = true;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n sibling = parent.L;\n }\n if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n if (!sibling.L || !sibling.L.C) {\n sibling.R.C = false;\n sibling.C = true;\n d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n sibling = parent.L;\n }\n sibling.C = parent.C;\n parent.C = sibling.L.C = false;\n d3_geom_voronoiRedBlackRotateRight(this, parent);\n node = this._;\n break;\n }\n }\n sibling.C = true;\n node = parent;\n parent = parent.U;\n } while (!node.C);\n if (node) node.C = false;\n }\n };\n function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n var p = node, q = node.R, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.R = q.L;\n if (p.R) p.R.U = p;\n q.L = p;\n }\n function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n var p = node, q = node.L, parent = p.U;\n if (parent) {\n if (parent.L === p) parent.L = q; else parent.R = q;\n } else {\n tree._ = q;\n }\n q.U = parent;\n p.U = q;\n p.L = q.R;\n if (p.L) p.L.U = p;\n q.R = p;\n }\n function d3_geom_voronoiRedBlackFirst(node) {\n while (node.L) node = node.L;\n return node;\n }\n function d3_geom_voronoi(sites, bbox) {\n var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n d3_geom_voronoiEdges = [];\n d3_geom_voronoiCells = new Array(sites.length);\n d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n while (true) {\n circle = d3_geom_voronoiFirstCircle;\n if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n if (site.x !== x0 || site.y !== y0) {\n d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n d3_geom_voronoiAddBeach(site);\n x0 = site.x, y0 = site.y;\n }\n site = sites.pop();\n } else if (circle) {\n d3_geom_voronoiRemoveBeach(circle.arc);\n } else {\n break;\n }\n }\n if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n var diagram = {\n cells: d3_geom_voronoiCells,\n edges: d3_geom_voronoiEdges\n };\n d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n return diagram;\n }\n function d3_geom_voronoiVertexOrder(a, b) {\n return b.y - a.y || b.x - a.x;\n }\n d3.geom.voronoi = function(points) {\n var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n if (points) return voronoi(points);\n function voronoi(data) {\n var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n var s = e.start();\n return [ s.x, s.y ];\n }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n polygon.point = data[i];\n });\n return polygons;\n }\n function sites(data) {\n return data.map(function(d, i) {\n return {\n x: Math.round(fx(d, i) / ε) * ε,\n y: Math.round(fy(d, i) / ε) * ε,\n i: i\n };\n });\n }\n voronoi.links = function(data) {\n return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n return edge.l && edge.r;\n }).map(function(edge) {\n return {\n source: data[edge.l.i],\n target: data[edge.r.i]\n };\n });\n };\n voronoi.triangles = function(data) {\n var triangles = [];\n d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n while (++j < m) {\n e0 = e1;\n s0 = s1;\n e1 = edges[j].edge;\n s1 = e1.l === site ? e1.r : e1.l;\n if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n }\n }\n });\n return triangles;\n };\n voronoi.x = function(_) {\n return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n };\n voronoi.y = function(_) {\n return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n };\n voronoi.clipExtent = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n return voronoi;\n };\n voronoi.size = function(_) {\n if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n };\n return voronoi;\n };\n var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n function d3_geom_voronoiTriangleArea(a, b, c) {\n return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n }\n d3.geom.delaunay = function(vertices) {\n return d3.geom.voronoi().triangles(vertices);\n };\n d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n if (compat = arguments.length) {\n x = d3_geom_quadtreeCompatX;\n y = d3_geom_quadtreeCompatY;\n if (compat === 3) {\n y2 = y1;\n x2 = x1;\n y1 = x1 = 0;\n }\n return quadtree(points);\n }\n function quadtree(data) {\n var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n if (x1 != null) {\n x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n } else {\n x2_ = y2_ = -(x1_ = y1_ = Infinity);\n xs = [], ys = [];\n n = data.length;\n if (compat) for (i = 0; i < n; ++i) {\n d = data[i];\n if (d.x < x1_) x1_ = d.x;\n if (d.y < y1_) y1_ = d.y;\n if (d.x > x2_) x2_ = d.x;\n if (d.y > y2_) y2_ = d.y;\n xs.push(d.x);\n ys.push(d.y);\n } else for (i = 0; i < n; ++i) {\n var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n if (x_ < x1_) x1_ = x_;\n if (y_ < y1_) y1_ = y_;\n if (x_ > x2_) x2_ = x_;\n if (y_ > y2_) y2_ = y_;\n xs.push(x_);\n ys.push(y_);\n }\n }\n var dx = x2_ - x1_, dy = y2_ - y1_;\n if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n function insert(n, d, x, y, x1, y1, x2, y2) {\n if (isNaN(x) || isNaN(y)) return;\n if (n.leaf) {\n var nx = n.x, ny = n.y;\n if (nx != null) {\n if (abs(nx - x) + abs(ny - y) < .01) {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n } else {\n var nPoint = n.point;\n n.x = n.y = n.point = null;\n insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n } else {\n n.x = x, n.y = y, n.point = d;\n }\n } else {\n insertChild(n, d, x, y, x1, y1, x2, y2);\n }\n }\n function insertChild(n, d, x, y, x1, y1, x2, y2) {\n var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n n.leaf = false;\n n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n if (right) x1 = xm; else x2 = xm;\n if (below) y1 = ym; else y2 = ym;\n insert(n, d, x, y, x1, y1, x2, y2);\n }\n var root = d3_geom_quadtreeNode();\n root.add = function(d) {\n insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n };\n root.visit = function(f) {\n d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n };\n root.find = function(point) {\n return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n };\n i = -1;\n if (x1 == null) {\n while (++i < n) {\n insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n }\n --i;\n } else data.forEach(root.add);\n xs = ys = data = d = null;\n return root;\n }\n quadtree.x = function(_) {\n return arguments.length ? (x = _, quadtree) : x;\n };\n quadtree.y = function(_) {\n return arguments.length ? (y = _, quadtree) : y;\n };\n quadtree.extent = function(_) {\n if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n y2 = +_[1][1];\n return quadtree;\n };\n quadtree.size = function(_) {\n if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n return quadtree;\n };\n return quadtree;\n };\n function d3_geom_quadtreeCompatX(d) {\n return d.x;\n }\n function d3_geom_quadtreeCompatY(d) {\n return d.y;\n }\n function d3_geom_quadtreeNode() {\n return {\n leaf: true,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n if (!f(node, x1, y1, x2, y2)) {\n var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n }\n }\n function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n var minDistance2 = Infinity, closestPoint;\n (function find(node, x1, y1, x2, y2) {\n if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n if (point = node.point) {\n var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n if (distance2 < minDistance2) {\n var distance = Math.sqrt(minDistance2 = distance2);\n x0 = x - distance, y0 = y - distance;\n x3 = x + distance, y3 = y + distance;\n closestPoint = point;\n }\n }\n var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n if (node = children[i & 3]) switch (i & 3) {\n case 0:\n find(node, x1, y1, xm, ym);\n break;\n\n case 1:\n find(node, xm, y1, x2, ym);\n break;\n\n case 2:\n find(node, x1, ym, xm, y2);\n break;\n\n case 3:\n find(node, xm, ym, x2, y2);\n break;\n }\n }\n })(root, x0, y0, x3, y3);\n return closestPoint;\n }\n d3.interpolateRgb = d3_interpolateRgb;\n function d3_interpolateRgb(a, b) {\n a = d3.rgb(a);\n b = d3.rgb(b);\n var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n return function(t) {\n return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n };\n }\n d3.interpolateObject = d3_interpolateObject;\n function d3_interpolateObject(a, b) {\n var i = {}, c = {}, k;\n for (k in a) {\n if (k in b) {\n i[k] = d3_interpolate(a[k], b[k]);\n } else {\n c[k] = a[k];\n }\n }\n for (k in b) {\n if (!(k in a)) {\n c[k] = b[k];\n }\n }\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n }\n d3.interpolateNumber = d3_interpolateNumber;\n function d3_interpolateNumber(a, b) {\n a = +a, b = +b;\n return function(t) {\n return a * (1 - t) + b * t;\n };\n }\n d3.interpolateString = d3_interpolateString;\n function d3_interpolateString(a, b) {\n var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i]) s[i] += bm; else s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({\n i: i,\n x: d3_interpolateNumber(am, bm)\n });\n }\n bi = d3_interpolate_numberB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; else s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n return b(t) + \"\";\n }) : function() {\n return b;\n } : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n }\n var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n d3.interpolate = d3_interpolate;\n function d3_interpolate(a, b) {\n var i = d3.interpolators.length, f;\n while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n return f;\n }\n d3.interpolators = [ function(a, b) {\n var t = typeof b;\n return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n } ];\n d3.interpolateArray = d3_interpolateArray;\n function d3_interpolateArray(a, b) {\n var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n for (;i < na; ++i) c[i] = a[i];\n for (;i < nb; ++i) c[i] = b[i];\n return function(t) {\n for (i = 0; i < n0; ++i) c[i] = x[i](t);\n return c;\n };\n }\n var d3_ease_default = function() {\n return d3_identity;\n };\n var d3_ease = d3.map({\n linear: d3_ease_default,\n poly: d3_ease_poly,\n quad: function() {\n return d3_ease_quad;\n },\n cubic: function() {\n return d3_ease_cubic;\n },\n sin: function() {\n return d3_ease_sin;\n },\n exp: function() {\n return d3_ease_exp;\n },\n circle: function() {\n return d3_ease_circle;\n },\n elastic: d3_ease_elastic,\n back: d3_ease_back,\n bounce: function() {\n return d3_ease_bounce;\n }\n });\n var d3_ease_mode = d3.map({\n \"in\": d3_identity,\n out: d3_ease_reverse,\n \"in-out\": d3_ease_reflect,\n \"out-in\": function(f) {\n return d3_ease_reflect(d3_ease_reverse(f));\n }\n });\n d3.ease = function(name) {\n var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n t = d3_ease.get(t) || d3_ease_default;\n m = d3_ease_mode.get(m) || d3_identity;\n return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n };\n function d3_ease_clamp(f) {\n return function(t) {\n return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n };\n }\n function d3_ease_reverse(f) {\n return function(t) {\n return 1 - f(1 - t);\n };\n }\n function d3_ease_reflect(f) {\n return function(t) {\n return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n };\n }\n function d3_ease_quad(t) {\n return t * t;\n }\n function d3_ease_cubic(t) {\n return t * t * t;\n }\n function d3_ease_cubicInOut(t) {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n var t2 = t * t, t3 = t2 * t;\n return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n }\n function d3_ease_poly(e) {\n return function(t) {\n return Math.pow(t, e);\n };\n }\n function d3_ease_sin(t) {\n return 1 - Math.cos(t * halfπ);\n }\n function d3_ease_exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n function d3_ease_circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n function d3_ease_elastic(a, p) {\n var s;\n if (arguments.length < 2) p = .45;\n if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4;\n return function(t) {\n return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);\n };\n }\n function d3_ease_back(s) {\n if (!s) s = 1.70158;\n return function(t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n function d3_ease_bounce(t) {\n return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n }\n d3.interpolateHcl = d3_interpolateHcl;\n function d3_interpolateHcl(a, b) {\n a = d3.hcl(a);\n b = d3.hcl(b);\n var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateHsl = d3_interpolateHsl;\n function d3_interpolateHsl(a, b) {\n a = d3.hsl(a);\n b = d3.hsl(b);\n var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n return function(t) {\n return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n };\n }\n d3.interpolateLab = d3_interpolateLab;\n function d3_interpolateLab(a, b) {\n a = d3.lab(a);\n b = d3.lab(b);\n var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n return function(t) {\n return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n };\n }\n d3.interpolateRound = d3_interpolateRound;\n function d3_interpolateRound(a, b) {\n b -= a;\n return function(t) {\n return Math.round(a + b * t);\n };\n }\n d3.transform = function(string) {\n var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n return (d3.transform = function(string) {\n if (string != null) {\n g.setAttribute(\"transform\", string);\n var t = g.transform.baseVal.consolidate();\n }\n return new d3_transform(t ? t.matrix : d3_transformIdentity);\n })(string);\n };\n function d3_transform(m) {\n var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n if (r0[0] * r1[1] < r1[0] * r0[1]) {\n r0[0] *= -1;\n r0[1] *= -1;\n kx *= -1;\n kz *= -1;\n }\n this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n this.translate = [ m.e, m.f ];\n this.scale = [ kx, ky ];\n this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n }\n d3_transform.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function d3_transformDot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n }\n function d3_transformNormalize(a) {\n var k = Math.sqrt(d3_transformDot(a, a));\n if (k) {\n a[0] /= k;\n a[1] /= k;\n }\n return k;\n }\n function d3_transformCombine(a, b, k) {\n a[0] += k * b[0];\n a[1] += k * b[1];\n return a;\n }\n var d3_transformIdentity = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n d3.interpolateTransform = d3_interpolateTransform;\n function d3_interpolateTransformPop(s) {\n return s.length ? s.pop() + \",\" : \"\";\n }\n function d3_interpolateTranslate(ta, tb, s, q) {\n if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n var i = s.push(\"translate(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ta[0], tb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ta[1], tb[1])\n });\n } else if (tb[0] || tb[1]) {\n s.push(\"translate(\" + tb + \")\");\n }\n }\n function d3_interpolateRotate(ra, rb, s, q) {\n if (ra !== rb) {\n if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n x: d3_interpolateNumber(ra, rb)\n });\n } else if (rb) {\n s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n }\n }\n function d3_interpolateSkew(wa, wb, s, q) {\n if (wa !== wb) {\n q.push({\n i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n x: d3_interpolateNumber(wa, wb)\n });\n } else if (wb) {\n s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n }\n }\n function d3_interpolateScale(ka, kb, s, q) {\n if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: d3_interpolateNumber(ka[0], kb[0])\n }, {\n i: i - 2,\n x: d3_interpolateNumber(ka[1], kb[1])\n });\n } else if (kb[0] !== 1 || kb[1] !== 1) {\n s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n }\n }\n function d3_interpolateTransform(a, b) {\n var s = [], q = [];\n a = d3.transform(a), b = d3.transform(b);\n d3_interpolateTranslate(a.translate, b.translate, s, q);\n d3_interpolateRotate(a.rotate, b.rotate, s, q);\n d3_interpolateSkew(a.skew, b.skew, s, q);\n d3_interpolateScale(a.scale, b.scale, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n }\n function d3_uninterpolateNumber(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return (x - a) / b;\n };\n }\n function d3_uninterpolateClamp(a, b) {\n b = (b -= a = +a) || 1 / b;\n return function(x) {\n return Math.max(0, Math.min(1, (x - a) / b));\n };\n }\n d3.layout = {};\n d3.layout.bundle = function() {\n return function(links) {\n var paths = [], i = -1, n = links.length;\n while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n return paths;\n };\n };\n function d3_layout_bundlePath(link) {\n var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n while (start !== lca) {\n start = start.parent;\n points.push(start);\n }\n var k = points.length;\n while (end !== lca) {\n points.splice(k, 0, end);\n end = end.parent;\n }\n return points;\n }\n function d3_layout_bundleAncestors(node) {\n var ancestors = [], parent = node.parent;\n while (parent != null) {\n ancestors.push(node);\n node = parent;\n parent = parent.parent;\n }\n ancestors.push(node);\n return ancestors;\n }\n function d3_layout_bundleLeastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n while (aNode === bNode) {\n sharedNode = aNode;\n aNode = aNodes.pop();\n bNode = bNodes.pop();\n }\n return sharedNode;\n }\n d3.layout.chord = function() {\n var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n function relayout() {\n var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n chords = [];\n groups = [];\n k = 0, i = -1;\n while (++i < n) {\n x = 0, j = -1;\n while (++j < n) {\n x += matrix[i][j];\n }\n groupSums.push(x);\n subgroupIndex.push(d3.range(n));\n k += x;\n }\n if (sortGroups) {\n groupIndex.sort(function(a, b) {\n return sortGroups(groupSums[a], groupSums[b]);\n });\n }\n if (sortSubgroups) {\n subgroupIndex.forEach(function(d, i) {\n d.sort(function(a, b) {\n return sortSubgroups(matrix[i][a], matrix[i][b]);\n });\n });\n }\n k = (τ - padding * n) / k;\n x = 0, i = -1;\n while (++i < n) {\n x0 = x, j = -1;\n while (++j < n) {\n var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n subgroups[di + \"-\" + dj] = {\n index: di,\n subindex: dj,\n startAngle: a0,\n endAngle: a1,\n value: v\n };\n }\n groups[di] = {\n index: di,\n startAngle: x0,\n endAngle: x,\n value: groupSums[di]\n };\n x += padding;\n }\n i = -1;\n while (++i < n) {\n j = i - 1;\n while (++j < n) {\n var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n if (source.value || target.value) {\n chords.push(source.value < target.value ? {\n source: target,\n target: source\n } : {\n source: source,\n target: target\n });\n }\n }\n }\n if (sortChords) resort();\n }\n function resort() {\n chords.sort(function(a, b) {\n return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n });\n }\n chord.matrix = function(x) {\n if (!arguments.length) return matrix;\n n = (matrix = x) && matrix.length;\n chords = groups = null;\n return chord;\n };\n chord.padding = function(x) {\n if (!arguments.length) return padding;\n padding = x;\n chords = groups = null;\n return chord;\n };\n chord.sortGroups = function(x) {\n if (!arguments.length) return sortGroups;\n sortGroups = x;\n chords = groups = null;\n return chord;\n };\n chord.sortSubgroups = function(x) {\n if (!arguments.length) return sortSubgroups;\n sortSubgroups = x;\n chords = null;\n return chord;\n };\n chord.sortChords = function(x) {\n if (!arguments.length) return sortChords;\n sortChords = x;\n if (chords) resort();\n return chord;\n };\n chord.chords = function() {\n if (!chords) relayout();\n return chords;\n };\n chord.groups = function() {\n if (!groups) relayout();\n return groups;\n };\n return chord;\n };\n d3.layout.force = function() {\n var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n function repulse(node) {\n return function(quad, x1, _, x2) {\n if (quad.point !== node) {\n var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n if (dw * dw / theta2 < dn) {\n if (dn < chargeDistance2) {\n var k = quad.charge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n return true;\n }\n if (quad.point && dn && dn < chargeDistance2) {\n var k = quad.pointCharge / dn;\n node.px -= dx * k;\n node.py -= dy * k;\n }\n }\n return !quad.charge;\n };\n }\n force.tick = function() {\n if ((alpha *= .99) < .005) {\n timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n return true;\n }\n var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n for (i = 0; i < m; ++i) {\n o = links[i];\n s = o.source;\n t = o.target;\n x = t.x - s.x;\n y = t.y - s.y;\n if (l = x * x + y * y) {\n l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n x *= l;\n y *= l;\n t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n t.y -= y * k;\n s.x += x * (k = 1 - k);\n s.y += y * k;\n }\n }\n if (k = alpha * gravity) {\n x = size[0] / 2;\n y = size[1] / 2;\n i = -1;\n if (k) while (++i < n) {\n o = nodes[i];\n o.x += (x - o.x) * k;\n o.y += (y - o.y) * k;\n }\n }\n if (charge) {\n d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n i = -1;\n while (++i < n) {\n if (!(o = nodes[i]).fixed) {\n q.visit(repulse(o));\n }\n }\n }\n i = -1;\n while (++i < n) {\n o = nodes[i];\n if (o.fixed) {\n o.x = o.px;\n o.y = o.py;\n } else {\n o.x -= (o.px - (o.px = o.x)) * friction;\n o.y -= (o.py - (o.py = o.y)) * friction;\n }\n }\n event.tick({\n type: \"tick\",\n alpha: alpha\n });\n };\n force.nodes = function(x) {\n if (!arguments.length) return nodes;\n nodes = x;\n return force;\n };\n force.links = function(x) {\n if (!arguments.length) return links;\n links = x;\n return force;\n };\n force.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return force;\n };\n force.linkDistance = function(x) {\n if (!arguments.length) return linkDistance;\n linkDistance = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.distance = force.linkDistance;\n force.linkStrength = function(x) {\n if (!arguments.length) return linkStrength;\n linkStrength = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.friction = function(x) {\n if (!arguments.length) return friction;\n friction = +x;\n return force;\n };\n force.charge = function(x) {\n if (!arguments.length) return charge;\n charge = typeof x === \"function\" ? x : +x;\n return force;\n };\n force.chargeDistance = function(x) {\n if (!arguments.length) return Math.sqrt(chargeDistance2);\n chargeDistance2 = x * x;\n return force;\n };\n force.gravity = function(x) {\n if (!arguments.length) return gravity;\n gravity = +x;\n return force;\n };\n force.theta = function(x) {\n if (!arguments.length) return Math.sqrt(theta2);\n theta2 = x * x;\n return force;\n };\n force.alpha = function(x) {\n if (!arguments.length) return alpha;\n x = +x;\n if (alpha) {\n if (x > 0) {\n alpha = x;\n } else {\n timer.c = null, timer.t = NaN, timer = null;\n event.end({\n type: \"end\",\n alpha: alpha = 0\n });\n }\n } else if (x > 0) {\n event.start({\n type: \"start\",\n alpha: alpha = x\n });\n timer = d3_timer(force.tick);\n }\n return force;\n };\n force.start = function() {\n var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n for (i = 0; i < n; ++i) {\n (o = nodes[i]).index = i;\n o.weight = 0;\n }\n for (i = 0; i < m; ++i) {\n o = links[i];\n if (typeof o.source == \"number\") o.source = nodes[o.source];\n if (typeof o.target == \"number\") o.target = nodes[o.target];\n ++o.source.weight;\n ++o.target.weight;\n }\n for (i = 0; i < n; ++i) {\n o = nodes[i];\n if (isNaN(o.x)) o.x = position(\"x\", w);\n if (isNaN(o.y)) o.y = position(\"y\", h);\n if (isNaN(o.px)) o.px = o.x;\n if (isNaN(o.py)) o.py = o.y;\n }\n distances = [];\n if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n strengths = [];\n if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n charges = [];\n if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n function position(dimension, size) {\n if (!neighbors) {\n neighbors = new Array(n);\n for (j = 0; j < n; ++j) {\n neighbors[j] = [];\n }\n for (j = 0; j < m; ++j) {\n var o = links[j];\n neighbors[o.source.index].push(o.target);\n neighbors[o.target.index].push(o.source);\n }\n }\n var candidates = neighbors[i], j = -1, l = candidates.length, x;\n while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n return Math.random() * size;\n }\n return force.resume();\n };\n force.resume = function() {\n return force.alpha(.1);\n };\n force.stop = function() {\n return force.alpha(0);\n };\n force.drag = function() {\n if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n if (!arguments.length) return drag;\n this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n };\n function dragmove(d) {\n d.px = d3.event.x, d.py = d3.event.y;\n force.resume();\n }\n return d3.rebind(force, event, \"on\");\n };\n function d3_layout_forceDragstart(d) {\n d.fixed |= 2;\n }\n function d3_layout_forceDragend(d) {\n d.fixed &= ~6;\n }\n function d3_layout_forceMouseover(d) {\n d.fixed |= 4;\n d.px = d.x, d.py = d.y;\n }\n function d3_layout_forceMouseout(d) {\n d.fixed &= ~4;\n }\n function d3_layout_forceAccumulate(quad, alpha, charges) {\n var cx = 0, cy = 0;\n quad.charge = 0;\n if (!quad.leaf) {\n var nodes = quad.nodes, n = nodes.length, i = -1, c;\n while (++i < n) {\n c = nodes[i];\n if (c == null) continue;\n d3_layout_forceAccumulate(c, alpha, charges);\n quad.charge += c.charge;\n cx += c.charge * c.cx;\n cy += c.charge * c.cy;\n }\n }\n if (quad.point) {\n if (!quad.leaf) {\n quad.point.x += Math.random() - .5;\n quad.point.y += Math.random() - .5;\n }\n var k = alpha * charges[quad.point.index];\n quad.charge += quad.pointCharge = k;\n cx += k * quad.point.x;\n cy += k * quad.point.y;\n }\n quad.cx = cx / quad.charge;\n quad.cy = cy / quad.charge;\n }\n var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n d3.layout.hierarchy = function() {\n var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n function hierarchy(root) {\n var stack = [ root ], nodes = [], node;\n root.depth = 0;\n while ((node = stack.pop()) != null) {\n nodes.push(node);\n if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n var n, childs, child;\n while (--n >= 0) {\n stack.push(child = childs[n]);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n if (value) node.value = 0;\n node.children = childs;\n } else {\n if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n delete node.children;\n }\n }\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var childs, parent;\n if (sort && (childs = node.children)) childs.sort(sort);\n if (value && (parent = node.parent)) parent.value += node.value;\n });\n return nodes;\n }\n hierarchy.sort = function(x) {\n if (!arguments.length) return sort;\n sort = x;\n return hierarchy;\n };\n hierarchy.children = function(x) {\n if (!arguments.length) return children;\n children = x;\n return hierarchy;\n };\n hierarchy.value = function(x) {\n if (!arguments.length) return value;\n value = x;\n return hierarchy;\n };\n hierarchy.revalue = function(root) {\n if (value) {\n d3_layout_hierarchyVisitBefore(root, function(node) {\n if (node.children) node.value = 0;\n });\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var parent;\n if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n if (parent = node.parent) parent.value += node.value;\n });\n }\n return root;\n };\n return hierarchy;\n };\n function d3_layout_hierarchyRebind(object, hierarchy) {\n d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n object.nodes = object;\n object.links = d3_layout_hierarchyLinks;\n return object;\n }\n function d3_layout_hierarchyVisitBefore(node, callback) {\n var nodes = [ node ];\n while ((node = nodes.pop()) != null) {\n callback(node);\n if ((children = node.children) && (n = children.length)) {\n var n, children;\n while (--n >= 0) nodes.push(children[n]);\n }\n }\n }\n function d3_layout_hierarchyVisitAfter(node, callback) {\n var nodes = [ node ], nodes2 = [];\n while ((node = nodes.pop()) != null) {\n nodes2.push(node);\n if ((children = node.children) && (n = children.length)) {\n var i = -1, n, children;\n while (++i < n) nodes.push(children[i]);\n }\n }\n while ((node = nodes2.pop()) != null) {\n callback(node);\n }\n }\n function d3_layout_hierarchyChildren(d) {\n return d.children;\n }\n function d3_layout_hierarchyValue(d) {\n return d.value;\n }\n function d3_layout_hierarchySort(a, b) {\n return b.value - a.value;\n }\n function d3_layout_hierarchyLinks(nodes) {\n return d3.merge(nodes.map(function(parent) {\n return (parent.children || []).map(function(child) {\n return {\n source: parent,\n target: child\n };\n });\n }));\n }\n d3.layout.partition = function() {\n var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n function position(node, x, dx, dy) {\n var children = node.children;\n node.x = x;\n node.y = node.depth * dy;\n node.dx = dx;\n node.dy = dy;\n if (children && (n = children.length)) {\n var i = -1, n, c, d;\n dx = node.value ? dx / node.value : 0;\n while (++i < n) {\n position(c = children[i], x, d = c.value * dx, dy);\n x += d;\n }\n }\n }\n function depth(node) {\n var children = node.children, d = 0;\n if (children && (n = children.length)) {\n var i = -1, n;\n while (++i < n) d = Math.max(d, depth(children[i]));\n }\n return 1 + d;\n }\n function partition(d, i) {\n var nodes = hierarchy.call(this, d, i);\n position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n return nodes;\n }\n partition.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return partition;\n };\n return d3_layout_hierarchyRebind(partition, hierarchy);\n };\n d3.layout.pie = function() {\n var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;\n function pie(data) {\n var n = data.length, values = data.map(function(d, i) {\n return +value.call(pie, d, i);\n }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n return values[j] - values[i];\n } : function(i, j) {\n return sort(data[i], data[j]);\n });\n index.forEach(function(i) {\n arcs[i] = {\n data: data[i],\n value: v = values[i],\n startAngle: a,\n endAngle: a += v * k + pa,\n padAngle: p\n };\n });\n return arcs;\n }\n pie.value = function(_) {\n if (!arguments.length) return value;\n value = _;\n return pie;\n };\n pie.sort = function(_) {\n if (!arguments.length) return sort;\n sort = _;\n return pie;\n };\n pie.startAngle = function(_) {\n if (!arguments.length) return startAngle;\n startAngle = _;\n return pie;\n };\n pie.endAngle = function(_) {\n if (!arguments.length) return endAngle;\n endAngle = _;\n return pie;\n };\n pie.padAngle = function(_) {\n if (!arguments.length) return padAngle;\n padAngle = _;\n return pie;\n };\n return pie;\n };\n var d3_layout_pieSortByValue = {};\n d3.layout.stack = function() {\n var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n function stack(data, index) {\n if (!(n = data.length)) return data;\n var series = data.map(function(d, i) {\n return values.call(stack, d, i);\n });\n var points = series.map(function(d) {\n return d.map(function(v, i) {\n return [ x.call(stack, v, i), y.call(stack, v, i) ];\n });\n });\n var orders = order.call(stack, points, index);\n series = d3.permute(series, orders);\n points = d3.permute(points, orders);\n var offsets = offset.call(stack, points, index);\n var m = series[0].length, n, i, j, o;\n for (j = 0; j < m; ++j) {\n out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n for (i = 1; i < n; ++i) {\n out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n }\n }\n return data;\n }\n stack.values = function(x) {\n if (!arguments.length) return values;\n values = x;\n return stack;\n };\n stack.order = function(x) {\n if (!arguments.length) return order;\n order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n return stack;\n };\n stack.offset = function(x) {\n if (!arguments.length) return offset;\n offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n return stack;\n };\n stack.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n return stack;\n };\n stack.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n return stack;\n };\n stack.out = function(z) {\n if (!arguments.length) return out;\n out = z;\n return stack;\n };\n return stack;\n };\n function d3_layout_stackX(d) {\n return d.x;\n }\n function d3_layout_stackY(d) {\n return d.y;\n }\n function d3_layout_stackOut(d, y0, y) {\n d.y0 = y0;\n d.y = y;\n }\n var d3_layout_stackOrders = d3.map({\n \"inside-out\": function(data) {\n var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n return max[a] - max[b];\n }), top = 0, bottom = 0, tops = [], bottoms = [];\n for (i = 0; i < n; ++i) {\n j = index[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n return bottoms.reverse().concat(tops);\n },\n reverse: function(data) {\n return d3.range(data.length).reverse();\n },\n \"default\": d3_layout_stackOrderDefault\n });\n var d3_layout_stackOffsets = d3.map({\n silhouette: function(data) {\n var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o > max) max = o;\n sums.push(o);\n }\n for (j = 0; j < m; ++j) {\n y0[j] = (max - sums[j]) / 2;\n }\n return y0;\n },\n wiggle: function(data) {\n var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n y0[0] = o = o0 = 0;\n for (j = 1; j < m; ++j) {\n for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n }\n s2 += s3 * data[i][j][1];\n }\n y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n if (o < o0) o0 = o;\n }\n for (j = 0; j < m; ++j) y0[j] -= o0;\n return y0;\n },\n expand: function(data) {\n var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n for (j = 0; j < m; ++j) {\n for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n },\n zero: d3_layout_stackOffsetZero\n });\n function d3_layout_stackOrderDefault(data) {\n return d3.range(data.length);\n }\n function d3_layout_stackOffsetZero(data) {\n var j = -1, m = data[0].length, y0 = [];\n while (++j < m) y0[j] = 0;\n return y0;\n }\n function d3_layout_stackMaxIndex(array) {\n var i = 1, j = 0, v = array[0][1], k, n = array.length;\n for (;i < n; ++i) {\n if ((k = array[i][1]) > v) {\n j = i;\n v = k;\n }\n }\n return j;\n }\n function d3_layout_stackReduceSum(d) {\n return d.reduce(d3_layout_stackSum, 0);\n }\n function d3_layout_stackSum(p, d) {\n return p + d[1];\n }\n d3.layout.histogram = function() {\n var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n function histogram(data, i) {\n var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n while (++i < m) {\n bin = bins[i] = [];\n bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n bin.y = 0;\n }\n if (m > 0) {\n i = -1;\n while (++i < n) {\n x = values[i];\n if (x >= range[0] && x <= range[1]) {\n bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n bin.y += k;\n bin.push(data[i]);\n }\n }\n }\n return bins;\n }\n histogram.value = function(x) {\n if (!arguments.length) return valuer;\n valuer = x;\n return histogram;\n };\n histogram.range = function(x) {\n if (!arguments.length) return ranger;\n ranger = d3_functor(x);\n return histogram;\n };\n histogram.bins = function(x) {\n if (!arguments.length) return binner;\n binner = typeof x === \"number\" ? function(range) {\n return d3_layout_histogramBinFixed(range, x);\n } : d3_functor(x);\n return histogram;\n };\n histogram.frequency = function(x) {\n if (!arguments.length) return frequency;\n frequency = !!x;\n return histogram;\n };\n return histogram;\n };\n function d3_layout_histogramBinSturges(range, values) {\n return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n }\n function d3_layout_histogramBinFixed(range, n) {\n var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n while (++x <= n) f[x] = m * x + b;\n return f;\n }\n function d3_layout_histogramRange(values) {\n return [ d3.min(values), d3.max(values) ];\n }\n d3.layout.pack = function() {\n var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n function pack(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n return radius;\n };\n root.x = root.y = 0;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r = +r(d.value);\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n if (padding) {\n var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r += dr;\n });\n d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n d3_layout_hierarchyVisitAfter(root, function(d) {\n d.r -= dr;\n });\n }\n d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n return nodes;\n }\n pack.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return pack;\n };\n pack.radius = function(_) {\n if (!arguments.length) return radius;\n radius = _ == null || typeof _ === \"function\" ? _ : +_;\n return pack;\n };\n pack.padding = function(_) {\n if (!arguments.length) return padding;\n padding = +_;\n return pack;\n };\n return d3_layout_hierarchyRebind(pack, hierarchy);\n };\n function d3_layout_packSort(a, b) {\n return a.value - b.value;\n }\n function d3_layout_packInsert(a, b) {\n var c = a._pack_next;\n a._pack_next = b;\n b._pack_prev = a;\n b._pack_next = c;\n c._pack_prev = b;\n }\n function d3_layout_packSplice(a, b) {\n a._pack_next = b;\n b._pack_prev = a;\n }\n function d3_layout_packIntersects(a, b) {\n var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n return .999 * dr * dr > dx * dx + dy * dy;\n }\n function d3_layout_packSiblings(node) {\n if (!(nodes = node.children) || !(n = nodes.length)) return;\n var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n function bound(node) {\n xMin = Math.min(node.x - node.r, xMin);\n xMax = Math.max(node.x + node.r, xMax);\n yMin = Math.min(node.y - node.r, yMin);\n yMax = Math.max(node.y + node.r, yMax);\n }\n nodes.forEach(d3_layout_packLink);\n a = nodes[0];\n a.x = -a.r;\n a.y = 0;\n bound(a);\n if (n > 1) {\n b = nodes[1];\n b.x = b.r;\n b.y = 0;\n bound(b);\n if (n > 2) {\n c = nodes[2];\n d3_layout_packPlace(a, b, c);\n bound(c);\n d3_layout_packInsert(a, c);\n a._pack_prev = c;\n d3_layout_packInsert(c, b);\n b = a._pack_next;\n for (i = 3; i < n; i++) {\n d3_layout_packPlace(a, b, c = nodes[i]);\n var isect = 0, s1 = 1, s2 = 1;\n for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n if (d3_layout_packIntersects(j, c)) {\n isect = 1;\n break;\n }\n }\n if (isect == 1) {\n for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n if (d3_layout_packIntersects(k, c)) {\n break;\n }\n }\n }\n if (isect) {\n if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n i--;\n } else {\n d3_layout_packInsert(a, c);\n b = c;\n bound(c);\n }\n }\n }\n }\n var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n for (i = 0; i < n; i++) {\n c = nodes[i];\n c.x -= cx;\n c.y -= cy;\n cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n }\n node.r = cr;\n nodes.forEach(d3_layout_packUnlink);\n }\n function d3_layout_packLink(node) {\n node._pack_next = node._pack_prev = node;\n }\n function d3_layout_packUnlink(node) {\n delete node._pack_next;\n delete node._pack_prev;\n }\n function d3_layout_packTransform(node, x, y, k) {\n var children = node.children;\n node.x = x += k * node.x;\n node.y = y += k * node.y;\n node.r *= k;\n if (children) {\n var i = -1, n = children.length;\n while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n }\n }\n function d3_layout_packPlace(a, b, c) {\n var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n if (db && (dx || dy)) {\n var da = b.r + c.r, dc = dx * dx + dy * dy;\n da *= da;\n db *= db;\n var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n c.x = a.x + x * dx + y * dy;\n c.y = a.y + x * dy - y * dx;\n } else {\n c.x = a.x + db;\n c.y = a.y;\n }\n }\n d3.layout.tree = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n function tree(d, i) {\n var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n d3_layout_hierarchyVisitBefore(root1, secondWalk);\n if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n var left = root0, right = root0, bottom = root0;\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n d3_layout_hierarchyVisitBefore(root0, function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n return nodes;\n }\n function wrapTree(root0) {\n var root1 = {\n A: null,\n children: [ root0 ]\n }, queue = [ root1 ], node1;\n while ((node1 = queue.pop()) != null) {\n for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n queue.push((children[i] = child = {\n _: children[i],\n parent: node1,\n children: (child = children[i].children) && child.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: i\n }).a = child);\n }\n }\n return root1.children[0];\n }\n function firstWalk(v) {\n var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n if (children.length) {\n d3_layout_treeShift(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n vom = d3_layout_treeLeft(vom);\n vop = d3_layout_treeRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !d3_layout_treeRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !d3_layout_treeLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n function sizeNode(node) {\n node.x *= size[0];\n node.y = node.depth * size[1];\n }\n tree.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return tree;\n };\n tree.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null ? sizeNode : null;\n return tree;\n };\n tree.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) == null ? null : sizeNode;\n return tree;\n };\n return d3_layout_hierarchyRebind(tree, hierarchy);\n };\n function d3_layout_treeSeparation(a, b) {\n return a.parent == b.parent ? 1 : 2;\n }\n function d3_layout_treeLeft(v) {\n var children = v.children;\n return children.length ? children[0] : v.t;\n }\n function d3_layout_treeRight(v) {\n var children = v.children, n;\n return (n = children.length) ? children[n - 1] : v.t;\n }\n function d3_layout_treeMove(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n }\n function d3_layout_treeShift(v) {\n var shift = 0, change = 0, children = v.children, i = children.length, w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n }\n function d3_layout_treeAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n }\n d3.layout.cluster = function() {\n var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n function cluster(d, i) {\n var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n d3_layout_hierarchyVisitAfter(root, function(node) {\n var children = node.children;\n if (children && children.length) {\n node.x = d3_layout_clusterX(children);\n node.y = d3_layout_clusterY(children);\n } else {\n node.x = previousNode ? x += separation(node, previousNode) : 0;\n node.y = 0;\n previousNode = node;\n }\n });\n var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n node.x = (node.x - root.x) * size[0];\n node.y = (root.y - node.y) * size[1];\n } : function(node) {\n node.x = (node.x - x0) / (x1 - x0) * size[0];\n node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n });\n return nodes;\n }\n cluster.separation = function(x) {\n if (!arguments.length) return separation;\n separation = x;\n return cluster;\n };\n cluster.size = function(x) {\n if (!arguments.length) return nodeSize ? null : size;\n nodeSize = (size = x) == null;\n return cluster;\n };\n cluster.nodeSize = function(x) {\n if (!arguments.length) return nodeSize ? size : null;\n nodeSize = (size = x) != null;\n return cluster;\n };\n return d3_layout_hierarchyRebind(cluster, hierarchy);\n };\n function d3_layout_clusterY(children) {\n return 1 + d3.max(children, function(child) {\n return child.y;\n });\n }\n function d3_layout_clusterX(children) {\n return children.reduce(function(x, child) {\n return x + child.x;\n }, 0) / children.length;\n }\n function d3_layout_clusterLeft(node) {\n var children = node.children;\n return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n }\n function d3_layout_clusterRight(node) {\n var children = node.children, n;\n return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n }\n d3.layout.treemap = function() {\n var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n function scale(children, k) {\n var i = -1, n = children.length, child, area;\n while (++i < n) {\n area = (child = children[i]).value * (k < 0 ? 0 : k);\n child.area = isNaN(area) || area <= 0 ? 0 : area;\n }\n }\n function squarify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while ((n = remaining.length) > 0) {\n row.push(child = remaining[n - 1]);\n row.area += child.area;\n if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n remaining.pop();\n best = score;\n } else {\n row.area -= row.pop().area;\n position(row, u, rect, false);\n u = Math.min(rect.dx, rect.dy);\n row.length = row.area = 0;\n best = Infinity;\n }\n }\n if (row.length) {\n position(row, u, rect, true);\n row.length = row.area = 0;\n }\n children.forEach(squarify);\n }\n }\n function stickify(node) {\n var children = node.children;\n if (children && children.length) {\n var rect = pad(node), remaining = children.slice(), child, row = [];\n scale(remaining, rect.dx * rect.dy / node.value);\n row.area = 0;\n while (child = remaining.pop()) {\n row.push(child);\n row.area += child.area;\n if (child.z != null) {\n position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n row.length = row.area = 0;\n }\n }\n children.forEach(stickify);\n }\n }\n function worst(row, u) {\n var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n while (++i < n) {\n if (!(r = row[i].area)) continue;\n if (r < rmin) rmin = r;\n if (r > rmax) rmax = r;\n }\n s *= s;\n u *= u;\n return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n }\n function position(row, u, rect, flush) {\n var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n if (u == rect.dx) {\n if (flush || v > rect.dy) v = rect.dy;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dy = v;\n x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n }\n o.z = true;\n o.dx += rect.x + rect.dx - x;\n rect.y += v;\n rect.dy -= v;\n } else {\n if (flush || v > rect.dx) v = rect.dx;\n while (++i < n) {\n o = row[i];\n o.x = x;\n o.y = y;\n o.dx = v;\n y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n }\n o.z = false;\n o.dy += rect.y + rect.dy - y;\n rect.x += v;\n rect.dx -= v;\n }\n }\n function treemap(d) {\n var nodes = stickies || hierarchy(d), root = nodes[0];\n root.x = root.y = 0;\n if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n if (stickies) hierarchy.revalue(root);\n scale([ root ], root.dx * root.dy / root.value);\n (stickies ? stickify : squarify)(root);\n if (sticky) stickies = nodes;\n return nodes;\n }\n treemap.size = function(x) {\n if (!arguments.length) return size;\n size = x;\n return treemap;\n };\n treemap.padding = function(x) {\n if (!arguments.length) return padding;\n function padFunction(node) {\n var p = x.call(treemap, node, node.depth);\n return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n }\n function padConstant(node) {\n return d3_layout_treemapPad(node, x);\n }\n var type;\n pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n padConstant) : padConstant;\n return treemap;\n };\n treemap.round = function(x) {\n if (!arguments.length) return round != Number;\n round = x ? Math.round : Number;\n return treemap;\n };\n treemap.sticky = function(x) {\n if (!arguments.length) return sticky;\n sticky = x;\n stickies = null;\n return treemap;\n };\n treemap.ratio = function(x) {\n if (!arguments.length) return ratio;\n ratio = x;\n return treemap;\n };\n treemap.mode = function(x) {\n if (!arguments.length) return mode;\n mode = x + \"\";\n return treemap;\n };\n return d3_layout_hierarchyRebind(treemap, hierarchy);\n };\n function d3_layout_treemapPadNull(node) {\n return {\n x: node.x,\n y: node.y,\n dx: node.dx,\n dy: node.dy\n };\n }\n function d3_layout_treemapPad(node, padding) {\n var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n if (dx < 0) {\n x += dx / 2;\n dx = 0;\n }\n if (dy < 0) {\n y += dy / 2;\n dy = 0;\n }\n return {\n x: x,\n y: y,\n dx: dx,\n dy: dy\n };\n }\n d3.random = {\n normal: function(µ, σ) {\n var n = arguments.length;\n if (n < 2) σ = 1;\n if (n < 1) µ = 0;\n return function() {\n var x, y, r;\n do {\n x = Math.random() * 2 - 1;\n y = Math.random() * 2 - 1;\n r = x * x + y * y;\n } while (!r || r > 1);\n return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);\n };\n },\n logNormal: function() {\n var random = d3.random.normal.apply(d3, arguments);\n return function() {\n return Math.exp(random());\n };\n },\n bates: function(m) {\n var random = d3.random.irwinHall(m);\n return function() {\n return random() / m;\n };\n },\n irwinHall: function(m) {\n return function() {\n for (var s = 0, j = 0; j < m; j++) s += Math.random();\n return s;\n };\n }\n };\n d3.scale = {};\n function d3_scaleExtent(domain) {\n var start = domain[0], stop = domain[domain.length - 1];\n return start < stop ? [ start, stop ] : [ stop, start ];\n }\n function d3_scaleRange(scale) {\n return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n }\n function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n return function(x) {\n return i(u(x));\n };\n }\n function d3_scale_nice(domain, nice) {\n var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n if (x1 < x0) {\n dx = i0, i0 = i1, i1 = dx;\n dx = x0, x0 = x1, x1 = dx;\n }\n domain[i0] = nice.floor(x0);\n domain[i1] = nice.ceil(x1);\n return domain;\n }\n function d3_scale_niceStep(step) {\n return step ? {\n floor: function(x) {\n return Math.floor(x / step) * step;\n },\n ceil: function(x) {\n return Math.ceil(x / step) * step;\n }\n } : d3_scale_niceIdentity;\n }\n var d3_scale_niceIdentity = {\n floor: d3_identity,\n ceil: d3_identity\n };\n function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n if (domain[k] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++j <= k) {\n u.push(uninterpolate(domain[j - 1], domain[j]));\n i.push(interpolate(range[j - 1], range[j]));\n }\n return function(x) {\n var j = d3.bisect(domain, x, 1, k) - 1;\n return i[j](u[j](x));\n };\n }\n d3.scale.linear = function() {\n return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n };\n function d3_scale_linear(domain, range, interpolate, clamp) {\n var output, input;\n function rescale() {\n var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n output = linear(domain, range, uninterpolate, interpolate);\n input = linear(range, domain, uninterpolate, d3_interpolate);\n return scale;\n }\n function scale(x) {\n return output(x);\n }\n scale.invert = function(y) {\n return input(y);\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(Number);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.rangeRound = function(x) {\n return scale.range(x).interpolate(d3_interpolateRound);\n };\n scale.clamp = function(x) {\n if (!arguments.length) return clamp;\n clamp = x;\n return rescale();\n };\n scale.interpolate = function(x) {\n if (!arguments.length) return interpolate;\n interpolate = x;\n return rescale();\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n d3_scale_linearNice(domain, m);\n return rescale();\n };\n scale.copy = function() {\n return d3_scale_linear(domain, range, interpolate, clamp);\n };\n return rescale();\n }\n function d3_scale_linearRebind(scale, linear) {\n return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function d3_scale_linearNice(domain, m) {\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n return domain;\n }\n function d3_scale_linearTickRange(domain, m) {\n if (m == null) m = 10;\n var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n extent[0] = Math.ceil(extent[0] / step) * step;\n extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n extent[2] = step;\n return extent;\n }\n function d3_scale_linearTicks(domain, m) {\n return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n }\n function d3_scale_linearTickFormat(domain, m, format) {\n var range = d3_scale_linearTickRange(domain, m);\n if (format) {\n var match = d3_format_re.exec(format);\n match.shift();\n if (match[8] === \"s\") {\n var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n match[8] = \"f\";\n format = d3.format(match.join(\"\"));\n return function(d) {\n return format(prefix.scale(d)) + prefix.symbol;\n };\n }\n if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n format = match.join(\"\");\n } else {\n format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n }\n return d3.format(format);\n }\n var d3_scale_linearFormatSignificant = {\n s: 1,\n g: 1,\n p: 1,\n r: 1,\n e: 1\n };\n function d3_scale_linearPrecision(value) {\n return -Math.floor(Math.log(value) / Math.LN10 + .01);\n }\n function d3_scale_linearFormatPrecision(type, range) {\n var p = d3_scale_linearPrecision(range[2]);\n return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n }\n d3.scale.log = function() {\n return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n };\n function d3_scale_log(linear, base, positive, domain) {\n function log(x) {\n return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n }\n function pow(x) {\n return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n }\n function scale(x) {\n return linear(log(x));\n }\n scale.invert = function(x) {\n return pow(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n positive = x[0] >= 0;\n linear.domain((domain = x.map(Number)).map(log));\n return scale;\n };\n scale.base = function(_) {\n if (!arguments.length) return base;\n base = +_;\n linear.domain(domain.map(log));\n return scale;\n };\n scale.nice = function() {\n var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n linear.domain(niced);\n domain = niced.map(pow);\n return scale;\n };\n scale.ticks = function() {\n var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n if (isFinite(j - i)) {\n if (positive) {\n for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n ticks.push(pow(i));\n } else {\n ticks.push(pow(i));\n for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n }\n for (i = 0; ticks[i] < u; i++) {}\n for (j = ticks.length; ticks[j - 1] > v; j--) {}\n ticks = ticks.slice(i, j);\n }\n return ticks;\n };\n scale.tickFormat = function(n, format) {\n if (!arguments.length) return d3_scale_logFormat;\n if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n var k = Math.max(1, base * n / scale.ticks().length);\n return function(d) {\n var i = d / pow(Math.round(log(d)));\n if (i * base < base - .5) i *= base;\n return i <= k ? format(d) : \"\";\n };\n };\n scale.copy = function() {\n return d3_scale_log(linear.copy(), base, positive, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n floor: function(x) {\n return -Math.ceil(-x);\n },\n ceil: function(x) {\n return -Math.floor(-x);\n }\n };\n d3.scale.pow = function() {\n return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n };\n function d3_scale_pow(linear, exponent, domain) {\n var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n function scale(x) {\n return linear(powp(x));\n }\n scale.invert = function(x) {\n return powb(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n linear.domain((domain = x.map(Number)).map(powp));\n return scale;\n };\n scale.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n scale.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n scale.nice = function(m) {\n return scale.domain(d3_scale_linearNice(domain, m));\n };\n scale.exponent = function(x) {\n if (!arguments.length) return exponent;\n powp = d3_scale_powPow(exponent = x);\n powb = d3_scale_powPow(1 / exponent);\n linear.domain(domain.map(powp));\n return scale;\n };\n scale.copy = function() {\n return d3_scale_pow(linear.copy(), exponent, domain);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_scale_powPow(e) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n };\n }\n d3.scale.sqrt = function() {\n return d3.scale.pow().exponent(.5);\n };\n d3.scale.ordinal = function() {\n return d3_scale_ordinal([], {\n t: \"range\",\n a: [ [] ]\n });\n };\n function d3_scale_ordinal(domain, ranger) {\n var index, range, rangeBand;\n function scale(x) {\n return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n }\n function steps(start, step) {\n return d3.range(domain.length).map(function(i) {\n return start + step * i;\n });\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = [];\n index = new d3_Map();\n var i = -1, n = x.length, xi;\n while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n return scale[ranger.t].apply(scale, ranger.a);\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n rangeBand = 0;\n ranger = {\n t: \"range\",\n a: arguments\n };\n return scale;\n };\n scale.rangePoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n 0) : (stop - start) / (domain.length - 1 + padding);\n range = steps(start + step * padding / 2, step);\n rangeBand = 0;\n ranger = {\n t: \"rangePoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundPoints = function(x, padding) {\n if (arguments.length < 2) padding = 0;\n var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n 0) : (stop - start) / (domain.length - 1 + padding) | 0;\n range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n rangeBand = 0;\n ranger = {\n t: \"rangeRoundPoints\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n range = steps(start + step * outerPadding, step);\n if (reverse) range.reverse();\n rangeBand = step * (1 - padding);\n ranger = {\n t: \"rangeBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeRoundBands = function(x, padding, outerPadding) {\n if (arguments.length < 2) padding = 0;\n if (arguments.length < 3) outerPadding = padding;\n var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n if (reverse) range.reverse();\n rangeBand = Math.round(step * (1 - padding));\n ranger = {\n t: \"rangeRoundBands\",\n a: arguments\n };\n return scale;\n };\n scale.rangeBand = function() {\n return rangeBand;\n };\n scale.rangeExtent = function() {\n return d3_scaleExtent(ranger.a[0]);\n };\n scale.copy = function() {\n return d3_scale_ordinal(domain, ranger);\n };\n return scale.domain(domain);\n }\n d3.scale.category10 = function() {\n return d3.scale.ordinal().range(d3_category10);\n };\n d3.scale.category20 = function() {\n return d3.scale.ordinal().range(d3_category20);\n };\n d3.scale.category20b = function() {\n return d3.scale.ordinal().range(d3_category20b);\n };\n d3.scale.category20c = function() {\n return d3.scale.ordinal().range(d3_category20c);\n };\n var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n d3.scale.quantile = function() {\n return d3_scale_quantile([], []);\n };\n function d3_scale_quantile(domain, range) {\n var thresholds;\n function rescale() {\n var k = 0, q = range.length;\n thresholds = [];\n while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n return scale;\n }\n function scale(x) {\n if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n }\n scale.domain = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.quantiles = function() {\n return thresholds;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n };\n scale.copy = function() {\n return d3_scale_quantile(domain, range);\n };\n return rescale();\n }\n d3.scale.quantize = function() {\n return d3_scale_quantize(0, 1, [ 0, 1 ]);\n };\n function d3_scale_quantize(x0, x1, range) {\n var kx, i;\n function scale(x) {\n return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n }\n function rescale() {\n kx = range.length / (x1 - x0);\n i = range.length - 1;\n return scale;\n }\n scale.domain = function(x) {\n if (!arguments.length) return [ x0, x1 ];\n x0 = +x[0];\n x1 = +x[x.length - 1];\n return rescale();\n };\n scale.range = function(x) {\n if (!arguments.length) return range;\n range = x;\n return rescale();\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n y = y < 0 ? NaN : y / kx + x0;\n return [ y, y + 1 / kx ];\n };\n scale.copy = function() {\n return d3_scale_quantize(x0, x1, range);\n };\n return rescale();\n }\n d3.scale.threshold = function() {\n return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n };\n function d3_scale_threshold(domain, range) {\n function scale(x) {\n if (x <= x) return range[d3.bisect(domain, x)];\n }\n scale.domain = function(_) {\n if (!arguments.length) return domain;\n domain = _;\n return scale;\n };\n scale.range = function(_) {\n if (!arguments.length) return range;\n range = _;\n return scale;\n };\n scale.invertExtent = function(y) {\n y = range.indexOf(y);\n return [ domain[y - 1], domain[y] ];\n };\n scale.copy = function() {\n return d3_scale_threshold(domain, range);\n };\n return scale;\n }\n d3.scale.identity = function() {\n return d3_scale_identity([ 0, 1 ]);\n };\n function d3_scale_identity(domain) {\n function identity(x) {\n return +x;\n }\n identity.invert = identity;\n identity.domain = identity.range = function(x) {\n if (!arguments.length) return domain;\n domain = x.map(identity);\n return identity;\n };\n identity.ticks = function(m) {\n return d3_scale_linearTicks(domain, m);\n };\n identity.tickFormat = function(m, format) {\n return d3_scale_linearTickFormat(domain, m, format);\n };\n identity.copy = function() {\n return d3_scale_identity(domain);\n };\n return identity;\n }\n d3.svg = {};\n function d3_zero() {\n return 0;\n }\n d3.svg.arc = function() {\n var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n function arc() {\n var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n if (!cw) p1 *= -1;\n if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n }\n if (r1) {\n x0 = r1 * Math.cos(a0 + p1);\n y0 = r1 * Math.sin(a0 + p1);\n x1 = r1 * Math.cos(a1 - p1);\n y1 = r1 * Math.sin(a1 - p1);\n var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;\n if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n var h1 = (a0 + a1) / 2;\n x0 = r1 * Math.cos(h1);\n y0 = r1 * Math.sin(h1);\n x1 = y1 = null;\n }\n } else {\n x0 = y0 = 0;\n }\n if (r0) {\n x2 = r0 * Math.cos(a1 - p0);\n y2 = r0 * Math.sin(a1 - p0);\n x3 = r0 * Math.cos(a0 + p0);\n y3 = r0 * Math.sin(a0 + p0);\n var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;\n if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n var h0 = (a0 + a1) / 2;\n x2 = r0 * Math.cos(h0);\n y2 = r0 * Math.sin(h0);\n x3 = y3 = null;\n }\n } else {\n x2 = y2 = 0;\n }\n if (da > ε && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n cr = r0 < r1 ^ cw ? 0 : 1;\n var rc1 = rc, rc0 = rc;\n if (da < π) {\n var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n }\n if (x1 != null) {\n var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n if (rc === rc1) {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n } else {\n path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n }\n if (x3 != null) {\n var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n if (rc === rc0) {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n } else {\n path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n }\n } else {\n path.push(\"L\", x2, \",\", y2);\n }\n } else {\n path.push(\"M\", x0, \",\", y0);\n if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n path.push(\"L\", x2, \",\", y2);\n if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n }\n path.push(\"Z\");\n return path.join(\"\");\n }\n function circleSegment(r1, cw) {\n return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n }\n arc.innerRadius = function(v) {\n if (!arguments.length) return innerRadius;\n innerRadius = d3_functor(v);\n return arc;\n };\n arc.outerRadius = function(v) {\n if (!arguments.length) return outerRadius;\n outerRadius = d3_functor(v);\n return arc;\n };\n arc.cornerRadius = function(v) {\n if (!arguments.length) return cornerRadius;\n cornerRadius = d3_functor(v);\n return arc;\n };\n arc.padRadius = function(v) {\n if (!arguments.length) return padRadius;\n padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n return arc;\n };\n arc.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return arc;\n };\n arc.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return arc;\n };\n arc.padAngle = function(v) {\n if (!arguments.length) return padAngle;\n padAngle = d3_functor(v);\n return arc;\n };\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;\n return [ Math.cos(a) * r, Math.sin(a) * r ];\n };\n return arc;\n };\n var d3_svg_arcAuto = \"auto\";\n function d3_svg_arcInnerRadius(d) {\n return d.innerRadius;\n }\n function d3_svg_arcOuterRadius(d) {\n return d.outerRadius;\n }\n function d3_svg_arcStartAngle(d) {\n return d.startAngle;\n }\n function d3_svg_arcEndAngle(d) {\n return d.endAngle;\n }\n function d3_svg_arcPadAngle(d) {\n return d && d.padAngle;\n }\n function d3_svg_arcSweep(x0, y0, x1, y1) {\n return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n }\n function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n }\n function d3_svg_line(projection) {\n var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n function line(data) {\n var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n function segment() {\n segments.push(\"M\", interpolate(projection(points), tension));\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n } else if (points.length) {\n segment();\n points = [];\n }\n }\n if (points.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n line.x = function(_) {\n if (!arguments.length) return x;\n x = _;\n return line;\n };\n line.y = function(_) {\n if (!arguments.length) return y;\n y = _;\n return line;\n };\n line.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return line;\n };\n line.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n return line;\n };\n line.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return line;\n };\n return line;\n }\n d3.svg.line = function() {\n return d3_svg_line(d3_identity);\n };\n var d3_svg_lineInterpolators = d3.map({\n linear: d3_svg_lineLinear,\n \"linear-closed\": d3_svg_lineLinearClosed,\n step: d3_svg_lineStep,\n \"step-before\": d3_svg_lineStepBefore,\n \"step-after\": d3_svg_lineStepAfter,\n basis: d3_svg_lineBasis,\n \"basis-open\": d3_svg_lineBasisOpen,\n \"basis-closed\": d3_svg_lineBasisClosed,\n bundle: d3_svg_lineBundle,\n cardinal: d3_svg_lineCardinal,\n \"cardinal-open\": d3_svg_lineCardinalOpen,\n \"cardinal-closed\": d3_svg_lineCardinalClosed,\n monotone: d3_svg_lineMonotone\n });\n d3_svg_lineInterpolators.forEach(function(key, value) {\n value.key = key;\n value.closed = /-closed$/.test(key);\n });\n function d3_svg_lineLinear(points) {\n return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n }\n function d3_svg_lineLinearClosed(points) {\n return points.join(\"L\") + \"Z\";\n }\n function d3_svg_lineStep(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n if (n > 1) path.push(\"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepBefore(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n return path.join(\"\");\n }\n function d3_svg_lineStepAfter(points) {\n var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n return path.join(\"\");\n }\n function d3_svg_lineCardinalOpen(points, tension) {\n return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineCardinalClosed(points, tension) {\n return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n }\n function d3_svg_lineCardinal(points, tension) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n }\n function d3_svg_lineHermite(points, tangents) {\n if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n return d3_svg_lineLinear(points);\n }\n var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n if (quad) {\n path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n p0 = points[1];\n pi = 2;\n }\n if (tangents.length > 1) {\n t = tangents[1];\n p = points[pi];\n pi++;\n path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n for (var i = 2; i < tangents.length; i++, pi++) {\n p = points[pi];\n t = tangents[i];\n path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n }\n }\n if (quad) {\n var lp = points[pi];\n path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n }\n return path;\n }\n function d3_svg_lineCardinalTangents(points, tension) {\n var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n while (++i < n) {\n p0 = p1;\n p1 = p2;\n p2 = points[i];\n tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n }\n return tangents;\n }\n function d3_svg_lineBasis(points) {\n if (points.length < 3) return d3_svg_lineLinear(points);\n var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n points.push(points[n - 1]);\n while (++i <= n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n points.pop();\n path.push(\"L\", pi);\n return path.join(\"\");\n }\n function d3_svg_lineBasisOpen(points) {\n if (points.length < 4) return d3_svg_lineLinear(points);\n var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n while (++i < 3) {\n pi = points[i];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n --i;\n while (++i < n) {\n pi = points[i];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBasisClosed(points) {\n var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n while (++i < 4) {\n pi = points[i % n];\n px.push(pi[0]);\n py.push(pi[1]);\n }\n path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n --i;\n while (++i < m) {\n pi = points[i % n];\n px.shift();\n px.push(pi[0]);\n py.shift();\n py.push(pi[1]);\n d3_svg_lineBasisBezier(path, px, py);\n }\n return path.join(\"\");\n }\n function d3_svg_lineBundle(points, tension) {\n var n = points.length - 1;\n if (n) {\n var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n while (++i <= n) {\n p = points[i];\n t = i / n;\n p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n }\n }\n return d3_svg_lineBasis(points);\n }\n function d3_svg_lineDot4(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n }\n var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n function d3_svg_lineBasisBezier(path, x, y) {\n path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n }\n function d3_svg_lineSlope(p0, p1) {\n return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n }\n function d3_svg_lineFiniteDifferences(points) {\n var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n while (++i < j) {\n m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n }\n m[i] = d;\n return m;\n }\n function d3_svg_lineMonotoneTangents(points) {\n var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n while (++i < j) {\n d = d3_svg_lineSlope(points[i], points[i + 1]);\n if (abs(d) < ε) {\n m[i] = m[i + 1] = 0;\n } else {\n a = m[i] / d;\n b = m[i + 1] / d;\n s = a * a + b * b;\n if (s > 9) {\n s = d * 3 / Math.sqrt(s);\n m[i] = s * a;\n m[i + 1] = s * b;\n }\n }\n }\n i = -1;\n while (++i <= j) {\n s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n tangents.push([ s || 0, m[i] * s || 0 ]);\n }\n return tangents;\n }\n function d3_svg_lineMonotone(points) {\n return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n }\n d3.svg.line.radial = function() {\n var line = d3_svg_line(d3_svg_lineRadial);\n line.radius = line.x, delete line.x;\n line.angle = line.y, delete line.y;\n return line;\n };\n function d3_svg_lineRadial(points) {\n var point, i = -1, n = points.length, r, a;\n while (++i < n) {\n point = points[i];\n r = point[0];\n a = point[1] - halfπ;\n point[0] = r * Math.cos(a);\n point[1] = r * Math.sin(a);\n }\n return points;\n }\n function d3_svg_area(projection) {\n var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n function area(data) {\n var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n return x;\n } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n return y;\n } : d3_functor(y1), x, y;\n function segment() {\n segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n }\n while (++i < n) {\n if (defined.call(this, d = data[i], i)) {\n points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n } else if (points0.length) {\n segment();\n points0 = [];\n points1 = [];\n }\n }\n if (points0.length) segment();\n return segments.length ? segments.join(\"\") : null;\n }\n area.x = function(_) {\n if (!arguments.length) return x1;\n x0 = x1 = _;\n return area;\n };\n area.x0 = function(_) {\n if (!arguments.length) return x0;\n x0 = _;\n return area;\n };\n area.x1 = function(_) {\n if (!arguments.length) return x1;\n x1 = _;\n return area;\n };\n area.y = function(_) {\n if (!arguments.length) return y1;\n y0 = y1 = _;\n return area;\n };\n area.y0 = function(_) {\n if (!arguments.length) return y0;\n y0 = _;\n return area;\n };\n area.y1 = function(_) {\n if (!arguments.length) return y1;\n y1 = _;\n return area;\n };\n area.defined = function(_) {\n if (!arguments.length) return defined;\n defined = _;\n return area;\n };\n area.interpolate = function(_) {\n if (!arguments.length) return interpolateKey;\n if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n interpolateReverse = interpolate.reverse || interpolate;\n L = interpolate.closed ? \"M\" : \"L\";\n return area;\n };\n area.tension = function(_) {\n if (!arguments.length) return tension;\n tension = _;\n return area;\n };\n return area;\n }\n d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n d3.svg.area = function() {\n return d3_svg_area(d3_identity);\n };\n d3.svg.area.radial = function() {\n var area = d3_svg_area(d3_svg_lineRadial);\n area.radius = area.x, delete area.x;\n area.innerRadius = area.x0, delete area.x0;\n area.outerRadius = area.x1, delete area.x1;\n area.angle = area.y, delete area.y;\n area.startAngle = area.y0, delete area.y0;\n area.endAngle = area.y1, delete area.y1;\n return area;\n };\n d3.svg.chord = function() {\n var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n function chord(d, i) {\n var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n }\n function subgroup(self, f, d, i) {\n var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;\n return {\n r: r,\n a0: a0,\n a1: a1,\n p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n };\n }\n function equals(a, b) {\n return a.a0 == b.a0 && a.a1 == b.a1;\n }\n function arc(r, p, a) {\n return \"A\" + r + \",\" + r + \" 0 \" + +(a > π) + \",1 \" + p;\n }\n function curve(r0, p0, r1, p1) {\n return \"Q 0,0 \" + p1;\n }\n chord.radius = function(v) {\n if (!arguments.length) return radius;\n radius = d3_functor(v);\n return chord;\n };\n chord.source = function(v) {\n if (!arguments.length) return source;\n source = d3_functor(v);\n return chord;\n };\n chord.target = function(v) {\n if (!arguments.length) return target;\n target = d3_functor(v);\n return chord;\n };\n chord.startAngle = function(v) {\n if (!arguments.length) return startAngle;\n startAngle = d3_functor(v);\n return chord;\n };\n chord.endAngle = function(v) {\n if (!arguments.length) return endAngle;\n endAngle = d3_functor(v);\n return chord;\n };\n return chord;\n };\n function d3_svg_chordRadius(d) {\n return d.radius;\n }\n d3.svg.diagonal = function() {\n var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n function diagonal(d, i) {\n var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n x: p0.x,\n y: m\n }, {\n x: p3.x,\n y: m\n }, p3 ];\n p = p.map(projection);\n return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n }\n diagonal.source = function(x) {\n if (!arguments.length) return source;\n source = d3_functor(x);\n return diagonal;\n };\n diagonal.target = function(x) {\n if (!arguments.length) return target;\n target = d3_functor(x);\n return diagonal;\n };\n diagonal.projection = function(x) {\n if (!arguments.length) return projection;\n projection = x;\n return diagonal;\n };\n return diagonal;\n };\n function d3_svg_diagonalProjection(d) {\n return [ d.x, d.y ];\n }\n d3.svg.diagonal.radial = function() {\n var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n diagonal.projection = function(x) {\n return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n };\n return diagonal;\n };\n function d3_svg_diagonalRadialProjection(projection) {\n return function() {\n var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;\n return [ r * Math.cos(a), r * Math.sin(a) ];\n };\n }\n d3.svg.symbol = function() {\n var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n function symbol(d, i) {\n return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n }\n symbol.type = function(x) {\n if (!arguments.length) return type;\n type = d3_functor(x);\n return symbol;\n };\n symbol.size = function(x) {\n if (!arguments.length) return size;\n size = d3_functor(x);\n return symbol;\n };\n return symbol;\n };\n function d3_svg_symbolSize() {\n return 64;\n }\n function d3_svg_symbolType() {\n return \"circle\";\n }\n function d3_svg_symbolCircle(size) {\n var r = Math.sqrt(size / π);\n return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n }\n var d3_svg_symbols = d3.map({\n circle: d3_svg_symbolCircle,\n cross: function(size) {\n var r = Math.sqrt(size / 5) / 2;\n return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n },\n diamond: function(size) {\n var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n },\n square: function(size) {\n var r = Math.sqrt(size) / 2;\n return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n },\n \"triangle-down\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n },\n \"triangle-up\": function(size) {\n var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n }\n });\n d3.svg.symbolTypes = d3_svg_symbols.keys();\n var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n d3_selectionPrototype.transition = function(name) {\n var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n time: Date.now(),\n ease: d3_ease_cubicInOut,\n delay: 0,\n duration: 250\n };\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_selectionPrototype.interrupt = function(name) {\n return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n };\n var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n function d3_selection_interruptNS(ns) {\n return function() {\n var lock, activeId, active;\n if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n active.timer.c = null;\n active.timer.t = NaN;\n if (--lock.count) delete lock[activeId]; else delete this[ns];\n lock.active += .5;\n active.event && active.event.interrupt.call(this, this.__data__, active.index);\n }\n };\n }\n function d3_transition(groups, ns, id) {\n d3_subclass(groups, d3_transitionPrototype);\n groups.namespace = ns;\n groups.id = id;\n return groups;\n }\n var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n d3_transitionPrototype.call = d3_selectionPrototype.call;\n d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n d3_transitionPrototype.node = d3_selectionPrototype.node;\n d3_transitionPrototype.size = d3_selectionPrototype.size;\n d3.transition = function(selection, name) {\n return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n };\n d3.transition.prototype = d3_transitionPrototype;\n d3_transitionPrototype.select = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n selector = d3_selection_selector(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n subgroup.push(subnode);\n } else {\n subgroup.push(null);\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.selectAll = function(selector) {\n var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n selector = d3_selection_selectorAll(selector);\n for (var j = -1, m = this.length; ++j < m; ) {\n for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n if (node = group[i]) {\n transition = node[ns][id];\n subnodes = selector.call(node, node.__data__, i, j);\n subgroups.push(subgroup = []);\n for (var k = -1, o = subnodes.length; ++k < o; ) {\n if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n subgroup.push(subnode);\n }\n }\n }\n }\n return d3_transition(subgroups, ns, id);\n };\n d3_transitionPrototype.filter = function(filter) {\n var subgroups = [], subgroup, group, node;\n if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n subgroup.push(node);\n }\n }\n }\n return d3_transition(subgroups, this.namespace, this.id);\n };\n d3_transitionPrototype.tween = function(name, tween) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n return d3_selection_each(this, tween == null ? function(node) {\n node[ns][id].tween.remove(name);\n } : function(node) {\n node[ns][id].tween.set(name, tween);\n });\n };\n function d3_transition_tween(groups, name, value, tween) {\n var id = groups.id, ns = groups.namespace;\n return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n } : (value = tween(value), function(node) {\n node[ns][id].tween.set(name, value);\n }));\n }\n d3_transitionPrototype.attr = function(nameNS, value) {\n if (arguments.length < 2) {\n for (value in nameNS) this.attr(value, nameNS[value]);\n return this;\n }\n var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n function attrNull() {\n this.removeAttribute(name);\n }\n function attrNullNS() {\n this.removeAttributeNS(name.space, name.local);\n }\n function attrTween(b) {\n return b == null ? attrNull : (b += \"\", function() {\n var a = this.getAttribute(name), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttribute(name, i(t));\n });\n });\n }\n function attrTweenNS(b) {\n return b == null ? attrNullNS : (b += \"\", function() {\n var a = this.getAttributeNS(name.space, name.local), i;\n return a !== b && (i = interpolate(a, b), function(t) {\n this.setAttributeNS(name.space, name.local, i(t));\n });\n });\n }\n return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.attrTween = function(nameNS, tween) {\n var name = d3.ns.qualify(nameNS);\n function attrTween(d, i) {\n var f = tween.call(this, d, i, this.getAttribute(name));\n return f && function(t) {\n this.setAttribute(name, f(t));\n };\n }\n function attrTweenNS(d, i) {\n var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n return f && function(t) {\n this.setAttributeNS(name.space, name.local, f(t));\n };\n }\n return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n };\n d3_transitionPrototype.style = function(name, value, priority) {\n var n = arguments.length;\n if (n < 3) {\n if (typeof name !== \"string\") {\n if (n < 2) value = \"\";\n for (priority in name) this.style(priority, name[priority], value);\n return this;\n }\n priority = \"\";\n }\n function styleNull() {\n this.style.removeProperty(name);\n }\n function styleString(b) {\n return b == null ? styleNull : (b += \"\", function() {\n var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n return a !== b && (i = d3_interpolate(a, b), function(t) {\n this.style.setProperty(name, i(t), priority);\n });\n });\n }\n return d3_transition_tween(this, \"style.\" + name, value, styleString);\n };\n d3_transitionPrototype.styleTween = function(name, tween, priority) {\n if (arguments.length < 3) priority = \"\";\n function styleTween(d, i) {\n var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n return f && function(t) {\n this.style.setProperty(name, f(t), priority);\n };\n }\n return this.tween(\"style.\" + name, styleTween);\n };\n d3_transitionPrototype.text = function(value) {\n return d3_transition_tween(this, \"text\", value, d3_transition_text);\n };\n function d3_transition_text(b) {\n if (b == null) b = \"\";\n return function() {\n this.textContent = b;\n };\n }\n d3_transitionPrototype.remove = function() {\n var ns = this.namespace;\n return this.each(\"end.transition\", function() {\n var p;\n if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n });\n };\n d3_transitionPrototype.ease = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].ease;\n if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n return d3_selection_each(this, function(node) {\n node[ns][id].ease = value;\n });\n };\n d3_transitionPrototype.delay = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].delay;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].delay = +value.call(node, node.__data__, i, j);\n } : (value = +value, function(node) {\n node[ns][id].delay = value;\n }));\n };\n d3_transitionPrototype.duration = function(value) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 1) return this.node()[ns][id].duration;\n return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n } : (value = Math.max(1, value), function(node) {\n node[ns][id].duration = value;\n }));\n };\n d3_transitionPrototype.each = function(type, listener) {\n var id = this.id, ns = this.namespace;\n if (arguments.length < 2) {\n var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n try {\n d3_transitionInheritId = id;\n d3_selection_each(this, function(node, i, j) {\n d3_transitionInherit = node[ns][id];\n type.call(node, node.__data__, i, j);\n });\n } finally {\n d3_transitionInherit = inherit;\n d3_transitionInheritId = inheritId;\n }\n } else {\n d3_selection_each(this, function(node) {\n var transition = node[ns][id];\n (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n });\n }\n return this;\n };\n d3_transitionPrototype.transition = function() {\n var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n for (var j = 0, m = this.length; j < m; j++) {\n subgroups.push(subgroup = []);\n for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n if (node = group[i]) {\n transition = node[ns][id0];\n d3_transitionNode(node, i, ns, id1, {\n time: transition.time,\n ease: transition.ease,\n delay: transition.delay + transition.duration,\n duration: transition.duration\n });\n }\n subgroup.push(node);\n }\n }\n return d3_transition(subgroups, ns, id1);\n };\n function d3_transitionNamespace(name) {\n return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n }\n function d3_transitionNode(node, i, ns, id, inherit) {\n var lock = node[ns] || (node[ns] = {\n active: 0,\n count: 0\n }), transition = lock[id], time, timer, duration, ease, tweens;\n function schedule(elapsed) {\n var delay = transition.delay;\n timer.t = delay + time;\n if (delay <= elapsed) return start(elapsed - delay);\n timer.c = start;\n }\n function start(elapsed) {\n var activeId = lock.active, active = lock[activeId];\n if (active) {\n active.timer.c = null;\n active.timer.t = NaN;\n --lock.count;\n delete lock[activeId];\n active.event && active.event.interrupt.call(node, node.__data__, active.index);\n }\n for (var cancelId in lock) {\n if (+cancelId < id) {\n var cancel = lock[cancelId];\n cancel.timer.c = null;\n cancel.timer.t = NaN;\n --lock.count;\n delete lock[cancelId];\n }\n }\n timer.c = tick;\n d3_timer(function() {\n if (timer.c && tick(elapsed || 1)) {\n timer.c = null;\n timer.t = NaN;\n }\n return 1;\n }, 0, time);\n lock.active = id;\n transition.event && transition.event.start.call(node, node.__data__, i);\n tweens = [];\n transition.tween.forEach(function(key, value) {\n if (value = value.call(node, node.__data__, i)) {\n tweens.push(value);\n }\n });\n ease = transition.ease;\n duration = transition.duration;\n }\n function tick(elapsed) {\n var t = elapsed / duration, e = ease(t), n = tweens.length;\n while (n > 0) {\n tweens[--n].call(node, e);\n }\n if (t >= 1) {\n transition.event && transition.event.end.call(node, node.__data__, i);\n if (--lock.count) delete lock[id]; else delete node[ns];\n return 1;\n }\n }\n if (!transition) {\n time = inherit.time;\n timer = d3_timer(schedule, 0, time);\n transition = lock[id] = {\n tween: new d3_Map(),\n time: time,\n timer: timer,\n delay: inherit.delay,\n duration: inherit.duration,\n ease: inherit.ease,\n index: i\n };\n inherit = null;\n ++lock.count;\n }\n }\n d3.svg.axis = function() {\n var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n function axis(g) {\n g.each(function() {\n var g = d3.select(this);\n var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ε), tickExit = d3.transition(tick.exit()).style(\"opacity\", ε).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n d3.transition(path));\n tickEnter.append(\"line\");\n tickEnter.append(\"text\");\n var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n if (orient === \"bottom\" || orient === \"top\") {\n tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n } else {\n tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n }\n lineEnter.attr(y2, sign * innerTickSize);\n textEnter.attr(y1, sign * tickSpacing);\n lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n if (scale1.rangeBand) {\n var x = scale1, dx = x.rangeBand() / 2;\n scale0 = scale1 = function(d) {\n return x(d) + dx;\n };\n } else if (scale0.rangeBand) {\n scale0 = scale1;\n } else {\n tickExit.call(tickTransform, scale1, scale0);\n }\n tickEnter.call(tickTransform, scale0, scale1);\n tickUpdate.call(tickTransform, scale1, scale1);\n });\n }\n axis.scale = function(x) {\n if (!arguments.length) return scale;\n scale = x;\n return axis;\n };\n axis.orient = function(x) {\n if (!arguments.length) return orient;\n orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n return axis;\n };\n axis.ticks = function() {\n if (!arguments.length) return tickArguments_;\n tickArguments_ = d3_array(arguments);\n return axis;\n };\n axis.tickValues = function(x) {\n if (!arguments.length) return tickValues;\n tickValues = x;\n return axis;\n };\n axis.tickFormat = function(x) {\n if (!arguments.length) return tickFormat_;\n tickFormat_ = x;\n return axis;\n };\n axis.tickSize = function(x) {\n var n = arguments.length;\n if (!n) return innerTickSize;\n innerTickSize = +x;\n outerTickSize = +arguments[n - 1];\n return axis;\n };\n axis.innerTickSize = function(x) {\n if (!arguments.length) return innerTickSize;\n innerTickSize = +x;\n return axis;\n };\n axis.outerTickSize = function(x) {\n if (!arguments.length) return outerTickSize;\n outerTickSize = +x;\n return axis;\n };\n axis.tickPadding = function(x) {\n if (!arguments.length) return tickPadding;\n tickPadding = +x;\n return axis;\n };\n axis.tickSubdivide = function() {\n return arguments.length && axis;\n };\n return axis;\n };\n var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function d3_svg_axisX(selection, x0, x1) {\n selection.attr(\"transform\", function(d) {\n var v0 = x0(d);\n return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n });\n }\n function d3_svg_axisY(selection, y0, y1) {\n selection.attr(\"transform\", function(d) {\n var v0 = y0(d);\n return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n });\n }\n d3.svg.brush = function() {\n var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n function brush(g) {\n g.each(function() {\n var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n var background = g.selectAll(\".background\").data([ 0 ]);\n background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n resize.exit().remove();\n resize.enter().append(\"g\").attr(\"class\", function(d) {\n return \"resize \" + d;\n }).style(\"cursor\", function(d) {\n return d3_svg_brushCursor[d];\n }).append(\"rect\").attr(\"x\", function(d) {\n return /[ew]$/.test(d) ? -3 : null;\n }).attr(\"y\", function(d) {\n return /^[ns]/.test(d) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n resize.style(\"display\", brush.empty() ? \"none\" : null);\n var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n if (x) {\n range = d3_scaleRange(x);\n backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n redrawX(gUpdate);\n }\n if (y) {\n range = d3_scaleRange(y);\n backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n redrawY(gUpdate);\n }\n redraw(gUpdate);\n });\n }\n brush.event = function(g) {\n g.each(function() {\n var event_ = event.of(this, arguments), extent1 = {\n x: xExtent,\n y: yExtent,\n i: xExtentDomain,\n j: yExtentDomain\n }, extent0 = this.__chart__ || extent1;\n this.__chart__ = extent1;\n if (d3_transitionInheritId) {\n d3.select(this).transition().each(\"start.brush\", function() {\n xExtentDomain = extent0.i;\n yExtentDomain = extent0.j;\n xExtent = extent0.x;\n yExtent = extent0.y;\n event_({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n xExtentDomain = yExtentDomain = null;\n return function(t) {\n xExtent = extent1.x = xi(t);\n yExtent = extent1.y = yi(t);\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n xExtentDomain = extent1.i;\n yExtentDomain = extent1.j;\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n });\n } else {\n event_({\n type: \"brushstart\"\n });\n event_({\n type: \"brush\",\n mode: \"resize\"\n });\n event_({\n type: \"brushend\"\n });\n }\n });\n };\n function redraw(g) {\n g.selectAll(\".resize\").attr(\"transform\", function(d) {\n return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n });\n }\n function redrawX(g) {\n g.select(\".extent\").attr(\"x\", xExtent[0]);\n g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n }\n function redrawY(g) {\n g.select(\".extent\").attr(\"y\", yExtent[0]);\n g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n }\n function brushstart() {\n var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n if (d3.event.changedTouches) {\n w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n } else {\n w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n }\n g.interrupt().selectAll(\"*\").interrupt();\n if (dragging) {\n origin[0] = xExtent[0] - origin[0];\n origin[1] = yExtent[0] - origin[1];\n } else if (resizing) {\n var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n origin[0] = xExtent[ex];\n origin[1] = yExtent[ey];\n } else if (d3.event.altKey) center = origin.slice();\n g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n event_({\n type: \"brushstart\"\n });\n brushmove();\n function keydown() {\n if (d3.event.keyCode == 32) {\n if (!dragging) {\n center = null;\n origin[0] -= xExtent[1];\n origin[1] -= yExtent[1];\n dragging = 2;\n }\n d3_eventPreventDefault();\n }\n }\n function keyup() {\n if (d3.event.keyCode == 32 && dragging == 2) {\n origin[0] += xExtent[1];\n origin[1] += yExtent[1];\n dragging = 0;\n d3_eventPreventDefault();\n }\n }\n function brushmove() {\n var point = d3.mouse(target), moved = false;\n if (offset) {\n point[0] += offset[0];\n point[1] += offset[1];\n }\n if (!dragging) {\n if (d3.event.altKey) {\n if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n origin[0] = xExtent[+(point[0] < center[0])];\n origin[1] = yExtent[+(point[1] < center[1])];\n } else center = null;\n }\n if (resizingX && move1(point, x, 0)) {\n redrawX(g);\n moved = true;\n }\n if (resizingY && move1(point, y, 1)) {\n redrawY(g);\n moved = true;\n }\n if (moved) {\n redraw(g);\n event_({\n type: \"brush\",\n mode: dragging ? \"move\" : \"resize\"\n });\n }\n }\n function move1(point, scale, i) {\n var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n if (dragging) {\n r0 -= position;\n r1 -= size + position;\n }\n min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n if (dragging) {\n max = (min += position) + size;\n } else {\n if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n if (position < min) {\n max = min;\n min = position;\n } else {\n max = position;\n }\n }\n if (extent[0] != min || extent[1] != max) {\n if (i) yExtentDomain = null; else xExtentDomain = null;\n extent[0] = min;\n extent[1] = max;\n return true;\n }\n }\n function brushend() {\n brushmove();\n g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n d3.select(\"body\").style(\"cursor\", null);\n w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n dragRestore();\n event_({\n type: \"brushend\"\n });\n }\n }\n brush.x = function(z) {\n if (!arguments.length) return x;\n x = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.y = function(z) {\n if (!arguments.length) return y;\n y = z;\n resizes = d3_svg_brushResizes[!x << 1 | !y];\n return brush;\n };\n brush.clamp = function(z) {\n if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n return brush;\n };\n brush.extent = function(z) {\n var x0, x1, y0, y1, t;\n if (!arguments.length) {\n if (x) {\n if (xExtentDomain) {\n x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n } else {\n x0 = xExtent[0], x1 = xExtent[1];\n if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n }\n }\n if (y) {\n if (yExtentDomain) {\n y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n } else {\n y0 = yExtent[0], y1 = yExtent[1];\n if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n }\n }\n return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n }\n if (x) {\n x0 = z[0], x1 = z[1];\n if (y) x0 = x0[0], x1 = x1[0];\n xExtentDomain = [ x0, x1 ];\n if (x.invert) x0 = x(x0), x1 = x(x1);\n if (x1 < x0) t = x0, x0 = x1, x1 = t;\n if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n }\n if (y) {\n y0 = z[0], y1 = z[1];\n if (x) y0 = y0[1], y1 = y1[1];\n yExtentDomain = [ y0, y1 ];\n if (y.invert) y0 = y(y0), y1 = y(y1);\n if (y1 < y0) t = y0, y0 = y1, y1 = t;\n if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n }\n return brush;\n };\n brush.clear = function() {\n if (!brush.empty()) {\n xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n xExtentDomain = yExtentDomain = null;\n }\n return brush;\n };\n brush.empty = function() {\n return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n };\n return d3.rebind(brush, event, \"on\");\n };\n var d3_svg_brushCursor = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n };\n var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n var d3_time_formatUtc = d3_time_format.utc;\n var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n function d3_time_formatIsoNative(date) {\n return date.toISOString();\n }\n d3_time_formatIsoNative.parse = function(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n };\n d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n d3_time.second = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 1e3) * 1e3);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n }, function(date) {\n return date.getSeconds();\n });\n d3_time.seconds = d3_time.second.range;\n d3_time.seconds.utc = d3_time.second.utc.range;\n d3_time.minute = d3_time_interval(function(date) {\n return new d3_date(Math.floor(date / 6e4) * 6e4);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n }, function(date) {\n return date.getMinutes();\n });\n d3_time.minutes = d3_time.minute.range;\n d3_time.minutes.utc = d3_time.minute.utc.range;\n d3_time.hour = d3_time_interval(function(date) {\n var timezone = date.getTimezoneOffset() / 60;\n return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n }, function(date, offset) {\n date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n }, function(date) {\n return date.getHours();\n });\n d3_time.hours = d3_time.hour.range;\n d3_time.hours.utc = d3_time.hour.utc.range;\n d3_time.month = d3_time_interval(function(date) {\n date = d3_time.day(date);\n date.setDate(1);\n return date;\n }, function(date, offset) {\n date.setMonth(date.getMonth() + offset);\n }, function(date) {\n return date.getMonth();\n });\n d3_time.months = d3_time.month.range;\n d3_time.months.utc = d3_time.month.utc.range;\n function d3_time_scale(linear, methods, format) {\n function scale(x) {\n return linear(x);\n }\n scale.invert = function(x) {\n return d3_time_scaleDate(linear.invert(x));\n };\n scale.domain = function(x) {\n if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n linear.domain(x);\n return scale;\n };\n function tickMethod(extent, count) {\n var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n return d / 31536e6;\n }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n }\n scale.nice = function(interval, skip) {\n var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n if (method) interval = method[0], skip = method[1];\n function skipped(date) {\n return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n }\n return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n floor: function(date) {\n while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n return date;\n },\n ceil: function(date) {\n while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n return date;\n }\n } : interval));\n };\n scale.ticks = function(interval, skip) {\n var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n range: interval\n }, skip ];\n if (method) interval = method[0], skip = method[1];\n return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n };\n scale.tickFormat = function() {\n return format;\n };\n scale.copy = function() {\n return d3_time_scale(linear.copy(), methods, format);\n };\n return d3_scale_linearRebind(scale, linear);\n }\n function d3_time_scaleDate(t) {\n return new Date(t);\n }\n var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n return d.getMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getHours();\n } ], [ \"%a %d\", function(d) {\n return d.getDay() && d.getDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getMonth();\n } ], [ \"%Y\", d3_true ] ]);\n var d3_time_scaleMilliseconds = {\n range: function(start, stop, step) {\n return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n },\n floor: d3_identity,\n ceil: d3_identity\n };\n d3_time_scaleLocalMethods.year = d3_time.year;\n d3_time.scale = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n };\n var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n return [ m[0].utc, m[1] ];\n });\n var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n return d.getUTCMilliseconds();\n } ], [ \":%S\", function(d) {\n return d.getUTCSeconds();\n } ], [ \"%I:%M\", function(d) {\n return d.getUTCMinutes();\n } ], [ \"%I %p\", function(d) {\n return d.getUTCHours();\n } ], [ \"%a %d\", function(d) {\n return d.getUTCDay() && d.getUTCDate() != 1;\n } ], [ \"%b %d\", function(d) {\n return d.getUTCDate() != 1;\n } ], [ \"%B\", function(d) {\n return d.getUTCMonth();\n } ], [ \"%Y\", d3_true ] ]);\n d3_time_scaleUtcMethods.year = d3_time.year.utc;\n d3_time.scale.utc = function() {\n return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n };\n d3.text = d3_xhrType(function(request) {\n return request.responseText;\n });\n d3.json = function(url, callback) {\n return d3_xhr(url, \"application/json\", d3_json, callback);\n };\n function d3_json(request) {\n return JSON.parse(request.responseText);\n }\n d3.html = function(url, callback) {\n return d3_xhr(url, \"text/html\", d3_html, callback);\n };\n function d3_html(request) {\n var range = d3_document.createRange();\n range.selectNode(d3_document.body);\n return range.createContextualFragment(request.responseText);\n }\n d3.xml = d3_xhrType(function(request) {\n return request.responseXML;\n });\n if (true) this.d3 = d3, !(__WEBPACK_AMD_DEFINE_FACTORY__ = (d3),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); else {}\n}();\n\n/***/ }),\n\n/***/ \"6eeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar createNonEnumerableProperty = __webpack_require__(\"9112\");\nvar has = __webpack_require__(\"5135\");\nvar setGlobal = __webpack_require__(\"ce4e\");\nvar inspectSource = __webpack_require__(\"8925\");\nvar InternalStateModule = __webpack_require__(\"69f3\");\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n\n/***/ }),\n\n/***/ \"6f04\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/map.js\nvar prefix = \"$\";\n\nfunction Map() {}\n\nMap.prototype = map.prototype = {\n constructor: Map,\n has: function(key) {\n return (prefix + key) in this;\n },\n get: function(key) {\n return this[prefix + key];\n },\n set: function(key, value) {\n this[prefix + key] = value;\n return this;\n },\n remove: function(key) {\n var property = prefix + key;\n return property in this && delete this[property];\n },\n clear: function() {\n for (var property in this) if (property[0] === prefix) delete this[property];\n },\n keys: function() {\n var keys = [];\n for (var property in this) if (property[0] === prefix) keys.push(property.slice(1));\n return keys;\n },\n values: function() {\n var values = [];\n for (var property in this) if (property[0] === prefix) values.push(this[property]);\n return values;\n },\n entries: function() {\n var entries = [];\n for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]});\n return entries;\n },\n size: function() {\n var size = 0;\n for (var property in this) if (property[0] === prefix) ++size;\n return size;\n },\n empty: function() {\n for (var property in this) if (property[0] === prefix) return false;\n return true;\n },\n each: function(f) {\n for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this);\n }\n};\n\nfunction map(object, f) {\n var map = new Map;\n\n // Copy constructor.\n if (object instanceof Map) object.each(function(value, key) { map.set(key, value); });\n\n // Index array by numeric index or specified key function.\n else if (Array.isArray(object)) {\n var i = -1,\n n = object.length,\n o;\n\n if (f == null) while (++i < n) map.set(i, object[i]);\n else while (++i < n) map.set(f(o = object[i], i, object), o);\n }\n\n // Convert object to map.\n else if (object) for (var key in object) map.set(key, object[key]);\n\n return map;\n}\n\n/* harmony default export */ var src_map = (map);\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/nest.js\n\n\n/* harmony default export */ var src_nest = (function() {\n var keys = [],\n sortKeys = [],\n sortValues,\n rollup,\n nest;\n\n function apply(array, depth, createResult, setResult) {\n if (depth >= keys.length) {\n if (sortValues != null) array.sort(sortValues);\n return rollup != null ? rollup(array) : array;\n }\n\n var i = -1,\n n = array.length,\n key = keys[depth++],\n keyValue,\n value,\n valuesByKey = src_map(),\n values,\n result = createResult();\n\n while (++i < n) {\n if (values = valuesByKey.get(keyValue = key(value = array[i]) + \"\")) {\n values.push(value);\n } else {\n valuesByKey.set(keyValue, [value]);\n }\n }\n\n valuesByKey.each(function(values, key) {\n setResult(result, key, apply(values, depth, createResult, setResult));\n });\n\n return result;\n }\n\n function entries(map, depth) {\n if (++depth > keys.length) return map;\n var array, sortKey = sortKeys[depth - 1];\n if (rollup != null && depth >= keys.length) array = map.entries();\n else array = [], map.each(function(v, k) { array.push({key: k, values: entries(v, depth)}); });\n return sortKey != null ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) : array;\n }\n\n return nest = {\n object: function(array) { return apply(array, 0, createObject, setObject); },\n map: function(array) { return apply(array, 0, createMap, setMap); },\n entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); },\n key: function(d) { keys.push(d); return nest; },\n sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; },\n sortValues: function(order) { sortValues = order; return nest; },\n rollup: function(f) { rollup = f; return nest; }\n };\n});\n\nfunction createObject() {\n return {};\n}\n\nfunction setObject(object, key, value) {\n object[key] = value;\n}\n\nfunction createMap() {\n return src_map();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/set.js\n\n\nfunction Set() {}\n\nvar proto = src_map.prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[prefix + value] = value;\n return this;\n },\n remove: proto.remove,\n clear: proto.clear,\n values: proto.keys,\n size: proto.size,\n empty: proto.empty,\n each: proto.each\n};\n\nfunction set(object, f) {\n var set = new Set;\n\n // Copy constructor.\n if (object instanceof Set) object.each(function(value) { set.add(value); });\n\n // Otherwise, assume it’s an array.\n else if (object) {\n var i = -1, n = object.length;\n if (f == null) while (++i < n) set.add(object[i]);\n else while (++i < n) set.add(f(object[i], i, object));\n }\n\n return set;\n}\n\n/* harmony default export */ var src_set = (set);\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/keys.js\n/* harmony default export */ var src_keys = (function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/values.js\n/* harmony default export */ var src_values = (function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/entries.js\n/* harmony default export */ var src_entries = (function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n});\n\n// CONCATENATED MODULE: ./node_modules/d3-collection/src/index.js\n/* concated harmony reexport nest */__webpack_require__.d(__webpack_exports__, \"b\", function() { return src_nest; });\n/* unused concated harmony import set */\n/* concated harmony reexport map */__webpack_require__.d(__webpack_exports__, \"a\", function() { return src_map; });\n/* unused concated harmony import keys */\n/* unused concated harmony import values */\n/* unused concated harmony import entries */\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"6f09\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt, trace, cd, pointNumber) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for 2d histograms\n if('zLabelVal' in pt) out.z = pt.zLabelVal;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n // specific to histogram - CDFs do not have pts (yet?)\n if(!(trace.cumulative || {}).enabled) {\n var pts = Array.isArray(pointNumber) ?\n cd[0].pts[pointNumber[0]][pointNumber[1]] :\n cd[pointNumber].pts;\n\n out.pointNumbers = pts;\n out.binNumber = out.pointNumber;\n delete out.pointNumber;\n delete out.pointIndex;\n\n var pointIndices;\n if(trace._indexToPoints) {\n pointIndices = [];\n for(var i = 0; i < pts.length; i++) {\n pointIndices = pointIndices.concat(trace._indexToPoints[pts[i]]);\n }\n } else {\n pointIndices = pts;\n }\n\n out.pointIndices = pointIndices;\n }\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"6f51\":\n/***/ (function(module, exports) {\n\nmodule.exports = translate;\n\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {mat4} a the matrix to translate\n * @param {vec3} v vector to translate by\n * @returns {mat4} out\n */\nfunction translate(out, a, v) {\n var x = v[0], y = v[1], z = v[2],\n a00, a01, a02, a03,\n a10, a11, a12, a13,\n a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3];\n a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7];\n a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11];\n\n out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03;\n out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13;\n out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23;\n\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n};\n\n/***/ }),\n\n/***/ \"6f96\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt /* , trace, cd, pointNumber */) {\n // standard cartesian event data\n out.x = 'xVal' in pt ? pt.xVal : pt.x;\n out.y = 'yVal' in pt ? pt.yVal : pt.y;\n\n // for funnel\n if('percentInitial' in pt) out.percentInitial = pt.percentInitial;\n if('percentPrevious' in pt) out.percentPrevious = pt.percentPrevious;\n if('percentTotal' in pt) out.percentTotal = pt.percentTotal;\n\n if(pt.xa) out.xaxis = pt.xa;\n if(pt.ya) out.yaxis = pt.ya;\n\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"6fa6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar createMesh = __webpack_require__(\"551a\");\n\nvar parseColorScale = __webpack_require__(\"765f\").parseColorScale;\nvar str2RgbaArray = __webpack_require__(\"f977\");\nvar extractOpts = __webpack_require__(\"c258\").extractOpts;\nvar zip3 = __webpack_require__(\"569b\");\n\nvar findNearestOnAxis = __webpack_require__(\"caf7\").findNearestOnAxis;\nvar generateIsoMeshes = __webpack_require__(\"caf7\").generateIsoMeshes;\n\nfunction VolumeTrace(scene, mesh, uid) {\n this.scene = scene;\n this.uid = uid;\n this.mesh = mesh;\n this.name = '';\n this.data = null;\n this.showContour = false;\n}\n\nvar proto = VolumeTrace.prototype;\n\nproto.handlePick = function(selection) {\n if(selection.object === this.mesh) {\n var rawId = selection.data.index;\n\n var x = this.data._meshX[rawId];\n var y = this.data._meshY[rawId];\n var z = this.data._meshZ[rawId];\n\n var height = this.data._Ys.length;\n var depth = this.data._Zs.length;\n\n var i = findNearestOnAxis(x, this.data._Xs).id;\n var j = findNearestOnAxis(y, this.data._Ys).id;\n var k = findNearestOnAxis(z, this.data._Zs).id;\n\n var selectIndex = selection.index = k + depth * j + depth * height * i;\n\n selection.traceCoordinate = [\n this.data._meshX[selectIndex],\n this.data._meshY[selectIndex],\n this.data._meshZ[selectIndex],\n this.data._value[selectIndex]\n ];\n\n var text = this.data.hovertext || this.data.text;\n if(Array.isArray(text) && text[selectIndex] !== undefined) {\n selection.textLabel = text[selectIndex];\n } else if(text) {\n selection.textLabel = text;\n }\n\n return true;\n }\n};\n\nproto.update = function(data) {\n var scene = this.scene;\n var layout = scene.fullSceneLayout;\n\n this.data = generateIsoMeshes(data);\n\n // Unpack position data\n function toDataCoords(axis, coord, scale, calendar) {\n return coord.map(function(x) {\n return axis.d2l(x, 0, calendar) * scale;\n });\n }\n\n var positions = zip3(\n toDataCoords(layout.xaxis, data._meshX, scene.dataScale[0], data.xcalendar),\n toDataCoords(layout.yaxis, data._meshY, scene.dataScale[1], data.ycalendar),\n toDataCoords(layout.zaxis, data._meshZ, scene.dataScale[2], data.zcalendar));\n\n var cells = zip3(data._meshI, data._meshJ, data._meshK);\n\n var config = {\n positions: positions,\n cells: cells,\n lightPosition: [data.lightposition.x, data.lightposition.y, data.lightposition.z],\n ambient: data.lighting.ambient,\n diffuse: data.lighting.diffuse,\n specular: data.lighting.specular,\n roughness: data.lighting.roughness,\n fresnel: data.lighting.fresnel,\n vertexNormalsEpsilon: data.lighting.vertexnormalsepsilon,\n faceNormalsEpsilon: data.lighting.facenormalsepsilon,\n opacity: data.opacity,\n opacityscale: data.opacityscale,\n contourEnable: data.contour.show,\n contourColor: str2RgbaArray(data.contour.color).slice(0, 3),\n contourWidth: data.contour.width,\n useFacetNormals: data.flatshading\n };\n\n var cOpts = extractOpts(data);\n config.vertexIntensity = data._meshIntensity;\n config.vertexIntensityBounds = [cOpts.min, cOpts.max];\n config.colormap = parseColorScale(data);\n\n // Update mesh\n this.mesh.update(config);\n};\n\nproto.dispose = function() {\n this.scene.glplot.remove(this.mesh);\n this.mesh.dispose();\n};\n\nfunction createVolumeTrace(scene, data) {\n var gl = scene.glplot.gl;\n var mesh = createMesh({gl: gl});\n var result = new VolumeTrace(scene, mesh, data.uid);\n\n mesh._trace = result;\n result.update(data);\n scene.glplot.add(mesh);\n return result;\n}\n\nmodule.exports = createVolumeTrace;\n\n\n/***/ }),\n\n/***/ \"6fc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/** Filter out object items with visible !== true\n * insider array container.\n *\n * @param {array of objects} container\n * @return {array of objects} of length <= container\n *\n */\nmodule.exports = function filterVisible(container) {\n var filterFn = isCalcData(container) ? calcDataFilter : baseFilter;\n var out = [];\n\n for(var i = 0; i < container.length; i++) {\n var item = container[i];\n if(filterFn(item)) out.push(item);\n }\n\n return out;\n};\n\nfunction baseFilter(item) {\n return item.visible === true;\n}\n\nfunction calcDataFilter(item) {\n var trace = item[0].trace;\n return trace.visible === true && trace._length !== 0;\n}\n\nfunction isCalcData(cont) {\n return (\n Array.isArray(cont) &&\n Array.isArray(cont[0]) &&\n cont[0][0] &&\n cont[0][0].trace\n );\n}\n\n\n/***/ }),\n\n/***/ \"7000\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var trace = cd[0].trace;\n var isFunnel = (trace.type === 'funnel');\n var isHorizontal = (trace.orientation === 'h');\n var selection = [];\n var i;\n\n if(selectionTester === false) {\n // clear selection\n for(i = 0; i < cd.length; i++) {\n cd[i].selected = 0;\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n var di = cd[i];\n var ct = 'ct' in di ? di.ct : getCentroid(di, xa, ya, isHorizontal, isFunnel);\n\n if(selectionTester.contains(ct, false, i, searchInfo)) {\n selection.push({\n pointNumber: i,\n x: xa.c2d(di.x),\n y: ya.c2d(di.y)\n });\n di.selected = 1;\n } else {\n di.selected = 0;\n }\n }\n }\n\n return selection;\n};\n\nfunction getCentroid(d, xa, ya, isHorizontal, isFunnel) {\n var x0 = xa.c2p(isHorizontal ? d.s0 : d.p0, true);\n var x1 = xa.c2p(isHorizontal ? d.s1 : d.p1, true);\n var y0 = ya.c2p(isHorizontal ? d.p0 : d.s0, true);\n var y1 = ya.c2p(isHorizontal ? d.p1 : d.s1, true);\n\n if(isFunnel) {\n return [(x0 + x1) / 2, (y0 + y1) / 2];\n } else {\n if(isHorizontal) {\n return [x1, (y0 + y1) / 2];\n } else {\n return [(x0 + x1) / 2, y1];\n }\n }\n}\n\n\n/***/ }),\n\n/***/ \"7016\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"89e1\");\n\n\n/***/ }),\n\n/***/ \"7045\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar objToString = Object.prototype.toString\n , isFunctionStringTag = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);\n\nmodule.exports = function (value) {\n\treturn typeof value === \"function\" && isFunctionStringTag(objToString.call(value));\n};\n\n\n/***/ }),\n\n/***/ \"7089\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n\nmodule.exports = function hasColorbar(container) {\n return Lib.isPlainObject(container.colorbar);\n};\n\n\n/***/ }),\n\n/***/ \"70b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar Axes = __webpack_require__(\"0642\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar subTypes = __webpack_require__(\"de81\");\nvar calcColorscale = __webpack_require__(\"09bd\");\nvar arraysToCalcdata = __webpack_require__(\"106b\");\nvar calcSelection = __webpack_require__(\"4136\");\n\nfunction calc(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var x = xa.makeCalcdata(trace, 'x');\n var y = ya.makeCalcdata(trace, 'y');\n var serieslen = trace._length;\n var cd = new Array(serieslen);\n var ids = trace.ids;\n var stackGroupOpts = getStackOpts(trace, fullLayout, xa, ya);\n var interpolateGaps = false;\n var isV, i, j, k, interpolate, vali;\n\n setFirstScatter(fullLayout, trace);\n\n var xAttr = 'x';\n var yAttr = 'y';\n var posAttr;\n if(stackGroupOpts) {\n Lib.pushUnique(stackGroupOpts.traceIndices, trace._expandedIndex);\n isV = stackGroupOpts.orientation === 'v';\n\n // size, like we use for bar\n if(isV) {\n yAttr = 's';\n posAttr = 'x';\n } else {\n xAttr = 's';\n posAttr = 'y';\n }\n interpolate = stackGroupOpts.stackgaps === 'interpolate';\n } else {\n var ppad = calcMarkerSize(trace, serieslen);\n calcAxisExpansion(gd, trace, xa, ya, x, y, ppad);\n }\n\n for(i = 0; i < serieslen; i++) {\n var cdi = cd[i] = {};\n var xValid = isNumeric(x[i]);\n var yValid = isNumeric(y[i]);\n if(xValid && yValid) {\n cdi[xAttr] = x[i];\n cdi[yAttr] = y[i];\n } else if(stackGroupOpts && (isV ? xValid : yValid)) {\n // if we're stacking we need to hold on to all valid positions\n // even with invalid sizes\n\n cdi[posAttr] = isV ? x[i] : y[i];\n cdi.gap = true;\n if(interpolate) {\n cdi.s = BADNUM;\n interpolateGaps = true;\n } else {\n cdi.s = 0;\n }\n } else {\n cdi[xAttr] = cdi[yAttr] = BADNUM;\n }\n\n if(ids) {\n cdi.id = String(ids[i]);\n }\n }\n\n arraysToCalcdata(cd, trace);\n calcColorscale(gd, trace);\n calcSelection(cd, trace);\n\n if(stackGroupOpts) {\n // remove bad positions and sort\n // note that original indices get added to cd in arraysToCalcdata\n i = 0;\n while(i < cd.length) {\n if(cd[i][posAttr] === BADNUM) {\n cd.splice(i, 1);\n } else i++;\n }\n\n Lib.sort(cd, function(a, b) {\n return (a[posAttr] - b[posAttr]) || (a.i - b.i);\n });\n\n if(interpolateGaps) {\n // first fill the beginning with constant from the first point\n i = 0;\n while(i < cd.length - 1 && cd[i].gap) {\n i++;\n }\n vali = cd[i].s;\n if(!vali) vali = cd[i].s = 0; // in case of no data AT ALL in this trace - use 0\n for(j = 0; j < i; j++) {\n cd[j].s = vali;\n }\n // then fill the end with constant from the last point\n k = cd.length - 1;\n while(k > i && cd[k].gap) {\n k--;\n }\n vali = cd[k].s;\n for(j = cd.length - 1; j > k; j--) {\n cd[j].s = vali;\n }\n // now interpolate internal gaps linearly\n while(i < k) {\n i++;\n if(cd[i].gap) {\n j = i + 1;\n while(cd[j].gap) {\n j++;\n }\n var pos0 = cd[i - 1][posAttr];\n var size0 = cd[i - 1].s;\n var m = (cd[j].s - size0) / (cd[j][posAttr] - pos0);\n while(i < j) {\n cd[i].s = size0 + (cd[i][posAttr] - pos0) * m;\n i++;\n }\n }\n }\n }\n }\n\n return cd;\n}\n\nfunction calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) {\n var serieslen = trace._length;\n var fullLayout = gd._fullLayout;\n var xId = xa._id;\n var yId = ya._id;\n var firstScatter = fullLayout._firstScatter[firstScatterGroup(trace)] === trace.uid;\n var stackOrientation = (getStackOpts(trace, fullLayout, xa, ya) || {}).orientation;\n var fill = trace.fill;\n\n // cancel minimum tick spacings (only applies to bars and boxes)\n xa._minDtick = 0;\n ya._minDtick = 0;\n\n // check whether bounds should be tight, padded, extended to zero...\n // most cases both should be padded on both ends, so start with that.\n var xOptions = {padded: true};\n var yOptions = {padded: true};\n\n if(ppad) {\n xOptions.ppad = yOptions.ppad = ppad;\n }\n\n // TODO: text size\n\n var openEnded = serieslen < 2 || (x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]);\n\n if(openEnded && (\n (fill === 'tozerox') ||\n ((fill === 'tonextx') && (firstScatter || stackOrientation === 'h'))\n )) {\n // include zero (tight) and extremes (padded) if fill to zero\n // (unless the shape is closed, then it's just filling the shape regardless)\n\n xOptions.tozero = true;\n } else if(!(trace.error_y || {}).visible && (\n // if no error bars, markers or text, or fill to y=0 remove x padding\n\n (fill === 'tonexty' || fill === 'tozeroy') ||\n (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace))\n )) {\n xOptions.padded = false;\n xOptions.ppad = 0;\n }\n\n if(openEnded && (\n (fill === 'tozeroy') ||\n ((fill === 'tonexty') && (firstScatter || stackOrientation === 'v'))\n )) {\n // now check for y - rather different logic, though still mostly padded both ends\n // include zero (tight) and extremes (padded) if fill to zero\n // (unless the shape is closed, then it's just filling the shape regardless)\n\n yOptions.tozero = true;\n } else if(fill === 'tonextx' || fill === 'tozerox') {\n // tight y: any x fill\n\n yOptions.padded = false;\n }\n\n // N.B. asymmetric splom traces call this with blank {} xa or ya\n if(xId) trace._extremes[xId] = Axes.findExtremes(xa, x, xOptions);\n if(yId) trace._extremes[yId] = Axes.findExtremes(ya, y, yOptions);\n}\n\nfunction calcMarkerSize(trace, serieslen) {\n if(!subTypes.hasMarkers(trace)) return;\n\n // Treat size like x or y arrays --- Run d2c\n // this needs to go before ppad computation\n var marker = trace.marker;\n var sizeref = 1.6 * (trace.marker.sizeref || 1);\n var markerTrans;\n\n if(trace.marker.sizemode === 'area') {\n markerTrans = function(v) {\n return Math.max(Math.sqrt((v || 0) / sizeref), 3);\n };\n } else {\n markerTrans = function(v) {\n return Math.max((v || 0) / sizeref, 3);\n };\n }\n\n if(Lib.isArrayOrTypedArray(marker.size)) {\n // I tried auto-type but category and dates dont make much sense.\n var ax = {type: 'linear'};\n Axes.setConvert(ax);\n\n var s = ax.makeCalcdata(trace.marker, 'size');\n\n var sizeOut = new Array(serieslen);\n for(var i = 0; i < serieslen; i++) {\n sizeOut[i] = markerTrans(s[i]);\n }\n return sizeOut;\n } else {\n return markerTrans(marker.size);\n }\n}\n\n/**\n * mark the first scatter trace for each subplot\n * note that scatter and scattergl each get their own first trace\n * note also that I'm doing this during calc rather than supplyDefaults\n * so I don't need to worry about transforms, but if we ever do\n * per-trace calc this will get confused.\n */\nfunction setFirstScatter(fullLayout, trace) {\n var group = firstScatterGroup(trace);\n var firstScatter = fullLayout._firstScatter;\n if(!firstScatter[group]) firstScatter[group] = trace.uid;\n}\n\nfunction firstScatterGroup(trace) {\n var stackGroup = trace.stackgroup;\n return trace.xaxis + trace.yaxis + trace.type +\n (stackGroup ? '-' + stackGroup : '');\n}\n\nfunction getStackOpts(trace, fullLayout, xa, ya) {\n var stackGroup = trace.stackgroup;\n if(!stackGroup) return;\n var stackOpts = fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup];\n var stackAx = stackOpts.orientation === 'v' ? ya : xa;\n // Allow stacking only on numeric axes\n // calc is a little late to be figuring this out, but during supplyDefaults\n // we don't know the axis type yet\n if(stackAx.type === 'linear' || stackAx.type === 'log') return stackOpts;\n}\n\nmodule.exports = {\n calc: calc,\n calcMarkerSize: calcMarkerSize,\n calcAxisExpansion: calcAxisExpansion,\n setFirstScatter: setFirstScatter,\n getStackOpts: getStackOpts\n};\n\n\n/***/ }),\n\n/***/ \"70f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar drawModule = __webpack_require__(\"2595\");\nvar clickModule = __webpack_require__(\"34f9\");\n\nmodule.exports = {\n moduleType: 'component',\n name: 'annotations',\n\n layoutAttributes: __webpack_require__(\"bb4a\"),\n supplyLayoutDefaults: __webpack_require__(\"bb5b\"),\n includeBasePlot: __webpack_require__(\"37d1\")('annotations'),\n\n calcAutorange: __webpack_require__(\"cd84\"),\n draw: drawModule.draw,\n drawOne: drawModule.drawOne,\n drawRaw: drawModule.drawRaw,\n\n hasClickToShow: clickModule.hasClickToShow,\n onClick: clickModule.onClick,\n\n convertCoords: __webpack_require__(\"351b\")\n};\n\n\n/***/ }),\n\n/***/ \"7118\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleTickValueDefaults = __webpack_require__(\"d92f\");\nvar handleTickMarkDefaults = __webpack_require__(\"27e3\");\nvar handleTickLabelDefaults = __webpack_require__(\"5008\");\nvar handleCategoryOrderDefaults = __webpack_require__(\"d18b\");\nvar handleLineGridDefaults = __webpack_require__(\"743b\");\nvar setConvert = __webpack_require__(\"1a40\");\n\n/**\n * options: object containing:\n *\n * letter: 'x' or 'y'\n * title: name of the axis (ie 'Colorbar') to go in default title\n * font: the default font to inherit\n * outerTicks: boolean, should ticks default to outside?\n * showGrid: boolean, should gridlines be shown by default?\n * noHover: boolean, this axis doesn't support hover effects?\n * noTickson: boolean, this axis doesn't support 'tickson'\n * data: the plot data, used to manage categories\n * bgColor: the plot background color, to calculate default gridline colors\n * calendar:\n * splomStash:\n * visibleDflt: boolean\n * reverseDflt: boolean\n * automargin: boolean\n */\nmodule.exports = function handleAxisDefaults(containerIn, containerOut, coerce, options, layoutOut) {\n var letter = options.letter;\n var font = options.font || {};\n var splomStash = options.splomStash || {};\n\n var visible = coerce('visible', !options.visibleDflt);\n\n var axType = containerOut.type;\n\n if(axType === 'date') {\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleDefaults');\n handleCalendarDefaults(containerIn, containerOut, 'calendar', options.calendar);\n }\n\n setConvert(containerOut, layoutOut);\n\n var autorangeDflt = !containerOut.isValidRange(containerIn.range);\n if(autorangeDflt && options.reverseDflt) autorangeDflt = 'reversed';\n var autoRange = coerce('autorange', autorangeDflt);\n if(autoRange && (axType === 'linear' || axType === '-')) coerce('rangemode');\n\n coerce('range');\n containerOut.cleanRange();\n\n handleCategoryOrderDefaults(containerIn, containerOut, coerce, options);\n\n if(axType !== 'category' && !options.noHover) coerce('hoverformat');\n\n var dfltColor = coerce('color');\n // if axis.color was provided, use it for fonts too; otherwise,\n // inherit from global font color in case that was provided.\n // Compare to dflt rather than to containerIn, so we can provide color via\n // template too.\n var dfltFontColor = (dfltColor !== layoutAttributes.color.dflt) ? dfltColor : font.color;\n // try to get default title from splom trace, fallback to graph-wide value\n var dfltTitle = splomStash.label || layoutOut._dfltTitle[letter];\n\n handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, {pass: 1});\n if(!visible) return containerOut;\n\n coerce('title.text', dfltTitle);\n Lib.coerceFont(coerce, 'title.font', {\n family: font.family,\n size: Math.round(font.size * 1.2),\n color: dfltFontColor\n });\n\n handleTickValueDefaults(containerIn, containerOut, coerce, axType);\n handleTickLabelDefaults(containerIn, containerOut, coerce, axType, options, {pass: 2});\n handleTickMarkDefaults(containerIn, containerOut, coerce, options);\n handleLineGridDefaults(containerIn, containerOut, coerce, {\n dfltColor: dfltColor,\n bgColor: options.bgColor,\n showGrid: options.showGrid,\n attributes: layoutAttributes\n });\n\n if(containerOut.showline || containerOut.ticks) coerce('mirror');\n\n if(options.automargin) coerce('automargin');\n\n var isMultiCategory = containerOut.type === 'multicategory';\n\n if(!options.noTickson &&\n (containerOut.type === 'category' || isMultiCategory) &&\n (containerOut.ticks || containerOut.showgrid)\n ) {\n var ticksonDflt;\n if(isMultiCategory) ticksonDflt = 'boundaries';\n coerce('tickson', ticksonDflt);\n }\n\n if(isMultiCategory) {\n var showDividers = coerce('showdividers');\n if(showDividers) {\n coerce('dividercolor');\n coerce('dividerwidth');\n }\n }\n\n return containerOut;\n};\n\n\n/***/ }),\n\n/***/ \"714f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// arrayOk attributes, merge them into calcdata array\nmodule.exports = function arraysToCalcdata(cd, trace) {\n for(var i = 0; i < cd.length; i++) cd[i].i = i;\n\n Lib.mergeArray(trace.text, cd, 'tx');\n Lib.mergeArray(trace.hovertext, cd, 'htx');\n\n var marker = trace.marker;\n if(marker) {\n Lib.mergeArray(marker.opacity, cd, 'mo');\n Lib.mergeArray(marker.color, cd, 'mc');\n\n var markerLine = marker.line;\n if(markerLine) {\n Lib.mergeArray(markerLine.color, cd, 'mlc');\n Lib.mergeArrayCastPositive(markerLine.width, cd, 'mlw');\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"716c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar helpers = __webpack_require__(\"feb7\");\n\n/**\n * Callback for coordEach\n *\n * @callback coordEachCallback\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Iterate over coordinates in any GeoJSON object, similar to Array.forEach()\n *\n * @name coordEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n // Handles null Geometry -- Skips this GeoJSON\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords,\n geometryMaybeCollection,\n wrapShrink = 0,\n coordIndex = 0,\n isGeometryCollection,\n type = geojson.type,\n isFeatureCollection = type === 'FeatureCollection',\n isFeature = type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[featureIndex].geometry :\n (isFeature ? geojson.geometry : geojson));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n\n // Handles null Geometry -- Skips this geometry\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n\n wrapShrink = (excludeWrapCoord && (geomType === 'Polygon' || geomType === 'MultiPolygon')) ? 1 : 0;\n\n switch (geomType) {\n case null:\n break;\n case 'Point':\n if (callback(coords, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case 'LineString':\n case 'MultiPoint':\n for (j = 0; j < coords.length; j++) {\n if (callback(coords[j], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n if (geomType === 'MultiPoint') multiFeatureIndex++;\n }\n if (geomType === 'LineString') multiFeatureIndex++;\n break;\n case 'Polygon':\n case 'MultiLineString':\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (callback(coords[j][k], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n if (geomType === 'MultiLineString') multiFeatureIndex++;\n if (geomType === 'Polygon') geometryIndex++;\n }\n if (geomType === 'Polygon') multiFeatureIndex++;\n break;\n case 'MultiPolygon':\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (callback(coords[j][k][l], coordIndex, featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case 'GeometryCollection':\n for (j = 0; j < geometry.geometries.length; j++)\n if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false) return false;\n break;\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n }\n}\n\n/**\n * Callback for coordReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback coordReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Array} currentCoord The current coordinate being processed.\n * @param {number} coordIndex The current index of the coordinate being processed.\n * Starts at index 0, if an initialValue is provided, and at index 1 otherwise.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n */\n\n/**\n * Reduce coordinates in any GeoJSON object, similar to Array.reduce()\n *\n * @name coordReduce\n * @param {FeatureCollection|Geometry|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentCoord, coordIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @param {boolean} [excludeWrapCoord=false] whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentCoord\n * //=coordIndex\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentCoord;\n * });\n */\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(geojson, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === undefined) previousValue = currentCoord;\n else previousValue = callback(previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex);\n }, excludeWrapCoord);\n return previousValue;\n}\n\n/**\n * Callback for propEach\n *\n * @callback propEachCallback\n * @param {Object} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over properties in any GeoJSON object, similar to Array.forEach()\n *\n * @name propEach\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentProperties, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propEach(features, function (currentProperties, featureIndex) {\n * //=currentProperties\n * //=featureIndex\n * });\n */\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case 'FeatureCollection':\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case 'Feature':\n callback(geojson.properties, 0);\n break;\n }\n}\n\n\n/**\n * Callback for propReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback propReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {*} currentProperties The current Properties being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce properties in any GeoJSON object into a single value,\n * similar to how Array.reduce works. However, in this case we lazily run\n * the reduction, so an array of all properties is unnecessary.\n *\n * @name propReduce\n * @param {FeatureCollection|Feature} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentProperties, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {\n * //=previousValue\n * //=currentProperties\n * //=featureIndex\n * return currentProperties\n * });\n */\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function (currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentProperties;\n else previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for featureEach\n *\n * @callback featureEachCallback\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Iterate over features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name featureEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.featureEach(features, function (currentFeature, featureIndex) {\n * //=currentFeature\n * //=featureIndex\n * });\n */\nfunction featureEach(geojson, callback) {\n if (geojson.type === 'Feature') {\n callback(geojson, 0);\n } else if (geojson.type === 'FeatureCollection') {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\n\n/**\n * Callback for featureReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback featureReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name featureReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {\"foo\": \"bar\"}),\n * turf.point([36, 53], {\"hello\": \"world\"})\n * ]);\n *\n * turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * return currentFeature\n * });\n */\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function (currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\n\n/**\n * Get all coordinates from any GeoJSON object.\n *\n * @name coordAll\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @returns {Array>} coordinate position array\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * var coords = turf.coordAll(features);\n * //= [[26, 37], [36, 53]]\n */\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function (coord) {\n coords.push(coord);\n });\n return coords;\n}\n\n/**\n * Callback for geomEach\n *\n * @callback geomEachCallback\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Iterate over each geometry in any GeoJSON object, similar to Array.forEach()\n *\n * @name geomEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @returns {void}\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomEach(features, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * });\n */\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG,\n geometryMaybeCollection,\n isGeometryCollection,\n featureProperties,\n featureBBox,\n featureId,\n featureIndex = 0,\n isFeatureCollection = geojson.type === 'FeatureCollection',\n isFeature = geojson.type === 'Feature',\n stop = isFeatureCollection ? geojson.features.length : 1;\n\n // This logic may look a little weird. The reason why it is that way\n // is because it's trying to be fast. GeoJSON supports multiple kinds\n // of objects at its root: FeatureCollection, Features, Geometries.\n // This function has the responsibility of handling all of them, and that\n // means that some of the `for` loops you see below actually just don't apply\n // to certain inputs. For instance, if you give this just a\n // Point geometry, then both loops are short-circuited and all we do\n // is gradually rename the input until it's called 'geometry'.\n //\n // This also aims to allocate as few resources as possible: just a\n // few numbers and booleans, rather than any temporary arrays as would\n // be required with the normalization approach.\n for (i = 0; i < stop; i++) {\n\n geometryMaybeCollection = (isFeatureCollection ? geojson.features[i].geometry :\n (isFeature ? geojson.geometry : geojson));\n featureProperties = (isFeatureCollection ? geojson.features[i].properties :\n (isFeature ? geojson.properties : {}));\n featureBBox = (isFeatureCollection ? geojson.features[i].bbox :\n (isFeature ? geojson.bbox : undefined));\n featureId = (isFeatureCollection ? geojson.features[i].id :\n (isFeature ? geojson.id : undefined));\n isGeometryCollection = (geometryMaybeCollection) ? geometryMaybeCollection.type === 'GeometryCollection' : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ?\n geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n\n // Handle null Geometry\n if (geometry === null) {\n if (callback(null, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n continue;\n }\n switch (geometry.type) {\n case 'Point':\n case 'LineString':\n case 'MultiPoint':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon': {\n if (callback(geometry, featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n break;\n }\n case 'GeometryCollection': {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (callback(geometry.geometries[j], featureIndex, featureProperties, featureBBox, featureId) === false) return false;\n }\n break;\n }\n default:\n throw new Error('Unknown Geometry Type');\n }\n }\n // Only increase `featureIndex` per each feature\n featureIndex++;\n }\n}\n\n/**\n * Callback for geomReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback geomReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Geometry} currentGeometry The current Geometry being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {Object} featureProperties The current Feature Properties being processed.\n * @param {Array} featureBBox The current Feature BBox being processed.\n * @param {number|string} featureId The current Feature Id being processed.\n */\n\n/**\n * Reduce geometry in any GeoJSON object, similar to Array.reduce().\n *\n * @name geomReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.point([36, 53], {hello: 'world'})\n * ]);\n *\n * turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n * //=previousValue\n * //=currentGeometry\n * //=featureIndex\n * //=featureProperties\n * //=featureBBox\n * //=featureId\n * return currentGeometry\n * });\n */\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(geojson, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentGeometry;\n else previousValue = callback(previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId);\n });\n return previousValue;\n}\n\n/**\n * Callback for flattenEach\n *\n * @callback flattenEachCallback\n * @param {Feature} currentFeature The current flattened feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Iterate over flattened features in any GeoJSON object, similar to\n * Array.forEach.\n *\n * @name flattenEach\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (currentFeature, featureIndex, multiFeatureIndex)\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenEach(features, function (currentFeature, featureIndex, multiFeatureIndex) {\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * });\n */\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function (geometry, featureIndex, properties, bbox, id) {\n // Callback for single geometry\n var type = (geometry === null) ? null : geometry.type;\n switch (type) {\n case null:\n case 'Point':\n case 'LineString':\n case 'Polygon':\n if (callback(helpers.feature(geometry, properties, {bbox: bbox, id: id}), featureIndex, 0) === false) return false;\n return;\n }\n\n var geomType;\n\n // Callback for multi-geometry\n switch (type) {\n case 'MultiPoint':\n geomType = 'Point';\n break;\n case 'MultiLineString':\n geomType = 'LineString';\n break;\n case 'MultiPolygon':\n geomType = 'Polygon';\n break;\n }\n\n for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (callback(helpers.feature(geom, properties), featureIndex, multiFeatureIndex) === false) return false;\n }\n });\n}\n\n/**\n * Callback for flattenReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback flattenReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentFeature The current Feature being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n */\n\n/**\n * Reduce flattened features in any GeoJSON object, similar to Array.reduce().\n *\n * @name flattenReduce\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON object\n * @param {Function} callback a method that takes (previousValue, currentFeature, featureIndex, multiFeatureIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var features = turf.featureCollection([\n * turf.point([26, 37], {foo: 'bar'}),\n * turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})\n * ]);\n *\n * turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, multiFeatureIndex) {\n * //=previousValue\n * //=currentFeature\n * //=featureIndex\n * //=multiFeatureIndex\n * return currentFeature\n * });\n */\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(geojson, function (currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === undefined) previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex, multiFeatureIndex);\n });\n return previousValue;\n}\n\n/**\n * Callback for segmentEach\n *\n * @callback segmentEachCallback\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n * @returns {void}\n */\n\n/**\n * Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex)\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentEach(polygon, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //=currentSegment\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * //=segmentIndex\n * });\n *\n * // Calculate the total number of segments\n * var total = 0;\n * turf.segmentEach(polygon, function () {\n * total++;\n * });\n */\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n\n // Exclude null Geometries\n if (!feature.geometry) return;\n // (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n var type = feature.geometry.type;\n if (type === 'Point' || type === 'MultiPoint') return;\n\n // Generate 2-vertex line segments\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (coordEach(feature, function (currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n // Simulating a meta.coordReduce() since `reduce` operations cannot be stopped by returning `false`\n if (previousCoords === undefined || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = helpers.lineString([previousCoords, currentCoord], feature.properties);\n if (callback(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) === false) return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }) === false) return false;\n });\n}\n\n/**\n * Callback for segmentReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback segmentReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentSegment The current Segment being processed.\n * @param {number} featureIndex The current index of the Feature being processed.\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed.\n * @param {number} geometryIndex The current index of the Geometry being processed.\n * @param {number} segmentIndex The current index of the Segment being processed.\n */\n\n/**\n * Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()\n * (Multi)Point geometries do not contain segments therefore they are ignored during this operation.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson any GeoJSON\n * @param {Function} callback a method that takes (previousValue, currentSegment, currentIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {void}\n * @example\n * var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);\n *\n * // Iterate over GeoJSON by 2-vertex segments\n * turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n * //= previousSegment\n * //= currentSegment\n * //= featureIndex\n * //= multiFeatureIndex\n * //= geometryIndex\n * //= segmentInex\n * return currentSegment\n * });\n *\n * // Calculate the total number of segments\n * var initialValue = 0\n * var total = turf.segmentReduce(polygon, function (previousValue) {\n * previousValue++;\n * return previousValue;\n * }, initialValue);\n */\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(geojson, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === undefined) previousValue = currentSegment;\n else previousValue = callback(previousValue, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex);\n started = true;\n });\n return previousValue;\n}\n\n/**\n * Callback for lineEach\n *\n * @callback lineEachCallback\n * @param {Feature} currentLine The current LineString|LinearRing being processed\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,\n * similar to Array.forEach.\n *\n * @name lineEach\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @example\n * var multiLine = turf.multiLineString([\n * [[26, 37], [35, 45]],\n * [[36, 53], [38, 50], [41, 55]]\n * ]);\n *\n * turf.lineEach(multiLine, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * });\n */\nfunction lineEach(geojson, callback) {\n // validation\n if (!geojson) throw new Error('geojson is required');\n\n flattenEach(geojson, function (feature, featureIndex, multiFeatureIndex) {\n if (feature.geometry === null) return;\n var type = feature.geometry.type;\n var coords = feature.geometry.coordinates;\n switch (type) {\n case 'LineString':\n if (callback(feature, featureIndex, multiFeatureIndex, 0, 0) === false) return false;\n break;\n case 'Polygon':\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (callback(helpers.lineString(coords[geometryIndex], feature.properties), featureIndex, multiFeatureIndex, geometryIndex) === false) return false;\n }\n break;\n }\n });\n}\n\n/**\n * Callback for lineReduce\n *\n * The first time the callback function is called, the values provided as arguments depend\n * on whether the reduce method has an initialValue argument.\n *\n * If an initialValue is provided to the reduce method:\n * - The previousValue argument is initialValue.\n * - The currentValue argument is the value of the first element present in the array.\n *\n * If an initialValue is not provided:\n * - The previousValue argument is the value of the first element present in the array.\n * - The currentValue argument is the value of the second element present in the array.\n *\n * @callback lineReduceCallback\n * @param {*} previousValue The accumulated value previously returned in the last invocation\n * of the callback, or initialValue, if supplied.\n * @param {Feature} currentLine The current LineString|LinearRing being processed.\n * @param {number} featureIndex The current index of the Feature being processed\n * @param {number} multiFeatureIndex The current index of the Multi-Feature being processed\n * @param {number} geometryIndex The current index of the Geometry being processed\n */\n\n/**\n * Reduce features in any GeoJSON object, similar to Array.reduce().\n *\n * @name lineReduce\n * @param {Geometry|Feature} geojson object\n * @param {Function} callback a method that takes (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex)\n * @param {*} [initialValue] Value to use as the first argument to the first call of the callback.\n * @returns {*} The value that results from the reduction.\n * @example\n * var multiPoly = turf.multiPolygon([\n * turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),\n * turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])\n * ]);\n *\n * turf.lineReduce(multiPoly, function (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n * //=previousValue\n * //=currentLine\n * //=featureIndex\n * //=multiFeatureIndex\n * //=geometryIndex\n * return currentLine\n * });\n */\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(geojson, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === undefined) previousValue = currentLine;\n else previousValue = callback(previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex);\n });\n return previousValue;\n}\n\n/**\n * Finds a particular 2-vertex LineString Segment from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n * Point & MultiPoint will always return null.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.segmentIndex=0] Segment Index\n * @param {Object} [options.properties={}] Translate Properties to output LineString\n * @param {BBox} [options.bbox={}] Translate BBox to output LineString\n * @param {number|string} [options.id={}] Translate Id to output LineString\n * @returns {Feature} 2-vertex GeoJSON Feature LineString\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findSegment(multiLine);\n * // => Feature>\n *\n * // First Segment of 2nd Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of Last Multi Feature\n * turf.findSegment(multiLine, {multiFeatureIndex: -1, segmentIndex: -1});\n * // => Feature>\n */\nfunction findSegment(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find SegmentIndex\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return helpers.lineString([coords[segmentIndex], coords[segmentIndex + 1]], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[geometryIndex][segmentIndex], coords[geometryIndex][segmentIndex + 1]], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][segmentIndex], coords[multiFeatureIndex][segmentIndex + 1]], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0) segmentIndex = coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return helpers.lineString([coords[multiFeatureIndex][geometryIndex][segmentIndex], coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\n/**\n * Finds a particular Point from a GeoJSON using `@turf/meta` indexes.\n *\n * Negative indexes are permitted.\n *\n * @param {FeatureCollection|Feature|Geometry} geojson Any GeoJSON Feature or Geometry\n * @param {Object} [options={}] Optional parameters\n * @param {number} [options.featureIndex=0] Feature Index\n * @param {number} [options.multiFeatureIndex=0] Multi-Feature Index\n * @param {number} [options.geometryIndex=0] Geometry Index\n * @param {number} [options.coordIndex=0] Coord Index\n * @param {Object} [options.properties={}] Translate Properties to output Point\n * @param {BBox} [options.bbox={}] Translate BBox to output Point\n * @param {number|string} [options.id={}] Translate Id to output Point\n * @returns {Feature} 2-vertex GeoJSON Feature Point\n * @example\n * var multiLine = turf.multiLineString([\n * [[10, 10], [50, 30], [30, 40]],\n * [[-10, -10], [-50, -30], [-30, -40]]\n * ]);\n *\n * // First Segment (defaults are 0)\n * turf.findPoint(multiLine);\n * // => Feature>\n *\n * // First Segment of the 2nd Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: 1});\n * // => Feature>\n *\n * // Last Segment of last Multi-Feature\n * turf.findPoint(multiLine, {multiFeatureIndex: -1, coordIndex: -1});\n * // => Feature>\n */\nfunction findPoint(geojson, options) {\n // Optional Parameters\n options = options || {};\n if (!helpers.isObject(options)) throw new Error('options is invalid');\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n\n // Find FeatureIndex\n var properties = options.properties;\n var geometry;\n\n switch (geojson.type) {\n case 'FeatureCollection':\n if (featureIndex < 0) featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case 'Feature':\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case 'Point':\n case 'MultiPoint':\n return null;\n case 'LineString':\n case 'Polygon':\n case 'MultiLineString':\n case 'MultiPolygon':\n geometry = geojson;\n break;\n default:\n throw new Error('geojson is invalid');\n }\n\n // Find Coord Index\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case 'Point':\n return helpers.point(coords, properties, options);\n case 'MultiPoint':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n return helpers.point(coords[multiFeatureIndex], properties, options);\n case 'LineString':\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return helpers.point(coords[coordIndex], properties, options);\n case 'Polygon':\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[geometryIndex].length + coordIndex;\n return helpers.point(coords[geometryIndex][coordIndex], properties, options);\n case 'MultiLineString':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return helpers.point(coords[multiFeatureIndex][coordIndex], properties, options);\n case 'MultiPolygon':\n if (multiFeatureIndex < 0) multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0) geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0) coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return helpers.point(coords[multiFeatureIndex][geometryIndex][coordIndex], properties, options);\n }\n throw new Error('geojson is invalid');\n}\n\nexports.coordEach = coordEach;\nexports.coordReduce = coordReduce;\nexports.propEach = propEach;\nexports.propReduce = propReduce;\nexports.featureEach = featureEach;\nexports.featureReduce = featureReduce;\nexports.coordAll = coordAll;\nexports.geomEach = geomEach;\nexports.geomReduce = geomReduce;\nexports.flattenEach = flattenEach;\nexports.flattenReduce = flattenReduce;\nexports.segmentEach = segmentEach;\nexports.segmentReduce = segmentReduce;\nexports.lineEach = lineEach;\nexports.lineReduce = lineReduce;\nexports.findSegment = findSegment;\nexports.findPoint = findPoint;\n\n\n/***/ }),\n\n/***/ \"71b1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function selectPoints(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n var i, j;\n\n if(selectionTester === false) {\n for(i = 0; i < cd.length; i++) {\n for(j = 0; j < (cd[i].pts || []).length; j++) {\n // clear selection\n cd[i].pts[j].selected = 0;\n }\n }\n } else {\n for(i = 0; i < cd.length; i++) {\n for(j = 0; j < (cd[i].pts || []).length; j++) {\n var pt = cd[i].pts[j];\n var x = xa.c2p(pt.x);\n var y = ya.c2p(pt.y);\n\n if(selectionTester.contains([x, y], null, pt.i, searchInfo)) {\n selection.push({\n pointNumber: pt.i,\n x: xa.c2d(pt.x),\n y: ya.c2d(pt.y)\n });\n pt.selected = 1;\n } else {\n pt.selected = 0;\n }\n }\n }\n }\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"7210\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar handleArrayContainerDefaults = __webpack_require__(\"e5ac\");\n\nvar attributes = __webpack_require__(\"9c5f\");\nvar constants = __webpack_require__(\"e639\");\n\nvar name = constants.name;\nvar stepAttrs = attributes.steps;\n\n\nmodule.exports = function slidersDefaults(layoutIn, layoutOut) {\n handleArrayContainerDefaults(layoutIn, layoutOut, {\n name: name,\n handleItemDefaults: sliderDefaults\n });\n};\n\nfunction sliderDefaults(sliderIn, sliderOut, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(sliderIn, sliderOut, attributes, attr, dflt);\n }\n\n var steps = handleArrayContainerDefaults(sliderIn, sliderOut, {\n name: 'steps',\n handleItemDefaults: stepDefaults\n });\n\n var stepCount = 0;\n for(var i = 0; i < steps.length; i++) {\n if(steps[i].visible) stepCount++;\n }\n\n var visible;\n // If it has fewer than two options, it's not really a slider\n if(stepCount < 2) visible = sliderOut.visible = false;\n else visible = coerce('visible');\n if(!visible) return;\n\n sliderOut._stepCount = stepCount;\n var visSteps = sliderOut._visibleSteps = Lib.filterVisible(steps);\n\n var active = coerce('active');\n if(!(steps[active] || {}).visible) sliderOut.active = visSteps[0]._index;\n\n coerce('x');\n coerce('y');\n Lib.noneOrAll(sliderIn, sliderOut, ['x', 'y']);\n\n coerce('xanchor');\n coerce('yanchor');\n\n coerce('len');\n coerce('lenmode');\n\n coerce('pad.t');\n coerce('pad.r');\n coerce('pad.b');\n coerce('pad.l');\n\n Lib.coerceFont(coerce, 'font', layoutOut.font);\n\n var currentValueIsVisible = coerce('currentvalue.visible');\n\n if(currentValueIsVisible) {\n coerce('currentvalue.xanchor');\n coerce('currentvalue.prefix');\n coerce('currentvalue.suffix');\n coerce('currentvalue.offset');\n\n Lib.coerceFont(coerce, 'currentvalue.font', sliderOut.font);\n }\n\n coerce('transition.duration');\n coerce('transition.easing');\n\n coerce('bgcolor');\n coerce('activebgcolor');\n coerce('bordercolor');\n coerce('borderwidth');\n coerce('ticklen');\n coerce('tickwidth');\n coerce('tickcolor');\n coerce('minorticklen');\n}\n\nfunction stepDefaults(valueIn, valueOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(valueIn, valueOut, stepAttrs, attr, dflt);\n }\n\n var visible;\n if(valueIn.method !== 'skip' && !Array.isArray(valueIn.args)) {\n visible = valueOut.visible = false;\n } else visible = coerce('visible');\n\n if(visible) {\n coerce('method');\n coerce('args');\n var label = coerce('label', 'step-' + valueOut._index);\n coerce('value', label);\n coerce('execute');\n }\n}\n\n\n/***/ }),\n\n/***/ \"7223\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar db = __webpack_require__(\"abc0\")\nvar ctz = __webpack_require__(\"a48a\").countTrailingZeros\n\nmodule.exports = ctzNumber\n\n//Counts the number of trailing zeros\nfunction ctzNumber(x) {\n var l = ctz(db.lo(x))\n if(l < 32) {\n return l\n }\n var h = ctz(db.hi(x))\n if(h > 20) {\n return 52\n }\n return h + 32\n}\n\n\n/***/ }),\n\n/***/ \"722f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar axisIds = __webpack_require__(\"3c1c\");\n\nvar traceIs = __webpack_require__(\"371e\").traceIs;\nvar handleGroupingDefaults = __webpack_require__(\"1c1c\").handleGroupingDefaults;\n\nvar nestedProperty = Lib.nestedProperty;\nvar getAxisGroup = axisIds.getAxisGroup;\n\nvar BINATTRS = [\n {aStr: {x: 'xbins.start', y: 'ybins.start'}, name: 'start'},\n {aStr: {x: 'xbins.end', y: 'ybins.end'}, name: 'end'},\n {aStr: {x: 'xbins.size', y: 'ybins.size'}, name: 'size'},\n {aStr: {x: 'nbinsx', y: 'nbinsy'}, name: 'nbins'}\n];\n\nvar BINDIRECTIONS = ['x', 'y'];\n\n// handle bin attrs and relink auto-determined values so fullData is complete\nmodule.exports = function crossTraceDefaults(fullData, fullLayout) {\n var allBinOpts = fullLayout._histogramBinOpts = {};\n var histTraces = [];\n var mustMatchTracesLookup = {};\n var otherTracesList = [];\n\n var traceOut, traces, groupName, binDir;\n var i, j, k;\n\n function coerce(attr, dflt) {\n return Lib.coerce(traceOut._input, traceOut, traceOut._module.attributes, attr, dflt);\n }\n\n function orientation2binDir(traceOut) {\n return traceOut.orientation === 'v' ? 'x' : 'y';\n }\n\n function getAxisType(traceOut, binDir) {\n var ax = axisIds.getFromTrace({_fullLayout: fullLayout}, traceOut, binDir);\n return ax.type;\n }\n\n function fillBinOpts(traceOut, groupName, binDir) {\n // N.B. group traces that don't have a bingroup with themselves\n var fallbackGroupName = traceOut.uid + '__' + binDir;\n if(!groupName) groupName = fallbackGroupName;\n\n var axType = getAxisType(traceOut, binDir);\n var calendar = traceOut[binDir + 'calendar'] || '';\n var binOpts = allBinOpts[groupName];\n var needsNewItem = true;\n\n if(binOpts) {\n if(axType === binOpts.axType && calendar === binOpts.calendar) {\n needsNewItem = false;\n binOpts.traces.push(traceOut);\n binOpts.dirs.push(binDir);\n } else {\n groupName = fallbackGroupName;\n\n if(axType !== binOpts.axType) {\n Lib.warn([\n 'Attempted to group the bins of trace', traceOut.index,\n 'set on a', 'type:' + axType, 'axis',\n 'with bins on', 'type:' + binOpts.axType, 'axis.'\n ].join(' '));\n }\n if(calendar !== binOpts.calendar) {\n // prohibit bingroup for traces using different calendar,\n // there's probably a way to make this work, but skip for now\n Lib.warn([\n 'Attempted to group the bins of trace', traceOut.index,\n 'set with a', calendar, 'calendar',\n 'with bins',\n (binOpts.calendar ? 'on a ' + binOpts.calendar + ' calendar' : 'w/o a set calendar')\n ].join(' '));\n }\n }\n }\n\n if(needsNewItem) {\n allBinOpts[groupName] = {\n traces: [traceOut],\n dirs: [binDir],\n axType: axType,\n calendar: traceOut[binDir + 'calendar'] || ''\n };\n }\n traceOut['_' + binDir + 'bingroup'] = groupName;\n }\n\n for(i = 0; i < fullData.length; i++) {\n traceOut = fullData[i];\n\n if(traceIs(traceOut, 'histogram')) {\n histTraces.push(traceOut);\n\n // TODO: this shouldn't be relinked as it's only used within calc\n // https://github.com/plotly/plotly.js/issues/749\n delete traceOut._xautoBinFinished;\n delete traceOut._yautoBinFinished;\n\n // N.B. need to coerce *alignmentgroup* before *bingroup*, as traces\n // in same alignmentgroup \"have to match\"\n if(!traceIs(traceOut, '2dMap')) {\n handleGroupingDefaults(traceOut._input, traceOut, fullLayout, coerce);\n }\n }\n }\n\n var alignmentOpts = fullLayout._alignmentOpts || {};\n\n // Look for traces that \"have to match\", that is:\n // - 1d histogram traces on the same subplot with same orientation under barmode:stack,\n // - 1d histogram traces on the same subplot with same orientation under barmode:group\n // - 1d histogram traces on the same position axis with the same orientation\n // and the same *alignmentgroup* (coerced under barmode:group)\n // - Once `stackgroup` gets implemented (see https://github.com/plotly/plotly.js/issues/3614),\n // traces within the same stackgroup will also \"have to match\"\n for(i = 0; i < histTraces.length; i++) {\n traceOut = histTraces[i];\n groupName = '';\n\n if(!traceIs(traceOut, '2dMap')) {\n binDir = orientation2binDir(traceOut);\n\n if(fullLayout.barmode === 'group' && traceOut.alignmentgroup) {\n var pa = traceOut[binDir + 'axis'];\n var aGroupId = getAxisGroup(fullLayout, pa) + traceOut.orientation;\n if((alignmentOpts[aGroupId] || {})[traceOut.alignmentgroup]) {\n groupName = aGroupId;\n }\n }\n\n if(!groupName && fullLayout.barmode !== 'overlay') {\n groupName = (\n getAxisGroup(fullLayout, traceOut.xaxis) +\n getAxisGroup(fullLayout, traceOut.yaxis) +\n orientation2binDir(traceOut)\n );\n }\n }\n\n if(groupName) {\n if(!mustMatchTracesLookup[groupName]) {\n mustMatchTracesLookup[groupName] = [];\n }\n mustMatchTracesLookup[groupName].push(traceOut);\n } else {\n otherTracesList.push(traceOut);\n }\n }\n\n // Setup binOpts for traces that have to match,\n // if the traces have a valid bingroup, use that\n // if not use axis+binDir groupName\n for(groupName in mustMatchTracesLookup) {\n traces = mustMatchTracesLookup[groupName];\n\n // no need to 'force' anything when a single\n // trace is detected as \"must match\"\n if(traces.length === 1) {\n otherTracesList.push(traces[0]);\n continue;\n }\n\n var binGroupFound = false;\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n binGroupFound = coerce('bingroup');\n break;\n }\n\n groupName = binGroupFound || groupName;\n\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n var bingroupIn = traceOut._input.bingroup;\n if(bingroupIn && bingroupIn !== groupName) {\n Lib.warn([\n 'Trace', traceOut.index, 'must match',\n 'within bingroup', groupName + '.',\n 'Ignoring its bingroup:', bingroupIn, 'setting.'\n ].join(' '));\n }\n traceOut.bingroup = groupName;\n\n // N.B. no need to worry about 2dMap case\n // (where both bin direction are set in each trace)\n // as 2dMap trace never \"have to match\"\n fillBinOpts(traceOut, groupName, orientation2binDir(traceOut));\n }\n }\n\n // setup binOpts for traces that can but don't have to match,\n // notice that these traces can be matched with traces that have to match\n for(i = 0; i < otherTracesList.length; i++) {\n traceOut = otherTracesList[i];\n\n var binGroup = coerce('bingroup');\n\n if(traceIs(traceOut, '2dMap')) {\n for(k = 0; k < 2; k++) {\n binDir = BINDIRECTIONS[k];\n var binGroupInDir = coerce(binDir + 'bingroup',\n binGroup ? binGroup + '__' + binDir : null\n );\n fillBinOpts(traceOut, binGroupInDir, binDir);\n }\n } else {\n fillBinOpts(traceOut, binGroup, orientation2binDir(traceOut));\n }\n }\n\n // coerce bin attrs!\n for(groupName in allBinOpts) {\n var binOpts = allBinOpts[groupName];\n traces = binOpts.traces;\n\n for(j = 0; j < BINATTRS.length; j++) {\n var attrSpec = BINATTRS[j];\n var attr = attrSpec.name;\n var aStr;\n var autoVals;\n\n // nbins(x|y) is moot if we have a size. This depends on\n // nbins coming after size in binAttrs.\n if(attr === 'nbins' && binOpts.sizeFound) continue;\n\n for(i = 0; i < traces.length; i++) {\n traceOut = traces[i];\n binDir = binOpts.dirs[i];\n aStr = attrSpec.aStr[binDir];\n\n if(nestedProperty(traceOut._input, aStr).get() !== undefined) {\n binOpts[attr] = coerce(aStr);\n binOpts[attr + 'Found'] = true;\n break;\n }\n\n autoVals = (traceOut._autoBin || {})[binDir] || {};\n if(autoVals[attr]) {\n // if this is the *first* autoval\n nestedProperty(traceOut, aStr).set(autoVals[attr]);\n }\n }\n\n // start and end we need to coerce anyway, after having collected the\n // first of each into binOpts, in case a trace wants to restrict its\n // data to a certain range\n if(attr === 'start' || attr === 'end') {\n for(; i < traces.length; i++) {\n traceOut = traces[i];\n if(traceOut['_' + binDir + 'bingroup']) {\n autoVals = (traceOut._autoBin || {})[binDir] || {};\n coerce(aStr, autoVals[attr]);\n }\n }\n }\n\n if(attr === 'nbins' && !binOpts.sizeFound && !binOpts.nbinsFound) {\n traceOut = traces[0];\n binOpts[attr] = coerce(aStr);\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"72a4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nmodule.exports = {\n /**\n * Timing information for interactive elements\n */\n SHOW_PLACEHOLDER: 100,\n HIDE_PLACEHOLDER: 1000,\n\n // opacity dimming fraction for points that are not in selection\n DESELECTDIM: 0.2\n};\n\n\n/***/ }),\n\n/***/ \"72e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar styleOne = __webpack_require__(\"a708\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\n\nmodule.exports = function style(gd) {\n var s = gd._fullLayout._pielayer.selectAll('.trace');\n resizeText(gd, s, 'pie');\n\n s.each(function(cd) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n var traceSelection = d3.select(this);\n\n traceSelection.style({opacity: trace.opacity});\n\n traceSelection.selectAll('path.surface').each(function(pt) {\n d3.select(this).call(styleOne, pt, trace);\n });\n });\n};\n\n\n/***/ }),\n\n/***/ \"7327\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isBN = __webpack_require__(\"4e7e\")\n\nmodule.exports = isRat\n\nfunction isRat(x) {\n return Array.isArray(x) && x.length === 2 && isBN(x[0]) && isBN(x[1])\n}\n\n\n/***/ }),\n\n/***/ \"7373\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"62c4\");\n\nvar keys = Object.keys;\n\nmodule.exports = function (object) { return keys(isValue(object) ? Object(object) : object); };\n\n\n/***/ }),\n\n/***/ \"7388\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = {\n create: __webpack_require__(\"2638\"),\n clone: __webpack_require__(\"3c41\"),\n fromValues: __webpack_require__(\"f9f9\"),\n copy: __webpack_require__(\"265e\"),\n set: __webpack_require__(\"204d\"),\n add: __webpack_require__(\"c3a9\"),\n subtract: __webpack_require__(\"56cf\"),\n multiply: __webpack_require__(\"dd86\"),\n divide: __webpack_require__(\"73cf\"),\n min: __webpack_require__(\"5374\"),\n max: __webpack_require__(\"dd05\"),\n scale: __webpack_require__(\"d9c2\"),\n scaleAndAdd: __webpack_require__(\"0970\"),\n distance: __webpack_require__(\"fa11\"),\n squaredDistance: __webpack_require__(\"bf66\"),\n length: __webpack_require__(\"4e89\"),\n squaredLength: __webpack_require__(\"644a\"),\n negate: __webpack_require__(\"b1ca\"),\n inverse: __webpack_require__(\"95c9\"),\n normalize: __webpack_require__(\"5243\"),\n dot: __webpack_require__(\"7bb3\"),\n lerp: __webpack_require__(\"7ae4\"),\n random: __webpack_require__(\"aff3\"),\n transformMat4: __webpack_require__(\"6259\"),\n transformQuat: __webpack_require__(\"d26e\")\n}\n\n\n/***/ }),\n\n/***/ \"738f\":\n/***/ (function(module, exports) {\n\nmodule.exports = scaleAndAdd;\n\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {vec3} a the first operand\n * @param {vec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\nfunction scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + (b[0] * scale)\n out[1] = a[1] + (b[1] * scale)\n out[2] = a[2] + (b[2] * scale)\n return out\n}\n\n/***/ }),\n\n/***/ \"739b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Template = __webpack_require__(\"a651\");\n\nvar colorScaleAttrs = __webpack_require__(\"0dd7\");\nvar colorScaleDefaults = __webpack_require__(\"4183\");\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut) {\n function coerce(attr, dflt) {\n return Lib.coerce(layoutIn, layoutOut, colorScaleAttrs, attr, dflt);\n }\n\n coerce('colorscale.sequential');\n coerce('colorscale.sequentialminus');\n coerce('colorscale.diverging');\n\n var colorAxes = layoutOut._colorAxes;\n var colorAxIn, colorAxOut;\n\n function coerceAx(attr, dflt) {\n return Lib.coerce(colorAxIn, colorAxOut, colorScaleAttrs.coloraxis, attr, dflt);\n }\n\n for(var k in colorAxes) {\n var stash = colorAxes[k];\n\n if(stash[0]) {\n colorAxIn = layoutIn[k] || {};\n colorAxOut = Template.newContainer(layoutOut, k, 'coloraxis');\n colorAxOut._name = k;\n colorScaleDefaults(colorAxIn, colorAxOut, layoutOut, coerceAx, {prefix: '', cLetter: 'c'});\n } else {\n // re-coerce colorscale attributes w/o coloraxis\n for(var i = 0; i < stash[2].length; i++) {\n stash[2][i]();\n }\n delete layoutOut._colorAxes[k];\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"73c9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\n\nexports.xmlns = 'http://www.w3.org/2000/xmlns/';\nexports.svg = 'http://www.w3.org/2000/svg';\nexports.xlink = 'http://www.w3.org/1999/xlink';\n\n// the 'old' d3 quirk got fix in v3.5.7\n// https://github.com/mbostock/d3/commit/a6f66e9dd37f764403fc7c1f26be09ab4af24fed\nexports.svgAttrs = {\n xmlns: exports.svg,\n 'xmlns:xlink': exports.xlink\n};\n\n\n/***/ }),\n\n/***/ \"73cf\":\n/***/ (function(module, exports) {\n\nmodule.exports = divide\n\n/**\n * Divides two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {vec4} out\n */\nfunction divide (out, a, b) {\n out[0] = a[0] / b[0]\n out[1] = a[1] / b[1]\n out[2] = a[2] / b[2]\n out[3] = a[3] / b[3]\n return out\n}\n\n\n/***/ }),\n\n/***/ \"7418\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"743b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar colorMix = __webpack_require__(\"66cb\").mix;\nvar lightFraction = __webpack_require__(\"dfb3\").lightFraction;\nvar Lib = __webpack_require__(\"fc26\");\n\n/**\n * @param {object} opts :\n * - dfltColor {string} : default axis color\n * - bgColor {string} : combined subplot bg color\n * - blend {number, optional} : blend percentage (to compute dflt grid color)\n * - showLine {boolean} : show line by default\n * - showGrid {boolean} : show grid by default\n * - noZeroLine {boolean} : don't coerce zeroline* attributes\n * - attributes {object} : attribute object associated with input containers\n */\nmodule.exports = function handleLineGridDefaults(containerIn, containerOut, coerce, opts) {\n opts = opts || {};\n\n var dfltColor = opts.dfltColor;\n\n function coerce2(attr, dflt) {\n return Lib.coerce2(containerIn, containerOut, opts.attributes, attr, dflt);\n }\n\n var lineColor = coerce2('linecolor', dfltColor);\n var lineWidth = coerce2('linewidth');\n var showLine = coerce('showline', opts.showLine || !!lineColor || !!lineWidth);\n\n if(!showLine) {\n delete containerOut.linecolor;\n delete containerOut.linewidth;\n }\n\n var gridColorDflt = colorMix(dfltColor, opts.bgColor, opts.blend || lightFraction).toRgbString();\n var gridColor = coerce2('gridcolor', gridColorDflt);\n var gridWidth = coerce2('gridwidth');\n var showGridLines = coerce('showgrid', opts.showGrid || !!gridColor || !!gridWidth);\n\n if(!showGridLines) {\n delete containerOut.gridcolor;\n delete containerOut.gridwidth;\n }\n\n if(!opts.noZeroLine) {\n var zeroLineColor = coerce2('zerolinecolor', dfltColor);\n var zeroLineWidth = coerce2('zerolinewidth');\n var showZeroLine = coerce('zeroline', opts.showGrid || !!zeroLineColor || !!zeroLineWidth);\n\n if(!showZeroLine) {\n delete containerOut.zerolinecolor;\n delete containerOut.zerolinewidth;\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"746f\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar path = __webpack_require__(\"428f\");\nvar has = __webpack_require__(\"5135\");\nvar wrappedWellKnownSymbolModule = __webpack_require__(\"e538\");\nvar defineProperty = __webpack_require__(\"9bf2\").f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n\n\n/***/ }),\n\n/***/ \"74b4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar texttemplateAttrs = __webpack_require__(\"94d5\").texttemplateAttrs;\nvar scatterGeoAttrs = __webpack_require__(\"56f3\");\nvar scatterAttrs = __webpack_require__(\"107c\");\nvar mapboxAttrs = __webpack_require__(\"f7e9\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorScaleAttrs = __webpack_require__(\"f4e9\");\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar lineAttrs = scatterGeoAttrs.line;\nvar markerAttrs = scatterGeoAttrs.marker;\n\nmodule.exports = overrideAll({\n lon: scatterGeoAttrs.lon,\n lat: scatterGeoAttrs.lat,\n\n // locations\n // locationmode\n\n mode: extendFlat({}, scatterAttrs.mode, {\n dflt: 'markers',\n \n }),\n\n text: extendFlat({}, scatterAttrs.text, {\n \n }),\n texttemplate: texttemplateAttrs({editType: 'plot'}, {\n keys: ['lat', 'lon', 'text']\n }),\n hovertext: extendFlat({}, scatterAttrs.hovertext, {\n \n }),\n\n line: {\n color: lineAttrs.color,\n width: lineAttrs.width\n\n // TODO\n // dash: dash\n },\n\n connectgaps: scatterAttrs.connectgaps,\n\n marker: extendFlat({\n symbol: {\n valType: 'string',\n dflt: 'circle',\n \n arrayOk: true,\n \n },\n opacity: markerAttrs.opacity,\n size: markerAttrs.size,\n sizeref: markerAttrs.sizeref,\n sizemin: markerAttrs.sizemin,\n sizemode: markerAttrs.sizemode\n },\n colorScaleAttrs('marker')\n // line\n ),\n\n fill: scatterGeoAttrs.fill,\n fillcolor: scatterAttrs.fillcolor,\n\n textfont: mapboxAttrs.layers.symbol.textfont,\n textposition: mapboxAttrs.layers.symbol.textposition,\n\n below: {\n valType: 'string',\n \n \n },\n\n selected: {\n marker: scatterAttrs.selected.marker\n },\n unselected: {\n marker: scatterAttrs.unselected.marker\n },\n\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: ['lon', 'lat', 'text', 'name']\n }),\n hovertemplate: hovertemplateAttrs(),\n}, 'calc', 'nested');\n\n\n/***/ }),\n\n/***/ \"74d6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\n/**\n * convert a string s (such as 'xaxis.range[0]')\n * representing a property of nested object into set and get methods\n * also return the string and object so we don't have to keep track of them\n * allows [-1] for an array index, to set a property inside all elements\n * of an array\n * eg if obj = {arr: [{a: 1}, {a: 2}]}\n * you can do p = nestedProperty(obj, 'arr[-1].a')\n * but you cannot set the array itself this way, to do that\n * just set the whole array.\n * eg if obj = {arr: [1, 2, 3]}\n * you can't do nestedProperty(obj, 'arr[-1]').set(5)\n * but you can do nestedProperty(obj, 'arr').set([5, 5, 5])\n */\nmodule.exports = function nestedProperty(container, propStr) {\n if(isNumeric(propStr)) propStr = String(propStr);\n else if(typeof propStr !== 'string' ||\n propStr.substr(propStr.length - 4) === '[-1]') {\n throw 'bad property string';\n }\n\n var j = 0;\n var propParts = propStr.split('.');\n var indexed;\n var indices;\n var i;\n\n // check for parts of the nesting hierarchy that are numbers (ie array elements)\n while(j < propParts.length) {\n // look for non-bracket chars, then any number of [##] blocks\n indexed = String(propParts[j]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/);\n if(indexed) {\n if(indexed[1]) propParts[j] = indexed[1];\n // allow propStr to start with bracketed array indices\n else if(j === 0) propParts.splice(0, 1);\n else throw 'bad property string';\n\n indices = indexed[2]\n .substr(1, indexed[2].length - 2)\n .split('][');\n\n for(i = 0; i < indices.length; i++) {\n j++;\n propParts.splice(j, 0, Number(indices[i]));\n }\n }\n j++;\n }\n\n if(typeof container !== 'object') {\n return badContainer(container, propStr, propParts);\n }\n\n return {\n set: npSet(container, propParts, propStr),\n get: npGet(container, propParts),\n astr: propStr,\n parts: propParts,\n obj: container\n };\n};\n\nfunction npGet(cont, parts) {\n return function() {\n var curCont = cont;\n var curPart;\n var allSame;\n var out;\n var i;\n var j;\n\n for(i = 0; i < parts.length - 1; i++) {\n curPart = parts[i];\n if(curPart === -1) {\n allSame = true;\n out = [];\n for(j = 0; j < curCont.length; j++) {\n out[j] = npGet(curCont[j], parts.slice(i + 1))();\n if(out[j] !== out[0]) allSame = false;\n }\n return allSame ? out[0] : out;\n }\n if(typeof curPart === 'number' && !isArrayOrTypedArray(curCont)) {\n return undefined;\n }\n curCont = curCont[curPart];\n if(typeof curCont !== 'object' || curCont === null) {\n return undefined;\n }\n }\n\n // only hit this if parts.length === 1\n if(typeof curCont !== 'object' || curCont === null) return undefined;\n\n out = curCont[parts[i]];\n if(out === null) return undefined;\n return out;\n };\n}\n\n/*\n * Can this value be deleted? We can delete `undefined`, and `null` except INSIDE an\n * *args* array.\n *\n * Previously we also deleted some `{}` and `[]`, in order to try and make set/unset\n * a net noop; but this causes far more complication than it's worth, and still had\n * lots of exceptions. See https://github.com/plotly/plotly.js/issues/1410\n *\n * *args* arrays get passed directly to API methods and we should respect null if\n * the user put it there, but otherwise null is deleted as we use it as code\n * in restyle/relayout/update for \"delete this value\" whereas undefined means\n * \"ignore this edit\"\n */\nvar ARGS_PATTERN = /(^|\\.)args\\[/;\nfunction isDeletable(val, propStr) {\n return (val === undefined) || (val === null && !propStr.match(ARGS_PATTERN));\n}\n\nfunction npSet(cont, parts, propStr) {\n return function(val) {\n var curCont = cont;\n var propPart = '';\n var containerLevels = [[cont, propPart]];\n var toDelete = isDeletable(val, propStr);\n var curPart;\n var i;\n\n for(i = 0; i < parts.length - 1; i++) {\n curPart = parts[i];\n\n if(typeof curPart === 'number' && !isArrayOrTypedArray(curCont)) {\n throw 'array index but container is not an array';\n }\n\n // handle special -1 array index\n if(curPart === -1) {\n toDelete = !setArrayAll(curCont, parts.slice(i + 1), val, propStr);\n if(toDelete) break;\n else return;\n }\n\n if(!checkNewContainer(curCont, curPart, parts[i + 1], toDelete)) {\n break;\n }\n\n curCont = curCont[curPart];\n\n if(typeof curCont !== 'object' || curCont === null) {\n throw 'container is not an object';\n }\n\n propPart = joinPropStr(propPart, curPart);\n\n containerLevels.push([curCont, propPart]);\n }\n\n if(toDelete) {\n if(i === parts.length - 1) {\n delete curCont[parts[i]];\n\n // The one bit of pruning we still do: drop `undefined` from the end of arrays.\n // In case someone has already unset previous items, continue until we hit a\n // non-undefined value.\n if(Array.isArray(curCont) && +parts[i] === curCont.length - 1) {\n while(curCont.length && curCont[curCont.length - 1] === undefined) {\n curCont.pop();\n }\n }\n }\n } else curCont[parts[i]] = val;\n };\n}\n\nfunction joinPropStr(propStr, newPart) {\n var toAdd = newPart;\n if(isNumeric(newPart)) toAdd = '[' + newPart + ']';\n else if(propStr) toAdd = '.' + newPart;\n\n return propStr + toAdd;\n}\n\n// handle special -1 array index\nfunction setArrayAll(containerArray, innerParts, val, propStr) {\n var arrayVal = isArrayOrTypedArray(val);\n var allSet = true;\n var thisVal = val;\n var thisPropStr = propStr.replace('-1', 0);\n var deleteThis = arrayVal ? false : isDeletable(val, thisPropStr);\n var firstPart = innerParts[0];\n var i;\n\n for(i = 0; i < containerArray.length; i++) {\n thisPropStr = propStr.replace('-1', i);\n if(arrayVal) {\n thisVal = val[i % val.length];\n deleteThis = isDeletable(thisVal, thisPropStr);\n }\n if(deleteThis) allSet = false;\n if(!checkNewContainer(containerArray, i, firstPart, deleteThis)) {\n continue;\n }\n npSet(containerArray[i], innerParts, propStr.replace('-1', i))(thisVal);\n }\n return allSet;\n}\n\n/**\n * make new sub-container as needed.\n * returns false if there's no container and none is needed\n * because we're only deleting an attribute\n */\nfunction checkNewContainer(container, part, nextPart, toDelete) {\n if(container[part] === undefined) {\n if(toDelete) return false;\n\n if(typeof nextPart === 'number') container[part] = [];\n else container[part] = {};\n }\n return true;\n}\n\nfunction badContainer(container, propStr, propParts) {\n return {\n set: function() { throw 'bad container'; },\n get: function() {},\n astr: propStr,\n parts: propParts,\n obj: container\n };\n}\n\n\n/***/ }),\n\n/***/ \"7559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n 'undo': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'home': {\n 'width': 928.6,\n 'height': 1000,\n 'path': 'm786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'camera-retro': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoombox': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'pan': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoom_plus': {\n 'width': 875,\n 'height': 1000,\n 'path': 'm1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'zoom_minus': {\n 'width': 875,\n 'height': 1000,\n 'path': 'm0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'autoscale': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'tooltip_basic': {\n 'width': 1500,\n 'height': 1000,\n 'path': 'm375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'tooltip_compare': {\n 'width': 1125,\n 'height': 1000,\n 'path': 'm187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'plotlylogo': {\n 'width': 1542,\n 'height': 1000,\n 'path': 'm0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'z-axis': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n '3d_rotate': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'camera': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'movie': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'question': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'disk': {\n 'width': 857.1,\n 'height': 1000,\n 'path': 'm214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'lasso': {\n 'width': 1031,\n 'height': 1000,\n 'path': 'm1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'selectbox': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'm0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z',\n 'transform': 'matrix(1 0 0 -1 0 850)'\n },\n 'spikeline': {\n 'width': 1000,\n 'height': 1000,\n 'path': 'M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z',\n 'transform': 'matrix(1.5 0 0 -1.5 0 850)'\n },\n 'pencil': {\n 'width': 1792,\n 'height': 1792,\n 'path': 'M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z',\n 'transform': 'matrix(1 0 0 1 0 1)'\n },\n 'newplotlylogo': {\n 'name': 'newplotlylogo',\n 'svg': 'plotly-logomark'\n }\n};\n\n\n/***/ }),\n\n/***/ \"7594\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Color = __webpack_require__(\"d115\");\nvar Lib = __webpack_require__(\"fc26\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\n\nfunction style(gd) {\n var s = gd._fullLayout._sunburstlayer.selectAll('.trace');\n resizeText(gd, s, 'sunburst');\n\n s.each(function(cd) {\n var gTrace = d3.select(this);\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n gTrace.style('opacity', trace.opacity);\n\n gTrace.selectAll('path.surface').each(function(pt) {\n d3.select(this).call(styleOne, pt, trace);\n });\n });\n}\n\nfunction styleOne(s, pt, trace) {\n var cdi = pt.data.data;\n var isLeaf = !pt.children;\n var ptNumber = cdi.i;\n var lineColor = Lib.castOption(trace, ptNumber, 'marker.line.color') || Color.defaultLine;\n var lineWidth = Lib.castOption(trace, ptNumber, 'marker.line.width') || 0;\n\n s.style('stroke-width', lineWidth)\n .call(Color.fill, cdi.color)\n .call(Color.stroke, lineColor)\n .style('opacity', isLeaf ? trace.leaf.opacity : null);\n}\n\nmodule.exports = {\n style: style,\n styleOne: styleOne\n};\n\n\n/***/ }),\n\n/***/ \"75ac\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"8761\");\n\n\n/***/ }),\n\n/***/ \"765f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\nvar rgba = __webpack_require__(\"0103\");\n\nvar Colorscale = __webpack_require__(\"c258\");\nvar colorDflt = __webpack_require__(\"dfb3\").defaultLine;\nvar isArrayOrTypedArray = __webpack_require__(\"6af8\").isArrayOrTypedArray;\n\nvar colorDfltRgba = rgba(colorDflt);\nvar opacityDflt = 1;\n\nfunction calculateColor(colorIn, opacityIn) {\n var colorOut = colorIn;\n colorOut[3] *= opacityIn;\n return colorOut;\n}\n\nfunction validateColor(colorIn) {\n if(isNumeric(colorIn)) return colorDfltRgba;\n\n var colorOut = rgba(colorIn);\n\n return colorOut.length ? colorOut : colorDfltRgba;\n}\n\nfunction validateOpacity(opacityIn) {\n return isNumeric(opacityIn) ? opacityIn : opacityDflt;\n}\n\nfunction formatColor(containerIn, opacityIn, len) {\n var colorIn = containerIn.color;\n var isArrayColorIn = isArrayOrTypedArray(colorIn);\n var isArrayOpacityIn = isArrayOrTypedArray(opacityIn);\n var cOpts = Colorscale.extractOpts(containerIn);\n var colorOut = [];\n\n var sclFunc, getColor, getOpacity, colori, opacityi;\n\n if(cOpts.colorscale !== undefined) {\n sclFunc = Colorscale.makeColorScaleFuncFromTrace(containerIn);\n } else {\n sclFunc = validateColor;\n }\n\n if(isArrayColorIn) {\n getColor = function(c, i) {\n // FIXME: there is double work, considering that sclFunc does the opposite\n return c[i] === undefined ? colorDfltRgba : rgba(sclFunc(c[i]));\n };\n } else getColor = validateColor;\n\n if(isArrayOpacityIn) {\n getOpacity = function(o, i) {\n return o[i] === undefined ? opacityDflt : validateOpacity(o[i]);\n };\n } else getOpacity = validateOpacity;\n\n if(isArrayColorIn || isArrayOpacityIn) {\n for(var i = 0; i < len; i++) {\n colori = getColor(colorIn, i);\n opacityi = getOpacity(opacityIn, i);\n colorOut[i] = calculateColor(colori, opacityi);\n }\n } else colorOut = calculateColor(rgba(colorIn), opacityIn);\n\n return colorOut;\n}\n\nfunction parseColorScale(cont, alpha) {\n if(alpha === undefined) alpha = 1;\n\n var cOpts = Colorscale.extractOpts(cont);\n\n var colorscale = cOpts.reversescale ?\n Colorscale.flipScale(cOpts.colorscale) :\n cOpts.colorscale;\n\n return colorscale.map(function(elem) {\n var index = elem[0];\n var color = tinycolor(elem[1]);\n var rgb = color.toRgb();\n return {\n index: index,\n rgb: [rgb.r, rgb.g, rgb.b, alpha]\n };\n });\n}\n\nmodule.exports = {\n formatColor: formatColor,\n parseColorScale: parseColorScale\n};\n\n\n/***/ }),\n\n/***/ \"7678\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n funnelmode: {\n valType: 'enumerated',\n values: ['stack', 'group', 'overlay'],\n dflt: 'stack',\n \n editType: 'calc',\n \n },\n funnelgap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'calc',\n \n },\n funnelgroupgap: {\n valType: 'number',\n min: 0,\n max: 1,\n dflt: 0,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"76b2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/* global MathJax:false */\n\nmodule.exports = function() {\n if(typeof MathJax !== 'undefined') {\n var globalConfig = (window.PlotlyConfig || {}).MathJaxConfig !== 'local';\n\n if(globalConfig) {\n MathJax.Hub.Config({\n messageStyle: 'none',\n skipStartupTypeset: true,\n displayAlign: 'left',\n tex2jax: {\n inlineMath: [['$', '$'], ['\\\\(', '\\\\)']]\n }\n });\n MathJax.Hub.Configured();\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"76fe\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar str2RgbaArray = __webpack_require__(\"f977\");\nvar Lib = __webpack_require__(\"fc26\");\n\nvar AXES_NAMES = ['xaxis', 'yaxis', 'zaxis'];\n\nfunction AxesOptions() {\n this.bounds = [\n [-10, -10, -10],\n [10, 10, 10]\n ];\n\n this.ticks = [ [], [], [] ];\n this.tickEnable = [ true, true, true ];\n this.tickFont = [ 'sans-serif', 'sans-serif', 'sans-serif' ];\n this.tickSize = [ 12, 12, 12 ];\n this.tickAngle = [ 0, 0, 0 ];\n this.tickColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.tickPad = [ 18, 18, 18 ];\n\n this.labels = [ 'x', 'y', 'z' ];\n this.labelEnable = [ true, true, true ];\n this.labelFont = ['Open Sans', 'Open Sans', 'Open Sans'];\n this.labelSize = [ 20, 20, 20 ];\n this.labelColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.labelPad = [ 30, 30, 30 ];\n\n this.lineEnable = [ true, true, true ];\n this.lineMirror = [ false, false, false ];\n this.lineWidth = [ 1, 1, 1 ];\n this.lineColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.lineTickEnable = [ true, true, true ];\n this.lineTickMirror = [ false, false, false ];\n this.lineTickLength = [ 10, 10, 10 ];\n this.lineTickWidth = [ 1, 1, 1 ];\n this.lineTickColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.gridEnable = [ true, true, true ];\n this.gridWidth = [ 1, 1, 1 ];\n this.gridColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n\n this.zeroEnable = [ true, true, true ];\n this.zeroLineColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];\n this.zeroLineWidth = [ 2, 2, 2 ];\n\n this.backgroundEnable = [ true, true, true ];\n this.backgroundColor = [ [0.8, 0.8, 0.8, 0.5],\n [0.8, 0.8, 0.8, 0.5],\n [0.8, 0.8, 0.8, 0.5] ];\n\n // some default values are stored for applying model transforms\n this._defaultTickPad = this.tickPad.slice();\n this._defaultLabelPad = this.labelPad.slice();\n this._defaultLineTickLength = this.lineTickLength.slice();\n}\n\nvar proto = AxesOptions.prototype;\n\nproto.merge = function(fullLayout, sceneLayout) {\n var opts = this;\n for(var i = 0; i < 3; ++i) {\n var axes = sceneLayout[AXES_NAMES[i]];\n\n if(!axes.visible) {\n opts.tickEnable[i] = false;\n opts.labelEnable[i] = false;\n opts.lineEnable[i] = false;\n opts.lineTickEnable[i] = false;\n opts.gridEnable[i] = false;\n opts.zeroEnable[i] = false;\n opts.backgroundEnable[i] = false;\n continue;\n }\n\n // Axes labels\n opts.labels[i] = fullLayout._meta ?\n Lib.templateString(axes.title.text, fullLayout._meta) :\n axes.title.text;\n\n if('font' in axes.title) {\n if(axes.title.font.color) opts.labelColor[i] = str2RgbaArray(axes.title.font.color);\n if(axes.title.font.family) opts.labelFont[i] = axes.title.font.family;\n if(axes.title.font.size) opts.labelSize[i] = axes.title.font.size;\n }\n\n // Lines\n if('showline' in axes) opts.lineEnable[i] = axes.showline;\n if('linecolor' in axes) opts.lineColor[i] = str2RgbaArray(axes.linecolor);\n if('linewidth' in axes) opts.lineWidth[i] = axes.linewidth;\n\n if('showgrid' in axes) opts.gridEnable[i] = axes.showgrid;\n if('gridcolor' in axes) opts.gridColor[i] = str2RgbaArray(axes.gridcolor);\n if('gridwidth' in axes) opts.gridWidth[i] = axes.gridwidth;\n\n // Remove zeroline if axis type is log\n // otherwise the zeroline is incorrectly drawn at 1 on log axes\n if(axes.type === 'log') opts.zeroEnable[i] = false;\n else if('zeroline' in axes) opts.zeroEnable[i] = axes.zeroline;\n if('zerolinecolor' in axes) opts.zeroLineColor[i] = str2RgbaArray(axes.zerolinecolor);\n if('zerolinewidth' in axes) opts.zeroLineWidth[i] = axes.zerolinewidth;\n\n // tick lines\n if('ticks' in axes && !!axes.ticks) opts.lineTickEnable[i] = true;\n else opts.lineTickEnable[i] = false;\n\n if('ticklen' in axes) {\n opts.lineTickLength[i] = opts._defaultLineTickLength[i] = axes.ticklen;\n }\n if('tickcolor' in axes) opts.lineTickColor[i] = str2RgbaArray(axes.tickcolor);\n if('tickwidth' in axes) opts.lineTickWidth[i] = axes.tickwidth;\n if('tickangle' in axes) {\n opts.tickAngle[i] = (axes.tickangle === 'auto') ?\n -3600 : // i.e. special number to set auto option\n Math.PI * -axes.tickangle / 180;\n }\n\n // tick labels\n if('showticklabels' in axes) opts.tickEnable[i] = axes.showticklabels;\n if('tickfont' in axes) {\n if(axes.tickfont.color) opts.tickColor[i] = str2RgbaArray(axes.tickfont.color);\n if(axes.tickfont.family) opts.tickFont[i] = axes.tickfont.family;\n if(axes.tickfont.size) opts.tickSize[i] = axes.tickfont.size;\n }\n\n if('mirror' in axes) {\n if(['ticks', 'all', 'allticks'].indexOf(axes.mirror) !== -1) {\n opts.lineTickMirror[i] = true;\n opts.lineMirror[i] = true;\n } else if(axes.mirror === true) {\n opts.lineTickMirror[i] = false;\n opts.lineMirror[i] = true;\n } else {\n opts.lineTickMirror[i] = false;\n opts.lineMirror[i] = false;\n }\n } else opts.lineMirror[i] = false;\n\n // grid background\n if('showbackground' in axes && axes.showbackground !== false) {\n opts.backgroundEnable[i] = true;\n opts.backgroundColor[i] = str2RgbaArray(axes.backgroundcolor);\n } else opts.backgroundEnable[i] = false;\n }\n};\n\n\nfunction createAxesOptions(fullLayout, sceneLayout) {\n var result = new AxesOptions();\n result.merge(fullLayout, sceneLayout);\n return result;\n}\n\nmodule.exports = createAxesOptions;\n\n\n/***/ }),\n\n/***/ \"7797\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n \"use restrict\";\n\nmodule.exports = UnionFind;\n\nfunction UnionFind(count) {\n this.roots = new Array(count);\n this.ranks = new Array(count);\n \n for(var i=0; i ]/) ? '_keybuster_' + Math.random() : '';\n return {\n // keyWithinBlock: /*fromTo[0] + */i, // optimized future version - no busting\n // keyWithinBlock: fromTo[0] + i, // initial always-unoptimized version - janky scrolling with 5+ columns\n keyWithinBlock: i + buster, // current compromise: regular content is very fast; async content is possible\n key: fromTo[0] + i,\n column: d,\n calcdata: d.calcdata,\n page: d.page,\n rowBlocks: d.rowBlocks,\n value: v\n };\n });\n};\n\nfunction rowFromTo(d) {\n var rowBlock = d.rowBlocks[d.page];\n // fixme rowBlock truthiness check is due to ugly hack of placing 2nd panel as d.page = -1\n var rowFrom = rowBlock ? rowBlock.rows[0].rowIndex : 0;\n var rowTo = rowBlock ? rowFrom + rowBlock.rows.length : 0;\n return [rowFrom, rowTo];\n}\n\n\n/***/ }),\n\n/***/ \"7831\":\n/***/ (function(module, exports) {\n\nmodule.exports = function(dtype) {\n switch (dtype) {\n case 'int8':\n return Int8Array\n case 'int16':\n return Int16Array\n case 'int32':\n return Int32Array\n case 'uint8':\n return Uint8Array\n case 'uint16':\n return Uint16Array\n case 'uint32':\n return Uint32Array\n case 'float32':\n return Float32Array\n case 'float64':\n return Float64Array\n case 'array':\n return Array\n case 'uint8_clamped':\n return Uint8ClampedArray\n }\n}\n\n\n/***/ }),\n\n/***/ \"7839\":\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n\n/***/ \"7899\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = affineHull\n\nvar orient = __webpack_require__(\"92ba\")\n\nfunction linearlyIndependent(points, d) {\n var nhull = new Array(d+1)\n for(var i=0; i 0;\n}\n\nmodule.exports = function plot(gd, cdModule, transitionOpts, makeOnCompleteCallback) {\n var fullLayout = gd._fullLayout;\n var onComplete;\n\n if(hasTransition(transitionOpts)) {\n if(makeOnCompleteCallback) {\n // If it was passed a callback to register completion, make a callback. If\n // this is created, then it must be executed on completion, otherwise the\n // pos-transition redraw will not execute:\n onComplete = makeOnCompleteCallback();\n }\n }\n\n Lib.makeTraceGroups(fullLayout._indicatorlayer, cdModule, 'trace').each(function(cd) {\n var cd0 = cd[0];\n var trace = cd0.trace;\n\n var plotGroup = d3.select(this);\n\n // Elements in trace\n var hasGauge = trace._hasGauge;\n var isAngular = trace._isAngular;\n var isBullet = trace._isBullet;\n\n // Domain size\n var domain = trace.domain;\n var size = {\n w: fullLayout._size.w * (domain.x[1] - domain.x[0]),\n h: fullLayout._size.h * (domain.y[1] - domain.y[0]),\n l: fullLayout._size.l + fullLayout._size.w * domain.x[0],\n r: fullLayout._size.r + fullLayout._size.w * (1 - domain.x[1]),\n t: fullLayout._size.t + fullLayout._size.h * (1 - domain.y[1]),\n b: fullLayout._size.b + fullLayout._size.h * (domain.y[0])\n };\n var centerX = size.l + size.w / 2;\n var centerY = size.t + size.h / 2;\n\n // Angular gauge size\n var radius = Math.min(size.w / 2, size.h); // fill domain\n var innerRadius = cn.innerRadius * radius;\n\n // Position numbers based on mode and set the scaling logic\n var numbersX, numbersY, numbersScaler;\n var numbersAlign = trace.align || 'center';\n\n numbersY = centerY;\n if(!hasGauge) {\n numbersX = size.l + position[numbersAlign] * size.w;\n numbersScaler = function(el) {\n return fitTextInsideBox(el, size.w, size.h);\n };\n } else {\n if(isAngular) {\n numbersX = centerX;\n numbersY = centerY + radius / 2;\n numbersScaler = function(el) {\n return fitTextInsideCircle(el, 0.9 * innerRadius);\n };\n }\n if(isBullet) {\n var padding = cn.bulletPadding;\n var p = (1 - cn.bulletNumberDomainSize) + padding;\n numbersX = size.l + (p + (1 - p) * position[numbersAlign]) * size.w;\n numbersScaler = function(el) {\n return fitTextInsideBox(el, (cn.bulletNumberDomainSize - padding) * size.w, size.h);\n };\n }\n }\n\n // Draw numbers\n drawNumbers(gd, plotGroup, cd, {\n numbersX: numbersX,\n numbersY: numbersY,\n numbersScaler: numbersScaler,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n\n // Reexpress our gauge background attributes for drawing\n var gaugeBg, gaugeOutline;\n if(hasGauge) {\n gaugeBg = {\n range: trace.gauge.axis.range,\n color: trace.gauge.bgcolor,\n line: {\n color: trace.gauge.bordercolor,\n width: 0\n },\n thickness: 1\n };\n\n gaugeOutline = {\n range: trace.gauge.axis.range,\n color: 'rgba(0, 0, 0, 0)',\n line: {\n color: trace.gauge.bordercolor,\n width: trace.gauge.borderwidth\n },\n thickness: 1\n };\n }\n\n // Prepare angular gauge layers\n var angularGauge = plotGroup.selectAll('g.angular').data(isAngular ? cd : []);\n angularGauge.exit().remove();\n var angularaxisLayer = plotGroup.selectAll('g.angularaxis').data(isAngular ? cd : []);\n angularaxisLayer.exit().remove();\n\n if(isAngular) {\n drawAngularGauge(gd, plotGroup, cd, {\n radius: radius,\n innerRadius: innerRadius,\n\n gauge: angularGauge,\n layer: angularaxisLayer,\n size: size,\n gaugeBg: gaugeBg,\n gaugeOutline: gaugeOutline,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n }\n\n // Prepare bullet layers\n var bulletGauge = plotGroup.selectAll('g.bullet').data(isBullet ? cd : []);\n bulletGauge.exit().remove();\n var bulletaxisLayer = plotGroup.selectAll('g.bulletaxis').data(isBullet ? cd : []);\n bulletaxisLayer.exit().remove();\n\n if(isBullet) {\n drawBulletGauge(gd, plotGroup, cd, {\n gauge: bulletGauge,\n layer: bulletaxisLayer,\n size: size,\n gaugeBg: gaugeBg,\n gaugeOutline: gaugeOutline,\n transitionOpts: transitionOpts,\n onComplete: onComplete\n });\n }\n\n // title\n var title = plotGroup.selectAll('text.title').data(cd);\n title.exit().remove();\n title.enter().append('text').classed('title', true);\n title\n .attr('text-anchor', function() {\n return isBullet ? anchor.right : anchor[trace.title.align];\n })\n .text(trace.title.text)\n .call(Drawing.font, trace.title.font)\n .call(svgTextUtils.convertToTspans, gd);\n\n // Position title\n title.attr('transform', function() {\n var titleX = size.l + size.w * position[trace.title.align];\n var titleY;\n var titlePadding = cn.titlePadding;\n var titlebBox = Drawing.bBox(title.node());\n if(hasGauge) {\n if(isAngular) {\n // position above axis ticks/labels\n if(trace.gauge.axis.visible) {\n var bBox = Drawing.bBox(angularaxisLayer.node());\n titleY = (bBox.top - titlePadding) - titlebBox.bottom;\n } else {\n titleY = size.t + size.h / 2 - radius / 2 - titlebBox.bottom - titlePadding;\n }\n }\n if(isBullet) {\n // position outside domain\n titleY = numbersY - (titlebBox.top + titlebBox.bottom) / 2;\n titleX = size.l - cn.bulletPadding * size.w; // Outside domain, on the left\n }\n } else {\n // position above numbers\n titleY = (trace._numbersTop - titlePadding) - titlebBox.bottom;\n }\n return strTranslate(titleX, titleY);\n });\n });\n};\n\nfunction drawBulletGauge(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var bullet = opts.gauge;\n var axisLayer = opts.layer;\n var gaugeBg = opts.gaugeBg;\n var gaugeOutline = opts.gaugeOutline;\n var size = opts.size;\n var domain = trace.domain;\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n // preparing axis\n var ax, vals, transFn, tickSign, shift;\n\n // Enter bullet, axis\n bullet.enter().append('g').classed('bullet', true);\n bullet.attr('transform', 'translate(' + size.l + ', ' + size.t + ')');\n\n axisLayer.enter().append('g')\n .classed('bulletaxis', true)\n .classed('crisp', true);\n axisLayer.selectAll('g.' + 'xbulletaxis' + 'tick,path,text').remove();\n\n // Draw bullet\n var bulletHeight = size.h; // use all vertical domain\n var innerBulletHeight = trace.gauge.bar.thickness * bulletHeight;\n var bulletLeft = domain.x[0];\n var bulletRight = domain.x[0] + (domain.x[1] - domain.x[0]) * ((trace._hasNumber || trace._hasDelta) ? (1 - cn.bulletNumberDomainSize) : 1);\n\n ax = mockAxis(gd, trace.gauge.axis);\n ax._id = 'xbulletaxis';\n ax.domain = [bulletLeft, bulletRight];\n ax.setScale();\n\n vals = Axes.calcTicks(ax);\n transFn = Axes.makeTransFn(ax);\n tickSign = Axes.getTickSigns(ax)[2];\n\n shift = size.t + size.h;\n if(ax.visible) {\n Axes.drawTicks(gd, ax, {\n vals: ax.ticks === 'inside' ? Axes.clipEnds(ax, vals) : vals,\n layer: axisLayer,\n path: Axes.makeTickPath(ax, shift, tickSign),\n transFn: transFn\n });\n\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axisLayer,\n transFn: transFn,\n labelFns: Axes.makeLabelFns(ax, shift)\n });\n }\n\n function drawRect(s) {\n s\n .attr('width', function(d) { return Math.max(0, ax.c2p(d.range[1]) - ax.c2p(d.range[0]));})\n .attr('x', function(d) { return ax.c2p(d.range[0]);})\n .attr('y', function(d) { return 0.5 * (1 - d.thickness) * bulletHeight;})\n .attr('height', function(d) { return d.thickness * bulletHeight; });\n }\n\n // Draw bullet background, steps\n var boxes = [gaugeBg].concat(trace.gauge.steps);\n var bgBullet = bullet.selectAll('g.bg-bullet').data(boxes);\n bgBullet.enter().append('g').classed('bg-bullet', true).append('rect');\n bgBullet.select('rect')\n .call(drawRect)\n .call(styleShape);\n bgBullet.exit().remove();\n\n // Draw value bar with transitions\n var fgBullet = bullet.selectAll('g.value-bullet').data([trace.gauge.bar]);\n fgBullet.enter().append('g').classed('value-bullet', true).append('rect');\n fgBullet.select('rect')\n .attr('height', innerBulletHeight)\n .attr('y', (bulletHeight - innerBulletHeight) / 2)\n .call(styleShape);\n if(hasTransition(transitionOpts)) {\n fgBullet.select('rect')\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { onComplete && onComplete(); })\n .each('interrupt', function() { onComplete && onComplete(); })\n .attr('width', Math.max(0, ax.c2p(Math.min(trace.gauge.axis.range[1], cd[0].y))));\n } else {\n fgBullet.select('rect')\n .attr('width', typeof cd[0].y === 'number' ?\n Math.max(0, ax.c2p(Math.min(trace.gauge.axis.range[1], cd[0].y))) :\n 0);\n }\n fgBullet.exit().remove();\n\n var data = cd.filter(function() {return trace.gauge.threshold.value;});\n var threshold = bullet.selectAll('g.threshold-bullet').data(data);\n threshold.enter().append('g').classed('threshold-bullet', true).append('line');\n threshold.select('line')\n .attr('x1', ax.c2p(trace.gauge.threshold.value))\n .attr('x2', ax.c2p(trace.gauge.threshold.value))\n .attr('y1', (1 - trace.gauge.threshold.thickness) / 2 * bulletHeight)\n .attr('y2', (1 - (1 - trace.gauge.threshold.thickness) / 2) * bulletHeight)\n .call(Color.stroke, trace.gauge.threshold.line.color)\n .style('stroke-width', trace.gauge.threshold.line.width);\n threshold.exit().remove();\n\n var bulletOutline = bullet.selectAll('g.gauge-outline').data([gaugeOutline]);\n bulletOutline.enter().append('g').classed('gauge-outline', true).append('rect');\n bulletOutline.select('rect')\n .call(drawRect)\n .call(styleShape);\n bulletOutline.exit().remove();\n}\n\nfunction drawAngularGauge(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var size = opts.size;\n var radius = opts.radius;\n var innerRadius = opts.innerRadius;\n var gaugeBg = opts.gaugeBg;\n var gaugeOutline = opts.gaugeOutline;\n var gaugePosition = [size.l + size.w / 2, size.t + size.h / 2 + radius / 2];\n var gauge = opts.gauge;\n var axisLayer = opts.layer;\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n // circular gauge\n var theta = Math.PI / 2;\n function valueToAngle(v) {\n var min = trace.gauge.axis.range[0];\n var max = trace.gauge.axis.range[1];\n var angle = (v - min) / (max - min) * Math.PI - theta;\n if(angle < -theta) return -theta;\n if(angle > theta) return theta;\n return angle;\n }\n\n function arcPathGenerator(size) {\n return d3.svg.arc()\n .innerRadius((innerRadius + radius) / 2 - size / 2 * (radius - innerRadius))\n .outerRadius((innerRadius + radius) / 2 + size / 2 * (radius - innerRadius))\n .startAngle(-theta);\n }\n\n function drawArc(p) {\n p\n .attr('d', function(d) {\n return arcPathGenerator(d.thickness)\n .startAngle(valueToAngle(d.range[0]))\n .endAngle(valueToAngle(d.range[1]))();\n });\n }\n\n // preparing axis\n var ax, vals, transFn, tickSign;\n\n // Enter gauge and axis\n gauge.enter().append('g').classed('angular', true);\n gauge.attr('transform', strTranslate(gaugePosition[0], gaugePosition[1]));\n\n axisLayer.enter().append('g')\n .classed('angularaxis', true)\n .classed('crisp', true);\n axisLayer.selectAll('g.' + 'xangularaxis' + 'tick,path,text').remove();\n\n ax = mockAxis(gd, trace.gauge.axis);\n ax.type = 'linear';\n ax.range = trace.gauge.axis.range;\n ax._id = 'xangularaxis'; // or 'y', but I don't think this makes a difference here\n ax.setScale();\n\n // 't'ick to 'g'eometric radians is used all over the place here\n var t2g = function(d) {\n return (ax.range[0] - d.x) / (ax.range[1] - ax.range[0]) * Math.PI + Math.PI;\n };\n\n var labelFns = {};\n var out = Axes.makeLabelFns(ax, 0);\n var labelStandoff = out.labelStandoff;\n labelFns.xFn = function(d) {\n var rad = t2g(d);\n return Math.cos(rad) * labelStandoff;\n };\n labelFns.yFn = function(d) {\n var rad = t2g(d);\n var ff = Math.sin(rad) > 0 ? 0.2 : 1;\n return -Math.sin(rad) * (labelStandoff + d.fontSize * ff) +\n Math.abs(Math.cos(rad)) * (d.fontSize * MID_SHIFT);\n };\n labelFns.anchorFn = function(d) {\n var rad = t2g(d);\n var cos = Math.cos(rad);\n return Math.abs(cos) < 0.1 ?\n 'middle' :\n (cos > 0 ? 'start' : 'end');\n };\n labelFns.heightFn = function(d, a, h) {\n var rad = t2g(d);\n return -0.5 * (1 + Math.sin(rad)) * h;\n };\n var _transFn = function(rad) {\n return strTranslate(\n gaugePosition[0] + radius * Math.cos(rad),\n gaugePosition[1] - radius * Math.sin(rad)\n );\n };\n transFn = function(d) {\n return _transFn(t2g(d));\n };\n var transFn2 = function(d) {\n var rad = t2g(d);\n return _transFn(rad) + 'rotate(' + -rad2deg(rad) + ')';\n };\n vals = Axes.calcTicks(ax);\n tickSign = Axes.getTickSigns(ax)[2];\n if(ax.visible) {\n tickSign = ax.ticks === 'inside' ? -1 : 1;\n var pad = (ax.linewidth || 1) / 2;\n Axes.drawTicks(gd, ax, {\n vals: vals,\n layer: axisLayer,\n path: 'M' + (tickSign * pad) + ',0h' + (tickSign * ax.ticklen),\n transFn: transFn2\n });\n Axes.drawLabels(gd, ax, {\n vals: vals,\n layer: axisLayer,\n transFn: transFn,\n labelFns: labelFns\n });\n }\n\n // Draw background + steps\n var arcs = [gaugeBg].concat(trace.gauge.steps);\n var bgArc = gauge.selectAll('g.bg-arc').data(arcs);\n bgArc.enter().append('g').classed('bg-arc', true).append('path');\n bgArc.select('path').call(drawArc).call(styleShape);\n bgArc.exit().remove();\n\n // Draw foreground with transition\n var valueArcPathGenerator = arcPathGenerator(trace.gauge.bar.thickness);\n var valueArc = gauge.selectAll('g.value-arc').data([trace.gauge.bar]);\n valueArc.enter().append('g').classed('value-arc', true).append('path');\n var valueArcPath = valueArc.select('path');\n if(hasTransition(transitionOpts)) {\n valueArcPath\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { onComplete && onComplete(); })\n .each('interrupt', function() { onComplete && onComplete(); })\n .attrTween('d', arcTween(valueArcPathGenerator, valueToAngle(cd[0].lastY), valueToAngle(cd[0].y)));\n trace._lastValue = cd[0].y;\n } else {\n valueArcPath.attr('d', typeof cd[0].y === 'number' ?\n valueArcPathGenerator.endAngle(valueToAngle(cd[0].y)) :\n 'M0,0Z');\n }\n valueArcPath.call(styleShape);\n valueArc.exit().remove();\n\n // Draw threshold\n arcs = [];\n var v = trace.gauge.threshold.value;\n if(v) {\n arcs.push({\n range: [v, v],\n color: trace.gauge.threshold.color,\n line: {\n color: trace.gauge.threshold.line.color,\n width: trace.gauge.threshold.line.width\n },\n thickness: trace.gauge.threshold.thickness\n });\n }\n var thresholdArc = gauge.selectAll('g.threshold-arc').data(arcs);\n thresholdArc.enter().append('g').classed('threshold-arc', true).append('path');\n thresholdArc.select('path').call(drawArc).call(styleShape);\n thresholdArc.exit().remove();\n\n // Draw border last\n var gaugeBorder = gauge.selectAll('g.gauge-outline').data([gaugeOutline]);\n gaugeBorder.enter().append('g').classed('gauge-outline', true).append('path');\n gaugeBorder.select('path').call(drawArc).call(styleShape);\n gaugeBorder.exit().remove();\n}\n\nfunction drawNumbers(gd, plotGroup, cd, opts) {\n var trace = cd[0].trace;\n\n var numbersX = opts.numbersX;\n var numbersY = opts.numbersY;\n var numbersAlign = trace.align || 'center';\n var numbersAnchor = anchor[numbersAlign];\n\n var transitionOpts = opts.transitionOpts;\n var onComplete = opts.onComplete;\n\n var numbers = Lib.ensureSingle(plotGroup, 'g', 'numbers');\n var bignumberbBox, deltabBox;\n var numbersbBox;\n\n var data = [];\n if(trace._hasNumber) data.push('number');\n if(trace._hasDelta) {\n data.push('delta');\n if(trace.delta.position === 'left') data.reverse();\n }\n var sel = numbers.selectAll('text').data(data);\n sel.enter().append('text');\n sel\n .attr('text-anchor', function() {return numbersAnchor;})\n .attr('class', function(d) { return d;})\n .attr('x', null)\n .attr('y', null)\n .attr('dx', null)\n .attr('dy', null);\n sel.exit().remove();\n\n // Function to override the number formatting used during transitions\n function transitionFormat(valueformat, fmt, from, to) {\n // For now, do not display SI prefix if start and end value do not have any\n if(valueformat.match('s') && // If using SI prefix\n (from >= 0 !== to >= 0) && // If sign change\n (!fmt(from).slice(-1).match(SI_PREFIX) && !fmt(to).slice(-1).match(SI_PREFIX)) // Has no SI prefix\n ) {\n var transitionValueFormat = valueformat.slice().replace('s', 'f').replace(/\\d+/, function(m) { return parseInt(m) - 1;});\n var transitionAx = mockAxis(gd, {tickformat: transitionValueFormat});\n return function(v) {\n // Switch to fixed precision if number is smaller than one\n if(Math.abs(v) < 1) return Axes.tickText(transitionAx, v).text;\n return fmt(v);\n };\n } else {\n return fmt;\n }\n }\n\n function drawBignumber() {\n var bignumberAx = mockAxis(gd, {tickformat: trace.number.valueformat}, trace._range);\n bignumberAx.setScale();\n Axes.prepTicks(bignumberAx);\n\n var fmt = function(v) { return Axes.tickText(bignumberAx, v).text;};\n var bignumberSuffix = trace.number.suffix;\n var bignumberPrefix = trace.number.prefix;\n\n var number = numbers.select('text.number');\n\n function writeNumber() {\n var txt = typeof cd[0].y === 'number' ?\n bignumberPrefix + fmt(cd[0].y) + bignumberSuffix :\n '-';\n number.text(txt)\n .call(Drawing.font, trace.number.font)\n .call(svgTextUtils.convertToTspans, gd);\n }\n\n if(hasTransition(transitionOpts)) {\n number\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .each('end', function() { writeNumber(); onComplete && onComplete(); })\n .each('interrupt', function() { writeNumber(); onComplete && onComplete(); })\n .attrTween('text', function() {\n var that = d3.select(this);\n var interpolator = d3.interpolateNumber(cd[0].lastY, cd[0].y);\n trace._lastValue = cd[0].y;\n\n var transitionFmt = transitionFormat(trace.number.valueformat, fmt, cd[0].lastY, cd[0].y);\n return function(t) {\n that.text(bignumberPrefix + transitionFmt(interpolator(t)) + bignumberSuffix);\n };\n });\n } else {\n writeNumber();\n }\n\n bignumberbBox = measureText(bignumberPrefix + fmt(cd[0].y) + bignumberSuffix, trace.number.font, numbersAnchor, gd);\n return number;\n }\n\n function drawDelta() {\n var deltaAx = mockAxis(gd, {tickformat: trace.delta.valueformat}, trace._range);\n deltaAx.setScale();\n Axes.prepTicks(deltaAx);\n\n var deltaFmt = function(v) { return Axes.tickText(deltaAx, v).text;};\n var deltaValue = function(d) {\n var value = trace.delta.relative ? d.relativeDelta : d.delta;\n return value;\n };\n var deltaFormatText = function(value, numberFmt) {\n if(value === 0 || typeof value !== 'number' || isNaN(value)) return '-';\n return (value > 0 ? trace.delta.increasing.symbol : trace.delta.decreasing.symbol) + numberFmt(value);\n };\n var deltaFill = function(d) {\n return d.delta >= 0 ? trace.delta.increasing.color : trace.delta.decreasing.color;\n };\n if(trace._deltaLastValue === undefined) {\n trace._deltaLastValue = deltaValue(cd[0]);\n }\n var delta = numbers.select('text.delta');\n delta\n .call(Drawing.font, trace.delta.font)\n .call(Color.fill, deltaFill({delta: trace._deltaLastValue}));\n\n function writeDelta() {\n delta.text(deltaFormatText(deltaValue(cd[0]), deltaFmt))\n .call(Color.fill, deltaFill(cd[0]))\n .call(svgTextUtils.convertToTspans, gd);\n }\n\n if(hasTransition(transitionOpts)) {\n delta\n .transition()\n .duration(transitionOpts.duration)\n .ease(transitionOpts.easing)\n .tween('text', function() {\n var that = d3.select(this);\n var to = deltaValue(cd[0]);\n var from = trace._deltaLastValue;\n var transitionFmt = transitionFormat(trace.delta.valueformat, deltaFmt, from, to);\n var interpolator = d3.interpolateNumber(from, to);\n trace._deltaLastValue = to;\n return function(t) {\n that.text(deltaFormatText(interpolator(t), transitionFmt));\n that.call(Color.fill, deltaFill({delta: interpolator(t)}));\n };\n })\n .each('end', function() { writeDelta(); onComplete && onComplete(); })\n .each('interrupt', function() { writeDelta(); onComplete && onComplete(); });\n } else {\n writeDelta();\n }\n\n deltabBox = measureText(deltaFormatText(deltaValue(cd[0]), deltaFmt), trace.delta.font, numbersAnchor, gd);\n return delta;\n }\n\n var key = trace.mode + trace.align;\n var delta;\n if(trace._hasDelta) {\n delta = drawDelta();\n key += trace.delta.position + trace.delta.font.size + trace.delta.font.family + trace.delta.valueformat;\n key += trace.delta.increasing.symbol + trace.delta.decreasing.symbol;\n numbersbBox = deltabBox;\n }\n if(trace._hasNumber) {\n drawBignumber();\n key += trace.number.font.size + trace.number.font.family + trace.number.valueformat + trace.number.suffix + trace.number.prefix;\n numbersbBox = bignumberbBox;\n }\n\n // Position delta relative to bignumber\n if(trace._hasDelta && trace._hasNumber) {\n var bignumberCenter = [\n (bignumberbBox.left + bignumberbBox.right) / 2,\n (bignumberbBox.top + bignumberbBox.bottom) / 2\n ];\n var deltaCenter = [\n (deltabBox.left + deltabBox.right) / 2,\n (deltabBox.top + deltabBox.bottom) / 2\n ];\n\n var dx, dy;\n var padding = 0.75 * trace.delta.font.size;\n if(trace.delta.position === 'left') {\n dx = cache(trace, 'deltaPos', 0, -1 * (bignumberbBox.width * (position[trace.align]) + deltabBox.width * (1 - position[trace.align]) + padding), key, Math.min);\n dy = bignumberCenter[1] - deltaCenter[1];\n\n numbersbBox = {\n width: bignumberbBox.width + deltabBox.width + padding,\n height: Math.max(bignumberbBox.height, deltabBox.height),\n left: deltabBox.left + dx,\n right: bignumberbBox.right,\n top: Math.min(bignumberbBox.top, deltabBox.top + dy),\n bottom: Math.max(bignumberbBox.bottom, deltabBox.bottom + dy)\n };\n }\n if(trace.delta.position === 'right') {\n dx = cache(trace, 'deltaPos', 0, bignumberbBox.width * (1 - position[trace.align]) + deltabBox.width * position[trace.align] + padding, key, Math.max);\n dy = bignumberCenter[1] - deltaCenter[1];\n\n numbersbBox = {\n width: bignumberbBox.width + deltabBox.width + padding,\n height: Math.max(bignumberbBox.height, deltabBox.height),\n left: bignumberbBox.left,\n right: deltabBox.right + dx,\n top: Math.min(bignumberbBox.top, deltabBox.top + dy),\n bottom: Math.max(bignumberbBox.bottom, deltabBox.bottom + dy)\n };\n }\n if(trace.delta.position === 'bottom') {\n dx = null;\n dy = deltabBox.height;\n\n numbersbBox = {\n width: Math.max(bignumberbBox.width, deltabBox.width),\n height: bignumberbBox.height + deltabBox.height,\n left: Math.min(bignumberbBox.left, deltabBox.left),\n right: Math.max(bignumberbBox.right, deltabBox.right),\n top: bignumberbBox.bottom - bignumberbBox.height,\n bottom: bignumberbBox.bottom + deltabBox.height\n };\n }\n if(trace.delta.position === 'top') {\n dx = null;\n dy = bignumberbBox.top;\n\n numbersbBox = {\n width: Math.max(bignumberbBox.width, deltabBox.width),\n height: bignumberbBox.height + deltabBox.height,\n left: Math.min(bignumberbBox.left, deltabBox.left),\n right: Math.max(bignumberbBox.right, deltabBox.right),\n top: bignumberbBox.bottom - bignumberbBox.height - deltabBox.height,\n bottom: bignumberbBox.bottom\n };\n }\n\n delta.attr({dx: dx, dy: dy});\n }\n\n // Resize numbers to fit within space and position\n if(trace._hasNumber || trace._hasDelta) {\n numbers.attr('transform', function() {\n var m = opts.numbersScaler(numbersbBox);\n key += m[2];\n var scaleRatio = cache(trace, 'numbersScale', 1, m[0], key, Math.min);\n var translateY;\n if(!trace._scaleNumbers) scaleRatio = 1;\n if(trace._isAngular) {\n // align vertically to bottom\n translateY = numbersY - scaleRatio * numbersbBox.bottom;\n } else {\n // align vertically to center\n translateY = numbersY - scaleRatio * (numbersbBox.top + numbersbBox.bottom) / 2;\n }\n\n // Stash the top position of numbersbBox for title positioning\n trace._numbersTop = scaleRatio * (numbersbBox.top) + translateY;\n\n var ref = numbersbBox[numbersAlign];\n if(numbersAlign === 'center') ref = (numbersbBox.left + numbersbBox.right) / 2;\n var translateX = numbersX - scaleRatio * ref;\n\n // Stash translateX\n translateX = cache(trace, 'numbersTranslate', 0, translateX, key, Math.max);\n return strTranslate(translateX, translateY) + ' scale(' + scaleRatio + ')';\n });\n }\n}\n\n// Apply fill, stroke, stroke-width to SVG shape\nfunction styleShape(p) {\n p\n .each(function(d) { Color.stroke(d3.select(this), d.line.color);})\n .each(function(d) { Color.fill(d3.select(this), d.color);})\n .style('stroke-width', function(d) { return d.line.width;});\n}\n\n// Returns a tween for a transition’s \"d\" attribute, transitioning any selected\n// arcs from their current angle to the specified new angle.\nfunction arcTween(arc, endAngle, newAngle) {\n return function() {\n var interpolate = d3.interpolate(endAngle, newAngle);\n return function(t) {\n return arc.endAngle(interpolate(t))();\n };\n };\n}\n\n// mocks our axis\nfunction mockAxis(gd, opts, zrange) {\n var fullLayout = gd._fullLayout;\n\n var axisIn = Lib.extendFlat({\n type: 'linear',\n ticks: 'outside',\n range: zrange,\n showline: true\n }, opts);\n\n var axisOut = {\n type: 'linear',\n _id: 'x' + opts._id\n };\n\n var axisOptions = {\n letter: 'x',\n font: fullLayout.font,\n noHover: true,\n noTickson: true\n };\n\n function coerce(attr, dflt) {\n return Lib.coerce(axisIn, axisOut, axisLayoutAttrs, attr, dflt);\n }\n\n handleAxisDefaults(axisIn, axisOut, coerce, axisOptions, fullLayout);\n handleAxisPositionDefaults(axisIn, axisOut, coerce, axisOptions);\n\n return axisOut;\n}\n\nfunction strTranslate(x, y) {\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction fitTextInsideBox(textBB, width, height) {\n // compute scaling ratio to have text fit within specified width and height\n var ratio = Math.min(width / textBB.width, height / textBB.height);\n return [ratio, textBB, width + 'x' + height];\n}\n\nfunction fitTextInsideCircle(textBB, radius) {\n // compute scaling ratio to have text fit within specified radius\n var elRadius = Math.sqrt((textBB.width / 2) * (textBB.width / 2) + textBB.height * textBB.height);\n var ratio = radius / elRadius;\n return [ratio, textBB, radius];\n}\n\nfunction measureText(txt, font, textAnchor, gd) {\n var element = document.createElementNS('http://www.w3.org/2000/svg', 'text');\n var sel = d3.select(element);\n sel.text(txt)\n .attr('x', 0)\n .attr('y', 0)\n .attr('text-anchor', textAnchor)\n .attr('data-unformatted', txt)\n .call(svgTextUtils.convertToTspans, gd)\n .call(Drawing.font, font);\n return Drawing.bBox(sel.node());\n}\n\nfunction cache(trace, name, initialValue, value, key, fn) {\n var objName = '_cache' + name;\n if(!(trace[objName] && trace[objName].key === key)) {\n trace[objName] = {key: key, value: initialValue};\n }\n var v = Lib.aggNums(fn, null, [trace[objName].value, value], 2);\n trace[objName].value = v;\n\n return v;\n}\n\n\n/***/ }),\n\n/***/ \"792f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar scatterPolarAttrs = __webpack_require__(\"8a6e\");\nvar barAttrs = __webpack_require__(\"fb5a\");\n\nmodule.exports = {\n r: scatterPolarAttrs.r,\n theta: scatterPolarAttrs.theta,\n r0: scatterPolarAttrs.r0,\n dr: scatterPolarAttrs.dr,\n theta0: scatterPolarAttrs.theta0,\n dtheta: scatterPolarAttrs.dtheta,\n thetaunit: scatterPolarAttrs.thetaunit,\n\n // orientation: {\n // valType: 'enumerated',\n // \n // values: ['radial', 'angular'],\n // editType: 'calc+clearAxisTypes',\n // \n // },\n\n base: extendFlat({}, barAttrs.base, {\n \n }),\n offset: extendFlat({}, barAttrs.offset, {\n \n }),\n width: extendFlat({}, barAttrs.width, {\n \n }),\n\n text: extendFlat({}, barAttrs.text, {\n \n }),\n hovertext: extendFlat({}, barAttrs.hovertext, {\n \n }),\n\n // textposition: {},\n // textfont: {},\n // insidetextfont: {},\n // outsidetextfont: {},\n // constraintext: {},\n // cliponaxis: extendFlat({}, barAttrs.cliponaxis, {dflt: false}),\n\n marker: barAttrs.marker,\n\n hoverinfo: scatterPolarAttrs.hoverinfo,\n hovertemplate: hovertemplateAttrs(),\n\n selected: barAttrs.selected,\n unselected: barAttrs.unselected\n\n // error_x (error_r, error_theta)\n // error_y\n};\n\n\n/***/ }),\n\n/***/ \"794e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createBuffer = __webpack_require__(\"efce\")\nvar createVAO = __webpack_require__(\"b205\")\nvar createShader = __webpack_require__(\"e4eb\")\n\nmodule.exports = createSpikes\n\nvar identity = [1,0,0,0,\n 0,1,0,0,\n 0,0,1,0,\n 0,0,0,1]\n\nfunction AxisSpikes(gl, buffer, vao, shader) {\n this.gl = gl\n this.buffer = buffer\n this.vao = vao\n this.shader = shader\n this.pixelRatio = 1\n this.bounds = [[-1000,-1000,-1000], [1000,1000,1000]]\n this.position = [0,0,0]\n this.lineWidth = [2,2,2]\n this.colors = [[0,0,0,1], [0,0,0,1], [0,0,0,1]]\n this.enabled = [true,true,true]\n this.drawSides = [true,true,true]\n this.axes = null\n}\n\nvar proto = AxisSpikes.prototype\n\nvar OUTER_FACE = [0,0,0]\nvar INNER_FACE = [0,0,0]\n\nvar SHAPE = [0,0]\n\nproto.isTransparent = function() {\n return false\n}\n\nproto.drawTransparent = function(camera) {}\n\nproto.draw = function(camera) {\n var gl = this.gl\n var vao = this.vao\n var shader = this.shader\n\n vao.bind()\n shader.bind()\n\n var model = camera.model || identity\n var view = camera.view || identity\n var projection = camera.projection || identity\n\n var axis\n if(this.axes) {\n axis = this.axes.lastCubeProps.axis\n }\n\n var outerFace = OUTER_FACE\n var innerFace = INNER_FACE\n for(var i=0; i<3; ++i) {\n if(axis && axis[i] < 0) {\n outerFace[i] = this.bounds[0][i]\n innerFace[i] = this.bounds[1][i]\n } else {\n outerFace[i] = this.bounds[1][i]\n innerFace[i] = this.bounds[0][i]\n }\n }\n\n SHAPE[0] = gl.drawingBufferWidth\n SHAPE[1] = gl.drawingBufferHeight\n\n shader.uniforms.model = model\n shader.uniforms.view = view\n shader.uniforms.projection = projection\n shader.uniforms.coordinates = [this.position, outerFace, innerFace]\n shader.uniforms.colors = this.colors\n shader.uniforms.screenShape = SHAPE\n\n for(var i=0; i<3; ++i) {\n shader.uniforms.lineWidth = this.lineWidth[i] * this.pixelRatio\n if(this.enabled[i]) {\n vao.draw(gl.TRIANGLES, 6, 6*i)\n if(this.drawSides[i]) {\n vao.draw(gl.TRIANGLES, 12, 18+12*i)\n }\n }\n }\n\n vao.unbind()\n}\n\nproto.update = function(options) {\n if(!options) {\n return\n }\n if(\"bounds\" in options) {\n this.bounds = options.bounds\n }\n if(\"position\" in options) {\n this.position = options.position\n }\n if(\"lineWidth\" in options) {\n this.lineWidth = options.lineWidth\n }\n if(\"colors\" in options) {\n this.colors = options.colors\n }\n if(\"enabled\" in options) {\n this.enabled = options.enabled\n }\n if(\"drawSides\" in options) {\n this.drawSides = options.drawSides\n }\n}\n\nproto.dispose = function() {\n this.vao.dispose()\n this.buffer.dispose()\n this.shader.dispose()\n}\n\n\n\nfunction createSpikes(gl, options) {\n //Create buffers\n var data = [ ]\n\n function line(x,y,z,i,l,h) {\n var row = [x,y,z, 0,0,0, 1]\n row[i+3] = 1\n row[i] = l\n data.push.apply(data, row)\n row[6] = -1\n data.push.apply(data, row)\n row[i] = h\n data.push.apply(data, row)\n data.push.apply(data, row)\n row[6] = 1\n data.push.apply(data, row)\n row[i] = l\n data.push.apply(data, row)\n }\n\n line(0,0,0, 0, 0, 1)\n line(0,0,0, 1, 0, 1)\n line(0,0,0, 2, 0, 1)\n\n line(1,0,0, 1, -1,1)\n line(1,0,0, 2, -1,1)\n\n line(0,1,0, 0, -1,1)\n line(0,1,0, 2, -1,1)\n\n line(0,0,1, 0, -1,1)\n line(0,0,1, 1, -1,1)\n\n var buffer = createBuffer(gl, data)\n var vao = createVAO(gl, [{\n type: gl.FLOAT,\n buffer: buffer,\n size: 3,\n offset: 0,\n stride: 28\n }, {\n type: gl.FLOAT,\n buffer: buffer,\n size: 3,\n offset: 12,\n stride: 28\n }, {\n type: gl.FLOAT,\n buffer: buffer,\n size: 1,\n offset: 24,\n stride: 28\n }])\n\n //Create shader\n var shader = createShader(gl)\n shader.attributes.position.location = 0\n shader.attributes.color.location = 1\n shader.attributes.weight.location = 2\n\n //Create spike object\n var spikes = new AxisSpikes(gl, buffer, vao, shader)\n\n //Set parameters\n spikes.update(options)\n\n //Return resulting object\n return spikes\n}\n\n\n/***/ }),\n\n/***/ \"7974\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar counterRegex = __webpack_require__(\"055a\").counter;\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar cartesianIdRegex = __webpack_require__(\"d301\").idRegex;\nvar Template = __webpack_require__(\"a651\");\n\nvar gridAttrs = {\n rows: {\n valType: 'integer',\n min: 1,\n \n editType: 'plot',\n \n },\n roworder: {\n valType: 'enumerated',\n values: ['top to bottom', 'bottom to top'],\n dflt: 'top to bottom',\n \n editType: 'plot',\n \n },\n columns: {\n valType: 'integer',\n min: 1,\n \n editType: 'plot',\n \n },\n subplots: {\n valType: 'info_array',\n freeLength: true,\n dimensions: 2,\n items: {valType: 'enumerated', values: [counterRegex('xy').toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n xaxes: {\n valType: 'info_array',\n freeLength: true,\n items: {valType: 'enumerated', values: [cartesianIdRegex.x.toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n yaxes: {\n valType: 'info_array',\n freeLength: true,\n items: {valType: 'enumerated', values: [cartesianIdRegex.y.toString(), ''], editType: 'plot'},\n \n editType: 'plot',\n \n },\n pattern: {\n valType: 'enumerated',\n values: ['independent', 'coupled'],\n dflt: 'coupled',\n \n editType: 'plot',\n \n },\n xgap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'plot',\n \n },\n ygap: {\n valType: 'number',\n min: 0,\n max: 1,\n \n editType: 'plot',\n \n },\n domain: domainAttrs({name: 'grid', editType: 'plot', noGridCell: true}, {\n \n }),\n xside: {\n valType: 'enumerated',\n values: ['bottom', 'bottom plot', 'top plot', 'top'],\n dflt: 'bottom plot',\n \n editType: 'plot',\n \n },\n yside: {\n valType: 'enumerated',\n values: ['left', 'left plot', 'right plot', 'right'],\n dflt: 'left plot',\n \n editType: 'plot',\n \n },\n editType: 'plot'\n};\n\nfunction getAxes(layout, grid, axLetter) {\n var gridVal = grid[axLetter + 'axes'];\n var splomVal = Object.keys((layout._splomAxes || {})[axLetter] || {});\n\n if(Array.isArray(gridVal)) return gridVal;\n if(splomVal.length) return splomVal;\n}\n\n// the shape of the grid - this needs to be done BEFORE supplyDataDefaults\n// so that non-subplot traces can place themselves in the grid\nfunction sizeDefaults(layoutIn, layoutOut) {\n var gridIn = layoutIn.grid || {};\n var xAxes = getAxes(layoutOut, gridIn, 'x');\n var yAxes = getAxes(layoutOut, gridIn, 'y');\n\n if(!layoutIn.grid && !xAxes && !yAxes) return;\n\n var hasSubplotGrid = Array.isArray(gridIn.subplots) && Array.isArray(gridIn.subplots[0]);\n var hasXaxes = Array.isArray(xAxes);\n var hasYaxes = Array.isArray(yAxes);\n var isSplomGenerated = (\n hasXaxes && xAxes !== gridIn.xaxes &&\n hasYaxes && yAxes !== gridIn.yaxes\n );\n\n var dfltRows, dfltColumns;\n\n if(hasSubplotGrid) {\n dfltRows = gridIn.subplots.length;\n dfltColumns = gridIn.subplots[0].length;\n } else {\n if(hasYaxes) dfltRows = yAxes.length;\n if(hasXaxes) dfltColumns = xAxes.length;\n }\n\n var gridOut = Template.newContainer(layoutOut, 'grid');\n\n function coerce(attr, dflt) {\n return Lib.coerce(gridIn, gridOut, gridAttrs, attr, dflt);\n }\n\n var rows = coerce('rows', dfltRows);\n var columns = coerce('columns', dfltColumns);\n\n if(!(rows * columns > 1)) {\n delete layoutOut.grid;\n return;\n }\n\n if(!hasSubplotGrid && !hasXaxes && !hasYaxes) {\n var useDefaultSubplots = coerce('pattern') === 'independent';\n if(useDefaultSubplots) hasSubplotGrid = true;\n }\n gridOut._hasSubplotGrid = hasSubplotGrid;\n\n var rowOrder = coerce('roworder');\n var reversed = rowOrder === 'top to bottom';\n\n var dfltGapX = hasSubplotGrid ? 0.2 : 0.1;\n var dfltGapY = hasSubplotGrid ? 0.3 : 0.1;\n\n var dfltSideX, dfltSideY;\n if(isSplomGenerated && layoutOut._splomGridDflt) {\n dfltSideX = layoutOut._splomGridDflt.xside;\n dfltSideY = layoutOut._splomGridDflt.yside;\n }\n\n gridOut._domains = {\n x: fillGridPositions('x', coerce, dfltGapX, dfltSideX, columns),\n y: fillGridPositions('y', coerce, dfltGapY, dfltSideY, rows, reversed)\n };\n}\n\n// coerce x or y sizing attributes and return an array of domains for this direction\nfunction fillGridPositions(axLetter, coerce, dfltGap, dfltSide, len, reversed) {\n var dirGap = coerce(axLetter + 'gap', dfltGap);\n var domain = coerce('domain.' + axLetter);\n coerce(axLetter + 'side', dfltSide);\n\n var out = new Array(len);\n var start = domain[0];\n var step = (domain[1] - start) / (len - dirGap);\n var cellDomain = step * (1 - dirGap);\n for(var i = 0; i < len; i++) {\n var cellStart = start + step * i;\n out[reversed ? (len - 1 - i) : i] = [cellStart, cellStart + cellDomain];\n }\n return out;\n}\n\n// the (cartesian) contents of the grid - this needs to happen AFTER supplyDataDefaults\n// so that we know what cartesian subplots are available\nfunction contentDefaults(layoutIn, layoutOut) {\n var gridOut = layoutOut.grid;\n // make sure we got to the end of handleGridSizing\n if(!gridOut || !gridOut._domains) return;\n\n var gridIn = layoutIn.grid || {};\n var subplots = layoutOut._subplots;\n var hasSubplotGrid = gridOut._hasSubplotGrid;\n var rows = gridOut.rows;\n var columns = gridOut.columns;\n var useDefaultSubplots = gridOut.pattern === 'independent';\n\n var i, j, xId, yId, subplotId, subplotsOut, yPos;\n\n var axisMap = gridOut._axisMap = {};\n\n if(hasSubplotGrid) {\n var subplotsIn = gridIn.subplots || [];\n subplotsOut = gridOut.subplots = new Array(rows);\n var index = 1;\n\n for(i = 0; i < rows; i++) {\n var rowOut = subplotsOut[i] = new Array(columns);\n var rowIn = subplotsIn[i] || [];\n for(j = 0; j < columns; j++) {\n if(useDefaultSubplots) {\n subplotId = (index === 1) ? 'xy' : ('x' + index + 'y' + index);\n index++;\n } else subplotId = rowIn[j];\n\n rowOut[j] = '';\n\n if(subplots.cartesian.indexOf(subplotId) !== -1) {\n yPos = subplotId.indexOf('y');\n xId = subplotId.slice(0, yPos);\n yId = subplotId.slice(yPos);\n if((axisMap[xId] !== undefined && axisMap[xId] !== j) ||\n (axisMap[yId] !== undefined && axisMap[yId] !== i)\n ) {\n continue;\n }\n\n rowOut[j] = subplotId;\n axisMap[xId] = j;\n axisMap[yId] = i;\n }\n }\n }\n } else {\n var xAxes = getAxes(layoutOut, gridIn, 'x');\n var yAxes = getAxes(layoutOut, gridIn, 'y');\n gridOut.xaxes = fillGridAxes(xAxes, subplots.xaxis, columns, axisMap, 'x');\n gridOut.yaxes = fillGridAxes(yAxes, subplots.yaxis, rows, axisMap, 'y');\n }\n\n var anchors = gridOut._anchors = {};\n var reversed = gridOut.roworder === 'top to bottom';\n\n for(var axisId in axisMap) {\n var axLetter = axisId.charAt(0);\n var side = gridOut[axLetter + 'side'];\n\n var i0, inc, iFinal;\n\n if(side.length < 8) {\n // grid edge - ie not \"* plot\" - make these as free axes\n // since we're not guaranteed to have a subplot there at all\n anchors[axisId] = 'free';\n } else if(axLetter === 'x') {\n if((side.charAt(0) === 't') === reversed) {\n i0 = 0;\n inc = 1;\n iFinal = rows;\n } else {\n i0 = rows - 1;\n inc = -1;\n iFinal = -1;\n }\n if(hasSubplotGrid) {\n var column = axisMap[axisId];\n for(i = i0; i !== iFinal; i += inc) {\n subplotId = subplotsOut[i][column];\n if(!subplotId) continue;\n yPos = subplotId.indexOf('y');\n if(subplotId.slice(0, yPos) === axisId) {\n anchors[axisId] = subplotId.slice(yPos);\n break;\n }\n }\n } else {\n for(i = i0; i !== iFinal; i += inc) {\n yId = gridOut.yaxes[i];\n if(subplots.cartesian.indexOf(axisId + yId) !== -1) {\n anchors[axisId] = yId;\n break;\n }\n }\n }\n } else {\n if((side.charAt(0) === 'l')) {\n i0 = 0;\n inc = 1;\n iFinal = columns;\n } else {\n i0 = columns - 1;\n inc = -1;\n iFinal = -1;\n }\n if(hasSubplotGrid) {\n var row = axisMap[axisId];\n for(i = i0; i !== iFinal; i += inc) {\n subplotId = subplotsOut[row][i];\n if(!subplotId) continue;\n yPos = subplotId.indexOf('y');\n if(subplotId.slice(yPos) === axisId) {\n anchors[axisId] = subplotId.slice(0, yPos);\n break;\n }\n }\n } else {\n for(i = i0; i !== iFinal; i += inc) {\n xId = gridOut.xaxes[i];\n if(subplots.cartesian.indexOf(xId + axisId) !== -1) {\n anchors[axisId] = xId;\n break;\n }\n }\n }\n }\n }\n}\n\nfunction fillGridAxes(axesIn, axesAllowed, len, axisMap, axLetter) {\n var out = new Array(len);\n var i;\n\n function fillOneAxis(i, axisId) {\n if(axesAllowed.indexOf(axisId) !== -1 && axisMap[axisId] === undefined) {\n out[i] = axisId;\n axisMap[axisId] = i;\n } else out[i] = '';\n }\n\n if(Array.isArray(axesIn)) {\n for(i = 0; i < len; i++) {\n fillOneAxis(i, axesIn[i]);\n }\n } else {\n // default axis list is the first `len` axis ids\n fillOneAxis(0, axLetter);\n for(i = 1; i < len; i++) {\n fillOneAxis(i, axLetter + (i + 1));\n }\n }\n\n return out;\n}\n\nmodule.exports = {\n moduleType: 'component',\n name: 'grid',\n\n schema: {\n layout: {grid: gridAttrs}\n },\n\n layoutAttributes: gridAttrs,\n sizeDefaults: sizeDefaults,\n contentDefaults: contentDefaults\n};\n\n\n/***/ }),\n\n/***/ \"7988\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar parcoords = __webpack_require__(\"baec\");\nvar prepareRegl = __webpack_require__(\"cf42\");\nvar isVisible = __webpack_require__(\"2ee6\").isVisible;\n\nfunction newIndex(visibleIndices, orig, dim) {\n var origIndex = orig.indexOf(dim);\n var currentIndex = visibleIndices.indexOf(origIndex);\n if(currentIndex === -1) {\n // invisible dimensions initially go to the end\n currentIndex += orig.length;\n }\n return currentIndex;\n}\n\nfunction sorter(visibleIndices, orig) {\n return function sorter(d1, d2) {\n return (\n newIndex(visibleIndices, orig, d1) -\n newIndex(visibleIndices, orig, d2)\n );\n };\n}\n\nmodule.exports = function plot(gd, cdModule) {\n var fullLayout = gd._fullLayout;\n\n var success = prepareRegl(gd);\n if(!success) return;\n\n var currentDims = {};\n var initialDims = {};\n var fullIndices = {};\n var inputIndices = {};\n\n var size = fullLayout._size;\n\n cdModule.forEach(function(d, i) {\n var trace = d[0].trace;\n fullIndices[i] = trace.index;\n var iIn = inputIndices[i] = trace._fullInput.index;\n currentDims[i] = gd.data[iIn].dimensions;\n initialDims[i] = gd.data[iIn].dimensions.slice();\n });\n\n var filterChanged = function(i, initialDimIndex, newRanges) {\n // Have updated `constraintrange` data on `gd.data` and raise `Plotly.restyle` event\n // without having to incur heavy UI blocking due to an actual `Plotly.restyle` call\n\n var dim = initialDims[i][initialDimIndex];\n var newConstraints = newRanges.map(function(r) { return r.slice(); });\n\n // Store constraint range in preGUI\n // This one doesn't work if it's stored in pieces in _storeDirectGUIEdit\n // because it's an array of variable dimensionality. So store the whole\n // thing at once manually.\n var aStr = 'dimensions[' + initialDimIndex + '].constraintrange';\n var preGUI = fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid];\n if(preGUI[aStr] === undefined) {\n var initialVal = dim.constraintrange;\n preGUI[aStr] = initialVal || null;\n }\n\n var fullDimension = gd._fullData[fullIndices[i]].dimensions[initialDimIndex];\n\n if(!newConstraints.length) {\n delete dim.constraintrange;\n delete fullDimension.constraintrange;\n newConstraints = null;\n } else {\n if(newConstraints.length === 1) newConstraints = newConstraints[0];\n dim.constraintrange = newConstraints;\n fullDimension.constraintrange = newConstraints.slice();\n // wrap in another array for restyle event data\n newConstraints = [newConstraints];\n }\n\n var restyleData = {};\n restyleData[aStr] = newConstraints;\n gd.emit('plotly_restyle', [restyleData, [inputIndices[i]]]);\n };\n\n var hover = function(eventData) {\n gd.emit('plotly_hover', eventData);\n };\n\n var unhover = function(eventData) {\n gd.emit('plotly_unhover', eventData);\n };\n\n var axesMoved = function(i, visibleIndices) {\n // Have updated order data on `gd.data` and raise `Plotly.restyle` event\n // without having to incur heavy UI blocking due to an actual `Plotly.restyle` call\n\n // drag&drop sorting of the visible dimensions\n var orig = sorter(visibleIndices, initialDims[i].filter(isVisible));\n currentDims[i].sort(orig);\n\n // invisible dimensions are not interpreted in the context of drag&drop sorting as an invisible dimension\n // cannot be dragged; they're interspersed into their original positions by this subsequent merging step\n initialDims[i].filter(function(d) {return !isVisible(d);})\n .sort(function(d) {\n // subsequent splicing to be done left to right, otherwise indices may be incorrect\n return initialDims[i].indexOf(d);\n })\n .forEach(function(d) {\n currentDims[i].splice(currentDims[i].indexOf(d), 1); // remove from the end\n currentDims[i].splice(initialDims[i].indexOf(d), 0, d); // insert at original index\n });\n\n // TODO: we can't really store this part of the interaction state\n // directly as below, since it incudes data arrays. If we want to\n // persist column order we may have to do something special for this\n // case to just store the order itself.\n // Registry.call('_storeDirectGUIEdit',\n // gd.data[inputIndices[i]],\n // fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid],\n // {dimensions: currentDims[i]}\n // );\n\n gd.emit('plotly_restyle', [{dimensions: [currentDims[i]]}, [inputIndices[i]]]);\n };\n\n parcoords(\n gd,\n cdModule,\n { // layout\n width: size.w,\n height: size.h,\n margin: {\n t: size.t,\n r: size.r,\n b: size.b,\n l: size.l\n }\n },\n { // callbacks\n filterChanged: filterChanged,\n hover: hover,\n unhover: unhover,\n axesMoved: axesMoved\n }\n );\n};\n\n\n/***/ }),\n\n/***/ \"79d9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function signum(x) {\n if(x < 0) { return -1 }\n if(x > 0) { return 1 }\n return 0.0\n}\n\n/***/ }),\n\n/***/ \"79f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nexports.isGrouped = function isGrouped(legendLayout) {\n return (legendLayout.traceorder || '').indexOf('grouped') !== -1;\n};\n\nexports.isVertical = function isVertical(legendLayout) {\n return legendLayout.orientation !== 'h';\n};\n\nexports.isReversed = function isReversed(legendLayout) {\n return (legendLayout.traceorder || '').indexOf('reversed') !== -1;\n};\n\n\n/***/ }),\n\n/***/ \"7a18\":\n/***/ (function(module) {\n\nmodule.exports = JSON.parse(\"[\\\"normal\\\",\\\"bold\\\",\\\"bolder\\\",\\\"lighter\\\",\\\"100\\\",\\\"200\\\",\\\"300\\\",\\\"400\\\",\\\"500\\\",\\\"600\\\",\\\"700\\\",\\\"800\\\",\\\"900\\\"]\");\n\n/***/ }),\n\n/***/ \"7a4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar isArrayOrTypedArray = __webpack_require__(\"fc26\").isArrayOrTypedArray;\n\nmodule.exports = function(a) {\n return minMax(a, 0);\n};\n\nfunction minMax(a, depth) {\n // Limit to ten dimensional datasets. This seems *exceedingly* unlikely to\n // ever cause problems or even be a concern. It's include strictly so that\n // circular arrays could never cause this to loop.\n if(!isArrayOrTypedArray(a) || depth >= 10) {\n return null;\n }\n\n var min = Infinity;\n var max = -Infinity;\n var n = a.length;\n for(var i = 0; i < n; i++) {\n var datum = a[i];\n\n if(isArrayOrTypedArray(datum)) {\n var result = minMax(datum, depth + 1);\n\n if(result) {\n min = Math.min(result[0], min);\n max = Math.max(result[1], max);\n }\n } else {\n min = Math.min(datum, min);\n max = Math.max(datum, max);\n }\n }\n\n return [min, max];\n}\n\n\n/***/ }),\n\n/***/ \"7a52\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar setConvertCartesian = __webpack_require__(\"1a40\");\n\nvar deg2rad = Lib.deg2rad;\nvar rad2deg = Lib.rad2deg;\n\n/**\n * setConvert for polar axes!\n *\n * @param {object} ax\n * axis in question (works for both radial and angular axes)\n * @param {object} polarLayout\n * full polar layout of the subplot associated with 'ax'\n * @param {object} fullLayout\n * full layout\n *\n * Here, reuse some of the Cartesian setConvert logic,\n * but we must extend some of it, as both radial and angular axes\n * don't have domains and angular axes don't have _true_ ranges.\n *\n * Moreover, we introduce two new coordinate systems:\n * - 'g' for geometric coordinates and\n * - 't' for angular ticks\n *\n * Radial axis coordinate systems:\n * - d, c and l: same as for cartesian axes\n * - g: like calcdata but translated about `radialaxis.range[0]` & `polar.hole`\n *\n * Angular axis coordinate systems:\n * - d: data, in whatever form it's provided\n * - c: calcdata, turned into radians (for linear axes)\n * or category indices (category axes)\n * - t: tick calcdata, just like 'c' but in degrees for linear axes\n * - g: geometric calcdata, radians coordinates that take into account\n * axis rotation and direction\n *\n * Then, 'g'eometric data is ready to be converted to (x,y).\n */\nmodule.exports = function setConvert(ax, polarLayout, fullLayout) {\n setConvertCartesian(ax, fullLayout);\n\n switch(ax._id) {\n case 'x':\n case 'radialaxis':\n setConvertRadial(ax, polarLayout);\n break;\n case 'angularaxis':\n setConvertAngular(ax, polarLayout);\n break;\n }\n};\n\nfunction setConvertRadial(ax, polarLayout) {\n var subplot = polarLayout._subplot;\n\n ax.setGeometry = function() {\n var rl0 = ax._rl[0];\n var rl1 = ax._rl[1];\n\n var b = subplot.innerRadius;\n var m = (subplot.radius - b) / (rl1 - rl0);\n var b2 = b / m;\n\n var rFilter = rl0 > rl1 ?\n function(v) { return v <= 0; } :\n function(v) { return v >= 0; };\n\n ax.c2g = function(v) {\n var r = ax.c2l(v) - rl0;\n return (rFilter(r) ? r : 0) + b2;\n };\n\n ax.g2c = function(v) {\n return ax.l2c(v + rl0 - b2);\n };\n\n ax.g2p = function(v) { return v * m; };\n ax.c2p = function(v) { return ax.g2p(ax.c2g(v)); };\n };\n}\n\nfunction toRadians(v, unit) {\n return unit === 'degrees' ? deg2rad(v) : v;\n}\n\nfunction fromRadians(v, unit) {\n return unit === 'degrees' ? rad2deg(v) : v;\n}\n\nfunction setConvertAngular(ax, polarLayout) {\n var axType = ax.type;\n\n if(axType === 'linear') {\n var _d2c = ax.d2c;\n var _c2d = ax.c2d;\n\n ax.d2c = function(v, unit) { return toRadians(_d2c(v), unit); };\n ax.c2d = function(v, unit) { return _c2d(fromRadians(v, unit)); };\n }\n\n // override makeCalcdata to handle thetaunit and special theta0/dtheta logic\n ax.makeCalcdata = function(trace, coord) {\n var arrayIn = trace[coord];\n var len = trace._length;\n var arrayOut, i;\n\n var _d2c = function(v) { return ax.d2c(v, trace.thetaunit); };\n\n if(arrayIn) {\n if(Lib.isTypedArray(arrayIn) && axType === 'linear') {\n if(len === arrayIn.length) {\n return arrayIn;\n } else if(arrayIn.subarray) {\n return arrayIn.subarray(0, len);\n }\n }\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = _d2c(arrayIn[i]);\n }\n } else {\n var coord0 = coord + '0';\n var dcoord = 'd' + coord;\n var v0 = (coord0 in trace) ? _d2c(trace[coord0]) : 0;\n var dv = (trace[dcoord]) ? _d2c(trace[dcoord]) : (ax.period || 2 * Math.PI) / len;\n\n arrayOut = new Array(len);\n for(i = 0; i < len; i++) {\n arrayOut[i] = v0 + i * dv;\n }\n }\n\n return arrayOut;\n };\n\n // N.B. we mock the axis 'range' here\n ax.setGeometry = function() {\n var sector = polarLayout.sector;\n var sectorInRad = sector.map(deg2rad);\n var dir = {clockwise: -1, counterclockwise: 1}[ax.direction];\n var rot = deg2rad(ax.rotation);\n\n var rad2g = function(v) { return dir * v + rot; };\n var g2rad = function(v) { return (v - rot) / dir; };\n\n var rad2c, c2rad;\n var rad2t, t2rad;\n\n switch(axType) {\n case 'linear':\n c2rad = rad2c = Lib.identity;\n t2rad = deg2rad;\n rad2t = rad2deg;\n\n // Set the angular range in degrees to make auto-tick computation cleaner,\n // changing rotation/direction should not affect the angular tick value.\n ax.range = Lib.isFullCircle(sectorInRad) ?\n [sector[0], sector[0] + 360] :\n sectorInRad.map(g2rad).map(rad2deg);\n break;\n\n case 'category':\n var catLen = ax._categories.length;\n var _period = ax.period ? Math.max(ax.period, catLen) : catLen;\n\n // fallback in case all categories have been filtered out\n if(_period === 0) _period = 1;\n\n c2rad = t2rad = function(v) { return v * 2 * Math.PI / _period; };\n rad2c = rad2t = function(v) { return v * _period / Math.PI / 2; };\n\n ax.range = [0, _period];\n break;\n }\n\n ax.c2g = function(v) { return rad2g(c2rad(v)); };\n ax.g2c = function(v) { return rad2c(g2rad(v)); };\n\n ax.t2g = function(v) { return rad2g(t2rad(v)); };\n ax.g2t = function(v) { return rad2t(g2rad(v)); };\n };\n}\n\n\n/***/ }),\n\n/***/ \"7a5f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'trace',\n name: 'indicator',\n basePlotModule: __webpack_require__(\"643c\"),\n categories: ['svg', 'noOpacity', 'noHover'],\n animatable: true,\n\n attributes: __webpack_require__(\"1c82\"),\n supplyDefaults: __webpack_require__(\"18bb\").supplyDefaults,\n\n calc: __webpack_require__(\"5ad1\").calc,\n\n plot: __webpack_require__(\"78ee\"),\n\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7a71\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\r\n\r\nmodule.exports = measure\r\n\r\nmeasure.canvas = document.createElement('canvas')\r\nmeasure.cache = {}\r\n\r\nfunction measure (font, o) {\r\n\tif (!o) o = {}\r\n\r\n\tif (typeof font === 'string' || Array.isArray(font)) {\r\n\t\to.family = font\r\n\t}\r\n\r\n\tvar family = Array.isArray(o.family) ? o.family.join(', ') : o.family\r\n\tif (!family) throw Error('`family` must be defined')\r\n\r\n\tvar fs = o.size || o.fontSize || o.em || 48\r\n\tvar weight = o.weight || o.fontWeight || ''\r\n\tvar style = o.style || o.fontStyle || ''\r\n\tvar font = [style, weight, fs].join(' ') + 'px ' + family\r\n\tvar origin = o.origin || 'top'\r\n\r\n\tif (measure.cache[family]) {\r\n\t\t// return more precise values if cache has them\r\n\t\tif (fs <= measure.cache[family].em) {\r\n\t\t\treturn applyOrigin(measure.cache[family], origin)\r\n\t\t}\r\n\t}\r\n\r\n\tvar canvas = o.canvas || measure.canvas\r\n\tvar ctx = canvas.getContext('2d')\r\n\tvar chars = {\r\n\t\tupper: o.upper !== undefined ? o.upper : 'H',\r\n\t\tlower: o.lower !== undefined ? o.lower : 'x',\r\n\t\tdescent: o.descent !== undefined ? o.descent : 'p',\r\n\t\tascent: o.ascent !== undefined ? o.ascent : 'h',\r\n\t\ttittle: o.tittle !== undefined ? o.tittle : 'i',\r\n\t\tovershoot: o.overshoot !== undefined ? o.overshoot : 'O'\r\n\t}\r\n\tvar l = Math.ceil(fs * 1.5)\r\n\tcanvas.height = l\r\n\tcanvas.width = l * .5\r\n\tctx.font = font\r\n\r\n\tvar char = 'H'\r\n\tvar result = {\r\n\t\ttop: 0\r\n\t}\r\n\r\n\t// measure line-height\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'top'\r\n\tctx.fillStyle = 'black'\r\n\tctx.fillText(char, 0, 0)\r\n\tvar topPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'bottom'\r\n\tctx.fillText(char, 0, l)\r\n\tvar bottomPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.lineHeight =\r\n\tresult.bottom = l - bottomPx + topPx\r\n\r\n\t// measure baseline\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'alphabetic'\r\n\tctx.fillText(char, 0, l)\r\n\tvar baselinePx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tvar baseline = l - baselinePx - 1 + topPx\r\n\tresult.baseline =\r\n\tresult.alphabetic = baseline\r\n\r\n\t// measure median\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'middle'\r\n\tctx.fillText(char, 0, l * .5)\r\n\tvar medianPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.median =\r\n\tresult.middle = l - medianPx - 1 + topPx - l * .5\r\n\r\n\t// measure hanging\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'hanging'\r\n\tctx.fillText(char, 0, l * .5)\r\n\tvar hangingPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.hanging = l - hangingPx - 1 + topPx - l * .5\r\n\r\n\t// measure ideographic\r\n\tctx.clearRect(0, 0, l, l)\r\n\tctx.textBaseline = 'ideographic'\r\n\tctx.fillText(char, 0, l)\r\n\tvar ideographicPx = firstTop(ctx.getImageData(0, 0, l, l))\r\n\tresult.ideographic = l - ideographicPx - 1 + topPx\r\n\r\n\t// measure cap\r\n\tif (chars.upper) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.upper, 0, 0)\r\n\t\tresult.upper = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.capHeight = (result.baseline - result.upper)\r\n\t}\r\n\r\n\t// measure x\r\n\tif (chars.lower) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.lower, 0, 0)\r\n\t\tresult.lower = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.xHeight = (result.baseline - result.lower)\r\n\t}\r\n\r\n\t// measure tittle\r\n\tif (chars.tittle) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.tittle, 0, 0)\r\n\t\tresult.tittle = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure ascent\r\n\tif (chars.ascent) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.ascent, 0, 0)\r\n\t\tresult.ascent = firstTop(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure descent\r\n\tif (chars.descent) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.descent, 0, 0)\r\n\t\tresult.descent = firstBottom(ctx.getImageData(0, 0, l, l))\r\n\t}\r\n\r\n\t// measure overshoot\r\n\tif (chars.overshoot) {\r\n\t\tctx.clearRect(0, 0, l, l)\r\n\t\tctx.textBaseline = 'top'\r\n\t\tctx.fillText(chars.overshoot, 0, 0)\r\n\t\tvar overshootPx = firstBottom(ctx.getImageData(0, 0, l, l))\r\n\t\tresult.overshoot = overshootPx - baseline\r\n\t}\r\n\r\n\t// normalize result\r\n\tfor (var name in result) {\r\n\t\tresult[name] /= fs\r\n\t}\r\n\r\n\tresult.em = fs\r\n\tmeasure.cache[family] = result\r\n\r\n\treturn applyOrigin(result, origin)\r\n}\r\n\r\nfunction applyOrigin(obj, origin) {\r\n\tvar res = {}\r\n\tif (typeof origin === 'string') origin = obj[origin]\r\n\tfor (var name in obj) {\r\n\t\tif (name === 'em') continue\r\n\t\tres[name] = obj[name] - origin\r\n\t}\r\n\treturn res\r\n}\r\n\r\nfunction firstTop(iData) {\r\n\tvar l = iData.height\r\n\tvar data = iData.data\r\n\tfor (var i = 3; i < data.length; i+=4) {\r\n\t\tif (data[i] !== 0) {\r\n\t\t\treturn Math.floor((i - 3) *.25 / l)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction firstBottom(iData) {\r\n\tvar l = iData.height\r\n\tvar data = iData.data\r\n\tfor (var i = data.length - 1; i > 0; i -= 4) {\r\n\t\tif (data[i] !== 0) {\r\n\t\t\treturn Math.floor((i - 3) *.25 / l)\r\n\t\t}\r\n\t}\r\n}\r\n\n\n/***/ }),\n\n/***/ \"7a7d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"8bd8\"),\n supplyDefaults: __webpack_require__(\"f552\"),\n colorbar: __webpack_require__(\"fcb3\"),\n calc: __webpack_require__(\"d0ad\"),\n calcGeoJSON: __webpack_require__(\"538c\").calcGeoJSON,\n plot: __webpack_require__(\"538c\").plot,\n style: __webpack_require__(\"e7ab\").style,\n styleOnSelect: __webpack_require__(\"e7ab\").styleOnSelect,\n hoverPoints: __webpack_require__(\"038d\"),\n eventData: __webpack_require__(\"a9eb\"),\n selectPoints: __webpack_require__(\"ef6e\"),\n\n moduleType: 'trace',\n name: 'choropleth',\n basePlotModule: __webpack_require__(\"9e9a\"),\n categories: ['geo', 'noOpacity', 'showLegend'],\n meta: {\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7abc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n * World Calendars\n * https://github.com/alexcjohnson/world-calendars\n *\n * Batch-converted from kbwood/calendars\n * Many thanks to Keith Wood and all of the contributors to the original project!\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* http://keith-wood.name/calendars.html\n UmmAlQura calendar for jQuery v2.0.2.\n Written by Amro Osama March 2013.\n Modified by Binnooh.com & www.elm.sa - 2014 - Added dates back to 1276 Hijri year.\n Available under the MIT (http://keith-wood.name/licence.html) license. \n Please attribute the author if you use it. */\n\nvar main = __webpack_require__(\"0230\");\nvar assign = __webpack_require__(\"320c\");\n\n\n/** Implementation of the UmmAlQura or 'saudi' calendar.\n See also http://en.wikipedia.org/wiki/Islamic_calendar#Saudi_Arabia.27s_Umm_al-Qura_calendar.\n http://www.ummulqura.org.sa/About.aspx\n http://www.staff.science.uu.nl/~gent0113/islam/ummalqura.htm\n @class UmmAlQuraCalendar\n @param [language=''] {string} The language code (default English) for localisation. */\nfunction UmmAlQuraCalendar(language) {\n this.local = this.regionalOptions[language || ''] || this.regionalOptions[''];\n}\n\nUmmAlQuraCalendar.prototype = new main.baseCalendar;\n\nassign(UmmAlQuraCalendar.prototype, {\n /** The calendar name.\n @memberof UmmAlQuraCalendar */\n name: 'UmmAlQura',\n //jdEpoch: 1948440, // Julian date of start of UmmAlQura epoch: 14 March 1937 CE\n //daysPerMonth: // Days per month in a common year, replaced by a method.\n /** true if has a year zero, false if not.\n @memberof UmmAlQuraCalendar */\n hasYearZero: false,\n /** The minimum month number.\n @memberof UmmAlQuraCalendar */\n minMonth: 1,\n /** The first month in the year.\n @memberof UmmAlQuraCalendar */\n firstMonth: 1,\n /** The minimum day number.\n @memberof UmmAlQuraCalendar */\n minDay: 1,\n\n /** Localisations for the plugin.\n Entries are objects indexed by the language code ('' being the default US/English).\n Each object has the following attributes.\n @memberof UmmAlQuraCalendar\n @property name {string} The calendar name.\n @property epochs {string[]} The epoch names.\n @property monthNames {string[]} The long names of the months of the year.\n @property monthNamesShort {string[]} The short names of the months of the year.\n @property dayNames {string[]} The long names of the days of the week.\n @property dayNamesShort {string[]} The short names of the days of the week.\n @property dayNamesMin {string[]} The minimal names of the days of the week.\n @property dateFormat {string} The date format for this calendar.\n See the options on formatDate for details.\n @property firstDay {number} The number of the first day of the week, starting at 0.\n @property isRTL {number} true if this localisation reads right-to-left. */\n regionalOptions: { // Localisations\n '': {\n name: 'Umm al-Qura',\n epochs: ['BH', 'AH'],\n monthNames: ['Al-Muharram', 'Safar', 'Rabi\\' al-awwal', 'Rabi\\' Al-Thani', 'Jumada Al-Awwal', 'Jumada Al-Thani',\n 'Rajab', 'Sha\\'aban', 'Ramadan', 'Shawwal', 'Dhu al-Qi\\'dah', 'Dhu al-Hijjah'],\n monthNamesShort: ['Muh', 'Saf', 'Rab1', 'Rab2', 'Jum1', 'Jum2', 'Raj', 'Sha\\'', 'Ram', 'Shaw', 'DhuQ', 'DhuH'],\n dayNames: ['Yawm al-Ahad', 'Yawm al-Ithnain', 'Yawm al-Thalāthā’', 'Yawm al-Arba‘ā’', 'Yawm al-Khamīs', 'Yawm al-Jum‘a', 'Yawm al-Sabt'],\n dayNamesMin: ['Ah', 'Ith', 'Th', 'Ar', 'Kh', 'Ju', 'Sa'],\n digits: null,\n dateFormat: 'yyyy/mm/dd',\n firstDay: 6,\n isRTL: true\n }\n },\n\n /** Determine whether this date is in a leap year.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {boolean} true if this is a leap year, false if not.\n @throws Error if an invalid year or a different calendar used. */\n leapYear: function (year) {\n var date = this._validate(year, this.minMonth, this.minDay, main.local.invalidYear);\n return (this.daysInYear(date.year()) === 355);\n },\n\n /** Determine the week of the year for a date.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {number} The week of the year.\n @throws Error if an invalid date or a different calendar used. */\n weekOfYear: function (year, month, day) {\n // Find Sunday of this week starting on Sunday\n var checkDate = this.newDate(year, month, day);\n checkDate.add(-checkDate.dayOfWeek(), 'd');\n return Math.floor((checkDate.dayOfYear() - 1) / 7) + 1;\n },\n\n /** Retrieve the number of days in a year.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @return {number} The number of days.\n @throws Error if an invalid year or a different calendar used. */\n daysInYear: function (year) {\n var daysCount = 0;\n for (var i = 1; i <= 12; i++) {\n daysCount += this.daysInMonth(year, i);\n }\n return daysCount;\n },\n\n /** Retrieve the number of days in a month.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year of the month.\n @param [month] {number} The month.\n @return {number} The number of days in this month.\n @throws Error if an invalid month/year or a different calendar used. */\n daysInMonth: function (year, month) {\n var date = this._validate(year, month, this.minDay, main.local.invalidMonth);\n var mcjdn = date.toJD() - 2400000 + 0.5; // Modified Chronological Julian Day Number (MCJDN)\n // the MCJDN's of the start of the lunations in the Umm al-Qura calendar are stored in the 'ummalqura_dat' array\n var index = 0;\n for (var i = 0; i < ummalqura_dat.length; i++) {\n if (ummalqura_dat[i] > mcjdn) {\n return (ummalqura_dat[index] - ummalqura_dat[index - 1]);\n }\n index++;\n }\n return 30; // Unknown outside\n },\n\n /** Determine whether this date is a week day.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to examine or the year to examine.\n @param [month] {number} The month to examine.\n @param [day] {number} The day to examine.\n @return {boolean} true if a week day, false if not.\n @throws Error if an invalid date or a different calendar used. */\n weekDay: function (year, month, day) {\n return this.dayOfWeek(year, month, day) !== 5;\n },\n\n /** Retrieve the Julian date equivalent for this date,\n i.e. days since January 1, 4713 BCE Greenwich noon.\n @memberof UmmAlQuraCalendar\n @param year {CDate|number} The date to convert or the year to convert.\n @param [month] {number} The month to convert.\n @param [day] {number} The day to convert.\n @return {number} The equivalent Julian date.\n @throws Error if an invalid date or a different calendar used. */\n toJD: function (year, month, day) {\n var date = this._validate(year, month, day, main.local.invalidDate);\n var index = (12 * (date.year() - 1)) + date.month() - 15292;\n var mcjdn = date.day() + ummalqura_dat[index - 1] - 1;\n return mcjdn + 2400000 - 0.5; // Modified Chronological Julian Day Number (MCJDN)\n },\n\n /** Create a new date from a Julian date.\n @memberof UmmAlQuraCalendar\n @param jd {number} The Julian date to convert.\n @return {CDate} The equivalent date. */\n fromJD: function (jd) {\n var mcjdn = jd - 2400000 + 0.5; // Modified Chronological Julian Day Number (MCJDN)\n // the MCJDN's of the start of the lunations in the Umm al-Qura calendar \n // are stored in the 'ummalqura_dat' array\n var index = 0;\n for (var i = 0; i < ummalqura_dat.length; i++) {\n if (ummalqura_dat[i] > mcjdn) break;\n index++;\n }\n var lunation = index + 15292; //UmmAlQura Lunation Number\n var ii = Math.floor((lunation - 1) / 12);\n var year = ii + 1;\n var month = lunation - 12 * ii;\n var day = mcjdn - ummalqura_dat[index - 1] + 1;\n return this.newDate(year, month, day);\n },\n\n /** Determine whether a date is valid for this calendar.\n @memberof UmmAlQuraCalendar\n @param year {number} The year to examine.\n @param month {number} The month to examine.\n @param day {number} The day to examine.\n @return {boolean} true if a valid date, false if not. */\n isValid: function(year, month, day) {\n var valid = main.baseCalendar.prototype.isValid.apply(this, arguments);\n if (valid) {\n year = (year.year != null ? year.year : year);\n valid = (year >= 1276 && year <= 1500);\n }\n return valid;\n },\n\n /** Check that a candidate date is from the same calendar and is valid.\n @memberof UmmAlQuraCalendar\n @private\n @param year {CDate|number} The date to validate or the year to validate.\n @param month {number} The month to validate.\n @param day {number} The day to validate.\n @param error {string} Error message if invalid.\n @throws Error if different calendars used or invalid date. */\n _validate: function(year, month, day, error) {\n var date = main.baseCalendar.prototype._validate.apply(this, arguments);\n if (date.year < 1276 || date.year > 1500) {\n throw error.replace(/\\{0\\}/, this.local.name);\n }\n return date;\n }\n});\n\n// UmmAlQura calendar implementation\nmain.calendars.ummalqura = UmmAlQuraCalendar;\n\nvar ummalqura_dat = [\n 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, 374, 404, 433, 463, 492, 522, 551, 581, \n 611, 641, 670, 700, 729, 759, 788, 818, 847, 877, 906, 936, 965, 995, 1024, 1054, 1083, 1113, 1142, 1172,\n 1201, 1231, 1260, 1290, 1320, 1350, 1379, 1409, 1438, 1468, 1497, 1527, 1556, 1586, 1615, 1645, 1674, 1704, 1733, 1763,\n 1792, 1822, 1851, 1881, 1910, 1940, 1969, 1999, 2028, 2058, 2087, 2117, 2146, 2176, 2205, 2235, 2264, 2294, 2323, 2353,\n 2383, 2413, 2442, 2472, 2501, 2531, 2560, 2590, 2619, 2649, 2678, 2708, 2737, 2767, 2796, 2826, 2855, 2885, 2914, 2944,\n 2973, 3003, 3032, 3062, 3091, 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, 3416, 3446, 3476, 3505, 3535,\n 3564, 3594, 3623, 3653, 3682, 3712, 3741, 3771, 3800, 3830, 3859, 3889, 3918, 3948, 3977, 4007, 4036, 4066, 4095, 4125,\n 4155, 4185, 4214, 4244, 4273, 4303, 4332, 4362, 4391, 4421, 4450, 4480, 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716,\n 4745, 4775, 4804, 4834, 4863, 4893, 4922, 4952, 4981, 5011, 5040, 5070, 5099, 5129, 5158, 5188, 5218, 5248, 5277, 5307,\n 5336, 5366, 5395, 5425, 5454, 5484, 5513, 5543, 5572, 5602, 5631, 5661, 5690, 5720, 5749, 5779, 5808, 5838, 5867, 5897,\n 5926, 5956, 5985, 6015, 6044, 6074, 6103, 6133, 6162, 6192, 6221, 6251, 6281, 6311, 6340, 6370, 6399, 6429, 6458, 6488,\n 6517, 6547, 6576, 6606, 6635, 6665, 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, 6960, 6989, 7019, 7048, 7078,\n 7107, 7137, 7166, 7196, 7225, 7255, 7284, 7314, 7344, 7374, 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, 7669,\n 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, 7934, 7964, 7993, 8023, 8053, 8083, 8112, 8142, 8171, 8201, 8230, 8260,\n 8289, 8319, 8348, 8378, 8407, 8437, 8466, 8496, 8525, 8555, 8584, 8614, 8643, 8673, 8702, 8732, 8761, 8791, 8821, 8850,\n 8880, 8909, 8938, 8968, 8997, 9027, 9056, 9086, 9115, 9145, 9175, 9205, 9234, 9264, 9293, 9322, 9352, 9381, 9410, 9440,\n 9470, 9499, 9529, 9559, 9589, 9618, 9648, 9677, 9706, 9736, 9765, 9794, 9824, 9853, 9883, 9913, 9943, 9972, 10002, 10032,\n 10061, 10090, 10120, 10149, 10178, 10208, 10237, 10267, 10297, 10326, 10356, 10386, 10415, 10445, 10474, 10504, 10533, 10562, 10592, 10621,\n 10651, 10680, 10710, 10740, 10770, 10799, 10829, 10858, 10888, 10917, 10947, 10976, 11005, 11035, 11064, 11094, 11124, 11153, 11183, 11213,\n 11242, 11272, 11301, 11331, 11360, 11389, 11419, 11448, 11478, 11507, 11537, 11567, 11596, 11626, 11655, 11685, 11715, 11744, 11774, 11803,\n 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, 12069, 12099, 12128, 12158, 12187, 12216, 12246, 12275, 12304, 12334, 12364, 12393,\n 12423, 12453, 12483, 12512, 12542, 12571, 12600, 12630, 12659, 12688, 12718, 12747, 12777, 12807, 12837, 12866, 12896, 12926, 12955, 12984,\n 13014, 13043, 13072, 13102, 13131, 13161, 13191, 13220, 13250, 13280, 13310, 13339, 13368, 13398, 13427, 13456, 13486, 13515, 13545, 13574,\n 13604, 13634, 13664, 13693, 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, 13958, 13988, 14018, 14047, 14077, 14107, 14136, 14166,\n 14195, 14224, 14254, 14283, 14313, 14342, 14372, 14401, 14431, 14461, 14490, 14520, 14550, 14579, 14609, 14638, 14667, 14697, 14726, 14756,\n 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, 15258, 15287, 15317, 15347,\n 15377, 15406, 15436, 15465, 15494, 15524, 15553, 15582, 15612, 15641, 15671, 15701, 15731, 15760, 15790, 15820, 15849, 15878, 15908, 15937,\n 15966, 15996, 16025, 16055, 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, 16321, 16350, 16380, 16409, 16439, 16468, 16498, 16528,\n 16558, 16587, 16617, 16646, 16676, 16705, 16734, 16764, 16793, 16823, 16852, 16882, 16912, 16941, 16971, 17001, 17030, 17060, 17089, 17118,\n 17148, 17177, 17207, 17236, 17266, 17295, 17325, 17355, 17384, 17414, 17444, 17473, 17502, 17532, 17561, 17591, 17620, 17650, 17679, 17709,\n 17738, 17768, 17798, 17827, 17857, 17886, 17916, 17945, 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, 18211, 18241, 18270, 18300,\n 18330, 18359, 18388, 18418, 18447, 18476, 18506, 18535, 18565, 18595, 18625, 18654, 18684, 18714, 18743, 18772, 18802, 18831, 18860, 18890,\n 18919, 18949, 18979, 19008, 19038, 19068, 19098, 19127, 19156, 19186, 19215, 19244, 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481,\n 19511, 19540, 19570, 19599, 19628, 19658, 19687, 19717, 19746, 19776, 19806, 19836, 19865, 19895, 19924, 19954, 19983, 20012, 20042, 20071,\n 20101, 20130, 20160, 20190, 20219, 20249, 20279, 20308, 20338, 20367, 20396, 20426, 20455, 20485, 20514, 20544, 20573, 20603, 20633, 20662,\n 20692, 20721, 20751, 20780, 20810, 20839, 20869, 20898, 20928, 20957, 20987, 21016, 21046, 21076, 21105, 21135, 21164, 21194, 21223, 21253,\n 21282, 21312, 21341, 21371, 21400, 21430, 21459, 21489, 21519, 21548, 21578, 21607, 21637, 21666, 21696, 21725, 21754, 21784, 21813, 21843,\n 21873, 21902, 21932, 21962, 21991, 22021, 22050, 22080, 22109, 22138, 22168, 22197, 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434,\n 22464, 22493, 22522, 22552, 22581, 22611, 22640, 22670, 22700, 22730, 22759, 22789, 22818, 22848, 22877, 22906, 22936, 22965, 22994, 23024,\n 23054, 23083, 23113, 23143, 23173, 23202, 23232, 23261, 23290, 23320, 23349, 23379, 23408, 23438, 23467, 23497, 23527, 23556, 23586, 23616,\n 23645, 23674, 23704, 23733, 23763, 23792, 23822, 23851, 23881, 23910, 23940, 23970, 23999, 24029, 24058, 24088, 24117, 24147, 24176, 24206,\n 24235, 24265, 24294, 24324, 24353, 24383, 24413, 24442, 24472, 24501, 24531, 24560, 24590, 24619, 24648, 24678, 24707, 24737, 24767, 24796,\n 24826, 24856, 24885, 24915, 24944, 24974, 25003, 25032, 25062, 25091, 25121, 25150, 25180, 25210, 25240, 25269, 25299, 25328, 25358, 25387,\n 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, 25653, 25683, 25712, 25742, 25771, 25800, 25830, 25859, 25888, 25918, 25948, 25977,\n 26007, 26037, 26067, 26096, 26126, 26155, 26184, 26214, 26243, 26272, 26302, 26332, 26361, 26391, 26421, 26451, 26480, 26510, 26539, 26568,\n 26598, 26627, 26656, 26686, 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, 26952, 26982, 27011, 27041, 27070, 27099, 27129, 27159,\n 27188, 27218, 27248, 27277, 27307, 27336, 27366, 27395, 27425, 27454, 27484, 27513, 27542, 27572, 27602, 27631, 27661, 27691, 27720, 27750,\n 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, 28015, 28045, 28074, 28104, 28134, 28163, 28193, 28222, 28252, 28281, 28310, 28340,\n 28369, 28399, 28428, 28458, 28488, 28517, 28547, 28577,\n // From 1356\n 28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, 28843, 28872, 28901, 28931, 28960, 28990, 29019, 29049, 29078, 29108, 29137, 29167,\n 29196, 29226, 29255, 29285, 29315, 29345, 29375, 29404, 29434, 29463, 29492, 29522, 29551, 29580, 29610, 29640, 29669, 29699, 29729, 29759,\n 29788, 29818, 29847, 29876, 29906, 29935, 29964, 29994, 30023, 30053, 30082, 30112, 30141, 30171, 30200, 30230, 30259, 30289, 30318, 30348,\n 30378, 30408, 30437, 30467, 30496, 30526, 30555, 30585, 30614, 30644, 30673, 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, 30939,\n 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, 31204, 31234, 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, 31500, 31530,\n 31559, 31589, 31618, 31648, 31676, 31706, 31736, 31766, 31795, 31825, 31854, 31884, 31913, 31943, 31972, 32002, 32031, 32061, 32090, 32120,\n 32150, 32180, 32209, 32239, 32268, 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, 32563, 32593, 32622, 32652, 32681, 32711,\n 32740, 32770, 32799, 32829, 32858, 32888, 32917, 32947, 32976, 33006, 33035, 33065, 33094, 33124, 33153, 33183, 33213, 33243, 33272, 33302,\n 33331, 33361, 33390, 33420, 33450, 33479, 33509, 33539, 33568, 33598, 33627, 33657, 33686, 33716, 33745, 33775, 33804, 33834, 33863, 33893,\n 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, 34158, 34187, 34217, 34247, 34277, 34306, 34336, 34365, 34395, 34424, 34454, 34483,\n 34512, 34542, 34571, 34601, 34631, 34660, 34690, 34719, 34749, 34778, 34808, 34837, 34867, 34896, 34926, 34955, 34985, 35015, 35044, 35074,\n 35103, 35133, 35162, 35192, 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, 35458, 35488, 35517, 35547, 35576, 35605, 35635, 35665,\n 35694, 35723, 35753, 35782, 35811, 35841, 35871, 35901, 35930, 35960, 35989, 36019, 36048, 36078, 36107, 36136, 36166, 36195, 36225, 36254,\n 36284, 36314, 36343, 36373, 36403, 36433, 36462, 36492, 36521, 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, 36786, 36816, 36845,\n 36875, 36904, 36934, 36963, 36993, 37022, 37052, 37081, 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, 37347, 37377, 37406, 37436,\n 37465, 37495, 37524, 37554, 37584, 37613, 37643, 37672, 37701, 37731, 37760, 37790, 37819, 37849, 37878, 37908, 37938, 37967, 37997, 38027,\n 38056, 38085, 38115, 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617,\n 38646, 38676, 38705, 38735, 38764, 38794, 38823, 38853, 38882, 38912, 38941, 38971, 39001, 39030, 39059, 39089, 39118, 39148, 39178, 39208,\n 39237, 39267, 39297, 39326, 39355, 39385, 39414, 39444, 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, 39709, 39739, 39768, 39798,\n 39827, 39857, 39886, 39916, 39946, 39975, 40005, 40035, 40064, 40094, 40123, 40153, 40182, 40212, 40241, 40271, 40300, 40330, 40359, 40389,\n 40418, 40448, 40477, 40507, 40536, 40566, 40595, 40625, 40655, 40685, 40714, 40744, 40773, 40803, 40832, 40862, 40892, 40921, 40951, 40980,\n 41009, 41039, 41068, 41098, 41127, 41157, 41186, 41216, 41245, 41275, 41304, 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570,\n 41599, 41629, 41658, 41688, 41718, 41748, 41777, 41807, 41836, 41865, 41894, 41924, 41953, 41983, 42012, 42042, 42072, 42102, 42131, 42161,\n 42190, 42220, 42249, 42279, 42308, 42337, 42367, 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, 42633, 42662, 42692, 42721, 42751,\n 42780, 42810, 42839, 42869, 42899, 42929, 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, 43194, 43223, 43253, 43283, 43312, 43342,\n 43371, 43401, 43430, 43460, 43489, 43519, 43548, 43578, 43607, 43637, 43666, 43696, 43726, 43755, 43785, 43814, 43844, 43873, 43903, 43932,\n 43962, 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, 44258, 44287, 44317, 44346, 44375, 44405, 44434, 44464, 44493, 44523,\n 44553, 44582, 44612, 44641, 44671, 44700, 44730, 44759, 44788, 44818, 44847, 44877, 44906, 44936, 44966, 44996, 45025, 45055, 45084, 45114,\n 45143, 45172, 45202, 45231, 45261, 45290, 45320, 45350, 45380, 45409, 45439, 45468, 45498, 45527, 45556, 45586, 45615, 45644, 45674, 45704,\n 45733, 45763, 45793, 45823, 45852, 45882, 45911, 45940, 45970, 45999, 46028, 46058, 46088, 46117, 46147, 46177, 46206, 46236, 46265, 46295,\n 46324, 46354, 46383, 46413, 46442, 46472, 46501, 46531, 46560, 46590, 46620, 46649, 46679, 46708, 46738, 46767, 46797, 46826, 46856, 46885,\n 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, 47151, 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, 47446, 47476,\n 47506, 47535, 47565, 47594, 47624, 47653, 47682, 47712, 47741, 47771, 47800, 47830, 47860, 47890, 47919, 47949, 47978, 48008, 48037, 48066,\n 48096, 48125, 48155, 48184, 48214, 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, 48480, 48509, 48538, 48568, 48598, 48627, 48657,\n 48687, 48717, 48746, 48776, 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, 49041, 49071, 49100, 49130, 49160, 49189, 49218, 49248,\n 49277, 49306, 49336, 49365, 49395, 49425, 49455, 49484, 49514, 49543, 49573, 49602, 49632, 49661, 49690, 49720, 49749, 49779, 49809, 49838,\n 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, 50340, 50370, 50400, 50429,\n 50459, 50488, 50518, 50547, 50576, 50606, 50635, 50665, 50694, 50724, 50754, 50784, 50813, 50843, 50872, 50902, 50931, 50960, 50990, 51019,\n 51049, 51078, 51108, 51138, 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, 51403, 51433, 51462, 51492, 51522, 51552, 51582, 51611,\n 51641, 51670, 51699, 51729, 51758, 51787, 51816, 51846, 51876, 51906, 51936, 51965, 51995, 52025, 52054, 52083, 52113, 52142, 52171, 52200,\n 52230, 52260, 52290, 52319, 52349, 52379, 52408, 52438, 52467, 52497, 52526, 52555, 52585, 52614, 52644, 52673, 52703, 52733, 52762, 52792,\n 52822, 52851, 52881, 52910, 52939, 52969, 52998, 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, 53294, 53324, 53353, 53383,\n 53412, 53441, 53471, 53500, 53530, 53559, 53589, 53619, 53648, 53678, 53708, 53737, 53767, 53796, 53825, 53855, 53884, 53913, 53943, 53973,\n 54003, 54032, 54062, 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, 54327, 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564,\n 54593, 54623, 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, 54889, 54919, 54948, 54977, 55007, 55036, 55066, 55095, 55125, 55154,\n 55184, 55213, 55243, 55273, 55302, 55332, 55361, 55391, 55420, 55450, 55479, 55508, 55538, 55567, 55597, 55627, 55657, 55686, 55716, 55745,\n 55775, 55804, 55834, 55863, 55892, 55922, 55951, 55981, 56011, 56040, 56070, 56100, 56129, 56159, 56188, 56218, 56247, 56276, 56306, 56335,\n 56365, 56394, 56424, 56454, 56483, 56513, 56543, 56572, 56601, 56631, 56660, 56690, 56719, 56749, 56778, 56808, 56837, 56867, 56897, 56926,\n 56956, 56985, 57015, 57044, 57074, 57103, 57133, 57162, 57192, 57221, 57251, 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517,\n 57546, 57576, 57605, 57634, 57664, 57694, 57723, 57753, 57783, 57813, 57842, 57871, 57901, 57930, 57959, 57989, 58018, 58048, 58077, 58107,\n 58137, 58167, 58196, 58226, 58255, 58285, 58314, 58343, 58373, 58402, 58432, 58461, 58491, 58521, 58551, 58580, 58610, 58639, 58669, 58698,\n 58727, 58757, 58786, 58816, 58845, 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, 59141, 59170, 59200, 59229, 59259, 59288,\n 59318, 59348, 59377, 59407, 59436, 59466, 59495, 59525, 59554, 59584, 59613, 59643, 59672, 59702, 59731, 59761, 59791, 59820, 59850, 59879,\n 59909, 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, 60174, 60204, 60234, 60264, 60293, 60323, 60352, 60381, 60411, 60440, 60469,\n 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, 60736, 60765, 60795, 60824, 60853, 60883, 60912, 60942, 60972, 61002, 61031, 61061,\n 61090, 61120, 61149, 61179, 61208, 61237, 61267, 61296, 61326, 61356, 61385, 61415, 61445, 61474, 61504, 61533, 61563, 61592, 61621, 61651,\n 61680, 61710, 61739, 61769, 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, 62035, 62064, 62094, 62123, 62153, 62182, 62212, 62242,\n 62271, 62301, 62331, 62360, 62390, 62419, 62448, 62478, 62507, 62537, 62566, 62596, 62625, 62655, 62685, 62715, 62744, 62774, 62803, 62832,\n 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, 63099, 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, 63393, 63423,\n 63453, 63482, 63512, 63541, 63571, 63600, 63630, 63659, 63689, 63718, 63747, 63777, 63807, 63836, 63866, 63895, 63925, 63955, 63984, 64014,\n 64043, 64073, 64102, 64131, 64161, 64190, 64220, 64249, 64279, 64309, 64339, 64368, 64398, 64427, 64457, 64486, 64515, 64545, 64574, 64603,\n 64633, 64663, 64692, 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, 64987, 65017, 65047, 65076, 65106, 65136, 65166, 65195,\n 65225, 65254, 65283, 65313, 65342, 65371, 65401, 65431, 65460, 65490, 65520, 65549, 65579, 65608, 65638, 65667, 65697, 65726, 65755, 65785,\n 65815, 65844, 65874, 65903, 65933, 65963, 65992, 66022, 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, 66287, 66317, 66346, 66376,\n 66405, 66435, 66465, 66494, 66524, 66553, 66583, 66612, 66641, 66671, 66700, 66730, 66760, 66789, 66819, 66849, 66878, 66908, 66937, 66967,\n 66996, 67025, 67055, 67084, 67114, 67143, 67173, 67203, 67233, 67262, 67292, 67321, 67351, 67380, 67409, 67439, 67468, 67497, 67527, 67557,\n 67587, 67617, 67646, 67676, 67705, 67735, 67764, 67793, 67823, 67852, 67882, 67911, 67941, 67971, 68000, 68030, 68060, 68089, 68119, 68148,\n 68177, 68207, 68236, 68266, 68295, 68325, 68354, 68384, 68414, 68443, 68473, 68502, 68532, 68561, 68591, 68620, 68650, 68679, 68708, 68738,\n 68768, 68797, 68827, 68857, 68886, 68916, 68946, 68975, 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, 69270, 69300, 69330,\n 69359, 69388, 69418, 69447, 69476, 69506, 69535, 69565, 69595, 69624, 69654, 69684, 69713, 69743, 69772, 69802, 69831, 69861, 69890, 69919,\n 69949, 69978, 70008, 70038, 70067, 70097, 70126, 70156, 70186, 70215, 70245, 70274, 70303, 70333, 70362, 70392, 70421, 70451, 70481, 70510,\n 70540, 70570, 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, 70864, 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101,\n 71130, 71159, 71189, 71218, 71248, 71278, 71308, 71337, 71367, 71397, 71426, 71455, 71485, 71514, 71543, 71573, 71602, 71632, 71662, 71691,\n 71721, 71751, 71781, 71810, 71839, 71869, 71898, 71927, 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, 72194, 72223, 72253, 72282,\n 72311, 72341, 72370, 72400, 72429, 72459, 72489, 72518, 72548, 72577, 72607, 72637, 72666, 72695, 72725, 72754, 72784, 72813, 72843, 72872,\n 72902, 72931, 72961, 72991, 73020, 73050, 73080, 73109, 73139, 73168, 73197, 73227, 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464,\n 73493, 73523, 73552, 73581, 73611, 73640, 73669, 73699, 73729, 73758, 73788, 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, 74053,\n 74083, 74113, 74142, 74172, 74202, 74231, 74261, 74291, 74320, 74349, 74379, 74408, 74437, 74467, 74497, 74526, 74556, 74586, 74615, 74645,\n 74675, 74704, 74733, 74763, 74792, 74822, 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, 75117, 75147, 75176, 75206, 75235,\n 75264, 75294, 75323, 75353, 75383, 75412, 75442, 75472, 75501, 75531, 75560, 75590, 75619, 75648, 75678, 75707, 75737, 75766, 75796, 75826,\n 75856, 75885, 75915, 75944, 75974, 76003, 76032, 76062, 76091, 76121, 76150, 76180, 76210, 76239, 76269, 76299, 76328, 76358, 76387, 76416,\n 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, 76712, 76741, 76771, 76801, 76830, 76859, 76889, 76918, 76948, 76977, 77007,\n 77036, 77066, 77096, 77125, 77155, 77185, 77214, 77243, 77273, 77302, 77332, 77361, 77390, 77420, 77450, 77479, 77509, 77539, 77569, 77598,\n 77627, 77657, 77686, 77715, 77745, 77774, 77804, 77833, 77863, 77893, 77923, 77952, 77982, 78011, 78041, 78070, 78099, 78129, 78158, 78188,\n 78217, 78247, 78277, 78307, 78336, 78366, 78395, 78425, 78454, 78483, 78513, 78542, 78572, 78601, 78631, 78661, 78690, 78720, 78750, 78779,\n 78808, 78838, 78867, 78897, 78926, 78956, 78985, 79015, 79044, 79074, 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, 79340, 79369,\n 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, 79635, 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, 79900, 79930, 79960,\n 79990];\n\n\n\n/***/ }),\n\n/***/ \"7ad0\":\n/***/ (function(module, exports) {\n\nmodule.exports = perspective;\n\n/**\n * Generates a perspective projection matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\nfunction perspective(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf = 1 / (near - far);\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = (2 * far * near) * nf;\n out[15] = 0;\n return out;\n};\n\n/***/ }),\n\n/***/ \"7ae4\":\n/***/ (function(module, exports) {\n\nmodule.exports = lerp\n\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @param {Number} t interpolation amount between the two inputs\n * @returns {vec4} out\n */\nfunction lerp (out, a, b, t) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3]\n out[0] = ax + t * (b[0] - ax)\n out[1] = ay + t * (b[1] - ay)\n out[2] = az + t * (b[2] - az)\n out[3] = aw + t * (b[3] - aw)\n return out\n}\n\n\n/***/ }),\n\n/***/ \"7b0b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(\"1d80\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ \"7b1c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * @module update-diff\r\n */\r\n\r\n\r\n\r\nmodule.exports = function updateDiff (obj, diff, mappers) {\r\n\tif (!Array.isArray(mappers)) mappers = [].slice.call(arguments, 2)\r\n\r\n\tfor (var i = 0, l = mappers.length; i < l; i++) {\r\n\t\tvar dict = mappers[i]\r\n\t\tfor (var prop in dict) {\r\n\t\t\tif (diff[prop] !== undefined && !Array.isArray(diff[prop]) && obj[prop] === diff[prop]) continue\r\n\r\n\t\t\tif (prop in diff) {\r\n\t\t\t\tvar result\r\n\r\n\t\t\t\tif (dict[prop] === true) result = diff[prop]\r\n\t\t\t\telse if (dict[prop] === false) continue\r\n\t\t\t\telse if (typeof dict[prop] === 'function') {\r\n\t\t\t\t\tresult = dict[prop](diff[prop], obj, diff)\r\n\t\t\t\t\tif (result === undefined) continue\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobj[prop] = result\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn obj\r\n}\r\n\n\n/***/ }),\n\n/***/ \"7ba3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n sunburstcolorway: {\n valType: 'colorlist',\n \n editType: 'calc',\n \n },\n extendsunburstcolors: {\n valType: 'boolean',\n dflt: true,\n \n editType: 'calc',\n \n }\n};\n\n\n/***/ }),\n\n/***/ \"7bb3\":\n/***/ (function(module, exports) {\n\nmodule.exports = dot\n\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {vec4} a the first operand\n * @param {vec4} b the second operand\n * @returns {Number} dot product of a and b\n */\nfunction dot (a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]\n}\n\n\n/***/ }),\n\n/***/ \"7bbc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = alphaComplex\n\nvar delaunay = __webpack_require__(\"2357\")\nvar circumradius = __webpack_require__(\"8662\")\n\nfunction alphaComplex(alpha, points) {\n return delaunay(points).filter(function(cell) {\n var simplex = new Array(cell.length)\n for(var i=0; i 0.999) h = 0.999; // TODO: may handle this case separately\n var h2 = Math.pow(h, 2);\n\n var v1 = cd0.vTotal;\n var v0 = v1 * h2 / (1 - h2);\n\n var totalValues = v1;\n var sumSteps = v0 / v1;\n\n function calcPos() {\n var q = Math.sqrt(sumSteps);\n return {\n x: q,\n y: -q\n };\n }\n\n function getPoint() {\n var pos = calcPos();\n return [pos.x, pos.y];\n }\n\n var p;\n var allPoints = [];\n allPoints.push(getPoint());\n\n var i, cdi;\n for(i = cd.length - 1; i > -1; i--) {\n cdi = cd[i];\n if(cdi.hidden) continue;\n\n var step = cdi.v / totalValues;\n sumSteps += step;\n\n allPoints.push(getPoint());\n }\n\n var minY = Infinity;\n var maxY = -Infinity;\n for(i = 0; i < allPoints.length; i++) {\n p = allPoints[i];\n minY = Math.min(minY, p[1]);\n maxY = Math.max(maxY, p[1]);\n }\n\n // center the shape\n for(i = 0; i < allPoints.length; i++) {\n allPoints[i][1] -= (maxY + minY) / 2;\n }\n\n var lastX = allPoints[allPoints.length - 1][0];\n\n // get pie r\n var r = cd0.r;\n\n var rY = (maxY - minY) / 2;\n var scaleX = r / lastX;\n var scaleY = r / rY * aspectratio;\n\n // set funnelarea r\n cd0.r = scaleY * rY;\n\n // scale the shape\n for(i = 0; i < allPoints.length; i++) {\n allPoints[i][0] *= scaleX;\n allPoints[i][1] *= scaleY;\n }\n\n // record first position\n p = allPoints[0];\n var prevLeft = [-p[0], p[1]];\n var prevRight = [p[0], p[1]];\n\n var n = 0; // note we skip the very first point.\n for(i = cd.length - 1; i > -1; i--) {\n cdi = cd[i];\n if(cdi.hidden) continue;\n\n n += 1;\n var x = allPoints[n][0];\n var y = allPoints[n][1];\n\n cdi.TL = [-x, y];\n cdi.TR = [x, y];\n\n cdi.BL = prevLeft;\n cdi.BR = prevRight;\n\n cdi.pxmid = getBetween(cdi.TR, cdi.BR);\n\n prevLeft = cdi.TL;\n prevRight = cdi.TR;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7c4a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __webpack_require__(\"ff55\")() ? globalThis : __webpack_require__(\"c2c0\");\n\n\n/***/ }),\n\n/***/ \"7c67\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = permutationSign\n\nvar BRUTE_FORCE_CUTOFF = 32\n\nvar pool = __webpack_require__(\"cea5\")\n\nfunction permutationSign(p) {\n var n = p.length\n if(n < BRUTE_FORCE_CUTOFF) {\n //Use quadratic algorithm for small n\n var sgn = 1\n for(var i=0; i 7) {\n\t\t\t\t\tresult.push(seg.splice(0, 7))\n\t\t\t\t\tseg.unshift('C')\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'S':\n\t\t\t\t// default control point\n\t\t\t\tvar cx = x\n\t\t\t\tvar cy = y\n\t\t\t\tif (prev == 'C' || prev == 'S') {\n\t\t\t\t\tcx += cx - bezierX // reflect the previous command's control\n\t\t\t\t\tcy += cy - bezierY // point relative to the current point\n\t\t\t\t}\n\t\t\t\tseg = ['C', cx, cy, seg[1], seg[2], seg[3], seg[4]]\n\t\t\t\tbreak\n\t\t\tcase 'T':\n\t\t\t\tif (prev == 'Q' || prev == 'T') {\n\t\t\t\t\tquadX = x * 2 - quadX // as with 'S' reflect previous control point\n\t\t\t\t\tquadY = y * 2 - quadY\n\t\t\t\t} else {\n\t\t\t\t\tquadX = x\n\t\t\t\t\tquadY = y\n\t\t\t\t}\n\t\t\t\tseg = quadratic(x, y, quadX, quadY, seg[1], seg[2])\n\t\t\t\tbreak\n\t\t\tcase 'Q':\n\t\t\t\tquadX = seg[1]\n\t\t\t\tquadY = seg[2]\n\t\t\t\tseg = quadratic(x, y, seg[1], seg[2], seg[3], seg[4])\n\t\t\t\tbreak\n\t\t\tcase 'L':\n\t\t\t\tseg = line(x, y, seg[1], seg[2])\n\t\t\t\tbreak\n\t\t\tcase 'H':\n\t\t\t\tseg = line(x, y, seg[1], y)\n\t\t\t\tbreak\n\t\t\tcase 'V':\n\t\t\t\tseg = line(x, y, x, seg[1])\n\t\t\t\tbreak\n\t\t\tcase 'Z':\n\t\t\t\tseg = line(x, y, startX, startY)\n\t\t\t\tbreak\n\t\t}\n\n\t\t// update state\n\t\tprev = command\n\t\tx = seg[seg.length - 2]\n\t\ty = seg[seg.length - 1]\n\t\tif (seg.length > 4) {\n\t\t\tbezierX = seg[seg.length - 4]\n\t\t\tbezierY = seg[seg.length - 3]\n\t\t} else {\n\t\t\tbezierX = x\n\t\t\tbezierY = y\n\t\t}\n\t\tresult.push(seg)\n\t}\n\n\treturn result\n}\n\nfunction line(x1, y1, x2, y2){\n\treturn ['C', x1, y1, x2, y2, x2, y2]\n}\n\nfunction quadratic(x1, y1, cx, cy, x2, y2){\n\treturn [\n\t\t'C',\n\t\tx1/3 + (2/3) * cx,\n\t\ty1/3 + (2/3) * cy,\n\t\tx2/3 + (2/3) * cx,\n\t\ty2/3 + (2/3) * cy,\n\t\tx2,\n\t\ty2\n\t]\n}\n\n// This function is ripped from \n// github.com/DmitryBaranovskiy/raphael/blob/4d97d4/raphael.js#L2216-L2304 \n// which references w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n// TODO: make it human readable\n\nfunction arc(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n\tif (!recursive) {\n\t\tvar xy = rotate(x1, y1, -angle)\n\t\tx1 = xy.x\n\t\ty1 = xy.y\n\t\txy = rotate(x2, y2, -angle)\n\t\tx2 = xy.x\n\t\ty2 = xy.y\n\t\tvar x = (x1 - x2) / 2\n\t\tvar y = (y1 - y2) / 2\n\t\tvar h = (x * x) / (rx * rx) + (y * y) / (ry * ry)\n\t\tif (h > 1) {\n\t\t\th = Math.sqrt(h)\n\t\t\trx = h * rx\n\t\t\try = h * ry\n\t\t}\n\t\tvar rx2 = rx * rx\n\t\tvar ry2 = ry * ry\n\t\tvar k = (large_arc_flag == sweep_flag ? -1 : 1)\n\t\t\t* Math.sqrt(Math.abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x)))\n\t\tif (k == Infinity) k = 1 // neutralize\n\t\tvar cx = k * rx * y / ry + (x1 + x2) / 2\n\t\tvar cy = k * -ry * x / rx + (y1 + y2) / 2\n\t\tvar f1 = Math.asin(((y1 - cy) / ry).toFixed(9))\n\t\tvar f2 = Math.asin(((y2 - cy) / ry).toFixed(9))\n\n\t\tf1 = x1 < cx ? π - f1 : f1\n\t\tf2 = x2 < cx ? π - f2 : f2\n\t\tif (f1 < 0) f1 = π * 2 + f1\n\t\tif (f2 < 0) f2 = π * 2 + f2\n\t\tif (sweep_flag && f1 > f2) f1 = f1 - π * 2\n\t\tif (!sweep_flag && f2 > f1) f2 = f2 - π * 2\n\t} else {\n\t\tf1 = recursive[0]\n\t\tf2 = recursive[1]\n\t\tcx = recursive[2]\n\t\tcy = recursive[3]\n\t}\n\t// greater than 120 degrees requires multiple segments\n\tif (Math.abs(f2 - f1) > _120) {\n\t\tvar f2old = f2\n\t\tvar x2old = x2\n\t\tvar y2old = y2\n\t\tf2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1)\n\t\tx2 = cx + rx * Math.cos(f2)\n\t\ty2 = cy + ry * Math.sin(f2)\n\t\tvar res = arc(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy])\n\t}\n\tvar t = Math.tan((f2 - f1) / 4)\n\tvar hx = 4 / 3 * rx * t\n\tvar hy = 4 / 3 * ry * t\n\tvar curve = [\n\t\t2 * x1 - (x1 + hx * Math.sin(f1)),\n\t\t2 * y1 - (y1 - hy * Math.cos(f1)),\n\t\tx2 + hx * Math.sin(f2),\n\t\ty2 - hy * Math.cos(f2),\n\t\tx2,\n\t\ty2\n\t]\n\tif (recursive) return curve\n\tif (res) curve = curve.concat(res)\n\tfor (var i = 0; i < curve.length;) {\n\t\tvar rot = rotate(curve[i], curve[i+1], angle)\n\t\tcurve[i++] = rot.x\n\t\tcurve[i++] = rot.y\n\t}\n\treturn curve\n}\n\nfunction rotate(x, y, rad){\n\treturn {\n\t\tx: x * Math.cos(rad) - y * Math.sin(rad),\n\t\ty: x * Math.sin(rad) + y * Math.cos(rad)\n\t}\n}\n\nfunction radians(degress){\n\treturn degress * (π / 180)\n}\n\n\n/***/ }),\n\n/***/ \"7c73\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"825a\");\nvar defineProperties = __webpack_require__(\"37e8\");\nvar enumBugKeys = __webpack_require__(\"7839\");\nvar hiddenKeys = __webpack_require__(\"d012\");\nvar html = __webpack_require__(\"1be4\");\nvar documentCreateElement = __webpack_require__(\"cc12\");\nvar sharedKey = __webpack_require__(\"f772\");\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"7c9f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n moduleType: 'component',\n name: 'images',\n\n layoutAttributes: __webpack_require__(\"d72e\"),\n supplyLayoutDefaults: __webpack_require__(\"4b6a\"),\n includeBasePlot: __webpack_require__(\"37d1\")('images'),\n\n draw: __webpack_require__(\"ff49\"),\n\n convertCoords: __webpack_require__(\"6174\")\n};\n\n\n/***/ }),\n\n/***/ \"7d72\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Exports true if environment provides native `WeakMap` implementation, whatever that is.\n\n\n\nmodule.exports = (function () {\n\tif (typeof WeakMap !== \"function\") return false;\n\treturn Object.prototype.toString.call(new WeakMap()) === \"[object WeakMap]\";\n}());\n\n\n/***/ }),\n\n/***/ \"7d88\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar safeToString = __webpack_require__(\"1e0a\");\n\nvar reNewLine = /[\\n\\r\\u2028\\u2029]/g;\n\nmodule.exports = function (value) {\n\tvar string = safeToString(value);\n\tif (string === null) return \"\";\n\t// Trim if too long\n\tif (string.length > 100) string = string.slice(0, 99) + \"…\";\n\t// Replace eventual new lines\n\tstring = string.replace(reNewLine, function (char) {\n\t\tswitch (char) {\n\t\t\tcase \"\\n\":\n\t\t\t\treturn \"\\\\n\";\n\t\t\tcase \"\\r\":\n\t\t\t\treturn \"\\\\r\";\n\t\t\tcase \"\\u2028\":\n\t\t\t\treturn \"\\\\u2028\";\n\t\t\tcase \"\\u2029\":\n\t\t\t\treturn \"\\\\u2029\";\n\t\t\t/* istanbul ignore next */\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unexpected character\");\n\t\t}\n\t});\n\treturn string;\n};\n\n\n/***/ }),\n\n/***/ \"7dbb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n(function(aa,ia){ true?module.exports=ia():undefined})(this,function(){function aa(a,b){this.id=Ab++;this.type=a;this.data=b}function ia(a){if(0===a.length)return[];var b=a.charAt(0),c=a.charAt(a.length-1);if(1>>=b;c=(255>>=c;b|=c;c=(15>>=c;b|=c;c=(3>>c>>1}function cb(){function a(a){a:{for(var b=16;268435456>=b;b*=16)if(a<=b){a=b;break a}a=0}b=c[bb(a)>>2];return 0>2].push(a)}var c=J(8,function(){return[]});return{alloc:a,free:b,allocType:function(b,c){var d=null;switch(b){case 5120:d=new Int8Array(a(c),0,c);break;case 5121:d=new Uint8Array(a(c),0,c);break;case 5122:d=new Int16Array(a(2*c),0,c);break;case 5123:d=new Uint16Array(a(2*c),0,c);break;case 5124:d=new Int32Array(a(4*c),0,c);break;case 5125:d=new Uint32Array(a(4*c),0,c);break;case 5126:d=new Float32Array(a(4*c),0,c);break;default:return null}return d.length!==\nc?d.subarray(0,c):d},freeType:function(a){b(a.buffer)}}}function ma(a){return!!a&&\"object\"===typeof a&&Array.isArray(a.shape)&&Array.isArray(a.stride)&&\"number\"===typeof a.offset&&a.shape.length===a.stride.length&&(Array.isArray(a.data)||M(a.data))}function db(a,b,c,e,g,d){for(var p=0;pd&&(d=e.buffer.byteLength,5123===f?d>>=1:5125===f&&(d>>=2));e.vertCount=d;d=h;0>h&&(d=4,h=e.buffer.dimension,1===h&&(d=0),2===h&&(d=1),3===h&&(d=4));e.primType=d}function p(a){e.elementsCount--;delete f[a.id];a.buffer.destroy();a.buffer=null}var f={},r=0,q={uint8:5121,\nuint16:5123};b.oes_element_index_uint&&(q.uint32=5125);g.prototype.bind=function(){this.buffer.bind()};var t=[];return{create:function(a,b){function k(a){if(a)if(\"number\"===typeof a)h(a),l.primType=4,l.vertCount=a|0,l.type=5121;else{var b=null,c=35044,e=-1,g=-1,f=0,m=0;if(Array.isArray(a)||M(a)||ma(a))b=a;else if(\"data\"in a&&(b=a.data),\"usage\"in a&&(c=jb[a.usage]),\"primitive\"in a&&(e=Sa[a.primitive]),\"count\"in a&&(g=a.count|0),\"type\"in a&&(m=q[a.type]),\"length\"in a)f=a.length|0;else if(f=g,5123===\nm||5122===m)f*=2;else if(5125===m||5124===m)f*=4;d(l,b,c,e,g,f,m)}else h(),l.primType=4,l.vertCount=0,l.type=5121;return k}var h=c.create(null,34963,!0),l=new g(h._buffer);e.elementsCount++;k(a);k._reglType=\"elements\";k._elements=l;k.subdata=function(a,b){h.subdata(a,b);return k};k.destroy=function(){p(l)};return k},createStream:function(a){var b=t.pop();b||(b=new g(c.create(null,34963,!0,!1)._buffer));d(b,a,35040,-1,-1,0,0);return b},destroyStream:function(a){t.push(a)},getElements:function(a){return\"function\"===\ntypeof a&&a._elements instanceof g?a._elements:null},clear:function(){S(f).forEach(p)}}}function kb(a){for(var b=x.allocType(5123,a.length),c=0;c>>31<<15,d=(e<<1>>>24)-127,e=e>>13&1023;b[c]=-24>d?g:-14>d?g+(e+1024>>-14-d):15>=e,c.height>>=e,C(c,d[e]),a.mipmask|=1<b;++b)a.images[b]=null;return a}function ib(a){for(var b=a.images,c=0;cb){for(var c=0;c=--this.refCount&&A(this)}});p.profile&&(d.getTotalTextureSize=function(){var a=0;Object.keys(X).forEach(function(b){a+=X[b].stats.size});return a});return{create2D:function(b,c){function e(a,b){var c=f.texInfo;z.call(c);var d=D();\"number\"===typeof a?\"number\"===typeof b?\nv(d,a|0,b|0):v(d,a|0,a|0):a?(O(c,a),N(d,a)):v(d,1,1);c.genMipmaps&&(d.mipmask=(d.width<<1)-1);f.mipmask=d.mipmask;r(f,d);f.internalformat=d.internalformat;e.width=d.width;e.height=d.height;T(f);B(d,3553);R(c,3553);Aa();ib(d);p.profile&&(f.stats.size=Ja(f.internalformat,f.type,d.width,d.height,c.genMipmaps,!1));e.format=J[f.internalformat];e.type=da[f.type];e.mag=oa[c.magFilter];e.min=za[c.minFilter];e.wrapS=ka[c.wrapS];e.wrapT=ka[c.wrapT];return e}var f=new F(3553);X[f.id]=f;d.textureCount++;e(b,\nc);e.subimage=function(a,b,c,d){b|=0;c|=0;d|=0;var n=h();r(n,f);n.width=0;n.height=0;C(n,a);n.width=n.width||(f.width>>d)-b;n.height=n.height||(f.height>>d)-c;T(f);k(n,3553,b,c,d);Aa();l(n);return e};e.resize=function(b,c){var d=b|0,h=c|0||d;if(d===f.width&&h===f.height)return e;e.width=f.width=d;e.height=f.height=h;T(f);for(var n,w=f.channels,y=f.type,I=0;f.mipmask>>I;++I){var fa=d>>I,ga=h>>I;if(!fa||!ga)break;n=x.zero.allocType(y,fa*ga*w);a.texImage2D(3553,I,f.format,fa,ga,0,f.format,f.type,n);\nn&&x.zero.freeType(n)}Aa();p.profile&&(f.stats.size=Ja(f.internalformat,f.type,d,h,!1,!1));return e};e._reglType=\"texture2d\";e._texture=f;p.profile&&(e.stats=f.stats);e.destroy=function(){f.decRef()};return e},createCube:function(b,c,e,f,g,ua){function A(a,b,c,d,e,f){var H,Y=m.texInfo;z.call(Y);for(H=0;6>H;++H)n[H]=D();if(\"number\"===typeof a||!a)for(a=a|0||1,H=0;6>H;++H)v(n[H],a,a);else if(\"object\"===typeof a)if(b)N(n[0],a),N(n[1],b),N(n[2],c),N(n[3],d),N(n[4],e),N(n[5],f);else if(O(Y,a),q(m,a),\"faces\"in\na)for(a=a.faces,H=0;6>H;++H)r(n[H],m),N(n[H],a[H]);else for(H=0;6>H;++H)N(n[H],a);r(m,n[0]);m.mipmask=Y.genMipmaps?(n[0].width<<1)-1:n[0].mipmask;m.internalformat=n[0].internalformat;A.width=n[0].width;A.height=n[0].height;T(m);for(H=0;6>H;++H)B(n[H],34069+H);R(Y,34067);Aa();p.profile&&(m.stats.size=Ja(m.internalformat,m.type,A.width,A.height,Y.genMipmaps,!0));A.format=J[m.internalformat];A.type=da[m.type];A.mag=oa[Y.magFilter];A.min=za[Y.minFilter];A.wrapS=ka[Y.wrapS];A.wrapT=ka[Y.wrapT];for(H=0;6>\nH;++H)ib(n[H]);return A}var m=new F(34067);X[m.id]=m;d.cubeCount++;var n=Array(6);A(b,c,e,f,g,ua);A.subimage=function(a,b,c,n,d){c|=0;n|=0;d|=0;var e=h();r(e,m);e.width=0;e.height=0;C(e,b);e.width=e.width||(m.width>>d)-c;e.height=e.height||(m.height>>d)-n;T(m);k(e,34069+a,c,n,d);Aa();l(e);return A};A.resize=function(b){b|=0;if(b!==m.width){A.width=m.width=b;A.height=m.height=b;T(m);for(var c=0;6>c;++c)for(var n=0;m.mipmask>>n;++n)a.texImage2D(34069+c,n,m.format,b>>n,b>>n,0,m.format,m.type,null);Aa();\np.profile&&(m.stats.size=Ja(m.internalformat,m.type,A.width,A.height,!1,!0));return A}};A._reglType=\"textureCube\";A._texture=m;p.profile&&(A.stats=m.stats);A.destroy=function(){m.decRef()};return A},clear:function(){for(var b=0;bc;++c)if(0!==(b.mipmask&1<>c,b.height>>c,0,b.internalformat,b.type,null);else for(var d=0;6>d;++d)a.texImage2D(34069+d,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,null);R(b.texInfo,b.target)})}}}function Ob(a,b,c,e,g,d){function p(a,b,c){this.target=a;this.texture=b;this.renderbuffer=c;var d=a=0;b?(a=b.width,d=b.height):c&&(a=c.width,d=c.height);\nthis.width=a;this.height=d}function f(a){a&&(a.texture&&a.texture._texture.decRef(),a.renderbuffer&&a.renderbuffer._renderbuffer.decRef())}function r(a,b,c){a&&(a.texture?a.texture._texture.refCount+=1:a.renderbuffer._renderbuffer.refCount+=1)}function q(b,c){c&&(c.texture?a.framebufferTexture2D(36160,b,c.target,c.texture._texture.texture,0):a.framebufferRenderbuffer(36160,b,36161,c.renderbuffer._renderbuffer.renderbuffer))}function t(a){var b=3553,c=null,d=null,e=a;\"object\"===typeof a&&(e=a.data,\n\"target\"in a&&(b=a.target|0));a=e._reglType;\"texture2d\"===a?c=e:\"textureCube\"===a?c=e:\"renderbuffer\"===a&&(d=e,b=36161);return new p(b,c,d)}function m(a,b,c,d,f){if(c)return a=e.create2D({width:a,height:b,format:d,type:f}),a._texture.refCount=0,new p(3553,a,null);a=g.create({width:a,height:b,format:d});a._renderbuffer.refCount=0;return new p(36161,null,a)}function C(a){return a&&(a.texture||a.renderbuffer)}function k(a,b,c){a&&(a.texture?a.texture.resize(b,c):a.renderbuffer&&a.renderbuffer.resize(b,\nc),a.width=b,a.height=c)}function h(){this.id=O++;R[this.id]=this;this.framebuffer=a.createFramebuffer();this.height=this.width=0;this.colorAttachments=[];this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function l(a){a.colorAttachments.forEach(f);f(a.depthAttachment);f(a.stencilAttachment);f(a.depthStencilAttachment)}function u(b){a.deleteFramebuffer(b.framebuffer);b.framebuffer=null;d.framebufferCount--;delete R[b.id]}function v(b){var d;a.bindFramebuffer(36160,b.framebuffer);\nvar e=b.colorAttachments;for(d=0;dd;++d){for(m=0;ma;++a)c[a].resize(d);b.width=b.height=d;return b},_reglType:\"framebufferCube\",destroy:function(){c.forEach(function(a){a.destroy()})}})},\nclear:function(){S(R).forEach(u)},restore:function(){B.cur=null;B.next=null;B.dirty=!0;S(R).forEach(function(b){b.framebuffer=a.createFramebuffer();v(b)})}})}function ub(){this.w=this.z=this.y=this.x=this.state=0;this.buffer=null;this.size=0;this.normalized=!1;this.type=5126;this.divisor=this.stride=this.offset=0}function Pb(a,b,c,e){a=c.maxAttributes;b=Array(a);for(c=0;ca&&(a=b.stats.uniformsCount)});return a},c.getMaxAttributesCount=function(){var a=0;C.forEach(function(b){b.stats.attributesCount>a&&(a=b.stats.attributesCount)});return a});return{clear:function(){var b=a.deleteShader.bind(a);S(q).forEach(b);q={};S(t).forEach(b);t={};C.forEach(function(b){a.deleteProgram(b.program)});\nC.length=0;m={};c.shaderCount=0},program:function(a,b,d){var e=m[b];e||(e=m[b]={});var g=e[a];g||(g=new f(b,a),c.shaderCount++,r(g,d),e[a]=g,C.push(g));return g},restore:function(){q={};t={};for(var a=0;a\"+b+\"?\"+e+\".constant[\"+b+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",g,\"(\",e,\".buffer)){\",y,\"=\",n,\".createStream(\",34962,\",\",e,\".buffer);\",\"}else{\",y,\"=\",n,\".getBuffer(\",e,\".buffer);\",\"}\",k,'=\"type\" in ',e,\"?\",f.glTypes,\"[\",e,\".type]:\",y,\".dtype;\",\nw.normalized,\"=!!\",e,\".normalized;\");d(\"size\");d(\"offset\");d(\"stride\");d(\"divisor\");c(\"}}\");c.exit(\"if(\",w.isStream,\"){\",n,\".destroyStream(\",y,\");\",\"}\");return w})});return f}function M(a){var b=a[\"static\"],c=a.dynamic,d={};Object.keys(b).forEach(function(a){var c=b[a];d[a]=D(function(a,b){return\"number\"===typeof c||\"boolean\"===typeof c?\"\"+c:a.link(c)})});Object.keys(c).forEach(function(a){var b=c[a];d[a]=P(b,function(a,c){return a.invoke(c,b)})});return d}function A(a,b,c,d,e){var f=z(a,e),g=x(a,\nf,e),h=O(a,e),k=R(a,e),m=E(a,e),ba=g.viewport;ba&&(k.viewport=ba);ba=l(\"scissor.box\");(g=g[ba])&&(k[ba]=g);g=0>1)\",v],\");\")}function b(){c(u,\".drawArraysInstancedANGLE(\",[q,r,t,v],\");\")}p?da?a():(c(\"if(\",p,\"){\"),a(),c(\"}else{\"),b(),c(\"}\")):b()}function g(){function a(){c(k+\".drawElements(\"+[q,t,C,r+\"<<((\"+C+\"-5121)>>1)\"]+\");\")}function b(){c(k+\".drawArrays(\"+[q,r,t]+\");\")}p?da?a():(c(\"if(\",p,\"){\"),a(),c(\"}else{\"),b(),c(\"}\")):b()}var h=a.shared,k=h.gl,m=h.draw,l=d.draw,p=function(){var e=l.elements,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(m,\n\".\",\"elements\");e&&f(\"if(\"+e+\")\"+k+\".bindBuffer(34963,\"+e+\".buffer.buffer);\");return e}(),q=e(\"primitive\"),r=e(\"offset\"),t=function(){var e=l.count,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(m,\".\",\"count\");return e}();if(\"number\"===typeof t){if(0===t)return}else c(\"if(\",t,\"){\"),c.exit(\"}\");var v,u;ea&&(v=e(\"instances\"),u=a.instancing);var C=p+\".type\",da=l.elements&&va(l.elements);ea&&(\"number\"!==typeof v||0<=v)?\"string\"===typeof v?(c(\"if(\",v,\">0){\"),f(),\nc(\"}else if(\",v,\"<0){\"),g(),c(\"}\")):f():g()}function ca(a,b,c,d,e){b=N();e=b.proc(\"body\",e);ea&&(b.instancing=e.def(b.shared.extensions,\".angle_instanced_arrays\"));a(b,e,c,d);return b.compile().body}function L(a,b,c,d){wa(a,b);U(a,b,c,d.attributes,function(){return!0});W(a,b,c,d.uniforms,function(){return!0});S(a,b,b,c)}function da(a,b){var c=a.proc(\"draw\",1);wa(a,c);ua(a,c,b.context);K(a,c,b.framebuffer);V(a,c,b);Q(a,c,b.state);G(a,c,b,!1,!0);var d=b.shader.progVar.append(a,c);c(a.shared.gl,\".useProgram(\",\nd,\".program);\");if(b.shader.program)L(a,c,b,b.shader.program);else{var e=a.global.def(\"{}\"),f=c.def(d,\".id\"),g=c.def(e,\"[\",f,\"]\");c(a.cond(g).then(g,\".call(this,a0);\")[\"else\"](g,\"=\",e,\"[\",f,\"]=\",a.link(function(c){return ca(L,a,b,c,1)}),\"(\",d,\");\",g,\".call(this,a0);\"))}0=--this.refCount&&p(this)};g.profile&&(e.getTotalRenderbufferSize=function(){var a=0;Object.keys(t).forEach(function(b){a+=t[b].stats.size});return a});return{create:function(b,c){function k(b,c){var d=0,e=0,m=32854;\"object\"===typeof b&&b?(\"shape\"in b?(e=b.shape,d=e[0]|0,e=e[1]|0):(\"radius\"in b&&(d=e=b.radius|0),\"width\"in b&&(d=b.width|0),\"height\"in b&&(e=b.height|0)),\"format\"in b&&(m=f[b.format])):\"number\"===\ntypeof b?(d=b|0,e=\"number\"===typeof c?c|0:d):b||(d=e=1);if(d!==h.width||e!==h.height||m!==h.format)return k.width=h.width=d,k.height=h.height=e,h.format=m,a.bindRenderbuffer(36161,h.renderbuffer),a.renderbufferStorage(36161,m,d,e),g.profile&&(h.stats.size=Q[h.format]*h.width*h.height),k.format=r[h.format],k}var h=new d(a.createRenderbuffer());t[h.id]=h;e.renderbufferCount++;k(b,c);k.resize=function(b,c){var d=b|0,e=c|0||d;if(d===h.width&&e===h.height)return k;k.width=h.width=d;k.height=h.height=e;\na.bindRenderbuffer(36161,h.renderbuffer);a.renderbufferStorage(36161,h.format,d,e);g.profile&&(h.stats.size=Q[h.format]*h.width*h.height);return k};k._reglType=\"renderbuffer\";k._renderbuffer=h;g.profile&&(k.stats=h.stats);k.destroy=function(){h.decRef()};return k},clear:function(){S(t).forEach(p)},restore:function(){S(t).forEach(function(b){b.renderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,b.renderbuffer);a.renderbufferStorage(36161,b.format,b.width,b.height)});a.bindRenderbuffer(36161,\nnull)}}},Wa=[];Wa[6408]=4;Wa[6407]=3;var Na=[];Na[5121]=1;Na[5126]=4;Na[36193]=2;var Da=[\"x\",\"y\",\"z\",\"w\"],Ub=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),Ga={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\n\"one minus constant alpha\":32772,\"src alpha saturate\":776},Xa={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Pa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},wb={cw:2304,ccw:2305},xb=new Z(!1,!1,!1,function(){}),Xb=function(a,b){function c(){this.endQueryIndex=this.startQueryIndex=-1;this.sum=0;this.stats=\nnull}function e(a,b,d){var e=p.pop()||new c;e.startQueryIndex=a;e.endQueryIndex=b;e.sum=0;e.stats=d;f.push(e)}if(!b.ext_disjoint_timer_query)return null;var g=[],d=[],p=[],f=[],r=[],q=[];return{beginQuery:function(a){var c=g.pop()||b.ext_disjoint_timer_query.createQueryEXT();b.ext_disjoint_timer_query.beginQueryEXT(35007,c);d.push(c);e(d.length-1,d.length,a)},endQuery:function(){b.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:e,update:function(){var a,c;a=d.length;if(0!==a){q.length=\nMath.max(q.length,a+1);r.length=Math.max(r.length,a+1);r[0]=0;var e=q[0]=0;for(c=a=0;c=G.length&&e()}var c=yb(G,a);G[c]=b}}}function q(){var a=S.viewport,b=S.scissor_box;a[0]=a[1]=b[0]=b[1]=0;O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=a[2]=b[2]=k.drawingBufferWidth;O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=a[3]=b[3]=k.drawingBufferHeight}function t(){O.tick+=1;O.time=z();\nq();V.procs.poll()}function m(){q();V.procs.refresh();B&&B.update()}function z(){return(zb()-D)/1E3}a=Eb(a);if(!a)return null;var k=a.gl,h=k.getContextAttributes();k.isContextLost();var l=Fb(k,a);if(!l)return null;var u=Bb(),v={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},x=l.extensions,B=Xb(k,x),D=zb(),J=k.drawingBufferWidth,P=k.drawingBufferHeight,O={tick:0,time:0,viewportWidth:J,viewportHeight:P,framebufferWidth:J,\nframebufferHeight:P,drawingBufferWidth:J,drawingBufferHeight:P,pixelRatio:a.pixelRatio},R=Vb(k,x),J=Pb(k,x,R,u),F=Gb(k,v,a,J),T=Hb(k,x,F,v),Q=Qb(k,u,v,a),A=Kb(k,x,R,function(){V.procs.poll()},O,v,a),M=Wb(k,x,R,v,a),K=Ob(k,x,R,A,M,v),V=Tb(k,u,x,R,F,T,A,K,{},J,Q,{elements:null,primitive:4,count:-1,offset:0,instances:-1},O,B,a),u=Rb(k,K,V.procs.poll,O,h,x,R),S=V.next,L=k.canvas,G=[],U=[],W=[],Z=[a.onDestroy],ca=null;L&&(L.addEventListener(\"webglcontextlost\",g,!1),L.addEventListener(\"webglcontextrestored\",\nd,!1));var aa=K.setFBO=p({framebuffer:la.define.call(null,1,\"framebuffer\")});m();h=E(p,{clear:function(a){if(\"framebuffer\"in a)if(a.framebuffer&&\"framebufferCube\"===a.framebuffer_reglType)for(var b=0;6>b;++b)aa(E({framebuffer:a.framebuffer.faces[b]},a),f);else aa(a,f);else f(null,a)},prop:la.define.bind(null,1),context:la.define.bind(null,2),\"this\":la.define.bind(null,3),draw:p({}),buffer:function(a){return F.create(a,34962,!1,!1)},elements:function(a){return T.create(a,!1)},texture:A.create2D,cube:A.createCube,\nrenderbuffer:M.create,framebuffer:K.create,framebufferCube:K.createCube,attributes:h,frame:r,on:function(a,b){var c;switch(a){case \"frame\":return r(b);case \"lost\":c=U;break;case \"restore\":c=W;break;case \"destroy\":c=Z}c.push(b);return{cancel:function(){for(var a=0;a cache.ts + minInterval) {\n exec();\n return;\n }\n\n cache.timer = setTimeout(function() {\n exec();\n cache.timer = null;\n }, minInterval);\n};\n\nexports.done = function(id) {\n var cache = timerCache[id];\n if(!cache || !cache.timer) return Promise.resolve();\n\n return new Promise(function(resolve) {\n var previousOnDone = cache.onDone;\n cache.onDone = function onDone() {\n if(previousOnDone) previousOnDone();\n resolve();\n cache.onDone = null;\n };\n });\n};\n\n/**\n * Clear the throttle cache for one or all timers\n * @param {optional string} id:\n * if provided, clear just this timer\n * if omitted, clear all timers (mainly useful for testing)\n */\nexports.clear = function(id) {\n if(id) {\n _clearTimeout(timerCache[id]);\n delete timerCache[id];\n } else {\n for(var idi in timerCache) exports.clear(idi);\n }\n};\n\nfunction _clearTimeout(cache) {\n if(cache && cache.timer !== null) {\n clearTimeout(cache.timer);\n cache.timer = null;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7e25\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\n\n/***/ }),\n\n/***/ \"7e55\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar tarjan = __webpack_require__(\"53cc\");\n\nmodule.exports = function findCircuits(edges) {\n var circuits = []; // Output\n\n var stack = [];\n var blocked = [];\n var B = {};\n var Ak = [];\n var s;\n\n function unblock(u) {\n blocked[u] = false;\n if(B.hasOwnProperty(u)) {\n Object.keys(B[u]).forEach(function(w) {\n delete B[u][w];\n if(blocked[w]) {unblock(w);}\n });\n }\n }\n\n function circuit(v) {\n var found = false;\n\n stack.push(v);\n blocked[v] = true;\n\n // L1\n var i;\n var w;\n for(i = 0; i < Ak[v].length; i++) {\n w = Ak[v][i];\n if(w === s) {\n output(s, stack);\n found = true;\n } else if(!blocked[w]) {\n found = circuit(w);\n }\n }\n\n // L2\n if(found) {\n unblock(v);\n } else {\n for(i = 0; i < Ak[v].length; i++) {\n w = Ak[v][i];\n var entry = B[w];\n\n if(!entry) {\n entry = {};\n B[w] = entry;\n }\n\n entry[w] = true;\n }\n }\n stack.pop();\n return found;\n }\n\n function output(start, stack) {\n var cycle = [].concat(stack).concat(start);\n circuits.push(cycle);\n }\n\n function subgraph(minId) {\n // Remove edges with indice smaller than minId\n for(var i = 0; i < edges.length; i++) {\n if(i < minId) edges[i] = [];\n edges[i] = edges[i].filter(function(i) {\n return i >= minId;\n });\n }\n }\n\n function adjacencyStructureSCC(from) {\n // Make subgraph starting from vertex minId\n subgraph(from);\n var g = edges;\n\n // Find strongly connected components using Tarjan algorithm\n var sccs = tarjan(g);\n\n // Filter out trivial connected components (ie. made of one node)\n var ccs = sccs.components.filter(function(scc) {\n return scc.length > 1;\n });\n\n // Find least vertex\n var leastVertex = Infinity;\n var leastVertexComponent;\n for(var i = 0; i < ccs.length; i++) {\n for(var j = 0; j < ccs[i].length; j++) {\n if(ccs[i][j] < leastVertex) {\n leastVertex = ccs[i][j];\n leastVertexComponent = i;\n }\n }\n }\n\n var cc = ccs[leastVertexComponent];\n\n if(!cc) return false;\n\n // Return the adjacency list of first component\n var adjList = edges.map(function(l, index) {\n if(cc.indexOf(index) === -1) return [];\n return l.filter(function(i) {\n return cc.indexOf(i) !== -1;\n });\n });\n\n return {\n leastVertex: leastVertex,\n adjList: adjList\n };\n }\n\n s = 0;\n var n = edges.length;\n while(s < n) {\n // find strong component with least vertex in\n // subgraph starting from vertex `s`\n var p = adjacencyStructureSCC(s);\n\n // Its least vertex\n s = p.leastVertex;\n // Its adjacency list\n Ak = p.adjList;\n\n if(Ak) {\n for(var i = 0; i < Ak.length; i++) {\n for(var j = 0; j < Ak[i].length; j++) {\n var vertexId = Ak[i][j];\n blocked[+vertexId] = false;\n B[vertexId] = {};\n }\n }\n circuit(s);\n s = s + 1;\n } else {\n s = n;\n }\n\n }\n\n return circuits;\n};\n\n\n/***/ }),\n\n/***/ \"7e91\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = createAttributeWrapper\n\nvar GLError = __webpack_require__(\"a3fd\")\n\nfunction ShaderAttribute(\n gl\n , wrapper\n , index\n , locations\n , dimension\n , constFunc) {\n this._gl = gl\n this._wrapper = wrapper\n this._index = index\n this._locations = locations\n this._dimension = dimension\n this._constFunc = constFunc\n}\n\nvar proto = ShaderAttribute.prototype\n\nproto.pointer = function setAttribPointer(\n type\n , normalized\n , stride\n , offset) {\n\n var self = this\n var gl = self._gl\n var location = self._locations[self._index]\n\n gl.vertexAttribPointer(\n location\n , self._dimension\n , type || gl.FLOAT\n , !!normalized\n , stride || 0\n , offset || 0)\n gl.enableVertexAttribArray(location)\n}\n\nproto.set = function(x0, x1, x2, x3) {\n return this._constFunc(this._locations[this._index], x0, x1, x2, x3)\n}\n\nObject.defineProperty(proto, 'location', {\n get: function() {\n return this._locations[this._index]\n }\n , set: function(v) {\n if(v !== this._locations[this._index]) {\n this._locations[this._index] = v|0\n this._wrapper.program = null\n }\n return v|0\n }\n})\n\n//Adds a vector attribute to obj\nfunction addVectorAttribute(\n gl\n , wrapper\n , index\n , locations\n , dimension\n , obj\n , name) {\n\n //Construct constant function\n var constFuncArgs = [ 'gl', 'v' ]\n var varNames = []\n for(var i=0; i= 0) {\n var d = type.charCodeAt(type.length-1) - 48\n if(d < 2 || d > 4) {\n throw new GLError('', 'Invalid data type for attribute ' + name + ': ' + type)\n }\n addVectorAttribute(\n gl\n , wrapper\n , locs[0]\n , locations\n , d\n , obj\n , name)\n } else if(type.indexOf('mat') >= 0) {\n var d = type.charCodeAt(type.length-1) - 48\n if(d < 2 || d > 4) {\n throw new GLError('', 'Invalid data type for attribute ' + name + ': ' + type)\n }\n addMatrixAttribute(\n gl\n , wrapper\n , locs\n , locations\n , d\n , obj\n , name)\n } else {\n throw new GLError('', 'Unknown data type for attribute ' + name + ': ' + type)\n }\n break\n }\n }\n return obj\n}\n\n\n/***/ }),\n\n/***/ \"7e96\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\n\nmodule.exports = function formatLabels(cdi, trace, fullLayout) {\n var labels = {};\n\n var mockGd = {_fullLayout: fullLayout};\n var xa = Axes.getFromTrace(mockGd, trace, 'x');\n var ya = Axes.getFromTrace(mockGd, trace, 'y');\n\n labels.xLabel = Axes.tickText(xa, cdi.x, true).text;\n labels.yLabel = Axes.tickText(ya, cdi.y, true).text;\n\n return labels;\n};\n\n\n/***/ }),\n\n/***/ \"7eee\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar attributes = __webpack_require__(\"8c2d\");\n\nvar xyAttrs = {\n error_x: Lib.extendFlat({}, attributes),\n error_y: Lib.extendFlat({}, attributes)\n};\ndelete xyAttrs.error_x.copy_zstyle;\ndelete xyAttrs.error_y.copy_zstyle;\ndelete xyAttrs.error_y.copy_ystyle;\n\nvar xyzAttrs = {\n error_x: Lib.extendFlat({}, attributes),\n error_y: Lib.extendFlat({}, attributes),\n error_z: Lib.extendFlat({}, attributes)\n};\ndelete xyzAttrs.error_x.copy_ystyle;\ndelete xyzAttrs.error_y.copy_ystyle;\ndelete xyzAttrs.error_z.copy_ystyle;\ndelete xyzAttrs.error_z.copy_zstyle;\n\nmodule.exports = {\n moduleType: 'component',\n name: 'errorbars',\n\n schema: {\n traces: {\n scatter: xyAttrs,\n bar: xyAttrs,\n histogram: xyAttrs,\n scatter3d: overrideAll(xyzAttrs, 'calc', 'nested'),\n scattergl: overrideAll(xyAttrs, 'calc', 'nested')\n }\n },\n\n supplyDefaults: __webpack_require__(\"2015\"),\n\n calc: __webpack_require__(\"db3f\"),\n makeComputeError: __webpack_require__(\"3c31\"),\n\n plot: __webpack_require__(\"553a\"),\n style: __webpack_require__(\"afdd\"),\n hoverInfo: hoverInfo\n};\n\nfunction hoverInfo(calcPoint, trace, hoverPoint) {\n if((trace.error_y || {}).visible) {\n hoverPoint.yerr = calcPoint.yh - calcPoint.y;\n if(!trace.error_y.symmetric) hoverPoint.yerrneg = calcPoint.y - calcPoint.ys;\n }\n if((trace.error_x || {}).visible) {\n hoverPoint.xerr = calcPoint.xh - calcPoint.x;\n if(!trace.error_x.symmetric) hoverPoint.xerrneg = calcPoint.x - calcPoint.xs;\n }\n}\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @module color-rgba */\n\n\n\nvar parse = __webpack_require__(\"e7cb\")\nvar hsl = __webpack_require__(\"13c3\")\nvar clamp = __webpack_require__(\"53a5\")\n\nmodule.exports = function rgba (color) {\n\tvar values, i, l\n\n\t//attempt to parse non-array arguments\n\tvar parsed = parse(color)\n\n\tif (!parsed.space) return []\n\n\tvalues = Array(3)\n\tvalues[0] = clamp(parsed.values[0], 0, 255)\n\tvalues[1] = clamp(parsed.values[1], 0, 255)\n\tvalues[2] = clamp(parsed.values[2], 0, 255)\n\n\tif (parsed.space[0] === 'h') {\n\t\tvalues = hsl.rgb(values)\n\t}\n\n\tvalues.push(clamp(parsed.alpha, 0, 1))\n\n\treturn values\n}\n\n\n/***/ }),\n\n/***/ \"7f6b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ndarray = __webpack_require__(\"b5bb\")\nvar do_convert = __webpack_require__(\"c808\")\n\nmodule.exports = function convert(arr, result) {\n var shape = [], c = arr, sz = 1\n while(Array.isArray(c)) {\n shape.push(c.length)\n sz *= c.length\n c = c[0]\n }\n if(shape.length === 0) {\n return ndarray()\n }\n if(!result) {\n result = ndarray(new Float64Array(sz), shape)\n }\n do_convert(result, arr)\n return result\n}\n\n\n/***/ }),\n\n/***/ \"7f9a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"da84\");\nvar inspectSource = __webpack_require__(\"8925\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n\n/***/ }),\n\n/***/ \"7f9b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createShaderWrapper = __webpack_require__(\"28dd\")\nvar glslify = __webpack_require__(\"e98f\")\n\nvar perspectiveVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = 1.0;\\n if(distance(highlightId, id) < 0.0001) {\\n scale = highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1);\\n vec4 viewPosition = view * worldPosition;\\n viewPosition = viewPosition / viewPosition.w;\\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"])\nvar orthographicVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float scale = pixelRatio;\\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n scale *= highlightScale;\\n }\\n\\n vec4 worldPosition = model * vec4(position, 1.0);\\n vec4 viewPosition = view * worldPosition;\\n vec4 clipPosition = projection * viewPosition;\\n clipPosition /= clipPosition.w;\\n\\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = position;\\n }\\n}\"])\nvar projectionVertSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n gl_Position = vec4(0,0,0,0);\\n } else {\\n float lscale = pixelRatio * scale;\\n if(distance(highlightId, id) < 0.0001) {\\n lscale *= highlightScale;\\n }\\n\\n vec4 clipCenter = projection * view * model * vec4(position, 1);\\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n gl_Position = clipPosition;\\n interpColor = color;\\n pickId = id;\\n dataCoordinate = dataPosition;\\n }\\n}\\n\"])\nvar drawFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (\\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n interpColor.a * opacity == 0.\\n ) discard;\\n gl_FragColor = interpColor * opacity;\\n}\\n\"])\nvar pickFragSrc = glslify([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n return ((p > max(a, b)) || \\n (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n return (outOfRange(a.x, b.x, p.x) ||\\n outOfRange(a.y, b.y, p.y) ||\\n outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"])\n\nvar ATTRIBUTES = [\n {name: 'position', type: 'vec3'},\n {name: 'color', type: 'vec4'},\n {name: 'glyph', type: 'vec2'},\n {name: 'id', type: 'vec4'}\n]\n\nvar perspective = {\n vertex: perspectiveVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n ortho = {\n vertex: orthographicVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n project = {\n vertex: projectionVertSrc,\n fragment: drawFragSrc,\n attributes: ATTRIBUTES\n },\n pickPerspective = {\n vertex: perspectiveVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n },\n pickOrtho = {\n vertex: orthographicVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n },\n pickProject = {\n vertex: projectionVertSrc,\n fragment: pickFragSrc,\n attributes: ATTRIBUTES\n }\n\nfunction createShader(gl, src) {\n var shader = createShaderWrapper(gl, src)\n var attr = shader.attributes\n attr.position.location = 0\n attr.color.location = 1\n attr.glyph.location = 2\n attr.id.location = 3\n return shader\n}\n\nexports.createPerspective = function(gl) {\n return createShader(gl, perspective)\n}\nexports.createOrtho = function(gl) {\n return createShader(gl, ortho)\n}\nexports.createProject = function(gl) {\n return createShader(gl, project)\n}\nexports.createPickPerspective = function(gl) {\n return createShader(gl, pickPerspective)\n}\nexports.createPickOrtho = function(gl) {\n return createShader(gl, pickOrtho)\n}\nexports.createPickProject = function(gl) {\n return createShader(gl, pickProject)\n}\n\n\n/***/ }),\n\n/***/ \"7f9e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar binFunctions = __webpack_require__(\"6dcc\");\nvar normFunctions = __webpack_require__(\"c005\");\nvar doAvg = __webpack_require__(\"9547\");\nvar getBinSpanLabelRound = __webpack_require__(\"5913\");\nvar calcAllAutoBins = __webpack_require__(\"0c39\").calcAllAutoBins;\n\nmodule.exports = function calc(gd, trace) {\n var xa = Axes.getFromId(gd, trace.xaxis);\n var ya = Axes.getFromId(gd, trace.yaxis);\n\n var xcalendar = trace.xcalendar;\n var ycalendar = trace.ycalendar;\n var xr2c = function(v) { return xa.r2c(v, 0, xcalendar); };\n var yr2c = function(v) { return ya.r2c(v, 0, ycalendar); };\n var xc2r = function(v) { return xa.c2r(v, 0, xcalendar); };\n var yc2r = function(v) { return ya.c2r(v, 0, ycalendar); };\n\n var i, j, n, m;\n\n // calculate the bins\n var xBinsAndPos = calcAllAutoBins(gd, trace, xa, 'x');\n var xBinSpec = xBinsAndPos[0];\n var xPos0 = xBinsAndPos[1];\n var yBinsAndPos = calcAllAutoBins(gd, trace, ya, 'y');\n var yBinSpec = yBinsAndPos[0];\n var yPos0 = yBinsAndPos[1];\n\n var serieslen = trace._length;\n if(xPos0.length > serieslen) xPos0.splice(serieslen, xPos0.length - serieslen);\n if(yPos0.length > serieslen) yPos0.splice(serieslen, yPos0.length - serieslen);\n\n // make the empty bin array & scale the map\n var z = [];\n var onecol = [];\n var zerocol = [];\n var nonuniformBinsX = typeof xBinSpec.size === 'string';\n var nonuniformBinsY = typeof yBinSpec.size === 'string';\n var xEdges = [];\n var yEdges = [];\n var xbins = nonuniformBinsX ? xEdges : xBinSpec;\n var ybins = nonuniformBinsY ? yEdges : yBinSpec;\n var total = 0;\n var counts = [];\n var inputPoints = [];\n var norm = trace.histnorm;\n var func = trace.histfunc;\n var densitynorm = norm.indexOf('density') !== -1;\n var extremefunc = func === 'max' || func === 'min';\n var sizeinit = extremefunc ? null : 0;\n var binfunc = binFunctions.count;\n var normfunc = normFunctions[norm];\n var doavg = false;\n var xinc = [];\n var yinc = [];\n\n // set a binning function other than count?\n // for binning functions: check first for 'z',\n // then 'mc' in case we had a colored scatter plot\n // and want to transfer these colors to the 2D histo\n // TODO: axe this, make it the responsibility of the app changing type? or an impliedEdit?\n var rawCounterData = ('z' in trace) ?\n trace.z :\n (('marker' in trace && Array.isArray(trace.marker.color)) ?\n trace.marker.color : '');\n if(rawCounterData && func !== 'count') {\n doavg = func === 'avg';\n binfunc = binFunctions[func];\n }\n\n // decrease end a little in case of rounding errors\n var xBinSize = xBinSpec.size;\n var xBinStart = xr2c(xBinSpec.start);\n var xBinEnd = xr2c(xBinSpec.end) +\n (xBinStart - Axes.tickIncrement(xBinStart, xBinSize, false, xcalendar)) / 1e6;\n\n for(i = xBinStart; i < xBinEnd; i = Axes.tickIncrement(i, xBinSize, false, xcalendar)) {\n onecol.push(sizeinit);\n xEdges.push(i);\n if(doavg) zerocol.push(0);\n }\n xEdges.push(i);\n\n var nx = onecol.length;\n var dx = (i - xBinStart) / nx;\n var x0 = xc2r(xBinStart + dx / 2);\n\n var yBinSize = yBinSpec.size;\n var yBinStart = yr2c(yBinSpec.start);\n var yBinEnd = yr2c(yBinSpec.end) +\n (yBinStart - Axes.tickIncrement(yBinStart, yBinSize, false, ycalendar)) / 1e6;\n\n for(i = yBinStart; i < yBinEnd; i = Axes.tickIncrement(i, yBinSize, false, ycalendar)) {\n z.push(onecol.slice());\n yEdges.push(i);\n var ipCol = new Array(nx);\n for(j = 0; j < nx; j++) ipCol[j] = [];\n inputPoints.push(ipCol);\n if(doavg) counts.push(zerocol.slice());\n }\n yEdges.push(i);\n\n var ny = z.length;\n var dy = (i - yBinStart) / ny;\n var y0 = yc2r(yBinStart + dy / 2);\n\n if(densitynorm) {\n xinc = makeIncrements(onecol.length, xbins, dx, nonuniformBinsX);\n yinc = makeIncrements(z.length, ybins, dy, nonuniformBinsY);\n }\n\n // for date axes we need bin bounds to be calcdata. For nonuniform bins\n // we already have this, but uniform with start/end/size they're still strings.\n if(!nonuniformBinsX && xa.type === 'date') xbins = binsToCalc(xr2c, xbins);\n if(!nonuniformBinsY && ya.type === 'date') ybins = binsToCalc(yr2c, ybins);\n\n // put data into bins\n var uniqueValsPerX = true;\n var uniqueValsPerY = true;\n var xVals = new Array(nx);\n var yVals = new Array(ny);\n var xGapLow = Infinity;\n var xGapHigh = Infinity;\n var yGapLow = Infinity;\n var yGapHigh = Infinity;\n for(i = 0; i < serieslen; i++) {\n var xi = xPos0[i];\n var yi = yPos0[i];\n n = Lib.findBin(xi, xbins);\n m = Lib.findBin(yi, ybins);\n if(n >= 0 && n < nx && m >= 0 && m < ny) {\n total += binfunc(n, i, z[m], rawCounterData, counts[m]);\n inputPoints[m][n].push(i);\n\n if(uniqueValsPerX) {\n if(xVals[n] === undefined) xVals[n] = xi;\n else if(xVals[n] !== xi) uniqueValsPerX = false;\n }\n if(uniqueValsPerY) {\n if(yVals[m] === undefined) yVals[m] = yi;\n else if(yVals[m] !== yi) uniqueValsPerY = false;\n }\n\n xGapLow = Math.min(xGapLow, xi - xEdges[n]);\n xGapHigh = Math.min(xGapHigh, xEdges[n + 1] - xi);\n yGapLow = Math.min(yGapLow, yi - yEdges[m]);\n yGapHigh = Math.min(yGapHigh, yEdges[m + 1] - yi);\n }\n }\n // normalize, if needed\n if(doavg) {\n for(m = 0; m < ny; m++) total += doAvg(z[m], counts[m]);\n }\n if(normfunc) {\n for(m = 0; m < ny; m++) normfunc(z[m], total, xinc, yinc[m]);\n }\n\n return {\n x: xPos0,\n xRanges: getRanges(xEdges, uniqueValsPerX && xVals, xGapLow, xGapHigh, xa, xcalendar),\n x0: x0,\n dx: dx,\n y: yPos0,\n yRanges: getRanges(yEdges, uniqueValsPerY && yVals, yGapLow, yGapHigh, ya, ycalendar),\n y0: y0,\n dy: dy,\n z: z,\n pts: inputPoints\n };\n};\n\nfunction makeIncrements(len, bins, dv, nonuniform) {\n var out = new Array(len);\n var i;\n if(nonuniform) {\n for(i = 0; i < len; i++) out[i] = 1 / (bins[i + 1] - bins[i]);\n } else {\n var inc = 1 / dv;\n for(i = 0; i < len; i++) out[i] = inc;\n }\n return out;\n}\n\nfunction binsToCalc(r2c, bins) {\n return {\n start: r2c(bins.start),\n end: r2c(bins.end),\n size: bins.size\n };\n}\n\nfunction getRanges(edges, uniqueVals, gapLow, gapHigh, ax, calendar) {\n var i;\n var len = edges.length - 1;\n var out = new Array(len);\n var roundFn = getBinSpanLabelRound(gapLow, gapHigh, edges, ax, calendar);\n\n for(i = 0; i < len; i++) {\n var v = (uniqueVals || [])[i];\n out[i] = v === undefined ?\n [roundFn(edges[i]), roundFn(edges[i + 1], true)] :\n [v, v];\n }\n return out;\n}\n\n\n/***/ }),\n\n/***/ \"7fb7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n // hover labels for multiple horizontal bars get tilted by this angle\n YANGLE: 60,\n\n // size and display constants for hover text\n\n // pixel size of hover arrows\n HOVERARROWSIZE: 6,\n // pixels padding around text\n HOVERTEXTPAD: 3,\n // hover font\n HOVERFONTSIZE: 13,\n HOVERFONT: 'Arial, sans-serif',\n\n // minimum time (msec) between hover calls\n HOVERMINTIME: 50,\n\n // ID suffix (with fullLayout._uid) for hover events in the throttle cache\n HOVERID: '-hover'\n};\n\n\n/***/ }),\n\n/***/ \"7fbb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\nmodule.exports = function calcGridlines(trace, axisLetter, crossAxisLetter) {\n var i, j, j0;\n var eps, bounds, n1, n2, n, value, v;\n var j1, v0, v1, d;\n\n var data = trace['_' + axisLetter];\n var axis = trace[axisLetter + 'axis'];\n\n var gridlines = axis._gridlines = [];\n var minorgridlines = axis._minorgridlines = [];\n var boundarylines = axis._boundarylines = [];\n\n var crossData = trace['_' + crossAxisLetter];\n var crossAxis = trace[crossAxisLetter + 'axis'];\n\n if(axis.tickmode === 'array') {\n axis.tickvals = data.slice();\n }\n\n var xcp = trace._xctrl;\n var ycp = trace._yctrl;\n var nea = xcp[0].length;\n var neb = xcp.length;\n var na = trace._a.length;\n var nb = trace._b.length;\n\n Axes.prepTicks(axis);\n\n // don't leave tickvals in axis looking like an attribute\n if(axis.tickmode === 'array') delete axis.tickvals;\n\n // The default is an empty array that will cause the join to remove the gridline if\n // it's just disappeared:\n // axis._startline = axis._endline = [];\n\n // If the cross axis uses bicubic interpolation, then the grid\n // lines fall once every three expanded grid row/cols:\n var stride = axis.smoothing ? 3 : 1;\n\n function constructValueGridline(value) {\n var i, j, j0, tj, pxy, i0, ti, xy, dxydi0, dxydi1, dxydj0, dxydj1;\n var xpoints = [];\n var ypoints = [];\n var ret = {};\n // Search for the fractional grid index giving this line:\n if(axisLetter === 'b') {\n // For the position we use just the i-j coordinates:\n j = trace.b2j(value);\n\n // The derivatives for catmull-rom splines are discontinuous across cell\n // boundaries though, so we need to provide both the cell and the position\n // within the cell separately:\n j0 = Math.floor(Math.max(0, Math.min(nb - 2, j)));\n tj = j - j0;\n\n ret.length = nb;\n ret.crossLength = na;\n\n ret.xy = function(i) {\n return trace.evalxy([], i, j);\n };\n\n ret.dxy = function(i0, ti) {\n return trace.dxydi([], i0, j0, ti, tj);\n };\n\n for(i = 0; i < na; i++) {\n i0 = Math.min(na - 2, i);\n ti = i - i0;\n xy = trace.evalxy([], i, j);\n\n if(crossAxis.smoothing && i > 0) {\n // First control point:\n dxydi0 = trace.dxydi([], i - 1, j0, 0, tj);\n xpoints.push(pxy[0] + dxydi0[0] / 3);\n ypoints.push(pxy[1] + dxydi0[1] / 3);\n\n // Second control point:\n dxydi1 = trace.dxydi([], i - 1, j0, 1, tj);\n xpoints.push(xy[0] - dxydi1[0] / 3);\n ypoints.push(xy[1] - dxydi1[1] / 3);\n }\n\n xpoints.push(xy[0]);\n ypoints.push(xy[1]);\n\n pxy = xy;\n }\n } else {\n i = trace.a2i(value);\n i0 = Math.floor(Math.max(0, Math.min(na - 2, i)));\n ti = i - i0;\n\n ret.length = na;\n ret.crossLength = nb;\n\n ret.xy = function(j) {\n return trace.evalxy([], i, j);\n };\n\n ret.dxy = function(j0, tj) {\n return trace.dxydj([], i0, j0, ti, tj);\n };\n\n for(j = 0; j < nb; j++) {\n j0 = Math.min(nb - 2, j);\n tj = j - j0;\n xy = trace.evalxy([], i, j);\n\n if(crossAxis.smoothing && j > 0) {\n // First control point:\n dxydj0 = trace.dxydj([], i0, j - 1, ti, 0);\n xpoints.push(pxy[0] + dxydj0[0] / 3);\n ypoints.push(pxy[1] + dxydj0[1] / 3);\n\n // Second control point:\n dxydj1 = trace.dxydj([], i0, j - 1, ti, 1);\n xpoints.push(xy[0] - dxydj1[0] / 3);\n ypoints.push(xy[1] - dxydj1[1] / 3);\n }\n\n xpoints.push(xy[0]);\n ypoints.push(xy[1]);\n\n pxy = xy;\n }\n }\n\n ret.axisLetter = axisLetter;\n ret.axis = axis;\n ret.crossAxis = crossAxis;\n ret.value = value;\n ret.constvar = crossAxisLetter;\n ret.index = n;\n ret.x = xpoints;\n ret.y = ypoints;\n ret.smoothing = crossAxis.smoothing;\n\n return ret;\n }\n\n function constructArrayGridline(idx) {\n var j, i0, j0, ti, tj;\n var xpoints = [];\n var ypoints = [];\n var ret = {};\n ret.length = data.length;\n ret.crossLength = crossData.length;\n\n if(axisLetter === 'b') {\n j0 = Math.max(0, Math.min(nb - 2, idx));\n tj = Math.min(1, Math.max(0, idx - j0));\n\n ret.xy = function(i) {\n return trace.evalxy([], i, idx);\n };\n\n ret.dxy = function(i0, ti) {\n return trace.dxydi([], i0, j0, ti, tj);\n };\n\n // In the tickmode: array case, this operation is a simple\n // transfer of data:\n for(j = 0; j < nea; j++) {\n xpoints[j] = xcp[idx * stride][j];\n ypoints[j] = ycp[idx * stride][j];\n }\n } else {\n i0 = Math.max(0, Math.min(na - 2, idx));\n ti = Math.min(1, Math.max(0, idx - i0));\n\n ret.xy = function(j) {\n return trace.evalxy([], idx, j);\n };\n\n ret.dxy = function(j0, tj) {\n return trace.dxydj([], i0, j0, ti, tj);\n };\n\n // In the tickmode: array case, this operation is a simple\n // transfer of data:\n for(j = 0; j < neb; j++) {\n xpoints[j] = xcp[j][idx * stride];\n ypoints[j] = ycp[j][idx * stride];\n }\n }\n\n ret.axisLetter = axisLetter;\n ret.axis = axis;\n ret.crossAxis = crossAxis;\n ret.value = data[idx];\n ret.constvar = crossAxisLetter;\n ret.index = idx;\n ret.x = xpoints;\n ret.y = ypoints;\n ret.smoothing = crossAxis.smoothing;\n\n return ret;\n }\n\n if(axis.tickmode === 'array') {\n // var j0 = axis.startline ? 1 : 0;\n // var j1 = data.length - (axis.endline ? 1 : 0);\n\n eps = 5e-15;\n bounds = [\n Math.floor(((data.length - 1) - axis.arraytick0) / axis.arraydtick * (1 + eps)),\n Math.ceil((- axis.arraytick0) / axis.arraydtick / (1 + eps))\n ].sort(function(a, b) {return a - b;});\n\n // Unpack sorted values so we can be sure to avoid infinite loops if something\n // is backwards:\n n1 = bounds[0] - 1;\n n2 = bounds[1] + 1;\n\n // If the axes fall along array lines, then this is a much simpler process since\n // we already have all the control points we need\n for(n = n1; n < n2; n++) {\n j = axis.arraytick0 + axis.arraydtick * n;\n if(j < 0 || j > data.length - 1) continue;\n gridlines.push(extendFlat(constructArrayGridline(j), {\n color: axis.gridcolor,\n width: axis.gridwidth\n }));\n }\n\n for(n = n1; n < n2; n++) {\n j0 = axis.arraytick0 + axis.arraydtick * n;\n j1 = Math.min(j0 + axis.arraydtick, data.length - 1);\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(j0 < 0 || j0 > data.length - 1) continue;\n if(j1 < 0 || j1 > data.length - 1) continue;\n\n v0 = data[j0];\n v1 = data[j1];\n\n for(i = 0; i < axis.minorgridcount; i++) {\n d = j1 - j0;\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(d <= 0) continue;\n\n // XXX: This calculation isn't quite right. Off by one somewhere?\n v = v0 + (v1 - v0) * (i + 1) / (axis.minorgridcount + 1) * (axis.arraydtick / d);\n\n // TODO: fix the bounds computation so we don't have to do a large range and then throw\n // out unneeded numbers\n if(v < data[0] || v > data[data.length - 1]) continue;\n minorgridlines.push(extendFlat(constructValueGridline(v), {\n color: axis.minorgridcolor,\n width: axis.minorgridwidth\n }));\n }\n }\n\n if(axis.startline) {\n boundarylines.push(extendFlat(constructArrayGridline(0), {\n color: axis.startlinecolor,\n width: axis.startlinewidth\n }));\n }\n\n if(axis.endline) {\n boundarylines.push(extendFlat(constructArrayGridline(data.length - 1), {\n color: axis.endlinecolor,\n width: axis.endlinewidth\n }));\n }\n } else {\n // If the lines do not fall along the axes, then we have to interpolate\n // the contro points and so some math to figure out where the lines are\n // in the first place.\n\n // Compute the integer boudns of tick0 + n * dtick that fall within the range\n // (roughly speaking):\n // Give this a nice generous epsilon. We use at as * (1 + eps) in order to make\n // inequalities a little tolerant in a more or less correct manner:\n eps = 5e-15;\n bounds = [\n Math.floor((data[data.length - 1] - axis.tick0) / axis.dtick * (1 + eps)),\n Math.ceil((data[0] - axis.tick0) / axis.dtick / (1 + eps))\n ].sort(function(a, b) {return a - b;});\n\n // Unpack sorted values so we can be sure to avoid infinite loops if something\n // is backwards:\n n1 = bounds[0];\n n2 = bounds[1];\n\n for(n = n1; n <= n2; n++) {\n value = axis.tick0 + axis.dtick * n;\n\n gridlines.push(extendFlat(constructValueGridline(value), {\n color: axis.gridcolor,\n width: axis.gridwidth\n }));\n }\n\n for(n = n1 - 1; n < n2 + 1; n++) {\n value = axis.tick0 + axis.dtick * n;\n\n for(i = 0; i < axis.minorgridcount; i++) {\n v = value + axis.dtick * (i + 1) / (axis.minorgridcount + 1);\n if(v < data[0] || v > data[data.length - 1]) continue;\n minorgridlines.push(extendFlat(constructValueGridline(v), {\n color: axis.minorgridcolor,\n width: axis.minorgridwidth\n }));\n }\n }\n\n if(axis.startline) {\n boundarylines.push(extendFlat(constructValueGridline(data[0]), {\n color: axis.startlinecolor,\n width: axis.startlinewidth\n }));\n }\n\n if(axis.endline) {\n boundarylines.push(extendFlat(constructValueGridline(data[data.length - 1]), {\n color: axis.endlinecolor,\n width: axis.endlinewidth\n }));\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"7fc3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar hover = __webpack_require__(\"e812\").hover;\n\nmodule.exports = function click(gd, evt, subplot) {\n var annotationsDone = Registry.getComponentMethod('annotations', 'onClick')(gd, gd._hoverdata);\n\n // fallback to fail-safe in case the plot type's hover method doesn't pass the subplot.\n // Ternary, for example, didn't, but it was caught because tested.\n if(subplot !== undefined) {\n // The true flag at the end causes it to re-run the hover computation to figure out *which*\n // point is being clicked. Without this, clicking is somewhat unreliable.\n hover(gd, evt, subplot, true);\n }\n\n function emitClick() { gd.emit('plotly_click', {points: gd._hoverdata, event: evt}); }\n\n if(gd._hoverdata && evt && evt.target) {\n if(annotationsDone && annotationsDone.then) {\n annotationsDone.then(emitClick);\n } else emitClick();\n\n // why do we get a double event without this???\n if(evt.stopImmediatePropagation) evt.stopImmediatePropagation();\n }\n};\n\n\n/***/ }),\n\n/***/ \"7fcc\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction compileSearch(funcName, predicate, reversed, extraArgs, useNdarray, earlyOut) {\n var code = [\n \"function \", funcName, \"(a,l,h,\", extraArgs.join(\",\"), \"){\",\nearlyOut ? \"\" : \"var i=\", (reversed ? \"l-1\" : \"h+1\"),\n\";while(l<=h){\\\nvar m=(l+h)>>>1,x=a\", useNdarray ? \".get(m)\" : \"[m]\"]\n if(earlyOut) {\n if(predicate.indexOf(\"c\") < 0) {\n code.push(\";if(x===y){return m}else if(x<=y){\")\n } else {\n code.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\")\n }\n } else {\n code.push(\";if(\", predicate, \"){i=m;\")\n }\n if(reversed) {\n code.push(\"l=m+1}else{h=m-1}\")\n } else {\n code.push(\"h=m-1}else{l=m+1}\")\n }\n code.push(\"}\")\n if(earlyOut) {\n code.push(\"return -1};\")\n } else {\n code.push(\"return i};\")\n }\n return code.join(\"\")\n}\n\nfunction compileBoundsSearch(predicate, reversed, suffix, earlyOut) {\n var result = new Function([\n compileSearch(\"A\", \"x\" + predicate + \"y\", reversed, [\"y\"], false, earlyOut),\n compileSearch(\"B\", \"x\" + predicate + \"y\", reversed, [\"y\"], true, earlyOut),\n compileSearch(\"P\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], false, earlyOut),\n compileSearch(\"Q\", \"c(x,y)\" + predicate + \"0\", reversed, [\"y\", \"c\"], true, earlyOut),\n\"function dispatchBsearch\", suffix, \"(a,y,c,l,h){\\\nif(a.shape){\\\nif(typeof(c)==='function'){\\\nreturn Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)\\\n}else{\\\nreturn B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)\\\n}}else{\\\nif(typeof(c)==='function'){\\\nreturn P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)\\\n}else{\\\nreturn A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)\\\n}}}\\\nreturn dispatchBsearch\", suffix].join(\"\"))\n return result()\n}\n\nmodule.exports = {\n ge: compileBoundsSearch(\">=\", false, \"GE\"),\n gt: compileBoundsSearch(\">\", false, \"GT\"),\n lt: compileBoundsSearch(\"<\", true, \"LT\"),\n le: compileBoundsSearch(\"<=\", true, \"LE\"),\n eq: compileBoundsSearch(\"-\", true, \"EQ\", true)\n}\n\n\n/***/ }),\n\n/***/ \"7fda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Axes = __webpack_require__(\"0642\");\nvar mergeArray = __webpack_require__(\"fc26\").mergeArray;\nvar calcSelection = __webpack_require__(\"4136\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nfunction isAbsolute(a) {\n return (a === 'a' || a === 'absolute');\n}\n\nfunction isTotal(a) {\n return (a === 't' || a === 'total');\n}\n\nmodule.exports = function calc(gd, trace) {\n var xa = Axes.getFromId(gd, trace.xaxis || 'x');\n var ya = Axes.getFromId(gd, trace.yaxis || 'y');\n var size, pos;\n\n if(trace.orientation === 'h') {\n size = xa.makeCalcdata(trace, 'x');\n pos = ya.makeCalcdata(trace, 'y');\n } else {\n size = ya.makeCalcdata(trace, 'y');\n pos = xa.makeCalcdata(trace, 'x');\n }\n\n // create the \"calculated data\" to plot\n var serieslen = Math.min(pos.length, size.length);\n var cd = new Array(serieslen);\n\n // set position and size (as well as for waterfall total size)\n var previousSum = 0;\n var newSize;\n // trace-wide flags\n var hasTotals = false;\n\n for(var i = 0; i < serieslen; i++) {\n var amount = size[i] || 0;\n\n var connectToNext = false;\n if(size[i] !== BADNUM || isTotal(trace.measure[i]) || isAbsolute(trace.measure[i])) {\n if(i + 1 < serieslen && (size[i + 1] !== BADNUM || isTotal(trace.measure[i + 1]) || isAbsolute(trace.measure[i + 1]))) {\n connectToNext = true;\n }\n }\n\n var cdi = cd[i] = {\n i: i,\n p: pos[i],\n s: amount,\n rawS: amount,\n cNext: connectToNext\n };\n\n if(isAbsolute(trace.measure[i])) {\n previousSum = cdi.s;\n\n cdi.isSum = true;\n cdi.dir = 'totals';\n cdi.s = previousSum;\n } else if(isTotal(trace.measure[i])) {\n cdi.isSum = true;\n cdi.dir = 'totals';\n cdi.s = previousSum;\n } else {\n // default: relative\n cdi.isSum = false;\n cdi.dir = cdi.rawS < 0 ? 'decreasing' : 'increasing';\n newSize = cdi.s;\n cdi.s = previousSum + newSize;\n previousSum += newSize;\n }\n\n if(cdi.dir === 'totals') {\n hasTotals = true;\n }\n\n if(trace.ids) {\n cdi.id = String(trace.ids[i]);\n }\n\n cdi.v = (trace.base || 0) + previousSum;\n }\n\n if(cd.length) cd[0].hasTotals = hasTotals;\n\n mergeArray(trace.text, cd, 'tx');\n mergeArray(trace.hovertext, cd, 'htx');\n calcSelection(cd, trace);\n\n return cd;\n};\n\n\n/***/ }),\n\n/***/ \"8062\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\n\nvar Drawing = __webpack_require__(\"83d1\");\nvar Color = __webpack_require__(\"d115\");\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\nvar barStyle = __webpack_require__(\"2df3\");\nvar resizeText = __webpack_require__(\"93a6\").resizeText;\nvar styleTextPoints = barStyle.styleTextPoints;\n\nfunction style(gd, cd, sel) {\n var s = sel ? sel : d3.select(gd).selectAll('g.funnellayer').selectAll('g.trace');\n resizeText(gd, s, 'funnel');\n\n s.style('opacity', function(d) { return d[0].trace.opacity; });\n\n s.each(function(d) {\n var gTrace = d3.select(this);\n var trace = d[0].trace;\n\n gTrace.selectAll('.point > path').each(function(di) {\n if(!di.isBlank) {\n var cont = trace.marker;\n\n d3.select(this)\n .call(Color.fill, di.mc || cont.color)\n .call(Color.stroke, di.mlc || cont.line.color)\n .call(Drawing.dashLine, cont.line.dash, di.mlw || cont.line.width)\n .style('opacity', trace.selectedpoints && !di.selected ? DESELECTDIM : 1);\n }\n });\n\n styleTextPoints(gTrace, trace, gd);\n\n gTrace.selectAll('.regions').each(function() {\n d3.select(this).selectAll('path').style('stroke-width', 0).call(Color.fill, trace.connector.fillcolor);\n });\n\n gTrace.selectAll('.lines').each(function() {\n var cont = trace.connector.line;\n\n Drawing.lineGroupStyle(\n d3.select(this).selectAll('path'),\n cont.width,\n cont.color,\n cont.dash\n );\n });\n });\n}\n\nmodule.exports = {\n style: style\n};\n\n\n/***/ }),\n\n/***/ \"806e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar subTypes = __webpack_require__(\"de81\");\nvar helpers = __webpack_require__(\"2969f\");\n\nmodule.exports = function select(searchInfo, selectionTester) {\n var cd = searchInfo.cd;\n var trace = cd[0].trace;\n var stash = cd[0].t;\n var scene = searchInfo.scene;\n var cdata = scene.matrixOptions.cdata;\n var xa = searchInfo.xaxis;\n var ya = searchInfo.yaxis;\n var selection = [];\n\n if(!scene) return selection;\n\n var hasOnlyLines = (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace));\n if(trace.visible !== true || hasOnlyLines) return selection;\n\n var xi = helpers.getDimIndex(trace, xa);\n var yi = helpers.getDimIndex(trace, ya);\n if(xi === false || yi === false) return selection;\n\n var xpx = stash.xpx[xi];\n var ypx = stash.ypx[yi];\n var x = cdata[xi];\n var y = cdata[yi];\n var els = [];\n var unels = [];\n\n // degenerate polygon does not enable selection\n // filter out points by visible scatter ones\n if(selectionTester !== false && !selectionTester.degenerate) {\n for(var i = 0; i < x.length; i++) {\n if(selectionTester.contains([xpx[i], ypx[i]], null, i, searchInfo)) {\n els.push(i);\n selection.push({\n pointNumber: i,\n x: x[i],\n y: y[i]\n });\n } else {\n unels.push(i);\n }\n }\n }\n\n var matrixOpts = scene.matrixOptions;\n\n if(!els.length && !unels.length) {\n scene.matrix.update(matrixOpts, null);\n } else if(!scene.selectBatch.length && !scene.unselectBatch.length) {\n scene.matrix.update(\n scene.unselectedOptions,\n Lib.extendFlat({}, matrixOpts, scene.selectedOptions, scene.viewOpts)\n );\n }\n\n scene.selectBatch = els;\n scene.unselectBatch = unels;\n\n return selection;\n};\n\n\n/***/ }),\n\n/***/ \"8173\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Registry = __webpack_require__(\"371e\");\nvar Lib = __webpack_require__(\"fc26\");\n\nmodule.exports = function handleSampleDefaults(traceIn, traceOut, coerce, layout) {\n var x = coerce('x');\n var y = coerce('y');\n var xlen = Lib.minRowLength(x);\n var ylen = Lib.minRowLength(y);\n\n // we could try to accept x0 and dx, etc...\n // but that's a pretty weird use case.\n // for now require both x and y explicitly specified.\n if(!xlen || !ylen) {\n traceOut.visible = false;\n return;\n }\n\n traceOut._length = Math.min(xlen, ylen);\n\n var handleCalendarDefaults = Registry.getComponentMethod('calendars', 'handleTraceDefaults');\n handleCalendarDefaults(traceIn, traceOut, ['x', 'y'], layout);\n\n // if marker.color is an array, we can use it in aggregation instead of z\n var hasAggregationData = coerce('z') || coerce('marker.color');\n\n if(hasAggregationData) coerce('histfunc');\n coerce('histnorm');\n\n // Note: bin defaults are now handled in Histogram2D.crossTraceDefaults\n // autobin(x|y) are only included here to appease Plotly.validate\n coerce('autobinx');\n coerce('autobiny');\n};\n\n\n/***/ }),\n\n/***/ \"81f0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\n\n/**\n * Make a xy domain attribute group\n *\n * @param {object} opts\n * @param {string}\n * opts.name: name to be inserted in the default description\n * @param {boolean}\n * opts.trace: set to true for trace containers\n * @param {string}\n * opts.editType: editType for all pieces\n * @param {boolean}\n * opts.noGridCell: set to true to omit `row` and `column`\n *\n * @param {object} extra\n * @param {string}\n * extra.description: extra description. N.B we use\n * a separate extra container to make it compatible with\n * the compress_attributes transform.\n *\n * @return {object} attributes object containing {x,y} as specified\n */\nexports.attributes = function(opts, extra) {\n opts = opts || {};\n extra = extra || {};\n\n var base = {\n valType: 'info_array',\n \n editType: opts.editType,\n items: [\n {valType: 'number', min: 0, max: 1, editType: opts.editType},\n {valType: 'number', min: 0, max: 1, editType: opts.editType}\n ],\n dflt: [0, 1]\n };\n\n var namePart = opts.name ? opts.name + ' ' : '';\n var contPart = opts.trace ? 'trace ' : 'subplot ';\n var descPart = extra.description ? ' ' + extra.description : '';\n\n var out = {\n x: extendFlat({}, base, {\n \n }),\n y: extendFlat({}, base, {\n \n }),\n editType: opts.editType\n };\n\n if(!opts.noGridCell) {\n out.row = {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: opts.editType,\n \n };\n out.column = {\n valType: 'integer',\n min: 0,\n dflt: 0,\n \n editType: opts.editType,\n \n };\n }\n\n return out;\n};\n\nexports.defaults = function(containerOut, layout, coerce, dfltDomains) {\n var dfltX = (dfltDomains && dfltDomains.x) || [0, 1];\n var dfltY = (dfltDomains && dfltDomains.y) || [0, 1];\n\n var grid = layout.grid;\n if(grid) {\n var column = coerce('domain.column');\n if(column !== undefined) {\n if(column < grid.columns) dfltX = grid._domains.x[column];\n else delete containerOut.domain.column;\n }\n\n var row = coerce('domain.row');\n if(row !== undefined) {\n if(row < grid.rows) dfltY = grid._domains.y[row];\n else delete containerOut.domain.row;\n }\n }\n\n var x = coerce('domain.x', dfltX);\n var y = coerce('domain.y', dfltY);\n\n // don't accept bad input data\n if(!(x[0] < x[1])) containerOut.domain.x = dfltX.slice();\n if(!(y[0] < y[1])) containerOut.domain.y = dfltY.slice();\n};\n\n\n/***/ }),\n\n/***/ \"821b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Clear gl frame (if any). This is a common pattern as\n * we usually set `preserveDrawingBuffer: true` during\n * gl context creation (e.g. via `reglUtils.prepare`).\n *\n * @param {DOM node or object} gd : graph div object\n */\nmodule.exports = function clearGlCanvases(gd) {\n var fullLayout = gd._fullLayout;\n\n if(fullLayout._glcanvas && fullLayout._glcanvas.size()) {\n fullLayout._glcanvas.each(function(d) {\n if(d.regl) d.regl.clear({color: true, depth: true});\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"824b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar isNumeric = __webpack_require__(\"19b2\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nvar calcMarkerColorscale = __webpack_require__(\"09bd\");\nvar arraysToCalcdata = __webpack_require__(\"106b\");\nvar calcSelection = __webpack_require__(\"4136\");\n\nvar _ = __webpack_require__(\"fc26\")._;\n\nfunction isNonBlankString(v) {\n return v && typeof v === 'string';\n}\n\nmodule.exports = function calc(gd, trace) {\n var hasLocationData = Array.isArray(trace.locations);\n var len = hasLocationData ? trace.locations.length : trace._length;\n var calcTrace = new Array(len);\n\n var isValidLoc;\n if(trace.geojson) {\n isValidLoc = function(v) { return isNonBlankString(v) || isNumeric(v); };\n } else {\n isValidLoc = isNonBlankString;\n }\n\n for(var i = 0; i < len; i++) {\n var calcPt = calcTrace[i] = {};\n\n if(hasLocationData) {\n var loc = trace.locations[i];\n calcPt.loc = isValidLoc(loc) ? loc : null;\n } else {\n var lon = trace.lon[i];\n var lat = trace.lat[i];\n\n if(isNumeric(lon) && isNumeric(lat)) calcPt.lonlat = [+lon, +lat];\n else calcPt.lonlat = [BADNUM, BADNUM];\n }\n }\n\n arraysToCalcdata(calcTrace, trace);\n calcMarkerColorscale(gd, trace);\n calcSelection(calcTrace, trace);\n\n if(len) {\n calcTrace[0].t = {\n labels: {\n lat: _(gd, 'lat:') + ' ',\n lon: _(gd, 'lon:') + ' '\n }\n };\n }\n\n return calcTrace;\n};\n\n\n/***/ }),\n\n/***/ \"825a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"861d\");\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"8260\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar scatterPlot = __webpack_require__(\"f118\");\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function plot(gd, subplot, moduleCalcData) {\n var mlayer = subplot.layers.frontplot.select('g.scatterlayer');\n\n var plotinfo = {\n xaxis: subplot.xaxis,\n yaxis: subplot.yaxis,\n plot: subplot.framework,\n layerClipId: subplot._hasClipOnAxisFalse ? subplot.clipIds.forTraces : null\n };\n\n var radialAxis = subplot.radialAxis;\n var angularAxis = subplot.angularAxis;\n\n // convert:\n // 'c' (r,theta) -> 'geometric' (r,theta) -> (x,y)\n for(var i = 0; i < moduleCalcData.length; i++) {\n var cdi = moduleCalcData[i];\n\n for(var j = 0; j < cdi.length; j++) {\n var cd = cdi[j];\n var r = cd.r;\n\n if(r === BADNUM) {\n cd.x = cd.y = BADNUM;\n } else {\n var rg = radialAxis.c2g(r);\n var thetag = angularAxis.c2g(cd.theta);\n cd.x = rg * Math.cos(thetag);\n cd.y = rg * Math.sin(thetag);\n }\n }\n }\n\n scatterPlot(gd, plotinfo, moduleCalcData, mlayer);\n};\n\n\n/***/ }),\n\n/***/ \"8298\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar Lib = __webpack_require__(\"fc26\");\nvar Drawing = __webpack_require__(\"83d1\");\n\nvar boxPlot = __webpack_require__(\"d34f\");\nvar linePoints = __webpack_require__(\"9cf1\");\nvar helpers = __webpack_require__(\"0681\");\n\nmodule.exports = function plot(gd, plotinfo, cdViolins, violinLayer) {\n var fullLayout = gd._fullLayout;\n var xa = plotinfo.xaxis;\n var ya = plotinfo.yaxis;\n\n function makePath(pts) {\n var segments = linePoints(pts, {\n xaxis: xa,\n yaxis: ya,\n connectGaps: true,\n baseTolerance: 0.75,\n shape: 'spline',\n simplify: true,\n linearized: true\n });\n return Drawing.smoothopen(segments[0], 1);\n }\n\n Lib.makeTraceGroups(violinLayer, cdViolins, 'trace violins').each(function(cd) {\n var plotGroup = d3.select(this);\n var cd0 = cd[0];\n var t = cd0.t;\n var trace = cd0.trace;\n\n if(trace.visible !== true || t.empty) {\n plotGroup.remove();\n return;\n }\n\n var bPos = t.bPos;\n var bdPos = t.bdPos;\n var valAxis = plotinfo[t.valLetter + 'axis'];\n var posAxis = plotinfo[t.posLetter + 'axis'];\n var hasBothSides = trace.side === 'both';\n var hasPositiveSide = hasBothSides || trace.side === 'positive';\n var hasNegativeSide = hasBothSides || trace.side === 'negative';\n\n var violins = plotGroup.selectAll('path.violin').data(Lib.identity);\n\n violins.enter().append('path')\n .style('vector-effect', 'non-scaling-stroke')\n .attr('class', 'violin');\n\n violins.exit().remove();\n\n violins.each(function(d) {\n var pathSel = d3.select(this);\n var density = d.density;\n var len = density.length;\n var posCenter = posAxis.c2l(d.pos + bPos, true);\n var posCenterPx = posAxis.l2p(posCenter);\n\n var scale;\n if(trace.width) {\n scale = t.maxKDE / bdPos;\n } else {\n var groupStats = fullLayout._violinScaleGroupStats[trace.scalegroup];\n scale = trace.scalemode === 'count' ?\n (groupStats.maxKDE / bdPos) * (groupStats.maxCount / d.pts.length) :\n groupStats.maxKDE / bdPos;\n }\n\n var pathPos, pathNeg, path;\n var i, k, pts, pt;\n\n if(hasPositiveSide) {\n pts = new Array(len);\n for(i = 0; i < len; i++) {\n pt = pts[i] = {};\n pt[t.posLetter] = posCenter + (density[i].v / scale);\n pt[t.valLetter] = valAxis.c2l(density[i].t, true);\n }\n pathPos = makePath(pts);\n }\n\n if(hasNegativeSide) {\n pts = new Array(len);\n for(k = 0, i = len - 1; k < len; k++, i--) {\n pt = pts[k] = {};\n pt[t.posLetter] = posCenter - (density[i].v / scale);\n pt[t.valLetter] = valAxis.c2l(density[i].t, true);\n }\n pathNeg = makePath(pts);\n }\n\n if(hasBothSides) {\n path = pathPos + 'L' + pathNeg.substr(1) + 'Z';\n } else {\n var startPt = [posCenterPx, valAxis.c2p(density[0].t)];\n var endPt = [posCenterPx, valAxis.c2p(density[len - 1].t)];\n\n if(trace.orientation === 'h') {\n startPt.reverse();\n endPt.reverse();\n }\n\n if(hasPositiveSide) {\n path = 'M' + startPt + 'L' + pathPos.substr(1) + 'L' + endPt;\n } else {\n path = 'M' + endPt + 'L' + pathNeg.substr(1) + 'L' + startPt;\n }\n }\n pathSel.attr('d', path);\n\n // save a few things used in getPositionOnKdePath, getKdeValue\n // on hover and for meanline draw block below\n d.posCenterPx = posCenterPx;\n d.posDensityScale = scale * bdPos;\n d.path = pathSel.node();\n d.pathLength = d.path.getTotalLength() / (hasBothSides ? 2 : 1);\n });\n\n var boxAttrs = trace.box;\n var boxWidth = boxAttrs.width;\n var boxLineWidth = (boxAttrs.line || {}).width;\n var bdPosScaled;\n var bPosPxOffset;\n\n if(hasBothSides) {\n bdPosScaled = bdPos * boxWidth;\n bPosPxOffset = 0;\n } else if(hasPositiveSide) {\n bdPosScaled = [0, bdPos * boxWidth / 2];\n bPosPxOffset = boxLineWidth * {x: 1, y: -1}[t.posLetter];\n } else {\n bdPosScaled = [bdPos * boxWidth / 2, 0];\n bPosPxOffset = boxLineWidth * {x: -1, y: 1}[t.posLetter];\n }\n\n // inner box\n boxPlot.plotBoxAndWhiskers(plotGroup, {pos: posAxis, val: valAxis}, trace, {\n bPos: bPos,\n bdPos: bdPosScaled,\n bPosPxOffset: bPosPxOffset\n });\n\n // meanline insider box\n boxPlot.plotBoxMean(plotGroup, {pos: posAxis, val: valAxis}, trace, {\n bPos: bPos,\n bdPos: bdPosScaled,\n bPosPxOffset: bPosPxOffset\n });\n\n var fn;\n if(!trace.box.visible && trace.meanline.visible) {\n fn = Lib.identity;\n }\n\n // N.B. use different class name than boxPlot.plotBoxMean,\n // to avoid selectAll conflict\n var meanPaths = plotGroup.selectAll('path.meanline').data(fn || []);\n meanPaths.enter().append('path')\n .attr('class', 'meanline')\n .style('fill', 'none')\n .style('vector-effect', 'non-scaling-stroke');\n meanPaths.exit().remove();\n meanPaths.each(function(d) {\n var v = valAxis.c2p(d.mean, true);\n var p = helpers.getPositionOnKdePath(d, trace, v);\n\n d3.select(this).attr('d',\n trace.orientation === 'h' ?\n 'M' + v + ',' + p[0] + 'V' + p[1] :\n 'M' + p[0] + ',' + v + 'H' + p[1]\n );\n });\n\n boxPlot.plotPoints(plotGroup, {x: xa, y: ya}, trace, t);\n });\n};\n\n\n/***/ }),\n\n/***/ \"82a5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nmodule.exports = function calc(gd) {\n var calcdata = gd.calcdata;\n var fullLayout = gd._fullLayout;\n\n function makeCoerceHoverInfo(trace) {\n return function(val) {\n return Lib.coerceHoverinfo({hoverinfo: val}, {_module: trace._module}, fullLayout);\n };\n }\n\n for(var i = 0; i < calcdata.length; i++) {\n var cd = calcdata[i];\n var trace = cd[0].trace;\n\n // don't include hover calc fields for pie traces\n // as calcdata items might be sorted by value and\n // won't match the data array order.\n if(Registry.traceIs(trace, 'pie-like')) continue;\n\n var fillFn = Registry.traceIs(trace, '2dMap') ? paste : Lib.fillArray;\n\n fillFn(trace.hoverinfo, cd, 'hi', makeCoerceHoverInfo(trace));\n\n if(trace.hovertemplate) fillFn(trace.hovertemplate, cd, 'ht');\n\n if(!trace.hoverlabel) continue;\n\n fillFn(trace.hoverlabel.bgcolor, cd, 'hbg');\n fillFn(trace.hoverlabel.bordercolor, cd, 'hbc');\n fillFn(trace.hoverlabel.font.size, cd, 'hts');\n fillFn(trace.hoverlabel.font.color, cd, 'htc');\n fillFn(trace.hoverlabel.font.family, cd, 'htf');\n fillFn(trace.hoverlabel.namelength, cd, 'hnl');\n fillFn(trace.hoverlabel.align, cd, 'hta');\n }\n};\n\nfunction paste(traceAttr, cd, cdAttr, fn) {\n fn = fn || Lib.identity;\n\n if(Array.isArray(traceAttr)) {\n cd[0][cdAttr] = fn(traceAttr);\n }\n}\n\n\n/***/ }),\n\n/***/ \"82b5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n/**\n * Creates a set of padding attributes.\n *\n * @param {object} opts\n * @param {string} editType:\n * the editType for all pieces of this padding definition\n *\n * @return {object} attributes object containing {t, r, b, l} as specified\n */\nmodule.exports = function(opts) {\n var editType = opts.editType;\n return {\n t: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n r: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n b: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n l: {\n valType: 'number',\n dflt: 0,\n \n editType: editType,\n \n },\n editType: editType\n };\n};\n\n\n/***/ }),\n\n/***/ \"82d4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\nvar colorscaleDefaults = __webpack_require__(\"4183\");\nvar attributes = __webpack_require__(\"be2a\");\n\nmodule.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {\n function coerce(attr, dflt) {\n return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);\n }\n\n var u = coerce('u');\n var v = coerce('v');\n var w = coerce('w');\n\n var x = coerce('x');\n var y = coerce('y');\n var z = coerce('z');\n\n if(\n !u || !u.length || !v || !v.length || !w || !w.length ||\n !x || !x.length || !y || !y.length || !z || !z.length\n ) {\n traceOut.visible = false;\n return;\n }\n\n coerce('starts.x');\n coerce('starts.y');\n coerce('starts.z');\n\n coerce('maxdisplayed');\n coerce('sizeref');\n\n coerce('lighting.ambient');\n coerce('lighting.diffuse');\n coerce('lighting.specular');\n coerce('lighting.roughness');\n coerce('lighting.fresnel');\n coerce('lightposition.x');\n coerce('lightposition.y');\n coerce('lightposition.z');\n\n colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'c'});\n\n coerce('text');\n coerce('hovertext');\n coerce('hovertemplate');\n\n // disable 1D transforms (for now)\n // x/y/z and u/v/w have matching lengths,\n // but they don't have to match with starts.(x|y|z)\n traceOut._length = null;\n};\n\n\n/***/ }),\n\n/***/ \"82d7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar fontAttrs = __webpack_require__(\"9845\");\nvar baseAttrs = __webpack_require__(\"a876\");\nvar colorAttrs = __webpack_require__(\"dfb3\");\nvar fxAttrs = __webpack_require__(\"a462\");\nvar domainAttrs = __webpack_require__(\"81f0\").attributes;\nvar hovertemplateAttrs = __webpack_require__(\"94d5\").hovertemplateAttrs;\nvar colorAttributes = __webpack_require__(\"f4e9\");\nvar templatedArray = __webpack_require__(\"a651\").templatedArray;\n\nvar extendFlat = __webpack_require__(\"9092\").extendFlat;\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\n\nvar FORMAT_LINK = __webpack_require__(\"78df\").FORMAT_LINK;\n\nvar attrs = module.exports = overrideAll({\n hoverinfo: extendFlat({}, baseAttrs.hoverinfo, {\n flags: [],\n arrayOk: false,\n \n }),\n hoverlabel: fxAttrs.hoverlabel,\n domain: domainAttrs({name: 'sankey', trace: true}),\n\n orientation: {\n valType: 'enumerated',\n values: ['v', 'h'],\n dflt: 'h',\n \n \n },\n\n valueformat: {\n valType: 'string',\n dflt: '.3s',\n \n \n },\n\n valuesuffix: {\n valType: 'string',\n dflt: '',\n \n \n },\n\n arrangement: {\n valType: 'enumerated',\n values: ['snap', 'perpendicular', 'freeform', 'fixed'],\n dflt: 'snap',\n \n \n },\n\n textfont: fontAttrs({\n \n }),\n\n node: {\n label: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n groups: {\n valType: 'info_array',\n impliedEdits: {'x': [], 'y': []},\n dimensions: 2,\n freeLength: true,\n dflt: [],\n items: {valType: 'number', editType: 'calc'},\n \n \n },\n x: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n y: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n color: {\n valType: 'color',\n \n arrayOk: true,\n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n arrayOk: true,\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0.5,\n arrayOk: true,\n \n }\n },\n pad: {\n valType: 'number',\n arrayOk: false,\n min: 0,\n dflt: 20,\n \n \n },\n thickness: {\n valType: 'number',\n arrayOk: false,\n min: 1,\n dflt: 20,\n \n \n },\n hoverinfo: {\n valType: 'enumerated',\n values: ['all', 'none', 'skip'],\n dflt: 'all',\n \n \n },\n hoverlabel: fxAttrs.hoverlabel, // needs editType override,\n hovertemplate: hovertemplateAttrs({}, {\n \n keys: ['value', 'label']\n }),\n \n },\n\n link: {\n label: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n color: {\n valType: 'color',\n \n arrayOk: true,\n \n },\n line: {\n color: {\n valType: 'color',\n \n dflt: colorAttrs.defaultLine,\n arrayOk: true,\n \n },\n width: {\n valType: 'number',\n \n min: 0,\n dflt: 0,\n arrayOk: true,\n \n }\n },\n source: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n target: {\n valType: 'data_array',\n \n dflt: [],\n \n },\n value: {\n valType: 'data_array',\n dflt: [],\n \n \n },\n hoverinfo: {\n valType: 'enumerated',\n values: ['all', 'none', 'skip'],\n dflt: 'all',\n \n \n },\n hoverlabel: fxAttrs.hoverlabel, // needs editType override,\n hovertemplate: hovertemplateAttrs({}, {\n \n keys: ['value', 'label']\n }),\n colorscales: templatedArray('concentrationscales', {\n editType: 'calc',\n label: {\n valType: 'string',\n \n editType: 'calc',\n \n dflt: ''\n },\n cmax: {\n valType: 'number',\n \n editType: 'calc',\n dflt: 1,\n \n },\n cmin: {\n valType: 'number',\n \n editType: 'calc',\n dflt: 0,\n \n },\n colorscale: extendFlat(colorAttributes().colorscale, {dflt: [[0, 'white'], [1, 'black']]})\n }),\n \n \n }\n}, 'calc', 'nested');\nattrs.transforms = undefined;\n\n\n/***/ }),\n\n/***/ \"82e4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"f90d\");\n\n\n/***/ }),\n\n/***/ \"831f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = __webpack_require__(\"0382\");\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Color = __webpack_require__(\"d115\");\nvar Template = __webpack_require__(\"a651\");\nvar basePlotLayoutAttributes = __webpack_require__(\"a685\");\n\nvar layoutAttributes = __webpack_require__(\"d798\");\nvar handleTypeDefaults = __webpack_require__(\"b5e2\");\nvar handleAxisDefaults = __webpack_require__(\"7118\");\nvar handleConstraintDefaults = __webpack_require__(\"6add\").handleConstraintDefaults;\nvar handlePositionDefaults = __webpack_require__(\"f3a2\");\n\nvar axisIds = __webpack_require__(\"3c1c\");\nvar id2name = axisIds.id2name;\nvar name2id = axisIds.name2id;\n\nvar Registry = __webpack_require__(\"371e\");\nvar traceIs = Registry.traceIs;\nvar getComponentMethod = Registry.getComponentMethod;\n\nfunction appendList(cont, k, item) {\n if(Array.isArray(cont[k])) cont[k].push(item);\n else cont[k] = [item];\n}\n\nmodule.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {\n var ax2traces = {};\n var xaMayHide = {};\n var yaMayHide = {};\n var xaMustDisplay = {};\n var yaMustDisplay = {};\n var yaMustNotReverse = {};\n var yaMayReverse = {};\n var axHasImage = {};\n var outerTicks = {};\n var noGrids = {};\n var i, j;\n\n // look for axes in the data\n for(i = 0; i < fullData.length; i++) {\n var trace = fullData[i];\n if(!traceIs(trace, 'cartesian') && !traceIs(trace, 'gl2d')) continue;\n\n var xaName;\n if(trace.xaxis) {\n xaName = id2name(trace.xaxis);\n appendList(ax2traces, xaName, trace);\n } else if(trace.xaxes) {\n for(j = 0; j < trace.xaxes.length; j++) {\n appendList(ax2traces, id2name(trace.xaxes[j]), trace);\n }\n }\n\n var yaName;\n if(trace.yaxis) {\n yaName = id2name(trace.yaxis);\n appendList(ax2traces, yaName, trace);\n } else if(trace.yaxes) {\n for(j = 0; j < trace.yaxes.length; j++) {\n appendList(ax2traces, id2name(trace.yaxes[j]), trace);\n }\n }\n\n // logic for funnels\n if(trace.type === 'funnel') {\n if(trace.orientation === 'h') {\n if(xaName) xaMayHide[xaName] = true;\n if(yaName) yaMayReverse[yaName] = true;\n } else {\n if(yaName) yaMayHide[yaName] = true;\n }\n } else if(trace.type === 'image') {\n if(yaName) axHasImage[yaName] = true;\n if(xaName) axHasImage[xaName] = true;\n } else {\n if(yaName) {\n yaMustDisplay[yaName] = true;\n yaMustNotReverse[yaName] = true;\n }\n\n if(!traceIs(trace, 'carpet') || (trace.type === 'carpet' && !trace._cheater)) {\n if(xaName) xaMustDisplay[xaName] = true;\n }\n }\n\n // Two things trigger axis visibility:\n // 1. is not carpet\n // 2. carpet that's not cheater\n\n // The above check for definitely-not-cheater is not adequate. This\n // second list tracks which axes *could* be a cheater so that the\n // full condition triggering hiding is:\n // *could* be a cheater and *is not definitely visible*\n if(trace.type === 'carpet' && trace._cheater) {\n if(xaName) xaMayHide[xaName] = true;\n }\n\n // check for default formatting tweaks\n if(traceIs(trace, '2dMap')) {\n outerTicks[xaName] = true;\n outerTicks[yaName] = true;\n }\n\n if(traceIs(trace, 'oriented')) {\n var positionAxis = trace.orientation === 'h' ? yaName : xaName;\n noGrids[positionAxis] = true;\n }\n }\n\n var subplots = layoutOut._subplots;\n var xIds = subplots.xaxis;\n var yIds = subplots.yaxis;\n var xNames = Lib.simpleMap(xIds, id2name);\n var yNames = Lib.simpleMap(yIds, id2name);\n var axNames = xNames.concat(yNames);\n\n // plot_bgcolor only makes sense if there's a (2D) plot!\n // TODO: bgcolor for each subplot, to inherit from the main one\n var plotBgColor = Color.background;\n if(xIds.length && yIds.length) {\n plotBgColor = Lib.coerce(layoutIn, layoutOut, basePlotLayoutAttributes, 'plot_bgcolor');\n }\n\n var bgColor = Color.combine(plotBgColor, layoutOut.paper_bgcolor);\n\n var axName, axLetter, axLayoutIn, axLayoutOut;\n\n function coerce(attr, dflt) {\n return Lib.coerce(axLayoutIn, axLayoutOut, layoutAttributes, attr, dflt);\n }\n\n function coerce2(attr, dflt) {\n return Lib.coerce2(axLayoutIn, axLayoutOut, layoutAttributes, attr, dflt);\n }\n\n function getCounterAxes(axLetter) {\n return (axLetter === 'x') ? yIds : xIds;\n }\n\n var counterAxes = {x: getCounterAxes('x'), y: getCounterAxes('y')};\n var allAxisIds = counterAxes.x.concat(counterAxes.y);\n\n function getOverlayableAxes(axLetter, axName) {\n var list = (axLetter === 'x') ? xNames : yNames;\n var out = [];\n\n for(var j = 0; j < list.length; j++) {\n var axName2 = list[j];\n\n if(axName2 !== axName && !(layoutIn[axName2] || {}).overlaying) {\n out.push(name2id(axName2));\n }\n }\n\n return out;\n }\n\n // first pass creates the containers, determines types, and handles most of the settings\n for(i = 0; i < axNames.length; i++) {\n axName = axNames[i];\n axLetter = axName.charAt(0);\n\n if(!Lib.isPlainObject(layoutIn[axName])) {\n layoutIn[axName] = {};\n }\n\n axLayoutIn = layoutIn[axName];\n axLayoutOut = Template.newContainer(layoutOut, axName, axLetter + 'axis');\n\n var traces = ax2traces[axName] || [];\n axLayoutOut._traceIndices = traces.map(function(t) { return t._expandedIndex; });\n axLayoutOut._annIndices = [];\n axLayoutOut._shapeIndices = [];\n axLayoutOut._imgIndices = [];\n axLayoutOut._subplotsWith = [];\n axLayoutOut._counterAxes = [];\n\n // set up some private properties\n axLayoutOut._name = axLayoutOut._attr = axName;\n var id = axLayoutOut._id = name2id(axName);\n\n var overlayableAxes = getOverlayableAxes(axLetter, axName);\n\n var visibleDflt =\n (axLetter === 'x' && !xaMustDisplay[axName] && xaMayHide[axName]) ||\n (axLetter === 'y' && !yaMustDisplay[axName] && yaMayHide[axName]);\n\n var reverseDflt =\n (axLetter === 'y' &&\n (\n (!yaMustNotReverse[axName] && yaMayReverse[axName]) ||\n axHasImage[axName]\n ));\n\n var defaultOptions = {\n letter: axLetter,\n font: layoutOut.font,\n outerTicks: outerTicks[axName],\n showGrid: !noGrids[axName],\n data: traces,\n bgColor: bgColor,\n calendar: layoutOut.calendar,\n automargin: true,\n visibleDflt: visibleDflt,\n reverseDflt: reverseDflt,\n splomStash: ((layoutOut._splomAxes || {})[axLetter] || {})[id]\n };\n\n coerce('uirevision', layoutOut.uirevision);\n\n handleTypeDefaults(axLayoutIn, axLayoutOut, coerce, defaultOptions);\n handleAxisDefaults(axLayoutIn, axLayoutOut, coerce, defaultOptions, layoutOut);\n\n var spikecolor = coerce2('spikecolor');\n var spikethickness = coerce2('spikethickness');\n var spikedash = coerce2('spikedash');\n var spikemode = coerce2('spikemode');\n var spikesnap = coerce2('spikesnap');\n var showSpikes = coerce('showspikes', !!spikecolor || !!spikethickness || !!spikedash || !!spikemode || !!spikesnap);\n\n if(!showSpikes) {\n delete axLayoutOut.spikecolor;\n delete axLayoutOut.spikethickness;\n delete axLayoutOut.spikedash;\n delete axLayoutOut.spikemode;\n delete axLayoutOut.spikesnap;\n }\n\n handlePositionDefaults(axLayoutIn, axLayoutOut, coerce, {\n letter: axLetter,\n counterAxes: counterAxes[axLetter],\n overlayableAxes: overlayableAxes,\n grid: layoutOut.grid\n });\n\n coerce('title.standoff');\n\n axLayoutOut._input = axLayoutIn;\n }\n\n // quick second pass for range slider and selector defaults\n var rangeSliderDefaults = getComponentMethod('rangeslider', 'handleDefaults');\n var rangeSelectorDefaults = getComponentMethod('rangeselector', 'handleDefaults');\n\n for(i = 0; i < xNames.length; i++) {\n axName = xNames[i];\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n rangeSliderDefaults(layoutIn, layoutOut, axName);\n\n if(axLayoutOut.type === 'date') {\n rangeSelectorDefaults(\n axLayoutIn,\n axLayoutOut,\n layoutOut,\n yNames,\n axLayoutOut.calendar\n );\n }\n\n coerce('fixedrange');\n }\n\n for(i = 0; i < yNames.length; i++) {\n axName = yNames[i];\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n var anchoredAxis = layoutOut[id2name(axLayoutOut.anchor)];\n\n var fixedRangeDflt = getComponentMethod('rangeslider', 'isVisible')(anchoredAxis);\n\n coerce('fixedrange', fixedRangeDflt);\n }\n\n // Finally, handle scale constraints and matching axes.\n //\n // We need to do this after all axes have coerced both `type`\n // (so we link only axes of the same type) and\n // `fixedrange` (so we can avoid linking from OR TO a fixed axis).\n\n // sets of axes linked by `scaleanchor` along with the scaleratios compounded\n // together, populated in handleConstraintDefaults\n var constraintGroups = layoutOut._axisConstraintGroups = [];\n // similar to _axisConstraintGroups, but for matching axes\n var matchGroups = layoutOut._axisMatchGroups = [];\n\n for(i = 0; i < axNames.length; i++) {\n axName = axNames[i];\n axLetter = axName.charAt(0);\n axLayoutIn = layoutIn[axName];\n axLayoutOut = layoutOut[axName];\n\n var scaleanchorDflt;\n if(axLetter === 'y' && !axLayoutIn.hasOwnProperty('scaleanchor') && axHasImage[axName]) {\n scaleanchorDflt = axLayoutOut.anchor;\n } else {scaleanchorDflt = undefined;}\n\n var constrainDflt;\n if(!axLayoutIn.hasOwnProperty('constrain') && axHasImage[axName]) {\n constrainDflt = 'domain';\n } else {constrainDflt = undefined;}\n\n handleConstraintDefaults(axLayoutIn, axLayoutOut, coerce, {\n allAxisIds: allAxisIds,\n layoutOut: layoutOut,\n scaleanchorDflt: scaleanchorDflt,\n constrainDflt: constrainDflt\n });\n }\n\n for(i = 0; i < matchGroups.length; i++) {\n var group = matchGroups[i];\n var rng = null;\n var autorange = null;\n var axId;\n\n // find 'matching' range attrs\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n if(!axLayoutOut.matches) {\n rng = axLayoutOut.range;\n autorange = axLayoutOut.autorange;\n }\n }\n // if `ax.matches` values are reciprocal,\n // pick values of first axis in group\n if(rng === null || autorange === null) {\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n rng = axLayoutOut.range;\n autorange = axLayoutOut.autorange;\n break;\n }\n }\n // apply matching range attrs\n for(axId in group) {\n axLayoutOut = layoutOut[id2name(axId)];\n if(axLayoutOut.matches) {\n axLayoutOut.range = rng.slice();\n axLayoutOut.autorange = autorange;\n }\n axLayoutOut._matchGroup = group;\n }\n\n // remove matching axis from scaleanchor constraint groups (for now)\n if(constraintGroups.length) {\n for(axId in group) {\n for(j = 0; j < constraintGroups.length; j++) {\n var group2 = constraintGroups[j];\n for(var axId2 in group2) {\n if(axId === axId2) {\n Lib.warn('Axis ' + axId2 + ' is set with both ' +\n 'a *scaleanchor* and *matches* constraint; ' +\n 'ignoring the scale constraint.');\n\n delete group2[axId2];\n if(Object.keys(group2).length < 2) {\n constraintGroups.splice(j, 1);\n }\n }\n }\n }\n }\n }\n }\n};\n\n\n/***/ }),\n\n/***/ \"838d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = {\n attributes: __webpack_require__(\"1590\"),\n supplyDefaults: __webpack_require__(\"2513\"),\n crossTraceDefaults: __webpack_require__(\"722f\"),\n calc: __webpack_require__(\"0625\"),\n plot: __webpack_require__(\"fa8a\"),\n layerName: 'heatmaplayer',\n colorbar: __webpack_require__(\"fcb3\"),\n style: __webpack_require__(\"c437\"),\n hoverPoints: __webpack_require__(\"9236\"),\n eventData: __webpack_require__(\"6f09\"),\n\n moduleType: 'trace',\n name: 'histogram2d',\n basePlotModule: __webpack_require__(\"91cd\"),\n categories: ['cartesian', 'svg', '2dMap', 'histogram', 'showLegend'],\n meta: {\n \n \n }\n};\n\n\n/***/ }),\n\n/***/ \"83ab\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(\"d039\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\n\n/***/ }),\n\n/***/ \"83c1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar Fx = __webpack_require__(\"a5c4\");\nvar Lib = __webpack_require__(\"fc26\");\nvar getTraceColor = __webpack_require__(\"feed\");\nvar fillText = Lib.fillText;\nvar BADNUM = __webpack_require__(\"e806\").BADNUM;\n\nmodule.exports = function hoverPoints(pointData, xval, yval) {\n var cd = pointData.cd;\n var trace = cd[0].trace;\n var xa = pointData.xa;\n var ya = pointData.ya;\n var subplot = pointData.subplot;\n\n // compute winding number about [-180, 180] globe\n var winding = (xval >= 0) ?\n Math.floor((xval + 180) / 360) :\n Math.ceil((xval - 180) / 360);\n\n // shift longitude to [-180, 180] to determine closest point\n var lonShift = winding * 360;\n var xval2 = xval - lonShift;\n\n function distFn(d) {\n var lonlat = d.lonlat;\n if(lonlat[0] === BADNUM) return Infinity;\n\n var lon = Lib.modHalf(lonlat[0], 360);\n var lat = lonlat[1];\n var pt = subplot.project([lon, lat]);\n var dx = pt.x - xa.c2p([xval2, lat]);\n var dy = pt.y - ya.c2p([lon, yval]);\n var rad = Math.max(3, d.mrc || 0);\n\n return Math.max(Math.sqrt(dx * dx + dy * dy) - rad, 1 - 3 / rad);\n }\n\n Fx.getClosest(cd, distFn, pointData);\n\n // skip the rest (for this trace) if we didn't find a close point\n if(pointData.index === false) return;\n\n var di = cd[pointData.index];\n var lonlat = di.lonlat;\n var lonlatShifted = [Lib.modHalf(lonlat[0], 360) + lonShift, lonlat[1]];\n\n // shift labels back to original winded globe\n var xc = xa.c2p(lonlatShifted);\n var yc = ya.c2p(lonlatShifted);\n var rad = di.mrc || 1;\n\n pointData.x0 = xc - rad;\n pointData.x1 = xc + rad;\n pointData.y0 = yc - rad;\n pointData.y1 = yc + rad;\n\n var fullLayout = {};\n fullLayout[trace.subplot] = {_subplot: subplot};\n var labels = trace._module.formatLabels(di, trace, fullLayout);\n pointData.lonLabel = labels.lonLabel;\n pointData.latLabel = labels.latLabel;\n\n pointData.color = getTraceColor(trace, di);\n pointData.extraText = getExtraText(trace, di, cd[0].t.labels);\n pointData.hovertemplate = trace.hovertemplate;\n\n return [pointData];\n};\n\nfunction getExtraText(trace, di, labels) {\n if(trace.hovertemplate) return;\n\n var hoverinfo = di.hi || trace.hoverinfo;\n var parts = hoverinfo.split('+');\n var isAll = parts.indexOf('all') !== -1;\n var hasLon = parts.indexOf('lon') !== -1;\n var hasLat = parts.indexOf('lat') !== -1;\n var lonlat = di.lonlat;\n var text = [];\n\n // TODO should we use a mock axis to format hover?\n // If so, we'll need to make precision be zoom-level dependent\n function format(v) {\n return v + '\\u00B0';\n }\n\n if(isAll || (hasLon && hasLat)) {\n text.push('(' + format(lonlat[0]) + ', ' + format(lonlat[1]) + ')');\n } else if(hasLon) {\n text.push(labels.lon + format(lonlat[0]));\n } else if(hasLat) {\n text.push(labels.lat + format(lonlat[1]));\n }\n\n if(isAll || parts.indexOf('text') !== -1) {\n fillText(di, trace, text);\n }\n\n return text.join('
');\n}\n\n\n/***/ }),\n\n/***/ \"83d1\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\n\nvar d3 = __webpack_require__(\"6e58\");\nvar isNumeric = __webpack_require__(\"19b2\");\nvar tinycolor = __webpack_require__(\"66cb\");\n\nvar Registry = __webpack_require__(\"371e\");\nvar Color = __webpack_require__(\"d115\");\nvar Colorscale = __webpack_require__(\"c258\");\nvar Lib = __webpack_require__(\"fc26\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar alignment = __webpack_require__(\"63dc\");\nvar LINE_SPACING = alignment.LINE_SPACING;\nvar DESELECTDIM = __webpack_require__(\"72a4\").DESELECTDIM;\n\nvar subTypes = __webpack_require__(\"de81\");\nvar makeBubbleSizeFn = __webpack_require__(\"1978\");\nvar appendArrayPointValue = __webpack_require__(\"c4c7\").appendArrayPointValue;\n\nvar drawing = module.exports = {};\n\n// -----------------------------------------------------\n// styling functions for plot elements\n// -----------------------------------------------------\n\ndrawing.font = function(s, family, size, color) {\n // also allow the form font(s, {family, size, color})\n if(Lib.isPlainObject(family)) {\n color = family.color;\n size = family.size;\n family = family.family;\n }\n if(family) s.style('font-family', family);\n if(size + 1) s.style('font-size', size + 'px');\n if(color) s.call(Color.fill, color);\n};\n\n/*\n * Positioning helpers\n * Note: do not use `setPosition` with nodes modified by\n * `svgTextUtils.convertToTspans`. Use `svgTextUtils.positionText`\n * instead, so that elements get updated to match.\n */\ndrawing.setPosition = function(s, x, y) { s.attr('x', x).attr('y', y); };\ndrawing.setSize = function(s, w, h) { s.attr('width', w).attr('height', h); };\ndrawing.setRect = function(s, x, y, w, h) {\n s.call(drawing.setPosition, x, y).call(drawing.setSize, w, h);\n};\n\n/** Translate node\n *\n * @param {object} d : calcdata point item\n * @param {sel} sel : d3 selction of node to translate\n * @param {object} xa : corresponding full xaxis object\n * @param {object} ya : corresponding full yaxis object\n *\n * @return {boolean} :\n * true if selection got translated\n * false if selection could not get translated\n */\ndrawing.translatePoint = function(d, sel, xa, ya) {\n var x = xa.c2p(d.x);\n var y = ya.c2p(d.y);\n\n if(isNumeric(x) && isNumeric(y) && sel.node()) {\n // for multiline text this works better\n if(sel.node().nodeName === 'text') {\n sel.attr('x', x).attr('y', y);\n } else {\n sel.attr('transform', 'translate(' + x + ',' + y + ')');\n }\n } else {\n return false;\n }\n\n return true;\n};\n\ndrawing.translatePoints = function(s, xa, ya) {\n s.each(function(d) {\n var sel = d3.select(this);\n drawing.translatePoint(d, sel, xa, ya);\n });\n};\n\ndrawing.hideOutsideRangePoint = function(d, sel, xa, ya, xcalendar, ycalendar) {\n sel.attr(\n 'display',\n (xa.isPtWithinRange(d, xcalendar) && ya.isPtWithinRange(d, ycalendar)) ? null : 'none'\n );\n};\n\ndrawing.hideOutsideRangePoints = function(traceGroups, subplot) {\n if(!subplot._hasClipOnAxisFalse) return;\n\n var xa = subplot.xaxis;\n var ya = subplot.yaxis;\n\n traceGroups.each(function(d) {\n var trace = d[0].trace;\n var xcalendar = trace.xcalendar;\n var ycalendar = trace.ycalendar;\n var selector = Registry.traceIs(trace, 'bar-like') ? '.bartext' : '.point,.textpoint';\n\n traceGroups.selectAll(selector).each(function(d) {\n drawing.hideOutsideRangePoint(d, d3.select(this), xa, ya, xcalendar, ycalendar);\n });\n });\n};\n\ndrawing.crispRound = function(gd, lineWidth, dflt) {\n // for lines that disable antialiasing we want to\n // make sure the width is an integer, and at least 1 if it's nonzero\n\n if(!lineWidth || !isNumeric(lineWidth)) return dflt || 0;\n\n // but not for static plots - these don't get antialiased anyway.\n if(gd._context.staticPlot) return lineWidth;\n\n if(lineWidth < 1) return 1;\n return Math.round(lineWidth);\n};\n\ndrawing.singleLineStyle = function(d, s, lw, lc, ld) {\n s.style('fill', 'none');\n var line = (((d || [])[0] || {}).trace || {}).line || {};\n var lw1 = lw || line.width || 0;\n var dash = ld || line.dash || '';\n\n Color.stroke(s, lc || line.color);\n drawing.dashLine(s, dash, lw1);\n};\n\ndrawing.lineGroupStyle = function(s, lw, lc, ld) {\n s.style('fill', 'none')\n .each(function(d) {\n var line = (((d || [])[0] || {}).trace || {}).line || {};\n var lw1 = lw || line.width || 0;\n var dash = ld || line.dash || '';\n\n d3.select(this)\n .call(Color.stroke, lc || line.color)\n .call(drawing.dashLine, dash, lw1);\n });\n};\n\ndrawing.dashLine = function(s, dash, lineWidth) {\n lineWidth = +lineWidth || 0;\n\n dash = drawing.dashStyle(dash, lineWidth);\n\n s.style({\n 'stroke-dasharray': dash,\n 'stroke-width': lineWidth + 'px'\n });\n};\n\ndrawing.dashStyle = function(dash, lineWidth) {\n lineWidth = +lineWidth || 1;\n var dlw = Math.max(lineWidth, 3);\n\n if(dash === 'solid') dash = '';\n else if(dash === 'dot') dash = dlw + 'px,' + dlw + 'px';\n else if(dash === 'dash') dash = (3 * dlw) + 'px,' + (3 * dlw) + 'px';\n else if(dash === 'longdash') dash = (5 * dlw) + 'px,' + (5 * dlw) + 'px';\n else if(dash === 'dashdot') {\n dash = (3 * dlw) + 'px,' + dlw + 'px,' + dlw + 'px,' + dlw + 'px';\n } else if(dash === 'longdashdot') {\n dash = (5 * dlw) + 'px,' + (2 * dlw) + 'px,' + dlw + 'px,' + (2 * dlw) + 'px';\n }\n // otherwise user wrote the dasharray themselves - leave it be\n\n return dash;\n};\n\n// Same as fillGroupStyle, except in this case the selection may be a transition\ndrawing.singleFillStyle = function(sel) {\n var node = d3.select(sel.node());\n var data = node.data();\n var fillcolor = (((data[0] || [])[0] || {}).trace || {}).fillcolor;\n if(fillcolor) {\n sel.call(Color.fill, fillcolor);\n }\n};\n\ndrawing.fillGroupStyle = function(s) {\n s.style('stroke-width', 0)\n .each(function(d) {\n var shape = d3.select(this);\n // N.B. 'd' won't be a calcdata item when\n // fill !== 'none' on a segment-less and marker-less trace\n if(d[0].trace) {\n shape.call(Color.fill, d[0].trace.fillcolor);\n }\n });\n};\n\nvar SYMBOLDEFS = __webpack_require__(\"3350\");\n\ndrawing.symbolNames = [];\ndrawing.symbolFuncs = [];\ndrawing.symbolNeedLines = {};\ndrawing.symbolNoDot = {};\ndrawing.symbolNoFill = {};\ndrawing.symbolList = [];\n\nObject.keys(SYMBOLDEFS).forEach(function(k) {\n var symDef = SYMBOLDEFS[k];\n var n = symDef.n;\n drawing.symbolList.push(\n n,\n k,\n n + 100,\n k + '-open'\n );\n drawing.symbolNames[n] = k;\n drawing.symbolFuncs[n] = symDef.f;\n\n if(symDef.needLine) {\n drawing.symbolNeedLines[n] = true;\n }\n if(symDef.noDot) {\n drawing.symbolNoDot[n] = true;\n } else {\n drawing.symbolList.push(\n n + 200,\n k + '-dot',\n n + 300,\n k + '-open-dot'\n );\n }\n if(symDef.noFill) {\n drawing.symbolNoFill[n] = true;\n }\n});\n\nvar MAXSYMBOL = drawing.symbolNames.length;\n// add a dot in the middle of the symbol\nvar DOTPATH = 'M0,0.5L0.5,0L0,-0.5L-0.5,0Z';\n\ndrawing.symbolNumber = function(v) {\n if(typeof v === 'string') {\n var vbase = 0;\n if(v.indexOf('-open') > 0) {\n vbase = 100;\n v = v.replace('-open', '');\n }\n if(v.indexOf('-dot') > 0) {\n vbase += 200;\n v = v.replace('-dot', '');\n }\n v = drawing.symbolNames.indexOf(v);\n if(v >= 0) { v += vbase; }\n }\n\n return (v % 100 >= MAXSYMBOL || v >= 400) ?\n 0 : Math.floor(Math.max(v, 0));\n};\n\nfunction makePointPath(symbolNumber, r) {\n var base = symbolNumber % 100;\n return drawing.symbolFuncs[base](r) + (symbolNumber >= 200 ? DOTPATH : '');\n}\n\nvar HORZGRADIENT = {x1: 1, x2: 0, y1: 0, y2: 0};\nvar VERTGRADIENT = {x1: 0, x2: 0, y1: 1, y2: 0};\nvar stopFormatter = d3.format('~.1f');\nvar gradientInfo = {\n radial: {node: 'radialGradient'},\n radialreversed: {node: 'radialGradient', reversed: true},\n horizontal: {node: 'linearGradient', attrs: HORZGRADIENT},\n horizontalreversed: {node: 'linearGradient', attrs: HORZGRADIENT, reversed: true},\n vertical: {node: 'linearGradient', attrs: VERTGRADIENT},\n verticalreversed: {node: 'linearGradient', attrs: VERTGRADIENT, reversed: true}\n};\n\n/**\n * gradient: create and apply a gradient fill\n *\n * @param {object} sel: d3 selection to apply this gradient to\n * You can use `selection.call(Drawing.gradient, ...)`\n * @param {DOM element} gd: the graph div `sel` is part of\n * @param {string} gradientID: a unique (within this plot) identifier\n * for this gradient, so that we don't create unnecessary definitions\n * @param {string} type: 'radial', 'horizontal', or 'vertical', optionally with\n * 'reversed' at the end. Normally radial goes center to edge,\n * horizontal goes right to left, and vertical goes bottom to top\n * @param {array} colorscale: as in attribute values, [[fraction, color], ...]\n * @param {string} prop: the property to apply to, 'fill' or 'stroke'\n */\ndrawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {\n var len = colorscale.length;\n var info = gradientInfo[type];\n var colorStops = new Array(len);\n for(var i = 0; i < len; i++) {\n if(info.reversed) {\n colorStops[len - 1 - i] = [stopFormatter((1 - colorscale[i][0]) * 100), colorscale[i][1]];\n } else {\n colorStops[i] = [stopFormatter(colorscale[i][0] * 100), colorscale[i][1]];\n }\n }\n\n var fullLayout = gd._fullLayout;\n var fullID = 'g' + fullLayout._uid + '-' + gradientID;\n\n var gradient = fullLayout._defs.select('.gradients')\n .selectAll('#' + fullID)\n .data([type + colorStops.join(';')], Lib.identity);\n\n gradient.exit().remove();\n\n gradient.enter()\n .append(info.node)\n .each(function() {\n var el = d3.select(this);\n if(info.attrs) el.attr(info.attrs);\n\n el.attr('id', fullID);\n\n var stops = el.selectAll('stop')\n .data(colorStops);\n stops.exit().remove();\n stops.enter().append('stop');\n\n stops.each(function(d) {\n var tc = tinycolor(d[1]);\n d3.select(this).attr({\n offset: d[0] + '%',\n 'stop-color': Color.tinyRGB(tc),\n 'stop-opacity': tc.getAlpha()\n });\n });\n });\n\n sel.style(prop, getFullUrl(fullID, gd))\n .style(prop + '-opacity', null);\n\n var className2query = function(s) {\n return '.' + s.attr('class').replace(/\\s/g, '.');\n };\n var k = className2query(d3.select(sel.node().parentNode)) +\n '>' + className2query(sel);\n fullLayout._gradientUrlQueryParts[k] = 1;\n};\n\n/*\n * Make the gradients container and clear out any previous gradients.\n * We never collect all the gradients we need in one place,\n * so we can't ever remove gradients that have stopped being useful,\n * except all at once before a full redraw.\n * The upside of this is arbitrary points can share gradient defs\n */\ndrawing.initGradients = function(gd) {\n var fullLayout = gd._fullLayout;\n\n var gradientsGroup = Lib.ensureSingle(fullLayout._defs, 'g', 'gradients');\n gradientsGroup.selectAll('linearGradient,radialGradient').remove();\n\n // initialize stash of query parts filled in Drawing.gradient,\n // used to fix URL strings during image exports\n fullLayout._gradientUrlQueryParts = {};\n};\n\n\ndrawing.pointStyle = function(s, trace, gd) {\n if(!s.size()) return;\n\n var fns = drawing.makePointStyleFns(trace);\n\n s.each(function(d) {\n drawing.singlePointStyle(d, d3.select(this), trace, fns, gd);\n });\n};\n\ndrawing.singlePointStyle = function(d, sel, trace, fns, gd) {\n var marker = trace.marker;\n var markerLine = marker.line;\n\n sel.style('opacity',\n fns.selectedOpacityFn ? fns.selectedOpacityFn(d) :\n (d.mo === undefined ? marker.opacity : d.mo)\n );\n\n if(fns.ms2mrc) {\n var r;\n\n // handle multi-trace graph edit case\n if(d.ms === 'various' || marker.size === 'various') {\n r = 3;\n } else {\n r = fns.ms2mrc(d.ms);\n }\n\n // store the calculated size so hover can use it\n d.mrc = r;\n\n if(fns.selectedSizeFn) {\n r = d.mrc = fns.selectedSizeFn(d);\n }\n\n // turn the symbol into a sanitized number\n var x = drawing.symbolNumber(d.mx || marker.symbol) || 0;\n\n // save if this marker is open\n // because that impacts how to handle colors\n d.om = x % 200 >= 100;\n\n sel.attr('d', makePointPath(x, r));\n }\n\n var perPointGradient = false;\n var fillColor, lineColor, lineWidth;\n\n // 'so' is suspected outliers, for box plots\n if(d.so) {\n lineWidth = markerLine.outlierwidth;\n lineColor = markerLine.outliercolor;\n fillColor = marker.outliercolor;\n } else {\n var markerLineWidth = (markerLine || {}).width;\n\n lineWidth = (\n d.mlw + 1 ||\n markerLineWidth + 1 ||\n // TODO: we need the latter for legends... can we get rid of it?\n (d.trace ? (d.trace.marker.line || {}).width : 0) + 1\n ) - 1 || 0;\n\n if('mlc' in d) lineColor = d.mlcc = fns.lineScale(d.mlc);\n // weird case: array wasn't long enough to apply to every point\n else if(Lib.isArrayOrTypedArray(markerLine.color)) lineColor = Color.defaultLine;\n else lineColor = markerLine.color;\n\n if(Lib.isArrayOrTypedArray(marker.color)) {\n fillColor = Color.defaultLine;\n perPointGradient = true;\n }\n\n if('mc' in d) {\n fillColor = d.mcc = fns.markerScale(d.mc);\n } else {\n fillColor = marker.color || 'rgba(0,0,0,0)';\n }\n\n if(fns.selectedColorFn) {\n fillColor = fns.selectedColorFn(d);\n }\n }\n\n if(d.om) {\n // open markers can't have zero linewidth, default to 1px,\n // and use fill color as stroke color\n sel.call(Color.stroke, fillColor)\n .style({\n 'stroke-width': (lineWidth || 1) + 'px',\n fill: 'none'\n });\n } else {\n sel.style('stroke-width', (d.isBlank ? 0 : lineWidth) + 'px');\n\n var markerGradient = marker.gradient;\n\n var gradientType = d.mgt;\n if(gradientType) perPointGradient = true;\n else gradientType = markerGradient && markerGradient.type;\n\n // for legend - arrays will propagate through here, but we don't need\n // to treat it as per-point.\n if(Array.isArray(gradientType)) {\n gradientType = gradientType[0];\n if(!gradientInfo[gradientType]) gradientType = 0;\n }\n\n if(gradientType && gradientType !== 'none') {\n var gradientColor = d.mgc;\n if(gradientColor) perPointGradient = true;\n else gradientColor = markerGradient.color;\n\n var gradientID = trace.uid;\n if(perPointGradient) gradientID += '-' + d.i;\n\n drawing.gradient(sel, gd, gradientID, gradientType,\n [[0, gradientColor], [1, fillColor]], 'fill');\n } else {\n Color.fill(sel, fillColor);\n }\n\n if(lineWidth) {\n Color.stroke(sel, lineColor);\n }\n }\n};\n\ndrawing.makePointStyleFns = function(trace) {\n var out = {};\n var marker = trace.marker;\n\n // allow array marker and marker line colors to be\n // scaled by given max and min to colorscales\n out.markerScale = drawing.tryColorscale(marker, '');\n out.lineScale = drawing.tryColorscale(marker, 'line');\n\n if(Registry.traceIs(trace, 'symbols')) {\n out.ms2mrc = subTypes.isBubble(trace) ?\n makeBubbleSizeFn(trace) :\n function() { return (marker.size || 6) / 2; };\n }\n\n if(trace.selectedpoints) {\n Lib.extendFlat(out, drawing.makeSelectedPointStyleFns(trace));\n }\n\n return out;\n};\n\ndrawing.makeSelectedPointStyleFns = function(trace) {\n var out = {};\n\n var selectedAttrs = trace.selected || {};\n var unselectedAttrs = trace.unselected || {};\n\n var marker = trace.marker || {};\n var selectedMarker = selectedAttrs.marker || {};\n var unselectedMarker = unselectedAttrs.marker || {};\n\n var mo = marker.opacity;\n var smo = selectedMarker.opacity;\n var usmo = unselectedMarker.opacity;\n var smoIsDefined = smo !== undefined;\n var usmoIsDefined = usmo !== undefined;\n\n if(Lib.isArrayOrTypedArray(mo) || smoIsDefined || usmoIsDefined) {\n out.selectedOpacityFn = function(d) {\n var base = d.mo === undefined ? marker.opacity : d.mo;\n\n if(d.selected) {\n return smoIsDefined ? smo : base;\n } else {\n return usmoIsDefined ? usmo : DESELECTDIM * base;\n }\n };\n }\n\n var mc = marker.color;\n var smc = selectedMarker.color;\n var usmc = unselectedMarker.color;\n\n if(smc || usmc) {\n out.selectedColorFn = function(d) {\n var base = d.mcc || mc;\n\n if(d.selected) {\n return smc || base;\n } else {\n return usmc || base;\n }\n };\n }\n\n var ms = marker.size;\n var sms = selectedMarker.size;\n var usms = unselectedMarker.size;\n var smsIsDefined = sms !== undefined;\n var usmsIsDefined = usms !== undefined;\n\n if(Registry.traceIs(trace, 'symbols') && (smsIsDefined || usmsIsDefined)) {\n out.selectedSizeFn = function(d) {\n var base = d.mrc || ms / 2;\n\n if(d.selected) {\n return smsIsDefined ? sms / 2 : base;\n } else {\n return usmsIsDefined ? usms / 2 : base;\n }\n };\n }\n\n return out;\n};\n\ndrawing.makeSelectedTextStyleFns = function(trace) {\n var out = {};\n\n var selectedAttrs = trace.selected || {};\n var unselectedAttrs = trace.unselected || {};\n\n var textFont = trace.textfont || {};\n var selectedTextFont = selectedAttrs.textfont || {};\n var unselectedTextFont = unselectedAttrs.textfont || {};\n\n var tc = textFont.color;\n var stc = selectedTextFont.color;\n var utc = unselectedTextFont.color;\n\n out.selectedTextColorFn = function(d) {\n var base = d.tc || tc;\n\n if(d.selected) {\n return stc || base;\n } else {\n if(utc) return utc;\n else return stc ? base : Color.addOpacity(base, DESELECTDIM);\n }\n };\n\n return out;\n};\n\ndrawing.selectedPointStyle = function(s, trace) {\n if(!s.size() || !trace.selectedpoints) return;\n\n var fns = drawing.makeSelectedPointStyleFns(trace);\n var marker = trace.marker || {};\n var seq = [];\n\n if(fns.selectedOpacityFn) {\n seq.push(function(pt, d) {\n pt.style('opacity', fns.selectedOpacityFn(d));\n });\n }\n\n if(fns.selectedColorFn) {\n seq.push(function(pt, d) {\n Color.fill(pt, fns.selectedColorFn(d));\n });\n }\n\n if(fns.selectedSizeFn) {\n seq.push(function(pt, d) {\n var mx = d.mx || marker.symbol || 0;\n var mrc2 = fns.selectedSizeFn(d);\n\n pt.attr('d', makePointPath(drawing.symbolNumber(mx), mrc2));\n\n // save for Drawing.selectedTextStyle\n d.mrc2 = mrc2;\n });\n }\n\n if(seq.length) {\n s.each(function(d) {\n var pt = d3.select(this);\n for(var i = 0; i < seq.length; i++) {\n seq[i](pt, d);\n }\n });\n }\n};\n\ndrawing.tryColorscale = function(marker, prefix) {\n var cont = prefix ? Lib.nestedProperty(marker, prefix).get() : marker;\n\n if(cont) {\n var colorArray = cont.color;\n if((cont.colorscale || cont._colorAx) && Lib.isArrayOrTypedArray(colorArray)) {\n return Colorscale.makeColorScaleFuncFromTrace(cont);\n }\n }\n return Lib.identity;\n};\n\nvar TEXTOFFSETSIGN = {\n start: 1, end: -1, middle: 0, bottom: 1, top: -1\n};\n\nfunction textPointPosition(s, textPosition, fontSize, markerRadius) {\n var group = d3.select(s.node().parentNode);\n\n var v = textPosition.indexOf('top') !== -1 ?\n 'top' :\n textPosition.indexOf('bottom') !== -1 ? 'bottom' : 'middle';\n var h = textPosition.indexOf('left') !== -1 ?\n 'end' :\n textPosition.indexOf('right') !== -1 ? 'start' : 'middle';\n\n // if markers are shown, offset a little more than\n // the nominal marker size\n // ie 2/1.6 * nominal, bcs some markers are a bit bigger\n var r = markerRadius ? markerRadius / 0.8 + 1 : 0;\n\n var numLines = (svgTextUtils.lineCount(s) - 1) * LINE_SPACING + 1;\n var dx = TEXTOFFSETSIGN[h] * r;\n var dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r +\n (TEXTOFFSETSIGN[v] - 1) * numLines * fontSize / 2;\n\n // fix the overall text group position\n s.attr('text-anchor', h);\n group.attr('transform', 'translate(' + dx + ',' + dy + ')');\n}\n\nfunction extracTextFontSize(d, trace) {\n var fontSize = d.ts || trace.textfont.size;\n return (isNumeric(fontSize) && fontSize > 0) ? fontSize : 0;\n}\n\n// draw text at points\ndrawing.textPointStyle = function(s, trace, gd) {\n if(!s.size()) return;\n\n var selectedTextColorFn;\n if(trace.selectedpoints) {\n var fns = drawing.makeSelectedTextStyleFns(trace);\n selectedTextColorFn = fns.selectedTextColorFn;\n }\n\n var texttemplate = trace.texttemplate;\n var fullLayout = gd._fullLayout;\n\n s.each(function(d) {\n var p = d3.select(this);\n\n var text = texttemplate ?\n Lib.extractOption(d, trace, 'txt', 'texttemplate') :\n Lib.extractOption(d, trace, 'tx', 'text');\n\n if(!text && text !== 0) {\n p.remove();\n return;\n }\n\n if(texttemplate) {\n var labels = trace._module.formatLabels ? trace._module.formatLabels(d, trace, fullLayout) : {};\n var pointValues = {};\n appendArrayPointValue(pointValues, trace, d.i);\n var meta = trace._meta || {};\n text = Lib.texttemplateString(text, labels, fullLayout._d3locale, pointValues, d, meta);\n }\n\n var pos = d.tp || trace.textposition;\n var fontSize = extracTextFontSize(d, trace);\n var fontColor = selectedTextColorFn ?\n selectedTextColorFn(d) :\n (d.tc || trace.textfont.color);\n\n p.call(drawing.font,\n d.tf || trace.textfont.family,\n fontSize,\n fontColor)\n .text(text)\n .call(svgTextUtils.convertToTspans, gd)\n .call(textPointPosition, pos, fontSize, d.mrc);\n });\n};\n\ndrawing.selectedTextStyle = function(s, trace) {\n if(!s.size() || !trace.selectedpoints) return;\n\n var fns = drawing.makeSelectedTextStyleFns(trace);\n\n s.each(function(d) {\n var tx = d3.select(this);\n var tc = fns.selectedTextColorFn(d);\n var tp = d.tp || trace.textposition;\n var fontSize = extracTextFontSize(d, trace);\n\n Color.fill(tx, tc);\n textPointPosition(tx, tp, fontSize, d.mrc2 || d.mrc);\n });\n};\n\n// generalized Catmull-Rom splines, per\n// http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf\nvar CatmullRomExp = 0.5;\ndrawing.smoothopen = function(pts, smoothness) {\n if(pts.length < 3) { return 'M' + pts.join('L');}\n var path = 'M' + pts[0];\n var tangents = [];\n var i;\n for(i = 1; i < pts.length - 1; i++) {\n tangents.push(makeTangent(pts[i - 1], pts[i], pts[i + 1], smoothness));\n }\n path += 'Q' + tangents[0][0] + ' ' + pts[1];\n for(i = 2; i < pts.length - 1; i++) {\n path += 'C' + tangents[i - 2][1] + ' ' + tangents[i - 1][0] + ' ' + pts[i];\n }\n path += 'Q' + tangents[pts.length - 3][1] + ' ' + pts[pts.length - 1];\n return path;\n};\n\ndrawing.smoothclosed = function(pts, smoothness) {\n if(pts.length < 3) { return 'M' + pts.join('L') + 'Z'; }\n var path = 'M' + pts[0];\n var pLast = pts.length - 1;\n var tangents = [makeTangent(pts[pLast], pts[0], pts[1], smoothness)];\n var i;\n for(i = 1; i < pLast; i++) {\n tangents.push(makeTangent(pts[i - 1], pts[i], pts[i + 1], smoothness));\n }\n tangents.push(\n makeTangent(pts[pLast - 1], pts[pLast], pts[0], smoothness)\n );\n\n for(i = 1; i <= pLast; i++) {\n path += 'C' + tangents[i - 1][1] + ' ' + tangents[i][0] + ' ' + pts[i];\n }\n path += 'C' + tangents[pLast][1] + ' ' + tangents[0][0] + ' ' + pts[0] + 'Z';\n return path;\n};\n\nfunction makeTangent(prevpt, thispt, nextpt, smoothness) {\n var d1x = prevpt[0] - thispt[0];\n var d1y = prevpt[1] - thispt[1];\n var d2x = nextpt[0] - thispt[0];\n var d2y = nextpt[1] - thispt[1];\n var d1a = Math.pow(d1x * d1x + d1y * d1y, CatmullRomExp / 2);\n var d2a = Math.pow(d2x * d2x + d2y * d2y, CatmullRomExp / 2);\n var numx = (d2a * d2a * d1x - d1a * d1a * d2x) * smoothness;\n var numy = (d2a * d2a * d1y - d1a * d1a * d2y) * smoothness;\n var denom1 = 3 * d2a * (d1a + d2a);\n var denom2 = 3 * d1a * (d1a + d2a);\n return [\n [\n d3.round(thispt[0] + (denom1 && numx / denom1), 2),\n d3.round(thispt[1] + (denom1 && numy / denom1), 2)\n ], [\n d3.round(thispt[0] - (denom2 && numx / denom2), 2),\n d3.round(thispt[1] - (denom2 && numy / denom2), 2)\n ]\n ];\n}\n\n// step paths - returns a generator function for paths\n// with the given step shape\nvar STEPPATH = {\n hv: function(p0, p1) {\n return 'H' + d3.round(p1[0], 2) + 'V' + d3.round(p1[1], 2);\n },\n vh: function(p0, p1) {\n return 'V' + d3.round(p1[1], 2) + 'H' + d3.round(p1[0], 2);\n },\n hvh: function(p0, p1) {\n return 'H' + d3.round((p0[0] + p1[0]) / 2, 2) + 'V' +\n d3.round(p1[1], 2) + 'H' + d3.round(p1[0], 2);\n },\n vhv: function(p0, p1) {\n return 'V' + d3.round((p0[1] + p1[1]) / 2, 2) + 'H' +\n d3.round(p1[0], 2) + 'V' + d3.round(p1[1], 2);\n }\n};\nvar STEPLINEAR = function(p0, p1) {\n return 'L' + d3.round(p1[0], 2) + ',' + d3.round(p1[1], 2);\n};\ndrawing.steps = function(shape) {\n var onestep = STEPPATH[shape] || STEPLINEAR;\n return function(pts) {\n var path = 'M' + d3.round(pts[0][0], 2) + ',' + d3.round(pts[0][1], 2);\n for(var i = 1; i < pts.length; i++) {\n path += onestep(pts[i - 1], pts[i]);\n }\n return path;\n };\n};\n\n// off-screen svg render testing element, shared by the whole page\n// uses the id 'js-plotly-tester' and stores it in drawing.tester\ndrawing.makeTester = function() {\n var tester = Lib.ensureSingleById(d3.select('body'), 'svg', 'js-plotly-tester', function(s) {\n s.attr(xmlnsNamespaces.svgAttrs)\n .style({\n position: 'absolute',\n left: '-10000px',\n top: '-10000px',\n width: '9000px',\n height: '9000px',\n 'z-index': '1'\n });\n });\n\n // browsers differ on how they describe the bounding rect of\n // the svg if its contents spill over... so make a 1x1px\n // reference point we can measure off of.\n var testref = Lib.ensureSingle(tester, 'path', 'js-reference-point', function(s) {\n s.attr('d', 'M0,0H1V1H0Z')\n .style({\n 'stroke-width': 0,\n fill: 'black'\n });\n });\n\n drawing.tester = tester;\n drawing.testref = testref;\n};\n\n/*\n * use our offscreen tester to get a clientRect for an element,\n * in a reference frame where it isn't translated (or transformed) and\n * its anchor point is at (0,0)\n * always returns a copy of the bbox, so the caller can modify it safely\n *\n * @param {SVGElement} node: the element to measure. If possible this should be\n * a or MathJax element that's already passed through\n * `convertToTspans` because in that case we can cache the results, but it's\n * possible to pass in any svg element.\n *\n * @param {boolean} inTester: is this element already in `drawing.tester`?\n * If you are measuring a dummy element, rather than one you really intend\n * to use on the plot, making it in `drawing.tester` in the first place\n * allows us to test faster because it cuts out cloning and appending it.\n *\n * @param {string} hash: for internal use only, if we already know the cache key\n * for this element beforehand.\n *\n * @return {object}: a plain object containing the width, height, left, right,\n * top, and bottom of `node`\n */\ndrawing.savedBBoxes = {};\nvar savedBBoxesCount = 0;\nvar maxSavedBBoxes = 10000;\n\ndrawing.bBox = function(node, inTester, hash) {\n /*\n * Cache elements we've already measured so we don't have to\n * remeasure the same thing many times\n * We have a few bBox callers though who pass a node larger than\n * a or a MathJax , such as an axis group containing many labels.\n * These will not generate a hash (unless we figure out an appropriate\n * hash key for them) and thus we will not hash them.\n */\n if(!hash) hash = nodeHash(node);\n var out;\n if(hash) {\n out = drawing.savedBBoxes[hash];\n if(out) return Lib.extendFlat({}, out);\n } else if(node.childNodes.length === 1) {\n /*\n * If we have only one child element, which is itself hashable, make\n * a new hash from this element plus its x,y,transform\n * These bounding boxes *include* x,y,transform - mostly for use by\n * callers trying to avoid overlaps (ie titles)\n */\n var innerNode = node.childNodes[0];\n\n hash = nodeHash(innerNode);\n if(hash) {\n var x = +innerNode.getAttribute('x') || 0;\n var y = +innerNode.getAttribute('y') || 0;\n var transform = innerNode.getAttribute('transform');\n\n if(!transform) {\n // in this case, just varying x and y, don't bother caching\n // the final bBox because the alteration is quick.\n var innerBB = drawing.bBox(innerNode, false, hash);\n if(x) {\n innerBB.left += x;\n innerBB.right += x;\n }\n if(y) {\n innerBB.top += y;\n innerBB.bottom += y;\n }\n return innerBB;\n }\n /*\n * else we have a transform - rather than make a complicated\n * (and error-prone and probably slow) transform parser/calculator,\n * just continue on calculating the boundingClientRect of the group\n * and use the new composite hash to cache it.\n * That said, `innerNode.transform.baseVal` is an array of\n * `SVGTransform` objects, that *do* seem to have a nice matrix\n * multiplication interface that we could use to avoid making\n * another getBoundingClientRect call...\n */\n hash += '~' + x + '~' + y + '~' + transform;\n\n out = drawing.savedBBoxes[hash];\n if(out) return Lib.extendFlat({}, out);\n }\n }\n var testNode, tester;\n if(inTester) {\n testNode = node;\n } else {\n tester = drawing.tester.node();\n\n // copy the node to test into the tester\n testNode = node.cloneNode(true);\n tester.appendChild(testNode);\n }\n\n // standardize its position (and newline tspans if any)\n d3.select(testNode)\n .attr('transform', null)\n .call(svgTextUtils.positionText, 0, 0);\n\n var testRect = testNode.getBoundingClientRect();\n var refRect = drawing.testref\n .node()\n .getBoundingClientRect();\n\n if(!inTester) tester.removeChild(testNode);\n\n var bb = {\n height: testRect.height,\n width: testRect.width,\n left: testRect.left - refRect.left,\n top: testRect.top - refRect.top,\n right: testRect.right - refRect.left,\n bottom: testRect.bottom - refRect.top\n };\n\n // make sure we don't have too many saved boxes,\n // or a long session could overload on memory\n // by saving boxes for long-gone elements\n if(savedBBoxesCount >= maxSavedBBoxes) {\n drawing.savedBBoxes = {};\n savedBBoxesCount = 0;\n }\n\n // cache this bbox\n if(hash) drawing.savedBBoxes[hash] = bb;\n savedBBoxesCount++;\n\n return Lib.extendFlat({}, bb);\n};\n\n// capture everything about a node (at least in our usage) that\n// impacts its bounding box, given that bBox clears x, y, and transform\nfunction nodeHash(node) {\n var inputText = node.getAttribute('data-unformatted');\n if(inputText === null) return;\n return inputText +\n node.getAttribute('data-math') +\n node.getAttribute('text-anchor') +\n node.getAttribute('style');\n}\n\n/**\n * Set clipPath URL in a way that work for all situations.\n *\n * In details, graphs on pages with HTML tags need to prepend\n * the clip path ids with the page's base url EXCEPT during toImage exports.\n *\n * @param {d3 selection} s : node to add clip-path attribute\n * @param {string} localId : local clip-path (w/o base url) id\n * @param {DOM element || object} gd\n * - context._baseUrl {string}\n * - context._exportedPlot {boolean}\n */\ndrawing.setClipUrl = function(s, localId, gd) {\n s.attr('clip-path', getFullUrl(localId, gd));\n};\n\nfunction getFullUrl(localId, gd) {\n if(!localId) return null;\n\n var context = gd._context;\n var baseUrl = context._exportedPlot ? '' : (context._baseUrl || '');\n return 'url(\\'' + baseUrl + '#' + localId + '\\')';\n}\n\ndrawing.getTranslate = function(element) {\n // Note the separator [^\\d] between x and y in this regex\n // We generally use ',' but IE will convert it to ' '\n var re = /.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var transform = element[getter]('transform') || '';\n\n var translate = transform.replace(re, function(match, p1, p2) {\n return [p1, p2].join(' ');\n })\n .split(' ');\n\n return {\n x: +translate[0] || 0,\n y: +translate[1] || 0\n };\n};\n\ndrawing.setTranslate = function(element, x, y) {\n var re = /(\\btranslate\\(.*?\\);?)/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var setter = element.attr ? 'attr' : 'setAttribute';\n var transform = element[getter]('transform') || '';\n\n x = x || 0;\n y = y || 0;\n\n transform = transform.replace(re, '').trim();\n transform += ' translate(' + x + ', ' + y + ')';\n transform = transform.trim();\n\n element[setter]('transform', transform);\n\n return transform;\n};\n\ndrawing.getScale = function(element) {\n var re = /.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var transform = element[getter]('transform') || '';\n\n var translate = transform.replace(re, function(match, p1, p2) {\n return [p1, p2].join(' ');\n })\n .split(' ');\n\n return {\n x: +translate[0] || 1,\n y: +translate[1] || 1\n };\n};\n\ndrawing.setScale = function(element, x, y) {\n var re = /(\\bscale\\(.*?\\);?)/;\n var getter = element.attr ? 'attr' : 'getAttribute';\n var setter = element.attr ? 'attr' : 'setAttribute';\n var transform = element[getter]('transform') || '';\n\n x = x || 1;\n y = y || 1;\n\n transform = transform.replace(re, '').trim();\n transform += ' scale(' + x + ', ' + y + ')';\n transform = transform.trim();\n\n element[setter]('transform', transform);\n\n return transform;\n};\n\nvar SCALE_RE = /\\s*sc.*/;\n\ndrawing.setPointGroupScale = function(selection, xScale, yScale) {\n xScale = xScale || 1;\n yScale = yScale || 1;\n\n if(!selection) return;\n\n // The same scale transform for every point:\n var scale = (xScale === 1 && yScale === 1) ?\n '' :\n ' scale(' + xScale + ',' + yScale + ')';\n\n selection.each(function() {\n var t = (this.getAttribute('transform') || '').replace(SCALE_RE, '');\n t += scale;\n t = t.trim();\n this.setAttribute('transform', t);\n });\n};\n\nvar TEXT_POINT_LAST_TRANSLATION_RE = /translate\\([^)]*\\)\\s*$/;\n\ndrawing.setTextPointsScale = function(selection, xScale, yScale) {\n if(!selection) return;\n\n selection.each(function() {\n var transforms;\n var el = d3.select(this);\n var text = el.select('text');\n\n if(!text.node()) return;\n\n var x = parseFloat(text.attr('x') || 0);\n var y = parseFloat(text.attr('y') || 0);\n\n var existingTransform = (el.attr('transform') || '').match(TEXT_POINT_LAST_TRANSLATION_RE);\n\n if(xScale === 1 && yScale === 1) {\n transforms = [];\n } else {\n transforms = [\n 'translate(' + x + ',' + y + ')',\n 'scale(' + xScale + ',' + yScale + ')',\n 'translate(' + (-x) + ',' + (-y) + ')',\n ];\n }\n\n if(existingTransform) {\n transforms.push(existingTransform);\n }\n\n el.attr('transform', transforms.join(' '));\n });\n};\n\n\n/***/ }),\n\n/***/ \"8418\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(\"c04e\");\nvar definePropertyModule = __webpack_require__(\"9bf2\");\nvar createPropertyDescriptor = __webpack_require__(\"5c6c\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ \"849d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\n\n// The contour extraction is great, except it totally fails for constraints because we\n// need weird range loops and flipped contours instead of the usual format. This function\n// does some weird manipulation of the extracted pathinfo data such that it magically\n// draws contours correctly *as* constraints.\n//\n// ** I do not know which \"weird range loops\" the comment above is referring to.\nmodule.exports = function(pathinfo, operation) {\n var i, pi0, pi1;\n\n var op0 = function(arr) { return arr.reverse(); };\n var op1 = function(arr) { return arr; };\n\n switch(operation) {\n case '=':\n case '<':\n return pathinfo;\n case '>':\n if(pathinfo.length !== 1) {\n Lib.warn('Contour data invalid for the specified inequality operation.');\n }\n\n // In this case there should be exactly one contour levels in pathinfo.\n // We flip all of the data. This will draw the contour as closed.\n pi0 = pathinfo[0];\n\n for(i = 0; i < pi0.edgepaths.length; i++) {\n pi0.edgepaths[i] = op0(pi0.edgepaths[i]);\n }\n for(i = 0; i < pi0.paths.length; i++) {\n pi0.paths[i] = op0(pi0.paths[i]);\n }\n for(i = 0; i < pi0.starts.length; i++) {\n pi0.starts[i] = op0(pi0.starts[i]);\n }\n\n return pathinfo;\n case '][':\n var tmp = op0;\n op0 = op1;\n op1 = tmp;\n // It's a nice rule, except this definitely *is* what's intended here.\n /* eslint-disable: no-fallthrough */\n case '[]':\n /* eslint-enable: no-fallthrough */\n if(pathinfo.length !== 2) {\n Lib.warn('Contour data invalid for the specified inequality range operation.');\n }\n\n // In this case there should be exactly two contour levels in pathinfo.\n // - We concatenate the info into one pathinfo.\n // - We must also flip all of the data in the `[]` case.\n // This will draw the contours as closed.\n pi0 = copyPathinfo(pathinfo[0]);\n pi1 = copyPathinfo(pathinfo[1]);\n\n for(i = 0; i < pi0.edgepaths.length; i++) {\n pi0.edgepaths[i] = op0(pi0.edgepaths[i]);\n }\n for(i = 0; i < pi0.paths.length; i++) {\n pi0.paths[i] = op0(pi0.paths[i]);\n }\n for(i = 0; i < pi0.starts.length; i++) {\n pi0.starts[i] = op0(pi0.starts[i]);\n }\n\n while(pi1.edgepaths.length) {\n pi0.edgepaths.push(op1(pi1.edgepaths.shift()));\n }\n while(pi1.paths.length) {\n pi0.paths.push(op1(pi1.paths.shift()));\n }\n while(pi1.starts.length) {\n pi0.starts.push(op1(pi1.starts.shift()));\n }\n\n return [pi0];\n }\n};\n\nfunction copyPathinfo(pi) {\n return Lib.extendFlat({}, pi, {\n edgepaths: Lib.extendDeep([], pi.edgepaths),\n paths: Lib.extendDeep([], pi.paths),\n starts: Lib.extendDeep([], pi.starts)\n });\n}\n\n\n/***/ }),\n\n/***/ \"84a1\":\n/***/ (function(module, exports) {\n\nmodule.exports = function () {\n for (var i = 0; i < arguments.length; i++) {\n if (arguments[i] !== undefined) return arguments[i];\n }\n};\n\n\n/***/ }),\n\n/***/ \"84af\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction dupe_array(count, value, i) {\n var c = count[i]|0\n if(c <= 0) {\n return []\n }\n var result = new Array(c), j\n if(i === count.length-1) {\n for(j=0; j 0) {\n return dupe_number(count|0, value)\n }\n break\n case \"object\":\n if(typeof (count.length) === \"number\") {\n return dupe_array(count, value, 0)\n }\n break\n }\n return []\n}\n\nmodule.exports = dupe\n\n/***/ }),\n\n/***/ \"84d3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isValue = __webpack_require__(\"936a\")\n , isObject = __webpack_require__(\"5edd\")\n , stringCoerce = __webpack_require__(\"eae0\")\n , toShortString = __webpack_require__(\"7d88\");\n\nvar resolveMessage = function (message, value) {\n\treturn message.replace(\"%v\", toShortString(value));\n};\n\nmodule.exports = function (value, defaultMessage, inputOptions) {\n\tif (!isObject(inputOptions)) throw new TypeError(resolveMessage(defaultMessage, value));\n\tif (!isValue(value)) {\n\t\tif (\"default\" in inputOptions) return inputOptions[\"default\"];\n\t\tif (inputOptions.isOptional) return null;\n\t}\n\tvar errorMessage = stringCoerce(inputOptions.errorMessage);\n\tif (!isValue(errorMessage)) errorMessage = defaultMessage;\n\tthrow new TypeError(resolveMessage(errorMessage, value));\n};\n\n\n/***/ }),\n\n/***/ \"84df\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar SHOWISOLATETIP = true;\n\nmodule.exports = function handleClick(g, gd, numClicks) {\n var fullLayout = gd._fullLayout;\n\n if(gd._dragged || gd._editing) return;\n\n var itemClick = fullLayout.legend.itemclick;\n var itemDoubleClick = fullLayout.legend.itemdoubleclick;\n\n if(numClicks === 1 && itemClick === 'toggle' && itemDoubleClick === 'toggleothers' &&\n SHOWISOLATETIP && gd.data && gd._context.showTips\n ) {\n Lib.notifier(Lib._(gd, 'Double-click on legend to isolate one trace'), 'long');\n SHOWISOLATETIP = false;\n } else {\n SHOWISOLATETIP = false;\n }\n\n var mode;\n if(numClicks === 1) mode = itemClick;\n else if(numClicks === 2) mode = itemDoubleClick;\n if(!mode) return;\n\n var hiddenSlices = fullLayout.hiddenlabels ?\n fullLayout.hiddenlabels.slice() :\n [];\n\n var legendItem = g.data()[0][0];\n var fullData = gd._fullData;\n var fullTrace = legendItem.trace;\n var legendgroup = fullTrace.legendgroup;\n\n var i, j, kcont, key, keys, val;\n var attrUpdate = {};\n var attrIndices = [];\n var carrs = [];\n var carrIdx = [];\n\n function insertUpdate(traceIndex, key, value) {\n var attrIndex = attrIndices.indexOf(traceIndex);\n var valueArray = attrUpdate[key];\n if(!valueArray) {\n valueArray = attrUpdate[key] = [];\n }\n\n if(attrIndices.indexOf(traceIndex) === -1) {\n attrIndices.push(traceIndex);\n attrIndex = attrIndices.length - 1;\n }\n\n valueArray[attrIndex] = value;\n\n return attrIndex;\n }\n\n function setVisibility(fullTrace, visibility) {\n var fullInput = fullTrace._fullInput;\n if(Registry.hasTransform(fullInput, 'groupby')) {\n var kcont = carrs[fullInput.index];\n if(!kcont) {\n var groupbyIndices = Registry.getTransformIndices(fullInput, 'groupby');\n var lastGroupbyIndex = groupbyIndices[groupbyIndices.length - 1];\n kcont = Lib.keyedContainer(fullInput, 'transforms[' + lastGroupbyIndex + '].styles', 'target', 'value.visible');\n carrs[fullInput.index] = kcont;\n }\n\n var curState = kcont.get(fullTrace._group);\n\n // If not specified, assume visible. This happens if there are other style\n // properties set for a group but not the visibility. There are many similar\n // ways to do this (e.g. why not just `curState = fullTrace.visible`??? The\n // answer is: because it breaks other things like groupby trace names in\n // subtle ways.)\n if(curState === undefined) {\n curState = true;\n }\n\n if(curState !== false) {\n // true -> legendonly. All others toggle to true:\n kcont.set(fullTrace._group, visibility);\n }\n carrIdx[fullInput.index] = insertUpdate(fullInput.index, 'visible', fullInput.visible === false ? false : true);\n } else {\n // false -> false (not possible since will not be visible in legend)\n // true -> legendonly\n // legendonly -> true\n var nextVisibility = fullInput.visible === false ? false : visibility;\n\n insertUpdate(fullInput.index, 'visible', nextVisibility);\n }\n }\n\n if(Registry.traceIs(fullTrace, 'pie-like')) {\n var thisLabel = legendItem.label;\n var thisLabelIndex = hiddenSlices.indexOf(thisLabel);\n\n if(mode === 'toggle') {\n if(thisLabelIndex === -1) hiddenSlices.push(thisLabel);\n else hiddenSlices.splice(thisLabelIndex, 1);\n } else if(mode === 'toggleothers') {\n hiddenSlices = [];\n gd.calcdata[0].forEach(function(d) {\n if(thisLabel !== d.label) {\n hiddenSlices.push(d.label);\n }\n });\n if(gd._fullLayout.hiddenlabels && gd._fullLayout.hiddenlabels.length === hiddenSlices.length && thisLabelIndex === -1) {\n hiddenSlices = [];\n }\n }\n\n Registry.call('_guiRelayout', gd, 'hiddenlabels', hiddenSlices);\n } else {\n var hasLegendgroup = legendgroup && legendgroup.length;\n var traceIndicesInGroup = [];\n var tracei;\n if(hasLegendgroup) {\n for(i = 0; i < fullData.length; i++) {\n tracei = fullData[i];\n if(!tracei.visible) continue;\n if(tracei.legendgroup === legendgroup) {\n traceIndicesInGroup.push(i);\n }\n }\n }\n\n if(mode === 'toggle') {\n var nextVisibility;\n\n switch(fullTrace.visible) {\n case true:\n nextVisibility = 'legendonly';\n break;\n case false:\n nextVisibility = false;\n break;\n case 'legendonly':\n nextVisibility = true;\n break;\n }\n\n if(hasLegendgroup) {\n for(i = 0; i < fullData.length; i++) {\n if(fullData[i].visible !== false && fullData[i].legendgroup === legendgroup) {\n setVisibility(fullData[i], nextVisibility);\n }\n }\n } else {\n setVisibility(fullTrace, nextVisibility);\n }\n } else if(mode === 'toggleothers') {\n // Compute the clicked index. expandedIndex does what we want for expanded traces\n // but also culls hidden traces. That means we have some work to do.\n var isClicked, isInGroup, notInLegend, otherState;\n var isIsolated = true;\n for(i = 0; i < fullData.length; i++) {\n isClicked = fullData[i] === fullTrace;\n notInLegend = fullData[i].showlegend !== true;\n if(isClicked || notInLegend) continue;\n\n isInGroup = (hasLegendgroup && fullData[i].legendgroup === legendgroup);\n\n if(!isInGroup && fullData[i].visible === true && !Registry.traceIs(fullData[i], 'notLegendIsolatable')) {\n isIsolated = false;\n break;\n }\n }\n\n for(i = 0; i < fullData.length; i++) {\n // False is sticky; we don't change it.\n if(fullData[i].visible === false) continue;\n\n if(Registry.traceIs(fullData[i], 'notLegendIsolatable')) {\n continue;\n }\n\n switch(fullTrace.visible) {\n case 'legendonly':\n setVisibility(fullData[i], true);\n break;\n case true:\n otherState = isIsolated ? true : 'legendonly';\n isClicked = fullData[i] === fullTrace;\n // N.B. consider traces that have a set legendgroup as toggleable\n notInLegend = (fullData[i].showlegend !== true && !fullData[i].legendgroup);\n isInGroup = isClicked || (hasLegendgroup && fullData[i].legendgroup === legendgroup);\n setVisibility(fullData[i], (isInGroup || notInLegend) ? true : otherState);\n break;\n }\n }\n }\n\n for(i = 0; i < carrs.length; i++) {\n kcont = carrs[i];\n if(!kcont) continue;\n var update = kcont.constructUpdate();\n\n var updateKeys = Object.keys(update);\n for(j = 0; j < updateKeys.length; j++) {\n key = updateKeys[j];\n val = attrUpdate[key] = attrUpdate[key] || [];\n val[carrIdx[i]] = update[key];\n }\n }\n\n // The length of the value arrays should be equal and any unspecified\n // values should be explicitly undefined for them to get properly culled\n // as updates and not accidentally reset to the default value. This fills\n // out sparse arrays with the required number of undefined values:\n keys = Object.keys(attrUpdate);\n for(i = 0; i < keys.length; i++) {\n key = keys[i];\n for(j = 0; j < attrIndices.length; j++) {\n // Use hasOwnPropety to protect against falsey values:\n if(!attrUpdate[key].hasOwnProperty(j)) {\n attrUpdate[key][j] = undefined;\n }\n }\n }\n\n Registry.call('_guiRestyle', gd, attrUpdate, attrIndices);\n }\n};\n\n\n/***/ }),\n\n/***/ \"850f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nmodule.exports = function eventData(out, pt) {\n out.lon = pt.lon;\n out.lat = pt.lat;\n out.z = pt.z;\n return out;\n};\n\n\n/***/ }),\n\n/***/ \"855b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Events = __webpack_require__(\"8741\");\nvar throttle = __webpack_require__(\"7df2\");\nvar getGraphDiv = __webpack_require__(\"1b88\").getGraphDiv;\n\nvar hoverConstants = __webpack_require__(\"7fb7\");\n\nvar unhover = module.exports = {};\n\nunhover.wrapped = function(gd, evt, subplot) {\n gd = getGraphDiv(gd);\n\n // Important, clear any queued hovers\n if(gd._fullLayout) {\n throttle.clear(gd._fullLayout._uid + hoverConstants.HOVERID);\n }\n\n unhover.raw(gd, evt, subplot);\n};\n\n\n// remove hover effects on mouse out, and emit unhover event\nunhover.raw = function raw(gd, evt) {\n var fullLayout = gd._fullLayout;\n var oldhoverdata = gd._hoverdata;\n\n if(!evt) evt = {};\n if(evt.target &&\n Events.triggerHandler(gd, 'plotly_beforehover', evt) === false) {\n return;\n }\n\n fullLayout._hoverlayer.selectAll('g').remove();\n fullLayout._hoverlayer.selectAll('line').remove();\n fullLayout._hoverlayer.selectAll('circle').remove();\n gd._hoverdata = undefined;\n\n if(evt.target && oldhoverdata) {\n gd.emit('plotly_unhover', {\n event: evt,\n points: oldhoverdata\n });\n }\n};\n\n\n/***/ }),\n\n/***/ \"8568\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar Lib = __webpack_require__(\"fc26\");\nvar Axes = __webpack_require__(\"0642\");\n\nvar calcCommon = __webpack_require__(\"bb14\").calcCommon;\n\nmodule.exports = function(gd, trace) {\n var fullLayout = gd._fullLayout;\n var xa = Axes.getFromId(gd, trace.xaxis);\n var ya = Axes.getFromId(gd, trace.yaxis);\n\n var x = xa.makeCalcdata(trace, 'x');\n\n var cd = calcCommon(gd, trace, x, ya, ptFunc);\n\n if(cd.length) {\n Lib.extendFlat(cd[0].t, {\n num: fullLayout._numBoxes,\n dPos: Lib.distinctVals(x).minDiff / 2,\n posLetter: 'x',\n valLetter: 'y',\n });\n\n fullLayout._numBoxes++;\n return cd;\n } else {\n return [{t: {empty: true}}];\n }\n};\n\nfunction ptFunc(o, h, l, c) {\n return {\n min: l,\n q1: Math.min(o, c),\n med: c,\n q3: Math.max(o, c),\n max: h,\n };\n}\n\n\n/***/ }),\n\n/***/ \"8586\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = tokenize\r\n\r\nvar literals100 = __webpack_require__(\"1936\")\r\n , operators = __webpack_require__(\"6a25\")\r\n , builtins100 = __webpack_require__(\"5ecd\")\r\n , literals300es = __webpack_require__(\"f5f2\")\r\n , builtins300es = __webpack_require__(\"0648\")\r\n\r\nvar NORMAL = 999 // <-- never emitted\r\n , TOKEN = 9999 // <-- never emitted\r\n , BLOCK_COMMENT = 0\r\n , LINE_COMMENT = 1\r\n , PREPROCESSOR = 2\r\n , OPERATOR = 3\r\n , INTEGER = 4\r\n , FLOAT = 5\r\n , IDENT = 6\r\n , BUILTIN = 7\r\n , KEYWORD = 8\r\n , WHITESPACE = 9\r\n , EOF = 10\r\n , HEX = 11\r\n\r\nvar map = [\r\n 'block-comment'\r\n , 'line-comment'\r\n , 'preprocessor'\r\n , 'operator'\r\n , 'integer'\r\n , 'float'\r\n , 'ident'\r\n , 'builtin'\r\n , 'keyword'\r\n , 'whitespace'\r\n , 'eof'\r\n , 'integer'\r\n]\r\n\r\nfunction tokenize(opt) {\r\n var i = 0\r\n , total = 0\r\n , mode = NORMAL\r\n , c\r\n , last\r\n , content = []\r\n , tokens = []\r\n , token_idx = 0\r\n , token_offs = 0\r\n , line = 1\r\n , col = 0\r\n , start = 0\r\n , isnum = false\r\n , isoperator = false\r\n , input = ''\r\n , len\r\n\r\n opt = opt || {}\r\n var allBuiltins = builtins100\r\n var allLiterals = literals100\r\n if (opt.version === '300 es') {\r\n allBuiltins = builtins300es\r\n allLiterals = literals300es\r\n }\r\n\r\n // cache by name\r\n var builtinsDict = {}, literalsDict = {}\r\n for (var i = 0; i < allBuiltins.length; i++) {\r\n builtinsDict[allBuiltins[i]] = true\r\n }\r\n for (var i = 0; i < allLiterals.length; i++) {\r\n literalsDict[allLiterals[i]] = true\r\n }\r\n\r\n return function(data) {\r\n tokens = []\r\n if (data !== null) return write(data)\r\n return end()\r\n }\r\n\r\n function token(data) {\r\n if (data.length) {\r\n tokens.push({\r\n type: map[mode]\r\n , data: data\r\n , position: start\r\n , line: line\r\n , column: col\r\n })\r\n }\r\n }\r\n\r\n function write(chunk) {\r\n i = 0\r\n\r\n if (chunk.toString) chunk = chunk.toString()\r\n\r\n input += chunk.replace(/\\r\\n/g, '\\n')\r\n len = input.length\r\n\r\n\r\n var last\r\n\r\n while(c = input[i], i < len) {\r\n last = i\r\n\r\n switch(mode) {\r\n case BLOCK_COMMENT: i = block_comment(); break\r\n case LINE_COMMENT: i = line_comment(); break\r\n case PREPROCESSOR: i = preprocessor(); break\r\n case OPERATOR: i = operator(); break\r\n case INTEGER: i = integer(); break\r\n case HEX: i = hex(); break\r\n case FLOAT: i = decimal(); break\r\n case TOKEN: i = readtoken(); break\r\n case WHITESPACE: i = whitespace(); break\r\n case NORMAL: i = normal(); break\r\n }\r\n\r\n if(last !== i) {\r\n switch(input[last]) {\r\n case '\\n': col = 0; ++line; break\r\n default: ++col; break\r\n }\r\n }\r\n }\r\n\r\n total += i\r\n input = input.slice(i)\r\n return tokens\r\n }\r\n\r\n function end(chunk) {\r\n if(content.length) {\r\n token(content.join(''))\r\n }\r\n\r\n mode = EOF\r\n token('(eof)')\r\n return tokens\r\n }\r\n\r\n function normal() {\r\n content = content.length ? [] : content\r\n\r\n if(last === '/' && c === '*') {\r\n start = total + i - 1\r\n mode = BLOCK_COMMENT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(last === '/' && c === '/') {\r\n start = total + i - 1\r\n mode = LINE_COMMENT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(c === '#') {\r\n mode = PREPROCESSOR\r\n start = total + i\r\n return i\r\n }\r\n\r\n if(/\\s/.test(c)) {\r\n mode = WHITESPACE\r\n start = total + i\r\n return i\r\n }\r\n\r\n isnum = /\\d/.test(c)\r\n isoperator = /[^\\w_]/.test(c)\r\n\r\n start = total + i\r\n mode = isnum ? INTEGER : isoperator ? OPERATOR : TOKEN\r\n return i\r\n }\r\n\r\n function whitespace() {\r\n if(/[^\\s]/g.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function preprocessor() {\r\n if((c === '\\r' || c === '\\n') && last !== '\\\\') {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function line_comment() {\r\n return preprocessor()\r\n }\r\n\r\n function block_comment() {\r\n if(c === '/' && last === '*') {\r\n content.push(c)\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i + 1\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function operator() {\r\n if(last === '.' && /\\d/.test(c)) {\r\n mode = FLOAT\r\n return i\r\n }\r\n\r\n if(last === '/' && c === '*') {\r\n mode = BLOCK_COMMENT\r\n return i\r\n }\r\n\r\n if(last === '/' && c === '/') {\r\n mode = LINE_COMMENT\r\n return i\r\n }\r\n\r\n if(c === '.' && content.length) {\r\n while(determine_operator(content));\r\n\r\n mode = FLOAT\r\n return i\r\n }\r\n\r\n if(c === ';' || c === ')' || c === '(') {\r\n if(content.length) while(determine_operator(content));\r\n token(c)\r\n mode = NORMAL\r\n return i + 1\r\n }\r\n\r\n var is_composite_operator = content.length === 2 && c !== '='\r\n if(/[\\w_\\d\\s]/.test(c) || is_composite_operator) {\r\n while(determine_operator(content));\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function determine_operator(buf) {\r\n var j = 0\r\n , idx\r\n , res\r\n\r\n do {\r\n idx = operators.indexOf(buf.slice(0, buf.length + j).join(''))\r\n res = operators[idx]\r\n\r\n if(idx === -1) {\r\n if(j-- + buf.length > 0) continue\r\n res = buf.slice(0, 1).join('')\r\n }\r\n\r\n token(res)\r\n\r\n start += res.length\r\n content = content.slice(res.length)\r\n return content.length\r\n } while(1)\r\n }\r\n\r\n function hex() {\r\n if(/[^a-fA-F0-9]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function integer() {\r\n if(c === '.') {\r\n content.push(c)\r\n mode = FLOAT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[eE]/.test(c)) {\r\n content.push(c)\r\n mode = FLOAT\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(c === 'x' && content.length === 1 && content[0] === '0') {\r\n mode = HEX\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[^\\d]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function decimal() {\r\n if(c === 'f') {\r\n content.push(c)\r\n last = c\r\n i += 1\r\n }\r\n\r\n if(/[eE]/.test(c)) {\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if ((c === '-' || c === '+') && /[eE]/.test(last)) {\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n if(/[^\\d]/.test(c)) {\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n\r\n function readtoken() {\r\n if(/[^\\d\\w_]/.test(c)) {\r\n var contentstr = content.join('')\r\n if(literalsDict[contentstr]) {\r\n mode = KEYWORD\r\n } else if(builtinsDict[contentstr]) {\r\n mode = BUILTIN\r\n } else {\r\n mode = IDENT\r\n }\r\n token(content.join(''))\r\n mode = NORMAL\r\n return i\r\n }\r\n content.push(c)\r\n last = c\r\n return i + 1\r\n }\r\n}\r\n\n\n/***/ }),\n\n/***/ \"860b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar mapboxgl = __webpack_require__(\"e192\");\n\nvar Lib = __webpack_require__(\"fc26\");\nvar getSubplotCalcData = __webpack_require__(\"ad62\").getSubplotCalcData;\nvar xmlnsNamespaces = __webpack_require__(\"73c9\");\nvar d3 = __webpack_require__(\"6e58\");\nvar Drawing = __webpack_require__(\"83d1\");\nvar svgTextUtils = __webpack_require__(\"0379\");\n\nvar Mapbox = __webpack_require__(\"3fca\");\n\nvar MAPBOX = 'mapbox';\n\nvar constants = exports.constants = __webpack_require__(\"b5e4\");\n\nexports.name = MAPBOX;\n\nexports.attr = 'subplot';\n\nexports.idRoot = MAPBOX;\n\nexports.idRegex = exports.attrRegex = Lib.counterRegex(MAPBOX);\n\nexports.attributes = {\n subplot: {\n valType: 'subplotid',\n \n dflt: 'mapbox',\n editType: 'calc',\n \n }\n};\n\nexports.layoutAttributes = __webpack_require__(\"f7e9\");\n\nexports.supplyLayoutDefaults = __webpack_require__(\"f518\");\n\nexports.plot = function plot(gd) {\n var fullLayout = gd._fullLayout;\n var calcData = gd.calcdata;\n var mapboxIds = fullLayout._subplots[MAPBOX];\n\n if(mapboxgl.version !== constants.requiredVersion) {\n throw new Error(constants.wrongVersionErrorMsg);\n }\n\n var accessToken = findAccessToken(gd, mapboxIds);\n mapboxgl.accessToken = accessToken;\n\n for(var i = 0; i < mapboxIds.length; i++) {\n var id = mapboxIds[i];\n var subplotCalcData = getSubplotCalcData(calcData, MAPBOX, id);\n var opts = fullLayout[id];\n var mapbox = opts._subplot;\n\n if(!mapbox) {\n mapbox = new Mapbox(gd, id);\n fullLayout[id]._subplot = mapbox;\n }\n\n if(!mapbox.viewInitial) {\n mapbox.viewInitial = {\n center: Lib.extendFlat({}, opts.center),\n zoom: opts.zoom,\n bearing: opts.bearing,\n pitch: opts.pitch\n };\n }\n\n mapbox.plot(subplotCalcData, fullLayout, gd._promises);\n }\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var oldMapboxKeys = oldFullLayout._subplots[MAPBOX] || [];\n\n for(var i = 0; i < oldMapboxKeys.length; i++) {\n var oldMapboxKey = oldMapboxKeys[i];\n\n if(!newFullLayout[oldMapboxKey] && !!oldFullLayout[oldMapboxKey]._subplot) {\n oldFullLayout[oldMapboxKey]._subplot.destroy();\n }\n }\n};\n\nexports.toSVG = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[MAPBOX];\n var size = fullLayout._size;\n\n for(var i = 0; i < subplotIds.length; i++) {\n var opts = fullLayout[subplotIds[i]];\n var domain = opts.domain;\n var mapbox = opts._subplot;\n\n var imageData = mapbox.toImage('png');\n var image = fullLayout._glimages.append('svg:image');\n\n image.attr({\n xmlns: xmlnsNamespaces.svg,\n 'xlink:href': imageData,\n x: size.l + size.w * domain.x[0],\n y: size.t + size.h * (1 - domain.y[1]),\n width: size.w * (domain.x[1] - domain.x[0]),\n height: size.h * (domain.y[1] - domain.y[0]),\n preserveAspectRatio: 'none'\n });\n\n var subplotDiv = d3.select(opts._subplot.div);\n\n // Append logo if visible\n var hidden = subplotDiv.select('.mapboxgl-ctrl-logo').node().offsetParent === null;\n if(!hidden) {\n var logo = fullLayout._glimages.append('g');\n logo.attr('transform', 'translate(' + (size.l + size.w * domain.x[0] + 10) + ', ' + (size.t + size.h * (1 - domain.y[0]) - 31) + ')');\n logo.append('path')\n .attr('d', constants.mapboxLogo.path0)\n .style({\n opacity: 0.9,\n fill: '#ffffff',\n 'enable-background': 'new'\n });\n\n logo.append('path')\n .attr('d', constants.mapboxLogo.path1)\n .style('opacity', 0.35)\n .style('enable-background', 'new');\n\n logo.append('path')\n .attr('d', constants.mapboxLogo.path2)\n .style('opacity', 0.35)\n .style('enable-background', 'new');\n\n logo.append('polygon')\n .attr('points', constants.mapboxLogo.polygon)\n .style({\n opacity: 0.9,\n fill: '#ffffff',\n 'enable-background': 'new'\n });\n }\n\n // Add attributions\n var attributions = subplotDiv\n .select('.mapboxgl-ctrl-attrib').text()\n .replace('Improve this map', '');\n\n var attributionGroup = fullLayout._glimages.append('g');\n\n var attributionText = attributionGroup.append('text');\n attributionText\n .text(attributions)\n .classed('static-attribution', true)\n .attr({\n 'font-size': 12,\n 'font-family': 'Arial',\n 'color': 'rgba(0, 0, 0, 0.75)',\n 'text-anchor': 'end',\n 'data-unformatted': attributions\n });\n\n var bBox = Drawing.bBox(attributionText.node());\n\n // Break into multiple lines twice larger than domain\n var maxWidth = size.w * (domain.x[1] - domain.x[0]);\n if((bBox.width > maxWidth / 2)) {\n var multilineAttributions = attributions.split('|').join('
');\n attributionText\n .text(multilineAttributions)\n .attr('data-unformatted', multilineAttributions)\n .call(svgTextUtils.convertToTspans, gd);\n\n bBox = Drawing.bBox(attributionText.node());\n }\n attributionText.attr('transform', 'translate(-3, ' + (-bBox.height + 8) + ')');\n\n // Draw white rectangle behind text\n attributionGroup\n .insert('rect', '.static-attribution')\n .attr({\n x: -bBox.width - 6,\n y: -bBox.height - 3,\n width: bBox.width + 6,\n height: bBox.height + 3,\n fill: 'rgba(255, 255, 255, 0.75)'\n });\n\n // Scale down if larger than domain\n var scaleRatio = 1;\n if((bBox.width + 6) > maxWidth) scaleRatio = maxWidth / (bBox.width + 6);\n\n var offset = [(size.l + size.w * domain.x[1]), (size.t + size.h * (1 - domain.y[0]))];\n attributionGroup.attr('transform', 'translate(' + offset[0] + ',' + offset[1] + ') scale(' + scaleRatio + ')');\n }\n};\n\n// N.B. mapbox-gl only allows one accessToken to be set per page:\n// https://github.com/mapbox/mapbox-gl-js/issues/6331\nfunction findAccessToken(gd, mapboxIds) {\n var fullLayout = gd._fullLayout;\n var context = gd._context;\n\n // special case for Mapbox Atlas users\n if(context.mapboxAccessToken === '') return '';\n\n var tokensUseful = [];\n var tokensListed = [];\n var hasOneSetMapboxStyle = false;\n var wontWork = false;\n\n // Take the first token we find in a mapbox subplot.\n // These default to the context value but may be overridden.\n for(var i = 0; i < mapboxIds.length; i++) {\n var opts = fullLayout[mapboxIds[i]];\n var token = opts.accesstoken;\n\n if(isMapboxStyle(opts.style)) {\n if(token) {\n Lib.pushUnique(tokensUseful, token);\n } else {\n if(isMapboxStyle(opts._input.style)) {\n Lib.error('Uses Mapbox map style, but did not set an access token.');\n hasOneSetMapboxStyle = true;\n }\n wontWork = true;\n }\n }\n\n if(token) {\n Lib.pushUnique(tokensListed, token);\n }\n }\n\n if(wontWork) {\n var msg = hasOneSetMapboxStyle ?\n constants.noAccessTokenErrorMsg :\n constants.missingStyleErrorMsg;\n Lib.error(msg);\n throw new Error(msg);\n }\n\n if(tokensUseful.length) {\n if(tokensUseful.length > 1) {\n Lib.warn(constants.multipleTokensErrorMsg);\n }\n return tokensUseful[0];\n } else {\n if(tokensListed.length) {\n Lib.log([\n 'Listed mapbox access token(s)', tokensListed.join(','),\n 'but did not use a Mapbox map style, ignoring token(s).'\n ].join(' '));\n }\n return '';\n }\n}\n\nfunction isMapboxStyle(s) {\n return typeof s === 'string' && (\n constants.styleValuesMapbox.indexOf(s) !== -1 ||\n s.indexOf('mapbox://') === 0\n );\n}\n\nexports.updateFx = function(gd) {\n var fullLayout = gd._fullLayout;\n var subplotIds = fullLayout._subplots[MAPBOX];\n\n for(var i = 0; i < subplotIds.length; i++) {\n var subplotObj = fullLayout[subplotIds[i]]._subplot;\n subplotObj.updateFx(fullLayout);\n }\n};\n\n\n/***/ }),\n\n/***/ \"861d\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"865d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n* Copyright 2012-2020, Plotly, Inc.\n* All rights reserved.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\n\n\nvar overrideAll = __webpack_require__(\"cb34\").overrideAll;\nvar getModuleCalcData = __webpack_require__(\"ad62\").getModuleCalcData;\nvar plot = __webpack_require__(\"c9ce\");\nvar fxAttrs = __webpack_require__(\"927d\");\n\nvar setCursor = __webpack_require__(\"0f37\");\nvar dragElement = __webpack_require__(\"4efe\");\nvar prepSelect = __webpack_require__(\"1876\").prepSelect;\nvar Lib = __webpack_require__(\"fc26\");\nvar Registry = __webpack_require__(\"371e\");\n\nvar SANKEY = 'sankey';\n\nexports.name = SANKEY;\n\nexports.baseLayoutAttrOverrides = overrideAll({\n hoverlabel: fxAttrs.hoverlabel\n}, 'plot', 'nested');\n\nexports.plot = function(gd) {\n var calcData = getModuleCalcData(gd.calcdata, SANKEY)[0];\n plot(gd, calcData);\n exports.updateFx(gd);\n};\n\nexports.clean = function(newFullData, newFullLayout, oldFullData, oldFullLayout) {\n var hadPlot = (oldFullLayout._has && oldFullLayout._has(SANKEY));\n var hasPlot = (newFullLayout._has && newFullLayout._has(SANKEY));\n\n if(hadPlot && !hasPlot) {\n oldFullLayout._paperdiv.selectAll('.sankey').remove();\n oldFullLayout._paperdiv.selectAll('.bgsankey').remove();\n }\n};\n\nexports.updateFx = function(gd) {\n for(var i = 0; i < gd._fullData.length; i++) {\n subplotUpdateFx(gd, i);\n }\n};\n\nfunction subplotUpdateFx(gd, index) {\n var trace = gd._fullData[index];\n var fullLayout = gd._fullLayout;\n\n var dragMode = fullLayout.dragmode;\n var cursor = fullLayout.dragmode === 'pan' ? 'move' : 'crosshair';\n var bgRect = trace._bgRect;\n\n if(dragMode === 'pan' || dragMode === 'zoom') return;\n\n setCursor(bgRect, cursor);\n\n var xaxis = {\n _id: 'x',\n c2p: Lib.identity,\n _offset: trace._sankey.translateX,\n _length: trace._sankey.width\n };\n var yaxis = {\n _id: 'y',\n c2p: Lib.identity,\n _offset: trace._sankey.translateY,\n _length: trace._sankey.height\n };\n\n // Note: dragOptions is needed to be declared for all dragmodes because\n // it's the object that holds persistent selection state.\n var dragOptions = {\n gd: gd,\n element: bgRect.node(),\n plotinfo: {\n id: index,\n xaxis: xaxis,\n yaxis: yaxis,\n fillRangeItems: Lib.noop\n },\n subplot: index,\n // create mock x/y axes for hover routine\n xaxes: [xaxis],\n yaxes: [yaxis],\n doneFnCompleted: function(selection) {\n var traceNow = gd._fullData[index];\n var newGroups;\n var oldGroups = traceNow.node.groups.slice();\n var newGroup = [];\n\n function findNode(pt) {\n var nodes = traceNow._sankey.graph.nodes;\n for(var i = 0; i < nodes.length; i++) {\n if(nodes[i].pointNumber === pt) return nodes[i];\n }\n }\n\n for(var j = 0; j < selection.length; j++) {\n var node = findNode(selection[j].pointNumber);\n if(!node) continue;\n\n // If the node represents a group\n if(node.group) {\n // Add all its children to the current selection\n for(var k = 0; k < node.childrenNodes.length; k++) {\n newGroup.push(node.childrenNodes[k].pointNumber);\n }\n // Flag group for removal from existing list of groups\n oldGroups[node.pointNumber - traceNow.node._count] = false;\n } else {\n newGroup.push(node.pointNumber);\n }\n }\n\n newGroups = oldGroups\n .filter(Boolean)\n .concat([newGroup]);\n\n Registry.call('_guiRestyle', gd, {\n 'node.groups': [ newGroups ]\n }, index);\n }\n };\n\n dragOptions.prepFn = function(e, startX, startY) {\n prepSelect(e, startX, startY, dragOptions, dragMode);\n };\n\n dragElement.init(dragOptions);\n}\n\n\n/***/ }),\n\n/***/ \"8662\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = circumradius\n\nvar circumcenter = __webpack_require__(\"fe94\")\n\nfunction circumradius(points) {\n var center = circumcenter(points)\n var avgDist = 0.0\n for(var i=0; i