{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./src/services/patientService.js","webpack:///./node_modules/flatpickr/dist/l10n/pt.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./src/services/spinService.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.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/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/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/components/table/helpers/default-sort-compare.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/tr.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.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/helpers/mixin-caption.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/core-js/modules/es.string.replace.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/input-group/input-group.js","webpack:///./node_modules/flatpickr/dist/esm/types/options.js","webpack:///./node_modules/flatpickr/dist/esm/l10n/default.js","webpack:///./node_modules/flatpickr/dist/esm/utils/index.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dom.js","webpack:///./node_modules/flatpickr/dist/esm/utils/formatting.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dates.js","webpack:///./node_modules/flatpickr/dist/esm/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/flatpickr/dist/esm/utils/polyfills.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.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/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./src/views/componentes/ComponentesLista.vue?62c9","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/vue-flatpickr-component/dist/vue-flatpickr.min.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./src/views/componentes/ComponentesLista.vue?99f7","webpack:///src/views/componentes/ComponentesLista.vue","webpack:///./src/views/componentes/ComponentesLista.vue?75c2","webpack:///./src/views/componentes/ComponentesLista.vue","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"names":["formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","variant","BTd","mixins","inject","bvTableTr","default","inheritAttrs","tag","inTbody","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","role","scope","bvAttrs","$content","normalizeSlot","class","attrs","on","bvListeners","BThead","provide","bvTableRowGroup","bvTable","isThead","dark","stickyHeader","theadClasses","theadAttrs","kFormatter","num","toFixed","title","replacer","str","toString","arr","split","capitalizedArray","word","capitalized","charAt","toUpperCase","slice","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","toInteger","requireObjectCoercible","module","exports","repeat","count","String","result","n","Infinity","RangeError","id","inline","novalidate","validated","BForm","children","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","err","undefined","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","overlay","staticClass","$footer","hasFooterSlot","controller","getAll","params","axiosIns","utilsService","getQueryParams","res","content","getById","getMedicalRecordsByUserId","update","put","create","req","post","global","factory","fp","window","flatpickr","l10ns","Portuguese","weekdays","shorthand","longhand","months","rangeSeparator","time_24hr","pt","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","INCORRECT_NAME","R","p","rf","f","unsafe","showSpinner","document","getElementById","style","display","hideSpinner","BTfoot","isTfoot","tfootClasses","tfootAttrs","bottomRowMixin","renderBottomRow","fields","computedFields","tbodyTrClass","tbodyTrAttr","$createElement","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","watch","newValue","oldValue","$emit","stopIfBusy","event","renderBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","row","ignoreFields","includeFields","fieldsObj","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","_this","timeout","setTimeout","created","_this2","$nextTick","Boolean","beforeDestroy","clearTimeout","item","_this3","regExp","pattern","lastIndex","computedFieldsObj","currentPage","perPage","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","e","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","bb","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","usage","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","BTable","LIGHT","DARK","BTr","isTbody","isRowDark","trClasses","trAttrs","hasListenerMixin","hasListener","$listeners","$events","_events","rightAlign","verticalAlign","BMedia","$children","$aside","BInputGroupPrepend","append","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","getThValues","thValue","type","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","label","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$rows","detailsId","safeId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","tbody","$el","trs","tr","getTbodyTrIndex","el","tagName","indexOf","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","classof","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","formatValue","force","updateValue","doUpdate","$input","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","blur","isText","BInputGroupAddon","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","computedAriaInvalid","computedListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","stopWheel","stackedMixin","isStackedAlways","stackedTableClasses","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","fixRegExpWellKnownSymbolLogic","toObject","toLength","advanceStringIndex","regExpExec","Math","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","regexp","rx","S","functionalReplace","fullUnicode","unicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","match","ch","capture","origFields","sample","memo","itemsMixin","appendHtml","prepend","prependHtml","size","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","HOOKS","_disable","allowInput","allowInvalidPreload","altFormat","altInput","altInputClass","animate","navigator","userAgent","ariaDateFormat","autoFillDefaultTime","clickOpens","closeOnSelect","conjunction","dateFormat","defaultHour","defaultMinute","defaultSeconds","disable","disableMobile","enableSeconds","enableTime","errorHandler","console","getWeek","givenDate","getTime","setHours","setDate","getDate","getDay","week1","getFullYear","round","hourIncrement","ignoredFocusElements","minuteIncrement","mode","monthSelectorType","nextArrow","noCalendar","now","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","plugins","positionElement","prevArrow","shorthandCurrentMonth","showMonths","static","weekNumbers","wrap","english","daysInMonth","firstDayOfWeek","ordinal","nth","s","weekAbbreviation","scrollTitle","toggleTitle","amPM","yearAriaLabel","monthAriaLabel","hourAriaLabel","minuteAriaLabel","pad","bool","wait","t","arrayify","toggleClass","elem","className","classList","add","remove","createElement","textContent","clearNode","node","firstChild","removeChild","findParent","condition","parentNode","createNumberInput","inputClassName","opts","wrapper","numInput","arrowUp","arrowDown","setAttribute","appendChild","getEventTarget","composedPath","path","doNothing","monthToStr","monthNumber","revFormat","D","F","dateObj","monthName","setMonth","G","getHours","parseFloat","H","J","K","M","shortMonth","seconds","setSeconds","U","_","unixSeconds","W","weekNum","weekNumber","parseInt","Y","setFullYear","Z","ISODate","d","minutes","setMinutes","l","u","unixMillSeconds","w","y","tokenRegex","toISOString","options","getMonth","getSeconds","getMinutes","substring","createDateFormatter","_a","_b","config","_c","l10n","_d","isMobile","frmt","overrideLocale","c","createDateParser","givenFormat","timeless","customLocale","parsedDate","dateOrig","datestr","parseDate","ops","matchIndex","regexStr","token","isBackSlash","escaped","exec","isNaN","Error","compareDates","date1","date2","isBetween","ts","ts1","ts2","calculateSecondsSinceMidnight","hours","parseSeconds","secondsSinceMidnight","duration","DAY","getDefaultHours","minDate","minHour","minMinutes","minSeconds","maxDate","maxHr","maxMinutes","__assign","assign","hasOwnProperty","__spreadArrays","il","r","jl","DEBOUNCED_CHANGE_MS","FlatpickrInstance","element","instanceConfig","defaultConfig","setupHelperFunctions","utils","getDaysInMonth","yr","currentMonth","currentYear","init","isOpen","parseConfig","setupLocale","setupInputs","setupDates","build","bindEvents","selectedDates","setHoursFromDate","latestSelectedDateObj","setCalendarWidth","isSafari","positionCalendar","triggerEvent","getClosestActiveElement","calendarContainer","getRootNode","activeElement","bindToInstance","requestAnimationFrame","visibility","daysContainer","daysWidth","days","offsetWidth","weekWrapper","removeProperty","updateTime","defaultDate","defaults","getMilliseconds","timeWrapper","prevValue","_input","setHoursFromInputs","_debouncedChange","ampm2military","military2ampm","hourElement","minuteElement","secondElement","limitMinHours","minTime","minDateHasTime","limitMaxHours","maxTime","maxDateHasTime","minBound","maxBound","currentTime","onYearInput","eventTarget","delta","changeYear","ev","addEventListener","_handlers","removeEventListener","triggerChange","evt","querySelectorAll","setupMobile","debouncedResize","onResize","onMouseOver","ontouchstart","documentClick","open","monthNav","onMonthNavClick","selectDate","timeContainer","selText","timeIncrement","jumpToDate","jumpDate","jumpTo","oldYear","oldMonth","buildMonthSwitch","redraw","incrementNumInput","contains","inputElem","createEvent","dispatchEvent","fragment","createDocumentFragment","buildMonthNav","innerContainer","buildWeeks","rContainer","buildWeekdays","buildDays","buildTime","customAppend","appendTo","nodeType","insertBefore","nextSibling","body","createDay","_dayNumber","dateIsEnabled","isEnabled","dayElement","$i","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","focusOnDayElem","targetNode","getFirstAvailableDay","startMonth","endMonth","startIndex","endIndex","getNextAvailableDay","current","givenMonth","loopDelta","numMonthDays","abs","changeMonth","focusOnDay","offset","dayFocused","isInView","startElem","buildMonthDays","firstOfMonth","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayNumber","dayIndex","dayNum","dayContainer","frag","shouldBuildMonth","monthsDropdownContainer","innerHTML","buildMonth","monthElement","container","monthNavFragment","selectedMonth","yearInput","yearElement","getElementsByTagName","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","__hidePrevMonthArrow","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","separator","hourInput","minuteInput","secondInput","getAttribute","weekdayContainer","updateWeekdays","splice","isOffset","_hidePrevMonthArrow","_hideNextMonthArrow","clear","triggerChangeEvent","toInitial","mobileInput","_initialDate","close","destroy","lastChild","_type","removeAttribute","isCalendarElem","eventTarget_1","isCalendarElement","isInput","lostFocus","relatedTarget","isIgnored","newYear","newYearNum","isNewYear","dateToCheck","enable","parsed","to","valueChanged","trimEnd","getDateStr","allowKeydown","allowInlineKeydown","isTimeObj","preventDefault","focusAndClose","delta_1","stopPropagation","elems","pluginElements","x","cellClass","hoverDate","firstElementChild","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","hoverableCells","dayElem","timestamp","outOfRange","_positionElement","wasOpen","minMaxDateSetter","inverseDateObj","boolOpts","userConfig","JSON","parse","stringify","dataset","formats","_enable","dates","parseDateRules","timeMode","defaultDateFormat","defaultAltFormat","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","hook","pluginConf","getInputElem","querySelector","customPositionElement","calendarHeight","acc","child","offsetHeight","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","getBoundingClientRect","distanceFromBottom","innerHeight","showOnTop","pageYOffset","pageXOffset","isCenter","isRight","rightMost","centerMost","doc","getDocumentStyleSheet","bodyWidth","centerLeft","centerBefore","centerAfter","centerIndex","cssRules","centerStyle","insertRule","editableSheet","styleSheets","sheet","createStyleSheet","head","msMaxTouchPoints","selectedDate","shouldChangeMonth","selectedIndex","single","range","loadedPlugins","_bind","_setHoursFromDate","_positionCalendar","_createElement","toggle","CALLBACKS","updatePositionElement","option","setSelectedDate","inputDate","rule","preloadedDate","nodeName","inputType","mobileFormatStr","hooks","initEvent","specificFormat","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","isHourElem","isMinuteElem","_flatpickr","nodeList","nodes","HTMLElement","instances","HTMLCollection","NodeList","selector","Node","en","localize","setDefaults","jQuery","fp_incr","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","vnode","callback","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","modifiers","mod","_prevModifiers","componentUpdated","unbind","VBVisible","BTh","extends","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","small","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","_i","_loop_1","args_1","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","BMediaAside","BMediaBody","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","stableSort","compareFn","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","skipTempReset","prev","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","maxRows","noAutoShrink","noResize","rows","BFormTextarea","directives","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","scrollHeight","contentRows","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","BRow","_classList$push","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","formSizeMixin","TABLE_TAG_NAMES","filterEvent","labelFor","$","thisNumberValue","nativeToFixed","pow","log","x2","FORCED","proto","forced","fractionDigits","z","fractDigits","sign","multiply","c2","divide","dataToString","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","__esModule","validator","events","getElem","fpInput","$watch","watchDisabled","immediate","component","install","isObject","today","isDynamicRouteActive","route","router","resolvedRoute","currentRoute","useRouter","vm","getCurrentInstance","proxy","reactive","$route","toRefs","$router","cloneObject","BInputGroupAppend","_vm","_h","_self","_v","$event","fetchUsers","model","filtro","firstName","$$v","expression","staticStyle","fetchedUsers","tableColumns","isSortDirDesc","_u","_s","physicalPerson","lastName","createdAt","person","city","avatar","fullName","resolveUserRoleVariant","username","resolveUserRoleIcon","resolveUserStatusVariant","status","resolveUserStatusText","$store","appConfig","isRTL","pacienteId","staticRenderFns","BDropdown","BDropdownItem","BBadge","BLink","BAvatar","BFormGroup","BCol","BButton","flatPickr","prepareRequest","createdAtTo","textSelectionActive","sel","containsNode","BInputGroupText","colgroupMixin","$colgroup","SELECTOR","autofocus","formControlMixin","handleAutofocus","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","linkProps","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","square","text","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","onClick","_class2","link","$badge","hasBadgeSlot","badgeText","componentData","href","pill","active","noop"],"mappings":"oJAAA,kDAEWA,EAAqB,aAAIC,OAAO,CACzCC,SAAU,CACRC,eAAgB,CAEdC,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAML,gBAI1BM,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAML,eAAiBO,IAGtCC,aAAc,CAEZP,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMG,cAI1BF,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAMG,aAAeD,IAGpCE,mBAAoB,CAElBR,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMI,oBAI1BH,IAAK,SAAaC,GAChBJ,KAAKC,MAAMC,MAAMI,mBAAqBF,KAI5CG,QAAS,CAEPC,OAAQ,WACN,IAAIC,GAGHA,EAAoBT,KAAKC,MAAMC,OAAOM,OAAOE,MAAMD,EAAmBE,YAIzEC,kBAAmB,WACjB,IAAIC,GAGHA,EAAqBb,KAAKC,MAAMC,OAAOU,kBAAkBF,MAAMG,EAAoBF,YAItFG,aAAc,WACZ,IAAIC,GAGHA,EAAqBf,KAAKC,MAAMC,OAAOY,aAAaJ,MAAMK,EAAoBJ,gB,oCCrErF,uKAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAII,EAAoB,SAASA,EAAkBC,EAAKC,GACtD,IAAKD,EACH,OAAO,KAGT,IAAIE,GAAcF,EAAIG,UAAY,IAAID,WAClCE,EAAgBF,EAAWD,GAC/B,OAAOG,GAAiBL,EAAkBC,EAAIK,QAASJ,IAI9CK,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAK,OAAiB,CAAC,UAAW,aAAc,GAAI,CACpIuB,KAAM,eAAS,QACfC,QAAS,eAAS,QAAmB,MAClC,SAKMC,EAAqB,aAAI1D,OAAO,CACzC2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIC,EAAOD,EAAKC,KACZT,EAAQQ,EAAKR,MACbU,EAASF,EAAKE,OACdT,EAAO,eAAW,eAAKD,EAAMC,MAAQ,KAAKU,QAAQ,OAAgB,IAItE,OAAOJ,EAAEN,GAAOR,EAAkBiB,EAAQ,QAAQE,OAAOX,KAAuB,OAAY,eAAUQ,EAAM,CAC1GT,MAAOtB,EAAcA,EAAc,GAAIsB,GAAQ,GAAI,CACjDC,KAAM,c,oCCjDd,qNAASnC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAe3M,IAAIwB,EAAY,SAAmBvB,GAEjC,OADAA,EAAQ,eAAUA,EAAO,GAClBA,EAAQ,EAAIA,EAAQ,MAKzBwB,EAAgB,SAAuBxB,GACzC,OAAO,eAAkBA,IAAUuB,EAAUvB,GAAS,GAI7CU,EAAQ,eAAsB,CACvCe,QAAS,eAAS,OAAyB,KAAMD,GACjDE,QAAS,eAAS,OAAyB,KAAMF,GACjDG,eAAgB,eAAS,QACzBC,aAAc,eAAS,QAAmB,GAC1CC,QAAS,eAAS,SACjB,SAMQC,EAAmB,aAAI3E,OAAO,CACvC2D,KAAM,QAENiB,OAAQ,CAAC,OAAY,OAAgB,QACrCC,OAAQ,CACNC,UAAW,CACTC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERgF,IAAK,WACH,MAAO,MAETC,QAAS,WACP,OAAO7E,KAAKyE,UAAUI,SAExBC,QAAS,WACP,OAAO9E,KAAKyE,UAAUK,SAExBC,QAAS,WACP,OAAO/E,KAAKyE,UAAUM,SAExBC,OAAQ,WACN,OAAOhF,KAAKyE,UAAUO,QAExBC,UAAW,WACT,OAAOjF,KAAKyE,UAAUQ,WAGxBC,cAAe,WACb,OAAOlF,KAAK6E,SAAW7E,KAAKiF,WAE9BE,aAAc,WACZ,OAAOnF,KAAKyE,UAAUU,cAKxBC,eAAgB,WACd,OAAOpF,KAAKyE,UAAUW,gBAIxBC,gBAAiB,WACf,OAAOrF,KAAKyE,UAAUY,iBAOxBC,eAAgB,WACd,OAAQtF,KAAKiF,YAAcjF,KAAKmF,cAAgBnF,KAAKqF,kBAAoBrF,KAAKoE,cAEhFmB,WAAY,WACV,OAAOvF,KAAKyE,UAAUJ,SAExBmB,YAAa,WACX,OAAOxF,KAAKyE,UAAUe,aAExBC,YAAa,WACX,OAAOzF,KAAKyE,UAAUgB,aAExBC,aAAc,WACZ,OAAO1F,KAAKyE,UAAUiB,cAExBC,gBAAiB,WACf,OAAO5B,EAAU/D,KAAKiE,UAExB2B,gBAAiB,WACf,OAAO7B,EAAU/D,KAAKkE,UAIxB2B,YAAa,WACX,IAAIxB,EAAUrE,KAAKqE,QACfmB,EAAcxF,KAAKwF,YACnBF,EAAiBtF,KAAKsF,eAQ1B,QANKjB,GAAWrE,KAAKoF,iBAAmBI,IAAgBnB,GAAWiB,GAAkBtF,KAAK+E,UAAY/E,KAAKyF,cAAgBpB,GAAWiB,GAAkBtF,KAAK8E,UAAYU,IAAgBnB,GAAWiB,GAAkBtF,KAAK6E,WAGzNR,EAAUrE,KAAKuF,YAAcvF,KAAK0F,cAAgB,mBAG7C,CAACrB,EAAU,GAAGP,OAAO9D,KAAKgF,OAAS,KAAO,QAAS,KAAKlB,OAAOO,GAAW,KAAMiB,EAAiB,wBAA0B,OAEpIQ,UAAW,WACT,IAAI3B,EAAiBnE,KAAKmE,eAGtB4B,EAAa/F,KAAK8E,SAAW9E,KAAK+E,QAElCd,EAAUjE,KAAK2F,gBACfzB,EAAUlE,KAAK4F,gBAEfI,EAAO,OACPC,EAAQ,KAaZ,OAVIF,GAEFC,EAAO,eACPC,EAAQhC,EAAU,EAAI,UAAY,OACzB,eAAMjE,KAAK4E,IAAK,QAEzBoB,EAAO,YACPC,EAAQ/B,EAAU,EAAI,WAAa,OAG9BtC,EAAcA,EAAc,CACjCqC,QAASA,EACTC,QAASA,EACT8B,KAAMA,EACNC,MAAOA,GACNjG,KAAKkG,SAAU,GAAI,CAGpB,aAAclG,KAAKkF,gBAAkB,eAAkBf,GAEvD,eAASA,GAAkB,SAIjCX,OAAQ,SAAgBC,GACtB,IAAI0C,EAAW,CAACnG,KAAKoG,iBACrB,OAAO3C,EAAEzD,KAAK4E,IAAK,CACjByB,MAAOrG,KAAK6F,YACZS,MAAOtG,KAAK8F,UAEZS,GAAIvG,KAAKwG,aACR,CAACxG,KAAKkF,cAAgBzB,EAAE,MAAO,CAAC0C,IAAaA,Q,oCCrLpD,mIAASnF,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CAGvCsC,YAAa,eAAS,SACrB,SAMQiB,EAAsB,aAAI9G,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERiH,QAAS,WACP,OAAO,GAGT7B,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAMtBC,eAAgB,WACd,OAAQpF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAKzC1B,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtBsB,aAAc,WACZ,MAAO,CAAChH,KAAKwF,YAAc,SAAS1B,OAAO9D,KAAKwF,aAAe,OAEjEyB,WAAY,WACV,OAAOrF,EAAc,CACnBoE,KAAM,YACLhG,KAAKkG,WAGZ1C,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAKgH,aACZV,MAAOtG,KAAKiH,WAEZV,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,oWC3FCc,EAAa,SAAAC,GAAG,OAAKA,EAAM,IAAN,WAAgBA,EAAM,KAAMC,QAAQ,GAApC,KAA4CD,GAEjEE,EAAQ,SAAC7E,GAA0B,IAAnB8E,EAAmB,uDAAR,IACtC,IAAK9E,EAAO,MAAO,GACnB,IAAM+E,EAAM/E,EAAMgF,WAEZC,EAAMF,EAAIG,MAAMJ,GAChBK,EAAmB,GAKzB,OAJAF,EAAIxF,SAAQ,SAAA2F,GACV,IAAMC,EAAcD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,MAAM,GAC9DL,EAAiBhG,KAAKkG,MAEjBF,EAAiBM,KAAK,MAGlBC,EAAa,SAAA1F,GACxB,IAAKA,EAAO,MAAO,GACnB,IAAM2F,EAAY3F,EAAMkF,MAAM,KAC9B,OAAOS,EAAUC,KAAI,SAAAR,GAAI,OAAIA,EAAKE,OAAO,GAAGC,iBAAeE,KAAK,KAUrDI,EAAa,SAAC7F,GAA4E,IAArE8F,EAAqE,uDAAxD,CAAEC,MAAO,QAASC,IAAK,UAAWC,KAAM,WACrF,OAAKjG,EACE,IAAIkG,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAKrG,IADjDA,GAURsG,EAAyB,SAACtG,GAAsC,IAA/BuG,IAA+B,yDACrEC,EAAO,IAAIH,KAAKrG,GAClB8F,EAAa,CAAEC,MAAO,QAASC,IAAK,WAMxC,OAJIO,GAAuBE,eAAQD,KACjCV,EAAa,CAAEY,KAAM,UAAWC,OAAQ,YAGnC,IAAIT,KAAKC,eAAe,QAASL,GAAYM,OAAO,IAAIC,KAAKrG,KAIzD4G,EAAa,SAAA5G,GAAK,OAAIA,EAAMqB,QAAQ,kBAAmB,M,kCCpDpE,IAAIwF,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QAIrCC,EAAOC,QAAU,GAAGC,QAAU,SAAgBC,GAC5C,IAAInC,EAAMoC,OAAOL,EAAuBtJ,OACpC4J,EAAS,GACTC,EAAIR,EAAUK,GAClB,GAAIG,EAAI,GAAKA,GAAKC,IAAU,MAAMC,WAAW,+BAC7C,KAAMF,EAAI,GAAIA,KAAO,KAAOtC,GAAOA,GAAc,EAAJsC,IAAOD,GAAUrC,GAC9D,OAAOqC,I,oCCZT,oIAKW1G,EAAQ,eAAsB,CACvC8G,GAAI,eAAS,QACbC,OAAQ,eAAS,QAAmB,GACpCC,WAAY,eAAS,QAAmB,GACxCC,UAAW,eAAS,QAAmB,IACtC,QAGQC,EAAqB,aAAIzK,OAAO,CACzC2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAE,OAAQ,eAAUE,EAAM,CAC/B0C,MAAO,CACL,cAAenD,EAAM+G,OACrB,gBAAiB/G,EAAMiH,WAEzB7D,MAAO,CACL0D,GAAI9G,EAAM8G,GACVE,WAAYhH,EAAMgH,cAElBG,O,gFC9BR,SAASC,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQzI,EAAK0I,GACpE,IACE,IAAIC,EAAON,EAAIrI,GAAK0I,GAChBpI,EAAQqI,EAAKrI,MACjB,MAAOsI,GAEP,YADAL,EAAOK,GAILD,EAAKE,KACPP,EAAQhI,GAERwI,QAAQR,QAAQhI,GAAOyI,KAAKP,EAAOC,GAIxB,SAASO,EAAkBC,GACxC,OAAO,WACL,IAAIC,EAAOpL,KACPqL,EAAO1K,UACX,OAAO,IAAIqK,SAAQ,SAAUR,EAASC,GACpC,IAAIF,EAAMY,EAAGzK,MAAM0K,EAAMC,GAEzB,SAASX,EAAMlI,GACb8H,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQnI,GAGlE,SAASmI,EAAOW,GACdhB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASW,GAGnEZ,OAAMa,S,oCC/BZ,kDAEWC,EAAoB,aAAI7L,OAAO,CACxCC,SAAU,CACR6L,SAAU,CAER3L,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMuL,WAG5BC,kBAAmB,CAEjB5L,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMwL,oBAG5BC,aAAc,CAEZ7L,OAAO,EAGPC,IAAK,WACH,OAAOC,KAAKC,MAAMC,MAAMyL,gBAI9BpL,QAAS,CAEPqL,kBAAmB,WACjB,IAAInL,EAGJ,OAAQA,EAAoBT,KAAKC,MAAMC,OAAO0L,kBAAkBlL,MAAMD,EAAmBE,YAI3FkL,cAAe,WACb,IAAIhL,EAGJ,OAAQA,EAAqBb,KAAKC,MAAMC,OAAO2L,cAAcnL,MAAMG,EAAoBF,YAIzFmL,eAAgB,WACd,IAAI/K,EAGJ,OAAQA,EAAqBf,KAAKC,MAAMC,OAAO4L,eAAepL,MAAMK,EAAoBJ,gB,kPCtD9F,SAASK,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EASpM,IAAI,EAAQ,eAAsB,eAASX,EAAcA,EAAc,GAAI,eAAK,OAAW,CAAC,MAAO,MAAO,QAAS,SAAU,OAAQ,WAAY,GAAI,CAC1JmK,OAAQ,eAAS,QAAmB,GACpCC,IAAK,eAAS,QAAmB,GACjCC,MAAO,eAAS,QAAmB,GACnCC,IAAK,eAAS,QAAmB,MAC9B,QAGMC,EAAwB,aAAIxM,OAAO,CAC5C2D,KAAM,OACNC,YAAY,EACZL,MAAO,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZyI,EAAMlJ,EAAMkJ,IACZC,EAAMnJ,EAAMmJ,IACZC,EAAQpJ,EAAMoJ,MACdC,EAASrJ,EAAMqJ,OACfC,EAAY,WAYhB,OAVItJ,EAAMgJ,IACRM,GAAa,OACJtJ,EAAMuJ,OAASvJ,EAAM8I,IAC9BQ,GAAa,SACJtJ,EAAM6I,OACfS,GAAa,WACJtJ,EAAMwJ,MAAQxJ,EAAM+I,SAC7BO,GAAa,SAGR/I,EAAE,MAAO,eAAUE,EAAM,CAC9B0C,MAAOmG,EACPlG,MAAO,CACL8F,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EACPC,OAAQA,SClDhB,SAAS,EAAQtL,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,EAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,EAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,EAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,EAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,EAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgB3M,IAAIoK,EAAe,eAAU,EAAe,OAAeC,KAAK,KAAM,QACtED,EAAaE,OAAOC,UAAW,EACxB,IAAI,EAAQ,eAAsB,eAAS,EAAc,EAAc,EAAc,EAAc,EAAc,EAAc,GAAI,QAAiB,QAAmB,QAAmBH,GAAeI,EAAA,MAAY,GAAI,CAC9NC,MAAO,eAAS,QAChBC,OAAQ,eAAS,QAAmB,MACjC,QAGMC,EAAqB,aAAIvN,OAAO,CACzC2D,KAAM,OACNC,YAAY,EACZL,MAAO,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIyJ,EAEAjK,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZyJ,EAAQ1J,EAAK0J,MACbC,EAAc3J,EAAK2J,YACnBR,EAAS3J,EAAM2J,OACfS,EAAUpK,EAAMoK,QAChBC,EAAWrK,EAAMqK,SACjBC,EAAWtK,EAAMsK,SACjBC,EAASvK,EAAMuK,OACfC,EAAYxK,EAAMwK,UAClBC,EAASzK,EAAMyK,OACfC,EAAa1K,EAAM0K,WACnBC,EAAS3K,EAAM2K,OACfC,EAAa5K,EAAM4K,WACnBd,EAAQ9J,EAAM8J,MACde,EAAc7K,EAAM6K,YACpBC,EAAY9K,EAAM8K,UAClBC,EAAgB/K,EAAM+K,cACtBC,EAAeb,GAAe,GAC9Bc,EAASf,IACTgB,EAAY,GACZC,EAAY5K,IACZ6K,EAAW7K,IAEf,GAAIoJ,EAAQ,CACV,IAAI0B,EAAO9K,EAAE0I,EAAU,CACrBjJ,MAAO,eAAWyJ,EAAczJ,EAAO,OAAiB0J,KAAK,KAAM,UAGjEc,EACFY,EAAWC,EAEXF,EAAYE,EAIhB,IAAIC,EAAU/K,IACVgL,EAAgB,eAAkB,OAAkBP,EAAcC,IAElEM,GAAiBd,GAAUC,KAC7BY,EAAU/K,EAAE,OAAa,CACvBP,MAAO,eAAW,OAAkBA,GACpCwL,SAAUD,EAAgB,GAAK,OAAAE,EAAA,MAAWf,EAAYD,IACrD,eAAc,OAAkBS,EAAWF,EAAcC,KAG9D,IAAIhI,EAAW,eAAc,OAAmBiI,EAAWF,EAAcC,GAEpEjL,EAAM+J,SACT9G,EAAW1C,EAAE,OAAW,CACtBP,MAAO,eAAW,OAAgBA,IACjCiD,GAGCjD,EAAM0L,SAAW/B,IACnB1G,EAAW1C,EAAE,MAAO,CAClBoL,YAAa,qBACZ,CAACR,EAAWlI,EAAUmI,IAEzBD,EAAY5K,IACZ6K,EAAW7K,MAIf,IAAIqL,EAAUrL,IACVsL,EAAgB,eAAkB,OAAkBb,EAAcC,GAStE,OAPIY,GAAiBlB,GAAUC,KAC7BgB,EAAUrL,EAAE,OAAa,CACvBP,MAAO,eAAW,OAAkBA,GACpCwL,SAAUD,EAAgB,GAAK,OAAAE,EAAA,MAAWb,EAAYD,IACrD,eAAc,OAAkBO,EAAWF,EAAcC,KAGvD1K,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,OACbxI,OAAQ8G,EAAS,CACf,WAAYG,GAAWE,EACvB,oBAAqBD,GAAYE,MAAaH,GAAWE,IACxD,EAAgBL,EAAQ,QAAQrJ,OAAOkJ,GAAQA,GAAQ,EAAgBG,EAAQ,MAAMrJ,OAAOkK,GAAYA,GAAY,EAAgBb,EAAQ,UAAUrJ,OAAOmK,GAAgBA,GAAgB,EAAgBd,EAAQ,QAAQrJ,OAAOiK,GAAcA,GAAcZ,KACjQ,CAACkB,EAAWG,EAASrI,EAAU2I,EAASR,Q,wFChH1CU,EAAa,UAEJ,QACPC,OADO,SACAC,GAAQ,sKACZC,OAASpP,IAAT,UAAgBiP,EAAhB,YAA8BI,OAAaC,eAAeH,KAAWjE,MAAK,SAAAqE,GAAG,OAAIA,EAAI3L,KAAK4L,YAD9E,8CAGfC,QAJO,SAICxF,GAAI,sKACTmF,OAASpP,IAAT,UAAgBiP,EAAhB,YAA8BhF,IAAMiB,MAAK,SAAAqE,GAAG,OAAIA,EAAI3L,SAD3C,8CAGZ8L,0BAPO,SAOmBzF,GAAI,sKAC3BmF,OAASpP,IAAT,UAAgBiP,EAAhB,4BAA8ChF,IAAMiB,MAAK,SAAAqE,GAAG,OAAIA,EAAI3L,SADzC,8CAG9B+L,OAVO,SAUAnN,GAAK,sKACT4M,OAASQ,IAAIX,EAAYzM,GAAK0I,MAAK,SAAAqE,GAAG,OAAIA,EAAI3L,SADrC,8CAGZiM,OAbO,SAaAC,GAAK,sKACTV,OAASW,KAAKd,EAAYa,GAAK5E,MAAK,SAAAqE,GAAG,OAAIA,EAAI3L,SADtC,gD,wBClBnB,SAAUoM,EAAQC,GAC8CA,EAAQxG,IADzE,CAIExJ,GAAM,SAAWwJ,GAAW,aAE5B,IAAIyG,EAAuB,qBAAXC,aAA+C3E,IAArB2E,OAAOC,UAC3CD,OAAOC,UACP,CACEC,MAAO,IAEXC,EAAa,CACbC,SAAU,CACNC,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtDC,SAAU,CACN,UACA,gBACA,cACA,eACA,eACA,cACA,WAGRC,OAAQ,CACJF,UAAW,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,SAAU,CACN,UACA,YACA,QACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,aAGRE,eAAgB,QAChBC,WAAW,GAEfV,EAAGG,MAAMQ,GAAKP,EACd,IAAIO,EAAKX,EAAGG,MAEZ5G,EAAQ6G,WAAaA,EACrB7G,EAAQ9E,QAAUkM,EAElBxP,OAAOkB,eAAekH,EAAS,aAAc,CAAEhH,OAAO,Q,oCC9DxD,IAAIqO,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBC,EAAQ,EAAQ,QAChBC,EAAQ,EAAQ,QAEhBC,EAAY,WACZC,EAAkBC,OAAOC,UACzBC,EAAiBH,EAAgBD,GAEjCK,EAAcP,GAAM,WAAc,MAA2D,QAApDM,EAAeE,KAAK,CAAEvP,OAAQ,IAAKgP,MAAO,SAEnFQ,EAAiBH,EAAe/N,MAAQ2N,GAIxCK,GAAeE,IACjBX,EAASM,OAAOC,UAAWH,GAAW,WACpC,IAAIQ,EAAIX,EAAS9Q,MACb0R,EAAI/H,OAAO8H,EAAEzP,QACb2P,EAAKF,EAAET,MACPY,EAAIjI,YAAc4B,IAAPoG,GAAoBF,aAAaN,UAAY,UAAWD,GAAmBF,EAAMO,KAAKE,GAAKE,GAC1G,MAAO,IAAMD,EAAI,IAAME,IACtB,CAAEC,QAAQ,K,oCCvBR,SAASC,IACdC,SAASC,eAAe,cAAcC,MAAMC,QAAU,QAGjD,SAASC,IACdJ,SAASC,eAAe,cAAcC,MAAMC,QAAU,OALxD,qE,kCCAA,mIAASlR,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CAEvCuC,YAAa,eAAS,SACrB,SAMQ2M,EAAsB,aAAIzS,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERyS,QAAS,WACP,OAAO,GAGTrN,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAItBC,eAAgB,WACd,OAAO,GAKTC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtB4M,aAAc,WACZ,MAAO,CAACtS,KAAKyF,YAAc,SAAS3B,OAAO9D,KAAKyF,aAAe,OAEjE8M,WAAY,WACV,OAAO3Q,EAAcA,EAAc,GAAI5B,KAAKkG,SAAU,GAAI,CACxDF,KAAM,eAIZxC,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAKsS,aACZhM,MAAOtG,KAAKuS,WAEZhM,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,+MCrFD,EAAQ,GAGRoM,EAAiB,aAAI7S,OAAO,CACrCuD,MAAO,EACP3C,QAAS,CACPkS,gBAAiB,WACf,IAAIC,EAAS1S,KAAK2S,eACdvP,EAAUpD,KAAKoD,QACfwP,EAAe5S,KAAK4S,aACpBC,EAAc7S,KAAK6S,YACnBpP,EAAIzD,KAAK8S,eAGb,OAAK9S,KAAK+S,kBAAkB,UAAqC,IAAZ3P,GAAgC,KAAZA,EAIlEK,EAAE,OAAK,CACZoL,YAAa,qBACbxI,MAAO,CAAC,eAAWuM,GAEnBA,EAAa,KAAM,cAAgBA,GACnCtM,MAAO,eAAWuM,GAElBA,EAAY,KAAM,cAAgBA,EAClC3Q,IAAK,gBACJlC,KAAKoG,cAAc,OAAsB,CAC1C4M,QAASN,EAAO3Q,OAChB2Q,OAAQA,KAdDjP,Q,gDCpBf,SAAStB,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAI0Q,EAAuB,OACvBC,EAAwB,QAA0BD,EAE3C,EAAQ9Q,EAAgB,GAAI8Q,EAAsB,eAAS,QAAmB,IAG9EE,EAAY,aAAIxT,OAAO,CAChCuD,MAAO,EACPS,KAAM,WACJ,MAAO,CACLyP,WAAW,IAGfxT,SAAU,CACRyT,aAAc,WACZ,OAAOrT,KAAKiT,IAAyBjT,KAAKoT,YAG9CE,MAAO,CACLF,UAAW,SAAmBG,EAAUC,GAClCD,IAAaC,GACfxT,KAAKyT,MAAMP,EAAuBK,KAIxChT,QAAS,CAEPmT,WAAY,SAAoBC,GAE9B,QAAI3T,KAAKqT,eACP,eAAUM,IACH,IAMXC,WAAY,WACV,IAAIhB,EAAe5S,KAAK4S,aACpBC,EAAc7S,KAAK6S,YACnBpP,EAAIzD,KAAK8S,eAEb,OAAI9S,KAAKqT,cAAgBrT,KAAK+S,kBAAkB,QACvCtP,EAAE,OAAK,CACZoL,YAAa,oBACbxI,MAAO,CAAC,eAAWuM,GAEnBA,EAAa,KAAM,QAAwBA,GAC3CtM,MAAO,eAAWuM,GAElBA,EAAY,KAAM,QAAwBA,EAC1C3Q,IAAK,mBACJ,CAACuB,EAAE,OAAK,CACTP,MAAO,CACLe,QAASjE,KAAK2S,eAAe5Q,QAAU,OAExC,CAAC/B,KAAKoG,cAAc,YAKlB,S,oCChEF,EAAQ,CACjByN,kBAAmB,eAAS,QAC5BC,kBAAmB,eAAS,OAAkB,8CAC9CC,UAAW,eAAS,QACpBC,UAAW,eAAS,OAAkB,gCACtCC,UAAW,eAAS,QAAmB,IAI9BC,EAAa,aAAIvU,OAAO,CACjCuD,MAAO,EACP3C,QAAS,CACP4T,YAAa,WACX,IAAIC,EAAQpU,KAAKqU,cACb5Q,EAAIzD,KAAK8S,eACTwB,EAAS7Q,IAEb,GAAIzD,KAAKiU,aAAeG,GAA0B,IAAjBA,EAAMrS,WAAmB/B,KAAKqT,eAAgBrT,KAAK+S,kBAAkB,SAAwB,CAC5H,IAAIL,EAAS1S,KAAK2S,eACd4B,EAAavU,KAAKuU,WAClBP,EAAYhU,KAAKgU,UACjBD,EAAY/T,KAAK+T,UACjBD,EAAoB9T,KAAK8T,kBACzBD,EAAoB7T,KAAK6T,kBACzBjB,EAAe5S,KAAK4S,aACpBC,EAAc7S,KAAK6S,YACvByB,EAAStU,KAAKoG,cAAcmO,EAAa,OAA0B,OAAiB,CAClFV,kBAAmBA,EACnBC,kBAAmBA,EACnBC,UAAWA,EACXC,UAAWA,EACXtB,OAAQA,EAER0B,MAAOA,IAGJE,IACHA,EAAS7Q,EAAE,MAAO,CAChB4C,MAAO,CAAC,cAAe,QACvBqI,SAAU6F,EAAa,OAAA5F,EAAA,MAAWkF,EAAmBC,GAAqB,OAAAnF,EAAA,MAAWoF,EAAWC,MAIpGM,EAAS7Q,EAAE,OAAK,CACdP,MAAO,CACLe,QAASyO,EAAO3Q,QAAU,OAE3B,CAAC0B,EAAE,MAAO,CACX6C,MAAO,CACLN,KAAM,QACN,YAAa,WAEd,CAACsO,MACJA,EAAS7Q,EAAE,OAAK,CACdoL,YAAa,oBACbxI,MAAO,CAAC,eAAWuM,GAEnBA,EAAa,KAAM,aAAeA,GAClCtM,MAAO,eAAWuM,GAElBA,EAAY,KAAM,aAAeA,EACjC3Q,IAAKqS,EAAa,uBAAyB,eAC1C,CAACD,IAGN,OAAOA,M,gGC3DF,EAAwB,SAASE,EAAsBhS,GAChE,OAAI,eAAkBA,GACb,GAKL,eAASA,KAAW,eAAOA,GACtB,eAAKA,GAAOiS,OAClBrM,KAAI,SAAUsM,GACb,OAAOF,EAAsBhS,EAAMkS,OAClCnT,QAAO,SAAUoT,GAClB,QAASA,KAEV1M,KAAK,KAGD,eAASzF,I,YC3BP,EAAc,SAAqBoS,EAAKC,EAAcC,GAC/D,IAAIC,EAAYpU,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,GAAmBA,UAAU,GAAK,GAIhFqU,EAAe,eAAKD,GAAWE,QAAO,SAAUrL,EAAQ1H,GAC1D,IAAIgT,EAAQH,EAAU7S,GAClBiT,EAAoBD,EAAMC,kBAC1BC,EAAY,eAAWD,GAE3BA,EAAoBA,EAEpBD,EAAME,UAAY,KAMlB,OAJI,eAAWA,KACbxL,EAAO1H,GAAOkT,EAAUR,EAAI1S,GAAMA,EAAK0S,IAGlChL,IACN,eAAMgL,IAKLS,EAAc,eAAKL,GAAczT,QAAO,SAAUW,GACpD,OAAQ,OAAmBA,MAAU,eAAQ2S,IAAiBA,EAAa9S,OAAS,GAAK,OAAAuT,EAAA,MAAcT,EAAc3S,OAAW,eAAQ4S,IAAkBA,EAAc/S,OAAS,IAAM,OAAAuT,EAAA,MAAcR,EAAe5S,OAEtN,OAAO,eAAK8S,EAAcK,IC3BjB,EAAwB,SAA+BT,EAAKC,EAAcC,EAAeC,GAClG,OAAO,eAASH,GAAO,EAAsB,EAAYA,EAAKC,EAAcC,EAAeC,IAE3F,ICRF,SAASQ,EAAmB9N,GAAO,OAAO+N,EAAmB/N,IAAQgO,EAAiBhO,IAAQiO,EAA4BjO,IAAQkO,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIjM,EAAIzI,OAAOgQ,UAAU5J,SAAS+J,KAAKsE,GAAG7N,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBgM,EAAEG,cAAanM,EAAIgM,EAAEG,YAAY1S,MAAgB,QAANuG,GAAqB,QAANA,EAAoBoM,MAAMC,KAAKL,GAAc,cAANhM,GAAqB,2CAA2CsM,KAAKtM,GAAWkM,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYlV,OAAOgV,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmB/N,GAAO,GAAIwO,MAAMM,QAAQ9O,GAAM,OAAOsO,EAAkBtO,GAEpF,SAASsO,EAAkBtO,EAAK+O,IAAkB,MAAPA,GAAeA,EAAM/O,EAAI1F,UAAQyU,EAAM/O,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG2U,EAAO,IAAIR,MAAMO,GAAM1U,EAAI0U,EAAK1U,IAAO2U,EAAK3U,GAAK2F,EAAI3F,GAAM,OAAO2U,EAkBhL,IAAIC,EAA0B,8FAEnB,EAAQ,CACjBnV,OAAQ,eAAS,GAAGuC,OAAOyR,EAAmB,QAAgC,CAAC,UAC/EoB,eAAgB,eAAS,OAAyB,GAAG,SAAUnU,GAC7D,OAAO,OAAU2T,KAAKxM,OAAOnH,OAE/BoU,eAAgB,eAAS,QACzBC,oBAAqB,eAAS,OAAiB,IAC/CC,qBAAsB,eAAS,OAAiB,KAIvCC,EAAiB,aAAIpX,OAAO,CACrCuD,MAAO,EACPS,KAAM,WACJ,MAAO,CAEL4Q,YAAY,EAGZyC,YAAahX,KAAKiX,eAAejX,KAAKuB,UAG1C3B,SAAU,CACRsX,sBAAuB,WACrB,OAAO,eAAOlX,KAAK6W,qBAAuB,IAAItV,OAAO4V,EAAA,OAEvDC,uBAAwB,WACtB,OAAO,eAAOpX,KAAK8W,sBAAwB,IAAIvV,OAAO4V,EAAA,OAExDE,uBAAwB,WACtB,IAAIC,EAAK,eAAUtX,KAAK2W,eAAgB,GAOxC,OAJIW,EAAK,GACP,OAAAC,EAAA,MAAKb,EAAyB,SAGzBY,GAETE,eAAgB,WACd,OAAOxX,KAAKyX,eAAgBzX,KAAK0X,qBAGnCC,cAAe,WACb,IAAIC,EAAgB5X,KAAK4X,cACrBC,EAAa7X,KAAK6X,WAClBb,EAAchX,KAAKgX,YACvB,MAAO,CACLY,cAAeA,EACfC,WAAYA,EACZb,YAAaA,IAIjBc,cAAe,WAEb,IAAIlB,EAAiB5W,KAAK4W,eAC1B,OAAO,eAAgBA,GAAkBA,EAAiB,MAI5DgB,cAAe,WAEb,IAAIxD,EAAQpU,KAAK6X,WACbE,EAAW/X,KAAKgX,YAIhBgB,EAAWhY,KAAKwX,eAAiBxX,KAAKiY,gBAAgBjY,KAAK8X,cAAeC,IAAa/X,KAAKkY,uBAAuBH,GAAY,KAEnI,OAAOC,GAAY5D,EAAMrS,OAAS,EAAIqS,EAAM7S,OAAOyW,GAAY5D,IAGnEd,MAAO,CAEL+D,uBAAwB,SAAgC9D,IACjDA,GAAYvT,KAAKmY,gBACpBnY,KAAKoY,mBACLpY,KAAKgX,YAAchX,KAAKiX,eAAejX,KAAKuB,UAIhDA,OAAQ,CAGN8W,MAAM,EACNC,QAAS,SAAiBC,GACxB,IAAIC,EAAQxY,KAERyY,EAAUzY,KAAKqX,uBACnBrX,KAAKoY,mBAEDK,GAAWA,EAAU,EAEvBzY,KAAKmY,cAAgBO,YAAW,WAC9BF,EAAMxB,YAAcwB,EAAMvB,eAAesB,KACxCE,GAGHzY,KAAKgX,YAAchX,KAAKiX,eAAesB,KAM7CZ,cAAe,SAAuBjU,GACpC,IAAIkU,EAAgBlU,EAAKkU,cACrBZ,EAActT,EAAKsT,YAEnBzC,GAAa,EAEZyC,EAGM,eAAWA,EAAa,KAAO,eAAWA,EAAa,IAEhEzC,GAAa,EACJyC,IAETzC,GAAa,GANbA,GAAa,EASXA,GACFvU,KAAKyT,MAAM,OAAqBmE,EAAeA,EAAc7V,QAG/D/B,KAAKuU,WAAaA,GAEpBA,WAAY,SAAoBhB,EAAUC,GACxC,IAAiB,IAAbD,IAAmC,IAAbC,EAAmB,CAG3C,IAAIqE,EAAa7X,KAAK6X,WACtB7X,KAAKyT,MAAM,OAAqBoE,EAAYA,EAAW9V,WAI7D4W,QAAS,WACP,IAAIC,EAAS5Y,KAGbA,KAAKmY,cAAgB,KAMrBnY,KAAK6Y,WAAU,WACbD,EAAOrE,WAAauE,QAAQF,EAAO5B,iBAGvC+B,cAAe,WACb/Y,KAAKoY,oBAEP7X,QAAS,CACP6X,iBAAkB,WAChBY,aAAahZ,KAAKmY,eAClBnY,KAAKmY,cAAgB,MAEvBlB,eAAgB,SAAwBc,GAEtC,OAAI/X,KAAKwX,gBAAmBxX,KAAK8X,eAAmB,eAASC,IAAa,eAASA,GAS5E,eAAUA,GANR,IASXE,gBAAiB,SAAyBD,EAAUD,GAOlD,IAAKC,IAAa,eAAWA,KAAcD,GAAY,eAAWA,EAAU,KAAO,eAAWA,EAAU,IACtG,OAAO,KAIT,IAAI5M,EAAK,SAAY8N,GAGnB,OAAOjB,EAASiB,EAAMlB,IAIxB,OAAO5M,GAET+M,uBAAwB,SAAgCH,GACtD,IAAImB,EAASlZ,KAIb,IAAK+X,IAAc,eAASA,KAAa,eAASA,GAEhD,OAAO,KAIT,IAAIoB,EAASpB,EAEb,GAAI,eAASoB,GAAS,CAGpB,IAAIC,EAAU,eAAarB,GAAUlU,QAAQ,OAAW,QAGxDsV,EAAS,IAAIhI,OAAO,KAAKrN,OAAOsV,EAAS,MAAO,KAIlD,IAAIjO,EAAK,SAAY8N,GAenB,OADAE,EAAOE,UAAY,EACZF,EAAOhD,KAAK,EAAsB8C,EAAMC,EAAOhC,sBAAuBgC,EAAO9B,uBAAwB8B,EAAOI,qBAIrH,OAAOnO,M,wBCpQF,EAAQ,CACjBoO,YAAa,eAAS,OAAyB,GAC/CC,QAAS,eAAS,OAAyB,IAIlCC,GAAkB,aAAI9Z,OAAO,CACtCuD,MAAO,EACPtD,SAAU,CACR8Z,YAAa,WACX,OAAO1Z,KAAKyX,eAAgBzX,KAAK2Z,kBAEnCC,eAAgB,WACd,IAAIxF,EAAQpU,KAAK6Z,aAAe7Z,KAAK4X,eAAiB5X,KAAK6X,YAAc,GACrE0B,EAAc,OAAAO,EAAA,MAAQ,eAAU9Z,KAAKuZ,YAAa,GAAI,GACtDC,EAAU,OAAAM,EAAA,MAAQ,eAAU9Z,KAAKwZ,QAAS,GAAI,GAQlD,OANIxZ,KAAK0Z,aAAeF,IAEtBpF,EAAQA,EAAMpM,OAAOuR,EAAc,GAAKC,EAASD,EAAcC,IAI1DpF,M,aCjBT2F,GAA4B,eAAiB,QAAY,QACzDC,GAAiC,eAAuB,QAAY,QAE7D,GAAQ,CAGjBC,OAAQ,eAAS,QAEjB7F,MAAO,eAAS,OAA0B,IAC1CsD,oBAAqB,eAAS,QAAmB,GACjDiC,iBAAkB,eAAS,QAAmB,GAC9CO,kBAAmB,eAAS,QAAmB,IAItCC,GAAgB,aAAIxa,OAAO,CACpC4E,OAAQ,CAAC,SACTrB,MAAO,GACPtD,SAAU,CACR6X,YAAa,WACX,OAAO,eAAWzX,KAAKoU,QAEzBgG,uBAAwB,WAKtB,IAAIxX,EAAM,CACRqX,OAAQja,KAAKia,OACb1Y,OAAQ,KACR8Y,OAAQ,KACRC,SAAU,KACVd,QAAS,KACTD,YAAa,MAkBf,OAfKvZ,KAAK0X,sBAER9U,EAAIrB,OAASvB,KAAKgX,aAGfhX,KAAKka,oBACRtX,EAAIyX,OAASra,KAAKua,YAClB3X,EAAI0X,SAAWta,KAAKwa,eAGjBxa,KAAK2Z,mBACR/W,EAAI4W,QAAUxZ,KAAKwZ,QACnB5W,EAAI2W,YAAcvZ,KAAKuZ,aAGlB,eAAM3W,KAGjB0Q,MAAO,CAELc,MAAO,SAAeb,IAEhBvT,KAAKyX,aAAe,eAAWlE,KACjCvT,KAAK6Y,UAAU7Y,KAAKya,kBAGxBL,uBAAwB,SAAgC7G,EAAUC,GAE3D,eAAWD,EAAUC,IACxBxT,KAAK6Y,UAAU7Y,KAAKya,mBAI1BC,QAAS,WACP,IAAIlC,EAAQxY,MAGRA,KAAKyX,aAAiBzX,KAAK6X,YAAyC,IAA3B7X,KAAK6X,WAAW9V,QAE3D/B,KAAKya,kBAIPza,KAAK2a,aAAaX,IAAgC,SAAUhQ,GACtDA,IAAOwO,EAAMxO,IAAMA,IAAOwO,GAC5BA,EAAMoC,cAIZra,QAAS,CACPqa,QAAS,WACP,IAAIxG,EAAQpU,KAAKoU,MACbwG,EAAU5a,KAAK4a,QAEnB5a,KAAK6a,KAAK,OAAsBD,GAE5B5a,KAAKqT,aAEHrT,KAAKoT,WAAapT,KAAKyX,aAEzBzX,KAAK8a,IAAI,OAAsBF,IAGjC5a,KAAK+a,gBAED/a,KAAKyX,YACPzX,KAAK6Y,UAAU7Y,KAAKya,iBAGpBza,KAAK6X,WAAa,eAAQzD,GAASA,EAAMpM,QAAU,KAKzDgT,kBAAmB,SAA2B5G,GAC5CpU,KAAK6X,WAAa,eAAQzD,GAASA,EAAMpM,QAAU,GACnDhI,KAAKoT,WAAY,EACjBpT,KAAKyT,MAAM,QAEPzT,KAAKgK,IACPhK,KAAKib,WAAWlB,GAA2B/Z,KAAKgK,KAGpDyQ,gBAAiB,WACf,IAAI7B,EAAS5Y,KAGRA,KAAKyX,cAMNzX,KAAKqT,aAEPrT,KAAK6Y,UAAU7Y,KAAK4a,UAKtB5a,KAAKoT,WAAY,EAEjBpT,KAAK6Y,WAAU,WACb,IAEE,IAAIlV,EAAOiV,EAAOxE,MAAMwE,EAAOsC,QAAStC,EAAOoC,mBAE3C,eAAUrX,GAEZA,EAAKsH,MAAK,SAAUmJ,GAElBwE,EAAOoC,kBAAkB5G,MAElB,eAAQzQ,GAEjBiV,EAAOoC,kBAAkBrX,GAGG,IAAxBiV,EAAOxE,MAAMrS,SAMf,OAAAwV,EAAA,MAAK,kFAAmF,SACxFqB,EAAOxF,WAAY,GAGvB,MAAO+H,GAKP,OAAA5D,EAAA,MAAK,4BAA4BzT,OAAOqX,EAAE7X,KAAM,MAAMQ,OAAOqX,EAAEC,QAAS,KAAM,SAC9ExC,EAAOxF,WAAY,EAEnBwF,EAAOiC,KAAK,OAAsBjC,EAAOgC,mBCxLnD,SAAS,GAAgBrY,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,ICbI8Y,GAAQC,GDaRC,GAAe,CAAC,QAAS,QAAS,UAE3B,GAAQ,CAEjBC,gBAAiB,eAAS,QAAmB,GAC7CC,WAAY,eAAS,OAAkB,SAAS,SAAUjZ,GACxD,OAAO,OAAA8S,EAAA,MAAciG,GAAc/Y,MAErCkZ,WAAY,eAAS,QAAmB,GACxCC,gBAAiB,eAAS,OAAkB,WAInCC,GAAkB,aAAIjc,OAAO,CACtCuD,MAAO,GACPS,KAAM,WACJ,MAAO,CACLkY,aAAc,GACdC,iBAAkB,IAGtBlc,SAAU,CACRmc,aAAc,WACZ,OAAO/b,KAAK0b,YAAc1b,KAAKyb,YAEjCO,sBAAuB,WACrB,OAAOhc,KAAK+b,eAAiB/b,KAAKwb,iBAEpCS,uBAAwB,WACtB,OAAO,GAETC,uBAAwB,WACtB,IAAIL,EAAe7b,KAAK6b,aACxB,OAAO7b,KAAK+b,cAAgBF,GAAgBA,EAAa9Z,OAAS,GAAK8Z,EAAaM,KAAKhF,EAAA,OAE3FiF,wBAAyB,WACvB,OAAOpc,KAAK+b,cAAgB,OAAAzG,EAAA,MAAc,CAAC,QAAS,SAAUtV,KAAKyb,aAErEY,uBAAwB,WACtB,IAAI3Y,EAEAqY,EAAe/b,KAAK+b,aACxB,OAAOrY,EAAO,CACZ,qBAAsBqY,GACrB,GAAgBrY,EAAM,kBAAkBI,OAAO9D,KAAKyb,YAAaM,GAAe,GAAgBrY,EAAM,oBAAqB1D,KAAKkc,wBAAyB,GAAgBxY,EAAM,8BAA+BqY,IAAiB/b,KAAKgc,uBAAwBtY,GAEjQ4Y,qBAAsB,WACpB,MAAO,CAIL,uBAAyBtc,KAAK+b,aAAsB/b,KAAKoc,wBAA0B,OAAS,QAA/C,QAInD9I,MAAO,CACLe,cAAe,SAAuBd,EAAUC,GAE9C,IAAI+I,GAAQ,EAEZ,GAAIvc,KAAK+b,cAAgB/b,KAAK6b,aAAa9Z,OAAS,EAAG,CAErDwa,EAAQ,eAAQhJ,IAAa,eAAQC,IAAaD,EAASxR,SAAWyR,EAASzR,OAE/E,IAAK,IAAID,EAAI,EAAGya,GAASza,EAAIyR,EAASxR,OAAQD,IAE5Cya,EAAQ,eAAW,EAAYhJ,EAASzR,IAAK,EAAY0R,EAAS1R,KAIjEya,GACHvc,KAAK+a,iBAGTW,WAAY,SAAoBnI,GAC9BvT,KAAK+a,gBACL/a,KAAKwc,qBAAqBjJ,IAE5BkI,WAAY,WACVzb,KAAK+a,iBAEPiB,sBAAuB,SAA+BzI,GACpDvT,KAAK+a,gBACL/a,KAAKwc,sBAAsBjJ,IAE7BsI,aAAc,SAAsBY,EAAejJ,GACjD,IAAIgF,EAAQxY,KAEZ,GAAIA,KAAK+b,eAAiB,eAAWU,EAAejJ,GAAW,CAC7D,IAAIY,EAAQ,GAEZqI,EAAcxa,SAAQ,SAAU0S,EAAG+H,GAC7B/H,GACFP,EAAMzS,KAAK6W,EAAMnE,cAAcqI,OAInC1c,KAAKyT,MAAM,OAAyBW,MAI1CuI,YAAa,WAEP3c,KAAK+b,cACP/b,KAAKwc,sBAAqB,IAG9Bjc,QAAS,CAEPqc,UAAW,SAAmBC,GAE5B,GAAI7c,KAAK+b,cAAgB,eAASc,IAAUA,GAAS,GAAKA,EAAQ7c,KAAKqU,cAActS,SAAW/B,KAAK8c,cAAcD,GAAQ,CACzH,IAAIhB,EAAe7b,KAAKoc,wBAA0Bpc,KAAK6b,aAAa7T,QAAU,GAC9E6T,EAAagB,IAAS,EACtB7c,KAAK+c,qBAAuB,EAC5B/c,KAAK6b,aAAeA,IAGxBmB,YAAa,SAAqBH,GAEhC,GAAI7c,KAAK+b,cAAgB,eAASc,IAAU7c,KAAK8c,cAAcD,GAAQ,CACrE,IAAIhB,EAAe7b,KAAK6b,aAAa7T,QACrC6T,EAAagB,IAAS,EACtB7c,KAAK+c,qBAAuB,EAC5B/c,KAAK6b,aAAeA,IAGxBoB,cAAe,WACb,IAAIlb,EAAS/B,KAAKqU,cAActS,OAE5B/B,KAAK+b,cAAgBha,EAAS,IAChC/B,KAAK+c,qBAAuB,EAC5B/c,KAAK6b,aAAe7b,KAAKoc,wBAA0B,eAAYra,GAAQ,GAAQ,EAAC,KAGpF+a,cAAe,SAAuBD,GAEpC,SAAU,eAASA,KAAU7c,KAAK6b,aAAagB,KAEjD9B,cAAe,WAEb/a,KAAK+c,qBAAuB,EAC5B/c,KAAK6b,aAAe,IAGtBqB,qBAAsB,SAA8BL,GAClD,GAAI7c,KAAK+b,cAAgB/b,KAAK8c,cAAcD,GAAQ,CAClD,IAAIxY,EAAUrE,KAAK2b,gBACnB,OAAO,GAAgB,CACrB,wBAAwB,GACvB,GAAG7X,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAOO,GAAUA,GAGjE,MAAO,IAET8Y,mBAAoB,SAA4BN,GAC9C,MAAO,CACL,gBAAkB7c,KAAK+b,aAAsB/b,KAAK8c,cAAcD,GAAS,OAAS,QAA5C,OAG1CL,qBAAsB,SAA8BjW,GAClD,IAAI6W,EAAS7W,IAAOvG,KAAKwb,gBAAkB,MAAQ,OAEnDxb,KAAKod,GAAQ,OAAwBpd,KAAKqd,kBAE1Crd,KAAKod,GAAQ,OAAqBpd,KAAK+a,eACvC/a,KAAKod,GAAQ,OAA4Bpd,KAAK+a,gBAEhDsC,iBAAkB,SAA0BpE,EAAM4D,EAAOlJ,GAEvD,GAAK3T,KAAK+b,eAAgB/b,KAAKwb,gBAA/B,CAMA,IAAIC,EAAazb,KAAKyb,WAClBK,EAAkB9b,KAAK8b,gBACvBD,EAAe7b,KAAK6b,aAAa7T,QACjCsV,GAAYzB,EAAagB,GAE7B,GAAmB,WAAfpB,EACFI,EAAe,QACV,GAAmB,UAAfJ,EACT,GAAIK,GAAmB,GAAKnI,EAAM4J,SAAU,CAE1C,IAAK,IAAIb,EAAM,OAAA5C,EAAA,MAAQgC,EAAiBe,GAAQH,GAAO,OAAA5C,EAAA,MAAQgC,EAAiBe,GAAQH,IACtFb,EAAaa,IAAO,EAGtBY,GAAW,OAEL3J,EAAM6J,SAAW7J,EAAM8J,UAE3B5B,EAAe,GACfyB,GAAW,GAGbtd,KAAK8b,gBAAkBwB,EAAWT,GAAS,EAI/ChB,EAAagB,GAASS,EACtBtd,KAAK6b,aAAeA,OA/BlB7b,KAAK+a,oB,0BEpLT,GAAiB,SAAwBvY,GAC3C,OAAI,eAAkBA,GACb,GAGL,eAAUA,GACL,eAAQA,EAAOA,GAGjBA,GAYE,GAAqB,SAA4Bkb,EAAGC,GAC7D,IAAIja,EAAO/C,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,GAAmBA,UAAU,GAAK,GAC3Eid,EAAcla,EAAK2W,OACnBA,OAAyB,IAAhBuD,EAAyB,KAAOA,EACzCC,EAAiBna,EAAK0R,UACtBA,OAA+B,IAAnByI,EAA4B,KAAOA,EAC/CC,EAAcpa,EAAKqa,OACnBA,OAAyB,IAAhBD,OAAyBvS,EAAYuS,EAC9CE,EAAqBta,EAAKua,cAC1BA,OAAuC,IAAvBD,EAAgC,GAAKA,EACrDE,EAAgBxa,EAAKya,SACrBA,OAA6B,IAAlBD,GAAmCA,EAG9CE,EAAK,OAAAre,GAAA,MAAI2d,EAAGrD,EAAQ,MACpBgE,EAAK,OAAAte,GAAA,MAAI4d,EAAGtD,EAAQ,MAaxB,OAXI,eAAWjF,KACbgJ,EAAKhJ,EAAUgJ,EAAI/D,EAAQqD,GAC3BW,EAAKjJ,EAAUiJ,EAAIhE,EAAQsD,IAM7BS,EAAK,GAAeA,GACpBC,EAAK,GAAeA,GAEhB,eAAOD,IAAO,eAAOC,IAAO,eAASD,IAAO,eAASC,GAGhDD,EAAKC,GAAM,EAAID,EAAKC,EAAK,EAAI,EAC3BF,GAAmB,KAAPC,GAAoB,KAAPC,EAE3B,EACEF,GAAmB,KAAPC,GAAoB,KAAPC,GAE1B,EAIH,EAAsBD,GAAIE,cAAc,EAAsBD,GAAKN,EAAQE,IDjEpF,SAASjd,GAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,GAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,GAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,GAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,GAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,GAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAY3M,IAAIgc,GAA0B,SAC1BC,GAA2B,QAA0BD,GACrDE,GAA4B,WAC5BC,GAA6B,QAA0BD,GACvDE,GAAqB,MACrBC,GAAsB,OACtBC,GAAsB,OACtBC,GAAkB,CAACH,GAAoBC,GAAqBC,IAErD,IAASxD,GAAS,CAC3B0D,aAAc,eAAS,OAAkB,2BACzCC,eAAgB,eAAS,OAAkB,0BAC3CC,cAAe,eAAS,OAAkB,4BAC1CC,gBAAiB,eAAS,QAAmB,GAC7CC,eAAgB,eAAS,QAAmB,GAK5CC,YAAa,eAAS,QAAmB,IACxC,GAAgB/D,GAAQkD,GAAyB,eAAS,SAAoB,GAAgBlD,GAAQ,cAAe,eAAS,SAAsB,GAAgBA,GAAQ,oBAAqB,eAAS,SAA0B,GAAgBA,GAAQ,qBAAsB,eAAS,OAAkB,CAC9SgE,SAAS,KACN,GAAgBhE,GAAQoD,GAA2B,eAAS,QAAmB,IAAS,GAAgBpD,GAAQ,gBAAiB,eAAS,OAAkBsD,IAAoB,SAAUnc,GAC7L,OAAO,OAAA8S,EAAA,MAAcwJ,GAAiBtc,OACnC,GAAgB6Y,GAAQ,eAAgB,eAAS,QAAmB,IAAS,GAAgBA,GAAQ,eAAgB,eAAS,QAAmB,IAASA,IAGpJiE,GAAe,aAAI3f,OAAO,CACnCuD,MAAO,GACPS,KAAM,WACJ,MAAO,CACL4W,YAAava,KAAKue,KAA4B,GAC9C/D,cAAexa,KAAKye,MAA8B,IAGtD7e,SAAU,CACR2f,aAAc,WACZ,OAAOvf,KAAKyX,cAAgBzX,KAAKka,mBAAqBla,KAAKmf,gBAE7DK,WAAY,WACV,OAAOxf,KAAK2S,eAAewJ,MAAK,SAAUvK,GACxC,OAAOA,EAAE6N,aAKb5F,YAAa,WACX,IAAIQ,EAASra,KAAKua,YACdD,EAAWta,KAAKwa,cAChBuD,EAAS/d,KAAK0f,kBACdvB,EAAWne,KAAK2f,aAChBC,EAAc5f,KAAK4f,YACnBL,EAAevf,KAAKuf,aACpBnL,GAASpU,KAAK4X,eAAiB5X,KAAK6X,YAAc,IAAI7P,QAEtDiW,EAAgBrc,GAAcA,GAAc,GAAI5B,KAAK6f,oBAAqB,GAAI,CAChFC,MAAO,SAGT,GAAIzF,GAAUkF,EAAc,CAC1B,IAAIrK,EAAQlV,KAAKsZ,kBAAkBe,IAAW,GAC1C0F,EAAkB7K,EAAM6K,gBACxB3K,EAAY,eAAW2K,GAE3BA,EAAkBA,EAAkB/f,KAAKggB,kBAAkB3F,QAAU9O,EAErE,OAAO,gBAAW6I,GAAO,SAAUsJ,EAAGC,GACpC,IAAI/T,EAAS,KAsBb,OApBI,eAAWgW,KAIbhW,EAASgW,EAAYlC,EAAGC,EAAGtD,EAAQC,EAAUlF,EAAW6I,EAAeF,KAKrE,eAAkBnU,KAAsB,IAAXA,KAC/BA,EAAS,GAAmB8T,EAAGC,EAAG,CAChCtD,OAAQA,EACRjF,UAAWA,EACX2I,OAAQA,EACRE,cAAeA,EACfE,SAAUA,MAKNvU,GAAU,IAAM0Q,GAAY,EAAI,MAI5C,OAAOlG,IAGXd,OAAQgI,GAAS,CAEfkE,WAAY,SAAoBjM,GAC1BA,EACEvT,KAAKwf,YACPxf,KAAK8a,IAAI,OAAyB9a,KAAKigB,YAGzCjgB,KAAK6a,KAAK,OAAyB7a,KAAKigB,cAG3C,GAAgB3E,GAAQmD,IAA2B,SAAUlL,GAE1DA,IAAavT,KAAKwa,gBAItBxa,KAAKwa,cAAgBjH,IAAY,MAC/B,GAAgB+H,GAAQiD,IAAyB,SAAUhL,GAEzDA,IAAavT,KAAKua,cAItBva,KAAKua,YAAchH,GAAY,OAC7B,GAAgB+H,GAAQ,iBAAiB,SAAuB/H,EAAUC,GAExED,IAAaC,GACfxT,KAAKyT,MAAMiL,GAA4BnL,MAEvC,GAAgB+H,GAAQ,eAAe,SAAqB/H,EAAUC,GACpED,IAAaC,GACfxT,KAAKyT,MAAM+K,GAA0BjL,MAErC+H,IACJ3C,QAAS,WACH3Y,KAAKwf,YACPxf,KAAK8a,IAAI,OAAyB9a,KAAKigB,aAG3C1f,QAAS,CAGP0f,WAAY,SAAoB/d,EAAKgT,EAAOvB,EAAOuM,GACjD,IAAI1H,EAAQxY,KAEZ,GAAKA,KAAKwf,cAKNU,IAAUlgB,KAAKkf,iBAAnB,CAMA,IAAIiB,GAAc,EAEdC,EAAsB,WACxB,IAAIC,EAAgBnL,EAAMmL,eAAiB7H,EAAM6H,cAE7CA,IAAkB1B,GACpBnG,EAAMgC,eAAgB,EACb6F,IAAkBzB,KAC3BpG,EAAMgC,eAAgB,IAM1B,GAAItF,EAAMuK,SAAU,CAClB,IAAIa,GAAWtgB,KAAKuf,cAAgBrK,EAAMoL,QAAUpL,EAAMoL,QAAUpe,EAEhElC,KAAKua,cAAgB+F,EAEvBtgB,KAAKwa,eAAiBxa,KAAKwa,eAG3Bxa,KAAKua,YAAc+F,EAEnBF,KAGFD,GAAc,OACLngB,KAAKua,cAAgBva,KAAKof,cACnCpf,KAAKua,YAAc,GACnB6F,IACAD,GAAc,GAGZA,GAEFngB,KAAKyT,MAAM,OAAyBzT,KAAKkb,WAI7CqF,mBAAoB,SAA4Bre,EAAKgT,EAAOgL,GAC1D,MAAO,CAEL,yBAA0BhL,EAAMuK,UAAYzf,KAAKwgB,gBAAkBN,GAAUlgB,KAAKkf,mBAGtFuB,iBAAkB,SAA0Bve,EAAKgT,EAAOgL,GACtD,IAAKlgB,KAAKwf,YAAcU,GAAUlgB,KAAKkf,gBAErC,MAAO,GAGT,IAAIO,EAAWvK,EAAMuK,SAEjBiB,EAAWjB,GAAYzf,KAAKua,cAAgBrY,EAAMlC,KAAKwa,cAAgB,aAAe,YAAciF,EAAW,OAAS,KAE5H,MAAO,CACL,YAAaiB,IAGjBC,iBAAkB,SAA0Bze,EAAKgT,EAAOgL,GAEtD,IAAKlgB,KAAKwf,YAAcU,GAAUlgB,KAAKkf,gBAErC,OAAO,KAGT,IAAIO,EAAWvK,EAAMuK,SAEjBmB,EAAe,GAEnB,GAAInB,EACF,GAAIzf,KAAKua,cAAgBrY,EAEvB0e,EAAe5gB,KAAKwa,cAAgBxa,KAAK+e,aAAe/e,KAAKif,kBACxD,CAIL2B,EAAe5gB,KAAKwa,cAAgBxa,KAAKif,cAAgBjf,KAAK+e,aAE9D,IAAIsB,EAAgBrgB,KAAKqgB,eAAiBnL,EAAMmL,cAE5CA,IAAkB1B,GACpBiC,EAAe5gB,KAAK+e,aACXsB,IAAkBzB,KAC3BgC,EAAe5gB,KAAKif,oBAGdjf,KAAKof,cAEfwB,EAAe5gB,KAAKua,YAAcva,KAAKgf,eAAiB,IAI1D,OAAO,eAAK4B,IAAiB,S,kEErQxB,GAAQ,GAGRC,GAAc,aAAIlhB,OAAO,CAClCY,QAAS,CACPugB,aAAc,WACZ,IAAIpO,EAAS1S,KAAK2S,eACdvP,EAAUpD,KAAKoD,QACfwP,EAAe5S,KAAK4S,aACpBC,EAAc7S,KAAK6S,YACnBpP,EAAIzD,KAAK8S,eAGb,OAAK9S,KAAK+S,kBAAkB,WAAkC,IAAZ3P,GAAgC,KAAZA,EAI/DK,EAAE,OAAK,CACZoL,YAAa,kBACbxI,MAAO,CAAC,eAAWuM,GAAgBA,EAAa,KAAM,WAAaA,GACnEtM,MAAO,eAAWuM,GAAeA,EAAY,KAAM,WAAaA,EAChE3Q,IAAK,aACJ,CAAClC,KAAKoG,cAAc,QAAmB,CACxC4M,QAASN,EAAO3Q,OAChB2Q,OAAQA,MAVDjP,QCnBf,SAAS,GAAQxC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,GAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,GAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,GAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,GAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,GAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EA4BpM,IAAI,GAAQ,eAAsB,eAAS,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAc,GAAIyH,EAAA,MAAU,GAAiB,GAAY,QAAe,QAAgB,GAAa,GAAiB,QAAa,GAAkB,IAAgB,IAAkB,IAAe,SAAe,SAAqB,SAAa,SAAa,SAAa,KAAe,SAGrjB+W,GAAsB,aAAIphB,OAAO,CAC1C2D,KAAM,QAGNiB,OAAQ,CACR+B,EAAA,KAAY,OAAkB0D,EAAA,KAAS,OACvC,OAAY,QAAoB,QAAc,QAAY,QAAY,QACtE,QAAc+M,EAAgBuI,GAAc7F,GAAiB,OAAc,OAAemC,GAAiB1H,EAAY2M,GAAarO,EAAgBW,EAAWgH,IAC/JjX,MAAO,M,oCC3CT,mIAASlC,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAU3M,IAAIye,EAAQ,QACRC,EAAO,OAEA/d,EAAQ,eAAsB,CACvCmB,QAAS,eAAS,SACjB,SAMQ6c,EAAmB,aAAIvhB,OAAO,CACvC2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLjC,UAAWzE,OAGfwE,OAAQ,CACNmC,gBAAiB,CACfjC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERiF,QAAS,WACP,OAAO7E,KAAK2G,gBAAgBwa,SAG9Brc,QAAS,WACP,OAAO9E,KAAK2G,gBAAgBE,SAG9B9B,QAAS,WACP,OAAO/E,KAAK2G,gBAAgB0L,SAG9BrN,OAAQ,WACN,OAAOhF,KAAK2G,gBAAgB3B,QAG9BC,UAAW,WACT,OAAOjF,KAAK2G,gBAAgB1B,WAG9BE,aAAc,WACZ,OAAOnF,KAAK2G,gBAAgBxB,cAI9BC,eAAgB,WACd,OAAOpF,KAAK2G,gBAAgBvB,gBAK9BC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK2G,gBAAgBtB,iBAGjDK,aAAc,WACZ,OAAO1F,KAAK2G,gBAAgBjB,cAG9BF,YAAa,WACX,OAAOxF,KAAK8E,QAAU9E,KAAK2G,gBAAgBnB,YAAc,MAG3DC,YAAa,WACX,OAAOzF,KAAK+E,QAAU/E,KAAK2G,gBAAgBlB,YAAc,MAE3D2b,UAAW,WACT,OAAOphB,KAAKwF,cAAgBwb,GAAShhB,KAAKyF,cAAgBub,IAElDhhB,KAAKwF,cAAgByb,GAAQjhB,KAAKyF,cAAgBwb,GAEnDjhB,KAAKgF,SAEdqc,UAAW,WACT,IAAIhd,EAAUrE,KAAKqE,QACnB,MAAO,CAACA,EAAU,GAAGP,OAAO9D,KAAKohB,UAAY,KAAO,QAAS,KAAKtd,OAAOO,GAAW,OAEtFid,QAAS,WACP,OAAO1f,EAAc,CACnBoE,KAAM,OACLhG,KAAKkG,WAGZ1C,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,KAAM,CACb4C,MAAOrG,KAAKqhB,UACZ/a,MAAOtG,KAAKshB,QAEZ/a,GAAIvG,KAAKwG,aACRxG,KAAKoG,qB,oCCnHZ,8DAOWmb,EAAmB,aAAI5hB,OAAO,CACvCY,QAAS,CACPihB,YAAa,SAAqBle,GAEhC,IAAIme,EAAazhB,KAAKyhB,YAAc,GAIhCC,EAAU1hB,KAAK2hB,SAAW,GAG9B,OAAQ,eAAYF,EAAWne,KAAU,eAAQoe,EAAQpe,KAAUoe,EAAQpe,GAAMvB,OAAS,O,oCClBhG,kJASWmB,EAAQ,eAAsB,CACvC+J,OAAQ,eAAS,QAAmB,GACpC2U,WAAY,eAAS,QAAmB,GACxChd,IAAK,eAAS,OAAkB,OAChCid,cAAe,eAAS,OAAkB,QACzC,SAGQC,EAAsB,aAAIniB,OAAO,CAC1C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZyJ,EAAQ1J,EAAK0J,MACbC,EAAc3J,EAAK2J,YACnBhD,EAAW3G,EAAK2G,SAChB4C,EAAS/J,EAAM+J,OACf2U,EAAa1e,EAAM0e,WACnBC,EAAgB3e,EAAM2e,cACtBE,EAAY9U,EAAS5C,EAAW,GAEpC,IAAK4C,EAAQ,CACX,IAAImB,EAAY,GACZD,EAASf,IACTc,EAAeb,GAAe,GAClC0U,EAAUpgB,KAAK8B,EAAE,OAAY,eAAc,OAAmB2K,EAAWF,EAAcC,KACvF,IAAI6T,EAAS,eAAc,OAAiB5T,EAAWF,EAAcC,GAEjE6T,GACFD,EAAUH,EAAa,OAAS,WAAWne,EAAE,OAAa,CACxDP,MAAO,CACLuJ,MAAOmV,EACPC,cAAeA,IAEhBG,IAIP,OAAOve,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,UACXkT,O,kCCnDR,uHAAS/gB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAQpM,IAAIW,EAAQ,eAAsB,eAAK,OAAuB,CAAC,WAAY,SAGvE+e,EAAkC,aAAItiB,OAAO,CACtD2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAEpB,OAAO5G,EAAE,OAAkB,eAAUE,EAAM,CACzCT,MAAOtB,EAAcA,EAAc,GAAIsB,GAAQ,GAAI,CACjDgf,QAAQ,MAER7X,O,6VC5BR,SAASrJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAE3M,SAASgT,EAAmB9N,GAAO,OAAO+N,EAAmB/N,IAAQgO,EAAiBhO,IAAQiO,EAA4BjO,IAAQkO,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIjM,EAAIzI,OAAOgQ,UAAU5J,SAAS+J,KAAKsE,GAAG7N,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBgM,EAAEG,cAAanM,EAAIgM,EAAEG,YAAY1S,MAAgB,QAANuG,GAAqB,QAANA,EAAoBoM,MAAMC,KAAKL,GAAc,cAANhM,GAAqB,2CAA2CsM,KAAKtM,GAAWkM,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYlV,OAAOgV,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmB/N,GAAO,GAAIwO,MAAMM,QAAQ9O,GAAM,OAAOsO,EAAkBtO,GAEpF,SAASsO,EAAkBtO,EAAK+O,IAAkB,MAAPA,GAAeA,EAAM/O,EAAI1F,UAAQyU,EAAM/O,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG2U,EAAO,IAAIR,MAAMO,GAAM1U,EAAI0U,EAAK1U,IAAO2U,EAAK3U,GAAK2F,EAAI3F,GAAM,OAAO2U,EAezK,IAAI,EAAQ,CACjB0L,eAAgB,eAAS,QACzBtP,YAAa,eAAS,QACtBD,aAAc,eAAS,GAAG9O,OAAOyR,EAAmB,QAAgC,CAAC,WAI5E6M,EAAgB,aAAIziB,OAAO,CACpCuD,MAAO,EACP3C,QAAS,CAEP8hB,YAAa,SAAqBpJ,EAAM/W,EAAKogB,EAASC,GACpD,IAAItf,EAAUjD,KAAKiD,QAEnB,GAAIqf,EAAS,CACX,IAAI9f,EAAQ,OAAAzC,EAAA,MAAIkZ,EAAM/W,EAAK,IAE3B,OAAI,eAAWogB,GACNA,EAAQ9f,EAAON,EAAK+W,GAClB,eAASqJ,IAAY,eAAWrf,EAAQqf,IAC1Crf,EAAQqf,GAAS9f,EAAON,EAAK+W,GAG/BqJ,EAGT,OAAOC,GAETC,YAAa,SAAqBvJ,EAAM/W,EAAKugB,EAASC,EAAMH,GAC1D,IAAItf,EAAUjD,KAAKiD,QAEnB,GAAIwf,EAAS,CACX,IAAIjgB,EAAQ,OAAAzC,EAAA,MAAIkZ,EAAM/W,EAAK,IAE3B,OAAI,eAAWugB,GACNA,EAAQjgB,EAAON,EAAK+W,EAAMyJ,GACxB,eAASD,IAAY,eAAWxf,EAAQwf,IAC1Cxf,EAAQwf,GAASjgB,EAAON,EAAK+W,EAAMyJ,GAGrCD,EAGT,OAAOF,GAGTI,kBAAmB,SAA2B1J,EAAM/D,GAClD,IAAIhT,EAAMgT,EAAMhT,IACZkT,EAAYpV,KAAKggB,kBAAkB9d,GACnCM,EAAQ,OAAAzC,EAAA,MAAIkZ,EAAM/W,EAAK,MAM3B,OAJI,eAAWkT,KACb5S,EAAQ4S,EAAU5S,EAAON,EAAK+W,IAGzB,eAAkBzW,GAAS,GAAKA,GAGzCogB,qBAAsB,SAA8BC,EAAgB5J,GAClE,IAAIT,EAAQxY,KAGZ,OAAO,WACD6iB,GACFrK,EAAMsK,KAAK7J,EAAM,QAAyBA,EAAK,WAKrD8J,WAAY,SAAoBpP,GAGzB3T,KAAKgjB,mBAAmBrP,IAE3B3T,KAAKijB,kBAAkB,OAAwBtP,IAGnDuP,aAAc,SAAsBvP,GAG7B3T,KAAKgjB,mBAAmBrP,IAE3B3T,KAAKijB,kBAAkB,OAA0BtP,IAIrDwP,mBAAoB,SAA4BjO,EAAOkO,EAAUnK,EAAMoK,GACrE,IAAIzK,EAAS5Y,KAETiF,EAAYjF,KAAKiF,UACjB/C,EAAMgT,EAAMhT,IACZohB,EAAQpO,EAAMoO,MACdC,EAAcrO,EAAMqO,YACpB9f,EAAIzD,KAAK8S,eACT+P,EAAiB7iB,KAAK+S,kBAAkB,QACxCyQ,EAAYxjB,KAAK2iB,kBAAkB1J,EAAM/D,GACzC9Q,GAAgBa,IAAcjF,KAAKmF,cAAgBnF,KAAK+G,eAAiBmO,EAAM9Q,aAI/Eqf,EAAUrf,EAAemf,EAAc,OAAM,OAAMA,EAAc,KAAO,KACxEG,EAAczK,EAAK,SAA2BA,EAAK,QAAwB/W,GAAO+W,EAAK,QAAwB/W,GAAOgT,EAAM7Q,SAAW,KACvIV,EAAO,CAKT0C,MAAO,CAAC6O,EAAM7O,MAAQ6O,EAAM7O,MAAQ,GAAIrG,KAAKqiB,YAAYpJ,EAAM/W,EAAKgT,EAAMyO,QAAS,KACnFzgB,MAAO,GACPoD,MAAO1E,EAAc,CACnB,gBAAiB+H,OAAOyZ,EAAW,IAClCG,EAAcvjB,KAAKwiB,YAAYvJ,EAAM/W,EAAKgT,EAAM0O,OAAQ,MAAO,IAAM5jB,KAAKqiB,YAAYpJ,EAAM/W,EAAKgT,EAAM2O,OAAQ,KAClH3hB,IAAK,OAAO4B,OAAOuf,EAAU,UAAUvf,OAAOsf,EAAU,KAAKtf,OAAO5B,IAGlEkC,EAEFT,EAAKT,MAAQ,CACXiB,eAAgBc,EAAYqe,EAAQ,KACpClf,cAAc,EACdC,QAASqf,IAKX/f,EAAK2C,MAAM,cAAgBrB,IAAc,eAAkBqe,GAAS,eAASA,GAAS,KACtF3f,EAAK2C,MAAMN,KAAOud,EAAc,YAAc,OAC9C5f,EAAK2C,MAAML,MAAQsd,EAAc,MAAQ,KAErCG,GACF/f,EAAK0C,MAAM1E,KAAK,GAAGmC,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAO4f,KAItE,IAAItV,EAAY,CACd6K,KAAMA,EACN4D,MAAOwG,EACPnO,MAAOA,EACP4O,YAAa,OAAA/jB,EAAA,MAAIkZ,EAAM/W,EAAK,IAC5BM,MAAOghB,EACPO,cAAe/jB,KAAK4iB,qBAAqBC,EAAgB5J,GACzD+K,eAAgBlL,QAAQG,EAAK,UAI3BjZ,KAAKic,yBACP7N,EAAU6V,YAAcjkB,KAAK8c,cAAcuG,GAE3CjV,EAAUwO,UAAY,WACpB,OAAOhE,EAAOgE,UAAUyG,IAG1BjV,EAAU4O,YAAc,WACtB,OAAOpE,EAAOoE,YAAYqG,KAY9B,IAAIa,EAAWlkB,KAAKmkB,yBAAyBjiB,GACzCkiB,EAAcF,EAAWlkB,KAAKoG,cAAc8d,EAAU9V,GAAa,eAASoV,GAQhF,OANIxjB,KAAKiF,YAEPmf,EAAc,CAAC3gB,EAAE,MAAO,CAAC2gB,MAIpB3gB,EAAEggB,EAAS9f,EAAM,CAACygB,KAG3BC,eAAgB,SAAwBpL,EAAMoK,GAC5C,IAAInK,EAASlZ,KAET0S,EAAS1S,KAAK2S,eACd2R,EAAUtkB,KAAKskB,QACfC,EAAavkB,KAAKukB,WAClBhL,EAAcvZ,KAAKuZ,YACnBC,EAAUxZ,KAAKwZ,QACf5G,EAAe5S,KAAK4S,aACpBC,EAAc7S,KAAK6S,YACnBpP,EAAIzD,KAAK8S,eACT+P,EAAiB7iB,KAAK+S,kBAAkB,QACxCyR,EAAiBvL,EAAK,SAA2B4J,EACjD4B,EAAqBzkB,KAAKyhB,WAAW,SAA2BzhB,KAAKgc,sBAErE0I,EAAQ,GAIRC,EAAYH,EAAiBxkB,KAAK4kB,OAAO,YAAY9gB,OAAOuf,EAAU,MAAQ,KAE9EwB,EAAOnS,EAAOtK,KAAI,SAAU8M,EAAOkO,GACrC,OAAOlK,EAAOiK,mBAAmBjO,EAAOkO,EAAUnK,EAAMoK,MAGtDyB,EAAe,KAEfvL,GAAeC,GAAWA,EAAU,IACtCsL,EAAenb,QAAQ4P,EAAc,GAAKC,EAAU6J,EAAW,IAOjE,IAAI0B,EAAkB,eAAS,OAAAhlB,EAAA,MAAIkZ,EAAMsL,KAAgB,KACrDS,EAASD,GAAmB,eAAS1B,GAGrC4B,EAAQF,EAAkB/kB,KAAK4kB,OAAO,QAAQ9gB,OAAOihB,IAAoB,KAEzEG,EAAoBllB,KAAKkd,qBAAuBld,KAAKkd,qBAAqBmG,GAAY,GACtF8B,EAAkBnlB,KAAKmd,mBAAqBnd,KAAKmd,mBAAmBkG,GAAY,GAEhF+B,EAAgB,eAAWxS,GAAgBA,EAAaqG,EAAM,OAASrG,EACvEyS,EAAc,eAAWxS,GAE7BA,EAAYoG,EAAM,OAASpG,EA2B3B,GAzBA6R,EAAM/iB,KAAK8B,EAAE,OAAK,CAChB4C,MAAO,CAAC+e,EAAeF,EAAmBV,EAAiB,sBAAwB,IACnFthB,MAAO,CACLmB,QAAS4U,EAAK,SAA0B,MAE1C3S,MAAO1E,EAAcA,EAAc,CACjCoI,GAAIib,GACHI,GAAc,GAAI,CAEnBC,SAAUb,EAAqB,IAAM,KACrC,UAAWM,GAAmB,KAC9B,eAAgBJ,EAChB,YAAaA,EACb,gBAAiBG,GAChBK,GACH5e,GAAI,CAEFgf,WAAYvlB,KAAK+iB,WACjByC,WAAYxlB,KAAKkjB,cAEnBhhB,IAAK,iBAAiB4B,OAAOkhB,EAAQ,MACrCS,IAAK,YACLC,UAAU,GACTb,IAECL,EAAgB,CAClB,IAAImB,EAAe,CACjB1M,KAAMA,EACN4D,MAAOwG,EACP3Q,OAAQA,EACRqR,cAAe/jB,KAAK4iB,qBAAqBC,EAAgB5J,IAIvDjZ,KAAKic,yBACP0J,EAAa1B,YAAcjkB,KAAK8c,cAAcuG,GAE9CsC,EAAa/I,UAAY,WACvB,OAAO1D,EAAO0D,UAAUyG,IAG1BsC,EAAa3I,YAAc,WACzB,OAAO9D,EAAO8D,YAAYqG,KAK9B,IAAIuC,EAAWniB,EAAE,OAAK,CACpBP,MAAO,CACLe,QAASyO,EAAO3Q,QAElBsE,MAAOrG,KAAKmiB,gBACX,CAACniB,KAAKoG,cAAc,OAAuBuf,KAG1CrB,GACFI,EAAM/iB,KACN8B,EAAE,KAAM,CACNoL,YAAa,SACbvI,MAAO,CACL,cAAe,OACfN,KAAM,gBAER9D,IAAK,6BAA6B4B,OAAOkhB,MAK7C,IAAIa,EAAuB,eAAW7lB,KAAK4S,cAE3C5S,KAAK4S,aAAaqG,EAAM,QAAyBjZ,KAAK4S,aAClDkT,EAAqB,eAAW9lB,KAAK6S,aAEzC7S,KAAK6S,YAAYoG,EAAM,QAAyBjZ,KAAK6S,YACrD6R,EAAM/iB,KAAK8B,EAAE,OAAK,CAChBoL,YAAa,kBACbxI,MAAO,CAACwf,GACR3iB,MAAO,CACLmB,QAAS4U,EAAK,SAA0B,MAE1C3S,MAAO1E,EAAcA,EAAc,GAAIkkB,GAAqB,GAAI,CAE9D9b,GAAI2a,EACJW,SAAU,OAEZpjB,IAAK,sBAAsB4B,OAAOkhB,IACjC,CAACY,UACK/C,IAET6B,EAAM/iB,KAAK8B,KAEP6gB,GAEFI,EAAM/iB,KAAK8B,MAKf,OAAOihB,MCnWb,SAAS,EAAQzjB,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAAS,EAAcU,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAK,EAAQV,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAO,EAAgBL,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmB,EAAQZ,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAAS,EAAgBU,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAgB3M,IAAIwjB,EAAkB,SAAyBvjB,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAI1B,EAAQ,eAAS,EAAc,EAAc,EAAc,GAAI,QAAc,GAAgB,GAAI,CAC1GwjB,WAAY,eAAS,WAIZC,EAAa,aAAItmB,OAAO,CACjC4E,OAAQ,CAAC6d,GACTlf,MAAO,EACP6V,cAAe,WACb/Y,KAAKmkB,yBAA2B,MAElC5jB,QAAS,CAKP2lB,YAAa,WACX,IAAIjmB,EAAQD,KAAKC,MACbkmB,EAAQlmB,EAAMkmB,MAAQlmB,EAAMkmB,MAAMC,KAAOnmB,EAAMkmB,MAAQ,KACvDE,GAAOpmB,EAAM,cAAgB,IAAImI,KAAI,SAAUke,GACjD,OAAOA,EAAGF,KAAOE,KAEnB,OAAOH,GAASA,EAAM9b,UAAY8b,EAAM9b,SAAStI,OAAS,GAAKskB,GAAOA,EAAItkB,OAAS,EAAI,OAAAuT,EAAA,MAAU6Q,EAAM9b,UAAU9I,QAAO,SAAU+kB,GAChI,OAAO,OAAAhR,EAAA,MAAc+Q,EAAKC,MAG5B,IAIFC,gBAAiB,SAAyBC,GAExC,IAAK,eAAUA,GACb,OAAQ,EAGV,IAAIF,EAAoB,OAAfE,EAAGC,QAAmBD,EAAK,eAAQ,KAAMA,GAAI,GACtD,OAAOF,EAAKtmB,KAAKkmB,cAAcQ,QAAQJ,IAAO,GAGhDrD,kBAAmB,SAA2BP,EAAM/O,GAClD,GAAI+O,GAAQ1iB,KAAKwhB,YAAYkB,IAAS/O,GAASA,EAAM9R,OAAQ,CAC3D,IAAIwhB,EAAWrjB,KAAKumB,gBAAgB5S,EAAM9R,QAE1C,GAAIwhB,GAAY,EAAG,CAEjB,IAAIpK,EAAOjZ,KAAKqU,cAAcgP,GAC9BrjB,KAAKyT,MAAMiP,EAAMzJ,EAAMoK,EAAU1P,MAIvCqP,mBAAoB,SAA4BrP,GAC9C,OAAO3T,KAAK0T,YAAc1T,KAAK0T,WAAWC,IAG5CgT,kBAAmB,SAA2BhT,GAE5C,IAAI9R,EAAS8R,EAAM9R,OACf+kB,EAAUjT,EAAMiT,QAEpB,IAAI5mB,KAAKgjB,mBAAmBrP,IAA6B,OAAnB9R,EAAO4kB,SAAqB,eAAgB5kB,IAA+B,IAApBA,EAAOglB,SAKpG,GAAI,OAAAvR,EAAA,MAAc,CAAC,OAAY,QAAasR,GAE1C,eAAUjT,GACV3T,KAAK8mB,kBAAkBnT,QAClB,GAAI,OAAA2B,EAAA,MAAc,CAAC,OAAS,OAAW,OAAW,QAAWsR,GAAU,CAE5E,IAAIvD,EAAWrjB,KAAKumB,gBAAgB1kB,GAEpC,GAAIwhB,GAAY,EAAG,CACjB,eAAU1P,GACV,IAAI0S,EAAMrmB,KAAKkmB,cACXa,EAAQpT,EAAM4J,SAEdqJ,IAAY,QAAaG,GAASH,IAAY,OAEhD,eAAaP,EAAI,IACRO,IAAY,QAAYG,GAASH,IAAY,OAEtD,eAAaP,EAAIA,EAAItkB,OAAS,IACrB6kB,IAAY,QAAWvD,EAAW,EAE3C,eAAagD,EAAIhD,EAAW,IACnBuD,IAAY,QAAavD,EAAWgD,EAAItkB,OAAS,GAE1D,eAAaskB,EAAIhD,EAAW,OAKpCyD,kBAAmB,SAA2BnT,GAGxC3T,KAAKgjB,mBAAmBrP,IAAU,eAAYA,IAAU,eAAoB3T,KAAKomB,MAIrFpmB,KAAKijB,kBAAkB,OAAwBtP,IAEjDqT,gCAAiC,SAAyCrT,GACnE3T,KAAKgjB,mBAAmBrP,IAA0B,IAAhBA,EAAMsT,OAC3CjnB,KAAKijB,kBAAkB,OAA+BtP,IAG1DuT,sBAAuB,SAA+BvT,GAC/C3T,KAAKgjB,mBAAmBrP,IAC3B3T,KAAKijB,kBAAkB,OAA4BtP,IAGvDwT,qBAAsB,SAA8BxT,GAC7C3T,KAAKgjB,mBAAmBrP,IAAW,eAAYA,IAClD3T,KAAKijB,kBAAkB,OAA2BtP,IAOtDyT,YAAa,WACX,IAAI5O,EAAQxY,KAERoU,EAAQpU,KAAKqU,cACbT,EAAa5T,KAAK4T,WAClBkN,EAAe9gB,KAAK8gB,aACpB3M,EAAcnU,KAAKmU,YACnB1B,EAAkBzS,KAAKyS,gBACvBhP,EAAIzD,KAAK8S,eACT2R,EAAqBzkB,KAAKwhB,YAAY,SAA2BxhB,KAAKgc,sBAEtE0I,EAAQ,GAER2C,EAAQzT,EAAaA,IAAe,KAExC,GAAIyT,EAEF3C,EAAM/iB,KAAK0lB,OACN,CAML,IAAIvnB,EAAQ,GACRwnB,EAAkBvB,IACtBuB,EAAkBtnB,KAAK+S,kBAAkBuU,GAAmBA,EAAkB,KAC9EtnB,KAAK2S,eAAe1Q,SAAQ,SAAUiT,GACpC,IAAIhT,EAAMgT,EAAMhT,IACZgiB,EAAW6B,EAAgB7jB,GAC3BqlB,EAAoBxB,EAAgB7jB,EAAIslB,eAC5C1nB,EAAMoC,GAAOsW,EAAMzF,kBAAkBmR,GAAYA,EAAW1L,EAAMzF,kBAAkBwU,GAEpFA,EAAoBD,KAItBtnB,KAAKmkB,yBAA2BrkB,EAGhC4kB,EAAM/iB,KAAKmf,EAAeA,IAAiBrd,KAE3C2Q,EAAMnS,SAAQ,SAAUgX,EAAMoK,GAE5BqB,EAAM/iB,KAAK6W,EAAM6L,eAAepL,EAAMoK,OAGxCqB,EAAM/iB,KAAKwS,EAAcA,IAAgB1Q,KAGzCihB,EAAM/iB,KAAK8Q,EAAkBA,IAAoBhP,KAInD,IAAIgkB,EAAW,CACbC,SAAU1nB,KAAKgnB,gCAKfW,YAAa3nB,KAAKknB,sBAElBU,SAAU5nB,KAAKmnB,sBAIb1C,IACFgD,EAASI,MAAQ7nB,KAAK8mB,kBACtBW,EAASK,QAAU9nB,KAAK2mB,mBAI1B,IAAIoB,EAAStkB,EAAE,OAAQ,CACrB4C,MAAOrG,KAAKgmB,YAAc,KAC1B9iB,MAAO,eAAW,OAAalD,KAAKgoB,QAGpCzhB,GAAIkhB,EACJhC,IAAK,SACJf,GAEH,OAAOqD,O,oCCpOb,oIAMW7kB,EAAQ,CACjB+kB,QAAS,eAAS,QAClBC,YAAa,eAAS,SAMbC,EAAe,aAAIxoB,OAAO,CACnCuD,MAAOA,EACPtD,SAAU,CACRwoB,UAAW,WAGT,OAAOpoB,KAAKiF,UAAYjF,KAAK4kB,OAAO,aAAe,OAGvDrkB,QAAS,CACP8nB,cAAe,WACb,IAAIJ,EAAUjoB,KAAKioB,QACfC,EAAcloB,KAAKkoB,YACnBzkB,EAAIzD,KAAK8S,eACTwV,EAAW7kB,IACX8kB,EAAiBvoB,KAAK+S,kBAAkB,SAY5C,OAVIwV,GAAkBN,GAAWC,KAC/BI,EAAW7kB,EAAE,UAAW,CACtB6C,MAAO,CACL0D,GAAIhK,KAAKooB,WAEX1Z,SAAU6Z,EAAiB,GAAK,eAAWL,EAAaD,GACxD/lB,IAAK,WACJlC,KAAKoG,cAAc,WAGjBkiB,O,uBCzCb,IAAIE,EAAU,EAAQ,QAItBjf,EAAOC,QAAU,SAAUhH,GACzB,GAAoB,iBAATA,GAAuC,UAAlBgmB,EAAQhmB,GACtC,MAAMoT,UAAU,wBAElB,OAAQpT,I,oCCRV,qNAASxB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAc3M,IAAIkmB,EAAkB,eAAe,QAAS,CAC5C/F,KAAM,OACNH,aAAc,GACd5O,MAAO,UAEL+U,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBvlB,MAC7B2lB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgB9U,MAI5BzQ,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIgnB,GAAa,GAAI,CACjGI,YAAa,eAAS,QAA0B,GAChDC,aAAc,eAAS,QAEvBC,SAAU,eAAS,OAAyB,GAC5C9T,UAAW,eAAS,QAEpB+T,KAAM,eAAS,QAAmB,GAClCC,cAAe,eAAS,QAAmB,GAC3CC,OAAQ,eAAS,QAAmB,GACpCC,YAAa,eAAS,QACtBC,UAAW,eAAS,QAAmB,GACvCC,SAAU,eAAS,QAAmB,GACtCC,KAAM,eAAS,QAAmB,MAC/B,oBAGMC,EAAgB,aAAI/pB,OAAO,CACpC4E,OAAQ,CAACmkB,GACTxlB,MAAOA,EACPS,KAAM,WACJ,IAAInB,EAAQxC,KAAK6oB,GACjB,MAAO,CACLc,WAAY,eAASnnB,GACrBonB,YAAa5pB,KAAK6pB,YAAYrnB,KAGlC5C,SAAU,CACRkqB,cAAe,WACb,IAAIP,EAAYvpB,KAAKupB,UACjB7G,EAAO1iB,KAAK0iB,KACZqH,EAAmB,UAATrH,EACVsH,EAAmB,UAATtH,EACd,MAAO,CAAC,CAEN,eAAgBqH,EAEhB,yBAA0BR,IAAcQ,IAAYC,EAGpD,eAAgBA,IAAYT,IAAcQ,GACzC/pB,KAAKiqB,cAAejqB,KAAKkqB,aAE9BC,iBAAkB,WAEhB,OAAO,eAAQ,eAAUnqB,KAAKkpB,SAAU,GAAI,IAE9CkB,aAAc,WACZ,OAAO,eAAgBpqB,KAAKoV,aAGhC9B,MAAOnR,EAAgB,GAAI0mB,GAAiB,SAAUtV,GACpD,IAAI8W,EAAiB,eAAS9W,GAC1B+W,EAAgBtqB,KAAK6pB,YAAYtW,GAEjC8W,IAAmBrqB,KAAK2pB,YAAcW,IAAkBtqB,KAAK4pB,cAE/D5pB,KAAKuqB,gBAELvqB,KAAK2pB,WAAaU,EAClBrqB,KAAK4pB,YAAcU,MAGvB3R,QAAS,WAEP3Y,KAAKwqB,qBAAuB,MAE9B9P,QAAS,WAEP1a,KAAK8a,IAAI,QAAgC9a,KAAKuqB,gBAEhDxR,cAAe,WACb/Y,KAAKuqB,iBAEPhqB,QAAS,CACPgqB,cAAe,WACbvR,aAAahZ,KAAKwqB,sBAClBxqB,KAAKwqB,qBAAuB,MAE9BC,YAAa,SAAqBjoB,EAAOmR,GACvC,IAAI+W,EAAQ/pB,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,IAAmBA,UAAU,GAO3E,OANA6B,EAAQ,eAASA,IAEbxC,KAAKoqB,cAAkBpqB,KAAKopB,gBAAiBsB,IAC/CloB,EAAQxC,KAAKoV,UAAU5S,EAAOmR,IAGzBnR,GAETqnB,YAAa,SAAqBrnB,GAYhC,OAXAA,EAAQ,eAASA,GAEbxC,KAAKypB,OACPjnB,EAAQA,EAAMinB,QAIZzpB,KAAKqpB,SACP7mB,EAAQ,eAAQA,EAAOA,IAGlBA,GAETmoB,YAAa,SAAqBnoB,GAChC,IAAIgW,EAAQxY,KAER0qB,EAAQ/pB,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,IAAmBA,UAAU,GACvEwoB,EAAOnpB,KAAKmpB,KAEhB,IAAIA,GAASuB,EAAb,CAMA1qB,KAAKuqB,gBAGL,IAAIK,EAAW,WAGb,GAFApoB,EAAQgW,EAAMqR,YAAYrnB,GAEtBA,IAAUgW,EAAMoR,YAClBpR,EAAMoR,YAAcpnB,EAEpBgW,EAAM/E,MAAMsV,EAAkBvmB,QACzB,GAAIgW,EAAM4R,aAAc,CAS7B,IAAIS,EAASrS,EAAMvY,MAAMC,MAGrB2qB,GAAUroB,IAAUqoB,EAAOroB,QAC7BqoB,EAAOroB,MAAQA,KAOjB0mB,EAAWlpB,KAAKmqB,iBAEhBjB,EAAW,IAAMC,IAASuB,EAC5B1qB,KAAKwqB,qBAAuB9R,WAAWkS,EAAU1B,GAGjD0B,MAGJE,QAAS,SAAiBnX,GAMxB,IAAIA,EAAM9R,OAAOkpB,UAAjB,CAIA,IAAIvoB,EAAQmR,EAAM9R,OAAOW,MACrBwoB,EAAiBhrB,KAAKyqB,YAAYjoB,EAAOmR,IAKtB,IAAnBqX,GAA4BrX,EAAMsX,iBACpC,eAAUtX,EAAO,CACfuX,aAAa,KAKjBlrB,KAAK2pB,WAAaqB,EAClBhrB,KAAK2qB,YAAYK,GACjBhrB,KAAKyT,MAAM,OAAkBuX,MAE/BG,SAAU,SAAkBxX,GAC1B,IAAInR,EAAQmR,EAAM9R,OAAOW,MACrBwoB,EAAiBhrB,KAAKyqB,YAAYjoB,EAAOmR,IAKtB,IAAnBqX,GAA4BrX,EAAMsX,iBACpC,eAAUtX,EAAO,CACfuX,aAAa,KAKjBlrB,KAAK2pB,WAAaqB,EAClBhrB,KAAK2qB,YAAYK,GAAgB,GACjChrB,KAAKyT,MAAM,OAAmBuX,KAEhCI,OAAQ,SAAgBzX,GAGtB,IAAInR,EAAQmR,EAAM9R,OAAOW,MACrBwoB,EAAiBhrB,KAAKyqB,YAAYjoB,EAAOmR,GAAO,IAE7B,IAAnBqX,IAGFhrB,KAAK2pB,WAAa,eAAS3pB,KAAK6pB,YAAYmB,IAG5ChrB,KAAK2qB,YAAYK,GAAgB,IAInChrB,KAAKyT,MAAM,OAAiBE,IAE9B0X,MAAO,WAEArrB,KAAKsrB,UACR,eAAatrB,KAAKomB,MAGtBmF,KAAM,WAECvrB,KAAKsrB,UACR,eAAYtrB,KAAKomB,U,oCChQzB,gJAMWljB,EAAQ,eAAsB,CACvCgf,OAAQ,eAAS,QAAmB,GACpClY,GAAI,eAAS,QACbwhB,OAAQ,eAAS,QAAmB,GACpC5mB,IAAK,eAAS,OAAkB,QAC/B,SAGQ6mB,EAAgC,aAAI9rB,OAAO,CACpD2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChB6X,EAAShf,EAAMgf,OACnB,OAAOze,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClC0C,MAAO,CACL,qBAAsB6b,EACtB,uBAAwBA,GAE1B5b,MAAO,CACL0D,GAAI9G,EAAM8G,MAEV9G,EAAMsoB,OAAS,CAAC/nB,EAAE,OAAiB4G,IAAaA,O,kCC/BxD,+OAASrJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAoB3M,IAAImpB,EAAQ,CAAC,OAAQ,WAAY,QAAS,SAAU,MAAO,MAAO,SAAU,QAAS,QAAS,OAAQ,OAAQ,WAAY,iBAAkB,QAAS,QAE1IxoB,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAmB,QAAgB,QAAiB,QAAgB,GAAI,CAC1N+pB,KAAM,eAAS,QACfC,IAAK,eAAS,QACdC,IAAK,eAAS,QAEdC,QAAS,eAAS,QAAmB,GACrCC,KAAM,eAAS,QACfrJ,KAAM,eAAS,OAAkB,QAAQ,SAAUA,GACjD,OAAO,eAAcgJ,EAAOhJ,SAE3B,QAGMsJ,EAA0B,aAAIrsB,OAAO,CAC9C2D,KAAM,OAENiB,OAAQ,CAAC,OAAgB,OAAS,OAAkB,OAAe,OAAgB,OAAe,OAAoB,QACtHrB,MAAOA,EACPtD,SAAU,CACRqsB,UAAW,WAET,IAAIvJ,EAAO1iB,KAAK0iB,KAChB,OAAO,eAAcgJ,EAAOhJ,GAAQA,EAAO,QAE7CwJ,cAAe,WACb,IAAIxJ,EAAO1iB,KAAKisB,UACZ3oB,EAAOtD,KAAKsD,KACZ6oB,EAAOnsB,KAAKmsB,KACZb,EAAWtrB,KAAKsrB,SAChBhC,EAActpB,KAAKspB,YACnBxc,EAAW9M,KAAK8M,SAChB+e,EAAM7rB,KAAK6rB,IACXD,EAAM5rB,KAAK4rB,IACXG,EAAO/rB,KAAK+rB,KAChB,MAAO,CACL/hB,GAAIhK,KAAK4kB,SACTthB,KAAMA,EACN6oB,KAAMA,EACNzJ,KAAMA,EACN4I,SAAUA,EACVhC,YAAaA,EACbxc,SAAUA,EACVmc,aAAcjpB,KAAKipB,cAAgB,KACnCO,SAAUxpB,KAAKwpB,UAAYxpB,KAAKupB,UAChCsC,IAAKA,EACLD,IAAKA,EACLG,KAAMA,EACNJ,KAAe,aAATjJ,EAAsB1iB,KAAK2rB,KAAO,KACxC,gBAAiB7e,EAAW,OAAS,KACrC,eAAgB9M,KAAKosB,sBAGzBC,kBAAmB,WACjB,OAAOzqB,EAAcA,EAAc,GAAI5B,KAAKwG,aAAc,GAAI,CAC5DtG,MAAOF,KAAK8qB,QACZwB,OAAQtsB,KAAKmrB,SACbI,KAAMvrB,KAAKorB,WAIjB9X,MAAO,CACLwY,QAAS,SAAiBvY,GACxBvT,KAAKusB,gBAAgBhZ,KAGzBmH,QAAS,WACP1a,KAAKusB,gBAAgBvsB,KAAK8rB,UAI5BU,YAAa,WAIXxsB,KAAKusB,iBAAgB,IAIvBE,UAAW,WAITzsB,KAAKusB,gBAAgBvsB,KAAK8rB,UAE5B/S,cAAe,WAEb/Y,KAAKusB,iBAAgB,IAEvBhsB,QAAS,CACPgsB,gBAAiB,SAAyBhmB,GACxC,IAAIrG,EAAQF,KAAKomB,IAEjB,eAAW7f,EAAIrG,EAAO,QAASF,KAAK0sB,cACpC,eAAWnmB,EAAIrG,EAAO,OAAQF,KAAK2sB,aAE9BpmB,GACH,eAASwL,SAAU,QAAS/R,KAAK4sB,YAGrCF,aAAc,WACZ,eAAQ3a,SAAU,QAAS/R,KAAK4sB,YAElCD,YAAa,WACX,eAAS5a,SAAU,QAAS/R,KAAK4sB,YAEnCA,UAAW,SAAmBjZ,GAC5B,eAAUA,EAAO,CACfuX,aAAa,IAEf,eAAYlrB,KAAKomB,OAGrB5iB,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,QAAS,CAChB4C,MAAOrG,KAAK8pB,cACZxjB,MAAOtG,KAAKksB,cACZxd,SAAU,CACRlM,MAAOxC,KAAK2pB,YAEdpjB,GAAIvG,KAAKqsB,kBACT5G,IAAK,c,6DClJX,qHAAStjB,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAMpM,IAAIW,EAAQ,CACjBE,QAAS,eAAS,QAA0B,IAInCypB,EAAe,aAAIltB,OAAO,CACnCuD,MAAOA,EACPtD,SAAU,CACRqF,UAAW,WACT,IAAI7B,EAAUpD,KAAKoD,QAEnB,MAAmB,KAAZA,GAAwBA,GAEjC0pB,gBAAiB,WACf,OAA0B,IAAnB9sB,KAAKiF,WAEd8nB,oBAAqB,WACnB,IAAID,EAAkB9sB,KAAK8sB,gBAC3B,OAAO3qB,EAAgB,CACrB,kBAAmB2qB,GAClB,mBAAmBhpB,OAAO9D,KAAKoD,UAAW0pB,GAAmB9sB,KAAKiF,gB,kCC1B3E,yMAAS9C,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAIyqB,EAAiB,0LAEjBC,EAAkB,SAAyB3gB,EAAOC,EAAQ2gB,GAC5D,IAAI9gB,EAAM+gB,mBAAmBH,EAAenpB,QAAQ,OAAQ,eAASyI,IAAQzI,QAAQ,OAAQ,eAAS0I,IAAS1I,QAAQ,OAAQqpB,IAC/H,MAAO,oCAAoCppB,OAAOsI,IAIzClJ,EAAQ,eAAsB,CACvCmJ,IAAK,eAAS,QACd+gB,MAAO,eAAS,QAAmB,GACnCC,WAAY,eAAS,OAAkB,eACvCC,MAAO,eAAS,QAAmB,GACnCC,OAAQ,eAAS,QAAmB,GACpCC,MAAO,eAAS,QAAmB,GAEnCC,UAAW,eAAS,QAAmB,GACvClhB,OAAQ,eAAS,QACjBG,KAAM,eAAS,QAAmB,GAClCD,MAAO,eAAS,QAAmB,GAUnCihB,QAAS,eAAS,QAA0B,GAC5CC,MAAO,eAAS,QAChBvhB,IAAK,eAAS,QACdwhB,OAAQ,eAAS,QACjBC,UAAW,eAAS,QAAmB,GACvCvhB,MAAO,eAAS,SACf,SAGQwhB,EAAoB,aAAInuB,OAAO,CACxC2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIyJ,EAEAjK,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0I,EAAMnJ,EAAMmJ,IACZD,EAAMlJ,EAAMkJ,IACZkhB,EAAQpqB,EAAMoqB,MACdG,EAAYvqB,EAAMuqB,UAClBC,EAAUxqB,EAAMwqB,QAChBphB,EAAQ,eAAUpJ,EAAMoJ,QAAU,KAClCC,EAAS,eAAUrJ,EAAMqJ,SAAW,KACpCS,EAAQ,KACR4gB,EAAS,eAAO1qB,EAAM0qB,QAAQrsB,OAAO,QAAU0G,KAAK,KACpD0lB,EAAQ,eAAOzqB,EAAMyqB,OAAOpsB,OAAO,QAAU0G,KAAK,KA8BtD,OA5BI/E,EAAMkqB,SACH7gB,GAAUD,EACbC,EAASD,GACCA,GAASC,IACnBD,EAAQC,GAGLD,GAAUC,IACbD,EAAQ,EACRC,EAAS,GAIXH,EAAM6gB,EAAgB3gB,EAAOC,EAAQrJ,EAAMmqB,YAAc,eAEzDO,EAAS,KACTD,EAAQ,MAGNzqB,EAAMwJ,KACRM,EAAQ,aACC9J,EAAMuJ,MACfO,EAAQ,cACC9J,EAAMqqB,SACfvgB,EAAQ,UACRsgB,GAAQ,GAGH7pB,EAAE,MAAO,eAAUE,EAAM,CAC9B2C,MAAO,CACL8F,IAAKA,EACLC,IAAKA,EACLC,MAAOA,EAAQ,eAASA,GAAS,KACjCC,OAAQA,EAAS,eAASA,GAAU,KACpCqhB,OAAQA,GAAU,KAClBD,MAAOA,GAAS,MAElBtnB,OAAQ8G,EAAS,CACf,gBAAiBjK,EAAM2qB,UACvB,YAAa3qB,EAAMsqB,OAASC,EAC5B,QAASA,EACTC,QAAqB,KAAZA,IAA8B,IAAZA,GAC1BvrB,EAAgBgL,EAAQ,WAAWrJ,OAAO4pB,GAAU,eAASA,IAAwB,KAAZA,GAAiBvrB,EAAgBgL,EAAQH,EAAOA,GAAQ7K,EAAgBgL,EAAQ,UAAWmgB,GAAQngB,U,kCCjHrL,gJAMWjK,EAAQ,eAAsB,CACvCmE,MAAO,eAAS,QAChB0mB,SAAU,eAAS,OAAkB,OACpC,QAGQC,EAA0B,aAAIruB,OAAO,CAC9C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAEP,EAAM6qB,SAAU,eAAUpqB,EAAM,CACvCkL,YAAa,eACXxE,GAAY,eAASnH,EAAMmE,Y,kCCrBnC,IAAI4mB,EAAgC,EAAQ,QACxCnd,EAAW,EAAQ,QACnBod,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnB9kB,EAAY,EAAQ,QACpBC,EAAyB,EAAQ,QACjC8kB,EAAqB,EAAQ,QAC7BC,EAAa,EAAQ,QAErBzC,EAAM0C,KAAK1C,IACXC,EAAMyC,KAAKzC,IACX0C,EAAQD,KAAKC,MACbC,EAAuB,4BACvBC,EAAgC,oBAEhCC,EAAgB,SAAUC,GAC5B,YAAcpjB,IAAPojB,EAAmBA,EAAKhlB,OAAOglB,IAIxCV,EAA8B,UAAW,GAAG,SAAUW,EAASC,EAAeC,EAAiBC,GAC7F,IAAIC,EAA+CD,EAAOC,6CACtDC,EAAmBF,EAAOE,iBAC1BC,EAAoBF,EAA+C,IAAM,KAE7E,MAAO,CAGL,SAAiBG,EAAaC,GAC5B,IAAIC,EAAI/lB,EAAuBtJ,MAC3BsH,OAA0BiE,GAAf4jB,OAA2B5jB,EAAY4jB,EAAYP,GAClE,YAAoBrjB,IAAbjE,EACHA,EAASiK,KAAK4d,EAAaE,EAAGD,GAC9BP,EAActd,KAAK5H,OAAO0lB,GAAIF,EAAaC,IAIjD,SAAUE,EAAQF,GAChB,IACIJ,GAAgDC,GACzB,kBAAjBG,IAA0E,IAA7CA,EAAa1I,QAAQwI,GAC1D,CACA,IAAI5f,EAAMwf,EAAgBD,EAAeS,EAAQtvB,KAAMovB,GACvD,GAAI9f,EAAIvE,KAAM,OAAOuE,EAAI9M,MAG3B,IAAI+sB,EAAKze,EAASwe,GACdE,EAAI7lB,OAAO3J,MAEXyvB,EAA4C,oBAAjBL,EAC1BK,IAAmBL,EAAezlB,OAAOylB,IAE9C,IAAIrf,EAASwf,EAAGxf,OAChB,GAAIA,EAAQ,CACV,IAAI2f,EAAcH,EAAGI,QACrBJ,EAAGlW,UAAY,EAEjB,IAAIuW,EAAU,GACd,MAAO,EAAM,CACX,IAAIhmB,EAASykB,EAAWkB,EAAIC,GAC5B,GAAe,OAAX5lB,EAAiB,MAGrB,GADAgmB,EAAQjuB,KAAKiI,IACRmG,EAAQ,MAEb,IAAI8f,EAAWlmB,OAAOC,EAAO,IACZ,KAAbimB,IAAiBN,EAAGlW,UAAY+U,EAAmBoB,EAAGrB,EAASoB,EAAGlW,WAAYqW,IAKpF,IAFA,IAAII,EAAoB,GACpBC,EAAqB,EAChBjuB,EAAI,EAAGA,EAAI8tB,EAAQ7tB,OAAQD,IAAK,CACvC8H,EAASgmB,EAAQ9tB,GAUjB,IARA,IAAIkuB,EAAUrmB,OAAOC,EAAO,IACxBqmB,EAAWrE,EAAIC,EAAIxiB,EAAUO,EAAOiT,OAAQ2S,EAAEztB,QAAS,GACvDmuB,EAAW,GAMNC,EAAI,EAAGA,EAAIvmB,EAAO7H,OAAQouB,IAAKD,EAASvuB,KAAK+sB,EAAc9kB,EAAOumB,KAC3E,IAAIC,EAAgBxmB,EAAOymB,OAC3B,GAAIZ,EAAmB,CACrB,IAAIa,EAAe,CAACN,GAASlsB,OAAOosB,EAAUD,EAAUT,QAClCjkB,IAAlB6kB,GAA6BE,EAAa3uB,KAAKyuB,GACnD,IAAIG,EAAc5mB,OAAOylB,EAAa1uB,WAAM6K,EAAW+kB,SAEvDC,EAAcC,EAAgBR,EAASR,EAAGS,EAAUC,EAAUE,EAAehB,GAE3Ea,GAAYF,IACdD,GAAqBN,EAAExnB,MAAM+nB,EAAoBE,GAAYM,EAC7DR,EAAqBE,EAAWD,EAAQjuB,QAG5C,OAAO+tB,EAAoBN,EAAExnB,MAAM+nB,KAKvC,SAASS,EAAgBR,EAASzoB,EAAK0oB,EAAUC,EAAUE,EAAeG,GACxE,IAAIE,EAAUR,EAAWD,EAAQjuB,OAC7B2uB,EAAIR,EAASnuB,OACbT,EAAUmtB,EAKd,YAJsBljB,IAAlB6kB,IACFA,EAAgBlC,EAASkC,GACzB9uB,EAAUktB,GAELK,EAActd,KAAKgf,EAAajvB,GAAS,SAAUqvB,EAAOC,GAC/D,IAAIC,EACJ,OAAQD,EAAG9oB,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOkoB,EACjB,IAAK,IAAK,OAAOzoB,EAAIS,MAAM,EAAGioB,GAC9B,IAAK,IAAK,OAAO1oB,EAAIS,MAAMyoB,GAC3B,IAAK,IACHI,EAAUT,EAAcQ,EAAG5oB,MAAM,GAAI,IACrC,MACF,QACE,IAAI6B,GAAK+mB,EACT,GAAU,IAAN/mB,EAAS,OAAO8mB,EACpB,GAAI9mB,EAAI6mB,EAAG,CACT,IAAI9e,EAAI2c,EAAM1kB,EAAI,IAClB,OAAU,IAAN+H,EAAgB+e,EAChB/e,GAAK8e,OAA8BnlB,IAApB2kB,EAASte,EAAI,GAAmBgf,EAAG9oB,OAAO,GAAKooB,EAASte,EAAI,GAAKgf,EAAG9oB,OAAO,GACvF6oB,EAETE,EAAUX,EAASrmB,EAAI,GAE3B,YAAmB0B,IAAZslB,EAAwB,GAAKA,U,wQC7HtC,EAAe,SAAsB3uB,EAAKM,GAC5C,IAAI0S,EAAQ,KA0BZ,OAxBI,eAAS1S,GAEX0S,EAAQ,CACNhT,IAAKA,EACLohB,MAAO9gB,GAEA,eAAWA,GAEpB0S,EAAQ,CACNhT,IAAKA,EACLkT,UAAW5S,GAEJ,eAASA,IAClB0S,EAAQ,eAAM1S,GACd0S,EAAMhT,IAAMgT,EAAMhT,KAAOA,IACN,IAAVM,IAIT0S,EAAQ,CACNhT,IAAKA,IAIFgT,GAKE,EAAkB,SAAyB4b,EAAY1c,GAChE,IAAI1B,EAAS,GA0Bb,GAxBI,eAAQoe,IAEVA,EAAWvvB,OAAO4V,EAAA,MAAUlV,SAAQ,SAAU2P,GAC5C,GAAI,eAASA,GACXc,EAAO/Q,KAAK,CACVO,IAAK0P,EACL0R,MAAO,eAAU1R,UAEd,GAAI,eAASA,IAAMA,EAAE1P,KAAO,eAAS0P,EAAE1P,KAE5CwQ,EAAO/Q,KAAK,eAAMiQ,SACb,GAAI,eAASA,IAAyB,IAAnB,eAAKA,GAAG7P,OAAc,CAE9C,IAAIG,EAAM,eAAK0P,GAAG,GACdsD,EAAQ,EAAahT,EAAK0P,EAAE1P,IAE5BgT,GACFxC,EAAO/Q,KAAKuT,OAOE,IAAlBxC,EAAO3Q,QAAgB,eAAQqS,IAAUA,EAAMrS,OAAS,EAAG,CAC7D,IAAIgvB,EAAS3c,EAAM,GACnB,eAAK2c,GAAQ9uB,SAAQ,SAAUyS,GACxB,OAAmBA,IACtBhC,EAAO/Q,KAAK,CACVO,IAAKwS,EACL4O,MAAO,eAAU5O,QAOzB,IAAIsc,EAAO,GACX,OAAOte,EAAOnR,QAAO,SAAUqQ,GAC7B,OAAKof,EAAKpf,EAAE1P,OACV8uB,EAAKpf,EAAE1P,MAAO,EACd0P,EAAE0R,MAAQ,eAAS1R,EAAE0R,OAAS1R,EAAE0R,MAAQ,eAAU1R,EAAE1P,MAC7C,OCnFb,SAASlB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAc3M,IAAIkmB,EAAkB,eAAe,QAAS,CAC5C/F,KAAM,OACNH,aAAc,KAEZmG,EAAaD,EAAgBE,MAC7BC,EAAaH,EAAgBvlB,MAC7B2lB,EAAkBJ,EAAgBK,KAClCC,EAAmBN,EAAgB9U,MAI5B,EAAQ,eAAS/R,EAAcA,EAAc,GAAIgnB,GAAa,GAAIzmB,EAAgB,CAC3FuQ,OAAQ,eAAS,OAAiB,MAElC0B,MAAO,eAAS,OAAiB,IAGjCmQ,WAAY,eAAS,SACpBsE,EAAiB,eAAS,OAAiB,OAGnCoI,EAAa,aAAItxB,OAAO,CACjC4E,OAAQ,CAACmkB,GACTxlB,MAAO,EACPS,KAAM,WACJ,IAAIyQ,EAAQpU,KAAKoU,MACjB,MAAO,CAGLyD,WAAY,eAAQzD,GAASA,EAAMpM,QAAU,KAGjDpI,SAAU,CACR+S,eAAgB,WAGd,OAAO,EAAgB3S,KAAK0S,OAAQ1S,KAAK6X,aAE3CyB,kBAAmB,WAKjB,IAAIrW,EAAUjD,KAAKiD,QACnB,OAAOjD,KAAK2S,eAAesC,QAAO,SAAU1S,EAAKqP,GAI/C,GAFArP,EAAIqP,EAAE1P,KAAO,eAAM0P,GAEfA,EAAEwD,UAAW,CAEf,IAAIA,EAAYxD,EAAEwD,UAEd,eAASA,IAAc,eAAWnS,EAAQmS,IAC5CA,EAAYnS,EAAQmS,GACV,eAAWA,KAErBA,OAAY7J,GAIdhJ,EAAIqP,EAAE1P,KAAKkT,UAAYA,EAGzB,OAAO7S,IACN,KAEL8R,cAAe,WAEb,OAAQrU,KAAK4Z,gBAAkB5Z,KAAK6Z,aAAe7Z,KAAK4X,eAAiB5X,KAAK6X,YAE9E,IAAI7P,SAENkT,QAAS,WAEP,MAAO,CACL3Z,OAAQvB,KAAKgX,YACbqD,OAAQra,KAAKua,YACbD,SAAUta,KAAKwa,cACfhB,QAAS,OAAAM,EAAA,MAAQ,eAAU9Z,KAAKwZ,QAAS,GAAI,GAC7CD,YAAa,OAAAO,EAAA,MAAQ,eAAU9Z,KAAKuZ,YAAa,GAAI,GACrDU,OAAQja,KAAKia,UAInB3G,MAAO,CACLc,MAAO,SAAeb,GAEpBvT,KAAK6X,WAAa,eAAQtE,GAAYA,EAASvL,QAAU,IAG3DqM,cAAe,SAAuBd,EAAUC,GACzC,eAAWD,EAAUC,IACxBxT,KAAKyT,MAAMsV,EAAkBxV,IAIjC2H,QAAS,SAAiB3H,EAAUC,GAE7B,eAAWD,EAAUC,IACxBxT,KAAKyT,MAAM,OAA4BF,KAI7CmH,QAAS,WAEP1a,KAAKyT,MAAMsV,EAAkB/oB,KAAKqU,gBAEpC9T,QAAS,CAEPyf,kBAAmB,SAA2B9d,GAC5C,IAAIgT,EAAQlV,KAAKsZ,kBAAkBpX,GAGnC,OAAOgT,EAAQA,EAAME,eAAY7J,O,oCCnIvC,mLAASpJ,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAapM,IAAIW,EAAQ,eAAsB,CACvCgf,OAAQ,eAAS,QACjBgP,WAAY,eAAS,QACrBlnB,GAAI,eAAS,QACbmnB,QAAS,eAAS,QAClBC,YAAa,eAAS,QACtBC,KAAM,eAAS,QACfzsB,IAAK,eAAS,OAAkB,QAC/B,SAGQ0sB,EAA2B,aAAI3xB,OAAO,CAC/C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZyJ,EAAQ1J,EAAK0J,MACbC,EAAc3J,EAAK2J,YACnB8jB,EAAUjuB,EAAMiuB,QAChBC,EAAcluB,EAAMkuB,YACpBlP,EAAShf,EAAMgf,OACfgP,EAAahuB,EAAMguB,WACnBG,EAAOnuB,EAAMmuB,KACbnjB,EAAeb,GAAe,GAC9Bc,EAASf,IACTgB,EAAY,GACZmjB,EAAW9tB,IACX+tB,EAAiB,eAAkB,OAAmBtjB,EAAcC,IAEpEqjB,GAAkBL,GAAWC,KAC/BG,EAAW9tB,EAAE,OAAoB,CAAC+tB,EAAiB,eAAc,OAAmBpjB,EAAWF,EAAcC,GAAU1K,EAAE,OAAiB,CACxIiL,SAAU,eAAW0iB,EAAaD,QAItC,IAAIM,EAAUhuB,IACViuB,EAAgB,eAAkB,OAAkBxjB,EAAcC,GAQtE,OANIujB,GAAiBxP,GAAUgP,KAC7BO,EAAUhuB,EAAE,OAAmB,CAACiuB,EAAgB,eAAc,OAAkBtjB,EAAWF,EAAcC,GAAU1K,EAAE,OAAiB,CACpIiL,SAAU,eAAWwiB,EAAYhP,QAI9Bze,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,cACbxI,MAAOlE,EAAgB,GAAI,eAAe2B,OAAOutB,GAAOA,GACxD/qB,MAAO,CACL0D,GAAI9G,EAAM8G,IAAM,KAChBhE,KAAM,WAEN,CAACurB,EAAU,eAAc,OAAmBnjB,EAAWF,EAAcC,GAASsjB,Q,2CClE/E,IAAIE,EAAQ,CACf,WACA,UACA,cACA,YACA,YACA,gBACA,SACA,gBACA,UACA,gBACA,eACA,yBAEO,EAAW,CAClBC,SAAU,GACVC,YAAY,EACZC,qBAAqB,EACrBC,UAAW,SACXC,UAAU,EACVC,cAAe,qBACfC,QAA2B,kBAAXhiB,SACoC,IAAhDA,OAAOiiB,UAAUC,UAAU1L,QAAQ,QACvC2L,eAAgB,SAChBC,qBAAqB,EACrBC,YAAY,EACZC,eAAe,EACfC,YAAa,KACbC,WAAY,QACZC,YAAa,GACbC,cAAe,EACfC,eAAgB,EAChBC,QAAS,GACTC,eAAe,EACfC,eAAe,EACfC,YAAY,EACZC,aAAc,SAAU5nB,GACpB,MAA0B,qBAAZ6nB,SAA2BA,QAAQ5b,KAAKjM,IAE1D8nB,QAAS,SAAUC,GACf,IAAIrqB,EAAO,IAAIH,KAAKwqB,EAAUC,WAC9BtqB,EAAKuqB,SAAS,EAAG,EAAG,EAAG,GACvBvqB,EAAKwqB,QAAQxqB,EAAKyqB,UAAY,GAAMzqB,EAAK0qB,SAAW,GAAK,GACzD,IAAIC,EAAQ,IAAI9qB,KAAKG,EAAK4qB,cAAe,EAAG,GAC5C,OAAQ,EACJtF,KAAKuF,QAAQ7qB,EAAKsqB,UAAYK,EAAML,WAAa,MAC7C,GACEK,EAAMD,SAAW,GAAK,GACxB,IAEZI,cAAe,EACfC,qBAAsB,GACtB9pB,QAAQ,EACR8T,OAAQ,UACRiW,gBAAiB,EACjBC,KAAM,SACNC,kBAAmB,WACnBC,UAAW,yOACXC,YAAY,EACZC,IAAK,IAAIxrB,KACTsiB,SAAU,GACVmJ,QAAS,GACTC,YAAa,GACbC,UAAW,GACXC,UAAW,GACXC,cAAe,GACfC,OAAQ,GACRC,cAAe,GACfC,QAAS,GACTC,cAAe,GACfC,aAAc,GACdC,sBAAuB,GACvBC,QAAS,GACThF,SAAU,OACViF,qBAAiB3pB,EACjB4pB,UAAW,uOACXC,uBAAuB,EACvBC,WAAY,EACZC,QAAQ,EACR3kB,WAAW,EACX4kB,aAAa,EACbC,MAAM,GCjFCC,EAAU,CACjBnlB,SAAU,CACNC,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtDC,SAAU,CACN,SACA,SACA,UACA,YACA,WACA,SACA,aAGRC,OAAQ,CACJF,UAAW,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,SAAU,CACN,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,aAGRklB,YAAa,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1DC,eAAgB,EAChBC,QAAS,SAAUC,GACf,IAAIC,EAAID,EAAM,IACd,GAAIC,EAAI,GAAKA,EAAI,GACb,MAAO,KACX,OAAQA,EAAI,IACR,KAAK,EACD,MAAO,KACX,KAAK,EACD,MAAO,KACX,KAAK,EACD,MAAO,KACX,QACI,MAAO,OAGnBplB,eAAgB,OAChBqlB,iBAAkB,KAClBC,YAAa,sBACbC,YAAa,kBACbC,KAAM,CAAC,KAAM,MACbC,cAAe,OACfC,eAAgB,QAChBC,cAAe,OACfC,gBAAiB,SACjB3lB,WAAW,GAEA,ICvEJ4lB,EAAM,SAAUlN,EAAQtnB,GAE/B,YADe,IAAXA,IAAqBA,EAAS,IAC1B,MAAQsnB,GAAQrhB,OAAgB,EAAVjG,IAEvB,EAAM,SAAUy0B,GAAQ,OAAiB,IAATA,EAAgB,EAAI,GACxD,SAAStN,EAAS/d,EAAIsrB,GACzB,IAAIC,EACJ,OAAO,WACH,IAAIle,EAAQxY,KACRqL,EAAO1K,UACXqY,aAAa0d,GACbA,EAAIhe,YAAW,WAAc,OAAOvN,EAAGzK,MAAM8X,EAAOnN,KAAUorB,IAG/D,IAAIE,EAAW,SAAUp0B,GAC5B,OAAOA,aAAe0T,MAAQ1T,EAAM,CAACA,ICflC,SAASq0B,EAAYC,EAAMC,EAAWN,GACzC,IAAa,IAATA,EACA,OAAOK,EAAKE,UAAUC,IAAIF,GAC9BD,EAAKE,UAAUE,OAAOH,GAEnB,SAASI,EAActyB,EAAKkyB,EAAWvnB,GAC1C,IAAI4L,EAAIjL,OAAO6B,SAASmlB,cAActyB,GAMtC,OALAkyB,EAAYA,GAAa,GACzBvnB,EAAUA,GAAW,GACrB4L,EAAE2b,UAAYA,OACEvrB,IAAZgE,IACA4L,EAAEgc,YAAc5nB,GACb4L,EAEJ,SAASic,EAAUC,GACtB,MAAOA,EAAKC,WACRD,EAAKE,YAAYF,EAAKC,YAEvB,SAASE,EAAWH,EAAMI,GAC7B,OAAIA,EAAUJ,GACHA,EACFA,EAAKK,WACHF,EAAWH,EAAKK,WAAYD,QADlC,EAIF,SAASE,EAAkBC,EAAgBC,GAC9C,IAAIC,EAAUZ,EAAc,MAAO,mBAAoBa,EAAWb,EAAc,QAAS,YAAcU,GAAiBI,EAAUd,EAAc,OAAQ,WAAYe,EAAYf,EAAc,OAAQ,aAQtM,IAPiD,IAA7C/E,UAAUC,UAAU1L,QAAQ,YAC5BqR,EAASrV,KAAO,UAGhBqV,EAASrV,KAAO,OAChBqV,EAAS3e,QAAU,aAEV7N,IAATssB,EACA,IAAK,IAAI31B,KAAO21B,EACZE,EAASG,aAAah2B,EAAK21B,EAAK31B,IAIxC,OAHA41B,EAAQK,YAAYJ,GACpBD,EAAQK,YAAYH,GACpBF,EAAQK,YAAYF,GACbH,EAEJ,SAASM,EAAezkB,GAC3B,IACI,GAAkC,oBAAvBA,EAAM0kB,aAA6B,CAC1C,IAAIC,EAAO3kB,EAAM0kB,eACjB,OAAOC,EAAK,GAEhB,OAAO3kB,EAAM9R,OAEjB,MAAOiJ,GACH,OAAO6I,EAAM9R,QClDrB,IAAI02B,EAAY,aACLC,EAAa,SAAUC,EAAaloB,EAAWwN,GAAU,OAAOA,EAAOtN,OAAOF,EAAY,YAAc,YAAYkoB,IACpHC,EAAY,CACnBC,EAAGJ,EACHK,EAAG,SAAUC,EAASC,EAAW/a,GAC7B8a,EAAQE,SAAShb,EAAOtN,OAAOD,SAASkW,QAAQoS,KAEpDE,EAAG,SAAUH,EAAS3vB,GAClB2vB,EAAQtF,UAAUsF,EAAQI,YAAc,GAAK,GAAK,GAAKC,WAAWhwB,KAEtEiwB,EAAG,SAAUN,EAAS3vB,GAClB2vB,EAAQtF,SAAS2F,WAAWhwB,KAEhCkwB,EAAG,SAAUP,EAASrwB,GAClBqwB,EAAQrF,QAAQ0F,WAAW1wB,KAE/B6wB,EAAG,SAAUR,EAAS3C,EAAMnY,GACxB8a,EAAQtF,SAAUsF,EAAQI,WAAa,GACnC,GAAK,EAAI,IAAI9nB,OAAO4M,EAAOmY,KAAK,GAAI,KAAK/f,KAAK+f,MAEtDoD,EAAG,SAAUT,EAASU,EAAYxb,GAC9B8a,EAAQE,SAAShb,EAAOtN,OAAOF,UAAUmW,QAAQ6S,KAErD/J,EAAG,SAAUqJ,EAASW,GAClBX,EAAQY,WAAWP,WAAWM,KAElCE,EAAG,SAAUC,EAAGC,GAAe,OAAO,IAAI/wB,KAA+B,IAA1BqwB,WAAWU,KAC1DC,EAAG,SAAUhB,EAASiB,EAAS/b,GAC3B,IAAIgc,EAAaC,SAASF,GACtB9wB,EAAO,IAAIH,KAAKgwB,EAAQjF,cAAe,EAAG,EAAuB,GAAlBmG,EAAa,GAAQ,EAAG,EAAG,EAAG,GAEjF,OADA/wB,EAAKwqB,QAAQxqB,EAAKyqB,UAAYzqB,EAAK0qB,SAAW3V,EAAO4X,gBAC9C3sB,GAEXixB,EAAG,SAAUpB,EAASpwB,GAClBowB,EAAQqB,YAAYhB,WAAWzwB,KAEnC0xB,EAAG,SAAUR,EAAGS,GAAW,OAAO,IAAIvxB,KAAKuxB,IAC3CC,EAAG,SAAUxB,EAASrwB,GAClBqwB,EAAQrF,QAAQ0F,WAAW1wB,KAE/B/E,EAAG,SAAUo1B,EAAS3vB,GAClB2vB,EAAQtF,UAAUsF,EAAQI,YAAc,GAAK,GAAK,GAAKC,WAAWhwB,KAEtEpH,EAAG,SAAU+2B,EAASyB,GAClBzB,EAAQ0B,WAAWrB,WAAWoB,KAElCnK,EAAG,SAAU0I,EAASrwB,GAClBqwB,EAAQrF,QAAQ0F,WAAW1wB,KAE/BgyB,EAAGjC,EACH7H,EAAG,SAAUmI,EAAStwB,GAClBswB,EAAQE,SAASG,WAAW3wB,GAAS,IAEzCsB,EAAG,SAAUgvB,EAAStwB,GAClBswB,EAAQE,SAASG,WAAW3wB,GAAS,IAEzCutB,EAAG,SAAU+C,EAASW,GAClBX,EAAQY,WAAWP,WAAWM,KAElCiB,EAAG,SAAUd,EAAGe,GACZ,OAAO,IAAI7xB,KAAKqwB,WAAWwB,KAE/BC,EAAGpC,EACHqC,EAAG,SAAU/B,EAASpwB,GAClBowB,EAAQqB,YAAY,IAAOhB,WAAWzwB,MAGnCoyB,EAAa,CACpBlC,EAAG,GACHC,EAAG,GACHI,EAAG,eACHG,EAAG,eACHC,EAAG,mBACHC,EAAG,GACHC,EAAG,GACH9J,EAAG,eACHkK,EAAG,OACHG,EAAG,eACHI,EAAG,WACHE,EAAG,OACHE,EAAG,eACH52B,EAAG,eACH3B,EAAG,eACHquB,EAAG,eACHqK,EAAG,GACH9J,EAAG,eACH7mB,EAAG,eACHisB,EAAG,eACH2E,EAAG,OACHE,EAAG,eACHC,EAAG,YAEI,EAAU,CACjBT,EAAG,SAAUnxB,GAAQ,OAAOA,EAAK8xB,eACjCnC,EAAG,SAAU3vB,EAAM+U,EAAQgd,GACvB,OAAOhd,EAAOzN,SAASC,UAAU,EAAQoqB,EAAE3xB,EAAM+U,EAAQgd,KAE7DnC,EAAG,SAAU5vB,EAAM+U,EAAQgd,GACvB,OAAOvC,EAAW,EAAQ3uB,EAAEb,EAAM+U,EAAQgd,GAAW,GAAG,EAAOhd,IAEnEib,EAAG,SAAUhwB,EAAM+U,EAAQgd,GACvB,OAAOxE,EAAI,EAAQ9yB,EAAEuF,EAAM+U,EAAQgd,KAEvC5B,EAAG,SAAUnwB,GAAQ,OAAOutB,EAAIvtB,EAAKiwB,aACrCG,EAAG,SAAUpwB,EAAM+U,GACf,YAA0BxS,IAAnBwS,EAAO6X,QACR5sB,EAAKyqB,UAAY1V,EAAO6X,QAAQ5sB,EAAKyqB,WACrCzqB,EAAKyqB,WAEf4F,EAAG,SAAUrwB,EAAM+U,GAAU,OAAOA,EAAOmY,KAAK,EAAIltB,EAAKiwB,WAAa,MACtEK,EAAG,SAAUtwB,EAAM+U,GACf,OAAOya,EAAWxvB,EAAKgyB,YAAY,EAAMjd,IAE7CyR,EAAG,SAAUxmB,GAAQ,OAAOutB,EAAIvtB,EAAKiyB,eACrCvB,EAAG,SAAU1wB,GAAQ,OAAOA,EAAKsqB,UAAY,KAC7CuG,EAAG,SAAU7wB,EAAM2wB,EAAGoB,GAClB,OAAOA,EAAQ3H,QAAQpqB,IAE3BixB,EAAG,SAAUjxB,GAAQ,OAAOutB,EAAIvtB,EAAK4qB,cAAe,IACpDyG,EAAG,SAAUrxB,GAAQ,OAAOutB,EAAIvtB,EAAKyqB,YACrChwB,EAAG,SAAUuF,GAAQ,OAAQA,EAAKiwB,WAAa,GAAKjwB,EAAKiwB,WAAa,GAAK,IAC3En3B,EAAG,SAAUkH,GAAQ,OAAOutB,EAAIvtB,EAAKkyB,eACrC/K,EAAG,SAAUnnB,GAAQ,OAAOA,EAAKyqB,WACjC+G,EAAG,SAAUxxB,EAAM+U,GACf,OAAOA,EAAOzN,SAASE,SAASxH,EAAK0qB,WAEzChD,EAAG,SAAU1nB,GAAQ,OAAOutB,EAAIvtB,EAAKgyB,WAAa,IAClDnxB,EAAG,SAAUb,GAAQ,OAAOA,EAAKgyB,WAAa,GAC9ClF,EAAG,SAAU9sB,GAAQ,OAAOA,EAAKiyB,cACjCR,EAAG,SAAUzxB,GAAQ,OAAOA,EAAKsqB,WACjCqH,EAAG,SAAU3xB,GAAQ,OAAOA,EAAK0qB,UACjCkH,EAAG,SAAU5xB,GAAQ,OAAOW,OAAOX,EAAK4qB,eAAeuH,UAAU,KCjI1DC,EAAsB,SAAUC,GACvC,IAAIC,EAAKD,EAAGE,OAAQA,OAAgB,IAAPD,EAAgB,EAAWA,EAAIE,EAAKH,EAAGI,KAAMA,OAAc,IAAPD,EAAgB/F,EAAU+F,EAAIE,EAAKL,EAAGM,SAAUA,OAAkB,IAAPD,GAAwBA,EACpK,OAAO,SAAU7C,EAAS+C,EAAMC,GAC5B,IAAI9d,EAAS8d,GAAkBJ,EAC/B,YAA0BlwB,IAAtBgwB,EAAOlzB,YAA6BszB,EAGjCC,EACFl0B,MAAM,IACNU,KAAI,SAAU0zB,EAAGh6B,EAAG2F,GACrB,OAAO,EAAQq0B,IAAqB,OAAfr0B,EAAI3F,EAAI,GACvB,EAAQg6B,GAAGjD,EAAS9a,EAAQwd,GACtB,OAANO,EACIA,EACA,MAET7zB,KAAK,IAXCszB,EAAOlzB,WAAWwwB,EAAS+C,EAAM7d,KAczCge,EAAmB,SAAUV,GACpC,IAAIC,EAAKD,EAAGE,OAAQA,OAAgB,IAAPD,EAAgB,EAAWA,EAAIE,EAAKH,EAAGI,KAAMA,OAAc,IAAPD,EAAgB/F,EAAU+F,EAC3G,OAAO,SAAUxyB,EAAMgzB,EAAaC,EAAUC,GAC1C,GAAa,IAATlzB,GAAeA,EAAnB,CAEA,IACImzB,EADApe,EAASme,GAAgBT,EAEzBW,EAAWpzB,EACf,GAAIA,aAAgBH,KAChBszB,EAAa,IAAItzB,KAAKG,EAAKsqB,gBAC1B,GAAoB,kBAATtqB,QACKuC,IAAjBvC,EAAK5B,QACL+0B,EAAa,IAAItzB,KAAKG,QACrB,GAAoB,kBAATA,EAAmB,CAC/B,IAAIJ,EAASozB,IAAgBT,GAAU,GAAU7I,WAC7C2J,EAAU1yB,OAAOX,GAAMygB,OAC3B,GAAgB,UAAZ4S,EACAF,EAAa,IAAItzB,KACjBozB,GAAW,OAEV,GAAIV,GAAUA,EAAOe,UACtBH,EAAaZ,EAAOe,UAAUtzB,EAAMJ,QAEnC,GAAI,KAAKuN,KAAKkmB,IACf,OAAOlmB,KAAKkmB,GACZF,EAAa,IAAItzB,KAAKG,OAErB,CAED,IADA,IAAIgnB,OAAU,EAAQuM,EAAM,GACnBz6B,EAAI,EAAG06B,EAAa,EAAGC,EAAW,GAAI36B,EAAI8G,EAAO7G,OAAQD,IAAK,CACnE,IAAI46B,EAAQ9zB,EAAO9G,GACf66B,EAAwB,OAAVD,EACdE,EAA4B,OAAlBh0B,EAAO9G,EAAI,IAAe66B,EACxC,GAAI9B,EAAW6B,KAAWE,EAAS,CAC/BH,GAAY5B,EAAW6B,GACvB,IAAI/L,EAAQ,IAAIxf,OAAOsrB,GAAUI,KAAK7zB,GAClC2nB,IAAUX,GAAU,IACpBuM,EAAc,MAAVG,EAAgB,OAAS,WAAW,CACpCvxB,GAAIutB,EAAUgE,GACdt8B,IAAKuwB,IAAQ6L,UAIfG,IACNF,GAAY,KAEpBN,EACKZ,GAAWA,EAAOnH,WAEb,IAAIvrB,MAAK,IAAIA,MAAO0qB,SAAS,EAAG,EAAG,EAAG,IADtC,IAAI1qB,MAAK,IAAIA,MAAO+qB,cAAe,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D2I,EAAIt6B,SAAQ,SAAUo5B,GAClB,IAAIlwB,EAAKkwB,EAAGlwB,GAAI/K,EAAMi7B,EAAGj7B,IACzB,OAAQ+7B,EAAahxB,EAAGgxB,EAAY/7B,EAAK2d,IAAWoe,KAExDA,EAAanM,EAAUmM,OAAa5wB,GAG5C,GAAM4wB,aAAsBtzB,OAASi0B,MAAMX,EAAW7I,WAMtD,OAFiB,IAAb2I,GACAE,EAAW5I,SAAS,EAAG,EAAG,EAAG,GAC1B4I,EALHZ,EAAOrI,aAAa,IAAI6J,MAAM,0BAA4BX,OAQ/D,SAASY,EAAaC,EAAOC,EAAOjB,GAEvC,YADiB,IAAbA,IAAuBA,GAAW,IACrB,IAAbA,EACQ,IAAIpzB,KAAKo0B,EAAM3J,WAAWC,SAAS,EAAG,EAAG,EAAG,GAChD,IAAI1qB,KAAKq0B,EAAM5J,WAAWC,SAAS,EAAG,EAAG,EAAG,GAE7C0J,EAAM3J,UAAY4J,EAAM5J,UAQ5B,IAAI6J,EAAY,SAAUC,EAAIC,EAAKC,GACtC,OAAOF,EAAK9O,KAAKzC,IAAIwR,EAAKC,IAAQF,EAAK9O,KAAK1C,IAAIyR,EAAKC,IAE9CC,EAAgC,SAAUC,EAAOlD,EAASd,GACjE,OAAe,KAARgE,EAAyB,GAAVlD,EAAed,GAE9BiE,EAAe,SAAUC,GAChC,IAAIF,EAAQlP,KAAKC,MAAMmP,EAAuB,MAAOpD,GAAWoD,EAA+B,KAARF,GAAgB,GACvG,MAAO,CAACA,EAAOlD,EAASoD,EAA+B,KAARF,EAAyB,GAAVlD,IAEvDqD,EAAW,CAClBC,IAAK,OAEF,SAASC,EAAgBtC,GAC5B,IAAIiC,EAAQjC,EAAO5I,YACf2H,EAAUiB,EAAO3I,cACjB4G,EAAU+B,EAAO1I,eACrB,QAAuBtnB,IAAnBgwB,EAAOuC,QAAuB,CAC9B,IAAIC,EAAUxC,EAAOuC,QAAQ7E,WACzB+E,EAAazC,EAAOuC,QAAQ5C,aAC5B+C,EAAa1C,EAAOuC,QAAQ7C,aAC5BuC,EAAQO,IACRP,EAAQO,GAERP,IAAUO,GAAWzD,EAAU0D,IAC/B1D,EAAU0D,GAEVR,IAAUO,GAAWzD,IAAY0D,GAAcxE,EAAUyE,IACzDzE,EAAU+B,EAAOuC,QAAQ7C,cAEjC,QAAuB1vB,IAAnBgwB,EAAO2C,QAAuB,CAC9B,IAAIC,EAAQ5C,EAAO2C,QAAQjF,WACvBmF,EAAa7C,EAAO2C,QAAQhD,aAChCsC,EAAQlP,KAAKzC,IAAI2R,EAAOW,GACpBX,IAAUW,IACV7D,EAAUhM,KAAKzC,IAAIuS,EAAY9D,IAC/BkD,IAAUW,GAAS7D,IAAY8D,IAC/B5E,EAAU+B,EAAO2C,QAAQjD,cAEjC,MAAO,CAAEuC,MAAOA,EAAOlD,QAASA,EAASd,QAASA,G,cC7IlD6E,EAAsC,WAStC,OARAA,EAAWj9B,OAAOk9B,QAAU,SAAS5H,GACjC,IAAK,IAAIZ,EAAGh0B,EAAI,EAAG+H,EAAIlJ,UAAUoB,OAAQD,EAAI+H,EAAG/H,IAE5C,IAAK,IAAI4P,KADTokB,EAAIn1B,UAAUmB,GACAg0B,EAAO10B,OAAOgQ,UAAUmtB,eAAehtB,KAAKukB,EAAGpkB,KACzDglB,EAAEhlB,GAAKokB,EAAEpkB,IAEjB,OAAOglB,GAEJ2H,EAAS39B,MAAMV,KAAMW,YAE5B69B,EAAkD,WAClD,IAAK,IAAI1I,EAAI,EAAGh0B,EAAI,EAAG28B,EAAK99B,UAAUoB,OAAQD,EAAI28B,EAAI38B,IAAKg0B,GAAKn1B,UAAUmB,GAAGC,OACxE,IAAI28B,EAAIzoB,MAAM6f,GAAIphB,EAAI,EAA3B,IAA8B5S,EAAI,EAAGA,EAAI28B,EAAI38B,IACzC,IAAK,IAAI4b,EAAI/c,UAAUmB,GAAIquB,EAAI,EAAGwO,EAAKjhB,EAAE3b,OAAQouB,EAAIwO,EAAIxO,IAAKzb,IAC1DgqB,EAAEhqB,GAAKgJ,EAAEyS,GACjB,OAAOuO,GASPE,EAAsB,IAC1B,SAASC,EAAkBC,EAASC,GAChC,IAAI3zB,EAAO,CACPmwB,OAAQ8C,EAASA,EAAS,GAAI,GAAiBluB,EAAU6uB,eACzDvD,KAAM,GAyBV,SAASwD,IACL7zB,EAAK8zB,MAAQ,CACTC,eAAgB,SAAU52B,EAAO62B,GAG7B,YAFc,IAAV72B,IAAoBA,EAAQ6C,EAAKi0B,mBAC1B,IAAPD,IAAiBA,EAAKh0B,EAAKk0B,aACjB,IAAV/2B,IAAiB62B,EAAK,IAAM,GAAKA,EAAK,MAAQ,GAAMA,EAAK,MAAQ,GAC1D,GACJh0B,EAAKqwB,KAAK/F,YAAYntB,KAIzC,SAASg3B,IACLn0B,EAAK0zB,QAAU1zB,EAAKlL,MAAQ4+B,EAC5B1zB,EAAKo0B,QAAS,EACdC,KACAC,KACAC,KACAC,KACAX,IACK7zB,EAAKuwB,UACNkE,IACJC,KACI10B,EAAK20B,cAAch+B,QAAUqJ,EAAKmwB,OAAOnH,cACrChpB,EAAKmwB,OAAOtI,YACZ+M,EAAiB50B,EAAKmwB,OAAOnH,WAAahpB,EAAK60B,2BAAwB10B,GAE3Eof,IAAY,IAEhBuV,IACA,IAAIC,EAAW,iCAAiChqB,KAAKgc,UAAUC,YAC1DhnB,EAAKuwB,UAAYwE,GAClBC,KAEJC,GAAa,WAEjB,SAASC,IACL,IAAIjF,EACJ,OAA2C,QAAjCA,EAAKjwB,EAAKm1B,yBAAsC,IAAPlF,OAAgB,EAASA,EAAGmF,eAC1EC,eAAiB1uB,SAAS0uB,cAEnC,SAASC,EAAev1B,GACpB,OAAOA,EAAGyB,KAAKxB,GAEnB,SAAS80B,IACL,IAAI3E,EAASnwB,EAAKmwB,QACS,IAAvBA,EAAOhG,aAA+C,IAAtBgG,EAAOlG,aAGZ,IAAtBkG,EAAOnH,YACZlkB,OAAOywB,uBAAsB,WAKzB,QAJ+Bp1B,IAA3BH,EAAKm1B,oBACLn1B,EAAKm1B,kBAAkBtuB,MAAM2uB,WAAa,SAC1Cx1B,EAAKm1B,kBAAkBtuB,MAAMC,QAAU,cAEhB3G,IAAvBH,EAAKy1B,cAA6B,CAClC,IAAIC,GAAa11B,EAAK21B,KAAKC,YAAc,GAAKzF,EAAOlG,WACrDjqB,EAAKy1B,cAAc5uB,MAAM3F,MAAQw0B,EAAY,KAC7C11B,EAAKm1B,kBAAkBtuB,MAAM3F,MACzBw0B,QAC0Bv1B,IAArBH,EAAK61B,YACA71B,EAAK61B,YAAYD,YACjB,GACN,KACR51B,EAAKm1B,kBAAkBtuB,MAAMivB,eAAe,cAC5C91B,EAAKm1B,kBAAkBtuB,MAAMivB,eAAe,eAK5D,SAASC,EAAWhmB,GAChB,GAAkC,IAA9B/P,EAAK20B,cAAch+B,OAAc,CACjC,IAAIq/B,OAAsC71B,IAAxBH,EAAKmwB,OAAOuC,SAC1Bd,EAAa,IAAIn0B,KAAQuC,EAAKmwB,OAAOuC,UAAY,EAC/C,IAAIj1B,KACJ,IAAIA,KAAKuC,EAAKmwB,OAAOuC,QAAQxK,WAC/B+N,EAAWxD,EAAgBzyB,EAAKmwB,QACpC6F,EAAY7N,SAAS8N,EAAS7D,MAAO6D,EAAS/G,QAAS+G,EAAS7H,QAAS4H,EAAYE,mBACrFl2B,EAAK20B,cAAgB,CAACqB,GACtBh2B,EAAK60B,sBAAwBmB,OAEvB71B,IAAN4P,GAA8B,SAAXA,EAAEuH,MACrB6e,GAAYpmB,GAEhB,IAAIqmB,EAAYp2B,EAAKq2B,OAAOj/B,MAC5Bk/B,IACA/W,KACIvf,EAAKq2B,OAAOj/B,QAAUg/B,GACtBp2B,EAAKu2B,mBAGb,SAASC,EAAc14B,EAAMgtB,GACzB,OAAQhtB,EAAO,GAAM,GAAK,EAAIgtB,IAAS9qB,EAAKqwB,KAAKvF,KAAK,IAE1D,SAAS2L,EAAc34B,GACnB,OAAQA,EAAO,IACX,KAAK,EACL,KAAK,GACD,OAAO,GACX,QACI,OAAOA,EAAO,IAG1B,SAASw4B,IACL,QAAyBn2B,IAArBH,EAAK02B,kBAAoDv2B,IAAvBH,EAAK22B,cAA3C,CAEA,IAAIvE,GAASxD,SAAS5uB,EAAK02B,YAAYt/B,MAAMwF,OAAO,GAAI,KAAO,GAAK,GAAIsyB,GAAWN,SAAS5uB,EAAK22B,cAAcv/B,MAAO,KAAO,GAAK,GAAIg3B,OAAiCjuB,IAAvBH,EAAK42B,eAC9IhI,SAAS5uB,EAAK42B,cAAcx/B,MAAO,KAAO,GAAK,GAChD,OACY+I,IAAdH,EAAK8qB,OACLsH,EAAQoE,EAAcpE,EAAOpyB,EAAK8qB,KAAKiB,cAE3C,IAAI8K,OAAwC12B,IAAxBH,EAAKmwB,OAAO2G,SAC3B92B,EAAKmwB,OAAOuC,SACT1yB,EAAK+2B,gBACL/2B,EAAK60B,uBAED,IADJjD,EAAa5xB,EAAK60B,sBAAuB70B,EAAKmwB,OAAOuC,SAAS,GAElEsE,OAAwC72B,IAAxBH,EAAKmwB,OAAO8G,SAC3Bj3B,EAAKmwB,OAAO2C,SACT9yB,EAAKk3B,gBACLl3B,EAAK60B,uBAED,IADJjD,EAAa5xB,EAAK60B,sBAAuB70B,EAAKmwB,OAAO2C,SAAS,GAEtE,QAA4B3yB,IAAxBH,EAAKmwB,OAAO8G,cACY92B,IAAxBH,EAAKmwB,OAAO2G,SACZ92B,EAAKmwB,OAAO2G,QAAU92B,EAAKmwB,OAAO8G,QAAS,CAC3C,IAAIE,EAAWhF,EAA8BnyB,EAAKmwB,OAAO2G,QAAQjJ,WAAY7tB,EAAKmwB,OAAO2G,QAAQhH,aAAc9vB,EAAKmwB,OAAO2G,QAAQjH,cAC/HuH,EAAWjF,EAA8BnyB,EAAKmwB,OAAO8G,QAAQpJ,WAAY7tB,EAAKmwB,OAAO8G,QAAQnH,aAAc9vB,EAAKmwB,OAAO8G,QAAQpH,cAC/HwH,EAAclF,EAA8BC,EAAOlD,EAASd,GAChE,GAAIiJ,EAAcD,GAAYC,EAAcF,EAAU,CAClD,IAAI34B,EAAS6zB,EAAa8E,GAC1B/E,EAAQ5zB,EAAO,GACf0wB,EAAU1wB,EAAO,GACjB4vB,EAAU5vB,EAAO,QAGpB,CACD,GAAIw4B,EAAe,CACf,IAAIC,OAAkC92B,IAAxBH,EAAKmwB,OAAO8G,QACpBj3B,EAAKmwB,OAAO8G,QACZj3B,EAAKmwB,OAAO2C,QAClBV,EAAQlP,KAAKzC,IAAI2R,EAAO6E,EAAQpJ,YAC5BuE,IAAU6E,EAAQpJ,aAClBqB,EAAUhM,KAAKzC,IAAIyO,EAAS+H,EAAQnH,eACpCZ,IAAY+H,EAAQnH,eACpB1B,EAAUlL,KAAKzC,IAAI2N,EAAS6I,EAAQpH,eAE5C,GAAIgH,EAAe,CACf,IAAIC,OAAkC32B,IAAxBH,EAAKmwB,OAAO2G,QACpB92B,EAAKmwB,OAAO2G,QACZ92B,EAAKmwB,OAAOuC,QAClBN,EAAQlP,KAAK1C,IAAI4R,EAAO0E,EAAQjJ,YAC5BuE,IAAU0E,EAAQjJ,YAAcqB,EAAU4H,EAAQhH,eAClDZ,EAAU4H,EAAQhH,cAClBZ,IAAY4H,EAAQhH,eACpB1B,EAAUlL,KAAK1C,IAAI4N,EAAS0I,EAAQjH,gBAGhD1H,EAASiK,EAAOlD,EAASd,IAE7B,SAASwG,EAAiBnH,GACtB,IAAI7vB,EAAO6vB,GAAWztB,EAAK60B,sBACvBj3B,GAAQA,aAAgBH,MACxB0qB,EAASvqB,EAAKiwB,WAAYjwB,EAAKkyB,aAAclyB,EAAKiyB,cAG1D,SAAS1H,EAASiK,EAAOlD,EAASd,QACKjuB,IAA/BH,EAAK60B,uBACL70B,EAAK60B,sBAAsB1M,SAASiK,EAAQ,GAAIlD,EAASd,GAAW,EAAG,GAEtEpuB,EAAK02B,aAAgB12B,EAAK22B,gBAAiB32B,EAAKuwB,WAErDvwB,EAAK02B,YAAYt/B,MAAQ+zB,EAAKnrB,EAAKmwB,OAAO5qB,UAEpC6sB,GADE,GAAKA,GAAS,GAAM,GAAK,EAAIA,EAAQ,KAAO,IAEpDpyB,EAAK22B,cAAcv/B,MAAQ+zB,EAAI+D,QACb/uB,IAAdH,EAAK8qB,OACL9qB,EAAK8qB,KAAKiB,YAAc/rB,EAAKqwB,KAAKvF,KAAK,EAAIsH,GAAS,WAC7BjyB,IAAvBH,EAAK42B,gBACL52B,EAAK42B,cAAcx/B,MAAQ+zB,EAAIiD,KAEvC,SAASkJ,EAAY/uB,GACjB,IAAIgvB,EAAcvK,EAAezkB,GAC7BlL,EAAOuxB,SAAS2I,EAAYngC,QAAUmR,EAAMivB,OAAS,IACrDn6B,EAAO,IAAO,GACC,UAAdkL,EAAMzR,MAAoB,QAAQiU,KAAK1N,EAAKjB,cAC7Cq7B,GAAWp6B,GAGnB,SAASmE,EAAKkyB,EAASnrB,EAAO2E,EAASyiB,GACnC,OAAIpnB,aAAiBsC,MACVtC,EAAM1R,SAAQ,SAAU6gC,GAAM,OAAOl2B,EAAKkyB,EAASgE,EAAIxqB,EAASyiB,MACvE+D,aAAmB7oB,MACZ6oB,EAAQ78B,SAAQ,SAAUukB,GAAM,OAAO5Z,EAAK4Z,EAAI7S,EAAO2E,EAASyiB,OAC3E+D,EAAQiE,iBAAiBpvB,EAAO2E,EAASyiB,QACzC3vB,EAAK43B,UAAUrhC,KAAK,CAChBs1B,OAAQ,WAAc,OAAO6H,EAAQmE,oBAAoBtvB,EAAO2E,EAASyiB,OAGjF,SAASmI,IACL7C,GAAa,YAEjB,SAASP,IAQL,GAPI10B,EAAKmwB,OAAO/F,MACZ,CAAC,OAAQ,QAAS,SAAU,SAASvzB,SAAQ,SAAUkhC,GACnDltB,MAAM7E,UAAUnP,QAAQsP,KAAKnG,EAAK0zB,QAAQsE,iBAAiB,SAAWD,EAAM,MAAM,SAAU3c,GACxF,OAAO5Z,EAAK4Z,EAAI,QAASpb,EAAK+3B,UAItC/3B,EAAKuwB,SACL0H,SADJ,CAIA,IAAIC,EAAkBpa,EAASqa,GAAU,IA2BzC,GA1BAn4B,EAAKu2B,iBAAmBzY,EAASga,EAAetE,GAC5CxzB,EAAKy1B,gBAAkB,oBAAoB1qB,KAAKgc,UAAUC,YAC1DxlB,EAAKxB,EAAKy1B,cAAe,aAAa,SAAU1lB,GACnB,UAArB/P,EAAKmwB,OAAOtH,MACZuP,GAAYpL,EAAejd,OAEvCvO,EAAKxB,EAAKq2B,OAAQ,UAAWhN,SACElpB,IAA3BH,EAAKm1B,mBACL3zB,EAAKxB,EAAKm1B,kBAAmB,UAAW9L,IAEvCrpB,EAAKmwB,OAAOtxB,QAAWmB,EAAKmwB,OAAOjG,QACpC1oB,EAAKsD,OAAQ,SAAUozB,QACC/3B,IAAxB2E,OAAOuzB,aACP72B,EAAKsD,OAAO6B,SAAU,aAAc2xB,IAEpC92B,EAAKsD,OAAO6B,SAAU,YAAa2xB,IACvC92B,EAAKsD,OAAO6B,SAAU,QAAS2xB,GAAe,CAAE7S,SAAS,KAC1B,IAA3BzlB,EAAKmwB,OAAOhJ,aACZ3lB,EAAKxB,EAAKq2B,OAAQ,QAASr2B,EAAKu4B,MAChC/2B,EAAKxB,EAAKq2B,OAAQ,QAASr2B,EAAKu4B,YAETp4B,IAAvBH,EAAKy1B,gBACLj0B,EAAKxB,EAAKw4B,SAAU,QAASC,IAC7Bj3B,EAAKxB,EAAKw4B,SAAU,CAAC,QAAS,aAAclB,GAC5C91B,EAAKxB,EAAKy1B,cAAe,QAASiD,UAEXv4B,IAAvBH,EAAK24B,oBACkBx4B,IAAvBH,EAAK22B,oBACgBx2B,IAArBH,EAAK02B,YAA2B,CAChC,IAAIkC,EAAU,SAAU7oB,GACpB,OAAOid,EAAejd,GAAG3a,UAE7BoM,EAAKxB,EAAK24B,cAAe,CAAC,aAAc5C,GACxCv0B,EAAKxB,EAAK24B,cAAe,OAAQ5C,EAAY,CAAEtQ,SAAS,IACxDjkB,EAAKxB,EAAK24B,cAAe,QAASE,GAClCr3B,EAAK,CAACxB,EAAK02B,YAAa12B,EAAK22B,eAAgB,CAAC,QAAS,SAAUiC,QACtCz4B,IAAvBH,EAAK42B,eACLp1B,EAAKxB,EAAK42B,cAAe,SAAS,WAAc,OAAO52B,EAAK42B,eAAiB52B,EAAK42B,cAAcxhC,iBAClF+K,IAAdH,EAAK8qB,MACLtpB,EAAKxB,EAAK8qB,KAAM,SAAS,SAAU/a,GAC/BgmB,EAAWhmB,MAInB/P,EAAKmwB,OAAO1J,YACZjlB,EAAKxB,EAAKq2B,OAAQ,OAAQrW,KAGlC,SAAS8Y,EAAWC,EAAUjB,GAC1B,IAAIkB,OAAsB74B,IAAb44B,EACP/4B,EAAKkxB,UAAU6H,GACf/4B,EAAK60B,wBACF70B,EAAKmwB,OAAOuC,SAAW1yB,EAAKmwB,OAAOuC,QAAU1yB,EAAKipB,IAC7CjpB,EAAKmwB,OAAOuC,QACZ1yB,EAAKmwB,OAAO2C,SAAW9yB,EAAKmwB,OAAO2C,QAAU9yB,EAAKipB,IAC9CjpB,EAAKmwB,OAAO2C,QACZ9yB,EAAKipB,KACnBgQ,EAAUj5B,EAAKk0B,YACfgF,EAAWl5B,EAAKi0B,aACpB,SACmB9zB,IAAX64B,IACAh5B,EAAKk0B,YAAc8E,EAAOxQ,cAC1BxoB,EAAKi0B,aAAe+E,EAAOpJ,YAGnC,MAAO7f,GACHA,EAAEC,QAAU,0BAA4BgpB,EACxCh5B,EAAKmwB,OAAOrI,aAAa/X,GAEzB+nB,GAAiB93B,EAAKk0B,cAAgB+E,IACtChE,GAAa,gBACbkE,OAEArB,GACC93B,EAAKk0B,cAAgB+E,GAAWj5B,EAAKi0B,eAAiBiF,GACvDjE,GAAa,iBAEjBj1B,EAAKo5B,SAET,SAASP,EAAc9oB,GACnB,IAAIwnB,EAAcvK,EAAejd,IAC5BwnB,EAAY7L,UAAUpQ,QAAQ,UAC/B+d,EAAkBtpB,EAAGwnB,EAAY5L,UAAU2N,SAAS,WAAa,GAAK,GAE9E,SAASD,EAAkBtpB,EAAGynB,EAAO+B,GACjC,IAAI9iC,EAASsZ,GAAKid,EAAejd,GAC7Bjb,EAAQykC,GACP9iC,GAAUA,EAAO61B,YAAc71B,EAAO61B,WAAWJ,WAClD3jB,EAAQixB,GAAY,aACxBjxB,EAAMivB,MAAQA,EACd1iC,GAASA,EAAM2kC,cAAclxB,GAEjC,SAASksB,IACL,IAAIiF,EAAW50B,OAAO6B,SAASgzB,yBAG/B,GAFA35B,EAAKm1B,kBAAoBrJ,EAAc,MAAO,sBAC9C9rB,EAAKm1B,kBAAkB1Z,UAAY,GAC9Bzb,EAAKmwB,OAAOnH,WAAY,CAGzB,GAFA0Q,EAAS3M,YAAY6M,MACrB55B,EAAK65B,eAAiB/N,EAAc,MAAO,4BACvC9rB,EAAKmwB,OAAOhG,YAAa,CACzB,IAAI8F,EAAK6J,KAAcjE,EAAc5F,EAAG4F,YAAa1L,EAAc8F,EAAG9F,YACtEnqB,EAAK65B,eAAe9M,YAAY8I,GAChC71B,EAAKmqB,YAAcA,EACnBnqB,EAAK61B,YAAcA,EAEvB71B,EAAK+5B,WAAajO,EAAc,MAAO,wBACvC9rB,EAAK+5B,WAAWhN,YAAYiN,MACvBh6B,EAAKy1B,gBACNz1B,EAAKy1B,cAAgB3J,EAAc,MAAO,kBAC1C9rB,EAAKy1B,cAAcha,UAAY,GAEnCwe,KACAj6B,EAAK+5B,WAAWhN,YAAY/sB,EAAKy1B,eACjCz1B,EAAK65B,eAAe9M,YAAY/sB,EAAK+5B,YACrCL,EAAS3M,YAAY/sB,EAAK65B,gBAE1B75B,EAAKmwB,OAAOtI,YACZ6R,EAAS3M,YAAYmN,MAEzB1O,EAAYxrB,EAAKm1B,kBAAmB,YAAkC,UAArBn1B,EAAKmwB,OAAOtH,MAC7D2C,EAAYxrB,EAAKm1B,kBAAmB,WAAmC,IAAxBn1B,EAAKmwB,OAAOrJ,SAC3D0E,EAAYxrB,EAAKm1B,kBAAmB,aAAcn1B,EAAKmwB,OAAOlG,WAAa,GAC3EjqB,EAAKm1B,kBAAkBpI,YAAY2M,GACnC,IAAIS,OAAwCh6B,IAAzBH,EAAKmwB,OAAOiK,eACOj6B,IAAlCH,EAAKmwB,OAAOiK,SAASC,SACzB,IAAIr6B,EAAKmwB,OAAOtxB,QAAUmB,EAAKmwB,OAAOjG,UAClClqB,EAAKm1B,kBAAkBxJ,UAAUC,IAAI5rB,EAAKmwB,OAAOtxB,OAAS,SAAW,UACjEmB,EAAKmwB,OAAOtxB,UACPs7B,GAAgBn6B,EAAK0zB,QAAQpH,WAC9BtsB,EAAK0zB,QAAQpH,WAAWgO,aAAat6B,EAAKm1B,kBAAmBn1B,EAAKq2B,OAAOkE,kBAC3Cp6B,IAAzBH,EAAKmwB,OAAOiK,UACjBp6B,EAAKmwB,OAAOiK,SAASrN,YAAY/sB,EAAKm1B,oBAE1Cn1B,EAAKmwB,OAAOjG,QAAQ,CACpB,IAAIwC,EAAUZ,EAAc,MAAO,qBAC/B9rB,EAAK0zB,QAAQpH,YACbtsB,EAAK0zB,QAAQpH,WAAWgO,aAAa5N,EAAS1sB,EAAK0zB,SACvDhH,EAAQK,YAAY/sB,EAAK0zB,SACrB1zB,EAAK4mB,UACL8F,EAAQK,YAAY/sB,EAAK4mB,UAC7B8F,EAAQK,YAAY/sB,EAAKm1B,mBAG5Bn1B,EAAKmwB,OAAOjG,QAAWlqB,EAAKmwB,OAAOtxB,cACVsB,IAAzBH,EAAKmwB,OAAOiK,SACPp6B,EAAKmwB,OAAOiK,SACZt1B,OAAO6B,SAAS6zB,MAAMzN,YAAY/sB,EAAKm1B,mBAErD,SAASsF,EAAU/O,EAAW9tB,EAAM88B,EAAYhkC,GAC5C,IAAIikC,EAAgBC,GAAUh9B,GAAM,GAAOi9B,EAAa/O,EAAc,OAAQJ,EAAW9tB,EAAKyqB,UAAUjsB,YAuCxG,OAtCAy+B,EAAWpN,QAAU7vB,EACrBi9B,EAAWC,GAAKpkC,EAChBmkC,EAAW/N,aAAa,aAAc9sB,EAAK/C,WAAWW,EAAMoC,EAAKmwB,OAAOlJ,kBACnC,IAAjCyE,EAAUpQ,QAAQ,WACe,IAAjCsW,EAAah0B,EAAMoC,EAAKipB,OACxBjpB,EAAK+6B,cAAgBF,EACrBA,EAAWlP,UAAUC,IAAI,SACzBiP,EAAW/N,aAAa,eAAgB,SAExC6N,GACAE,EAAWpf,UAAY,EACnBuf,GAAep9B,KACfi9B,EAAWlP,UAAUC,IAAI,YACzB5rB,EAAKi7B,iBAAmBJ,EACC,UAArB76B,EAAKmwB,OAAOtH,OACZ2C,EAAYqP,EAAY,aAAc76B,EAAK20B,cAAc,IACD,IAApD/C,EAAah0B,EAAMoC,EAAK20B,cAAc,IAAI,IAC9CnJ,EAAYqP,EAAY,WAAY76B,EAAK20B,cAAc,IACC,IAApD/C,EAAah0B,EAAMoC,EAAK20B,cAAc,IAAI,IAC5B,iBAAdjJ,GACAmP,EAAWlP,UAAUC,IAAI,cAKrCiP,EAAWlP,UAAUC,IAAI,sBAEJ,UAArB5rB,EAAKmwB,OAAOtH,MACRqS,GAAct9B,KAAUo9B,GAAep9B,IACvCi9B,EAAWlP,UAAUC,IAAI,WAE7B5rB,EAAKmqB,aACsB,IAA3BnqB,EAAKmwB,OAAOlG,YACE,iBAAdyB,GACAh1B,EAAI,IAAM,GACVsJ,EAAKmqB,YAAYgR,mBAAmB,YAAa,+BAAiCn7B,EAAKmwB,OAAOnI,QAAQpqB,GAAQ,WAElHq3B,GAAa,cAAe4F,GACrBA,EAEX,SAASO,EAAeC,GACpBA,EAAWpb,QACc,UAArBjgB,EAAKmwB,OAAOtH,MACZuP,GAAYiD,GAEpB,SAASC,EAAqB9D,GAG1B,IAFA,IAAI+D,EAAa/D,EAAQ,EAAI,EAAIx3B,EAAKmwB,OAAOlG,WAAa,EACtDuR,EAAWhE,EAAQ,EAAIx3B,EAAKmwB,OAAOlG,YAAc,EAC5C3E,EAAIiW,EAAYjW,GAAKkW,EAAUlW,GAAKkS,EAIzC,IAHA,IAAIr6B,EAAQ6C,EAAKy1B,cAAcx2B,SAASqmB,GACpCmW,EAAajE,EAAQ,EAAI,EAAIr6B,EAAM8B,SAAStI,OAAS,EACrD+kC,EAAWlE,EAAQ,EAAIr6B,EAAM8B,SAAStI,QAAU,EAC3CD,EAAI+kC,EAAY/kC,GAAKglC,EAAUhlC,GAAK8gC,EAAO,CAChD,IAAI9G,EAAIvzB,EAAM8B,SAASvI,GACvB,IAAuC,IAAnCg6B,EAAEhF,UAAUpQ,QAAQ,WAAoBsf,GAAUlK,EAAEjD,SACpD,OAAOiD,GAKvB,SAASiL,EAAoBC,EAASpE,GAMlC,IALA,IAAIqE,GAAqD,IAAxCD,EAAQlQ,UAAUpQ,QAAQ,SACrCsgB,EAAQnO,QAAQmC,WAChB5vB,EAAKi0B,aACPuH,EAAWhE,EAAQ,EAAIx3B,EAAKmwB,OAAOlG,YAAc,EACjD6R,EAAYtE,EAAQ,EAAI,GAAK,EACxBlS,EAAIuW,EAAa77B,EAAKi0B,aAAc3O,GAAKkW,EAAUlW,GAAKwW,EAQ7D,IAPA,IAAI3+B,EAAQ6C,EAAKy1B,cAAcx2B,SAASqmB,GACpCmW,EAAaI,EAAa77B,EAAKi0B,eAAiB3O,EAC9CsW,EAAQd,GAAKtD,EACbA,EAAQ,EACJr6B,EAAM8B,SAAStI,OAAS,EACxB,EACNolC,EAAe5+B,EAAM8B,SAAStI,OACzBD,EAAI+kC,EAAY/kC,GAAK,GAAKA,EAAIqlC,GAAgBrlC,IAAM8gC,EAAQ,EAAIuE,GAAgB,GAAIrlC,GAAKolC,EAAW,CACzG,IAAIpL,EAAIvzB,EAAM8B,SAASvI,GACvB,IAAuC,IAAnCg6B,EAAEhF,UAAUpQ,QAAQ,WACpBsf,GAAUlK,EAAEjD,UACZvK,KAAK8Y,IAAIJ,EAAQd,GAAKpkC,IAAMwsB,KAAK8Y,IAAIxE,GACrC,OAAO4D,EAAe1K,GAGlC1wB,EAAKi8B,YAAYH,GACjBI,EAAWZ,EAAqBQ,GAAY,GAGhD,SAASI,EAAWN,EAASO,GACzB,IAAI9G,EAAgBH,IAChBkH,EAAaC,GAAShH,GAAiB1uB,SAAS6zB,MAChD8B,OAAwBn8B,IAAZy7B,EACVA,EACAQ,EACI/G,OAC0Bl1B,IAA1BH,EAAKi7B,kBAAkCoB,GAASr8B,EAAKi7B,kBACjDj7B,EAAKi7B,sBACkB96B,IAAvBH,EAAK+6B,eAA+BsB,GAASr8B,EAAK+6B,eAC9C/6B,EAAK+6B,cACLO,EAAqBa,EAAS,EAAI,GAAK,QACvCh8B,IAAdm8B,EACAt8B,EAAKq2B,OAAOpW,QAENmc,EAINT,EAAoBW,EAAWH,GAH/Bf,EAAekB,GAMvB,SAASC,GAAel/B,EAAMF,GAK1B,IAJA,IAAIq/B,GAAgB,IAAI/+B,KAAKJ,EAAMF,EAAO,GAAGmrB,SAAWtoB,EAAKqwB,KAAK9F,eAAiB,GAAK,EACpFkS,EAAgBz8B,EAAK8zB,MAAMC,gBAAgB52B,EAAQ,EAAI,IAAM,GAAIE,GACjEitB,EAActqB,EAAK8zB,MAAMC,eAAe52B,EAAOE,GAAOs4B,EAAO7wB,OAAO6B,SAASgzB,yBAA0B+C,EAAe18B,EAAKmwB,OAAOlG,WAAa,EAAG0S,EAAoBD,EAAe,sBAAwB,eAAgBE,EAAoBF,EAAe,sBAAwB,eACxRG,EAAYJ,EAAgB,EAAID,EAAcM,EAAW,EACtDD,GAAaJ,EAAeI,IAAaC,IAC5CnH,EAAK5I,YAAY0N,EAAU,iBAAmBkC,EAAmB,IAAIl/B,KAAKJ,EAAMF,EAAQ,EAAG0/B,GAAYA,EAAWC,IAEtH,IAAKD,EAAY,EAAGA,GAAavS,EAAauS,IAAaC,IACvDnH,EAAK5I,YAAY0N,EAAU,gBAAiB,IAAIh9B,KAAKJ,EAAMF,EAAO0/B,GAAYA,EAAWC,IAE7F,IAAK,IAAIC,EAASzS,EAAc,EAAGyS,GAAU,GAAKP,IAClB,IAA3Bx8B,EAAKmwB,OAAOlG,YAAoB6S,EAAW,IAAM,GAAIC,IAAUD,IAChEnH,EAAK5I,YAAY0N,EAAU,iBAAmBmC,EAAmB,IAAIn/B,KAAKJ,EAAMF,EAAQ,EAAG4/B,EAASzS,GAAcyS,EAAQD,IAE9H,IAAIE,EAAelR,EAAc,MAAO,gBAExC,OADAkR,EAAajQ,YAAY4I,GAClBqH,EAEX,SAAS/C,KACL,QAA2B95B,IAAvBH,EAAKy1B,cAAT,CAGAzJ,EAAUhsB,EAAKy1B,eACXz1B,EAAKmqB,aACL6B,EAAUhsB,EAAKmqB,aAEnB,IADA,IAAI8S,EAAOt2B,SAASgzB,yBACXjjC,EAAI,EAAGA,EAAIsJ,EAAKmwB,OAAOlG,WAAYvzB,IAAK,CAC7C,IAAIu4B,EAAI,IAAIxxB,KAAKuC,EAAKk0B,YAAal0B,EAAKi0B,aAAc,GACtDhF,EAAEtB,SAAS3tB,EAAKi0B,aAAev9B,GAC/BumC,EAAKlQ,YAAYwP,GAAetN,EAAEzG,cAAeyG,EAAEW,aAEvD5vB,EAAKy1B,cAAc1I,YAAYkQ,GAC/Bj9B,EAAK21B,KAAO31B,EAAKy1B,cAAcvJ,WACN,UAArBlsB,EAAKmwB,OAAOtH,MAAkD,IAA9B7oB,EAAK20B,cAAch+B,QACnDyhC,MAGR,SAASe,KACL,KAAIn5B,EAAKmwB,OAAOlG,WAAa,GACS,aAAlCjqB,EAAKmwB,OAAOrH,mBADhB,CAGA,IAAIoU,EAAmB,SAAU//B,GAC7B,aAA4BgD,IAAxBH,EAAKmwB,OAAOuC,SACZ1yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAOuC,QAAQlK,eACzCrrB,EAAQ6C,EAAKmwB,OAAOuC,QAAQ9C,oBAGCzvB,IAAxBH,EAAKmwB,OAAO2C,SACjB9yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAO2C,QAAQtK,eACzCrrB,EAAQ6C,EAAKmwB,OAAO2C,QAAQlD,aAEpC5vB,EAAKm9B,wBAAwB1hB,UAAY,EACzCzb,EAAKm9B,wBAAwBC,UAAY,GACzC,IAAK,IAAI1mC,EAAI,EAAGA,EAAI,GAAIA,IACpB,GAAKwmC,EAAiBxmC,GAAtB,CAEA,IAAIyG,EAAQ2uB,EAAc,SAAU,iCACpC3uB,EAAM/F,MAAQ,IAAIqG,KAAKuC,EAAKk0B,YAAax9B,GAAGk5B,WAAWxzB,WACvDe,EAAM4uB,YAAcqB,EAAW12B,EAAGsJ,EAAKmwB,OAAOnG,sBAAuBhqB,EAAKqwB,MAC1ElzB,EAAMse,UAAY,EACdzb,EAAKi0B,eAAiBv9B,IACtByG,EAAM+U,UAAW,GAErBlS,EAAKm9B,wBAAwBpQ,YAAY5vB,KAGjD,SAASkgC,KACL,IAEIC,EAFAC,EAAYzR,EAAc,MAAO,mBACjC0R,EAAmB14B,OAAO6B,SAASgzB,yBAEnC35B,EAAKmwB,OAAOlG,WAAa,GACS,WAAlCjqB,EAAKmwB,OAAOrH,kBACZwU,EAAexR,EAAc,OAAQ,cAGrC9rB,EAAKm9B,wBAA0BrR,EAAc,SAAU,kCACvD9rB,EAAKm9B,wBAAwBrQ,aAAa,aAAc9sB,EAAKqwB,KAAKrF,gBAClExpB,EAAKxB,EAAKm9B,wBAAyB,UAAU,SAAUptB,GACnD,IAAItZ,EAASu2B,EAAejd,GACxB0tB,EAAgB7O,SAASn4B,EAAOW,MAAO,IAC3C4I,EAAKi8B,YAAYwB,EAAgBz9B,EAAKi0B,cACtCgB,GAAa,oBAEjBkE,KACAmE,EAAet9B,EAAKm9B,yBAExB,IAAIO,EAAYnR,EAAkB,WAAY,CAAErS,SAAU,OACtDyjB,EAAcD,EAAUE,qBAAqB,SAAS,GAC1DD,EAAY7Q,aAAa,aAAc9sB,EAAKqwB,KAAKtF,eAC7C/qB,EAAKmwB,OAAOuC,SACZiL,EAAY7Q,aAAa,MAAO9sB,EAAKmwB,OAAOuC,QAAQlK,cAAcpsB,YAElE4D,EAAKmwB,OAAO2C,UACZ6K,EAAY7Q,aAAa,MAAO9sB,EAAKmwB,OAAO2C,QAAQtK,cAAcpsB,YAClEuhC,EAAYzd,WACNlgB,EAAKmwB,OAAOuC,SACV1yB,EAAKmwB,OAAOuC,QAAQlK,gBAAkBxoB,EAAKmwB,OAAO2C,QAAQtK,eAEtE,IAAIyL,EAAenI,EAAc,MAAO,2BAKxC,OAJAmI,EAAalH,YAAYuQ,GACzBrJ,EAAalH,YAAY2Q,GACzBF,EAAiBzQ,YAAYkH,GAC7BsJ,EAAUxQ,YAAYyQ,GACf,CACHD,UAAWA,EACXI,YAAaA,EACbL,aAAcA,GAGtB,SAASO,KACL7R,EAAUhsB,EAAKw4B,UACfx4B,EAAKw4B,SAASzL,YAAY/sB,EAAK89B,cAC3B99B,EAAKmwB,OAAOlG,aACZjqB,EAAK+9B,aAAe,GACpB/9B,EAAKg+B,cAAgB,IAEzB,IAAK,IAAI1Y,EAAItlB,EAAKmwB,OAAOlG,WAAY3E,KAAM,CACvC,IAAInoB,EAAQkgC,KACZr9B,EAAK+9B,aAAaxnC,KAAK4G,EAAMwgC,aAC7B39B,EAAKg+B,cAAcznC,KAAK4G,EAAMmgC,cAC9Bt9B,EAAKw4B,SAASzL,YAAY5vB,EAAMogC,WAEpCv9B,EAAKw4B,SAASzL,YAAY/sB,EAAKi+B,cAEnC,SAASrE,KA6BL,OA5BA55B,EAAKw4B,SAAW1M,EAAc,MAAO,oBACrC9rB,EAAK+9B,aAAe,GACpB/9B,EAAKg+B,cAAgB,GACrBh+B,EAAK89B,aAAehS,EAAc,OAAQ,wBAC1C9rB,EAAK89B,aAAaV,UAAYp9B,EAAKmwB,OAAOpG,UAC1C/pB,EAAKi+B,aAAenS,EAAc,OAAQ,wBAC1C9rB,EAAKi+B,aAAab,UAAYp9B,EAAKmwB,OAAOpH,UAC1C8U,KACA7nC,OAAOkB,eAAe8I,EAAM,sBAAuB,CAC/CrL,IAAK,WAAc,OAAOqL,EAAKk+B,sBAC/BnpC,IAAK,SAAUq2B,GACPprB,EAAKk+B,uBAAyB9S,IAC9BI,EAAYxrB,EAAK89B,aAAc,qBAAsB1S,GACrDprB,EAAKk+B,qBAAuB9S,MAIxCp1B,OAAOkB,eAAe8I,EAAM,sBAAuB,CAC/CrL,IAAK,WAAc,OAAOqL,EAAKm+B,sBAC/BppC,IAAK,SAAUq2B,GACPprB,EAAKm+B,uBAAyB/S,IAC9BI,EAAYxrB,EAAKi+B,aAAc,qBAAsB7S,GACrDprB,EAAKm+B,qBAAuB/S,MAIxCprB,EAAKo+B,mBAAqBp+B,EAAK+9B,aAAa,GAC5CM,KACOr+B,EAAKw4B,SAEhB,SAAS0B,KACLl6B,EAAKm1B,kBAAkBxJ,UAAUC,IAAI,WACjC5rB,EAAKmwB,OAAOnH,YACZhpB,EAAKm1B,kBAAkBxJ,UAAUC,IAAI,cACzC,IAAIqK,EAAWxD,EAAgBzyB,EAAKmwB,QACpCnwB,EAAK24B,cAAgB7M,EAAc,MAAO,kBAC1C9rB,EAAK24B,cAAcld,UAAY,EAC/B,IAAI6iB,EAAYxS,EAAc,OAAQ,2BAA4B,KAC9DyS,EAAYhS,EAAkB,iBAAkB,CAChD,aAAcvsB,EAAKqwB,KAAKpF,gBAE5BjrB,EAAK02B,YAAc6H,EAAUX,qBAAqB,SAAS,GAC3D,IAAIY,EAAcjS,EAAkB,mBAAoB,CACpD,aAAcvsB,EAAKqwB,KAAKnF,kBAyB5B,GAvBAlrB,EAAK22B,cAAgB6H,EAAYZ,qBAAqB,SAAS,GAC/D59B,EAAK02B,YAAYjb,SAAWzb,EAAK22B,cAAclb,UAAY,EAC3Dzb,EAAK02B,YAAYt/B,MAAQ+zB,EAAInrB,EAAK60B,sBAC5B70B,EAAK60B,sBAAsBhH,WAC3B7tB,EAAKmwB,OAAO5qB,UACR0wB,EAAS7D,MACTqE,EAAcR,EAAS7D,QACjCpyB,EAAK22B,cAAcv/B,MAAQ+zB,EAAInrB,EAAK60B,sBAC9B70B,EAAK60B,sBAAsB/E,aAC3BmG,EAAS/G,SACflvB,EAAK02B,YAAY5J,aAAa,OAAQ9sB,EAAKmwB,OAAOzH,cAActsB,YAChE4D,EAAK22B,cAAc7J,aAAa,OAAQ9sB,EAAKmwB,OAAOvH,gBAAgBxsB,YACpE4D,EAAK02B,YAAY5J,aAAa,MAAO9sB,EAAKmwB,OAAO5qB,UAAY,IAAM,KACnEvF,EAAK02B,YAAY5J,aAAa,MAAO9sB,EAAKmwB,OAAO5qB,UAAY,KAAO,MACpEvF,EAAK02B,YAAY5J,aAAa,YAAa,KAC3C9sB,EAAK22B,cAAc7J,aAAa,MAAO,KACvC9sB,EAAK22B,cAAc7J,aAAa,MAAO,MACvC9sB,EAAK22B,cAAc7J,aAAa,YAAa,KAC7C9sB,EAAK24B,cAAc5L,YAAYwR,GAC/Bv+B,EAAK24B,cAAc5L,YAAYuR,GAC/Bt+B,EAAK24B,cAAc5L,YAAYyR,GAC3Bx+B,EAAKmwB,OAAO5qB,WACZvF,EAAK24B,cAAchN,UAAUC,IAAI,YACjC5rB,EAAKmwB,OAAOvI,cAAe,CAC3B5nB,EAAK24B,cAAchN,UAAUC,IAAI,cACjC,IAAI6S,EAAclS,EAAkB,oBACpCvsB,EAAK42B,cAAgB6H,EAAYb,qBAAqB,SAAS,GAC/D59B,EAAK42B,cAAcx/B,MAAQ+zB,EAAInrB,EAAK60B,sBAC9B70B,EAAK60B,sBAAsBhF,aAC3BoG,EAAS7H,SACfpuB,EAAK42B,cAAc9J,aAAa,OAAQ9sB,EAAK22B,cAAc+H,aAAa,SACxE1+B,EAAK42B,cAAc9J,aAAa,MAAO,KACvC9sB,EAAK42B,cAAc9J,aAAa,MAAO,MACvC9sB,EAAK42B,cAAc9J,aAAa,YAAa,KAC7C9sB,EAAK24B,cAAc5L,YAAYjB,EAAc,OAAQ,2BAA4B,MACjF9rB,EAAK24B,cAAc5L,YAAY0R,GAUnC,OARKz+B,EAAKmwB,OAAO5qB,YACbvF,EAAK8qB,KAAOgB,EAAc,OAAQ,kBAAmB9rB,EAAKqwB,KAAKvF,KAAK,GAAK9qB,EAAK60B,sBACxE70B,EAAK02B,YAAYt/B,MACjB4I,EAAKmwB,OAAO5I,aAAe,MACjCvnB,EAAK8qB,KAAK7uB,MAAQ+D,EAAKqwB,KAAKxF,YAC5B7qB,EAAK8qB,KAAKrP,UAAY,EACtBzb,EAAK24B,cAAc5L,YAAY/sB,EAAK8qB,OAEjC9qB,EAAK24B,cAEhB,SAASqB,KACAh6B,EAAK2+B,iBAGN3S,EAAUhsB,EAAK2+B,kBAFf3+B,EAAK2+B,iBAAmB7S,EAAc,MAAO,sBAGjD,IAAK,IAAIp1B,EAAIsJ,EAAKmwB,OAAOlG,WAAYvzB,KAAM,CACvC,IAAI6mC,EAAYzR,EAAc,MAAO,8BACrC9rB,EAAK2+B,iBAAiB5R,YAAYwQ,GAGtC,OADAqB,KACO5+B,EAAK2+B,iBAEhB,SAASC,KACL,GAAK5+B,EAAK2+B,iBAAV,CAGA,IAAIpU,EAAiBvqB,EAAKqwB,KAAK9F,eAC3BrlB,EAAWkuB,EAAepzB,EAAKqwB,KAAKnrB,SAASC,WAC7ColB,EAAiB,GAAKA,EAAiBrlB,EAASvO,SAChDuO,EAAWkuB,EAAeluB,EAAS25B,OAAOtU,EAAgBrlB,EAASvO,QAASuO,EAAS25B,OAAO,EAAGtU,KAEnG,IAAK,IAAI7zB,EAAIsJ,EAAKmwB,OAAOlG,WAAYvzB,KACjCsJ,EAAK2+B,iBAAiB1/B,SAASvI,GAAG0mC,UAAY,qDAAuDl4B,EAASrI,KAAK,2CAA6C,2BAGxK,SAASi9B,KACL95B,EAAKm1B,kBAAkBxJ,UAAUC,IAAI,YACrC,IAAIiK,EAAc/J,EAAc,MAAO,yBACvC+J,EAAY9I,YAAYjB,EAAc,OAAQ,oBAAqB9rB,EAAKqwB,KAAK1F,mBAC7E,IAAIR,EAAc2B,EAAc,MAAO,mBAEvC,OADA+J,EAAY9I,YAAY5C,GACjB,CACH0L,YAAaA,EACb1L,YAAaA,GAGrB,SAAS8R,GAAY7kC,EAAO0nC,QACP,IAAbA,IAAuBA,GAAW,GACtC,IAAItH,EAAQsH,EAAW1nC,EAAQA,EAAQ4I,EAAKi0B,aACvCuD,EAAQ,IAAkC,IAA7Bx3B,EAAK++B,qBAClBvH,EAAQ,IAAkC,IAA7Bx3B,EAAKg/B,sBAEvBh/B,EAAKi0B,cAAgBuD,GACjBx3B,EAAKi0B,aAAe,GAAKj0B,EAAKi0B,aAAe,MAC7Cj0B,EAAKk0B,aAAel0B,EAAKi0B,aAAe,GAAK,GAAK,EAClDj0B,EAAKi0B,cAAgBj0B,EAAKi0B,aAAe,IAAM,GAC/CgB,GAAa,gBACbkE,MAEJc,KACAhF,GAAa,iBACboJ,MAEJ,SAASY,GAAMC,EAAoBC,GAc/B,QAb2B,IAAvBD,IAAiCA,GAAqB,QACxC,IAAdC,IAAwBA,GAAY,GACxCn/B,EAAKlL,MAAMsC,MAAQ,QACG+I,IAAlBH,EAAK4mB,WACL5mB,EAAK4mB,SAASxvB,MAAQ,SACD+I,IAArBH,EAAKo/B,cACLp/B,EAAKo/B,YAAYhoC,MAAQ,IAC7B4I,EAAK20B,cAAgB,GACrB30B,EAAK60B,2BAAwB10B,GACX,IAAdg/B,IACAn/B,EAAKk0B,YAAcl0B,EAAKq/B,aAAa7W,cACrCxoB,EAAKi0B,aAAej0B,EAAKq/B,aAAazP,aAEX,IAA3B5vB,EAAKmwB,OAAOtI,WAAqB,CACjC,IAAIoI,EAAKwC,EAAgBzyB,EAAKmwB,QAASiC,EAAQnC,EAAGmC,MAAOlD,EAAUe,EAAGf,QAASd,EAAU6B,EAAG7B,QAC5FjG,EAASiK,EAAOlD,EAASd,GAE7BpuB,EAAKo5B,SACD8F,GACAjK,GAAa,YAErB,SAASqK,KACLt/B,EAAKo0B,QAAS,EACTp0B,EAAKuwB,gBACyBpwB,IAA3BH,EAAKm1B,mBACLn1B,EAAKm1B,kBAAkBxJ,UAAUE,OAAO,aAExB1rB,IAAhBH,EAAKq2B,QACLr2B,EAAKq2B,OAAO1K,UAAUE,OAAO,WAGrCoJ,GAAa,WAEjB,SAASsK,UACep/B,IAAhBH,EAAKmwB,QACL8E,GAAa,aACjB,IAAK,IAAIv+B,EAAIsJ,EAAK43B,UAAUjhC,OAAQD,KAChCsJ,EAAK43B,UAAUlhC,GAAGm1B,SAGtB,GADA7rB,EAAK43B,UAAY,GACb53B,EAAKo/B,YACDp/B,EAAKo/B,YAAY9S,YACjBtsB,EAAKo/B,YAAY9S,WAAWH,YAAYnsB,EAAKo/B,aACjDp/B,EAAKo/B,iBAAcj/B,OAElB,GAAIH,EAAKm1B,mBAAqBn1B,EAAKm1B,kBAAkB7I,WACtD,GAAItsB,EAAKmwB,OAAOjG,QAAUlqB,EAAKm1B,kBAAkB7I,WAAY,CACzD,IAAII,EAAU1sB,EAAKm1B,kBAAkB7I,WAErC,GADAI,EAAQ8S,WAAa9S,EAAQP,YAAYO,EAAQ8S,WAC7C9S,EAAQJ,WAAY,CACpB,MAAOI,EAAQR,WACXQ,EAAQJ,WAAWgO,aAAa5N,EAAQR,WAAYQ,GACxDA,EAAQJ,WAAWH,YAAYO,SAInC1sB,EAAKm1B,kBAAkB7I,WAAWH,YAAYnsB,EAAKm1B,mBAEvDn1B,EAAK4mB,WACL5mB,EAAKlL,MAAMwiB,KAAO,OACdtX,EAAK4mB,SAAS0F,YACdtsB,EAAK4mB,SAAS0F,WAAWH,YAAYnsB,EAAK4mB,iBACvC5mB,EAAK4mB,UAEZ5mB,EAAKlL,QACLkL,EAAKlL,MAAMwiB,KAAOtX,EAAKlL,MAAM2qC,MAC7Bz/B,EAAKlL,MAAM62B,UAAUE,OAAO,mBAC5B7rB,EAAKlL,MAAM4qC,gBAAgB,aAE/B,CACI,iBACA,wBACA,sBACA,sBACA,uBACA,uBACA,WACA,SACA,mBACA,iBACA,iBACA,OACA,gBACA,SACA,mBACA,iBACA,aACA,WACA,gBACA,oBACA,mBACA,eACA,eACA,0BACA,sBACA,qBACA,yBACA,mBACA,UACF7oC,SAAQ,SAAUyS,GAChB,WACWtJ,EAAKsJ,GAEhB,MAAOilB,QAGf,SAASoR,GAAelU,GACpB,OAAOzrB,EAAKm1B,kBAAkBmE,SAAS7N,GAE3C,SAAS6M,GAAcvoB,GACnB,GAAI/P,EAAKo0B,SAAWp0B,EAAKmwB,OAAOtxB,OAAQ,CACpC,IAAI+gC,EAAgB5S,EAAejd,GAC/B8vB,EAAoBF,GAAeC,GACnCE,EAAUF,IAAkB5/B,EAAKlL,OACjC8qC,IAAkB5/B,EAAK4mB,UACvB5mB,EAAK0zB,QAAQ4F,SAASsG,IACrB7vB,EAAEmd,MACCnd,EAAEmd,KAAK5R,WACLvL,EAAEmd,KAAK5R,QAAQtb,EAAKlL,SACjBib,EAAEmd,KAAK5R,QAAQtb,EAAK4mB,WAC7BmZ,GAAaD,IACZD,IACAF,GAAe5vB,EAAEiwB,eAClBC,GAAajgC,EAAKmwB,OAAOxH,qBAAqB5X,MAAK,SAAU0a,GAC7D,OAAOA,EAAK6N,SAASsG,MAErBG,GAAaE,IACTjgC,EAAKmwB,OAAO1J,YACZzmB,EAAKooB,QAAQpoB,EAAKq2B,OAAOj/B,OAAO,EAAO4I,EAAKmwB,OAAOvJ,SAC7C5mB,EAAKmwB,OAAOxJ,UACZ3mB,EAAKmwB,OAAO7I,iBAEKnnB,IAAvBH,EAAK24B,oBACkBx4B,IAAvBH,EAAK22B,oBACgBx2B,IAArBH,EAAK02B,aACgB,KAArB12B,EAAKlL,MAAMsC,YACU+I,IAArBH,EAAKlL,MAAMsC,OACX2+B,IAEJ/1B,EAAKs/B,QACDt/B,EAAKmwB,QACgB,UAArBnwB,EAAKmwB,OAAOtH,MACkB,IAA9B7oB,EAAK20B,cAAch+B,QACnBqJ,EAAKi/B,OAAM,KAI3B,SAASxH,GAAWyI,GAChB,MAAKA,GACAlgC,EAAKmwB,OAAOuC,SAAWwN,EAAUlgC,EAAKmwB,OAAOuC,QAAQlK,eACrDxoB,EAAKmwB,OAAO2C,SAAWoN,EAAUlgC,EAAKmwB,OAAO2C,QAAQtK,eAF1D,CAIA,IAAI2X,EAAaD,EAASE,EAAYpgC,EAAKk0B,cAAgBiM,EAC3DngC,EAAKk0B,YAAciM,GAAcngC,EAAKk0B,YAClCl0B,EAAKmwB,OAAO2C,SACZ9yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAO2C,QAAQtK,cACzCxoB,EAAKi0B,aAAe/Q,KAAKzC,IAAIzgB,EAAKmwB,OAAO2C,QAAQlD,WAAY5vB,EAAKi0B,cAE7Dj0B,EAAKmwB,OAAOuC,SACjB1yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAOuC,QAAQlK,gBACzCxoB,EAAKi0B,aAAe/Q,KAAK1C,IAAIxgB,EAAKmwB,OAAOuC,QAAQ9C,WAAY5vB,EAAKi0B,eAElEmM,IACApgC,EAAKo5B,SACLnE,GAAa,gBACbkE,OAGR,SAASyB,GAAUh9B,EAAMizB,GACrB,IAAIZ,OACa,IAAbY,IAAuBA,GAAW,GACtC,IAAIwP,EAAcrgC,EAAKkxB,UAAUtzB,OAAMuC,EAAW0wB,GAClD,GAAK7wB,EAAKmwB,OAAOuC,SACb2N,GACAzO,EAAayO,EAAargC,EAAKmwB,OAAOuC,aAAsBvyB,IAAb0wB,EAAyBA,GAAY7wB,EAAK+2B,gBAAkB,GAC1G/2B,EAAKmwB,OAAO2C,SACTuN,GACAzO,EAAayO,EAAargC,EAAKmwB,OAAO2C,aAAsB3yB,IAAb0wB,EAAyBA,GAAY7wB,EAAKk3B,gBAAkB,EAC/G,OAAO,EACX,IAAKl3B,EAAKmwB,OAAOmQ,QAAyC,IAA/BtgC,EAAKmwB,OAAOzI,QAAQ/wB,OAC3C,OAAO,EACX,QAAoBwJ,IAAhBkgC,EACA,OAAO,EAEX,IADA,IAAIjV,IAASprB,EAAKmwB,OAAOmQ,OAAQp2B,EAAsC,QAA7B+lB,EAAKjwB,EAAKmwB,OAAOmQ,cAA2B,IAAPrQ,EAAgBA,EAAKjwB,EAAKmwB,OAAOzI,QACvGhxB,EAAI,EAAGu4B,OAAI,EAAQv4B,EAAIwT,EAAMvT,OAAQD,IAAK,CAE/C,GADAu4B,EAAI/kB,EAAMxT,GACO,oBAANu4B,GACPA,EAAEoR,GACF,OAAOjV,EACN,GAAI6D,aAAaxxB,WACF0C,IAAhBkgC,GACApR,EAAE/G,YAAcmY,EAAYnY,UAC5B,OAAOkD,EACN,GAAiB,kBAAN6D,EAAgB,CAC5B,IAAIsR,EAASvgC,EAAKkxB,UAAUjC,OAAG9uB,GAAW,GAC1C,OAAOogC,GAAUA,EAAOrY,YAAcmY,EAAYnY,UAC5CkD,GACCA,EAEN,GAAiB,kBAAN6D,QACI9uB,IAAhBkgC,GACApR,EAAEnkB,MACFmkB,EAAEuR,IACFH,EAAYnY,WAAa+G,EAAEnkB,KAAKod,WAChCmY,EAAYnY,WAAa+G,EAAEuR,GAAGtY,UAC9B,OAAOkD,EAEf,OAAQA,EAEZ,SAASiR,GAAS5Q,GACd,YAA2BtrB,IAAvBH,EAAKy1B,iBACyC,IAAtChK,EAAKC,UAAUpQ,QAAQ,YACuB,IAAlDmQ,EAAKC,UAAUpQ,QAAQ,uBACvBtb,EAAKy1B,cAAc6D,SAAS7N,IAGxC,SAASzL,GAAOjQ,GACZ,IAAI+vB,EAAU/vB,EAAEtZ,SAAWuJ,EAAKq2B,OAC5BoK,EAAezgC,EAAKq2B,OAAOj/B,MAAMspC,YAAcC,MAC/Cb,IACAW,GACE1wB,EAAEiwB,eAAiBL,GAAe5vB,EAAEiwB,gBACtChgC,EAAKooB,QAAQpoB,EAAKq2B,OAAOj/B,OAAO,EAAM2Y,EAAEtZ,SAAWuJ,EAAK4mB,SAClD5mB,EAAKmwB,OAAOxJ,UACZ3mB,EAAKmwB,OAAO7I,YAG1B,SAAS+B,GAAUtZ,GACf,IAAIwnB,EAAcvK,EAAejd,GAC7B+vB,EAAU9/B,EAAKmwB,OAAO/F,KACpBsJ,EAAQ4F,SAAS/B,GACjBA,IAAgBv3B,EAAKq2B,OACvB5P,EAAazmB,EAAKmwB,OAAO1J,WACzBma,EAAe5gC,EAAKo0B,UAAY3N,IAAeqZ,GAC/Ce,EAAqB7gC,EAAKmwB,OAAOtxB,QAAUihC,IAAYrZ,EAC3D,GAAkB,KAAd1W,EAAEyL,SAAkBskB,EAAS,CAC7B,GAAIrZ,EAKA,OAJAzmB,EAAKooB,QAAQpoB,EAAKq2B,OAAOj/B,OAAO,EAAMmgC,IAAgBv3B,EAAK4mB,SACrD5mB,EAAKmwB,OAAOxJ,UACZ3mB,EAAKmwB,OAAO7I,YAClBtnB,EAAKs/B,QACE/H,EAAYpX,OAGnBngB,EAAKu4B,YAGR,GAAIoH,GAAepI,IACpBqJ,GACAC,EAAoB,CACpB,IAAIC,IAAc9gC,EAAK24B,eACnB34B,EAAK24B,cAAcW,SAAS/B,GAChC,OAAQxnB,EAAEyL,SACN,KAAK,GACGslB,GACA/wB,EAAEgxB,iBACFhL,IACAiL,MAGAtI,GAAW3oB,GACf,MACJ,KAAK,GACDA,EAAEgxB,iBACFC,KACA,MACJ,KAAK,EACL,KAAK,GACGlB,IAAY9/B,EAAKmwB,OAAO1J,aACxB1W,EAAEgxB,iBACF/gC,EAAKi/B,SAET,MACJ,KAAK,GACL,KAAK,GACD,GAAK6B,GAAchB,EAgBV9/B,EAAK02B,aACV12B,EAAK02B,YAAYzW,YAjBO,CACxBlQ,EAAEgxB,iBACF,IAAI1L,EAAgBH,IACpB,QAA2B/0B,IAAvBH,EAAKy1B,iBACW,IAAfhP,GACI4O,GAAiBgH,GAAShH,IAAkB,CACjD,IAAI4L,EAAwB,KAAdlxB,EAAEyL,QAAiB,GAAK,EACjCzL,EAAEqC,SAGHrC,EAAEmxB,kBACFjF,GAAYgF,GACZ/E,EAAWZ,EAAqB,GAAI,IAJpCY,OAAW/7B,EAAW8gC,IAUlC,MACJ,KAAK,GACL,KAAK,GACDlxB,EAAEgxB,iBACF,IAAIvJ,EAAsB,KAAdznB,EAAEyL,QAAiB,GAAK,EAC/Bxb,EAAKy1B,oBACat1B,IAAnBo3B,EAAYuD,IACZvD,IAAgBv3B,EAAKlL,OACrByiC,IAAgBv3B,EAAK4mB,SACjB7W,EAAEqC,SACFrC,EAAEmxB,kBACFzJ,GAAWz3B,EAAKk0B,YAAcsD,GAC9B0E,EAAWZ,EAAqB,GAAI,IAE9BwF,GACN5E,OAAW/7B,EAAmB,EAARq3B,GAErBD,IAAgBv3B,EAAKo+B,mBAC1B3G,GAAWz3B,EAAKk0B,YAAcsD,GAEzBx3B,EAAKmwB,OAAOtI,cACZiZ,GAAa9gC,EAAK02B,aACnB12B,EAAK02B,YAAYzW,QACrB8V,EAAWhmB,GACX/P,EAAKu2B,oBAET,MACJ,KAAK,EACD,GAAIuK,EAAW,CACX,IAAIK,EAAQ,CACRnhC,EAAK02B,YACL12B,EAAK22B,cACL32B,EAAK42B,cACL52B,EAAK8qB,MAEJpyB,OAAOsH,EAAKohC,gBACZjrC,QAAO,SAAUkrC,GAAK,OAAOA,KAC9B3qC,EAAIyqC,EAAM7lB,QAAQic,GACtB,IAAW,IAAP7gC,EAAU,CACV,IAAID,EAAS0qC,EAAMzqC,GAAKqZ,EAAEoC,UAAY,EAAI,IAC1CpC,EAAEgxB,kBACDtqC,GAAUuJ,EAAKq2B,QAAQpW,cAGtBjgB,EAAKmwB,OAAOnH,YAClBhpB,EAAKy1B,eACLz1B,EAAKy1B,cAAc6D,SAAS/B,IAC5BxnB,EAAEoC,WACFpC,EAAEgxB,iBACF/gC,EAAKq2B,OAAOpW,SAEhB,MACJ,QACI,OAGZ,QAAkB9f,IAAdH,EAAK8qB,MAAsByM,IAAgBv3B,EAAK8qB,KAChD,OAAQ/a,EAAEjZ,KACN,KAAKkJ,EAAKqwB,KAAKvF,KAAK,GAAGpuB,OAAO,GAC9B,KAAKsD,EAAKqwB,KAAKvF,KAAK,GAAGpuB,OAAO,GAAG0f,cAC7Bpc,EAAK8qB,KAAKiB,YAAc/rB,EAAKqwB,KAAKvF,KAAK,GACvCwL,IACA/W,KACA,MACJ,KAAKvf,EAAKqwB,KAAKvF,KAAK,GAAGpuB,OAAO,GAC9B,KAAKsD,EAAKqwB,KAAKvF,KAAK,GAAGpuB,OAAO,GAAG0f,cAC7Bpc,EAAK8qB,KAAKiB,YAAc/rB,EAAKqwB,KAAKvF,KAAK,GACvCwL,IACA/W,KACA,OAGRugB,GAAWH,GAAepI,KAC1BtC,GAAa,YAAallB,GAGlC,SAASqoB,GAAY3M,EAAM6V,GAEvB,QADkB,IAAdA,IAAwBA,EAAY,iBACN,IAA9BthC,EAAK20B,cAAch+B,UAClB80B,GACKA,EAAKE,UAAU2N,SAASgI,KACtB7V,EAAKE,UAAU2N,SAAS,uBAHpC,CAUA,IALA,IAAIiI,EAAY9V,EACVA,EAAKgC,QAAQvF,UACbloB,EAAK21B,KAAK6L,kBAAkB/T,QAAQvF,UAAWuZ,EAAczhC,EAAKkxB,UAAUlxB,EAAK20B,cAAc,QAAIx0B,GAAW,GAAM+nB,UAAWwZ,EAAiBxe,KAAKzC,IAAI8gB,EAAWvhC,EAAK20B,cAAc,GAAGzM,WAAYyZ,EAAeze,KAAK1C,IAAI+gB,EAAWvhC,EAAK20B,cAAc,GAAGzM,WACjQ0Z,GAAmB,EACnBC,EAAW,EAAGC,EAAW,EACpBxW,EAAIoW,EAAgBpW,EAAIqW,EAAcrW,GAAKiH,EAASC,IACpDoI,GAAU,IAAIn9B,KAAK6tB,IAAI,KACxBsW,EACIA,GAAqBtW,EAAIoW,GAAkBpW,EAAIqW,EAC/CrW,EAAImW,KAAiBI,GAAYvW,EAAIuW,GACrCA,EAAWvW,EACNA,EAAImW,KAAiBK,GAAYxW,EAAIwW,KAC1CA,EAAWxW,IAGvB,IAAIyW,EAAiBl3B,MAAMC,KAAK9K,EAAK+5B,WAAW/B,iBAAiB,kBAAoBh4B,EAAKmwB,OAAOlG,WAAa,QAAUqX,IACxHS,EAAelrC,SAAQ,SAAUmrC,GAC7B,IAAIpkC,EAAOokC,EAAQvU,QACfwU,EAAYrkC,EAAKsqB,UACjBga,EAAcL,EAAW,GAAKI,EAAYJ,GACzCC,EAAW,GAAKG,EAAYH,EACjC,GAAII,EAKA,OAJAF,EAAQrW,UAAUC,IAAI,kBACtB,CAAC,UAAW,aAAc,YAAY/0B,SAAQ,SAAU65B,GACpDsR,EAAQrW,UAAUE,OAAO6E,MAIxBkR,IAAqBM,IAE9B,CAAC,aAAc,UAAW,WAAY,cAAcrrC,SAAQ,SAAU65B,GAClEsR,EAAQrW,UAAUE,OAAO6E,WAEhBvwB,IAATsrB,IACAA,EAAKE,UAAUC,IAAI2V,GAAavhC,EAAK20B,cAAc,GAAGzM,UAChD,aACA,YACFuZ,EAAcF,GAAaU,IAAcR,EACzCO,EAAQrW,UAAUC,IAAI,cACjB6V,EAAcF,GAAaU,IAAcR,GAC9CO,EAAQrW,UAAUC,IAAI,YACtBqW,GAAaJ,IACC,IAAbC,GAAkBG,GAAaH,IAChC/P,EAAUkQ,EAAWR,EAAaF,IAClCS,EAAQrW,UAAUC,IAAI,iBAItC,SAASuM,MACDn4B,EAAKo0B,QAAWp0B,EAAKmwB,OAAOjG,QAAWlqB,EAAKmwB,OAAOtxB,QACnDm2B,KAER,SAASuD,GAAKxoB,EAAG+Z,GAEb,QADwB,IAApBA,IAA8BA,EAAkB9pB,EAAKmiC,mBACnC,IAAlBniC,EAAKuwB,SAAmB,CACxB,GAAIxgB,EAAG,CACHA,EAAEgxB,iBACF,IAAIxJ,EAAcvK,EAAejd,GAC7BwnB,GACAA,EAAYpX,OAQpB,YALyBhgB,IAArBH,EAAKo/B,cACLp/B,EAAKo/B,YAAYnf,QACjBjgB,EAAKo/B,YAAY3iB,cAErBwY,GAAa,UAGZ,IAAIj1B,EAAKq2B,OAAOnW,WAAYlgB,EAAKmwB,OAAOtxB,OAAxC,CAGL,IAAIujC,EAAUpiC,EAAKo0B,OACnBp0B,EAAKo0B,QAAS,EACTgO,IACDpiC,EAAKm1B,kBAAkBxJ,UAAUC,IAAI,QACrC5rB,EAAKq2B,OAAO1K,UAAUC,IAAI,UAC1BqJ,GAAa,UACbD,GAAiBlL,KAEU,IAA3B9pB,EAAKmwB,OAAOtI,aAAkD,IAA3B7nB,EAAKmwB,OAAOnH,cAChB,IAA3BhpB,EAAKmwB,OAAO1J,iBACLtmB,IAAN4P,GACI/P,EAAK24B,cAAcW,SAASvpB,EAAEiwB,gBACnC1yB,YAAW,WAAc,OAAOtN,EAAK02B,YAAYthC,WAAa,MAI1E,SAASitC,GAAiB/qB,GACtB,OAAO,SAAU1Z,GACb,IAAI6vB,EAAWztB,EAAKmwB,OAAO,IAAM7Y,EAAO,QAAUtX,EAAKkxB,UAAUtzB,EAAMoC,EAAKmwB,OAAO7I,YAC/Egb,EAAiBtiC,EAAKmwB,OAAO,KAAgB,QAAT7Y,EAAiB,MAAQ,OAAS,aAC1DnX,IAAZstB,IACAztB,EAAc,QAATsX,EAAiB,iBAAmB,kBACrCmW,EAAQI,WAAa,GACjBJ,EAAQqC,aAAe,GACvBrC,EAAQoC,aAAe,GAE/B7vB,EAAK20B,gBACL30B,EAAK20B,cAAgB30B,EAAK20B,cAAcx+B,QAAO,SAAU84B,GAAK,OAAO2L,GAAU3L,MAC1EjvB,EAAK20B,cAAch+B,QAAmB,QAAT2gB,GAC9Bsd,EAAiBnH,GACrBlO,MAEAvf,EAAKy1B,gBACL2D,UACgBj5B,IAAZstB,EACAztB,EAAKo+B,mBAAmB9mB,GAAQmW,EAAQjF,cAAcpsB,WAEtD4D,EAAKo+B,mBAAmBsB,gBAAgBpoB,GAC5CtX,EAAKo+B,mBAAmBle,WAClBoiB,QACcniC,IAAZstB,GACA6U,EAAe9Z,gBAAkBiF,EAAQjF,gBAI7D,SAAS6L,KACL,IAAIkO,EAAW,CACX,OACA,cACA,aACA,sBACA,aACA,YACA,aACA,aACA,WACA,wBACA,SACA,SACA,gBACA,iBAEAC,EAAavP,EAASA,EAAS,GAAIwP,KAAKC,MAAMD,KAAKE,UAAUjP,EAAQkP,SAAW,MAAOjP,GACvFkP,EAAU,GACd7iC,EAAKmwB,OAAOe,UAAYsR,EAAWtR,UACnClxB,EAAKmwB,OAAOlzB,WAAaulC,EAAWvlC,WACpCjH,OAAOkB,eAAe8I,EAAKmwB,OAAQ,SAAU,CACzCx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAO2S,SACtC/tC,IAAK,SAAUguC,GACX/iC,EAAKmwB,OAAO2S,QAAUE,GAAeD,MAG7C/sC,OAAOkB,eAAe8I,EAAKmwB,OAAQ,UAAW,CAC1Cx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAO3J,UACtCzxB,IAAK,SAAUguC,GACX/iC,EAAKmwB,OAAO3J,SAAWwc,GAAeD,MAG9C,IAAIE,EAA+B,SAApBT,EAAW3Z,KAC1B,IAAK2Z,EAAWlb,aAAekb,EAAW3a,YAAcob,GAAW,CAC/D,IAAIC,EAAoBn+B,EAAU6uB,cAActM,YAAc,EAAeA,WAC7Eub,EAAQvb,WACJkb,EAAWxZ,YAAcia,EACnB,OAAST,EAAW5a,cAAgB,KAAO,IAC3Csb,EAAoB,QAAUV,EAAW5a,cAAgB,KAAO,IAE9E,GAAI4a,EAAW5b,WACV4b,EAAW3a,YAAcob,KACzBT,EAAW7b,UAAW,CACvB,IAAIwc,EAAmBp+B,EAAU6uB,cAAcjN,WAAa,EAAeA,UAC3Ekc,EAAQlc,UACJ6b,EAAWxZ,YAAcia,EACnB,OAAST,EAAW5a,cAAgB,OAAS,MAC7Cub,EAAoB,QAAUX,EAAW5a,cAAgB,KAAO,IAAM,KAEpF5xB,OAAOkB,eAAe8I,EAAKmwB,OAAQ,UAAW,CAC1Cx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAOiT,UACtCruC,IAAKstC,GAAiB,SAE1BrsC,OAAOkB,eAAe8I,EAAKmwB,OAAQ,UAAW,CAC1Cx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAOkT,UACtCtuC,IAAKstC,GAAiB,SAE1B,IAAIiB,EAAmB,SAAUhsB,GAAQ,OAAO,SAAUtiB,GACtDgL,EAAKmwB,OAAgB,QAAT7Y,EAAiB,WAAa,YAActX,EAAKkxB,UAAUl8B,EAAK,WAEhFgB,OAAOkB,eAAe8I,EAAKmwB,OAAQ,UAAW,CAC1Cx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAOoT,UACtCxuC,IAAKuuC,EAAiB,SAE1BttC,OAAOkB,eAAe8I,EAAKmwB,OAAQ,UAAW,CAC1Cx7B,IAAK,WAAc,OAAOqL,EAAKmwB,OAAOqT,UACtCzuC,IAAKuuC,EAAiB,SAEF,SAApBd,EAAW3Z,OACX7oB,EAAKmwB,OAAOnH,YAAa,EACzBhpB,EAAKmwB,OAAOtI,YAAa,GAE7B7xB,OAAOk9B,OAAOlzB,EAAKmwB,OAAQ0S,EAASL,GACpC,IAAK,IAAI9rC,EAAI,EAAGA,EAAI6rC,EAAS5rC,OAAQD,IACjCsJ,EAAKmwB,OAAOoS,EAAS7rC,KACY,IAA7BsJ,EAAKmwB,OAAOoS,EAAS7rC,KACY,SAA7BsJ,EAAKmwB,OAAOoS,EAAS7rC,IACjC6vB,EAAMpwB,QAAO,SAAUstC,GAAQ,YAA6BtjC,IAAtBH,EAAKmwB,OAAOsT,MAAwB5sC,SAAQ,SAAU4sC,GACxFzjC,EAAKmwB,OAAOsT,GAAQlY,EAASvrB,EAAKmwB,OAAOsT,IAAS,IAAIzmC,IAAIs4B,MAE9Dt1B,EAAKuwB,UACAvwB,EAAKmwB,OAAOxI,gBACR3nB,EAAKmwB,OAAOtxB,QACQ,WAArBmB,EAAKmwB,OAAOtH,OACX7oB,EAAKmwB,OAAOzI,QAAQ/wB,SACpBqJ,EAAKmwB,OAAOmQ,SACZtgC,EAAKmwB,OAAOhG,aACb,iEAAiEpf,KAAKgc,UAAUC,WACxF,IAAStwB,EAAI,EAAGA,EAAIsJ,EAAKmwB,OAAOtG,QAAQlzB,OAAQD,IAAK,CACjD,IAAIgtC,EAAa1jC,EAAKmwB,OAAOtG,QAAQnzB,GAAGsJ,IAAS,GACjD,IAAK,IAAIlJ,KAAO4sC,EACRnd,EAAMjL,QAAQxkB,IAAQ,EACtBkJ,EAAKmwB,OAAOr5B,GAAOy0B,EAASmY,EAAW5sC,IAClCkG,IAAIs4B,GACJ58B,OAAOsH,EAAKmwB,OAAOr5B,IAEQ,qBAApB0rC,EAAW1rC,KACvBkJ,EAAKmwB,OAAOr5B,GAAO4sC,EAAW5sC,IAGrC0rC,EAAW3b,gBACZ7mB,EAAKmwB,OAAOtJ,cACR8c,KAAejY,UAAY,IAAM1rB,EAAKmwB,OAAOtJ,eAErDoO,GAAa,iBAEjB,SAAS0O,KACL,OAAO3jC,EAAKmwB,OAAO/F,KACbsJ,EAAQkQ,cAAc,gBACtBlQ,EAEV,SAASY,KAC6B,kBAAvBt0B,EAAKmwB,OAAOxd,QAC4B,qBAAxC5N,EAAUC,MAAMhF,EAAKmwB,OAAOxd,SACnC3S,EAAKmwB,OAAOrI,aAAa,IAAI6J,MAAM,6BAA+B3xB,EAAKmwB,OAAOxd,SAClF3S,EAAKqwB,KAAO4C,EAASA,EAAS,GAAIluB,EAAUC,MAAM1L,SAAyC,kBAAvB0G,EAAKmwB,OAAOxd,OAC1E3S,EAAKmwB,OAAOxd,OACW,YAAvB3S,EAAKmwB,OAAOxd,OACR5N,EAAUC,MAAMhF,EAAKmwB,OAAOxd,aAC5BxS,GACVsvB,EAAWlC,EAAI,IAAMvtB,EAAKqwB,KAAKnrB,SAASC,UAAUtI,KAAK,KAAO,IAC9D4yB,EAAWL,EAAI,IAAMpvB,EAAKqwB,KAAKnrB,SAASE,SAASvI,KAAK,KAAO,IAC7D4yB,EAAWvB,EAAI,IAAMluB,EAAKqwB,KAAKhrB,OAAOF,UAAUtI,KAAK,KAAO,IAC5D4yB,EAAWjC,EAAI,IAAMxtB,EAAKqwB,KAAKhrB,OAAOD,SAASvI,KAAK,KAAO,IAC3D4yB,EAAWxB,EAAI,IAAMjuB,EAAKqwB,KAAKvF,KAAK,GAAK,IAAM9qB,EAAKqwB,KAAKvF,KAAK,GAAK,IAAM9qB,EAAKqwB,KAAKvF,KAAK,GAAG1O,cAAgB,IAAMpc,EAAKqwB,KAAKvF,KAAK,GAAG1O,cAAgB,IACnJ,IAAIomB,EAAavP,EAASA,EAAS,GAAIU,GAAiB8O,KAAKC,MAAMD,KAAKE,UAAUjP,EAAQkP,SAAW,WACxEziC,IAAzBqiC,EAAWj9B,gBAC2BpF,IAAtC4E,EAAU6uB,cAAcruB,YACxBvF,EAAKmwB,OAAO5qB,UAAYvF,EAAKqwB,KAAK9qB,WAEtCvF,EAAK/C,WAAa+yB,EAAoBhwB,GACtCA,EAAKkxB,UAAYP,EAAiB,CAAER,OAAQnwB,EAAKmwB,OAAQE,KAAMrwB,EAAKqwB,OAExE,SAAS2E,GAAiB6O,GACtB,GAAoC,oBAAzB7jC,EAAKmwB,OAAOtL,UAGvB,QAA+B1kB,IAA3BH,EAAKm1B,kBAAT,CAEAF,GAAa,yBACb,IAAInL,EAAkB+Z,GAAyB7jC,EAAKmiC,iBAChD2B,EAAiBj5B,MAAM7E,UAAU6D,OAAO1D,KAAKnG,EAAKm1B,kBAAkBl2B,UAAU,SAAW8kC,EAAKC,GAAS,OAAOD,EAAMC,EAAMC,eAAkB,GAAIC,EAAgBlkC,EAAKm1B,kBAAkBS,YAAauO,EAAYnkC,EAAKmwB,OAAOtL,SAASvoB,MAAM,KAAM8nC,EAAoBD,EAAU,GAAIE,EAAsBF,EAAUxtC,OAAS,EAAIwtC,EAAU,GAAK,KAAMG,EAAcxa,EAAgBya,wBAAyBC,EAAqB1/B,OAAO2/B,YAAcH,EAAY3jC,OAAQ+jC,EAAkC,UAAtBN,GAC/b,UAAtBA,GACGI,EAAqBV,GACrBQ,EAAYxjC,IAAMgjC,EACtBhjC,EAAMgE,OAAO6/B,YACbL,EAAYxjC,KACV4jC,GAAgDZ,EAAiB,EAArDha,EAAgBma,aAAe,GAGjD,GAFAzY,EAAYxrB,EAAKm1B,kBAAmB,YAAauP,GACjDlZ,EAAYxrB,EAAKm1B,kBAAmB,cAAeuP,IAC/C1kC,EAAKmwB,OAAOtxB,OAAhB,CAEA,IAAIyC,EAAOwD,OAAO8/B,YAAcN,EAAYhjC,KACxCujC,GAAW,EACXC,GAAU,EACc,WAAxBT,GACA/iC,IAAS4iC,EAAgBI,EAAYpjC,OAAS,EAC9C2jC,GAAW,GAEkB,UAAxBR,IACL/iC,GAAQ4iC,EAAgBI,EAAYpjC,MACpC4jC,GAAU,GAEdtZ,EAAYxrB,EAAKm1B,kBAAmB,aAAc0P,IAAaC,GAC/DtZ,EAAYxrB,EAAKm1B,kBAAmB,cAAe0P,GACnDrZ,EAAYxrB,EAAKm1B,kBAAmB,aAAc2P,GAClD,IAAIzjC,EAAQyD,OAAO6B,SAAS6zB,KAAK5E,aAC5B9wB,OAAO8/B,YAAcN,EAAYjjC,OAClC0jC,EAAYzjC,EAAO4iC,EAAgBp/B,OAAO6B,SAAS6zB,KAAK5E,YACxDoP,EAAa3jC,EAAQ6iC,EAAgBp/B,OAAO6B,SAAS6zB,KAAK5E,YAE9D,GADApK,EAAYxrB,EAAKm1B,kBAAmB,YAAa4P,IAC7C/kC,EAAKmwB,OAAOjG,OAGhB,GADAlqB,EAAKm1B,kBAAkBtuB,MAAM/F,IAAMA,EAAM,KACpCikC,EAIA,GAAKC,EAIL,CACD,IAAIC,EAAMC,KACV,QAAY/kC,IAAR8kC,EACA,OACJ,IAAIE,EAAYrgC,OAAO6B,SAAS6zB,KAAK5E,YACjCwP,EAAaliB,KAAK1C,IAAI,EAAG2kB,EAAY,EAAIjB,EAAgB,GACzDmB,EAAe,wCACfC,EAAc,uCACdC,EAAcN,EAAIO,SAAS7uC,OAC3B8uC,EAAc,SAAWnB,EAAYhjC,KAAO,kBAChDkqB,EAAYxrB,EAAKm1B,kBAAmB,aAAa,GACjD3J,EAAYxrB,EAAKm1B,kBAAmB,cAAc,GAClD8P,EAAIS,WAAWL,EAAe,IAAMC,EAAcG,EAAaF,GAC/DvlC,EAAKm1B,kBAAkBtuB,MAAMvF,KAAO8jC,EAAa,KACjDplC,EAAKm1B,kBAAkBtuB,MAAMxF,MAAQ,YAjBrCrB,EAAKm1B,kBAAkBtuB,MAAMvF,KAAO,OACpCtB,EAAKm1B,kBAAkBtuB,MAAMxF,MAAQA,EAAQ,UAL7CrB,EAAKm1B,kBAAkBtuB,MAAMvF,KAAOA,EAAO,KAC3CtB,EAAKm1B,kBAAkBtuB,MAAMxF,MAAQ,cAzCzBrB,EAAKmwB,OAAOtL,SAAS7kB,EAAM6jC,GAgE/C,SAASqB,KAEL,IADA,IAAIS,EAAgB,KACXjvC,EAAI,EAAGA,EAAIiQ,SAASi/B,YAAYjvC,OAAQD,IAAK,CAClD,IAAImvC,EAAQl/B,SAASi/B,YAAYlvC,GACjC,GAAKmvC,EAAML,SAAX,CAEA,IACIK,EAAML,SAEV,MAAOtlC,GACH,SAEJylC,EAAgBE,EAChB,OAEJ,OAAwB,MAAjBF,EAAwBA,EAAgBG,KAEnD,SAASA,KACL,IAAIj/B,EAAQF,SAASmlB,cAAc,SAEnC,OADAnlB,SAASo/B,KAAKhZ,YAAYlmB,GACnBA,EAAMg/B,MAEjB,SAASzM,KACDp5B,EAAKmwB,OAAOnH,YAAchpB,EAAKuwB,WAEnC4I,KACAkF,KACApE,MAEJ,SAAS+G,KACLhhC,EAAKq2B,OAAOpW,SACwC,IAAhDnb,OAAOiiB,UAAUC,UAAU1L,QAAQ,cACJnb,IAA/B4mB,UAAUif,iBACV14B,WAAWtN,EAAKs/B,MAAO,GAGvBt/B,EAAKs/B,QAGb,SAAS5G,GAAW3oB,GAChBA,EAAEgxB,iBACFhxB,EAAEmxB,kBACF,IAAIvwB,EAAe,SAAUvT,GACzB,OAAOA,EAAIuuB,WACPvuB,EAAIuuB,UAAU2N,SAAS,mBACtBl8B,EAAIuuB,UAAU2N,SAAS,wBACvBl8B,EAAIuuB,UAAU2N,SAAS,eAE5BhO,EAAIc,EAAWY,EAAejd,GAAIY,GACtC,QAAUxQ,IAANmrB,EAAJ,CAEA,IAAI70B,EAAS60B,EACT2a,EAAgBjmC,EAAK60B,sBAAwB,IAAIp3B,KAAKhH,EAAOg3B,QAAQvF,WACrEge,GAAqBD,EAAarW,WAAa5vB,EAAKi0B,cACpDgS,EAAarW,WACT5vB,EAAKi0B,aAAej0B,EAAKmwB,OAAOlG,WAAa,IAC5B,UAArBjqB,EAAKmwB,OAAOtH,KAEhB,GADA7oB,EAAKi7B,iBAAmBxkC,EACC,WAArBuJ,EAAKmwB,OAAOtH,KACZ7oB,EAAK20B,cAAgB,CAACsR,QACrB,GAAyB,aAArBjmC,EAAKmwB,OAAOtH,KAAqB,CACtC,IAAIsd,EAAgBnL,GAAeiL,GAC/BE,EACAnmC,EAAK20B,cAAckK,OAAOjQ,SAASuX,GAAgB,GAEnDnmC,EAAK20B,cAAcp+B,KAAK0vC,OAEF,UAArBjmC,EAAKmwB,OAAOtH,OACiB,IAA9B7oB,EAAK20B,cAAch+B,QACnBqJ,EAAKi/B,OAAM,GAAO,GAEtBj/B,EAAK60B,sBAAwBoR,EAC7BjmC,EAAK20B,cAAcp+B,KAAK0vC,GACwC,IAA5DrU,EAAaqU,EAAcjmC,EAAK20B,cAAc,IAAI,IAClD30B,EAAK20B,cAActrB,MAAK,SAAUiJ,EAAGC,GAAK,OAAOD,EAAE4V,UAAY3V,EAAE2V,cAGzE,GADAoO,IACI4P,EAAmB,CACnB,IAAI9F,EAAYpgC,EAAKk0B,cAAgB+R,EAAazd,cAClDxoB,EAAKk0B,YAAc+R,EAAazd,cAChCxoB,EAAKi0B,aAAegS,EAAarW,WAC7BwQ,IACAnL,GAAa,gBACbkE,MAEJlE,GAAa,iBAejB,GAbAoJ,KACApE,KACA1a,KACK2mB,GACoB,UAArBlmC,EAAKmwB,OAAOtH,MACe,IAA3B7oB,EAAKmwB,OAAOlG,gBAEmB9pB,IAA1BH,EAAKi7B,uBACW96B,IAArBH,EAAK02B,aACL12B,EAAKi7B,kBAAoBj7B,EAAKi7B,iBAAiBhb,QAH/Cmb,EAAe3kC,QAKM0J,IAArBH,EAAK02B,kBACgBv2B,IAArBH,EAAK02B,aAA6B12B,EAAK02B,YAAYzW,QACnDjgB,EAAKmwB,OAAO/I,cAAe,CAC3B,IAAIgf,EAA8B,WAArBpmC,EAAKmwB,OAAOtH,OAAsB7oB,EAAKmwB,OAAOtI,WACvDwe,EAA6B,UAArBrmC,EAAKmwB,OAAOtH,MACU,IAA9B7oB,EAAK20B,cAAch+B,SAClBqJ,EAAKmwB,OAAOtI,YACbue,GAAUC,IACVrF,KAGRlJ,KAliDJ93B,EAAKkxB,UAAYP,EAAiB,CAAER,OAAQnwB,EAAKmwB,OAAQE,KAAMrwB,EAAKqwB,OACpErwB,EAAK43B,UAAY,GACjB53B,EAAKohC,eAAiB,GACtBphC,EAAKsmC,cAAgB,GACrBtmC,EAAKumC,MAAQ/kC,EACbxB,EAAKwmC,kBAAoB5R,EACzB50B,EAAKymC,kBAAoBzR,GACzBh1B,EAAKi8B,YAAcA,GACnBj8B,EAAKy3B,WAAaA,GAClBz3B,EAAKi/B,MAAQA,GACbj/B,EAAKs/B,MAAQA,GACbt/B,EAAKo4B,YAAcA,GACnBp4B,EAAK0mC,eAAiB5a,EACtB9rB,EAAKy6B,UAAYA,EACjBz6B,EAAKu/B,QAAUA,GACfv/B,EAAK46B,UAAYA,GACjB56B,EAAK84B,WAAaA,EAClB94B,EAAKuf,YAAcA,GACnBvf,EAAKu4B,KAAOA,GACZv4B,EAAKo5B,OAASA,GACdp5B,EAAKjL,IAAMA,GACXiL,EAAKooB,QAAUA,GACfpoB,EAAK2mC,OAASA,GA8gDd,IAAIC,GAAY,CACZj0B,OAAQ,CAAC2hB,GAAasK,IACtB3U,WAAY,CAAC4T,GAAa/I,EAAkBkF,IAC5CtH,QAAS,CAACoG,GACVhG,QAAS,CAACgG,GACVhP,gBAAiB,CAAC+c,IAClB1f,WAAY,CACR,YACmC,IAA3BnnB,EAAKmwB,OAAOhJ,YACZ3lB,EAAKxB,EAAKq2B,OAAQ,QAASr2B,EAAKu4B,MAChC/2B,EAAKxB,EAAKq2B,OAAQ,QAASr2B,EAAKu4B,QAGhCv4B,EAAKq2B,OAAOwB,oBAAoB,QAAS73B,EAAKu4B,MAC9Cv4B,EAAKq2B,OAAOwB,oBAAoB,QAAS73B,EAAKu4B,UAK9D,SAASxjC,GAAI+xC,EAAQ1vC,GACjB,GAAe,OAAX0vC,GAAqC,kBAAXA,EAE1B,IAAK,IAAIhwC,KADTd,OAAOk9B,OAAOlzB,EAAKmwB,OAAQ2W,GACXA,OACW3mC,IAAnBymC,GAAU9vC,IACV8vC,GAAU9vC,GAAKD,SAAQ,SAAUwqC,GAAK,OAAOA,YAIrDrhC,EAAKmwB,OAAO2W,GAAU1vC,OACI+I,IAAtBymC,GAAUE,GACVF,GAAUE,GAAQjwC,SAAQ,SAAUwqC,GAAK,OAAOA,OAC3C9a,EAAMjL,QAAQwrB,IAAW,IAC9B9mC,EAAKmwB,OAAO2W,GAAUvb,EAASn0B,IAEvC4I,EAAKo5B,SACL7Z,IAAY,GAEhB,SAASwnB,GAAgBC,EAAWxpC,GAChC,IAAIulC,EAAQ,GACZ,GAAIiE,aAAqBn8B,MACrBk4B,EAAQiE,EAAUhqC,KAAI,SAAUiyB,GAAK,OAAOjvB,EAAKkxB,UAAUjC,EAAGzxB,WAC7D,GAAIwpC,aAAqBvpC,MAA6B,kBAAdupC,EACzCjE,EAAQ,CAAC/iC,EAAKkxB,UAAU8V,EAAWxpC,SAClC,GAAyB,kBAAdwpC,EACZ,OAAQhnC,EAAKmwB,OAAOtH,MAChB,IAAK,SACL,IAAK,OACDka,EAAQ,CAAC/iC,EAAKkxB,UAAU8V,EAAWxpC,IACnC,MACJ,IAAK,WACDulC,EAAQiE,EACH1qC,MAAM0D,EAAKmwB,OAAO9I,aAClBrqB,KAAI,SAAUY,GAAQ,OAAOoC,EAAKkxB,UAAUtzB,EAAMJ,MACvD,MACJ,IAAK,QACDulC,EAAQiE,EACH1qC,MAAM0D,EAAKqwB,KAAK/qB,gBAChBtI,KAAI,SAAUY,GAAQ,OAAOoC,EAAKkxB,UAAUtzB,EAAMJ,MACvD,MACJ,QACI,WAIRwC,EAAKmwB,OAAOrI,aAAa,IAAI6J,MAAM,0BAA4B8Q,KAAKE,UAAUqE,KAClFhnC,EAAK20B,cAAiB30B,EAAKmwB,OAAOzJ,oBAC5Bqc,EACAA,EAAM5sC,QAAO,SAAU84B,GAAK,OAAOA,aAAaxxB,MAAQm9B,GAAU3L,GAAG,MAClD,UAArBjvB,EAAKmwB,OAAOtH,MACZ7oB,EAAK20B,cAActrB,MAAK,SAAUiJ,EAAGC,GAAK,OAAOD,EAAE4V,UAAY3V,EAAE2V,aAEzE,SAASE,GAAQxqB,EAAMk6B,EAAet6B,GAGlC,QAFsB,IAAlBs6B,IAA4BA,GAAgB,QACjC,IAAXt6B,IAAqBA,EAASwC,EAAKmwB,OAAO7I,YAChC,IAAT1pB,IAAeA,GAAUA,aAAgBiN,OAAyB,IAAhBjN,EAAKjH,OACxD,OAAOqJ,EAAKi/B,MAAMnH,GACtBiP,GAAgBnpC,EAAMJ,GACtBwC,EAAK60B,sBACD70B,EAAK20B,cAAc30B,EAAK20B,cAAch+B,OAAS,GACnDqJ,EAAKo5B,SACLN,OAAW34B,EAAW23B,GACtBlD,IACkC,IAA9B50B,EAAK20B,cAAch+B,QACnBqJ,EAAKi/B,OAAM,GAEf1f,GAAYuY,GACRA,GACA7C,GAAa,YAErB,SAAS+N,GAAe3mC,GACpB,OAAOA,EACFO,QACAI,KAAI,SAAUiqC,GACf,MAAoB,kBAATA,GACS,kBAATA,GACPA,aAAgBxpC,KACTuC,EAAKkxB,UAAU+V,OAAM9mC,GAAW,GAElC8mC,GACW,kBAATA,GACPA,EAAKn8B,MACLm8B,EAAKzG,GACE,CACH11B,KAAM9K,EAAKkxB,UAAU+V,EAAKn8B,UAAM3K,GAChCqgC,GAAIxgC,EAAKkxB,UAAU+V,EAAKzG,QAAIrgC,IAE7B8mC,KAEN9wC,QAAO,SAAUkrC,GAAK,OAAOA,KAEtC,SAAS7M,KACLx0B,EAAK20B,cAAgB,GACrB30B,EAAKipB,IAAMjpB,EAAKkxB,UAAUlxB,EAAKmwB,OAAOlH,MAAQ,IAAIxrB,KAClD,IAAIypC,EAAgBlnC,EAAKmwB,OAAO6F,cACF,UAAxBh2B,EAAKlL,MAAMqyC,UACe,aAAxBnnC,EAAKlL,MAAMqyC,WACXnnC,EAAKlL,MAAMopB,aACXle,EAAKlL,MAAMsC,QAAU4I,EAAKlL,MAAMopB,YAE9Ble,EAAKlL,MAAMsC,MADX,MAEN8vC,GACAH,GAAgBG,EAAelnC,EAAKmwB,OAAO7I,YAC/CtnB,EAAKq/B,aACDr/B,EAAK20B,cAAch+B,OAAS,EACtBqJ,EAAK20B,cAAc,GACnB30B,EAAKmwB,OAAOuC,SACV1yB,EAAKmwB,OAAOuC,QAAQxK,UAAYloB,EAAKipB,IAAIf,UACvCloB,EAAKmwB,OAAOuC,QACZ1yB,EAAKmwB,OAAO2C,SACV9yB,EAAKmwB,OAAO2C,QAAQ5K,UAAYloB,EAAKipB,IAAIf,UACvCloB,EAAKmwB,OAAO2C,QACZ9yB,EAAKipB,IACvBjpB,EAAKk0B,YAAcl0B,EAAKq/B,aAAa7W,cACrCxoB,EAAKi0B,aAAej0B,EAAKq/B,aAAazP,WAClC5vB,EAAK20B,cAAch+B,OAAS,IAC5BqJ,EAAK60B,sBAAwB70B,EAAK20B,cAAc,SACxBx0B,IAAxBH,EAAKmwB,OAAO2G,UACZ92B,EAAKmwB,OAAO2G,QAAU92B,EAAKkxB,UAAUlxB,EAAKmwB,OAAO2G,QAAS,aAClC32B,IAAxBH,EAAKmwB,OAAO8G,UACZj3B,EAAKmwB,OAAO8G,QAAUj3B,EAAKkxB,UAAUlxB,EAAKmwB,OAAO8G,QAAS,QAC9Dj3B,EAAK+2B,iBACC/2B,EAAKmwB,OAAOuC,UACT1yB,EAAKmwB,OAAOuC,QAAQ7E,WAAa,GAC9B7tB,EAAKmwB,OAAOuC,QAAQ5C,aAAe,GACnC9vB,EAAKmwB,OAAOuC,QAAQ7C,aAAe,GAC/C7vB,EAAKk3B,iBACCl3B,EAAKmwB,OAAO2C,UACT9yB,EAAKmwB,OAAO2C,QAAQjF,WAAa,GAC9B7tB,EAAKmwB,OAAO2C,QAAQhD,aAAe,GACnC9vB,EAAKmwB,OAAO2C,QAAQjD,aAAe,GAEnD,SAAS0E,KACLv0B,EAAKlL,MAAQ6uC,KACR3jC,EAAKlL,OAIVkL,EAAKlL,MAAM2qC,MAAQz/B,EAAKlL,MAAMwiB,KAC9BtX,EAAKlL,MAAMwiB,KAAO,OAClBtX,EAAKlL,MAAM62B,UAAUC,IAAI,mBACzB5rB,EAAKq2B,OAASr2B,EAAKlL,MACfkL,EAAKmwB,OAAOvJ,WACZ5mB,EAAK4mB,SAAWkF,EAAc9rB,EAAKlL,MAAMqyC,SAAUnnC,EAAKmwB,OAAOtJ,eAC/D7mB,EAAKq2B,OAASr2B,EAAK4mB,SACnB5mB,EAAK4mB,SAAS1I,YAAcle,EAAKlL,MAAMopB,YACvCle,EAAK4mB,SAAS1G,SAAWlgB,EAAKlL,MAAMorB,SACpClgB,EAAK4mB,SAASllB,SAAW1B,EAAKlL,MAAM4M,SACpC1B,EAAK4mB,SAASnL,SAAWzb,EAAKlL,MAAM2mB,SACpCzb,EAAK4mB,SAAStP,KAAO,OACrBtX,EAAKlL,MAAMg4B,aAAa,OAAQ,WAC3B9sB,EAAKmwB,OAAOjG,QAAUlqB,EAAKlL,MAAMw3B,YAClCtsB,EAAKlL,MAAMw3B,WAAWgO,aAAat6B,EAAK4mB,SAAU5mB,EAAKlL,MAAMylC,cAEhEv6B,EAAKmwB,OAAO1J,YACbzmB,EAAKq2B,OAAOvJ,aAAa,WAAY,YACzC+Z,MArBI7mC,EAAKmwB,OAAOrI,aAAa,IAAI6J,MAAM,oCAuB3C,SAASkV,KACL7mC,EAAKmiC,iBAAmBniC,EAAKmwB,OAAOrG,iBAAmB9pB,EAAKq2B,OAEhE,SAAS4B,KACL,IAAImP,EAAYpnC,EAAKmwB,OAAOtI,WACtB7nB,EAAKmwB,OAAOnH,WACR,OACA,iBACJ,OACNhpB,EAAKo/B,YAActT,EAAc,QAAS9rB,EAAKlL,MAAM42B,UAAY,qBACjE1rB,EAAKo/B,YAAY3jB,SAAW,EAC5Bzb,EAAKo/B,YAAY9nB,KAAO8vB,EACxBpnC,EAAKo/B,YAAYlf,SAAWlgB,EAAKlL,MAAMorB,SACvClgB,EAAKo/B,YAAY19B,SAAW1B,EAAKlL,MAAM4M,SACvC1B,EAAKo/B,YAAYlhB,YAAcle,EAAKlL,MAAMopB,YAC1Cle,EAAKqnC,gBACa,mBAAdD,EACM,gBACc,SAAdA,EACI,QACA,QACVpnC,EAAK20B,cAAch+B,OAAS,IAC5BqJ,EAAKo/B,YAAYjoB,aAAenX,EAAKo/B,YAAYhoC,MAAQ4I,EAAK/C,WAAW+C,EAAK20B,cAAc,GAAI30B,EAAKqnC,kBAErGrnC,EAAKmwB,OAAOuC,UACZ1yB,EAAKo/B,YAAY3e,IAAMzgB,EAAK/C,WAAW+C,EAAKmwB,OAAOuC,QAAS,UAC5D1yB,EAAKmwB,OAAO2C,UACZ9yB,EAAKo/B,YAAY5e,IAAMxgB,EAAK/C,WAAW+C,EAAKmwB,OAAO2C,QAAS,UAC5D9yB,EAAKlL,MAAM4pC,aAAa,UACxB1+B,EAAKo/B,YAAYze,KAAOpiB,OAAOyB,EAAKlL,MAAM4pC,aAAa,UAC3D1+B,EAAKlL,MAAMwiB,KAAO,cACInX,IAAlBH,EAAK4mB,WACL5mB,EAAK4mB,SAAStP,KAAO,UACzB,IACQtX,EAAKlL,MAAMw3B,YACXtsB,EAAKlL,MAAMw3B,WAAWgO,aAAat6B,EAAKo/B,YAAap/B,EAAKlL,MAAMylC,aAExE,MAAOtK,IACPzuB,EAAKxB,EAAKo/B,YAAa,UAAU,SAAUrvB,GACvC/P,EAAKooB,QAAQ4E,EAAejd,GAAG3Y,OAAO,EAAO4I,EAAKqnC,iBAClDpS,GAAa,YACbA,GAAa,cAGrB,SAAS0R,GAAO52B,GACZ,IAAoB,IAAhB/P,EAAKo0B,OACL,OAAOp0B,EAAKs/B,QAChBt/B,EAAKu4B,KAAKxoB,GAEd,SAASklB,GAAa1sB,EAAOhQ,GACzB,QAAoB4H,IAAhBH,EAAKmwB,OAAT,CAEA,IAAImX,EAAQtnC,EAAKmwB,OAAO5nB,GACxB,QAAcpI,IAAVmnC,GAAuBA,EAAM3wC,OAAS,EACtC,IAAK,IAAID,EAAI,EAAG4wC,EAAM5wC,IAAMA,EAAI4wC,EAAM3wC,OAAQD,IAC1C4wC,EAAM5wC,GAAGsJ,EAAK20B,cAAe30B,EAAKlL,MAAMsC,MAAO4I,EAAMzH,GAE/C,aAAVgQ,IACAvI,EAAKlL,MAAM2kC,cAAcD,GAAY,WACrCx5B,EAAKlL,MAAM2kC,cAAcD,GAAY,YAG7C,SAASA,GAAYthC,GACjB,IAAI6X,EAAIpJ,SAAS6yB,YAAY,SAE7B,OADAzpB,EAAEw3B,UAAUrvC,GAAM,GAAM,GACjB6X,EAEX,SAASirB,GAAep9B,GACpB,IAAK,IAAIlH,EAAI,EAAGA,EAAIsJ,EAAK20B,cAAch+B,OAAQD,IAAK,CAChD,IAAIuvC,EAAejmC,EAAK20B,cAAcj+B,GACtC,GAAIuvC,aAAwBxoC,MACa,IAArCm0B,EAAaqU,EAAcroC,GAC3B,MAAO,GAAKlH,EAEpB,OAAO,EAEX,SAASwkC,GAAct9B,GACnB,QAAyB,UAArBoC,EAAKmwB,OAAOtH,MAAoB7oB,EAAK20B,cAAch+B,OAAS,KAExDi7B,EAAah0B,EAAMoC,EAAK20B,cAAc,KAAO,GACjD/C,EAAah0B,EAAMoC,EAAK20B,cAAc,KAAO,GAErD,SAAS0J,KACDr+B,EAAKmwB,OAAOnH,YAAchpB,EAAKuwB,WAAavwB,EAAKw4B,WAErDx4B,EAAK+9B,aAAalnC,SAAQ,SAAU8mC,EAAajnC,GAC7C,IAAIu4B,EAAI,IAAIxxB,KAAKuC,EAAKk0B,YAAal0B,EAAKi0B,aAAc,GACtDhF,EAAEtB,SAAS3tB,EAAKi0B,aAAev9B,GAC3BsJ,EAAKmwB,OAAOlG,WAAa,GACS,WAAlCjqB,EAAKmwB,OAAOrH,kBACZ9oB,EAAKg+B,cAActnC,GAAGq1B,YAClBqB,EAAW6B,EAAEW,WAAY5vB,EAAKmwB,OAAOnG,sBAAuBhqB,EAAKqwB,MAAQ,IAG7ErwB,EAAKm9B,wBAAwB/lC,MAAQ63B,EAAEW,WAAWxzB,WAEtDuhC,EAAYvmC,MAAQ63B,EAAEzG,cAAcpsB,cAExC4D,EAAK++B,yBACuB5+B,IAAxBH,EAAKmwB,OAAOuC,UACP1yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAOuC,QAAQlK,cACpCxoB,EAAKi0B,cAAgBj0B,EAAKmwB,OAAOuC,QAAQ9C,WACzC5vB,EAAKk0B,YAAcl0B,EAAKmwB,OAAOuC,QAAQlK,eACrDxoB,EAAKg/B,yBACuB7+B,IAAxBH,EAAKmwB,OAAO2C,UACP9yB,EAAKk0B,cAAgBl0B,EAAKmwB,OAAO2C,QAAQtK,cACpCxoB,EAAKi0B,aAAe,EAAIj0B,EAAKmwB,OAAO2C,QAAQlD,WAC5C5vB,EAAKk0B,YAAcl0B,EAAKmwB,OAAO2C,QAAQtK,gBAEzD,SAASmY,GAAW6G,GAChB,IAAIhqC,EAASgqC,IACRxnC,EAAKmwB,OAAOvJ,SAAW5mB,EAAKmwB,OAAOxJ,UAAY3mB,EAAKmwB,OAAO7I,YAChE,OAAOtnB,EAAK20B,cACP33B,KAAI,SAAUyqC,GAAQ,OAAOznC,EAAK/C,WAAWwqC,EAAMjqC,MACnDrH,QAAO,SAAU84B,EAAGv4B,EAAG2F,GACxB,MAA4B,UAArB2D,EAAKmwB,OAAOtH,MACf7oB,EAAKmwB,OAAOtI,YACZxrB,EAAIif,QAAQ2T,KAAOv4B,KAEtBmG,KAA0B,UAArBmD,EAAKmwB,OAAOtH,KAChB7oB,EAAKmwB,OAAO9I,YACZrnB,EAAKqwB,KAAK/qB,gBAEpB,SAASia,GAAYuY,QACK,IAAlBA,IAA4BA,GAAgB,QACvB33B,IAArBH,EAAKo/B,aAA6Bp/B,EAAKqnC,kBACvCrnC,EAAKo/B,YAAYhoC,WACkB+I,IAA/BH,EAAK60B,sBACC70B,EAAK/C,WAAW+C,EAAK60B,sBAAuB70B,EAAKqnC,iBACjD,IAEdrnC,EAAKlL,MAAMsC,MAAQupC,GAAW3gC,EAAKmwB,OAAO7I,iBACpBnnB,IAAlBH,EAAK4mB,WACL5mB,EAAK4mB,SAASxvB,MAAQupC,GAAW3gC,EAAKmwB,OAAOxJ,aAE3B,IAAlBmR,GACA7C,GAAa,iBAErB,SAASwD,GAAgB1oB,GACrB,IAAIwnB,EAAcvK,EAAejd,GAC7B23B,EAAc1nC,EAAK89B,aAAaxE,SAAS/B,GACzCoQ,EAAc3nC,EAAKi+B,aAAa3E,SAAS/B,GACzCmQ,GAAeC,EACf1L,GAAYyL,GAAe,EAAI,GAE1B1nC,EAAK+9B,aAAaziB,QAAQic,IAAgB,EAC/CA,EAAYniC,SAEPmiC,EAAY5L,UAAU2N,SAAS,WACpCt5B,EAAKy3B,WAAWz3B,EAAKk0B,YAAc,GAE9BqD,EAAY5L,UAAU2N,SAAS,cACpCt5B,EAAKy3B,WAAWz3B,EAAKk0B,YAAc,GAG3C,SAASiC,GAAYpmB,GACjBA,EAAEgxB,iBACF,IAAI6G,EAAuB,YAAX73B,EAAEuH,KAAoBigB,EAAcvK,EAAejd,GAAIjb,EAAQyiC,OAC7Dp3B,IAAdH,EAAK8qB,MAAsByM,IAAgBv3B,EAAK8qB,OAChD9qB,EAAK8qB,KAAKiB,YACN/rB,EAAKqwB,KAAKvF,KAAK,EAAI9qB,EAAK8qB,KAAKiB,cAAgB/rB,EAAKqwB,KAAKvF,KAAK,MAEpE,IAAIrK,EAAMqN,WAAWh5B,EAAM4pC,aAAa,QAASle,EAAMsN,WAAWh5B,EAAM4pC,aAAa,QAAS/d,EAAOmN,WAAWh5B,EAAM4pC,aAAa,SAAUmJ,EAAWjZ,SAAS95B,EAAMsC,MAAO,IAAKogC,EAAQznB,EAAEynB,QACxLoQ,EAAyB,KAAZ73B,EAAE8L,MAAe,GAAK,EAAK,GACzC1T,EAAW0/B,EAAWlnB,EAAO6W,EACjC,GAA2B,qBAAhB1iC,EAAMsC,OAAgD,IAAvBtC,EAAMsC,MAAMT,OAAc,CAChE,IAAImxC,EAAahzC,IAAUkL,EAAK02B,YAAaqR,EAAejzC,IAAUkL,EAAK22B,cACvExuB,EAAWsY,GACXtY,EACIqY,EACIrY,EACA,GAAK2/B,IACJ,EAAIA,IAAe,GAAK9nC,EAAK8qB,OAClCid,GACA1O,OAAkBl5B,GAAY,EAAGH,EAAK02B,cAErCvuB,EAAWqY,IAChBrY,EACIrT,IAAUkL,EAAK02B,YAAcvuB,EAAWqY,EAAM,GAAKxgB,EAAK8qB,MAAQrK,EAChEsnB,GACA1O,OAAkBl5B,EAAW,EAAGH,EAAK02B,cAEzC12B,EAAK8qB,MACLgd,IACU,IAATnnB,EACKxY,EAAW0/B,IAAa,GACxB3kB,KAAK8Y,IAAI7zB,EAAW0/B,GAAYlnB,KACtC3gB,EAAK8qB,KAAKiB,YACN/rB,EAAKqwB,KAAKvF,KAAK,EAAI9qB,EAAK8qB,KAAKiB,cAAgB/rB,EAAKqwB,KAAKvF,KAAK,MAEpEh2B,EAAMsC,MAAQ+zB,EAAIhjB,IAI1B,OADAgsB,IACOn0B,EAEX,SAASgoC,EAAWC,EAAU9X,GAK1B,IAJA,IAAI+X,EAAQr9B,MAAM7E,UAAUpJ,MACvBuJ,KAAK8hC,GACL9xC,QAAO,SAAUkrC,GAAK,OAAOA,aAAa8G,eAC3CC,EAAY,GACP1xC,EAAI,EAAGA,EAAIwxC,EAAMvxC,OAAQD,IAAK,CACnC,IAAIu1B,EAAOic,EAAMxxC,GACjB,IACI,GAA0C,OAAtCu1B,EAAKyS,aAAa,gBAClB,cACoBv+B,IAApB8rB,EAAK+b,aACL/b,EAAK+b,WAAWzI,UAChBtT,EAAK+b,gBAAa7nC,GAEtB8rB,EAAK+b,WAAavU,EAAkBxH,EAAMkE,GAAU,IACpDiY,EAAU7xC,KAAK01B,EAAK+b,YAExB,MAAOj4B,GACHgY,QAAQroB,MAAMqQ,IAGtB,OAA4B,IAArBq4B,EAAUzxC,OAAeyxC,EAAU,GAAKA,EAExB,qBAAhBD,aACmB,qBAAnBE,gBACa,qBAAbC,WACPD,eAAeriC,UAAUjB,UAAYujC,SAAStiC,UAAUjB,UAAY,SAAUorB,GAC1E,OAAO6X,EAAWpzC,KAAMu7B,IAE5BgY,YAAYniC,UAAUjB,UAAY,SAAUorB,GACxC,OAAO6X,EAAW,CAACpzC,MAAOu7B,KAGlC,IAAIprB,EAAY,SAAUwjC,EAAUpY,GAChC,MAAwB,kBAAboY,EACAP,EAAWljC,OAAO6B,SAASqxB,iBAAiBuQ,GAAWpY,GAEzDoY,aAAoBC,KAClBR,EAAW,CAACO,GAAWpY,GAGvB6X,EAAWO,EAAUpY,IAGpCprB,EAAU6uB,cAAgB,GAC1B7uB,EAAUC,MAAQ,CACdyjC,GAAIxV,EAAS,GAAI,GACjB35B,QAAS25B,EAAS,GAAI,IAE1BluB,EAAU2jC,SAAW,SAAUrY,GAC3BtrB,EAAUC,MAAM1L,QAAU25B,EAASA,EAAS,GAAIluB,EAAUC,MAAM1L,SAAU+2B,IAE9EtrB,EAAU4jC,YAAc,SAAUxY,GAC9BprB,EAAU6uB,cAAgBX,EAASA,EAAS,GAAIluB,EAAU6uB,eAAgBzD,IAE9EprB,EAAUmsB,UAAYP,EAAiB,IACvC5rB,EAAU9H,WAAa+yB,EAAoB,IAC3CjrB,EAAU6sB,aAAeA,EACH,qBAAXgX,QAA+C,qBAAdA,OAAO7oC,KAC/C6oC,OAAO7oC,GAAGgF,UAAY,SAAUorB,GAC5B,OAAO6X,EAAWpzC,KAAMu7B,KAGhC1yB,KAAKuI,UAAU6iC,QAAU,SAAUlT,GAC/B,OAAO,IAAIl4B,KAAK7I,KAAK4zB,cAAe5zB,KAAKg7B,WAAYh7B,KAAKyzB,WAA6B,kBAATsN,EAAoB/G,SAAS+G,EAAM,IAAMA,KAErG,qBAAX7wB,SACPA,OAAOC,UAAYA,GAER,gB,kCC7/Df,6LAASnP,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAWpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAa,QAAgB,eAAU,OAAW,OAAegL,KAAK,KAAM,UAAW,GAAI,CACvMsnC,UAAW,eAAS,QACpBtlC,QAAS,eAAS,QAAmB,MAClC,QAGMulC,EAAyB,aAAIx0C,OAAO,CAC7C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI0wC,EAEAlxC,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChBgqC,EAAgBnxC,EAAMmxC,cACtBC,EAAoBpxC,EAAMoxC,kBAC1BC,EAAkBrxC,EAAMqxC,gBACxBC,EAAS/wC,IAETP,EAAMmE,QACRmtC,EAAS/wC,EAAE,OAAY,CACrBP,MAAO,eAAW,OAAYA,MAIlC,IAAIuxC,EAAYhxC,IAShB,OAPIP,EAAMwxC,WACRD,EAAYhxC,EAAE,OAAe,CAC3BP,MAAO,eAAW,OAAeA,GACjCmD,MAAO,CAAC,WAIL5C,EAAEP,EAAMyxC,QAAS,eAAUhxC,EAAM,CACtCkL,YAAa,YACbxI,MAAO,EAAE+tC,EAAQ,CACf,mBAAoBlxC,EAAM0L,SACzBzM,EAAgBiyC,EAAO,MAAMtwC,OAAOuwC,GAAgBA,GAAgBlyC,EAAgBiyC,EAAO,UAAUtwC,OAAOwwC,GAAoBA,GAAoBnyC,EAAgBiyC,EAAO,QAAQtwC,OAAOywC,GAAkBA,GAAkBH,GAAQlxC,EAAMgxC,aAC7O,CAACM,EAAQC,EAAWpqC,Q,oCCxD5B,iLAASrJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAegL,KAAK,KAAM,YAAa,GAAI,CACjJiB,OAAQ,eAAS,QACjB+mC,YAAa,eAAS,QACtB9mC,WAAY,eAAS,WAClB,QAGM+mC,EAA2B,aAAIl1C,OAAO,CAC/C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI0wC,EAEAlxC,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChByqC,EAAkB5xC,EAAM4xC,gBACxBC,EAAsB7xC,EAAM6xC,oBAC5BC,EAAoB9xC,EAAM8xC,kBAC9B,OAAOvxC,EAAEP,EAAM+xC,UAAW,eAAUtxC,EAAM,CACxCkL,YAAa,cACbxI,MAAO,CAACnD,EAAM0xC,aAAcR,EAAQ,GAAIjyC,EAAgBiyC,EAAO,MAAMtwC,OAAOgxC,GAAkBA,GAAkB3yC,EAAgBiyC,EAAO,UAAUtwC,OAAOixC,GAAsBA,GAAsB5yC,EAAgBiyC,EAAO,QAAQtwC,OAAOkxC,GAAoBA,GAAoBZ,IAClR1lC,SAAUrE,EAAW,GAAK,eAAWnH,EAAM4K,WAAY5K,EAAM2K,UAC3DxD,O,kCCtCR,2GAAS6qC,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIx/B,UAAU,qCAEhH,SAASy/B,EAAkBxzC,EAAQqB,GAAS,IAAK,IAAIpB,EAAI,EAAGA,EAAIoB,EAAMnB,OAAQD,IAAK,CAAE,IAAIwzC,EAAapyC,EAAMpB,GAAIwzC,EAAW5zC,WAAa4zC,EAAW5zC,aAAc,EAAO4zC,EAAW7yC,cAAe,EAAU,UAAW6yC,IAAYA,EAAW5yC,UAAW,GAAMtB,OAAOkB,eAAeT,EAAQyzC,EAAWpzC,IAAKozC,IAE7S,SAASC,EAAaH,EAAaI,EAAYC,GAAmJ,OAAhID,GAAYH,EAAkBD,EAAYhkC,UAAWokC,GAAiBC,GAAaJ,EAAkBD,EAAaK,GAAqBL,EAuCzM,IAAIM,EAAqB,4BAErBC,EAAkC,WACpC,SAASA,EAAmBnvB,EAAIuU,EAAS6a,GACvCV,EAAgBl1C,KAAM21C,GAEtB31C,KAAKwmB,GAAKA,EACVxmB,KAAK61C,SAAW9a,EAAQ8a,SACxB71C,KAAK81C,OAAS/a,EAAQ+a,QAAU,EAChC91C,KAAK+1C,KAAOhb,EAAQgb,OAAQ,EAC5B/1C,KAAKg2C,SAAW,KAChBh2C,KAAKi2C,aAAU1qC,EACfvL,KAAKk2C,UAAW,EAEhBl2C,KAAKm2C,eAAeP,GAgFtB,OA7EAL,EAAaI,EAAoB,CAAC,CAChCzzC,IAAK,iBACLM,MAAO,SAAwBozC,GAC7B,IAAIp9B,EAAQxY,KASZ,GANIA,KAAKg2C,UAEPh2C,KAAKo2C,QAIHp2C,KAAKk2C,UAAa,eAAWl2C,KAAK61C,UAAtC,CAMA,IAGE71C,KAAKg2C,SAAW,IAAIK,qBAAqBr2C,KAAKsY,QAAQ1L,KAAK5M,MAAO,CAEhEs2C,KAAM,KAENC,WAAYv2C,KAAK81C,OAEjBU,UAAW,IAEb,MAAOC,GAKP,OAHAz2C,KAAKk2C,UAAW,EAChBl2C,KAAKg2C,cAAWzqC,OAChBvL,KAAK61C,SAAS,MAOhBD,EAAM16B,QAAQrC,WAAU,WACtB,gBAAU,WAGJL,EAAMw9B,UACRx9B,EAAMw9B,SAASU,QAAQl+B,EAAMgO,aAOpC,CACDtkB,IAAK,UACLM,MAAO,SAAiBm0C,GACtB,IAAIC,EAAQD,EAAUA,EAAQ,GAAK,GAC/BE,EAAiB/9B,QAAQ89B,EAAMC,gBAAkBD,EAAME,kBAAoB,GAE3ED,IAAmB72C,KAAKi2C,UAC1Bj2C,KAAKi2C,QAAUY,EACf72C,KAAK61C,SAASgB,GAEV72C,KAAK+1C,MAAQ/1C,KAAKi2C,UACpBj2C,KAAKk2C,UAAW,EAChBl2C,KAAKo2C,WAIV,CACDl0C,IAAK,OACLM,MAAO,WAELxC,KAAKg2C,UAAYh2C,KAAKg2C,SAASe,aAC/B/2C,KAAKg2C,SAAW,SAIbL,EA5F6B,GA+FlChL,EAAU,SAAiBnkB,GAC7B,IAAIwvB,EAAWxvB,EAAGkvB,GAEdM,GAAYA,EAASI,MACvBJ,EAASI,cAGJ5vB,EAAGkvB,IAGR9oC,EAAO,SAAc4Z,EAAI9iB,EAAMkyC,GACjC,IAAIpzC,EAAQkB,EAAKlB,MACbw0C,EAAYtzC,EAAKszC,UAEjBjc,EAAU,CACZ+a,OAAQ,MACRC,MAAM,EACNF,SAAUrzC,GAGZ,eAAKw0C,GAAW/0C,SAAQ,SAAUg1C,GAE5B,OAAU9gC,KAAK8gC,GACjBlc,EAAQ+a,OAAS,GAAGhyC,OAAOmzC,EAAK,MACD,SAAtBA,EAAIzvB,gBACbuT,EAAQgb,MAAO,MAInBpL,EAAQnkB,GAERA,EAAGkvB,GAAsB,IAAIC,EAAmBnvB,EAAIuU,EAAS6a,GAE7DpvB,EAAGkvB,GAAoBwB,eAAiB,eAAMF,IAI5CG,EAAmB,SAA0B3wB,EAAI4tB,EAAOwB,GAC1D,IAAIpzC,EAAQ4xC,EAAM5xC,MACdgR,EAAW4gC,EAAM5gC,SACjBwjC,EAAY5C,EAAM4C,UAKtBA,EAAY,eAAMA,IAGdxwB,GAAOhkB,IAAUgR,GAAagT,EAAGkvB,IAAwB,eAAWsB,EAAWxwB,EAAGkvB,GAAoBwB,iBAExGtqC,EAAK4Z,EAAI,CACPhkB,MAAOA,EACPw0C,UAAWA,GACVpB,IAKHwB,EAAS,SAAgB5wB,GAE3BmkB,EAAQnkB,IAIC6wB,EAAY,CACrBzqC,KAAMA,EACNuqC,iBAAkBA,EAClBC,OAAQA,I,oCC/MV,sFAKWl0C,EAAQ,eAAsB,OAAU,SAMxCo0C,EAAmB,aAAI33C,OAAO,CACvC2D,KAAM,QACNi0C,QAAS,OACTr0C,MAAOA,EACPtD,SAAU,CACRgF,IAAK,WACH,MAAO,U,oCCjBb,qKAAS5D,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAYpM,IAAIW,EAAQ,CACjBs0C,SAAU,eAAS,QAAmB,GACtCC,WAAY,eAAS,QAAmB,GACxCC,WAAY,eAAS,QAAmB,GACxC5wC,KAAM,eAAS,QAAmB,GAClC6wC,MAAO,eAAS,QAAmB,GACnCC,MAAO,eAAS,QAAmB,GACnCC,iBAAkB,eAAS,QAAmB,GAC9CC,SAAU,eAAS,QAAmB,GACtCC,WAAY,eAAS,QAA0B,GAC/CC,MAAO,eAAS,QAAmB,GAEnCjxC,aAAc,eAAS,QAA0B,GACjDud,QAAS,eAAS,QAAmB,GACrC2zB,WAAY,eAAS,QACrBvyC,aAAc,eAAS,SAIdwyC,EAAqB,aAAIv4C,OAAO,CACzC4E,OAAQ,CAAC,QACTmC,QAAS,WACP,MAAO,CACLE,QAAS5G,OAKb2E,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERuF,aAAc,WACZ,IAAI4yC,EAAa/3C,KAAK+3C,WAEtB,OADAA,EAA4B,KAAfA,GAA2BA,GACjC/3C,KAAKiF,WAAoB8yC,GAElC3yC,eAAgB,WACd,IAAI2B,EAAe/G,KAAK+G,aAExB,OADAA,EAAgC,KAAjBA,GAA6BA,GACrC/G,KAAKiF,WAAoB8B,GAElCoxC,eAAgB,WACd,IAAIhzC,EAAenF,KAAKmF,aACxB,MAAO,CAACnF,KAAKoF,eAAiB,wBAA0B,IAAqB,IAAjBD,EAAwB,mBAAqBA,EAAe,oBAAoBrB,OAAO9D,KAAK+3C,YAAc,IAAIx2C,OAAO,SAEnL62C,cAAe,WACb,IAAIhzC,EAAiBpF,KAAKoF,eAC1B,OAAOA,IAAmB,eAAUA,GAAkB,CACpDizC,UAAWjzC,GACT,IAENkzC,aAAc,WACZ,IAAIV,EAAQ53C,KAAK43C,MACblyC,EAAe1F,KAAK0F,aAExB,OADAkyC,EAAQ53C,KAAKu4C,cAAgBX,EAAQA,GAAS53C,KAAKqU,cAActS,OAAS,IAAM/B,KAAKqT,aAC9E,CACPrT,KAAKi4C,WACL,CACE,gBAAiBj4C,KAAKskB,QACtB,cAAeszB,EACf,aAAc53C,KAAK8G,KACnB,iBAAkB9G,KAAKw3C,SACvB,mBAAoBx3C,KAAKy3C,WACzB,WAAYz3C,KAAKg4C,MAEjBQ,OAAQx4C,KAAK83C,SACb,gBAAiB93C,KAAK23C,MACtB,sBAAuB33C,KAAK03C,WAC5B,6BAA8B13C,KAAK63C,kBAClCnyC,EAAe,GAAG5B,OAAO9D,KAAK8G,KAAO,KAAO,QAAS,KAAKhD,OAAO4B,GAAgB,GACpF1F,KAAK+sB,oBACL/sB,KAAKqc,yBAEPo8B,WAAY,WACV,IAAIrkC,EAAQpU,KAAKqU,cACbuD,EAAgB5X,KAAK4X,cACrBlF,EAAS1S,KAAK2S,eACd2J,EAAuBtc,KAAKsc,qBAE5Bo8B,EAAM,EAAE14C,KAAKkG,SAAW,IAAI,oBAAqBlG,KAAKooB,WAAW7mB,OAAO,QAAU0G,KAAK,MAAQ,KAC/F0wC,EAAY34C,KAAKu4C,cAAgB,GAAK,CACxC,YAAav4C,KAAKqT,aAAe,OAAS,QAC1C,gBAAiB,eAASX,EAAO3Q,QACjC,mBAAoB22C,GAElBE,EAAWxkC,GAASwD,GAAiBA,EAAc7V,OAASqS,EAAMrS,OAAS,eAAS6V,EAAc7V,QAAU,KAChH,OAAOH,EAAcA,EAAcA,EAAc,CAG/C,gBAAiBg3C,GAChB54C,KAAKkG,SAAU,GAAI,CAEpB8D,GAAIhK,KAAK4kB,SACT5e,KAAM,SACL2yC,GAAYr8B,KAGnB9Y,OAAQ,SAAgBC,GACtB,IAAI00C,EAAiBn4C,KAAKm4C,eACtB9vB,EAAgBroB,KAAKqoB,cACrBwwB,EAAiB74C,KAAK64C,eACtBC,EAAc94C,KAAK84C,YACnB1xB,EAAcpnB,KAAKonB,YACnB2xB,EAAc/4C,KAAK+4C,YACnB5yC,EAAW,GAEXnG,KAAKu4C,cACPpyC,EAASxE,KAAK3B,KAAKoG,kBAGnBD,EAASxE,KAAK0mB,EAAgBA,IAAkB,MAEhDliB,EAASxE,KAAKk3C,EAAiBA,IAAmB,MAElD1yC,EAASxE,KAAKm3C,EAAcA,IAAgB,MAE5C3yC,EAASxE,KAAKylB,EAAcA,IAAgB,MAE5CjhB,EAASxE,KAAKo3C,EAAcA,IAAgB,OAI9C,IAAIC,EAASv1C,EAAE,QAAS,CACtBoL,YAAa,gBACbxI,MAAOrG,KAAKs4C,aACZhyC,MAAOtG,KAAKy4C,WACZv2C,IAAK,WACJiE,EAAS5E,OAAO,SAEnB,OAAO42C,EAAep2C,OAAS,EAAI0B,EAAE,MAAO,CAC1C4C,MAAO8xC,EACPlmC,MAAOjS,KAAKo4C,cACZl2C,IAAK,QACJ,CAAC82C,IAAWA,M,oCCrJU,oBAAlB53C,OAAOk9B,SACdl9B,OAAOk9B,OAAS,SAAUz8B,GAEtB,IADA,IAAIwJ,EAAO,GACF4tC,EAAK,EAAGA,EAAKt4C,UAAUoB,OAAQk3C,IACpC5tC,EAAK4tC,EAAK,GAAKt4C,UAAUs4C,GAE7B,IAAKp3C,EACD,MAAM+T,UAAU,8CAOpB,IALA,IAAIsjC,EAAU,SAAUl3C,GAChBA,GACAZ,OAAOD,KAAKa,GAAQC,SAAQ,SAAUC,GAAO,OAAQL,EAAOK,GAAOF,EAAOE,OAGzEm5B,EAAK,EAAG8d,EAAS9tC,EAAMgwB,EAAK8d,EAAOp3C,OAAQs5B,IAAM,CACtD,IAAIr5B,EAASm3C,EAAO9d,GACpB6d,EAAQl3C,GAEZ,OAAOH,K,kCCnBf,SAASb,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAJ3M,0KAOO,IAAI62C,EAAyB,gBACzBC,EAAwB,cACxBC,EAAyB,eAGzBC,EAAqB,CAACH,EAAwBC,EAAuBC,GAAwBrkC,QAAO,SAAUrL,EAAQ1H,GAC/H,OAAON,EAAcA,EAAc,GAAIgI,GAAS,GAAIzH,EAAgB,GAAID,GAAK,MAC5E,IAGQs3C,EAAe,CAAC,IAAK,MAChC,SAAU,WACV,uCAAwC,wCAAyC,0CAA2C,gBAAiB,kBAAmB,kBAAmB,oBAAqB,6CAA6CvxC,KAAK,M,oCCnB1P,2GAAS9F,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAOpM,IAAIW,EAAQ,eAAsB,CACvCuJ,MAAO,eAAS,QAAmB,GACnC7H,IAAK,eAAS,OAAkB,OAChCid,cAAe,eAAS,OAAkB,QACzC,SAGQ43B,EAA2B,aAAI95C,OAAO,CAC/C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChBwX,EAAgB3e,EAAM2e,cACtB7U,EAA0B,QAAlB6U,EAA0B,QAA4B,WAAlBA,EAA6B,MAE7EA,EACA,OAAOpe,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,cACbxI,MAAOlE,EAAgB,CACrB,oBAAqBe,EAAMuJ,OAC1B,cAAc3I,OAAOkJ,GAAQA,KAC9B3C,O,oCC/BR,kGAKWnH,EAAQ,eAAsB,CACvC0B,IAAK,eAAS,OAAkB,QAC/B,SAGQ80C,EAA0B,aAAI/5C,OAAO,CAC9C2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,eACXxE,O,oCCpBR,oIAMWnH,EAAQ,CACjBy2C,UAAW,eAAS,QAAmB,GAGvCC,eAAgB,eAAS,QAEzBn0C,YAAa,eAAS,QACtBo0C,WAAY,eAAS,QACrBC,aAAc,eAAS,SAIdC,EAAa,aAAIp6C,OAAO,CACjCuD,MAAOA,EACP3C,QAAS,CACPy5C,kBAAmB,WACjB,IAAIv2C,EAAIzD,KAAK8S,eAEb,OAAI9S,KAAK+S,kBAAkB,QAClBtP,EAAE,OAAQ,CACf4C,MAAOrG,KAAK65C,YAAc,KAC1B32C,MAAO,CACLuC,YAAazF,KAAKyF,aAAezF,KAAKwF,aAAe,MAEvDtD,IAAK,mBACJlC,KAAKoG,cAAc,OAAuB,CAC3CgO,MAAOpU,KAAKqU,cAAcrM,QAC1B0K,OAAQ1S,KAAK2S,eAAe3K,QAC5BgL,QAAShT,KAAK2S,eAAe5Q,UAI1B0B,KAETs1C,YAAa,WAEX,OAAO/4C,KAAK25C,UAAY35C,KAAK84C,aAAY,GAAQ94C,KAAKg6C,yB,kCC1C5D,kCAiBO,IAAIC,EAAa,SAAoB3kC,EAAO4kC,GAKjD,OAAO5kC,EAAMlN,KAAI,SAAUsV,EAAGb,GAC5B,MAAO,CAACA,EAAOa,MACdjJ,KAAK,SAAUiJ,EAAGC,GACnB,OAAO3d,KAAK0d,EAAE,GAAIC,EAAE,KAAOD,EAAE,GAAKC,EAAE,IACpC/Q,KAAKstC,IAAY9xC,KAAI,SAAU+S,GAC/B,OAAOA,EAAE,Q,oCC3Bb,W,uBCOA,IAAIg/B,EAAW,SAAU3wC,GACvB,aAEA,IAEI+B,EAFA6uC,EAAKh5C,OAAOgQ,UACZipC,EAASD,EAAG7b,eAEZ+b,EAA4B,oBAAXjkC,OAAwBA,OAAS,GAClDkkC,EAAiBD,EAAQhkC,UAAY,aACrCkkC,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAE/C,SAASC,EAAOr4C,EAAKL,EAAKM,GAOxB,OANApB,OAAOkB,eAAeC,EAAKL,EAAK,CAC9BM,MAAOA,EACPd,YAAY,EACZe,cAAc,EACdC,UAAU,IAELH,EAAIL,GAEb,IAEE04C,EAAO,GAAI,IACX,MAAOtvC,GACPsvC,EAAS,SAASr4C,EAAKL,EAAKM,GAC1B,OAAOD,EAAIL,GAAOM,GAItB,SAASgzB,EAAKqlB,EAASC,EAAS1vC,EAAM2vC,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQ1pC,qBAAqB6pC,EAAYH,EAAUG,EAC/EC,EAAY95C,OAAOwO,OAAOorC,EAAe5pC,WACzC8J,EAAU,IAAIigC,EAAQJ,GAAe,IAMzC,OAFAG,EAAUE,QAAUC,EAAiBR,EAASzvC,EAAM8P,GAE7CggC,EAcT,SAASI,EAASnwC,EAAI5I,EAAKqI,GACzB,IACE,MAAO,CAAE8X,KAAM,SAAU9X,IAAKO,EAAGoG,KAAKhP,EAAKqI,IAC3C,MAAOU,GACP,MAAO,CAAEoX,KAAM,QAAS9X,IAAKU,IAhBjC9B,EAAQgsB,KAAOA,EAoBf,IAAI+lB,EAAyB,iBACzBC,EAAyB,iBACzBC,EAAoB,YACpBC,EAAoB,YAIpBC,EAAmB,GAMvB,SAASV,KACT,SAASW,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBlB,EAAOkB,EAAmBvB,GAAgB,WACxC,OAAOv6C,QAGT,IAAI+7C,EAAW36C,OAAO46C,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4B7B,GAC5BC,EAAO9oC,KAAK0qC,EAAyB1B,KAGvCuB,EAAoBG,GAGtB,IAAIE,EAAKN,EAA2BzqC,UAClC6pC,EAAU7pC,UAAYhQ,OAAOwO,OAAOksC,GAYtC,SAASM,EAAsBhrC,GAC7B,CAAC,OAAQ,QAAS,UAAUnP,SAAQ,SAASmb,GAC3Cw9B,EAAOxpC,EAAWgM,GAAQ,SAASxS,GACjC,OAAO5K,KAAKo7C,QAAQh+B,EAAQxS,SAkClC,SAASyxC,EAAcnB,EAAWoB,GAChC,SAASC,EAAOn/B,EAAQxS,EAAKJ,EAASC,GACpC,IAAI+xC,EAASlB,EAASJ,EAAU99B,GAAS89B,EAAWtwC,GACpD,GAAoB,UAAhB4xC,EAAO95B,KAEJ,CACL,IAAI9Y,EAAS4yC,EAAO5xC,IAChBpI,EAAQoH,EAAOpH,MACnB,OAAIA,GACiB,kBAAVA,GACP63C,EAAO9oC,KAAK/O,EAAO,WACd85C,EAAY9xC,QAAQhI,EAAMi6C,SAASxxC,MAAK,SAASzI,GACtD+5C,EAAO,OAAQ/5C,EAAOgI,EAASC,MAC9B,SAASa,GACVixC,EAAO,QAASjxC,EAAKd,EAASC,MAI3B6xC,EAAY9xC,QAAQhI,GAAOyI,MAAK,SAASyxC,GAI9C9yC,EAAOpH,MAAQk6C,EACflyC,EAAQZ,MACP,SAASkB,GAGV,OAAOyxC,EAAO,QAASzxC,EAAON,EAASC,MAvBzCA,EAAO+xC,EAAO5xC,KA4BlB,IAAI+xC,EAEJ,SAASC,EAAQx/B,EAAQxS,GACvB,SAASiyC,IACP,OAAO,IAAIP,GAAY,SAAS9xC,EAASC,GACvC8xC,EAAOn/B,EAAQxS,EAAKJ,EAASC,MAIjC,OAAOkyC,EAaLA,EAAkBA,EAAgB1xC,KAChC4xC,EAGAA,GACEA,IAKR78C,KAAKo7C,QAAUwB,EA2BjB,SAASvB,EAAiBR,EAASzvC,EAAM8P,GACvC,IAAI4hC,EAAQvB,EAEZ,OAAO,SAAgBn+B,EAAQxS,GAC7B,GAAIkyC,IAAUrB,EACZ,MAAM,IAAI1e,MAAM,gCAGlB,GAAI+f,IAAUpB,EAAmB,CAC/B,GAAe,UAAXt+B,EACF,MAAMxS,EAKR,OAAOmyC,IAGT7hC,EAAQkC,OAASA,EACjBlC,EAAQtQ,IAAMA,EAEd,MAAO,EAAM,CACX,IAAIoyC,EAAW9hC,EAAQ8hC,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAU9hC,GACnD,GAAI+hC,EAAgB,CAClB,GAAIA,IAAmBtB,EAAkB,SACzC,OAAOsB,GAIX,GAAuB,SAAnB/hC,EAAQkC,OAGVlC,EAAQiiC,KAAOjiC,EAAQkiC,MAAQliC,EAAQtQ,SAElC,GAAuB,UAAnBsQ,EAAQkC,OAAoB,CACrC,GAAI0/B,IAAUvB,EAEZ,MADAuB,EAAQpB,EACFxgC,EAAQtQ,IAGhBsQ,EAAQmiC,kBAAkBniC,EAAQtQ,SAEN,WAAnBsQ,EAAQkC,QACjBlC,EAAQoiC,OAAO,SAAUpiC,EAAQtQ,KAGnCkyC,EAAQrB,EAER,IAAIe,EAASlB,EAAST,EAASzvC,EAAM8P,GACrC,GAAoB,WAAhBshC,EAAO95B,KAAmB,CAO5B,GAJAo6B,EAAQ5hC,EAAQnQ,KACZ2wC,EACAF,EAEAgB,EAAO5xC,MAAQ+wC,EACjB,SAGF,MAAO,CACLn5C,MAAOg6C,EAAO5xC,IACdG,KAAMmQ,EAAQnQ,MAGS,UAAhByxC,EAAO95B,OAChBo6B,EAAQpB,EAGRxgC,EAAQkC,OAAS,QACjBlC,EAAQtQ,IAAM4xC,EAAO5xC,OAU7B,SAASsyC,EAAoBF,EAAU9hC,GACrC,IAAIkC,EAAS4/B,EAAS1mC,SAAS4E,EAAQkC,QACvC,GAAIA,IAAW7R,EAAW,CAKxB,GAFA2P,EAAQ8hC,SAAW,KAEI,UAAnB9hC,EAAQkC,OAAoB,CAE9B,GAAI4/B,EAAS1mC,SAAS,YAGpB4E,EAAQkC,OAAS,SACjBlC,EAAQtQ,IAAMW,EACd2xC,EAAoBF,EAAU9hC,GAEP,UAAnBA,EAAQkC,QAGV,OAAOu+B,EAIXzgC,EAAQkC,OAAS,QACjBlC,EAAQtQ,IAAM,IAAIgL,UAChB,kDAGJ,OAAO+lC,EAGT,IAAIa,EAASlB,EAASl+B,EAAQ4/B,EAAS1mC,SAAU4E,EAAQtQ,KAEzD,GAAoB,UAAhB4xC,EAAO95B,KAIT,OAHAxH,EAAQkC,OAAS,QACjBlC,EAAQtQ,IAAM4xC,EAAO5xC,IACrBsQ,EAAQ8hC,SAAW,KACZrB,EAGT,IAAI9wC,EAAO2xC,EAAO5xC,IAElB,OAAMC,EAOFA,EAAKE,MAGPmQ,EAAQ8hC,EAASO,YAAc1yC,EAAKrI,MAGpC0Y,EAAQsiC,KAAOR,EAASS,QAQD,WAAnBviC,EAAQkC,SACVlC,EAAQkC,OAAS,OACjBlC,EAAQtQ,IAAMW,GAUlB2P,EAAQ8hC,SAAW,KACZrB,GANE9wC,GA3BPqQ,EAAQkC,OAAS,QACjBlC,EAAQtQ,IAAM,IAAIgL,UAAU,oCAC5BsF,EAAQ8hC,SAAW,KACZrB,GAoDX,SAAS+B,EAAaC,GACpB,IAAI/G,EAAQ,CAAEgH,OAAQD,EAAK,IAEvB,KAAKA,IACP/G,EAAMiH,SAAWF,EAAK,IAGpB,KAAKA,IACP/G,EAAMkH,WAAaH,EAAK,GACxB/G,EAAMmH,SAAWJ,EAAK,IAGxB39C,KAAKg+C,WAAWr8C,KAAKi1C,GAGvB,SAASqH,EAAcrH,GACrB,IAAI4F,EAAS5F,EAAMsH,YAAc,GACjC1B,EAAO95B,KAAO,gBACP85B,EAAO5xC,IACdgsC,EAAMsH,WAAa1B,EAGrB,SAASrB,EAAQJ,GAIf/6C,KAAKg+C,WAAa,CAAC,CAAEJ,OAAQ,SAC7B7C,EAAY94C,QAAQy7C,EAAc19C,MAClCA,KAAKm+C,OAAM,GA8Bb,SAASjC,EAAOkC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS7D,GAC9B,GAAI8D,EACF,OAAOA,EAAe9sC,KAAK6sC,GAG7B,GAA6B,oBAAlBA,EAASZ,KAClB,OAAOY,EAGT,IAAKthB,MAAMshB,EAASr8C,QAAS,CAC3B,IAAID,GAAK,EAAG07C,EAAO,SAASA,IAC1B,QAAS17C,EAAIs8C,EAASr8C,OACpB,GAAIs4C,EAAO9oC,KAAK6sC,EAAUt8C,GAGxB,OAFA07C,EAAKh7C,MAAQ47C,EAASt8C,GACtB07C,EAAKzyC,MAAO,EACLyyC,EAOX,OAHAA,EAAKh7C,MAAQ+I,EACbiyC,EAAKzyC,MAAO,EAELyyC,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMT,GAIjB,SAASA,IACP,MAAO,CAAEv6C,MAAO+I,EAAWR,MAAM,GA+MnC,OA7mBA6wC,EAAkBxqC,UAAYyqC,EAC9BjB,EAAOuB,EAAI,cAAeN,GAC1BjB,EAAOiB,EAA4B,cAAeD,GAClDA,EAAkB0C,YAAc1D,EAC9BiB,EACAnB,EACA,qBAaFlxC,EAAQ+0C,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,oBAAXD,GAAyBA,EAAOxoC,YAClD,QAAOyoC,IACHA,IAAS7C,GAG2B,uBAAnC6C,EAAKH,aAAeG,EAAKn7C,QAIhCkG,EAAQk1C,KAAO,SAASF,GAQtB,OAPIp9C,OAAOu9C,eACTv9C,OAAOu9C,eAAeH,EAAQ3C,IAE9B2C,EAAOI,UAAY/C,EACnBjB,EAAO4D,EAAQ9D,EAAmB,sBAEpC8D,EAAOptC,UAAYhQ,OAAOwO,OAAOusC,GAC1BqC,GAOTh1C,EAAQq1C,MAAQ,SAASj0C,GACvB,MAAO,CAAE6xC,QAAS7xC,IAsEpBwxC,EAAsBC,EAAcjrC,WACpCwpC,EAAOyB,EAAcjrC,UAAWopC,GAAqB,WACnD,OAAOx6C,QAETwJ,EAAQ6yC,cAAgBA,EAKxB7yC,EAAQs1C,MAAQ,SAASjE,EAASC,EAAS1vC,EAAM2vC,EAAauB,QACxC,IAAhBA,IAAwBA,EAActxC,SAE1C,IAAIoL,EAAO,IAAIimC,EACb7mB,EAAKqlB,EAASC,EAAS1vC,EAAM2vC,GAC7BuB,GAGF,OAAO9yC,EAAQ+0C,oBAAoBzD,GAC/B1kC,EACAA,EAAKonC,OAAOvyC,MAAK,SAASrB,GACxB,OAAOA,EAAOmB,KAAOnB,EAAOpH,MAAQ4T,EAAKonC,WAuKjDpB,EAAsBD,GAEtBvB,EAAOuB,EAAIzB,EAAmB,aAO9BE,EAAOuB,EAAI5B,GAAgB,WACzB,OAAOv6C,QAGT46C,EAAOuB,EAAI,YAAY,WACrB,MAAO,wBAkCT3yC,EAAQrI,KAAO,SAASF,GACtB,IAAIE,EAAO,GACX,IAAK,IAAIe,KAAOjB,EACdE,EAAKQ,KAAKO,GAMZ,OAJAf,EAAK49C,UAIE,SAASvB,IACd,MAAOr8C,EAAKY,OAAQ,CAClB,IAAIG,EAAMf,EAAK69C,MACf,GAAI98C,KAAOjB,EAGT,OAFAu8C,EAAKh7C,MAAQN,EACbs7C,EAAKzyC,MAAO,EACLyyC,EAQX,OADAA,EAAKzyC,MAAO,EACLyyC,IAsCXh0C,EAAQ0yC,OAASA,EAMjBf,EAAQ/pC,UAAY,CAClB4E,YAAamlC,EAEbgD,MAAO,SAASc,GAcd,GAbAj/C,KAAKk/C,KAAO,EACZl/C,KAAKw9C,KAAO,EAGZx9C,KAAKm9C,KAAOn9C,KAAKo9C,MAAQ7xC,EACzBvL,KAAK+K,MAAO,EACZ/K,KAAKg9C,SAAW,KAEhBh9C,KAAKod,OAAS,OACdpd,KAAK4K,IAAMW,EAEXvL,KAAKg+C,WAAW/7C,QAAQg8C,IAEnBgB,EACH,IAAK,IAAI37C,KAAQtD,KAEQ,MAAnBsD,EAAKwE,OAAO,IACZuyC,EAAO9oC,KAAKvR,KAAMsD,KACjBw5B,OAAOx5B,EAAK0E,MAAM,MACrBhI,KAAKsD,GAAQiI,IAMrB6qC,KAAM,WACJp2C,KAAK+K,MAAO,EAEZ,IAAIo0C,EAAYn/C,KAAKg+C,WAAW,GAC5BoB,EAAaD,EAAUjB,WAC3B,GAAwB,UAApBkB,EAAW18B,KACb,MAAM08B,EAAWx0C,IAGnB,OAAO5K,KAAKq/C,MAGdhC,kBAAmB,SAASiC,GAC1B,GAAIt/C,KAAK+K,KACP,MAAMu0C,EAGR,IAAIpkC,EAAUlb,KACd,SAASu/C,EAAOC,EAAKC,GAYnB,OAXAjD,EAAO95B,KAAO,QACd85B,EAAO5xC,IAAM00C,EACbpkC,EAAQsiC,KAAOgC,EAEXC,IAGFvkC,EAAQkC,OAAS,OACjBlC,EAAQtQ,IAAMW,KAGNk0C,EAGZ,IAAK,IAAI39C,EAAI9B,KAAKg+C,WAAWj8C,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI80C,EAAQ52C,KAAKg+C,WAAWl8C,GACxB06C,EAAS5F,EAAMsH,WAEnB,GAAqB,SAAjBtH,EAAMgH,OAIR,OAAO2B,EAAO,OAGhB,GAAI3I,EAAMgH,QAAU59C,KAAKk/C,KAAM,CAC7B,IAAIQ,EAAWrF,EAAO9oC,KAAKqlC,EAAO,YAC9B+I,EAAatF,EAAO9oC,KAAKqlC,EAAO,cAEpC,GAAI8I,GAAYC,EAAY,CAC1B,GAAI3/C,KAAKk/C,KAAOtI,EAAMiH,SACpB,OAAO0B,EAAO3I,EAAMiH,UAAU,GACzB,GAAI79C,KAAKk/C,KAAOtI,EAAMkH,WAC3B,OAAOyB,EAAO3I,EAAMkH,iBAGjB,GAAI4B,GACT,GAAI1/C,KAAKk/C,KAAOtI,EAAMiH,SACpB,OAAO0B,EAAO3I,EAAMiH,UAAU,OAG3B,KAAI8B,EAMT,MAAM,IAAI5iB,MAAM,0CALhB,GAAI/8B,KAAKk/C,KAAOtI,EAAMkH,WACpB,OAAOyB,EAAO3I,EAAMkH,gBAU9BR,OAAQ,SAAS56B,EAAM9X,GACrB,IAAK,IAAI9I,EAAI9B,KAAKg+C,WAAWj8C,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI80C,EAAQ52C,KAAKg+C,WAAWl8C,GAC5B,GAAI80C,EAAMgH,QAAU59C,KAAKk/C,MACrB7E,EAAO9oC,KAAKqlC,EAAO,eACnB52C,KAAKk/C,KAAOtI,EAAMkH,WAAY,CAChC,IAAI8B,EAAehJ,EACnB,OAIAgJ,IACU,UAATl9B,GACS,aAATA,IACDk9B,EAAahC,QAAUhzC,GACvBA,GAAOg1C,EAAa9B,aAGtB8B,EAAe,MAGjB,IAAIpD,EAASoD,EAAeA,EAAa1B,WAAa,GAItD,OAHA1B,EAAO95B,KAAOA,EACd85B,EAAO5xC,IAAMA,EAETg1C,GACF5/C,KAAKod,OAAS,OACdpd,KAAKw9C,KAAOoC,EAAa9B,WAClBnC,GAGF37C,KAAK6/C,SAASrD,IAGvBqD,SAAU,SAASrD,EAAQuB,GACzB,GAAoB,UAAhBvB,EAAO95B,KACT,MAAM85B,EAAO5xC,IAcf,MAXoB,UAAhB4xC,EAAO95B,MACS,aAAhB85B,EAAO95B,KACT1iB,KAAKw9C,KAAOhB,EAAO5xC,IACM,WAAhB4xC,EAAO95B,MAChB1iB,KAAKq/C,KAAOr/C,KAAK4K,IAAM4xC,EAAO5xC,IAC9B5K,KAAKod,OAAS,SACdpd,KAAKw9C,KAAO,OACa,WAAhBhB,EAAO95B,MAAqBq7B,IACrC/9C,KAAKw9C,KAAOO,GAGPpC,GAGTmE,OAAQ,SAAShC,GACf,IAAK,IAAIh8C,EAAI9B,KAAKg+C,WAAWj8C,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI80C,EAAQ52C,KAAKg+C,WAAWl8C,GAC5B,GAAI80C,EAAMkH,aAAeA,EAGvB,OAFA99C,KAAK6/C,SAASjJ,EAAMsH,WAAYtH,EAAMmH,UACtCE,EAAcrH,GACP+E,IAKb,MAAS,SAASiC,GAChB,IAAK,IAAI97C,EAAI9B,KAAKg+C,WAAWj8C,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAI80C,EAAQ52C,KAAKg+C,WAAWl8C,GAC5B,GAAI80C,EAAMgH,SAAWA,EAAQ,CAC3B,IAAIpB,EAAS5F,EAAMsH,WACnB,GAAoB,UAAhB1B,EAAO95B,KAAkB,CAC3B,IAAIq9B,EAASvD,EAAO5xC,IACpBqzC,EAAcrH,GAEhB,OAAOmJ,GAMX,MAAM,IAAIhjB,MAAM,0BAGlBijB,cAAe,SAAS5B,EAAUb,EAAYE,GAa5C,OAZAz9C,KAAKg9C,SAAW,CACd1mC,SAAU4lC,EAAOkC,GACjBb,WAAYA,EACZE,QAASA,GAGS,SAAhBz9C,KAAKod,SAGPpd,KAAK4K,IAAMW,GAGNowC,IAQJnyC,EA9sBK,CAqtBiBD,EAAOC,SAGtC,IACEy2C,mBAAqB9F,EACrB,MAAO+F,GAWmB,kBAAfC,WACTA,WAAWF,mBAAqB9F,EAEhCiG,SAAS,IAAK,yBAAdA,CAAwCjG,K,oCC/uB5C,mRAASn5C,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAsBpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAcA,EAAcA,EAAcA,EAAcA,EAAc,GAAI,QAAU,QAAmB,QAAgB,QAAiB,QAAgB,GAAI,CAC1Ny+C,QAAS,eAAS,QAElBC,aAAc,eAAS,QAAmB,GAE1CC,SAAU,eAAS,QAAmB,GACtCC,KAAM,eAAS,OAAyB,GAGxChrB,KAAM,eAAS,OAAkB,WAC9B,SAGMirB,EAA6B,aAAI9gD,OAAO,CACjD2D,KAAM,QACNo9C,WAAY,CACV,YAAa,QAGfn8C,OAAQ,CAAC,OAAgB,OAAS,OAAmB,OAAkB,OAAe,OAAgB,OAAe,OAAoB,QACzIrB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACLg9C,WAAY,OAGhB/gD,SAAU,CACRghD,cAAe,WACb,IAAIC,EAAS,CAGXC,QAAS9gD,KAAK+gD,cAAgB/gD,KAAKugD,SAAW,OAAS,MAYzD,OATKvgD,KAAK+gD,eAGRF,EAAOt0C,OAASvM,KAAK2gD,WAGrBE,EAAOG,UAAY,UAGdH,GAETI,gBAAiB,WAIf,OAAO,eAAQ,eAAUjhD,KAAKwgD,KAAM,GAAI,IAE1CU,gBAAiB,WACf,OAAO,eAAQlhD,KAAKihD,gBAAiB,eAAUjhD,KAAKqgD,QAAS,KAE/DU,aAAc,WAGZ,OAAO/gD,KAAKihD,kBAAoBjhD,KAAKkhD,gBAAkBlhD,KAAKihD,gBAAkB,MAEhF/0B,cAAe,WACb,IAAIZ,EAAWtrB,KAAKsrB,SAChBxe,EAAW9M,KAAK8M,SACpB,MAAO,CACL9C,GAAIhK,KAAK4kB,SACTthB,KAAMtD,KAAKsD,MAAQ,KACnB6oB,KAAMnsB,KAAKmsB,MAAQ,KACnBb,SAAUA,EACVhC,YAAatpB,KAAKspB,aAAe,KACjCxc,SAAUA,EACVmc,aAAcjpB,KAAKipB,cAAgB,KACnCO,SAAUxpB,KAAKwpB,UAAYxpB,KAAKupB,UAChCi3B,KAAMxgD,KAAK+gD,aACXvrB,KAAMx1B,KAAKw1B,MAAQ,KACnB,gBAAiBx1B,KAAK8M,SAAW,OAAS,KAC1C,eAAgB9M,KAAKosB,sBAGzBC,kBAAmB,WACjB,OAAOzqB,EAAcA,EAAc,GAAI5B,KAAKwG,aAAc,GAAI,CAC5DtG,MAAOF,KAAK8qB,QACZwB,OAAQtsB,KAAKmrB,SACbI,KAAMvrB,KAAKorB,WAIjB9X,MAAO,CACLqW,WAAY,WACV3pB,KAAKmhD,cAGTzmC,QAAS,WACP1a,KAAKmhD,aAEP5gD,QAAS,CAIP6gD,gBAAiB,SAAyBnL,GACpCA,GAGFj2C,KAAK6Y,UAAU7Y,KAAKmhD,YAGxBA,UAAW,WACT,IAAI3oC,EAAQxY,KAEZA,KAAK6Y,WAAU,WACb,gBAAU,WACRL,EAAMmoC,WAAanoC,EAAM6oC,uBAM/BA,cAAe,WACb,GAAIrhD,KAAKshD,YAAc,eAAOthD,KAAK+gD,cACjC,OAAO,KAGT,IAAIv6B,EAAKxmB,KAAKomB,IAGd,IAAK,eAAUI,GACb,OAAO,KAIT,IAAIo6B,EAAgB,eAAMp6B,GAEtB+6B,EAAa,eAAQX,EAAcW,WAAY,GAE/C/I,EAAS,eAAQoI,EAAcY,eAAgB,GAAK,eAAQZ,EAAca,kBAAmB,GAC7FC,EAAU,eAAQd,EAAce,WAAY,GAAK,eAAQf,EAAcgB,cAAe,GAEtFra,EAASiR,EAASkJ,EAElBG,EAAYN,EAAavhD,KAAKihD,gBAAkB1Z,EAEhDua,EAAY,eAASt7B,EAAI,WAAao6B,EAAcr0C,OAExD,eAASia,EAAI,SAAU,QACvB,IAAIu7B,EAAev7B,EAAGu7B,aAGtB,eAASv7B,EAAI,SAAUs7B,GAEvB,IAAIE,EAAc,gBAASD,EAAeL,GAAWH,EAAY,GAE7Df,EAAO,eAAQ,eAAQwB,EAAahiD,KAAKihD,iBAAkBjhD,KAAKkhD,iBAEhE30C,EAAS,eAAQ,eAASi0C,EAAOe,EAAaha,GAASsa,GAG3D,OAAI7hD,KAAKsgD,cAAgB,eAAQwB,EAAW,GAAKv1C,EACxCu1C,EAIF,GAAGh+C,OAAOyI,EAAQ,QAG7B/I,OAAQ,SAAgBC,GACtB,OAAOA,EAAE,WAAY,CACnB4C,MAAOrG,KAAK8pB,cACZ7X,MAAOjS,KAAK4gD,cACZF,WAAY,CAAC,CACXp9C,KAAM,YACNd,MAAOxC,KAAKohD,gBAEZpK,UAAW,CACT,KAAO,KAGX1wC,MAAOtG,KAAKksB,cACZxd,SAAU,CACRlM,MAAOxC,KAAK2pB,YAEdpjB,GAAIvG,KAAKqsB,kBACT5G,IAAK,c,mCC7MX,uKAASzkB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAa3M,IAAI0/C,EAAmB,CAAC,QAAS,MAAO,UAIpCC,EAAsB,gBAAQ,SAAUC,EAAYC,GAEtD,OADAA,EAAO,eAAK,eAASA,IACdA,EAAO,eAAU,CAAC,WAAYD,EAAYC,GAAM7gD,OAAO,QAAU0G,KAAK,MAAQ,QAInFo6C,EAA2B,gBAAQ,SAAUv5B,GAC/C,OAAO,eAAUA,EAAKjlB,QAAQ,OAAQ,QAIpCy+C,EAAkB,GAGXC,EAAgB,WAEzB,IAAIC,EAAe,iBAAyBvtC,QAAO,SAAU/R,EAAOi/C,GAElE,OADAj/C,EAAM,eAAei/C,EAAY,SAAW,eAAS,QAC9Cj/C,IACN,eAAO,OAIV,OAFAo/C,EAAkB,eAAKE,GAEhB,eAAsB,eAAS5gD,EAAcA,EAAc,GAAI4gD,GAAe,GAAI,CACvFC,aAAc,eAAS,OAAkB,MAAM,SAAUjgD,GACvD,OAAO,eAAc,eAAOy/C,EAAkB,UAAW,SAAU,WAAYz/C,MAEjFkgD,OAAQ,eAAS,OAAkB,MAAM,SAAUlgD,GACjD,OAAO,eAAc,eAAOy/C,EAAkB,UAAW,UAAWz/C,MAEtEmgD,OAAQ,eAAS,OAAkB,MAAM,SAAUngD,GACjD,OAAO,eAAc,eAAOy/C,EAAkB,WAAY,WAAYz/C,MAExEogD,UAAW,eAAS,QAAmB,GACvCh+C,IAAK,eAAS,OAAkB,UAC7B,UAMIi+C,EAAO,CAChBv/C,KAAM,QACNC,YAAY,EAEZ,YAME,cAFOvD,KAAKkD,MACZlD,KAAKkD,MAAQq/C,IACNviD,KAAKkD,OAGdM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIo/C,EAEA5/C,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChBs4C,EAASz/C,EAAMy/C,OACfD,EAASx/C,EAAMw/C,OACfD,EAAev/C,EAAMu/C,aAErB1rB,EAAY,GAWhB,OAVAurB,EAAgBrgD,SAAQ,SAAU6mB,GAChC,IAAIgT,EAAIomB,EAAoBG,EAAyBv5B,GAAO5lB,EAAM4lB,IAE9DgT,GACF/E,EAAUp1B,KAAKm6B,MAGnB/E,EAAUp1B,MAAMmhD,EAAkB,CAChC,aAAc5/C,EAAM0/C,WACnBzgD,EAAgB2gD,EAAiB,eAAeh/C,OAAO6+C,GAASA,GAASxgD,EAAgB2gD,EAAiB,mBAAmBh/C,OAAO4+C,GAASA,GAASvgD,EAAgB2gD,EAAiB,iBAAiBh/C,OAAO2+C,GAAeA,GAAeK,IACzOr/C,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,MACbxI,MAAO0wB,IACL1sB,M,kCCnGR,qKAASrJ,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,CACvC6/C,wBAAyB,eAAS,QAClCC,qBAAsB,eAAS,SAC9B,SAMQC,EAAsB,aAAItjD,OAAO,CAC1C2D,KAAM,QACNiB,OAAQ,CAAC,OAAY,OAAgB,QACrCmC,QAAS,WACP,MAAO,CACLC,gBAAiB3G,OAGrBwE,OAAQ,CAENoC,QAAS,CACPlC,QAEA,WACE,MAAO,MAIbC,cAAc,EACdzB,MAAOA,EACPtD,SAAU,CAERuhB,QAAS,WACP,OAAO,GAGTnc,OAAQ,WACN,OAAOhF,KAAK4G,QAAQE,MAGtB7B,UAAW,WACT,OAAOjF,KAAK4G,QAAQ3B,WAGtBE,aAAc,WACZ,OAAOnF,KAAK4G,QAAQzB,cAItBC,eAAgB,WACd,OAAO,GAKTC,gBAAiB,WACf,OAAQrF,KAAKiF,WAAajF,KAAK4G,QAAQG,cAGzCrB,aAAc,WACZ,OAAO1F,KAAK4G,QAAQlB,cAEtBw9C,kBAAmB,WACjB,OAAOljD,KAAKgjD,sBAAwBhjD,KAAK+iD,yBAE3CI,WAAY,WACV,OAAOvhD,EAAc,CACnBoE,KAAM,YACLhG,KAAKkG,UAEVk9C,WAAY,WACV,IAAIJ,EAAuBhjD,KAAKgjD,qBAChC,OAAOA,EAAuBphD,EAAcA,EAAc,GAAIohD,GAAuB,GAAI,CACvFp+C,IAAK,UACF,KAGTpB,OAAQ,SAAgBC,GACtB,IAAIE,EAAO,CACTT,MAAOlD,KAAKojD,WACZ98C,MAAOtG,KAAKmjD,YAYd,OATInjD,KAAKkjD,mBAEPv/C,EAAK4C,GAAKvG,KAAK+iD,yBAA2B,GAC1Cp/C,EAAK0/C,SAAWrjD,KAAKwG,aAGrB7C,EAAK4C,GAAKvG,KAAKwG,YAGV/C,EAAEzD,KAAKkjD,kBAAoB,mBAAqB,QAASv/C,EAAM3D,KAAKoG,qB,kCCzG/E,4GAIWlD,EAAQ,eAAsB,CACvCmuB,KAAM,eAAS,SACd,gBAGQiyB,EAAgB,aAAI3jD,OAAO,CACpCuD,MAAOA,EACPtD,SAAU,CACRqqB,cAAe,WACb,MAAO,CAACjqB,KAAKqxB,KAAO,gBAAgBvtB,OAAO9D,KAAKqxB,MAAQ,W,kCCb9D,8DAEIkyB,EAAkB,CAAC,KAAM,KAAM,MAGxBC,EAAc,SAAqB7vC,GAE5C,IAAKA,IAAUA,EAAM9R,OAEnB,OAAO,EAGT,IAAI2kB,EAAK7S,EAAM9R,OAEf,GAAI2kB,EAAG8E,WAAqD,IAAzCi4B,EAAgB78B,QAAQF,EAAGC,SAC5C,OAAO,EAIT,GAAI,eAAQ,iBAAkBD,GAC5B,OAAO,EAGT,IAAIlD,EAAuB,UAAfkD,EAAGC,QAAsBD,EAAK,eAAQ,QAASA,GAI3D,GAAIlD,EAAO,CACT,IAAImgC,EAAW,eAAQngC,EAAO,OAC1BpjB,EAAQujD,EAAW,eAAQA,GAAY,eAAO,0BAA2BngC,GAE7E,GAAIpjB,IAAUA,EAAMorB,SAClB,OAAO,EAOX,OAAO,eAAQ9E,EAAI,U,kCCtCrB,IAAIk9B,EAAI,EAAQ,QACZr6C,EAAY,EAAQ,QACpBs6C,EAAkB,EAAQ,QAC1Bl6C,EAAS,EAAQ,QACjBsH,EAAQ,EAAQ,QAEhB6yC,EAAgB,GAAIx8C,QACpBmnB,EAAQD,KAAKC,MAEbs1B,EAAM,SAAUpX,EAAG5iC,EAAGslC,GACxB,OAAa,IAANtlC,EAAUslC,EAAMtlC,EAAI,IAAM,EAAIg6C,EAAIpX,EAAG5iC,EAAI,EAAGslC,EAAM1C,GAAKoX,EAAIpX,EAAIA,EAAG5iC,EAAI,EAAGslC,IAG9E2U,EAAM,SAAUrX,GAClB,IAAI5iC,EAAI,EACJk6C,EAAKtX,EACT,MAAOsX,GAAM,KACXl6C,GAAK,GACLk6C,GAAM,KAER,MAAOA,GAAM,EACXl6C,GAAK,EACLk6C,GAAM,EACN,OAAOl6C,GAGPm6C,EAASJ,IACY,UAAvB,KAAQx8C,QAAQ,IACG,MAAnB,GAAIA,QAAQ,IACS,SAArB,MAAMA,QAAQ,IACuB,yBAArC,mBAAsBA,QAAQ,MAC1B2J,GAAM,WAEV6yC,EAAcryC,KAAK,OAKrBmyC,EAAE,CAAE7hD,OAAQ,SAAUoiD,OAAO,EAAMC,OAAQF,GAAU,CAEnD58C,QAAS,SAAiB+8C,GACxB,IAKIhpC,EAAGipC,EAAGj0B,EAAGzb,EALT2U,EAASs6B,EAAgB3jD,MACzBqkD,EAAch7C,EAAU86C,GACxBxgD,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GACvB2gD,EAAO,GACP16C,EAAS,IAGT26C,EAAW,SAAU16C,EAAGiyB,GAC1B,IAAIjf,GAAS,EACT2nC,EAAK1oB,EACT,QAASjf,EAAQ,EACf2nC,GAAM36C,EAAIlG,EAAKkZ,GACflZ,EAAKkZ,GAAS2nC,EAAK,IACnBA,EAAKj2B,EAAMi2B,EAAK,MAIhBC,EAAS,SAAU56C,GACrB,IAAIgT,EAAQ,EACRif,EAAI,EACR,QAASjf,GAAS,EAChBif,GAAKn4B,EAAKkZ,GACVlZ,EAAKkZ,GAAS0R,EAAMuN,EAAIjyB,GACxBiyB,EAAKA,EAAIjyB,EAAK,KAId66C,EAAe,WACjB,IAAI7nC,EAAQ,EACRiZ,EAAI,GACR,QAASjZ,GAAS,EAChB,GAAU,KAANiZ,GAAsB,IAAVjZ,GAA+B,IAAhBlZ,EAAKkZ,GAAc,CAChD,IAAI6Z,EAAI/sB,OAAOhG,EAAKkZ,IACpBiZ,EAAU,KAANA,EAAWY,EAAIZ,EAAIrsB,EAAO8H,KAAK,IAAK,EAAImlB,EAAE30B,QAAU20B,EAE1D,OAAOZ,GAGX,GAAIuuB,EAAc,GAAKA,EAAc,GAAI,MAAMt6C,WAAW,6BAE1D,GAAIsf,GAAUA,EAAQ,MAAO,MAC7B,GAAIA,IAAW,MAAQA,GAAU,KAAM,OAAO1f,OAAO0f,GAKrD,GAJIA,EAAS,IACXi7B,EAAO,IACPj7B,GAAUA,GAERA,EAAS,MAKX,GAJAlO,EAAI2oC,EAAIz6B,EAASw6B,EAAI,EAAG,GAAI,IAAM,GAClCO,EAAIjpC,EAAI,EAAIkO,EAASw6B,EAAI,GAAI1oC,EAAG,GAAKkO,EAASw6B,EAAI,EAAG1oC,EAAG,GACxDipC,GAAK,iBACLjpC,EAAI,GAAKA,EACLA,EAAI,EAAG,CACTopC,EAAS,EAAGH,GACZj0B,EAAIk0B,EACJ,MAAOl0B,GAAK,EACVo0B,EAAS,IAAK,GACdp0B,GAAK,EAEPo0B,EAASV,EAAI,GAAI1zB,EAAG,GAAI,GACxBA,EAAIhV,EAAI,EACR,MAAOgV,GAAK,GACVs0B,EAAO,GAAK,IACZt0B,GAAK,GAEPs0B,EAAO,GAAKt0B,GACZo0B,EAAS,EAAG,GACZE,EAAO,GACP76C,EAAS86C,SAETH,EAAS,EAAGH,GACZG,EAAS,IAAMppC,EAAG,GAClBvR,EAAS86C,IAAiBj7C,EAAO8H,KAAK,IAAK8yC,GAU7C,OAPEA,EAAc,GAChB3vC,EAAI9K,EAAO7H,OACX6H,EAAS06C,GAAQ5vC,GAAK2vC,EAClB,KAAO56C,EAAO8H,KAAK,IAAK8yC,EAAc3vC,GAAK9K,EAC3CA,EAAO5B,MAAM,EAAG0M,EAAI2vC,GAAe,IAAMz6C,EAAO5B,MAAM0M,EAAI2vC,KAE9Dz6C,EAAS06C,EAAO16C,EACTA,M,kCC3Hb,iLAAS5I,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAUpM,IAAIW,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAI,eAAU,OAAY,OAAegL,KAAK,KAAM,YAAa,GAAI,CACjJe,OAAQ,eAAS,QACjBg3C,YAAa,eAAS,QACtB/2C,WAAY,eAAS,WAClB,QAGMg3C,EAA2B,aAAIjlD,OAAO,CAC/C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAI0wC,EAEAlxC,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChBw6C,EAAkB3hD,EAAM2hD,gBACxBC,EAAsB5hD,EAAM4hD,oBAC5BC,EAAoB7hD,EAAM6hD,kBAC9B,OAAOthD,EAAEP,EAAM8hD,UAAW,eAAUrhD,EAAM,CACxCkL,YAAa,cACbxI,MAAO,CAACnD,EAAMyhD,aAAcvQ,EAAQ,GAAIjyC,EAAgBiyC,EAAO,MAAMtwC,OAAO+gD,GAAkBA,GAAkB1iD,EAAgBiyC,EAAO,UAAUtwC,OAAOghD,GAAsBA,GAAsB3iD,EAAgBiyC,EAAO,QAAQtwC,OAAOihD,GAAoBA,GAAoB3Q,IAClR1lC,SAAUrE,EAAW,GAAK,eAAWnH,EAAM0K,WAAY1K,EAAMyK,UAC3DtD,O,kCCtCR,gJAMWnH,EAAQ,eAAsB,CACvCwxC,SAAU,eAAS,QACnBuQ,YAAa,eAAS,OAAkB,MACxCC,oBAAqB,eAAS,OAAkB,UAC/C,QAGQC,EAA6B,aAAIxlD,OAAO,CACjD2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAEP,EAAM+hD,YAAa,eAAUthD,EAAM,CAC1CkL,YAAa,gBACbxI,MAAO,CAACnD,EAAMgiD,oBAAsB,QAAQphD,OAAOZ,EAAMgiD,qBAAuB,QAC9E76C,GAAY,eAASnH,EAAMwxC,e,kCCxBnC,ySAASn/B,EAAmB9N,GAAO,OAAO+N,EAAmB/N,IAAQgO,EAAiBhO,IAAQiO,EAA4BjO,IAAQkO,IAElI,SAASA,IAAuB,MAAM,IAAIC,UAAU,wIAEpD,SAASF,EAA4BG,EAAGC,GAAU,GAAKD,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOE,EAAkBF,EAAGC,GAAS,IAAIjM,EAAIzI,OAAOgQ,UAAU5J,SAAS+J,KAAKsE,GAAG7N,MAAM,GAAI,GAAiE,MAAnD,WAAN6B,GAAkBgM,EAAEG,cAAanM,EAAIgM,EAAEG,YAAY1S,MAAgB,QAANuG,GAAqB,QAANA,EAAoBoM,MAAMC,KAAKL,GAAc,cAANhM,GAAqB,2CAA2CsM,KAAKtM,GAAWkM,EAAkBF,EAAGC,QAAzG,GAE7S,SAASL,EAAiBW,GAAQ,GAAsB,qBAAXC,QAA0BA,OAAOC,YAAYlV,OAAOgV,GAAO,OAAOH,MAAMC,KAAKE,GAE1H,SAASZ,EAAmB/N,GAAO,GAAIwO,MAAMM,QAAQ9O,GAAM,OAAOsO,EAAkBtO,GAEpF,SAASsO,EAAkBtO,EAAK+O,IAAkB,MAAPA,GAAeA,EAAM/O,EAAI1F,UAAQyU,EAAM/O,EAAI1F,QAAQ,IAAK,IAAID,EAAI,EAAG2U,EAAO,IAAIR,MAAMO,GAAM1U,EAAI0U,EAAK1U,IAAO2U,EAAK3U,GAAK2F,EAAI3F,GAAM,OAAO2U,EAEhL,SAASzV,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAqB3M,IAAI6iD,EAAkB,SAAyB5iD,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAGjC6iD,EAAkB,SAAyB7iD,GAC7C,MAAO,QAAQsB,OAAOtB,GAAS,GAAI,MAI1BU,EAAQ,CAEjBoiD,eAAgB,eAAS,QAEzB9/C,YAAa,eAAS,QACtB+/C,WAAY,eAAS,QACrBC,aAAc,eAAS,SAIdC,EAAa,aAAI9lD,OAAO,CACjCuD,MAAOA,EACP3C,QAAS,CACPmlD,aAAc,SAAsBxwC,GAElC,MAAO,CAACA,EAAM7O,MAAQ6O,EAAM7O,MAAQ,GAAI6O,EAAMywC,QAAUzwC,EAAMywC,QAAU,KAE1EC,YAAa,SAAqBjyC,EAAOuB,EAAOgL,GAC1ClgB,KAAK0T,YAAc1T,KAAK0T,WAAWC,IAG5B,eAAYA,IAGZ,eAAoB3T,KAAKomB,OAOpC,eAAUzS,GACV3T,KAAKyT,MAAM,OAAyByB,EAAMhT,IAAKgT,EAAOvB,EAAOuM,KAE/D44B,YAAa,WACX,IAAItgC,EAAQxY,KAERkgB,EAASvf,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,IAAmBA,UAAU,GACxE+R,EAAS1S,KAAK2S,eACd6M,EAAaxf,KAAKwf,WAClBzD,EAAe/b,KAAK+b,aACpBvW,EAAcxF,KAAKwF,YACnBC,EAAczF,KAAKyF,YACnB6/C,EAAiBtlD,KAAKslD,eACtB1L,EAAiB55C,KAAK45C,eACtBn2C,EAAIzD,KAAK8S,eAGb,GAAI9S,KAAK8sB,iBAAqC,IAAlBpa,EAAO3Q,OACjC,OAAO0B,IAGT,IAAIoiD,EAAuBrmC,GAAcxf,KAAKwhB,YAAY,QAEtDvE,EAAgBlB,EAAe/b,KAAKid,cAAgB,OACpDlC,EAAgBgB,EAAe/b,KAAK+a,cAAgB,OAEpD+qC,EAAW,SAAkB5wC,EAAOkO,GACtC,IAAIE,EAAQpO,EAAMoO,MACdyiC,EAAY7wC,EAAM6wC,UAClB1hD,EAAU6Q,EAAM7Q,QAChBD,EAAe8Q,EAAM9Q,aACrBlC,EAAMgT,EAAMhT,IACZ8jD,EAAY,KAEX9wC,EAAMoO,MAAMmG,QAAWvU,EAAM+wC,cAKhCD,EAAY,eAAU9wC,EAAMhT,MAG9B,IAAIqE,EAAK,GAELs/C,IACFt/C,EAAGshB,MAAQ,SAAUlU,GACnB6E,EAAMotC,YAAYjyC,EAAOuB,EAAOgL,IAGlC3Z,EAAGuhB,QAAU,SAAUnU,GACrB,IAAIiT,EAAUjT,EAAMiT,QAEhBA,IAAY,QAAcA,IAAY,QACxCpO,EAAMotC,YAAYjyC,EAAOuB,EAAOgL,KAKtC,IAAIgmC,EAAY1mC,EAAahH,EAAMiI,iBAAiBve,EAAKgT,EAAOgL,GAAU,GACtEimC,EAAY3mC,EAAahH,EAAM+H,mBAAmBre,EAAKgT,EAAOgL,GAAU,KACxEkmC,EAAY5mC,EAAahH,EAAMmI,iBAAiBze,EAAKgT,EAAOgL,GAAU,KACtEvc,EAAO,CACT0C,MAAO,CAACmS,EAAMktC,aAAaxwC,GAAQixC,GACnCjjD,MAAO,CACLmB,QAASA,EACTD,aAAcA,GAEhB6N,MAAOiD,EAAMmxC,SAAW,GACxB//C,MAAO1E,EAAcA,EAAc,CAGjC0jB,SAAUugC,GAAwB3wC,EAAMuK,SAAW,IAAM,KACzD6mC,KAAMpxC,EAAMqxC,YAAc,KAC1Bl/C,MAAO6N,EAAM+wC,aAAe,KAC5B,gBAAiB7iC,EAAW,EAC5B,aAAc4iC,GACbxtC,EAAMgK,YAAY,KAAMtgB,EAAKgT,EAAM0O,OAAQ1D,EAAS,OAAS,OAAQ,KAAMgmC,GAC9E3/C,GAAIA,EACJrE,IAAKA,GAOHskD,EAAY,CAACpB,EAAgBljD,GAAMkjD,EAAgBljD,EAAIslB,eAAgB49B,KAEvEllC,IACFsmC,EAAY,CAACnB,EAAgBnjD,GAAMmjD,EAAgBnjD,EAAIslB,eAAgB69B,KAAmBvhD,OAAOyR,EAAmBixC,KAGtH,IAAIvgD,EAAQ,CACVqd,MAAOA,EACPmjC,OAAQvkD,EACRgT,MAAOA,EACPgL,OAAQA,EAERjD,cAAeA,EACflC,cAAeA,GAEb5U,EAAWqS,EAAMpS,cAAcogD,EAAWvgD,IAAUxC,EAAE,MAAO,CAC/DiL,SAAU,eAAWq3C,EAAWziC,KAE9BojC,EAAWN,EAAY3iD,EAAE,OAAQ,CACnCoL,YAAa,WACZ,KAAK/K,OAAOsiD,EAAW,MAAQ,KAElC,OAAO3iD,EAAE,OAAKE,EAAM,CAACwC,EAAUugD,GAAUnlD,OAAO,UAI9ColD,EAASj0C,EAAOtK,IAAI09C,GAAUvkD,OAAO,QAErCqlD,EAAO,GAEX,GAAI1mC,EACF0mC,EAAKjlD,KAAK8B,EAAE,OAAK,CACf4C,MAAOrG,KAAK85C,aACZ52C,MAAO,CACLmB,QAAS,eAAkBu1C,GAAkB0L,EAE7C1L,IAED+M,QACE,CACL,IAAI1gD,EAAQ,CACV+M,QAASN,EAAO3Q,OAChB2Q,OAAQA,EAERuK,cAAeA,EACflC,cAAeA,GAEjB6rC,EAAKjlD,KAAK3B,KAAKoG,cAAc,QAAqBH,IAAUxC,KAC5DmjD,EAAKjlD,KAAK8B,EAAE,OAAK,CACf4C,MAAOrG,KAAKwlD,aACZtiD,MAAO,CACLmB,QAASihD,IAEVqB,IAGL,OAAOljD,EAAEyc,EAAS,OAAS,OAAQ,CACjC7Z,OAAQ6Z,EAASlgB,KAAK65C,WAAa75C,KAAKulD,aAAe,KACvDriD,MAAOgd,EAAS,CACdza,YAAaA,GAAeD,GAAe,MACzC,CACFA,YAAaA,GAAe,MAE9BtD,IAAKge,EAAS,WAAa,YAC1B0mC,Q,sBClOR,SAASlwB,EAAEvb,GAAqD5R,EAAOC,QAAQ2R,EAAE,EAAQ,SAAzF,CAAyR,oBAAoB/P,MAAKA,MAAU,SAAUsrB,GAAG,OAAO,SAASA,GAAG,IAAIvb,EAAE,GAAG,SAAStR,EAAE60B,GAAG,GAAGvjB,EAAEujB,GAAG,OAAOvjB,EAAEujB,GAAGl1B,QAAQ,IAAIqM,EAAEsF,EAAEujB,GAAG,CAAC58B,EAAE48B,EAAElE,GAAE,EAAGhxB,QAAQ,IAAI,OAAOktB,EAAEgI,GAAGntB,KAAKsE,EAAErM,QAAQqM,EAAEA,EAAErM,QAAQK,GAAGgM,EAAE2kB,GAAE,EAAG3kB,EAAErM,QAAQ,OAAOK,EAAE6mB,EAAEgG,EAAE7sB,EAAEiyB,EAAE3gB,EAAEtR,EAAEwwB,EAAE,SAAS3D,EAAEvb,EAAEujB,GAAG70B,EAAEgM,EAAE6gB,EAAEvb,IAAI/Z,OAAOkB,eAAeo0B,EAAEvb,EAAE,CAACzZ,YAAW,EAAG3B,IAAI2+B,KAAK70B,EAAE60B,EAAE,SAAShI,GAAG,oBAAoBrgB,QAAQA,OAAOskC,aAAav5C,OAAOkB,eAAeo0B,EAAErgB,OAAOskC,YAAY,CAACn4C,MAAM,WAAWpB,OAAOkB,eAAeo0B,EAAE,aAAa,CAACl0B,OAAM,KAAMqH,EAAE6sB,EAAE,SAASA,EAAEvb,GAAG,GAAG,EAAEA,IAAIub,EAAE7sB,EAAE6sB,IAAI,EAAEvb,EAAE,OAAOub,EAAE,GAAG,EAAEvb,GAAG,iBAAiBub,GAAGA,GAAGA,EAAEmwB,WAAW,OAAOnwB,EAAE,IAAIgI,EAAEt9B,OAAOwO,OAAO,MAAM,GAAG/F,EAAE60B,EAAEA,GAAGt9B,OAAOkB,eAAeo8B,EAAE,UAAU,CAACh9B,YAAW,EAAGc,MAAMk0B,IAAI,EAAEvb,GAAG,iBAAiBub,EAAE,IAAI,IAAI7gB,KAAK6gB,EAAE7sB,EAAEwwB,EAAEqE,EAAE7oB,EAAE,SAASsF,GAAG,OAAOub,EAAEvb,IAAIvO,KAAK,KAAKiJ,IAAI,OAAO6oB,GAAG70B,EAAEA,EAAE,SAAS6sB,GAAG,IAAIvb,EAAEub,GAAGA,EAAEmwB,WAAW,WAAW,OAAOnwB,EAAEhyB,SAAS,WAAW,OAAOgyB,GAAG,OAAO7sB,EAAEwwB,EAAElf,EAAE,IAAIA,GAAGA,GAAGtR,EAAEgM,EAAE,SAAS6gB,EAAEvb,GAAG,OAAO/Z,OAAOgQ,UAAUmtB,eAAehtB,KAAKmlB,EAAEvb,IAAItR,EAAE6H,EAAE,GAAG7H,EAAEA,EAAEisB,EAAE,GAAj5B,CAAq5B,CAAC,SAAS3a,EAAEtR,GAAGsR,EAAE3R,QAAQktB,GAAG,SAASA,EAAEvb,EAAEtR,GAAG,aAAaA,EAAE60B,EAAEvjB,GAAGtR,EAAEwwB,EAAElf,EAAE,aAAY,WAAY,OAAO2gB,KAAKjyB,EAAEwwB,EAAElf,EAAE,UAAS,WAAY,OAAOzJ,KAAK,IAAIgtB,EAAE70B,EAAE,GAAGgM,EAAEhM,EAAEA,EAAE60B,GAAG58B,EAAE,CAAC,WAAW,UAAU,YAAY,gBAAgB,SAAS,gBAAgB,SAAS24B,IAAI,OAAOA,EAAEr5B,OAAOk9B,QAAQ,SAAS5H,GAAG,IAAI,IAAIvb,EAAE,EAAEA,EAAExa,UAAUoB,OAAOoZ,IAAI,CAAC,IAAItR,EAAElJ,UAAUwa,GAAG,IAAI,IAAIujB,KAAK70B,EAAEzI,OAAOgQ,UAAUmtB,eAAehtB,KAAK1H,EAAE60B,KAAKhI,EAAEgI,GAAG70B,EAAE60B,IAAI,OAAOhI,IAAIh2B,MAAMV,KAAKW,WAAW,IAAI+c,EAAE,SAASgZ,GAAG,OAAOA,EAAE7yB,QAAQ,kBAAkB,SAAS2jB,eAAe5V,EAAE,SAAS8kB,GAAG,OAAO+D,EAAE,GAAG/D,IAAI8D,EAAE14B,EAAEgC,OAAO,CAAC,gBAAgB,cAAc,gBAAgB,UAAU,wBAAwB,cAAcgyB,EAAE,CAAC,SAAS,cAAcgG,EAAE,CAACx4B,KAAK,aAAaE,OAAO,SAASkzB,GAAG,OAAOA,EAAE,QAAQ,CAACpwB,MAAM,CAACoc,KAAK,OAAO,cAAa,GAAIxf,MAAM,CAACooB,SAAStrB,KAAKsrB,UAAU/kB,GAAG,CAACrG,MAAMF,KAAK8qB,YAAY5nB,MAAM,CAACV,MAAM,CAACkC,QAAQ,KAAKoI,UAAS,EAAGg6C,UAAU,SAASpwB,GAAG,OAAO,OAAOA,GAAGA,aAAa7tB,MAAM,iBAAiB6tB,GAAGA,aAAa/sB,QAAQ+sB,aAAazgB,OAAO,iBAAiBygB,IAAI6E,OAAO,CAAC7Y,KAAKthB,OAAOsD,QAAQ,WAAW,MAAM,CAAC8wB,MAAK,EAAG4L,YAAY,QAAQ2lB,OAAO,CAACrkC,KAAKzM,MAAMvR,QAAQ,WAAW,OAAO5C,IAAIwpB,SAAS,CAAC5I,KAAK5J,QAAQpU,SAAQ,IAAKf,KAAK,WAAW,MAAM,CAACsM,GAAG,OAAOyK,QAAQ,WAAW,IAAIgc,EAAE12B,KAAK,IAAIA,KAAKiQ,GAAG,CAAC,IAAIkL,EAAEvJ,EAAE5R,KAAKu7B,QAAQv7B,KAAK+mD,OAAO9kD,SAAQ,SAAU4H,GAAG,IAAI60B,EAAE58B,EAAE+T,EAAE6H,EAAEshB,cAAcn1B,IAAI,GAAGsR,EAAEtR,IAAI60B,EAAEvjB,EAAEtR,IAAI,GAAG60B,aAAazoB,MAAMyoB,EAAE,CAACA,IAAI56B,OAAOhC,GAAE,WAAY,IAAI,IAAIqZ,EAAExa,UAAUoB,OAAO28B,EAAE,IAAIzoB,MAAMkF,GAAGtF,EAAE,EAAEA,EAAEsF,EAAEtF,IAAI6oB,EAAE7oB,GAAGlV,UAAUkV,GAAG6gB,EAAEjjB,MAAM/S,MAAMg2B,EAAE,CAAChZ,EAAE7T,IAAI/F,OAAO46B,UAAUvjB,EAAEimB,YAAYphC,KAAKwC,OAAO2Y,EAAEimB,YAAYphC,KAAKiQ,GAAG,IAAI4F,EAAE6H,EAAE1d,KAAKgnD,UAAU7rC,GAAGnb,KAAKinD,UAAUlkB,iBAAiB,OAAO/iC,KAAKorB,QAAQprB,KAAK8a,IAAI,WAAW9a,KAAKs0B,SAASt0B,KAAKknD,OAAO,WAAWlnD,KAAKmnD,cAAc,CAACC,WAAU,MAAO7mD,QAAQ,CAACymD,QAAQ,WAAW,OAAOhnD,KAAKu7B,OAAO/F,KAAKx1B,KAAKomB,IAAIsR,WAAW13B,KAAKomB,KAAK0E,QAAQ,SAAS4L,GAAG,IAAIvb,EAAEnb,KAAK6J,EAAE6sB,EAAE70B,OAAO7B,KAAK6Y,WAAU,WAAYsC,EAAE1H,MAAM,QAAQ5J,EAAErH,WAAWykD,QAAQ,WAAW,OAAOjnD,KAAKiQ,GAAG+hB,UAAUhyB,KAAKiQ,GAAG/P,OAAOkrB,OAAO,SAASsL,GAAG12B,KAAKyT,MAAM,OAAOijB,EAAE70B,OAAOW,QAAQ8xB,QAAQ,SAASoC,EAAEvb,GAAGnb,KAAKyT,MAAM,QAAQ0H,IAAIgsC,cAAc,SAASzwB,GAAGA,EAAE12B,KAAKinD,UAAU/uB,aAAa,WAAWxB,GAAG12B,KAAKinD,UAAUnc,gBAAgB,cAAcx3B,MAAM,CAACioB,OAAO,CAACljB,MAAK,EAAGC,QAAQ,SAASoe,GAAG,IAAIvb,EAAEnb,KAAK6J,EAAE+H,EAAE8kB,GAAG8D,EAAEv4B,SAAQ,SAAUy0B,UAAU7sB,EAAE6sB,MAAM12B,KAAKiQ,GAAG9P,IAAI0J,GAAGisB,EAAE7zB,SAAQ,SAAUy0B,QAAG,IAAS7sB,EAAE6sB,IAAIvb,EAAElL,GAAG9P,IAAIu2B,EAAE7sB,EAAE6sB,SAASl0B,MAAM,SAASk0B,GAAGA,IAAI12B,KAAKomB,IAAI5jB,OAAOxC,KAAKiQ,IAAIjQ,KAAKiQ,GAAGujB,QAAQkD,GAAE,KAAM3d,cAAc,WAAW/Y,KAAKiQ,KAAKjQ,KAAKinD,UAAUhkB,oBAAoB,OAAOjjC,KAAKorB,QAAQprB,KAAKiQ,GAAG06B,UAAU3qC,KAAKiQ,GAAG,QAAQyB,EAAE,SAASglB,EAAEvb,GAAG,IAAItR,EAAE,aAAa,iBAAiBsR,IAAItR,EAAEsR,GAAGub,EAAE2wB,UAAUx9C,EAAEiyB,IAAIA,EAAEwrB,QAAQ51C,EAAEyJ,EAAEzW,QAAQo3B,KAAKp3B,Y,4QCSl0H6iD,EAAW,SAAAhlD,GAAG,MAAmB,WAAf,eAAOA,IAA4B,OAARA,GAE7C0G,EAAU,SAAAD,GACrB,IAAMw+C,EAAQ,IAAI3+C,KAClB,OAEEG,EAAKyqB,YAAc+zB,EAAM/zB,WACzBzqB,EAAKgyB,aAAewsB,EAAMxsB,YAC1BhyB,EAAK4qB,gBAAkB4zB,EAAM5zB,eAYpB6zB,EAAuB,SAAAC,GAClC,MAAiCC,OAAOn9C,QAAQk9C,GAAjCE,EAAf,EAAQF,MACR,OAAOE,EAActvB,OAASqvB,OAAOE,aAAavvB,MAIvCwvB,EAAY,WACvB,IAAMC,EAAKC,kCAAqBC,MAC1BnL,EAAQoL,sBAAS,CACrBR,MAAOK,EAAGI,SAUZ,OAPA70C,oBACE,kBAAMy0C,EAAGI,UACT,SAAAzpB,GACEoe,EAAM4K,MAAQhpB,KAIlB,iCAAY0pB,oBAAOtL,IAAnB,IAA2B6K,OAAQI,EAAGM,WAG3BC,EAAc,SAAA/lD,GAAG,OAAIsrC,KAAKC,MAAMD,KAAKE,UAAUxrC,M,kCCnD5D,uHAASvB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAQpM,IAAIW,EAAQ,eAAsB,eAAK,OAAuB,CAAC,WAAY,SAGvEqlD,EAAiC,aAAI5oD,OAAO,CACrD2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAEpB,OAAO5G,EAAE,OAAkB,eAAUE,EAAM,CACzCT,MAAOtB,EAAcA,EAAc,GAAIsB,GAAQ,GAAI,CACjDgf,QAAQ,MAER7X,O,yCC5BR,IAAI7G,EAAS,WACX,IAAIglD,EAAIxoD,KACJyoD,EAAGD,EAAI11C,eACP0oB,EAAGgtB,EAAIE,MAAMltB,IAAIitB,EAErB,OAAOjtB,EAAG,MAAO,CAACA,EAAG,QAAS,CAACA,EAAG,QAAS,CAACA,EAAG,SAAU,CACvD3sB,YAAa,8CACZ,CAAC2sB,EAAG,QAAS,CACdl1B,MAAO,CACL,UAAW,WAEZ,CAACk1B,EAAG,QAAS,CAACA,EAAG,KAAM,CAACA,EAAG,eAAgB,CAC5C3sB,YAAa,QACbvI,MAAO,CACL,KAAQ,WACR,KAAQ,QAERkiD,EAAIG,GAAG,2BAA4B,GAAIntB,EAAG,KAAM,CAClD3sB,YAAa,QACZ,CAAC25C,EAAIG,GAAG,iCAAkC,IAAK,IAAK,IAAK,GAAIntB,EAAG,SAAU,CAC3Ej1B,GAAI,CACF,OAAU,SAAgBqiD,GAExB,OADAA,EAAOzc,iBACAqc,EAAIK,WAAWnoD,MAAM,KAAMC,cAGrC,CAAC66B,EAAG,QAAS,CAACA,EAAG,QAAS,CAC3Bl1B,MAAO,CACL,GAAM,OAEP,CAACk1B,EAAG,gBAAiB,CACtB3sB,YAAa,0BACZ,CAAC2sB,EAAG,wBAAyB,CAC9Bl1B,MAAO,CACL,UAAW,KAEZ,CAACk1B,EAAG,eAAgB,CACrBl1B,MAAO,CACL,KAAQ,iBAEP,GAAIk1B,EAAG,eAAgB,CAC1Bl1B,MAAO,CACL,YAAe,mBAEjBwiD,MAAO,CACLtmD,MAAOgmD,EAAIO,OAAOC,UAClBnT,SAAU,SAAkBoT,GAC1BT,EAAI1lC,KAAK0lC,EAAIO,OAAQ,YAAaE,IAEpCC,WAAY,uBAEX,IAAK,GAAI1tB,EAAG,QAAS,CACxBl1B,MAAO,CACL,GAAM,QAEL,IAAK,GAAIk1B,EAAG,SAAU,CACzB3sB,YAAa,OACbvI,MAAO,CACL,UAAW,KAEZ,CAACk1B,EAAG,UAAW,CAChB/V,IAAK,mBACL5W,YAAa,oBACbs6C,YAAa,CACX,aAAc,QAEhB7iD,MAAO,CACL,MAASkiD,EAAIY,aACb,WAAc,GACd,OAAUZ,EAAIa,aACd,cAAe,KACf,UAAWb,EAAInuC,OACf,aAAc,GACd,aAAc,4BACd,YAAamuC,EAAIc,eAEnB/iD,GAAI,CACF,gBAAiB,SAAsBqiD,GACrCJ,EAAInuC,OAASuuC,GAEf,iBAAkB,SAAsBA,GACtCJ,EAAInuC,OAASuuC,GAEf,kBAAmB,SAAwBA,GACzCJ,EAAIc,cAAgBV,GAEtB,mBAAoB,SAAwBA,GAC1CJ,EAAIc,cAAgBV,IAGxBv7C,YAAam7C,EAAIe,GAAG,CAAC,CACnBrnD,IAAK,aACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC6kD,EAAIG,GAAG,IAAMH,EAAIgB,GAAG7lD,EAAKsV,KAAKwwC,eAAeT,WAAa,IAAMR,EAAIgB,GAAG7lD,EAAKsV,KAAKwwC,eAAeC,UAAY,QAErH,CACDxnD,IAAK,iBACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC6kD,EAAIG,GAAG,IAAMH,EAAIgB,GAAG7lD,EAAKsV,KAAK0wC,WAAa,QAEpD,CACDznD,IAAK,oBACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC6kD,EAAIG,GAAG,IAAMH,EAAIgB,GAAG7lD,EAAKsV,KAAKwwC,eAAeG,OAAOC,MAAQ,MAAQrB,EAAIgB,GAAG7lD,EAAKsV,KAAKwwC,eAAeG,OAAO9M,OAAS,QAE7H,CACD56C,IAAK,aACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC63B,EAAG,UAAW,CACpBl1B,MAAO,CACL,iBAAkB,UAEpB+G,YAAam7C,EAAIe,GAAG,CAAC,CACnBrnD,IAAK,QACLiJ,GAAI,WACF,MAAO,CAACqwB,EAAG,WAAY,CACrBl1B,MAAO,CACL,KAAQ,KACR,IAAO3C,EAAKsV,KAAK6wC,OACjB,KAAQtB,EAAItgD,WAAWvE,EAAKsV,KAAK8wC,UACjC,QAAW,SAASjmD,OAAO0kD,EAAIwB,uBAAuBrmD,EAAKsV,KAAKjT,OAChE,GAAM,CACJ1C,KAAM,kBACN4L,OAAQ,CACNlF,GAAIrG,EAAKsV,KAAKjP,UAMxBi+C,OAAO,IACL,MAAM,IACT,CAACzsB,EAAG,SAAU,CACf3sB,YAAa,uCACbvI,MAAO,CACL,GAAM,CACJhD,KAAM,kBACN4L,OAAQ,CACNlF,GAAIrG,EAAKsV,KAAKjP,OAInB,CAACw+C,EAAIG,GAAG,IAAMH,EAAIgB,GAAG7lD,EAAKsV,KAAK8wC,UAAY,OAAQvuB,EAAG,QAAS,CAChE3sB,YAAa,cACZ,CAAC25C,EAAIG,GAAG,IAAMH,EAAIgB,GAAG7lD,EAAKsV,KAAKgxC,cAAe,MAElD,CACD/nD,IAAK,aACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC63B,EAAG,MAAO,CAChB3sB,YAAa,eACZ,CAAC2sB,EAAG,eAAgB,CACrB3sB,YAAa,QACbxI,MAAO,QAAQvC,OAAO0kD,EAAIwB,uBAAuBrmD,EAAKsV,KAAKjT,OAC3DM,MAAO,CACL,KAAQkiD,EAAI0B,oBAAoBvmD,EAAKsV,KAAKjT,MAC1C,KAAQ,QAERw1B,EAAG,OAAQ,CACb3sB,YAAa,kCACZ,CAAC25C,EAAIG,GAAGH,EAAIgB,GAAG7lD,EAAKsV,KAAKjT,UAAW,MAExC,CACD9D,IAAK,eACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC63B,EAAG,UAAW,CACpB3sB,YAAa,kBACbvI,MAAO,CACL,KAAQ,GACR,QAAW,SAASxC,OAAO0kD,EAAI2B,yBAAyBxmD,EAAKsV,KAAKwwC,eAAeG,OAAOQ,WAEzF,CAAC5B,EAAIG,GAAG,IAAMH,EAAIgB,GAAGhB,EAAI6B,sBAAsB1mD,EAAKsV,KAAKwwC,eAAeG,OAAOQ,SAAW,UAE9F,CACDloD,IAAK,gBACLiJ,GAAI,SAAYxH,GACd,MAAO,CAAC63B,EAAG,aAAc,CACvBl1B,MAAO,CACL,QAAW,OACX,WAAY,GACZ,MAASkiD,EAAI8B,OAAOxN,MAAMyN,UAAUC,OAEtCn9C,YAAam7C,EAAIe,GAAG,CAAC,CACnBrnD,IAAK,iBACLiJ,GAAI,WACF,MAAO,CAACqwB,EAAG,eAAgB,CACzB3sB,YAAa,yBACbvI,MAAO,CACL,KAAQ,mBACR,KAAQ,UAId2hD,OAAO,IACL,MAAM,IACT,CAACzsB,EAAG,kBAAmB,CAACA,EAAG,eAAgB,CAC5Cl1B,MAAO,CACL,KAAQ,cAERk1B,EAAG,OAAQ,CACb3sB,YAAa,qBACbvI,MAAO,CACL,QAAW,8BAEZ,CAACkiD,EAAIG,GAAG,4BAA6B,GAAIntB,EAAG,kBAAmB,CAChEl1B,MAAO,CACL,GAAM,CACJhD,KAAM,iBACN4L,OAAQ,CACNu7C,WAAY9mD,EAAKsV,KAAKjP,OAI3B,CAACwxB,EAAG,eAAgB,CACrBl1B,MAAO,CACL,KAAQ,gBAERk1B,EAAG,OAAQ,CACb3sB,YAAa,sBACZ,CAAC25C,EAAIG,GAAG,iBAAkB,GAAIntB,EAAG,kBAAmB,CACrDl1B,MAAO,CACL,GAAM,CACJhD,KAAM,eAGT,CAACk4B,EAAG,eAAgB,CACrBl1B,MAAO,CACL,KAAQ,kBAERk1B,EAAG,OAAQ,CACb3sB,YAAa,sBACZ,CAAC25C,EAAIG,GAAG,iBAAkB,GAAIntB,EAAG,kBAAmB,CACrDl1B,MAAO,CACL,GAAM,CACJhD,KAAM,eACN4L,OAAQ,CACNlF,GAAIrG,EAAKsV,KAAKjP,OAInB,CAACwxB,EAAG,eAAgB,CACrBl1B,MAAO,CACL,KAAQ,cAERk1B,EAAG,OAAQ,CACb3sB,YAAa,sBACZ,CAAC25C,EAAIG,GAAG,sBAAuB,IAAK,WAGxC,IAAK,IAER+B,EAAkB,G,oVCUtB,GACE5nD,WAAY,CACVoK,MAAJ,OACI6T,OAAJ,OACI4pC,UAAJ,OACIC,cAAJ,OACIC,OAAJ,OACIC,MAAJ,OACIhpC,OAAJ,OACIipC,QAAJ,OACItK,cAAJ,OACInvB,YAAJ,OACI05B,WAAJ,OACIh/B,WAAJ,OACI/J,mBAAJ,OACIsmC,kBAAJ,OACI1F,KAAJ,OACIoI,KAAJ,OACIC,QAAJ,OACI9gD,MAAJ,OACI+gD,UAAJ,KAEExnD,KAAM,WAAR,OACA,4DACA,UACA,WACA,aACA,cACA,8BACA,eACA,YACA,iBACA,gBACA,gBACA,kBACA,gBACA,cACA,uBACA,mDACA,sCACA,8CACA,oDACA,2BACA,8CAGE+W,QA9CF,WA+CI1a,KAAK6oD,cAEPtoD,QAAS,CACP6qD,eADJ,SACA,GAEM,OADI7oD,EAAI8oD,cAAa9oD,EAAI8oD,YAAc9oD,EAAI8oD,YAAc,GAA/D,kEACa9oD,GAET,WALJ,WAKA,wKAEA,0CAFA,OAEA,eAFA,OAGA,iBAHA,8CAqBI8nD,sBAAuB,SAA3B,GACM,MAAe,aAAXD,EAA8B,UACnB,WAAXA,EAA4B,QACjB,SAAXA,EAA0B,UACf,UAAXA,EAA2B,SACxB,IAGTD,yBAA0B,SAA9B,GACM,MAAe,aAAXC,EAA8B,UACnB,WAAXA,EAA4B,UACjB,SAAXA,EAA0B,UACf,UAAXA,EAA2B,SACxB,aC7V4V,I,wBCQrW/C,EAAY,eACd,EACA7jD,EACAknD,GACA,EACA,KACA,KACA,MAIa,aAAArD,E,2CCnBf,kDAMWiE,EAAsB,WAC/B,IAAI9kC,EAAK7lB,UAAUoB,OAAS,QAAsBwJ,IAAjB5K,UAAU,GAAmBA,UAAU,GAAKoR,SACzEw5C,EAAM,iBACV,SAAOA,GAAiC,KAA1BA,EAAI/jD,WAAWiiB,QAAiB8hC,EAAIC,cAAgB,eAAUhlC,KAE5E+kC,EAAIC,aAAahlC,GAAI,K,kCCXvB,kGAKWtjB,EAAQ,eAAsB,CACvC0B,IAAK,eAAS,OAAkB,QAC/B,SAGQ6mD,EAA+B,aAAI9rD,OAAO,CACnD2D,KAAM,QACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SACpB,OAAO5G,EAAEP,EAAM0B,IAAK,eAAUjB,EAAM,CAClCkL,YAAa,qBACXxE,O,kCCpBR,sFAKWnH,EAAQ,eAAsB,CACvC8K,UAAW,eAAS,QACpBC,cAAe,eAAS,QACxBrJ,IAAK,eAAS,OAAkB,OAChCmJ,YAAa,eAAS,SACrB,QAGoB,aAAIpO,OAAO,CAChCuD,MAAOA,K,kCCdT,gGAGWA,EAAQ,GAGRwoD,EAAgB,aAAI/rD,OAAO,CACpCY,QAAS,CACPs4C,eAAgB,WACd,IAAInmC,EAAS1S,KAAK2S,eACdlP,EAAIzD,KAAK8S,eACT64C,EAAYloD,IAWhB,OATIzD,KAAK+S,kBAAkB,WACzB44C,EAAYloD,EAAE,WAAY,CACxBvB,IAAK,YACJ,CAAClC,KAAKoG,cAAc,QAA0B,CAC/C4M,QAASN,EAAO3Q,OAChB2Q,OAAQA,OAILi5C,O,kCCtBb,wHAKIC,EAAW,0BAEJ1oD,EAAQ,eAAsB,CACvC2oD,UAAW,eAAS,QAAmB,GACvCvgC,SAAU,eAAS,QAAmB,GACtCa,KAAM,eAAS,QACfniB,GAAI,eAAS,QACb1G,KAAM,eAAS,QACfwJ,SAAU,eAAS,QAAmB,IACrC,gBAGQg/C,EAAmB,aAAInsD,OAAO,CACvCuD,MAAOA,EACPwX,QAAS,WACP1a,KAAK+rD,mBAIPt/B,UAAW,WACTzsB,KAAK+rD,mBAEPxrD,QAAS,CACPwrD,gBAAiB,WACf,IAAIvzC,EAAQxY,KAEZA,KAAK6Y,WAAU,WACb,gBAAU,WACR,IAAI2N,EAAKhO,EAAM4N,IAEX5N,EAAMqzC,WAAa,eAAUrlC,KAC1B,eAAQA,EAAIolC,KACfplC,EAAK,eAAOolC,EAAUplC,IAGxB,eAAaA,e,kCCxCzB,qQAASxlB,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAkB3M,IAAIypD,EAAa,WACbC,EAAQ,CAAC,KAAM,KAAM,MACrBC,EAAkB,GAClBC,EAA0C,GAAlBD,EAEjBE,EAAc,SAAqB5pD,GAI5C,OAFAA,EAAQ,eAASA,IAAU,eAAUA,GAAS,eAAQA,EAAO,GAAKA,EAE3D,eAASA,GAAS,GAAGsB,OAAOtB,EAAO,MAAQA,GAAS,MAGzD6pD,EAAY,eAAK,OAAY,CAAC,SAAU,QAAS,cAC1CnpD,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIyqD,GAAY,GAAI,CAChGhgD,IAAK,eAAS,OAAkB,UAChC25C,UAAW,eAAS,QACpBsG,MAAO,eAAS,QAA0B,GAC1CC,UAAW,eAAS,QAAmB,GACvCC,YAAa,eAAS,QACtBC,SAAU,eAAS,QAAmB,GACtCC,aAAc,eAAS,OAAkB,WACzCC,OAAQ,eAAS,QAAmB,GACpCC,WAAY,eAAS,OAAkB,UACvCzpD,KAAM,eAAS,QACfuqB,QAAS,eAAS,QAA0B,GAC5C2D,KAAM,eAAS,QACfw7B,OAAQ,eAAS,QAAmB,GACpCzgD,IAAK,eAAS,QACd0gD,KAAM,eAAS,QACfzoD,QAAS,eAAS,OAAkB,gBACjC,QAGM0mD,EAAuB,aAAIprD,OAAO,CAC3C2D,KAAM,OACNiB,OAAQ,CAAC,QACTC,OAAQ,CACNuoD,cAAe,CACbroD,QAAS,OAGbxB,MAAOA,EACPS,KAAM,WACJ,MAAO,CACLqpD,SAAUhtD,KAAKoM,KAAO,OAG1BxM,SAAU,CACRqtD,aAAc,WAEZ,IAAIF,EAAgB/sD,KAAK+sD,cACzB,OAAOX,EAAYW,EAAgBA,EAAc17B,KAAOrxB,KAAKqxB,OAE/D67B,gBAAiB,WACf,IAAIH,EAAgB/sD,KAAK+sD,cACzB,OAAOA,GAAiBA,EAAc1oD,QAAU0oD,EAAc1oD,QAAUrE,KAAKqE,SAE/E8oD,gBAAiB,WACf,IAAIJ,EAAgB/sD,KAAK+sD,cACrBF,KAASE,IAAiBA,EAAcF,SAAgB7sD,KAAK6sD,OAC7Dn/B,EAAUq/B,GAAiBA,EAAcr/B,QAAUq/B,EAAcr/B,QAAU1tB,KAAK0tB,QACpF,OAAOm/B,EAAS,IAAkB,KAAZn/B,IAAwBA,GAAW,WAE3D0/B,UAAW,WACT,IAAI/7B,EAAOrxB,KAAKitD,aACZI,GAAoC,IAAzBpB,EAAMvlC,QAAQ2K,GAAe,QAAQvtB,OAAOutB,EAAM,OAAOvtB,OAAOooD,EAAiB,KAAO,KACvG,OAAOmB,EAAW,CAChBA,SAAUA,GACR,IAENC,YAAa,WACX,IAAIj8B,EAAOrxB,KAAKitD,aACZF,EAAgB/sD,KAAK+sD,cACrBQ,EAAeR,EAAgBA,EAAcQ,aAAe,EAC5D/qD,EAAQ6uB,GAAQk8B,EAAe,QAAQzpD,OAAOutB,EAAM,QAAQvtB,OAAOypD,EAAc,KAAO,KAC5F,OAAO/qD,EAAQ,CACbgrD,WAAYhrD,EACZirD,YAAajrD,GACX,IAENkrD,WAAY,WACV,IAAIr8B,EAAOrxB,KAAKitD,aACZR,EAAWzsD,KAAKysD,SAChBF,EAAYvsD,KAAKusD,UACjBC,EAAcxsD,KAAKwsD,YACnBjlB,EAASilB,GAAe,MAC5B,MAAO,CACLa,UAAmC,IAAzBpB,EAAMvlC,QAAQ2K,GAAe,QAAQvtB,OAAOutB,EAAM,OAAOvtB,OAAOqoD,EAAuB,MAAQ,KACzGjgD,IAAKugD,EAAWllB,EAAS,KACzBx7B,OAAQ0gD,EAAW,KAAOllB,EAC1B76B,KAAM6/C,EAAYhlB,EAAS,KAC3B96B,MAAO8/C,EAAY,KAAOhlB,KAIhCj0B,MAAO,CACLlH,IAAK,SAAamH,EAAUC,GACtBD,IAAaC,IACfxT,KAAKgtD,SAAWz5C,GAAY,QAIlChT,QAAS,CACPotD,WAAY,SAAoBh6C,GAC9B3T,KAAKgtD,SAAW,KAChBhtD,KAAKyT,MAAM,OAAsBE,IAEnCi6C,QAAS,SAAiBj6C,GACxB3T,KAAKyT,MAAM,OAAkBE,KAGjCnQ,OAAQ,SAAgBC,GACtB,IAAIoqD,EAEAxpD,EAAUrE,KAAKktD,gBACf5hC,EAAWtrB,KAAKsrB,SAChBoC,EAAU1tB,KAAKmtD,gBACfhqD,EAAOnD,KAAKmD,KACZiJ,EAAMpM,KAAKgtD,SACXF,EAAO9sD,KAAK8sD,KACZM,EAAYptD,KAAKotD,UACjBE,EAActtD,KAAKstD,YACnBj8B,EAAOrxB,KAAKitD,aACZN,EAAS3sD,KAAK2sD,OACdjqC,EAAO1iB,KAAK4sD,WACZN,EAAQtsD,KAAKssD,MACbI,EAAe1sD,KAAK0sD,aACpBgB,EAAa1tD,KAAK0tD,WAClBI,GAAQnB,GAAU,eAAO3sD,MACzB4E,EAAM+nD,EAAS,OAAUmB,EAAO,OAAQ,OACxCzhD,EAAMrM,KAAKqM,IACX25C,EAAYhmD,KAAKgmD,WAAa,KAC9B7/C,EAAW,KAEXnG,KAAK+S,oBAEP5M,EAAW1C,EAAE,OAAQ,CACnBoL,YAAa,mBACZ,CAAC7O,KAAKoG,kBACAgG,GACTjG,EAAW1C,EAAE,MAAO,CAClBwO,MAAO5N,EAAU,GAAK,CACpBiI,MAAO,OACPC,OAAQ,QAEVjG,MAAO,CACL8F,IAAKA,EACLC,IAAKA,GAEP9F,GAAI,CACFuE,MAAO9K,KAAK2tD,cAGhBxnD,EAAW1C,EAAE,OAAQ,CACnBoL,YAAa,gBACZ,CAAC1I,KAEJA,EADShD,EACEM,EAAE,OAAO,CAClBP,MAAO,CACLC,KAAMA,GAERmD,MAAO,CACL,cAAe,OACf+F,IAAKA,KAGAygD,EACErpD,EAAE,OAAQ,CACnBoL,YAAa,gBACboD,MAAOm7C,GACN,CAAC3pD,EAAE,OAAQqpD,KAGHrpD,EAAE,OAAiB,CAC5B6C,MAAO,CACL,cAAe,OACf+F,IAAKA,KAKX,IAAI0hD,EAAStqD,IACTuqD,EAAehuD,KAAK+S,kBAAkB,QAE1C,GAAIu5C,GAAmB,KAAVA,GAAgB0B,EAAc,CACzC,IAAIC,GAAsB,IAAV3B,EAAiB,GAAKA,EACtCyB,EAAStqD,EAAE,OAAQ,CACjBoL,YAAa,iBACbxI,MAAOlE,EAAgB,GAAI,SAAS2B,OAAO4oD,GAAeA,GAC1Dz6C,MAAOy7C,GACN,CAACM,EAAehuD,KAAKoG,cAAc,QAAmB6nD,IAG3D,IAAIC,EAAgB,CAClBr/C,YAAam9C,EACb3lD,OAAQwnD,EAAU,GAAI1rD,EAAgB0rD,EAAS,GAAG/pD,OAAOkoD,EAAY,KAAKloD,OAAOutB,GAAOA,IAAiC,IAAzB46B,EAAMvlC,QAAQ2K,IAAelvB,EAAgB0rD,EAAS,SAAS/pD,OAAOO,IAAWsoD,GAAUtoD,GAAUlC,EAAgB0rD,EAAS,WAAuB,IAAZngC,GAAmBvrB,EAAgB0rD,EAAS,WAAW/pD,OAAO4pB,GAAUA,IAAuB,IAAZA,GAAmBvrB,EAAgB0rD,EAAS,WAAYviC,GAAWuiC,GAC/X57C,MAAOrQ,EAAcA,EAAc,GAAI0rD,GAAc,GAAI,CACvDhhD,MAAO+kB,EACP9kB,OAAQ8kB,IAEV/qB,MAAO,CACL,aAAc0/C,GAAa,MAE7B9iD,MAAOypD,EAAS,CACdtoD,QAASA,EACTinB,SAAUA,EACV5I,KAAMA,GACJorC,EAAO,eAAWzB,EAAWrsD,MAAQ,GACzCuG,GAAIomD,GAAUmB,EAAO,CACnBjmC,MAAO7nB,KAAK4tD,SACV,IAEN,OAAOnqD,EAAEmB,EAAKspD,EAAe,CAAC/nD,EAAU4nD,Q,kCC1O5C,+IAAS/sD,EAAQC,EAAQC,GAAkB,IAAIC,EAAOC,OAAOD,KAAKF,GAAS,GAAIG,OAAOC,sBAAuB,CAAE,IAAIC,EAAUF,OAAOC,sBAAsBJ,GAAaC,IAAgBI,EAAUA,EAAQC,QAAO,SAAUC,GAAO,OAAOJ,OAAOK,yBAAyBR,EAAQO,GAAKE,eAAgBP,EAAKQ,KAAKjB,MAAMS,EAAMG,GAAY,OAAOH,EAE9U,SAASS,EAAcC,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAInB,UAAUoB,OAAQD,IAAK,CAAE,IAAIE,EAAyB,MAAhBrB,UAAUmB,GAAanB,UAAUmB,GAAK,GAAQA,EAAI,EAAKd,EAAQI,OAAOY,IAAS,GAAMC,SAAQ,SAAUC,GAAOC,EAAgBN,EAAQK,EAAKF,EAAOE,OAAsBd,OAAOgB,0BAA6BhB,OAAOiB,iBAAiBR,EAAQT,OAAOgB,0BAA0BJ,IAAmBhB,EAAQI,OAAOY,IAASC,SAAQ,SAAUC,GAAOd,OAAOkB,eAAeT,EAAQK,EAAKd,OAAOK,yBAAyBO,EAAQE,OAAe,OAAOL,EAE7gB,SAASM,EAAgBI,EAAKL,EAAKM,GAAiK,OAApJN,KAAOK,EAAOnB,OAAOkB,eAAeC,EAAKL,EAAK,CAAEM,MAAOA,EAAOd,YAAY,EAAMe,cAAc,EAAMC,UAAU,IAAkBH,EAAIL,GAAOM,EAAgBD,EAU3M,IAAI8pD,EAAY,eAAK,OAAY,CAAC,QAAS,qBACpCA,EAAU8B,KAAKzpD,eACf2nD,EAAUzgB,GAAGlnC,QACb,IAAIxB,EAAQ,eAAsB,eAAStB,EAAcA,EAAc,GAAIyqD,GAAY,GAAI,CAChG+B,KAAM,eAAS,QAAmB,GAClCxpD,IAAK,eAAS,OAAkB,QAChCP,QAAS,eAAS,OAAkB,gBACjC,QAGMwmD,EAAsB,aAAIlrD,OAAO,CAC1C2D,KAAM,OACNC,YAAY,EACZL,MAAOA,EACPM,OAAQ,SAAgBC,EAAGC,GACzB,IAAIR,EAAQQ,EAAKR,MACbS,EAAOD,EAAKC,KACZ0G,EAAW3G,EAAK2G,SAChBgkD,EAASnrD,EAAMmrD,OACf/iC,EAAWpoB,EAAMooB,SACjBwiC,EAAO,eAAO5qD,GACd0B,EAAMkpD,EAAO,OAAQ5qD,EAAM0B,IAC3BP,EAAUnB,EAAMmB,SAAW,YAC/B,OAAOZ,EAAEmB,EAAK,eAAUjB,EAAM,CAC5BkL,YAAa,QACbxI,MAAO,CAAC,SAASvC,OAAOO,GAAU,CAChC,aAAcnB,EAAMkrD,KACpBC,OAAQA,EACR/iC,SAAUA,IAEZpoB,MAAO4qD,EAAO,eAAWzB,EAAWnpD,GAAS,KAC3CmH,O,kCC7CR,kCAAO,IAAIikD,EAAO","file":"js/chunk-f787d5c2.658c02df.js","sourcesContent":["import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","import axiosIns from '@/libs/axios'\r\nimport utilsService from './utilsService'\r\n\r\nconst controller = 'patient'\r\n\r\nexport default {\r\n async getAll(params) {\r\n return axiosIns.get(`${controller}?${utilsService.getQueryParams(params)}`).then(res => res.data.content)\r\n },\r\n async getById(id) {\r\n return axiosIns.get(`${controller}/${id}`).then(res => res.data)\r\n },\r\n async getMedicalRecordsByUserId(id) {\r\n return axiosIns.get(`${controller}/medical-records/${id}`).then(res => res.data)\r\n },\r\n async update(obj) {\r\n return axiosIns.put(controller, obj).then(res => res.data)\r\n },\r\n async create(req) {\r\n return axiosIns.post(controller, req).then(res => res.data)\r\n },\r\n}\r\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.pt = {}));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined\n ? window.flatpickr\n : {\n l10ns: {},\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\n \"Domingo\",\n \"Segunda-feira\",\n \"Terça-feira\",\n \"Quarta-feira\",\n \"Quinta-feira\",\n \"Sexta-feira\",\n \"Sábado\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\",\n ],\n longhand: [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ],\n },\n rangeSeparator: \" até \",\n time_24hr: true,\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","export function showSpinner() {\r\n document.getElementById('loading-bg').style.display = 'block'\r\n}\r\n\r\nexport function hideSpinner() {\r\n document.getElementById('loading-bg').style.display = 'none'\r\n}\r\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\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","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\n }\n});","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentesLista.vue?vue&type=style&index=0&lang=scss&\"","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This 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 runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"flatpickr\")):\"function\"==typeof define&&define.amd?define(\"VueFlatpickr\",[\"flatpickr\"],e):\"object\"==typeof exports?exports.VueFlatpickr=e(require(\"flatpickr\")):t.VueFlatpickr=e(t.flatpickr)}(\"undefined\"!=typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"Component\",(function(){return c})),n.d(e,\"Plugin\",(function(){return p}));var r=n(0),o=n.n(r),i=[\"onChange\",\"onClose\",\"onDestroy\",\"onMonthChange\",\"onOpen\",\"onYearChange\"];function u(){return(u=Object.assign||function(t){for(var e=1;e typeof obj === 'object' && obj !== null\r\n\r\nexport const isToday = date => {\r\n const today = new Date()\r\n return (\r\n /* eslint-disable operator-linebreak */\r\n date.getDate() === today.getDate() &&\r\n date.getMonth() === today.getMonth() &&\r\n date.getFullYear() === today.getFullYear()\r\n /* eslint-enable */\r\n )\r\n}\r\n\r\nconst getRandomFromArray = array =>\r\n array[Math.floor(Math.random() * array.length)]\r\n\r\n// ? Light and Dark variant is not included\r\n// prettier-ignore\r\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\r\n\r\nexport const isDynamicRouteActive = route => {\r\n const { route: resolvedRoute } = router.resolve(route)\r\n return resolvedRoute.path === router.currentRoute.path\r\n}\r\n\r\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\r\nexport const useRouter = () => {\r\n const vm = getCurrentInstance().proxy\r\n const state = reactive({\r\n route: vm.$route,\r\n })\r\n\r\n watch(\r\n () => vm.$route,\r\n r => {\r\n state.route = r\r\n }\r\n )\r\n\r\n return { ...toRefs(state), router: vm.$router }\r\n}\r\n\r\nexport const cloneObject = obj => JSON.parse(JSON.stringify(obj))\r\n\r\n/**\r\n * This is just enhancement over Object.extend [Gives deep extend]\r\n * @param {target} a Object which contains values to be overridden\r\n * @param {source} b Object which contains values to override\r\n */\r\n// export const objectExtend = (a, b) => {\r\n// // Don't touch 'null' or 'undefined' objects.\r\n// if (a == null || b == null) {\r\n// return a\r\n// }\r\n\r\n// Object.keys(b).forEach(key => {\r\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\r\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = objectExtend(a[key], b[key])\r\n// }\r\n// } else {\r\n// // eslint-disable-next-line no-param-reassign\r\n// a[key] = b[key]\r\n// }\r\n// })\r\n\r\n// return a\r\n// }\r\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_APPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_APPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAppend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_APPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: true\n })\n }), children);\n }\n});","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_c('b-row', [_c('b-col', [_c('b-card', {\n staticClass: \"header-marcar_consulta bg-gradient-primary\"\n }, [_c('b-row', {\n attrs: {\n \"align-v\": \"center\"\n }\n }, [_c('b-col', [_c('h1', [_c('feather-icon', {\n staticClass: \"mr-50\",\n attrs: {\n \"icon\": \"ListIcon\",\n \"size\": \"30\"\n }\n }), _vm._v(\" Todos os Componentes \")], 1), _c('h4', {\n staticClass: \"mt-1\"\n }, [_vm._v(\"Selecione um componente:\")])])], 1)], 1)], 1)], 1), _c('b-form', {\n on: {\n \"submit\": function submit($event) {\n $event.preventDefault();\n return _vm.fetchUsers.apply(null, arguments);\n }\n }\n }, [_c('b-row', [_c('b-col', {\n attrs: {\n \"md\": \"12\"\n }\n }, [_c('b-input-group', {\n staticClass: \"input-group-merge mb-2\"\n }, [_c('b-input-group-prepend', {\n attrs: {\n \"is-text\": \"\"\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"SearchIcon\"\n }\n })], 1), _c('b-form-input', {\n attrs: {\n \"placeholder\": \"Buscar Paciente\"\n },\n model: {\n value: _vm.filtro.firstName,\n callback: function callback($$v) {\n _vm.$set(_vm.filtro, \"firstName\", $$v);\n },\n expression: \"filtro.firstName\"\n }\n })], 1)], 1), _c('b-col', {\n attrs: {\n \"md\": \"4\"\n }\n })], 1)], 1), _c('b-card', {\n staticClass: \"mb-0\",\n attrs: {\n \"no-body\": \"\"\n }\n }, [_c('b-table', {\n ref: \"refUserListTable\",\n staticClass: \"position-relative\",\n staticStyle: {\n \"min-height\": \"50vw\"\n },\n attrs: {\n \"items\": _vm.fetchedUsers,\n \"responsive\": \"\",\n \"fields\": _vm.tableColumns,\n \"primary-key\": \"id\",\n \"sort-by\": _vm.sortBy,\n \"show-empty\": \"\",\n \"empty-text\": \"No matching records found\",\n \"sort-desc\": _vm.isSortDirDesc\n },\n on: {\n \"update:sortBy\": function updateSortBy($event) {\n _vm.sortBy = $event;\n },\n \"update:sort-by\": function updateSortBy($event) {\n _vm.sortBy = $event;\n },\n \"update:sortDesc\": function updateSortDesc($event) {\n _vm.isSortDirDesc = $event;\n },\n \"update:sort-desc\": function updateSortDesc($event) {\n _vm.isSortDirDesc = $event;\n }\n },\n scopedSlots: _vm._u([{\n key: \"cell(nome)\",\n fn: function fn(data) {\n return [_vm._v(\" \" + _vm._s(data.item.physicalPerson.firstName) + \" \" + _vm._s(data.item.physicalPerson.lastName) + \" \")];\n }\n }, {\n key: \"cell(cadastro)\",\n fn: function fn(data) {\n return [_vm._v(\" \" + _vm._s(data.item.createdAt) + \" \")];\n }\n }, {\n key: \"cell(localizacao)\",\n fn: function fn(data) {\n return [_vm._v(\" \" + _vm._s(data.item.physicalPerson.person.city) + \" - \" + _vm._s(data.item.physicalPerson.person.state) + \" \")];\n }\n }, {\n key: \"cell(user)\",\n fn: function fn(data) {\n return [_c('b-media', {\n attrs: {\n \"vertical-align\": \"center\"\n },\n scopedSlots: _vm._u([{\n key: \"aside\",\n fn: function fn() {\n return [_c('b-avatar', {\n attrs: {\n \"size\": \"32\",\n \"src\": data.item.avatar,\n \"text\": _vm.avatarText(data.item.fullName),\n \"variant\": \"light-\".concat(_vm.resolveUserRoleVariant(data.item.role)),\n \"to\": {\n name: 'apps-users-view',\n params: {\n id: data.item.id\n }\n }\n }\n })];\n },\n proxy: true\n }], null, true)\n }, [_c('b-link', {\n staticClass: \"font-weight-bold d-block text-nowrap\",\n attrs: {\n \"to\": {\n name: 'apps-users-view',\n params: {\n id: data.item.id\n }\n }\n }\n }, [_vm._v(\" \" + _vm._s(data.item.fullName) + \" \")]), _c('small', {\n staticClass: \"text-muted\"\n }, [_vm._v(\"@\" + _vm._s(data.item.username))])], 1)];\n }\n }, {\n key: \"cell(role)\",\n fn: function fn(data) {\n return [_c('div', {\n staticClass: \"text-nowrap\"\n }, [_c('feather-icon', {\n staticClass: \"mr-50\",\n class: \"text-\".concat(_vm.resolveUserRoleVariant(data.item.role)),\n attrs: {\n \"icon\": _vm.resolveUserRoleIcon(data.item.role),\n \"size\": \"18\"\n }\n }), _c('span', {\n staticClass: \"align-text-top text-capitalize\"\n }, [_vm._v(_vm._s(data.item.role))])], 1)];\n }\n }, {\n key: \"cell(status)\",\n fn: function fn(data) {\n return [_c('b-badge', {\n staticClass: \"text-capitalize\",\n attrs: {\n \"pill\": \"\",\n \"variant\": \"light-\".concat(_vm.resolveUserStatusVariant(data.item.physicalPerson.person.status))\n }\n }, [_vm._v(\" \" + _vm._s(_vm.resolveUserStatusText(data.item.physicalPerson.person.status)) + \" \")])];\n }\n }, {\n key: \"cell(actions)\",\n fn: function fn(data) {\n return [_c('b-dropdown', {\n attrs: {\n \"variant\": \"link\",\n \"no-caret\": \"\",\n \"right\": _vm.$store.state.appConfig.isRTL\n },\n scopedSlots: _vm._u([{\n key: \"button-content\",\n fn: function fn() {\n return [_c('feather-icon', {\n staticClass: \"align-middle text-body\",\n attrs: {\n \"icon\": \"MoreVerticalIcon\",\n \"size\": \"16\"\n }\n })];\n },\n proxy: true\n }], null, true)\n }, [_c('b-dropdown-item', [_c('feather-icon', {\n attrs: {\n \"icon\": \"PlayIcon\"\n }\n }), _c('span', {\n staticClass: \"align-middle ml-50\",\n attrs: {\n \"onclick\": \"location.href='/consulta'\"\n }\n }, [_vm._v(\"Iniciar para Consulta\")])], 1), _c('b-dropdown-item', {\n attrs: {\n \"to\": {\n name: 'pacienteDetail',\n params: {\n pacienteId: data.item.id\n }\n }\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"FolderIcon\"\n }\n }), _c('span', {\n staticClass: \"align-middle ml-50\"\n }, [_vm._v(\"Prontuário\")])], 1), _c('b-dropdown-item', {\n attrs: {\n \"to\": {\n name: 'resultado'\n }\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"FileTextIcon\"\n }\n }), _c('span', {\n staticClass: \"align-middle ml-50\"\n }, [_vm._v(\"Resultados\")])], 1), _c('b-dropdown-item', {\n attrs: {\n \"to\": {\n name: 'pacienteEdit',\n params: {\n id: data.item.id\n }\n }\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"EditIcon\"\n }\n }), _c('span', {\n staticClass: \"align-middle ml-50\"\n }, [_vm._v(\"Editar Paciente\")])], 1)], 1)];\n }\n }])\n })], 1)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentesLista.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentesLista.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ComponentesLista.vue?vue&type=template&id=0cae63ad&\"\nimport script from \"./ComponentesLista.vue?vue&type=script&lang=js&\"\nexport * from \"./ComponentesLista.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ComponentesLista.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupText = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group-text'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","export var noop = function noop() {};"],"sourceRoot":""}